tango-app-ui-manage-settings 3.7.49 → 3.7.50
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/configurations/configurations.component.mjs +42 -11
- package/esm2022/lib/components/configurations/ticket-configuration/ticket-configuration.component.mjs +101 -7
- package/esm2022/lib/components/documents/brand-documents/brand-documents.component.mjs +3 -3
- package/fesm2022/tango-app-ui-manage-settings.mjs +149 -25
- package/fesm2022/tango-app-ui-manage-settings.mjs.map +1 -1
- package/lib/components/configurations/configurations.component.d.ts +1 -0
- package/lib/components/configurations/ticket-configuration/ticket-configuration.component.d.ts +28 -2
- package/package.json +1 -1
|
@@ -5,13 +5,30 @@ import * as i1 from "@angular/forms";
|
|
|
5
5
|
import * as i2 from "../../../services/client-api.service";
|
|
6
6
|
import * as i3 from "tango-app-ui-global";
|
|
7
7
|
import * as i4 from "@angular/common";
|
|
8
|
-
import * as i5 from "
|
|
8
|
+
import * as i5 from "@ng-bootstrap/ng-bootstrap";
|
|
9
|
+
import * as i6 from "../../reactive-select/reactive-select.component";
|
|
9
10
|
export class TicketConfigurationComponent {
|
|
10
11
|
fb;
|
|
11
12
|
apiService;
|
|
12
13
|
gs;
|
|
14
|
+
cdr;
|
|
13
15
|
ticketConfigurationForm;
|
|
14
16
|
destroy$ = new Subject();
|
|
17
|
+
// Stored as a string, not a numeric flag - internal_api_v3 queries for 'V2'
|
|
18
|
+
// and the Summary/Tickets gates compare against the same value.
|
|
19
|
+
infraTicketType = [
|
|
20
|
+
{ value: 'V1', label: "Infra V1" },
|
|
21
|
+
{ value: 'V2', label: "Infra V2" },
|
|
22
|
+
];
|
|
23
|
+
// Infra V2 supports a sub-hour threshold; V1 does not. Value stays in hours
|
|
24
|
+
// so the backend keeps reading infraDownTime in one unit.
|
|
25
|
+
infraV2DownTime = { value: 0.5, label: "30 mins" };
|
|
26
|
+
// Grace window after a store opens. Two options only — they mirror the
|
|
27
|
+
// fleet-size defaults. Hours, same unit as infraDownTime.
|
|
28
|
+
downtimeBufferTime = [
|
|
29
|
+
{ value: 0.5, label: "30 Min" },
|
|
30
|
+
{ value: 1, label: "1 Hr" },
|
|
31
|
+
];
|
|
15
32
|
downTimeType = [
|
|
16
33
|
{ value: 0, label: "Single camera" },
|
|
17
34
|
{ value: 1, label: "All cameras" },
|
|
@@ -30,10 +47,48 @@ export class TicketConfigurationComponent {
|
|
|
30
47
|
{ value: 11, label: "11 Hrs" },
|
|
31
48
|
{ value: 12, label: "12 Hrs" },
|
|
32
49
|
];
|
|
50
|
+
// Infra V2 repush workflow. Its own option lists on purpose: V1's
|
|
51
|
+
// rcaTicketAssign / infraDownTime are not reused, because V1's refresh and
|
|
52
|
+
// V2's repush are unrelated workflows and must be free to diverge.
|
|
53
|
+
repushTickets = [
|
|
54
|
+
{ value: 1, label: "1 Day" },
|
|
55
|
+
{ value: 2, label: "2 Days" },
|
|
56
|
+
{ value: 3, label: "3 Days" },
|
|
57
|
+
{ value: 4, label: "4 Days" },
|
|
58
|
+
{ value: 5, label: "5 Days" },
|
|
59
|
+
{ value: 6, label: "6 Days" },
|
|
60
|
+
{ value: 7, label: "7 Days" },
|
|
61
|
+
{ value: 8, label: "8 Days" },
|
|
62
|
+
{ value: 9, label: "9 Days" },
|
|
63
|
+
{ value: 10, label: "10 Days" },
|
|
64
|
+
{ value: 11, label: "11 Days" },
|
|
65
|
+
{ value: 12, label: "12 Days" },
|
|
66
|
+
];
|
|
67
|
+
repushBufferTime = [
|
|
68
|
+
{ value: 1, label: "1 Hr" },
|
|
69
|
+
{ value: 2, label: "2 Hrs" },
|
|
70
|
+
{ value: 3, label: "3 Hrs" },
|
|
71
|
+
{ value: 4, label: "4 Hrs" },
|
|
72
|
+
{ value: 5, label: "5 Hrs" },
|
|
73
|
+
{ value: 6, label: "6 Hrs" },
|
|
74
|
+
{ value: 7, label: "7 Hrs" },
|
|
75
|
+
{ value: 8, label: "8 Hrs" },
|
|
76
|
+
{ value: 9, label: "9 Hrs" },
|
|
77
|
+
{ value: 10, label: "10 Hrs" },
|
|
78
|
+
{ value: 11, label: "11 Hrs" },
|
|
79
|
+
{ value: 12, label: "12 Hrs" },
|
|
80
|
+
];
|
|
33
81
|
taggingRestrictionOptions = [
|
|
34
82
|
{ value: 'month', label: 'Month' },
|
|
35
83
|
{ value: 'week', label: 'Week' },
|
|
36
84
|
];
|
|
85
|
+
get isInfraV2() {
|
|
86
|
+
return this.ticketConfigurationForm?.get('infraTicketType')?.value === 'V2';
|
|
87
|
+
}
|
|
88
|
+
// Downtime list shown to the user: Infra V2 gains the 30 mins option on top.
|
|
89
|
+
get downTimeOptions() {
|
|
90
|
+
return this.isInfraV2 ? [this.infraV2DownTime, ...this.infraDownTime] : this.infraDownTime;
|
|
91
|
+
}
|
|
37
92
|
rcaTicketAssign = [
|
|
38
93
|
{ value: 1, label: "1 Day" },
|
|
39
94
|
{ value: 2, label: "2 Days" },
|
|
@@ -48,10 +103,11 @@ export class TicketConfigurationComponent {
|
|
|
48
103
|
{ value: 11, label: "11 Days" },
|
|
49
104
|
{ value: 12, label: "12 Days" },
|
|
50
105
|
];
|
|
51
|
-
constructor(fb, apiService, gs) {
|
|
106
|
+
constructor(fb, apiService, gs, cdr) {
|
|
52
107
|
this.fb = fb;
|
|
53
108
|
this.apiService = apiService;
|
|
54
109
|
this.gs = gs;
|
|
110
|
+
this.cdr = cdr;
|
|
55
111
|
this.initForm();
|
|
56
112
|
this.apiService.clientFormData.pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
57
113
|
if (res) {
|
|
@@ -70,22 +126,60 @@ export class TicketConfigurationComponent {
|
|
|
70
126
|
installationReAssign: [0],
|
|
71
127
|
sendToAdmin: [false],
|
|
72
128
|
sendToUser: [false],
|
|
129
|
+
infraTicketType: ['V1'],
|
|
73
130
|
downTimeType: [0],
|
|
74
131
|
infraDownTime: [1],
|
|
132
|
+
downtimeBufferTime: [null],
|
|
75
133
|
MinFilesCount: [0],
|
|
76
134
|
rcaTicketAssign: [1],
|
|
77
135
|
refreshAlert: [1],
|
|
136
|
+
repushTickets: [null],
|
|
137
|
+
repushBufferTime: [null],
|
|
78
138
|
statusCheckAlert: [1],
|
|
79
139
|
accuracyPercentage: [0],
|
|
80
140
|
reTrain: [1],
|
|
81
141
|
taggingRestriction: ['month'],
|
|
82
142
|
});
|
|
143
|
+
// 30 mins only exists under Infra V2. Switching back to V1 while it is
|
|
144
|
+
// selected would leave 0.5 in the control with no matching option, so the
|
|
145
|
+
// dropdown would render blank — fall back to 1 Hr.
|
|
146
|
+
this.ticketConfigurationForm.get('infraTicketType')?.valueChanges
|
|
147
|
+
.pipe(takeUntil(this.destroy$))
|
|
148
|
+
.subscribe((value) => {
|
|
149
|
+
if (value !== 'V2' && this.ticketConfigurationForm.get('infraDownTime')?.value === 0.5) {
|
|
150
|
+
this.ticketConfigurationForm.get('infraDownTime')?.setValue(1);
|
|
151
|
+
}
|
|
152
|
+
// Infra V2 renders Downtime Type as fixed text rather than a dropdown,
|
|
153
|
+
// so the stored value has to be forced to match what is displayed.
|
|
154
|
+
if (value === 'V2') {
|
|
155
|
+
this.ticketConfigurationForm.get('downTimeType')?.setValue(0);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
83
158
|
this.ticketConfigurationForm.disable();
|
|
84
159
|
}
|
|
85
160
|
patchForm(data) {
|
|
86
161
|
this.ticketConfigurationForm.patchValue({
|
|
87
162
|
...data
|
|
88
163
|
}, { emitEvent: false, onlySelf: true });
|
|
164
|
+
// patchValue above suppresses events, so the infraTicketType subscription
|
|
165
|
+
// does not run for a client already stored as Infra V2 — force it here too,
|
|
166
|
+
// or a stored downTimeType of 1 would display as "Single camera" and save as 1.
|
|
167
|
+
if (this.ticketConfigurationForm.get('infraTicketType')?.value === 'V2') {
|
|
168
|
+
this.ticketConfigurationForm.get('downTimeType')?.setValue(0, { emitEvent: false });
|
|
169
|
+
// lib-reactive-select resolves its selected option by filtering `data` at
|
|
170
|
+
// the moment writeValue runs, and has no ngOnChanges - so a value written
|
|
171
|
+
// before the list grew is never re-resolved. The form starts at 'V1', so
|
|
172
|
+
// downTimeOptions has no 0.5 entry when patchValue lands and a V2 client's
|
|
173
|
+
// "30 mins" shows blank.
|
|
174
|
+
//
|
|
175
|
+
// detectChanges pushes the widened list into the select in this same tick,
|
|
176
|
+
// then the value is re-written against it. Doing this with setTimeout
|
|
177
|
+
// instead defers to the next macrotask, which is visible as the field
|
|
178
|
+
// filling in a moment late.
|
|
179
|
+
const downTime = this.ticketConfigurationForm.get('infraDownTime')?.value;
|
|
180
|
+
this.cdr.detectChanges();
|
|
181
|
+
this.ticketConfigurationForm.get('infraDownTime')?.setValue(downTime, { emitEvent: false });
|
|
182
|
+
}
|
|
89
183
|
}
|
|
90
184
|
onCancel() {
|
|
91
185
|
this.apiService.clientFormData.next({ value: null, type: 'cancel', form: 'ticket-configuration' });
|
|
@@ -94,11 +188,11 @@ export class TicketConfigurationComponent {
|
|
|
94
188
|
onSubmit() {
|
|
95
189
|
this.apiService.clientFormData.next({ value: this.ticketConfigurationForm.value, type: 'submit', form: 'ticket-configuration' });
|
|
96
190
|
}
|
|
97
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketConfigurationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ClientApiService }, { token: i3.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TicketConfigurationComponent, selector: "lib-ticket-configuration", ngImport: i0, template: "<form [formGroup]=\"ticketConfigurationForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.TangoAdmin_TicketConfiguration_isEdit\" >\r\n <div *ngIf=\"ticketConfigurationForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button\r\n (click)=\"ticketConfigurationForm.disabled ? ticketConfigurationForm.enable() : ticketConfigurationForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"sub-header mb-7\">Installation</div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Auto Re-Assign Installation tickets in days</div>\r\n <!-- <div class=\"sub-heading\">Trigger an ticket, if the issue is not resolved or in progress\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"installationReAssign\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"rcaTicketAssign\" ></lib-reactive-select>\r\n \r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <label for=\"installationReAssign\" class=\"form-label\">Auto Re-Assign Installation tickets in days\r\n <span class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('installationReAssign')?.value > 0 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('installationReAssign')?.setValue(ticketConfigurationForm.get('installationReAssign')?.value - 1) : null\"\r\n class=\"dec\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M4.16602 10H15.8327\" stroke=\"#667085\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <input readonly type=\"number\" formControlName=\"installationReAssign\"\r\n class=\"form-control inc-dec-input\" id=\"installationReAssign\" autocomplete=\"off\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.enabled ? ticketConfigurationForm.get('installationReAssign')?.setValue(ticketConfigurationForm.get('installationReAssign')?.value + 1) : null\"\r\n class=\"inc\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M8.00065 3.33337V12.6667M3.33398 8.00004H12.6673\" stroke=\"#667085\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header \">Infra</div>\r\n </div>\r\n <!-- <div class=\"col-12 mb-5\">\r\n <label for=\"brandName\" class=\"form-label\">To whom should this alert be sent? <span\r\n class=\"alert-required\"></span></label>\r\n <div class=\"d-flex\">\r\n <div class=\"form-check me-12\">\r\n <input formControlName=\"sendToAdmin\" class=\"form-check-input me-2\" type=\"checkbox\" value=\"\"\r\n id=\"sendToAdmin\">\r\n <label class=\"form-check-label\" for=\"sendToAdmin\">\r\n Admin\r\n </label>\r\n </div>\r\n <div class=\"form-check\">\r\n <input formControlName=\"sendToUser\" class=\"form-check-input me-2\" type=\"checkbox\" value=\"\"\r\n id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n User\r\n </label>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div class=\"col-md-12 col-lg-4 col-xl-4 col-xxl-4 mb-5\">\r\n <lib-reactive-select formControlName=\"downTimeType\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"downTimeType\" [label]=\"'Downtime Type'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-4 col-xl-4 col-xxl-4 mb-5\">\r\n <lib-reactive-select formControlName=\"infraDownTime\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"infraDownTime\" [label]=\"'Downtime'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-4 col-xl-4 col-xxl-4 mb-5\">\r\n <label for=\"MinFilesCount\" class=\"form-label\">Files <span class=\"alert-required\"></span></label>\r\n <input type=\"number\" formControlName=\"MinFilesCount\" class=\"form-control\" id=\"MinFilesCount\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">RCA Ticket</div>\r\n <div class=\"sub-heading\">Set an alert, if there is no response from the store </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"rcaTicketAssign\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"infraDownTime\" ></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Refresh Ticket Alert</div>\r\n <div class=\"sub-heading\">Trigger an ticket, if the issue is not resolved or in progress\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"refreshAlert\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"rcaTicketAssign\" ></lib-reactive-select>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Status Check Alert</div>\r\n <div class=\"sub-heading\">An alert will be sent to the store employee so they can confirm\r\n whether the problem has been fixed.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"statusCheckAlert\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"infraDownTime\" ></lib-reactive-select>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header \">Data Mismatch (High Count)</div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <label for=\"accuracyPercentage\" class=\"form-label\">Accuracy Percentage less than <span\r\n class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <input min=\"50\" max=\"99\" type=\"number\" formControlName=\"accuracyPercentage\"\r\n class=\"form-control \" id=\"accuracyPercentage\" autocomplete=\"off\">\r\n <svg class=\"inc\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12.666 4.24967L3.33268 13.583M5.99935 5.24967C5.99935 6.17015 5.25316 6.91634 4.33268 6.91634C3.41221 6.91634 2.66602 6.17015 2.66602 5.24967C2.66602 4.3292 3.41221 3.58301 4.33268 3.58301C5.25316 3.58301 5.99935 4.3292 5.99935 5.24967ZM13.3327 12.583C13.3327 13.5035 12.5865 14.2497 11.666 14.2497C10.7455 14.2497 9.99935 13.5035 9.99935 12.583C9.99935 11.6625 10.7455 10.9163 11.666 10.9163C12.5865 10.9163 13.3327 11.6625 13.3327 12.583Z\"\r\n stroke=\"#667085\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <label for=\"reTrain\" class=\"form-label\">Sent to Re-training for (in days) <span\r\n class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('reTrain')?.value > 0 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('reTrain')?.setValue(ticketConfigurationForm.get('reTrain')?.value - 1) : null\"\r\n class=\"dec\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M4.16602 10H15.8327\" stroke=\"#667085\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <input readonly type=\"number\" formControlName=\"reTrain\" class=\"form-control inc-dec-input\"\r\n id=\"reTrain\" autocomplete=\"off\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('reTrain')?.value < 12 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('reTrain')?.setValue(ticketConfigurationForm.get('reTrain')?.value + 1) : null\"\r\n class=\"inc\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M8.00065 3.33337V12.6667M3.33398 8.00004H12.6673\" stroke=\"#667085\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header\">Footfall Directory</div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_tagging)\">\r\n <path d=\"M17 17.9163H29V29.9163H17V17.9163Z\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M25 13.9163V17.9163\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 13.9163V17.9163\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M17 21.9163H29\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_tagging\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Tagging Restriction Period</div>\r\n <div class=\"sub-heading\">Configure the tagging restriction window as Month or Week</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"taggingRestriction\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"taggingRestrictionOptions\"></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ticketConfigurationForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n</form>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[disabled],select[disabled],textarea[disabled],select[readonly],textarea[readonly]{background-color:#f9fafb!important}.footer-seperator{border-top:1px solid #EAECF0}.inc-dec-input{padding-right:30px;padding-left:30px;text-align:center}.inc{height:100%;position:absolute;right:14px;top:0}.dec{height:100%;position:absolute;left:14px;top:0}.sub-header{color:var(--Black, #101828);font-family:Inter;font-size:18px;font-weight:500;line-height:28px}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.custom-input-container{border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);padding:16px;width:100%}.custom-input-container .main-heading{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.custom-input-container .sub-heading{color:var(--Gray-500, #667085);font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:18px}.custom-input-container .form-select{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);box-shadow:0 1px 2px #1018280d;width:134px}.custom-input-container .form-select[disabled]{background-color:var(--White, #FFF)!important;border:1px solid var(--Gray-200, #EAECF0)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-300, #D0D5DD)!important;font-family:Inter;font-size:14px;font-weight:600;line-height:20px}.custom-input-container .form-check-input{height:16px;width:16px;border-radius:50%;border:1px solid var(--Gray-300, #D0D5DD)}.custom-input-container .form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAYAAABGbhwYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABJSURBVHgBvc1RCQAgDEXRRTCCkYxiA21gJRsYwSjzgQxENtjXHtwfPTCi0DFzRsWDNt9lD+rymNBCzUQPlI+hIuOUjj48UaWQHcH9cjH96UPaAAAAAElFTkSuQmCC);border:1px solid var(--Primary-600, #00A3FF);background-color:var(--Primary-600, #00A3FF)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
191
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketConfigurationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ClientApiService }, { token: i3.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
192
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TicketConfigurationComponent, selector: "lib-ticket-configuration", ngImport: i0, template: "<form [formGroup]=\"ticketConfigurationForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.TangoAdmin_TicketConfiguration_isEdit\" >\r\n <div *ngIf=\"ticketConfigurationForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button\r\n (click)=\"ticketConfigurationForm.disabled ? ticketConfigurationForm.enable() : ticketConfigurationForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"sub-header mb-7\">Installation</div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Auto Re-Assign Installation tickets in days</div>\r\n <!-- <div class=\"sub-heading\">Trigger an ticket, if the issue is not resolved or in progress\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"installationReAssign\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"rcaTicketAssign\" ></lib-reactive-select>\r\n \r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <label for=\"installationReAssign\" class=\"form-label\">Auto Re-Assign Installation tickets in days\r\n <span class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('installationReAssign')?.value > 0 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('installationReAssign')?.setValue(ticketConfigurationForm.get('installationReAssign')?.value - 1) : null\"\r\n class=\"dec\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M4.16602 10H15.8327\" stroke=\"#667085\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <input readonly type=\"number\" formControlName=\"installationReAssign\"\r\n class=\"form-control inc-dec-input\" id=\"installationReAssign\" autocomplete=\"off\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.enabled ? ticketConfigurationForm.get('installationReAssign')?.setValue(ticketConfigurationForm.get('installationReAssign')?.value + 1) : null\"\r\n class=\"inc\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M8.00065 3.33337V12.6667M3.33398 8.00004H12.6673\" stroke=\"#667085\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header \">Infra</div>\r\n </div>\r\n <!-- <div class=\"col-12 mb-5\">\r\n <label for=\"brandName\" class=\"form-label\">To whom should this alert be sent? <span\r\n class=\"alert-required\"></span></label>\r\n <div class=\"d-flex\">\r\n <div class=\"form-check me-12\">\r\n <input formControlName=\"sendToAdmin\" class=\"form-check-input me-2\" type=\"checkbox\" value=\"\"\r\n id=\"sendToAdmin\">\r\n <label class=\"form-check-label\" for=\"sendToAdmin\">\r\n Admin\r\n </label>\r\n </div>\r\n <div class=\"form-check\">\r\n <input formControlName=\"sendToUser\" class=\"form-check-input me-2\" type=\"checkbox\" value=\"\"\r\n id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n User\r\n </label>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <label class=\"form-label\">\r\n Infra Ticket Type\r\n <span class=\"info-icon\" placement=\"top\"\r\n ngbTooltip=\"Migration from Infra V1 to Infra V2 takes effect from the next cycle.\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M8 10.6667V8M8 5.33333H8.00667M14.6667 8A6.66667 6.66667 0 1 1 1.33333 8a6.66667 6.66667 0 0 1 13.33337 0Z\"\r\n stroke=\"currentColor\" stroke-width=\"1.33\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </label>\r\n <!-- Read-only, the same treatment Downtime Type gets under V2: the\r\n value stays visible, and with no control rendered the Edit\r\n button cannot reach it. The form control still holds the value,\r\n so isInfraV2 and the save payload are unaffected. -->\r\n <div class=\"form-select static-select\">{{ isInfraV2 ? 'Infra V2' : 'Infra V1' }}</div>\r\n </div>\r\n <div *ngIf=\"!isInfraV2\" class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <lib-reactive-select formControlName=\"downTimeType\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"downTimeType\" [label]=\"'Downtime Type'\" ></lib-reactive-select>\r\n </div>\r\n <!-- Infra V2 is always single-camera; shown read-only so the value stays\r\n visible, and with no control rendered the Edit button cannot reach it. -->\r\n <div *ngIf=\"isInfraV2\" class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <label class=\"form-label\">Downtime Type</label>\r\n <div class=\"form-select static-select\">Single camera</div>\r\n </div>\r\n <div class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <lib-reactive-select formControlName=\"infraDownTime\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"downTimeOptions\" [label]=\"'Downtime'\" ></lib-reactive-select>\r\n </div>\r\n <div *ngIf=\"isInfraV2\" class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <label class=\"form-label\">\r\n Downtime Buffer Time\r\n <span class=\"info-icon\" placement=\"top\"\r\n ngbTooltip=\"No downtime tickets are raised for this long after a store opens, while its cameras are still starting up.\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M8 10.6667V8M8 5.33333H8.00667M14.6667 8A6.66667 6.66667 0 1 1 1.33333 8a6.66667 6.66667 0 0 1 13.33337 0Z\"\r\n stroke=\"currentColor\" stroke-width=\"1.33\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </label>\r\n <lib-reactive-select formControlName=\"downtimeBufferTime\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"downtimeBufferTime\" ></lib-reactive-select>\r\n </div>\r\n <!-- Files is a V1-only field; Infra V2 does not use it. -->\r\n <div *ngIf=\"!isInfraV2\" class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <label for=\"MinFilesCount\" class=\"form-label\">Files <span class=\"alert-required\"></span></label>\r\n <input type=\"number\" formControlName=\"MinFilesCount\" class=\"form-control\" id=\"MinFilesCount\"\r\n autocomplete=\"off\">\r\n </div>\r\n <!-- RCA Ticket is a V1-only control; Infra V2 does not use it. -->\r\n <div *ngIf=\"!isInfraV2\" class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">RCA Ticket</div>\r\n <div class=\"sub-heading\">Set an alert, if there is no response from the store </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"rcaTicketAssign\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"infraDownTime\" ></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">{{ isInfraV2 ? 'Repush Ticket Alert' : 'Refresh Ticket Alert' }}</div>\r\n <div class=\"sub-heading\">Trigger an ticket, if the issue is not resolved or in progress\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-end gap-4\">\r\n <lib-reactive-select *ngIf=\"!isInfraV2\" formControlName=\"refreshAlert\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"rcaTicketAssign\" ></lib-reactive-select>\r\n <lib-reactive-select *ngIf=\"isInfraV2\" class=\"repush-select\" formControlName=\"repushTickets\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"repushTickets\" [label]=\"'Repush Tickets'\" ></lib-reactive-select>\r\n <lib-reactive-select *ngIf=\"isInfraV2\" class=\"repush-select\" formControlName=\"repushBufferTime\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"repushBufferTime\" [label]=\"'Repush Buffer Time'\" ></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Status Check Alert is a V1-only control; Infra V2 does not use it. -->\r\n <div *ngIf=\"!isInfraV2\" class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Status Check Alert</div>\r\n <div class=\"sub-heading\">An alert will be sent to the store employee so they can confirm\r\n whether the problem has been fixed.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"statusCheckAlert\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"infraDownTime\" ></lib-reactive-select>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header \">Data Mismatch (High Count)</div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <label for=\"accuracyPercentage\" class=\"form-label\">Accuracy Percentage less than <span\r\n class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <input min=\"50\" max=\"99\" type=\"number\" formControlName=\"accuracyPercentage\"\r\n class=\"form-control \" id=\"accuracyPercentage\" autocomplete=\"off\">\r\n <svg class=\"inc\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12.666 4.24967L3.33268 13.583M5.99935 5.24967C5.99935 6.17015 5.25316 6.91634 4.33268 6.91634C3.41221 6.91634 2.66602 6.17015 2.66602 5.24967C2.66602 4.3292 3.41221 3.58301 4.33268 3.58301C5.25316 3.58301 5.99935 4.3292 5.99935 5.24967ZM13.3327 12.583C13.3327 13.5035 12.5865 14.2497 11.666 14.2497C10.7455 14.2497 9.99935 13.5035 9.99935 12.583C9.99935 11.6625 10.7455 10.9163 11.666 10.9163C12.5865 10.9163 13.3327 11.6625 13.3327 12.583Z\"\r\n stroke=\"#667085\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <label for=\"reTrain\" class=\"form-label\">Sent to Re-training for (in days) <span\r\n class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('reTrain')?.value > 0 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('reTrain')?.setValue(ticketConfigurationForm.get('reTrain')?.value - 1) : null\"\r\n class=\"dec\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M4.16602 10H15.8327\" stroke=\"#667085\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <input readonly type=\"number\" formControlName=\"reTrain\" class=\"form-control inc-dec-input\"\r\n id=\"reTrain\" autocomplete=\"off\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('reTrain')?.value < 12 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('reTrain')?.setValue(ticketConfigurationForm.get('reTrain')?.value + 1) : null\"\r\n class=\"inc\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M8.00065 3.33337V12.6667M3.33398 8.00004H12.6673\" stroke=\"#667085\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header\">Footfall Directory</div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_tagging)\">\r\n <path d=\"M17 17.9163H29V29.9163H17V17.9163Z\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M25 13.9163V17.9163\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 13.9163V17.9163\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M17 21.9163H29\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_tagging\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Tagging Restriction Period</div>\r\n <div class=\"sub-heading\">Configure the tagging restriction window as Month or Week</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"taggingRestriction\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"taggingRestrictionOptions\"></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ticketConfigurationForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n</form>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.static-select{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px;height:45px!important;cursor:default;white-space:nowrap;pointer-events:none;background-color:#f9fafb!important;background-image:none!important;padding-right:1rem}.info-icon{display:inline-flex;align-items:center;margin-left:6px;color:var(--Gray-400, #98A2B3);cursor:pointer;vertical-align:middle;transition:color .15s ease}.info-icon:hover{color:var(--Gray-600, #475467)}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[disabled],select[disabled],textarea[disabled],select[readonly],textarea[readonly]{background-color:#f9fafb!important}.footer-seperator{border-top:1px solid #EAECF0}.inc-dec-input{padding-right:30px;padding-left:30px;text-align:center}.inc{height:100%;position:absolute;right:14px;top:0}.dec{height:100%;position:absolute;left:14px;top:0}.sub-header{color:var(--Black, #101828);font-family:Inter;font-size:18px;font-weight:500;line-height:28px}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.custom-input-container{border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);padding:16px;width:100%}.custom-input-container .main-heading{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.custom-input-container .sub-heading{color:var(--Gray-500, #667085);font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:18px}.custom-input-container .form-select{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);box-shadow:0 1px 2px #1018280d;width:134px}.custom-input-container .repush-select{display:block;width:170px}.custom-input-container .form-select[disabled]{background-color:var(--White, #FFF)!important;border:1px solid var(--Gray-200, #EAECF0)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-300, #D0D5DD)!important;font-family:Inter;font-size:14px;font-weight:600;line-height:20px}.custom-input-container .form-check-input{height:16px;width:16px;border-radius:50%;border:1px solid var(--Gray-300, #D0D5DD)}.custom-input-container .form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAYAAABGbhwYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABJSURBVHgBvc1RCQAgDEXRRTCCkYxiA21gJRsYwSjzgQxENtjXHtwfPTCi0DFzRsWDNt9lD+rymNBCzUQPlI+hIuOUjj48UaWQHcH9cjH96UPaAAAAAElFTkSuQmCC);border:1px solid var(--Primary-600, #00A3FF);background-color:var(--Primary-600, #00A3FF)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
99
193
|
}
|
|
100
194
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketConfigurationComponent, decorators: [{
|
|
101
195
|
type: Component,
|
|
102
|
-
args: [{ selector: 'lib-ticket-configuration', template: "<form [formGroup]=\"ticketConfigurationForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.TangoAdmin_TicketConfiguration_isEdit\" >\r\n <div *ngIf=\"ticketConfigurationForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button\r\n (click)=\"ticketConfigurationForm.disabled ? ticketConfigurationForm.enable() : ticketConfigurationForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"sub-header mb-7\">Installation</div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Auto Re-Assign Installation tickets in days</div>\r\n <!-- <div class=\"sub-heading\">Trigger an ticket, if the issue is not resolved or in progress\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"installationReAssign\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"rcaTicketAssign\" ></lib-reactive-select>\r\n \r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <label for=\"installationReAssign\" class=\"form-label\">Auto Re-Assign Installation tickets in days\r\n <span class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('installationReAssign')?.value > 0 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('installationReAssign')?.setValue(ticketConfigurationForm.get('installationReAssign')?.value - 1) : null\"\r\n class=\"dec\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M4.16602 10H15.8327\" stroke=\"#667085\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <input readonly type=\"number\" formControlName=\"installationReAssign\"\r\n class=\"form-control inc-dec-input\" id=\"installationReAssign\" autocomplete=\"off\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.enabled ? ticketConfigurationForm.get('installationReAssign')?.setValue(ticketConfigurationForm.get('installationReAssign')?.value + 1) : null\"\r\n class=\"inc\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M8.00065 3.33337V12.6667M3.33398 8.00004H12.6673\" stroke=\"#667085\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header \">Infra</div>\r\n </div>\r\n <!-- <div class=\"col-12 mb-5\">\r\n <label for=\"brandName\" class=\"form-label\">To whom should this alert be sent? <span\r\n class=\"alert-required\"></span></label>\r\n <div class=\"d-flex\">\r\n <div class=\"form-check me-12\">\r\n <input formControlName=\"sendToAdmin\" class=\"form-check-input me-2\" type=\"checkbox\" value=\"\"\r\n id=\"sendToAdmin\">\r\n <label class=\"form-check-label\" for=\"sendToAdmin\">\r\n Admin\r\n </label>\r\n </div>\r\n <div class=\"form-check\">\r\n <input formControlName=\"sendToUser\" class=\"form-check-input me-2\" type=\"checkbox\" value=\"\"\r\n id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n User\r\n </label>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div class=\"col-md-12 col-lg-4 col-xl-4 col-xxl-4 mb-5\">\r\n <lib-reactive-select formControlName=\"downTimeType\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"downTimeType\" [label]=\"'Downtime Type'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-4 col-xl-4 col-xxl-4 mb-5\">\r\n <lib-reactive-select formControlName=\"infraDownTime\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"infraDownTime\" [label]=\"'Downtime'\" ></lib-reactive-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-4 col-xl-4 col-xxl-4 mb-5\">\r\n <label for=\"MinFilesCount\" class=\"form-label\">Files <span class=\"alert-required\"></span></label>\r\n <input type=\"number\" formControlName=\"MinFilesCount\" class=\"form-control\" id=\"MinFilesCount\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">RCA Ticket</div>\r\n <div class=\"sub-heading\">Set an alert, if there is no response from the store </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"rcaTicketAssign\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"infraDownTime\" ></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Refresh Ticket Alert</div>\r\n <div class=\"sub-heading\">Trigger an ticket, if the issue is not resolved or in progress\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"refreshAlert\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"rcaTicketAssign\" ></lib-reactive-select>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Status Check Alert</div>\r\n <div class=\"sub-heading\">An alert will be sent to the store employee so they can confirm\r\n whether the problem has been fixed.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"statusCheckAlert\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"infraDownTime\" ></lib-reactive-select>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header \">Data Mismatch (High Count)</div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <label for=\"accuracyPercentage\" class=\"form-label\">Accuracy Percentage less than <span\r\n class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <input min=\"50\" max=\"99\" type=\"number\" formControlName=\"accuracyPercentage\"\r\n class=\"form-control \" id=\"accuracyPercentage\" autocomplete=\"off\">\r\n <svg class=\"inc\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12.666 4.24967L3.33268 13.583M5.99935 5.24967C5.99935 6.17015 5.25316 6.91634 4.33268 6.91634C3.41221 6.91634 2.66602 6.17015 2.66602 5.24967C2.66602 4.3292 3.41221 3.58301 4.33268 3.58301C5.25316 3.58301 5.99935 4.3292 5.99935 5.24967ZM13.3327 12.583C13.3327 13.5035 12.5865 14.2497 11.666 14.2497C10.7455 14.2497 9.99935 13.5035 9.99935 12.583C9.99935 11.6625 10.7455 10.9163 11.666 10.9163C12.5865 10.9163 13.3327 11.6625 13.3327 12.583Z\"\r\n stroke=\"#667085\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <label for=\"reTrain\" class=\"form-label\">Sent to Re-training for (in days) <span\r\n class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('reTrain')?.value > 0 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('reTrain')?.setValue(ticketConfigurationForm.get('reTrain')?.value - 1) : null\"\r\n class=\"dec\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M4.16602 10H15.8327\" stroke=\"#667085\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <input readonly type=\"number\" formControlName=\"reTrain\" class=\"form-control inc-dec-input\"\r\n id=\"reTrain\" autocomplete=\"off\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('reTrain')?.value < 12 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('reTrain')?.setValue(ticketConfigurationForm.get('reTrain')?.value + 1) : null\"\r\n class=\"inc\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M8.00065 3.33337V12.6667M3.33398 8.00004H12.6673\" stroke=\"#667085\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header\">Footfall Directory</div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_tagging)\">\r\n <path d=\"M17 17.9163H29V29.9163H17V17.9163Z\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M25 13.9163V17.9163\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 13.9163V17.9163\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M17 21.9163H29\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_tagging\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Tagging Restriction Period</div>\r\n <div class=\"sub-heading\">Configure the tagging restriction window as Month or Week</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"taggingRestriction\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"taggingRestrictionOptions\"></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ticketConfigurationForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n</form>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[disabled],select[disabled],textarea[disabled],select[readonly],textarea[readonly]{background-color:#f9fafb!important}.footer-seperator{border-top:1px solid #EAECF0}.inc-dec-input{padding-right:30px;padding-left:30px;text-align:center}.inc{height:100%;position:absolute;right:14px;top:0}.dec{height:100%;position:absolute;left:14px;top:0}.sub-header{color:var(--Black, #101828);font-family:Inter;font-size:18px;font-weight:500;line-height:28px}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.custom-input-container{border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);padding:16px;width:100%}.custom-input-container .main-heading{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.custom-input-container .sub-heading{color:var(--Gray-500, #667085);font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:18px}.custom-input-container .form-select{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);box-shadow:0 1px 2px #1018280d;width:134px}.custom-input-container .form-select[disabled]{background-color:var(--White, #FFF)!important;border:1px solid var(--Gray-200, #EAECF0)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-300, #D0D5DD)!important;font-family:Inter;font-size:14px;font-weight:600;line-height:20px}.custom-input-container .form-check-input{height:16px;width:16px;border-radius:50%;border:1px solid var(--Gray-300, #D0D5DD)}.custom-input-container .form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAYAAABGbhwYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABJSURBVHgBvc1RCQAgDEXRRTCCkYxiA21gJRsYwSjzgQxENtjXHtwfPTCi0DFzRsWDNt9lD+rymNBCzUQPlI+hIuOUjj48UaWQHcH9cjH96UPaAAAAAElFTkSuQmCC);border:1px solid var(--Primary-600, #00A3FF);background-color:var(--Primary-600, #00A3FF)}\n"] }]
|
|
103
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ClientApiService }, { type: i3.GlobalStateService }] });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb25maWd1cmF0aW9ucy90aWNrZXQtY29uZmlndXJhdGlvbi90aWNrZXQtY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb25zL3RpY2tldC1jb25maWd1cmF0aW9uL3RpY2tldC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7QUFHcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLDRCQUE0QjtJQWtEbkI7SUFBeUI7SUFBcUM7SUEvQ2xGLHVCQUF1QixDQUFXO0lBQ2pCLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRTFDLFlBQVksR0FBRztRQUNiLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsZUFBZSxFQUFFO1FBQ3BDLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsYUFBYSxFQUFFO0tBQ25DLENBQUE7SUFFRCxhQUFhLEdBQUc7UUFDZCxFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUMzQixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtLQUUvQixDQUFBO0lBRUQseUJBQXlCLEdBQUc7UUFDMUIsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDbEMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7S0FDakMsQ0FBQTtJQUVELGVBQWUsR0FBRztRQUNoQixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUcsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUMvQixFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUcsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUMvQixFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUcsS0FBSyxFQUFFLFNBQVMsRUFBRTtLQUVoQyxDQUFBO0lBSUQsWUFBb0IsRUFBZSxFQUFVLFVBQTRCLEVBQVMsRUFBcUI7UUFBbkYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM5RSxJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUU7b0JBQy9ELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO2lCQUMxQjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDM0Msb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDekIsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3BCLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNuQixZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakIsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsQixlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEIsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNaLGtCQUFrQixFQUFFLENBQUMsT0FBTyxDQUFDO1NBQzlCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVM7UUFDakIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FDckM7WUFDRSxHQUFHLElBQUk7U0FDUixFQUNELEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQ25DLENBQUE7SUFFSCxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFBO1FBQ2xHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUV4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQTtJQUNsSSxDQUFDO3dHQXhHVSw0QkFBNEI7NEZBQTVCLDRCQUE0QixnRUNYekMsNjlxQkEyVE87OzRGRGhUTSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDbGllbnRBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY2xpZW50LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGlja2V0LWNvbmZpZ3VyYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90aWNrZXQtY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3RpY2tldC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlja2V0Q29uZmlndXJhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG5cclxuICB0aWNrZXRDb25maWd1cmF0aW9uRm9ybTogRm9ybUdyb3VwXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGRvd25UaW1lVHlwZSA9IFtcclxuICAgIHsgdmFsdWU6MCAsIGxhYmVsOiBcIlNpbmdsZSBjYW1lcmFcIiB9LFxyXG4gICAgeyB2YWx1ZToxICwgbGFiZWw6IFwiQWxsIGNhbWVyYXNcIiB9LFxyXG4gIF1cclxuXHJcbiAgaW5mcmFEb3duVGltZSA9IFtcclxuICAgIHsgdmFsdWU6MSAsIGxhYmVsOiBcIjEgSHJcIiB9LFxyXG4gICAgeyB2YWx1ZToyICwgbGFiZWw6IFwiMiBIcnNcIiB9LFxyXG4gICAgeyB2YWx1ZTozICwgbGFiZWw6IFwiMyBIcnNcIiB9LFxyXG4gICAgeyB2YWx1ZTo0ICwgbGFiZWw6IFwiNCBIcnNcIiB9LFxyXG4gICAgeyB2YWx1ZTo1ICwgbGFiZWw6IFwiNSBIcnNcIiB9LFxyXG4gICAgeyB2YWx1ZTo2ICwgbGFiZWw6IFwiNiBIcnNcIiB9LFxyXG4gICAgeyB2YWx1ZTo3ICwgbGFiZWw6IFwiNyBIcnNcIiB9LFxyXG4gICAgeyB2YWx1ZTo4ICwgbGFiZWw6IFwiOCBIcnNcIiB9LFxyXG4gICAgeyB2YWx1ZTo5ICwgbGFiZWw6IFwiOSBIcnNcIiB9LFxyXG4gICAgeyB2YWx1ZToxMCAsIGxhYmVsOiBcIjEwIEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjExICwgbGFiZWw6IFwiMTEgSHJzXCIgfSxcclxuICAgIHsgdmFsdWU6MTIgLCBsYWJlbDogXCIxMiBIcnNcIiB9LFxyXG5cclxuICBdXHJcblxyXG4gIHRhZ2dpbmdSZXN0cmljdGlvbk9wdGlvbnMgPSBbXHJcbiAgICB7IHZhbHVlOiAnbW9udGgnLCBsYWJlbDogJ01vbnRoJyB9LFxyXG4gICAgeyB2YWx1ZTogJ3dlZWsnLCBsYWJlbDogJ1dlZWsnIH0sXHJcbiAgXVxyXG5cclxuICByY2FUaWNrZXRBc3NpZ24gPSBbXHJcbiAgICB7IHZhbHVlOjEgLCBsYWJlbDogXCIxIERheVwiIH0sXHJcbiAgICB7IHZhbHVlOjIgLCBsYWJlbDogXCIyIERheXNcIiB9LFxyXG4gICAgeyB2YWx1ZTozICwgbGFiZWw6IFwiMyBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6NCAsIGxhYmVsOiBcIjQgRGF5c1wiIH0sXHJcbiAgICB7IHZhbHVlOjUgLCBsYWJlbDogXCI1IERheXNcIiB9LFxyXG4gICAgeyB2YWx1ZTo2ICwgbGFiZWw6IFwiNiBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6NyAsIGxhYmVsOiBcIjcgRGF5c1wiIH0sXHJcbiAgICB7IHZhbHVlOjggLCBsYWJlbDogXCI4IERheXNcIiB9LFxyXG4gICAgeyB2YWx1ZTo5ICwgbGFiZWw6IFwiOSBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6MTAgLCBsYWJlbDogXCIxMCBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6MTEgLCBsYWJlbDogXCIxMSBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6MTIgLCBsYWJlbDogXCIxMiBEYXlzXCIgfSxcclxuXHJcbiAgXVxyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFwaVNlcnZpY2U6IENsaWVudEFwaVNlcnZpY2UsIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuaW5pdEZvcm0oKVxyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLmNsaWVudEZvcm1EYXRhLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgaWYgKHJlcy50eXBlID09PSAnaW5wdXQnICYmIHJlcy5mb3JtID09PSAndGlja2V0LWNvbmZpZ3VyYXRpb24nKSB7XHJcbiAgICAgICAgICB0aGlzLnBhdGNoRm9ybShyZXMudmFsdWUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLnRpY2tldENvbmZpZ3VyYXRpb25Gb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGluc3RhbGxhdGlvblJlQXNzaWduOiBbMF0sXHJcbiAgICAgIHNlbmRUb0FkbWluOiBbZmFsc2VdLFxyXG4gICAgICBzZW5kVG9Vc2VyOiBbZmFsc2VdLFxyXG4gICAgICBkb3duVGltZVR5cGU6IFswXSxcclxuICAgICAgaW5mcmFEb3duVGltZTogWzFdLFxyXG4gICAgICBNaW5GaWxlc0NvdW50OiBbMF0sXHJcbiAgICAgIHJjYVRpY2tldEFzc2lnbjogWzFdLFxyXG4gICAgICByZWZyZXNoQWxlcnQ6IFsxXSxcclxuICAgICAgc3RhdHVzQ2hlY2tBbGVydDogWzFdLFxyXG4gICAgICBhY2N1cmFjeVBlcmNlbnRhZ2U6IFswXSxcclxuICAgICAgcmVUcmFpbjogWzFdLFxyXG4gICAgICB0YWdnaW5nUmVzdHJpY3Rpb246IFsnbW9udGgnXSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy50aWNrZXRDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlKClcclxuICB9XHJcblxyXG4gIHBhdGNoRm9ybShkYXRhOiBhbnkpIHsgICAgXHJcbiAgICB0aGlzLnRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLnBhdGNoVmFsdWUoXHJcbiAgICAgIHtcclxuICAgICAgICAuLi5kYXRhXHJcbiAgICAgIH0sXHJcbiAgICAgIHtlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZX1cclxuICAgIClcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgb25DYW5jZWwoKSB7XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnY2FuY2VsJywgZm9ybTogJ3RpY2tldC1jb25maWd1cmF0aW9uJyB9KVxyXG4gICAgdGhpcy50aWNrZXRDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlKClcclxuXHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHRoaXMudGlja2V0Q29uZmlndXJhdGlvbkZvcm0udmFsdWUsIHR5cGU6ICdzdWJtaXQnLCBmb3JtOiAndGlja2V0LWNvbmZpZ3VyYXRpb24nIH0pXHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwidGlja2V0Q29uZmlndXJhdGlvbkZvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvQWRtaW5fVGlja2V0Q29uZmlndXJhdGlvbl9pc0VkaXRcIiA+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlZFwiIGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlZCA/IHRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmVuYWJsZSgpIDogdGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZGlzYWJsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGFsaWduLWl0ZW1zLWVuZFwiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yNTc5XzI1MTI1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC4xNjcgMi40OTk5M0MxNC4zODU5IDIuMjgxMDYgMTQuNjQ1NyAyLjEwNzQ0IDE0LjkzMTcgMS45ODg5OUMxNS4yMTc2IDEuODcwNTQgMTUuNTI0MSAxLjgwOTU3IDE1LjgzMzcgMS44MDk1N0MxNi4xNDMyIDEuODA5NTcgMTYuNDQ5NyAxLjg3MDU0IDE2LjczNTcgMS45ODg5OUMxNy4wMjE2IDIuMTA3NDQgMTcuMjgxNSAyLjI4MTA2IDE3LjUwMDMgMi40OTk5M0MxNy43MTkyIDIuNzE4OCAxNy44OTI4IDIuOTc4NjMgMTguMDExMyAzLjI2NDZDMTguMTI5NyAzLjU1MDU3IDE4LjE5MDcgMy44NTcwNiAxOC4xOTA3IDQuMTY2NTlDMTguMTkwNyA0LjQ3NjEyIDE4LjEyOTcgNC43ODI2MiAxOC4wMTEzIDUuMDY4NTlDMTcuODkyOCA1LjM1NDU1IDE3LjcxOTIgNS42MTQzOSAxNy41MDAzIDUuODMzMjZMNi4yNTAzMyAxNy4wODMzTDEuNjY2OTkgMTguMzMzM0wyLjkxNjk5IDEzLjc0OTlMMTQuMTY3IDIuNDk5OTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yNTc5XzI1MTI1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5FZGl0IERldGFpbHM8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXIgbWItN1wiPkluc3RhbGxhdGlvbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWlucHV0LWNvbnRhaW5lclwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwibWUtNVwiIHdpZHRoPVwiNDZcIiBoZWlnaHQ9XCI0N1wiIHZpZXdCb3g9XCIwIDAgNDYgNDdcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzLjkxNjI2XCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCIjRjJGNEY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjMuOTE2MjZcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgc3Ryb2tlPVwiI0Y5RkFGQlwiIHN0cm9rZS13aWR0aD1cIjZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yODc2XzU5NTkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjMuODMzMyAxNS41ODI5TDE1LjUgMjUuNTgyOUgyM0wyMi4xNjY3IDMyLjI0OTZMMzAuNSAyMi4yNDk2SDIzTDIzLjgzMzMgMTUuNTgyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yODc2XzU5NTkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMyAxMy45MTYzKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1oZWFkaW5nXCI+QXV0byBSZS1Bc3NpZ24gSW5zdGFsbGF0aW9uIHRpY2tldHMgaW4gZGF5czwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic3ViLWhlYWRpbmdcIj5UcmlnZ2VyIGFuIHRpY2tldCwgaWYgdGhlIGlzc3VlIGlzIG5vdCByZXNvbHZlZCBvciBpbiBwcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJpbnN0YWxsYXRpb25SZUFzc2lnblwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIiBbZGF0YV09XCJyY2FUaWNrZXRBc3NpZ25cIiA+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGFiZWwgZm9yPVwiaW5zdGFsbGF0aW9uUmVBc3NpZ25cIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5BdXRvIFJlLUFzc2lnbiBJbnN0YWxsYXRpb24gdGlja2V0cyBpbiBkYXlzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgnaW5zdGFsbGF0aW9uUmVBc3NpZ24nKT8udmFsdWUgPiAwICYmIHRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmVuYWJsZWQgID8gdGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZ2V0KCdpbnN0YWxsYXRpb25SZUFzc2lnbicpPy5zZXRWYWx1ZSh0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ2luc3RhbGxhdGlvblJlQXNzaWduJyk/LnZhbHVlIC0gMSkgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVjXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNC4xNjYwMiAxMEgxNS44MzI3XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCByZWFkb25seSB0eXBlPVwibnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwiaW5zdGFsbGF0aW9uUmVBc3NpZ25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW5jLWRlYy1pbnB1dFwiIGlkPVwiaW5zdGFsbGF0aW9uUmVBc3NpZ25cIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5lbmFibGVkICA/IHRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgnaW5zdGFsbGF0aW9uUmVBc3NpZ24nKT8uc2V0VmFsdWUodGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZ2V0KCdpbnN0YWxsYXRpb25SZUFzc2lnbicpPy52YWx1ZSArIDEpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImluY1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDY1IDMuMzMzMzdWMTIuNjY2N00zLjMzMzk4IDguMDAwMDRIMTIuNjY3M1wiIHN0cm9rZT1cIiM2NjcwODVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTcgbXQtN1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHctMTAwIGZvb3Rlci1zZXBlcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXIgXCI+SW5mcmE8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiYnJhbmROYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+VG8gd2hvbSBzaG91bGQgdGhpcyBhbGVydCBiZSBzZW50PyA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWUtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwic2VuZFRvQWRtaW5cIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgbWUtMlwiIHR5cGU9XCJjaGVja2JveFwiIHZhbHVlPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJzZW5kVG9BZG1pblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJzZW5kVG9BZG1pblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBBZG1pblxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInNlbmRUb1VzZXJcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgbWUtMlwiIHR5cGU9XCJjaGVja2JveFwiIHZhbHVlPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJmbGV4Q2hlY2tDaGVja2VkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZsZXhDaGVja0NoZWNrZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgVXNlclxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTQgY29sLXhsLTQgY29sLXh4bC00IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZG93blRpbWVUeXBlXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImRvd25UaW1lVHlwZVwiIFtsYWJlbF09XCInRG93bnRpbWUgVHlwZSdcIiA+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTQgY29sLXhsLTQgY29sLXh4bC00IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5mcmFEb3duVGltZVwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIiBbZGF0YV09XCJpbmZyYURvd25UaW1lXCIgW2xhYmVsXT1cIidEb3dudGltZSdcIiA+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTQgY29sLXhsLTQgY29sLXh4bC00IG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIk1pbkZpbGVzQ291bnRcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5GaWxlcyA8c3BhbiBjbGFzcz1cImFsZXJ0LXJlcXVpcmVkXCI+PC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwiTWluRmlsZXNDb3VudFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJNaW5GaWxlc0NvdW50XCJcclxuICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWlucHV0LWNvbnRhaW5lclwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwibWUtNVwiIHdpZHRoPVwiNDZcIiBoZWlnaHQ9XCI0N1wiIHZpZXdCb3g9XCIwIDAgNDYgNDdcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzLjkxNjI2XCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCIjRjJGNEY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjMuOTE2MjZcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgc3Ryb2tlPVwiI0Y5RkFGQlwiIHN0cm9rZS13aWR0aD1cIjZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yODc2XzU5NTkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjMuODMzMyAxNS41ODI5TDE1LjUgMjUuNTgyOUgyM0wyMi4xNjY3IDMyLjI0OTZMMzAuNSAyMi4yNDk2SDIzTDIzLjgzMzMgMTUuNTgyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yODc2XzU5NTkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMyAxMy45MTYzKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1oZWFkaW5nXCI+UkNBIFRpY2tldDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkaW5nXCI+U2V0IGFuIGFsZXJ0LCBpZiB0aGVyZSBpcyBubyByZXNwb25zZSBmcm9tIHRoZSBzdG9yZSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwicmNhVGlja2V0QXNzaWduXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImluZnJhRG93blRpbWVcIiA+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWlucHV0LWNvbnRhaW5lclwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwibWUtNVwiIHdpZHRoPVwiNDZcIiBoZWlnaHQ9XCI0N1wiIHZpZXdCb3g9XCIwIDAgNDYgNDdcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzLjkxNjI2XCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCIjRjJGNEY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjMuOTE2MjZcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgc3Ryb2tlPVwiI0Y5RkFGQlwiIHN0cm9rZS13aWR0aD1cIjZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yODc2XzU5NTkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjMuODMzMyAxNS41ODI5TDE1LjUgMjUuNTgyOUgyM0wyMi4xNjY3IDMyLjI0OTZMMzAuNSAyMi4yNDk2SDIzTDIzLjgzMzMgMTUuNTgyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yODc2XzU5NTkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMyAxMy45MTYzKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1oZWFkaW5nXCI+UmVmcmVzaCBUaWNrZXQgQWxlcnQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaGVhZGluZ1wiPlRyaWdnZXIgYW4gdGlja2V0LCBpZiB0aGUgaXNzdWUgaXMgbm90IHJlc29sdmVkIG9yIGluIHByb2dyZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwicmVmcmVzaEFsZXJ0XCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cInJjYVRpY2tldEFzc2lnblwiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS1pbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwibWUtNVwiIHdpZHRoPVwiNDZcIiBoZWlnaHQ9XCI0N1wiIHZpZXdCb3g9XCIwIDAgNDYgNDdcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzLjkxNjI2XCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCIjRjJGNEY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjMuOTE2MjZcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgc3Ryb2tlPVwiI0Y5RkFGQlwiIHN0cm9rZS13aWR0aD1cIjZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yODc2XzU5NTkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjMuODMzMyAxNS41ODI5TDE1LjUgMjUuNTgyOUgyM0wyMi4xNjY3IDMyLjI0OTZMMzAuNSAyMi4yNDk2SDIzTDIzLjgzMzMgMTUuNTgyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yODc2XzU5NTkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMyAxMy45MTYzKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1oZWFkaW5nXCI+U3RhdHVzIENoZWNrIEFsZXJ0PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLWhlYWRpbmdcIj5BbiBhbGVydCB3aWxsIGJlIHNlbnQgdG8gdGhlIHN0b3JlIGVtcGxveWVlIHNvIHRoZXkgY2FuIGNvbmZpcm1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGV0aGVyIHRoZSBwcm9ibGVtIGhhcyBiZWVuIGZpeGVkLjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNDaGVja0FsZXJ0XCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImluZnJhRG93blRpbWVcIiA+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNyBtdC03XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgdy0xMDAgZm9vdGVyLXNlcGVyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItN1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLWhlYWRlciBcIj5EYXRhIE1pc21hdGNoIChIaWdoIENvdW50KTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYWNjdXJhY3lQZXJjZW50YWdlXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+QWNjdXJhY3kgUGVyY2VudGFnZSBsZXNzIHRoYW4gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWluPVwiNTBcIiBtYXg9XCI5OVwiIHR5cGU9XCJudW1iZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJhY2N1cmFjeVBlcmNlbnRhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgXCIgaWQ9XCJhY2N1cmFjeVBlcmNlbnRhZ2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImluY1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTdcIiB2aWV3Qm94PVwiMCAwIDE2IDE3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIuNjY2IDQuMjQ5NjdMMy4zMzI2OCAxMy41ODNNNS45OTkzNSA1LjI0OTY3QzUuOTk5MzUgNi4xNzAxNSA1LjI1MzE2IDYuOTE2MzQgNC4zMzI2OCA2LjkxNjM0QzMuNDEyMjEgNi45MTYzNCAyLjY2NjAyIDYuMTcwMTUgMi42NjYwMiA1LjI0OTY3QzIuNjY2MDIgNC4zMjkyIDMuNDEyMjEgMy41ODMwMSA0LjMzMjY4IDMuNTgzMDFDNS4yNTMxNiAzLjU4MzAxIDUuOTk5MzUgNC4zMjkyIDUuOTk5MzUgNS4yNDk2N1pNMTMuMzMyNyAxMi41ODNDMTMuMzMyNyAxMy41MDM1IDEyLjU4NjUgMTQuMjQ5NyAxMS42NjYgMTQuMjQ5N0MxMC43NDU1IDE0LjI0OTcgOS45OTkzNSAxMy41MDM1IDkuOTk5MzUgMTIuNTgzQzkuOTk5MzUgMTEuNjYyNSAxMC43NDU1IDEwLjkxNjMgMTEuNjY2IDEwLjkxNjNDMTIuNTg2NSAxMC45MTYzIDEzLjMzMjcgMTEuNjYyNSAxMy4zMzI3IDEyLjU4M1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlVHJhaW5cIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5TZW50IHRvIFJlLXRyYWluaW5nIGZvciAoaW4gZGF5cykgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgncmVUcmFpbicpPy52YWx1ZSA+IDAgJiYgdGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZW5hYmxlZCAgPyB0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ3JlVHJhaW4nKT8uc2V0VmFsdWUodGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZ2V0KCdyZVRyYWluJyk/LnZhbHVlIC0gMSkgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVjXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNC4xNjYwMiAxMEgxNS44MzI3XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCByZWFkb25seSB0eXBlPVwibnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwicmVUcmFpblwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGluYy1kZWMtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJyZVRyYWluXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZ2V0KCdyZVRyYWluJyk/LnZhbHVlIDwgMTIgJiYgdGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZW5hYmxlZCAgPyB0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ3JlVHJhaW4nKT8uc2V0VmFsdWUodGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZ2V0KCdyZVRyYWluJyk/LnZhbHVlICsgMSkgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5jXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguMDAwNjUgMy4zMzMzN1YxMi42NjY3TTMuMzMzOTggOC4wMDAwNEgxMi42NjczXCIgc3Ryb2tlPVwiIzY2NzA4NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTcgbXQtN1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCIgdy0xMDAgZm9vdGVyLXNlcGVyYXRvclwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLWhlYWRlclwiPkZvb3RmYWxsIERpcmVjdG9yeTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJtZS01XCIgd2lkdGg9XCI0NlwiIGhlaWdodD1cIjQ3XCIgdmlld0JveD1cIjAgMCA0NiA0N1wiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzLjkxNjI2XCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCIjRjJGNEY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjNcIiB5PVwiMy45MTYyNlwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiMjBcIiBzdHJva2U9XCIjRjlGQUZCXCIgc3Ryb2tlLXdpZHRoPVwiNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfdGFnZ2luZylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcgMTcuOTE2M0gyOVYyOS45MTYzSDE3VjE3LjkxNjNaXCIgc3Ryb2tlPVwiIzQ3NTQ2N1wiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNSAxMy45MTYzVjE3LjkxNjNcIiBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIxIDEzLjkxNjNWMTcuOTE2M1wiIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcgMjEuOTE2M0gyOVwiIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwX3RhZ2dpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTMgMTMuOTE2MylcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWhlYWRpbmdcIj5UYWdnaW5nIFJlc3RyaWN0aW9uIFBlcmlvZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLWhlYWRpbmdcIj5Db25maWd1cmUgdGhlIHRhZ2dpbmcgcmVzdHJpY3Rpb24gd2luZG93IGFzIE1vbnRoIG9yIFdlZWs8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0YWdnaW5nUmVzdHJpY3Rpb25cIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwidGFnZ2luZ1Jlc3RyaWN0aW9uT3B0aW9uc1wiPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJ0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5lbmFibGVkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTUgdy0xMDAgZm9vdGVyLXNlcGVyYXRvclwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICA8YSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgbWUtNFwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+Q2FuY2VsPC9hPlxyXG4gICAgICAgICAgICA8YSB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHgtNCBcIiAoY2xpY2spPVwib25TdWJtaXQoKVwiPjxzcGFuPlNhdmUgQ2hhbmdlczwvc3Bhbj48L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZm9ybT4iXX0=
|
|
196
|
+
args: [{ selector: 'lib-ticket-configuration', template: "<form [formGroup]=\"ticketConfigurationForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.TangoAdmin_TicketConfiguration_isEdit\" >\r\n <div *ngIf=\"ticketConfigurationForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button\r\n (click)=\"ticketConfigurationForm.disabled ? ticketConfigurationForm.enable() : ticketConfigurationForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"col-12\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"sub-header mb-7\">Installation</div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Auto Re-Assign Installation tickets in days</div>\r\n <!-- <div class=\"sub-heading\">Trigger an ticket, if the issue is not resolved or in progress\r\n </div> -->\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"installationReAssign\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"rcaTicketAssign\" ></lib-reactive-select>\r\n \r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <label for=\"installationReAssign\" class=\"form-label\">Auto Re-Assign Installation tickets in days\r\n <span class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('installationReAssign')?.value > 0 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('installationReAssign')?.setValue(ticketConfigurationForm.get('installationReAssign')?.value - 1) : null\"\r\n class=\"dec\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M4.16602 10H15.8327\" stroke=\"#667085\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <input readonly type=\"number\" formControlName=\"installationReAssign\"\r\n class=\"form-control inc-dec-input\" id=\"installationReAssign\" autocomplete=\"off\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.enabled ? ticketConfigurationForm.get('installationReAssign')?.setValue(ticketConfigurationForm.get('installationReAssign')?.value + 1) : null\"\r\n class=\"inc\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M8.00065 3.33337V12.6667M3.33398 8.00004H12.6673\" stroke=\"#667085\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header \">Infra</div>\r\n </div>\r\n <!-- <div class=\"col-12 mb-5\">\r\n <label for=\"brandName\" class=\"form-label\">To whom should this alert be sent? <span\r\n class=\"alert-required\"></span></label>\r\n <div class=\"d-flex\">\r\n <div class=\"form-check me-12\">\r\n <input formControlName=\"sendToAdmin\" class=\"form-check-input me-2\" type=\"checkbox\" value=\"\"\r\n id=\"sendToAdmin\">\r\n <label class=\"form-check-label\" for=\"sendToAdmin\">\r\n Admin\r\n </label>\r\n </div>\r\n <div class=\"form-check\">\r\n <input formControlName=\"sendToUser\" class=\"form-check-input me-2\" type=\"checkbox\" value=\"\"\r\n id=\"flexCheckChecked\">\r\n <label class=\"form-check-label\" for=\"flexCheckChecked\">\r\n User\r\n </label>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <label class=\"form-label\">\r\n Infra Ticket Type\r\n <span class=\"info-icon\" placement=\"top\"\r\n ngbTooltip=\"Migration from Infra V1 to Infra V2 takes effect from the next cycle.\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M8 10.6667V8M8 5.33333H8.00667M14.6667 8A6.66667 6.66667 0 1 1 1.33333 8a6.66667 6.66667 0 0 1 13.33337 0Z\"\r\n stroke=\"currentColor\" stroke-width=\"1.33\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </label>\r\n <!-- Read-only, the same treatment Downtime Type gets under V2: the\r\n value stays visible, and with no control rendered the Edit\r\n button cannot reach it. The form control still holds the value,\r\n so isInfraV2 and the save payload are unaffected. -->\r\n <div class=\"form-select static-select\">{{ isInfraV2 ? 'Infra V2' : 'Infra V1' }}</div>\r\n </div>\r\n <div *ngIf=\"!isInfraV2\" class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <lib-reactive-select formControlName=\"downTimeType\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"downTimeType\" [label]=\"'Downtime Type'\" ></lib-reactive-select>\r\n </div>\r\n <!-- Infra V2 is always single-camera; shown read-only so the value stays\r\n visible, and with no control rendered the Edit button cannot reach it. -->\r\n <div *ngIf=\"isInfraV2\" class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <label class=\"form-label\">Downtime Type</label>\r\n <div class=\"form-select static-select\">Single camera</div>\r\n </div>\r\n <div class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <lib-reactive-select formControlName=\"infraDownTime\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"downTimeOptions\" [label]=\"'Downtime'\" ></lib-reactive-select>\r\n </div>\r\n <div *ngIf=\"isInfraV2\" class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <label class=\"form-label\">\r\n Downtime Buffer Time\r\n <span class=\"info-icon\" placement=\"top\"\r\n ngbTooltip=\"No downtime tickets are raised for this long after a store opens, while its cameras are still starting up.\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M8 10.6667V8M8 5.33333H8.00667M14.6667 8A6.66667 6.66667 0 1 1 1.33333 8a6.66667 6.66667 0 0 1 13.33337 0Z\"\r\n stroke=\"currentColor\" stroke-width=\"1.33\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </label>\r\n <lib-reactive-select formControlName=\"downtimeBufferTime\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"downtimeBufferTime\" ></lib-reactive-select>\r\n </div>\r\n <!-- Files is a V1-only field; Infra V2 does not use it. -->\r\n <div *ngIf=\"!isInfraV2\" class=\"col-md-12 col-lg-3 col-xl-3 col-xxl-3 mb-5\">\r\n <label for=\"MinFilesCount\" class=\"form-label\">Files <span class=\"alert-required\"></span></label>\r\n <input type=\"number\" formControlName=\"MinFilesCount\" class=\"form-control\" id=\"MinFilesCount\"\r\n autocomplete=\"off\">\r\n </div>\r\n <!-- RCA Ticket is a V1-only control; Infra V2 does not use it. -->\r\n <div *ngIf=\"!isInfraV2\" class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">RCA Ticket</div>\r\n <div class=\"sub-heading\">Set an alert, if there is no response from the store </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"rcaTicketAssign\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"infraDownTime\" ></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\" >\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">{{ isInfraV2 ? 'Repush Ticket Alert' : 'Refresh Ticket Alert' }}</div>\r\n <div class=\"sub-heading\">Trigger an ticket, if the issue is not resolved or in progress\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-end gap-4\">\r\n <lib-reactive-select *ngIf=\"!isInfraV2\" formControlName=\"refreshAlert\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"rcaTicketAssign\" ></lib-reactive-select>\r\n <lib-reactive-select *ngIf=\"isInfraV2\" class=\"repush-select\" formControlName=\"repushTickets\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"repushTickets\" [label]=\"'Repush Tickets'\" ></lib-reactive-select>\r\n <lib-reactive-select *ngIf=\"isInfraV2\" class=\"repush-select\" formControlName=\"repushBufferTime\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"repushBufferTime\" [label]=\"'Repush Buffer Time'\" ></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Status Check Alert is a V1-only control; Infra V2 does not use it. -->\r\n <div *ngIf=\"!isInfraV2\" class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_2876_59590)\">\r\n <path\r\n d=\"M23.8333 15.5829L15.5 25.5829H23L22.1667 32.2496L30.5 22.2496H23L23.8333 15.5829Z\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2876_59590\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Status Check Alert</div>\r\n <div class=\"sub-heading\">An alert will be sent to the store employee so they can confirm\r\n whether the problem has been fixed.</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"statusCheckAlert\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"infraDownTime\" ></lib-reactive-select>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header \">Data Mismatch (High Count)</div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <label for=\"accuracyPercentage\" class=\"form-label\">Accuracy Percentage less than <span\r\n class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <input min=\"50\" max=\"99\" type=\"number\" formControlName=\"accuracyPercentage\"\r\n class=\"form-control \" id=\"accuracyPercentage\" autocomplete=\"off\">\r\n <svg class=\"inc\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12.666 4.24967L3.33268 13.583M5.99935 5.24967C5.99935 6.17015 5.25316 6.91634 4.33268 6.91634C3.41221 6.91634 2.66602 6.17015 2.66602 5.24967C2.66602 4.3292 3.41221 3.58301 4.33268 3.58301C5.25316 3.58301 5.99935 4.3292 5.99935 5.24967ZM13.3327 12.583C13.3327 13.5035 12.5865 14.2497 11.666 14.2497C10.7455 14.2497 9.99935 13.5035 9.99935 12.583C9.99935 11.6625 10.7455 10.9163 11.666 10.9163C12.5865 10.9163 13.3327 11.6625 13.3327 12.583Z\"\r\n stroke=\"#667085\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <label for=\"reTrain\" class=\"form-label\">Sent to Re-training for (in days) <span\r\n class=\"alert-required\"></span></label>\r\n <div style=\"position: relative;\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('reTrain')?.value > 0 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('reTrain')?.setValue(ticketConfigurationForm.get('reTrain')?.value - 1) : null\"\r\n class=\"dec\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path d=\"M4.16602 10H15.8327\" stroke=\"#667085\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <input readonly type=\"number\" formControlName=\"reTrain\" class=\"form-control inc-dec-input\"\r\n id=\"reTrain\" autocomplete=\"off\">\r\n <svg role=\"button\"\r\n (click)=\"ticketConfigurationForm.get('reTrain')?.value < 12 && ticketConfigurationForm.enabled ? ticketConfigurationForm.get('reTrain')?.setValue(ticketConfigurationForm.get('reTrain')?.value + 1) : null\"\r\n class=\"inc\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <path d=\"M8.00065 3.33337V12.6667M3.33398 8.00004H12.6673\" stroke=\"#667085\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12 mb-7 mt-7\">\r\n <div class=\" w-100 footer-seperator\"></div>\r\n </div>\r\n <div class=\"col-12 mb-7\">\r\n <div class=\"sub-header\">Footfall Directory</div>\r\n </div>\r\n <div class=\"col-12 mb-5\">\r\n <div class=\"custom-input-container\">\r\n <div class=\"d-flex justify-content-between\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-5\" width=\"46\" height=\"47\" viewBox=\"0 0 46 47\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3.91626\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_tagging)\">\r\n <path d=\"M17 17.9163H29V29.9163H17V17.9163Z\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M25 13.9163V17.9163\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M21 13.9163V17.9163\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n <path d=\"M17 21.9163H29\" stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_tagging\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13.9163)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div>\r\n <div class=\"main-heading\">Tagging Restriction Period</div>\r\n <div class=\"sub-heading\">Configure the tagging restriction window as Month or Week</div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <lib-reactive-select formControlName=\"taggingRestriction\" [idField]=\"'value'\" [nameField]=\"'label'\" [data]=\"taggingRestrictionOptions\"></lib-reactive-select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ticketConfigurationForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n</form>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.form-label{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.static-select{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px;height:45px!important;cursor:default;white-space:nowrap;pointer-events:none;background-color:#f9fafb!important;background-image:none!important;padding-right:1rem}.info-icon{display:inline-flex;align-items:center;margin-left:6px;color:var(--Gray-400, #98A2B3);cursor:pointer;vertical-align:middle;transition:color .15s ease}.info-icon:hover{color:var(--Gray-600, #475467)}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[disabled],select[disabled],textarea[disabled],select[readonly],textarea[readonly]{background-color:#f9fafb!important}.footer-seperator{border-top:1px solid #EAECF0}.inc-dec-input{padding-right:30px;padding-left:30px;text-align:center}.inc{height:100%;position:absolute;right:14px;top:0}.dec{height:100%;position:absolute;left:14px;top:0}.sub-header{color:var(--Black, #101828);font-family:Inter;font-size:18px;font-weight:500;line-height:28px}.form-check{display:flex;align-items:center}.form-check-input{height:16px;width:16px;border-radius:4px;border:1px solid var(--Primary-600, #00A3FF)}.form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4SURBVHgBhY7NDUBQEIRnqcJNKXTg6qYTStCB+Isy6IQSNMDa9SLh5eWZZPcw+81kCX/quABhD73QyKXsGoyIvNCJSto2hEhNtY4N9cwYeMXEsVqB1GaSauRQOpty2tSmO3FgloAmF5nEhgyoesMO6CuFW66fn2xdFyA3ZzcRLrMAAAAASUVORK5CYII=);background-color:#eaf8ff;border-color:#00a3ff}.form-check-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.custom-input-container{border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);padding:16px;width:100%}.custom-input-container .main-heading{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.custom-input-container .sub-heading{color:var(--Gray-500, #667085);font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:18px}.custom-input-container .form-select{border-radius:8px;border:1px solid var(--Gray-300, #D0D5DD);box-shadow:0 1px 2px #1018280d;width:134px}.custom-input-container .repush-select{display:block;width:170px}.custom-input-container .form-select[disabled]{background-color:var(--White, #FFF)!important;border:1px solid var(--Gray-200, #EAECF0)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-300, #D0D5DD)!important;font-family:Inter;font-size:14px;font-weight:600;line-height:20px}.custom-input-container .form-check-input{height:16px;width:16px;border-radius:50%;border:1px solid var(--Gray-300, #D0D5DD)}.custom-input-container .form-check-input:checked{--bs-form-check-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAYAAABGbhwYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABJSURBVHgBvc1RCQAgDEXRRTCCkYxiA21gJRsYwSjzgQxENtjXHtwfPTCi0DFzRsWDNt9lD+rymNBCzUQPlI+hIuOUjj48UaWQHcH9cjH96UPaAAAAAElFTkSuQmCC);border:1px solid var(--Primary-600, #00A3FF);background-color:var(--Primary-600, #00A3FF)}\n"] }]
|
|
197
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ClientApiService }, { type: i3.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb25maWd1cmF0aW9ucy90aWNrZXQtY29uZmlndXJhdGlvbi90aWNrZXQtY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb25zL3RpY2tldC1jb25maWd1cmF0aW9uL3RpY2tldC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQVExQyxNQUFNLE9BQU8sNEJBQTRCO0lBZ0huQjtJQUF5QjtJQUFxQztJQUErQjtJQTdHakgsdUJBQXVCLENBQVc7SUFDakIsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFMUMsNEVBQTRFO0lBQzVFLGdFQUFnRTtJQUNoRSxlQUFlLEdBQUc7UUFDaEIsRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFHLEtBQUssRUFBRSxVQUFVLEVBQUU7UUFDbEMsRUFBRSxLQUFLLEVBQUMsSUFBSSxFQUFHLEtBQUssRUFBRSxVQUFVLEVBQUU7S0FDbkMsQ0FBQTtJQUVELDRFQUE0RTtJQUM1RSwwREFBMEQ7SUFDMUQsZUFBZSxHQUFHLEVBQUUsS0FBSyxFQUFDLEdBQUcsRUFBRyxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUE7SUFFbEQsdUVBQXVFO0lBQ3ZFLDBEQUEwRDtJQUMxRCxrQkFBa0IsR0FBRztRQUNuQixFQUFFLEtBQUssRUFBQyxHQUFHLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUMvQixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRTtLQUM1QixDQUFBO0lBRUQsWUFBWSxHQUFHO1FBQ2IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxlQUFlLEVBQUU7UUFDcEMsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxhQUFhLEVBQUU7S0FDbkMsQ0FBQTtJQUVELGFBQWEsR0FBRztRQUNkLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQzNCLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQzVCLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQzVCLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQzVCLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQzVCLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQzVCLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQzVCLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQzVCLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQzVCLEVBQUUsS0FBSyxFQUFDLEVBQUUsRUFBRyxLQUFLLEVBQUUsUUFBUSxFQUFFO1FBQzlCLEVBQUUsS0FBSyxFQUFDLEVBQUUsRUFBRyxLQUFLLEVBQUUsUUFBUSxFQUFFO1FBQzlCLEVBQUUsS0FBSyxFQUFDLEVBQUUsRUFBRyxLQUFLLEVBQUUsUUFBUSxFQUFFO0tBRS9CLENBQUE7SUFFRCxrRUFBa0U7SUFDbEUsMkVBQTJFO0lBQzNFLG1FQUFtRTtJQUNuRSxhQUFhLEdBQUc7UUFDZCxFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUM1QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxDQUFDLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRTtRQUM3QixFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUcsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUMvQixFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUcsS0FBSyxFQUFFLFNBQVMsRUFBRTtRQUMvQixFQUFFLEtBQUssRUFBQyxFQUFFLEVBQUcsS0FBSyxFQUFFLFNBQVMsRUFBRTtLQUVoQyxDQUFBO0lBRUQsZ0JBQWdCLEdBQUc7UUFDakIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxNQUFNLEVBQUU7UUFDM0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUMsRUFBRSxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDOUIsRUFBRSxLQUFLLEVBQUMsRUFBRSxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDOUIsRUFBRSxLQUFLLEVBQUMsRUFBRSxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7S0FFL0IsQ0FBQTtJQUVELHlCQUF5QixHQUFHO1FBQzFCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQ2xDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0tBQ2pDLENBQUE7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQzlFLENBQUM7SUFFRCw2RUFBNkU7SUFDN0UsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzdGLENBQUM7SUFFRCxlQUFlLEdBQUc7UUFDaEIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7UUFDNUIsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDN0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDN0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDN0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDN0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDN0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDN0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDN0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDN0IsRUFBRSxLQUFLLEVBQUMsRUFBRSxFQUFHLEtBQUssRUFBRSxTQUFTLEVBQUU7UUFDL0IsRUFBRSxLQUFLLEVBQUMsRUFBRSxFQUFHLEtBQUssRUFBRSxTQUFTLEVBQUU7UUFDL0IsRUFBRSxLQUFLLEVBQUMsRUFBRSxFQUFHLEtBQUssRUFBRSxTQUFTLEVBQUU7S0FFaEMsQ0FBQTtJQUlELFlBQW9CLEVBQWUsRUFBVSxVQUE0QixFQUFTLEVBQXFCLEVBQVUsR0FBc0I7UUFBbkgsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNySSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzlFLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxzQkFBc0IsRUFBRTtvQkFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7aUJBQzFCO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMzQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6QixXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDcEIsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ25CLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQztZQUN2QixZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakIsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDO1lBQzFCLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsQixlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEIsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNyQixnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQztZQUN4QixnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyQixrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2QixPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDWixrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztTQUM5QixDQUFDLENBQUM7UUFFSCx1RUFBdUU7UUFDdkUsMEVBQTBFO1FBQzFFLG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsWUFBWTthQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEtBQUssR0FBRyxFQUFFO2dCQUN0RixJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoRTtZQUVELHVFQUF1RTtZQUN2RSxtRUFBbUU7WUFDbkUsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNsQixJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvRDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3hDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBUztRQUNqQixJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUNyQztZQUNFLEdBQUcsSUFBSTtTQUNSLEVBQ0QsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkMsQ0FBQTtRQUVELDBFQUEwRTtRQUMxRSw0RUFBNEU7UUFDNUUsZ0ZBQWdGO1FBQ2hGLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDdkUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7WUFFakYsMEVBQTBFO1lBQzFFLDBFQUEwRTtZQUMxRSx5RUFBeUU7WUFDekUsMkVBQTJFO1lBQzNFLHlCQUF5QjtZQUN6QixFQUFFO1lBQ0YsMkVBQTJFO1lBQzNFLHNFQUFzRTtZQUN0RSxzRUFBc0U7WUFDdEUsNEJBQTRCO1lBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxDQUFBO1lBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7WUFDeEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7U0FDMUY7SUFFSCxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUFBO1FBQ2xHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUV4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQTtJQUNsSSxDQUFDO3dHQWpOVSw0QkFBNEI7NEZBQTVCLDRCQUE0QixnRUNYekMsaXN5QkF3V087OzRGRDdWTSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ2xpZW50QXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NsaWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRpY2tldC1jb25maWd1cmF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGlja2V0LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90aWNrZXQtY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpY2tldENvbmZpZ3VyYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuXHJcbiAgdGlja2V0Q29uZmlndXJhdGlvbkZvcm06IEZvcm1Hcm91cFxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAvLyBTdG9yZWQgYXMgYSBzdHJpbmcsIG5vdCBhIG51bWVyaWMgZmxhZyAtIGludGVybmFsX2FwaV92MyBxdWVyaWVzIGZvciAnVjInXHJcbiAgLy8gYW5kIHRoZSBTdW1tYXJ5L1RpY2tldHMgZ2F0ZXMgY29tcGFyZSBhZ2FpbnN0IHRoZSBzYW1lIHZhbHVlLlxyXG4gIGluZnJhVGlja2V0VHlwZSA9IFtcclxuICAgIHsgdmFsdWU6J1YxJyAsIGxhYmVsOiBcIkluZnJhIFYxXCIgfSxcclxuICAgIHsgdmFsdWU6J1YyJyAsIGxhYmVsOiBcIkluZnJhIFYyXCIgfSxcclxuICBdXHJcblxyXG4gIC8vIEluZnJhIFYyIHN1cHBvcnRzIGEgc3ViLWhvdXIgdGhyZXNob2xkOyBWMSBkb2VzIG5vdC4gVmFsdWUgc3RheXMgaW4gaG91cnNcclxuICAvLyBzbyB0aGUgYmFja2VuZCBrZWVwcyByZWFkaW5nIGluZnJhRG93blRpbWUgaW4gb25lIHVuaXQuXHJcbiAgaW5mcmFWMkRvd25UaW1lID0geyB2YWx1ZTowLjUgLCBsYWJlbDogXCIzMCBtaW5zXCIgfVxyXG5cclxuICAvLyBHcmFjZSB3aW5kb3cgYWZ0ZXIgYSBzdG9yZSBvcGVucy4gVHdvIG9wdGlvbnMgb25seSDigJQgdGhleSBtaXJyb3IgdGhlXHJcbiAgLy8gZmxlZXQtc2l6ZSBkZWZhdWx0cy4gSG91cnMsIHNhbWUgdW5pdCBhcyBpbmZyYURvd25UaW1lLlxyXG4gIGRvd250aW1lQnVmZmVyVGltZSA9IFtcclxuICAgIHsgdmFsdWU6MC41ICwgbGFiZWw6IFwiMzAgTWluXCIgfSxcclxuICAgIHsgdmFsdWU6MSAsIGxhYmVsOiBcIjEgSHJcIiB9LFxyXG4gIF1cclxuXHJcbiAgZG93blRpbWVUeXBlID0gW1xyXG4gICAgeyB2YWx1ZTowICwgbGFiZWw6IFwiU2luZ2xlIGNhbWVyYVwiIH0sXHJcbiAgICB7IHZhbHVlOjEgLCBsYWJlbDogXCJBbGwgY2FtZXJhc1wiIH0sXHJcbiAgXVxyXG5cclxuICBpbmZyYURvd25UaW1lID0gW1xyXG4gICAgeyB2YWx1ZToxICwgbGFiZWw6IFwiMSBIclwiIH0sXHJcbiAgICB7IHZhbHVlOjIgLCBsYWJlbDogXCIyIEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjMgLCBsYWJlbDogXCIzIEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjQgLCBsYWJlbDogXCI0IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjUgLCBsYWJlbDogXCI1IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjYgLCBsYWJlbDogXCI2IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjcgLCBsYWJlbDogXCI3IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjggLCBsYWJlbDogXCI4IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjkgLCBsYWJlbDogXCI5IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjEwICwgbGFiZWw6IFwiMTAgSHJzXCIgfSxcclxuICAgIHsgdmFsdWU6MTEgLCBsYWJlbDogXCIxMSBIcnNcIiB9LFxyXG4gICAgeyB2YWx1ZToxMiAsIGxhYmVsOiBcIjEyIEhyc1wiIH0sXHJcblxyXG4gIF1cclxuXHJcbiAgLy8gSW5mcmEgVjIgcmVwdXNoIHdvcmtmbG93LiBJdHMgb3duIG9wdGlvbiBsaXN0cyBvbiBwdXJwb3NlOiBWMSdzXHJcbiAgLy8gcmNhVGlja2V0QXNzaWduIC8gaW5mcmFEb3duVGltZSBhcmUgbm90IHJldXNlZCwgYmVjYXVzZSBWMSdzIHJlZnJlc2ggYW5kXHJcbiAgLy8gVjIncyByZXB1c2ggYXJlIHVucmVsYXRlZCB3b3JrZmxvd3MgYW5kIG11c3QgYmUgZnJlZSB0byBkaXZlcmdlLlxyXG4gIHJlcHVzaFRpY2tldHMgPSBbXHJcbiAgICB7IHZhbHVlOjEgLCBsYWJlbDogXCIxIERheVwiIH0sXHJcbiAgICB7IHZhbHVlOjIgLCBsYWJlbDogXCIyIERheXNcIiB9LFxyXG4gICAgeyB2YWx1ZTozICwgbGFiZWw6IFwiMyBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6NCAsIGxhYmVsOiBcIjQgRGF5c1wiIH0sXHJcbiAgICB7IHZhbHVlOjUgLCBsYWJlbDogXCI1IERheXNcIiB9LFxyXG4gICAgeyB2YWx1ZTo2ICwgbGFiZWw6IFwiNiBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6NyAsIGxhYmVsOiBcIjcgRGF5c1wiIH0sXHJcbiAgICB7IHZhbHVlOjggLCBsYWJlbDogXCI4IERheXNcIiB9LFxyXG4gICAgeyB2YWx1ZTo5ICwgbGFiZWw6IFwiOSBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6MTAgLCBsYWJlbDogXCIxMCBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6MTEgLCBsYWJlbDogXCIxMSBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6MTIgLCBsYWJlbDogXCIxMiBEYXlzXCIgfSxcclxuXHJcbiAgXVxyXG5cclxuICByZXB1c2hCdWZmZXJUaW1lID0gW1xyXG4gICAgeyB2YWx1ZToxICwgbGFiZWw6IFwiMSBIclwiIH0sXHJcbiAgICB7IHZhbHVlOjIgLCBsYWJlbDogXCIyIEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjMgLCBsYWJlbDogXCIzIEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjQgLCBsYWJlbDogXCI0IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjUgLCBsYWJlbDogXCI1IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjYgLCBsYWJlbDogXCI2IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjcgLCBsYWJlbDogXCI3IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjggLCBsYWJlbDogXCI4IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjkgLCBsYWJlbDogXCI5IEhyc1wiIH0sXHJcbiAgICB7IHZhbHVlOjEwICwgbGFiZWw6IFwiMTAgSHJzXCIgfSxcclxuICAgIHsgdmFsdWU6MTEgLCBsYWJlbDogXCIxMSBIcnNcIiB9LFxyXG4gICAgeyB2YWx1ZToxMiAsIGxhYmVsOiBcIjEyIEhyc1wiIH0sXHJcblxyXG4gIF1cclxuXHJcbiAgdGFnZ2luZ1Jlc3RyaWN0aW9uT3B0aW9ucyA9IFtcclxuICAgIHsgdmFsdWU6ICdtb250aCcsIGxhYmVsOiAnTW9udGgnIH0sXHJcbiAgICB7IHZhbHVlOiAnd2VlaycsIGxhYmVsOiAnV2VlaycgfSxcclxuICBdXHJcblxyXG4gIGdldCBpc0luZnJhVjIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50aWNrZXRDb25maWd1cmF0aW9uRm9ybT8uZ2V0KCdpbmZyYVRpY2tldFR5cGUnKT8udmFsdWUgPT09ICdWMic7XHJcbiAgfVxyXG5cclxuICAvLyBEb3dudGltZSBsaXN0IHNob3duIHRvIHRoZSB1c2VyOiBJbmZyYSBWMiBnYWlucyB0aGUgMzAgbWlucyBvcHRpb24gb24gdG9wLlxyXG4gIGdldCBkb3duVGltZU9wdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0luZnJhVjIgPyBbdGhpcy5pbmZyYVYyRG93blRpbWUsIC4uLnRoaXMuaW5mcmFEb3duVGltZV0gOiB0aGlzLmluZnJhRG93blRpbWU7XHJcbiAgfVxyXG5cclxuICByY2FUaWNrZXRBc3NpZ24gPSBbXHJcbiAgICB7IHZhbHVlOjEgLCBsYWJlbDogXCIxIERheVwiIH0sXHJcbiAgICB7IHZhbHVlOjIgLCBsYWJlbDogXCIyIERheXNcIiB9LFxyXG4gICAgeyB2YWx1ZTozICwgbGFiZWw6IFwiMyBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6NCAsIGxhYmVsOiBcIjQgRGF5c1wiIH0sXHJcbiAgICB7IHZhbHVlOjUgLCBsYWJlbDogXCI1IERheXNcIiB9LFxyXG4gICAgeyB2YWx1ZTo2ICwgbGFiZWw6IFwiNiBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6NyAsIGxhYmVsOiBcIjcgRGF5c1wiIH0sXHJcbiAgICB7IHZhbHVlOjggLCBsYWJlbDogXCI4IERheXNcIiB9LFxyXG4gICAgeyB2YWx1ZTo5ICwgbGFiZWw6IFwiOSBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6MTAgLCBsYWJlbDogXCIxMCBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6MTEgLCBsYWJlbDogXCIxMSBEYXlzXCIgfSxcclxuICAgIHsgdmFsdWU6MTIgLCBsYWJlbDogXCIxMiBEYXlzXCIgfSxcclxuXHJcbiAgXVxyXG5cclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFwaVNlcnZpY2U6IENsaWVudEFwaVNlcnZpY2UsIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgdGhpcy5pbml0Rm9ybSgpXHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICBpZiAocmVzLnR5cGUgPT09ICdpbnB1dCcgJiYgcmVzLmZvcm0gPT09ICd0aWNrZXQtY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgICAgIHRoaXMucGF0Y2hGb3JtKHJlcy52YWx1ZSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG5cclxuICBpbml0Rm9ybSgpIHtcclxuICAgIHRoaXMudGlja2V0Q29uZmlndXJhdGlvbkZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgaW5zdGFsbGF0aW9uUmVBc3NpZ246IFswXSxcclxuICAgICAgc2VuZFRvQWRtaW46IFtmYWxzZV0sXHJcbiAgICAgIHNlbmRUb1VzZXI6IFtmYWxzZV0sXHJcbiAgICAgIGluZnJhVGlja2V0VHlwZTogWydWMSddLFxyXG4gICAgICBkb3duVGltZVR5cGU6IFswXSxcclxuICAgICAgaW5mcmFEb3duVGltZTogWzFdLFxyXG4gICAgICBkb3dudGltZUJ1ZmZlclRpbWU6IFtudWxsXSxcclxuICAgICAgTWluRmlsZXNDb3VudDogWzBdLFxyXG4gICAgICByY2FUaWNrZXRBc3NpZ246IFsxXSxcclxuICAgICAgcmVmcmVzaEFsZXJ0OiBbMV0sXHJcbiAgICAgIHJlcHVzaFRpY2tldHM6IFtudWxsXSxcclxuICAgICAgcmVwdXNoQnVmZmVyVGltZTogW251bGxdLFxyXG4gICAgICBzdGF0dXNDaGVja0FsZXJ0OiBbMV0sXHJcbiAgICAgIGFjY3VyYWN5UGVyY2VudGFnZTogWzBdLFxyXG4gICAgICByZVRyYWluOiBbMV0sXHJcbiAgICAgIHRhZ2dpbmdSZXN0cmljdGlvbjogWydtb250aCddLFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gMzAgbWlucyBvbmx5IGV4aXN0cyB1bmRlciBJbmZyYSBWMi4gU3dpdGNoaW5nIGJhY2sgdG8gVjEgd2hpbGUgaXQgaXNcclxuICAgIC8vIHNlbGVjdGVkIHdvdWxkIGxlYXZlIDAuNSBpbiB0aGUgY29udHJvbCB3aXRoIG5vIG1hdGNoaW5nIG9wdGlvbiwgc28gdGhlXHJcbiAgICAvLyBkcm9wZG93biB3b3VsZCByZW5kZXIgYmxhbmsg4oCUIGZhbGwgYmFjayB0byAxIEhyLlxyXG4gICAgdGhpcy50aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ2luZnJhVGlja2V0VHlwZScpPy52YWx1ZUNoYW5nZXNcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gJ1YyJyAmJiB0aGlzLnRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgnaW5mcmFEb3duVGltZScpPy52YWx1ZSA9PT0gMC41KSB7XHJcbiAgICAgICAgICB0aGlzLnRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgnaW5mcmFEb3duVGltZScpPy5zZXRWYWx1ZSgxKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEluZnJhIFYyIHJlbmRlcnMgRG93bnRpbWUgVHlwZSBhcyBmaXhlZCB0ZXh0IHJhdGhlciB0aGFuIGEgZHJvcGRvd24sXHJcbiAgICAgICAgLy8gc28gdGhlIHN0b3JlZCB2YWx1ZSBoYXMgdG8gYmUgZm9yY2VkIHRvIG1hdGNoIHdoYXQgaXMgZGlzcGxheWVkLlxyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ1YyJykge1xyXG4gICAgICAgICAgdGhpcy50aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ2Rvd25UaW1lVHlwZScpPy5zZXRWYWx1ZSgwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMudGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZGlzYWJsZSgpXHJcbiAgfVxyXG5cclxuICBwYXRjaEZvcm0oZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLnBhdGNoVmFsdWUoXHJcbiAgICAgIHtcclxuICAgICAgICAuLi5kYXRhXHJcbiAgICAgIH0sXHJcbiAgICAgIHtlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZX1cclxuICAgIClcclxuXHJcbiAgICAvLyBwYXRjaFZhbHVlIGFib3ZlIHN1cHByZXNzZXMgZXZlbnRzLCBzbyB0aGUgaW5mcmFUaWNrZXRUeXBlIHN1YnNjcmlwdGlvblxyXG4gICAgLy8gZG9lcyBub3QgcnVuIGZvciBhIGNsaWVudCBhbHJlYWR5IHN0b3JlZCBhcyBJbmZyYSBWMiDigJQgZm9yY2UgaXQgaGVyZSB0b28sXHJcbiAgICAvLyBvciBhIHN0b3JlZCBkb3duVGltZVR5cGUgb2YgMSB3b3VsZCBkaXNwbGF5IGFzIFwiU2luZ2xlIGNhbWVyYVwiIGFuZCBzYXZlIGFzIDEuXHJcbiAgICBpZiAodGhpcy50aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ2luZnJhVGlja2V0VHlwZScpPy52YWx1ZSA9PT0gJ1YyJykge1xyXG4gICAgICB0aGlzLnRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgnZG93blRpbWVUeXBlJyk/LnNldFZhbHVlKDAsIHtlbWl0RXZlbnQ6IGZhbHNlfSlcclxuXHJcbiAgICAgIC8vIGxpYi1yZWFjdGl2ZS1zZWxlY3QgcmVzb2x2ZXMgaXRzIHNlbGVjdGVkIG9wdGlvbiBieSBmaWx0ZXJpbmcgYGRhdGFgIGF0XHJcbiAgICAgIC8vIHRoZSBtb21lbnQgd3JpdGVWYWx1ZSBydW5zLCBhbmQgaGFzIG5vIG5nT25DaGFuZ2VzIC0gc28gYSB2YWx1ZSB3cml0dGVuXHJcbiAgICAgIC8vIGJlZm9yZSB0aGUgbGlzdCBncmV3IGlzIG5ldmVyIHJlLXJlc29sdmVkLiBUaGUgZm9ybSBzdGFydHMgYXQgJ1YxJywgc29cclxuICAgICAgLy8gZG93blRpbWVPcHRpb25zIGhhcyBubyAwLjUgZW50cnkgd2hlbiBwYXRjaFZhbHVlIGxhbmRzIGFuZCBhIFYyIGNsaWVudCdzXHJcbiAgICAgIC8vIFwiMzAgbWluc1wiIHNob3dzIGJsYW5rLlxyXG4gICAgICAvL1xyXG4gICAgICAvLyBkZXRlY3RDaGFuZ2VzIHB1c2hlcyB0aGUgd2lkZW5lZCBsaXN0IGludG8gdGhlIHNlbGVjdCBpbiB0aGlzIHNhbWUgdGljayxcclxuICAgICAgLy8gdGhlbiB0aGUgdmFsdWUgaXMgcmUtd3JpdHRlbiBhZ2FpbnN0IGl0LiBEb2luZyB0aGlzIHdpdGggc2V0VGltZW91dFxyXG4gICAgICAvLyBpbnN0ZWFkIGRlZmVycyB0byB0aGUgbmV4dCBtYWNyb3Rhc2ssIHdoaWNoIGlzIHZpc2libGUgYXMgdGhlIGZpZWxkXHJcbiAgICAgIC8vIGZpbGxpbmcgaW4gYSBtb21lbnQgbGF0ZS5cclxuICAgICAgY29uc3QgZG93blRpbWUgPSB0aGlzLnRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgnaW5mcmFEb3duVGltZScpPy52YWx1ZVxyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgdGhpcy50aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ2luZnJhRG93blRpbWUnKT8uc2V0VmFsdWUoZG93blRpbWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSlcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgb25DYW5jZWwoKSB7XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnY2FuY2VsJywgZm9ybTogJ3RpY2tldC1jb25maWd1cmF0aW9uJyB9KVxyXG4gICAgdGhpcy50aWNrZXRDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlKClcclxuXHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIHRoaXMuYXBpU2VydmljZS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHRoaXMudGlja2V0Q29uZmlndXJhdGlvbkZvcm0udmFsdWUsIHR5cGU6ICdzdWJtaXQnLCBmb3JtOiAndGlja2V0LWNvbmZpZ3VyYXRpb24nIH0pXHJcbiAgfVxyXG5cclxuXHJcblxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwidGlja2V0Q29uZmlndXJhdGlvbkZvcm1cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LlRhbmdvQWRtaW5fVGlja2V0Q29uZmlndXJhdGlvbl9pc0VkaXRcIiA+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlZFwiIGNsYXNzPVwiY29sLTEyIG1iLTVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5kaXNhYmxlZCA/IHRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmVuYWJsZSgpIDogdGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZGlzYWJsZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIGFsaWduLWl0ZW1zLWVuZFwiPjxzcGFuIGNsYXNzPVwibWUtMlwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yNTc5XzI1MTI1KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNC4xNjcgMi40OTk5M0MxNC4zODU5IDIuMjgxMDYgMTQuNjQ1NyAyLjEwNzQ0IDE0LjkzMTcgMS45ODg5OUMxNS4yMTc2IDEuODcwNTQgMTUuNTI0MSAxLjgwOTU3IDE1LjgzMzcgMS44MDk1N0MxNi4xNDMyIDEuODA5NTcgMTYuNDQ5NyAxLjg3MDU0IDE2LjczNTcgMS45ODg5OUMxNy4wMjE2IDIuMTA3NDQgMTcuMjgxNSAyLjI4MTA2IDE3LjUwMDMgMi40OTk5M0MxNy43MTkyIDIuNzE4OCAxNy44OTI4IDIuOTc4NjMgMTguMDExMyAzLjI2NDZDMTguMTI5NyAzLjU1MDU3IDE4LjE5MDcgMy44NTcwNiAxOC4xOTA3IDQuMTY2NTlDMTguMTkwNyA0LjQ3NjEyIDE4LjEyOTcgNC43ODI2MiAxOC4wMTEzIDUuMDY4NTlDMTcuODkyOCA1LjM1NDU1IDE3LjcxOTIgNS42MTQzOSAxNy41MDAzIDUuODMzMjZMNi4yNTAzMyAxNy4wODMzTDEuNjY2OTkgMTguMzMzM0wyLjkxNjk5IDEzLjc0OTlMMTQuMTY3IDIuNDk5OTNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yNTc5XzI1MTI1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5FZGl0IERldGFpbHM8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXIgbWItN1wiPkluc3RhbGxhdGlvbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWlucHV0LWNvbnRhaW5lclwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwibWUtNVwiIHdpZHRoPVwiNDZcIiBoZWlnaHQ9XCI0N1wiIHZpZXdCb3g9XCIwIDAgNDYgNDdcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzLjkxNjI2XCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCIjRjJGNEY3XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjMuOTE2MjZcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgc3Ryb2tlPVwiI0Y5RkFGQlwiIHN0cm9rZS13aWR0aD1cIjZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8yODc2XzU5NTkwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjMuODMzMyAxNS41ODI5TDE1LjUgMjUuNTgyOUgyM0wyMi4xNjY3IDMyLjI0OTZMMzAuNSAyMi4yNDk2SDIzTDIzLjgzMzMgMTUuNTgyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yODc2XzU5NTkwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMyAxMy45MTYzKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1oZWFkaW5nXCI+QXV0byBSZS1Bc3NpZ24gSW5zdGFsbGF0aW9uIHRpY2tldHMgaW4gZGF5czwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic3ViLWhlYWRpbmdcIj5UcmlnZ2VyIGFuIHRpY2tldCwgaWYgdGhlIGlzc3VlIGlzIG5vdCByZXNvbHZlZCBvciBpbiBwcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJpbnN0YWxsYXRpb25SZUFzc2lnblwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIiBbZGF0YV09XCJyY2FUaWNrZXRBc3NpZ25cIiA+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8bGFiZWwgZm9yPVwiaW5zdGFsbGF0aW9uUmVBc3NpZ25cIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5BdXRvIFJlLUFzc2lnbiBJbnN0YWxsYXRpb24gdGlja2V0cyBpbiBkYXlzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgnaW5zdGFsbGF0aW9uUmVBc3NpZ24nKT8udmFsdWUgPiAwICYmIHRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmVuYWJsZWQgID8gdGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZ2V0KCdpbnN0YWxsYXRpb25SZUFzc2lnbicpPy5zZXRWYWx1ZSh0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ2luc3RhbGxhdGlvblJlQXNzaWduJyk/LnZhbHVlIC0gMSkgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVjXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNC4xNjYwMiAxMEgxNS44MzI3XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCByZWFkb25seSB0eXBlPVwibnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwiaW5zdGFsbGF0aW9uUmVBc3NpZ25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW5jLWRlYy1pbnB1dFwiIGlkPVwiaW5zdGFsbGF0aW9uUmVBc3NpZ25cIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5lbmFibGVkICA/IHRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgnaW5zdGFsbGF0aW9uUmVBc3NpZ24nKT8uc2V0VmFsdWUodGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZ2V0KCdpbnN0YWxsYXRpb25SZUFzc2lnbicpPy52YWx1ZSArIDEpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImluY1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDY1IDMuMzMzMzdWMTIuNjY2N00zLjMzMzk4IDguMDAwMDRIMTIuNjY3M1wiIHN0cm9rZT1cIiM2NjcwODVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTcgbXQtN1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIHctMTAwIGZvb3Rlci1zZXBlcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1iLTdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1oZWFkZXIgXCI+SW5mcmE8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiYnJhbmROYW1lXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+VG8gd2hvbSBzaG91bGQgdGhpcyBhbGVydCBiZSBzZW50PyA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQtcmVxdWlyZWRcIj48L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWUtMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwic2VuZFRvQWRtaW5cIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgbWUtMlwiIHR5cGU9XCJjaGVja2JveFwiIHZhbHVlPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJzZW5kVG9BZG1pblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBmb3I9XCJzZW5kVG9BZG1pblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBBZG1pblxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInNlbmRUb1VzZXJcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXQgbWUtMlwiIHR5cGU9XCJjaGVja2JveFwiIHZhbHVlPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJmbGV4Q2hlY2tDaGVja2VkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cImZsZXhDaGVja0NoZWNrZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgVXNlclxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTMgY29sLXhsLTMgY29sLXh4bC0zIG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgSW5mcmEgVGlja2V0IFR5cGVcclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby1pY29uXCIgcGxhY2VtZW50PVwidG9wXCJcclxuICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwiTWlncmF0aW9uIGZyb20gSW5mcmEgVjEgdG8gSW5mcmEgVjIgdGFrZXMgZWZmZWN0IGZyb20gdGhlIG5leHQgY3ljbGUuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTggMTAuNjY2N1Y4TTggNS4zMzMzM0g4LjAwNjY3TTE0LjY2NjcgOEE2LjY2NjY3IDYuNjY2NjcgMCAxIDEgMS4zMzMzMyA4YTYuNjY2NjcgNi42NjY2NyAwIDAgMSAxMy4zMzMzNyAwWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwhLS0gUmVhZC1vbmx5LCB0aGUgc2FtZSB0cmVhdG1lbnQgRG93bnRpbWUgVHlwZSBnZXRzIHVuZGVyIFYyOiB0aGVcclxuICAgICAgICAgICAgICAgICB2YWx1ZSBzdGF5cyB2aXNpYmxlLCBhbmQgd2l0aCBubyBjb250cm9sIHJlbmRlcmVkIHRoZSBFZGl0XHJcbiAgICAgICAgICAgICAgICAgYnV0dG9uIGNhbm5vdCByZWFjaCBpdC4gVGhlIGZvcm0gY29udHJvbCBzdGlsbCBob2xkcyB0aGUgdmFsdWUsXHJcbiAgICAgICAgICAgICAgICAgc28gaXNJbmZyYVYyIGFuZCB0aGUgc2F2ZSBwYXlsb2FkIGFyZSB1bmFmZmVjdGVkLiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tc2VsZWN0IHN0YXRpYy1zZWxlY3RcIj57eyBpc0luZnJhVjIgPyAnSW5mcmEgVjInIDogJ0luZnJhIFYxJyB9fTwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNJbmZyYVYyXCIgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTMgY29sLXhsLTMgY29sLXh4bC0zIG1iLTVcIj5cclxuICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZG93blRpbWVUeXBlXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImRvd25UaW1lVHlwZVwiIFtsYWJlbF09XCInRG93bnRpbWUgVHlwZSdcIiA+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gSW5mcmEgVjIgaXMgYWx3YXlzIHNpbmdsZS1jYW1lcmE7IHNob3duIHJlYWQtb25seSBzbyB0aGUgdmFsdWUgc3RheXNcclxuICAgICAgICAgICAgIHZpc2libGUsIGFuZCB3aXRoIG5vIGNvbnRyb2wgcmVuZGVyZWQgdGhlIEVkaXQgYnV0dG9uIGNhbm5vdCByZWFjaCBpdC4gLS0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImlzSW5mcmFWMlwiIGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy0zIGNvbC14bC0zIGNvbC14eGwtMyBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj5Eb3dudGltZSBUeXBlPC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tc2VsZWN0IHN0YXRpYy1zZWxlY3RcIj5TaW5nbGUgY2FtZXJhPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBjb2wtbGctMyBjb2wteGwtMyBjb2wteHhsLTMgbWItNVwiPlxyXG4gICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJpbmZyYURvd25UaW1lXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImRvd25UaW1lT3B0aW9uc1wiIFtsYWJlbF09XCInRG93bnRpbWUnXCIgPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNJbmZyYVYyXCIgY2xhc3M9XCJjb2wtbWQtMTIgY29sLWxnLTMgY29sLXhsLTMgY29sLXh4bC0zIG1iLTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgRG93bnRpbWUgQnVmZmVyIFRpbWVcclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby1pY29uXCIgcGxhY2VtZW50PVwidG9wXCJcclxuICAgICAgICAgICAgICAgICAgICBuZ2JUb29sdGlwPVwiTm8gZG93bnRpbWUgdGlja2V0cyBhcmUgcmFpc2VkIGZvciB0aGlzIGxvbmcgYWZ0ZXIgYSBzdG9yZSBvcGVucywgd2hpbGUgaXRzIGNhbWVyYXMgYXJlIHN0aWxsIHN0YXJ0aW5nIHVwLlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04IDEwLjY2NjdWOE04IDUuMzMzMzNIOC4wMDY2N00xNC42NjY3IDhBNi42NjY2NyA2LjY2NjY3IDAgMSAxIDEuMzMzMzMgOGE2LjY2NjY3IDYuNjY2NjcgMCAwIDEgMTMuMzMzMzcgMFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4zM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJkb3dudGltZUJ1ZmZlclRpbWVcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwiZG93bnRpbWVCdWZmZXJUaW1lXCIgPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIEZpbGVzIGlzIGEgVjEtb25seSBmaWVsZDsgSW5mcmEgVjIgZG9lcyBub3QgdXNlIGl0LiAtLT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzSW5mcmFWMlwiIGNsYXNzPVwiY29sLW1kLTEyIGNvbC1sZy0zIGNvbC14bC0zIGNvbC14eGwtMyBtYi01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJNaW5GaWxlc0NvdW50XCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+RmlsZXMgPHNwYW4gY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cIk1pbkZpbGVzQ291bnRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiTWluRmlsZXNDb3VudFwiXHJcbiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIFJDQSBUaWNrZXQgaXMgYSBWMS1vbmx5IGNvbnRyb2w7IEluZnJhIFYyIGRvZXMgbm90IHVzZSBpdC4gLS0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFpc0luZnJhVjJcIiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20taW5wdXQtY29udGFpbmVyXCIgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJtZS01XCIgd2lkdGg9XCI0NlwiIGhlaWdodD1cIjQ3XCIgdmlld0JveD1cIjAgMCA0NiA0N1wiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjMuOTE2MjZcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIiNGMkY0RjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjNcIiB5PVwiMy45MTYyNlwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiMjBcIiBzdHJva2U9XCIjRjlGQUZCXCIgc3Ryb2tlLXdpZHRoPVwiNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzI4NzZfNTk1OTApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMy44MzMzIDE1LjU4MjlMMTUuNSAyNS41ODI5SDIzTDIyLjE2NjcgMzIuMjQ5NkwzMC41IDIyLjI0OTZIMjNMMjMuODMzMyAxNS41ODI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI4NzZfNTk1OTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEzIDEzLjkxNjMpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWhlYWRpbmdcIj5SQ0EgVGlja2V0PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLWhlYWRpbmdcIj5TZXQgYW4gYWxlcnQsIGlmIHRoZXJlIGlzIG5vIHJlc3BvbnNlIGZyb20gdGhlIHN0b3JlIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJyY2FUaWNrZXRBc3NpZ25cIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwiaW5mcmFEb3duVGltZVwiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20taW5wdXQtY29udGFpbmVyXCIgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJtZS01XCIgd2lkdGg9XCI0NlwiIGhlaWdodD1cIjQ3XCIgdmlld0JveD1cIjAgMCA0NiA0N1wiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjMuOTE2MjZcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIiNGMkY0RjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjNcIiB5PVwiMy45MTYyNlwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiMjBcIiBzdHJva2U9XCIjRjlGQUZCXCIgc3Ryb2tlLXdpZHRoPVwiNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzI4NzZfNTk1OTApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMy44MzMzIDE1LjU4MjlMMTUuNSAyNS41ODI5SDIzTDIyLjE2NjcgMzIuMjQ5NkwzMC41IDIyLjI0OTZIMjNMMjMuODMzMyAxNS41ODI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI4NzZfNTk1OTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEzIDEzLjkxNjMpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWhlYWRpbmdcIj57eyBpc0luZnJhVjIgPyAnUmVwdXNoIFRpY2tldCBBbGVydCcgOiAnUmVmcmVzaCBUaWNrZXQgQWxlcnQnIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViLWhlYWRpbmdcIj5UcmlnZ2VyIGFuIHRpY2tldCwgaWYgdGhlIGlzc3VlIGlzIG5vdCByZXNvbHZlZCBvciBpbiBwcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kIGdhcC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0ICpuZ0lmPVwiIWlzSW5mcmFWMlwiIGZvcm1Db250cm9sTmFtZT1cInJlZnJlc2hBbGVydFwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIiBbZGF0YV09XCJyY2FUaWNrZXRBc3NpZ25cIiA+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCAqbmdJZj1cImlzSW5mcmFWMlwiIGNsYXNzPVwicmVwdXNoLXNlbGVjdFwiIGZvcm1Db250cm9sTmFtZT1cInJlcHVzaFRpY2tldHNcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwicmVwdXNoVGlja2V0c1wiIFtsYWJlbF09XCInUmVwdXNoIFRpY2tldHMnXCIgPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgKm5nSWY9XCJpc0luZnJhVjJcIiBjbGFzcz1cInJlcHVzaC1zZWxlY3RcIiBmb3JtQ29udHJvbE5hbWU9XCJyZXB1c2hCdWZmZXJUaW1lXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cInJlcHVzaEJ1ZmZlclRpbWVcIiBbbGFiZWxdPVwiJ1JlcHVzaCBCdWZmZXIgVGltZSdcIiA+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gU3RhdHVzIENoZWNrIEFsZXJ0IGlzIGEgVjEtb25seSBjb250cm9sOyBJbmZyYSBWMiBkb2VzIG5vdCB1c2UgaXQuIC0tPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNJbmZyYVYyXCIgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJtZS01XCIgd2lkdGg9XCI0NlwiIGhlaWdodD1cIjQ3XCIgdmlld0JveD1cIjAgMCA0NiA0N1wiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjMuOTE2MjZcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIiNGMkY0RjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjNcIiB5PVwiMy45MTYyNlwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiMjBcIiBzdHJva2U9XCIjRjlGQUZCXCIgc3Ryb2tlLXdpZHRoPVwiNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzI4NzZfNTk1OTApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yMy44MzMzIDE1LjU4MjlMMTUuNSAyNS41ODI5SDIzTDIyLjE2NjcgMzIuMjQ5NkwzMC41IDIyLjI0OTZIMjNMMjMuODMzMyAxNS41ODI5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzI4NzZfNTk1OTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEzIDEzLjkxNjMpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWhlYWRpbmdcIj5TdGF0dXMgQ2hlY2sgQWxlcnQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaGVhZGluZ1wiPkFuIGFsZXJ0IHdpbGwgYmUgc2VudCB0byB0aGUgc3RvcmUgZW1wbG95ZWUgc28gdGhleSBjYW4gY29uZmlybVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXRoZXIgdGhlIHByb2JsZW0gaGFzIGJlZW4gZml4ZWQuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInN0YXR1c0NoZWNrQWxlcnRcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwiaW5mcmFEb3duVGltZVwiID48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi03IG10LTdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiB3LTEwMCBmb290ZXItc2VwZXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi03XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaGVhZGVyIFwiPkRhdGEgTWlzbWF0Y2ggKEhpZ2ggQ291bnQpPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtYi01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJhY2N1cmFjeVBlcmNlbnRhZ2VcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5BY2N1cmFjeSBQZXJjZW50YWdlIGxlc3MgdGhhbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtaW49XCI1MFwiIG1heD1cIjk5XCIgdHlwZT1cIm51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cImFjY3VyYWN5UGVyY2VudGFnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBcIiBpZD1cImFjY3VyYWN5UGVyY2VudGFnZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaW5jXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxN1wiIHZpZXdCb3g9XCIwIDAgMTYgMTdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMi42NjYgNC4yNDk2N0wzLjMzMjY4IDEzLjU4M001Ljk5OTM1IDUuMjQ5NjdDNS45OTkzNSA2LjE3MDE1IDUuMjUzMTYgNi45MTYzNCA0LjMzMjY4IDYuOTE2MzRDMy40MTIyMSA2LjkxNjM0IDIuNjY2MDIgNi4xNzAxNSAyLjY2NjAyIDUuMjQ5NjdDMi42NjYwMiA0LjMyOTIgMy40MTIyMSAzLjU4MzAxIDQuMzMyNjggMy41ODMwMUM1LjI1MzE2IDMuNTgzMDEgNS45OTkzNSA0LjMyOTIgNS45OTkzNSA1LjI0OTY3Wk0xMy4zMzI3IDEyLjU4M0MxMy4zMzI3IDEzLjUwMzUgMTIuNTg2NSAxNC4yNDk3IDExLjY2NiAxNC4yNDk3QzEwLjc0NTUgMTQuMjQ5NyA5Ljk5OTM1IDEzLjUwMzUgOS45OTkzNSAxMi41ODNDOS45OTkzNSAxMS42NjI1IDEwLjc0NTUgMTAuOTE2MyAxMS42NjYgMTAuOTE2M0MxMi41ODY1IDEwLjkxNjMgMTMuMzMyNyAxMS42NjI1IDEzLjMzMjcgMTIuNTgzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVUcmFpblwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlNlbnQgdG8gUmUtdHJhaW5pbmcgZm9yIChpbiBkYXlzKSA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbGVydC1yZXF1aXJlZFwiPjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgcm9sZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidGlja2V0Q29uZmlndXJhdGlvbkZvcm0uZ2V0KCdyZVRyYWluJyk/LnZhbHVlID4gMCAmJiB0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5lbmFibGVkICA/IHRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgncmVUcmFpbicpPy5zZXRWYWx1ZSh0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ3JlVHJhaW4nKT8udmFsdWUgLSAxKSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkZWNcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk00LjE2NjAyIDEwSDE1LjgzMjdcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHJlYWRvbmx5IHR5cGU9XCJudW1iZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJyZVRyYWluXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaW5jLWRlYy1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInJlVHJhaW5cIiBhdXRvY29tcGxldGU9XCJvZmZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ3JlVHJhaW4nKT8udmFsdWUgPCAxMiAmJiB0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5lbmFibGVkICA/IHRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmdldCgncmVUcmFpbicpPy5zZXRWYWx1ZSh0aWNrZXRDb25maWd1cmF0aW9uRm9ybS5nZXQoJ3JlVHJhaW4nKT8udmFsdWUgKyAxKSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbmNcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC4wMDA2NSAzLjMzMzM3VjEyLjY2NjdNMy4zMzM5OCA4LjAwMDA0SDEyLjY2NzNcIiBzdHJva2U9XCIjNjY3MDg1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNyBtdC03XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIiB3LTEwMCBmb290ZXItc2VwZXJhdG9yXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItN1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaGVhZGVyXCI+Rm9vdGZhbGwgRGlyZWN0b3J5PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWItNVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20taW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cIm1lLTVcIiB3aWR0aD1cIjQ2XCIgaGVpZ2h0PVwiNDdcIiB2aWV3Qm94PVwiMCAwIDQ2IDQ3XCIgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjMuOTE2MjZcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIiNGMkY0RjdcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzLjkxNjI2XCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIHN0cm9rZT1cIiNGOUZBRkJcIiBzdHJva2Utd2lkdGg9XCI2XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF90YWdnaW5nKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNyAxNy45MTYzSDI5VjI5LjkxNjNIMTdWMTcuOTE2M1pcIiBzdHJva2U9XCIjNDc1NDY3XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTI1IDEzLjkxNjNWMTcuOTE2M1wiIHN0cm9rZT1cIiM0NzU0NjdcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjEgMTMuOTE2M1YxNy45MTYzXCIgc3Ryb2tlPVwiIzQ3NTQ2N1wiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNyAyMS45MTYzSDI5XCIgc3Ryb2tlPVwiIzQ3NTQ2N1wiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfdGFnZ2luZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMyAxMy45MTYzKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4taGVhZGluZ1wiPlRhZ2dpbmcgUmVzdHJpY3Rpb24gUGVyaW9kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWItaGVhZGluZ1wiPkNvbmZpZ3VyZSB0aGUgdGFnZ2luZyByZXN0cmljdGlvbiB3aW5kb3cgYXMgTW9udGggb3IgV2VlazwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInRhZ2dpbmdSZXN0cmljdGlvblwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIiBbZGF0YV09XCJ0YWdnaW5nUmVzdHJpY3Rpb25PcHRpb25zXCI+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cInRpY2tldENvbmZpZ3VyYXRpb25Gb3JtLmVuYWJsZWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItNSB3LTEwMCBmb290ZXItc2VwZXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgICAgICAgIDxhIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBtZS00XCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5DYW5jZWw8L2E+XHJcbiAgICAgICAgICAgIDxhIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBweC00IFwiIChjbGljayk9XCJvblN1Ym1pdCgpXCI+PHNwYW4+U2F2ZSBDaGFuZ2VzPC9zcGFuPjwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9mb3JtPiJdfQ==
|