tango-app-ui-ticket-user 3.0.4-dev → 3.0.6-dev

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.
Files changed (36) hide show
  1. package/esm2022/lib/components/contact-details/contact-details.component.mjs +27 -12
  2. package/esm2022/lib/components/edge-cameraview/edge-cameraview.component.mjs +19 -7
  3. package/esm2022/lib/components/edgeapp-log/edgeapp-log.component.mjs +24 -15
  4. package/esm2022/lib/components/edit-details/edit-details.component.mjs +22 -16
  5. package/esm2022/lib/components/infratickets/infratickets.component.mjs +48 -25
  6. package/esm2022/lib/components/installation/installation.component.mjs +454 -0
  7. package/esm2022/lib/components/store-activity/store-activity.component.mjs +30 -10
  8. package/esm2022/lib/components/store-info/store-info.component.mjs +546 -34
  9. package/esm2022/lib/components/takeremote/takeremote.component.mjs +17 -13
  10. package/esm2022/lib/components/tango-ticket-users/tango-ticket-users.component.mjs +5 -5
  11. package/esm2022/lib/components/tickets/tickets.component.mjs +109 -22
  12. package/esm2022/lib/route-wrappers/edge-wrapper.module.mjs +18 -0
  13. package/esm2022/lib/services/data.service.mjs +3 -3
  14. package/esm2022/lib/services/excel.service.mjs +30 -0
  15. package/esm2022/lib/services/ticket-infra.service.mjs +21 -4
  16. package/esm2022/lib/tango-ticket-users-routing.module.mjs +16 -9
  17. package/esm2022/lib/tango-ticket-users.module.mjs +7 -6
  18. package/fesm2022/tango-app-ui-ticket-user-edge-wrapper.module-DM8Er_Bd.mjs +21 -0
  19. package/fesm2022/tango-app-ui-ticket-user-edge-wrapper.module-DM8Er_Bd.mjs.map +1 -0
  20. package/fesm2022/tango-app-ui-ticket-user.mjs +1354 -183
  21. package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
  22. package/lib/components/contact-details/contact-details.component.d.ts +3 -1
  23. package/lib/components/edge-cameraview/edge-cameraview.component.d.ts +2 -0
  24. package/lib/components/edgeapp-log/edgeapp-log.component.d.ts +5 -1
  25. package/lib/components/edit-details/edit-details.component.d.ts +4 -1
  26. package/lib/components/infratickets/infratickets.component.d.ts +5 -2
  27. package/lib/components/installation/installation.component.d.ts +106 -0
  28. package/lib/components/store-activity/store-activity.component.d.ts +3 -1
  29. package/lib/components/store-info/store-info.component.d.ts +21 -9
  30. package/lib/components/takeremote/takeremote.component.d.ts +6 -2
  31. package/lib/components/tickets/tickets.component.d.ts +11 -1
  32. package/lib/route-wrappers/edge-wrapper.module.d.ts +7 -0
  33. package/lib/services/excel.service.d.ts +8 -0
  34. package/lib/services/ticket-infra.service.d.ts +6 -0
  35. package/lib/tango-ticket-users.module.d.ts +8 -7
  36. package/package.json +1 -1
@@ -3,6 +3,7 @@ import dayjs from 'dayjs';
3
3
  import 'dayjs/locale/en';
4
4
  import utc from 'dayjs/plugin/utc';
5
5
  import timezone from 'dayjs/plugin/timezone';
6
+ import { Subject, takeUntil } from 'rxjs';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../services/ticket-infra.service";
8
9
  import * as i2 from "@angular/common";
@@ -15,8 +16,9 @@ dayjs.extend(utc);
15
16
  dayjs.extend(timezone);
