tango-app-ui-analyse-trax 3.0.0-dev → 3.3.1-alpha-task.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/action-centre/action-centre.component.mjs +303 -0
- package/esm2022/lib/components/activity-log/activity-log.component.mjs +94 -0
- package/esm2022/lib/components/add-checklist/add-checklist.component.mjs +1439 -0
- package/esm2022/lib/components/add-task/add-task.component.mjs +85 -0
- package/esm2022/lib/components/checklist/checklist.component.mjs +252 -0
- package/esm2022/lib/components/checklist-configure/checklist-configure.component.mjs +1954 -0
- package/esm2022/lib/components/checklistlayout/checklistlayout.component.mjs +12 -0
- package/esm2022/lib/components/chip-dropdown/chip-dropdown.component.mjs +84 -0
- package/esm2022/lib/components/create-task/create-task.component.mjs +367 -0
- package/esm2022/lib/components/create-task/create-task.data.mjs +306 -0
- package/esm2022/lib/components/create-task/create-task.interface.mjs +2 -0
- package/esm2022/lib/components/custom-select/custom-select.component.mjs +236 -0
- package/esm2022/lib/components/dashboard/dashboard.component.mjs +600 -0
- package/esm2022/lib/components/dashboard-info/dashboard-info.component.mjs +635 -0
- package/esm2022/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.mjs +172 -0
- package/esm2022/lib/components/dashboard-layout/dashboard-layout.component.mjs +12 -0
- package/esm2022/lib/components/export-gallery/export-gallery.component.mjs +119 -0
- package/esm2022/lib/components/flag-layout/flag-layout.component.mjs +12 -0
- package/esm2022/lib/components/flags/flags.component.mjs +257 -0
- package/esm2022/lib/components/flags/flags.interface.mjs +2 -0
- package/esm2022/lib/components/flags-info/flags-info.component.mjs +388 -0
- package/esm2022/lib/components/flags-info/flags-info.interface.mjs +2 -0
- package/esm2022/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.mjs +71 -0
- package/esm2022/lib/components/gallery/gallery.component.mjs +1202 -0
- package/esm2022/lib/components/group-select/group-select.component.mjs +155 -0
- package/esm2022/lib/components/managechecklist/managechecklist.component.mjs +172 -0
- package/esm2022/lib/components/multi-date-datepicker/multi-date-datepicker.component.mjs +117 -0
- package/esm2022/lib/components/orders/orders.component.mjs +171 -0
- package/esm2022/lib/components/pagination/pagination.component.mjs +62 -0
- package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +105 -0
- package/esm2022/lib/components/reports/date-picker/date-picker.component.mjs +60 -0
- package/esm2022/lib/components/reports/reports.component.mjs +299 -0
- package/esm2022/lib/components/reports/reports.interface.mjs +2 -0
- package/esm2022/lib/components/tango-analyse-trax/tango-analyse-trax.component.mjs +27 -6
- package/esm2022/lib/components/task/task.component.mjs +271 -0
- package/esm2022/lib/components/task-configure/task-configure.component.mjs +504 -0
- package/esm2022/lib/components/task-configure/task-configure.interface.mjs +2 -0
- package/esm2022/lib/components/task-info/task-info.component.mjs +300 -0
- package/esm2022/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.mjs +203 -0
- package/esm2022/lib/components/task-layout/task-layout.component.mjs +12 -0
- package/esm2022/lib/components/trax-store/trax-store.component.mjs +153 -0
- package/esm2022/lib/components/traxpopup/traxpopup.component.mjs +67 -0
- package/esm2022/lib/services/trax.service.mjs +334 -0
- package/esm2022/lib/tango-analyse-trax-routing.module.mjs +124 -6
- package/esm2022/lib/tango-analyse-trax.module.mjs +147 -9
- package/fesm2022/tango-app-ui-analyse-trax.mjs +11512 -21
- package/fesm2022/tango-app-ui-analyse-trax.mjs.map +1 -1
- package/lib/components/action-centre/action-centre.component.d.ts +56 -0
- package/lib/components/activity-log/activity-log.component.d.ts +30 -0
- package/lib/components/add-checklist/add-checklist.component.d.ts +99 -0
- package/lib/components/add-task/add-task.component.d.ts +38 -0
- package/lib/components/checklist/checklist.component.d.ts +39 -0
- package/lib/components/checklist-configure/checklist-configure.component.d.ts +160 -0
- package/lib/components/checklistlayout/checklistlayout.component.d.ts +5 -0
- package/lib/components/chip-dropdown/chip-dropdown.component.d.ts +24 -0
- package/lib/components/create-task/create-task.component.d.ts +58 -0
- package/lib/components/create-task/create-task.data.d.ts +244 -0
- package/lib/components/create-task/create-task.interface.d.ts +147 -0
- package/lib/components/custom-select/custom-select.component.d.ts +35 -0
- package/lib/components/dashboard/dashboard.component.d.ts +77 -0
- package/lib/components/dashboard-info/dashboard-info.component.d.ts +102 -0
- package/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.d.ts +40 -0
- package/lib/components/dashboard-layout/dashboard-layout.component.d.ts +5 -0
- package/lib/components/export-gallery/export-gallery.component.d.ts +33 -0
- package/lib/components/flag-layout/flag-layout.component.d.ts +5 -0
- package/lib/components/flags/flags.component.d.ts +51 -0
- package/lib/components/flags/flags.interface.d.ts +64 -0
- package/lib/components/flags-info/flags-info.component.d.ts +62 -0
- package/lib/components/flags-info/flags-info.interface.d.ts +212 -0
- package/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.d.ts +13 -0
- package/lib/components/gallery/gallery.component.d.ts +126 -0
- package/lib/components/group-select/group-select.component.d.ts +33 -0
- package/lib/components/managechecklist/managechecklist.component.d.ts +32 -0
- package/lib/components/multi-date-datepicker/multi-date-datepicker.component.d.ts +27 -0
- package/lib/components/orders/orders.component.d.ts +38 -0
- package/lib/components/pagination/pagination.component.d.ts +16 -0
- package/lib/components/reactive-select/reactive-select.component.d.ts +32 -0
- package/lib/components/reports/date-picker/date-picker.component.d.ts +23 -0
- package/lib/components/reports/reports.component.d.ts +55 -0
- package/lib/components/reports/reports.interface.d.ts +46 -0
- package/lib/components/tango-analyse-trax/tango-analyse-trax.component.d.ts +10 -1
- package/lib/components/task/task.component.d.ts +59 -0
- package/lib/components/task-configure/task-configure.component.d.ts +69 -0
- package/lib/components/task-configure/task-configure.interface.d.ts +124 -0
- package/lib/components/task-info/task-info.component.d.ts +68 -0
- package/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.d.ts +60 -0
- package/lib/components/task-layout/task-layout.component.d.ts +5 -0
- package/lib/components/trax-store/trax-store.component.d.ts +44 -0
- package/lib/components/traxpopup/traxpopup.component.d.ts +23 -0
- package/lib/services/trax.service.d.ts +107 -0
- package/lib/tango-analyse-trax.module.d.ts +43 -3
- package/package.json +1 -1
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { Subject, debounceTime, takeUntil } from "rxjs";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "tango-app-ui-global";
|
|
7
|
+
import * as i3 from "../../services/trax.service";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "tango-app-ui-shared";
|
|
10
|
+
import * as i6 from "@ng-bootstrap/ng-bootstrap";
|
|
11
|
+
import * as i7 from "../reactive-select/reactive-select.component";
|
|
12
|
+
import * as i8 from "../activity-log/activity-log.component";
|
|
13
|
+
export class ActionCentreComponent {
|
|
14
|
+
fb;
|
|
15
|
+
gs;
|
|
16
|
+
pageInfo;
|
|
17
|
+
TraxService;
|
|
18
|
+
changeDetector;
|
|
19
|
+
destroy$ = new Subject();
|
|
20
|
+
searchInput = "";
|
|
21
|
+
form;
|
|
22
|
+
checklistselectControl;
|
|
23
|
+
checklistDropdown = [
|
|
24
|
+
{ _id: 'All', checkListName: 'All' },
|
|
25
|
+
{ _id: 'Checklist', checkListName: 'Checklist' },
|
|
26
|
+
{ _id: 'Task', checkListName: 'Task' },
|
|
27
|
+
// Add more static checklist items as needed
|
|
28
|
+
];
|
|
29
|
+
filterByRoles;
|
|
30
|
+
dataObject = [
|
|
31
|
+
{ Description: 'Priority', Issues: [{ text: "High", id: 'high' }, { text: "Medium", id: 'medium' }, { text: "Low", id: "low" }] },
|
|
32
|
+
];
|
|
33
|
+
headerData;
|
|
34
|
+
overallCardsData = {};
|
|
35
|
+
cardDataLoading = true;
|
|
36
|
+
cardNoData = false;
|
|
37
|
+
searchDisabled = false;
|
|
38
|
+
approvalOpenLoading = true;
|
|
39
|
+
approvalOpenNoData = false;
|
|
40
|
+
itemsPerPage = 10;
|
|
41
|
+
currentPage = 1;
|
|
42
|
+
sortColumName = '';
|
|
43
|
+
sortBy = '';
|
|
44
|
+
sortDirection = '';
|
|
45
|
+
totalItems = 0;
|
|
46
|
+
paginationSizes = [];
|
|
47
|
+
pageSize = 10;
|
|
48
|
+
ApprovalListData = [];
|
|
49
|
+
approvalInprogressLoading = true;
|
|
50
|
+
approvalInprogressNoData = false;
|
|
51
|
+
approvedLoading = true;
|
|
52
|
+
approvedNoData = false;
|
|
53
|
+
constructor(fb, gs, pageInfo, TraxService, changeDetector) {
|
|
54
|
+
this.fb = fb;
|
|
55
|
+
this.gs = gs;
|
|
56
|
+
this.pageInfo = pageInfo;
|
|
57
|
+
this.TraxService = TraxService;
|
|
58
|
+
this.changeDetector = changeDetector;
|
|
59
|
+
this.checklistselectControl = new FormControl('All');
|
|
60
|
+
this.form = this.fb.group({
|
|
61
|
+
checklistselectControl: this.checklistselectControl
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
ngOnDestroy() {
|
|
65
|
+
this.destroy$.next(true);
|
|
66
|
+
this.destroy$.complete();
|
|
67
|
+
}
|
|
68
|
+
ngOnInit() {
|
|
69
|
+
this.gs.dataRangeValue
|
|
70
|
+
.pipe(takeUntil(this.destroy$), debounceTime(300))
|
|
71
|
+
.subscribe((data) => {
|
|
72
|
+
this.headerData = data;
|
|
73
|
+
this.setPageData();
|
|
74
|
+
this.getOverallActionCenterData();
|
|
75
|
+
this.getApprovalOpenData();
|
|
76
|
+
this.getApprovalInprogressData();
|
|
77
|
+
this.getApprovedData();
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
setPageData() {
|
|
81
|
+
this.pageInfo.setTitle("Dashboard");
|
|
82
|
+
// this.pageInfo.setDescription("Dashboard");
|
|
83
|
+
this.pageInfo.setBreadcrumbs([
|
|
84
|
+
{ title: "Tango Trax", path: "/manage/trax/dashboard", isActive: false, isSeparator: false },
|
|
85
|
+
{ title: "Tango Trax", path: "/manage/trax/dashboard", isActive: false, isSeparator: true },
|
|
86
|
+
]);
|
|
87
|
+
}
|
|
88
|
+
getOverallActionCenterData() {
|
|
89
|
+
this.overallCardsData = [];
|
|
90
|
+
this.cardDataLoading = true;
|
|
91
|
+
this.cardNoData = true;
|
|
92
|
+
const requestData = {
|
|
93
|
+
fromDate: this.headerData.date.startDate,
|
|
94
|
+
toDate: this.headerData.date.endDate,
|
|
95
|
+
storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
|
|
96
|
+
// storeId: [
|
|
97
|
+
// "11-1743",
|
|
98
|
+
// "11-178",
|
|
99
|
+
// "11-1413",
|
|
100
|
+
// "11-1833",
|
|
101
|
+
// "11-67",
|
|
102
|
+
// "11-709"
|
|
103
|
+
// ],
|
|
104
|
+
clientId: this.headerData.client,
|
|
105
|
+
};
|
|
106
|
+
this.TraxService.getOverallActionCenterData(requestData).pipe(takeUntil(this.destroy$)).subscribe((response) => {
|
|
107
|
+
this.cardDataLoading = false;
|
|
108
|
+
if (response?.code === 200 && response?.status === "success") {
|
|
109
|
+
this.overallCardsData = response.data?.cardData || {};
|
|
110
|
+
this.cardDataLoading = false;
|
|
111
|
+
this.cardNoData = false;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this.overallCardsData = [];
|
|
115
|
+
this.cardDataLoading = false;
|
|
116
|
+
this.cardNoData = true;
|
|
117
|
+
}
|
|
118
|
+
}, error => {
|
|
119
|
+
this.overallCardsData = [];
|
|
120
|
+
this.cardDataLoading = false;
|
|
121
|
+
this.cardNoData = true;
|
|
122
|
+
this.changeDetector.detectChanges();
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
getApprovalOpenData() {
|
|
126
|
+
this.searchDisabled = true;
|
|
127
|
+
this.approvalOpenLoading = true;
|
|
128
|
+
this.approvalOpenNoData = true;
|
|
129
|
+
const requestData = {
|
|
130
|
+
fromDate: this.headerData.date.startDate,
|
|
131
|
+
toDate: this.headerData.date.endDate,
|
|
132
|
+
storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
|
|
133
|
+
clientId: this.headerData.client,
|
|
134
|
+
limit: this.itemsPerPage,
|
|
135
|
+
offset: this.currentPage - 1,
|
|
136
|
+
sortBy: this.sortDirection,
|
|
137
|
+
sortColumnName: this.sortColumName,
|
|
138
|
+
searchValue: this.searchInput,
|
|
139
|
+
export: false,
|
|
140
|
+
priority: "high",
|
|
141
|
+
status: 'open'
|
|
142
|
+
};
|
|
143
|
+
this.TraxService.getApprovalData(requestData)
|
|
144
|
+
.pipe(takeUntil(this.destroy$))
|
|
145
|
+
.subscribe((response) => {
|
|
146
|
+
this.approvalOpenLoading = false;
|
|
147
|
+
if (response?.code === 200 && response?.status === "success") {
|
|
148
|
+
this.ApprovalListData = response.data.approvalList || [];
|
|
149
|
+
this.totalItems = response.data.totalCount;
|
|
150
|
+
this.setPaginationSizes();
|
|
151
|
+
this.approvalOpenLoading = false;
|
|
152
|
+
this.approvalOpenNoData = false;
|
|
153
|
+
this.searchDisabled = false;
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
console.log("else");
|
|
157
|
+
this.ApprovalListData = [];
|
|
158
|
+
this.approvalOpenLoading = false;
|
|
159
|
+
this.approvalOpenNoData = true;
|
|
160
|
+
this.searchDisabled = true;
|
|
161
|
+
if (this.searchInput?.length) {
|
|
162
|
+
this.searchDisabled = true;
|
|
163
|
+
}
|
|
164
|
+
this.ApprovalListData = [];
|
|
165
|
+
this.totalItems = 0;
|
|
166
|
+
this.changeDetector.detectChanges();
|
|
167
|
+
}
|
|
168
|
+
}, error => {
|
|
169
|
+
this.ApprovalListData = [];
|
|
170
|
+
this.changeDetector.detectChanges();
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
getApprovalInprogressData() {
|
|
174
|
+
this.searchDisabled = true;
|
|
175
|
+
this.approvalInprogressLoading = true;
|
|
176
|
+
this.approvalInprogressNoData = true;
|
|
177
|
+
const requestData = {
|
|
178
|
+
fromDate: this.headerData.date.startDate,
|
|
179
|
+
toDate: this.headerData.date.endDate,
|
|
180
|
+
storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
|
|
181
|
+
clientId: this.headerData.client,
|
|
182
|
+
limit: this.itemsPerPage,
|
|
183
|
+
offset: this.currentPage - 1,
|
|
184
|
+
sortBy: this.sortDirection,
|
|
185
|
+
sortColumnName: this.sortColumName,
|
|
186
|
+
searchValue: this.searchInput,
|
|
187
|
+
export: false,
|
|
188
|
+
priority: "high",
|
|
189
|
+
status: 'inprogress'
|
|
190
|
+
};
|
|
191
|
+
this.TraxService.getApprovalData(requestData)
|
|
192
|
+
.pipe(takeUntil(this.destroy$))
|
|
193
|
+
.subscribe((response) => {
|
|
194
|
+
this.approvalInprogressLoading = false;
|
|
195
|
+
if (response?.code === 200 && response?.status === "success") {
|
|
196
|
+
this.ApprovalListData = response.data.approvalList || [];
|
|
197
|
+
this.totalItems = response.data.totalCount;
|
|
198
|
+
this.setPaginationSizes();
|
|
199
|
+
this.approvalInprogressLoading = false;
|
|
200
|
+
this.approvalInprogressNoData = false;
|
|
201
|
+
this.searchDisabled = false;
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
console.log("else");
|
|
205
|
+
this.ApprovalListData = [];
|
|
206
|
+
this.approvalInprogressLoading = false;
|
|
207
|
+
this.approvalInprogressNoData = true;
|
|
208
|
+
this.searchDisabled = true;
|
|
209
|
+
if (this.searchInput?.length) {
|
|
210
|
+
this.searchDisabled = true;
|
|
211
|
+
}
|
|
212
|
+
this.ApprovalListData = [];
|
|
213
|
+
this.totalItems = 0;
|
|
214
|
+
this.changeDetector.detectChanges();
|
|
215
|
+
}
|
|
216
|
+
}, error => {
|
|
217
|
+
this.ApprovalListData = [];
|
|
218
|
+
this.changeDetector.detectChanges();
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
getApprovedData() {
|
|
222
|
+
this.searchDisabled = true;
|
|
223
|
+
this.approvedLoading = true;
|
|
224
|
+
this.approvedNoData = true;
|
|
225
|
+
const requestData = {
|
|
226
|
+
fromDate: this.headerData.date.startDate,
|
|
227
|
+
toDate: this.headerData.date.endDate,
|
|
228
|
+
storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
|
|
229
|
+
clientId: this.headerData.client,
|
|
230
|
+
limit: this.itemsPerPage,
|
|
231
|
+
offset: this.currentPage - 1,
|
|
232
|
+
sortBy: this.sortDirection,
|
|
233
|
+
sortColumnName: this.sortColumName,
|
|
234
|
+
searchValue: this.searchInput,
|
|
235
|
+
export: false,
|
|
236
|
+
priority: "high",
|
|
237
|
+
status: 'approved'
|
|
238
|
+
};
|
|
239
|
+
this.TraxService.getApprovalData(requestData)
|
|
240
|
+
.pipe(takeUntil(this.destroy$))
|
|
241
|
+
.subscribe((response) => {
|
|
242
|
+
this.approvedLoading = false;
|
|
243
|
+
if (response?.code === 200 && response?.status === "success") {
|
|
244
|
+
this.ApprovalListData = response.data.approvalList || [];
|
|
245
|
+
this.totalItems = response.data.totalCount;
|
|
246
|
+
this.setPaginationSizes();
|
|
247
|
+
this.approvedLoading = false;
|
|
248
|
+
this.approvedNoData = false;
|
|
249
|
+
this.searchDisabled = false;
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
console.log("else");
|
|
253
|
+
this.ApprovalListData = [];
|
|
254
|
+
this.approvedLoading = false;
|
|
255
|
+
this.approvedNoData = true;
|
|
256
|
+
this.searchDisabled = true;
|
|
257
|
+
if (this.searchInput?.length) {
|
|
258
|
+
this.searchDisabled = true;
|
|
259
|
+
}
|
|
260
|
+
this.ApprovalListData = [];
|
|
261
|
+
this.totalItems = 0;
|
|
262
|
+
this.changeDetector.detectChanges();
|
|
263
|
+
}
|
|
264
|
+
}, error => {
|
|
265
|
+
this.ApprovalListData = [];
|
|
266
|
+
this.changeDetector.detectChanges();
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
onValueChangeChecklist(event) {
|
|
270
|
+
// Handle the value change event as needed
|
|
271
|
+
console.log('Selected checklist:', event);
|
|
272
|
+
}
|
|
273
|
+
searchField() {
|
|
274
|
+
}
|
|
275
|
+
setPaginationSizes() {
|
|
276
|
+
if (this.totalItems > 10) {
|
|
277
|
+
this.paginationSizes = [10, 20, 30];
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
this.paginationSizes = [this.totalItems];
|
|
281
|
+
this.pageSize = this.totalItems; // Just one option if less than 10
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
applyFilters(event) {
|
|
285
|
+
if (event?.length) {
|
|
286
|
+
event.forEach((element) => {
|
|
287
|
+
if (element.Description === "Roles") {
|
|
288
|
+
this.filterByRoles = element.Issues.map((val) => val?.id);
|
|
289
|
+
}
|
|
290
|
+
// if (element.Description === "Status") {
|
|
291
|
+
// this.filterByStatus = element.Issues.map((val: any) => val?.id);
|
|
292
|
+
// }
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, deps: [{ token: i1.FormBuilder }, { token: i2.GlobalStateService }, { token: i2.PageInfoService }, { token: i3.TraxService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
297
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCentreComponent, selector: "lib-action-centre", ngImport: i0, template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.checklistApproval?.count ?\r\n overallCardsData.checklistApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Checklist waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.taskApproval?.count ?\r\n overallCardsData.taskApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-4 mt-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\">\r\n </rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <!-- [disabled]=\"searchDisabled\" -->\r\n <input [(ngModel)]=\"searchInput\" type=\"text\" class=\"form-control w-400px ps-14 mt-1 me-3\"\r\n placeholder=\"Search\" autocomplete=\"off\" (keyup.enter)=\"searchField()\" />\r\n <lib-filters class=\"me-3 mt-1\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <form class=\"mt-1 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"checklistselectControl\" [idField]=\"'_id'\"\r\n [nameField]=\"'checkListName'\" [data]=\"checklistDropdown\" class=\"w-100 \"\r\n style=\"border: none !important; box-shadow: none !important;\"\r\n (valueChange)=\"onValueChangeChecklist($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center no-border-custom-select\">\r\n <span>{{ item.checkListName }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <!-- <span class=\"status-text\">Status</span> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M4 6L8 10L12 6\" stroke=\"#101828\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12\">\r\n <div class=\"row p-3\">\r\n <!-- open card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Open <span class=\"cate-sub badge badge-light-default mx-2\"> {{ totalItems }}\r\n </span></span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!approvalOpenLoading && !approvalOpenNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of ApprovalListData\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.taskName ? open.taskName.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}\r\n <span *ngIf=\"open.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ open.taskType ? open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n <span *ngIf=\"open.taskType && open.taskType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.taskType ?\r\n open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priority === 'high',\r\n 'badge-light-blue': open.priority === 'medium',\r\n 'badge-light-warning': open.priority === 'low'\r\n }\">\r\n {{ open.priority | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdBy ?\r\n open.createdBy.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.totalAssigned ?\r\n open.totalAssigned.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduledRepeatedType ?\r\n open.scheduledRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.dateString }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ open.approved ?\r\n open.approved.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalOpenLoading\">\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 </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalOpenNoData && !approvalOpenLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Performance Table\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Inprogress <span class=\"cate-sub badge badge-light-default mx-2\"> {{ totalItems }}\r\n </span></span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!approvalInprogressLoading && !approvalInprogressNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of ApprovalListData\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.taskName ? open.taskName.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}\r\n <span *ngIf=\"open.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ open.taskType ? open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n <span *ngIf=\"open.taskType && open.taskType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.taskType ?\r\n open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priority === 'high',\r\n 'badge-light-blue': open.priority === 'medium',\r\n 'badge-light-warning': open.priority === 'low'\r\n }\">\r\n {{ open.priority | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdBy ?\r\n open.createdBy.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.totalAssigned ?\r\n open.totalAssigned.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduledRepeatedType ?\r\n open.scheduledRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.dateString }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ open.approved ?\r\n open.approved.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalInprogressLoading\">\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 </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalInprogressNoData && !approvalInprogressLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Performance Table\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- inprogress card end -->\r\n <!-- Approved card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Approved <span class=\"cate-sub badge badge-light-default mx-2\"> {{ totalItems }}\r\n </span></span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!approvedLoading && !approvedNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of ApprovalListData\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.taskName ? open.taskName.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}\r\n <span *ngIf=\"open.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ open.taskType ? open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n <span *ngIf=\"open.taskType && open.taskType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.taskType ?\r\n open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priority === 'high',\r\n 'badge-light-blue': open.priority === 'medium',\r\n 'badge-light-warning': open.priority === 'low'\r\n }\">\r\n {{ open.priority | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdBy ?\r\n open.createdBy.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.totalAssigned ?\r\n open.totalAssigned.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduledRepeatedType ?\r\n open.scheduledRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.dateString }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ open.approved ?\r\n open.approved.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvedLoading\">\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 </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvedNoData && !approvedLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Performance Table\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- Approved card end -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3\">\r\n <ng-container>\r\n <div ngbAccordion>\r\n <div ngbAccordionItem [collapsed]=\"false\">\r\n <h2 ngbAccordionHeader>\r\n <button class=\"headtext\" ngbAccordionButton>Activity Log<div class=\"divider\"></div></button>\r\n </h2>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-activity-log></lib-activity-log>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.approvalcard{border-radius:6px;background:var(--Gray-50, #F9FAFB);flex-direction:column;align-items:center;flex:1 0 0;align-self:stretch}.approvalheader{display:flex;padding:16px 15px;justify-content:space-between;align-items:center;align-self:stretch;border-radius:6px 6px 0 0;background:var(--Gray-100, #F2F4F7)}.approvalbody{border-radius:8px;border:1px solid var(--Primary-25, #F6FCFF);background:var(--White, #FFF);box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;align-self:stretch}.cate-text{color:#626f86;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cate-sub{color:var(--Gray-700, #344054);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px;mix-blend-mode:multiply}.card-label{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.headingtext{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:500;line-height:24px}.cardsubtext{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cardscroll{overflow-y:scroll;max-height:275px}.badge-light-blue{border-radius:16px;background:var(--Blue-50, #EFF8FF);display:flex;padding:2px 8px 2px 6px;justify-content:center;align-items:center;gap:4px;color:var(--Blue-700, #175CD3);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.badge-light-violet{border-radius:16px;background:var(--Purple-50, #F4F3FF);padding:2px 8px;justify-content:center;align-items:center;color:var(--Purple-700, #5925DC);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.headtext{color:var(--Black, #101828);font-size:18px;font-style:normal;font-weight:500;line-height:28px}.card .card-header{padding:0px .5rem}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.NgbAccordionButton, selector: "button[ngbAccordionButton]" }, { kind: "directive", type: i6.NgbAccordionDirective, selector: "[ngbAccordion]", inputs: ["animation", "closeOthers", "destroyOnHide"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i6.NgbAccordionItem, selector: "[ngbAccordionItem]", inputs: ["ngbAccordionItem", "destroyOnHide", "disabled", "collapsed"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordionItem"] }, { kind: "directive", type: i6.NgbAccordionHeader, selector: "[ngbAccordionHeader]" }, { kind: "directive", type: i6.NgbAccordionBody, selector: "[ngbAccordionBody]" }, { kind: "directive", type: i6.NgbAccordionCollapse, selector: "[ngbAccordionCollapse]", exportAs: ["ngbAccordionCollapse"] }, { kind: "component", type: i7.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"], outputs: ["itemChange"] }, { kind: "component", type: i8.ActivityLogComponent, selector: "lib-activity-log" }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }] });
|
|
298
|
+
}
|
|
299
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, decorators: [{
|
|
300
|
+
type: Component,
|
|
301
|
+
args: [{ selector: 'lib-action-centre', template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.checklistApproval?.count ?\r\n overallCardsData.checklistApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Checklist waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.taskApproval?.count ?\r\n overallCardsData.taskApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-4 mt-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\">\r\n </rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <!-- [disabled]=\"searchDisabled\" -->\r\n <input [(ngModel)]=\"searchInput\" type=\"text\" class=\"form-control w-400px ps-14 mt-1 me-3\"\r\n placeholder=\"Search\" autocomplete=\"off\" (keyup.enter)=\"searchField()\" />\r\n <lib-filters class=\"me-3 mt-1\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <form class=\"mt-1 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"checklistselectControl\" [idField]=\"'_id'\"\r\n [nameField]=\"'checkListName'\" [data]=\"checklistDropdown\" class=\"w-100 \"\r\n style=\"border: none !important; box-shadow: none !important;\"\r\n (valueChange)=\"onValueChangeChecklist($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center no-border-custom-select\">\r\n <span>{{ item.checkListName }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <!-- <span class=\"status-text\">Status</span> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M4 6L8 10L12 6\" stroke=\"#101828\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12\">\r\n <div class=\"row p-3\">\r\n <!-- open card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Open <span class=\"cate-sub badge badge-light-default mx-2\"> {{ totalItems }}\r\n </span></span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!approvalOpenLoading && !approvalOpenNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of ApprovalListData\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.taskName ? open.taskName.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}\r\n <span *ngIf=\"open.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ open.taskType ? open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n <span *ngIf=\"open.taskType && open.taskType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.taskType ?\r\n open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priority === 'high',\r\n 'badge-light-blue': open.priority === 'medium',\r\n 'badge-light-warning': open.priority === 'low'\r\n }\">\r\n {{ open.priority | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdBy ?\r\n open.createdBy.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.totalAssigned ?\r\n open.totalAssigned.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduledRepeatedType ?\r\n open.scheduledRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.dateString }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ open.approved ?\r\n open.approved.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalOpenLoading\">\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 </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalOpenNoData && !approvalOpenLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Performance Table\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Inprogress <span class=\"cate-sub badge badge-light-default mx-2\"> {{ totalItems }}\r\n </span></span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!approvalInprogressLoading && !approvalInprogressNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of ApprovalListData\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.taskName ? open.taskName.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}\r\n <span *ngIf=\"open.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ open.taskType ? open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n <span *ngIf=\"open.taskType && open.taskType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.taskType ?\r\n open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priority === 'high',\r\n 'badge-light-blue': open.priority === 'medium',\r\n 'badge-light-warning': open.priority === 'low'\r\n }\">\r\n {{ open.priority | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdBy ?\r\n open.createdBy.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.totalAssigned ?\r\n open.totalAssigned.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduledRepeatedType ?\r\n open.scheduledRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.dateString }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ open.approved ?\r\n open.approved.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalInprogressLoading\">\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 </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalInprogressNoData && !approvalInprogressLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Performance Table\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- inprogress card end -->\r\n <!-- Approved card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Approved <span class=\"cate-sub badge badge-light-default mx-2\"> {{ totalItems }}\r\n </span></span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!approvedLoading && !approvedNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of ApprovalListData\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.taskName ? open.taskName.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}\r\n <span *ngIf=\"open.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ open.taskType ? open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n <span *ngIf=\"open.taskType && open.taskType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.taskType ?\r\n open.taskType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priority === 'high',\r\n 'badge-light-blue': open.priority === 'medium',\r\n 'badge-light-warning': open.priority === 'low'\r\n }\">\r\n {{ open.priority | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdBy ?\r\n open.createdBy.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.totalAssigned ?\r\n open.totalAssigned.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduledRepeatedType ?\r\n open.scheduledRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.dateString }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ open.approved ?\r\n open.approved.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.totalSubmitted ? open.totalSubmitted.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvedLoading\">\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 </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvedNoData && !approvedLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\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/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Performance Table\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- Approved card end -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3\">\r\n <ng-container>\r\n <div ngbAccordion>\r\n <div ngbAccordionItem [collapsed]=\"false\">\r\n <h2 ngbAccordionHeader>\r\n <button class=\"headtext\" ngbAccordionButton>Activity Log<div class=\"divider\"></div></button>\r\n </h2>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-activity-log></lib-activity-log>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.approvalcard{border-radius:6px;background:var(--Gray-50, #F9FAFB);flex-direction:column;align-items:center;flex:1 0 0;align-self:stretch}.approvalheader{display:flex;padding:16px 15px;justify-content:space-between;align-items:center;align-self:stretch;border-radius:6px 6px 0 0;background:var(--Gray-100, #F2F4F7)}.approvalbody{border-radius:8px;border:1px solid var(--Primary-25, #F6FCFF);background:var(--White, #FFF);box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;align-self:stretch}.cate-text{color:#626f86;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cate-sub{color:var(--Gray-700, #344054);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px;mix-blend-mode:multiply}.card-label{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.headingtext{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:500;line-height:24px}.cardsubtext{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cardscroll{overflow-y:scroll;max-height:275px}.badge-light-blue{border-radius:16px;background:var(--Blue-50, #EFF8FF);display:flex;padding:2px 8px 2px 6px;justify-content:center;align-items:center;gap:4px;color:var(--Blue-700, #175CD3);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.badge-light-violet{border-radius:16px;background:var(--Purple-50, #F4F3FF);padding:2px 8px;justify-content:center;align-items:center;color:var(--Purple-700, #5925DC);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.headtext{color:var(--Black, #101828);font-size:18px;font-style:normal;font-weight:500;line-height:28px}.card .card-header{padding:0px .5rem}\n"] }]
|
|
302
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.GlobalStateService }, { type: i2.PageInfoService }, { type: i3.TraxService }, { type: i0.ChangeDetectorRef }] });
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQWUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQWdDLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztBQVF0RixNQUFNLE9BQU8scUJBQXFCO0lBb0NaO0lBQXVCO0lBQStCO0lBQWtDO0lBQ2xHO0lBcENGLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLFdBQVcsR0FBTyxFQUFFLENBQUM7SUFDckIsSUFBSSxDQUFZO0lBQ2hCLHNCQUFzQixDQUFjO0lBQ3BDLGlCQUFpQixHQUFHO1FBQ2xCLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFO1FBQ3BDLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFO1FBQ2hELEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFO1FBQ3RDLDRDQUE0QztLQUM3QyxDQUFDO0lBQ0YsYUFBYSxDQUFNO0lBQ25CLFVBQVUsR0FBUTtRQUNoQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJ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QUUsQ0FBQyxDQUFDO2lCQUNoRTtnQkFDRCwwQ0FBMEM7Z0JBQzFDLHFFQUFxRTtnQkFDckUsSUFBSTtZQUNOLENBQUMsQ0FBQyxDQUFBO1NBQ0g7SUFDSCxDQUFDO3dHQWpTVSxxQkFBcUI7NEZBQXJCLHFCQUFxQix5RENWbEMsMnVyREFtakJNOzs0RkR6aUJPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgVHJheFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hY3Rpb24tY2VudHJlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2FjdGlvbi1jZW50cmUuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25DZW50cmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHNlYXJjaElucHV0OiBhbnkgPVwiXCI7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIGNoZWNrbGlzdHNlbGVjdENvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gIGNoZWNrbGlzdERyb3Bkb3duID0gW1xyXG4gICAgeyBfaWQ6ICdBbGwnLCBjaGVja0xpc3ROYW1lOiAnQWxsJyB9LFxyXG4gICAgeyBfaWQ6ICdDaGVja2xpc3QnLCBjaGVja0xpc3ROYW1lOiAnQ2hlY2tsaXN0JyB9LFxyXG4gICAgeyBfaWQ6ICdUYXNrJywgY2hlY2tMaXN0TmFtZTogJ1Rhc2snIH0sXHJcbiAgICAvLyBBZGQgbW9yZSBzdGF0aWMgY2hlY2tsaXN0IGl0ZW1zIGFzIG5lZWRlZFxyXG4gIF07XHJcbiAgZmlsdGVyQnlSb2xlczogYW55O1xyXG4gIGRhdGFPYmplY3Q6IGFueSA9IFtcclxuICAgIHsgRGVzY3JpcHRpb246ICdQcmlvcml0eScsIElzc3VlczogW3sgdGV4dDogXCJIaWdoXCIsIGlkOiAnaGlnaCcgfSwgeyB0ZXh0OiBcIk1lZGl1bVwiLCBpZDogJ21lZGl1bScgfSwgeyB0ZXh0OiBcIkxvd1wiLCBpZDogXCJsb3dcIiB9XSB9LFxyXG4gICBcclxuICBdO1xyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBvdmVyYWxsQ2FyZHNEYXRhOiBhbnkgPSB7fTtcclxuICBjYXJkRGF0YUxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGNhcmROb0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFwcHJvdmFsT3BlbkxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFwcHJvdmFsT3Blbk5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGl0ZW1zUGVyUGFnZSA9IDEwXHJcbiAgY3VycmVudFBhZ2UgPSAxXHJcbiAgc29ydENvbHVtTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgc29ydEJ5OiBhbnkgPSAnJztcclxuICBzb3J0RGlyZWN0aW9uOiBhbnkgPSAnJztcclxuICB0b3RhbEl0ZW1zID0gMFxyXG4gIHBhZ2luYXRpb25TaXplczphbnlbXSA9IFtdO1xyXG4gIHBhZ2VTaXplID0gMTBcclxuICBBcHByb3ZhbExpc3REYXRhOiBhbnlbXSA9IFtdO1xyXG4gIGFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFwcHJvdmVkTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgYXBwcm92ZWROb0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UscHJpdmF0ZSBUcmF4U2VydmljZTogVHJheFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICAgIHRoaXMuY2hlY2tsaXN0c2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnQWxsJyk7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgY2hlY2tsaXN0c2VsZWN0Q29udHJvbDogdGhpcy5jaGVja2xpc3RzZWxlY3RDb250cm9sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWVcclxuICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDMwMCkpXHJcbiAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcclxuICAgICAgICB0aGlzLmdldE92ZXJhbGxBY3Rpb25DZW50ZXJEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5nZXRBcHByb3ZhbE9wZW5EYXRhKCk7XHJcbiAgICAgICAgdGhpcy5nZXRBcHByb3ZhbElucHJvZ3Jlc3NEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5nZXRBcHByb3ZlZERhdGEoKVxyXG59KVxyXG4gICBcclxuICAgIFxyXG5cclxuICB9XHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKFwiRGFzaGJvYXJkXCIpO1xyXG4gICAgLy8gdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbihcIkRhc2hib2FyZFwiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0QnJlYWRjcnVtYnMoW1xyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIFRyYXhcIiwgcGF0aDogXCIvbWFuYWdlL3RyYXgvZGFzaGJvYXJkXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwiVGFuZ28gVHJheFwiLCBwYXRoOiBcIi9tYW5hZ2UvdHJheC9kYXNoYm9hcmRcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBnZXRPdmVyYWxsQWN0aW9uQ2VudGVyRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IFtdXHJcbiAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNhcmROb0RhdGEgPSB0cnVlO1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgLy8gICBzdG9yZUlkOiBbXHJcbiAgICAvLyAgICAgXCIxMS0xNzQzXCIsXHJcbiAgICAvLyAgICAgXCIxMS0xNzhcIixcclxuICAgIC8vICAgICBcIjExLTE0MTNcIixcclxuICAgIC8vICAgICBcIjExLTE4MzNcIixcclxuICAgIC8vICAgICBcIjExLTY3XCIsXHJcbiAgICAvLyAgICAgXCIxMS03MDlcIlxyXG4gICAgLy8gXSxcclxuICAgICAgY2xpZW50SWQ6dGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5UcmF4U2VydmljZS5nZXRPdmVyYWxsQWN0aW9uQ2VudGVyRGF0YShyZXF1ZXN0RGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChyZXNwb25zZT8uY29kZSA9PT0gMjAwICYmIHJlc3BvbnNlPy5zdGF0dXMgPT09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLm92ZXJhbGxDYXJkc0RhdGEgPSByZXNwb25zZS5kYXRhPy5jYXJkRGF0YSB8fCB7fTsgXHJcbiAgICAgICAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jYXJkTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IFtdXHJcbiAgICAgICAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLm92ZXJhbGxDYXJkc0RhdGEgPSBbXVxyXG4gICAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEFwcHJvdmFsT3BlbkRhdGEoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuYXBwcm92YWxPcGVuTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmFwcHJvdmFsT3Blbk5vRGF0YSA9IHRydWU7XHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHtcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgIGNsaWVudElkOnRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgICAgIGxpbWl0OiB0aGlzLml0ZW1zUGVyUGFnZSwgICAgICAgICAgICAgICAgIFxyXG4gICAgICBvZmZzZXQ6IHRoaXMuY3VycmVudFBhZ2UgLSAxLFxyXG4gICAgICBzb3J0Qnk6IHRoaXMuc29ydERpcmVjdGlvbixcclxuICAgICAgc29ydENvbHVtbk5hbWU6IHRoaXMuc29ydENvbHVtTmFtZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoSW5wdXQsXHJcbiAgICAgIGV4cG9ydDogZmFsc2UsXHJcbiAgICAgIHByaW9yaXR5OiBcImhpZ2hcIixcclxuICAgICAgc3RhdHVzOiAnb3BlbidcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5UcmF4U2VydmljZS5nZXRBcHByb3ZhbERhdGEocmVxdWVzdERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChyZXNwb25zZT8uY29kZSA9PT0gMjAwICYmIHJlc3BvbnNlPy5zdGF0dXMgPT09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmFwcHJvdmFsTGlzdCB8fCBbXTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlc3BvbnNlLmRhdGEudG90YWxDb3VudFxyXG4gICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKVxyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmFsT3Blbk5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcImVsc2VcIik7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmFsT3Blbk5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0Py5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICAgIH1cclxuICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGdldEFwcHJvdmFsSW5wcm9ncmVzc0RhdGEoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7XHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHtcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgIGNsaWVudElkOnRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgICAgIGxpbWl0OiB0aGlzLml0ZW1zUGVyUGFnZSwgICAgICAgICAgICAgICAgIFxyXG4gICAgICBvZmZzZXQ6IHRoaXMuY3VycmVudFBhZ2UgLSAxLFxyXG4gICAgICBzb3J0Qnk6IHRoaXMuc29ydERpcmVjdGlvbixcclxuICAgICAgc29ydENvbHVtbk5hbWU6IHRoaXMuc29ydENvbHVtTmFtZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoSW5wdXQsXHJcbiAgICAgIGV4cG9ydDogZmFsc2UsXHJcbiAgICAgIHByaW9yaXR5OiBcImhpZ2hcIixcclxuICAgICAgc3RhdHVzOiAnaW5wcm9ncmVzcydcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5UcmF4U2VydmljZS5nZXRBcHByb3ZhbERhdGEocmVxdWVzdERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChyZXNwb25zZT8uY29kZSA9PT0gMjAwICYmIHJlc3BvbnNlPy5zdGF0dXMgPT09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmFwcHJvdmFsTGlzdCB8fCBbXTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlc3BvbnNlLmRhdGEudG90YWxDb3VudFxyXG4gICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKVxyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcImVsc2VcIik7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0Py5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICAgIH1cclxuICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGdldEFwcHJvdmVkRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7XHJcbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHtcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5lbmREYXRlLFxyXG4gICAgICBzdG9yZUlkOiB0aGlzLmhlYWRlckRhdGEuc3RvcmVzLmZpbHRlcigoc3RvcmU6YW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOmFueSkgPT4gc3RvcmUuc3RvcmVJZCksXHJcbiAgICAgIGNsaWVudElkOnRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgICAgIGxpbWl0OiB0aGlzLml0ZW1zUGVyUGFnZSwgICAgICAgICAgICAgICAgIFxyXG4gICAgICBvZmZzZXQ6IHRoaXMuY3VycmVudFBhZ2UgLSAxLFxyXG4gICAgICBzb3J0Qnk6IHRoaXMuc29ydERpcmVjdGlvbixcclxuICAgICAgc29ydENvbHVtbk5hbWU6IHRoaXMuc29ydENvbHVtTmFtZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoSW5wdXQsXHJcbiAgICAgIGV4cG9ydDogZmFsc2UsXHJcbiAgICAgIHByaW9yaXR5OiBcImhpZ2hcIixcclxuICAgICAgc3RhdHVzOiAnYXBwcm92ZWQnXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuVHJheFNlcnZpY2UuZ2V0QXBwcm92YWxEYXRhKHJlcXVlc3REYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmFwcHJvdmVkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIGlmIChyZXNwb25zZT8uY29kZSA9PT0gMjAwICYmIHJlc3BvbnNlPy5zdGF0dXMgPT09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmFwcHJvdmFsTGlzdCB8fCBbXTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlc3BvbnNlLmRhdGEudG90YWxDb3VudFxyXG4gICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKVxyXG4gICAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJlbHNlXCIpO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmVkTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQ/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5BcHByb3ZhbExpc3REYXRhID0gW11cclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5BcHByb3ZhbExpc3REYXRhID0gW11cclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBvblZhbHVlQ2hhbmdlQ2hlY2tsaXN0KGV2ZW50OiBhbnkpIHtcclxuICAgIC8vIEhhbmRsZSB0aGUgdmFsdWUgY2hhbmdlIGV2ZW50IGFzIG5lZWRlZFxyXG4gICAgY29uc29sZS5sb2coJ1NlbGVjdGVkIGNoZWNrbGlzdDonLCBldmVudCk7XHJcbiAgfVxyXG4gIHNlYXJjaEZpZWxkKCk6IHZvaWQge1xyXG4gICBcclxuICB9XHJcbiAgc2V0UGFnaW5hdGlvblNpemVzKCkge1xyXG4gICAgaWYgKHRoaXMudG90YWxJdGVtcyA+IDEwKSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbdGhpcy50b3RhbEl0ZW1zXTtcclxuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMudG90YWxJdGVtczsgLy8gSnVzdCBvbmUgb3B0aW9uIGlmIGxlc3MgdGhhbiAxMFxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG4gIGFwcGx5RmlsdGVycyhldmVudDphbnkpe1xyXG4gICAgaWYgKGV2ZW50Py5sZW5ndGgpIHtcclxuICAgICAgZXZlbnQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuRGVzY3JpcHRpb24gPT09IFwiUm9sZXNcIikge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJCeVJvbGVzID0gZWxlbWVudC5Jc3N1ZXMubWFwKCh2YWw6IGFueSkgPT4gdmFsPy5pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGlmIChlbGVtZW50LkRlc2NyaXB0aW9uID09PSBcIlN0YXR1c1wiKSB7XHJcbiAgICAgICAgLy8gICB0aGlzLmZpbHRlckJ5U3RhdHVzID0gZWxlbWVudC5Jc3N1ZXMubWFwKCh2YWw6IGFueSkgPT4gdmFsPy5pZCk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uY2FyZCBteS0zIG14LTNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25jb3VudFwiPiB7eyBvdmVyYWxsQ2FyZHNEYXRhLmNoZWNrbGlzdEFwcHJvdmFsPy5jb3VudCA/XHJcbiAgICAgICAgICAgICAgb3ZlcmFsbENhcmRzRGF0YS5jaGVja2xpc3RBcHByb3ZhbD8uY291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6ICctLScgfX08L3NwYW4+IDxzcGFuIGNsYXNzPVwiYWN0aW9udGV4dCBteC01IG10LTNcIj5DaGVja2xpc3Qgd2FpdGluZyBmb3JcclxuICAgICAgICAgICAgICBhcHByb3ZhbDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbmNhcmQgbXktMyBteC0zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uY291bnRcIj4ge3sgb3ZlcmFsbENhcmRzRGF0YS50YXNrQXBwcm92YWw/LmNvdW50ID9cclxuICAgICAgICAgICAgICBvdmVyYWxsQ2FyZHNEYXRhLnRhc2tBcHByb3ZhbD8uY291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6ICctLScgfX08L3NwYW4+IDxzcGFuIGNsYXNzPVwiYWN0aW9udGV4dCBteC01IG10LTNcIj5UYXNrIHdhaXRpbmcgZm9yXHJcbiAgICAgICAgICAgICAgYXBwcm92YWw8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvdyBtLTAgbXktM1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbWItMlwiPkFwcHJvdmFsPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+QW4gU3VtbWFyeSBvZiBhbGwgdGhlIGNoZWNrbGlzdHMgYXdhaXRpbmcgYXBwcm92YWxcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtNCBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj5cclxuICAgICAgICAgICAgICAgICAgPC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPCEtLSBbZGlzYWJsZWRdPVwic2VhcmNoRGlzYWJsZWRcIiAtLT5cclxuICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJzZWFyY2hJbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdy00MDBweCBwcy0xNCBtdC0xIG1lLTNcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5dXAuZW50ZXIpPVwic2VhcmNoRmllbGQoKVwiIC8+XHJcbiAgICAgICAgICAgICAgPGxpYi1maWx0ZXJzIGNsYXNzPVwibWUtMyBtdC0xXCIgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdFwiXHJcbiAgICAgICAgICAgICAgICAoYXBwbGllZEZpbHRlcnMpPVwiYXBwbHlGaWx0ZXJzKCRldmVudClcIj48L2xpYi1maWx0ZXJzPlxyXG5cclxuICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz1cIm10LTEgYm9yZGVybGVzcy1zZWxlY3RcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJjaGVja2xpc3RzZWxlY3RDb250cm9sXCIgW2lkRmllbGRdPVwiJ19pZCdcIlxyXG4gICAgICAgICAgICAgICAgICBbbmFtZUZpZWxkXT1cIidjaGVja0xpc3ROYW1lJ1wiIFtkYXRhXT1cImNoZWNrbGlzdERyb3Bkb3duXCIgY2xhc3M9XCJ3LTEwMCBcIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cImJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XCJcclxuICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2VDaGVja2xpc3QoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbm8tYm9yZGVyLWN1c3RvbS1zZWxlY3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0uY2hlY2tMaXN0TmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwic3RhdHVzLXRleHRcIj5TdGF0dXM8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQgNkw4IDEwTDEyIDZcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTNcIj5cclxuICAgICAgICAgIDwhLS0gb3BlbiBjYXJkIHN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XHJcbiAgICAgICAgICAgIDxkaXYgIGNsYXNzPVwiYXBwcm92YWxjYXJkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGQtZmxleCBmbGV4LWNvbHVtbiBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS10ZXh0XCI+T3BlbiA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgbXgtMlwiPiB7eyB0b3RhbEl0ZW1zIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjY2NjY3IDMuMzMzMjVWMTIuNjY2Nk04LjY2NjY3IDEyLjY2NjZMMTMuMzMzMyA3Ljk5OTkyTTguNjY2NjcgMTIuNjY2Nkw0IDcuOTk5OTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAgKm5nSWY9XCIhYXBwcm92YWxPcGVuTG9hZGluZyAmJiAhYXBwcm92YWxPcGVuTm9EYXRhXCIgY2xhc3M9XCJwLTUgY2FyZHNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb3BlbiBvZiBBcHByb3ZhbExpc3REYXRhXCIgY2xhc3M9XCJhcHByb3ZhbGJvZHkgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmd0ZXh0IGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgb3Blbi50YXNrTmFtZSA/IG9wZW4udGFza05hbWUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwib3Blbi50YXNrVHlwZSA9PT0gJ3JlZG8nXCIgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1ibHVlIG14LTEgbXQtMVwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzU1NzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExLjUgMi4wMDAwNFY1LjAwMDA0TTExLjUgNS4wMDAwNEg4LjVNMTEuNSA1LjAwMDA0TDkuMTggMi44MjAwNEM4LjY0MjYzIDIuMjgyMzkgNy45Nzc4MSAxLjg4OTY0IDcuMjQ3NiAxLjY3ODQyQzYuNTE3MzggMS40NjcyMSA1Ljc0NTU1IDEuNDQ0NDEgNS4wMDQxNCAxLjYxMjE3QzQuMjYyNzMgMS43Nzk5MiAzLjU3NTkgMi4xMzI3NSAzLjAwNzczIDIuNjM3NzVDMi40Mzk1NyAzLjE0Mjc0IDIuMDA4NTggMy43ODM0MyAxLjc1NSA0LjUwMDA0TTAuNSAxMFY3LjAwMDA0TTAuNSA3LjAwMDA0SDMuNU0wLjUgNy4wMDAwNEwyLjgyIDkuMTgwMDRDMy4zNTczNyA5LjcxNzY4IDQuMDIyMTkgMTAuMTEwNCA0Ljc1MjQgMTAuMzIxN0M1LjQ4MjYyIDEwLjUzMjkgNi4yNTQ0NSAxMC41NTU3IDYuOTk1ODYgMTAuMzg3OUM3LjczNzI3IDEwLjIyMDIgOC40MjQxIDkuODY3MzIgOC45OTIyNyA5LjM2MjMzQzkuNTYwNDMgOC44NTczNCA5Ljk5MTQyIDguMjE2NjQgMTAuMjQ1IDcuNTAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMkU5MEZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzU1NzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz57eyBvcGVuLnRhc2tUeXBlID8gb3Blbi50YXNrVHlwZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4udGFza1R5cGUgJiYgb3Blbi50YXNrVHlwZSAhPT0gJ3JlZG8nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBteC0xIGJhZGdlIGJhZGdlLWxpZ2h0LXZpb2xldCBtdC0xXCI+IHt7IG9wZW4udGFza1R5cGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVuLnRhc2tUeXBlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSB0ZXh0LWVuZFwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtZGFuZ2VyJzogb3Blbi5wcmlvcml0eSA9PT0gJ2hpZ2gnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1ibHVlJzogb3Blbi5wcmlvcml0eSA9PT0gJ21lZGl1bScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBvcGVuLnByaW9yaXR5ID09PSAnbG93J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wZW4ucHJpb3JpdHkgfCB0aXRsZWNhc2UgfX0gUHJpb3JpdHlcclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IG9wZW4uY3JlYXRlZEJ5ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgb3Blbi5jcmVhdGVkQnkudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDNIMTMuNUMxMy44OTc4IDMgMTQuMjc5NCAzLjE1ODA0IDE0LjU2MDcgMy40MzkzNEMxNC44NDIgMy43MjA2NCAxNSA0LjEwMjE4IDE1IDQuNVYxNUMxNSAxNS4zOTc4IDE0Ljg0MiAxNS43Nzk0IDE0LjU2MDcgMTYuMDYwN0MxNC4yNzk0IDE2LjM0MiAxMy44OTc4IDE2LjUgMTMuNSAxNi41SDQuNUM0LjEwMjE4IDE2LjUgMy43MjA2NCAxNi4zNDIgMy40MzkzNCAxNi4wNjA3QzMuMTU4MDQgMTUuNzc5NCAzIDE1LjM5NzggMyAxNVY0LjVDMyA0LjEwMjE4IDMuMTU4MDQgMy43MjA2NCAzLjQzOTM0IDMuNDM5MzRDMy43MjA2NCAzLjE1ODA0IDQuMTAyMTggMyA0LjUgM0g2TTYuNzUgMS41SDExLjI1QzExLjY2NDIgMS41IDEyIDEuODM1NzkgMTIgMi4yNVYzLjc1QzEyIDQuMTY0MjEgMTEuNjY0MiA0LjUgMTEuMjUgNC41SDYuNzVDNi4zMzU3OSA0LjUgNiA0LjE2NDIxIDYgMy43NVYyLjI1QzYgMS44MzU3OSA2LjMzNTc5IDEuNSA2Ljc1IDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj4ge3sgb3Blbi50b3RhbEFzc2lnbmVkID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgb3Blbi50b3RhbEFzc2lnbmVkLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IG9wZW4udG90YWxTdWJtaXR0ZWQgPyBvcGVuLnRvdGFsU3VibWl0dGVkLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSBTdG9yZXM8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMS41VjQuNU02IDEuNVY0LjVNMi4yNSA3LjVIMTUuNzVNMy43NSAzSDE0LjI1QzE1LjA3ODQgMyAxNS43NSAzLjY3MTU3IDE1Ljc1IDQuNVYxNUMxNS43NSAxNS44Mjg0IDE1LjA3ODQgMTYuNSAxNC4yNSAxNi41SDMuNzVDMi45MjE1NyAxNi41IDIuMjUgMTUuODI4NCAyLjI1IDE1VjQuNUMyLjI1IDMuNjcxNTcgMi45MjE1NyAzIDMuNzUgM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj5SZXBlYXRzIHt7IG9wZW4uc2NoZWR1bGVkUmVwZWF0ZWRUeXBlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgb3Blbi5zY2hlZHVsZWRSZXBlYXRlZFR5cGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfMzE3OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzhcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIHN0cm9rZT1cImJsYWNrXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIG1hc2s9XCJ1cmwoI3BhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzMxNzhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIG1zLTNcIj57eyBvcGVuLmRhdGVTdHJpbmcgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBteC0xIG10LTFcIj57eyBvcGVuLmFwcHJvdmVkID9cclxuICAgICAgICAgICAgICAgICAgICAgIG9wZW4uYXBwcm92ZWQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gLyB7eyBvcGVuLnRvdGFsU3VibWl0dGVkID8gb3Blbi50b3RhbFN1Ym1pdHRlZC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92YWxPcGVuTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmFsT3Blbk5vRGF0YSAmJiAhYXBwcm92YWxPcGVuTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhbWFpbnRleHQgbXQtM1wiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhc3VidGV4dFwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgUGVyZm9ybWFuY2UgVGFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImFwcHJvdmFsY2FyZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbGhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBkLWZsZXggZmxleC1jb2x1bW4gbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtdGV4dFwiPklucHJvZ3Jlc3MgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG14LTJcIj4ge3sgdG90YWxJdGVtcyB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE3IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC42NjY2NyAzLjMzMzI1VjEyLjY2NjZNOC42NjY2NyAxMi42NjY2TDEzLjMzMzMgNy45OTk5Mk04LjY2NjY3IDEyLjY2NjZMNCA3Ljk5OTkyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgICpuZ0lmPVwiIWFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgJiYgIWFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YVwiIGNsYXNzPVwicC01IGNhcmRzY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG9wZW4gb2YgQXBwcm92YWxMaXN0RGF0YVwiIGNsYXNzPVwiYXBwcm92YWxib2R5IG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5ndGV4dCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IG9wZW4udGFza05hbWUgPyBvcGVuLnRhc2tOYW1lLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4udGFza1R5cGUgPT09ICdyZWRvJ1wiIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtYmx1ZSBteC0xIG10LTFcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNTExOV81NTc2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMS41IDIuMDAwMDRWNS4wMDAwNE0xMS41IDUuMDAwMDRIOC41TTExLjUgNS4wMDAwNEw5LjE4IDIuODIwMDRDOC42NDI2MyAyLjI4MjM5IDcuOTc3ODEgMS44ODk2NCA3LjI0NzYgMS42Nzg0MkM2LjUxNzM4IDEuNDY3MjEgNS43NDU1NSAxLjQ0NDQxIDUuMDA0MTQgMS42MTIxN0M0LjI2MjczIDEuNzc5OTIgMy41NzU5IDIuMTMyNzUgMy4wMDc3MyAyLjYzNzc1QzIuNDM5NTcgMy4xNDI3NCAyLjAwODU4IDMuNzgzNDMgMS43NTUgNC41MDAwNE0wLjUgMTBWNy4wMDAwNE0wLjUgNy4wMDAwNEgzLjVNMC41IDcuMDAwMDRMMi44MiA5LjE4MDA0QzMuMzU3MzcgOS43MTc2OCA0LjAyMjE5IDEwLjExMDQgNC43NTI0IDEwLjMyMTdDNS40ODI2MiAxMC41MzI5IDYuMjU0NDUgMTAuNTU1NyA2Ljk5NTg2IDEwLjM4NzlDNy43MzcyNyAxMC4yMjAyIDguNDI0MSA5Ljg2NzMyIDguOTkyMjcgOS4zNjIzM0M5LjU2MDQzIDguODU3MzQgOS45OTE0MiA4LjIxNjY0IDEwLjI0NSA3LjUwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzJFOTBGQVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV81NTc2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+e3sgb3Blbi50YXNrVHlwZSA/IG9wZW4udGFza1R5cGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvcGVuLnRhc2tUeXBlICYmIG9wZW4udGFza1R5cGUgIT09ICdyZWRvJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZS1zdWIgbXgtMSBiYWRnZSBiYWRnZS1saWdodC12aW9sZXQgbXQtMVwiPiB7eyBvcGVuLnRhc2tUeXBlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgb3Blbi50YXNrVHlwZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHRcIj5TdG9yZSBCYXNlZDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgdGV4dC1lbmRcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWRhbmdlcic6IG9wZW4ucHJpb3JpdHkgPT09ICdoaWdoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtYmx1ZSc6IG9wZW4ucHJpb3JpdHkgPT09ICdtZWRpdW0nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogb3Blbi5wcmlvcml0eSA9PT0gJ2xvdydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcGVuLnByaW9yaXR5IHwgdGl0bGVjYXNlIH19IFByaW9yaXR5XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzQ2IDE0VjEyLjY2NjdDMTMuMzM0NiAxMS45NTk0IDEzLjA1MzcgMTEuMjgxMSAxMi41NTM2IDEwLjc4MUMxMi4wNTM1IDEwLjI4MSAxMS4zNzUyIDEwIDEwLjY2OCAxMEg1LjMzNDY0QzQuNjI3MzkgMTAgMy45NDkxMSAxMC4yODEgMy40NDkwMiAxMC43ODFDMi45NDg5MiAxMS4yODExIDIuNjY3OTcgMTEuOTU5NCAyLjY2Nzk3IDEyLjY2NjdWMTRNMTAuNjY4IDQuNjY2NjdDMTAuNjY4IDYuMTM5NDMgOS40NzQwNiA3LjMzMzMzIDguMDAxMyA3LjMzMzMzQzYuNTI4NTQgNy4zMzMzMyA1LjMzNDY0IDYuMTM5NDMgNS4zMzQ2NCA0LjY2NjY3QzUuMzM0NjQgMy4xOTM5MSA2LjUyODU0IDIgOC4wMDEzIDJDOS40NzQwNiAyIDEwLjY2OCAzLjE5MzkxIDEwLjY2OCA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPiB7eyBvcGVuLmNyZWF0ZWRCeSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4uY3JlYXRlZEJ5LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAzSDEzLjVDMTMuODk3OCAzIDE0LjI3OTQgMy4xNTgwNCAxNC41NjA3IDMuNDM5MzRDMTQuODQyIDMuNzIwNjQgMTUgNC4xMDIxOCAxNSA0LjVWMTVDMTUgMTUuMzk3OCAxNC44NDIgMTUuNzc5NCAxNC41NjA3IDE2LjA2MDdDMTQuMjc5NCAxNi4zNDIgMTMuODk3OCAxNi41IDEzLjUgMTYuNUg0LjVDNC4xMDIxOCAxNi41IDMuNzIwNjQgMTYuMzQyIDMuNDM5MzQgMTYuMDYwN0MzLjE1ODA0IDE1Ljc3OTQgMyAxNS4zOTc4IDMgMTVWNC41QzMgNC4xMDIxOCAzLjE1ODA0IDMuNzIwNjQgMy40MzkzNCAzLjQzOTM0QzMuNzIwNjQgMy4xNTgwNCA0LjEwMjE4IDMgNC41IDNINk02Ljc1IDEuNUgxMS4yNUMxMS42NjQyIDEuNSAxMiAxLjgzNTc5IDEyIDIuMjVWMy43NUMxMiA0LjE2NDIxIDExLjY2NDIgNC41IDExLjI1IDQuNUg2Ljc1QzYuMzM1NzkgNC41IDYgNC4xNjQyMSA2IDMuNzVWMi4yNUM2IDEuODM1NzkgNi4zMzU3OSAxLjUgNi43NSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IG9wZW4udG90YWxBc3NpZ25lZCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4udG90YWxBc3NpZ25lZC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gLyB7eyBvcGVuLnRvdGFsU3VibWl0dGVkID8gb3Blbi50b3RhbFN1Ym1pdHRlZC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gU3RvcmVzPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDEuNVY0LjVNNiAxLjVWNC41TTIuMjUgNy41SDE1Ljc1TTMuNzUgM0gxNC4yNUMxNS4wNzg0IDMgMTUuNzUgMy42NzE1NyAxNS43NSA0LjVWMTVDMTUuNzUgMTUuODI4NCAxNS4wNzg0IDE2LjUgMTQuMjUgMTYuNUgzLjc1QzIuOTIxNTcgMTYuNSAyLjI1IDE1LjgyODQgMi4yNSAxNVY0LjVDMi4yNSAzLjY3MTU3IDIuOTIxNTcgMyAzLjc1IDNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+UmVwZWF0cyB7eyBvcGVuLnNjaGVkdWxlZFJlcGVhdGVkVHlwZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4uc2NoZWR1bGVkUmVwZWF0ZWRUeXBlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzMxNzgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTEtaW5zaWRlLTFfNTExOV8zMTc4XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4xMzA1NSAwLjAwMTQyMDQ5QzUuMjU3NTcgLTAuMDE3NTc3OCA0LjM5MDk3IDAuMTU0MTkyIDMuNTkxMjUgMC41MDQ3MzhDMi43OTE1MiAwLjg1NTI4NCAyLjA3Nzk1IDEuMzc2MTYgMS41MDAzNCAyLjAzMDk5QzAuOTIyNzI2IDIuNjg1ODMgMC40OTUwMDUgMy40NTg4NSAwLjI0NzAzMyA0LjI5NjA4Qy0wLjAwMDkzOTUzMyA1LjEzMzMgLTAuMDYzMTg2MSA2LjAxNDU3IDAuMDY0NjM4OCA2Ljg3ODM0QzAuMTkyNDY0IDcuNzQyMTIgMC41MDcyNzkgOC41Njc1OCAwLjk4NzEwNyA5LjI5NzExQzEuNDY2OTMgMTAuMDI2NiAyLjEwMDIxIDEwLjY0MjYgMi44NDI3MiAxMS4xMDIxQzMuNTg1MjMgMTEuNTYxNiA0LjQxOTA4IDExLjg1MzUgNS4yODYwNiAxMS45NTc0QzYuMTUzMDMgMTIuMDYxMyA3LjAzMjI0IDExLjk3NDcgNy44NjIzIDExLjcwMzdDOC4wMDQxMiAxMS42NTczIDguMTIxNzMgMTEuNTU2NSA4LjE4OTI0IDExLjQyMzVDOC4yNTY3NSAxMS4yOTA0IDguMjY4NjQgMTEuMTM2IDguMjIyMyAxMC45OTQyQzguMTc1OTUgMTAuODUyMyA4LjA3NTE2IDEwLjczNDcgNy45NDIxIDEwLjY2NzJDNy44MDkwNSAxMC41OTk3IDcuNjU0NjIgMTAuNTg3OCA3LjUxMjggMTAuNjM0MkM2LjYxMDc3IDEwLjkyODcgNS42NDI0IDEwLjk1MzYgNC43MjY0NCAxMC43MDU4QzMuODEwNDggMTAuNDU4IDIuOTg2NzUgOS45NDgyNSAyLjM1NjI3IDkuMjM5MUMxLjcyNTggOC41Mjk5NSAxLjMxNTk4IDcuNjUyMjEgMS4xNzcwOSA2LjcxMzU0QzEuMDM4MiA1Ljc3NDg3IDEuMTc2MjcgNC44MTYwNyAxLjU3NDM2IDMuOTU0NzNDMS45NzI0NiAzLjA5MzM4IDIuNjEzMjcgMi4zNjY5NCAzLjQxODIyIDEuODY0NDlDNC4yMjMxNyAxLjM2MjA0IDUuMTU3MjUgMS4xMDU0MyA2LjEwNTkyIDEuMTI2MTNDNy4wNTQ1OCAxLjE0NjgzIDcuOTc2NTkgMS40NDM5MyA4Ljc1ODg1IDEuOTgxMDFDOS41NDExMiAyLjUxODA5IDEwLjE0OTYgMy4yNzE3OCAxMC41MDk4IDQuMTQ5NjdDMTAuNTY2NCA0LjI4NzcyIDEwLjY3NTUgNC4zOTc2MyAxMC44MTMxIDQuNDU1MjJDMTAuODgxMyA0LjQ4Mzc0IDEwLjk1NDQgNC40OTg1NiAxMS4wMjgyIDQuNDk4ODNDMTEuMTAyMSA0LjQ5OTEgMTEuMTc1MyA0LjQ4NDgyIDExLjI0MzcgNC40NTY4QzExLjMxMiA0LjQyODc4IDExLjM3NDIgNC4zODc1NyAxMS40MjY2IDQuMzM1NTJDMTEuNDc5IDQuMjgzNDcgMTEuNTIwNyA0LjIyMTYxIDExLjU0OTIgNC4xNTM0N0MxMS41Nzc3IDQuMDg1MzIgMTEuNTkyNiA0LjAxMjIyIDExLjU5MjggMy45MzgzNUMxMS41OTMxIDMuODY0NDggMTEuNTc4OCAzLjc5MTI3IDExLjU1MDggMy43MjI5MkMxMS4xMDc2IDIuNjQyMzkgMTAuMzU4NiAxLjcxNDcgOS4zOTU4IDEuMDUzNjVDOC40MzI5OSAwLjM5MjU4NyA3LjI5ODE3IDAuMDI2ODk0NiA2LjEzMDU1IDAuMDAxNDIwNDlaTTYuNTYxOCAyLjgxMjQyQzYuNTYxOCAyLjY2MzI0IDYuNTAyNTMgMi41MjAxNiA2LjM5NzA0IDIuNDE0NjdDNi4yOTE1NSAyLjMwOTE4IDYuMTQ4NDggMi4yNDk5MiA1Ljk5OTMgMi4yNDk5MkM1Ljg1MDExIDIuMjQ5OTIgNS43MDcwNCAyLjMwOTE4IDUuNjAxNTUgMi40MTQ2N0M1LjQ5NjA2IDIuNTIwMTYgNS40MzY4IDIuNjYzMjQgNS40MzY4IDIuODEyNDJWNS43Njc0MkwzLjkxMTMgNy4yOTIxN0MzLjg1NjAzIDcuMzQzNjcgMy44MTE3IDcuNDA1NzcgMy43ODA5NiA3LjQ3NDc3QzMuNzUwMjIgNy41NDM3NyAzLjczMzY4IDcuNjE4MjUgMy43MzIzNSA3LjY5Mzc4QzMuNzMxMDIgNy43NjkzMSAzLjc0NDkxIDcuODQ0MzMgMy43NzMyIDcuOTE0MzdDMy44MDE0OSA3Ljk4NDQxIDMuODQzNiA4LjA0ODA0IDMuODk3MDIgOC4xMDE0NUMzLjk1MDQzIDguMTU0ODYgNC4wMTQwNiA4LjE5Njk3IDQuMDg0MSA4LjIyNTI2QzQuMTU0MTQgOC4yNTM1NSA0LjIyOTE2IDguMjY3NDUgNC4zMDQ2OSA4LjI2NjEyQzQuMzgwMjEgOC4yNjQ3OCA0LjQ1NDcgOC4yNDgyNSA0LjUyMzcgOC4yMTc1MUM0LjU5MjcgOC4xODY3NiA0LjY1NDggOC4xNDI0NCA0LjcwNjMgOC4wODcxN0w2LjM5NjggNi4zOTc0Mkw2LjU2MTggNi4yMzI0MlYyLjgxMjQyWk0xMS4yNDkzIDExLjI0OTlDMTEuMjQ5MyAxMS40NDg4IDExLjE3MDMgMTEuNjM5NiAxMS4wMjk2IDExLjc4MDNDMTAuODg5IDExLjkyMDkgMTAuNjk4MiAxMS45OTk5IDEwLjQ5OTMgMTEuOTk5OUMxMC4zMDA0IDExLjk5OTkgMTAuMTA5NiAxMS45MjA5IDkuOTY4OTcgMTEuNzgwM0M5LjgyODMxIDExLjYzOTYgOS43NDkzIDExLjQ0ODggOS43NDkzIDExLjI0OTlDOS43NDkzIDExLjA1MSA5LjgyODMxIDEwLjg2MDIgOS45Njg5NyAxMC43MTk2QzEwLjEwOTYgMTAuNTc4OSAxMC4zMDA0IDEwLjQ5OTkgMTAuNDk5MyAxMC40OTk5QzEwLjY5ODIgMTAuNDk5OSAxMC44ODkgMTAuNTc4OSAxMS4wMjk2IDEwLjcxOTZDMTEuMTcwMyAxMC44NjAyIDExLjI0OTMgMTEuMDUxIDExLjI0OTMgMTEuMjQ5OVpNMTEuMDYxOCA2LjU2MjQyQzExLjA2MTggNi40MTMyNCAxMS4wMDI1IDYuMjcwMTYgMTAuODk3IDYuMTY0NjdDMTAuNzkxNiA2LjA1OTE5IDEwLjY0ODUgNS45OTk5MiAxMC40OTkzIDUuOTk5OTJDMTAuMzUwMSA1Ljk5OTkyIDEwLjIwNyA2LjA1OTE5IDEwLjEwMTUgNi4xNjQ2N0M5Ljk5NjA2IDYuMjcwMTYgOS45MzY4IDYuNDEzMjQgOS45MzY4IDYuNTYyNDJWOS4xODc0MkM5LjkzNjggOS4zMzY2MSA5Ljk5NjA2IDkuNDc5NjggMTAuMTAxNSA5LjU4NTE3QzEwLjIwNyA5LjY5MDY2IDEwLjM1MDEgOS43NDk5MiAxMC40OTkzIDkuNzQ5OTJDMTAuNjQ4NSA5Ljc0OTkyIDEwLjc5MTYgOS42OTA2NiAxMC44OTcgOS41ODUxN0MxMS4wMDI1IDkuNDc5NjggMTEuMDYxOCA5LjMzNjYxIDExLjA2MTggOS4xODc0MlY2LjU2MjQyWlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4xMzA1NSAwLjAwMTQyMDQ5QzUuMjU3NTcgLTAuMDE3NTc3OCA0LjM5MDk3IDAuMTU0MTkyIDMuNTkxMjUgMC41MDQ3MzhDMi43OTE1MiAwLjg1NTI4NCAyLjA3Nzk1IDEuMzc2MTYgMS41MDAzNCAyLjAzMDk5QzAuOTIyNzI2IDIuNjg1ODMgMC40OTUwMDUgMy40NTg4NSAwLjI0NzAzMyA0LjI5NjA4Qy0wLjAwMDkzOTUzMyA1LjEzMzMgLTAuMDYzMTg2MSA2LjAxNDU3IDAuMDY0NjM4OCA2Ljg3ODM0QzAuMTkyNDY0IDcuNzQyMTIgMC41MDcyNzkgOC41Njc1OCAwLjk4NzEwNyA5LjI5NzExQzEuNDY2OTMgMTAuMDI2NiAyLjEwMDIxIDEwLjY0MjYgMi44NDI3MiAxMS4xMDIxQzMuNTg1MjMgMTEuNTYxNiA0LjQxOTA4IDExLjg1MzUgNS4yODYwNiAxMS45NTc0QzYuMTUzMDMgMTIuMDYxMyA3LjAzMjI0IDExLjk3NDcgNy44NjIzIDExLjcwMzdDOC4wMDQxMiAxMS42NTczIDguMTIxNzMgMTEuNTU2NSA4LjE4OTI0IDExLjQyMzVDOC4yNTY3NSAxMS4yOTA0IDguMjY4NjQgMTEuMTM2IDguMjIyMyAxMC45OTQyQzguMTc1OTUgMTAuODUyMyA4LjA3NTE2IDEwLjczNDcgNy45NDIxIDEwLjY2NzJDNy44MDkwNSAxMC41OTk3IDcuNjU0NjIgMTAuNTg3OCA3LjUxMjggMTAuNjM0MkM2LjYxMDc3IDEwLjkyODcgNS42NDI0IDEwLjk1MzYgNC43MjY0NCAxMC43MDU4QzMuODEwNDggMTAuNDU4IDIuOTg2NzUgOS45NDgyNSAyLjM1NjI3IDkuMjM5MUMxLjcyNTggOC41Mjk5NSAxLjMxNTk4IDcuNjUyMjEgMS4xNzcwOSA2LjcxMzU0QzEuMDM4MiA1Ljc3NDg3IDEuMTc2MjcgNC44MTYwNyAxLjU3NDM2IDMuOTU0NzNDMS45NzI0NiAzLjA5MzM4IDIuNjEzMjcgMi4zNjY5NCAzLjQxODIyIDEuODY0NDlDNC4yMjMxNyAxLjM2MjA0IDUuMTU3MjUgMS4xMDU0MyA2LjEwNTkyIDEuMTI2MTNDNy4wNTQ1OCAxLjE0NjgzIDcuOTc2NTkgMS40NDM5MyA4Ljc1ODg1IDEuOTgxMDFDOS41NDExMiAyLjUxODA5IDEwLjE0OTYgMy4yNzE3OCAxMC41MDk4IDQuMTQ5NjdDMTAuNTY2NCA0LjI4NzcyIDEwLjY3NTUgNC4zOTc2MyAxMC44MTMxIDQuNDU1MjJDMTAuODgxMyA0LjQ4Mzc0IDEwLjk1NDQgNC40OTg1NiAxMS4wMjgyIDQuNDk4ODNDMTEuMTAyMSA0LjQ5OTEgMTEuMTc1MyA0LjQ4NDgyIDExLjI0MzcgNC40NTY4QzExLjMxMiA0LjQyODc4IDExLjM3NDIgNC4zODc1NyAxMS40MjY2IDQuMzM1NTJDMTEuNDc5IDQuMjgzNDcgMTEuNTIwNyA0LjIyMTYxIDExLjU0OTIgNC4xNTM0N0MxMS41Nzc3IDQuMDg1MzIgMTEuNTkyNiA0LjAxMjIyIDExLjU5MjggMy45MzgzNUMxMS41OTMxIDMuODY0NDggMTEuNTc4OCAzLjc5MTI3IDExLjU1MDggMy43MjI5MkMxMS4xMDc2IDIuNjQyMzkgMTAuMzU4NiAxLjcxNDcgOS4zOTU4IDEuMDUzNjVDOC40MzI5OSAwLjM5MjU4NyA3LjI5ODE3IDAuMDI2ODk0NiA2LjEzMDU1IDAuMDAxNDIwNDlaTTYuNTYxOCAyLjgxMjQyQzYuNTYxOCAyLjY2MzI0IDYuNTAyNTMgMi41MjAxNiA2LjM5NzA0IDIuNDE0NjdDNi4yOTE1NSAyLjMwOTE4IDYuMTQ4NDggMi4yNDk5MiA1Ljk5OTMgMi4yNDk5MkM1Ljg1MDExIDIuMjQ5OTIgNS43MDcwNCAyLjMwOTE4IDUuNjAxNTUgMi40MTQ2N0M1LjQ5NjA2IDIuNTIwMTYgNS40MzY4IDIuNjYzMjQgNS40MzY4IDIuODEyNDJWNS43Njc0MkwzLjkxMTMgNy4yOTIxN0MzLjg1NjAzIDcuMzQzNjcgMy44MTE3IDcuNDA1NzcgMy43ODA5NiA3LjQ3NDc3QzMuNzUwMjIgNy41NDM3NyAzLjczMzY4IDcuNjE4MjUgMy43MzIzNSA3LjY5Mzc4QzMuNzMxMDIgNy43NjkzMSAzLjc0NDkxIDcuODQ0MzMgMy43NzMyIDcuOTE0MzdDMy44MDE0OSA3Ljk4NDQxIDMuODQzNiA4LjA0ODA0IDMuODk3MDIgOC4xMDE0NUMzLjk1MDQzIDguMTU0ODYgNC4wMTQwNiA4LjE5Njk3IDQuMDg0MSA4LjIyNTI2QzQuMTU0MTQgOC4yNTM1NSA0LjIyOTE2IDguMjY3NDUgNC4zMDQ2OSA4LjI2NjEyQzQuMzgwMjEgOC4yNjQ3OCA0LjQ1NDcgOC4yNDgyNSA0LjUyMzcgOC4yMTc1MUM0LjU5MjcgOC4xODY3NiA0LjY1NDggOC4xNDI0NCA0LjcwNjMgOC4wODcxN0w2LjM5NjggNi4zOTc0Mkw2LjU2MTggNi4yMzI0MlYyLjgxMjQyWk0xMS4yNDkzIDExLjI0OTlDMTEuMjQ5MyAxMS40NDg4IDExLjE3MDMgMTEuNjM5NiAxMS4wMjk2IDExLjc4MDNDMTAuODg5IDExLjkyMDkgMTAuNjk4MiAxMS45OTk5IDEwLjQ5OTMgMTEuOTk5OUMxMC4zMDA0IDExLjk5OTkgMTAuMTA5NiAxMS45MjA5IDkuOTY4OTcgMTEuNzgwM0M5LjgyODMxIDExLjYzOTYgOS43NDkzIDExLjQ0ODggOS43NDkzIDExLjI0OTlDOS43NDkzIDExLjA1MSA5LjgyODMxIDEwLjg2MDIgOS45Njg5NyAxMC43MTk2QzEwLjEwOTYgMTAuNTc4OSAxMC4zMDA0IDEwLjQ5OTkgMTAuNDk5MyAxMC40OTk5QzEwLjY5ODIgMTAuNDk5OSAxMC44ODkgMTAuNTc4OSAxMS4wMjk2IDEwLjcxOTZDMTEuMTcwMyAxMC44NjAyIDExLjI0OTMgMTEuMDUxIDExLjI0OTMgMTEuMjQ5OVpNMTEuMDYxOCA2LjU2MjQyQzExLjA2MTggNi40MTMyNCAxMS4wMDI1IDYuMjcwMTYgMTAuODk3IDYuMTY0NjdDMTAuNzkxNiA2LjA1OTE5IDEwLjY0ODUgNS45OTk5MiAxMC40OTkzIDUuOTk5OTJDMTAuMzUwMSA1Ljk5OTkyIDEwLjIwNyA2LjA1OTE5IDEwLjEwMTUgNi4xNjQ2N0M5Ljk5NjA2IDYuMjcwMTYgOS45MzY4IDYuNDEzMjQgOS45MzY4IDYuNTYyNDJWOS4xODc0MkM5LjkzNjggOS4zMzY2MSA5Ljk5NjA2IDkuNDc5NjggMTAuMTAxNSA5LjU4NTE3QzEwLjIwNyA5LjY5MDY2IDEwLjM1MDEgOS43NDk5MiAxMC40OTkzIDkuNzQ5OTJDMTAuNjQ4NSA5Ljc0OTkyIDEwLjc5MTYgOS42OTA2NiAxMC44OTcgOS41ODUxN0MxMS4wMDI1IDkuNDc5NjggMTEuMDYxOCA5LjMzNjYxIDExLjA2MTggOS4xODc0MlY2LjU2MjQyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiYmxhY2tcIiBzdHJva2U9XCJibGFja1wiIHN0cm9rZS13aWR0aD1cIjJcIiBtYXNrPVwidXJsKCNwYXRoLTEtaW5zaWRlLTFfNTExOV8zMTc4KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV8zMTc4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBtcy0zXCI+e3sgb3Blbi5kYXRlU3RyaW5nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXgtMSBtdC0xXCI+e3sgb3Blbi5hcHByb3ZlZCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBvcGVuLmFwcHJvdmVkLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgb3Blbi50b3RhbFN1Ym1pdHRlZCA/IG9wZW4udG90YWxTdWJtaXR0ZWQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgJiYgIWFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXktNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YW1haW50ZXh0IG10LTNcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YXN1YnRleHRcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIFBlcmZvcm1hbmNlIFRhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gaW5wcm9ncmVzcyBjYXJkIGVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gQXBwcm92ZWQgY2FyZCBzdGFydCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImFwcHJvdmFsY2FyZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbGhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBkLWZsZXggZmxleC1jb2x1bW4gbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtdGV4dFwiPkFwcHJvdmVkIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCBteC0yXCI+IHt7IHRvdGFsSXRlbXMgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyICBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguNjY2NjcgMy4zMzMyNVYxMi42NjY2TTguNjY2NjcgMTIuNjY2NkwxMy4zMzMzIDcuOTk5OTJNOC42NjY2NyAxMi42NjY2TDQgNy45OTk5MlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICAqbmdJZj1cIiFhcHByb3ZlZExvYWRpbmcgJiYgIWFwcHJvdmVkTm9EYXRhXCIgY2xhc3M9XCJwLTUgY2FyZHNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb3BlbiBvZiBBcHByb3ZhbExpc3REYXRhXCIgY2xhc3M9XCJhcHByb3ZhbGJvZHkgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmd0ZXh0IGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgb3Blbi50YXNrTmFtZSA/IG9wZW4udGFza05hbWUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwib3Blbi50YXNrVHlwZSA9PT0gJ3JlZG8nXCIgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1ibHVlIG14LTEgbXQtMVwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzU1NzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExLjUgMi4wMDAwNFY1LjAwMDA0TTExLjUgNS4wMDAwNEg4LjVNMTEuNSA1LjAwMDA0TDkuMTggMi44MjAwNEM4LjY0MjYzIDIuMjgyMzkgNy45Nzc4MSAxLjg4OTY0IDcuMjQ3NiAxLjY3ODQyQzYuNTE3MzggMS40NjcyMSA1Ljc0NTU1IDEuNDQ0NDEgNS4wMDQxNCAxLjYxMjE3QzQuMjYyNzMgMS43Nzk5MiAzLjU3NTkgMi4xMzI3NSAzLjAwNzczIDIuNjM3NzVDMi40Mzk1NyAzLjE0Mjc0IDIuMDA4NTggMy43ODM0MyAxLjc1NSA0LjUwMDA0TTAuNSAxMFY3LjAwMDA0TTAuNSA3LjAwMDA0SDMuNU0wLjUgNy4wMDAwNEwyLjgyIDkuMTgwMDRDMy4zNTczNyA5LjcxNzY4IDQuMDIyMTkgMTAuMTEwNCA0Ljc1MjQgMTAuMzIxN0M1LjQ4MjYyIDEwLjUzMjkgNi4yNTQ0NSAxMC41NTU3IDYuOTk1ODYgMTAuMzg3OUM3LjczNzI3IDEwLjIyMDIgOC40MjQxIDkuODY3MzIgOC45OTIyNyA5LjM2MjMzQzkuNTYwNDMgOC44NTczNCA5Ljk5MTQyIDguMjE2NjQgMTAuMjQ1IDcuNTAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMkU5MEZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzU1NzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz57eyBvcGVuLnRhc2tUeXBlID8gb3Blbi50YXNrVHlwZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4udGFza1R5cGUgJiYgb3Blbi50YXNrVHlwZSAhPT0gJ3JlZG8nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBteC0xIGJhZGdlIGJhZGdlLWxpZ2h0LXZpb2xldCBtdC0xXCI+IHt7IG9wZW4udGFza1R5cGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVuLnRhc2tUeXBlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSB0ZXh0LWVuZFwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtZGFuZ2VyJzogb3Blbi5wcmlvcml0eSA9PT0gJ2hpZ2gnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC1ibHVlJzogb3Blbi5wcmlvcml0eSA9PT0gJ21lZGl1bScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBvcGVuLnByaW9yaXR5ID09PSAnbG93J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wZW4ucHJpb3JpdHkgfCB0aXRsZWNhc2UgfX0gUHJpb3JpdHlcclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IG9wZW4uY3JlYXRlZEJ5ID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgb3Blbi5jcmVhdGVkQnkudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDNIMTMuNUMxMy44OTc4IDMgMTQuMjc5NCAzLjE1ODA0IDE0LjU2MDcgMy40MzkzNEMxNC44NDIgMy43MjA2NCAxNSA0LjEwMjE4IDE1IDQuNVYxNUMxNSAxNS4zOTc4IDE0Ljg0MiAxNS43Nzk0IDE0LjU2MDcgMTYuMDYwN0MxNC4yNzk0IDE2LjM0MiAxMy44OTc4IDE2LjUgMTMuNSAxNi41SDQuNUM0LjEwMjE4IDE2LjUgMy43MjA2NCAxNi4zNDIgMy40MzkzNCAxNi4wNjA3QzMuMTU4MDQgMTUuNzc5NCAzIDE1LjM5NzggMyAxNVY0LjVDMyA0LjEwMjE4IDMuMTU4MDQgMy43MjA2NCAzLjQzOTM0IDMuNDM5MzRDMy43MjA2NCAzLjE1ODA0IDQuMTAyMTggMyA0LjUgM0g2TTYuNzUgMS41SDExLjI1QzExLjY2NDIgMS41IDEyIDEuODM1NzkgMTIgMi4yNVYzLjc1QzEyIDQuMTY0MjEgMTEuNjY0MiA0LjUgMTEuMjUgNC41SDYuNzVDNi4zMzU3OSA0LjUgNiA0LjE2NDIxIDYgMy43NVYyLjI1QzYgMS44MzU3OSA2LjMzNTc5IDEuNSA2Ljc1IDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj4ge3sgb3Blbi50b3RhbEFzc2lnbmVkID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgb3Blbi50b3RhbEFzc2lnbmVkLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IG9wZW4udG90YWxTdWJtaXR0ZWQgPyBvcGVuLnRvdGFsU3VibWl0dGVkLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSBTdG9yZXM8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMS41VjQuNU02IDEuNVY0LjVNMi4yNSA3LjVIMTUuNzVNMy43NSAzSDE0LjI1QzE1LjA3ODQgMyAxNS43NSAzLjY3MTU3IDE1Ljc1IDQuNVYxNUMxNS43NSAxNS44Mjg0IDE1LjA3ODQgMTYuNSAxNC4yNSAxNi41SDMuNzVDMi45MjE1NyAxNi41IDIuMjUgMTUuODI4NCAyLjI1IDE1VjQuNUMyLjI1IDMuNjcxNTcgMi45MjE1NyAzIDMuNzUgM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj5SZXBlYXRzIHt7IG9wZW4uc2NoZWR1bGVkUmVwZWF0ZWRUeXBlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgb3Blbi5zY2hlZHVsZWRSZXBlYXRlZFR5cGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfMzE3OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzhcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIHN0cm9rZT1cImJsYWNrXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIG1hc2s9XCJ1cmwoI3BhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzMxNzhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIG1zLTNcIj57eyBvcGVuLmRhdGVTdHJpbmcgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBteC0xIG10LTFcIj57eyBvcGVuLmFwcHJvdmVkID9cclxuICAgICAgICAgICAgICAgICAgICAgIG9wZW4uYXBwcm92ZWQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gLyB7eyBvcGVuLnRvdGFsU3VibWl0dGVkID8gb3Blbi50b3RhbFN1Ym1pdHRlZC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92ZWRMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92ZWROb0RhdGEgJiYgIWFwcHJvdmVkTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhbWFpbnRleHQgbXQtM1wiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhc3VidGV4dFwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgUGVyZm9ybWFuY2UgVGFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPCEtLSBBcHByb3ZlZCBjYXJkIGVuZCAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgbXktM1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgPGRpdiBuZ2JBY2NvcmRpb24+XHJcbiAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25JdGVtIFtjb2xsYXBzZWRdPVwiZmFsc2VcIj5cclxuICAgICAgICAgIDxoMiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJoZWFkdGV4dFwiIG5nYkFjY29yZGlvbkJ1dHRvbj5BY3Rpdml0eSBMb2c8ZGl2IGNsYXNzPVwiZGl2aWRlclwiPjwvZGl2PjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9oMj5cclxuICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8bGliLWFjdGl2aXR5LWxvZz48L2xpYi1hY3Rpdml0eS1sb2c+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|