vcomply-workflow-engine 6.0.35 → 6.0.37
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/add-multiple-responsibility/add-multiple-responsibility.component.mjs +13 -11
- package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +13 -11
- package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +15 -13
- package/esm2022/lib/create-documents/create-documents.component.mjs +12 -7
- package/esm2022/lib/interfaces/responsibilty.interface.mjs +1 -1
- package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +29 -27
- package/esm2022/lib/more-option/more-option.component.mjs +66 -8
- package/esm2022/lib/report-a-case/components/due-date/due-date.component.mjs +6 -6
- package/esm2022/lib/report-a-case/components/report-date/report-date.component.mjs +8 -8
- package/esm2022/lib/report-a-case/constants/report-case.constants.mjs +3 -3
- package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +40 -37
- package/esm2022/lib/services/iframe.service.mjs +31 -0
- package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +13 -11
- package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +1 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +1 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +1 -3
- package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +1 -3
- package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +1 -2
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +1 -69
- package/esm2022/lib/sharedComponents/policy-template/policy-template.module.mjs +7 -3
- package/esm2022/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.mjs +5 -4
- package/esm2022/lib/sharedComponents/policy-template/view-policy/view-policy.module.mjs +8 -9
- package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +20 -20
- package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +14 -12
- package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +26 -22
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +52 -93
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +4 -15
- package/esm2022/lib/workflow-engine.module.mjs +6 -13
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +37 -35
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +252 -93
- package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +31 -29
- package/esm2022/lib/workflow-services/programs.service.mjs +112 -28
- package/esm2022/lib/workflow-services/responsibility.service.mjs +9 -9
- package/fesm2022/vcomply-workflow-engine.mjs +650 -893
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +3 -1
- package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +3 -1
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +4 -2
- package/lib/create-documents/create-documents.component.d.ts +3 -1
- package/lib/interfaces/responsibilty.interface.d.ts +1 -1
- package/lib/log-an-issue/log-an-issue.component.d.ts +3 -1
- package/lib/report-a-case/components/due-date/due-date.component.d.ts +1 -3
- package/lib/report-a-case/constants/report-case.constants.d.ts +1 -1
- package/lib/report-a-case/workflow-case/workflow-case.component.d.ts +3 -1
- package/lib/services/iframe.service.d.ts +6 -0
- package/lib/sharedComponents/document-section/document-section.component.d.ts +3 -1
- package/lib/sharedComponents/frequency/frequency.service.d.ts +0 -11
- package/lib/sharedComponents/policy-template/policy-template.module.d.ts +2 -1
- package/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.d.ts +1 -0
- package/lib/sharedComponents/policy-template/view-policy/view-policy.module.d.ts +1 -4
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +3 -1
- package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +3 -1
- package/lib/workflow-assessment/workflow-assessment.component.d.ts +4 -2
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +4 -17
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -3
- package/lib/workflow-engine.module.d.ts +40 -42
- package/lib/workflow-policy/workflow-policy.component.d.ts +3 -1
- package/lib/workflow-program/workflow-program.component.d.ts +5 -5
- package/lib/workflow-risk/workflow-risk.component.d.ts +5 -3
- package/lib/workflow-services/programs.service.d.ts +53 -13
- package/package.json +1 -1
- package/esm2022/lib/constants/mock.mjs +0 -130
- package/esm2022/lib/interfaces/frequency.interface.mjs +0 -2
- package/esm2022/lib/sharedComponents/list-container/list-container.component.mjs +0 -50
- package/esm2022/lib/sharedComponents/policy-template/view-policy/view-policy/view-policy.component.mjs +0 -93
- package/esm2022/lib/sharedComponents/program-list/constant.mjs +0 -10
- package/esm2022/lib/sharedComponents/program-list/interfaces/data-source.interface.mjs +0 -2
- package/esm2022/lib/sharedComponents/program-list/interfaces/list-item.interface.mjs +0 -2
- package/esm2022/lib/sharedComponents/program-list/interfaces/selection-predicate.interface.mjs +0 -2
- package/esm2022/lib/sharedComponents/program-list/program-list/program-list.component.mjs +0 -141
- package/esm2022/lib/sharedComponents/program-list/program-list.module.mjs +0 -36
- package/esm2022/lib/sharedComponents/program-list/services/list-utils.service.mjs +0 -27
- package/lib/constants/mock.d.ts +0 -15
- package/lib/interfaces/frequency.interface.d.ts +0 -36
- package/lib/sharedComponents/list-container/list-container.component.d.ts +0 -9
- package/lib/sharedComponents/policy-template/view-policy/view-policy/view-policy.component.d.ts +0 -25
- package/lib/sharedComponents/program-list/constant.d.ts +0 -5
- package/lib/sharedComponents/program-list/interfaces/data-source.interface.d.ts +0 -4
- package/lib/sharedComponents/program-list/interfaces/list-item.interface.d.ts +0 -5
- package/lib/sharedComponents/program-list/interfaces/selection-predicate.interface.d.ts +0 -3
- package/lib/sharedComponents/program-list/program-list/program-list.component.d.ts +0 -38
- package/lib/sharedComponents/program-list/program-list.module.d.ts +0 -11
- package/lib/sharedComponents/program-list/services/list-utils.service.d.ts +0 -7
|
@@ -8,41 +8,43 @@ import * as i2 from "../../workflow-services/ui-kit.service";
|
|
|
8
8
|
import * as i3 from "../../workflow-services/organization-user.service";
|
|
9
9
|
import * as i4 from "../../workflow-services/responsibility.service";
|
|
10
10
|
import * as i5 from "../../workflow-services/common-workflow-services/compliance-common.service";
|
|
11
|
-
import * as i6 from "
|
|
12
|
-
import * as i7 from "
|
|
13
|
-
import * as i8 from "../../
|
|
14
|
-
import * as i9 from "
|
|
15
|
-
import * as i10 from "
|
|
16
|
-
import * as i11 from "../../ui-kit/popover/popover.
|
|
17
|
-
import * as i12 from "
|
|
18
|
-
import * as i13 from "
|
|
19
|
-
import * as i14 from "../../sharedComponents/
|
|
20
|
-
import * as i15 from "../../
|
|
21
|
-
import * as i16 from "../../
|
|
22
|
-
import * as i17 from "../../sharedComponents/
|
|
23
|
-
import * as i18 from "
|
|
24
|
-
import * as i19 from "../components/
|
|
25
|
-
import * as i20 from "../components/
|
|
26
|
-
import * as i21 from "../components/
|
|
27
|
-
import * as i22 from "../components/
|
|
28
|
-
import * as i23 from "../components/
|
|
29
|
-
import * as i24 from "../components/
|
|
30
|
-
import * as i25 from "../components/
|
|
31
|
-
import * as i26 from "../components/
|
|
32
|
-
import * as i27 from "../components/case-
|
|
33
|
-
import * as i28 from "../components/case-
|
|
34
|
-
import * as i29 from "../components/case-
|
|
35
|
-
import * as i30 from "../components/case-
|
|
36
|
-
import * as i31 from "../components/
|
|
37
|
-
import * as i32 from "../components/linked
|
|
38
|
-
import * as i33 from "
|
|
11
|
+
import * as i6 from "../../services/iframe.service";
|
|
12
|
+
import * as i7 from "@angular/common";
|
|
13
|
+
import * as i8 from "../../ui-kit/tooltip/tooltip.directive";
|
|
14
|
+
import * as i9 from "../../formgroup/cs-radio/cs-radio.component";
|
|
15
|
+
import * as i10 from "@vcomply/editor";
|
|
16
|
+
import * as i11 from "../../ui-kit/popover/popover.component";
|
|
17
|
+
import * as i12 from "../../ui-kit/popover/popover.directive";
|
|
18
|
+
import * as i13 from "@angular/forms";
|
|
19
|
+
import * as i14 from "../../sharedComponents/format-and-evidence/format-and-evidence.component";
|
|
20
|
+
import * as i15 from "../../sharedComponents/v-loader/loader-inline/loader-inline.component";
|
|
21
|
+
import * as i16 from "../../ui-kit/smiley-dialog-inline/smiley-dialog-inline.component";
|
|
22
|
+
import * as i17 from "../../sharedComponents/directive/scroll-in-view.directive";
|
|
23
|
+
import * as i18 from "../../sharedComponents/checkbox-list/checkbox-list.component";
|
|
24
|
+
import * as i19 from "../components/case-type-slider/case-type.component";
|
|
25
|
+
import * as i20 from "../components/information-block/information-block.component";
|
|
26
|
+
import * as i21 from "../components/case-details/case-details.component";
|
|
27
|
+
import * as i22 from "../components/vc-label/vc-label.component";
|
|
28
|
+
import * as i23 from "../components/field-holder/field-holder.component";
|
|
29
|
+
import * as i24 from "../components/rc-details/rc-details.component";
|
|
30
|
+
import * as i25 from "../components/case-type-dropdown/case-dropdown.component";
|
|
31
|
+
import * as i26 from "../components/report-date/report-date.component";
|
|
32
|
+
import * as i27 from "../components/case-priority/case-priority.component";
|
|
33
|
+
import * as i28 from "../components/case-category/case-category.component";
|
|
34
|
+
import * as i29 from "../components/case-resolution-deadline/case-resolution-deadline.component";
|
|
35
|
+
import * as i30 from "../components/case-assignees/case-assignees.component";
|
|
36
|
+
import * as i31 from "../components/case-owners/case-owners.component";
|
|
37
|
+
import * as i32 from "../components/linked assessment/linked-assessment.component";
|
|
38
|
+
import * as i33 from "../components/linked-responsibilities/linked-responsibilities.component";
|
|
39
|
+
import * as i34 from "../../pipes/space-breaker.pipe";
|
|
39
40
|
export class WorkflowCaseComponent {
|
|
40
|
-
constructor(reportACaseService, uiKitService, organizationUserService, responsibilityService, complianceCommonService) {
|
|
41
|
+
constructor(reportACaseService, uiKitService, organizationUserService, responsibilityService, complianceCommonService, iframeService) {
|
|
41
42
|
this.reportACaseService = reportACaseService;
|
|
42
43
|
this.uiKitService = uiKitService;
|
|
43
44
|
this.organizationUserService = organizationUserService;
|
|
44
45
|
this.responsibilityService = responsibilityService;
|
|
45
46
|
this.complianceCommonService = complianceCommonService;
|
|
47
|
+
this.iframeService = iframeService;
|
|
46
48
|
this.reportTexts = REPORT_CASE;
|
|
47
49
|
this.ASSETS = ASSETS;
|
|
48
50
|
this.caseType = report;
|
|
@@ -159,7 +161,7 @@ export class WorkflowCaseComponent {
|
|
|
159
161
|
populateReportCasePayload(data) {
|
|
160
162
|
this.payload.name = data?.name;
|
|
161
163
|
this.payload.description = data?.description;
|
|
162
|
-
this.payload.
|
|
164
|
+
this.payload.occurrence_date = new Date(data?.occurrence_date);
|
|
163
165
|
this.payload.priority = data?.priority;
|
|
164
166
|
this.payload.case_type = data?.case_type;
|
|
165
167
|
this.payload.rc_details = data?.rc_details;
|
|
@@ -172,6 +174,7 @@ export class WorkflowCaseComponent {
|
|
|
172
174
|
this.addToCasePayload.name = data?.name;
|
|
173
175
|
this.addToCasePayload.description = data?.description;
|
|
174
176
|
this.addToCasePayload.priority = data?.priority;
|
|
177
|
+
this.addToCasePayload.occurrence_date = new Date(data?.occurrence_date);
|
|
175
178
|
this.addToCasePayload.case_type = data?.case_type;
|
|
176
179
|
this.addToCasePayload.rc_details = data?.rc_details;
|
|
177
180
|
this.addToCasePayload.risk_class = data?.risk_class;
|
|
@@ -341,7 +344,7 @@ export class WorkflowCaseComponent {
|
|
|
341
344
|
return (this.validateName(payload.name) &&
|
|
342
345
|
this.validateDescription(payload.description.text) &&
|
|
343
346
|
this.validateCaseType(payload.case_type.id) &&
|
|
344
|
-
this.validateReportDate(payload.
|
|
347
|
+
this.validateReportDate(payload.occurrence_date));
|
|
345
348
|
}
|
|
346
349
|
checkAddToCaseValidation(payload) {
|
|
347
350
|
return (this.validateName(payload?.name) &&
|
|
@@ -700,7 +703,7 @@ export class WorkflowCaseComponent {
|
|
|
700
703
|
urlSubstring = '/case/reported-cases/reported-by-me';
|
|
701
704
|
}
|
|
702
705
|
url = 'https://' + window.location.host + urlSubstring;
|
|
703
|
-
|
|
706
|
+
this.iframeService.redirectIfInIframe(url, true);
|
|
704
707
|
this.resetForm();
|
|
705
708
|
this.closeSmiley();
|
|
706
709
|
}
|
|
@@ -794,13 +797,13 @@ export class WorkflowCaseComponent {
|
|
|
794
797
|
(this.loader.permissionLoader && this.workflowType === 'ACTW') ||
|
|
795
798
|
this.loader.reportCaseLoader);
|
|
796
799
|
}
|
|
797
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WorkflowCaseComponent, deps: [{ token: i1.ReportACaseService }, { token: i2.UiKitService }, { token: i3.OrganizationUserService }, { token: i4.ResponsibilityService }, { token: i5.ComplianceCommonService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
798
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WorkflowCaseComponent, selector: "app-workflow-case", inputs: { openedFrom: "openedFrom", source: "source", caseId: "caseId", mode: "mode", workflowType: "workflowType", responsibilityData: "responsibilityData", assessmentQuestion: "assessmentQuestion", caseTypePermission: "caseTypePermission" }, outputs: { closeWorkflow: "closeWorkflow", populateOption: "populateOption", caseReportedBy: "caseReportedBy", userListEmitter: "userListEmitter", disconnectRefresh: "disconnectRefresh", pickerChanged: "pickerChanged" }, ngImport: i0, template: "<div *ngIf=\"!showSmiley\" class=\"workflow-case\">\n <app-case-type\n *ngIf=\"mode !== 'EDIT' && caseTypePermission\"\n [fieldSelected]=\"fieldClicked\"\n (caseTypeChange)=\"onCaseTypeChange($event)\"\n ></app-case-type>\n <app-linked-responsibilities\n *ngIf=\"['COMPLIANCE_WORKROOM', 'ASSESSMENT'].includes(openedFrom)\"\n [payload]=\"caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\"\n [openedFrom]=\"openedFrom\"\n [fieldSelected]=\"fieldClicked\"\n [responsibilityData]=\"responsibilityData\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-linked-responsibilities>\n <app-linked-assessment\n *ngIf=\"openedFrom === 'ASSESSMENT'\"\n [payload]=\"payload\"\n [openedFrom]=\"openedFrom\"\n [fieldSelected]=\"fieldClicked\"\n [responsibilityData]=\"responsibilityData\"\n [assessmentQuestion]=\"assessmentQuestion\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-linked-assessment>\n <app-case-details\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [caseTypeSelected]=\"caseTypeSelected\"\n ></app-case-details>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n CASE DETAILS\n </span>\n <app-information-block\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n ></app-information-block> \n <app-rc-details\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.rc_details\n : addToCasePayload?.rc_details\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (onRcChange)=\"onRcChange($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-rc-details>\n <app-case-type-dropdown\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.case_type\n : addToCasePayload?.case_type\n \"\n [mode]=\"mode\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [workflowType]=\"workflowType\"\n (onCaseTypeChange)=\"onCaseTypeDropdownChange($event)\"\n (onCaseTypeLoading)=\"onCaseLoader($event, 'type')\"\n ></app-case-type-dropdown>\n <app-case-category\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.category\n : addToCasePayload?.category\n \"\n [initialAdditionalSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.additional_category\n : addToCasePayload?.additional_category\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (onCategoryChange)=\"onCategoryChange($event)\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-category>\n <app-report-date\n *ngIf=\"caseTypeSelected === caseType.REPORT_CASE\"\n [payload]=\"payload\"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-report-date>\n <app-case-priority\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.priority\n : addToCasePayload?.priority\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (onPriorityChange)=\"onPriorityChange($event)\"\n (onPriorityLoader)=\"onCaseLoader($event, 'priority')\"\n ></app-case-priority>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n USER DETAILS\n </span>\n <app-case-owners\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow?.owners\"\n [workflowId]=\"addToCasePayload?.caseToWorkflow?.workflow_id\"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [mode]=\"mode\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-owners>\n <app-case-assignees\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [fieldSelected]=\"fieldClicked\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow\"\n [userList]=\"userList\"\n [groupList]=\"groupList\"\n [validationError]=\"validationError\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-assignees>\n <app-field-holder\n *ngIf=\"caseTypeSelected === caseType.REPORT_CASE\"\n [image]=\"ASSETS.format_evidence\"\n [disabled]=\"fieldSelector?.includes(fieldClicked)\"\n [checked]=\"payload?.supporting_documents?.length\"\n >\n <ng-container field>\n <app-vc-label\n label\n [labelText]=\"reportTexts.case_details.attachments.title\"\n ></app-vc-label>\n <app-format-and-evidence\n (updateFiles)=\"saveSupportingDocument($event)\"\n [mode]=\"'reportACase'\"\n [formatEvidanceData]=\"payload?.supporting_documents\"\n ></app-format-and-evidence>\n </ng-container>\n </app-field-holder>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4 vx-mb-4\"\n >\n CASE RESOLUTION DETAILS\n </span>\n <app-case-resolution-deadline\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [userList]=\"userList\"\n [groupList]=\"groupList\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow\"\n [fieldSelected]=\"fieldClicked\"\n [mode]=\"mode\"\n (fieldClicked)=\"onFieldClicked($event)\"\n [validationError]=\"validationError\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-resolution-deadline>\n <span\n *ngIf=\"\n caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW &&\n displayAdditionalOptions\n \"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n ADDITIONAL OPTIONS\n </span>\n <!-- Exception Type -->\n <app-field-holder\n *ngIf=\"\n additionalOptionStatus.EXCEPTION_TYPE &&\n caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\n \"\n [scrollToBottom]=\"scrollToBottom\"\n [active]=\"false\"\n [disabled]=\"fieldSelector?.includes(fieldClicked)\"\n [checked]=\"addToCasePayload?.caseToWorkflow?.exception_type\"\n [image]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg'\n \"\n >\n <ng-container field>\n <label class=\"vx-control-panel\">Exception Type</label>\n <app-cs-radio\n class=\"main-filed\"\n [value]=\"exceptionType.DESIGN_EXCEPTION\"\n name=\"exception-type\"\n [checked]=\"\n addToCasePayload?.caseToWorkflow?.exception_type ===\n exceptionType.DESIGN_EXCEPTION\n \"\n (checkedEvent)=\"setException(exceptionType.DESIGN_EXCEPTION)\"\n >Design Exception\n </app-cs-radio>\n <app-cs-radio\n class=\"main-filed\"\n [value]=\"exceptionType.EFFECTIVENESS_EXCEPTION\"\n name=\"exception-type\"\n [checked]=\"\n addToCasePayload?.caseToWorkflow?.exception_type ===\n exceptionType.EFFECTIVENESS_EXCEPTION\n \"\n (checkedEvent)=\"setException(exceptionType.EFFECTIVENESS_EXCEPTION)\"\n >Effectiveness Exception\n </app-cs-radio>\n </ng-container>\n </app-field-holder>\n\n <!-- Associated Risks -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.ASSOCIATED_RISKS\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"addToCasePayload?.caseToWorkflow?.associated_risks?.text\"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg\"\n alt=\"im\"\n *ngIf=\"\n !addToCasePayload?.caseToWorkflow?.associated_risks?.text?.trim()\n ?.length\n \"\n />\n\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.text?.trim()\n .length\n \"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Associated Risks </label>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let uploadingFile of addToCasePayload?.caseToWorkflow\n ?.associated_risks?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ uploadingFile }}</span>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let file of addToCasePayload?.caseToWorkflow?.associated_risks\n ?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ file?.name }}</span>\n <button>\n <i class=\"icons\" (click)=\"deleteFile(file, 'ASSOCIATED_RISKS')\"\n ></i\n >\n </button>\n </div>\n </div>\n </ng-container>\n <vcomply-editor\n [(ngModel)]=\"addToCasePayload.caseToWorkflow.associated_risks.text\"\n [editorConfig]=\"{\n mode: 'prime',\n colorPalette: true,\n link: true,\n file: false,\n placeholder: 'Associated Risks'\n }\"\n (clickOutside)=\"checkDescription()\"\n (sendSavedFiles)=\"selectFile('ASSOCIATED_RISKS', $event)\"\n ></vcomply-editor>\n </div>\n </div>\n </div>\n\n <!-- Overseer -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n [class.active]=\"false\"\n *ngIf=\"additionalOptionStatus.OVERSIGHT\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids?.length\n \"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\"\n alt=\"\"\n *ngIf=\"\n !(\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids\n ?.length\n )\n \"\n />\n\n <svg\n class=\"checkIcon\"\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids?.length\n \"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Oversight</label>\n <div class=\"select\" *ngIf=\"!selectedOversights?.cc_list?.length\">\n <input\n type=\"text\"\n (click)=\"setActiveFieldSelector('CASE_CC', 'CASE_CC')\"\n placeholder=\"Who should have oversight of this case?\"\n readonly\n />\n </div>\n\n <div class=\"selected\" *ngIf=\"selectedOversights?.cc_list?.length\">\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\n <i\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\n (click)=\"deleteItem('CASE_CC', selectedOversights?.cc_list[0])\"\n ></i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [appTooltip]=\"selectedOversights?.cc_list[0]?.employee_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ selectedOversights?.cc_list[0]?.employee_name }}</span\n >\n <button\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"CC.popover()\"\n placement=\"right\"\n *ngIf=\"selectedOversights?.cc_list?.length > 1\"\n >\n +{{ selectedOversights?.cc_list?.slice(1).length }}\n </button>\n </div>\n <button\n *ngIf=\"activeField !== 'CASE_CC'\"\n class=\"edit\"\n type=\"button\"\n (click)=\"setActiveFieldSelector('CASE_CC', 'CASE_CC')\"\n >\n <i class=\"icons\"></i>Edit\n </button>\n </div>\n <div\n class=\"select\"\n *ngIf=\"\n !selectedOversights?.cc_failures_list ||\n selectedOversights?.cc_failures_list?.length === 0\n \"\n >\n <input\n (click)=\"setActiveFieldSelector('CASE_FCC', 'CASE_FCC')\"\n type=\"text\"\n placeholder=\"Who should be notified if the case is not resolved?\"\n readonly\n />\n </div>\n\n <div\n class=\"selected\"\n *ngIf=\"selectedOversights?.cc_failures_list?.length\"\n >\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\n <i\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\n (click)=\"\n deleteItem('CASE_FCC', selectedOversights?.cc_failures_list[0])\n \"\n ></i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [appTooltip]=\"\n selectedOversights?.cc_failures_list[0]?.employee_name\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{\n selectedOversights?.cc_failures_list[0]?.employee_name\n }}</span\n >\n <button\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"FCC.popover()\"\n placement=\"right\"\n *ngIf=\"selectedOversights?.cc_failures_list?.length > 1\"\n >\n +{{ selectedOversights?.cc_failures_list?.slice(1)?.length }}\n </button>\n </div>\n <button\n *ngIf=\"activeField !== 'CASE_FCC'\"\n class=\"edit\"\n type=\"button\"\n (click)=\"setActiveFieldSelector('CASE_FCC', 'CASE_FCC')\"\n >\n <i class=\"icons\"></i>Edit\n </button>\n </div>\n </div>\n <app-popover #CC [dontCloseonClick]=\"true\">\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let cc of selectedOversights?.cc_list | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span class=\"value\">\n <i class=\"icons\" (click)=\"deleteItem('CASE_CC', cc)\"\n ></i\n >\n {{ cc?.employee_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n <app-popover #FCC [dontCloseonClick]=\"true\">\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let fcc of selectedOversights?.cc_failures_list | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span class=\"value\">\n <i class=\"icons\" (click)=\"deleteItem('CASE_FCC', fcc)\"\n ></i\n >\n {{ fcc?.employee_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n </div>\n\n <!-- Evidence -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.EVIDENCE\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div class=\"left\" [class.checked]=\"true\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Evidence</label>\n <div class=\"upload-format\">\n <span class=\"text\"\n >Do you want evidence of completion of the case to be\n uploaded?</span\n >\n <div class=\"radio-group\">\n <app-cs-radio\n [name]=\"'file-evidence'\"\n [value]=\"1\"\n [checked]=\"addToCasePayload?.caseToWorkflow?.evidence_enabled\"\n (checkedEvent)=\"setEvidence(true)\"\n >Yes\n </app-cs-radio>\n <app-cs-radio\n [name]=\"'file-evidence'\"\n [value]=\"0\"\n [checked]=\"!addToCasePayload?.caseToWorkflow?.evidence_enabled\"\n (checkedEvent)=\"setEvidence(false)\"\n >No\n </app-cs-radio>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Recommended Actions -->\n <div\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.RECOMMENDED_ACTIONS\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"addToCasePayload?.caseToWorkflow?.recommendations?.text\"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/recommended-action.svg\"\n alt=\"im\"\n *ngIf=\"\n !(\n addToCasePayload?.caseToWorkflow?.recommendations?.text\n | spaceBreaker\n )?.length\n \"\n />\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"\n (\n addToCasePayload?.caseToWorkflow?.recommendations?.text\n | spaceBreaker\n )?.length > 0\n \"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Recommended Actions</label>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let uploadingFile of addToCasePayload?.caseToWorkflow\n ?.recommendations?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ uploadingFile }}</span>\n </div>\n <app-line-loader [loaderHeight]=\"2\"></app-line-loader>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let file of addToCasePayload?.caseToWorkflow?.recommendations\n ?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ file?.name }}</span>\n <button>\n <i\n class=\"icons\"\n (click)=\"deleteFile(file, 'RECOMMENDED_ACTIONS')\"\n ></i\n >\n </button>\n </div>\n </div>\n </ng-container>\n <vcomply-editor\n [(ngModel)]=\"addToCasePayload.caseToWorkflow.recommendations.text\"\n [editorConfig]=\"{\n mode: 'prime',\n colorPalette: true,\n link: true,\n file: true,\n placeholder: 'Recommended actions'\n }\"\n (ngModelChange)=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.text?.trim()\n ?.length > 0\n ? removeError('issueRecommendation')\n : null\n \"\n (clickOutside)=\"checkDescription()\"\n (sendSavedFiles)=\"selectFile('RECOMMENDED_ACTIONS', $event)\"\n ></vcomply-editor>\n </div>\n </div>\n </div>\n <!-- Risk Classification -->\n <div\n *ngIf=\"additionalOptionStatus.RISK_CLASSIFICATION\"\n class=\"form-group-row\"\n id=\"risk_classification\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div class=\"left\" [class.checked]=\"addToCasePayload.risk_class\">\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\"\n alt=\"im\"\n *ngIf=\"!addToCasePayload.risk_class\"\n />\n\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"addToCasePayload.risk_class\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Risk Classification</label>\n <div class=\"classification\">\n <label\n class=\"low\"\n *ngFor=\"let class of riskClassification\"\n [ngClass]=\"[class.class]\"\n >\n <input\n type=\"radio\"\n name=\"classification\"\n [value]=\"class.value\"\n [checked]=\"addToCasePayload.risk_class === class.value\"\n [(ngModel)]=\"addToCasePayload.risk_class\"\n />\n <span>{{ class.name }}</span>\n </label>\n </div>\n </div>\n </div>\n </div>\n</div>\n<app-loader-inline *ngIf=\"checkloader\" ></app-loader-inline>\n<app-checkbox-list\n [config]=\"oversight_config\"\n [twoColumn]=\"true\"\n [itemsList]=\"userList\"\n [selectedItems]=\"selectedOversights?.cc_list\"\n [identifierKey]=\"'employee_email'\"\n [displayKey]=\"'employee_name'\"\n [tooltipKey]=\"'employee_email'\"\n *ngIf=\"activeSelector === 'CASE_CC'\"\n (saveList)=\"selectorAction($event, 'CASE_CC')\"\n (closeList)=\"fieldDeselector('CASE_CC')\"\n [loaded]=\"loader.userListLoader\"\n></app-checkbox-list>\n\n<app-checkbox-list\n [config]=\"oversight_config\"\n [twoColumn]=\"true\"\n [itemsList]=\"userList\"\n [selectedItems]=\"selectedOversights?.cc_failures_list\"\n [identifierKey]=\"'employee_email'\"\n [displayKey]=\"'employee_name'\"\n [tooltipKey]=\"'employee_email'\"\n *ngIf=\"activeSelector === 'CASE_FCC'\"\n (saveList)=\"selectorAction($event, 'CASE_FCC')\"\n (closeList)=\"fieldDeselector('CASE_FCC')\"\n [loaded]=\"loader.userListLoader\"\n></app-checkbox-list>\n\n<app-smiley-dialog-inline\n *ngIf=\"showSmiley\"\n [message]=\"smileyMessage\"\n [actionButtons]=\"actionButtons\"\n (action)=\"smileyActions($event)\"\n (closeSmiley)=\"closeSmiley($event)\"\n></app-smiley-dialog-inline>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .workflow-case{display:block;position:relative}::ng-deep .workflow-case app-case-type{cursor:pointer}::ng-deep .workflow-case app-case-details app-field-holder app-vc-input input{cursor:text;z-index:1000}::ng-deep .workflow-case app-report-date .date-time-picker{pointer-events:auto!important;z-index:1}::ng-deep .workflow-case app-rc-details app-cs-switch .cs-switch .switch{pointer-events:none!important;opacity:.5!important}::ng-deep .workflow-case .head-label{background:#565a6f;border-radius:.125rem;height:1rem;position:relative}::ng-deep .workflow-case .head-label:before{background:#e3e3e9;content:\"\";position:absolute;top:7px;left:-40px;width:500px;height:1px;z-index:-1}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group ::ng-deep vcomply-editor{margin-top:8px;display:block;pointer-events:auto!important;z-index:1}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0% 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i8.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "component", type: i9.MarxEditorComponent, selector: "vcomply-editor", inputs: ["editorConfig"], outputs: ["comment", "sendSavedFiles", "popup"] }, { kind: "component", type: i10.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i11.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "directive", type: i12.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: i12.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i12.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i12.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i13.FormatAndEvidenceComponent, selector: "app-format-and-evidence", inputs: ["mode", "categories", "organization_id", "formatEvidanceData"], outputs: ["updateFiles"] }, { kind: "component", type: i14.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i15.SmileyDialogInlineComponent, selector: "app-smiley-dialog-inline", inputs: ["message", "actionButtons"], outputs: ["action", "closeSmiley"] }, { kind: "directive", type: i16.ScrollInViewDirective, selector: "[appScrollInView]", inputs: ["appScrollInView"] }, { kind: "component", type: i17.CheckboxListComponent, selector: "app-checkbox-list", inputs: ["itemsList", "selectedItems", "identifierKey", "displayKey", "tooltipKey", "config", "twoColumn", "loaded"], outputs: ["closeList", "saveList"] }, { kind: "component", type: i18.CaseTypeComponent, selector: "app-case-type", inputs: ["fieldSelected"], outputs: ["caseTypeChange"] }, { kind: "component", type: i19.InformationBlockComponent, selector: "app-information-block" }, { kind: "component", type: i20.CaseDetailsComponent, selector: "app-case-details", inputs: ["payload", "fieldSelected", "validationError", "caseTypeSelected"] }, { kind: "component", type: i21.VCFormLabelComponent, selector: "app-vc-label", inputs: ["labelText", "details", "required", "showInfo", "tooltipText"] }, { kind: "component", type: i22.FieldHolderComponent, selector: "app-field-holder", inputs: ["image", "active", "disabled", "checked", "scrollToBottom"] }, { kind: "component", type: i23.RcDetailsComponent, selector: "app-rc-details", inputs: ["payload", "fieldSelected", "caseTypeSelected", "validationError", "initialSelection", "mode", "workflowType"], outputs: ["fieldClicked", "onRcChange", "filterDeselector"] }, { kind: "component", type: i24.CaseDropdownComponent, selector: "app-case-type-dropdown", inputs: ["fieldSelected", "payload", "validationError", "initialSelection", "mode", "caseTypeSelected", "workflowType"], outputs: ["onCaseTypeChange", "onCaseTypeLoading"] }, { kind: "component", type: i25.ReportDateComponent, selector: "app-report-date", inputs: ["payload", "fieldSelected", "validationError"] }, { kind: "component", type: i26.CasePriorityComponent, selector: "app-case-priority", inputs: ["fieldSelected", "payload", "caseTypeSelected", "validationError", "initialSelection", "mode", "workflowType"], outputs: ["onPriorityChange", "onPriorityLoader"] }, { kind: "component", type: i27.CaseCategoryComponent, selector: "app-case-category", inputs: ["payload", "fieldSelected", "caseTypeSelected", "initialSelection", "initialAdditionalSelection", "mode", "workflowType"], outputs: ["onCategoryChange", "fieldClicked", "filterDeselector"] }, { kind: "component", type: i28.CaseResolutionDeadlineComponent, selector: "app-case-resolution-deadline", inputs: ["payload", "userList", "groupList", "mode", "initialSelection", "fieldSelected", "validationError"], outputs: ["fieldClicked", "filterDeselector"] }, { kind: "component", type: i29.CaseAssigneesComponent, selector: "app-case-assignees", inputs: ["payload", "fieldSelected", "userList", "groupList", "initialSelection", "validationError"], outputs: ["fieldClicked", "onRcChange", "filterDeselector"] }, { kind: "component", type: i30.CaseOwnersComponent, selector: "app-case-owners", inputs: ["payload", "fieldSelected", "initialSelection", "workflowId", "validationError", "mode"], outputs: ["fieldClicked", "filterDeselector"] }, { kind: "component", type: i31.LinkedAssessmentComponent, selector: "app-linked-assessment", inputs: ["openedFrom", "payload", "responsibilityData", "assessmentQuestion", "fieldSelected"] }, { kind: "component", type: i32.LinkedResponsibilitiesComponent, selector: "app-linked-responsibilities", inputs: ["openedFrom", "isLinkQuestionVisible", "payload", "fieldSelected", "responsibilityData"], outputs: ["fieldClicked"] }, { kind: "pipe", type: i6.SlicePipe, name: "slice" }, { kind: "pipe", type: i33.SpaceBreakerPipe, name: "spaceBreaker" }] }); }
|
|
800
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WorkflowCaseComponent, deps: [{ token: i1.ReportACaseService }, { token: i2.UiKitService }, { token: i3.OrganizationUserService }, { token: i4.ResponsibilityService }, { token: i5.ComplianceCommonService }, { token: i6.IframeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
801
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WorkflowCaseComponent, selector: "app-workflow-case", inputs: { openedFrom: "openedFrom", source: "source", caseId: "caseId", mode: "mode", workflowType: "workflowType", responsibilityData: "responsibilityData", assessmentQuestion: "assessmentQuestion", caseTypePermission: "caseTypePermission" }, outputs: { closeWorkflow: "closeWorkflow", populateOption: "populateOption", caseReportedBy: "caseReportedBy", userListEmitter: "userListEmitter", disconnectRefresh: "disconnectRefresh", pickerChanged: "pickerChanged" }, ngImport: i0, template: "<div *ngIf=\"!showSmiley\" class=\"workflow-case\">\n <app-case-type\n *ngIf=\"mode !== 'EDIT' && caseTypePermission\"\n [fieldSelected]=\"fieldClicked\"\n (caseTypeChange)=\"onCaseTypeChange($event)\"\n ></app-case-type>\n <app-linked-responsibilities\n *ngIf=\"['COMPLIANCE_WORKROOM', 'ASSESSMENT'].includes(openedFrom)\"\n [payload]=\"caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\"\n [openedFrom]=\"openedFrom\"\n [fieldSelected]=\"fieldClicked\"\n [responsibilityData]=\"responsibilityData\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-linked-responsibilities>\n <app-linked-assessment\n *ngIf=\"openedFrom === 'ASSESSMENT'\"\n [payload]=\"payload\"\n [openedFrom]=\"openedFrom\"\n [fieldSelected]=\"fieldClicked\"\n [responsibilityData]=\"responsibilityData\"\n [assessmentQuestion]=\"assessmentQuestion\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-linked-assessment>\n <app-case-details\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [caseTypeSelected]=\"caseTypeSelected\"\n ></app-case-details>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n CASE DETAILS\n </span>\n <app-information-block\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n ></app-information-block> \n <app-rc-details\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.rc_details\n : addToCasePayload?.rc_details\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (onRcChange)=\"onRcChange($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-rc-details>\n <app-case-type-dropdown\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.case_type\n : addToCasePayload?.case_type\n \"\n [mode]=\"mode\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [workflowType]=\"workflowType\"\n (onCaseTypeChange)=\"onCaseTypeDropdownChange($event)\"\n (onCaseTypeLoading)=\"onCaseLoader($event, 'type')\"\n ></app-case-type-dropdown>\n <app-case-category\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.category\n : addToCasePayload?.category\n \"\n [initialAdditionalSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.additional_category\n : addToCasePayload?.additional_category\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (onCategoryChange)=\"onCategoryChange($event)\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-category>\n <app-report-date\n [payload]=\"caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-report-date>\n <app-case-priority\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.priority\n : addToCasePayload?.priority\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (onPriorityChange)=\"onPriorityChange($event)\"\n (onPriorityLoader)=\"onCaseLoader($event, 'priority')\"\n ></app-case-priority>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n USER DETAILS\n </span>\n <app-case-owners\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow?.owners\"\n [workflowId]=\"addToCasePayload?.caseToWorkflow?.workflow_id\"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [mode]=\"mode\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-owners>\n <app-case-assignees\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [fieldSelected]=\"fieldClicked\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow\"\n [userList]=\"userList\"\n [groupList]=\"groupList\"\n [validationError]=\"validationError\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-assignees>\n <app-field-holder\n *ngIf=\"caseTypeSelected === caseType.REPORT_CASE\"\n [image]=\"ASSETS.format_evidence\"\n [disabled]=\"fieldSelector?.includes(fieldClicked)\"\n [checked]=\"payload?.supporting_documents?.length\"\n >\n <ng-container field>\n <app-vc-label\n label\n [labelText]=\"reportTexts.case_details.attachments.title\"\n ></app-vc-label>\n <app-format-and-evidence\n (updateFiles)=\"saveSupportingDocument($event)\"\n [mode]=\"'reportACase'\"\n [formatEvidanceData]=\"payload?.supporting_documents\"\n ></app-format-and-evidence>\n </ng-container>\n </app-field-holder>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4 vx-mb-4\"\n >\n CASE RESOLUTION DETAILS\n </span>\n <app-case-resolution-deadline\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [userList]=\"userList\"\n [groupList]=\"groupList\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow\"\n [fieldSelected]=\"fieldClicked\"\n [mode]=\"mode\"\n (fieldClicked)=\"onFieldClicked($event)\"\n [validationError]=\"validationError\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-resolution-deadline>\n <span\n *ngIf=\"\n caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW &&\n displayAdditionalOptions\n \"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n ADDITIONAL OPTIONS\n </span>\n <!-- Exception Type -->\n <app-field-holder\n *ngIf=\"\n additionalOptionStatus.EXCEPTION_TYPE &&\n caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\n \"\n [scrollToBottom]=\"scrollToBottom\"\n [active]=\"false\"\n [disabled]=\"fieldSelector?.includes(fieldClicked)\"\n [checked]=\"addToCasePayload?.caseToWorkflow?.exception_type\"\n [image]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg'\n \"\n >\n <ng-container field>\n <label class=\"vx-control-panel\">Exception Type</label>\n <app-cs-radio\n class=\"main-filed\"\n [value]=\"exceptionType.DESIGN_EXCEPTION\"\n name=\"exception-type\"\n [checked]=\"\n addToCasePayload?.caseToWorkflow?.exception_type ===\n exceptionType.DESIGN_EXCEPTION\n \"\n (checkedEvent)=\"setException(exceptionType.DESIGN_EXCEPTION)\"\n >Design Exception\n </app-cs-radio>\n <app-cs-radio\n class=\"main-filed\"\n [value]=\"exceptionType.EFFECTIVENESS_EXCEPTION\"\n name=\"exception-type\"\n [checked]=\"\n addToCasePayload?.caseToWorkflow?.exception_type ===\n exceptionType.EFFECTIVENESS_EXCEPTION\n \"\n (checkedEvent)=\"setException(exceptionType.EFFECTIVENESS_EXCEPTION)\"\n >Effectiveness Exception\n </app-cs-radio>\n </ng-container>\n </app-field-holder>\n\n <!-- Associated Risks -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.ASSOCIATED_RISKS\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"addToCasePayload?.caseToWorkflow?.associated_risks?.text\"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg\"\n alt=\"im\"\n *ngIf=\"\n !addToCasePayload?.caseToWorkflow?.associated_risks?.text?.trim()\n ?.length\n \"\n />\n\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.text?.trim()\n .length\n \"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Associated Risks </label>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let uploadingFile of addToCasePayload?.caseToWorkflow\n ?.associated_risks?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ uploadingFile }}</span>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let file of addToCasePayload?.caseToWorkflow?.associated_risks\n ?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ file?.name }}</span>\n <button>\n <i class=\"icons\" (click)=\"deleteFile(file, 'ASSOCIATED_RISKS')\"\n ></i\n >\n </button>\n </div>\n </div>\n </ng-container>\n <vcomply-editor\n [(ngModel)]=\"addToCasePayload.caseToWorkflow.associated_risks.text\"\n [editorConfig]=\"{\n mode: 'prime',\n colorPalette: true,\n link: true,\n file: false,\n placeholder: 'Associated Risks'\n }\"\n (clickOutside)=\"checkDescription()\"\n (sendSavedFiles)=\"selectFile('ASSOCIATED_RISKS', $event)\"\n ></vcomply-editor>\n </div>\n </div>\n </div>\n\n <!-- Overseer -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n [class.active]=\"false\"\n *ngIf=\"additionalOptionStatus.OVERSIGHT\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids?.length\n \"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\"\n alt=\"\"\n *ngIf=\"\n !(\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids\n ?.length\n )\n \"\n />\n\n <svg\n class=\"checkIcon\"\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids?.length\n \"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Oversight</label>\n <div class=\"select\" *ngIf=\"!selectedOversights?.cc_list?.length\">\n <input\n type=\"text\"\n (click)=\"setActiveFieldSelector('CASE_CC', 'CASE_CC')\"\n placeholder=\"Who should have oversight of this case?\"\n readonly\n />\n </div>\n\n <div class=\"selected\" *ngIf=\"selectedOversights?.cc_list?.length\">\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\n <i\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\n (click)=\"deleteItem('CASE_CC', selectedOversights?.cc_list[0])\"\n ></i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [appTooltip]=\"selectedOversights?.cc_list[0]?.employee_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ selectedOversights?.cc_list[0]?.employee_name }}</span\n >\n <button\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"CC.popover()\"\n placement=\"right\"\n *ngIf=\"selectedOversights?.cc_list?.length > 1\"\n >\n +{{ selectedOversights?.cc_list?.slice(1).length }}\n </button>\n </div>\n <button\n *ngIf=\"activeField !== 'CASE_CC'\"\n class=\"edit\"\n type=\"button\"\n (click)=\"setActiveFieldSelector('CASE_CC', 'CASE_CC')\"\n >\n <i class=\"icons\"></i>Edit\n </button>\n </div>\n <div\n class=\"select\"\n *ngIf=\"\n !selectedOversights?.cc_failures_list ||\n selectedOversights?.cc_failures_list?.length === 0\n \"\n >\n <input\n (click)=\"setActiveFieldSelector('CASE_FCC', 'CASE_FCC')\"\n type=\"text\"\n placeholder=\"Who should be notified if the case is not resolved?\"\n readonly\n />\n </div>\n\n <div\n class=\"selected\"\n *ngIf=\"selectedOversights?.cc_failures_list?.length\"\n >\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\n <i\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\n (click)=\"\n deleteItem('CASE_FCC', selectedOversights?.cc_failures_list[0])\n \"\n ></i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [appTooltip]=\"\n selectedOversights?.cc_failures_list[0]?.employee_name\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{\n selectedOversights?.cc_failures_list[0]?.employee_name\n }}</span\n >\n <button\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"FCC.popover()\"\n placement=\"right\"\n *ngIf=\"selectedOversights?.cc_failures_list?.length > 1\"\n >\n +{{ selectedOversights?.cc_failures_list?.slice(1)?.length }}\n </button>\n </div>\n <button\n *ngIf=\"activeField !== 'CASE_FCC'\"\n class=\"edit\"\n type=\"button\"\n (click)=\"setActiveFieldSelector('CASE_FCC', 'CASE_FCC')\"\n >\n <i class=\"icons\"></i>Edit\n </button>\n </div>\n </div>\n <app-popover #CC [dontCloseonClick]=\"true\">\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let cc of selectedOversights?.cc_list | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span class=\"value\">\n <i class=\"icons\" (click)=\"deleteItem('CASE_CC', cc)\"\n ></i\n >\n {{ cc?.employee_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n <app-popover #FCC [dontCloseonClick]=\"true\">\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let fcc of selectedOversights?.cc_failures_list | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span class=\"value\">\n <i class=\"icons\" (click)=\"deleteItem('CASE_FCC', fcc)\"\n ></i\n >\n {{ fcc?.employee_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n </div>\n\n <!-- Evidence -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.EVIDENCE\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div class=\"left\" [class.checked]=\"true\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Evidence</label>\n <div class=\"upload-format\">\n <span class=\"text\"\n >Do you want evidence of completion of the case to be\n uploaded?</span\n >\n <div class=\"radio-group\">\n <app-cs-radio\n [name]=\"'file-evidence'\"\n [value]=\"1\"\n [checked]=\"addToCasePayload?.caseToWorkflow?.evidence_enabled\"\n (checkedEvent)=\"setEvidence(true)\"\n >Yes\n </app-cs-radio>\n <app-cs-radio\n [name]=\"'file-evidence'\"\n [value]=\"0\"\n [checked]=\"!addToCasePayload?.caseToWorkflow?.evidence_enabled\"\n (checkedEvent)=\"setEvidence(false)\"\n >No\n </app-cs-radio>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Recommended Actions -->\n <div\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.RECOMMENDED_ACTIONS\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"addToCasePayload?.caseToWorkflow?.recommendations?.text\"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/recommended-action.svg\"\n alt=\"im\"\n *ngIf=\"\n !(\n addToCasePayload?.caseToWorkflow?.recommendations?.text\n | spaceBreaker\n )?.length\n \"\n />\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"\n (\n addToCasePayload?.caseToWorkflow?.recommendations?.text\n | spaceBreaker\n )?.length > 0\n \"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Recommended Actions</label>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let uploadingFile of addToCasePayload?.caseToWorkflow\n ?.recommendations?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ uploadingFile }}</span>\n </div>\n <app-line-loader [loaderHeight]=\"2\"></app-line-loader>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let file of addToCasePayload?.caseToWorkflow?.recommendations\n ?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ file?.name }}</span>\n <button>\n <i\n class=\"icons\"\n (click)=\"deleteFile(file, 'RECOMMENDED_ACTIONS')\"\n ></i\n >\n </button>\n </div>\n </div>\n </ng-container>\n <vcomply-editor\n [(ngModel)]=\"addToCasePayload.caseToWorkflow.recommendations.text\"\n [editorConfig]=\"{\n mode: 'prime',\n colorPalette: true,\n link: true,\n file: true,\n placeholder: 'Recommended actions'\n }\"\n (ngModelChange)=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.text?.trim()\n ?.length > 0\n ? removeError('issueRecommendation')\n : null\n \"\n (clickOutside)=\"checkDescription()\"\n (sendSavedFiles)=\"selectFile('RECOMMENDED_ACTIONS', $event)\"\n ></vcomply-editor>\n </div>\n </div>\n </div>\n <!-- Risk Classification -->\n <div\n *ngIf=\"additionalOptionStatus.RISK_CLASSIFICATION\"\n class=\"form-group-row\"\n id=\"risk_classification\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div class=\"left\" [class.checked]=\"addToCasePayload.risk_class\">\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\"\n alt=\"im\"\n *ngIf=\"!addToCasePayload.risk_class\"\n />\n\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"addToCasePayload.risk_class\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Risk Classification</label>\n <div class=\"classification\">\n <label\n class=\"low\"\n *ngFor=\"let class of riskClassification\"\n [ngClass]=\"[class.class]\"\n >\n <input\n type=\"radio\"\n name=\"classification\"\n [value]=\"class.value\"\n [checked]=\"addToCasePayload.risk_class === class.value\"\n [(ngModel)]=\"addToCasePayload.risk_class\"\n />\n <span>{{ class.name }}</span>\n </label>\n </div>\n </div>\n </div>\n </div>\n</div>\n<app-loader-inline *ngIf=\"checkloader\" ></app-loader-inline>\n<app-checkbox-list\n [config]=\"oversight_config\"\n [twoColumn]=\"true\"\n [itemsList]=\"userList\"\n [selectedItems]=\"selectedOversights?.cc_list\"\n [identifierKey]=\"'employee_email'\"\n [displayKey]=\"'employee_name'\"\n [tooltipKey]=\"'employee_email'\"\n *ngIf=\"activeSelector === 'CASE_CC'\"\n (saveList)=\"selectorAction($event, 'CASE_CC')\"\n (closeList)=\"fieldDeselector('CASE_CC')\"\n [loaded]=\"loader.userListLoader\"\n></app-checkbox-list>\n\n<app-checkbox-list\n [config]=\"oversight_config\"\n [twoColumn]=\"true\"\n [itemsList]=\"userList\"\n [selectedItems]=\"selectedOversights?.cc_failures_list\"\n [identifierKey]=\"'employee_email'\"\n [displayKey]=\"'employee_name'\"\n [tooltipKey]=\"'employee_email'\"\n *ngIf=\"activeSelector === 'CASE_FCC'\"\n (saveList)=\"selectorAction($event, 'CASE_FCC')\"\n (closeList)=\"fieldDeselector('CASE_FCC')\"\n [loaded]=\"loader.userListLoader\"\n></app-checkbox-list>\n\n<app-smiley-dialog-inline\n *ngIf=\"showSmiley\"\n [message]=\"smileyMessage\"\n [actionButtons]=\"actionButtons\"\n (action)=\"smileyActions($event)\"\n (closeSmiley)=\"closeSmiley($event)\"\n></app-smiley-dialog-inline>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .workflow-case{display:block;position:relative}::ng-deep .workflow-case app-case-type{cursor:pointer}::ng-deep .workflow-case app-case-details app-field-holder app-vc-input input{cursor:text;z-index:1000}::ng-deep .workflow-case app-report-date .date-time-picker{pointer-events:auto!important;z-index:1}::ng-deep .workflow-case app-rc-details app-cs-switch .cs-switch .switch{pointer-events:none!important;opacity:.5!important}::ng-deep .workflow-case .head-label{background:#565a6f;border-radius:.125rem;height:1rem;position:relative}::ng-deep .workflow-case .head-label:before{background:#e3e3e9;content:\"\";position:absolute;top:7px;left:-40px;width:500px;height:1px;z-index:-1}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group ::ng-deep vcomply-editor{margin-top:8px;display:block;pointer-events:auto!important;z-index:1}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0% 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i9.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value", "oneLine"], outputs: ["checkedEvent"] }, { kind: "component", type: i10.MarxEditorComponent, selector: "vcomply-editor", inputs: ["editorConfig"], outputs: ["comment", "sendSavedFiles", "popup"] }, { kind: "component", type: i11.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i12.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "directive", type: i13.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: i13.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i13.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i13.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i14.FormatAndEvidenceComponent, selector: "app-format-and-evidence", inputs: ["mode", "categories", "organization_id", "formatEvidanceData"], outputs: ["updateFiles"] }, { kind: "component", type: i15.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i16.SmileyDialogInlineComponent, selector: "app-smiley-dialog-inline", inputs: ["message", "actionButtons"], outputs: ["action", "closeSmiley"] }, { kind: "directive", type: i17.ScrollInViewDirective, selector: "[appScrollInView]", inputs: ["appScrollInView"] }, { kind: "component", type: i18.CheckboxListComponent, selector: "app-checkbox-list", inputs: ["itemsList", "selectedItems", "identifierKey", "displayKey", "tooltipKey", "config", "twoColumn", "loaded"], outputs: ["closeList", "saveList"] }, { kind: "component", type: i19.CaseTypeComponent, selector: "app-case-type", inputs: ["fieldSelected"], outputs: ["caseTypeChange"] }, { kind: "component", type: i20.InformationBlockComponent, selector: "app-information-block" }, { kind: "component", type: i21.CaseDetailsComponent, selector: "app-case-details", inputs: ["payload", "fieldSelected", "validationError", "caseTypeSelected"] }, { kind: "component", type: i22.VCFormLabelComponent, selector: "app-vc-label", inputs: ["labelText", "details", "required", "showInfo", "tooltipText"] }, { kind: "component", type: i23.FieldHolderComponent, selector: "app-field-holder", inputs: ["image", "active", "disabled", "checked", "scrollToBottom"] }, { kind: "component", type: i24.RcDetailsComponent, selector: "app-rc-details", inputs: ["payload", "fieldSelected", "caseTypeSelected", "validationError", "initialSelection", "mode", "workflowType"], outputs: ["fieldClicked", "onRcChange", "filterDeselector"] }, { kind: "component", type: i25.CaseDropdownComponent, selector: "app-case-type-dropdown", inputs: ["fieldSelected", "payload", "validationError", "initialSelection", "mode", "caseTypeSelected", "workflowType"], outputs: ["onCaseTypeChange", "onCaseTypeLoading"] }, { kind: "component", type: i26.ReportDateComponent, selector: "app-report-date", inputs: ["payload", "fieldSelected", "validationError"] }, { kind: "component", type: i27.CasePriorityComponent, selector: "app-case-priority", inputs: ["fieldSelected", "payload", "caseTypeSelected", "validationError", "initialSelection", "mode", "workflowType"], outputs: ["onPriorityChange", "onPriorityLoader"] }, { kind: "component", type: i28.CaseCategoryComponent, selector: "app-case-category", inputs: ["payload", "fieldSelected", "caseTypeSelected", "initialSelection", "initialAdditionalSelection", "mode", "workflowType"], outputs: ["onCategoryChange", "fieldClicked", "filterDeselector"] }, { kind: "component", type: i29.CaseResolutionDeadlineComponent, selector: "app-case-resolution-deadline", inputs: ["payload", "userList", "groupList", "mode", "initialSelection", "fieldSelected", "validationError"], outputs: ["fieldClicked", "filterDeselector"] }, { kind: "component", type: i30.CaseAssigneesComponent, selector: "app-case-assignees", inputs: ["payload", "fieldSelected", "userList", "groupList", "initialSelection", "validationError"], outputs: ["fieldClicked", "onRcChange", "filterDeselector"] }, { kind: "component", type: i31.CaseOwnersComponent, selector: "app-case-owners", inputs: ["payload", "fieldSelected", "initialSelection", "workflowId", "validationError", "mode"], outputs: ["fieldClicked", "filterDeselector"] }, { kind: "component", type: i32.LinkedAssessmentComponent, selector: "app-linked-assessment", inputs: ["openedFrom", "payload", "responsibilityData", "assessmentQuestion", "fieldSelected"] }, { kind: "component", type: i33.LinkedResponsibilitiesComponent, selector: "app-linked-responsibilities", inputs: ["openedFrom", "isLinkQuestionVisible", "payload", "fieldSelected", "responsibilityData"], outputs: ["fieldClicked"] }, { kind: "pipe", type: i7.SlicePipe, name: "slice" }, { kind: "pipe", type: i34.SpaceBreakerPipe, name: "spaceBreaker" }] }); }
|
|
799
802
|
}
|
|
800
803
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WorkflowCaseComponent, decorators: [{
|
|
801
804
|
type: Component,
|
|
802
|
-
args: [{ selector: 'app-workflow-case', template: "<div *ngIf=\"!showSmiley\" class=\"workflow-case\">\n <app-case-type\n *ngIf=\"mode !== 'EDIT' && caseTypePermission\"\n [fieldSelected]=\"fieldClicked\"\n (caseTypeChange)=\"onCaseTypeChange($event)\"\n ></app-case-type>\n <app-linked-responsibilities\n *ngIf=\"['COMPLIANCE_WORKROOM', 'ASSESSMENT'].includes(openedFrom)\"\n [payload]=\"caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\"\n [openedFrom]=\"openedFrom\"\n [fieldSelected]=\"fieldClicked\"\n [responsibilityData]=\"responsibilityData\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-linked-responsibilities>\n <app-linked-assessment\n *ngIf=\"openedFrom === 'ASSESSMENT'\"\n [payload]=\"payload\"\n [openedFrom]=\"openedFrom\"\n [fieldSelected]=\"fieldClicked\"\n [responsibilityData]=\"responsibilityData\"\n [assessmentQuestion]=\"assessmentQuestion\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-linked-assessment>\n <app-case-details\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [caseTypeSelected]=\"caseTypeSelected\"\n ></app-case-details>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n CASE DETAILS\n </span>\n <app-information-block\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n ></app-information-block> \n <app-rc-details\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.rc_details\n : addToCasePayload?.rc_details\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (onRcChange)=\"onRcChange($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-rc-details>\n <app-case-type-dropdown\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.case_type\n : addToCasePayload?.case_type\n \"\n [mode]=\"mode\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [workflowType]=\"workflowType\"\n (onCaseTypeChange)=\"onCaseTypeDropdownChange($event)\"\n (onCaseTypeLoading)=\"onCaseLoader($event, 'type')\"\n ></app-case-type-dropdown>\n <app-case-category\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.category\n : addToCasePayload?.category\n \"\n [initialAdditionalSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.additional_category\n : addToCasePayload?.additional_category\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (onCategoryChange)=\"onCategoryChange($event)\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-category>\n <app-report-date\n *ngIf=\"caseTypeSelected === caseType.REPORT_CASE\"\n [payload]=\"payload\"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-report-date>\n <app-case-priority\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.priority\n : addToCasePayload?.priority\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (onPriorityChange)=\"onPriorityChange($event)\"\n (onPriorityLoader)=\"onCaseLoader($event, 'priority')\"\n ></app-case-priority>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n USER DETAILS\n </span>\n <app-case-owners\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow?.owners\"\n [workflowId]=\"addToCasePayload?.caseToWorkflow?.workflow_id\"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [mode]=\"mode\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-owners>\n <app-case-assignees\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [fieldSelected]=\"fieldClicked\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow\"\n [userList]=\"userList\"\n [groupList]=\"groupList\"\n [validationError]=\"validationError\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-assignees>\n <app-field-holder\n *ngIf=\"caseTypeSelected === caseType.REPORT_CASE\"\n [image]=\"ASSETS.format_evidence\"\n [disabled]=\"fieldSelector?.includes(fieldClicked)\"\n [checked]=\"payload?.supporting_documents?.length\"\n >\n <ng-container field>\n <app-vc-label\n label\n [labelText]=\"reportTexts.case_details.attachments.title\"\n ></app-vc-label>\n <app-format-and-evidence\n (updateFiles)=\"saveSupportingDocument($event)\"\n [mode]=\"'reportACase'\"\n [formatEvidanceData]=\"payload?.supporting_documents\"\n ></app-format-and-evidence>\n </ng-container>\n </app-field-holder>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4 vx-mb-4\"\n >\n CASE RESOLUTION DETAILS\n </span>\n <app-case-resolution-deadline\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [userList]=\"userList\"\n [groupList]=\"groupList\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow\"\n [fieldSelected]=\"fieldClicked\"\n [mode]=\"mode\"\n (fieldClicked)=\"onFieldClicked($event)\"\n [validationError]=\"validationError\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-resolution-deadline>\n <span\n *ngIf=\"\n caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW &&\n displayAdditionalOptions\n \"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n ADDITIONAL OPTIONS\n </span>\n <!-- Exception Type -->\n <app-field-holder\n *ngIf=\"\n additionalOptionStatus.EXCEPTION_TYPE &&\n caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\n \"\n [scrollToBottom]=\"scrollToBottom\"\n [active]=\"false\"\n [disabled]=\"fieldSelector?.includes(fieldClicked)\"\n [checked]=\"addToCasePayload?.caseToWorkflow?.exception_type\"\n [image]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg'\n \"\n >\n <ng-container field>\n <label class=\"vx-control-panel\">Exception Type</label>\n <app-cs-radio\n class=\"main-filed\"\n [value]=\"exceptionType.DESIGN_EXCEPTION\"\n name=\"exception-type\"\n [checked]=\"\n addToCasePayload?.caseToWorkflow?.exception_type ===\n exceptionType.DESIGN_EXCEPTION\n \"\n (checkedEvent)=\"setException(exceptionType.DESIGN_EXCEPTION)\"\n >Design Exception\n </app-cs-radio>\n <app-cs-radio\n class=\"main-filed\"\n [value]=\"exceptionType.EFFECTIVENESS_EXCEPTION\"\n name=\"exception-type\"\n [checked]=\"\n addToCasePayload?.caseToWorkflow?.exception_type ===\n exceptionType.EFFECTIVENESS_EXCEPTION\n \"\n (checkedEvent)=\"setException(exceptionType.EFFECTIVENESS_EXCEPTION)\"\n >Effectiveness Exception\n </app-cs-radio>\n </ng-container>\n </app-field-holder>\n\n <!-- Associated Risks -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.ASSOCIATED_RISKS\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"addToCasePayload?.caseToWorkflow?.associated_risks?.text\"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg\"\n alt=\"im\"\n *ngIf=\"\n !addToCasePayload?.caseToWorkflow?.associated_risks?.text?.trim()\n ?.length\n \"\n />\n\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.text?.trim()\n .length\n \"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Associated Risks </label>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let uploadingFile of addToCasePayload?.caseToWorkflow\n ?.associated_risks?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ uploadingFile }}</span>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let file of addToCasePayload?.caseToWorkflow?.associated_risks\n ?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ file?.name }}</span>\n <button>\n <i class=\"icons\" (click)=\"deleteFile(file, 'ASSOCIATED_RISKS')\"\n ></i\n >\n </button>\n </div>\n </div>\n </ng-container>\n <vcomply-editor\n [(ngModel)]=\"addToCasePayload.caseToWorkflow.associated_risks.text\"\n [editorConfig]=\"{\n mode: 'prime',\n colorPalette: true,\n link: true,\n file: false,\n placeholder: 'Associated Risks'\n }\"\n (clickOutside)=\"checkDescription()\"\n (sendSavedFiles)=\"selectFile('ASSOCIATED_RISKS', $event)\"\n ></vcomply-editor>\n </div>\n </div>\n </div>\n\n <!-- Overseer -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n [class.active]=\"false\"\n *ngIf=\"additionalOptionStatus.OVERSIGHT\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids?.length\n \"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\"\n alt=\"\"\n *ngIf=\"\n !(\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids\n ?.length\n )\n \"\n />\n\n <svg\n class=\"checkIcon\"\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids?.length\n \"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Oversight</label>\n <div class=\"select\" *ngIf=\"!selectedOversights?.cc_list?.length\">\n <input\n type=\"text\"\n (click)=\"setActiveFieldSelector('CASE_CC', 'CASE_CC')\"\n placeholder=\"Who should have oversight of this case?\"\n readonly\n />\n </div>\n\n <div class=\"selected\" *ngIf=\"selectedOversights?.cc_list?.length\">\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\n <i\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\n (click)=\"deleteItem('CASE_CC', selectedOversights?.cc_list[0])\"\n ></i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [appTooltip]=\"selectedOversights?.cc_list[0]?.employee_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ selectedOversights?.cc_list[0]?.employee_name }}</span\n >\n <button\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"CC.popover()\"\n placement=\"right\"\n *ngIf=\"selectedOversights?.cc_list?.length > 1\"\n >\n +{{ selectedOversights?.cc_list?.slice(1).length }}\n </button>\n </div>\n <button\n *ngIf=\"activeField !== 'CASE_CC'\"\n class=\"edit\"\n type=\"button\"\n (click)=\"setActiveFieldSelector('CASE_CC', 'CASE_CC')\"\n >\n <i class=\"icons\"></i>Edit\n </button>\n </div>\n <div\n class=\"select\"\n *ngIf=\"\n !selectedOversights?.cc_failures_list ||\n selectedOversights?.cc_failures_list?.length === 0\n \"\n >\n <input\n (click)=\"setActiveFieldSelector('CASE_FCC', 'CASE_FCC')\"\n type=\"text\"\n placeholder=\"Who should be notified if the case is not resolved?\"\n readonly\n />\n </div>\n\n <div\n class=\"selected\"\n *ngIf=\"selectedOversights?.cc_failures_list?.length\"\n >\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\n <i\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\n (click)=\"\n deleteItem('CASE_FCC', selectedOversights?.cc_failures_list[0])\n \"\n ></i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [appTooltip]=\"\n selectedOversights?.cc_failures_list[0]?.employee_name\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{\n selectedOversights?.cc_failures_list[0]?.employee_name\n }}</span\n >\n <button\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"FCC.popover()\"\n placement=\"right\"\n *ngIf=\"selectedOversights?.cc_failures_list?.length > 1\"\n >\n +{{ selectedOversights?.cc_failures_list?.slice(1)?.length }}\n </button>\n </div>\n <button\n *ngIf=\"activeField !== 'CASE_FCC'\"\n class=\"edit\"\n type=\"button\"\n (click)=\"setActiveFieldSelector('CASE_FCC', 'CASE_FCC')\"\n >\n <i class=\"icons\"></i>Edit\n </button>\n </div>\n </div>\n <app-popover #CC [dontCloseonClick]=\"true\">\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let cc of selectedOversights?.cc_list | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span class=\"value\">\n <i class=\"icons\" (click)=\"deleteItem('CASE_CC', cc)\"\n ></i\n >\n {{ cc?.employee_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n <app-popover #FCC [dontCloseonClick]=\"true\">\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let fcc of selectedOversights?.cc_failures_list | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span class=\"value\">\n <i class=\"icons\" (click)=\"deleteItem('CASE_FCC', fcc)\"\n ></i\n >\n {{ fcc?.employee_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n </div>\n\n <!-- Evidence -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.EVIDENCE\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div class=\"left\" [class.checked]=\"true\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Evidence</label>\n <div class=\"upload-format\">\n <span class=\"text\"\n >Do you want evidence of completion of the case to be\n uploaded?</span\n >\n <div class=\"radio-group\">\n <app-cs-radio\n [name]=\"'file-evidence'\"\n [value]=\"1\"\n [checked]=\"addToCasePayload?.caseToWorkflow?.evidence_enabled\"\n (checkedEvent)=\"setEvidence(true)\"\n >Yes\n </app-cs-radio>\n <app-cs-radio\n [name]=\"'file-evidence'\"\n [value]=\"0\"\n [checked]=\"!addToCasePayload?.caseToWorkflow?.evidence_enabled\"\n (checkedEvent)=\"setEvidence(false)\"\n >No\n </app-cs-radio>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Recommended Actions -->\n <div\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.RECOMMENDED_ACTIONS\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"addToCasePayload?.caseToWorkflow?.recommendations?.text\"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/recommended-action.svg\"\n alt=\"im\"\n *ngIf=\"\n !(\n addToCasePayload?.caseToWorkflow?.recommendations?.text\n | spaceBreaker\n )?.length\n \"\n />\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"\n (\n addToCasePayload?.caseToWorkflow?.recommendations?.text\n | spaceBreaker\n )?.length > 0\n \"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Recommended Actions</label>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let uploadingFile of addToCasePayload?.caseToWorkflow\n ?.recommendations?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ uploadingFile }}</span>\n </div>\n <app-line-loader [loaderHeight]=\"2\"></app-line-loader>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let file of addToCasePayload?.caseToWorkflow?.recommendations\n ?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ file?.name }}</span>\n <button>\n <i\n class=\"icons\"\n (click)=\"deleteFile(file, 'RECOMMENDED_ACTIONS')\"\n ></i\n >\n </button>\n </div>\n </div>\n </ng-container>\n <vcomply-editor\n [(ngModel)]=\"addToCasePayload.caseToWorkflow.recommendations.text\"\n [editorConfig]=\"{\n mode: 'prime',\n colorPalette: true,\n link: true,\n file: true,\n placeholder: 'Recommended actions'\n }\"\n (ngModelChange)=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.text?.trim()\n ?.length > 0\n ? removeError('issueRecommendation')\n : null\n \"\n (clickOutside)=\"checkDescription()\"\n (sendSavedFiles)=\"selectFile('RECOMMENDED_ACTIONS', $event)\"\n ></vcomply-editor>\n </div>\n </div>\n </div>\n <!-- Risk Classification -->\n <div\n *ngIf=\"additionalOptionStatus.RISK_CLASSIFICATION\"\n class=\"form-group-row\"\n id=\"risk_classification\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div class=\"left\" [class.checked]=\"addToCasePayload.risk_class\">\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\"\n alt=\"im\"\n *ngIf=\"!addToCasePayload.risk_class\"\n />\n\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"addToCasePayload.risk_class\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Risk Classification</label>\n <div class=\"classification\">\n <label\n class=\"low\"\n *ngFor=\"let class of riskClassification\"\n [ngClass]=\"[class.class]\"\n >\n <input\n type=\"radio\"\n name=\"classification\"\n [value]=\"class.value\"\n [checked]=\"addToCasePayload.risk_class === class.value\"\n [(ngModel)]=\"addToCasePayload.risk_class\"\n />\n <span>{{ class.name }}</span>\n </label>\n </div>\n </div>\n </div>\n </div>\n</div>\n<app-loader-inline *ngIf=\"checkloader\" ></app-loader-inline>\n<app-checkbox-list\n [config]=\"oversight_config\"\n [twoColumn]=\"true\"\n [itemsList]=\"userList\"\n [selectedItems]=\"selectedOversights?.cc_list\"\n [identifierKey]=\"'employee_email'\"\n [displayKey]=\"'employee_name'\"\n [tooltipKey]=\"'employee_email'\"\n *ngIf=\"activeSelector === 'CASE_CC'\"\n (saveList)=\"selectorAction($event, 'CASE_CC')\"\n (closeList)=\"fieldDeselector('CASE_CC')\"\n [loaded]=\"loader.userListLoader\"\n></app-checkbox-list>\n\n<app-checkbox-list\n [config]=\"oversight_config\"\n [twoColumn]=\"true\"\n [itemsList]=\"userList\"\n [selectedItems]=\"selectedOversights?.cc_failures_list\"\n [identifierKey]=\"'employee_email'\"\n [displayKey]=\"'employee_name'\"\n [tooltipKey]=\"'employee_email'\"\n *ngIf=\"activeSelector === 'CASE_FCC'\"\n (saveList)=\"selectorAction($event, 'CASE_FCC')\"\n (closeList)=\"fieldDeselector('CASE_FCC')\"\n [loaded]=\"loader.userListLoader\"\n></app-checkbox-list>\n\n<app-smiley-dialog-inline\n *ngIf=\"showSmiley\"\n [message]=\"smileyMessage\"\n [actionButtons]=\"actionButtons\"\n (action)=\"smileyActions($event)\"\n (closeSmiley)=\"closeSmiley($event)\"\n></app-smiley-dialog-inline>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .workflow-case{display:block;position:relative}::ng-deep .workflow-case app-case-type{cursor:pointer}::ng-deep .workflow-case app-case-details app-field-holder app-vc-input input{cursor:text;z-index:1000}::ng-deep .workflow-case app-report-date .date-time-picker{pointer-events:auto!important;z-index:1}::ng-deep .workflow-case app-rc-details app-cs-switch .cs-switch .switch{pointer-events:none!important;opacity:.5!important}::ng-deep .workflow-case .head-label{background:#565a6f;border-radius:.125rem;height:1rem;position:relative}::ng-deep .workflow-case .head-label:before{background:#e3e3e9;content:\"\";position:absolute;top:7px;left:-40px;width:500px;height:1px;z-index:-1}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group ::ng-deep vcomply-editor{margin-top:8px;display:block;pointer-events:auto!important;z-index:1}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0% 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"] }]
|
|
803
|
-
}], ctorParameters: function () { return [{ type: i1.ReportACaseService }, { type: i2.UiKitService }, { type: i3.OrganizationUserService }, { type: i4.ResponsibilityService }, { type: i5.ComplianceCommonService }]; }, propDecorators: { openedFrom: [{
|
|
805
|
+
args: [{ selector: 'app-workflow-case', template: "<div *ngIf=\"!showSmiley\" class=\"workflow-case\">\n <app-case-type\n *ngIf=\"mode !== 'EDIT' && caseTypePermission\"\n [fieldSelected]=\"fieldClicked\"\n (caseTypeChange)=\"onCaseTypeChange($event)\"\n ></app-case-type>\n <app-linked-responsibilities\n *ngIf=\"['COMPLIANCE_WORKROOM', 'ASSESSMENT'].includes(openedFrom)\"\n [payload]=\"caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\"\n [openedFrom]=\"openedFrom\"\n [fieldSelected]=\"fieldClicked\"\n [responsibilityData]=\"responsibilityData\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-linked-responsibilities>\n <app-linked-assessment\n *ngIf=\"openedFrom === 'ASSESSMENT'\"\n [payload]=\"payload\"\n [openedFrom]=\"openedFrom\"\n [fieldSelected]=\"fieldClicked\"\n [responsibilityData]=\"responsibilityData\"\n [assessmentQuestion]=\"assessmentQuestion\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-linked-assessment>\n <app-case-details\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [caseTypeSelected]=\"caseTypeSelected\"\n ></app-case-details>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n CASE DETAILS\n </span>\n <app-information-block\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n ></app-information-block> \n <app-rc-details\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.rc_details\n : addToCasePayload?.rc_details\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (onRcChange)=\"onRcChange($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-rc-details>\n <app-case-type-dropdown\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.case_type\n : addToCasePayload?.case_type\n \"\n [mode]=\"mode\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [workflowType]=\"workflowType\"\n (onCaseTypeChange)=\"onCaseTypeDropdownChange($event)\"\n (onCaseTypeLoading)=\"onCaseLoader($event, 'type')\"\n ></app-case-type-dropdown>\n <app-case-category\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.category\n : addToCasePayload?.category\n \"\n [initialAdditionalSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.additional_category\n : addToCasePayload?.additional_category\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (onCategoryChange)=\"onCategoryChange($event)\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-category>\n <app-report-date\n [payload]=\"caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n (fieldClicked)=\"onFieldClicked($event)\"\n ></app-report-date>\n <app-case-priority\n [payload]=\"\n caseTypeSelected === caseType.REPORT_CASE ? payload : addToCasePayload\n \"\n [fieldSelected]=\"fieldClicked\"\n [caseTypeSelected]=\"caseTypeSelected\"\n [validationError]=\"validationError\"\n [initialSelection]=\"\n caseTypeSelected === caseType.REPORT_CASE\n ? payload?.priority\n : addToCasePayload?.priority\n \"\n [mode]=\"mode\"\n [workflowType]=\"workflowType\"\n (onPriorityChange)=\"onPriorityChange($event)\"\n (onPriorityLoader)=\"onCaseLoader($event, 'priority')\"\n ></app-case-priority>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n USER DETAILS\n </span>\n <app-case-owners\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow?.owners\"\n [workflowId]=\"addToCasePayload?.caseToWorkflow?.workflow_id\"\n [fieldSelected]=\"fieldClicked\"\n [validationError]=\"validationError\"\n [mode]=\"mode\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-owners>\n <app-case-assignees\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [fieldSelected]=\"fieldClicked\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow\"\n [userList]=\"userList\"\n [groupList]=\"groupList\"\n [validationError]=\"validationError\"\n (fieldClicked)=\"onFieldClicked($event)\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-assignees>\n <app-field-holder\n *ngIf=\"caseTypeSelected === caseType.REPORT_CASE\"\n [image]=\"ASSETS.format_evidence\"\n [disabled]=\"fieldSelector?.includes(fieldClicked)\"\n [checked]=\"payload?.supporting_documents?.length\"\n >\n <ng-container field>\n <app-vc-label\n label\n [labelText]=\"reportTexts.case_details.attachments.title\"\n ></app-vc-label>\n <app-format-and-evidence\n (updateFiles)=\"saveSupportingDocument($event)\"\n [mode]=\"'reportACase'\"\n [formatEvidanceData]=\"payload?.supporting_documents\"\n ></app-format-and-evidence>\n </ng-container>\n </app-field-holder>\n <span\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4 vx-mb-4\"\n >\n CASE RESOLUTION DETAILS\n </span>\n <app-case-resolution-deadline\n *ngIf=\"caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\"\n [payload]=\"addToCasePayload\"\n [userList]=\"userList\"\n [groupList]=\"groupList\"\n [initialSelection]=\"addToCasePayload?.caseToWorkflow\"\n [fieldSelected]=\"fieldClicked\"\n [mode]=\"mode\"\n (fieldClicked)=\"onFieldClicked($event)\"\n [validationError]=\"validationError\"\n (filterDeselector)=\"pickerToggle($event)\"\n ></app-case-resolution-deadline>\n <span\n *ngIf=\"\n caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW &&\n displayAdditionalOptions\n \"\n class=\"head-label vx-fs-10 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-1 vx-pr-1 vx-lh-4\"\n >\n ADDITIONAL OPTIONS\n </span>\n <!-- Exception Type -->\n <app-field-holder\n *ngIf=\"\n additionalOptionStatus.EXCEPTION_TYPE &&\n caseTypeSelected === caseType.ADD_CASE_TO_WORKFLOW\n \"\n [scrollToBottom]=\"scrollToBottom\"\n [active]=\"false\"\n [disabled]=\"fieldSelector?.includes(fieldClicked)\"\n [checked]=\"addToCasePayload?.caseToWorkflow?.exception_type\"\n [image]=\"\n 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/objectives.svg'\n \"\n >\n <ng-container field>\n <label class=\"vx-control-panel\">Exception Type</label>\n <app-cs-radio\n class=\"main-filed\"\n [value]=\"exceptionType.DESIGN_EXCEPTION\"\n name=\"exception-type\"\n [checked]=\"\n addToCasePayload?.caseToWorkflow?.exception_type ===\n exceptionType.DESIGN_EXCEPTION\n \"\n (checkedEvent)=\"setException(exceptionType.DESIGN_EXCEPTION)\"\n >Design Exception\n </app-cs-radio>\n <app-cs-radio\n class=\"main-filed\"\n [value]=\"exceptionType.EFFECTIVENESS_EXCEPTION\"\n name=\"exception-type\"\n [checked]=\"\n addToCasePayload?.caseToWorkflow?.exception_type ===\n exceptionType.EFFECTIVENESS_EXCEPTION\n \"\n (checkedEvent)=\"setException(exceptionType.EFFECTIVENESS_EXCEPTION)\"\n >Effectiveness Exception\n </app-cs-radio>\n </ng-container>\n </app-field-holder>\n\n <!-- Associated Risks -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.ASSOCIATED_RISKS\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"addToCasePayload?.caseToWorkflow?.associated_risks?.text\"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg\"\n alt=\"im\"\n *ngIf=\"\n !addToCasePayload?.caseToWorkflow?.associated_risks?.text?.trim()\n ?.length\n \"\n />\n\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.text?.trim()\n .length\n \"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Associated Risks </label>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let uploadingFile of addToCasePayload?.caseToWorkflow\n ?.associated_risks?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ uploadingFile }}</span>\n </div>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.associated_risks?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let file of addToCasePayload?.caseToWorkflow?.associated_risks\n ?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ file?.name }}</span>\n <button>\n <i class=\"icons\" (click)=\"deleteFile(file, 'ASSOCIATED_RISKS')\"\n ></i\n >\n </button>\n </div>\n </div>\n </ng-container>\n <vcomply-editor\n [(ngModel)]=\"addToCasePayload.caseToWorkflow.associated_risks.text\"\n [editorConfig]=\"{\n mode: 'prime',\n colorPalette: true,\n link: true,\n file: false,\n placeholder: 'Associated Risks'\n }\"\n (clickOutside)=\"checkDescription()\"\n (sendSavedFiles)=\"selectFile('ASSOCIATED_RISKS', $event)\"\n ></vcomply-editor>\n </div>\n </div>\n </div>\n\n <!-- Overseer -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n [class.active]=\"false\"\n *ngIf=\"additionalOptionStatus.OVERSIGHT\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids?.length\n \"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/oversight.svg\"\n alt=\"\"\n *ngIf=\"\n !(\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids\n ?.length\n )\n \"\n />\n\n <svg\n class=\"checkIcon\"\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.oversights?.cc_ids?.length ||\n addToCasePayload?.caseToWorkflow?.oversights?.cc_failures_ids?.length\n \"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Oversight</label>\n <div class=\"select\" *ngIf=\"!selectedOversights?.cc_list?.length\">\n <input\n type=\"text\"\n (click)=\"setActiveFieldSelector('CASE_CC', 'CASE_CC')\"\n placeholder=\"Who should have oversight of this case?\"\n readonly\n />\n </div>\n\n <div class=\"selected\" *ngIf=\"selectedOversights?.cc_list?.length\">\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\n <i\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\n (click)=\"deleteItem('CASE_CC', selectedOversights?.cc_list[0])\"\n ></i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [appTooltip]=\"selectedOversights?.cc_list[0]?.employee_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{ selectedOversights?.cc_list[0]?.employee_name }}</span\n >\n <button\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"CC.popover()\"\n placement=\"right\"\n *ngIf=\"selectedOversights?.cc_list?.length > 1\"\n >\n +{{ selectedOversights?.cc_list?.slice(1).length }}\n </button>\n </div>\n <button\n *ngIf=\"activeField !== 'CASE_CC'\"\n class=\"edit\"\n type=\"button\"\n (click)=\"setActiveFieldSelector('CASE_CC', 'CASE_CC')\"\n >\n <i class=\"icons\"></i>Edit\n </button>\n </div>\n <div\n class=\"select\"\n *ngIf=\"\n !selectedOversights?.cc_failures_list ||\n selectedOversights?.cc_failures_list?.length === 0\n \"\n >\n <input\n (click)=\"setActiveFieldSelector('CASE_FCC', 'CASE_FCC')\"\n type=\"text\"\n placeholder=\"Who should be notified if the case is not resolved?\"\n readonly\n />\n </div>\n\n <div\n class=\"selected\"\n *ngIf=\"selectedOversights?.cc_failures_list?.length\"\n >\n <div class=\"chipContainer vx-d-flex vx-align-center vx-pl-2 vx-pr-2\">\n <i\n class=\"icons cross vx-fs-10 vx-paragraph-txt vx-mr-1\"\n (click)=\"\n deleteItem('CASE_FCC', selectedOversights?.cc_failures_list[0])\n \"\n ></i\n >\n <span\n class=\"chipName vx-fs-11 vx-label-txt\"\n [appTooltip]=\"\n selectedOversights?.cc_failures_list[0]?.employee_name\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"false\"\n >{{\n selectedOversights?.cc_failures_list[0]?.employee_name\n }}</span\n >\n <button\n class=\"countBtn vx-fs-9 vx-fw-500 vx-txt-white vx-d-flex vx-align-center vx-justify-center vx-lh-4\"\n appPopover\n (click)=\"FCC.popover()\"\n placement=\"right\"\n *ngIf=\"selectedOversights?.cc_failures_list?.length > 1\"\n >\n +{{ selectedOversights?.cc_failures_list?.slice(1)?.length }}\n </button>\n </div>\n <button\n *ngIf=\"activeField !== 'CASE_FCC'\"\n class=\"edit\"\n type=\"button\"\n (click)=\"setActiveFieldSelector('CASE_FCC', 'CASE_FCC')\"\n >\n <i class=\"icons\"></i>Edit\n </button>\n </div>\n </div>\n <app-popover #CC [dontCloseonClick]=\"true\">\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let cc of selectedOversights?.cc_list | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span class=\"value\">\n <i class=\"icons\" (click)=\"deleteItem('CASE_CC', cc)\"\n ></i\n >\n {{ cc?.employee_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n <app-popover #FCC [dontCloseonClick]=\"true\">\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let fcc of selectedOversights?.cc_failures_list | slice : 1;\n let j = index\n \"\n >\n <div class=\"avatar-card\">\n <span class=\"value\">\n <i class=\"icons\" (click)=\"deleteItem('CASE_FCC', fcc)\"\n ></i\n >\n {{ fcc?.employee_name }}\n </span>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n </div>\n\n <!-- Evidence -->\n <div\n [appScrollInView]=\"scrollToBottom\"\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.EVIDENCE\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div class=\"left\" [class.checked]=\"true\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Evidence</label>\n <div class=\"upload-format\">\n <span class=\"text\"\n >Do you want evidence of completion of the case to be\n uploaded?</span\n >\n <div class=\"radio-group\">\n <app-cs-radio\n [name]=\"'file-evidence'\"\n [value]=\"1\"\n [checked]=\"addToCasePayload?.caseToWorkflow?.evidence_enabled\"\n (checkedEvent)=\"setEvidence(true)\"\n >Yes\n </app-cs-radio>\n <app-cs-radio\n [name]=\"'file-evidence'\"\n [value]=\"0\"\n [checked]=\"!addToCasePayload?.caseToWorkflow?.evidence_enabled\"\n (checkedEvent)=\"setEvidence(false)\"\n >No\n </app-cs-radio>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Recommended Actions -->\n <div\n class=\"form-group-row\"\n *ngIf=\"additionalOptionStatus.RECOMMENDED_ACTIONS\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div\n class=\"left\"\n [class.checked]=\"addToCasePayload?.caseToWorkflow?.recommendations?.text\"\n >\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/recommended-action.svg\"\n alt=\"im\"\n *ngIf=\"\n !(\n addToCasePayload?.caseToWorkflow?.recommendations?.text\n | spaceBreaker\n )?.length\n \"\n />\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"\n (\n addToCasePayload?.caseToWorkflow?.recommendations?.text\n | spaceBreaker\n )?.length > 0\n \"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Recommended Actions</label>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let uploadingFile of addToCasePayload?.caseToWorkflow\n ?.recommendations?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ uploadingFile }}</span>\n </div>\n <app-line-loader [loaderHeight]=\"2\"></app-line-loader>\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.attachments\n ?.length > 0\n \"\n >\n <div\n class=\"file-list\"\n *ngFor=\"\n let file of addToCasePayload?.caseToWorkflow?.recommendations\n ?.attachments\n \"\n >\n <div class=\"file-container\">\n <span class=\"file-name\">{{ file?.name }}</span>\n <button>\n <i\n class=\"icons\"\n (click)=\"deleteFile(file, 'RECOMMENDED_ACTIONS')\"\n ></i\n >\n </button>\n </div>\n </div>\n </ng-container>\n <vcomply-editor\n [(ngModel)]=\"addToCasePayload.caseToWorkflow.recommendations.text\"\n [editorConfig]=\"{\n mode: 'prime',\n colorPalette: true,\n link: true,\n file: true,\n placeholder: 'Recommended actions'\n }\"\n (ngModelChange)=\"\n addToCasePayload?.caseToWorkflow?.recommendations?.text?.trim()\n ?.length > 0\n ? removeError('issueRecommendation')\n : null\n \"\n (clickOutside)=\"checkDescription()\"\n (sendSavedFiles)=\"selectFile('RECOMMENDED_ACTIONS', $event)\"\n ></vcomply-editor>\n </div>\n </div>\n </div>\n <!-- Risk Classification -->\n <div\n *ngIf=\"additionalOptionStatus.RISK_CLASSIFICATION\"\n class=\"form-group-row\"\n id=\"risk_classification\"\n [class.disabled]=\"fieldSelector?.includes(fieldClicked)\"\n >\n <div class=\"left\" [class.checked]=\"addToCasePayload.risk_class\">\n <img\n src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/risks.svg\"\n alt=\"im\"\n *ngIf=\"!addToCasePayload.risk_class\"\n />\n\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n *ngIf=\"addToCasePayload.risk_class\"\n >\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\n <path\n class=\"checkIcon__check\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n\n <div class=\"right\">\n <div class=\"vx-form-group\">\n <label class=\"vx-control-panel\">Risk Classification</label>\n <div class=\"classification\">\n <label\n class=\"low\"\n *ngFor=\"let class of riskClassification\"\n [ngClass]=\"[class.class]\"\n >\n <input\n type=\"radio\"\n name=\"classification\"\n [value]=\"class.value\"\n [checked]=\"addToCasePayload.risk_class === class.value\"\n [(ngModel)]=\"addToCasePayload.risk_class\"\n />\n <span>{{ class.name }}</span>\n </label>\n </div>\n </div>\n </div>\n </div>\n</div>\n<app-loader-inline *ngIf=\"checkloader\" ></app-loader-inline>\n<app-checkbox-list\n [config]=\"oversight_config\"\n [twoColumn]=\"true\"\n [itemsList]=\"userList\"\n [selectedItems]=\"selectedOversights?.cc_list\"\n [identifierKey]=\"'employee_email'\"\n [displayKey]=\"'employee_name'\"\n [tooltipKey]=\"'employee_email'\"\n *ngIf=\"activeSelector === 'CASE_CC'\"\n (saveList)=\"selectorAction($event, 'CASE_CC')\"\n (closeList)=\"fieldDeselector('CASE_CC')\"\n [loaded]=\"loader.userListLoader\"\n></app-checkbox-list>\n\n<app-checkbox-list\n [config]=\"oversight_config\"\n [twoColumn]=\"true\"\n [itemsList]=\"userList\"\n [selectedItems]=\"selectedOversights?.cc_failures_list\"\n [identifierKey]=\"'employee_email'\"\n [displayKey]=\"'employee_name'\"\n [tooltipKey]=\"'employee_email'\"\n *ngIf=\"activeSelector === 'CASE_FCC'\"\n (saveList)=\"selectorAction($event, 'CASE_FCC')\"\n (closeList)=\"fieldDeselector('CASE_FCC')\"\n [loaded]=\"loader.userListLoader\"\n></app-checkbox-list>\n\n<app-smiley-dialog-inline\n *ngIf=\"showSmiley\"\n [message]=\"smileyMessage\"\n [actionButtons]=\"actionButtons\"\n (action)=\"smileyActions($event)\"\n (closeSmiley)=\"closeSmiley($event)\"\n></app-smiley-dialog-inline>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .workflow-case{display:block;position:relative}::ng-deep .workflow-case app-case-type{cursor:pointer}::ng-deep .workflow-case app-case-details app-field-holder app-vc-input input{cursor:text;z-index:1000}::ng-deep .workflow-case app-report-date .date-time-picker{pointer-events:auto!important;z-index:1}::ng-deep .workflow-case app-rc-details app-cs-switch .cs-switch .switch{pointer-events:none!important;opacity:.5!important}::ng-deep .workflow-case .head-label{background:#565a6f;border-radius:.125rem;height:1rem;position:relative}::ng-deep .workflow-case .head-label:before{background:#e3e3e9;content:\"\";position:absolute;top:7px;left:-40px;width:500px;height:1px;z-index:-1}\n", "@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer .chipName.full-width{max-width:25rem}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group ::ng-deep vcomply-editor{margin-top:8px;display:block;pointer-events:auto!important;z-index:1}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group ::ng-deep vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group ::ng-deep vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#fff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item .info.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:212px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:#0000004d}::ng-deep .cdk-overlay-container{z-index:2147483002!important}::ng-deep .dp-popup{z-index:999;display:flex!important;align-items:center;justify-content:center;width:100vw;height:100vh;background:#0000004d!important;box-shadow:unset!important}::ng-deep .dp-popup dp-day-calendar{width:412px!important;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep .dp-popup dp-day-calendar,::ng-deep .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep .dp-popup dp-day-calendar button,::ng-deep .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}::ng-deep .dp-popup dp-day-calendar .dp-weekdays,::ng-deep .dp-popup dp-month-calendar .dp-weekdays,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0% 1%,#747576 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0% 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0% 1%,#34aa44 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0% 1%,#1e5dd3 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0% 1%,#f6882f 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0% 1%,#7aa6f7 50%,#2989d800 51%,#7db9e800);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}.wf-tooltip{pointer-events:none;position:absolute;max-width:300px;font-size:12px;text-align:left;color:#fff;padding:8px 12px;background:#000;border-radius:2px;z-index:-222;top:0;opacity:0;white-space:break-spaces;word-break:break-word}.wf-tooltip *{color:#fff!important}.wf-tooltip:empty{display:none!important}.wf-tooltip.white{box-shadow:0 2px 8px #1c5bd159;color:#747576;background:#fff;text-align:left}.wf-tooltip.white b{color:#747576!important}.wf-tooltip.animate-top{animation:animate-top .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-right{animation:animate-right .3s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-bottom{animation:animate-bottom .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip.animate-left{animation:animate-left .5s cubic-bezier(.25,.46,.45,.94) both}.wf-tooltip-top:after{top:100%;left:50%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-bottom:after{bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-left.white:after{border-color:transparent transparent transparent #f1f1f1}.wf-tooltip-left:after{top:50%;left:100%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #000000}.wf-tooltip-right.white:after{border-color:transparent #f1f1f1 transparent transparent}.wf-tooltip-right:after{top:50%;right:100%;margin-top:-5px;border-width:5px;border-color:transparent #000000 transparent transparent}.wf-tooltip-bottom-right:after{bottom:100%;left:100%;margin-left:-20px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-right.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-bottom-left:after{bottom:100%;left:0;margin-left:10px;border-width:5px;border-color:transparent transparent #000000 transparent}.wf-tooltip-bottom-left.white:after{border-color:transparent transparent #f1f1f1 transparent}.wf-tooltip-top-left:after{top:100%;left:0;margin-left:10px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-left.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip-top-right:after{top:100%;left:100%;margin-left:-5px;border-width:5px;border-color:#000000 transparent transparent transparent}.wf-tooltip-top-right.white:after{border-color:#f1f1f1 transparent transparent transparent}.wf-tooltip:after{content:\"\";position:absolute;border-style:solid}.wf-tooltip span.within{font-size:80%;display:block;width:100%}.wf-tooltip .small{display:block;font-size:10px}.wf-tooltip .within-box{background:#f1f1f1;border-radius:2px;color:#042e7d!important;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 2px;margin-right:2px}.wf-tooltip-show{pointer-events:none;opacity:1;z-index:2147483001}\n"] }]
|
|
806
|
+
}], ctorParameters: function () { return [{ type: i1.ReportACaseService }, { type: i2.UiKitService }, { type: i3.OrganizationUserService }, { type: i4.ResponsibilityService }, { type: i5.ComplianceCommonService }, { type: i6.IframeService }]; }, propDecorators: { openedFrom: [{
|
|
804
807
|
type: Input
|
|
805
808
|
}], source: [{
|
|
806
809
|
type: Input
|
|
@@ -829,4 +832,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
829
832
|
}], pickerChanged: [{
|
|
830
833
|
type: Output
|
|
831
834
|
}] } });
|
|
832
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL3dvcmtmbG93LWNhc2Uvd29ya2Zsb3ctY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL3dvcmtmbG93LWNhc2Uvd29ya2Zsb3ctY2FzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixjQUFjLEVBQ2QseUJBQXlCLEVBQ3pCLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxjQUFjLEVBQ2QsY0FBYyxHQUNmLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBSzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRNUQsTUFBTSxPQUFPLHFCQUFxQjtJQTJEaEMsWUFDVSxrQkFBc0MsRUFDdEMsWUFBMEIsRUFDMUIsdUJBQWdELEVBQ2hELHFCQUE0QyxFQUM1Qyx1QkFBZ0Q7UUFKaEQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELDBCQUFxQixH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QUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVU7Z0JBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZTtnQkFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQzNCLENBQUM7U0FDSDtRQUNELE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO1lBQ3RELENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FBQztZQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUM3QixDQUFDO0lBQ0osQ0FBQzsrR0FyM0JVLHFCQUFxQjttR0FBckIscUJBQXFCLDBnQkM3QmxDLHU5ekJBb3dCQTs7NEZEdnVCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO29QQStDcEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFERF9UT19DQVNFX1dPUktGTE9XLFxuICBBRERJVElPTkFMX09QVElPTl9TVEFUVVMsXG4gIEVYQ0VQVElPTl9UWVBFLFxuICBPVkVSU0lHSFRfU0VMRUNUT1JfQ09ORklHLFxuICBSRVBPUlRfQ0FTRSxcbiAgUkVQT1JUX0NBU0VfUEFZTE9BRCxcbiAgUklTS19DTEFTU0lGSUNBVElPTixcbiAgU0lERV9TRUxFQ1RPUl9FTEVNRU5UUyxcbiAgVkFMSURBVElPTl9FUlJPUixcbiAgV09SS0ZMT1dfREVUQUlMU19QQVJBTVMsXG4gIEFDVElPTl9CVVRUT05TLFxuICBTTUlMRVlfTUVTU0FHRSxcbiAgRklFTERfU0VMRUNUT1IsXG59IGZyb20gJy4uL2NvbnN0YW50cy9yZXBvcnQtY2FzZS5jb25zdGFudHMnO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jYXNlLXR5cGUtc2xpZGVyL2Nhc2UtdHlwZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwb3J0QUNhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmVwb3J0LWEtY2FzZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVpS2l0U2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3VpLWtpdC5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZ2FuaXphdGlvblVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvb3JnYW5pemF0aW9uLXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9yZXNwb25zaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hc3Nlc3N0cy5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmVwb3J0Q2FzZVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVwb3J0LWNhc2UtcGVybWlzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBsaWFuY2VDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvY29tbW9uLXdvcmtmbG93LXNlcnZpY2VzL2NvbXBsaWFuY2UtY29tbW9uLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXdvcmtmbG93LWNhc2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Zsb3ctY2FzZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dvcmtmbG93LWNhc2UuY29tcG9uZW50Lmxlc3MnLCAnLi4vLi4vZm9ybXMubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0Nhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlcG9ydFRleHRzID0gUkVQT1JUX0NBU0U7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgY2FzZVR5cGUgPSByZXBvcnQ7XG4gIGNhc2VUeXBlU2VsZWN0ZWQgPSByZXBvcnQuUkVQT1JUX0NBU0U7XG4gIHBheWxvYWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KFJFUE9SVF9DQVNFX1BBWUxPQUQpKTtcbiAgcGFyYW1zID0gV09SS0ZMT1dfREVUQUlMU19QQVJBTVM7XG4gIHZhbGlkYXRpb25FcnJvciA9IFZBTElEQVRJT05fRVJST1I7XG4gIHJpc2tDbGFzc2lmaWNhdGlvbiA9IFJJU0tfQ0xBU1NJRklDQVRJT047XG4gIGFkZFRvQ2FzZVBheWxvYWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KEFERF9UT19DQVNFX1dPUktGTE9XKSk7XG4gIGV4Y2VwdGlvblR5cGUgPSBFWENFUFRJT05fVFlQRTtcbiAgb3ZlcnNpZ2h0X2NvbmZpZyA9IE9WRVJTSUdIVF9TRUxFQ1RPUl9DT05GSUc7XG4gIHNtaWxleU1lc3NhZ2UgPSBTTUlMRVlfTUVTU0FHRTtcbiAgYWN0aW9uQnV0dG9uczogYW55W10gPSBBQ1RJT05fQlVUVE9OUztcbiAgc2lkZVNlbGVjdG9yRWxlbWVudHM6IGFueSA9IFNJREVfU0VMRUNUT1JfRUxFTUVOVFM7XG4gIGFkZGl0aW9uYWxPcHRpb25TdGF0dXM6IGFueSA9IEFERElUSU9OQUxfT1BUSU9OX1NUQVRVUztcbiAgZmllbGRTZWxlY3RvciA9IEZJRUxEX1NFTEVDVE9SO1xuICBjYXNlRGF0YTogYW55O1xuXG4gIGZpZWxkQ2xpY2tlZDogc3RyaW5nID0gJyc7XG4gIGFjdGl2ZUZpZWxkOiBzdHJpbmcgPSAnJztcbiAgYWN0aXZlU2VsZWN0b3I6IHN0cmluZyA9ICcnO1xuXG4gIHNob3dTbWlsZXk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2Nyb2xsVG9Cb3R0b206IGJvb2xlYW4gPSBmYWxzZTtcblxuICB3b3JrZmxvd0RldGFpbHNEYXRhOiBhbnk7XG4gIGdyb3VwTGlzdDogYW55W10gPSBbXTtcbiAgdXNlckxpc3Q6IGFueSA9IFtdO1xuICBzZWxlY3RlZE92ZXJzaWdodHM6IGFueSA9IHtcbiAgICBjY19saXN0OiBbXSxcbiAgICBjY19mYWlsdXJlc19saXN0OiBbXSxcbiAgfTtcbiAgbG9hZGVyID0ge1xuICAgIHVzZXJMaXN0TG9hZGVyOiBmYWxzZSxcbiAgICB0eXBlTG9hZGVyOiBmYWxzZSxcbiAgICBwcmlvcml0eUxvYWRlcjogZmFsc2UsXG4gICAgY2FzZUxvYWRlcjogZmFsc2UsXG4gICAgZ3JvdXBMaXN0TG9hZGVyOiBmYWxzZSxcbiAgICByZXBvcnRDYXNlTG9hZGVyOiBmYWxzZSxcbiAgICBwZXJtaXNzaW9uTG9hZGVyOiBmYWxzZSxcbiAgfTtcblxuICBASW5wdXQoKSBvcGVuZWRGcm9tOiBhbnk7XG4gIEBJbnB1dCgpIHNvdXJjZTogYW55O1xuICBASW5wdXQoKSBjYXNlSWQ6IGFueTtcbiAgQElucHV0KCkgbW9kZTogYW55O1xuICBASW5wdXQoKSB3b3JrZmxvd1R5cGU6IGFueTtcbiAgQElucHV0KCkgcmVzcG9uc2liaWxpdHlEYXRhOiBhbnk7XG4gIEBJbnB1dCgpIGFzc2Vzc21lbnRRdWVzdGlvbjogYW55O1xuICBASW5wdXQoKSBjYXNlVHlwZVBlcm1pc3Npb246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgY2xvc2VXb3JrZmxvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHBvcHVsYXRlT3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2FzZVJlcG9ydGVkQnkgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSB1c2VyTGlzdEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkaXNjb25uZWN0UmVmcmVzaCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHBpY2tlckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXBvcnRBQ2FzZVNlcnZpY2U6IFJlcG9ydEFDYXNlU2VydmljZSxcbiAgICBwcml2YXRlIHVpS2l0U2VydmljZTogVWlLaXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3JnYW5pemF0aW9uVXNlclNlcnZpY2U6IE9yZ2FuaXphdGlvblVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVzcG9uc2liaWxpdHlTZXJ2aWNlOiBSZXNwb25zaWJpbGl0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21wbGlhbmNlQ29tbW9uU2VydmljZTogQ29tcGxpYW5jZUNvbW1vblNlcnZpY2VcbiAgICApIHtcbiAgICB0aGlzLnBlcm1pc3Npb25Mb2FkZXIoKTtcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICBcbiAgICB0aGlzLmdldFVzZXJMaXN0KCk7XG4gICAgdGhpcy5nZXRHcm91cExpc3QoKTtcblxuICAgIGlmICh0aGlzLndvcmtmbG93VHlwZSA9PT0gJ0FDVFcnKSB7XG4gICAgICB0aGlzLmFkZGl0aW9uYWxPcHRpb25TdGF0dXMgPSB7IC4uLkFERElUSU9OQUxfT1BUSU9OX1NUQVRVUyB9O1xuICAgIH1cbiAgICBpZiAodGhpcy5tb2RlID09PSAnRURJVCcpIHtcbiAgICAgIHRoaXMuZ2V0Q2FzZURldGFpbHMoKTtcbiAgICB9XG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgcGVybWlzc2lvbkxvYWRlcigpIHtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5jYXNlVHlwZUxvYWRlci5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgdGhpcy5sb2FkZXIucGVybWlzc2lvbkxvYWRlciA9IHJlcztcbiAgICB9KTtcbiAgfVxuXG5cbiAgZ2V0VXNlckxpc3QoKSB7XG4gICAgdGhpcy5sb2FkZXIudXNlckxpc3RMb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMub3JnYW5pemF0aW9uVXNlclNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uVXNlcnMoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgdGhpcy51c2VyTGlzdCA9IHJlcztcbiAgICAgIHRoaXMudXNlckxpc3RFbWl0dGVyLmVtaXQocmVzKTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5tb2RlID09PSAnRURJVCcgJiZcbiAgICAgICAgdGhpcy5jYXNlVHlwZVNlbGVjdGVkID09PSByZXBvcnQuQUREX0NBU0VfVE9fV09SS0ZMT1dcbiAgICAgICkge1xuICAgICAgICB0aGlzLnBvcHVsYXRlT3ZlcnNpZ2h0cygpO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2FkZXIudXNlckxpc3RMb2FkZXIgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEdyb3VwTGlzdCgpIHtcbiAgICB0aGlzLmxvYWRlci5ncm91cExpc3RMb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlTZXJ2aWNlLmdldE9yZ2FuaXphdGlvbkdyb3VwcygpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICB0aGlzLmdyb3VwTGlzdCA9IHJlcztcbiAgICAgIHRoaXMubG9hZGVyLmdyb3VwTGlzdExvYWRlciA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q2FzZURldGFpbHMoKSB7XG4gICAgdGhpcy5sb2FkZXIuY2FzZUxvYWRlciA9IHRydWU7XG4gICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2VcbiAgICAgIC5nZXRDYXNlRGV0YWlscyh0aGlzLmNhc2VJZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2FzZVJlcG9ydGVkQnkuZW1pdChyZXM/LmRhdGE/LmNyZWF0ZWRfYnkpO1xuICAgICAgICB0aGlzLnNldENhc2VEZXRhaWxzKHJlcyk7XG4gICAgICAgIHRoaXMubG9hZGVyLmNhc2VMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2V0Q2FzZURldGFpbHMocmVzOiBhbnkpIHtcbiAgICBpZiAocmVzPy5kYXRhPy5hZGRlZF90b193b3JrZmxvdyB8fCB0aGlzLndvcmtmbG93VHlwZSA9PT0gJ0FDVFcnKSB7XG4gICAgICB0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPSByZXBvcnQuQUREX0NBU0VfVE9fV09SS0ZMT1c7XG4gICAgICB0aGlzLnBvcHVsYXRlQWRkQ2FzZVBheWxvYWQocmVzPy5kYXRhKTtcbiAgICAgIHRoaXMuZ2V0V29ya2Zsb3dEZXRhaWxzKHJlcz8uZGF0YSk7XG4gICAgXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9IHJlcG9ydC5SRVBPUlRfQ0FTRTtcbiAgICAgIHRoaXMucG9wdWxhdGVSZXBvcnRDYXNlUGF5bG9hZChyZXM/LmRhdGEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGVkaXQgY2FzZVxuXG4gIGdldFdvcmtmbG93RGV0YWlscyhkYXRhOiBhbnkpIHtcbiAgICB0aGlzLnBhcmFtcy5jYXNlX3R5cGUuaWQgPSBkYXRhPy5jYXNlX3R5cGU/LmlkO1xuICAgIHRoaXMucGFyYW1zLnByaW9yaXR5LmlkID0gZGF0YT8ucHJpb3JpdHk/LmlkO1xuICAgIHRoaXMucGFyYW1zLnJjX2RldGFpbHMuaWQgPVxuICAgICAgZGF0YT8ucmNfZGV0YWlscz8ubWFpbl9yY19pZCB8fCBkYXRhPy5yY19kZXRhaWxzPy5pZHM/LlswXTtcbiAgICB0aGlzLnBhcmFtcy5jYXRlZ29yeS5pZCA9IGRhdGE/LmNhdGVnb3J5Py5pZHNbMF07XG4gICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2UuZ2V0V29ya2Zsb3dEZXRhaWxzKHRoaXMucGFyYW1zKTtcbiAgfVxuXG4gIHBvcHVsYXRlUmVwb3J0Q2FzZVBheWxvYWQoZGF0YTogYW55KSB7XG4gICAgdGhpcy5wYXlsb2FkLm5hbWUgPSBkYXRhPy5uYW1lO1xuICAgIHRoaXMucGF5bG9hZC5kZXNjcmlwdGlvbiA9IGRhdGE/LmRlc2NyaXB0aW9uO1xuICAgIHRoaXMucGF5bG9hZC5yZXBvcnRlZF9kYXRlID0gbmV3IERhdGUoZGF0YT8ucmVwb3J0ZWRfZGF0ZSk7XG4gICAgdGhpcy5wYXlsb2FkLnByaW9yaXR5ID0gZGF0YT8ucHJpb3JpdHk7XG4gICAgdGhpcy5wYXlsb2FkLmNhc2VfdHlwZSA9IGRhdGE/LmNhc2VfdHlwZTtcbiAgICB0aGlzLnBheWxvYWQucmNfZGV0YWlscyA9IGRhdGE/LnJjX2RldGFpbHM7XG4gICAgdGhpcy5wYXlsb2FkLnJlY2VpdmVfdXBkYXRlcyA9IGRhdGE/LnJlY2VpdmVfdXBkYXRlcztcbiAgICB0aGlzLnBheWxvYWQuc3VwcG9ydGluZ19kb2N1bWVudHMgPSBkYXRhPy5zdXBwb3J0aW5nX2RvY3VtZW50cztcbiAgICB0aGlzLnBheWxvYWQuY2F0ZWdvcnkgPSBkYXRhPy5jYXRlZ29yeTtcbiAgfVxuXG4gIHBvcHVsYXRlQWRkQ2FzZVBheWxvYWQoZGF0YTogYW55KSB7XG4gICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2Uud29ya2Zsb3dDb2RlLm5leHQoJ0FDVycpO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5uYW1lID0gZGF0YT8ubmFtZTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuZGVzY3JpcHRpb24gPSBkYXRhPy5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQucHJpb3JpdHkgPSBkYXRhPy5wcmlvcml0eTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZV90eXBlID0gZGF0YT8uY2FzZV90eXBlO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5yY19kZXRhaWxzID0gZGF0YT8ucmNfZGV0YWlscztcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQucmlza19jbGFzcyA9IGRhdGE/LnJpc2tfY2xhc3M7XG4gICAgaWYgKHRoaXMud29ya2Zsb3dUeXBlID09PSAnQUNUVycpIHtcbiAgICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5hZGRpdGlvbmFsX2NhdGVnb3J5ID0gZGF0YT8uY2F0ZWdvcnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXRlZ29yeSA9IGRhdGE/LmNhdGVnb3J5O1xuICAgICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmFkZGl0aW9uYWxfY2F0ZWdvcnkgPSBkYXRhPy5hZGRpdGlvbmFsX2NhdGVnb3J5O1xuICAgIH1cbiAgICBpZiAoZGF0YT8uY2FzZVRvV29ya2Zsb3cpIHtcbiAgICAgIHRoaXMucG9wdWxhdGVBZGRpdGlvbmFsRmllbGRzKGRhdGE/LmNhc2VUb1dvcmtmbG93KTtcbiAgICAgIHRoaXMucG9wdWxhdGVSZXNvbHV0aW9uRGVhZGxpbmUoZGF0YT8uY2FzZVRvV29ya2Zsb3cpO1xuICAgICAgdGhpcy5wb3B1bGF0ZVVzZXJEZXRhaWxzKGRhdGE/LmNhc2VUb1dvcmtmbG93KTtcbiAgICAgIHRoaXMuc2V0T3B0aW9uYWxGaWVsZChkYXRhPy5jYXNlVG9Xb3JrZmxvdywgZGF0YT8ucmlza19jbGFzcyk7XG4gICAgfVxuICB9XG5cbiAgcG9wdWxhdGVVc2VyRGV0YWlscyhkYXRhOiBhbnkpIHtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cuYXNzaWduZWVzX2dyb3VwID1cbiAgICAgIGRhdGE/LmFzc2lnbmVlc19ncm91cDtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cub3duZXJzID0gZGF0YT8ub3duZXJzO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5hc3NpZ25lZXMgPSBkYXRhPy5hc3NpZ25lZXM7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LndvcmtmbG93X2lkID0gZGF0YT8ud29ya2Zsb3dfaWQ7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmFzc2lnbmVlc19ncm91cCA9XG4gICAgICBkYXRhPy5hc3NpZ25lZXNfZ3JvdXA7XG4gIH1cblxuICBwb3B1bGF0ZVJlc29sdXRpb25EZWFkbGluZShkYXRhOiBhbnkpIHtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVzb2x1dGlvbl9kZWFkbGluZSA9XG4gICAgICBkYXRhPy5yZXNvbHV0aW9uX2RlYWRsaW5lO1xuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGRhdGE/LnJlc29sdXRpb25fZGVhZGxpbmU/LmR1ZV9kYXRlKTtcbiAgICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSAtIDEpO1xuICAgICAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5yZXNvbHV0aW9uX2RlYWRsaW5lLmR1ZV9kYXRlID1cbiAgICAgICAgZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlc29sdXRpb25fZGVhZGxpbmU/LnN0YWdlc19hc3NpZ25lZXM/LmZvckVhY2goXG4gICAgICAoc3RhZ2U6IGFueSkgPT4ge1xuICAgICAgICBzdGFnZS5kdWVfZGF0ZSA9IGRhdGUudG9JU09TdHJpbmcoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcG9wdWxhdGVBZGRpdGlvbmFsRmllbGRzKGRhdGE6IGFueSkge1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5leGNlcHRpb25fdHlwZSA9IGRhdGE/LmV4Y2VwdGlvbl90eXBlO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5hc3NvY2lhdGVkX3Jpc2tzID1cbiAgICAgIGRhdGE/LmFzc29jaWF0ZWRfcmlza3M7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmV2aWRlbmNlX2VuYWJsZWQgPVxuICAgICAgZGF0YT8uZXZpZGVuY2VfZW5hYmxlZDtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVjb21tZW5kYXRpb25zID1cbiAgICAgIGRhdGE/LnJlY29tbWVuZGF0aW9ucztcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cub3ZlcnNpZ2h0cy5jY19pZHMgPVxuICAgICAgZGF0YT8ub3ZlcnNpZ2h0cz8uY2NfaWRzO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5vdmVyc2lnaHRzLmNjX2ZhaWx1cmVzX2lkcyA9XG4gICAgICBkYXRhPy5vdmVyc2lnaHRzPy5jY19mYWlsdXJlc19pZHM7XG4gICAgdGhpcy5wb3B1bGF0ZU92ZXJzaWdodHMoKTtcbiAgfVxuXG4gIHBvcHVsYXRlT3ZlcnNpZ2h0cygpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3ZlcnNpZ2h0cy5jY19saXN0ID0gdGhpcy51c2VyTGlzdD8uZmlsdGVyKCh1c2VyOiBhbnkpID0+XG4gICAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cub3ZlcnNpZ2h0cy5jY19pZHM/LmluY2x1ZGVzKFxuICAgICAgICB1c2VyPy5faWQgYXMgbmV2ZXJcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2ZhaWx1cmVzX2xpc3QgPSB0aGlzLnVzZXJMaXN0Py5maWx0ZXIoXG4gICAgICAodXNlcjogYW55KSA9PlxuICAgICAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cub3ZlcnNpZ2h0cy5jY19mYWlsdXJlc19pZHM/LmluY2x1ZGVzKFxuICAgICAgICAgIHVzZXI/Ll9pZCBhcyBuZXZlclxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNldE9wdGlvbmFsRmllbGQoZGF0YTogYW55LCByaXNrQ2xhc3M6IG51bWJlcikge1xuICAgIHRoaXMuYWRkaXRpb25hbE9wdGlvblN0YXR1cyA9IHtcbiAgICAgIEVYQ0VQVElPTl9UWVBFOiBkYXRhPy5leGNlcHRpb25fdHlwZSA/IHRydWUgOiBmYWxzZSxcbiAgICAgIEVWSURFTkNFOiBkYXRhPy5ldmlkZW5jZV9lbmFibGVkID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgQVNTT0NJQVRFRF9SSVNLUzogZGF0YT8uYXNzb2NpYXRlZF9yaXNrcz8udGV4dD8ubGVuZ3RoID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgT1ZFUlNJR0hUOlxuICAgICAgICBkYXRhPy5vdmVyc2lnaHRzPy5jY19pZHM/Lmxlbmd0aCA+IDAgfHxcbiAgICAgICAgZGF0YT8ub3ZlcnNpZ2h0cz8uY2NfZmFpbHVyZXNfaWRzPy5sZW5ndGggPiAwXG4gICAgICAgICAgPyB0cnVlXG4gICAgICAgICAgOiBmYWxzZSxcbiAgICAgIFJFQ09NTUVOREVEX0FDVElPTlM6XG4gICAgICAgIGRhdGE/LnJlY29tbWVuZGF0aW9ucz8udGV4dD8ubGVuZ3RoID4gMCA/IHRydWUgOiBmYWxzZSxcbiAgICAgIFJJU0tfQ0xBU1NJRklDQVRJT046IHJpc2tDbGFzcyA/IHRydWUgOiBmYWxzZSxcbiAgICB9O1xuICAgIHRoaXMucG9wdWxhdGVPcHRpb25hbEZpZWxkcygpO1xuICB9XG5cbiAgcG9wdWxhdGVPcHRpb25hbEZpZWxkcygpIHtcbiAgICBjb25zdCBhY3RpdmF0ZWRPcHRpb25zID0gW107XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzKSkge1xuICAgICAgaWYgKHRoaXMuYWRkaXRpb25hbE9wdGlvblN0YXR1c1trZXldID09PSB0cnVlKSB7XG4gICAgICAgIGFjdGl2YXRlZE9wdGlvbnMucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnBvcHVsYXRlT3B0aW9uLmVtaXQoYWN0aXZhdGVkT3B0aW9ucyk7XG4gIH1cblxuICAvLyBDaGFuZ2UgaW4gY2FzZSB0eXBlXG4gIG9uQ2FzZVR5cGVDaGFuZ2UoY2FzZVR5cGU6IHJlcG9ydCkge1xuICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9IGNhc2VUeXBlO1xuICAgIHRoaXMuY29tcGxpYW5jZUNvbW1vblNlcnZpY2UucmNMaXN0Py5uZXh0KG51bGwpO1xuICAgIGlmIChjYXNlVHlwZSA9PT0gcmVwb3J0LlJFUE9SVF9DQVNFKSB7XG4gICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICAgICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2Uud29ya2Zsb3dDb2RlLm5leHQoJ1JBQycpO1xuICAgIH0gZWxzZSBpZiAoY2FzZVR5cGUgPT09IHJlcG9ydC5BRERfQ0FTRV9UT19XT1JLRkxPVykge1xuICAgICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgICAgIHRoaXMucmVwb3J0QUNhc2VTZXJ2aWNlLndvcmtmbG93Q29kZS5uZXh0KCdBQ1cnKTtcbiAgICB9XG4gICAgdGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzID0geyAuLi5BRERJVElPTkFMX09QVElPTl9TVEFUVVMgfTtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5yZXNldE1vcmVPcHRpb24ubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHNhdmVTdXBwb3J0aW5nRG9jdW1lbnQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGRvY3VtZW50ID0gZXZlbnQ/LmZpbGVzO1xuICAgIHRoaXMucGF5bG9hZC5zdXBwb3J0aW5nX2RvY3VtZW50cyA9IFsuLi5kb2N1bWVudF0gYXMgbmV2ZXI7XG4gIH1cblxuICBvbkNhdGVnb3J5Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBhcmFtcy5jYXRlZ29yeS5pZCA9IGV2ZW50WzBdO1xuICAgIGlmICh0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHJlcG9ydC5BRERfQ0FTRV9UT19XT1JLRkxPVykge1xuICAgICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2UuZ2V0V29ya2Zsb3dEZXRhaWxzKHRoaXMucGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICBvblByaW9yaXR5Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBhcmFtcy5wcmlvcml0eS5pZCA9IGV2ZW50O1xuICAgIGlmICh0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHJlcG9ydC5BRERfQ0FTRV9UT19XT1JLRkxPVykge1xuICAgICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2UuZ2V0V29ya2Zsb3dEZXRhaWxzKHRoaXMucGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICBvblJjQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBhcmFtcy5yY19kZXRhaWxzLmlkID0gZXZlbnQ7XG4gICAgaWYgKHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gcmVwb3J0LkFERF9DQVNFX1RPX1dPUktGTE9XKSB7XG4gICAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5nZXRXb3JrZmxvd0RldGFpbHModGhpcy5wYXJhbXMpO1xuICAgIH1cbiAgICB0aGlzLnBpY2tlclRvZ2dsZShmYWxzZSk7XG4gIH1cblxuICBvbkNhc2VUeXBlRHJvcGRvd25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucGFyYW1zLmNhc2VfdHlwZS5pZCA9IGV2ZW50O1xuICAgIGlmICh0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHJlcG9ydC5BRERfQ0FTRV9UT19XT1JLRkxPVykge1xuICAgICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2UuZ2V0V29ya2Zsb3dEZXRhaWxzKHRoaXMucGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICByZXBvcnRDYXNlKCkge1xuICAgIGlmICh0aGlzLm9wZW5lZEZyb20gPT09ICdDT01QTElBTkNFX1dPUktST09NJyB8fCB0aGlzLm9wZW5lZEZyb20gPT09ICdBU1NFU1NNRU5UJykge1xuICAgICAgdGhpcy5maWx0ZXJSZXNwb25zaWJpbGl0aWVzKHRoaXMucGF5bG9hZCk7XG4gICAgICB0aGlzLmZpbHRlckFzc2Vzc21lbnQodGhpcy5wYXlsb2FkKTtcbiAgICB9XG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMuY2hlY2tWYWxpZGF0aW9uKHRoaXMucGF5bG9hZCk7XG4gICAgaWYgKCFpc1ZhbGlkKSByZXR1cm47XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNhc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2FkZXIucmVwb3J0Q2FzZUxvYWRlciA9IHRydWU7XG4gICAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5yZXBvcnRBQ2FzZSh0aGlzLnBheWxvYWQpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VEYXRhID0geyAuLi5yZXM/LmRhdGEsIHNvdXJjZTogdGhpcy5zb3VyY2UgfTtcbiAgICAgICAgICB0aGlzLnNob3dTbWlsZXkgPSB0cnVlO1xuICAgICAgICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzU21pbGV5T24gPSB0cnVlO1xuICAgICAgICAgIHRoaXMubG9hZGVyLnJlcG9ydENhc2VMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIsICdlcnInKTtcbiAgICAgICAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDYXNlKCkge1xuICAgIHRoaXMubG9hZGVyLnJlcG9ydENhc2VMb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMucmVwb3J0QUNhc2VTZXJ2aWNlLnVwZGF0ZUNhc2UodGhpcy5wYXlsb2FkLCB0aGlzLmNhc2VJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNhc2VEYXRhID0geyAuLi5yZXM/LmRhdGEsIHNvdXJjZTogdGhpcy5zb3VyY2UgfTtcbiAgICAgICAgdGhpcy5zaG93U21pbGV5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy51aUtpdFNlcnZpY2UuaXNTbWlsZXlPbiA9IHRydWU7XG4gICAgICAgIHRoaXMubG9hZGVyLnJlcG9ydENhc2VMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2hlY2sgdmFsaWRhdGlvbiBmb3IgcmVwb3J0IGEgY2FzZVxuICBjaGVja1ZhbGlkYXRpb24ocGF5bG9hZDogYW55KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudmFsaWRhdGVOYW1lKHBheWxvYWQubmFtZSkgJiZcbiAgICAgIHRoaXMudmFsaWRhdGVEZXNjcmlwdGlvbihwYXlsb2FkLmRlc2NyaXB0aW9uLnRleHQpICYmXG4gICAgICB0aGlzLnZhbGlkYXRlQ2FzZVR5cGUocGF5bG9hZC5jYXNlX3R5cGUuaWQpICYmXG4gICAgICB0aGlzLnZhbGlkYXRlUmVwb3J0RGF0ZShwYXlsb2FkLnJlcG9ydGVkX2RhdGUpXG4gICAgKTtcbiAgfVxuXG4gIGNoZWNrQWRkVG9DYXNlVmFsaWRhdGlvbihwYXlsb2FkOiBhbnkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy52YWxpZGF0ZU5hbWUocGF5bG9hZD8ubmFtZSkgJiZcbiAgICAgIHRoaXMudmFsaWRhdGVEZXNjcmlwdGlvbihwYXlsb2FkPy5kZXNjcmlwdGlvbj8udGV4dCkgJiZcbiAgICAgIHRoaXMudmFsaWRhdGVSYyhwYXlsb2FkKSAmJlxuICAgICAgdGhpcy52YWxpZGF0ZUNhc2VUeXBlKHBheWxvYWQ/LmNhc2VfdHlwZT8uaWQpICYmXG4gICAgICB0aGlzLnZhbGlkYXRlQ2FzZVByaW9yaXR5KHBheWxvYWQ/LnByaW9yaXR5Py5pZCkgJiZcbiAgICAgIHRoaXMudmFsaWRhdGVDYXNlT3duZXIocGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm93bmVycykgJiZcbiAgICAgICh0aGlzLnZhbGlkYXRlQ2FzZUFzc2lnbmVlKHBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NpZ25lZXMpIHx8XG4gICAgICAgIHRoaXMudmFsaWRhdGVDYXNlQXNzaWduZWVHcm91cChcbiAgICAgICAgICBwYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uYXNzaWduZWVzX2dyb3VwXG4gICAgICAgICkpICYmXG4gICAgICB0aGlzLnZhbGlkYXRlQ2FzZVJlc29sdXRpb25EZWFkbGluZShcbiAgICAgICAgcGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlc29sdXRpb25fZGVhZGxpbmVcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgdmFsaWRhdGVOYW1lKG5hbWU6IHN0cmluZykge1xuICAgIGlmICghbmFtZSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IubmFtZS5pc0Vycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLm5hbWUubWVzc2FnZSA9IHRoaXMucmVwb3J0VGV4dHMuZXJyb3JNZXNzYWdlLm5hbWU7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFsaWRhdGVEZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKCFkZXNjcmlwdGlvbikge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuZGVzY3JpcHRpb24uaXNFcnJvciA9IHRydWU7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5kZXNjcmlwdGlvbi5tZXNzYWdlID1cbiAgICAgICAgdGhpcy5yZXBvcnRUZXh0cy5lcnJvck1lc3NhZ2UuZGVzY3JpcHRpb247XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFsaWRhdGVDYXNlVHlwZShjYXNlVHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKCFjYXNlVHlwZSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuY2FzZVR5cGUuaXNFcnJvciA9IHRydWU7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlVHlwZS5tZXNzYWdlID1cbiAgICAgICAgdGhpcy5yZXBvcnRUZXh0cy5lcnJvck1lc3NhZ2UuY2FzZVR5cGU7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFsaWRhdGVSZXBvcnREYXRlKHJlcG9ydERhdGU6IHN0cmluZykge1xuICAgIGlmICghcmVwb3J0RGF0ZSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IucmVwb3J0RGF0ZS5pc0Vycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLnJlcG9ydERhdGUubWVzc2FnZSA9XG4gICAgICAgIHRoaXMucmVwb3J0VGV4dHMuZXJyb3JNZXNzYWdlLnJlcG9ydERhdGU7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFsaWRhdGVDYXNlUHJpb3JpdHkocHJpb3JpdHk6IHN0cmluZykge1xuICAgIGlmICghcHJpb3JpdHkpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLnByaW9yaXR5LmlzRXJyb3IgPSB0cnVlO1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IucHJpb3JpdHkubWVzc2FnZSA9XG4gICAgICAgIHRoaXMucmVwb3J0VGV4dHMuZXJyb3JNZXNzYWdlLnByaW9yaXR5O1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHZhbGlkYXRlUmMocGF5bG9hZDogYW55KSB7XG4gICAgaWYgKCFwYXlsb2FkPy5yY19kZXRhaWxzPy5pZHM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IucmMuaXNFcnJvciA9IHRydWU7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5yYy5tZXNzYWdlID0gdGhpcy5yZXBvcnRUZXh0cy5lcnJvck1lc3NhZ2UucmM7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIHBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoID4gMSAmJlxuICAgICAgIXBheWxvYWQ/LnJjX2RldGFpbHM/LnNlcGFyYXRlX3JjX2Nhc2VzICYmXG4gICAgICAhcGF5bG9hZD8ucmNfZGV0YWlscz8ubWFpbl9yY19pZFxuICAgICkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IubWFpblJjLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IubWFpblJjLm1lc3NhZ2UgPVxuICAgICAgICB0aGlzLnJlcG9ydFRleHRzLmVycm9yTWVzc2FnZS5tYWluUmM7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFsaWRhdGVDYXNlT3duZXIob3duZXJzOiBhbnkpIHtcbiAgICBpZiAoIW93bmVycz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIuaXNFcnJvciA9IHRydWU7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIubWVzc2FnZSA9XG4gICAgICAgIHRoaXMucmVwb3J0VGV4dHMuZXJyb3JNZXNzYWdlLmNhc2VPd25lcjtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2YWxpZGF0ZUNhc2VBc3NpZ25lZShhc3NpZ25lZXM6IGFueSkge1xuICAgIGlmICghYXNzaWduZWVzPy5sZW5ndGgpIHtcbiAgICAgIGlmICghdGhpcy5hZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uYXNzaWduZWVzX2dyb3VwPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuY2FzZUFzc2lnbmVlLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlQXNzaWduZWUubWVzc2FnZSA9XG4gICAgICAgICAgdGhpcy5yZXBvcnRUZXh0cy5lcnJvck1lc3NhZ2UuY2FzZUFzc2lnbmVlO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFsaWRhdGVDYXNlQXNzaWduZWVHcm91cChhc3NpZ25lZXNfZ3JvdXA6IGFueSkge1xuICAgIGlmICghYXNzaWduZWVzX2dyb3VwPy5sZW5ndGgpIHtcbiAgICAgIGlmICghdGhpcy5hZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uYXNzaWduZWVzPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuY2FzZUFzc2lnbmVlLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlQXNzaWduZWUubWVzc2FnZSA9XG4gICAgICAgICAgdGhpcy5yZXBvcnRUZXh0cy5lcnJvck1lc3NhZ2UuY2FzZUFzc2lnbmVlO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFsaWRhdGVDYXNlUmVzb2x1dGlvbkRlYWRsaW5lKHJlc29sdXRpb25EZWFkbGluZTogYW55KSB7XG4gICAgbGV0IGNhc2VBc3NpZ25lZTogYm9vbGVhbiA9IHRydWU7XG4gICAgcmVzb2x1dGlvbkRlYWRsaW5lPy5zdGFnZXNfYXNzaWduZWVzPy5mb3JFYWNoKChzdGFnZTogYW55KSA9PiB7XG4gICAgICBpZiAoIXN0YWdlPy5hc3NpZ25lZV9pZCkge1xuICAgICAgICBjYXNlQXNzaWduZWUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoIXJlc29sdXRpb25EZWFkbGluZT8uZHVlX2RhdGUgfHwgIWNhc2VBc3NpZ25lZSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuY2FzZVJlc29sdXRpb25EZWFkbGluZS5pc0Vycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VSZXNvbHV0aW9uRGVhZGxpbmUubWVzc2FnZSA9XG4gICAgICAgIHRoaXMucmVwb3J0VGV4dHMuZXJyb3JNZXNzYWdlLmNhc2VSZXNvbHV0aW9uRGVhZGxpbmU7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gZmllbGQgc2VsZWN0b3IgYW5kIGRlLXNlbGVjdG9yXG4gIG9uRmllbGRDbGlja2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZCA9IGV2ZW50O1xuICAgIHRoaXMucGlja2VyVG9nZ2xlKHRydWUpO1xuICB9XG5cbiAgYWRkTW9yZUluZm8oZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuYWRkaXRpb25hbE9wdGlvblN0YXR1c1tldmVudC5jb2RlXSA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgdGhpcy5zY3JvbGxUb0JvdHRvbSA9IHRydWU7XG4gIH1cblxuICBzZXRBY3RpdmVGaWVsZFNlbGVjdG9yKGZpZWxkOiBzdHJpbmcsIHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuYWN0aXZlRmllbGQgPSBmaWVsZDtcbiAgICB0aGlzLmFjdGl2ZVNlbGVjdG9yID0gdHlwZTtcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZCA9IGZpZWxkO1xuICAgIHRoaXMucGlja2VyVG9nZ2xlKHRydWUpO1xuICB9XG5cbiAgZmllbGREZXNlbGVjdG9yKHR5cGU6IGFueSkge1xuICAgIHRoaXMuYWN0aXZlU2VsZWN0b3IgPSAnJztcbiAgICB0aGlzLmFjdGl2ZUZpZWxkID0gJyc7XG4gICAgdGhpcy5maWVsZENsaWNrZWQgPSAnJztcbiAgICB0aGlzLnBpY2tlclRvZ2dsZShmYWxzZSk7XG4gIH1cblxuICBwaWNrZXJUb2dnbGUodHlwZTogYm9vbGVhbikge1xuICAgIHRoaXMucGlja2VyQ2hhbmdlZC5lbWl0KHR5cGUpO1xuICB9XG5cbiAgLy8gQWRkIENhc2UgdG8gd29ya2Zsb3dcbiAgc2V0RXhjZXB0aW9uKHR5cGU6IGFueSkge1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5leGNlcHRpb25fdHlwZSA9IHR5cGU7XG4gIH1cblxuICBjaGVja0Rlc2NyaXB0aW9uKCkge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uYXNzb2NpYXRlZF9yaXNrcz8udGV4dCxcbiAgICAgICd0ZXh0J1xuICAgICk7XG4gIH1cblxuICBzZWxlY3RGaWxlKHR5cGU6IHN0cmluZywgZmlsZXM6IGFueSkge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnQVNTT0NJQVRFRF9SSVNLUyc6IHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gZmlsZXMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgbmFtZSA9IGZpbGVzW2ldLmZpbGUubmFtZSA/PyAnJztcbiAgICAgICAgICAvLyB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuYXNzb2NpYXRlZF9yaXNrcy5hdHRhY2htZW50cy5wdXNoKG5hbWUpO1xuICAgICAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlc1tpXS5maWxlLCB0eXBlKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGxvYWRGaWxlKGZpbGU6IGFueSwgdHlwZTogc3RyaW5nKSB7XG4gICAgY29uc29sZS5sb2coZmlsZSwgdHlwZSwgJ2ZpbGUnKTtcbiAgfVxuXG4gIHNldEV2aWRlbmNlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cuZXZpZGVuY2VfZW5hYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgZGVsZXRlSXRlbSh0eXBlOiBhbnksIGVsZW1lbnQ6IGFueSkge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnQ0FTRV9DQyc6IHtcbiAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gdGhpcy5zZWxlY3RlZE92ZXJzaWdodHMuY2NfbGlzdD8uZmluZEluZGV4KFxuICAgICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0/LmVtcGxveWVlX2VtYWlsID09PSBlbGVtZW50Py5lbXBsb3llZV9lbWFpbFxuICAgICAgICApO1xuICAgICAgICBpZiAoaXRlbUluZGV4ICE9PSAtMSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2xpc3Q/LnNwbGljZShpdGVtSW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnQ0FTRV9GQ0MnOiB7XG4gICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2ZhaWx1cmVzX2xpc3Q/LmZpbmRJbmRleChcbiAgICAgICAgICAoaXRlbTogYW55KSA9PiBpdGVtPy5lbXBsb3llZV9lbWFpbCA9PT0gZWxlbWVudD8uZW1wbG95ZWVfZW1haWxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGl0ZW1JbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkT3ZlcnNpZ2h0cy5jY19mYWlsdXJlc19saXN0Py5zcGxpY2UoaXRlbUluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWxlY3RvckFjdGlvbihldnQ6IGFueSwgdHlwZTogYW55KSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdDQVNFX0NDJzoge1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3ZlcnNpZ2h0cy5jY19saXN0ID0gZXZ0O1xuICAgICAgICB0aGlzLmdldENjVXNlcnMoZXZ0LCAnY2MnKTtcbiAgICAgICAgdGhpcy5maWVsZERlc2VsZWN0b3IodHlwZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnQ0FTRV9GQ0MnOiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2ZhaWx1cmVzX2xpc3QgPSBldnQ7XG4gICAgICAgIHRoaXMuZ2V0Q2NVc2VycyhldnQsICdmY2MnKTtcbiAgICAgICAgdGhpcy5maWVsZERlc2VsZWN0b3IodHlwZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmFjdGl2ZVNlbGVjdG9yID0gJyc7XG4gICAgdGhpcy5maWVsZENsaWNrZWQgPSAnJztcbiAgICB0aGlzLnBpY2tlclRvZ2dsZShmYWxzZSk7XG4gIH1cblxuICBnZXRDY1VzZXJzKGV2dDogYW55LCB0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB1c2VyTGlzdCA9IHRoaXMudXNlckxpc3Q/LmZpbHRlcigodXNlcjogYW55KSA9PlxuICAgICAgZXZ0Py5pbmNsdWRlcyh1c2VyPy5lbXBsb3llZV9lbWFpbClcbiAgICApO1xuICAgIGlmICh0eXBlID09PSAnY2MnKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkT3ZlcnNpZ2h0cy5jY19saXN0ID0gdXNlckxpc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2ZhaWx1cmVzX2xpc3QgPSB1c2VyTGlzdDtcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJPdmVyc2lnaHRzKCkge1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5vdmVyc2lnaHRzLmNjX2lkcyA9XG4gICAgICB0aGlzLnNlbGVjdGVkT3ZlcnNpZ2h0cy5jY19saXN0XG4gICAgICAgID8ubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0/Ll9pZClcbiAgICAgICAgPy5maWx0ZXIoQm9vbGVhbikgYXMgYW55O1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5vdmVyc2lnaHRzLmNjX2ZhaWx1cmVzX2lkcyA9XG4gICAgICB0aGlzLnNlbGVjdGVkT3ZlcnNpZ2h0cy5jY19mYWlsdXJlc19saXN0XG4gICAgICAgID8ubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0/Ll9pZClcbiAgICAgICAgPy5maWx0ZXIoQm9vbGVhbikgYXMgYW55O1xuICB9XG5cbiAgZmlsdGVyUmVzcG9uc2liaWxpdGllcyhwYXlsb2FkOiBhbnkpIHtcbiAgICBpZiAodGhpcy5vcGVuZWRGcm9tID09PSAnQ09NUExJQU5DRV9XT1JLUk9PTScpIHtcbiAgICAgIHRoaXMucGF5bG9hZC5zb3VyY2UgPSB0aGlzLnNvdXJjZTtcbiAgICAgIHBheWxvYWQucmVzcG9uc2liaWxpdGllc19MaW5rZWQgPSBwYXlsb2FkPy5yZXNwb25zaWJpbGl0aWVzX0xpbmtlZD8ubWFwKFxuICAgICAgICAoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW0/LkVuY3J5cHRlZFJlcG9ydElkO1xuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcGF5bG9hZC5yZXNwb25zaWJpbGl0aWVzX0xpbmtlZC5wdXNoKFxuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5RGF0YT8ucmVzcG9uc2liaWxpdHlPYmplY3RJZFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBmaWx0ZXJBc3Nlc3NtZW50KHBheWxvYWQ6IGFueSkge1xuICAgIGlmIChcbiAgICAgIHRoaXMub3BlbmVkRnJvbSA9PT0gJ0FTU0VTU01FTlQnIHx8XG4gICAgICB0aGlzLm9wZW5lZEZyb20gPT09ICdDT01QTElBTkNFX1dPUktST09NJ1xuICAgICkge1xuICAgICAgdGhpcy5wYXlsb2FkLnNvdXJjZSA9IHRoaXMuc291cmNlO1xuICAgICAgcGF5bG9hZC5saW5rZWRfYXNzZXNzbWVudF9pc3N1ZXMucmVzcF9pZCA9IHRoaXMuc291cmNlXG4gICAgICAgID8gdGhpcy5yZXNwb25zaWJpbGl0eURhdGE/LnJlc3BvbnNpYmlsaXR5T2JqZWN0SWRcbiAgICAgICAgOiAnJztcbiAgICAgIHBheWxvYWQubGlua2VkX2Fzc2Vzc21lbnRfaXNzdWVzLmR1ZV9kYXRlX2lkID1cbiAgICAgICAgdGhpcy5hc3Nlc3NtZW50UXVlc3Rpb24/LmR1ZURhdGVJZDtcbiAgICAgIHBheWxvYWQubGlua2VkX2Fzc2Vzc21lbnRfaXNzdWVzLmFzc2Vzc21lbnRfaWQgPVxuICAgICAgICB0aGlzLmFzc2Vzc21lbnRRdWVzdGlvbj8uYXNzZXNzbWVudElkO1xuICAgICAgcGF5bG9hZC5saW5rZWRfYXNzZXNzbWVudF9pc3N1ZXMucXVlc3Rpb25faWQgPVxuICAgICAgICB0aGlzLmFzc2Vzc21lbnRRdWVzdGlvbj8ucXVlc3Rpb25JZDtcbiAgICAgIHBheWxvYWQubGlua2VkX2Fzc2Vzc21lbnRfaXNzdWVzLmF1ZGl0ZWVfaWQgPVxuICAgICAgICB0aGlzLmFzc2Vzc21lbnRRdWVzdGlvbj8uYXVkaXRlZUlkO1xuICAgICAgcGF5bG9hZC5yZXNwb25zaWJpbGl0aWVzX0xpbmtlZCA9IFtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eURhdGE/LnJlc3BvbnNpYmlsaXR5T2JqZWN0SWQsXG4gICAgICBdO1xuICAgICAgcGF5bG9hZC5zb3VyY2UgPSB0aGlzLnNvdXJjZTtcbiAgICB9XG4gIH1cbiAgXG4gIGZvcm1hdER1ZURhdGUoZGF0ZTogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCBsb2NhbERhdGUgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICAvLyBBZGQgb25lIGRheSB0byB0aGUgZGF0ZVxuICAgIGxvY2FsRGF0ZS5zZXREYXRlKGxvY2FsRGF0ZS5nZXREYXRlKCkgKyAxKTtcbiAgICAvLyBTZXQgdGltZSB0byBtaWRuaWdodFxuICAgIGxvY2FsRGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICByZXR1cm4gbG9jYWxEYXRlLnRvSVNPU3RyaW5nKCk7XG4gIH1cbiAgdXBkYXRlRGF0ZSgpIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5mb3JtYXREdWVEYXRlKFxuICAgICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ucmVzb2x1dGlvbl9kZWFkbGluZT8uZHVlX2RhdGVcbiAgICApO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5yZXNvbHV0aW9uX2RlYWRsaW5lLmR1ZV9kYXRlID0gZGF0ZTtcblxuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlc29sdXRpb25fZGVhZGxpbmU/LnN0YWdlc19hc3NpZ25lZXM/LmZvckVhY2goXG4gICAgICAoc3RhZ2U6IGFueSkgPT4ge1xuICAgICAgICBzdGFnZS5kdWVfZGF0ZSA9IGRhdGU7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGFkZFRvQ2FzZSgpIHtcbiAgICB0aGlzLmZpbHRlck92ZXJzaWdodHMoKTtcbiAgICBjb25zdCBpc1ZhbGlkID0gdGhpcy5jaGVja0FkZFRvQ2FzZVZhbGlkYXRpb24odGhpcy5hZGRUb0Nhc2VQYXlsb2FkKTtcbiAgICBpZiAoIWlzVmFsaWQpIHJldHVybjtcbiAgICB0aGlzLnVwZGF0ZURhdGUoKTtcbiAgICBpZiAodGhpcy53b3JrZmxvd1R5cGUgPT09ICdBQ1RXJykge1xuICAgICAgdGhpcy5hZGRDYXNlVG9Xb3JrZmxvdygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSAnRURJVCcgJiYgdGhpcy53b3JrZmxvd1R5cGUgIT09ICdBQ1RXJykge1xuICAgICAgdGhpcy5maWx0ZXJSZXNwb25zaWJpbGl0aWVzKHRoaXMuYWRkVG9DYXNlUGF5bG9hZCk7XG4gICAgICB0aGlzLmZpbHRlckFzc2Vzc21lbnQodGhpcy5hZGRUb0Nhc2VQYXlsb2FkKTtcbiAgICAgIHRoaXMudXBkYXRlQWRkVG9DYXNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyUmVzcG9uc2liaWxpdGllcyh0aGlzLmFkZFRvQ2FzZVBheWxvYWQpO1xuICAgICAgdGhpcy5maWx0ZXJBc3Nlc3NtZW50KHRoaXMuYWRkVG9DYXNlUGF5bG9hZCk7XG4gICAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVwb3J0QUNhc2VTZXJ2aWNlLnJlcG9ydEFDYXNlKHRoaXMuYWRkVG9DYXNlUGF5bG9hZCkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5jYXNlRGF0YSA9IHsgLi4ucmVzPy5kYXRhLCBzb3VyY2U6IHRoaXMuc291cmNlIH07XG4gICAgICAgICAgdGhpcy5zaG93U21pbGV5ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnVpS2l0U2VydmljZS5pc1NtaWxleU9uID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkZXIucmVwb3J0Q2FzZUxvYWRlciA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYWRkQ2FzZVRvV29ya2Zsb3coKSB7XG4gICAgdGhpcy5sb2FkZXIucmVwb3J0Q2FzZUxvYWRlciA9IHRydWU7XG4gICAgbGV0IHBheWxvYWQgPSB7IC4uLnRoaXMuYWRkVG9DYXNlUGF5bG9hZCB9O1xuICAgIGNvbnN0IHdvcmtmbG93UGF5bG9hZCA9IHtcbiAgICAgIC4uLnBheWxvYWQsXG4gICAgICBjYXNlX2lkOiB0aGlzLmNhc2VJZCxcbiAgICB9O1xuXG4gICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2UuYWRkQ2FzZVRvV29ya2Zsb3cod29ya2Zsb3dQYXlsb2FkKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2FzZURhdGEgPSB7IC4uLnJlcz8uZGF0YSwgc291cmNlOiB0aGlzLnNvdXJjZSB9O1xuICAgICAgICB0aGlzLnNob3dTbWlsZXkgPSB0cnVlO1xuICAgICAgICB0aGlzLnVpS2l0U2VydmljZS5pc1NtaWxleU9uID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkZXIucmVwb3J0Q2FzZUxvYWRlciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGVyLnJlcG9ydENhc2VMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVBZGRUb0Nhc2UoKSB7XG4gICAgdGhpcy5sb2FkZXIucmVwb3J0Q2FzZUxvYWRlciA9IHRydWU7XG4gICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2VcbiAgICAgIC51cGRhdGVDYXNlKHRoaXMuYWRkVG9DYXNlUGF5bG9hZCwgdGhpcy5jYXNlSWQpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5jYXNlRGF0YSA9IHsgLi4ucmVzPy5kYXRhLCBzb3VyY2U6IHRoaXMuc291cmNlIH07XG4gICAgICAgICAgdGhpcy5zaG93U21pbGV5ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnVpS2l0U2VydmljZS5pc1NtaWxleU9uID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkZXIucmVwb3J0Q2FzZUxvYWRlciA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICAvLyBTbWlsZXkgYWN0aW9uc1xuICBzbWlsZXlBY3Rpb25zKGV2dDogYW55KSB7XG4gICAgaWYgKGV2dCA9PT0gJ3JlcG9ydENhc2UnKSB7XG4gICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICAgICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XG4gICAgICB0aGlzLnVpS2l0U2VydmljZS5pc1NtaWxleU9uID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChldnQgPT09ICd2aWV3Q2FzZScpIHtcbiAgICAgIHRoaXMuc2hvd1NtaWxleSA9IGZhbHNlO1xuICAgICAgdGhpcy51aUtpdFNlcnZpY2UuaXNTbWlsZXlPbiA9IGZhbHNlO1xuICAgICAgdGhpcy52aWV3Q2FzZSgpO1xuICAgIH1cbiAgfVxuXG4gIHZpZXdDYXNlKCkge1xuICAgIGxldCB1cmw6IHN0cmluZztcbiAgICBsZXQgdXJsU3Vic3RyaW5nID0gJyc7XG4gICAgdGhpcy5kaXNjb25uZWN0UmVmcmVzaC5lbWl0KGZhbHNlKTtcbiAgICBpZiAodGhpcy5jYXNlVHlwZVBlcm1pc3Npb24pIHtcbiAgICAgIHVybFN1YnN0cmluZyA9ICcvY2FzZS9yZXBvcnRlZC1jYXNlcyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVybFN1YnN0cmluZyA9ICcvY2FzZS9yZXBvcnRlZC1jYXNlcy9yZXBvcnRlZC1ieS1tZSc7XG4gICAgfVxuICAgIHVybCA9ICdodHRwczovLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdCArIHVybFN1YnN0cmluZztcblxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xuICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgdGhpcy5jbG9zZVNtaWxleSgpO1xuICB9XG5cbiAgcmVzZXRGb3JtKCkge1xuICAgIHRoaXMucmVwb3J0QUNhc2VSZXNldCgpO1xuICAgIHRoaXMuYWRkVG9DYXNlUmVzZXQoKTtcbiAgfVxuXG4gIHJlcG9ydEFDYXNlUmVzZXQoKSB7XG4gICAgdGhpcy5wYXlsb2FkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShSRVBPUlRfQ0FTRV9QQVlMT0FEKSk7XG4gIH1cblxuICBhZGRUb0Nhc2VSZXNldCgpIHtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQubmFtZSA9ICcnO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5kZXNjcmlwdGlvbiA9IHsgdGV4dDogJycsIGF0dGFjaG1lbnRzOiBbXSB9O1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5wcmlvcml0eSA9IHsgaWQ6ICcnLCBjdXN0b21fZmllbGRzOiBbXSB9O1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlX3R5cGUgPSB7IGlkOiAnJywgY3VzdG9tX2ZpZWxkczogW10gfTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQucmNfZGV0YWlscyA9IHtcbiAgICAgIGlkczogW10sXG4gICAgICBzZXBhcmF0ZV9yY19jYXNlczogZmFsc2UsXG4gICAgICBtYWluX3JjX2lkOiAnJyxcbiAgICB9O1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXRlZ29yeSA9IHsgaWRzOiBbXSwgY3VzdG9tX2ZpZWxkczogW10gfTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuYWRkaXRpb25hbF9jYXRlZ29yeSA9IHsgaWRzOiBbXSwgY3VzdG9tX2ZpZWxkczogW10gfTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQucmlza19jbGFzcyA9IDA7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmFzc2lnbmVlc19ncm91cCA9IFtdO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5vd25lcnMgPSBbXTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cuYXNzaWduZWVzID0gW107XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LndvcmtmbG93X2lkID0gJyc7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlc29sdXRpb25fZGVhZGxpbmUgPSB7XG4gICAgICBkdWVfZGF0ZTogJycsXG4gICAgICBzdGFnZXNfYXNzaWduZWVzOiBbXSxcbiAgICAgIGFzc2lnbmVlX3JlbWluZF9iZWZvcmU6IDAsXG4gICAgICBvd25lcl9yZW1pbmRfYmVmb3JlOiAwLFxuICAgIH07XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmV4Y2VwdGlvbl90eXBlID0gJyc7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmFzc29jaWF0ZWRfcmlza3MgPSB7XG4gICAgICB0ZXh0OiAnJyxcbiAgICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgICB9O1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5ldmlkZW5jZV9lbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlY29tbWVuZGF0aW9ucyA9IHtcbiAgICAgIHRleHQ6ICcnLFxuICAgICAgYXR0YWNobWVudHM6IFtdLFxuICAgIH07XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93Lm92ZXJzaWdodHMgPSB7XG4gICAgICBjY19pZHM6IFtdLFxuICAgICAgY2NfZmFpbHVyZXNfaWRzOiBbXSxcbiAgICB9O1xuICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2xpc3QgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGVkT3ZlcnNpZ2h0cy5jY19mYWlsdXJlc19saXN0ID0gW107XG4gICAgdGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzID0geyAuLi5BRERJVElPTkFMX09QVElPTl9TVEFUVVMgfTtcbiAgfVxuXG4gIGNsb3NlU21pbGV5KGV2dD86IGFueSkge1xuICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XG4gICAgdGhpcy51aUtpdFNlcnZpY2UuaXNTbWlsZXlPbiA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VXb3JrRmxvdyh0aGlzLmNhc2VEYXRhLCBmYWxzZSk7XG4gIH1cblxuICBjbG9zZVdvcmtGbG93KGV2dDogYW55LCBjb25maXJtOiBhbnkpIHtcbiAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdCh7IGV2dCwgY29uZmlybSB9KTtcbiAgfVxuXG4gIG9uQ2FzZUxvYWRlcihldmVudDogYW55LCB0eXBlOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3R5cGUnOiB7XG4gICAgICAgIHRoaXMubG9hZGVyLnR5cGVMb2FkZXIgPSBldmVudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdwcmlvcml0eSc6IHtcbiAgICAgICAgdGhpcy5sb2FkZXIucHJpb3JpdHlMb2FkZXIgPSBldmVudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRpc3BsYXlBZGRpdGlvbmFsT3B0aW9ucygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzLkVYQ0VQVElPTl9UWVBFIHx8XG4gICAgICB0aGlzLmFkZGl0aW9uYWxPcHRpb25TdGF0dXMuRVZJREVOQ0UgfHxcbiAgICAgIHRoaXMuYWRkaXRpb25hbE9wdGlvblN0YXR1cy5QUklPUklUWSB8fFxuICAgICAgdGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzLklTU1VFX1RZUEUgfHxcbiAgICAgIHRoaXMuYWRkaXRpb25hbE9wdGlvblN0YXR1cy5BU1NPQ0lBVEVEX1JJU0tTIHx8XG4gICAgICB0aGlzLmFkZGl0aW9uYWxPcHRpb25TdGF0dXMuT1ZFUlNJR0hUIHx8XG4gICAgICB0aGlzLmFkZGl0aW9uYWxPcHRpb25TdGF0dXMuUkVDT01NRU5ERURfQUNUSU9OU1xuICAgICk7XG4gIH1cblxuICBnZXQgY2hlY2tsb2FkZXIoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLmxvYWRlci50eXBlTG9hZGVyICYmXG4gICAgICAgIHRoaXMubG9hZGVyLnByaW9yaXR5TG9hZGVyICYmXG4gICAgICAgIHRoaXMubG9hZGVyLmNhc2VMb2FkZXIgJiZcbiAgICAgICAgdGhpcy5sb2FkZXIuZ3JvdXBMaXN0TG9hZGVyICYmXG4gICAgICAgIHRoaXMubG9hZGVyLnVzZXJMaXN0TG9hZGVyXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMubG9hZGVyLnR5cGVMb2FkZXIgJiYgdGhpcy5sb2FkZXIucHJpb3JpdHlMb2FkZXIpIHx8XG4gICAgICAodGhpcy5sb2FkZXIucGVybWlzc2lvbkxvYWRlciAmJiB0aGlzLndvcmtmbG93VHlwZSA9PT0gJ0FDVFcnKSB8fFxuICAgICAgdGhpcy5sb2FkZXIucmVwb3J0Q2FzZUxvYWRlclxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhc2hvd1NtaWxleVwiIGNsYXNzPVwid29ya2Zsb3ctY2FzZVwiPlxuICA8YXBwLWNhc2UtdHlwZVxuICAgICpuZ0lmPVwibW9kZSAhPT0gJ0VESVQnICYmIGNhc2VUeXBlUGVybWlzc2lvblwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICAoY2FzZVR5cGVDaGFuZ2UpPVwib25DYXNlVHlwZUNoYW5nZSgkZXZlbnQpXCJcbiAgPjwvYXBwLWNhc2UtdHlwZT5cbiAgPGFwcC1saW5rZWQtcmVzcG9uc2liaWxpdGllc1xuICAgICpuZ0lmPVwiWydDT01QTElBTkNFX1dPUktST09NJywgJ0FTU0VTU01FTlQnXS5pbmNsdWRlcyhvcGVuZWRGcm9tKVwiXG4gICAgW3BheWxvYWRdPVwiY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0UgPyBwYXlsb2FkIDogYWRkVG9DYXNlUGF5bG9hZFwiXG4gICAgW29wZW5lZEZyb21dPVwib3BlbmVkRnJvbVwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICBbcmVzcG9uc2liaWxpdHlEYXRhXT1cInJlc3BvbnNpYmlsaXR5RGF0YVwiXG4gICAgKGZpZWxkQ2xpY2tlZCk9XCJvbkZpZWxkQ2xpY2tlZCgkZXZlbnQpXCJcbiAgPjwvYXBwLWxpbmtlZC1yZXNwb25zaWJpbGl0aWVzPlxuICA8YXBwLWxpbmtlZC1hc3Nlc3NtZW50XG4gICAgKm5nSWY9XCJvcGVuZWRGcm9tID09PSAnQVNTRVNTTUVOVCdcIlxuICAgIFtwYXlsb2FkXT1cInBheWxvYWRcIlxuICAgIFtvcGVuZWRGcm9tXT1cIm9wZW5lZEZyb21cIlxuICAgIFtmaWVsZFNlbGVjdGVkXT1cImZpZWxkQ2xpY2tlZFwiXG4gICAgW3Jlc3BvbnNpYmlsaXR5RGF0YV09XCJyZXNwb25zaWJpbGl0eURhdGFcIlxuICAgIFthc3Nlc3NtZW50UXVlc3Rpb25dPVwiYXNzZXNzbWVudFF1ZXN0aW9uXCJcbiAgICAoZmllbGRDbGlja2VkKT1cIm9uRmllbGRDbGlja2VkKCRldmVudClcIlxuICA+PC9hcHAtbGlua2VkLWFzc2Vzc21lbnQ+XG4gIDxhcHAtY2FzZS1kZXRhaWxzXG4gICAgW3BheWxvYWRdPVwiXG4gICAgICBjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5SRVBPUlRfQ0FTRSA/IHBheWxvYWQgOiBhZGRUb0Nhc2VQYXlsb2FkXG4gICAgXCJcbiAgICBbZmllbGRTZWxlY3RlZF09XCJmaWVsZENsaWNrZWRcIlxuICAgIFt2YWxpZGF0aW9uRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yXCJcbiAgICBbY2FzZVR5cGVTZWxlY3RlZF09XCJjYXNlVHlwZVNlbGVjdGVkXCJcbiAgPjwvYXBwLWNhc2UtZGV0YWlscz5cbiAgPHNwYW5cbiAgICAqbmdJZj1cImNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XXCJcbiAgICBjbGFzcz1cImhlYWQtbGFiZWwgdngtZnMtMTAgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTRcIlxuICA+XG4gICAgQ0FTRSBERVRBSUxTXG4gIDwvc3Bhbj5cbiAgPGFwcC1pbmZvcm1hdGlvbi1ibG9ja1xuICAgICpuZ0lmPVwiY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcIlxuICA+PC9hcHAtaW5mb3JtYXRpb24tYmxvY2s+IFxuICA8YXBwLXJjLWRldGFpbHNcbiAgICBbcGF5bG9hZF09XCJcbiAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLlJFUE9SVF9DQVNFID8gcGF5bG9hZCA6IGFkZFRvQ2FzZVBheWxvYWRcbiAgICBcIlxuICAgIFtmaWVsZFNlbGVjdGVkXT1cImZpZWxkQ2xpY2tlZFwiXG4gICAgW2Nhc2VUeXBlU2VsZWN0ZWRdPVwiY2FzZVR5cGVTZWxlY3RlZFwiXG4gICAgW3ZhbGlkYXRpb25FcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3JcIlxuICAgIFtpbml0aWFsU2VsZWN0aW9uXT1cIlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0VcbiAgICAgICAgPyBwYXlsb2FkPy5yY19kZXRhaWxzXG4gICAgICAgIDogYWRkVG9DYXNlUGF5bG9hZD8ucmNfZGV0YWlsc1xuICAgIFwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgW3dvcmtmbG93VHlwZV09XCJ3b3JrZmxvd1R5cGVcIlxuICAgIChmaWVsZENsaWNrZWQpPVwib25GaWVsZENsaWNrZWQoJGV2ZW50KVwiXG4gICAgKG9uUmNDaGFuZ2UpPVwib25SY0NoYW5nZSgkZXZlbnQpXCJcbiAgICAoZmlsdGVyRGVzZWxlY3Rvcik9XCJwaWNrZXJUb2dnbGUoJGV2ZW50KVwiXG4gID48L2FwcC1yYy1kZXRhaWxzPlxuICA8YXBwLWNhc2UtdHlwZS1kcm9wZG93blxuICAgIFtwYXlsb2FkXT1cIlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0UgPyBwYXlsb2FkIDogYWRkVG9DYXNlUGF5bG9hZFxuICAgIFwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICBbdmFsaWRhdGlvbkVycm9yXT1cInZhbGlkYXRpb25FcnJvclwiXG4gICAgW2luaXRpYWxTZWxlY3Rpb25dPVwiXG4gICAgICBjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5SRVBPUlRfQ0FTRVxuICAgICAgICA/IHBheWxvYWQ/LmNhc2VfdHlwZVxuICAgICAgICA6IGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VfdHlwZVxuICAgIFwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgW2Nhc2VUeXBlU2VsZWN0ZWRdPVwiY2FzZVR5cGVTZWxlY3RlZFwiXG4gICAgW3dvcmtmbG93VHlwZV09XCJ3b3JrZmxvd1R5cGVcIlxuICAgIChvbkNhc2VUeXBlQ2hhbmdlKT1cIm9uQ2FzZVR5cGVEcm9wZG93bkNoYW5nZSgkZXZlbnQpXCJcbiAgICAob25DYXNlVHlwZUxvYWRpbmcpPVwib25DYXNlTG9hZGVyKCRldmVudCwgJ3R5cGUnKVwiXG4gID48L2FwcC1jYXNlLXR5cGUtZHJvcGRvd24+XG4gIDxhcHAtY2FzZS1jYXRlZ29yeVxuICAgIFtwYXlsb2FkXT1cIlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0UgPyBwYXlsb2FkIDogYWRkVG9DYXNlUGF5bG9hZFxuICAgIFwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICBbY2FzZVR5cGVTZWxlY3RlZF09XCJjYXNlVHlwZVNlbGVjdGVkXCJcbiAgICBbaW5pdGlhbFNlbGVjdGlvbl09XCJcbiAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLlJFUE9SVF9DQVNFXG4gICAgICAgID8gcGF5bG9hZD8uY2F0ZWdvcnlcbiAgICAgICAgOiBhZGRUb0Nhc2VQYXlsb2FkPy5jYXRlZ29yeVxuICAgIFwiXG4gICAgW2luaXRpYWxBZGRpdGlvbmFsU2VsZWN0aW9uXT1cIlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0VcbiAgICAgICAgPyBwYXlsb2FkPy5hZGRpdGlvbmFsX2NhdGVnb3J5XG4gICAgICAgIDogYWRkVG9DYXNlUGF5bG9hZD8uYWRkaXRpb25hbF9jYXRlZ29yeVxuICAgIFwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgW3dvcmtmbG93VHlwZV09XCJ3b3JrZmxvd1R5cGVcIlxuICAgIChvbkNhdGVnb3J5Q2hhbmdlKT1cIm9uQ2F0ZWdvcnlDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGZpZWxkQ2xpY2tlZCk9XCJvbkZpZWxkQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAoZmlsdGVyRGVzZWxlY3Rvcik9XCJwaWNrZXJUb2dnbGUoJGV2ZW50KVwiXG4gID48L2FwcC1jYXNlLWNhdGVnb3J5PlxuICA8YXBwLXJlcG9ydC1kYXRlXG4gICAgKm5nSWY9XCJjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5SRVBPUlRfQ0FTRVwiXG4gICAgW3BheWxvYWRdPVwicGF5bG9hZFwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICBbdmFsaWRhdGlvbkVycm9yXT1cInZhbGlkYXRpb25FcnJvclwiXG4gICAgKGZpZWxkQ2xpY2tlZCk9XCJvbkZpZWxkQ2xpY2tlZCgkZXZlbnQpXCJcbiAgPjwvYXBwLXJlcG9ydC1kYXRlPlxuICA8YXBwLWNhc2UtcHJpb3JpdHlcbiAgICBbcGF5bG9hZF09XCJcbiAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLlJFUE9SVF9DQVNFID8gcGF5bG9hZCA6IGFkZFRvQ2FzZVBheWxvYWRcbiAgICBcIlxuICAgIFtmaWVsZFNlbGVjdGVkXT1cImZpZWxkQ2xpY2tlZFwiXG4gICAgW2Nhc2VUeXBlU2VsZWN0ZWRdPVwiY2FzZVR5cGVTZWxlY3RlZFwiXG4gICAgW3ZhbGlkYXRpb25FcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3JcIlxuICAgIFtpbml0aWFsU2VsZWN0aW9uXT1cIlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0VcbiAgICAgICAgPyBwYXlsb2FkPy5wcmlvcml0eVxuICAgICAgICA6IGFkZFRvQ2FzZVBheWxvYWQ/LnByaW9yaXR5XG4gICAgXCJcbiAgICBbbW9kZV09XCJtb2RlXCJcbiAgICBbd29ya2Zsb3dUeXBlXT1cIndvcmtmbG93VHlwZVwiXG4gICAgKG9uUHJpb3JpdHlDaGFuZ2UpPVwib25Qcmlvcml0eUNoYW5nZSgkZXZlbnQpXCJcbiAgICAob25Qcmlvcml0eUxvYWRlcik9XCJvbkNhc2VMb2FkZXIoJGV2ZW50LCAncHJpb3JpdHknKVwiXG4gID48L2FwcC1jYXNlLXByaW9yaXR5PlxuICA8c3BhblxuICAgICpuZ0lmPVwiY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcIlxuICAgIGNsYXNzPVwiaGVhZC1sYWJlbCB2eC1mcy0xMCB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbGgtNFwiXG4gID5cbiAgICBVU0VSIERFVEFJTFNcbiAgPC9zcGFuPlxuICA8YXBwLWNhc2Utb3duZXJzXG4gICAgKm5nSWY9XCJjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1wiXG4gICAgW3BheWxvYWRdPVwiYWRkVG9DYXNlUGF5bG9hZFwiXG4gICAgW2luaXRpYWxTZWxlY3Rpb25dPVwiYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm93bmVyc1wiXG4gICAgW3dvcmtmbG93SWRdPVwiYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LndvcmtmbG93X2lkXCJcbiAgICBbZmllbGRTZWxlY3RlZF09XCJmaWVsZENsaWNrZWRcIlxuICAgIFt2YWxpZGF0aW9uRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yXCJcbiAgICBbbW9kZV09XCJtb2RlXCJcbiAgICAoZmllbGRDbGlja2VkKT1cIm9uRmllbGRDbGlja2VkKCRldmVudClcIlxuICAgIChmaWx0ZXJEZXNlbGVjdG9yKT1cInBpY2tlclRvZ2dsZSgkZXZlbnQpXCJcbiAgPjwvYXBwLWNhc2Utb3duZXJzPlxuICA8YXBwLWNhc2UtYXNzaWduZWVzXG4gICAgKm5nSWY9XCJjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1wiXG4gICAgW3BheWxvYWRdPVwiYWRkVG9DYXNlUGF5bG9hZFwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICBbaW5pdGlhbFNlbGVjdGlvbl09XCJhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvd1wiXG4gICAgW3VzZXJMaXN0XT1cInVzZXJMaXN0XCJcbiAgICBbZ3JvdXBMaXN0XT1cImdyb3VwTGlzdFwiXG4gICAgW3ZhbGlkYXRpb25FcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3JcIlxuICAgIChmaWVsZENsaWNrZWQpPVwib25GaWVsZENsaWNrZWQoJGV2ZW50KVwiXG4gICAgKGZpbHRlckRlc2VsZWN0b3IpPVwicGlja2VyVG9nZ2xlKCRldmVudClcIlxuICA+PC9hcHAtY2FzZS1hc3NpZ25lZXM+XG4gIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgKm5nSWY9XCJjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5SRVBPUlRfQ0FTRVwiXG4gICAgW2ltYWdlXT1cIkFTU0VUUy5mb3JtYXRfZXZpZGVuY2VcIlxuICAgIFtkaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZENsaWNrZWQpXCJcbiAgICBbY2hlY2tlZF09XCJwYXlsb2FkPy5zdXBwb3J0aW5nX2RvY3VtZW50cz8ubGVuZ3RoXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICA8YXBwLXZjLWxhYmVsXG4gICAgICAgIGxhYmVsXG4gICAgICAgIFtsYWJlbFRleHRdPVwicmVwb3J0VGV4dHMuY2FzZV9kZXRhaWxzLmF0dGFjaG1lbnRzLnRpdGxlXCJcbiAgICAgID48L2FwcC12Yy1sYWJlbD5cbiAgICAgIDxhcHAtZm9ybWF0LWFuZC1ldmlkZW5jZVxuICAgICAgICAodXBkYXRlRmlsZXMpPVwic2F2ZVN1cHBvcnRpbmdEb2N1bWVudCgkZXZlbnQpXCJcbiAgICAgICAgW21vZGVdPVwiJ3JlcG9ydEFDYXNlJ1wiXG4gICAgICAgIFtmb3JtYXRFdmlkYW5jZURhdGFdPVwicGF5bG9hZD8uc3VwcG9ydGluZ19kb2N1bWVudHNcIlxuICAgICAgPjwvYXBwLWZvcm1hdC1hbmQtZXZpZGVuY2U+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYXBwLWZpZWxkLWhvbGRlcj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cImNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XXCJcbiAgICBjbGFzcz1cImhlYWQtbGFiZWwgdngtZnMtMTAgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTQgdngtbWItNFwiXG4gID5cbiAgICBDQVNFIFJFU09MVVRJT04gREVUQUlMU1xuICA8L3NwYW4+XG4gIDxhcHAtY2FzZS1yZXNvbHV0aW9uLWRlYWRsaW5lXG4gICAgKm5nSWY9XCJjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1wiXG4gICAgW3BheWxvYWRdPVwiYWRkVG9DYXNlUGF5bG9hZFwiXG4gICAgW3VzZXJMaXN0XT1cInVzZXJMaXN0XCJcbiAgICBbZ3JvdXBMaXN0XT1cImdyb3VwTGlzdFwiXG4gICAgW2luaXRpYWxTZWxlY3Rpb25dPVwiYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3dcIlxuICAgIFtmaWVsZFNlbGVjdGVkXT1cImZpZWxkQ2xpY2tlZFwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgKGZpZWxkQ2xpY2tlZCk9XCJvbkZpZWxkQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICBbdmFsaWRhdGlvbkVycm9yXT1cInZhbGlkYXRpb25FcnJvclwiXG4gICAgKGZpbHRlckRlc2VsZWN0b3IpPVwicGlja2VyVG9nZ2xlKCRldmVudClcIlxuICA+PC9hcHAtY2FzZS1yZXNvbHV0aW9uLWRlYWRsaW5lPlxuICA8c3BhblxuICAgICpuZ0lmPVwiXG4gICAgICBjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPVyAmJlxuICAgICAgZGlzcGxheUFkZGl0aW9uYWxPcHRpb25zXG4gICAgXCJcbiAgICBjbGFzcz1cImhlYWQtbGFiZWwgdngtZnMtMTAgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTRcIlxuICA+XG4gICAgQURESVRJT05BTCBPUFRJT05TXG4gIDwvc3Bhbj5cbiAgPCEtLSBFeGNlcHRpb24gVHlwZSAtLT5cbiAgPGFwcC1maWVsZC1ob2xkZXJcbiAgICAqbmdJZj1cIlxuICAgICAgYWRkaXRpb25hbE9wdGlvblN0YXR1cy5FWENFUFRJT05fVFlQRSAmJlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcbiAgICBcIlxuICAgIFtzY3JvbGxUb0JvdHRvbV09XCJzY3JvbGxUb0JvdHRvbVwiXG4gICAgW2FjdGl2ZV09XCJmYWxzZVwiXG4gICAgW2Rpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkQ2xpY2tlZClcIlxuICAgIFtjaGVja2VkXT1cImFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5leGNlcHRpb25fdHlwZVwiXG4gICAgW2ltYWdlXT1cIlxuICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vYmplY3RpdmVzLnN2ZydcbiAgICBcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBmaWVsZD5cbiAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5FeGNlcHRpb24gVHlwZTwvbGFiZWw+XG4gICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgIGNsYXNzPVwibWFpbi1maWxlZFwiXG4gICAgICAgIFt2YWx1ZV09XCJleGNlcHRpb25UeXBlLkRFU0lHTl9FWENFUFRJT05cIlxuICAgICAgICBuYW1lPVwiZXhjZXB0aW9uLXR5cGVcIlxuICAgICAgICBbY2hlY2tlZF09XCJcbiAgICAgICAgICBhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uZXhjZXB0aW9uX3R5cGUgPT09XG4gICAgICAgICAgZXhjZXB0aW9uVHlwZS5ERVNJR05fRVhDRVBUSU9OXG4gICAgICAgIFwiXG4gICAgICAgIChjaGVja2VkRXZlbnQpPVwic2V0RXhjZXB0aW9uKGV4Y2VwdGlvblR5cGUuREVTSUdOX0VYQ0VQVElPTilcIlxuICAgICAgICA+RGVzaWduIEV4Y2VwdGlvblxuICAgICAgPC9hcHAtY3MtcmFkaW8+XG4gICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgIGNsYXNzPVwibWFpbi1maWxlZFwiXG4gICAgICAgIFt2YWx1ZV09XCJleGNlcHRpb25UeXBlLkVGRkVDVElWRU5FU1NfRVhDRVBUSU9OXCJcbiAgICAgICAgbmFtZT1cImV4Y2VwdGlvbi10eXBlXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LmV4Y2VwdGlvbl90eXBlID09PVxuICAgICAgICAgIGV4Y2VwdGlvblR5cGUuRUZGRUNUSVZFTkVTU19FWENFUFRJT05cbiAgICAgICAgXCJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJzZXRFeGNlcHRpb24oZXhjZXB0aW9uVHlwZS5FRkZFQ1RJVkVORVNTX0VYQ0VQVElPTilcIlxuICAgICAgICA+RWZmZWN0aXZlbmVzcyBFeGNlcHRpb25cbiAgICAgIDwvYXBwLWNzLXJhZGlvPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2FwcC1maWVsZC1ob2xkZXI+XG5cbiAgPCEtLSBBc3NvY2lhdGVkIFJpc2tzIC0tPlxuICA8ZGl2XG4gICAgW2FwcFNjcm9sbEluVmlld109XCJzY3JvbGxUb0JvdHRvbVwiXG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwLXJvd1wiXG4gICAgKm5nSWY9XCJhZGRpdGlvbmFsT3B0aW9uU3RhdHVzLkFTU09DSUFURURfUklTS1NcIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZENsaWNrZWQpXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibGVmdFwiXG4gICAgICBbY2xhc3MuY2hlY2tlZF09XCJhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uYXNzb2NpYXRlZF9yaXNrcz8udGV4dFwiXG4gICAgPlxuICAgICAgPGltZ1xuICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXNzb2NpYXRlZC1yaXNrcy5zdmdcIlxuICAgICAgICBhbHQ9XCJpbVwiXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgIWFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzPy50ZXh0Py50cmltKClcbiAgICAgICAgICAgID8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAvPlxuXG4gICAgICA8c3ZnXG4gICAgICAgIGNsYXNzPVwiY2hlY2tJY29uXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzPy50ZXh0Py50cmltKClcbiAgICAgICAgICAgIC5sZW5ndGhcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCJcbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+QXNzb2NpYXRlZCBSaXNrcyA8L2xhYmVsPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgICA/Lmxlbmd0aCA+IDBcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmaWxlLWxpc3RcIlxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCB1cGxvYWRpbmdGaWxlIG9mIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93XG4gICAgICAgICAgICAgICAgPy5hc3NvY2lhdGVkX3Jpc2tzPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyB1cGxvYWRpbmdGaWxlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgICA/Lmxlbmd0aCA+IDBcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmaWxlLWxpc3RcIlxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBmaWxlIG9mIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzXG4gICAgICAgICAgICAgICAgPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBmaWxlPy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwiZGVsZXRlRmlsZShmaWxlLCAnQVNTT0NJQVRFRF9SSVNLUycpXCJcbiAgICAgICAgICAgICAgICAgID4mI3hlOTBkOzwvaVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDx2Y29tcGx5LWVkaXRvclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5hc3NvY2lhdGVkX3Jpc2tzLnRleHRcIlxuICAgICAgICAgIFtlZGl0b3JDb25maWddPVwie1xuICAgICAgICAgICAgbW9kZTogJ3ByaW1lJyxcbiAgICAgICAgICAgIGNvbG9yUGFsZXR0ZTogdHJ1ZSxcbiAgICAgICAgICAgIGxpbms6IHRydWUsXG4gICAgICAgICAgICBmaWxlOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnQXNzb2NpYXRlZCBSaXNrcydcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAoY2xpY2tPdXRzaWRlKT1cImNoZWNrRGVzY3JpcHRpb24oKVwiXG4gICAgICAgICAgKHNlbmRTYXZlZEZpbGVzKT1cInNlbGVjdEZpbGUoJ0FTU09DSUFURURfUklTS1MnLCAkZXZlbnQpXCJcbiAgICAgICAgPjwvdmNvbXBseS1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBPdmVyc2VlciAtLT5cbiAgPGRpdlxuICAgIFthcHBTY3JvbGxJblZpZXddPVwic2Nyb2xsVG9Cb3R0b21cIlxuICAgIGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIlxuICAgIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIlxuICAgICpuZ0lmPVwiYWRkaXRpb25hbE9wdGlvblN0YXR1cy5PVkVSU0lHSFRcIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZENsaWNrZWQpXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibGVmdFwiXG4gICAgICBbY2xhc3MuY2hlY2tlZF09XCJcbiAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm92ZXJzaWdodHM/LmNjX2lkcz8ubGVuZ3RoIHx8XG4gICAgICAgIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5vdmVyc2lnaHRzPy5jY19mYWlsdXJlc19pZHM/Lmxlbmd0aFxuICAgICAgXCJcbiAgICA+XG4gICAgICA8aW1nXG4gICAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnXCJcbiAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAhKFxuICAgICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm92ZXJzaWdodHM/LmNjX2lkcz8ubGVuZ3RoIHx8XG4gICAgICAgICAgICBhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ub3ZlcnNpZ2h0cz8uY2NfZmFpbHVyZXNfaWRzXG4gICAgICAgICAgICAgID8ubGVuZ3RoXG4gICAgICAgICAgKVxuICAgICAgICBcIlxuICAgICAgLz5cblxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm92ZXJzaWdodHM/LmNjX2lkcz8ubGVuZ3RoIHx8XG4gICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm92ZXJzaWdodHM/LmNjX2ZhaWx1cmVzX2lkcz8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcbiAgICAgID5cbiAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCJcbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+T3ZlcnNpZ2h0PC9sYWJlbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiICpuZ0lmPVwiIXNlbGVjdGVkT3ZlcnNpZ2h0cz8uY2NfbGlzdD8ubGVuZ3RoXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2V0QWN0aXZlRmllbGRTZWxlY3RvcignQ0FTRV9DQycsICdDQVNFX0NDJylcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJXaG8gc2hvdWxkIGhhdmUgb3ZlcnNpZ2h0IG9mIHRoaXMgY2FzZT9cIlxuICAgICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRcIiAqbmdJZj1cInNlbGVjdGVkT3ZlcnNpZ2h0cz8uY2NfbGlzdD8ubGVuZ3RoXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBDb250YWluZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC0yIHZ4LXByLTJcIj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTAgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0xXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUl0ZW0oJ0NBU0VfQ0MnLCBzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2xpc3RbMF0pXCJcbiAgICAgICAgICAgICAgPiYjeGU5YWU7PC9pXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImNoaXBOYW1lIHZ4LWZzLTExIHZ4LWxhYmVsLXR4dFwiXG4gICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInNlbGVjdGVkT3ZlcnNpZ2h0cz8uY2NfbGlzdFswXT8uZW1wbG95ZWVfbmFtZVwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+e3sgc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19saXN0WzBdPy5lbXBsb3llZV9uYW1lIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiY291bnRCdG4gdngtZnMtOSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbGgtNFwiXG4gICAgICAgICAgICAgIGFwcFBvcG92ZXJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIkNDLnBvcG92ZXIoKVwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2xpc3Q/Lmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAre3sgc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19saXN0Py5zbGljZSgxKS5sZW5ndGggfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aXZlRmllbGQgIT09ICdDQVNFX0NDJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImVkaXRcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2V0QWN0aXZlRmllbGRTZWxlY3RvcignQ0FTRV9DQycsICdDQVNFX0NDJylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOWJhOzwvaT5FZGl0XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzZWxlY3RcIlxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAhc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0IHx8XG4gICAgICAgICAgICBzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2ZhaWx1cmVzX2xpc3Q/Lmxlbmd0aCA9PT0gMFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRBY3RpdmVGaWVsZFNlbGVjdG9yKCdDQVNFX0ZDQycsICdDQVNFX0ZDQycpXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiV2hvIHNob3VsZCBiZSBub3RpZmllZCBpZiB0aGUgY2FzZSBpcyBub3QgcmVzb2x2ZWQ/XCJcbiAgICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic2VsZWN0ZWRcIlxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0Py5sZW5ndGhcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBDb250YWluZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC0yIHZ4LXByLTJcIj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTAgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0xXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgIGRlbGV0ZUl0ZW0oJ0NBU0VfRkNDJywgc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0WzBdKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+JiN4ZTlhZTs8L2lcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hpcE5hbWUgdngtZnMtMTEgdngtbGFiZWwtdHh0XCJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0WzBdPy5lbXBsb3llZV9uYW1lXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+e3tcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2ZhaWx1cmVzX2xpc3RbMF0/LmVtcGxveWVlX25hbWVcbiAgICAgICAgICAgICAgfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudEJ0biB2eC1mcy05IHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1saC00XCJcbiAgICAgICAgICAgICAgYXBwUG9wb3ZlclxuICAgICAgICAgICAgICAoY2xpY2spPVwiRkNDLnBvcG92ZXIoKVwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2ZhaWx1cmVzX2xpc3Q/Lmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAre3sgc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0Py5zbGljZSgxKT8ubGVuZ3RoIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImFjdGl2ZUZpZWxkICE9PSAnQ0FTRV9GQ0MnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZWRpdFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRBY3RpdmVGaWVsZFNlbGVjdG9yKCdDQVNFX0ZDQycsICdDQVNFX0ZDQycpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+RWRpdFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGFwcC1wb3BvdmVyICNDQyBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgbGV0IGNjIG9mIHNlbGVjdGVkT3ZlcnNpZ2h0cz8uY2NfbGlzdCB8IHNsaWNlIDogMTtcbiAgICAgICAgICAgICAgICBsZXQgaiA9IGluZGV4XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwiZGVsZXRlSXRlbSgnQ0FTRV9DQycsIGNjKVwiXG4gICAgICAgICAgICAgICAgICAgID4mI3hlOTBkOzwvaVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgY2M/LmVtcGxveWVlX25hbWUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYXBwLXBvcG92ZXI+XG4gICAgICA8YXBwLXBvcG92ZXIgI0ZDQyBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgbGV0IGZjYyBvZiBzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2ZhaWx1cmVzX2xpc3QgfCBzbGljZSA6IDE7XG4gICAgICAgICAgICAgICAgbGV0IGogPSBpbmRleFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cImRlbGV0ZUl0ZW0oJ0NBU0VfRkNDJywgZmNjKVwiXG4gICAgICAgICAgICAgICAgICAgID4mI3hlOTBkOzwvaVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgZmNjPy5lbXBsb3llZV9uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2FwcC1wb3BvdmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIEV2aWRlbmNlIC0tPlxuICA8ZGl2XG4gICAgW2FwcFNjcm9sbEluVmlld109XCJzY3JvbGxUb0JvdHRvbVwiXG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwLXJvd1wiXG4gICAgKm5nSWY9XCJhZGRpdGlvbmFsT3B0aW9uU3RhdHVzLkVWSURFTkNFXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZmllbGRTZWxlY3Rvcj8uaW5jbHVkZXMoZmllbGRDbGlja2VkKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtjbGFzcy5jaGVja2VkXT1cInRydWVcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJjaGVja0ljb25cIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA1MiA1MlwiXG4gICAgICA+XG4gICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPkV2aWRlbmNlPC9sYWJlbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1mb3JtYXRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRcIlxuICAgICAgICAgICAgPkRvIHlvdSB3YW50IGV2aWRlbmNlIG9mIGNvbXBsZXRpb24gb2YgdGhlIGNhc2UgdG8gYmVcbiAgICAgICAgICAgIHVwbG9hZGVkPzwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxhcHAtY3MtcmFkaW9cbiAgICAgICAgICAgICAgW25hbWVdPVwiJ2ZpbGUtZXZpZGVuY2UnXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIjFcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uZXZpZGVuY2VfZW5hYmxlZFwiXG4gICAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwic2V0RXZpZGVuY2UodHJ1ZSlcIlxuICAgICAgICAgICAgICA+WWVzXG4gICAgICAgICAgICA8L2FwcC1jcy1yYWRpbz5cbiAgICAgICAgICAgIDxhcHAtY3MtcmFkaW9cbiAgICAgICAgICAgICAgW25hbWVdPVwiJ2ZpbGUtZXZpZGVuY2UnXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIjBcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCIhYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LmV2aWRlbmNlX2VuYWJsZWRcIlxuICAgICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cInNldEV2aWRlbmNlKGZhbHNlKVwiXG4gICAgICAgICAgICAgID5Ob1xuICAgICAgICAgICAgPC9hcHAtY3MtcmFkaW8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tIFJlY29tbWVuZGVkIEFjdGlvbnMgLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCJcbiAgICAqbmdJZj1cImFkZGl0aW9uYWxPcHRpb25TdGF0dXMuUkVDT01NRU5ERURfQUNUSU9OU1wiXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkQ2xpY2tlZClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJsZWZ0XCJcbiAgICAgIFtjbGFzcy5jaGVja2VkXT1cImFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5yZWNvbW1lbmRhdGlvbnM/LnRleHRcIlxuICAgID5cbiAgICAgIDxpbWdcbiAgICAgICAgc3JjPVwiaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3JlY29tbWVuZGVkLWFjdGlvbi5zdmdcIlxuICAgICAgICBhbHQ9XCJpbVwiXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgIShcbiAgICAgICAgICAgIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5yZWNvbW1lbmRhdGlvbnM/LnRleHRcbiAgICAgICAgICAgIHwgc3BhY2VCcmVha2VyXG4gICAgICAgICAgKT8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAvPlxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAoXG4gICAgICAgICAgICBhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ucmVjb21tZW5kYXRpb25zPy50ZXh0XG4gICAgICAgICAgICB8IHNwYWNlQnJlYWtlclxuICAgICAgICAgICk/Lmxlbmd0aCA+IDBcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCJcbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UmVjb21tZW5kZWQgQWN0aW9uczwvbGFiZWw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlY29tbWVuZGF0aW9ucz8uYXR0YWNobWVudHNcbiAgICAgICAgICAgICAgPy5sZW5ndGggPiAwXG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZmlsZS1saXN0XCJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgdXBsb2FkaW5nRmlsZSBvZiBhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvd1xuICAgICAgICAgICAgICAgID8ucmVjb21tZW5kYXRpb25zPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyB1cGxvYWRpbmdGaWxlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YXBwLWxpbmUtbG9hZGVyIFtsb2FkZXJIZWlnaHRdPVwiMlwiPjwvYXBwLWxpbmUtbG9hZGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ucmVjb21tZW5kYXRpb25zPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgICA/Lmxlbmd0aCA+IDBcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmaWxlLWxpc3RcIlxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBmaWxlIG9mIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5yZWNvbW1lbmRhdGlvbnNcbiAgICAgICAgICAgICAgICA/LmF0dGFjaG1lbnRzXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGZpbGU/Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxidXR0b24+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUZpbGUoZmlsZSwgJ1JFQ09NTUVOREVEX0FDVElPTlMnKVwiXG4gICAgICAgICAgICAgICAgICA+JiN4ZTkwZDs8L2lcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8dmNvbXBseS1lZGl0b3JcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVjb21tZW5kYXRpb25zLnRleHRcIlxuICAgICAgICAgIFtlZGl0b3JDb25maWddPVwie1xuICAgICAgICAgICAgbW9kZTogJ3ByaW1lJyxcbiAgICAgICAgICAgIGNvbG9yUGFsZXR0ZTogdHJ1ZSxcbiAgICAgICAgICAgIGxpbms6IHRydWUsXG4gICAgICAgICAgICBmaWxlOiB0cnVlLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdSZWNvbW1lbmRlZCBhY3Rpb25zJ1xuICAgICAgICAgIH1cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIlxuICAgICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlY29tbWVuZGF0aW9ucz8udGV4dD8udHJpbSgpXG4gICAgICAgICAgICAgID8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgICA/IHJlbW92ZUVycm9yKCdpc3N1ZVJlY29tbWVuZGF0aW9uJylcbiAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2tPdXRzaWRlKT1cImNoZWNrRGVzY3JpcHRpb24oKVwiXG4gICAgICAgICAgKHNlbmRTYXZlZEZpbGVzKT1cInNlbGVjdEZpbGUoJ1JFQ09NTUVOREVEX0FDVElPTlMnLCAkZXZlbnQpXCJcbiAgICAgICAgPjwvdmNvbXBseS1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwhLS0gUmlzayBDbGFzc2lmaWNhdGlvbiAtLT5cbiAgPGRpdlxuICAgICpuZ0lmPVwiYWRkaXRpb25hbE9wdGlvblN0YXR1cy5SSVNLX0NMQVNTSUZJQ0FUSU9OXCJcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCJcbiAgICBpZD1cInJpc2tfY2xhc3NpZmljYXRpb25cIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZENsaWNrZWQpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwiYWRkVG9DYXNlUGF5bG9hZC5yaXNrX2NsYXNzXCI+XG4gICAgICA8aW1nXG4gICAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yaXNrcy5zdmdcIlxuICAgICAgICBhbHQ9XCJpbVwiXG4gICAgICAgICpuZ0lmPVwiIWFkZFRvQ2FzZVBheWxvYWQucmlza19jbGFzc1wiXG4gICAgICAvPlxuXG4gICAgICA8c3ZnXG4gICAgICAgIGNsYXNzPVwiY2hlY2tJY29uXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAqbmdJZj1cImFkZFRvQ2FzZVBheWxvYWQucmlza19jbGFzc1wiXG4gICAgICA+XG4gICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UmlzayBDbGFzc2lmaWNhdGlvbjwvbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbGFzc2lmaWNhdGlvblwiPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgY2xhc3M9XCJsb3dcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNsYXNzIG9mIHJpc2tDbGFzc2lmaWNhdGlvblwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJbY2xhc3MuY2xhc3NdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgbmFtZT1cImNsYXNzaWZpY2F0aW9uXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImNsYXNzLnZhbHVlXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiYWRkVG9DYXNlUGF5bG9hZC5yaXNrX2NsYXNzID09PSBjbGFzcy52YWx1ZVwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkVG9DYXNlUGF5bG9hZC5yaXNrX2NsYXNzXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3Bhbj57eyBjbGFzcy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJjaGVja2xvYWRlclwiID48L2FwcC1sb2FkZXItaW5saW5lPlxuPGFwcC1jaGVja2JveC1saXN0XG4gIFtjb25maWddPVwib3ZlcnNpZ2h0X2NvbmZpZ1wiXG4gIFt0d29Db2x1bW5dPVwidHJ1ZVwiXG4gIFtpdGVtc0xpc3RdPVwidXNlckxpc3RcIlxuICBbc2VsZWN0ZWRJdGVtc109XCJzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2xpc3RcIlxuICBbaWRlbnRpZmllcktleV09XCInZW1wbG95ZWVfZW1haWwnXCJcbiAgW2Rpc3BsYXlLZXldPVwiJ2VtcGxveWVlX25hbWUnXCJcbiAgW3Rvb2x0aXBLZXldPVwiJ2VtcGxveWVlX2VtYWlsJ1wiXG4gICpuZ0lmPVwiYWN0aXZlU2VsZWN0b3IgPT09ICdDQVNFX0NDJ1wiXG4gIChzYXZlTGlzdCk9XCJzZWxlY3RvckFjdGlvbigkZXZlbnQsICdDQVNFX0NDJylcIlxuICAoY2xvc2VMaXN0KT1cImZpZWxkRGVzZWxlY3RvcignQ0FTRV9DQycpXCJcbiAgW2xvYWRlZF09XCJsb2FkZXIudXNlckxpc3RMb2FkZXJcIlxuPjwvYXBwLWNoZWNrYm94LWxpc3Q+XG5cbjxhcHAtY2hlY2tib3gtbGlzdFxuICBbY29uZmlnXT1cIm92ZXJzaWdodF9jb25maWdcIlxuICBbdHdvQ29sdW1uXT1cInRydWVcIlxuICBbaXRlbXNMaXN0XT1cInVzZXJMaXN0XCJcbiAgW3NlbGVjdGVkSXRlbXNdPVwic2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0XCJcbiAgW2lkZW50aWZpZXJLZXldPVwiJ2VtcGxveWVlX2VtYWlsJ1wiXG4gIFtkaXNwbGF5S2V5XT1cIidlbXBsb3llZV9uYW1lJ1wiXG4gIFt0b29sdGlwS2V5XT1cIidlbXBsb3llZV9lbWFpbCdcIlxuICAqbmdJZj1cImFjdGl2ZVNlbGVjdG9yID09PSAnQ0FTRV9GQ0MnXCJcbiAgKHNhdmVMaXN0KT1cInNlbGVjdG9yQWN0aW9uKCRldmVudCwgJ0NBU0VfRkNDJylcIlxuICAoY2xvc2VMaXN0KT1cImZpZWxkRGVzZWxlY3RvcignQ0FTRV9GQ0MnKVwiXG4gIFtsb2FkZWRdPVwibG9hZGVyLnVzZXJMaXN0TG9hZGVyXCJcbj48L2FwcC1jaGVja2JveC1saXN0PlxuXG48YXBwLXNtaWxleS1kaWFsb2ctaW5saW5lXG4gICpuZ0lmPVwic2hvd1NtaWxleVwiXG4gIFttZXNzYWdlXT1cInNtaWxleU1lc3NhZ2VcIlxuICBbYWN0aW9uQnV0dG9uc109XCJhY3Rpb25CdXR0b25zXCJcbiAgKGFjdGlvbik9XCJzbWlsZXlBY3Rpb25zKCRldmVudClcIlxuICAoY2xvc2VTbWlsZXkpPVwiY2xvc2VTbWlsZXkoJGV2ZW50KVwiXG4+PC9hcHAtc21pbGV5LWRpYWxvZy1pbmxpbmU+XG4iXX0=
|
|
835
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL3dvcmtmbG93LWNhc2Uvd29ya2Zsb3ctY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL3dvcmtmbG93LWNhc2Uvd29ya2Zsb3ctY2FzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixjQUFjLEVBQ2QseUJBQXlCLEVBQ3pCLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxjQUFjLEVBQ2QsY0FBYyxHQUNmLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBSzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUzVELE1BQU0sT0FBTyxxQkFBcUI7SUEyRGhDLFlBQ1Usa0JBQXNDLEVBQ3RDLFlBQTBCLEVBQzFCLHVCQUFnRCxFQUNoRCxxQkFBNEMsRUFDNUMsdUJBQWdELEVBQ2hELGFBQTRCO1FBTDVCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtR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b21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFERF9UT19DQVNFX1dPUktGTE9XLFxuICBBRERJVElPTkFMX09QVElPTl9TVEFUVVMsXG4gIEVYQ0VQVElPTl9UWVBFLFxuICBPVkVSU0lHSFRfU0VMRUNUT1JfQ09ORklHLFxuICBSRVBPUlRfQ0FTRSxcbiAgUkVQT1JUX0NBU0VfUEFZTE9BRCxcbiAgUklTS19DTEFTU0lGSUNBVElPTixcbiAgU0lERV9TRUxFQ1RPUl9FTEVNRU5UUyxcbiAgVkFMSURBVElPTl9FUlJPUixcbiAgV09SS0ZMT1dfREVUQUlMU19QQVJBTVMsXG4gIEFDVElPTl9CVVRUT05TLFxuICBTTUlMRVlfTUVTU0FHRSxcbiAgRklFTERfU0VMRUNUT1IsXG59IGZyb20gJy4uL2NvbnN0YW50cy9yZXBvcnQtY2FzZS5jb25zdGFudHMnO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jYXNlLXR5cGUtc2xpZGVyL2Nhc2UtdHlwZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwb3J0QUNhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmVwb3J0LWEtY2FzZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVpS2l0U2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3VpLWtpdC5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZ2FuaXphdGlvblVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvb3JnYW5pemF0aW9uLXVzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9yZXNwb25zaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hc3Nlc3N0cy5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmVwb3J0Q2FzZVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVwb3J0LWNhc2UtcGVybWlzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBsaWFuY2VDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvY29tbW9uLXdvcmtmbG93LXNlcnZpY2VzL2NvbXBsaWFuY2UtY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWZyYW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2lmcmFtZS5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC13b3JrZmxvdy1jYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmtmbG93LWNhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93b3JrZmxvdy1jYXNlLmNvbXBvbmVudC5sZXNzJywgJy4uLy4uL2Zvcm1zLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZXBvcnRUZXh0cyA9IFJFUE9SVF9DQVNFO1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIGNhc2VUeXBlID0gcmVwb3J0O1xuICBjYXNlVHlwZVNlbGVjdGVkID0gcmVwb3J0LlJFUE9SVF9DQVNFO1xuICBwYXlsb2FkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShSRVBPUlRfQ0FTRV9QQVlMT0FEKSk7XG4gIHBhcmFtcyA9IFdPUktGTE9XX0RFVEFJTFNfUEFSQU1TO1xuICB2YWxpZGF0aW9uRXJyb3IgPSBWQUxJREFUSU9OX0VSUk9SO1xuICByaXNrQ2xhc3NpZmljYXRpb24gPSBSSVNLX0NMQVNTSUZJQ0FUSU9OO1xuICBhZGRUb0Nhc2VQYXlsb2FkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShBRERfVE9fQ0FTRV9XT1JLRkxPVykpO1xuICBleGNlcHRpb25UeXBlID0gRVhDRVBUSU9OX1RZUEU7XG4gIG92ZXJzaWdodF9jb25maWcgPSBPVkVSU0lHSFRfU0VMRUNUT1JfQ09ORklHO1xuICBzbWlsZXlNZXNzYWdlID0gU01JTEVZX01FU1NBR0U7XG4gIGFjdGlvbkJ1dHRvbnM6IGFueVtdID0gQUNUSU9OX0JVVFRPTlM7XG4gIHNpZGVTZWxlY3RvckVsZW1lbnRzOiBhbnkgPSBTSURFX1NFTEVDVE9SX0VMRU1FTlRTO1xuICBhZGRpdGlvbmFsT3B0aW9uU3RhdHVzOiBhbnkgPSBBRERJVElPTkFMX09QVElPTl9TVEFUVVM7XG4gIGZpZWxkU2VsZWN0b3IgPSBGSUVMRF9TRUxFQ1RPUjtcbiAgY2FzZURhdGE6IGFueTtcblxuICBmaWVsZENsaWNrZWQ6IHN0cmluZyA9ICcnO1xuICBhY3RpdmVGaWVsZDogc3RyaW5nID0gJyc7XG4gIGFjdGl2ZVNlbGVjdG9yOiBzdHJpbmcgPSAnJztcblxuICBzaG93U21pbGV5OiBib29sZWFuID0gZmFsc2U7XG4gIHNjcm9sbFRvQm90dG9tOiBib29sZWFuID0gZmFsc2U7XG5cbiAgd29ya2Zsb3dEZXRhaWxzRGF0YTogYW55O1xuICBncm91cExpc3Q6IGFueVtdID0gW107XG4gIHVzZXJMaXN0OiBhbnkgPSBbXTtcbiAgc2VsZWN0ZWRPdmVyc2lnaHRzOiBhbnkgPSB7XG4gICAgY2NfbGlzdDogW10sXG4gICAgY2NfZmFpbHVyZXNfbGlzdDogW10sXG4gIH07XG4gIGxvYWRlciA9IHtcbiAgICB1c2VyTGlzdExvYWRlcjogZmFsc2UsXG4gICAgdHlwZUxvYWRlcjogZmFsc2UsXG4gICAgcHJpb3JpdHlMb2FkZXI6IGZhbHNlLFxuICAgIGNhc2VMb2FkZXI6IGZhbHNlLFxuICAgIGdyb3VwTGlzdExvYWRlcjogZmFsc2UsXG4gICAgcmVwb3J0Q2FzZUxvYWRlcjogZmFsc2UsXG4gICAgcGVybWlzc2lvbkxvYWRlcjogZmFsc2UsXG4gIH07XG5cbiAgQElucHV0KCkgb3BlbmVkRnJvbTogYW55O1xuICBASW5wdXQoKSBzb3VyY2U6IGFueTtcbiAgQElucHV0KCkgY2FzZUlkOiBhbnk7XG4gIEBJbnB1dCgpIG1vZGU6IGFueTtcbiAgQElucHV0KCkgd29ya2Zsb3dUeXBlOiBhbnk7XG4gIEBJbnB1dCgpIHJlc3BvbnNpYmlsaXR5RGF0YTogYW55O1xuICBASW5wdXQoKSBhc3Nlc3NtZW50UXVlc3Rpb246IGFueTtcbiAgQElucHV0KCkgY2FzZVR5cGVQZXJtaXNzaW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGNsb3NlV29ya2Zsb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwb3B1bGF0ZU9wdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNhc2VSZXBvcnRlZEJ5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgdXNlckxpc3RFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGlzY29ubmVjdFJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwaWNrZXJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVwb3J0QUNhc2VTZXJ2aWNlOiBSZXBvcnRBQ2FzZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1aUtpdFNlcnZpY2U6IFVpS2l0U2VydmljZSxcbiAgICBwcml2YXRlIG9yZ2FuaXphdGlvblVzZXJTZXJ2aWNlOiBPcmdhbml6YXRpb25Vc2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlc3BvbnNpYmlsaXR5U2VydmljZTogUmVzcG9uc2liaWxpdHlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tcGxpYW5jZUNvbW1vblNlcnZpY2U6IENvbXBsaWFuY2VDb21tb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgaWZyYW1lU2VydmljZTogSWZyYW1lU2VydmljZVxuICAgICkge1xuICAgIHRoaXMucGVybWlzc2lvbkxvYWRlcigpO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgIFxuICAgIHRoaXMuZ2V0VXNlckxpc3QoKTtcbiAgICB0aGlzLmdldEdyb3VwTGlzdCgpO1xuXG4gICAgaWYgKHRoaXMud29ya2Zsb3dUeXBlID09PSAnQUNUVycpIHtcbiAgICAgIHRoaXMuYWRkaXRpb25hbE9wdGlvblN0YXR1cyA9IHsgLi4uQURESVRJT05BTF9PUFRJT05fU1RBVFVTIH07XG4gICAgfVxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdFRElUJykge1xuICAgICAgdGhpcy5nZXRDYXNlRGV0YWlscygpO1xuICAgIH1cbiAgICB0aGlzLnBpY2tlckNoYW5nZWQuZW1pdChmYWxzZSk7XG4gIH1cblxuICBwZXJtaXNzaW9uTG9hZGVyKCkge1xuICAgIHRoaXMucmVwb3J0QUNhc2VTZXJ2aWNlLmNhc2VUeXBlTG9hZGVyLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICB0aGlzLmxvYWRlci5wZXJtaXNzaW9uTG9hZGVyID0gcmVzO1xuICAgIH0pO1xuICB9XG5cblxuICBnZXRVc2VyTGlzdCgpIHtcbiAgICB0aGlzLmxvYWRlci51c2VyTGlzdExvYWRlciA9IHRydWU7XG4gICAgdGhpcy5vcmdhbml6YXRpb25Vc2VyU2VydmljZS5nZXRPcmdhbml6YXRpb25Vc2VycygpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICB0aGlzLnVzZXJMaXN0ID0gcmVzO1xuICAgICAgdGhpcy51c2VyTGlzdEVtaXR0ZXIuZW1pdChyZXMpO1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLm1vZGUgPT09ICdFRElUJyAmJlxuICAgICAgICB0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHJlcG9ydC5BRERfQ0FTRV9UT19XT1JLRkxPV1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMucG9wdWxhdGVPdmVyc2lnaHRzKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRlci51c2VyTGlzdExvYWRlciA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0R3JvdXBMaXN0KCkge1xuICAgIHRoaXMubG9hZGVyLmdyb3VwTGlzdExvYWRlciA9IHRydWU7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uR3JvdXBzKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIHRoaXMuZ3JvdXBMaXN0ID0gcmVzO1xuICAgICAgdGhpcy5sb2FkZXIuZ3JvdXBMaXN0TG9hZGVyID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBnZXRDYXNlRGV0YWlscygpIHtcbiAgICB0aGlzLmxvYWRlci5jYXNlTG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZVxuICAgICAgLmdldENhc2VEZXRhaWxzKHRoaXMuY2FzZUlkKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jYXNlUmVwb3J0ZWRCeS5lbWl0KHJlcz8uZGF0YT8uY3JlYXRlZF9ieSk7XG4gICAgICAgIHRoaXMuc2V0Q2FzZURldGFpbHMocmVzKTtcbiAgICAgICAgdGhpcy5sb2FkZXIuY2FzZUxvYWRlciA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBzZXRDYXNlRGV0YWlscyhyZXM6IGFueSkge1xuICAgIGlmIChyZXM/LmRhdGE/LmFkZGVkX3RvX3dvcmtmbG93IHx8IHRoaXMud29ya2Zsb3dUeXBlID09PSAnQUNUVycpIHtcbiAgICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9IHJlcG9ydC5BRERfQ0FTRV9UT19XT1JLRkxPVztcbiAgICAgIHRoaXMucG9wdWxhdGVBZGRDYXNlUGF5bG9hZChyZXM/LmRhdGEpO1xuICAgICAgdGhpcy5nZXRXb3JrZmxvd0RldGFpbHMocmVzPy5kYXRhKTtcbiAgICBcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jYXNlVHlwZVNlbGVjdGVkID0gcmVwb3J0LlJFUE9SVF9DQVNFO1xuICAgICAgdGhpcy5wb3B1bGF0ZVJlcG9ydENhc2VQYXlsb2FkKHJlcz8uZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgLy8gZWRpdCBjYXNlXG5cbiAgZ2V0V29ya2Zsb3dEZXRhaWxzKGRhdGE6IGFueSkge1xuICAgIHRoaXMucGFyYW1zLmNhc2VfdHlwZS5pZCA9IGRhdGE/LmNhc2VfdHlwZT8uaWQ7XG4gICAgdGhpcy5wYXJhbXMucHJpb3JpdHkuaWQgPSBkYXRhPy5wcmlvcml0eT8uaWQ7XG4gICAgdGhpcy5wYXJhbXMucmNfZGV0YWlscy5pZCA9XG4gICAgICBkYXRhPy5yY19kZXRhaWxzPy5tYWluX3JjX2lkIHx8IGRhdGE/LnJjX2RldGFpbHM/Lmlkcz8uWzBdO1xuICAgIHRoaXMucGFyYW1zLmNhdGVnb3J5LmlkID0gZGF0YT8uY2F0ZWdvcnk/Lmlkc1swXTtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5nZXRXb3JrZmxvd0RldGFpbHModGhpcy5wYXJhbXMpO1xuICB9XG5cbiAgcG9wdWxhdGVSZXBvcnRDYXNlUGF5bG9hZChkYXRhOiBhbnkpIHtcbiAgICB0aGlzLnBheWxvYWQubmFtZSA9IGRhdGE/Lm5hbWU7XG4gICAgdGhpcy5wYXlsb2FkLmRlc2NyaXB0aW9uID0gZGF0YT8uZGVzY3JpcHRpb247XG4gICAgdGhpcy5wYXlsb2FkLm9jY3VycmVuY2VfZGF0ZSA9IG5ldyBEYXRlKGRhdGE/Lm9jY3VycmVuY2VfZGF0ZSk7XG4gICAgdGhpcy5wYXlsb2FkLnByaW9yaXR5ID0gZGF0YT8ucHJpb3JpdHk7XG4gICAgdGhpcy5wYXlsb2FkLmNhc2VfdHlwZSA9IGRhdGE/LmNhc2VfdHlwZTtcbiAgICB0aGlzLnBheWxvYWQucmNfZGV0YWlscyA9IGRhdGE/LnJjX2RldGFpbHM7XG4gICAgdGhpcy5wYXlsb2FkLnJlY2VpdmVfdXBkYXRlcyA9IGRhdGE/LnJlY2VpdmVfdXBkYXRlcztcbiAgICB0aGlzLnBheWxvYWQuc3VwcG9ydGluZ19kb2N1bWVudHMgPSBkYXRhPy5zdXBwb3J0aW5nX2RvY3VtZW50cztcbiAgICB0aGlzLnBheWxvYWQuY2F0ZWdvcnkgPSBkYXRhPy5jYXRlZ29yeTtcbiAgfVxuXG4gIHBvcHVsYXRlQWRkQ2FzZVBheWxvYWQoZGF0YTogYW55KSB7XG4gICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2Uud29ya2Zsb3dDb2RlLm5leHQoJ0FDVycpO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5uYW1lID0gZGF0YT8ubmFtZTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuZGVzY3JpcHRpb24gPSBkYXRhPy5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQucHJpb3JpdHkgPSBkYXRhPy5wcmlvcml0eTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQub2NjdXJyZW5jZV9kYXRlID0gbmV3IERhdGUoZGF0YT8ub2NjdXJyZW5jZV9kYXRlKTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZV90eXBlID0gZGF0YT8uY2FzZV90eXBlO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5yY19kZXRhaWxzID0gZGF0YT8ucmNfZGV0YWlscztcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQucmlza19jbGFzcyA9IGRhdGE/LnJpc2tfY2xhc3M7XG4gICAgaWYgKHRoaXMud29ya2Zsb3dUeXBlID09PSAnQUNUVycpIHtcbiAgICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5hZGRpdGlvbmFsX2NhdGVnb3J5ID0gZGF0YT8uY2F0ZWdvcnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXRlZ29yeSA9IGRhdGE/LmNhdGVnb3J5O1xuICAgICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmFkZGl0aW9uYWxfY2F0ZWdvcnkgPSBkYXRhPy5hZGRpdGlvbmFsX2NhdGVnb3J5O1xuICAgIH1cbiAgICBpZiAoZGF0YT8uY2FzZVRvV29ya2Zsb3cpIHtcbiAgICAgIHRoaXMucG9wdWxhdGVBZGRpdGlvbmFsRmllbGRzKGRhdGE/LmNhc2VUb1dvcmtmbG93KTtcbiAgICAgIHRoaXMucG9wdWxhdGVSZXNvbHV0aW9uRGVhZGxpbmUoZGF0YT8uY2FzZVRvV29ya2Zsb3cpO1xuICAgICAgdGhpcy5wb3B1bGF0ZVVzZXJEZXRhaWxzKGRhdGE/LmNhc2VUb1dvcmtmbG93KTtcbiAgICAgIHRoaXMuc2V0T3B0aW9uYWxGaWVsZChkYXRhPy5jYXNlVG9Xb3JrZmxvdywgZGF0YT8ucmlza19jbGFzcyk7XG4gICAgfVxuICB9XG5cbiAgcG9wdWxhdGVVc2VyRGV0YWlscyhkYXRhOiBhbnkpIHtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cuYXNzaWduZWVzX2dyb3VwID1cbiAgICAgIGRhdGE/LmFzc2lnbmVlc19ncm91cDtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cub3duZXJzID0gZGF0YT8ub3duZXJzO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5hc3NpZ25lZXMgPSBkYXRhPy5hc3NpZ25lZXM7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LndvcmtmbG93X2lkID0gZGF0YT8ud29ya2Zsb3dfaWQ7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmFzc2lnbmVlc19ncm91cCA9XG4gICAgICBkYXRhPy5hc3NpZ25lZXNfZ3JvdXA7XG4gIH1cblxuICBwb3B1bGF0ZVJlc29sdXRpb25EZWFkbGluZShkYXRhOiBhbnkpIHtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVzb2x1dGlvbl9kZWFkbGluZSA9XG4gICAgICBkYXRhPy5yZXNvbHV0aW9uX2RlYWRsaW5lO1xuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGRhdGE/LnJlc29sdXRpb25fZGVhZGxpbmU/LmR1ZV9kYXRlKTtcbiAgICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSAtIDEpO1xuICAgICAgZGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5yZXNvbHV0aW9uX2RlYWRsaW5lLmR1ZV9kYXRlID1cbiAgICAgICAgZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlc29sdXRpb25fZGVhZGxpbmU/LnN0YWdlc19hc3NpZ25lZXM/LmZvckVhY2goXG4gICAgICAoc3RhZ2U6IGFueSkgPT4ge1xuICAgICAgICBzdGFnZS5kdWVfZGF0ZSA9IGRhdGUudG9JU09TdHJpbmcoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcG9wdWxhdGVBZGRpdGlvbmFsRmllbGRzKGRhdGE6IGFueSkge1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5leGNlcHRpb25fdHlwZSA9IGRhdGE/LmV4Y2VwdGlvbl90eXBlO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5hc3NvY2lhdGVkX3Jpc2tzID1cbiAgICAgIGRhdGE/LmFzc29jaWF0ZWRfcmlza3M7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmV2aWRlbmNlX2VuYWJsZWQgPVxuICAgICAgZGF0YT8uZXZpZGVuY2VfZW5hYmxlZDtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVjb21tZW5kYXRpb25zID1cbiAgICAgIGRhdGE/LnJlY29tbWVuZGF0aW9ucztcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cub3ZlcnNpZ2h0cy5jY19pZHMgPVxuICAgICAgZGF0YT8ub3ZlcnNpZ2h0cz8uY2NfaWRzO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5vdmVyc2lnaHRzLmNjX2ZhaWx1cmVzX2lkcyA9XG4gICAgICBkYXRhPy5vdmVyc2lnaHRzPy5jY19mYWlsdXJlc19pZHM7XG4gICAgdGhpcy5wb3B1bGF0ZU92ZXJzaWdodHMoKTtcbiAgfVxuXG4gIHBvcHVsYXRlT3ZlcnNpZ2h0cygpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3ZlcnNpZ2h0cy5jY19saXN0ID0gdGhpcy51c2VyTGlzdD8uZmlsdGVyKCh1c2VyOiBhbnkpID0+XG4gICAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cub3ZlcnNpZ2h0cy5jY19pZHM/LmluY2x1ZGVzKFxuICAgICAgICB1c2VyPy5faWQgYXMgbmV2ZXJcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2ZhaWx1cmVzX2xpc3QgPSB0aGlzLnVzZXJMaXN0Py5maWx0ZXIoXG4gICAgICAodXNlcjogYW55KSA9PlxuICAgICAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cub3ZlcnNpZ2h0cy5jY19mYWlsdXJlc19pZHM/LmluY2x1ZGVzKFxuICAgICAgICAgIHVzZXI/Ll9pZCBhcyBuZXZlclxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNldE9wdGlvbmFsRmllbGQoZGF0YTogYW55LCByaXNrQ2xhc3M6IG51bWJlcikge1xuICAgIHRoaXMuYWRkaXRpb25hbE9wdGlvblN0YXR1cyA9IHtcbiAgICAgIEVYQ0VQVElPTl9UWVBFOiBkYXRhPy5leGNlcHRpb25fdHlwZSA/IHRydWUgOiBmYWxzZSxcbiAgICAgIEVWSURFTkNFOiBkYXRhPy5ldmlkZW5jZV9lbmFibGVkID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgQVNTT0NJQVRFRF9SSVNLUzogZGF0YT8uYXNzb2NpYXRlZF9yaXNrcz8udGV4dD8ubGVuZ3RoID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgT1ZFUlNJR0hUOlxuICAgICAgICBkYXRhPy5vdmVyc2lnaHRzPy5jY19pZHM/Lmxlbmd0aCA+IDAgfHxcbiAgICAgICAgZGF0YT8ub3ZlcnNpZ2h0cz8uY2NfZmFpbHVyZXNfaWRzPy5sZW5ndGggPiAwXG4gICAgICAgICAgPyB0cnVlXG4gICAgICAgICAgOiBmYWxzZSxcbiAgICAgIFJFQ09NTUVOREVEX0FDVElPTlM6XG4gICAgICAgIGRhdGE/LnJlY29tbWVuZGF0aW9ucz8udGV4dD8ubGVuZ3RoID4gMCA/IHRydWUgOiBmYWxzZSxcbiAgICAgIFJJU0tfQ0xBU1NJRklDQVRJT046IHJpc2tDbGFzcyA/IHRydWUgOiBmYWxzZSxcbiAgICB9O1xuICAgIHRoaXMucG9wdWxhdGVPcHRpb25hbEZpZWxkcygpO1xuICB9XG5cbiAgcG9wdWxhdGVPcHRpb25hbEZpZWxkcygpIHtcbiAgICBjb25zdCBhY3RpdmF0ZWRPcHRpb25zID0gW107XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzKSkge1xuICAgICAgaWYgKHRoaXMuYWRkaXRpb25hbE9wdGlvblN0YXR1c1trZXldID09PSB0cnVlKSB7XG4gICAgICAgIGFjdGl2YXRlZE9wdGlvbnMucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnBvcHVsYXRlT3B0aW9uLmVtaXQoYWN0aXZhdGVkT3B0aW9ucyk7XG4gIH1cblxuICAvLyBDaGFuZ2UgaW4gY2FzZSB0eXBlXG4gIG9uQ2FzZVR5cGVDaGFuZ2UoY2FzZVR5cGU6IHJlcG9ydCkge1xuICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9IGNhc2VUeXBlO1xuICAgIHRoaXMuY29tcGxpYW5jZUNvbW1vblNlcnZpY2UucmNMaXN0Py5uZXh0KG51bGwpO1xuICAgIGlmIChjYXNlVHlwZSA9PT0gcmVwb3J0LlJFUE9SVF9DQVNFKSB7XG4gICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICAgICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2Uud29ya2Zsb3dDb2RlLm5leHQoJ1JBQycpO1xuICAgIH0gZWxzZSBpZiAoY2FzZVR5cGUgPT09IHJlcG9ydC5BRERfQ0FTRV9UT19XT1JLRkxPVykge1xuICAgICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgICAgIHRoaXMucmVwb3J0QUNhc2VTZXJ2aWNlLndvcmtmbG93Q29kZS5uZXh0KCdBQ1cnKTtcbiAgICB9XG4gICAgdGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzID0geyAuLi5BRERJVElPTkFMX09QVElPTl9TVEFUVVMgfTtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5yZXNldE1vcmVPcHRpb24ubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHNhdmVTdXBwb3J0aW5nRG9jdW1lbnQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGRvY3VtZW50ID0gZXZlbnQ/LmZpbGVzO1xuICAgIHRoaXMucGF5bG9hZC5zdXBwb3J0aW5nX2RvY3VtZW50cyA9IFsuLi5kb2N1bWVudF0gYXMgbmV2ZXI7XG4gIH1cblxuICBvbkNhdGVnb3J5Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBhcmFtcy5jYXRlZ29yeS5pZCA9IGV2ZW50WzBdO1xuICAgIGlmICh0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHJlcG9ydC5BRERfQ0FTRV9UT19XT1JLRkxPVykge1xuICAgICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2UuZ2V0V29ya2Zsb3dEZXRhaWxzKHRoaXMucGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICBvblByaW9yaXR5Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBhcmFtcy5wcmlvcml0eS5pZCA9IGV2ZW50O1xuICAgIGlmICh0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHJlcG9ydC5BRERfQ0FTRV9UT19XT1JLRkxPVykge1xuICAgICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2UuZ2V0V29ya2Zsb3dEZXRhaWxzKHRoaXMucGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICBvblJjQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBhcmFtcy5yY19kZXRhaWxzLmlkID0gZXZlbnQ7XG4gICAgaWYgKHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gcmVwb3J0LkFERF9DQVNFX1RPX1dPUktGTE9XKSB7XG4gICAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5nZXRXb3JrZmxvd0RldGFpbHModGhpcy5wYXJhbXMpO1xuICAgIH1cbiAgICB0aGlzLnBpY2tlclRvZ2dsZShmYWxzZSk7XG4gIH1cblxuICBvbkNhc2VUeXBlRHJvcGRvd25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucGFyYW1zLmNhc2VfdHlwZS5pZCA9IGV2ZW50O1xuICAgIGlmICh0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHJlcG9ydC5BRERfQ0FTRV9UT19XT1JLRkxPVykge1xuICAgICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2UuZ2V0V29ya2Zsb3dEZXRhaWxzKHRoaXMucGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICByZXBvcnRDYXNlKCkge1xuICAgIGlmICh0aGlzLm9wZW5lZEZyb20gPT09ICdDT01QTElBTkNFX1dPUktST09NJyB8fCB0aGlzLm9wZW5lZEZyb20gPT09ICdBU1NFU1NNRU5UJykge1xuICAgICAgdGhpcy5maWx0ZXJSZXNwb25zaWJpbGl0aWVzKHRoaXMucGF5bG9hZCk7XG4gICAgICB0aGlzLmZpbHRlckFzc2Vzc21lbnQodGhpcy5wYXlsb2FkKTtcbiAgICB9XG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMuY2hlY2tWYWxpZGF0aW9uKHRoaXMucGF5bG9hZCk7XG4gICAgaWYgKCFpc1ZhbGlkKSByZXR1cm47XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNhc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2FkZXIucmVwb3J0Q2FzZUxvYWRlciA9IHRydWU7XG4gICAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5yZXBvcnRBQ2FzZSh0aGlzLnBheWxvYWQpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VEYXRhID0geyAuLi5yZXM/LmRhdGEsIHNvdXJjZTogdGhpcy5zb3VyY2UgfTtcbiAgICAgICAgICB0aGlzLnNob3dTbWlsZXkgPSB0cnVlO1xuICAgICAgICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzU21pbGV5T24gPSB0cnVlO1xuICAgICAgICAgIHRoaXMubG9hZGVyLnJlcG9ydENhc2VMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnIsICdlcnInKTtcbiAgICAgICAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVDYXNlKCkge1xuICAgIHRoaXMubG9hZGVyLnJlcG9ydENhc2VMb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMucmVwb3J0QUNhc2VTZXJ2aWNlLnVwZGF0ZUNhc2UodGhpcy5wYXlsb2FkLCB0aGlzLmNhc2VJZCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmNhc2VEYXRhID0geyAuLi5yZXM/LmRhdGEsIHNvdXJjZTogdGhpcy5zb3VyY2UgfTtcbiAgICAgICAgdGhpcy5zaG93U21pbGV5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy51aUtpdFNlcnZpY2UuaXNTbWlsZXlPbiA9IHRydWU7XG4gICAgICAgIHRoaXMubG9hZGVyLnJlcG9ydENhc2VMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2hlY2sgdmFsaWRhdGlvbiBmb3IgcmVwb3J0IGEgY2FzZVxuICBjaGVja1ZhbGlkYXRpb24ocGF5bG9hZDogYW55KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudmFsaWRhdGVOYW1lKHBheWxvYWQubmFtZSkgJiZcbiAgICAgIHRoaXMudmFsaWRhdGVEZXNjcmlwdGlvbihwYXlsb2FkLmRlc2NyaXB0aW9uLnRleHQpICYmXG4gICAgICB0aGlzLnZhbGlkYXRlQ2FzZVR5cGUocGF5bG9hZC5jYXNlX3R5cGUuaWQpICYmXG4gICAgICB0aGlzLnZhbGlkYXRlUmVwb3J0RGF0ZShwYXlsb2FkLm9jY3VycmVuY2VfZGF0ZSlcbiAgICApO1xuICB9XG5cbiAgY2hlY2tBZGRUb0Nhc2VWYWxpZGF0aW9uKHBheWxvYWQ6IGFueSkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnZhbGlkYXRlTmFtZShwYXlsb2FkPy5uYW1lKSAmJlxuICAgICAgdGhpcy52YWxpZGF0ZURlc2NyaXB0aW9uKHBheWxvYWQ/LmRlc2NyaXB0aW9uPy50ZXh0KSAmJlxuICAgICAgdGhpcy52YWxpZGF0ZVJjKHBheWxvYWQpICYmXG4gICAgICB0aGlzLnZhbGlkYXRlQ2FzZVR5cGUocGF5bG9hZD8uY2FzZV90eXBlPy5pZCkgJiZcbiAgICAgIHRoaXMudmFsaWRhdGVDYXNlUHJpb3JpdHkocGF5bG9hZD8ucHJpb3JpdHk/LmlkKSAmJlxuICAgICAgdGhpcy52YWxpZGF0ZUNhc2VPd25lcihwYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ub3duZXJzKSAmJlxuICAgICAgKHRoaXMudmFsaWRhdGVDYXNlQXNzaWduZWUocGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LmFzc2lnbmVlcykgfHxcbiAgICAgICAgdGhpcy52YWxpZGF0ZUNhc2VBc3NpZ25lZUdyb3VwKFxuICAgICAgICAgIHBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NpZ25lZXNfZ3JvdXBcbiAgICAgICAgKSkgJiZcbiAgICAgIHRoaXMudmFsaWRhdGVDYXNlUmVzb2x1dGlvbkRlYWRsaW5lKFxuICAgICAgICBwYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ucmVzb2x1dGlvbl9kZWFkbGluZVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICB2YWxpZGF0ZU5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5uYW1lLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IubmFtZS5tZXNzYWdlID0gdGhpcy5yZXBvcnRUZXh0cy5lcnJvck1lc3NhZ2UubmFtZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2YWxpZGF0ZURlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoIWRlc2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5kZXNjcmlwdGlvbi5pc0Vycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmRlc2NyaXB0aW9uLm1lc3NhZ2UgPVxuICAgICAgICB0aGlzLnJlcG9ydFRleHRzLmVycm9yTWVzc2FnZS5kZXNjcmlwdGlvbjtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2YWxpZGF0ZUNhc2VUeXBlKGNhc2VUeXBlOiBzdHJpbmcpIHtcbiAgICBpZiAoIWNhc2VUeXBlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlVHlwZS5pc0Vycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VUeXBlLm1lc3NhZ2UgPVxuICAgICAgICB0aGlzLnJlcG9ydFRleHRzLmVycm9yTWVzc2FnZS5jYXNlVHlwZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2YWxpZGF0ZVJlcG9ydERhdGUocmVwb3J0RGF0ZTogc3RyaW5nKSB7XG4gICAgaWYgKCFyZXBvcnREYXRlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5yZXBvcnREYXRlLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IucmVwb3J0RGF0ZS5tZXNzYWdlID1cbiAgICAgICAgdGhpcy5yZXBvcnRUZXh0cy5lcnJvck1lc3NhZ2UucmVwb3J0RGF0ZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2YWxpZGF0ZUNhc2VQcmlvcml0eShwcmlvcml0eTogc3RyaW5nKSB7XG4gICAgaWYgKCFwcmlvcml0eSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IucHJpb3JpdHkuaXNFcnJvciA9IHRydWU7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5wcmlvcml0eS5tZXNzYWdlID1cbiAgICAgICAgdGhpcy5yZXBvcnRUZXh0cy5lcnJvck1lc3NhZ2UucHJpb3JpdHk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFsaWRhdGVSYyhwYXlsb2FkOiBhbnkpIHtcbiAgICBpZiAoIXBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5yYy5pc0Vycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLnJjLm1lc3NhZ2UgPSB0aGlzLnJlcG9ydFRleHRzLmVycm9yTWVzc2FnZS5yYztcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgcGF5bG9hZD8ucmNfZGV0YWlscz8uaWRzPy5sZW5ndGggPiAxICYmXG4gICAgICAhcGF5bG9hZD8ucmNfZGV0YWlscz8uc2VwYXJhdGVfcmNfY2FzZXMgJiZcbiAgICAgICFwYXlsb2FkPy5yY19kZXRhaWxzPy5tYWluX3JjX2lkXG4gICAgKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5tYWluUmMuaXNFcnJvciA9IHRydWU7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5tYWluUmMubWVzc2FnZSA9XG4gICAgICAgIHRoaXMucmVwb3J0VGV4dHMuZXJyb3JNZXNzYWdlLm1haW5SYztcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2YWxpZGF0ZUNhc2VPd25lcihvd25lcnM6IGFueSkge1xuICAgIGlmICghb3duZXJzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5pc0Vycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5tZXNzYWdlID1cbiAgICAgICAgdGhpcy5yZXBvcnRUZXh0cy5lcnJvck1lc3NhZ2UuY2FzZU93bmVyO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHZhbGlkYXRlQ2FzZUFzc2lnbmVlKGFzc2lnbmVlczogYW55KSB7XG4gICAgaWYgKCFhc3NpZ25lZXM/Lmxlbmd0aCkge1xuICAgICAgaWYgKCF0aGlzLmFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NpZ25lZXNfZ3JvdXA/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlQXNzaWduZWUuaXNFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VBc3NpZ25lZS5tZXNzYWdlID1cbiAgICAgICAgICB0aGlzLnJlcG9ydFRleHRzLmVycm9yTWVzc2FnZS5jYXNlQXNzaWduZWU7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2YWxpZGF0ZUNhc2VBc3NpZ25lZUdyb3VwKGFzc2lnbmVlc19ncm91cDogYW55KSB7XG4gICAgaWYgKCFhc3NpZ25lZXNfZ3JvdXA/Lmxlbmd0aCkge1xuICAgICAgaWYgKCF0aGlzLmFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NpZ25lZXM/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlQXNzaWduZWUuaXNFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VBc3NpZ25lZS5tZXNzYWdlID1cbiAgICAgICAgICB0aGlzLnJlcG9ydFRleHRzLmVycm9yTWVzc2FnZS5jYXNlQXNzaWduZWU7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICB2YWxpZGF0ZUNhc2VSZXNvbHV0aW9uRGVhZGxpbmUocmVzb2x1dGlvbkRlYWRsaW5lOiBhbnkpIHtcbiAgICBsZXQgY2FzZUFzc2lnbmVlOiBib29sZWFuID0gdHJ1ZTtcbiAgICByZXNvbHV0aW9uRGVhZGxpbmU/LnN0YWdlc19hc3NpZ25lZXM/LmZvckVhY2goKHN0YWdlOiBhbnkpID0+IHtcbiAgICAgIGlmICghc3RhZ2U/LmFzc2lnbmVlX2lkKSB7XG4gICAgICAgIGNhc2VBc3NpZ25lZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghcmVzb2x1dGlvbkRlYWRsaW5lPy5kdWVfZGF0ZSB8fCAhY2FzZUFzc2lnbmVlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlUmVzb2x1dGlvbkRlYWRsaW5lLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuY2FzZVJlc29sdXRpb25EZWFkbGluZS5tZXNzYWdlID1cbiAgICAgICAgdGhpcy5yZXBvcnRUZXh0cy5lcnJvck1lc3NhZ2UuY2FzZVJlc29sdXRpb25EZWFkbGluZTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBmaWVsZCBzZWxlY3RvciBhbmQgZGUtc2VsZWN0b3JcbiAgb25GaWVsZENsaWNrZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZmllbGRDbGlja2VkID0gZXZlbnQ7XG4gICAgdGhpcy5waWNrZXJUb2dnbGUodHJ1ZSk7XG4gIH1cblxuICBhZGRNb3JlSW5mbyhldmVudDogYW55KSB7XG4gICAgdGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzW2V2ZW50LmNvZGVdID0gZXZlbnQuY2hlY2tlZDtcbiAgICB0aGlzLnNjcm9sbFRvQm90dG9tID0gdHJ1ZTtcbiAgfVxuXG4gIHNldEFjdGl2ZUZpZWxkU2VsZWN0b3IoZmllbGQ6IHN0cmluZywgdHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5hY3RpdmVGaWVsZCA9IGZpZWxkO1xuICAgIHRoaXMuYWN0aXZlU2VsZWN0b3IgPSB0eXBlO1xuICAgIHRoaXMuZmllbGRDbGlja2VkID0gZmllbGQ7XG4gICAgdGhpcy5waWNrZXJUb2dnbGUodHJ1ZSk7XG4gIH1cblxuICBmaWVsZERlc2VsZWN0b3IodHlwZTogYW55KSB7XG4gICAgdGhpcy5hY3RpdmVTZWxlY3RvciA9ICcnO1xuICAgIHRoaXMuYWN0aXZlRmllbGQgPSAnJztcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZCA9ICcnO1xuICAgIHRoaXMucGlja2VyVG9nZ2xlKGZhbHNlKTtcbiAgfVxuXG4gIHBpY2tlclRvZ2dsZSh0eXBlOiBib29sZWFuKSB7XG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkLmVtaXQodHlwZSk7XG4gIH1cblxuICAvLyBBZGQgQ2FzZSB0byB3b3JrZmxvd1xuICBzZXRFeGNlcHRpb24odHlwZTogYW55KSB7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmV4Y2VwdGlvbl90eXBlID0gdHlwZTtcbiAgfVxuXG4gIGNoZWNrRGVzY3JpcHRpb24oKSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzPy50ZXh0LFxuICAgICAgJ3RleHQnXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdEZpbGUodHlwZTogc3RyaW5nLCBmaWxlczogYW55KSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdBU1NPQ0lBVEVEX1JJU0tTJzoge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBmaWxlcy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBuYW1lID0gZmlsZXNbaV0uZmlsZS5uYW1lID8/ICcnO1xuICAgICAgICAgIC8vIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5hc3NvY2lhdGVkX3Jpc2tzLmF0dGFjaG1lbnRzLnB1c2gobmFtZSk7XG4gICAgICAgICAgdGhpcy51cGxvYWRGaWxlKGZpbGVzW2ldLmZpbGUsIHR5cGUpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwbG9hZEZpbGUoZmlsZTogYW55LCB0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZyhmaWxlLCB0eXBlLCAnZmlsZScpO1xuICB9XG5cbiAgc2V0RXZpZGVuY2UodmFsdWU6IGFueSkge1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5ldmlkZW5jZV9lbmFibGVkID0gdmFsdWU7XG4gIH1cblxuICBkZWxldGVJdGVtKHR5cGU6IGFueSwgZWxlbWVudDogYW55KSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdDQVNFX0NDJzoge1xuICAgICAgICBjb25zdCBpdGVtSW5kZXggPSB0aGlzLnNlbGVjdGVkT3ZlcnNpZ2h0cy5jY19saXN0Py5maW5kSW5kZXgoXG4gICAgICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbT8uZW1wbG95ZWVfZW1haWwgPT09IGVsZW1lbnQ/LmVtcGxveWVlX2VtYWlsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChpdGVtSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE92ZXJzaWdodHMuY2NfbGlzdD8uc3BsaWNlKGl0ZW1JbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdDQVNFX0ZDQyc6IHtcbiAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gdGhpcy5zZWxlY3RlZE92ZXJzaWdodHMuY2NfZmFpbHVyZXNfbGlzdD8uZmluZEluZGV4KFxuICAgICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0/LmVtcGxveWVlX2VtYWlsID09PSBlbGVtZW50Py5lbXBsb3llZV9lbWFpbFxuICAgICAgICApO1xuICAgICAgICBpZiAoaXRlbUluZGV4ICE9PSAtMSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2ZhaWx1cmVzX2xpc3Q/LnNwbGljZShpdGVtSW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlbGVjdG9yQWN0aW9uKGV2dDogYW55LCB0eXBlOiBhbnkpIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ0NBU0VfQ0MnOiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2xpc3QgPSBldnQ7XG4gICAgICAgIHRoaXMuZ2V0Q2NVc2VycyhldnQsICdjYycpO1xuICAgICAgICB0aGlzLmZpZWxkRGVzZWxlY3Rvcih0eXBlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdDQVNFX0ZDQyc6IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE92ZXJzaWdodHMuY2NfZmFpbHVyZXNfbGlzdCA9IGV2dDtcbiAgICAgICAgdGhpcy5nZXRDY1VzZXJzKGV2dCwgJ2ZjYycpO1xuICAgICAgICB0aGlzLmZpZWxkRGVzZWxlY3Rvcih0eXBlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlU2VsZWN0b3IgPSAnJztcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZCA9ICcnO1xuICAgIHRoaXMucGlja2VyVG9nZ2xlKGZhbHNlKTtcbiAgfVxuXG4gIGdldENjVXNlcnMoZXZ0OiBhbnksIHR5cGU6IHN0cmluZykge1xuICAgIGNvbnN0IHVzZXJMaXN0ID0gdGhpcy51c2VyTGlzdD8uZmlsdGVyKCh1c2VyOiBhbnkpID0+XG4gICAgICBldnQ/LmluY2x1ZGVzKHVzZXI/LmVtcGxveWVlX2VtYWlsKVxuICAgICk7XG4gICAgaWYgKHR5cGUgPT09ICdjYycpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2xpc3QgPSB1c2VyTGlzdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZE92ZXJzaWdodHMuY2NfZmFpbHVyZXNfbGlzdCA9IHVzZXJMaXN0O1xuICAgIH1cbiAgfVxuXG4gIGZpbHRlck92ZXJzaWdodHMoKSB7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93Lm92ZXJzaWdodHMuY2NfaWRzID1cbiAgICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2xpc3RcbiAgICAgICAgPy5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbT8uX2lkKVxuICAgICAgICA/LmZpbHRlcihCb29sZWFuKSBhcyBhbnk7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93Lm92ZXJzaWdodHMuY2NfZmFpbHVyZXNfaWRzID1cbiAgICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2ZhaWx1cmVzX2xpc3RcbiAgICAgICAgPy5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbT8uX2lkKVxuICAgICAgICA/LmZpbHRlcihCb29sZWFuKSBhcyBhbnk7XG4gIH1cblxuICBmaWx0ZXJSZXNwb25zaWJpbGl0aWVzKHBheWxvYWQ6IGFueSkge1xuICAgIGlmICh0aGlzLm9wZW5lZEZyb20gPT09ICdDT01QTElBTkNFX1dPUktST09NJykge1xuICAgICAgdGhpcy5wYXlsb2FkLnNvdXJjZSA9IHRoaXMuc291cmNlO1xuICAgICAgcGF5bG9hZC5yZXNwb25zaWJpbGl0aWVzX0xpbmtlZCA9IHBheWxvYWQ/LnJlc3BvbnNpYmlsaXRpZXNfTGlua2VkPy5tYXAoXG4gICAgICAgIChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbT8uRW5jcnlwdGVkUmVwb3J0SWQ7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICBwYXlsb2FkLnJlc3BvbnNpYmlsaXRpZXNfTGlua2VkLnB1c2goXG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlEYXRhPy5yZXNwb25zaWJpbGl0eU9iamVjdElkXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGZpbHRlckFzc2Vzc21lbnQocGF5bG9hZDogYW55KSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5vcGVuZWRGcm9tID09PSAnQVNTRVNTTUVOVCcgfHxcbiAgICAgIHRoaXMub3BlbmVkRnJvbSA9PT0gJ0NPTVBMSUFOQ0VfV09SS1JPT00nXG4gICAgKSB7XG4gICAgICB0aGlzLnBheWxvYWQuc291cmNlID0gdGhpcy5zb3VyY2U7XG4gICAgICBwYXlsb2FkLmxpbmtlZF9hc3Nlc3NtZW50X2lzc3Vlcy5yZXNwX2lkID0gdGhpcy5zb3VyY2VcbiAgICAgICAgPyB0aGlzLnJlc3BvbnNpYmlsaXR5RGF0YT8ucmVzcG9uc2liaWxpdHlPYmplY3RJZFxuICAgICAgICA6ICcnO1xuICAgICAgcGF5bG9hZC5saW5rZWRfYXNzZXNzbWVudF9pc3N1ZXMuZHVlX2RhdGVfaWQgPVxuICAgICAgICB0aGlzLmFzc2Vzc21lbnRRdWVzdGlvbj8uZHVlRGF0ZUlkO1xuICAgICAgcGF5bG9hZC5saW5rZWRfYXNzZXNzbWVudF9pc3N1ZXMuYXNzZXNzbWVudF9pZCA9XG4gICAgICAgIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uPy5hc3Nlc3NtZW50SWQ7XG4gICAgICBwYXlsb2FkLmxpbmtlZF9hc3Nlc3NtZW50X2lzc3Vlcy5xdWVzdGlvbl9pZCA9XG4gICAgICAgIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uPy5xdWVzdGlvbklkO1xuICAgICAgcGF5bG9hZC5saW5rZWRfYXNzZXNzbWVudF9pc3N1ZXMuYXVkaXRlZV9pZCA9XG4gICAgICAgIHRoaXMuYXNzZXNzbWVudFF1ZXN0aW9uPy5hdWRpdGVlSWQ7XG4gICAgICBwYXlsb2FkLnJlc3BvbnNpYmlsaXRpZXNfTGlua2VkID0gW1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5RGF0YT8ucmVzcG9uc2liaWxpdHlPYmplY3RJZCxcbiAgICAgIF07XG4gICAgICBwYXlsb2FkLnNvdXJjZSA9IHRoaXMuc291cmNlO1xuICAgIH1cbiAgfVxuICBcbiAgZm9ybWF0RHVlRGF0ZShkYXRlOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxvY2FsRGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIC8vIEFkZCBvbmUgZGF5IHRvIHRoZSBkYXRlXG4gICAgbG9jYWxEYXRlLnNldERhdGUobG9jYWxEYXRlLmdldERhdGUoKSArIDEpO1xuICAgIC8vIFNldCB0aW1lIHRvIG1pZG5pZ2h0XG4gICAgbG9jYWxEYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgIHJldHVybiBsb2NhbERhdGUudG9JU09TdHJpbmcoKTtcbiAgfVxuICB1cGRhdGVEYXRlKCkge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLmZvcm1hdER1ZURhdGUoXG4gICAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5yZXNvbHV0aW9uX2RlYWRsaW5lPy5kdWVfZGF0ZVxuICAgICk7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlc29sdXRpb25fZGVhZGxpbmUuZHVlX2RhdGUgPSBkYXRlO1xuXG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ucmVzb2x1dGlvbl9kZWFkbGluZT8uc3RhZ2VzX2Fzc2lnbmVlcz8uZm9yRWFjaChcbiAgICAgIChzdGFnZTogYW55KSA9PiB7XG4gICAgICAgIHN0YWdlLmR1ZV9kYXRlID0gZGF0ZTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgYWRkVG9DYXNlKCkge1xuICAgIHRoaXMuZmlsdGVyT3ZlcnNpZ2h0cygpO1xuICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLmNoZWNrQWRkVG9DYXNlVmFsaWRhdGlvbih0aGlzLmFkZFRvQ2FzZVBheWxvYWQpO1xuICAgIGlmICghaXNWYWxpZCkgcmV0dXJuO1xuICAgIHRoaXMudXBkYXRlRGF0ZSgpO1xuICAgIGlmICh0aGlzLndvcmtmbG93VHlwZSA9PT0gJ0FDVFcnKSB7XG4gICAgICB0aGlzLmFkZENhc2VUb1dvcmtmbG93KCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1vZGUgPT09ICdFRElUJyAmJiB0aGlzLndvcmtmbG93VHlwZSAhPT0gJ0FDVFcnKSB7XG4gICAgICB0aGlzLmZpbHRlclJlc3BvbnNpYmlsaXRpZXModGhpcy5hZGRUb0Nhc2VQYXlsb2FkKTtcbiAgICAgIHRoaXMuZmlsdGVyQXNzZXNzbWVudCh0aGlzLmFkZFRvQ2FzZVBheWxvYWQpO1xuICAgICAgdGhpcy51cGRhdGVBZGRUb0Nhc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJSZXNwb25zaWJpbGl0aWVzKHRoaXMuYWRkVG9DYXNlUGF5bG9hZCk7XG4gICAgICB0aGlzLmZpbHRlckFzc2Vzc21lbnQodGhpcy5hZGRUb0Nhc2VQYXlsb2FkKTtcbiAgICAgIHRoaXMubG9hZGVyLnJlcG9ydENhc2VMb2FkZXIgPSB0cnVlO1xuICAgICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2UucmVwb3J0QUNhc2UodGhpcy5hZGRUb0Nhc2VQYXlsb2FkKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VEYXRhID0geyAuLi5yZXM/LmRhdGEsIHNvdXJjZTogdGhpcy5zb3VyY2UgfTtcbiAgICAgICAgICB0aGlzLnNob3dTbWlsZXkgPSB0cnVlO1xuICAgICAgICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzU21pbGV5T24gPSB0cnVlO1xuICAgICAgICAgIHRoaXMubG9hZGVyLnJlcG9ydENhc2VMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhZGRDYXNlVG9Xb3JrZmxvdygpIHtcbiAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gdHJ1ZTtcbiAgICBsZXQgcGF5bG9hZCA9IHsgLi4udGhpcy5hZGRUb0Nhc2VQYXlsb2FkIH07XG4gICAgY29uc3Qgd29ya2Zsb3dQYXlsb2FkID0ge1xuICAgICAgLi4ucGF5bG9hZCxcbiAgICAgIGNhc2VfaWQ6IHRoaXMuY2FzZUlkLFxuICAgIH07XG5cbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5hZGRDYXNlVG9Xb3JrZmxvdyh3b3JrZmxvd1BheWxvYWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jYXNlRGF0YSA9IHsgLi4ucmVzPy5kYXRhLCBzb3VyY2U6IHRoaXMuc291cmNlIH07XG4gICAgICAgIHRoaXMuc2hvd1NtaWxleSA9IHRydWU7XG4gICAgICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzU21pbGV5T24gPSB0cnVlO1xuICAgICAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkZXIucmVwb3J0Q2FzZUxvYWRlciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZUFkZFRvQ2FzZSgpIHtcbiAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZVxuICAgICAgLnVwZGF0ZUNhc2UodGhpcy5hZGRUb0Nhc2VQYXlsb2FkLCB0aGlzLmNhc2VJZClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmNhc2VEYXRhID0geyAuLi5yZXM/LmRhdGEsIHNvdXJjZTogdGhpcy5zb3VyY2UgfTtcbiAgICAgICAgICB0aGlzLnNob3dTbWlsZXkgPSB0cnVlO1xuICAgICAgICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzU21pbGV5T24gPSB0cnVlO1xuICAgICAgICAgIHRoaXMubG9hZGVyLnJlcG9ydENhc2VMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRlci5yZXBvcnRDYXNlTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIFNtaWxleSBhY3Rpb25zXG4gIHNtaWxleUFjdGlvbnMoZXZ0OiBhbnkpIHtcbiAgICBpZiAoZXZ0ID09PSAncmVwb3J0Q2FzZScpIHtcbiAgICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgICB0aGlzLnNob3dTbWlsZXkgPSBmYWxzZTtcbiAgICAgIHRoaXMudWlLaXRTZXJ2aWNlLmlzU21pbGV5T24gPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGV2dCA9PT0gJ3ZpZXdDYXNlJykge1xuICAgICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XG4gICAgICB0aGlzLnVpS2l0U2VydmljZS5pc1NtaWxleU9uID0gZmFsc2U7XG4gICAgICB0aGlzLnZpZXdDYXNlKCk7XG4gICAgfVxuICB9XG5cbiAgdmlld0Nhc2UoKSB7XG4gICAgbGV0IHVybDogc3RyaW5nO1xuICAgIGxldCB1cmxTdWJzdHJpbmcgPSAnJztcbiAgICB0aGlzLmRpc2Nvbm5lY3RSZWZyZXNoLmVtaXQoZmFsc2UpO1xuICAgIGlmICh0aGlzLmNhc2VUeXBlUGVybWlzc2lvbikge1xuICAgICAgdXJsU3Vic3RyaW5nID0gJy9jYXNlL3JlcG9ydGVkLWNhc2VzJztcbiAgICB9IGVsc2Uge1xuICAgICAgdXJsU3Vic3RyaW5nID0gJy9jYXNlL3JlcG9ydGVkLWNhc2VzL3JlcG9ydGVkLWJ5LW1lJztcbiAgICB9XG4gICAgdXJsID0gJ2h0dHBzOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0ICsgdXJsU3Vic3RyaW5nO1xuXG4gICAgdGhpcy5pZnJhbWVTZXJ2aWNlLnJlZGlyZWN0SWZJbklmcmFtZSh1cmwsIHRydWUpO1xuICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgdGhpcy5jbG9zZVNtaWxleSgpO1xuICB9XG5cbiAgcmVzZXRGb3JtKCkge1xuICAgIHRoaXMucmVwb3J0QUNhc2VSZXNldCgpO1xuICAgIHRoaXMuYWRkVG9DYXNlUmVzZXQoKTtcbiAgfVxuXG4gIHJlcG9ydEFDYXNlUmVzZXQoKSB7XG4gICAgdGhpcy5wYXlsb2FkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShSRVBPUlRfQ0FTRV9QQVlMT0FEKSk7XG4gIH1cblxuICBhZGRUb0Nhc2VSZXNldCgpIHtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQubmFtZSA9ICcnO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5kZXNjcmlwdGlvbiA9IHsgdGV4dDogJycsIGF0dGFjaG1lbnRzOiBbXSB9O1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5wcmlvcml0eSA9IHsgaWQ6ICcnLCBjdXN0b21fZmllbGRzOiBbXSB9O1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlX3R5cGUgPSB7IGlkOiAnJywgY3VzdG9tX2ZpZWxkczogW10gfTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQucmNfZGV0YWlscyA9IHtcbiAgICAgIGlkczogW10sXG4gICAgICBzZXBhcmF0ZV9yY19jYXNlczogZmFsc2UsXG4gICAgICBtYWluX3JjX2lkOiAnJyxcbiAgICB9O1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXRlZ29yeSA9IHsgaWRzOiBbXSwgY3VzdG9tX2ZpZWxkczogW10gfTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuYWRkaXRpb25hbF9jYXRlZ29yeSA9IHsgaWRzOiBbXSwgY3VzdG9tX2ZpZWxkczogW10gfTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQucmlza19jbGFzcyA9IDA7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmFzc2lnbmVlc19ncm91cCA9IFtdO1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5vd25lcnMgPSBbXTtcbiAgICB0aGlzLmFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cuYXNzaWduZWVzID0gW107XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LndvcmtmbG93X2lkID0gJyc7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlc29sdXRpb25fZGVhZGxpbmUgPSB7XG4gICAgICBkdWVfZGF0ZTogJycsXG4gICAgICBzdGFnZXNfYXNzaWduZWVzOiBbXSxcbiAgICAgIGFzc2lnbmVlX3JlbWluZF9iZWZvcmU6IDAsXG4gICAgICBvd25lcl9yZW1pbmRfYmVmb3JlOiAwLFxuICAgIH07XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmV4Y2VwdGlvbl90eXBlID0gJyc7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LmFzc29jaWF0ZWRfcmlza3MgPSB7XG4gICAgICB0ZXh0OiAnJyxcbiAgICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgICB9O1xuICAgIHRoaXMuYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5ldmlkZW5jZV9lbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93LnJlY29tbWVuZGF0aW9ucyA9IHtcbiAgICAgIHRleHQ6ICcnLFxuICAgICAgYXR0YWNobWVudHM6IFtdLFxuICAgIH07XG4gICAgdGhpcy5hZGRUb0Nhc2VQYXlsb2FkLmNhc2VUb1dvcmtmbG93Lm92ZXJzaWdodHMgPSB7XG4gICAgICBjY19pZHM6IFtdLFxuICAgICAgY2NfZmFpbHVyZXNfaWRzOiBbXSxcbiAgICB9O1xuICAgIHRoaXMuc2VsZWN0ZWRPdmVyc2lnaHRzLmNjX2xpc3QgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGVkT3ZlcnNpZ2h0cy5jY19mYWlsdXJlc19saXN0ID0gW107XG4gICAgdGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzID0geyAuLi5BRERJVElPTkFMX09QVElPTl9TVEFUVVMgfTtcbiAgfVxuXG4gIGNsb3NlU21pbGV5KGV2dD86IGFueSkge1xuICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XG4gICAgdGhpcy51aUtpdFNlcnZpY2UuaXNTbWlsZXlPbiA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VXb3JrRmxvdyh0aGlzLmNhc2VEYXRhLCBmYWxzZSk7XG4gIH1cblxuICBjbG9zZVdvcmtGbG93KGV2dDogYW55LCBjb25maXJtOiBhbnkpIHtcbiAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdCh7IGV2dCwgY29uZmlybSB9KTtcbiAgfVxuXG4gIG9uQ2FzZUxvYWRlcihldmVudDogYW55LCB0eXBlOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ3R5cGUnOiB7XG4gICAgICAgIHRoaXMubG9hZGVyLnR5cGVMb2FkZXIgPSBldmVudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdwcmlvcml0eSc6IHtcbiAgICAgICAgdGhpcy5sb2FkZXIucHJpb3JpdHlMb2FkZXIgPSBldmVudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRpc3BsYXlBZGRpdGlvbmFsT3B0aW9ucygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzLkVYQ0VQVElPTl9UWVBFIHx8XG4gICAgICB0aGlzLmFkZGl0aW9uYWxPcHRpb25TdGF0dXMuRVZJREVOQ0UgfHxcbiAgICAgIHRoaXMuYWRkaXRpb25hbE9wdGlvblN0YXR1cy5QUklPUklUWSB8fFxuICAgICAgdGhpcy5hZGRpdGlvbmFsT3B0aW9uU3RhdHVzLklTU1VFX1RZUEUgfHxcbiAgICAgIHRoaXMuYWRkaXRpb25hbE9wdGlvblN0YXR1cy5BU1NPQ0lBVEVEX1JJU0tTIHx8XG4gICAgICB0aGlzLmFkZGl0aW9uYWxPcHRpb25TdGF0dXMuT1ZFUlNJR0hUIHx8XG4gICAgICB0aGlzLmFkZGl0aW9uYWxPcHRpb25TdGF0dXMuUkVDT01NRU5ERURfQUNUSU9OU1xuICAgICk7XG4gIH1cblxuICBnZXQgY2hlY2tsb2FkZXIoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLmxvYWRlci50eXBlTG9hZGVyICYmXG4gICAgICAgIHRoaXMubG9hZGVyLnByaW9yaXR5TG9hZGVyICYmXG4gICAgICAgIHRoaXMubG9hZGVyLmNhc2VMb2FkZXIgJiZcbiAgICAgICAgdGhpcy5sb2FkZXIuZ3JvdXBMaXN0TG9hZGVyICYmXG4gICAgICAgIHRoaXMubG9hZGVyLnVzZXJMaXN0TG9hZGVyXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMubG9hZGVyLnR5cGVMb2FkZXIgJiYgdGhpcy5sb2FkZXIucHJpb3JpdHlMb2FkZXIpIHx8XG4gICAgICAodGhpcy5sb2FkZXIucGVybWlzc2lvbkxvYWRlciAmJiB0aGlzLndvcmtmbG93VHlwZSA9PT0gJ0FDVFcnKSB8fFxuICAgICAgdGhpcy5sb2FkZXIucmVwb3J0Q2FzZUxvYWRlclxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhc2hvd1NtaWxleVwiIGNsYXNzPVwid29ya2Zsb3ctY2FzZVwiPlxuICA8YXBwLWNhc2UtdHlwZVxuICAgICpuZ0lmPVwibW9kZSAhPT0gJ0VESVQnICYmIGNhc2VUeXBlUGVybWlzc2lvblwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICAoY2FzZVR5cGVDaGFuZ2UpPVwib25DYXNlVHlwZUNoYW5nZSgkZXZlbnQpXCJcbiAgPjwvYXBwLWNhc2UtdHlwZT5cbiAgPGFwcC1saW5rZWQtcmVzcG9uc2liaWxpdGllc1xuICAgICpuZ0lmPVwiWydDT01QTElBTkNFX1dPUktST09NJywgJ0FTU0VTU01FTlQnXS5pbmNsdWRlcyhvcGVuZWRGcm9tKVwiXG4gICAgW3BheWxvYWRdPVwiY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0UgPyBwYXlsb2FkIDogYWRkVG9DYXNlUGF5bG9hZFwiXG4gICAgW29wZW5lZEZyb21dPVwib3BlbmVkRnJvbVwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICBbcmVzcG9uc2liaWxpdHlEYXRhXT1cInJlc3BvbnNpYmlsaXR5RGF0YVwiXG4gICAgKGZpZWxkQ2xpY2tlZCk9XCJvbkZpZWxkQ2xpY2tlZCgkZXZlbnQpXCJcbiAgPjwvYXBwLWxpbmtlZC1yZXNwb25zaWJpbGl0aWVzPlxuICA8YXBwLWxpbmtlZC1hc3Nlc3NtZW50XG4gICAgKm5nSWY9XCJvcGVuZWRGcm9tID09PSAnQVNTRVNTTUVOVCdcIlxuICAgIFtwYXlsb2FkXT1cInBheWxvYWRcIlxuICAgIFtvcGVuZWRGcm9tXT1cIm9wZW5lZEZyb21cIlxuICAgIFtmaWVsZFNlbGVjdGVkXT1cImZpZWxkQ2xpY2tlZFwiXG4gICAgW3Jlc3BvbnNpYmlsaXR5RGF0YV09XCJyZXNwb25zaWJpbGl0eURhdGFcIlxuICAgIFthc3Nlc3NtZW50UXVlc3Rpb25dPVwiYXNzZXNzbWVudFF1ZXN0aW9uXCJcbiAgICAoZmllbGRDbGlja2VkKT1cIm9uRmllbGRDbGlja2VkKCRldmVudClcIlxuICA+PC9hcHAtbGlua2VkLWFzc2Vzc21lbnQ+XG4gIDxhcHAtY2FzZS1kZXRhaWxzXG4gICAgW3BheWxvYWRdPVwiXG4gICAgICBjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5SRVBPUlRfQ0FTRSA/IHBheWxvYWQgOiBhZGRUb0Nhc2VQYXlsb2FkXG4gICAgXCJcbiAgICBbZmllbGRTZWxlY3RlZF09XCJmaWVsZENsaWNrZWRcIlxuICAgIFt2YWxpZGF0aW9uRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yXCJcbiAgICBbY2FzZVR5cGVTZWxlY3RlZF09XCJjYXNlVHlwZVNlbGVjdGVkXCJcbiAgPjwvYXBwLWNhc2UtZGV0YWlscz5cbiAgPHNwYW5cbiAgICAqbmdJZj1cImNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XXCJcbiAgICBjbGFzcz1cImhlYWQtbGFiZWwgdngtZnMtMTAgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTRcIlxuICA+XG4gICAgQ0FTRSBERVRBSUxTXG4gIDwvc3Bhbj5cbiAgPGFwcC1pbmZvcm1hdGlvbi1ibG9ja1xuICAgICpuZ0lmPVwiY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcIlxuICA+PC9hcHAtaW5mb3JtYXRpb24tYmxvY2s+IFxuICA8YXBwLXJjLWRldGFpbHNcbiAgICBbcGF5bG9hZF09XCJcbiAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLlJFUE9SVF9DQVNFID8gcGF5bG9hZCA6IGFkZFRvQ2FzZVBheWxvYWRcbiAgICBcIlxuICAgIFtmaWVsZFNlbGVjdGVkXT1cImZpZWxkQ2xpY2tlZFwiXG4gICAgW2Nhc2VUeXBlU2VsZWN0ZWRdPVwiY2FzZVR5cGVTZWxlY3RlZFwiXG4gICAgW3ZhbGlkYXRpb25FcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3JcIlxuICAgIFtpbml0aWFsU2VsZWN0aW9uXT1cIlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0VcbiAgICAgICAgPyBwYXlsb2FkPy5yY19kZXRhaWxzXG4gICAgICAgIDogYWRkVG9DYXNlUGF5bG9hZD8ucmNfZGV0YWlsc1xuICAgIFwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgW3dvcmtmbG93VHlwZV09XCJ3b3JrZmxvd1R5cGVcIlxuICAgIChmaWVsZENsaWNrZWQpPVwib25GaWVsZENsaWNrZWQoJGV2ZW50KVwiXG4gICAgKG9uUmNDaGFuZ2UpPVwib25SY0NoYW5nZSgkZXZlbnQpXCJcbiAgICAoZmlsdGVyRGVzZWxlY3Rvcik9XCJwaWNrZXJUb2dnbGUoJGV2ZW50KVwiXG4gID48L2FwcC1yYy1kZXRhaWxzPlxuICA8YXBwLWNhc2UtdHlwZS1kcm9wZG93blxuICAgIFtwYXlsb2FkXT1cIlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0UgPyBwYXlsb2FkIDogYWRkVG9DYXNlUGF5bG9hZFxuICAgIFwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICBbdmFsaWRhdGlvbkVycm9yXT1cInZhbGlkYXRpb25FcnJvclwiXG4gICAgW2luaXRpYWxTZWxlY3Rpb25dPVwiXG4gICAgICBjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5SRVBPUlRfQ0FTRVxuICAgICAgICA/IHBheWxvYWQ/LmNhc2VfdHlwZVxuICAgICAgICA6IGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VfdHlwZVxuICAgIFwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgW2Nhc2VUeXBlU2VsZWN0ZWRdPVwiY2FzZVR5cGVTZWxlY3RlZFwiXG4gICAgW3dvcmtmbG93VHlwZV09XCJ3b3JrZmxvd1R5cGVcIlxuICAgIChvbkNhc2VUeXBlQ2hhbmdlKT1cIm9uQ2FzZVR5cGVEcm9wZG93bkNoYW5nZSgkZXZlbnQpXCJcbiAgICAob25DYXNlVHlwZUxvYWRpbmcpPVwib25DYXNlTG9hZGVyKCRldmVudCwgJ3R5cGUnKVwiXG4gID48L2FwcC1jYXNlLXR5cGUtZHJvcGRvd24+XG4gIDxhcHAtY2FzZS1jYXRlZ29yeVxuICAgIFtwYXlsb2FkXT1cIlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0UgPyBwYXlsb2FkIDogYWRkVG9DYXNlUGF5bG9hZFxuICAgIFwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICBbY2FzZVR5cGVTZWxlY3RlZF09XCJjYXNlVHlwZVNlbGVjdGVkXCJcbiAgICBbaW5pdGlhbFNlbGVjdGlvbl09XCJcbiAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLlJFUE9SVF9DQVNFXG4gICAgICAgID8gcGF5bG9hZD8uY2F0ZWdvcnlcbiAgICAgICAgOiBhZGRUb0Nhc2VQYXlsb2FkPy5jYXRlZ29yeVxuICAgIFwiXG4gICAgW2luaXRpYWxBZGRpdGlvbmFsU2VsZWN0aW9uXT1cIlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0VcbiAgICAgICAgPyBwYXlsb2FkPy5hZGRpdGlvbmFsX2NhdGVnb3J5XG4gICAgICAgIDogYWRkVG9DYXNlUGF5bG9hZD8uYWRkaXRpb25hbF9jYXRlZ29yeVxuICAgIFwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgW3dvcmtmbG93VHlwZV09XCJ3b3JrZmxvd1R5cGVcIlxuICAgIChvbkNhdGVnb3J5Q2hhbmdlKT1cIm9uQ2F0ZWdvcnlDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGZpZWxkQ2xpY2tlZCk9XCJvbkZpZWxkQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAoZmlsdGVyRGVzZWxlY3Rvcik9XCJwaWNrZXJUb2dnbGUoJGV2ZW50KVwiXG4gID48L2FwcC1jYXNlLWNhdGVnb3J5PlxuICA8YXBwLXJlcG9ydC1kYXRlXG4gICAgW3BheWxvYWRdPVwiY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0UgPyBwYXlsb2FkIDogYWRkVG9DYXNlUGF5bG9hZFwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICBbdmFsaWRhdGlvbkVycm9yXT1cInZhbGlkYXRpb25FcnJvclwiXG4gICAgKGZpZWxkQ2xpY2tlZCk9XCJvbkZpZWxkQ2xpY2tlZCgkZXZlbnQpXCJcbiAgPjwvYXBwLXJlcG9ydC1kYXRlPlxuICA8YXBwLWNhc2UtcHJpb3JpdHlcbiAgICBbcGF5bG9hZF09XCJcbiAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLlJFUE9SVF9DQVNFID8gcGF5bG9hZCA6IGFkZFRvQ2FzZVBheWxvYWRcbiAgICBcIlxuICAgIFtmaWVsZFNlbGVjdGVkXT1cImZpZWxkQ2xpY2tlZFwiXG4gICAgW2Nhc2VUeXBlU2VsZWN0ZWRdPVwiY2FzZVR5cGVTZWxlY3RlZFwiXG4gICAgW3ZhbGlkYXRpb25FcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3JcIlxuICAgIFtpbml0aWFsU2VsZWN0aW9uXT1cIlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0VcbiAgICAgICAgPyBwYXlsb2FkPy5wcmlvcml0eVxuICAgICAgICA6IGFkZFRvQ2FzZVBheWxvYWQ/LnByaW9yaXR5XG4gICAgXCJcbiAgICBbbW9kZV09XCJtb2RlXCJcbiAgICBbd29ya2Zsb3dUeXBlXT1cIndvcmtmbG93VHlwZVwiXG4gICAgKG9uUHJpb3JpdHlDaGFuZ2UpPVwib25Qcmlvcml0eUNoYW5nZSgkZXZlbnQpXCJcbiAgICAob25Qcmlvcml0eUxvYWRlcik9XCJvbkNhc2VMb2FkZXIoJGV2ZW50LCAncHJpb3JpdHknKVwiXG4gID48L2FwcC1jYXNlLXByaW9yaXR5PlxuICA8c3BhblxuICAgICpuZ0lmPVwiY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcIlxuICAgIGNsYXNzPVwiaGVhZC1sYWJlbCB2eC1mcy0xMCB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbGgtNFwiXG4gID5cbiAgICBVU0VSIERFVEFJTFNcbiAgPC9zcGFuPlxuICA8YXBwLWNhc2Utb3duZXJzXG4gICAgKm5nSWY9XCJjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1wiXG4gICAgW3BheWxvYWRdPVwiYWRkVG9DYXNlUGF5bG9hZFwiXG4gICAgW2luaXRpYWxTZWxlY3Rpb25dPVwiYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm93bmVyc1wiXG4gICAgW3dvcmtmbG93SWRdPVwiYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LndvcmtmbG93X2lkXCJcbiAgICBbZmllbGRTZWxlY3RlZF09XCJmaWVsZENsaWNrZWRcIlxuICAgIFt2YWxpZGF0aW9uRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yXCJcbiAgICBbbW9kZV09XCJtb2RlXCJcbiAgICAoZmllbGRDbGlja2VkKT1cIm9uRmllbGRDbGlja2VkKCRldmVudClcIlxuICAgIChmaWx0ZXJEZXNlbGVjdG9yKT1cInBpY2tlclRvZ2dsZSgkZXZlbnQpXCJcbiAgPjwvYXBwLWNhc2Utb3duZXJzPlxuICA8YXBwLWNhc2UtYXNzaWduZWVzXG4gICAgKm5nSWY9XCJjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1wiXG4gICAgW3BheWxvYWRdPVwiYWRkVG9DYXNlUGF5bG9hZFwiXG4gICAgW2ZpZWxkU2VsZWN0ZWRdPVwiZmllbGRDbGlja2VkXCJcbiAgICBbaW5pdGlhbFNlbGVjdGlvbl09XCJhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvd1wiXG4gICAgW3VzZXJMaXN0XT1cInVzZXJMaXN0XCJcbiAgICBbZ3JvdXBMaXN0XT1cImdyb3VwTGlzdFwiXG4gICAgW3ZhbGlkYXRpb25FcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3JcIlxuICAgIChmaWVsZENsaWNrZWQpPVwib25GaWVsZENsaWNrZWQoJGV2ZW50KVwiXG4gICAgKGZpbHRlckRlc2VsZWN0b3IpPVwicGlja2VyVG9nZ2xlKCRldmVudClcIlxuICA+PC9hcHAtY2FzZS1hc3NpZ25lZXM+XG4gIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgKm5nSWY9XCJjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5SRVBPUlRfQ0FTRVwiXG4gICAgW2ltYWdlXT1cIkFTU0VUUy5mb3JtYXRfZXZpZGVuY2VcIlxuICAgIFtkaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZENsaWNrZWQpXCJcbiAgICBbY2hlY2tlZF09XCJwYXlsb2FkPy5zdXBwb3J0aW5nX2RvY3VtZW50cz8ubGVuZ3RoXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICA8YXBwLXZjLWxhYmVsXG4gICAgICAgIGxhYmVsXG4gICAgICAgIFtsYWJlbFRleHRdPVwicmVwb3J0VGV4dHMuY2FzZV9kZXRhaWxzLmF0dGFjaG1lbnRzLnRpdGxlXCJcbiAgICAgID48L2FwcC12Yy1sYWJlbD5cbiAgICAgIDxhcHAtZm9ybWF0LWFuZC1ldmlkZW5jZVxuICAgICAgICAodXBkYXRlRmlsZXMpPVwic2F2ZVN1cHBvcnRpbmdEb2N1bWVudCgkZXZlbnQpXCJcbiAgICAgICAgW21vZGVdPVwiJ3JlcG9ydEFDYXNlJ1wiXG4gICAgICAgIFtmb3JtYXRFdmlkYW5jZURhdGFdPVwicGF5bG9hZD8uc3VwcG9ydGluZ19kb2N1bWVudHNcIlxuICAgICAgPjwvYXBwLWZvcm1hdC1hbmQtZXZpZGVuY2U+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYXBwLWZpZWxkLWhvbGRlcj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cImNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XXCJcbiAgICBjbGFzcz1cImhlYWQtbGFiZWwgdngtZnMtMTAgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTQgdngtbWItNFwiXG4gID5cbiAgICBDQVNFIFJFU09MVVRJT04gREVUQUlMU1xuICA8L3NwYW4+XG4gIDxhcHAtY2FzZS1yZXNvbHV0aW9uLWRlYWRsaW5lXG4gICAgKm5nSWY9XCJjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1wiXG4gICAgW3BheWxvYWRdPVwiYWRkVG9DYXNlUGF5bG9hZFwiXG4gICAgW3VzZXJMaXN0XT1cInVzZXJMaXN0XCJcbiAgICBbZ3JvdXBMaXN0XT1cImdyb3VwTGlzdFwiXG4gICAgW2luaXRpYWxTZWxlY3Rpb25dPVwiYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3dcIlxuICAgIFtmaWVsZFNlbGVjdGVkXT1cImZpZWxkQ2xpY2tlZFwiXG4gICAgW21vZGVdPVwibW9kZVwiXG4gICAgKGZpZWxkQ2xpY2tlZCk9XCJvbkZpZWxkQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICBbdmFsaWRhdGlvbkVycm9yXT1cInZhbGlkYXRpb25FcnJvclwiXG4gICAgKGZpbHRlckRlc2VsZWN0b3IpPVwicGlja2VyVG9nZ2xlKCRldmVudClcIlxuICA+PC9hcHAtY2FzZS1yZXNvbHV0aW9uLWRlYWRsaW5lPlxuICA8c3BhblxuICAgICpuZ0lmPVwiXG4gICAgICBjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPVyAmJlxuICAgICAgZGlzcGxheUFkZGl0aW9uYWxPcHRpb25zXG4gICAgXCJcbiAgICBjbGFzcz1cImhlYWQtbGFiZWwgdngtZnMtMTAgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWxoLTRcIlxuICA+XG4gICAgQURESVRJT05BTCBPUFRJT05TXG4gIDwvc3Bhbj5cbiAgPCEtLSBFeGNlcHRpb24gVHlwZSAtLT5cbiAgPGFwcC1maWVsZC1ob2xkZXJcbiAgICAqbmdJZj1cIlxuICAgICAgYWRkaXRpb25hbE9wdGlvblN0YXR1cy5FWENFUFRJT05fVFlQRSAmJlxuICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcbiAgICBcIlxuICAgIFtzY3JvbGxUb0JvdHRvbV09XCJzY3JvbGxUb0JvdHRvbVwiXG4gICAgW2FjdGl2ZV09XCJmYWxzZVwiXG4gICAgW2Rpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkQ2xpY2tlZClcIlxuICAgIFtjaGVja2VkXT1cImFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5leGNlcHRpb25fdHlwZVwiXG4gICAgW2ltYWdlXT1cIlxuICAgICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vYmplY3RpdmVzLnN2ZydcbiAgICBcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBmaWVsZD5cbiAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5FeGNlcHRpb24gVHlwZTwvbGFiZWw+XG4gICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgIGNsYXNzPVwibWFpbi1maWxlZFwiXG4gICAgICAgIFt2YWx1ZV09XCJleGNlcHRpb25UeXBlLkRFU0lHTl9FWENFUFRJT05cIlxuICAgICAgICBuYW1lPVwiZXhjZXB0aW9uLXR5cGVcIlxuICAgICAgICBbY2hlY2tlZF09XCJcbiAgICAgICAgICBhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uZXhjZXB0aW9uX3R5cGUgPT09XG4gICAgICAgICAgZXhjZXB0aW9uVHlwZS5ERVNJR05fRVhDRVBUSU9OXG4gICAgICAgIFwiXG4gICAgICAgIChjaGVja2VkRXZlbnQpPVwic2V0RXhjZXB0aW9uKGV4Y2VwdGlvblR5cGUuREVTSUdOX0VYQ0VQVElPTilcIlxuICAgICAgICA+RGVzaWduIEV4Y2VwdGlvblxuICAgICAgPC9hcHAtY3MtcmFkaW8+XG4gICAgICA8YXBwLWNzLXJhZGlvXG4gICAgICAgIGNsYXNzPVwibWFpbi1maWxlZFwiXG4gICAgICAgIFt2YWx1ZV09XCJleGNlcHRpb25UeXBlLkVGRkVDVElWRU5FU1NfRVhDRVBUSU9OXCJcbiAgICAgICAgbmFtZT1cImV4Y2VwdGlvbi10eXBlXCJcbiAgICAgICAgW2NoZWNrZWRdPVwiXG4gICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LmV4Y2VwdGlvbl90eXBlID09PVxuICAgICAgICAgIGV4Y2VwdGlvblR5cGUuRUZGRUNUSVZFTkVTU19FWENFUFRJT05cbiAgICAgICAgXCJcbiAgICAgICAgKGNoZWNrZWRFdmVudCk9XCJzZXRFeGNlcHRpb24oZXhjZXB0aW9uVHlwZS5FRkZFQ1RJVkVORVNTX0VYQ0VQVElPTilcIlxuICAgICAgICA+RWZmZWN0aXZlbmVzcyBFeGNlcHRpb25cbiAgICAgIDwvYXBwLWNzLXJhZGlvPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2FwcC1maWVsZC1ob2xkZXI+XG5cbiAgPCEtLSBBc3NvY2lhdGVkIFJpc2tzIC0tPlxuICA8ZGl2XG4gICAgW2FwcFNjcm9sbEluVmlld109XCJzY3JvbGxUb0JvdHRvbVwiXG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwLXJvd1wiXG4gICAgKm5nSWY9XCJhZGRpdGlvbmFsT3B0aW9uU3RhdHVzLkFTU09DSUFURURfUklTS1NcIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZENsaWNrZWQpXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibGVmdFwiXG4gICAgICBbY2xhc3MuY2hlY2tlZF09XCJhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uYXNzb2NpYXRlZF9yaXNrcz8udGV4dFwiXG4gICAgPlxuICAgICAgPGltZ1xuICAgICAgICBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvYXNzb2NpYXRlZC1yaXNrcy5zdmdcIlxuICAgICAgICBhbHQ9XCJpbVwiXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgIWFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzPy50ZXh0Py50cmltKClcbiAgICAgICAgICAgID8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAvPlxuXG4gICAgICA8c3ZnXG4gICAgICAgIGNsYXNzPVwiY2hlY2tJY29uXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzPy50ZXh0Py50cmltKClcbiAgICAgICAgICAgIC5sZW5ndGhcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCJcbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+QXNzb2NpYXRlZCBSaXNrcyA8L2xhYmVsPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgICA/Lmxlbmd0aCA+IDBcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmaWxlLWxpc3RcIlxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCB1cGxvYWRpbmdGaWxlIG9mIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93XG4gICAgICAgICAgICAgICAgPy5hc3NvY2lhdGVkX3Jpc2tzPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyB1cGxvYWRpbmdGaWxlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgICA/Lmxlbmd0aCA+IDBcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmaWxlLWxpc3RcIlxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBmaWxlIG9mIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NvY2lhdGVkX3Jpc2tzXG4gICAgICAgICAgICAgICAgPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyBmaWxlPy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwiZGVsZXRlRmlsZShmaWxlLCAnQVNTT0NJQVRFRF9SSVNLUycpXCJcbiAgICAgICAgICAgICAgICAgID4mI3hlOTBkOzwvaVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDx2Y29tcGx5LWVkaXRvclxuICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkVG9DYXNlUGF5bG9hZC5jYXNlVG9Xb3JrZmxvdy5hc3NvY2lhdGVkX3Jpc2tzLnRleHRcIlxuICAgICAgICAgIFtlZGl0b3JDb25maWddPVwie1xuICAgICAgICAgICAgbW9kZTogJ3ByaW1lJyxcbiAgICAgICAgICAgIGNvbG9yUGFsZXR0ZTogdHJ1ZSxcbiAgICAgICAgICAgIGxpbms6IHRydWUsXG4gICAgICAgICAgICBmaWxlOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnQXNzb2NpYXRlZCBSaXNrcydcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAoY2xpY2tPdXRzaWRlKT1cImNoZWNrRGVzY3JpcHRpb24oKVwiXG4gICAgICAgICAgKHNlbmRTYXZlZEZpbGVzKT1cInNlbGVjdEZpbGUoJ0FTU09DSUFURURfUklTS1MnLCAkZXZlbnQpXCJcbiAgICAgICAgPjwvdmNvbXBseS1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBPdmVyc2VlciAtLT5cbiAgPGRpdlxuICAgIFthcHBTY3JvbGxJblZpZXddPVwic2Nyb2xsVG9Cb3R0b21cIlxuICAgIGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIlxuICAgIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIlxuICAgICpuZ0lmPVwiYWRkaXRpb25hbE9wdGlvblN0YXR1cy5PVkVSU0lHSFRcIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZENsaWNrZWQpXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibGVmdFwiXG4gICAgICBbY2xhc3MuY2hlY2tlZF09XCJcbiAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm92ZXJzaWdodHM/LmNjX2lkcz8ubGVuZ3RoIHx8XG4gICAgICAgIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5vdmVyc2lnaHRzPy5jY19mYWlsdXJlc19pZHM/Lmxlbmd0aFxuICAgICAgXCJcbiAgICA+XG4gICAgICA8aW1nXG4gICAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9vdmVyc2lnaHQuc3ZnXCJcbiAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAhKFxuICAgICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm92ZXJzaWdodHM/LmNjX2lkcz8ubGVuZ3RoIHx8XG4gICAgICAgICAgICBhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ub3ZlcnNpZ2h0cz8uY2NfZmFpbHVyZXNfaWRzXG4gICAgICAgICAgICAgID8ubGVuZ3RoXG4gICAgICAgICAgKVxuICAgICAgICBcIlxuICAgICAgLz5cblxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm92ZXJzaWdodHM/LmNjX2lkcz8ubGVuZ3RoIHx8XG4gICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm92ZXJzaWdodHM/LmNjX2ZhaWx1cmVzX2lkcz8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcbiAgICAgID5cbiAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCJcbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+T3ZlcnNpZ2h0PC9sYWJlbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdFwiICpuZ0lmPVwiIXNlbGVjdGVkT3ZlcnNpZ2h0cz8uY2NfbGlzdD8ubGVuZ3RoXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2V0QWN0aXZlRmllbGRTZWxlY3RvcignQ0FTRV9DQycsICdDQVNFX0NDJylcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJXaG8gc2hvdWxkIGhhdmUgb3ZlcnNpZ2h0IG9mIHRoaXMgY2FzZT9cIlxuICAgICAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRcIiAqbmdJZj1cInNlbGVjdGVkT3ZlcnNpZ2h0cz8uY2NfbGlzdD8ubGVuZ3RoXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBDb250YWluZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC0yIHZ4LXByLTJcIj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTAgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0xXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUl0ZW0oJ0NBU0VfQ0MnLCBzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2xpc3RbMF0pXCJcbiAgICAgICAgICAgICAgPiYjeGU5YWU7PC9pXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImNoaXBOYW1lIHZ4LWZzLTExIHZ4LWxhYmVsLXR4dFwiXG4gICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInNlbGVjdGVkT3ZlcnNpZ2h0cz8uY2NfbGlzdFswXT8uZW1wbG95ZWVfbmFtZVwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+e3sgc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19saXN0WzBdPy5lbXBsb3llZV9uYW1lIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiY291bnRCdG4gdngtZnMtOSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbGgtNFwiXG4gICAgICAgICAgICAgIGFwcFBvcG92ZXJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIkNDLnBvcG92ZXIoKVwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2xpc3Q/Lmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAre3sgc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19saXN0Py5zbGljZSgxKS5sZW5ndGggfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aXZlRmllbGQgIT09ICdDQVNFX0NDJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImVkaXRcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2V0QWN0aXZlRmllbGRTZWxlY3RvcignQ0FTRV9DQycsICdDQVNFX0NDJylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOWJhOzwvaT5FZGl0XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzZWxlY3RcIlxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAhc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0IHx8XG4gICAgICAgICAgICBzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2ZhaWx1cmVzX2xpc3Q/Lmxlbmd0aCA9PT0gMFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRBY3RpdmVGaWVsZFNlbGVjdG9yKCdDQVNFX0ZDQycsICdDQVNFX0ZDQycpXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiV2hvIHNob3VsZCBiZSBub3RpZmllZCBpZiB0aGUgY2FzZSBpcyBub3QgcmVzb2x2ZWQ/XCJcbiAgICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic2VsZWN0ZWRcIlxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0Py5sZW5ndGhcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBDb250YWluZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wbC0yIHZ4LXByLTJcIj5cbiAgICAgICAgICAgIDxpXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnMgY3Jvc3MgdngtZnMtMTAgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0xXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgICAgICAgIGRlbGV0ZUl0ZW0oJ0NBU0VfRkNDJywgc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0WzBdKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICA+JiN4ZTlhZTs8L2lcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hpcE5hbWUgdngtZnMtMTEgdngtbGFiZWwtdHh0XCJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0WzBdPy5lbXBsb3llZV9uYW1lXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+e3tcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2ZhaWx1cmVzX2xpc3RbMF0/LmVtcGxveWVlX25hbWVcbiAgICAgICAgICAgICAgfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJjb3VudEJ0biB2eC1mcy05IHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1saC00XCJcbiAgICAgICAgICAgICAgYXBwUG9wb3ZlclxuICAgICAgICAgICAgICAoY2xpY2spPVwiRkNDLnBvcG92ZXIoKVwiXG4gICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2ZhaWx1cmVzX2xpc3Q/Lmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAre3sgc2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0Py5zbGljZSgxKT8ubGVuZ3RoIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cImFjdGl2ZUZpZWxkICE9PSAnQ0FTRV9GQ0MnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZWRpdFwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRBY3RpdmVGaWVsZFNlbGVjdG9yKCdDQVNFX0ZDQycsICdDQVNFX0ZDQycpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+RWRpdFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGFwcC1wb3BvdmVyICNDQyBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgbGV0IGNjIG9mIHNlbGVjdGVkT3ZlcnNpZ2h0cz8uY2NfbGlzdCB8IHNsaWNlIDogMTtcbiAgICAgICAgICAgICAgICBsZXQgaiA9IGluZGV4XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwiZGVsZXRlSXRlbSgnQ0FTRV9DQycsIGNjKVwiXG4gICAgICAgICAgICAgICAgICAgID4mI3hlOTBkOzwvaVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgY2M/LmVtcGxveWVlX25hbWUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYXBwLXBvcG92ZXI+XG4gICAgICA8YXBwLXBvcG92ZXIgI0ZDQyBbZG9udENsb3Nlb25DbGlja109XCJ0cnVlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgbGV0IGZjYyBvZiBzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2ZhaWx1cmVzX2xpc3QgfCBzbGljZSA6IDE7XG4gICAgICAgICAgICAgICAgbGV0IGogPSBpbmRleFxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgKGNsaWNrKT1cImRlbGV0ZUl0ZW0oJ0NBU0VfRkNDJywgZmNjKVwiXG4gICAgICAgICAgICAgICAgICAgID4mI3hlOTBkOzwvaVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgZmNjPy5lbXBsb3llZV9uYW1lIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2FwcC1wb3BvdmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIEV2aWRlbmNlIC0tPlxuICA8ZGl2XG4gICAgW2FwcFNjcm9sbEluVmlld109XCJzY3JvbGxUb0JvdHRvbVwiXG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwLXJvd1wiXG4gICAgKm5nSWY9XCJhZGRpdGlvbmFsT3B0aW9uU3RhdHVzLkVWSURFTkNFXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZmllbGRTZWxlY3Rvcj8uaW5jbHVkZXMoZmllbGRDbGlja2VkKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwibGVmdFwiIFtjbGFzcy5jaGVja2VkXT1cInRydWVcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJjaGVja0ljb25cIlxuICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA1MiA1MlwiXG4gICAgICA+XG4gICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPkV2aWRlbmNlPC9sYWJlbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInVwbG9hZC1mb3JtYXRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRcIlxuICAgICAgICAgICAgPkRvIHlvdSB3YW50IGV2aWRlbmNlIG9mIGNvbXBsZXRpb24gb2YgdGhlIGNhc2UgdG8gYmVcbiAgICAgICAgICAgIHVwbG9hZGVkPzwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxhcHAtY3MtcmFkaW9cbiAgICAgICAgICAgICAgW25hbWVdPVwiJ2ZpbGUtZXZpZGVuY2UnXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIjFcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCJhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uZXZpZGVuY2VfZW5hYmxlZFwiXG4gICAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwic2V0RXZpZGVuY2UodHJ1ZSlcIlxuICAgICAgICAgICAgICA+WWVzXG4gICAgICAgICAgICA8L2FwcC1jcy1yYWRpbz5cbiAgICAgICAgICAgIDxhcHAtY3MtcmFkaW9cbiAgICAgICAgICAgICAgW25hbWVdPVwiJ2ZpbGUtZXZpZGVuY2UnXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIjBcIlxuICAgICAgICAgICAgICBbY2hlY2tlZF09XCIhYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LmV2aWRlbmNlX2VuYWJsZWRcIlxuICAgICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cInNldEV2aWRlbmNlKGZhbHNlKVwiXG4gICAgICAgICAgICAgID5Ob1xuICAgICAgICAgICAgPC9hcHAtY3MtcmFkaW8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tIFJlY29tbWVuZGVkIEFjdGlvbnMgLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCJcbiAgICAqbmdJZj1cImFkZGl0aW9uYWxPcHRpb25TdGF0dXMuUkVDT01NRU5ERURfQUNUSU9OU1wiXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkQ2xpY2tlZClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJsZWZ0XCJcbiAgICAgIFtjbGFzcy5jaGVja2VkXT1cImFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5yZWNvbW1lbmRhdGlvbnM/LnRleHRcIlxuICAgID5cbiAgICAgIDxpbWdcbiAgICAgICAgc3JjPVwiaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3JlY29tbWVuZGVkLWFjdGlvbi5zdmdcIlxuICAgICAgICBhbHQ9XCJpbVwiXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgIShcbiAgICAgICAgICAgIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5yZWNvbW1lbmRhdGlvbnM/LnRleHRcbiAgICAgICAgICAgIHwgc3BhY2VCcmVha2VyXG4gICAgICAgICAgKT8ubGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAvPlxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAoXG4gICAgICAgICAgICBhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ucmVjb21tZW5kYXRpb25zPy50ZXh0XG4gICAgICAgICAgICB8IHNwYWNlQnJlYWtlclxuICAgICAgICAgICk/Lmxlbmd0aCA+IDBcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGNpcmNsZSBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCIgY3g9XCIyNlwiIGN5PVwiMjZcIiByPVwiMjVcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCJcbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UmVjb21tZW5kZWQgQWN0aW9uczwvbGFiZWw+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlY29tbWVuZGF0aW9ucz8uYXR0YWNobWVudHNcbiAgICAgICAgICAgICAgPy5sZW5ndGggPiAwXG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZmlsZS1saXN0XCJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgdXBsb2FkaW5nRmlsZSBvZiBhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvd1xuICAgICAgICAgICAgICAgID8ucmVjb21tZW5kYXRpb25zPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLW5hbWVcIj57eyB1cGxvYWRpbmdGaWxlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YXBwLWxpbmUtbG9hZGVyIFtsb2FkZXJIZWlnaHRdPVwiMlwiPjwvYXBwLWxpbmUtbG9hZGVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICBhZGRUb0Nhc2VQYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ucmVjb21tZW5kYXRpb25zPy5hdHRhY2htZW50c1xuICAgICAgICAgICAgICA/Lmxlbmd0aCA+IDBcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmaWxlLWxpc3RcIlxuICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgIGxldCBmaWxlIG9mIGFkZFRvQ2FzZVBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5yZWNvbW1lbmRhdGlvbnNcbiAgICAgICAgICAgICAgICA/LmF0dGFjaG1lbnRzXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGZpbGU/Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxidXR0b24+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbnNcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUZpbGUoZmlsZSwgJ1JFQ09NTUVOREVEX0FDVElPTlMnKVwiXG4gICAgICAgICAgICAgICAgICA+JiN4ZTkwZDs8L2lcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8dmNvbXBseS1lZGl0b3JcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImFkZFRvQ2FzZVBheWxvYWQuY2FzZVRvV29ya2Zsb3cucmVjb21tZW5kYXRpb25zLnRleHRcIlxuICAgICAgICAgIFtlZGl0b3JDb25maWddPVwie1xuICAgICAgICAgICAgbW9kZTogJ3ByaW1lJyxcbiAgICAgICAgICAgIGNvbG9yUGFsZXR0ZTogdHJ1ZSxcbiAgICAgICAgICAgIGxpbms6IHRydWUsXG4gICAgICAgICAgICBmaWxlOiB0cnVlLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdSZWNvbW1lbmRlZCBhY3Rpb25zJ1xuICAgICAgICAgIH1cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIlxuICAgICAgICAgICAgYWRkVG9DYXNlUGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlY29tbWVuZGF0aW9ucz8udGV4dD8udHJpbSgpXG4gICAgICAgICAgICAgID8ubGVuZ3RoID4gMFxuICAgICAgICAgICAgICA/IHJlbW92ZUVycm9yKCdpc3N1ZVJlY29tbWVuZGF0aW9uJylcbiAgICAgICAgICAgICAgOiBudWxsXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2tPdXRzaWRlKT1cImNoZWNrRGVzY3JpcHRpb24oKVwiXG4gICAgICAgICAgKHNlbmRTYXZlZEZpbGVzKT1cInNlbGVjdEZpbGUoJ1JFQ09NTUVOREVEX0FDVElPTlMnLCAkZXZlbnQpXCJcbiAgICAgICAgPjwvdmNvbXBseS1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDwhLS0gUmlzayBDbGFzc2lmaWNhdGlvbiAtLT5cbiAgPGRpdlxuICAgICpuZ0lmPVwiYWRkaXRpb25hbE9wdGlvblN0YXR1cy5SSVNLX0NMQVNTSUZJQ0FUSU9OXCJcbiAgICBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCJcbiAgICBpZD1cInJpc2tfY2xhc3NpZmljYXRpb25cIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZENsaWNrZWQpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwiYWRkVG9DYXNlUGF5bG9hZC5yaXNrX2NsYXNzXCI+XG4gICAgICA8aW1nXG4gICAgICAgIHNyYz1cImh0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yaXNrcy5zdmdcIlxuICAgICAgICBhbHQ9XCJpbVwiXG4gICAgICAgICpuZ0lmPVwiIWFkZFRvQ2FzZVBheWxvYWQucmlza19jbGFzc1wiXG4gICAgICAvPlxuXG4gICAgICA8c3ZnXG4gICAgICAgIGNsYXNzPVwiY2hlY2tJY29uXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAqbmdJZj1cImFkZFRvQ2FzZVBheWxvYWQucmlza19jbGFzc1wiXG4gICAgICA+XG4gICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UmlzayBDbGFzc2lmaWNhdGlvbjwvbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbGFzc2lmaWNhdGlvblwiPlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgY2xhc3M9XCJsb3dcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNsYXNzIG9mIHJpc2tDbGFzc2lmaWNhdGlvblwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJbY2xhc3MuY2xhc3NdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgbmFtZT1cImNsYXNzaWZpY2F0aW9uXCJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImNsYXNzLnZhbHVlXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiYWRkVG9DYXNlUGF5bG9hZC5yaXNrX2NsYXNzID09PSBjbGFzcy52YWx1ZVwiXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYWRkVG9DYXNlUGF5bG9hZC5yaXNrX2NsYXNzXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3Bhbj57eyBjbGFzcy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJjaGVja2xvYWRlclwiID48L2FwcC1sb2FkZXItaW5saW5lPlxuPGFwcC1jaGVja2JveC1saXN0XG4gIFtjb25maWddPVwib3ZlcnNpZ2h0X2NvbmZpZ1wiXG4gIFt0d29Db2x1bW5dPVwidHJ1ZVwiXG4gIFtpdGVtc0xpc3RdPVwidXNlckxpc3RcIlxuICBbc2VsZWN0ZWRJdGVtc109XCJzZWxlY3RlZE92ZXJzaWdodHM/LmNjX2xpc3RcIlxuICBbaWRlbnRpZmllcktleV09XCInZW1wbG95ZWVfZW1haWwnXCJcbiAgW2Rpc3BsYXlLZXldPVwiJ2VtcGxveWVlX25hbWUnXCJcbiAgW3Rvb2x0aXBLZXldPVwiJ2VtcGxveWVlX2VtYWlsJ1wiXG4gICpuZ0lmPVwiYWN0aXZlU2VsZWN0b3IgPT09ICdDQVNFX0NDJ1wiXG4gIChzYXZlTGlzdCk9XCJzZWxlY3RvckFjdGlvbigkZXZlbnQsICdDQVNFX0NDJylcIlxuICAoY2xvc2VMaXN0KT1cImZpZWxkRGVzZWxlY3RvcignQ0FTRV9DQycpXCJcbiAgW2xvYWRlZF09XCJsb2FkZXIudXNlckxpc3RMb2FkZXJcIlxuPjwvYXBwLWNoZWNrYm94LWxpc3Q+XG5cbjxhcHAtY2hlY2tib3gtbGlzdFxuICBbY29uZmlnXT1cIm92ZXJzaWdodF9jb25maWdcIlxuICBbdHdvQ29sdW1uXT1cInRydWVcIlxuICBbaXRlbXNMaXN0XT1cInVzZXJMaXN0XCJcbiAgW3NlbGVjdGVkSXRlbXNdPVwic2VsZWN0ZWRPdmVyc2lnaHRzPy5jY19mYWlsdXJlc19saXN0XCJcbiAgW2lkZW50aWZpZXJLZXldPVwiJ2VtcGxveWVlX2VtYWlsJ1wiXG4gIFtkaXNwbGF5S2V5XT1cIidlbXBsb3llZV9uYW1lJ1wiXG4gIFt0b29sdGlwS2V5XT1cIidlbXBsb3llZV9lbWFpbCdcIlxuICAqbmdJZj1cImFjdGl2ZVNlbGVjdG9yID09PSAnQ0FTRV9GQ0MnXCJcbiAgKHNhdmVMaXN0KT1cInNlbGVjdG9yQWN0aW9uKCRldmVudCwgJ0NBU0VfRkNDJylcIlxuICAoY2xvc2VMaXN0KT1cImZpZWxkRGVzZWxlY3RvcignQ0FTRV9GQ0MnKVwiXG4gIFtsb2FkZWRdPVwibG9hZGVyLnVzZXJMaXN0TG9hZGVyXCJcbj48L2FwcC1jaGVja2JveC1saXN0PlxuXG48YXBwLXNtaWxleS1kaWFsb2ctaW5saW5lXG4gICpuZ0lmPVwic2hvd1NtaWxleVwiXG4gIFttZXNzYWdlXT1cInNtaWxleU1lc3NhZ2VcIlxuICBbYWN0aW9uQnV0dG9uc109XCJhY3Rpb25CdXR0b25zXCJcbiAgKGFjdGlvbik9XCJzbWlsZXlBY3Rpb25zKCRldmVudClcIlxuICAoY2xvc2VTbWlsZXkpPVwiY2xvc2VTbWlsZXkoJGV2ZW50KVwiXG4+PC9hcHAtc21pbGV5LWRpYWxvZy1pbmxpbmU+XG4iXX0=
|