16
17
  export class StoreInfoComponent {
17
18
  service;
19
+ cd;
18
20
  imageUrl = [];
19
- timeSeries = [];
21
+ // timeSeries:any[] = [];
20
22
  storeTicket;
21
23
  firstIndex = 0;
22
24
  lastIndex = 3;
@@ -32,48 +34,549 @@ export class StoreInfoComponent {
32
34
  pos: false,
33
35
  storeop: false
34
36
  };
35
- dayjs = dayjs;
36
- totalImageUrl = [
37
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D',
38
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D',
39
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D',
40
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D',
41
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D',
42
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D',
43
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D',
44
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D',
45
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D',
46
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D',
47
- 'https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D'
37
+ destroy$ = new Subject();
38
+ timeSeries = [
39
+ {
40
+ "time12Hour": "10:00 AM",
41
+ "time24Hour": "10:00:00",
42
+ "timeString12HourOnly": "10AM",
43
+ "incidents": []
44
+ },
45
+ {
46
+ "time12Hour": "10:10 AM",
47
+ "time24Hour": "10:10:00",
48
+ "timeString12HourOnly": "10AM",
49
+ "incidents": []
50
+ },
51
+ {
52
+ "time12Hour": "10:20 AM",
53
+ "time24Hour": "10:20:00",
54
+ "timeString12HourOnly": "10AM",
55
+ },
56
+ {
57
+ "time12Hour": "10:30 AM",
58
+ "time24Hour": "10:30:00",
59
+ "timeString12HourOnly": "10AM",
60
+ "incidents": []
61
+ },
62
+ {
63
+ "time12Hour": "10:40 AM",
64
+ "time24Hour": "10:40:00",
65
+ "timeString12HourOnly": "10AM",
66
+ "incidents": []
67
+ },
68
+ {
69
+ "time12Hour": "10:50 AM",
70
+ "time24Hour": "10:50:00",
71
+ "timeString12HourOnly": "10AM",
72
+ "incidents": []
73
+ },
74
+ {
75
+ "time12Hour": "11:00 AM",
76
+ "time24Hour": "11:00:00",
77
+ "timeString12HourOnly": "11AM",
78
+ "incidents": []
79
+ },
80
+ {
81
+ "time12Hour": "11:10 AM",
82
+ "time24Hour": "11:10:00",
83
+ "timeString12HourOnly": "11AM",
84
+ "incidents": []
85
+ },
86
+ {
87
+ "time12Hour": "11:20 AM",
88
+ "time24Hour": "11:20:00",
89
+ "timeString12HourOnly": "11AM",
90
+ "incidents": []
91
+ },
92
+ {
93
+ "time12Hour": "11:30 AM",
94
+ "time24Hour": "11:30:00",
95
+ "timeString12HourOnly": "11AM",
96
+ "incidents": []
97
+ },
98
+ {
99
+ "time12Hour": "11:40 AM",
100
+ "time24Hour": "11:40:00",
101
+ "timeString12HourOnly": "11AM",
102
+ "incidents": []
103
+ },
104
+ {
105
+ "time12Hour": "11:50 AM",
106
+ "time24Hour": "11:50:00",
107
+ "timeString12HourOnly": "11AM",
108
+ "incidents": []
109
+ },
110
+ {
111
+ "time12Hour": "12:00 PM",
112
+ "time24Hour": "12:00:00",
113
+ "timeString12HourOnly": "12PM",
114
+ "incidents": []
115
+ },
116
+ {
117
+ "time12Hour": "12:10 PM",
118
+ "time24Hour": "12:10:00",
119
+ "timeString12HourOnly": "12PM",
120
+ "incidents": []
121
+ },
122
+ {
123
+ "time12Hour": "12:20 PM",
124
+ "time24Hour": "12:20:00",
125
+ "timeString12HourOnly": "12PM",
126
+ "incidents": []
127
+ },
128
+ {
129
+ "time12Hour": "12:30 PM",
130
+ "time24Hour": "12:30:00",
131
+ "timeString12HourOnly": "12PM",
132
+ "incidents": []
133
+ },
134
+ {
135
+ "time12Hour": "12:40 PM",
136
+ "time24Hour": "12:40:00",
137
+ "timeString12HourOnly": "12PM",
138
+ "incidents": []
139
+ },
140
+ {
141
+ "time12Hour": "12:50 PM",
142
+ "time24Hour": "12:50:00",
143
+ "timeString12HourOnly": "12PM",
144
+ "incidents": []
145
+ },
146
+ {
147
+ "time12Hour": "1:00 PM",
148
+ "time24Hour": "13:00:00",
149
+ "timeString12HourOnly": "1PM",
150
+ "incidents": []
151
+ },
152
+ {
153
+ "time12Hour": "1:10 PM",
154
+ "time24Hour": "13:10:00",
155
+ "timeString12HourOnly": "1PM",
156
+ "incidents": []
157
+ },
158
+ {
159
+ "time12Hour": "1:20 PM",
160
+ "time24Hour": "13:20:00",
161
+ "timeString12HourOnly": "1PM",
162
+ "incidents": []
163
+ },
164
+ {
165
+ "time12Hour": "1:30 PM",
166
+ "time24Hour": "13:30:00",
167
+ "timeString12HourOnly": "1PM",
168
+ "incidents": []
169
+ },
170
+ {
171
+ "time12Hour": "1:40 PM",
172
+ "time24Hour": "13:40:00",
173
+ "timeString12HourOnly": "1PM",
174
+ "incidents": []
175
+ },
176
+ {
177
+ "time12Hour": "1:50 PM",
178
+ "time24Hour": "13:50:00",
179
+ "timeString12HourOnly": "1PM",
180
+ "incidents": []
181
+ },
182
+ {
183
+ "time12Hour": "2:00 PM",
184
+ "time24Hour": "14:00:00",
185
+ "timeString12HourOnly": "2PM",
186
+ "incidents": []
187
+ },
188
+ {
189
+ "time12Hour": "2:10 PM",
190
+ "time24Hour": "14:10:00",
191
+ "timeString12HourOnly": "2PM",
192
+ "incidents": []
193
+ },
194
+ {
195
+ "time12Hour": "2:20 PM",
196
+ "time24Hour": "14:20:00",
197
+ "timeString12HourOnly": "2PM",
198
+ "incidents": []
199
+ },
200
+ {
201
+ "time12Hour": "2:30 PM",
202
+ "time24Hour": "14:30:00",
203
+ "timeString12HourOnly": "2PM",
204
+ "incidents": []
205
+ },
206
+ {
207
+ "time12Hour": "2:40 PM",
208
+ "time24Hour": "14:40:00",
209
+ "timeString12HourOnly": "2PM",
210
+ "incidents": []
211
+ },
212
+ {
213
+ "time12Hour": "2:50 PM",
214
+ "time24Hour": "14:50:00",
215
+ "timeString12HourOnly": "2PM",
216
+ "incidents": []
217
+ },
218
+ {
219
+ "time12Hour": "3:00 PM",
220
+ "time24Hour": "15:00:00",
221
+ "timeString12HourOnly": "3PM",
222
+ "incidents": []
223
+ },
224
+ {
225
+ "time12Hour": "3:10 PM",
226
+ "time24Hour": "15:10:00",
227
+ "timeString12HourOnly": "3PM",
228
+ "incidents": []
229
+ },
230
+ {
231
+ "time12Hour": "3:20 PM",
232
+ "time24Hour": "15:20:00",
233
+ "timeString12HourOnly": "3PM",
234
+ "incidents": []
235
+ },
236
+ {
237
+ "time12Hour": "3:30 PM",
238
+ "time24Hour": "15:30:00",
239
+ "timeString12HourOnly": "3PM",
240
+ "incidents": []
241
+ },
242
+ {
243
+ "time12Hour": "3:40 PM",
244
+ "time24Hour": "15:40:00",
245
+ "timeString12HourOnly": "3PM",
246
+ "incidents": []
247
+ },
248
+ {
249
+ "time12Hour": "3:50 PM",
250
+ "time24Hour": "15:50:00",
251
+ "timeString12HourOnly": "3PM",
252
+ "incidents": []
253
+ },
254
+ {
255
+ "time12Hour": "4:00 PM",
256
+ "time24Hour": "16:00:00",
257
+ "timeString12HourOnly": "4PM",
258
+ "incidents": []
259
+ },
260
+ {
261
+ "time12Hour": "4:10 PM",
262
+ "time24Hour": "16:10:00",
263
+ "timeString12HourOnly": "4PM",
264
+ "incidents": []
265
+ },
266
+ {
267
+ "time12Hour": "4:20 PM",
268
+ "time24Hour": "16:20:00",
269
+ "timeString12HourOnly": "4PM",
270
+ "incidents": []
271
+ },
272
+ {
273
+ "time12Hour": "4:30 PM",
274
+ "time24Hour": "16:30:00",
275
+ "timeString12HourOnly": "4PM",
276
+ "incidents": []
277
+ },
278
+ {
279
+ "time12Hour": "4:40 PM",
280
+ "time24Hour": "16:40:00",
281
+ "timeString12HourOnly": "4PM",
282
+ "incidents": []
283
+ },
284
+ {
285
+ "time12Hour": "4:50 PM",
286
+ "time24Hour": "16:50:00",
287
+ "timeString12HourOnly": "4PM",
288
+ "incidents": []
289
+ },
290
+ {
291
+ "time12Hour": "5:00 PM",
292
+ "time24Hour": "17:00:00",
293
+ "timeString12HourOnly": "5PM",
294
+ "incidents": []
295
+ },
296
+ {
297
+ "time12Hour": "5:10 PM",
298
+ "time24Hour": "17:10:00",
299
+ "timeString12HourOnly": "5PM",
300
+ "incidents": []
301
+ },
302
+ {
303
+ "time12Hour": "5:20 PM",
304
+ "time24Hour": "17:20:00",
305
+ "timeString12HourOnly": "5PM",
306
+ "incidents": []
307
+ },
308
+ {
309
+ "time12Hour": "5:30 PM",
310
+ "time24Hour": "17:30:00",
311
+ "timeString12HourOnly": "5PM",
312
+ "incidents": []
313
+ },
314
+ {
315
+ "time12Hour": "5:40 PM",
316
+ "time24Hour": "17:40:00",
317
+ "timeString12HourOnly": "5PM",
318
+ "incidents": []
319
+ },
320
+ {
321
+ "time12Hour": "5:50 PM",
322
+ "time24Hour": "17:50:00",
323
+ "timeString12HourOnly": "5PM",
324
+ "incidents": []
325
+ },
326
+ {
327
+ "time12Hour": "6:00 PM",
328
+ "time24Hour": "18:00:00",
329
+ "timeString12HourOnly": "6PM",
330
+ "incidents": []
331
+ },
332
+ {
333
+ "time12Hour": "6:10 PM",
334
+ "time24Hour": "18:10:00",
335
+ "timeString12HourOnly": "6PM",
336
+ "incidents": []
337
+ },
338
+ {
339
+ "time12Hour": "6:20 PM",
340
+ "time24Hour": "18:20:00",
341
+ "timeString12HourOnly": "6PM",
342
+ "incidents": []
343
+ },
344
+ {
345
+ "time12Hour": "6:30 PM",
346
+ "time24Hour": "18:30:00",
347
+ "timeString12HourOnly": "6PM",
348
+ "incidents": []
349
+ },
350
+ {
351
+ "time12Hour": "6:40 PM",
352
+ "time24Hour": "18:40:00",
353
+ "timeString12HourOnly": "6PM",
354
+ "incidents": []
355
+ },
356
+ {
357
+ "time12Hour": "6:50 PM",
358
+ "time24Hour": "18:50:00",
359
+ "timeString12HourOnly": "6PM",
360
+ "incidents": []
361
+ },
362
+ {
363
+ "time12Hour": "7:00 PM",
364
+ "time24Hour": "19:00:00",
365
+ "timeString12HourOnly": "7PM",
366
+ "incidents": []
367
+ },
368
+ {
369
+ "time12Hour": "7:10 PM",
370
+ "time24Hour": "19:10:00",
371
+ "timeString12HourOnly": "7PM",
372
+ "incidents": []
373
+ },
374
+ {
375
+ "time12Hour": "7:20 PM",
376
+ "time24Hour": "19:20:00",
377
+ "timeString12HourOnly": "7PM",
378
+ "incidents": []
379
+ },
380
+ {
381
+ "time12Hour": "7:30 PM",
382
+ "time24Hour": "19:30:00",
383
+ "timeString12HourOnly": "7PM",
384
+ "incidents": []
385
+ },
386
+ {
387
+ "time12Hour": "7:40 PM",
388
+ "time24Hour": "19:40:00",
389
+ "timeString12HourOnly": "7PM",
390
+ "incidents": []
391
+ },
392
+ {
393
+ "time12Hour": "7:50 PM",
394
+ "time24Hour": "19:50:00",
395
+ "timeString12HourOnly": "7PM",
396
+ "incidents": []
397
+ },
398
+ {
399
+ "time12Hour": "8:00 PM",
400
+ "time24Hour": "20:00:00",
401
+ "timeString12HourOnly": "8PM",
402
+ "incidents": []
403
+ },
404
+ {
405
+ "time12Hour": "8:10 PM",
406
+ "time24Hour": "20:10:00",
407
+ "timeString12HourOnly": "8PM",
408
+ "incidents": []
409
+ },
410
+ {
411
+ "time12Hour": "8:20 PM",
412
+ "time24Hour": "20:20:00",
413
+ "timeString12HourOnly": "8PM",
414
+ "incidents": []
415
+ },
416
+ {
417
+ "time12Hour": "8:30 PM",
418
+ "time24Hour": "20:30:00",
419
+ "timeString12HourOnly": "8PM",
420
+ "incidents": []
421
+ },
422
+ {
423
+ "time12Hour": "8:40 PM",
424
+ "time24Hour": "20:40:00",
425
+ "timeString12HourOnly": "8PM",
426
+ "incidents": []
427
+ },
428
+ {
429
+ "time12Hour": "8:50 PM",
430
+ "time24Hour": "20:50:00",
431
+ "timeString12HourOnly": "8PM",
432
+ "incidents": []
433
+ },
434
+ {
435
+ "time12Hour": "9:00 PM",
436
+ "time24Hour": "21:00:00",
437
+ "timeString12HourOnly": "9PM",
438
+ "incidents": []
439
+ },
440
+ {
441
+ "time12Hour": "9:10 PM",
442
+ "time24Hour": "21:10:00",
443
+ "timeString12HourOnly": "9PM",
444
+ "incidents": []
445
+ },
446
+ {
447
+ "time12Hour": "9:20 PM",
448
+ "time24Hour": "21:20:00",
449
+ "timeString12HourOnly": "9PM",
450
+ "incidents": []
451
+ },
452
+ {
453
+ "time12Hour": "9:30 PM",
454
+ "time24Hour": "21:30:00",
455
+ "timeString12HourOnly": "9PM",
456
+ "incidents": []
457
+ },
458
+ {
459
+ "time12Hour": "9:40 PM",
460
+ "time24Hour": "21:40:00",
461
+ "timeString12HourOnly": "9PM",
462
+ "incidents": []
463
+ },
464
+ {
465
+ "time12Hour": "9:50 PM",
466
+ "time24Hour": "21:50:00",
467
+ "timeString12HourOnly": "9PM",
468
+ "incidents": []
469
+ },
470
+ {
471
+ "time12Hour": "10:00 PM",
472
+ "time24Hour": "22:00:00",
473
+ "timeString12HourOnly": "10PM",
474
+ "incidents": []
475
+ }
48
476
  ];
477
+ dayjs = dayjs;
478
+ totalImageUrl;
49
479
  selectedUrl;
480
+ anglechangeData;
481
+ totalDowntime = 0;
482
+ resolutiontype = true;
50
483
  storeId;
51
- constructor(service) {
484
+ DowmTimeArray;
485
+ cameraImages;
486
+ selectedDate;
487
+ totalDownTime = 0;
488
+ constructor(service, cd) {
52
489
  this.service = service;
490
+ this.cd = cd;
53
491
  }
54
492
  ngOnInit() {
55
493
  this.selectedDateRange.startDate = this.dayjs().utc().format('DD-MM-YYYY');
56
- this.imageUrl = this.totalImageUrl.slice(this.firstIndex, this.lastIndex);
57
- console.log('this.image', this.imageUrl);
494
+ this.selectedDate = this.dayjs().utc().format('YYYY-MM-DD');
495
+ this.getCameraImages();
496
+ this.DowmTime();
497
+ }
498
+ ngOnDestroy() {
499
+ this.destroy$.next(true);
500
+ this.destroy$.complete();
501
+ }
502
+ getCameraImages() {
503
+ this.service.cameraList(this.storeId).pipe(takeUntil(this.destroy$)).subscribe({
504
+ next: (res) => {
505
+ if (res && res.code == 200) {
506
+ this.loading = false;
507
+ this.noData = false;
508
+ this.cameraImages = res.data;
509
+ this.totalImageUrl = this.cameraImages;
510
+ this.imageUrl = this.totalImageUrl.slice(this.firstIndex, this.lastIndex);
511
+ this.getAngleChange(this.imageUrl[0].streamName);
512
+ }
513
+ else {
514
+ this.loading = false;
515
+ this.noData = true;
516
+ }
517
+ this.cd.detectChanges();
518
+ },
519
+ });
520
+ }
521
+ getAngleChange(stream) {
522
+ let payload = {
523
+ "storeId": this.storeId,
524
+ "Date": this.selectedDate,
525
+ "StreamName": stream
526
+ };
527
+ this.service.cameraAngleChange(payload).subscribe({
528
+ next: (res) => {
529
+ if (res && res.code == 200) {
530
+ this.anglechangeData = res.data;
531
+ if (this.anglechangeData?.resolution.split('*')[0] < 720 && this.anglechangeData?.resolution.split('*')[1] < 720) {
532
+ this.resolutiontype = false;
533
+ }
534
+ }
535
+ else {
536
+ }
537
+ this.cd.detectChanges();
538
+ },
539
+ });
540
+ }
541
+ DowmTime() {
542
+ let data = {
543
+ "storeId": this.storeId,
544
+ // "storeId":"11-1013",
545
+ "Date": this.selectedDate,
546
+ };
547
+ this.service.edgeAppLogTable(data).subscribe({
548
+ next: (res) => {
549
+ this.DowmTimeArray = res.data;
550
+ this.DowmTimeArray.forEach((item) => {
551
+ this.totalDownTime += item.downtime;
552
+ });
553
+ this.cd.detectChanges();
554
+ }
555
+ });
58
556
  }
59
557
  hideDialogBox() {
60
558
  this.showIncidentPop = false;
61
559
  }
62
560
  getStyle() {
63
561
  return {
64
- 'margin-left': (this.showIncidentPopIndex <= 5) ? '0px' : ((this.showIncidentPopIndex >= 58) ? '-160px' : '-115px')
562
+ // 'margin-left': (this.showIncidentPopIndex <= 5) ? '0px' : ((this.showIncidentPopIndex >= 58) ? '-160px' : '-115px')
65
563
  };
66
564
  }
67
- showIncidentType(incidents) {
68
- if (incidents.filter((x) => x.type == 'negative').length) {
565
+ showIncidentType(timeSeries, i) {
566
+ let nowHour = this.dayjs().hour();
567
+ let nowminutes = this.dayjs().minute();
568
+ let date = dayjs().format('YYYY-MM-DD');
569
+ let timeRange = timeSeries.split(' ')[0];
570
+ let time = timeRange.split(':');
571
+ if (time[0] == nowHour) {
572
+ this.timeSeries[i].activeHr = nowHour;
573
+ }
574
+ if (this.DowmTimeArray?.length && this.DowmTimeArray.filter((x) => x.hour == parseInt(time[0]) && x.downtime > 0 && x.downtime >= parseInt(time[1])).length) {
69
575
  return 'negative';
70
576
  }
71
- else if (incidents.filter((x) => x.type == 'positive').length) {
577
+ else if (this.DowmTimeArray?.length && this.DowmTimeArray.filter((x) => x.hour == parseInt(time[0]) && (this.selectedDate < date || (this.selectedDate == date && (x.hour < nowHour || (nowHour == x.hour && nowminutes >= parseInt(time[1])))))).length) {
72
578
  return 'positive';
73
579
  }
74
- else if (incidents.filter((x) => x.category == 'storeopenandclose').length) {
75
- return 'storeop';
76
- }
77
580
  else {
78
581
  return 'normal';
79
582
  }
@@ -96,7 +599,7 @@ export class StoreInfoComponent {
96
599
  this.showIncidentOptions.pos = false;
97
600
  this.showIncidentOptions.storeop = true;
98
601
  }
99
- this.showIncidentPop = true;
602
+ // this.showIncidentPop = true;
100
603
  }
101
604
  displayCategory(category, type) {
102
605
  if (category == 'mobileusagedetection') {
@@ -115,8 +618,9 @@ export class StoreInfoComponent {
115
618
  return 'Uniform Detection';
116
619
  }
117
620
  }
118
- selectedImg(index) {
119
- this.selectedUrl = this.imageUrl[index];
621
+ selectedImg(data) {
622
+ this.selectedUrl = data;
623
+ this.getAngleChange(this.selectedUrl.streamName);
120
624
  }
121
625
  prevImages() {
122
626
  this.selectedUrl = '';
@@ -139,9 +643,12 @@ export class StoreInfoComponent {
139
643
  }
140
644
  }
141
645
  datechange(event) {
142
- if (event && event.startDate && event.endDate) {
646
+ if (event && event.startDate) {
143
647
  if (this.dayjs(event.startDate).isValid()) {
144
648
  this.selectedDateRange.startDate = this.dayjs(event.startDate).utc().format('DD-MM-YYYY');
649
+ this.selectedDate = this.dayjs(event.startDate).utc().format('YYYY-MM-DD');
650
+ this.DowmTime();
651
+ this.getCameraImages();
145
652
  }
146
653
  else {
147
654
  console.error('Invalid dates provided:', event.startDate, event.endDate);
@@ -151,13 +658,18 @@ export class StoreInfoComponent {
151
658
  console.error('Invalid event object:', event);
152
659
  }
153
660
  }
154
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: StoreInfoComponent, deps: [{ token: i1.TicketsService }], target: i0.ɵɵFactoryTarget.Component });
155
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: StoreInfoComponent, selector: "lib-store-info", inputs: { storeId: "storeId" }, ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Store Info</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDateRange?.startDate|customDateFormat}}</span>\r\n </div>\r\n <div class=\"card mt-2 mx-2\" *ngIf=\"timeSeries.length\">\r\n <div class=\"flex-container\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.incidents)=='normal' && !time.activeHr\"\r\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\r\n viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- Present hour for live -->\r\n <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- positive -->\r\n <svg *ngIf=\"showIncidentType(time?.incidents)=='positive' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- negative -->\r\n <svg *ngIf=\"showIncidentType(time?.incidents)=='negative' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex==Index\" (mouseleave)=\"hideDialogBox()\">\r\n <!-- -ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.neg\">\r\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36075)\">\r\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#FEF3F2\" />\r\n <path\r\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\r\n fill=\"#F04438\" />\r\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\r\n <path\r\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\r\n fill=\"white\" />\r\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\r\n result=\"effect2_dropShadow_5752_36075\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- +ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.pos\">\r\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n fill=\"#D1FADF\" />\r\n <path\r\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\r\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\r\n (click)=\"scrollTo_Submituser();\">Submitted by\r\n {{time?.incidents[0]?.userName}}</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- store op -->\r\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\r\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36067)\">\r\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\r\n fill=\"#009BF3\" />\r\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\r\n <path\r\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\r\n fill=\"white\" />\r\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\r\n result=\"effect2_dropShadow_5752_36067\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\r\n class=\"supporting-text\">On time opening/closing</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\r\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"card mt-5\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <div class=\"card-body p-0 \">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Camera Info</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDateRange?.startDate|customDateFormat}}</span>\r\n </div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\r\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"d-flex align-items-center\"><div class=\"w-10px h-10px border-0 rounded-3 bg-success me-2\"></div>\r\n <span class=\"camera-title\">Camera 1</span> <span class=\"badge badge-light-primary text-primary ms-2\">\r\n Entrance Camera\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img class=\"w-100 mh-350px\" [src]=\"selectedUrl ? selectedUrl : imageUrl[0]\">\r\n </div>\r\n <div class=\"row mt-3 position-relative\">\r\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4\" (click)=\"selectedImg(i)\">\r\n <img class=\"w-100 rounded-2 mh-100px\" src=\"{{url}}\">\r\n </div>\r\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-2 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n <div *ngIf=\"showNext\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-2 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100 mt-10 table-responsive\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Instances</th>\r\n <th>Expected</th>\r\n <th>Actual</th>\r\n <th>Results</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\r\n <td>1080 x 900</td>\r\n <td>680 x 400</td>\r\n <td><span class=\"badge badge-light-danger text-danger px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_2326)\">\r\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_2326\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\r\n <td>200mins</td>\r\n <td>140mins</td>\r\n <td><span class=\"badge badge-light-success text-success px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"loading && !noData\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"mt-5\">\r\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\r\n</div>\r\n<div class=\"mt-5\">\r\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\r\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }, { kind: "component", type: i5.EdgeappLogComponent, selector: "lib-edgeapp-log", inputs: ["storeId"] }, { kind: "component", type: i6.StoreActivityComponent, selector: "lib-store-activity", inputs: ["storeId"] }, { kind: "pipe", type: i7.CustomDateFormatPipe, name: "customDateFormat" }] });
661
+ showHours(time) {
662
+ let hour = false;
663
+ hour = time.time24Hour.split(':')[1] == '00' ? time.timeString12HourOnly : false;
664
+ return hour;
665
+ }
666
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: StoreInfoComponent, deps: [{ token: i1.TicketsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
667
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: StoreInfoComponent, selector: "lib-store-info", inputs: { storeId: "storeId" }, ngImport: i0, template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Store Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate | customDateFormat }}</span>\r\n </div>\r\n <div class=\"my-5 timeRange fw-semibold\">Total : {{totalDownTime}} mins Downtime </div>\r\n <div class=\" mt-2 mx-2\" *ngIf=\"timeSeries?.length\">\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'normal'\"\r\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\r\n viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- Present hour for live -->\r\n <!-- <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg> -->\r\n\r\n <!-- positive -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'positive'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- negative -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'negative'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex === Index\">\r\n <!-- (mouseleave)=\"hideDialogBox()\" -->\r\n <!-- -ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.neg\">\r\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36075)\">\r\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#FEF3F2\" />\r\n <path\r\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\r\n fill=\"#F04438\" />\r\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\r\n <path\r\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\r\n fill=\"white\" />\r\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\r\n result=\"effect2_dropShadow_5752_36075\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- +ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.pos\">\r\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n fill=\"#D1FADF\" />\r\n <path\r\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\r\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\r\n (click)=\"scrollTo_Submituser();\">Submitted by\r\n {{time?.incidents[0]?.userName}}</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- store op -->\r\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\r\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36067)\">\r\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\r\n fill=\"#009BF3\" />\r\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\r\n <path\r\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\r\n fill=\"white\" />\r\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\r\n result=\"effect2_dropShadow_5752_36067\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\r\n class=\"supporting-text\">On time opening/closing</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\r\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </span>\r\n </div>\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let i=index;\">\r\n <span class=\"hourText\" *ngIf=\"showHours(time)\">{{showHours(time)}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"card mt-5\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <div class=\"card-body p-0 \">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Camera Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\r\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div *ngIf=\"totalImageUrl?.length && !loading && !noData\">\r\n <div class=\"d-flex align-items-center\"><div *ngIf=\"selectedUrl?.cameraNumber || imageUrl[0]?.cameraNumber\" class=\"w-10px h-10px border-0 rounded-3 bg-success me-2\"></div>\r\n <span class=\"camera-title\">{{selectedUrl?.cameraNumber ? selectedUrl?.cameraNumber : imageUrl[0]?.cameraNumber}}</span> <span *ngIf=\"selectedUrl?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">\r\n {{selectedUrl?.cameraName ? selectedUrl?.cameraName : imageUrl[0]?.cameraName}}\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img *ngIf=\"selectedUrl?.thumbnailImage !== null || selectedUrl?.thumbnailImage !== '' || imageUrl[0]?.thumbnailImage !== ''\" class=\"w-100 mh-350px\" [src]=\"selectedUrl?.thumbnailImage ? selectedUrl?.thumbnailImage : imageUrl[0]?.thumbnailImage\">\r\n\r\n <div *ngIf=\"selectedUrl?.thumbnailImage === null || selectedUrl?.thumbnailImage === '' || imageUrl[0]?.thumbnailImage === ''\" class=\"w-100 h-300px rounded-2 overflow-hidden Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center mb-5\">\r\n Preview not available\r\n </div>\r\n <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt-3 position-relative\">\r\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4\" (click)=\"selectedImg(url)\">\r\n <img *ngIf=\"url?.thumbnailImage !== null || url?.thumbnailImage !== ''\" class=\"w-100 rounded-2 mh-100px\" [src]=\"url?.thumbnailImage\">\r\n <div *ngIf=\"url?.thumbnailImage === null || url?.thumbnailImage === ''\" class=\"w-100 rounded-2 h-100px Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center fs-4 mb-2\">\r\n Preview not available\r\n </div>\r\n <!-- <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div> -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-2 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n <div *ngIf=\"showNext && totalImageUrl.length > 3\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-2 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData || !totalImageUrl?.length\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\" *ngIf=\"anglechangeData?.anglechange\">\r\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\">\r\n <img class=\"w-100 mh-150px\" [src]=\"anglechangeData?.angleChangeImage\">\r\n <!-- <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div class=\"row p-0\" *ngIf=\"anglechangeData?.anglechange\">\r\n <div class=\"col-md-6 m-0 pe-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 m-0 ps-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100 mt-10 table-responsive\" *ngIf=\"this.anglechangeData?.resolution\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Instances</th>\r\n <th>Expected</th>\r\n <th>Actual</th>\r\n <th>Results</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\r\n <td>1080 x 900</td>\r\n <td>{{this.anglechangeData?.resolution}}</td>\r\n <td>\r\n <span class=\"badge badge-light-success text-success px-1\" *ngIf=\"resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"badge badge-light-danger text-danger px-1\" *ngIf=\"!resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_2326)\">\r\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_2326\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n <!-- <tr>\r\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\r\n <td>200mins</td>\r\n <td>140mins</td>\r\n <td><span class=\"badge badge-light-success text-success px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr> -->\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"mt-5\">\r\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\r\n</div>\r\n<div class=\"mt-5\">\r\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\r\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.Nopreview{border:1px solid var(--Gray-500, #667085);background:var(--Gray-100, #F2F4F7);color:var(--Gray-500, #667085)}.Nopreview .previewTitle{font-size:20px;font-weight:700;line-height:20px}.Nopreview .previewsubTitle{text-align:center;font-size:12px;line-height:18px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }, { kind: "component", type: i5.EdgeappLogComponent, selector: "lib-edgeapp-log", inputs: ["storeId"] }, { kind: "component", type: i6.StoreActivityComponent, selector: "lib-store-activity", inputs: ["storeId"] }, { kind: "pipe", type: i7.CustomDateFormatPipe, name: "customDateFormat" }] });
156
668
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: StoreInfoComponent, decorators: [{
669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: StoreInfoComponent, decorators: [{
158
670
  type: Component,
159
- args: [{ selector: 'lib-store-info', template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Store Info</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDateRange?.startDate|customDateFormat}}</span>\r\n </div>\r\n <div class=\"card mt-2 mx-2\" *ngIf=\"timeSeries.length\">\r\n <div class=\"flex-container\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.incidents)=='normal' && !time.activeHr\"\r\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\r\n viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- Present hour for live -->\r\n <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- positive -->\r\n <svg *ngIf=\"showIncidentType(time?.incidents)=='positive' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- negative -->\r\n <svg *ngIf=\"showIncidentType(time?.incidents)=='negative' && !time.activeHr\"\r\n class=\"timeItem\" (mouseenter)=\"showDialogBox(time,Index)\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex==Index\" (mouseleave)=\"hideDialogBox()\">\r\n <!-- -ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.neg\">\r\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36075)\">\r\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#FEF3F2\" />\r\n <path\r\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\r\n fill=\"#F04438\" />\r\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\r\n <path\r\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\r\n fill=\"white\" />\r\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\r\n result=\"effect2_dropShadow_5752_36075\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- +ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.pos\">\r\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n fill=\"#D1FADF\" />\r\n <path\r\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\r\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\r\n (click)=\"scrollTo_Submituser();\">Submitted by\r\n {{time?.incidents[0]?.userName}}</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- store op -->\r\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\r\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36067)\">\r\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\r\n fill=\"#009BF3\" />\r\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\r\n <path\r\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\r\n fill=\"white\" />\r\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\r\n result=\"effect2_dropShadow_5752_36067\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\r\n class=\"supporting-text\">On time opening/closing</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\r\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"card mt-5\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <div class=\"card-body p-0 \">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Camera Info</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\"> Attention Needed</span>\r\n </div>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDateRange?.startDate|customDateFormat}}</span>\r\n </div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\r\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !noData\" class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"d-flex align-items-center\"><div class=\"w-10px h-10px border-0 rounded-3 bg-success me-2\"></div>\r\n <span class=\"camera-title\">Camera 1</span> <span class=\"badge badge-light-primary text-primary ms-2\">\r\n Entrance Camera\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img class=\"w-100 mh-350px\" [src]=\"selectedUrl ? selectedUrl : imageUrl[0]\">\r\n </div>\r\n <div class=\"row mt-3 position-relative\">\r\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4\" (click)=\"selectedImg(i)\">\r\n <img class=\"w-100 rounded-2 mh-100px\" src=\"{{url}}\">\r\n </div>\r\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-2 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n <div *ngIf=\"showNext\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-2 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\">\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100 mt-10 table-responsive\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Instances</th>\r\n <th>Expected</th>\r\n <th>Actual</th>\r\n <th>Results</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\r\n <td>1080 x 900</td>\r\n <td>680 x 400</td>\r\n <td><span class=\"badge badge-light-danger text-danger px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_2326)\">\r\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_2326\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\r\n <td>200mins</td>\r\n <td>140mins</td>\r\n <td><span class=\"badge badge-light-success text-success px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"loading && !noData\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"mt-5\">\r\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\r\n</div>\r\n<div class=\"mt-5\">\r\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\r\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}\n"] }]
160
- }], ctorParameters: () => [{ type: i1.TicketsService }], propDecorators: { storeId: [{
671
+ args: [{ selector: 'lib-store-info', template: "<div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Store Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate | customDateFormat }}</span>\r\n </div>\r\n <div class=\"my-5 timeRange fw-semibold\">Total : {{totalDownTime}} mins Downtime </div>\r\n <div class=\" mt-2 mx-2\" *ngIf=\"timeSeries?.length\">\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let Index=index\" class=\"svg-container\">\r\n <!-- normal -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'normal'\"\r\n class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"53\"\r\n viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#D0D5DD\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- Present hour for live -->\r\n <!-- <svg *ngIf=\"time.activeHr\" class=\"timeItem my-2\" xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"53\" viewBox=\"0 0 4 53\" fill=\"none\">\r\n <path d=\"M2.08032 2.5L2.08032 50.5\" stroke=\"#00A3FF\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg> -->\r\n\r\n <!-- positive -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'positive'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.40015 2.5L2.40014 66.5\" stroke=\"#039855\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n\r\n <!-- negative -->\r\n <!-- (mouseenter)=\"showDialogBox(time,Index)\" -->\r\n <svg *ngIf=\"showIncidentType(time?.time24Hour,Index) === 'negative'\"\r\n class=\"timeItem\"\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"68\" viewBox=\"0 0 5 68\"\r\n fill=\"none\">\r\n <path d=\"M2.48682 2L2.48682 66\" stroke=\"#D92D20\" stroke-width=\"4.5\"\r\n stroke-linecap=\"round\" />\r\n </svg>\r\n <div class=\"dialog-box\" [ngStyle]=\"getStyle()\" *ngIf=\"showIncidentPop && showIncidentPopIndex === Index\">\r\n <!-- (mouseleave)=\"hideDialogBox()\" -->\r\n <!-- -ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.neg\">\r\n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36075)\">\r\n <rect x=\"4.82642\" y=\"4.32617\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#FEF3F2\" />\r\n <path\r\n d=\"M29.9446 25.5987C30.2221 25.8761 30.2221 26.3259 29.9446 26.6033L27.1032 29.4448C26.8257 29.7222 26.376 29.7222 26.0985 29.4448L24.6778 28.0241C24.4004 27.7466 24.4004 27.2969 24.6778 27.0194C24.9552 26.742 25.405 26.742 25.6824 27.0194L26.6008 27.9379L28.94 25.5987C29.2175 25.3213 29.6672 25.3213 29.9446 25.5987Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M29.9446 32.7026C30.2221 32.9801 30.2221 33.4299 29.9446 33.7074L27.1032 36.5489C26.8257 36.8262 26.376 36.8262 26.0985 36.5489L24.6778 35.1281C24.4004 34.8507 24.4004 34.4008 24.6778 34.1234C24.9552 33.846 25.405 33.846 25.6824 34.1234L26.6008 35.0419L28.94 32.7026C29.2175 32.4253 29.6672 32.4253 29.9446 32.7026Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M31.5735 27.5219C31.5735 27.1296 31.8916 26.8115 32.2839 26.8115H36.5461C36.9384 26.8115 37.2565 27.1296 37.2565 27.5219C37.2565 27.9142 36.9384 28.2323 36.5461 28.2323H32.2839C31.8916 28.2323 31.5735 27.9142 31.5735 27.5219Z\"\r\n fill=\"#F04438\" />\r\n <path\r\n d=\"M25.18 21.1284C23.2184 21.1284 21.6282 22.7186 21.6282 24.6803V37.467C21.6282 39.4286 23.2184 41.0189 25.18 41.0189H31.0047C30.7746 40.5688 30.5869 40.0934 30.4468 39.5981H25.18C24.0031 39.5981 23.0489 38.6439 23.0489 37.467V24.6803C23.0489 23.5033 24.0031 22.5492 25.18 22.5492H37.9668C39.1437 22.5492 40.0979 23.5033 40.0979 24.6803V29.947C40.5931 30.0871 41.0685 30.2749 41.5186 30.5049V24.6803C41.5186 22.7186 39.9284 21.1284 37.9668 21.1284H25.18Z\"\r\n fill=\"#F04438\" />\r\n <circle cx=\"37.936\" cy=\"37.436\" r=\"6.42424\" fill=\"#F04438\" />\r\n <path\r\n d=\"M38.7415 35.5265V40.5581H37.6777V36.5363H37.6482L36.496 37.2586V36.3152L37.7416 35.5265H38.7415Z\"\r\n fill=\"white\" />\r\n <rect x=\"5.32059\" y=\"4.82034\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#FEF3F2\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36075\" x=\"0.826416\" y=\"0.326172\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.997059 0 0 0 0 0.892745 0 0 0 0 0.885294 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36075\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36075\"\r\n result=\"effect2_dropShadow_5752_36075\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36075\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"text-primary supporting-text\" style=\"cursor: pointer;\" (click)=\"scrollTo_mobdetectionsection(time?.incidents[0]?.category);\">Click to view details</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- +ve -->\r\n <ng-container *ngIf=\"showIncidentOptions.pos\">\r\n <svg width=\"57\" height=\"57\" viewBox=\"0 0 57 57\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n fill=\"#D1FADF\" />\r\n <path\r\n d=\"M38.5 27.917V28.837C38.4988 30.9934 37.8005 33.0917 36.5093 34.8188C35.2182 36.546 33.4033 37.8095 31.3354 38.4209C29.2674 39.0323 27.0573 38.9589 25.0345 38.2116C23.0117 37.4643 21.2847 36.0831 20.111 34.2741C18.9373 32.4651 18.3798 30.3251 18.5217 28.1733C18.6636 26.0216 19.4972 23.9733 20.8983 22.3341C22.2994 20.6948 24.1928 19.5524 26.2962 19.0772C28.3996 18.6019 30.6003 18.8194 32.57 19.697M38.5 20.837L28.5 30.847L25.5 27.847\"\r\n stroke=\"#039855\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n <rect x=\"4.5\" y=\"4.83691\" width=\"48\" height=\"48\" rx=\"24\"\r\n stroke=\"#ECFDF3\" stroke-width=\"8\" />\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div class=\"supporting-text text-primary\" style=\"cursor: pointer;\"\r\n (click)=\"scrollTo_Submituser();\">Submitted by\r\n {{time?.incidents[0]?.userName}}</div>\r\n </div> -->\r\n </ng-container>\r\n \r\n <!-- store op -->\r\n <ng-container *ngIf=\"showIncidentOptions.storeop\">\r\n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g filter=\"url(#filter0_dd_5752_36067)\">\r\n <rect x=\"4.32642\" y=\"4\" width=\"55.3473\" height=\"55.3473\"\r\n rx=\"7.90676\" fill=\"#EAF8FF\" />\r\n <path\r\n d=\"M29.4449 25.272C29.7223 25.5495 29.7223 25.9992 29.4449 26.2766L26.6034 29.1181C26.326 29.3956 25.8762 29.3956 25.5988 29.1181L24.178 27.6974C23.9006 27.42 23.9006 26.9702 24.178 26.6928C24.4555 26.4154 24.9052 26.4154 25.1827 26.6928L26.1011 27.6112L28.4403 25.272C28.7177 24.9946 29.1675 24.9946 29.4449 25.272Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M29.4449 32.376C29.7223 32.6534 29.7223 33.1032 29.4449 33.3807L26.6034 36.2222C26.326 36.4995 25.8762 36.4995 25.5988 36.2222L24.178 34.8015C23.9006 34.524 23.9006 34.0742 24.178 33.7967C24.4555 33.5194 24.9052 33.5194 25.1827 33.7967L26.1011 34.7152L28.4403 32.376C28.7177 32.0986 29.1675 32.0986 29.4449 32.376Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M31.0737 27.1952C31.0737 26.8029 31.3918 26.4849 31.7841 26.4849H36.0463C36.4386 26.4849 36.7567 26.8029 36.7567 27.1952C36.7567 27.5876 36.4386 27.9056 36.0463 27.9056H31.7841C31.3918 27.9056 31.0737 27.5876 31.0737 27.1952Z\"\r\n fill=\"#009BF3\" />\r\n <path\r\n d=\"M24.6803 20.8018C22.7186 20.8018 21.1284 22.392 21.1284 24.3536V37.1403C21.1284 39.102 22.7186 40.6922 24.6803 40.6922H30.5049C30.2749 40.2421 30.0871 39.7667 29.947 39.2715H24.6803C23.5033 39.2715 22.5492 38.3173 22.5492 37.1403V24.3536C22.5492 23.1766 23.5033 22.2225 24.6803 22.2225H37.467C38.6439 22.2225 39.5981 23.1766 39.5981 24.3536V29.6204C40.0934 29.7605 40.5688 29.9482 41.0189 30.1783V24.3536C41.0189 22.392 39.4286 20.8018 37.467 20.8018H24.6803Z\"\r\n fill=\"#009BF3\" />\r\n <circle cx=\"37.436\" cy=\"37.1098\" r=\"6.42424\" fill=\"#009BF3\" />\r\n <path\r\n d=\"M38.2417 35.2004V40.2319H37.1779V36.2101H37.1485L35.9962 36.9324V35.989L37.2418 35.2004H38.2417Z\"\r\n fill=\"white\" />\r\n <rect x=\"4.82059\" y=\"4.49417\" width=\"54.359\" height=\"54.359\"\r\n rx=\"7.41259\" stroke=\"#EAF8FF\" stroke-width=\"0.988345\" />\r\n </g>\r\n <defs>\r\n <filter id=\"filter0_dd_5752_36067\" x=\"0.326416\" y=\"0\"\r\n width=\"63.3474\" height=\"63.3472\" filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\">\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feMorphology radius=\"4\" operator=\"dilate\" in=\"SourceAlpha\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feOffset />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.83637 0 0 0 0 0.938377 0 0 0 0 0.996667 0 0 0 1 0\" />\r\n <feBlend mode=\"normal\" in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_5752_36067\" />\r\n <feColorMatrix in=\"SourceAlpha\" type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\" />\r\n <feOffset dy=\"1\" />\r\n <feGaussianBlur stdDeviation=\"1\" />\r\n <feColorMatrix type=\"matrix\"\r\n values=\"0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.05 0\" />\r\n <feBlend mode=\"normal\" in2=\"effect1_dropShadow_5752_36067\"\r\n result=\"effect2_dropShadow_5752_36067\" />\r\n <feBlend mode=\"normal\" in=\"SourceGraphic\"\r\n in2=\"effect2_dropShadow_5752_36067\" result=\"shape\" />\r\n </filter>\r\n </defs>\r\n </svg>\r\n <!-- <div class=\"d-flex justify-content-center flex-column\">\r\n <div class=\"fw-bold\">{{displayCategory(time?.incidents[0]?.category,time?.incidents[0]?.type)}} :\r\n {{time?.time12Hour}}</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'positive'\"\r\n class=\"supporting-text\">On time opening/closing</div>\r\n <div *ngIf=\"time?.incidents[0]?.type == 'negative'\"\r\n class=\"supporting-text\">Store Open/Close Delayed?Early</div>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </span>\r\n </div>\r\n <div class=\"flex-container d-flex justify-content-between\">\r\n <span *ngFor=\"let time of timeSeries;let i=index;\">\r\n <span class=\"hourText\" *ngIf=\"showHours(time)\">{{showHours(time)}}</span>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"card mt-5\">\r\n <div class=\"card-header\">\r\n <div class=\"card-title\">\r\n <div class=\"card-body p-0 \">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"title\">Camera Info</span>\r\n </div>\r\n <span class=\"fw-bold-400 subTitle\">An overview of the store issues and the downtime for {{selectedDate|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex align-items-center position-relative my-1 ms-3\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [singleDatePicker]=\"true\" [drops]=\"'down'\"\r\n [opens]=\"'right'\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row mt-7\">\r\n <div class=\"col-sm-6\">\r\n <div *ngIf=\"totalImageUrl?.length && !loading && !noData\">\r\n <div class=\"d-flex align-items-center\"><div *ngIf=\"selectedUrl?.cameraNumber || imageUrl[0]?.cameraNumber\" class=\"w-10px h-10px border-0 rounded-3 bg-success me-2\"></div>\r\n <span class=\"camera-title\">{{selectedUrl?.cameraNumber ? selectedUrl?.cameraNumber : imageUrl[0]?.cameraNumber}}</span> <span *ngIf=\"selectedUrl?.cameraName\" class=\"badge badge-light-primary text-primary ms-2\">\r\n {{selectedUrl?.cameraName ? selectedUrl?.cameraName : imageUrl[0]?.cameraName}}\r\n </span></div>\r\n <div class=\"rounded-2 w-100 mh-350px overflow-hidden mt-5\">\r\n <img *ngIf=\"selectedUrl?.thumbnailImage !== null || selectedUrl?.thumbnailImage !== '' || imageUrl[0]?.thumbnailImage !== ''\" class=\"w-100 mh-350px\" [src]=\"selectedUrl?.thumbnailImage ? selectedUrl?.thumbnailImage : imageUrl[0]?.thumbnailImage\">\r\n\r\n <div *ngIf=\"selectedUrl?.thumbnailImage === null || selectedUrl?.thumbnailImage === '' || imageUrl[0]?.thumbnailImage === ''\" class=\"w-100 h-300px rounded-2 overflow-hidden Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center mb-5\">\r\n Preview not available\r\n </div>\r\n <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row mt-3 position-relative\">\r\n <div *ngFor=\"let url of imageUrl; let i = index\" class=\"col-sm-4\" (click)=\"selectedImg(url)\">\r\n <img *ngIf=\"url?.thumbnailImage !== null || url?.thumbnailImage !== ''\" class=\"w-100 rounded-2 mh-100px\" [src]=\"url?.thumbnailImage\">\r\n <div *ngIf=\"url?.thumbnailImage === null || url?.thumbnailImage === ''\" class=\"w-100 rounded-2 h-100px Nopreview align-content-center\">\r\n <div class=\"previewTitle text-center fs-4 mb-2\">\r\n Preview not available\r\n </div>\r\n <!-- <div class=\"previewsubTitle fw-semibold\">\r\n The selected camera is not available at the moment.\r\n </div> -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showPrev\" (click)=\"prevImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute left-0 ms-5 mt-2 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M12.5 15.0264L7.5 10.0264L12.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n <div *ngIf=\"showNext && totalImageUrl.length > 3\" (click)=\"nextImages()\" class=\"w-35px h-35px bg-light-primary rounded-5 cursor-pointer d-flex align-items-center align-items-center position-absolute end-0 me-5 mt-2 top-25\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\r\n <path d=\"M7.5 15.0264L12.5 10.0264L7.5 5.02637\" stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData || !totalImageUrl?.length\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"mt-10\">\r\n <div class=\"d-flex align-items-center\" *ngIf=\"anglechangeData?.anglechange\">\r\n <span class=\"camera-actual fw-bold\">Camera Angle</span>\r\n <div class=\"ms-3\">\r\n <span class=\"badge badge-light-danger text-danger\"> <input class=\"w-10px h-10px border-0 rounded-2 bg-danger me-2\">Changed</span>\r\n </div>\r\n </div>\r\n <div class=\"row mt-5\">\r\n <img class=\"w-100 mh-150px\" [src]=\"anglechangeData?.angleChangeImage\">\r\n <!-- <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-6\">\r\n <div class=\"w-100 rounded-3 overflow-hidden\">\r\n <img class=\"w-100 mh-150px\" src=\"https://images.unsplash.com/photo-1441986300917-64674bd600d8?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8c3RvcmV8ZW58MHx8MHx8fDA%3D\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div class=\"row p-0\" *ngIf=\"anglechangeData?.anglechange\">\r\n <div class=\"col-md-6 m-0 pe-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Expected</span>\r\n </div>\r\n </div>\r\n <div class=\"col-md-6 m-0 ps-0\">\r\n <div class=\"d-flex justify-content-center align-items-center bg-light-primary py-3\">\r\n <span class=\"actualspan\">Actual</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"w-100 mt-10 table-responsive\" *ngIf=\"this.anglechangeData?.resolution\">\r\n <table class=\"w-100 table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th>Instances</th>\r\n <th>Expected</th>\r\n <th>Actual</th>\r\n <th>Results</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td><span class=\"subTitle fw-semibold\"> Camera Resolution </span></td>\r\n <td>1080 x 900</td>\r\n <td>{{this.anglechangeData?.resolution}}</td>\r\n <td>\r\n <span class=\"badge badge-light-success text-success px-1\" *ngIf=\"resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n <span class=\"badge badge-light-danger text-danger px-1\" *ngIf=\"!resolutiontype\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_2326)\">\r\n <path d=\"M6 8.02637V6.02637M6 4.02637H6.005M11 6.02637C11 8.78779 8.76142 11.0264 6 11.0264C3.23858 11.0264 1 8.78779 1 6.02637C1 3.26494 3.23858 1.02637 6 1.02637C8.76142 1.02637 11 3.26494 11 6.02637Z\" stroke=\"#F04438\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_2326\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr>\r\n <!-- <tr>\r\n <td><span class=\"subTitle fw-semibold\">Downtime</span></td>\r\n <td>200mins</td>\r\n <td>140mins</td>\r\n <td><span class=\"badge badge-light-success text-success px-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_4623_18201)\">\r\n <path d=\"M11 5.5663V6.0263C10.9994 7.10451 10.6503 8.15364 10.0047 9.01721C9.35908 9.88079 8.45164 10.5125 7.41768 10.8182C6.38372 11.124 5.27863 11.0872 4.26724 10.7136C3.25584 10.3399 2.39233 9.64935 1.80548 8.74483C1.21863 7.84032 0.939896 6.77033 1.01084 5.69446C1.08178 4.61858 1.4986 3.59446 2.19914 2.77484C2.89968 1.95521 3.84639 1.38399 4.89809 1.14637C5.9498 0.908754 7.05013 1.01747 8.035 1.4563M11 2.0263L6 7.0313L4.5 5.5313\" stroke=\"#12B76A\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4623_18201\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0 0.0263672)\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span></td>\r\n </tr> -->\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"mt-5\">\r\n <lib-edgeapp-log [storeId] = \"storeId\"></lib-edgeapp-log>\r\n</div>\r\n<div class=\"mt-5\">\r\n <lib-store-activity [storeId]=\"storeId\"></lib-store-activity>\r\n</div>", styles: [".fw-bold-400{font-weight:400}.subTitle{color:var(--Gray-500, #667085);font-size:14px;line-height:20px}.timeRange{color:var(--Black, #101828);font-size:16px;line-height:24px}tr td{padding-top:15px!important;padding-bottom:15px!important}.camera-title{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.camera-actual{color:var(--Gray-700, #344054);font-size:16px;font-weight:600;line-height:24px}.actualspan{color:var(--Black, #101828);font-size:12px;font-weight:400;line-height:18px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.Nopreview{border:1px solid var(--Gray-500, #667085);background:var(--Gray-100, #F2F4F7);color:var(--Gray-500, #667085)}.Nopreview .previewTitle{font-size:20px;font-weight:700;line-height:20px}.Nopreview .previewsubTitle{text-align:center;font-size:12px;line-height:18px}\n"] }]
672
+ }], ctorParameters: () => [{ type: i1.TicketsService }, { type: i0.ChangeDetectorRef }], propDecorators: { storeId: [{
161
673
  type: Input
162
674
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvc3RvcmUtaW5mby9zdG9yZS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9zdG9yZS1pbmZvL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7QUFFN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBT3RCLE1BQU0sT0FBTyxrQkFBa0I7SUFtQ1Q7SUFsQ3BCLFFBQVEsR0FBUyxFQUFFLENBQUM7SUFDcEIsVUFBVSxHQUFTLEVBQUUsQ0FBQztJQUN0QixXQUFXLENBQUs7SUFDaEIsVUFBVSxHQUFPLENBQUMsQ0FBQztJQUNuQixTQUFTLEdBQU8sQ0FBQyxDQUFDO0lBQ2xCLFFBQVEsR0FBVyxLQUFLLENBQUM7SUFDekIsT0FBTyxHQUFXLEtBQUssQ0FBQztJQUN4QixNQUFNLEdBQVcsS0FBSyxDQUFDO0lBQ3ZCLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixpQkFBaUIsR0FBSyxFQUFFLENBQUM7SUFFekIsb0JBQW9CLENBQVM7SUFDN0IsbUJBQW1C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SyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDM0Y7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMxRTtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQy9DO0lBQ0YsQ0FBQzt1R0F4SVcsa0JBQWtCOzJGQUFsQixrQkFBa0Isc0ZDZC9CLHNsNkJBcVhNOzsyRkR2V08sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjttRkFzQ2xCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCxPbkluaXQsT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCAnZGF5anMvbG9jYWxlL2VuJztcclxuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcclxuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2UnO1xyXG5kYXlqcy5leHRlbmQodXRjKTtcclxuZGF5anMuZXh0ZW5kKHRpbWV6b25lKVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc3RvcmUtaW5mbycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zdG9yZS1pbmZvLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvcmVJbmZvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBpbWFnZVVybDphbnlbXSA9IFtdO1xyXG4gIHRpbWVTZXJpZXM6YW55W10gPSBbXTtcclxuICBzdG9yZVRpY2tldDphbnk7XHJcbiAgZmlyc3RJbmRleDphbnkgPSAwO1xyXG4gIGxhc3RJbmRleDphbnkgPSAzO1xyXG4gIHNob3dQcmV2OmJvb2xlYW4gPSBmYWxzZTtcclxuICBsb2FkaW5nOmJvb2xlYW4gPSBmYWxzZTtcclxuICBub0RhdGE6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIHNob3dOZXh0OmJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOmFueT17fTtcclxuICBcclxuICBzaG93SW5jaWRlbnRQb3BJbmRleDogbnVtYmVyO1xyXG4gIHNob3dJbmNpZGVudE9wdGlvbnM6IGFueSA9IHtcclxuICAgIG5lZzogZmFsc2UsXHJcbiAgICBwb3M6IGZhbHNlLFxyXG4gICAgc3RvcmVvcDogZmFsc2VcclxuICB9XHJcbiAgZGF5anMgPSBkYXlqc1xyXG4gIHRvdGFsSW1hZ2VVcmw6YW55W10gPVtcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnLFxyXG4gICAgJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEJyxcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnLFxyXG4gICAgJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEJyxcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnLFxyXG4gICAgJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEJyxcclxuICAgICdodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRCcsXHJcbiAgICAnaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0QnXHJcbiAgXVxyXG4gc2VsZWN0ZWRVcmw6YW55O1xyXG4gQElucHV0KCkgc3RvcmVJZDpzdHJpbmc7IFxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZTpUaWNrZXRzU2VydmljZSl7XHJcblxyXG4gIH1cclxuXHJcbm5nT25Jbml0KCl7XHJcbiAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSB0aGlzLmRheWpzKCkudXRjKCkuZm9ybWF0KCdERC1NTS1ZWVlZJyk7XHJcbiAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gIGNvbnNvbGUubG9nKCd0aGlzLmltYWdlJyx0aGlzLmltYWdlVXJsKVxyXG59XHJcblxyXG5cclxuaGlkZURpYWxvZ0JveCgpIHtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG59XHJcblxyXG5nZXRTdHlsZSgpe1xyXG4gIHJldHVybiB7XHJcbiAgJ21hcmdpbi1sZWZ0JzogKHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPD0gNSkgPyAnMHB4JyA6ICgodGhpcy5zaG93SW5jaWRlbnRQb3BJbmRleCA+PSA1OCkgPyAnLTE2MHB4JyA6ICctMTE1cHgnKVxyXG4gIH1cclxufVxyXG5cclxuc2hvd0luY2lkZW50VHlwZShpbmNpZGVudHM6IGFueVtdKSB7XHJcbiAgaWYgKGluY2lkZW50cy5maWx0ZXIoKHg6IGFueSkgPT4geC50eXBlID09ICduZWdhdGl2ZScpLmxlbmd0aCkge1xyXG4gICAgcmV0dXJuICduZWdhdGl2ZSc7XHJcbiAgfSBlbHNlIGlmIChpbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSAncG9zaXRpdmUnKS5sZW5ndGgpIHtcclxuICAgIHJldHVybiAncG9zaXRpdmUnO1xyXG4gIH0gZWxzZSBpZiAoaW5jaWRlbnRzLmZpbHRlcigoeDogYW55KSA9PiB4LmNhdGVnb3J5ID09ICdzdG9yZW9wZW5hbmRjbG9zZScpLmxlbmd0aCkge1xyXG4gICAgcmV0dXJuICdzdG9yZW9wJztcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuICdub3JtYWwnO1xyXG4gIH1cclxufVxyXG5cclxuc2hvd0RpYWxvZ0JveCh0aW1lOiBhbnksIGluZGV4OiBudW1iZXIpIHtcclxuICB0aGlzLnNob3dJbmNpZGVudFBvcCA9IGZhbHNlO1xyXG4gIHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPSBpbmRleDtcclxuICBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcIm5lZ2F0aXZlXCIpLmxlbmd0aCkge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xyXG4gIH0gZWxzZSBpZiAodGltZS5pbmNpZGVudHMuZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PSBcInBvc2l0aXZlXCIpLmxlbmd0aCkge1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLm5lZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaG93SW5jaWRlbnRPcHRpb25zLnBvcyA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IGZhbHNlO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMubmVnID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMuc3RvcmVvcCA9IHRydWU7XHJcbiAgfVxyXG4gIHRoaXMuc2hvd0luY2lkZW50UG9wID0gdHJ1ZTtcclxufVxyXG5cclxuZGlzcGxheUNhdGVnb3J5KGNhdGVnb3J5OiBhbnksIHR5cGU6IGFueSkge1xyXG4gIGlmIChjYXRlZ29yeSA9PSAnbW9iaWxldXNhZ2VkZXRlY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gJ01vYmlsZSBVc2FnZSBEZXRlY3Rpb24nO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ2N1c3RvbScpIHtcclxuICAgIGlmICh0eXBlID09ICdwb3NpdGl2ZScpXHJcbiAgICAgIHJldHVybiAnQ2hlY2tsaXN0IFN1Ym1pc3Npb24nO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gJ1N1Ym1pc3Npb24gRGVsYXllZCc7XHJcbiAgfSBlbHNlIGlmIChjYXRlZ29yeSA9PSAnc3RvcmVvcGVuYW5kY2xvc2UnKSB7XHJcbiAgICByZXR1cm4gJ1N0b3JlIE9wZW4gQ2xvc2UnO1xyXG4gIH0gZWxzZSBpZiAoY2F0ZWdvcnkgPT0gJ3VuaWZvcm1kZXRlY3Rpb24nKSB7XHJcbiAgICByZXR1cm4gJ1VuaWZvcm0gRGV0ZWN0aW9uJztcclxuICB9XHJcbn1cclxuXHJcbnNlbGVjdGVkSW1nKGluZGV4OmFueSl7XHJcbiAgIHRoaXMuc2VsZWN0ZWRVcmwgPXRoaXMuaW1hZ2VVcmxbaW5kZXhdO1xyXG59XHJcbnByZXZJbWFnZXMoKXsgXHJcbiAgdGhpcy5zZWxlY3RlZFVybCA9ICcnO1xyXG4gIHRoaXMuc2hvd05leHQgPSB0cnVlO1xyXG4gIHRoaXMuZmlyc3RJbmRleCAtPSAzO1xyXG4gIHRoaXMubGFzdEluZGV4IC09IDM7IFxyXG4gIHRoaXMuaW1hZ2VVcmwgPSB0aGlzLnRvdGFsSW1hZ2VVcmwuc2xpY2UodGhpcy5maXJzdEluZGV4LHRoaXMubGFzdEluZGV4KTtcclxuICBpZih0aGlzLmZpcnN0SW5kZXggPT0gMCAmJiB0aGlzLmxhc3RJbmRleCA9PSAzKXtcclxuICAgIHRoaXMuc2hvd1ByZXYgPSBmYWxzZTtcclxuICB9XHJcbn1cclxubmV4dEltYWdlcygpe1xyXG4gIHRoaXMuc2hvd1ByZXYgPSB0cnVlO1xyXG4gIHRoaXMuc2VsZWN0ZWRVcmwgPSAnJztcclxuICB0aGlzLmZpcnN0SW5kZXggKz0gMztcclxuICB0aGlzLmxhc3RJbmRleCArPSAzOyBcclxuICB0aGlzLmltYWdlVXJsID0gdGhpcy50b3RhbEltYWdlVXJsLnNsaWNlKHRoaXMuZmlyc3RJbmRleCx0aGlzLmxhc3RJbmRleCk7XHJcbiAgaWYodGhpcy5sYXN0SW5kZXggPT0gdGhpcy50b3RhbEltYWdlVXJsLmxlbmd0aCB8fCB0aGlzLmltYWdlVXJsLmxlbmd0aCA8IDMpe1xyXG4gIHRoaXMuc2hvd05leHQgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbmRhdGVjaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gIGlmIChldmVudCAmJiBldmVudC5zdGFydERhdGUgJiYgZXZlbnQuZW5kRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkudXRjKCkuZm9ybWF0KCdERC1NTS1ZWVlZJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGRhdGVzIHByb3ZpZGVkOicsIGV2ZW50LnN0YXJ0RGF0ZSwgZXZlbnQuZW5kRGF0ZSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZXZlbnQgb2JqZWN0OicsIGV2ZW50KTtcclxuICB9XHJcbiB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+U3RvcmUgSW5mbzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXJcIj4gPGlucHV0IGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTIgYmctZGFuZ2VyIG1lLTJcIj4gQXR0ZW50aW9uIE5lZWRlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkLTQwMCBzdWJUaXRsZVwiPkFuIG92ZXJ2aWV3IG9mIHRoZSBzdG9yZSBpc3N1ZXMgYW5kIHRoZSBkb3dudGltZSBmb3Ige3tzZWxlY3RlZERhdGVSYW5nZT8uc3RhcnREYXRlfGN1c3RvbURhdGVGb3JtYXR9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBtdC0yIG14LTJcIiAqbmdJZj1cInRpbWVTZXJpZXMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHRpbWUgb2YgdGltZVNlcmllcztsZXQgSW5kZXg9aW5kZXhcIiBjbGFzcz1cInN2Zy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIG5vcm1hbCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2hvd0luY2lkZW50VHlwZSh0aW1lPy5pbmNpZGVudHMpPT0nbm9ybWFsJyAmJiAhdGltZS5hY3RpdmVIclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZUl0ZW0gbXktMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNTNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQgNTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuMDgwMzIgMi41TDIuMDgwMzIgNTAuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiBzdHJva2Utd2lkdGg9XCI0LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gUHJlc2VudCBob3VyIGZvciBsaXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJ0aW1lLmFjdGl2ZUhyXCIgY2xhc3M9XCJ0aW1lSXRlbSBteS0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCI1M1wiIHZpZXdCb3g9XCIwIDAgNCA1M1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMi4wODAzMiAyLjVMMi4wODAzMiA1MC41XCIgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBwb3NpdGl2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2hvd0luY2lkZW50VHlwZSh0aW1lPy5pbmNpZGVudHMpPT0ncG9zaXRpdmUnICYmICF0aW1lLmFjdGl2ZUhyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lSXRlbVwiIChtb3VzZWVudGVyKT1cInNob3dEaWFsb2dCb3godGltZSxJbmRleClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjY4XCIgdmlld0JveD1cIjAgMCA1IDY4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjQwMDE1IDIuNUwyLjQwMDE0IDY2LjVcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiNC41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIG5lZ2F0aXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93SW5jaWRlbnRUeXBlKHRpbWU/LmluY2lkZW50cyk9PSduZWdhdGl2ZScgJiYgIXRpbWUuYWN0aXZlSHJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWVJdGVtXCIgKG1vdXNlZW50ZXIpPVwic2hvd0RpYWxvZ0JveCh0aW1lLEluZGV4KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiNjhcIiB2aWV3Qm94PVwiMCAwIDUgNjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIuNDg2ODIgMkwyLjQ4NjgyIDY2XCIgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1ib3hcIiBbbmdTdHlsZV09XCJnZXRTdHlsZSgpXCIgKm5nSWY9XCJzaG93SW5jaWRlbnRQb3AgJiYgc2hvd0luY2lkZW50UG9wSW5kZXg9PUluZGV4XCIgKG1vdXNlbGVhdmUpPVwiaGlkZURpYWxvZ0JveCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0luY2lkZW50T3B0aW9ucy5uZWdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI2NVwiIGhlaWdodD1cIjY0XCIgdmlld0JveD1cIjAgMCA2NSA2NFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RkXzU3NTJfMzYwNzUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjgyNjQyXCIgeT1cIjQuMzI2MTdcIiB3aWR0aD1cIjU1LjM0NzNcIiBoZWlnaHQ9XCI1NS4zNDczXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy45MDY3NlwiIGZpbGw9XCIjRkVGM0YyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuOTQ0NiAyNS41OTg3QzMwLjIyMjEgMjUuODc2MSAzMC4yMjIxIDI2LjMyNTkgMjkuOTQ0NiAyNi42MDMzTDI3LjEwMzIgMjkuNDQ0OEMyNi44MjU3IDI5LjcyMjIgMjYuMzc2IDI5LjcyMjIgMjYuMDk4NSAyOS40NDQ4TDI0LjY3NzggMjguMDI0MUMyNC40MDA0IDI3Ljc0NjYgMjQuNDAwNCAyNy4yOTY5IDI0LjY3NzggMjcuMDE5NEMyNC45NTUyIDI2Ljc0MiAyNS40MDUgMjYuNzQyIDI1LjY4MjQgMjcuMDE5NEwyNi42MDA4IDI3LjkzNzlMMjguOTQgMjUuNTk4N0MyOS4yMTc1IDI1LjMyMTMgMjkuNjY3MiAyNS4zMjEzIDI5Ljk0NDYgMjUuNTk4N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS45NDQ2IDMyLjcwMjZDMzAuMjIyMSAzMi45ODAxIDMwLjIyMjEgMzMuNDI5OSAyOS45NDQ2IDMzLjcwNzRMMjcuMTAzMiAzNi41NDg5QzI2LjgyNTcgMzYuODI2MiAyNi4zNzYgMzYuODI2MiAyNi4wOTg1IDM2LjU0ODlMMjQuNjc3OCAzNS4xMjgxQzI0LjQwMDQgMzQuODUwNyAyNC40MDA0IDM0LjQwMDggMjQuNjc3OCAzNC4xMjM0QzI0Ljk1NTIgMzMuODQ2IDI1LjQwNSAzMy44NDYgMjUuNjgyNCAzNC4xMjM0TDI2LjYwMDggMzUuMDQxOUwyOC45NCAzMi43MDI2QzI5LjIxNzUgMzIuNDI1MyAyOS42NjcyIDMyLjQyNTMgMjkuOTQ0NiAzMi43MDI2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMxLjU3MzUgMjcuNTIxOUMzMS41NzM1IDI3LjEyOTYgMzEuODkxNiAyNi44MTE1IDMyLjI4MzkgMjYuODExNUgzNi41NDYxQzM2LjkzODQgMjYuODExNSAzNy4yNTY1IDI3LjEyOTYgMzcuMjU2NSAyNy41MjE5QzM3LjI1NjUgMjcuOTE0MiAzNi45Mzg0IDI4LjIzMjMgMzYuNTQ2MSAyOC4yMzIzSDMyLjI4MzlDMzEuODkxNiAyOC4yMzIzIDMxLjU3MzUgMjcuOTE0MiAzMS41NzM1IDI3LjUyMTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjUuMTggMjEuMTI4NEMyMy4yMTg0IDIxLjEyODQgMjEuNjI4MiAyMi43MTg2IDIxLjYyODIgMjQuNjgwM1YzNy40NjdDMjEuNjI4MiAzOS40Mjg2IDIzLjIxODQgNDEuMDE4OSAyNS4xOCA0MS4wMTg5SDMxLjAwNDdDMzAuNzc0NiA0MC41Njg4IDMwLjU4NjkgNDAuMDkzNCAzMC40NDY4IDM5LjU5ODFIMjUuMThDMjQuMDAzMSAzOS41OTgxIDIzLjA0ODkgMzguNjQzOSAyMy4wNDg5IDM3LjQ2N1YyNC42ODAzQzIzLjA0ODkgMjMuNTAzMyAyNC4wMDMxIDIyLjU0OTIgMjUuMTggMjIuNTQ5MkgzNy45NjY4QzM5LjE0MzcgMjIuNTQ5MiA0MC4wOTc5IDIzLjUwMzMgNDAuMDk3OSAyNC42ODAzVjI5Ljk0N0M0MC41OTMxIDMwLjA4NzEgNDEuMDY4NSAzMC4yNzQ5IDQxLjUxODYgMzAuNTA0OVYyNC42ODAzQzQxLjUxODYgMjIuNzE4NiAzOS45Mjg0IDIxLjEyODQgMzcuOTY2OCAyMS4xMjg0SDI1LjE4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIzNy45MzZcIiBjeT1cIjM3LjQzNlwiIHI9XCI2LjQyNDI0XCIgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zOC43NDE1IDM1LjUyNjVWNDAuNTU4MUgzNy42Nzc3VjM2LjUzNjNIMzcuNjQ4MkwzNi40OTYgMzcuMjU4NlYzNi4zMTUyTDM3Ljc0MTYgMzUuNTI2NUgzOC43NDE1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNS4zMjA1OVwiIHk9XCI0LjgyMDM0XCIgd2lkdGg9XCI1NC4zNTlcIiBoZWlnaHQ9XCI1NC4zNTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjQxMjU5XCIgc3Ryb2tlPVwiI0ZFRjNGMlwiIHN0cm9rZS13aWR0aD1cIjAuOTg4MzQ1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RkXzU3NTJfMzYwNzVcIiB4PVwiMC44MjY0MTZcIiB5PVwiMC4zMjYxNzJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI2My4zNDc0XCIgaGVpZ2h0PVwiNjMuMzQ3MlwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJkaWxhdGVcIiBpbj1cIlNvdXJjZUFscGhhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC45OTcwNTkgMCAwIDAgMCAwLjg5Mjc0NSAwIDAgMCAwIDAuODg1Mjk0IDAgMCAwIDEgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNzVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNzVcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy50aW1lMTJIb3VyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IHN1cHBvcnRpbmctdGV4dFwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJzY3JvbGxUb19tb2JkZXRlY3Rpb25zZWN0aW9uKHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnkpO1wiPkNsaWNrIHRvIHZpZXcgZGV0YWlsczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tICt2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJbmNpZGVudE9wdGlvbnMucG9zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNTdcIiBoZWlnaHQ9XCI1N1wiIHZpZXdCb3g9XCIwIDAgNTcgNTdcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjVcIiB5PVwiNC44MzY5MVwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zOC41IDI3LjkxN1YyOC44MzdDMzguNDk4OCAzMC45OTM0IDM3LjgwMDUgMzMuMDkxNyAzNi41MDkzIDM0LjgxODhDMzUuMjE4MiAzNi41NDYgMzMuNDAzMyAzNy44MDk1IDMxLjMzNTQgMzguNDIwOUMyOS4yNjc0IDM5LjAzMjMgMjcuMDU3MyAzOC45NTg5IDI1LjAzNDUgMzguMjExNkMyMy4wMTE3IDM3LjQ2NDMgMjEuMjg0NyAzNi4wODMxIDIwLjExMSAzNC4yNzQxQzE4LjkzNzMgMzIuNDY1MSAxOC4zNzk4IDMwLjMyNTEgMTguNTIxNyAyOC4xNzMzQzE4LjY2MzYgMjYuMDIxNiAxOS40OTcyIDIzLjk3MzMgMjAuODk4MyAyMi4zMzQxQzIyLjI5OTQgMjAuNjk0OCAyNC4xOTI4IDE5LjU1MjQgMjYuMjk2MiAxOS4wNzcyQzI4LjM5OTYgMTguNjAxOSAzMC42MDAzIDE4LjgxOTQgMzIuNTcgMTkuNjk3TTM4LjUgMjAuODM3TDI4LjUgMzAuODQ3TDI1LjUgMjcuODQ3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjVcIiB5PVwiNC44MzY5MVwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRUNGREYzXCIgc3Ryb2tlLXdpZHRoPVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGRcIj57e2Rpc3BsYXlDYXRlZ29yeSh0aW1lPy5pbmNpZGVudHNbMF0/LmNhdGVnb3J5LHRpbWU/LmluY2lkZW50c1swXT8udHlwZSl9fSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8udGltZTEySG91cn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cHBvcnRpbmctdGV4dCB0ZXh0LXByaW1hcnlcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzY3JvbGxUb19TdWJtaXR1c2VyKCk7XCI+U3VibWl0dGVkIGJ5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8uaW5jaWRlbnRzWzBdPy51c2VyTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RvcmUgb3AgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SW5jaWRlbnRPcHRpb25zLnN0b3Jlb3BcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI2NFwiIGhlaWdodD1cIjY0XCIgdmlld0JveD1cIjAgMCA2NCA2NFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RkXzU3NTJfMzYwNjcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjMyNjQyXCIgeT1cIjRcIiB3aWR0aD1cIjU1LjM0NzNcIiBoZWlnaHQ9XCI1NS4zNDczXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy45MDY3NlwiIGZpbGw9XCIjRUFGOEZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNDQ0OSAyNS4yNzJDMjkuNzIyMyAyNS41NDk1IDI5LjcyMjMgMjUuOTk5MiAyOS40NDQ5IDI2LjI3NjZMMjYuNjAzNCAyOS4xMTgxQzI2LjMyNiAyOS4zOTU2IDI1Ljg3NjIgMjkuMzk1NiAyNS41OTg4IDI5LjExODFMMjQuMTc4IDI3LjY5NzRDMjMuOTAwNiAyNy40MiAyMy45MDA2IDI2Ljk3MDIgMjQuMTc4IDI2LjY5MjhDMjQuNDU1NSAyNi40MTU0IDI0LjkwNTIgMjYuNDE1NCAyNS4xODI3IDI2LjY5MjhMMjYuMTAxMSAyNy42MTEyTDI4LjQ0MDMgMjUuMjcyQzI4LjcxNzcgMjQuOTk0NiAyOS4xNjc1IDI0Ljk5NDYgMjkuNDQ0OSAyNS4yNzJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNDQ0OSAzMi4zNzZDMjkuNzIyMyAzMi42NTM0IDI5LjcyMjMgMzMuMTAzMiAyOS40NDQ5IDMzLjM4MDdMMjYuNjAzNCAzNi4yMjIyQzI2LjMyNiAzNi40OTk1IDI1Ljg3NjIgMzYuNDk5NSAyNS41OTg4IDM2LjIyMjJMMjQuMTc4IDM0LjgwMTVDMjMuOTAwNiAzNC41MjQgMjMuOTAwNiAzNC4wNzQyIDI0LjE3OCAzMy43OTY3QzI0LjQ1NTUgMzMuNTE5NCAyNC45MDUyIDMzLjUxOTQgMjUuMTgyNyAzMy43OTY3TDI2LjEwMTEgMzQuNzE1MkwyOC40NDAzIDMyLjM3NkMyOC43MTc3IDMyLjA5ODYgMjkuMTY3NSAzMi4wOTg2IDI5LjQ0NDkgMzIuMzc2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMxLjA3MzcgMjcuMTk1MkMzMS4wNzM3IDI2LjgwMjkgMzEuMzkxOCAyNi40ODQ5IDMxLjc4NDEgMjYuNDg0OUgzNi4wNDYzQzM2LjQzODYgMjYuNDg0OSAzNi43NTY3IDI2LjgwMjkgMzYuNzU2NyAyNy4xOTUyQzM2Ljc1NjcgMjcuNTg3NiAzNi40Mzg2IDI3LjkwNTYgMzYuMDQ2MyAyNy45MDU2SDMxLjc4NDFDMzEuMzkxOCAyNy45MDU2IDMxLjA3MzcgMjcuNTg3NiAzMS4wNzM3IDI3LjE5NTJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjQuNjgwMyAyMC44MDE4QzIyLjcxODYgMjAuODAxOCAyMS4xMjg0IDIyLjM5MiAyMS4xMjg0IDI0LjM1MzZWMzcuMTQwM0MyMS4xMjg0IDM5LjEwMiAyMi43MTg2IDQwLjY5MjIgMjQuNjgwMyA0MC42OTIySDMwLjUwNDlDMzAuMjc0OSA0MC4yNDIxIDMwLjA4NzEgMzkuNzY2NyAyOS45NDcgMzkuMjcxNUgyNC42ODAzQzIzLjUwMzMgMzkuMjcxNSAyMi41NDkyIDM4LjMxNzMgMjIuNTQ5MiAzNy4xNDAzVjI0LjM1MzZDMjIuNTQ5MiAyMy4xNzY2IDIzLjUwMzMgMjIuMjIyNSAyNC42ODAzIDIyLjIyMjVIMzcuNDY3QzM4LjY0MzkgMjIuMjIyNSAzOS41OTgxIDIzLjE3NjYgMzkuNTk4MSAyNC4zNTM2VjI5LjYyMDRDNDAuMDkzNCAyOS43NjA1IDQwLjU2ODggMjkuOTQ4MiA0MS4wMTg5IDMwLjE3ODNWMjQuMzUzNkM0MS4wMTg5IDIyLjM5MiAzOS40Mjg2IDIwLjgwMTggMzcuNDY3IDIwLjgwMThIMjQuNjgwM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMzcuNDM2XCIgY3k9XCIzNy4xMDk4XCIgcj1cIjYuNDI0MjRcIiBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTM4LjI0MTcgMzUuMjAwNFY0MC4yMzE5SDM3LjE3NzlWMzYuMjEwMUgzNy4xNDg1TDM1Ljk5NjIgMzYuOTMyNFYzNS45ODlMMzcuMjQxOCAzNS4yMDA0SDM4LjI0MTdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjgyMDU5XCIgeT1cIjQuNDk0MTdcIiB3aWR0aD1cIjU0LjM1OVwiIGhlaWdodD1cIjU0LjM1OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjcuNDEyNTlcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiMC45ODgzNDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZGRfNTc1Ml8zNjA2N1wiIHg9XCIwLjMyNjQxNlwiIHk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNjMuMzQ3NFwiIGhlaWdodD1cIjYzLjM0NzJcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZGlsYXRlXCIgaW49XCJTb3VyY2VBbHBoYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuODM2MzcgMCAwIDAgMCAwLjkzODM3NyAwIDAgMCAwIDAuOTk2NjY3IDAgMCAwIDEgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy50aW1lMTJIb3VyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGltZT8uaW5jaWRlbnRzWzBdPy50eXBlID09ICdwb3NpdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cHBvcnRpbmctdGV4dFwiPk9uIHRpbWUgb3BlbmluZy9jbG9zaW5nPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRpbWU/LmluY2lkZW50c1swXT8udHlwZSA9PSAnbmVnYXRpdmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdXBwb3J0aW5nLXRleHRcIj5TdG9yZSBPcGVuL0Nsb3NlIERlbGF5ZWQ/RWFybHk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNhcmQgbXQtNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTAgXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj5DYW1lcmEgSW5mbzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlciB0ZXh0LWRhbmdlclwiPiA8aW5wdXQgY2xhc3M9XCJ3LTEwcHggaC0xMHB4IGJvcmRlci0wIHJvdW5kZWQtMiBiZy1kYW5nZXIgbWUtMlwiPiBBdHRlbnRpb24gTmVlZGVkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQtNDAwIHN1YlRpdGxlXCI+QW4gb3ZlcnZpZXcgb2YgdGhlIHN0b3JlIGlzc3VlcyBhbmQgdGhlIGRvd250aW1lIGZvciB7e3NlbGVjdGVkRGF0ZVJhbmdlPy5zdGFydERhdGV8Y3VzdG9tRGF0ZUZvcm1hdH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTEgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNFwiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWQgW3NpbmdsZURhdGVQaWNrZXJdPVwidHJ1ZVwiIFtkcm9wc109XCInZG93bidcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtvcGVuc109XCIncmlnaHQnXCIgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJ0cnVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVSYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgIW5vRGF0YVwiIGNsYXNzPVwicm93IG10LTdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj48ZGl2IGNsYXNzPVwidy0xMHB4IGgtMTBweCBib3JkZXItMCByb3VuZGVkLTMgYmctc3VjY2VzcyBtZS0yXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYS10aXRsZVwiPkNhbWVyYSAxPC9zcGFuPiA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IG1zLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICBFbnRyYW5jZSBDYW1lcmFcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtMiB3LTEwMCBtaC0zNTBweCBvdmVyZmxvdy1oaWRkZW4gbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTM1MHB4XCIgW3NyY109XCJzZWxlY3RlZFVybCA/IHNlbGVjdGVkVXJsIDogaW1hZ2VVcmxbMF1cIj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdXJsIG9mIGltYWdlVXJsOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJjb2wtc20tNFwiIChjbGljayk9XCJzZWxlY3RlZEltZyhpKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDAgcm91bmRlZC0yIG1oLTEwMHB4XCIgc3JjPVwie3t1cmx9fVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1ByZXZcIiAoY2xpY2spPVwicHJldkltYWdlcygpXCIgY2xhc3M9XCJ3LTM1cHggaC0zNXB4IGJnLWxpZ2h0LXByaW1hcnkgcm91bmRlZC01IGN1cnNvci1wb2ludGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLWFic29sdXRlIGxlZnQtMCBtcy01IG10LTIgdG9wLTI1XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIxXCIgdmlld0JveD1cIjAgMCAyMCAyMVwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMi41IDE1LjAyNjRMNy41IDEwLjAyNjRMMTIuNSA1LjAyNjM3XCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd05leHRcIiAoY2xpY2spPVwibmV4dEltYWdlcygpXCIgY2xhc3M9XCJ3LTM1cHggaC0zNXB4IGJnLWxpZ2h0LXByaW1hcnkgcm91bmRlZC01IGN1cnNvci1wb2ludGVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLWFic29sdXRlIGVuZC0wIG1lLTUgbXQtMiB0b3AtMjVcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjFcIiB2aWV3Qm94PVwiMCAwIDIwIDIxXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuNSAxNS4wMjY0TDEyLjUgMTAuMDI2NEw3LjUgNS4wMjYzN1wiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYW1lcmEtYWN0dWFsIGZ3LWJvbGRcIj5DYW1lcmEgQW5nbGU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlciB0ZXh0LWRhbmdlclwiPiA8aW5wdXQgY2xhc3M9XCJ3LTEwcHggaC0xMHB4IGJvcmRlci0wIHJvdW5kZWQtMiBiZy1kYW5nZXIgbWUtMlwiPkNoYW5nZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcm91bmRlZC0zIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCBtaC0xNTBweFwiIHNyYz1cImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3R1YWxzcGFuXCI+RXhwZWN0ZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTMgb3ZlcmZsb3ctaGlkZGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInctMTAwIG1oLTE1MHB4XCIgc3JjPVwiaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE0NDE5ODYzMDA5MTctNjQ2NzRiZDYwMGQ4P3c9NTAwJmF1dG89Zm9ybWF0JmZpdD1jcm9wJnE9NjAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhNbng4YzNSdmNtVjhaVzU4TUh4OE1IeDhmREElM0RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGJnLWxpZ2h0LXByaW1hcnkgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0dWFsc3BhblwiPkFjdHVhbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgbXQtMTAgdGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5JbnN0YW5jZXM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5FeHBlY3RlZDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkFjdHVhbDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlJlc3VsdHM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cInN1YlRpdGxlIGZ3LXNlbWlib2xkXCI+IENhbWVyYSBSZXNvbHV0aW9uIDwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4xMDgwIHggOTAwPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+NjgwIHggNDAwPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1kYW5nZXIgcHgtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDYyM18yMzI2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02IDguMDI2MzdWNi4wMjYzN002IDQuMDI2MzdINi4wMDVNMTEgNi4wMjYzN0MxMSA4Ljc4Nzc5IDguNzYxNDIgMTEuMDI2NCA2IDExLjAyNjRDMy4yMzg1OCAxMS4wMjY0IDEgOC43ODc3OSAxIDYuMDI2MzdDMSAzLjI2NDk0IDMuMjM4NTggMS4wMjYzNyA2IDEuMDI2MzdDOC43NjE0MiAxLjAyNjM3IDExIDMuMjY0OTQgMTEgNi4wMjYzN1pcIiBzdHJva2U9XCIjRjA0NDM4XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF80NjIzXzIzMjZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cInN1YlRpdGxlIGZ3LXNlbWlib2xkXCI+RG93bnRpbWU8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MjAwbWluczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjE0MG1pbnM8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgdGV4dC1zdWNjZXNzIHB4LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ2MjNfMTgyMDEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExIDUuNTY2M1Y2LjAyNjNDMTAuOTk5NCA3LjEwNDUxIDEwLjY1MDMgOC4xNTM2NCAxMC4wMDQ3IDkuMDE3MjFDOS4zNTkwOCA5Ljg4MDc5IDguNDUxNjQgMTAuNTEyNSA3LjQxNzY4IDEwLjgxODJDNi4zODM3MiAxMS4xMjQgNS4yNzg2MyAxMS4wODcyIDQuMjY3MjQgMTAuNzEzNkMzLjI1NTg0IDEwLjMzOTkgMi4zOTIzMyA5LjY0OTM1IDEuODA1NDggOC43NDQ4M0MxLjIxODYzIDcuODQwMzIgMC45Mzk4OTYgNi43NzAzMyAxLjAxMDg0IDUuNjk0NDZDMS4wODE3OCA0LjYxODU4IDEuNDk4NiAzLjU5NDQ2IDIuMTk5MTQgMi43NzQ4NEMyLjg5OTY4IDEuOTU1MjEgMy44NDYzOSAxLjM4Mzk5IDQuODk4MDkgMS4xNDYzN0M1Ljk0OTggMC45MDg3NTQgNy4wNTAxMyAxLjAxNzQ3IDguMDM1IDEuNDU2M00xMSAyLjAyNjNMNiA3LjAzMTNMNC41IDUuNTMxM1wiIHN0cm9rZT1cIiMxMkI3NkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ2MjNfMTgyMDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmcgJiYgIW5vRGF0YVwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhICYmICFsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJtdC01XCI+XHJcbiAgICA8bGliLWVkZ2VhcHAtbG9nIFtzdG9yZUlkXSA9IFwic3RvcmVJZFwiPjwvbGliLWVkZ2VhcHAtbG9nPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cIm10LTVcIj5cclxuICAgIDxsaWItc3RvcmUtYWN0aXZpdHkgW3N0b3JlSWRdPVwic3RvcmVJZFwiPjwvbGliLXN0b3JlLWFjdGl2aXR5PlxyXG48L2Rpdj4iXX0=
675
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL2NvbXBvbmVudHMvc3RvcmUtaW5mby9zdG9yZS1pbmZvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9zdG9yZS1pbmZvL3N0b3JlLWluZm8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxLQUFLLEVBQTZDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFDMUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBT3RCLE1BQU0sT0FBTyxrQkFBa0I7SUF1ZFQ7SUFBK0I7SUF0ZG5ELFFBQVEsR0FBUyxFQUFFLENBQUM7SUFDcEIseUJBQXlCO0lBQ3pCLFdBQVcsQ0FBSztJQUNoQixVQUFVLEdBQU8sQ0FBQyxDQUFDO0lBQ25CLFNBQVMsR0FBTyxDQUFDLENBQUM7SUFDbEIsUUFBUSxHQUFXLEtBQUssQ0FBQztJQUN6QixPQUFPLEdBQVcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sR0FBVyxLQUFLLENBQUM7SUFDdkIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGlCQUFpQixHQUFLLEVBQUUsQ0FBQztJQUV6QixvQkFBb0IsQ0FBUztJQUM3QixtQkFBbUIsR0FBUTtRQUN6QixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsT0FBTyxFQUFFLEtBQUs7S0FDZixDQUFBO0lBQ2dCLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLFVBQVUsR0FBTztRQUNmO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtTQUNqQztRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtRQUNEO1lBQ0ksWUFBWSxFQUFFLFVBQVU7WUFDeEIsWUFBWSxFQUFFLFVBQVU7WUFDeEIsc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsRUFBRTtTQUNsQjtLQUNKLENBQUE7SUFDQyxLQUFLLEdBQUcsS0FBSyxDQUFBO0lBQ2Is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TyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMxRTtTQUNGO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQy9DO0lBQ0YsQ0FBQztJQUVGLFNBQVMsQ0FBQyxJQUFTO1FBQ2YsSUFBSSxJQUFJLEdBQVEsS0FBSyxDQUFDO1FBQ3RCLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt1R0E1b0JVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLHNGQ2YvQix3cWpDQW1hTTs7MkZEcFpPLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0I7bUhBc2RsQixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsSW5wdXQsT25Jbml0LE91dHB1dCxDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCAnZGF5anMvbG9jYWxlL2VuJztcclxuaW1wb3J0IHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcclxuaW1wb3J0IHRpbWV6b25lIGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuZGF5anMuZXh0ZW5kKHV0Yyk7XHJcbmRheWpzLmV4dGVuZCh0aW1lem9uZSlcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXN0b3JlLWluZm8nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9yZS1pbmZvLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc3RvcmUtaW5mby5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b3JlSW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIGltYWdlVXJsOmFueVtdID0gW107XHJcbiAgLy8gdGltZVNlcmllczphbnlbXSA9IFtdO1xyXG4gIHN0b3JlVGlja2V0OmFueTtcclxuICBmaXJzdEluZGV4OmFueSA9IDA7XHJcbiAgbGFzdEluZGV4OmFueSA9IDM7XHJcbiAgc2hvd1ByZXY6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIGxvYWRpbmc6Ym9vbGVhbiA9IGZhbHNlO1xyXG4gIG5vRGF0YTpib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd05leHQ6Ym9vbGVhbiA9IHRydWU7XHJcbiAgc2hvd0luY2lkZW50UG9wID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWREYXRlUmFuZ2U6YW55PXt9O1xyXG4gIFxyXG4gIHNob3dJbmNpZGVudFBvcEluZGV4OiBudW1iZXI7XHJcbiAgc2hvd0luY2lkZW50T3B0aW9uczogYW55ID0ge1xyXG4gICAgbmVnOiBmYWxzZSxcclxuICAgIHBvczogZmFsc2UsXHJcbiAgICBzdG9yZW9wOiBmYWxzZVxyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICB0aW1lU2VyaWVzOmFueVtdPVtcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDowMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDoxMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjEwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxMDoyMCBBTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEwOjIwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjEwQU1cIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTA6MzAgQU1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMDozMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMEFNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTA6NDAgQU1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMDo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMEFNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTA6NTAgQU1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMDo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMEFNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTE6MDAgQU1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMTowMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMUFNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTE6MTAgQU1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMToxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMUFNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTE6MjAgQU1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMToyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMUFNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTE6MzAgQU1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMTozMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMUFNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTE6NDAgQU1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMTo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMUFNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTE6NTAgQU1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMTo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMUFNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTI6MDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjowMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTI6MTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjoxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTI6MjAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjoyMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTI6MzAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjozMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTI6NDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTI6NTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMjo1MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEzOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjFQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjE6MTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMzoxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxOjIwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTM6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjEzOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjFQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjE6NDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxMzo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIxOjUwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTM6NTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMjowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE0OjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjJQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjI6MTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNDoxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIyOjIwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTQ6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMjozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE0OjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjJQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjI6NDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNDo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIyUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIyOjUwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTQ6NTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiMlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMzowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE1OjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjNQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjM6MTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNToxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIzUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIzOjIwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTU6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiM1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMzozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE1OjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjNQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjM6NDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNTo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIzUE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCIzOjUwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTU6NTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiM1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNDowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE2OjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjRQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjQ6MTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNjoxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI0UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI0OjIwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTY6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNDozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE2OjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjRQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjQ6NDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNjo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI0UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI0OjUwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTY6NTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNTowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE3OjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjVQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjU6MTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNzoxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI1UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI1OjIwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTc6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNTozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE3OjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjVQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjU6NDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxNzo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI1UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI1OjUwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTc6NTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNjowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE4OjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjZQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjY6MTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxODoxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI2UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI2OjIwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTg6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNjozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE4OjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjZQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjY6NDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxODo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI2UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI2OjUwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTg6NTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiNlBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNzowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE5OjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjdQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjc6MTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxOToxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI3UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI3OjIwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTk6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiN1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiNzozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjE5OjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjdQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjc6NDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIxOTo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI3UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI3OjUwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMTk6NTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiN1BNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiODowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIwOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjhQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjg6MTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMDoxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI4UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI4OjIwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjA6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiODozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIwOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjhQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjg6NDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMDo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI4UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI4OjUwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjA6NTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiOTowMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIxOjAwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjlQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjk6MTAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMToxMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI5UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI5OjIwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjE6MjA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiOTozMCBQTVwiLFxyXG4gICAgICAgIFwidGltZTI0SG91clwiOiBcIjIxOjMwOjAwXCIsXHJcbiAgICAgICAgXCJ0aW1lU3RyaW5nMTJIb3VyT25seVwiOiBcIjlQTVwiLFxyXG4gICAgICAgIFwiaW5jaWRlbnRzXCI6IFtdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIFwidGltZTEySG91clwiOiBcIjk6NDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMTo0MDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCI5UE1cIixcclxuICAgICAgICBcImluY2lkZW50c1wiOiBbXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBcInRpbWUxMkhvdXJcIjogXCI5OjUwIFBNXCIsXHJcbiAgICAgICAgXCJ0aW1lMjRIb3VyXCI6IFwiMjE6NTA6MDBcIixcclxuICAgICAgICBcInRpbWVTdHJpbmcxMkhvdXJPbmx5XCI6IFwiOVBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgXCJ0aW1lMTJIb3VyXCI6IFwiMTA6MDAgUE1cIixcclxuICAgICAgICBcInRpbWUyNEhvdXJcIjogXCIyMjowMDowMFwiLFxyXG4gICAgICAgIFwidGltZVN0cmluZzEySG91ck9ubHlcIjogXCIxMFBNXCIsXHJcbiAgICAgICAgXCJpbmNpZGVudHNcIjogW11cclxuICAgIH1cclxuXVxyXG4gIGRheWpzID0gZGF5anNcclxuICB0b3RhbEltYWdlVXJsOmFueVtdO1xyXG4gc2VsZWN0ZWRVcmw6YW55O1xyXG4gXHJcbiBhbmdsZWNoYW5nZURhdGE6IGFueTtcclxuIHRvdGFsRG93bnRpbWU6IG51bWJlciA9IDA7XHJcbiByZXNvbHV0aW9udHlwZTogYm9vbGVhbj10cnVlO1xyXG4gQElucHV0KCkgc3RvcmVJZDpzdHJpbmc7IFxyXG4gICAgRG93bVRpbWVBcnJheTogYW55W107IFxyXG4gICAgY2FtZXJhSW1hZ2VzOiBhbnk7XHJcbiAgICBzZWxlY3RlZERhdGU6IHN0cmluZztcclxuICAgIHRvdGFsRG93blRpbWU6IGFueSA9IDA7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOlRpY2tldHNTZXJ2aWNlLHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYpe1xyXG4gICAgIFxyXG4gIH1cclxuXHJcbm5nT25Jbml0KCl7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5kYXlqcygpLnV0YygpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gICAgdGhpcy5nZXRDYW1lcmFJbWFnZXMoKTtcclxuICAgIHRoaXMuRG93bVRpbWUoKTtcclxufVxyXG5cclxubmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5nZXRDYW1lcmFJbWFnZXMoKXtcclxuICAgdGhpcy5zZXJ2aWNlLmNhbWVyYUxpc3QodGhpcy5zdG9yZUlkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6KHJlczphbnkpPT4ge1xyXG4gICAgICAgIGlmKHJlcyAmJiByZXMuY29kZSA9PSAyMDApe1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5jYW1lcmFJbWFnZXMgPSByZXMuZGF0YTtcclxuICAgICAgICAgICAgdGhpcy50b3RhbEltYWdlVXJsID0gdGhpcy5jYW1lcmFJbWFnZXNcclxuICAgICAgICAgICAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gICAgICAgICAgICB0aGlzLmdldEFuZ2xlQ2hhbmdlKHRoaXMuaW1hZ2VVcmxbMF0uc3RyZWFtTmFtZSlcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTsgIFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0sXHJcbiAgIH0pXHJcbiAgfVxyXG4gIGdldEFuZ2xlQ2hhbmdlKHN0cmVhbTogYW55KSB7XHJcbiAgICBsZXQgcGF5bG9hZCA9IHtcclxuICAgICAgICBcInN0b3JlSWRcIjogdGhpcy5zdG9yZUlkLFxyXG4gICAgICAgIFwiRGF0ZVwiOiB0aGlzLnNlbGVjdGVkRGF0ZSxcclxuICAgICAgICBcIlN0cmVhbU5hbWVcIjogc3RyZWFtXHJcbiAgICB9XHJcbiAgICB0aGlzLnNlcnZpY2UuY2FtZXJhQW5nbGVDaGFuZ2UocGF5bG9hZCkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYW5nbGVjaGFuZ2VEYXRhID0gcmVzLmRhdGFcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMuYW5nbGVjaGFuZ2VEYXRhPy5yZXNvbHV0aW9uLnNwbGl0KCcqJylbMF08NzIwJiZ0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbi5zcGxpdCgnKicpWzFdPDcyMCl7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNvbHV0aW9udHlwZSA9IGZhbHNlXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgIH0pXHJcblxyXG59XHJcbiAgRG93bVRpbWUoKXtcclxuICAgIGxldCBkYXRhPXtcclxuICAgICAgXCJzdG9yZUlkXCI6IHRoaXMuc3RvcmVJZCxcclxuICAgIC8vICAgXCJzdG9yZUlkXCI6XCIxMS0xMDEzXCIsXHJcbiAgICBcIkRhdGVcIjp0aGlzLnNlbGVjdGVkRGF0ZSxcclxuICAgIH1cclxuICAgIHRoaXMuc2VydmljZS5lZGdlQXBwTG9nVGFibGUoZGF0YSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDoocmVzOmFueSk9PiB7XHJcbiAgICAgICAgdGhpcy5Eb3dtVGltZUFycmF5ID0gcmVzLmRhdGE7XHJcbiAgICAgICAgdGhpcy5Eb3dtVGltZUFycmF5LmZvckVhY2goKGl0ZW06YW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxEb3duVGltZSArPSBpdGVtLmRvd250aW1lXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcbmhpZGVEaWFsb2dCb3goKSB7XHJcbiAgdGhpcy5zaG93SW5jaWRlbnRQb3AgPSBmYWxzZTtcclxufVxyXG5cclxuZ2V0U3R5bGUoKXtcclxuICByZXR1cm4ge1xyXG4gIC8vICdtYXJnaW4tbGVmdCc6ICh0aGlzLnNob3dJbmNpZGVudFBvcEluZGV4IDw9IDUpID8gJzBweCcgOiAoKHRoaXMuc2hvd0luY2lkZW50UG9wSW5kZXggPj0gNTgpID8gJy0xNjBweCcgOiAnLTExNXB4JylcclxuICB9XHJcbn1cclxuXHJcbnNob3dJbmNpZGVudFR5cGUodGltZVNlcmllczogYW55LGk6YW55KSB7XHJcbiAgICBsZXQgbm93SG91ciA9IHRoaXMuZGF5anMoKS5ob3VyKCk7XHJcbiAgICBsZXQgbm93bWludXRlcyA9IHRoaXMuZGF5anMoKS5taW51dGUoKTtcclxuICAgIGxldCBkYXRlID0gZGF5anMoKS5mb3JtYXQoJ1lZWVktTU0tREQnKVxyXG4gICAgXHJcbiAgICBsZXQgdGltZVJhbmdlID0gdGltZVNlcmllcy5zcGxpdCgnICcpWzBdO1xyXG4gICAgbGV0IHRpbWUgPSB0aW1lUmFuZ2Uuc3BsaXQoJzonKVxyXG4gICAgaWYodGltZVswXSA9PSBub3dIb3VyICkge1xyXG4gICAgICAgIHRoaXMudGltZVNlcmllc1tpXS5hY3RpdmVIciA9IG5vd0hvdXI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmICh0aGlzLkRvd21UaW1lQXJyYXk/Lmxlbmd0aCAmJiB0aGlzLkRvd21UaW1lQXJyYXkuZmlsdGVyKCh4OiBhbnkpID0+IHguaG91ciA9PSBwYXJzZUludCh0aW1lWzBdKSAmJiB4LmRvd250aW1lID4gMCAmJiAgeC5kb3dudGltZSA+PSBwYXJzZUludCh0aW1lWzFdKSkubGVuZ3RoKSB7IFxyXG4gICAgICAgIHJldHVybiAnbmVnYXRpdmUnO1xyXG4gICAgICB9IFxyXG4gICAgICBlbHNlIGlmICh0aGlzLkRvd21UaW1lQXJyYXk/Lmxlbmd0aCAmJiB0aGlzLkRvd21UaW1lQXJyYXkuZmlsdGVyKCh4OiBhbnkpID0+IHguaG91ciA9PSBwYXJzZUludCh0aW1lWzBdKSAmJiAodGhpcy5zZWxlY3RlZERhdGUgPCBkYXRlIHx8ICh0aGlzLnNlbGVjdGVkRGF0ZSA9PSBkYXRlICYmICh4LmhvdXIgPCBub3dIb3VyICB8fCAobm93SG91ciA9PSB4LmhvdXIgJiYgbm93bWludXRlcyA+PSBwYXJzZUludCh0aW1lWzFdKSkpKSkpLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgcmV0dXJuICdwb3NpdGl2ZSc7XHJcbiAgICAgIH1cclxuICAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAnbm9ybWFsJztcclxuICAgICAgfVxyXG59XHJcblxyXG5zaG93RGlhbG9nQm94KHRpbWU6IGFueSwgaW5kZXg6IG51bWJlcikge1xyXG4gIHRoaXMuc2hvd0luY2lkZW50UG9wID0gZmFsc2U7XHJcbiAgdGhpcy5zaG93SW5jaWRlbnRQb3BJbmRleCA9IGluZGV4O1xyXG4gIGlmICh0aW1lLmluY2lkZW50cy5maWx0ZXIoKHg6IGFueSkgPT4geC50eXBlID09IFwibmVnYXRpdmVcIikubGVuZ3RoKSB7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMubmVnID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5wb3MgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5zdG9yZW9wID0gZmFsc2U7XHJcbiAgfSBlbHNlIGlmICh0aW1lLmluY2lkZW50cy5maWx0ZXIoKHg6IGFueSkgPT4geC50eXBlID09IFwicG9zaXRpdmVcIikubGVuZ3RoKSB7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMubmVnID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dJbmNpZGVudE9wdGlvbnMucG9zID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5zdG9yZW9wID0gZmFsc2U7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5uZWcgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5wb3MgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd0luY2lkZW50T3B0aW9ucy5zdG9yZW9wID0gdHJ1ZTtcclxuICB9XHJcbiAgLy8gdGhpcy5zaG93SW5jaWRlbnRQb3AgPSB0cnVlO1xyXG59XHJcblxyXG5kaXNwbGF5Q2F0ZWdvcnkoY2F0ZWdvcnk6IGFueSwgdHlwZTogYW55KSB7XHJcbiAgaWYgKGNhdGVnb3J5ID09ICdtb2JpbGV1c2FnZWRldGVjdGlvbicpIHtcclxuICAgIHJldHVybiAnTW9iaWxlIFVzYWdlIERldGVjdGlvbic7XHJcbiAgfSBlbHNlIGlmIChjYXRlZ29yeSA9PSAnY3VzdG9tJykge1xyXG4gICAgaWYgKHR5cGUgPT0gJ3Bvc2l0aXZlJylcclxuICAgICAgcmV0dXJuICdDaGVja2xpc3QgU3VibWlzc2lvbic7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiAnU3VibWlzc2lvbiBEZWxheWVkJztcclxuICB9IGVsc2UgaWYgKGNhdGVnb3J5ID09ICdzdG9yZW9wZW5hbmRjbG9zZScpIHtcclxuICAgIHJldHVybiAnU3RvcmUgT3BlbiBDbG9zZSc7XHJcbiAgfSBlbHNlIGlmIChjYXRlZ29yeSA9PSAndW5pZm9ybWRldGVjdGlvbicpIHtcclxuICAgIHJldHVybiAnVW5pZm9ybSBEZXRlY3Rpb24nO1xyXG4gIH1cclxufVxyXG5cclxuc2VsZWN0ZWRJbWcoZGF0YTphbnkpe1xyXG4gICB0aGlzLnNlbGVjdGVkVXJsID1kYXRhO1xyXG4gICB0aGlzLmdldEFuZ2xlQ2hhbmdlKHRoaXMuc2VsZWN0ZWRVcmwuc3RyZWFtTmFtZSlcclxufVxyXG5wcmV2SW1hZ2VzKCl7IFxyXG4gIHRoaXMuc2VsZWN0ZWRVcmwgPSAnJztcclxuICB0aGlzLnNob3dOZXh0ID0gdHJ1ZTtcclxuICB0aGlzLmZpcnN0SW5kZXggLT0gMztcclxuICB0aGlzLmxhc3RJbmRleCAtPSAzOyBcclxuICB0aGlzLmltYWdlVXJsID0gdGhpcy50b3RhbEltYWdlVXJsLnNsaWNlKHRoaXMuZmlyc3RJbmRleCx0aGlzLmxhc3RJbmRleCk7XHJcbiAgaWYodGhpcy5maXJzdEluZGV4ID09IDAgJiYgdGhpcy5sYXN0SW5kZXggPT0gMyl7XHJcbiAgICB0aGlzLnNob3dQcmV2ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbm5leHRJbWFnZXMoKXtcclxuICB0aGlzLnNob3dQcmV2ID0gdHJ1ZTtcclxuICB0aGlzLnNlbGVjdGVkVXJsID0gJyc7XHJcbiAgdGhpcy5maXJzdEluZGV4ICs9IDM7XHJcbiAgdGhpcy5sYXN0SW5kZXggKz0gMzsgXHJcbiAgdGhpcy5pbWFnZVVybCA9IHRoaXMudG90YWxJbWFnZVVybC5zbGljZSh0aGlzLmZpcnN0SW5kZXgsdGhpcy5sYXN0SW5kZXgpO1xyXG4gIGlmKHRoaXMubGFzdEluZGV4ID09IHRoaXMudG90YWxJbWFnZVVybC5sZW5ndGggfHwgdGhpcy5pbWFnZVVybC5sZW5ndGggPCAzKXtcclxuICB0aGlzLnNob3dOZXh0ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5kYXRlY2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlKSB7XHJcbiAgICBpZiAodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLnV0YygpLmZvcm1hdCgnREQtTU0tWVlZWScpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLnV0YygpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xyXG4gICAgICAgIHRoaXMuRG93bVRpbWUoKTtcclxuICAgICAgICB0aGlzLmdldENhbWVyYUltYWdlcygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBkYXRlcyBwcm92aWRlZDonLCBldmVudC5zdGFydERhdGUsIGV2ZW50LmVuZERhdGUpO1xyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGV2ZW50IG9iamVjdDonLCBldmVudCk7XHJcbiAgfVxyXG4gfVxyXG5cclxuc2hvd0hvdXJzKHRpbWU6IGFueSkge1xyXG4gICAgbGV0IGhvdXI6IGFueSA9IGZhbHNlO1xyXG4gICAgaG91ciA9IHRpbWUudGltZTI0SG91ci5zcGxpdCgnOicpWzFdID09ICcwMCcgPyB0aW1lLnRpbWVTdHJpbmcxMkhvdXJPbmx5IDogZmFsc2U7XHJcbiAgICByZXR1cm4gaG91cjtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPlN0b3JlIEluZm88L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ3LWJvbGQtNDAwIHN1YlRpdGxlXCI+QW4gb3ZlcnZpZXcgb2YgdGhlIHN0b3JlIGlzc3VlcyBhbmQgdGhlIGRvd250aW1lIGZvciB7e3NlbGVjdGVkRGF0ZSB8IGN1c3RvbURhdGVGb3JtYXQgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm15LTUgdGltZVJhbmdlIGZ3LXNlbWlib2xkXCI+VG90YWwgOiB7e3RvdGFsRG93blRpbWV9fSBtaW5zIERvd250aW1lIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCIgbXQtMiBteC0yXCIgKm5nSWY9XCJ0aW1lU2VyaWVzPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtY29udGFpbmVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHRpbWUgb2YgdGltZVNlcmllcztsZXQgSW5kZXg9aW5kZXhcIiBjbGFzcz1cInN2Zy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIG5vcm1hbCAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2hvd0luY2lkZW50VHlwZSh0aW1lPy50aW1lMjRIb3VyLEluZGV4KSA9PT0gJ25vcm1hbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWVJdGVtIG15LTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjUzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0IDUzXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjA4MDMyIDIuNUwyLjA4MDMyIDUwLjVcIiBzdHJva2U9XCIjRDBENUREXCIgc3Ryb2tlLXdpZHRoPVwiNC41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFByZXNlbnQgaG91ciBmb3IgbGl2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzdmcgKm5nSWY9XCJ0aW1lLmFjdGl2ZUhyXCIgY2xhc3M9XCJ0aW1lSXRlbSBteS0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCI1M1wiIHZpZXdCb3g9XCIwIDAgNCA1M1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMi4wODAzMiAyLjVMMi4wODAzMiA1MC41XCIgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gcG9zaXRpdmUgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAobW91c2VlbnRlcik9XCJzaG93RGlhbG9nQm94KHRpbWUsSW5kZXgpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInNob3dJbmNpZGVudFR5cGUodGltZT8udGltZTI0SG91cixJbmRleCkgPT09ICdwb3NpdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWVJdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCI2OFwiIHZpZXdCb3g9XCIwIDAgNSA2OFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMi40MDAxNSAyLjVMMi40MDAxNCA2Ni41XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjQuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSBuZWdhdGl2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIChtb3VzZWVudGVyKT1cInNob3dEaWFsb2dCb3godGltZSxJbmRleClcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2hvd0luY2lkZW50VHlwZSh0aW1lPy50aW1lMjRIb3VyLEluZGV4KSA9PT0gJ25lZ2F0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZUl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjY4XCIgdmlld0JveD1cIjAgMCA1IDY4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yLjQ4NjgyIDJMMi40ODY4MiA2NlwiIHN0cm9rZT1cIiNEOTJEMjBcIiBzdHJva2Utd2lkdGg9XCI0LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1ib3hcIiBbbmdTdHlsZV09XCJnZXRTdHlsZSgpXCIgKm5nSWY9XCJzaG93SW5jaWRlbnRQb3AgJiYgc2hvd0luY2lkZW50UG9wSW5kZXggPT09IEluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKG1vdXNlbGVhdmUpPVwiaGlkZURpYWxvZ0JveCgpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gLXZlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0luY2lkZW50T3B0aW9ucy5uZWdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI2NVwiIGhlaWdodD1cIjY0XCIgdmlld0JveD1cIjAgMCA2NSA2NFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RkXzU3NTJfMzYwNzUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjgyNjQyXCIgeT1cIjQuMzI2MTdcIiB3aWR0aD1cIjU1LjM0NzNcIiBoZWlnaHQ9XCI1NS4zNDczXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy45MDY3NlwiIGZpbGw9XCIjRkVGM0YyXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuOTQ0NiAyNS41OTg3QzMwLjIyMjEgMjUuODc2MSAzMC4yMjIxIDI2LjMyNTkgMjkuOTQ0NiAyNi42MDMzTDI3LjEwMzIgMjkuNDQ0OEMyNi44MjU3IDI5LjcyMjIgMjYuMzc2IDI5LjcyMjIgMjYuMDk4NSAyOS40NDQ4TDI0LjY3NzggMjguMDI0MUMyNC40MDA0IDI3Ljc0NjYgMjQuNDAwNCAyNy4yOTY5IDI0LjY3NzggMjcuMDE5NEMyNC45NTUyIDI2Ljc0MiAyNS40MDUgMjYuNzQyIDI1LjY4MjQgMjcuMDE5NEwyNi42MDA4IDI3LjkzNzlMMjguOTQgMjUuNTk4N0MyOS4yMTc1IDI1LjMyMTMgMjkuNjY3MiAyNS4zMjEzIDI5Ljk0NDYgMjUuNTk4N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOS45NDQ2IDMyLjcwMjZDMzAuMjIyMSAzMi45ODAxIDMwLjIyMjEgMzMuNDI5OSAyOS45NDQ2IDMzLjcwNzRMMjcuMTAzMiAzNi41NDg5QzI2LjgyNTcgMzYuODI2MiAyNi4zNzYgMzYuODI2MiAyNi4wOTg1IDM2LjU0ODlMMjQuNjc3OCAzNS4xMjgxQzI0LjQwMDQgMzQuODUwNyAyNC40MDA0IDM0LjQwMDggMjQuNjc3OCAzNC4xMjM0QzI0Ljk1NTIgMzMuODQ2IDI1LjQwNSAzMy44NDYgMjUuNjgyNCAzNC4xMjM0TDI2LjYwMDggMzUuMDQxOUwyOC45NCAzMi43MDI2QzI5LjIxNzUgMzIuNDI1MyAyOS42NjcyIDMyLjQyNTMgMjkuOTQ0NiAzMi43MDI2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMxLjU3MzUgMjcuNTIxOUMzMS41NzM1IDI3LjEyOTYgMzEuODkxNiAyNi44MTE1IDMyLjI4MzkgMjYuODExNUgzNi41NDYxQzM2LjkzODQgMjYuODExNSAzNy4yNTY1IDI3LjEyOTYgMzcuMjU2NSAyNy41MjE5QzM3LjI1NjUgMjcuOTE0MiAzNi45Mzg0IDI4LjIzMjMgMzYuNTQ2MSAyOC4yMzIzSDMyLjI4MzlDMzEuODkxNiAyOC4yMzIzIDMxLjU3MzUgMjcuOTE0MiAzMS41NzM1IDI3LjUyMTlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRjA0NDM4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjUuMTggMjEuMTI4NEMyMy4yMTg0IDIxLjEyODQgMjEuNjI4MiAyMi43MTg2IDIxLjYyODIgMjQuNjgwM1YzNy40NjdDMjEuNjI4MiAzOS40Mjg2IDIzLjIxODQgNDEuMDE4OSAyNS4xOCA0MS4wMTg5SDMxLjAwNDdDMzAuNzc0NiA0MC41Njg4IDMwLjU4NjkgNDAuMDkzNCAzMC40NDY4IDM5LjU5ODFIMjUuMThDMjQuMDAzMSAzOS41OTgxIDIzLjA0ODkgMzguNjQzOSAyMy4wNDg5IDM3LjQ2N1YyNC42ODAzQzIzLjA0ODkgMjMuNTAzMyAyNC4wMDMxIDIyLjU0OTIgMjUuMTggMjIuNTQ5MkgzNy45NjY4QzM5LjE0MzcgMjIuNTQ5MiA0MC4wOTc5IDIzLjUwMzMgNDAuMDk3OSAyNC42ODAzVjI5Ljk0N0M0MC41OTMxIDMwLjA4NzEgNDEuMDY4NSAzMC4yNzQ5IDQxLjUxODYgMzAuNTA0OVYyNC42ODAzQzQxLjUxODYgMjIuNzE4NiAzOS45Mjg0IDIxLjEyODQgMzcuOTY2OCAyMS4xMjg0SDI1LjE4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0YwNDQzOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIzNy45MzZcIiBjeT1cIjM3LjQzNlwiIHI9XCI2LjQyNDI0XCIgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zOC43NDE1IDM1LjUyNjVWNDAuNTU4MUgzNy42Nzc3VjM2LjUzNjNIMzcuNjQ4MkwzNi40OTYgMzcuMjU4NlYzNi4zMTUyTDM3Ljc0MTYgMzUuNTI2NUgzOC43NDE1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNS4zMjA1OVwiIHk9XCI0LjgyMDM0XCIgd2lkdGg9XCI1NC4zNTlcIiBoZWlnaHQ9XCI1NC4zNTlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcng9XCI3LjQxMjU5XCIgc3Ryb2tlPVwiI0ZFRjNGMlwiIHN0cm9rZS13aWR0aD1cIjAuOTg4MzQ1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RkXzU3NTJfMzYwNzVcIiB4PVwiMC44MjY0MTZcIiB5PVwiMC4zMjYxNzJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCI2My4zNDc0XCIgaGVpZ2h0PVwiNjMuMzQ3MlwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlTW9ycGhvbG9neSByYWRpdXM9XCI0XCIgb3BlcmF0b3I9XCJkaWxhdGVcIiBpbj1cIlNvdXJjZUFscGhhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC45OTcwNTkgMCAwIDAgMCAwLjg5Mjc0NSAwIDAgMCAwIDAuODg1Mjk0IDAgMCAwIDEgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA3NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNzVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNzVcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy50aW1lMTJIb3VyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IHN1cHBvcnRpbmctdGV4dFwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiIChjbGljayk9XCJzY3JvbGxUb19tb2JkZXRlY3Rpb25zZWN0aW9uKHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnkpO1wiPkNsaWNrIHRvIHZpZXcgZGV0YWlsczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tICt2ZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dJbmNpZGVudE9wdGlvbnMucG9zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNTdcIiBoZWlnaHQ9XCI1N1wiIHZpZXdCb3g9XCIwIDAgNTcgNTdcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjVcIiB5PVwiNC44MzY5MVwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiI0QxRkFERlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zOC41IDI3LjkxN1YyOC44MzdDMzguNDk4OCAzMC45OTM0IDM3LjgwMDUgMzMuMDkxNyAzNi41MDkzIDM0LjgxODhDMzUuMjE4MiAzNi41NDYgMzMuNDAzMyAzNy44MDk1IDMxLjMzNTQgMzguNDIwOUMyOS4yNjc0IDM5LjAzMjMgMjcuMDU3MyAzOC45NTg5IDI1LjAzNDUgMzguMjExNkMyMy4wMTE3IDM3LjQ2NDMgMjEuMjg0NyAzNi4wODMxIDIwLjExMSAzNC4yNzQxQzE4LjkzNzMgMzIuNDY1MSAxOC4zNzk4IDMwLjMyNTEgMTguNTIxNyAyOC4xNzMzQzE4LjY2MzYgMjYuMDIxNiAxOS40OTcyIDIzLjk3MzMgMjAuODk4MyAyMi4zMzQxQzIyLjI5OTQgMjAuNjk0OCAyNC4xOTI4IDE5LjU1MjQgMjYuMjk2MiAxOS4wNzcyQzI4LjM5OTYgMTguNjAxOSAzMC42MDAzIDE4LjgxOTQgMzIuNTcgMTkuNjk3TTM4LjUgMjAuODM3TDI4LjUgMzAuODQ3TDI1LjUgMjcuODQ3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjVcIiB5PVwiNC44MzY5MVwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRUNGREYzXCIgc3Ryb2tlLXdpZHRoPVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LWJvbGRcIj57e2Rpc3BsYXlDYXRlZ29yeSh0aW1lPy5pbmNpZGVudHNbMF0/LmNhdGVnb3J5LHRpbWU/LmluY2lkZW50c1swXT8udHlwZSl9fSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8udGltZTEySG91cn19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1cHBvcnRpbmctdGV4dCB0ZXh0LXByaW1hcnlcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzY3JvbGxUb19TdWJtaXR1c2VyKCk7XCI+U3VibWl0dGVkIGJ5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dGltZT8uaW5jaWRlbnRzWzBdPy51c2VyTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RvcmUgb3AgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93SW5jaWRlbnRPcHRpb25zLnN0b3Jlb3BcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCI2NFwiIGhlaWdodD1cIjY0XCIgdmlld0JveD1cIjAgMCA2NCA2NFwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RkXzU3NTJfMzYwNjcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjMyNjQyXCIgeT1cIjRcIiB3aWR0aD1cIjU1LjM0NzNcIiBoZWlnaHQ9XCI1NS4zNDczXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PVwiNy45MDY3NlwiIGZpbGw9XCIjRUFGOEZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNDQ0OSAyNS4yNzJDMjkuNzIyMyAyNS41NDk1IDI5LjcyMjMgMjUuOTk5MiAyOS40NDQ5IDI2LjI3NjZMMjYuNjAzNCAyOS4xMTgxQzI2LjMyNiAyOS4zOTU2IDI1Ljg3NjIgMjkuMzk1NiAyNS41OTg4IDI5LjExODFMMjQuMTc4IDI3LjY5NzRDMjMuOTAwNiAyNy40MiAyMy45MDA2IDI2Ljk3MDIgMjQuMTc4IDI2LjY5MjhDMjQuNDU1NSAyNi40MTU0IDI0LjkwNTIgMjYuNDE1NCAyNS4xODI3IDI2LjY5MjhMMjYuMTAxMSAyNy42MTEyTDI4LjQ0MDMgMjUuMjcyQzI4LjcxNzcgMjQuOTk0NiAyOS4xNjc1IDI0Ljk5NDYgMjkuNDQ0OSAyNS4yNzJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjkuNDQ0OSAzMi4zNzZDMjkuNzIyMyAzMi42NTM0IDI5LjcyMjMgMzMuMTAzMiAyOS40NDQ5IDMzLjM4MDdMMjYuNjAzNCAzNi4yMjIyQzI2LjMyNiAzNi40OTk1IDI1Ljg3NjIgMzYuNDk5NSAyNS41OTg4IDM2LjIyMjJMMjQuMTc4IDM0LjgwMTVDMjMuOTAwNiAzNC41MjQgMjMuOTAwNiAzNC4wNzQyIDI0LjE3OCAzMy43OTY3QzI0LjQ1NTUgMzMuNTE5NCAyNC45MDUyIDMzLjUxOTQgMjUuMTgyNyAzMy43OTY3TDI2LjEwMTEgMzQuNzE1MkwyOC40NDAzIDMyLjM3NkMyOC43MTc3IDMyLjA5ODYgMjkuMTY3NSAzMi4wOTg2IDI5LjQ0NDkgMzIuMzc2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMxLjA3MzcgMjcuMTk1MkMzMS4wNzM3IDI2LjgwMjkgMzEuMzkxOCAyNi40ODQ5IDMxLjc4NDEgMjYuNDg0OUgzNi4wNDYzQzM2LjQzODYgMjYuNDg0OSAzNi43NTY3IDI2LjgwMjkgMzYuNzU2NyAyNy4xOTUyQzM2Ljc1NjcgMjcuNTg3NiAzNi40Mzg2IDI3LjkwNTYgMzYuMDQ2MyAyNy45MDU2SDMxLjc4NDFDMzEuMzkxOCAyNy45MDU2IDMxLjA3MzcgMjcuNTg3NiAzMS4wNzM3IDI3LjE5NTJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5QkYzXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjQuNjgwMyAyMC44MDE4QzIyLjcxODYgMjAuODAxOCAyMS4xMjg0IDIyLjM5MiAyMS4xMjg0IDI0LjM1MzZWMzcuMTQwM0MyMS4xMjg0IDM5LjEwMiAyMi43MTg2IDQwLjY5MjIgMjQuNjgwMyA0MC42OTIySDMwLjUwNDlDMzAuMjc0OSA0MC4yNDIxIDMwLjA4NzEgMzkuNzY2NyAyOS45NDcgMzkuMjcxNUgyNC42ODAzQzIzLjUwMzMgMzkuMjcxNSAyMi41NDkyIDM4LjMxNzMgMjIuNTQ5MiAzNy4xNDAzVjI0LjM1MzZDMjIuNTQ5MiAyMy4xNzY2IDIzLjUwMzMgMjIuMjIyNSAyNC42ODAzIDIyLjIyMjVIMzcuNDY3QzM4LjY0MzkgMjIuMjIyNSAzOS41OTgxIDIzLjE3NjYgMzkuNTk4MSAyNC4zNTM2VjI5LjYyMDRDNDAuMDkzNCAyOS43NjA1IDQwLjU2ODggMjkuOTQ4MiA0MS4wMTg5IDMwLjE3ODNWMjQuMzUzNkM0MS4wMTg5IDIyLjM5MiAzOS40Mjg2IDIwLjgwMTggMzcuNDY3IDIwLjgwMThIMjQuNjgwM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlCRjNcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMzcuNDM2XCIgY3k9XCIzNy4xMDk4XCIgcj1cIjYuNDI0MjRcIiBmaWxsPVwiIzAwOUJGM1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTM4LjI0MTcgMzUuMjAwNFY0MC4yMzE5SDM3LjE3NzlWMzYuMjEwMUgzNy4xNDg1TDM1Ljk5NjIgMzYuOTMyNFYzNS45ODlMMzcuMjQxOCAzNS4yMDA0SDM4LjI0MTdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0LjgyMDU5XCIgeT1cIjQuNDk0MTdcIiB3aWR0aD1cIjU0LjM1OVwiIGhlaWdodD1cIjU0LjM1OVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByeD1cIjcuNDEyNTlcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiMC45ODgzNDVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZGRfNTc1Ml8zNjA2N1wiIHg9XCIwLjMyNjQxNlwiIHk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNjMuMzQ3NFwiIGhlaWdodD1cIjYzLjM0NzJcIiBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU1vcnBob2xvZ3kgcmFkaXVzPVwiNFwiIG9wZXJhdG9yPVwiZGlsYXRlXCIgaW49XCJTb3VyY2VBbHBoYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuODM2MzcgMCAwIDAgMCAwLjkzODM3NyAwIDAgMCAwIDAuOTk2NjY3IDAgMCAwIDEgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNTc1Ml8zNjA2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4yPVwiZWZmZWN0Ml9kcm9wU2hhZG93XzU3NTJfMzYwNjdcIiByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctYm9sZFwiPnt7ZGlzcGxheUNhdGVnb3J5KHRpbWU/LmluY2lkZW50c1swXT8uY2F0ZWdvcnksdGltZT8uaW5jaWRlbnRzWzBdPy50eXBlKX19IDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t0aW1lPy50aW1lMTJIb3VyfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGltZT8uaW5jaWRlbnRzWzBdPy50eXBlID09ICdwb3NpdGl2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN1cHBvcnRpbmctdGV4dFwiPk9uIHRpbWUgb3BlbmluZy9jbG9zaW5nPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRpbWU/LmluY2lkZW50c1swXT8udHlwZSA9PSAnbmVnYXRpdmUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdXBwb3J0aW5nLXRleHRcIj5TdG9yZSBPcGVuL0Nsb3NlIERlbGF5ZWQ/RWFybHk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb250YWluZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdGltZSBvZiB0aW1lU2VyaWVzO2xldCBpPWluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaG91clRleHRcIiAqbmdJZj1cInNob3dIb3Vycyh0aW1lKVwiPnt7c2hvd0hvdXJzKHRpbWUpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNhcmQgbXQtNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdGl0bGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBwLTAgXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj5DYW1lcmEgSW5mbzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmdy1ib2xkLTQwMCBzdWJUaXRsZVwiPkFuIG92ZXJ2aWV3IG9mIHRoZSBzdG9yZSBpc3N1ZXMgYW5kIHRoZSBkb3dudGltZSBmb3Ige3tzZWxlY3RlZERhdGV8Y3VzdG9tRGF0ZUZvcm1hdCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzMgMS42NjY2M1Y0Ljk5OTk2TTYuNjY2NjcgMS42NjY2M1Y0Ljk5OTk2TTIuNSA4LjMzMzI5SDE3LjVNNC4xNjY2NyAzLjMzMzI5SDE1LjgzMzNDMTYuNzUzOCAzLjMzMzI5IDE3LjUgNC4wNzk0OCAxNy41IDQuOTk5OTZWMTYuNjY2NkMxNy41IDE3LjU4NzEgMTYuNzUzOCAxOC4zMzMzIDE1LjgzMzMgMTguMzMzM0g0LjE2NjY3QzMuMjQ2MTkgMTguMzMzMyAyLjUgMTcuNTg3MSAyLjUgMTYuNjY2NlY0Ljk5OTk2QzIuNSA0LjA3OTQ4IDMuMjQ2MTkgMy4zMzMyOSA0LjE2NjY3IDMuMzMzMjlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTRcIiB0eXBlPVwidGV4dFwiIG1hdElucHV0IG5neERhdGVyYW5nZXBpY2tlck1kIFtzaW5nbGVEYXRlUGlja2VyXT1cInRydWVcIiBbZHJvcHNdPVwiJ2Rvd24nXCJcclxuICAgICAgICAgICAgICAgICAgICBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBba2VlcENhbGVuZGFyT3BlbmluZ1dpdGhSYW5nZV09XCJ0cnVlXCIgW3Nob3dDYW5jZWxdPVwidHJ1ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlUmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwieyBmb3JtYXQ6ICdERC1NTS1ZWVlZJywgZmlyc3REYXk6IDEsIG1vbnRoTmFtZXM6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZWNoYW5nZSgkZXZlbnQpXCIgbmFtZT1cImRhdGVyYW5nZVwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC03XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvdGFsSW1hZ2VVcmw/Lmxlbmd0aCAmJiAhbG9hZGluZyAmJiAhbm9EYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj48ZGl2ICpuZ0lmPVwic2VsZWN0ZWRVcmw/LmNhbWVyYU51bWJlciB8fCBpbWFnZVVybFswXT8uY2FtZXJhTnVtYmVyXCIgY2xhc3M9XCJ3LTEwcHggaC0xMHB4IGJvcmRlci0wIHJvdW5kZWQtMyBiZy1zdWNjZXNzIG1lLTJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYW1lcmEtdGl0bGVcIj57e3NlbGVjdGVkVXJsPy5jYW1lcmFOdW1iZXIgPyBzZWxlY3RlZFVybD8uY2FtZXJhTnVtYmVyIDogaW1hZ2VVcmxbMF0/LmNhbWVyYU51bWJlcn19PC9zcGFuPiA8c3BhbiAqbmdJZj1cInNlbGVjdGVkVXJsPy5jYW1lcmFOYW1lXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IHRleHQtcHJpbWFyeSBtcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3NlbGVjdGVkVXJsPy5jYW1lcmFOYW1lID8gc2VsZWN0ZWRVcmw/LmNhbWVyYU5hbWUgOiBpbWFnZVVybFswXT8uY2FtZXJhTmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm91bmRlZC0yIHctMTAwIG1oLTM1MHB4IG92ZXJmbG93LWhpZGRlbiBtdC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJzZWxlY3RlZFVybD8udGh1bWJuYWlsSW1hZ2UgIT09IG51bGwgfHwgc2VsZWN0ZWRVcmw/LnRodW1ibmFpbEltYWdlICE9PSAnJyB8fCBpbWFnZVVybFswXT8udGh1bWJuYWlsSW1hZ2UgIT09ICcnXCIgY2xhc3M9XCJ3LTEwMCBtaC0zNTBweFwiIFtzcmNdPVwic2VsZWN0ZWRVcmw/LnRodW1ibmFpbEltYWdlID8gc2VsZWN0ZWRVcmw/LnRodW1ibmFpbEltYWdlIDogaW1hZ2VVcmxbMF0/LnRodW1ibmFpbEltYWdlXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRVcmw/LnRodW1ibmFpbEltYWdlID09PSBudWxsIHx8IHNlbGVjdGVkVXJsPy50aHVtYm5haWxJbWFnZSA9PT0gJycgfHwgaW1hZ2VVcmxbMF0/LnRodW1ibmFpbEltYWdlID09PSAnJ1wiIGNsYXNzPVwidy0xMDAgIGgtMzAwcHggcm91bmRlZC0yIG92ZXJmbG93LWhpZGRlbiBOb3ByZXZpZXcgYWxpZ24tY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3VGl0bGUgdGV4dC1jZW50ZXIgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmV2aWV3IG5vdCBhdmFpbGFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByZXZpZXdzdWJUaXRsZSBmdy1zZW1pYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgc2VsZWN0ZWQgY2FtZXJhIGlzIG5vdCBhdmFpbGFibGUgYXQgdGhlIG1vbWVudC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTMgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdXJsIG9mIGltYWdlVXJsOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJjb2wtc20tNFwiIChjbGljayk9XCJzZWxlY3RlZEltZyh1cmwpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwidXJsPy50aHVtYm5haWxJbWFnZSAhPT0gbnVsbCB8fCB1cmw/LnRodW1ibmFpbEltYWdlICE9PSAnJ1wiIGNsYXNzPVwidy0xMDAgcm91bmRlZC0yIG1oLTEwMHB4XCIgW3NyY109XCJ1cmw/LnRodW1ibmFpbEltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXJsPy50aHVtYm5haWxJbWFnZSA9PT0gbnVsbCB8fCB1cmw/LnRodW1ibmFpbEltYWdlID09PSAnJ1wiIGNsYXNzPVwidy0xMDAgcm91bmRlZC0yIGgtMTAwcHggTm9wcmV2aWV3IGFsaWduLWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJldmlld1RpdGxlIHRleHQtY2VudGVyIGZzLTQgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmV2aWV3IG5vdCBhdmFpbGFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwicHJldmlld3N1YlRpdGxlIGZ3LXNlbWlib2xkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzZWxlY3RlZCBjYW1lcmEgaXMgbm90IGF2YWlsYWJsZSBhdCB0aGUgbW9tZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dQcmV2XCIgKGNsaWNrKT1cInByZXZJbWFnZXMoKVwiIGNsYXNzPVwidy0zNXB4IGgtMzVweCBiZy1saWdodC1wcmltYXJ5IHJvdW5kZWQtNSBjdXJzb3ItcG9pbnRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1hYnNvbHV0ZSBsZWZ0LTAgbXMtNSBtdC0yIHRvcC0yNVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMVwiIHZpZXdCb3g9XCIwIDAgMjAgMjFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyLjUgMTUuMDI2NEw3LjUgMTAuMDI2NEwxMi41IDUuMDI2MzdcIiBzdHJva2U9XCIjMDA5QkYzXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dOZXh0ICYmIHRvdGFsSW1hZ2VVcmwubGVuZ3RoID4gM1wiIChjbGljayk9XCJuZXh0SW1hZ2VzKClcIiBjbGFzcz1cInctMzVweCBoLTM1cHggYmctbGlnaHQtcHJpbWFyeSByb3VuZGVkLTUgY3Vyc29yLXBvaW50ZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tYWJzb2x1dGUgZW5kLTAgbWUtNSBtdC0yIHRvcC0yNVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMVwiIHZpZXdCb3g9XCIwIDAgMjAgMjFcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTcuNSAxNS4wMjY0TDEyLjUgMTAuMDI2NEw3LjUgNS4wMjYzN1wiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiID5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YSB8fCAhdG90YWxJbWFnZVVybD8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmMgdy0yNVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiICpuZ0lmPVwiYW5nbGVjaGFuZ2VEYXRhPy5hbmdsZWNoYW5nZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbWVyYS1hY3R1YWwgZnctYm9sZFwiPkNhbWVyYSBBbmdsZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIHRleHQtZGFuZ2VyXCI+IDxpbnB1dCBjbGFzcz1cInctMTBweCBoLTEwcHggYm9yZGVyLTAgcm91bmRlZC0yIGJnLWRhbmdlciBtZS0yXCI+Q2hhbmdlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBtdC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCBtaC0xNTBweFwiIFtzcmNdPVwiYW5nbGVjaGFuZ2VEYXRhPy5hbmdsZUNoYW5nZUltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHJvdW5kZWQtMyBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDAgbWgtMTUwcHhcIiBzcmM9XCJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ0MTk4NjMwMDkxNy02NDY3NGJkNjAwZDg/dz01MDAmYXV0bz1mb3JtYXQmZml0PWNyb3AmcT02MCZpeGxpYj1yYi00LjAuMyZpeGlkPU0zd3hNakEzZkRCOE1IeHpaV0Z5WTJoOE1ueDhjM1J2Y21WOFpXNThNSHg4TUh4OGZEQSUzRFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgYmctbGlnaHQtcHJpbWFyeSBweS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0dWFsc3BhblwiPkV4cGVjdGVkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgcm91bmRlZC0zIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCBtaC0xNTBweFwiIHNyYz1cImh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDQxOTg2MzAwOTE3LTY0Njc0YmQ2MDBkOD93PTUwMCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCZxPTYwJml4bGliPXJiLTQuMC4zJml4aWQ9TTN3eE1qQTNmREI4TUh4elpXRnlZMmg4TW54OGMzUnZjbVY4Wlc1OE1IeDhNSHg4ZkRBJTNEXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdHVhbHNwYW5cIj5BY3R1YWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcC0wXCIgICpuZ0lmPVwiYW5nbGVjaGFuZ2VEYXRhPy5hbmdsZWNoYW5nZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTYgbS0wIHBlLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgYmctbGlnaHQtcHJpbWFyeSBweS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3R1YWxzcGFuXCI+RXhwZWN0ZWQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBtLTAgcHMtMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBiZy1saWdodC1wcmltYXJ5IHB5LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdHVhbHNwYW5cIj5BY3R1YWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIG10LTEwIHRhYmxlLXJlc3BvbnNpdmVcIiAgKm5nSWY9XCJ0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5JbnN0YW5jZXM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5FeHBlY3RlZDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkFjdHVhbDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlJlc3VsdHM8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cInN1YlRpdGxlIGZ3LXNlbWlib2xkXCI+IENhbWVyYSBSZXNvbHV0aW9uIDwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4xMDgwIHggOTAwPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3t0aGlzLmFuZ2xlY2hhbmdlRGF0YT8ucmVzb2x1dGlvbn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LXN1Y2Nlc3MgcHgtMVwiICpuZ0lmPVwicmVzb2x1dGlvbnR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTIgMTNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNDYyM18xODIwMSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExIDUuNTY2M1Y2LjAyNjNDMTAuOTk5NCA3LjEwNDUxIDEwLjY1MDMgOC4xNTM2NCAxMC4wMDQ3IDkuMDE3MjFDOS4zNTkwOCA5Ljg4MDc5IDguNDUxNjQgMTAuNTEyNSA3LjQxNzY4IDEwLjgxODJDNi4zODM3MiAxMS4xMjQgNS4yNzg2MyAxMS4wODcyIDQuMjY3MjQgMTAuNzEzNkMzLjI1NTg0IDEwLjMzOTkgMi4zOTIzMyA5LjY0OTM1IDEuODA1NDggOC43NDQ4M0MxLjIxODYzIDcuODQwMzIgMC45Mzk4OTYgNi43NzAzMyAxLjAxMDg0IDUuNjk0NDZDMS4wODE3OCA0LjYxODU4IDEuNDk4NiAzLjU5NDQ2IDIuMTk5MTQgMi43NzQ4NEMyLjg5OTY4IDEuOTU1MjEgMy44NDYzOSAxLjM4Mzk5IDQuODk4MDkgMS4xNDYzN0M1Ljk0OTggMC45MDg3NTQgNy4wNTAxMyAxLjAxNzQ3IDguMDM1IDEuNDU2M00xMSAyLjAyNjNMNiA3LjAzMTNMNC41IDUuNTMxM1wiIHN0cm9rZT1cIiMxMkI3NkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ2MjNfMTgyMDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjAyNjM2NzIpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIHRleHQtZGFuZ2VyIHB4LTFcIiAgKm5nSWY9XCIhcmVzb2x1dGlvbnR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ2MjNfMjMyNilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNiA4LjAyNjM3VjYuMDI2MzdNNiA0LjAyNjM3SDYuMDA1TTExIDYuMDI2MzdDMTEgOC43ODc3OSA4Ljc2MTQyIDExLjAyNjQgNiAxMS4wMjY0QzMuMjM4NTggMTEuMDI2NCAxIDguNzg3NzkgMSA2LjAyNjM3QzEgMy4yNjQ5NCAzLjIzODU4IDEuMDI2MzcgNiAxLjAyNjM3QzguNzYxNDIgMS4wMjYzNyAxMSAzLjI2NDk0IDExIDYuMDI2MzdaXCIgc3Ryb2tlPVwiI0YwNDQzOFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYyM18yMzI2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwLjAyNjM2NzIpXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cInN1YlRpdGxlIGZ3LXNlbWlib2xkXCI+RG93bnRpbWU8L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+MjAwbWluczwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjE0MG1pbnM8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgdGV4dC1zdWNjZXNzIHB4LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ2MjNfMTgyMDEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExIDUuNTY2M1Y2LjAyNjNDMTAuOTk5NCA3LjEwNDUxIDEwLjY1MDMgOC4xNTM2NCAxMC4wMDQ3IDkuMDE3MjFDOS4zNTkwOCA5Ljg4MDc5IDguNDUxNjQgMTAuNTEyNSA3LjQxNzY4IDEwLjgxODJDNi4zODM3MiAxMS4xMjQgNS4yNzg2MyAxMS4wODcyIDQuMjY3MjQgMTAuNzEzNkMzLjI1NTg0IDEwLjMzOTkgMi4zOTIzMyA5LjY0OTM1IDEuODA1NDggOC43NDQ4M0MxLjIxODYzIDcuODQwMzIgMC45Mzk4OTYgNi43NzAzMyAxLjAxMDg0IDUuNjk0NDZDMS4wODE3OCA0LjYxODU4IDEuNDk4NiAzLjU5NDQ2IDIuMTk5MTQgMi43NzQ4NEMyLjg5OTY4IDEuOTU1MjEgMy44NDYzOSAxLjM4Mzk5IDQuODk4MDkgMS4xNDYzN0M1Ljk0OTggMC45MDg3NTQgNy4wNTAxMyAxLjAxNzQ3IDguMDM1IDEuNDU2M00xMSAyLjAyNjNMNiA3LjAzMTNMNC41IDUuNTMxM1wiIHN0cm9rZT1cIiMxMkI3NkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzQ2MjNfMTgyMDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDI2MzY3MilcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cIm10LTVcIj5cclxuICAgIDxsaWItZWRnZWFwcC1sb2cgW3N0b3JlSWRdID0gXCJzdG9yZUlkXCI+PC9saWItZWRnZWFwcC1sb2c+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgPGxpYi1zdG9yZS1hY3Rpdml0eSBbc3RvcmVJZF09XCJzdG9yZUlkXCI+PC9saWItc3RvcmUtYWN0aXZpdHk+XHJcbjwvZGl2PiJdfQ==