vcomply-workflow-engine 6.0.47 → 6.0.49
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/constants/mock.mjs +130 -0
- package/esm2022/lib/interfaces/frequency.interface.mjs +2 -0
- package/esm2022/lib/interfaces/responsibilty.interface.mjs +1 -1
- package/esm2022/lib/more-option/more-option.component.mjs +3 -46
- package/esm2022/lib/sharedComponents/category-list-selection/category-list-selection/category-list-selection.component.mjs +3 -3
- package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +9 -40
- package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +5 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +5 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +2 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +6 -2
- package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +2 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +3 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +5 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +3 -1
- package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +4 -2
- package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +185 -1
- package/esm2022/lib/sharedComponents/list-container/list-container.component.mjs +52 -0
- package/esm2022/lib/sharedComponents/policy-template/policy-template.module.mjs +5 -5
- package/esm2022/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.mjs +33 -31
- package/esm2022/lib/sharedComponents/policy-template/template-list-table/template-list-table.component.mjs +3 -9
- package/esm2022/lib/sharedComponents/policy-template/view-policy/view-policy/view-policy.component.mjs +93 -0
- package/esm2022/lib/sharedComponents/policy-template/view-policy/view-policy.module.mjs +19 -0
- package/esm2022/lib/sharedComponents/program-list/constant.mjs +10 -0
- package/esm2022/lib/sharedComponents/program-list/interfaces/data-source.interface.mjs +2 -0
- package/esm2022/lib/sharedComponents/program-list/interfaces/list-item.interface.mjs +2 -0
- package/esm2022/lib/sharedComponents/program-list/interfaces/selection-predicate.interface.mjs +2 -0
- package/esm2022/lib/sharedComponents/program-list/program-list/program-list.component.mjs +162 -0
- package/esm2022/lib/sharedComponents/program-list/program-list.module.mjs +40 -0
- package/esm2022/lib/sharedComponents/program-list/services/list-utils.service.mjs +27 -0
- package/esm2022/lib/sharedComponents/program-list/services/program-list-api.service.mjs +32 -0
- package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +303 -153
- package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +5 -13
- package/esm2022/lib/workflow-engine.module.mjs +13 -6
- package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +3 -3
- package/esm2022/lib/workflow-program/workflow-program.component.mjs +83 -240
- package/esm2022/lib/workflow-services/programs.service.mjs +28 -112
- package/esm2022/lib/workflow-services/responsibility.service.mjs +9 -9
- package/fesm2022/vcomply-workflow-engine.mjs +1222 -710
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/constants/mock.d.ts +15 -0
- package/lib/interfaces/frequency.interface.d.ts +37 -0
- package/lib/interfaces/responsibilty.interface.d.ts +1 -1
- package/lib/sharedComponents/document-section/document-section.component.d.ts +2 -10
- package/lib/sharedComponents/frequency/frequency.service.d.ts +30 -0
- package/lib/sharedComponents/list-container/list-container.component.d.ts +9 -0
- package/lib/sharedComponents/policy-template/policy-template.module.d.ts +2 -2
- package/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.d.ts +5 -7
- package/lib/sharedComponents/policy-template/template-list-table/template-list-table.component.d.ts +3 -6
- package/lib/sharedComponents/policy-template/view-policy/view-policy/view-policy.component.d.ts +25 -0
- package/lib/sharedComponents/policy-template/view-policy/view-policy.module.d.ts +9 -0
- package/lib/sharedComponents/program-list/constant.d.ts +5 -0
- package/lib/sharedComponents/program-list/interfaces/data-source.interface.d.ts +4 -0
- package/lib/sharedComponents/program-list/interfaces/list-item.interface.d.ts +5 -0
- package/lib/sharedComponents/program-list/interfaces/selection-predicate.interface.d.ts +3 -0
- package/lib/sharedComponents/program-list/program-list/program-list.component.d.ts +42 -0
- package/lib/sharedComponents/program-list/program-list.module.d.ts +12 -0
- package/lib/sharedComponents/program-list/services/list-utils.service.d.ts +7 -0
- package/lib/sharedComponents/program-list/services/program-list-api.service.d.ts +14 -0
- package/lib/workflow-compliance/workflow-compliance.component.d.ts +33 -5
- package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +2 -3
- package/lib/workflow-engine.module.d.ts +42 -40
- package/lib/workflow-program/workflow-program.component.d.ts +6 -4
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
- package/lib/workflow-services/programs.service.d.ts +13 -53
- package/package.json +1 -1
- package/esm2022/lib/workflow-policy/ms-word.constants.mjs +0 -21
- package/esm2022/lib/workflow-services/policy-api.service.mjs +0 -38
- package/lib/workflow-policy/ms-word.constants.d.ts +0 -20
- package/lib/workflow-services/policy-api.service.d.ts +0 -27
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
-
import { WORD_CONSTANTS, WORD_URL_CONSTANTS } from '../../workflow-policy/ms-word.constants';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "../../ui-kit/snack-bar/snack-bar.service";
|
|
5
4
|
import * as i2 from "../../workflow-services/policy.service";
|
|
6
|
-
import * as i3 from "
|
|
7
|
-
import * as i4 from "@angular/
|
|
8
|
-
import * as i5 from "
|
|
9
|
-
import * as i6 from "../../services/iframe.service";
|
|
10
|
-
import * as i7 from "../v-loader/loader-inline/loader-inline.component";
|
|
5
|
+
import * as i3 from "@angular/router";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "../../services/iframe.service";
|
|
11
8
|
export class DocumentSectionComponent {
|
|
12
|
-
constructor(snackBar, policyService,
|
|
9
|
+
constructor(snackBar, policyService, router, route, platformLocation, iframeService) {
|
|
13
10
|
this.snackBar = snackBar;
|
|
14
11
|
this.policyService = policyService;
|
|
15
|
-
this.policyAPIService = policyAPIService;
|
|
16
12
|
this.router = router;
|
|
17
13
|
this.route = route;
|
|
18
14
|
this.iframeService = iframeService;
|
|
@@ -23,8 +19,6 @@ export class DocumentSectionComponent {
|
|
|
23
19
|
this.doc = false;
|
|
24
20
|
this.isUploading = false;
|
|
25
21
|
this.isLoader = false;
|
|
26
|
-
this.ff_policy_ms_word_integration = false;
|
|
27
|
-
this.createWordPolicyText = WORD_CONSTANTS.MS_WORD_OPTION;
|
|
28
22
|
this.selectedDocumentType = '';
|
|
29
23
|
this.templateView = false;
|
|
30
24
|
this.policyId = '';
|
|
@@ -53,7 +47,6 @@ export class DocumentSectionComponent {
|
|
|
53
47
|
}
|
|
54
48
|
}
|
|
55
49
|
ngOnInit() {
|
|
56
|
-
this.initialiseFeatureFlags();
|
|
57
50
|
const data = JSON.parse(localStorage.getItem('lastFileNameAndType') ?? '"{}"');
|
|
58
51
|
if (data.name !== null &&
|
|
59
52
|
data.name !== undefined &&
|
|
@@ -65,25 +58,6 @@ export class DocumentSectionComponent {
|
|
|
65
58
|
localStorage.removeItem('lastFileNameAndType');
|
|
66
59
|
}
|
|
67
60
|
}
|
|
68
|
-
initialiseFeatureFlags() {
|
|
69
|
-
this.ff_policy_ms_word_integration = this.feature.isFeatureEnabled('ff_policy_ms_word_integration');
|
|
70
|
-
}
|
|
71
|
-
redirectUserToWordPolicy() {
|
|
72
|
-
window.open(WORD_URL_CONSTANTS.new_word_policy_url, '_blank');
|
|
73
|
-
window.location.href = this.baseURL + WORD_URL_CONSTANTS.workroom_url + this.policyId;
|
|
74
|
-
}
|
|
75
|
-
createWordPolicy() {
|
|
76
|
-
this.isLoader = true;
|
|
77
|
-
this.policyAPIService.createWordPolicy(this.policyId).subscribe((res) => {
|
|
78
|
-
if (res) {
|
|
79
|
-
this.redirectUserToWordPolicy();
|
|
80
|
-
}
|
|
81
|
-
this.isLoader = false;
|
|
82
|
-
}, (err) => {
|
|
83
|
-
this.isLoader = false;
|
|
84
|
-
this.snackBar.show(WORD_CONSTANTS.createWordPolicy_snackbar_message, 'alert');
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
61
|
handleFileInput(files) {
|
|
88
62
|
this.fileToUpload = files[0];
|
|
89
63
|
this.filename = this.fileToUpload.name;
|
|
@@ -201,9 +175,6 @@ export class DocumentSectionComponent {
|
|
|
201
175
|
const url = this.baseURL + '/all/policy/edit-policy?id=' + this.policyId;
|
|
202
176
|
this.iframeService.redirectIfInIframe(url, true);
|
|
203
177
|
}
|
|
204
|
-
else if (event === 'word') {
|
|
205
|
-
this.createWordPolicy();
|
|
206
|
-
}
|
|
207
178
|
else if (event === 'pdf') {
|
|
208
179
|
// If it is a pdf send to the workroom
|
|
209
180
|
const url = this.baseURL + '/all/policy/workroom?id=' + this.policyId;
|
|
@@ -226,15 +197,13 @@ export class DocumentSectionComponent {
|
|
|
226
197
|
openTemplateList() {
|
|
227
198
|
this.openTemplate.emit();
|
|
228
199
|
}
|
|
229
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DocumentSectionComponent, deps: [{ token: i1.SnackBarService }, { token: i2.PolicyService }, { token: i3.
|
|
230
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DocumentSectionComponent, selector: "lib-document-section", inputs: { selectedDocumentType: "selectedDocumentType", feature: "feature", templateView: "templateView", policyId: "policyId", policyName: "policyName", organization_id: "organization_id", member_obj_id: "member_obj_id", userInfo: "userInfo", templateUrl: "templateUrl", isTemplateOpened: "isTemplateOpened" }, outputs: { disconnectRefresh: "disconnectRefresh", editPolicy: "editPolicy", openTemplate: "openTemplate" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"document-section\" [class.grayscale]=\"isTemplateOpened\">\n <div class=\"document-section-inner\">\n <div class=\"message-box\">\n <svg\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 480.8 480.8\"\n style=\"enable-background: new 0 0 480.8 480.8\"\n xml:space=\"preserve\"\n >\n <path\n style=\"fill: #ffd517\"\n d=\"M317.112,314.4c-22.4,22.4-19.6,67.6-19.6,67.6h-113.6c0,0,2.4-45.2-19.6-67.6\n c-24.4-21.6-40-52.8-40-87.6c0-64,52-116,116-116s116,52,116,116C356.312,261.6,341.112,292.8,317.112,314.4L317.112,314.4z\"\n />\n <g>\n <path\n style=\"fill: #e5e5e5\"\n d=\"M300.712,417.6c0,6-4.8,10.8-10.8,10.8h-98.8c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h98.4C295.512,406.8,300.712,411.6,300.712,417.6L300.712,417.6z\"\n />\n <path\n style=\"fill: #e5e5e5\"\n d=\"M285.912,462.4c0,6-4.8,10.8-10.8,10.8h-69.2c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h69.2C281.112,451.6,285.912,456.4,285.912,462.4L285.912,462.4z\"\n />\n </g>\n <g>\n <path\n style=\"fill: #210b20\"\n d=\"M323.112,318.4c26-23.6,40.8-56.8,40.8-91.6c0-68-55.6-123.6-123.6-123.6s-123.6,55.6-123.6,123.6\n c0,35.6,15.6,69.6,42,92.8c19.6,19.6,17.6,61.2,17.6,61.6c0,2,0.8,4,2,5.6c1.6,1.6,3.6,2.4,5.6,2.4h113.2c2,0,4-0.8,5.6-2.4\n s2-3.6,2-5.6c0-0.4-2-42,17.6-61.6C322.712,319.2,323.112,318.8,323.112,318.4z M311.912,308.4c-0.8,0.4-1.2,1.2-1.6,2\n c-17.6,18.8-20.4,49.6-20.8,64h-98c-0.4-14.8-3.6-46.8-22.4-65.6c-23.6-20.8-37.2-50.4-37.2-81.6c0-60,48.8-108.4,108.4-108.4\n c60,0,108.4,48.8,108.4,108.4C348.712,258,335.512,288,311.912,308.4z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M240.312,135.2c-4,0-7.6,3.2-7.6,7.6c0,4,3.2,7.6,7.6,7.6c44.8,0,81.2,36.4,81.2,81.2\n c0,4,3.2,7.6,7.6,7.6c4,0,7.6-3.2,7.6-7.6C336.712,178.4,293.512,135.2,240.312,135.2z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M308.312,417.6c0-10.4-8.4-18.4-18.4-18.4h-98.8c-10.4,0-18.4,8.4-18.4,18.4\n c0,10.4,8.4,18.4,18.4,18.4h98.4C299.912,436,308.312,428,308.312,417.6z M289.512,420.8h-98.4c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h98.4c2,0,3.2,1.6,3.2,3.2C293.112,419.6,291.512,420.8,289.512,420.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M275.112,444h-69.2c-10.4,0-18.4,8.4-18.4,18.4c0,10.4,8.4,18.4,18.4,18.4h69.2\n c10.4,0,18.4-8.4,18.4-18.4C293.512,452.4,285.112,444,275.112,444z M275.112,465.6h-69.2c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h69.2c2,0,3.2,1.6,3.2,3.2C278.312,464.4,277.112,465.6,275.112,465.6z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M247.912,58.8V7.6c0-4-3.2-7.6-7.6-7.6c-4,0-7.6,3.2-7.6,7.6v51.6c0,4,3.2,7.6,7.6,7.6\n C244.712,66.4,247.912,63.2,247.912,58.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M366.312,38c-3.6-2.4-8-1.2-10.4,2l-28.4,42.8c-2.4,3.6-1.2,8,2,10.4c1.2,0.8,2.8,1.2,4,1.2\n c2.4,0,4.8-1.2,6.4-3.2l28.4-42.8C370.712,45.2,369.512,40.4,366.312,38z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M149.912,92.8c1.2,0,2.8-0.4,4-1.2c3.6-2.4,4.4-6.8,2.4-10.4l-27.6-43.2c-2.4-3.6-6.8-4.4-10.4-2.4\n c-3.6,2.4-4.4,6.8-2.4,10.4l27.6,43.2C145.112,91.6,147.512,92.8,149.912,92.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M43.912,128.8l45.2,24.4c1.2,0.8,2.4,0.8,3.6,0.8c2.8,0,5.2-1.6,6.8-4c2-3.6,0.8-8.4-3.2-10.4\n l-45.2-24.4c-3.6-2-8.4-0.8-10.4,3.2C39.112,122.4,40.312,126.8,43.912,128.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M387.912,154.4c1.2,0,2.4-0.4,3.6-0.8l45.2-24.4c3.6-2,5.2-6.4,3.2-10.4c-2-3.6-6.4-5.2-10.4-3.2\n l-45.2,24.4c-3.6,2-5.2,6.4-3.2,10.4C382.312,152.8,385.112,154.4,387.912,154.4z\"\n />\n </g>\n </svg>\n <p>\n There are multiple ways to create a policy on VComply. You can either\n draft it from scratch using VComply's online editor or upload an\n existing DOCX or PDF file.\n </p>\n </div>\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'draft'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('draft')\"\n [checked]=\"selectedDocumentType === 'draft'\"\n />\n <svg id=\"Draft\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20402\" data-name=\"Path 20402\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#565a6f\"/>\n <path id=\"Path_20403\" data-name=\"Path 20403\" d=\"M21.884,8.51,10.549,10.384,12.426,21.06l4.38-.61a.333.333,0,0,1,.326.435c-.051.219-.338.235-.514.267-1.474.266-3.009.388-4.491.631-.416-.032-.321-.718-.441-1l-3-.365c-.213-.12-.2-.273-.2-.492.019-.622.092-1.251.125-1.872.16-3,.316-6,.5-8.993A9.457,9.457,0,0,1,9.152,8.1a.369.369,0,0,1,.265-.3l8.519.681L22.2,7.8c.225.068.246.19.3.393.553,2.288.758,4.775,1.285,7.083.143.531-.507.731-.642.2ZM17.211,21.932a.563.563,0,0,0-.072.24,8.549,8.549,0,0,0,0,1.187c.019.217.088.393.328.421a9.138,9.138,0,0,0,1.448-.021.53.53,0,0,0,.122-.065l3.756-3.771L21,18.13Zm5.329-5.35c-.365.286-.7.757-1.061,1.062L23.3,19.437c.3-.35.777-.687,1.05-1.044.15-.2.174-.312.017-.516a13.851,13.851,0,0,0-1.327-1.327.393.393,0,0,0-.23-.1.476.476,0,0,0-.271.13\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\"><strong>Create</strong> a Policy</div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\"></i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n </label>\n\n \n <label\n *ngIf=\"ff_policy_ms_word_integration\"\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'word'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('word')\"\n [checked]=\"selectedDocumentType === 'word'\"\n />\n <svg id=\"Word-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20404\" data-name=\"Path 20404\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#1e5dd3\"/>\n <path id=\"Path_20405\" data-name=\"Path 20405\" d=\"M10.419,9.718l1.889,9.121L12.44,20l.132-.885,2.152-9.4,2.626.018,2.187,9.106.174,1.132a13.4,13.4,0,0,1,.174-1.352c.5-2.954,1.188-5.88,1.7-8.832l.04-.07H24L21.085,22.281l-2.818-.026L15.931,12.22l-.16,1.077-2.015,8.986-2.829-.028L8,9.718Z\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">{{createWordPolicyText}}</div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\"></i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n </label>\n\n\n\n <label\n class=\"document-box\"\n *ngIf=\"showDocxBlock\"\n [class.active]=\"selectedDocumentType == 'docx' && !docxError?.visible\"\n [class.error]=\"docxError?.visible\"\n >\n <input\n type=\"file\"\n accept=\".docx\"\n id=\"DOCfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #docxUploadButton\n />\n <svg id=\"Word-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20404\" data-name=\"Path 20404\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#1e5dd3\"/>\n <path id=\"Path_20405\" data-name=\"Path 20405\" d=\"M10.419,9.718l1.889,9.121L12.44,20l.132-.885,2.152-9.4,2.626.018,2.187,9.106.174,1.132a13.4,13.4,0,0,1,.174-1.352c.5-2.954,1.188-5.88,1.7-8.832l.04-.07H24L21.085,22.281l-2.818-.026L15.931,12.22l-.16,1.077-2.015,8.986-2.829-.028L8,9.718Z\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'docx' && filename)\"\n >Upload a <strong>DOCX</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'docx' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"error-msg-text\" *ngIf=\"docxError?.visible\">\n {{ docxError?.message }}\n </div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\"></i>\n <div class=\"check-circle\" *ngIf=\"!docxError?.visible\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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 <i class=\"icons error-icon\" *ngIf=\"docxError?.visible\"></i>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'docx' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <label\n class=\"document-box\"\n *ngIf=\"showPdfBlock\"\n [class.active]=\"selectedDocumentType == 'pdf'\"\n >\n <input\n type=\"file\"\n accept=\".pdf\"\n id=\"PDFfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #pdfUploadButton\n />\n <svg id=\"PDF-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20408\" data-name=\"Path 20408\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#a82a1d\"/>\n <path id=\"Path_20409\" data-name=\"Path 20409\" d=\"M16.125,13.778A1.39,1.39,0,0,0,16.285,15a16.106,16.106,0,0,0,2.106,2.554c.312-.045.6-.047,1.2-.092a6.964,6.964,0,0,1,3.616.239,1.31,1.31,0,0,1,.784,1.361,1.176,1.176,0,0,1-1.075.981c-2.224.336-3.305-.9-4.579-1.746a2.094,2.094,0,0,0-.812.021,25.782,25.782,0,0,0-3.412.916c-.253.089-.338.3-.533.609a11.062,11.062,0,0,1-2.82,3.427,2.145,2.145,0,0,1-1.861.445c-1-.222-1.178-1.182-.5-1.942A9.452,9.452,0,0,1,10,20.462a14.714,14.714,0,0,1,2.418-1.109c.491-.461.556-.686.966-1.764.431-1.136.922-2.25,1.324-3.4a1.679,1.679,0,0,0-.035-1.062,7.7,7.7,0,0,1-.638-3.476,1.4,1.4,0,0,1,.959-1.393,1.279,1.279,0,0,1,1.464.8c.2.479.552,1.75-.331,4.728m-.377,1.377-1.418,3.422,3.353-.883-1.935-2.539m3.222,2.882A4.5,4.5,0,0,0,21.92,19.37c.377,0,.714-.131.733-.6.051-1.251-2.656-.864-3.682-.73m-6.96,2.037a9.788,9.788,0,0,0-2.975,1.8c-.218.171-.446.718-.282.984s.81.067,1-.12a9.29,9.29,0,0,0,2.253-2.664m3.246-7.243c-.045-.878.461-2.172.437-3.224-.008-.355-.051-.747-.5-.772-.364-.02-.534.476-.569.762a5.8,5.8,0,0,0,.636,3.234\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'pdf' && filename)\"\n >Upload a <strong>PDF</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'pdf' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\"></i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'pdf' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <!-- Select a template -->\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType === 'template'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('template')\"\n [checked]=\"selectedDocumentType === 'template'\"\n />\n <svg id=\"TMP-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20406\" data-name=\"Path 20406\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#34aa44\"/>\n <path id=\"Path_20410\" data-name=\"Path 20410\" d=\"M16,1.778V3.555H0V1.778A1.783,1.783,0,0,1,1.778,0H14.223A1.783,1.783,0,0,1,16,1.778M0,4.444H16v8.889a1.778,1.778,0,0,1-1.777,1.778H1.778A1.778,1.778,0,0,1,0,13.333ZM6.99,9.928A.891.891,0,0,0,6.1,9.039H3.642a.891.891,0,0,0-.888.889v2.456a.891.891,0,0,0,.888.889H6.1a.891.891,0,0,0,.888-.889Zm6.306,0a.892.892,0,0,0-.889-.889H9.948a.891.891,0,0,0-.888.889v2.456a.891.891,0,0,0,.888.889h2.459a.892.892,0,0,0,.889-.889ZM2.667,7.111A.889.889,0,0,0,3.556,8h8.889a.889.889,0,0,0,0-1.778H3.556a.889.889,0,0,0-.889.889\" transform=\"translate(8 7.999)\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">Draft Using a <strong>Template</strong></div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\"></i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n </label>\n <!-- End Select a template -->\n <app-loader-inline *ngIf=\"isLoader\"></app-loader-inline>\n </div>\n</div>\n<div class=\"bottom-button\" [class.grayscale]=\"isTemplateOpened\">\n <button\n type=\"button\"\n (click)=\"editPolicyEmit()\"\n class=\"back\"\n [class.disabled]=\"isTemplateOpened\"\n >\n <i class=\"icons\"></i> Back\n </button>\n <button\n type=\"button\"\n (click)=\"editor(selectedDocumentType)\"\n class=\"next\"\n [class.disabled]=\"!selectedDocumentType || isTemplateOpened || isLoader\"\n >\n Next <i class=\"icons\"></i>\n </button>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .document-section{display:flex;align-items:center;height:calc(100vh - 50px);position:absolute;top:0;right:0;background:#fff;z-index:10;padding:50px;width:100%;overflow:hidden;overflow-y:scroll}@media screen and (max-width: 1365px){::ng-deep .document-section{align-items:unset}}::ng-deep .document-section.grayscale{filter:grayscale(1)!important;pointer-events:none!important}::ng-deep .document-section-inner .message-box{background:#fbfbfb;border-radius:4px;border:1px solid #f1f1f1;padding:16px 8px 12px 16px;margin-bottom:20px;display:flex;align-items:flex-start}::ng-deep .document-section-inner .message-box svg{background:#fff;width:33px;min-width:33px;border-radius:4px;box-shadow:0 3px 6px #1e5dd333;margin-right:12px;padding:4px}::ng-deep .document-section-inner .message-box p{font-size:12px;font-weight:500;color:#787a8c;margin:0}::ng-deep .document-section-inner .document-box{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:1px solid #CDCED6;border-radius:8px;width:100%;background:transparent;height:64px;padding:0 16px;margin-bottom:8px}::ng-deep .document-section-inner .document-box.error{border:1px solid #dbdbdb}::ng-deep .document-section-inner .document-box input{width:100%;position:absolute;inset:0;margin:0;padding:0;z-index:1;opacity:0;height:100%;pointer-events:none}::ng-deep .document-section-inner .document-box svg.doc-svg{width:82px}::ng-deep .document-section-inner .document-box .label-right{width:calc(100% - 64px);display:flex;align-items:center;justify-content:center;position:relative}::ng-deep .document-section-inner .document-box .label-right .value{font-size:16px;font-weight:500;line-height:24px;color:#000;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word;width:270px;margin-right:25px}::ng-deep .document-section-inner .document-box .label-right .value strong{font-weight:500}::ng-deep .document-section-inner .document-box .label-right .error-msg-text{color:#d93b41;font-size:10px;position:absolute;top:24px;left:0;right:0;width:250px}::ng-deep .document-section-inner .document-box .label-right .check-circle{display:none;width:16px;height:16px;position:absolute;right:8px;top:2px}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon{width:16px;height:16px;background:#ddf4e0;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-right:10px;position:static}::ng-deep .document-section-inner .document-box .label-right .check-circle .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}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .document-section-inner .document-box .label-right .error-icon{color:#d93b41;font-size:16px;position:relative;top:0;right:8px}::ng-deep .document-section-inner .document-box.active{background:#ddf4e0;border:1px solid #B7E2BD}::ng-deep .document-section-inner .document-box.active .document-box-icon{display:none}::ng-deep .document-section-inner .document-box.active .label-right .check-circle{display:block}::ng-deep .document-section-inner .document-box.error{background:#ffeaea;border:1px solid #d93b41}::ng-deep .document-section-inner .document-box-icon{color:#565a6f}.bottom-button{background:#fff;display:flex;align-items:center;position:absolute;bottom:0;right:0;width:100%;z-index:10}.bottom-button button{background:#1e5dd3;border:none;border-radius:0;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;width:100%;padding:0;position:relative;margin:0!important;height:50px;display:flex;align-items:center;justify-content:center;line-height:19px;letter-spacing:3.08px;outline:none}.bottom-button button i{position:absolute;top:16px;font-size:18px;font-weight:500}.bottom-button button.next i{right:16px}.bottom-button button.disabled{pointer-events:none!important;opacity:.3!important;filter:grayscale(1)!important}.bottom-button button.back{background:#f1f1f1;color:#1e5dd3}.bottom-button button.back i{left:16px}.line-progress{position:absolute;left:0;top:0;height:2px;display:block;width:100%;background-color:#d4e2fc;background-clip:padding-box;overflow:hidden}.line-progress-bar{bottom:0;width:40%;background:#34aa44;border-radius:5px;display:inline-block;position:absolute;animation:linear infinite;animation-name:run;animation-duration:1s;top:0}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes run{0%{left:0}50%{left:60%}to{left:0}}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.LoaderInlineComponent, selector: "app-loader-inline" }] }); }
|
|
200
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DocumentSectionComponent, deps: [{ token: i1.SnackBarService }, { token: i2.PolicyService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.PlatformLocation }, { token: i5.IframeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
201
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DocumentSectionComponent, selector: "lib-document-section", inputs: { selectedDocumentType: "selectedDocumentType", templateView: "templateView", policyId: "policyId", policyName: "policyName", organization_id: "organization_id", member_obj_id: "member_obj_id", userInfo: "userInfo", templateUrl: "templateUrl", isTemplateOpened: "isTemplateOpened" }, outputs: { disconnectRefresh: "disconnectRefresh", editPolicy: "editPolicy", openTemplate: "openTemplate" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"document-section\" [class.grayscale]=\"isTemplateOpened\">\n <div class=\"document-section-inner\">\n <div class=\"message-box\">\n <svg\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 480.8 480.8\"\n style=\"enable-background: new 0 0 480.8 480.8\"\n xml:space=\"preserve\"\n >\n <path\n style=\"fill: #ffd517\"\n d=\"M317.112,314.4c-22.4,22.4-19.6,67.6-19.6,67.6h-113.6c0,0,2.4-45.2-19.6-67.6\n c-24.4-21.6-40-52.8-40-87.6c0-64,52-116,116-116s116,52,116,116C356.312,261.6,341.112,292.8,317.112,314.4L317.112,314.4z\"\n />\n <g>\n <path\n style=\"fill: #e5e5e5\"\n d=\"M300.712,417.6c0,6-4.8,10.8-10.8,10.8h-98.8c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h98.4C295.512,406.8,300.712,411.6,300.712,417.6L300.712,417.6z\"\n />\n <path\n style=\"fill: #e5e5e5\"\n d=\"M285.912,462.4c0,6-4.8,10.8-10.8,10.8h-69.2c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h69.2C281.112,451.6,285.912,456.4,285.912,462.4L285.912,462.4z\"\n />\n </g>\n <g>\n <path\n style=\"fill: #210b20\"\n d=\"M323.112,318.4c26-23.6,40.8-56.8,40.8-91.6c0-68-55.6-123.6-123.6-123.6s-123.6,55.6-123.6,123.6\n c0,35.6,15.6,69.6,42,92.8c19.6,19.6,17.6,61.2,17.6,61.6c0,2,0.8,4,2,5.6c1.6,1.6,3.6,2.4,5.6,2.4h113.2c2,0,4-0.8,5.6-2.4\n s2-3.6,2-5.6c0-0.4-2-42,17.6-61.6C322.712,319.2,323.112,318.8,323.112,318.4z M311.912,308.4c-0.8,0.4-1.2,1.2-1.6,2\n c-17.6,18.8-20.4,49.6-20.8,64h-98c-0.4-14.8-3.6-46.8-22.4-65.6c-23.6-20.8-37.2-50.4-37.2-81.6c0-60,48.8-108.4,108.4-108.4\n c60,0,108.4,48.8,108.4,108.4C348.712,258,335.512,288,311.912,308.4z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M240.312,135.2c-4,0-7.6,3.2-7.6,7.6c0,4,3.2,7.6,7.6,7.6c44.8,0,81.2,36.4,81.2,81.2\n c0,4,3.2,7.6,7.6,7.6c4,0,7.6-3.2,7.6-7.6C336.712,178.4,293.512,135.2,240.312,135.2z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M308.312,417.6c0-10.4-8.4-18.4-18.4-18.4h-98.8c-10.4,0-18.4,8.4-18.4,18.4\n c0,10.4,8.4,18.4,18.4,18.4h98.4C299.912,436,308.312,428,308.312,417.6z M289.512,420.8h-98.4c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h98.4c2,0,3.2,1.6,3.2,3.2C293.112,419.6,291.512,420.8,289.512,420.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M275.112,444h-69.2c-10.4,0-18.4,8.4-18.4,18.4c0,10.4,8.4,18.4,18.4,18.4h69.2\n c10.4,0,18.4-8.4,18.4-18.4C293.512,452.4,285.112,444,275.112,444z M275.112,465.6h-69.2c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h69.2c2,0,3.2,1.6,3.2,3.2C278.312,464.4,277.112,465.6,275.112,465.6z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M247.912,58.8V7.6c0-4-3.2-7.6-7.6-7.6c-4,0-7.6,3.2-7.6,7.6v51.6c0,4,3.2,7.6,7.6,7.6\n C244.712,66.4,247.912,63.2,247.912,58.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M366.312,38c-3.6-2.4-8-1.2-10.4,2l-28.4,42.8c-2.4,3.6-1.2,8,2,10.4c1.2,0.8,2.8,1.2,4,1.2\n c2.4,0,4.8-1.2,6.4-3.2l28.4-42.8C370.712,45.2,369.512,40.4,366.312,38z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M149.912,92.8c1.2,0,2.8-0.4,4-1.2c3.6-2.4,4.4-6.8,2.4-10.4l-27.6-43.2c-2.4-3.6-6.8-4.4-10.4-2.4\n c-3.6,2.4-4.4,6.8-2.4,10.4l27.6,43.2C145.112,91.6,147.512,92.8,149.912,92.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M43.912,128.8l45.2,24.4c1.2,0.8,2.4,0.8,3.6,0.8c2.8,0,5.2-1.6,6.8-4c2-3.6,0.8-8.4-3.2-10.4\n l-45.2-24.4c-3.6-2-8.4-0.8-10.4,3.2C39.112,122.4,40.312,126.8,43.912,128.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M387.912,154.4c1.2,0,2.4-0.4,3.6-0.8l45.2-24.4c3.6-2,5.2-6.4,3.2-10.4c-2-3.6-6.4-5.2-10.4-3.2\n l-45.2,24.4c-3.6,2-5.2,6.4-3.2,10.4C382.312,152.8,385.112,154.4,387.912,154.4z\"\n />\n </g>\n </svg>\n <p>\n There are multiple ways to create a policy on VComply. You can either\n draft it from scratch using VComply\u2019s online editor or upload an\n existing DOCX or PDF file.\n </p>\n </div>\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'draft'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('draft')\"\n [checked]=\"selectedDocumentType === 'draft'\"\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .p1 {\n fill: #f8f8f8;\n }\n .p2 {\n fill: #747576;\n }\n .p3 {\n fill: #bdbdbd;\n }\n .p4 {\n fill: #dbdbdb;\n }\n .p5 {\n fill: #1e5dd3;\n }\n .p6 {\n fill: #ffffff;\n }\n </style>\n <path\n class=\"p1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <image\n style=\"overflow: visible\"\n width=\"1920\"\n height=\"1080\"\n xlink:href=\"94778146.jpg\"\n transform=\"matrix(1 0 0 1 -8160 -8160)\"\n ></image>\n <path class=\"p2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"p3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"p6\"\n d=\"M24.6,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C24.9,16,24.8,16.5,24.6,16.9z M23.3,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5h-0.8v3.7h0.8C22.5,17.2,23,17.1,23.3,16.8z\"\n />\n <path\n class=\"p6\"\n d=\"M28.7,18.2L27.4,16h-0.5v2.2h-1.1v-5.6h2.2c0.7,0,1.2,0.2,1.5,0.5s0.5,0.7,0.5,1.3c0,0.4-0.1,0.8-0.4,1.1\n s-0.6,0.5-1,0.6l1.4,2.3H28.7z M26.9,15.3h0.9c0.6,0,1-0.3,1-0.9c0-0.3-0.1-0.5-0.2-0.6c-0.2-0.2-0.4-0.2-0.7-0.2h-0.9V15.3z\"\n />\n <path\n class=\"p6\"\n d=\"M34.1,17.1h-2.3l-0.4,1.1h-1.2l2.1-5.6h1.3l2.1,5.6h-1.2L34.1,17.1z M33.8,16.3L33,13.9l-0.8,2.4H33.8z\"\n />\n <path\n class=\"p6\"\n d=\"M39.8,12.6v0.9h-2.4V15h1.9v0.9h-1.9v2.4h-1.1v-5.6H39.8z\"\n />\n <path\n class=\"p6\"\n d=\"M44.4,12.6v0.9h-1.6v4.8h-1.1v-4.8h-1.6v-0.9H44.4z\"\n />\n </g>\n <path\n class=\"p5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <g>\n <path\n class=\"p6\"\n d=\"M36.1,40.8l-5.8,5.8L28,44.4l5.8-5.8c0.2-0.2,0.4-0.2,0.6,0l1.7,1.7C36.2,40.4,36.2,40.7,36.1,40.8z\"\n />\n <path\n class=\"p6\"\n d=\"M36.8,38c-0.5-0.5-1.3-0.5-1.7,0l-0.4,0.3c0,0,0.1,0,0.1,0.1l1.7,1.7c0,0,0,0.1,0.1,0.1l0.4-0.4\n c0.2-0.2,0.4-0.5,0.4-0.9C37.1,38.5,37,38.2,36.8,38L36.8,38z\"\n />\n <path\n class=\"p6\"\n d=\"M27.9,44.9l-1,2.6c-0.1,0.1,0,0.2,0.1,0.4c0.1,0.1,0.1,0.1,0.2,0.1c0.1,0,0.1,0,0.1,0l2.6-1L27.9,44.9z\"\n />\n <path\n class=\"p6\"\n d=\"M30.2,41.3c0.1,0,0.2-0.1,0.2-0.1l2.2-2.2c0.1-0.1,0.3-0.1,0.4-0.1l0.5-0.5c-0.4-0.3-0.9-0.3-1.3,0.1L30,40.7\n c-0.1,0.1-0.1,0.4,0,0.5C30,41.2,30,41.3,30.2,41.3L30.2,41.3z\"\n />\n </g>\n </svg>\n <div class=\"label-right\">\n <div class=\"value\"><strong>Create</strong> a Policy</div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n </label>\n <!-- Select a template -->\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType === 'template'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('template')\"\n [checked]=\"selectedDocumentType === 'template'\"\n />\n <svg\n class=\"doc-svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50.455\"\n height=\"70.652\"\n viewBox=\"0 0 50.455 70.652\"\n >\n <g id=\"TemplateIcon\" transform=\"translate(-12 -3.985)\">\n <path\n id=\"Path_290\"\n data-name=\"Path 290\"\n d=\"M62.451,19.4V72.11a2.522,2.522,0,0,1-2.523,2.523H14.523A2.522,2.522,0,0,1,12,72.11V6.523A2.522,2.522,0,0,1,14.523,4H47.157\"\n transform=\"translate(0 0.004)\"\n fill=\"#f8f8f8\"\n />\n <path\n id=\"Path_291\"\n data-name=\"Path 291\"\n d=\"M62.451,14.092V29.226H12V6.523A2.522,2.522,0,0,1,14.523,4H52.362\"\n transform=\"translate(0 0.004)\"\n fill=\"#34aa44\"\n />\n <path\n id=\"Path_292\"\n data-name=\"Path 292\"\n d=\"M43.95,3.985v8.457a1.689,1.689,0,0,0,1.689,1.688h8.467\"\n transform=\"translate(8.349 0)\"\n fill=\"#97d2a0\"\n />\n <g\n id=\"Group_540\"\n data-name=\"Group 540\"\n transform=\"translate(18.12 34.45)\"\n >\n <path\n id=\"Path_293\"\n data-name=\"Path 293\"\n d=\"M53.866,30.662H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -28.139)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_541\"\n data-name=\"Group 541\"\n transform=\"translate(18.12 40.012)\"\n >\n <path\n id=\"Path_294\"\n data-name=\"Path 294\"\n d=\"M53.866,35.071H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -32.548)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_542\"\n data-name=\"Group 542\"\n transform=\"translate(18.12 45.573)\"\n >\n <path\n id=\"Path_295\"\n data-name=\"Path 295\"\n d=\"M53.866,39.48H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -36.957)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_543\"\n data-name=\"Group 543\"\n transform=\"translate(18.12 51.134)\"\n >\n <path\n id=\"Path_296\"\n data-name=\"Path 296\"\n d=\"M53.866,43.889H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,1,1,0,2.523Z\"\n transform=\"translate(-16.852 -41.366)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_544\"\n data-name=\"Group 544\"\n transform=\"translate(18.12 56.695)\"\n >\n <path\n id=\"Path_297\"\n data-name=\"Path 297\"\n d=\"M53.866,48.3H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -45.775)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_545\"\n data-name=\"Group 545\"\n transform=\"translate(18.12 62.257)\"\n >\n <path\n id=\"Path_298\"\n data-name=\"Path 298\"\n d=\"M53.866,52.708H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -50.185)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_546\"\n data-name=\"Group 546\"\n transform=\"translate(18.12 67.818)\"\n >\n <path\n id=\"Path_299\"\n data-name=\"Path 299\"\n d=\"M53.866,57.117H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -54.594)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <path\n id=\"Path_305\"\n data-name=\"Path 305\"\n d=\"M34.45,33.149A11.826,11.826,0,1,0,46.276,44.975,11.826,11.826,0,0,0,34.45,33.149Z\"\n transform=\"translate(2.776 7.835)\"\n fill=\"#c7381b\"\n />\n <path\n id=\"Path_4841\"\n data-name=\"Path 4841\"\n d=\"M41.159,43.359l-7.2-7.207a.514.514,0,0,0-.727,0l-7.2,7.207a.52.52,0,0,0-.15.365.512.512,0,0,0,.515.513H30v7.705a.514.514,0,0,0,.513.515h6.17a.514.514,0,0,0,.515-.515V44.237h3.6a.514.514,0,0,0,.362-.878Z\"\n transform=\"translate(3.629 8.983)\"\n fill=\"#fafafa\"\n />\n <text\n id=\"TMP\"\n transform=\"translate(25.999 21.984)\"\n fill=\"#fff\"\n font-size=\"11\"\n font-family=\"Poppins-SemiBold, Poppins\"\n font-weight=\"600\"\n >\n <tspan x=\"0\" y=\"0\">TMP</tspan>\n </text>\n </g>\n </svg>\n\n <div class=\"label-right\">\n <div class=\"value\">Draft Using a <strong>Template</strong></div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n </label>\n <!-- End Select a template -->\n <label\n class=\"document-box\"\n *ngIf=\"showDocxBlock\"\n [class.active]=\"selectedDocumentType == 'docx' && !docxError?.visible\"\n [class.error]=\"docxError?.visible\"\n >\n <input\n type=\"file\"\n accept=\".docx\"\n id=\"DOCfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #docxUploadButton\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .d1 {\n fill: #f8f8f8;\n }\n .d2 {\n fill: #337dbe;\n }\n .d3 {\n fill: #3c92df;\n }\n .d4 {\n fill: #dbdbdb;\n }\n .d5 {\n fill: #f2bf19;\n }\n .d6 {\n fill: #fafafa;\n }\n </style>\n <path\n class=\"d1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <path class=\"d2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"d3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"d1\"\n d=\"M25.4,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C25.7,16,25.6,16.5,25.4,16.9z M24.1,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5h-0.8v3.7h0.8C23.3,17.2,23.8,17.1,24.1,16.8z\"\n />\n <path\n class=\"d1\"\n d=\"M30.7,12.9c0.4,0.2,0.8,0.6,1,1s0.4,0.9,0.4,1.5s-0.1,1.1-0.4,1.5c-0.2,0.4-0.6,0.8-1,1\n c-0.4,0.2-0.9,0.4-1.4,0.4c-0.5,0-1-0.1-1.4-0.4c-0.4-0.2-0.8-0.6-1-1c-0.2-0.4-0.4-0.9-0.4-1.5s0.1-1.1,0.4-1.5s0.6-0.8,1-1\n c0.4-0.2,0.9-0.4,1.4-0.4C29.8,12.5,30.2,12.6,30.7,12.9z M28.4,13.8c-0.3,0.1-0.4,0.4-0.6,0.6c-0.1,0.3-0.2,0.6-0.2,1\n c0,0.4,0.1,0.7,0.2,1c0.1,0.3,0.3,0.5,0.6,0.6c0.3,0.1,0.5,0.2,0.9,0.2c0.3,0,0.6-0.1,0.9-0.2c0.3-0.1,0.4-0.4,0.6-0.6\n c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1c-0.1-0.3-0.3-0.5-0.6-0.6c-0.3-0.1-0.5-0.2-0.9-0.2C28.9,13.6,28.6,13.6,28.4,13.8z\"\n />\n <path\n class=\"d1\"\n d=\"M37.2,13.1c0.5,0.4,0.8,0.9,0.9,1.5H37c-0.1-0.3-0.3-0.5-0.6-0.7c-0.3-0.2-0.6-0.3-0.9-0.3\n c-0.3,0-0.6,0.1-0.8,0.2s-0.4,0.4-0.6,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.4,0.1,0.7,0.2,1c0.1,0.3,0.3,0.5,0.6,0.6s0.5,0.2,0.8,0.2\n c0.4,0,0.7-0.1,0.9-0.3c0.3-0.2,0.4-0.4,0.6-0.7h1.2c-0.1,0.6-0.5,1.1-0.9,1.5c-0.5,0.4-1,0.5-1.8,0.5c-0.5,0-1-0.1-1.4-0.4\n c-0.4-0.2-0.7-0.6-1-1c-0.2-0.4-0.3-0.9-0.3-1.5c0-0.6,0.1-1.1,0.3-1.5c0.2-0.4,0.5-0.8,1-1c0.4-0.2,0.9-0.4,1.4-0.4\n C36.2,12.5,36.8,12.7,37.2,13.1z\"\n />\n <path\n class=\"d1\"\n d=\"M42.3,18.2L41,16.3l-1.1,1.9h-1.3l1.8-2.9l-1.8-2.8h1.3l1.2,1.9l1.1-1.9h1.3l-1.8,2.8l1.9,2.8H42.3z\"\n />\n </g>\n <path\n class=\"d5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <path\n class=\"d6\"\n d=\"M38,41.8l-5.7-5.7c-0.2-0.2-0.4-0.2-0.6,0L26,41.8c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.2,0.2,0.4,0.4,0.4h2.9v6.1\n c0,0.2,0.2,0.4,0.4,0.4h4.9c0.2,0,0.4-0.2,0.4-0.4v-6.1h2.9c0.2,0,0.3-0.1,0.4-0.3C38.1,42.1,38.1,42,38,41.8z\"\n />\n </svg>\n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'docx' && filename)\"\n >Upload a <strong>DOCX</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'docx' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"error-msg-text\" *ngIf=\"docxError?.visible\">\n {{ docxError?.message }}\n </div>\n <div class=\"check-circle\" *ngIf=\"!docxError?.visible\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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 <i class=\"icons error-icon\" *ngIf=\"docxError?.visible\"></i>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'docx' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <label\n class=\"document-box\"\n *ngIf=\"showPdfBlock\"\n [class.active]=\"selectedDocumentType == 'pdf'\"\n >\n <input\n type=\"file\"\n accept=\".pdf\"\n id=\"PDFfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #pdfUploadButton\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .pd1 {\n fill: #f8f8f8;\n }\n .pd2 {\n fill: #ee3939;\n }\n .pd3 {\n fill: #f95858;\n }\n .pd4 {\n fill: #dbdbdb;\n }\n .pd5 {\n fill: #34aa44;\n }\n .pd6 {\n fill: #fafafa;\n }\n </style>\n <path\n class=\"pd1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <path class=\"pd2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"pd3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"pd1\"\n d=\"M26.2,16.2v2.1h-1.1v-5.6h2.1c0.7,0,1.2,0.2,1.5,0.5c0.3,0.3,0.5,0.8,0.5,1.3c0,0.5-0.2,1-0.5,1.3\n c-0.3,0.3-0.8,0.5-1.5,0.5H26.2z M28,14.4c0-0.3-0.1-0.5-0.2-0.6c-0.2-0.1-0.4-0.2-0.8-0.2h-0.8v1.7H27C27.7,15.2,28,15,28,14.4z\"\n />\n <path\n class=\"pd1\"\n d=\"M34.5,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C34.8,16,34.7,16.5,34.5,16.9z M33.2,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5H31v3.7h0.8C32.4,17.2,32.9,17.1,33.2,16.8z\"\n />\n <path\n class=\"pd1\"\n d=\"M39.2,12.6v0.9h-2.4V15h1.9v0.9h-1.9v2.4h-1.1v-5.6H39.2z\"\n />\n </g>\n <path\n class=\"pd5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <path\n class=\"pd6\"\n d=\"M38,41.8l-5.7-5.7c-0.2-0.2-0.4-0.2-0.6,0L26,41.8c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.2,0.2,0.4,0.4,0.4h2.9v6.1\n c0,0.2,0.2,0.4,0.4,0.4h4.9c0.2,0,0.4-0.2,0.4-0.4v-6.1h2.9c0.2,0,0.3-0.1,0.4-0.3C38.1,42.1,38.1,42,38,41.8z\"\n />\n </svg>\n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'pdf' && filename)\"\n >Upload a <strong>PDF</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'pdf' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'pdf' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n </div>\n</div>\n<div class=\"bottom-button\" [class.grayscale]=\"isTemplateOpened\">\n <button\n type=\"button\"\n (click)=\"editPolicyEmit()\"\n class=\"back\"\n [class.disabled]=\"isTemplateOpened\"\n >\n <i class=\"icons\"></i> Back\n </button>\n <button\n type=\"button\"\n (click)=\"editor(selectedDocumentType)\"\n class=\"next\"\n [class.disabled]=\"!selectedDocumentType || isTemplateOpened\"\n >\n Next <i class=\"icons\"></i>\n </button>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .document-section{display:flex;align-items:center;height:calc(100vh - 50px);position:absolute;top:0;right:0;background:#fff;z-index:10;padding:50px;width:100%;overflow:hidden;overflow-y:scroll}@media screen and (max-width: 1365px){::ng-deep .document-section{align-items:unset}}::ng-deep .document-section.grayscale{filter:grayscale(1)!important;pointer-events:none!important}::ng-deep .document-section-inner .message-box{background:#fbfbfb;border-radius:4px;border:1px solid #f1f1f1;padding:16px 8px 12px 16px;margin-bottom:20px;display:flex;align-items:flex-start}::ng-deep .document-section-inner .message-box svg{background:#fff;width:33px;min-width:33px;border-radius:4px;box-shadow:0 3px 6px #1e5dd333;margin-right:12px;padding:4px}::ng-deep .document-section-inner .message-box p{font-size:12px;font-weight:500;color:#747576;margin:0}::ng-deep .document-section-inner .document-box{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:1px solid #dbdbdb;border-radius:4px;width:100%;background:transparent;height:100px;margin-bottom:8px}::ng-deep .document-section-inner .document-box.error{border:1px solid #dbdbdb}::ng-deep .document-section-inner .document-box input{width:100%;position:absolute;inset:0;margin:0;padding:0;z-index:1;opacity:0;height:100%;pointer-events:none}::ng-deep .document-section-inner .document-box svg.doc-svg{width:82px}::ng-deep .document-section-inner .document-box .label-right{width:calc(100% - 82px);display:flex;align-items:center;justify-content:center;position:relative}::ng-deep .document-section-inner .document-box .label-right .value{font-size:16px;line-height:24px;color:#747576;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word;width:250px;margin-right:35px;text-align:center}::ng-deep .document-section-inner .document-box .label-right .value strong{font-weight:500}::ng-deep .document-section-inner .document-box .label-right .error-msg-text{color:#d93b41;font-size:10px;position:absolute;top:28px;left:0;right:0;text-align:center;width:250px}::ng-deep .document-section-inner .document-box .label-right .check-circle{display:none;width:32px;height:32px;position:absolute;right:14px;top:-3px}::ng-deep .document-section-inner .document-box .label-right .check-circle .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-right:10px;position:static}::ng-deep .document-section-inner .document-box .label-right .check-circle .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}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .document-section-inner .document-box .label-right .error-icon{color:#d93b41;font-size:32px;position:relative;top:-4px;right:14px}::ng-deep .document-section-inner .document-box.active{background:#eefcf0;border:1px solid #34aa44}::ng-deep .document-section-inner .document-box.active .label-right .check-circle{display:block}::ng-deep .document-section-inner .document-box.error{background:#ffeaea;border:1px solid #d93b41}.bottom-button{background:#fff;display:flex;align-items:center;position:absolute;bottom:0;right:0;width:100%;z-index:10}.bottom-button button{background:#1e5dd3;border:none;border-radius:0;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;width:100%;padding:0;position:relative;margin:0!important;height:50px;display:flex;align-items:center;justify-content:center;line-height:19px;letter-spacing:3.08px;outline:none}.bottom-button button i{position:absolute;top:16px;font-size:18px;font-weight:500}.bottom-button button.next i{right:16px}.bottom-button button.disabled{pointer-events:none!important;opacity:.3!important;filter:grayscale(1)!important}.bottom-button button.back{background:#f1f1f1;color:#1e5dd3}.bottom-button button.back i{left:16px}.line-progress{position:absolute;left:0;top:0;height:2px;display:block;width:100%;background-color:#d4e2fc;background-clip:padding-box;overflow:hidden}.line-progress-bar{bottom:0;width:40%;background:#34aa44;border-radius:5px;display:inline-block;position:absolute;animation:linear infinite;animation-name:run;animation-duration:1s;top:0}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes run{0%{left:0}50%{left:60%}to{left:0}}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
231
202
|
}
|
|
232
203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DocumentSectionComponent, decorators: [{
|
|
233
204
|
type: Component,
|
|
234
|
-
args: [{ selector: 'lib-document-section', template: "<div class=\"document-section\" [class.grayscale]=\"isTemplateOpened\">\n <div class=\"document-section-inner\">\n <div class=\"message-box\">\n <svg\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 480.8 480.8\"\n style=\"enable-background: new 0 0 480.8 480.8\"\n xml:space=\"preserve\"\n >\n <path\n style=\"fill: #ffd517\"\n d=\"M317.112,314.4c-22.4,22.4-19.6,67.6-19.6,67.6h-113.6c0,0,2.4-45.2-19.6-67.6\n c-24.4-21.6-40-52.8-40-87.6c0-64,52-116,116-116s116,52,116,116C356.312,261.6,341.112,292.8,317.112,314.4L317.112,314.4z\"\n />\n <g>\n <path\n style=\"fill: #e5e5e5\"\n d=\"M300.712,417.6c0,6-4.8,10.8-10.8,10.8h-98.8c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h98.4C295.512,406.8,300.712,411.6,300.712,417.6L300.712,417.6z\"\n />\n <path\n style=\"fill: #e5e5e5\"\n d=\"M285.912,462.4c0,6-4.8,10.8-10.8,10.8h-69.2c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h69.2C281.112,451.6,285.912,456.4,285.912,462.4L285.912,462.4z\"\n />\n </g>\n <g>\n <path\n style=\"fill: #210b20\"\n d=\"M323.112,318.4c26-23.6,40.8-56.8,40.8-91.6c0-68-55.6-123.6-123.6-123.6s-123.6,55.6-123.6,123.6\n c0,35.6,15.6,69.6,42,92.8c19.6,19.6,17.6,61.2,17.6,61.6c0,2,0.8,4,2,5.6c1.6,1.6,3.6,2.4,5.6,2.4h113.2c2,0,4-0.8,5.6-2.4\n s2-3.6,2-5.6c0-0.4-2-42,17.6-61.6C322.712,319.2,323.112,318.8,323.112,318.4z M311.912,308.4c-0.8,0.4-1.2,1.2-1.6,2\n c-17.6,18.8-20.4,49.6-20.8,64h-98c-0.4-14.8-3.6-46.8-22.4-65.6c-23.6-20.8-37.2-50.4-37.2-81.6c0-60,48.8-108.4,108.4-108.4\n c60,0,108.4,48.8,108.4,108.4C348.712,258,335.512,288,311.912,308.4z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M240.312,135.2c-4,0-7.6,3.2-7.6,7.6c0,4,3.2,7.6,7.6,7.6c44.8,0,81.2,36.4,81.2,81.2\n c0,4,3.2,7.6,7.6,7.6c4,0,7.6-3.2,7.6-7.6C336.712,178.4,293.512,135.2,240.312,135.2z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M308.312,417.6c0-10.4-8.4-18.4-18.4-18.4h-98.8c-10.4,0-18.4,8.4-18.4,18.4\n c0,10.4,8.4,18.4,18.4,18.4h98.4C299.912,436,308.312,428,308.312,417.6z M289.512,420.8h-98.4c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h98.4c2,0,3.2,1.6,3.2,3.2C293.112,419.6,291.512,420.8,289.512,420.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M275.112,444h-69.2c-10.4,0-18.4,8.4-18.4,18.4c0,10.4,8.4,18.4,18.4,18.4h69.2\n c10.4,0,18.4-8.4,18.4-18.4C293.512,452.4,285.112,444,275.112,444z M275.112,465.6h-69.2c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h69.2c2,0,3.2,1.6,3.2,3.2C278.312,464.4,277.112,465.6,275.112,465.6z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M247.912,58.8V7.6c0-4-3.2-7.6-7.6-7.6c-4,0-7.6,3.2-7.6,7.6v51.6c0,4,3.2,7.6,7.6,7.6\n C244.712,66.4,247.912,63.2,247.912,58.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M366.312,38c-3.6-2.4-8-1.2-10.4,2l-28.4,42.8c-2.4,3.6-1.2,8,2,10.4c1.2,0.8,2.8,1.2,4,1.2\n c2.4,0,4.8-1.2,6.4-3.2l28.4-42.8C370.712,45.2,369.512,40.4,366.312,38z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M149.912,92.8c1.2,0,2.8-0.4,4-1.2c3.6-2.4,4.4-6.8,2.4-10.4l-27.6-43.2c-2.4-3.6-6.8-4.4-10.4-2.4\n c-3.6,2.4-4.4,6.8-2.4,10.4l27.6,43.2C145.112,91.6,147.512,92.8,149.912,92.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M43.912,128.8l45.2,24.4c1.2,0.8,2.4,0.8,3.6,0.8c2.8,0,5.2-1.6,6.8-4c2-3.6,0.8-8.4-3.2-10.4\n l-45.2-24.4c-3.6-2-8.4-0.8-10.4,3.2C39.112,122.4,40.312,126.8,43.912,128.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M387.912,154.4c1.2,0,2.4-0.4,3.6-0.8l45.2-24.4c3.6-2,5.2-6.4,3.2-10.4c-2-3.6-6.4-5.2-10.4-3.2\n l-45.2,24.4c-3.6,2-5.2,6.4-3.2,10.4C382.312,152.8,385.112,154.4,387.912,154.4z\"\n />\n </g>\n </svg>\n <p>\n There are multiple ways to create a policy on VComply. You can either\n draft it from scratch using VComply's online editor or upload an\n existing DOCX or PDF file.\n </p>\n </div>\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'draft'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('draft')\"\n [checked]=\"selectedDocumentType === 'draft'\"\n />\n <svg id=\"Draft\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20402\" data-name=\"Path 20402\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#565a6f\"/>\n <path id=\"Path_20403\" data-name=\"Path 20403\" d=\"M21.884,8.51,10.549,10.384,12.426,21.06l4.38-.61a.333.333,0,0,1,.326.435c-.051.219-.338.235-.514.267-1.474.266-3.009.388-4.491.631-.416-.032-.321-.718-.441-1l-3-.365c-.213-.12-.2-.273-.2-.492.019-.622.092-1.251.125-1.872.16-3,.316-6,.5-8.993A9.457,9.457,0,0,1,9.152,8.1a.369.369,0,0,1,.265-.3l8.519.681L22.2,7.8c.225.068.246.19.3.393.553,2.288.758,4.775,1.285,7.083.143.531-.507.731-.642.2ZM17.211,21.932a.563.563,0,0,0-.072.24,8.549,8.549,0,0,0,0,1.187c.019.217.088.393.328.421a9.138,9.138,0,0,0,1.448-.021.53.53,0,0,0,.122-.065l3.756-3.771L21,18.13Zm5.329-5.35c-.365.286-.7.757-1.061,1.062L23.3,19.437c.3-.35.777-.687,1.05-1.044.15-.2.174-.312.017-.516a13.851,13.851,0,0,0-1.327-1.327.393.393,0,0,0-.23-.1.476.476,0,0,0-.271.13\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\"><strong>Create</strong> a Policy</div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\"></i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n </label>\n\n \n <label\n *ngIf=\"ff_policy_ms_word_integration\"\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'word'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('word')\"\n [checked]=\"selectedDocumentType === 'word'\"\n />\n <svg id=\"Word-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20404\" data-name=\"Path 20404\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#1e5dd3\"/>\n <path id=\"Path_20405\" data-name=\"Path 20405\" d=\"M10.419,9.718l1.889,9.121L12.44,20l.132-.885,2.152-9.4,2.626.018,2.187,9.106.174,1.132a13.4,13.4,0,0,1,.174-1.352c.5-2.954,1.188-5.88,1.7-8.832l.04-.07H24L21.085,22.281l-2.818-.026L15.931,12.22l-.16,1.077-2.015,8.986-2.829-.028L8,9.718Z\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">{{createWordPolicyText}}</div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\"></i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n </label>\n\n\n\n <label\n class=\"document-box\"\n *ngIf=\"showDocxBlock\"\n [class.active]=\"selectedDocumentType == 'docx' && !docxError?.visible\"\n [class.error]=\"docxError?.visible\"\n >\n <input\n type=\"file\"\n accept=\".docx\"\n id=\"DOCfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #docxUploadButton\n />\n <svg id=\"Word-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20404\" data-name=\"Path 20404\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#1e5dd3\"/>\n <path id=\"Path_20405\" data-name=\"Path 20405\" d=\"M10.419,9.718l1.889,9.121L12.44,20l.132-.885,2.152-9.4,2.626.018,2.187,9.106.174,1.132a13.4,13.4,0,0,1,.174-1.352c.5-2.954,1.188-5.88,1.7-8.832l.04-.07H24L21.085,22.281l-2.818-.026L15.931,12.22l-.16,1.077-2.015,8.986-2.829-.028L8,9.718Z\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'docx' && filename)\"\n >Upload a <strong>DOCX</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'docx' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"error-msg-text\" *ngIf=\"docxError?.visible\">\n {{ docxError?.message }}\n </div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\"></i>\n <div class=\"check-circle\" *ngIf=\"!docxError?.visible\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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 <i class=\"icons error-icon\" *ngIf=\"docxError?.visible\"></i>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'docx' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <label\n class=\"document-box\"\n *ngIf=\"showPdfBlock\"\n [class.active]=\"selectedDocumentType == 'pdf'\"\n >\n <input\n type=\"file\"\n accept=\".pdf\"\n id=\"PDFfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #pdfUploadButton\n />\n <svg id=\"PDF-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20408\" data-name=\"Path 20408\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#a82a1d\"/>\n <path id=\"Path_20409\" data-name=\"Path 20409\" d=\"M16.125,13.778A1.39,1.39,0,0,0,16.285,15a16.106,16.106,0,0,0,2.106,2.554c.312-.045.6-.047,1.2-.092a6.964,6.964,0,0,1,3.616.239,1.31,1.31,0,0,1,.784,1.361,1.176,1.176,0,0,1-1.075.981c-2.224.336-3.305-.9-4.579-1.746a2.094,2.094,0,0,0-.812.021,25.782,25.782,0,0,0-3.412.916c-.253.089-.338.3-.533.609a11.062,11.062,0,0,1-2.82,3.427,2.145,2.145,0,0,1-1.861.445c-1-.222-1.178-1.182-.5-1.942A9.452,9.452,0,0,1,10,20.462a14.714,14.714,0,0,1,2.418-1.109c.491-.461.556-.686.966-1.764.431-1.136.922-2.25,1.324-3.4a1.679,1.679,0,0,0-.035-1.062,7.7,7.7,0,0,1-.638-3.476,1.4,1.4,0,0,1,.959-1.393,1.279,1.279,0,0,1,1.464.8c.2.479.552,1.75-.331,4.728m-.377,1.377-1.418,3.422,3.353-.883-1.935-2.539m3.222,2.882A4.5,4.5,0,0,0,21.92,19.37c.377,0,.714-.131.733-.6.051-1.251-2.656-.864-3.682-.73m-6.96,2.037a9.788,9.788,0,0,0-2.975,1.8c-.218.171-.446.718-.282.984s.81.067,1-.12a9.29,9.29,0,0,0,2.253-2.664m3.246-7.243c-.045-.878.461-2.172.437-3.224-.008-.355-.051-.747-.5-.772-.364-.02-.534.476-.569.762a5.8,5.8,0,0,0,.636,3.234\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'pdf' && filename)\"\n >Upload a <strong>PDF</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'pdf' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\"></i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'pdf' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <!-- Select a template -->\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType === 'template'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('template')\"\n [checked]=\"selectedDocumentType === 'template'\"\n />\n <svg id=\"TMP-Icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n <path id=\"Path_20406\" data-name=\"Path 20406\" d=\"M28,32H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H28a4,4,0,0,1,4,4V28a4,4,0,0,1-4,4\" fill=\"#34aa44\"/>\n <path id=\"Path_20410\" data-name=\"Path 20410\" d=\"M16,1.778V3.555H0V1.778A1.783,1.783,0,0,1,1.778,0H14.223A1.783,1.783,0,0,1,16,1.778M0,4.444H16v8.889a1.778,1.778,0,0,1-1.777,1.778H1.778A1.778,1.778,0,0,1,0,13.333ZM6.99,9.928A.891.891,0,0,0,6.1,9.039H3.642a.891.891,0,0,0-.888.889v2.456a.891.891,0,0,0,.888.889H6.1a.891.891,0,0,0,.888-.889Zm6.306,0a.892.892,0,0,0-.889-.889H9.948a.891.891,0,0,0-.888.889v2.456a.891.891,0,0,0,.888.889h2.459a.892.892,0,0,0,.889-.889ZM2.667,7.111A.889.889,0,0,0,3.556,8h8.889a.889.889,0,0,0,0-1.778H3.556a.889.889,0,0,0-.889.889\" transform=\"translate(8 7.999)\" fill=\"#fff\"/>\n </svg>\n \n <div class=\"label-right\">\n <div class=\"value\">Draft Using a <strong>Template</strong></div>\n <i class=\"icons document-box-icon vx-fs-16 vx-mr-2\"></i>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n </label>\n <!-- End Select a template -->\n <app-loader-inline *ngIf=\"isLoader\"></app-loader-inline>\n </div>\n</div>\n<div class=\"bottom-button\" [class.grayscale]=\"isTemplateOpened\">\n <button\n type=\"button\"\n (click)=\"editPolicyEmit()\"\n class=\"back\"\n [class.disabled]=\"isTemplateOpened\"\n >\n <i class=\"icons\"></i> Back\n </button>\n <button\n type=\"button\"\n (click)=\"editor(selectedDocumentType)\"\n class=\"next\"\n [class.disabled]=\"!selectedDocumentType || isTemplateOpened || isLoader\"\n >\n Next <i class=\"icons\"></i>\n </button>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .document-section{display:flex;align-items:center;height:calc(100vh - 50px);position:absolute;top:0;right:0;background:#fff;z-index:10;padding:50px;width:100%;overflow:hidden;overflow-y:scroll}@media screen and (max-width: 1365px){::ng-deep .document-section{align-items:unset}}::ng-deep .document-section.grayscale{filter:grayscale(1)!important;pointer-events:none!important}::ng-deep .document-section-inner .message-box{background:#fbfbfb;border-radius:4px;border:1px solid #f1f1f1;padding:16px 8px 12px 16px;margin-bottom:20px;display:flex;align-items:flex-start}::ng-deep .document-section-inner .message-box svg{background:#fff;width:33px;min-width:33px;border-radius:4px;box-shadow:0 3px 6px #1e5dd333;margin-right:12px;padding:4px}::ng-deep .document-section-inner .message-box p{font-size:12px;font-weight:500;color:#787a8c;margin:0}::ng-deep .document-section-inner .document-box{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:1px solid #CDCED6;border-radius:8px;width:100%;background:transparent;height:64px;padding:0 16px;margin-bottom:8px}::ng-deep .document-section-inner .document-box.error{border:1px solid #dbdbdb}::ng-deep .document-section-inner .document-box input{width:100%;position:absolute;inset:0;margin:0;padding:0;z-index:1;opacity:0;height:100%;pointer-events:none}::ng-deep .document-section-inner .document-box svg.doc-svg{width:82px}::ng-deep .document-section-inner .document-box .label-right{width:calc(100% - 64px);display:flex;align-items:center;justify-content:center;position:relative}::ng-deep .document-section-inner .document-box .label-right .value{font-size:16px;font-weight:500;line-height:24px;color:#000;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word;width:270px;margin-right:25px}::ng-deep .document-section-inner .document-box .label-right .value strong{font-weight:500}::ng-deep .document-section-inner .document-box .label-right .error-msg-text{color:#d93b41;font-size:10px;position:absolute;top:24px;left:0;right:0;width:250px}::ng-deep .document-section-inner .document-box .label-right .check-circle{display:none;width:16px;height:16px;position:absolute;right:8px;top:2px}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon{width:16px;height:16px;background:#ddf4e0;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-right:10px;position:static}::ng-deep .document-section-inner .document-box .label-right .check-circle .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}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .document-section-inner .document-box .label-right .error-icon{color:#d93b41;font-size:16px;position:relative;top:0;right:8px}::ng-deep .document-section-inner .document-box.active{background:#ddf4e0;border:1px solid #B7E2BD}::ng-deep .document-section-inner .document-box.active .document-box-icon{display:none}::ng-deep .document-section-inner .document-box.active .label-right .check-circle{display:block}::ng-deep .document-section-inner .document-box.error{background:#ffeaea;border:1px solid #d93b41}::ng-deep .document-section-inner .document-box-icon{color:#565a6f}.bottom-button{background:#fff;display:flex;align-items:center;position:absolute;bottom:0;right:0;width:100%;z-index:10}.bottom-button button{background:#1e5dd3;border:none;border-radius:0;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;width:100%;padding:0;position:relative;margin:0!important;height:50px;display:flex;align-items:center;justify-content:center;line-height:19px;letter-spacing:3.08px;outline:none}.bottom-button button i{position:absolute;top:16px;font-size:18px;font-weight:500}.bottom-button button.next i{right:16px}.bottom-button button.disabled{pointer-events:none!important;opacity:.3!important;filter:grayscale(1)!important}.bottom-button button.back{background:#f1f1f1;color:#1e5dd3}.bottom-button button.back i{left:16px}.line-progress{position:absolute;left:0;top:0;height:2px;display:block;width:100%;background-color:#d4e2fc;background-clip:padding-box;overflow:hidden}.line-progress-bar{bottom:0;width:40%;background:#34aa44;border-radius:5px;display:inline-block;position:absolute;animation:linear infinite;animation-name:run;animation-duration:1s;top:0}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes run{0%{left:0}50%{left:60%}to{left:0}}\n"] }]
|
|
235
|
-
}], ctorParameters: function () { return [{ type: i1.SnackBarService }, { type: i2.PolicyService }, { type: i3.
|
|
236
|
-
type: Input
|
|
237
|
-
}], feature: [{
|
|
205
|
+
args: [{ selector: 'lib-document-section', template: "<div class=\"document-section\" [class.grayscale]=\"isTemplateOpened\">\n <div class=\"document-section-inner\">\n <div class=\"message-box\">\n <svg\n version=\"1.1\"\n id=\"Capa_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 480.8 480.8\"\n style=\"enable-background: new 0 0 480.8 480.8\"\n xml:space=\"preserve\"\n >\n <path\n style=\"fill: #ffd517\"\n d=\"M317.112,314.4c-22.4,22.4-19.6,67.6-19.6,67.6h-113.6c0,0,2.4-45.2-19.6-67.6\n c-24.4-21.6-40-52.8-40-87.6c0-64,52-116,116-116s116,52,116,116C356.312,261.6,341.112,292.8,317.112,314.4L317.112,314.4z\"\n />\n <g>\n <path\n style=\"fill: #e5e5e5\"\n d=\"M300.712,417.6c0,6-4.8,10.8-10.8,10.8h-98.8c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h98.4C295.512,406.8,300.712,411.6,300.712,417.6L300.712,417.6z\"\n />\n <path\n style=\"fill: #e5e5e5\"\n d=\"M285.912,462.4c0,6-4.8,10.8-10.8,10.8h-69.2c-6,0-10.8-4.8-10.8-10.8l0,0c0-6,4.8-10.8,10.8-10.8\n h69.2C281.112,451.6,285.912,456.4,285.912,462.4L285.912,462.4z\"\n />\n </g>\n <g>\n <path\n style=\"fill: #210b20\"\n d=\"M323.112,318.4c26-23.6,40.8-56.8,40.8-91.6c0-68-55.6-123.6-123.6-123.6s-123.6,55.6-123.6,123.6\n c0,35.6,15.6,69.6,42,92.8c19.6,19.6,17.6,61.2,17.6,61.6c0,2,0.8,4,2,5.6c1.6,1.6,3.6,2.4,5.6,2.4h113.2c2,0,4-0.8,5.6-2.4\n s2-3.6,2-5.6c0-0.4-2-42,17.6-61.6C322.712,319.2,323.112,318.8,323.112,318.4z M311.912,308.4c-0.8,0.4-1.2,1.2-1.6,2\n c-17.6,18.8-20.4,49.6-20.8,64h-98c-0.4-14.8-3.6-46.8-22.4-65.6c-23.6-20.8-37.2-50.4-37.2-81.6c0-60,48.8-108.4,108.4-108.4\n c60,0,108.4,48.8,108.4,108.4C348.712,258,335.512,288,311.912,308.4z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M240.312,135.2c-4,0-7.6,3.2-7.6,7.6c0,4,3.2,7.6,7.6,7.6c44.8,0,81.2,36.4,81.2,81.2\n c0,4,3.2,7.6,7.6,7.6c4,0,7.6-3.2,7.6-7.6C336.712,178.4,293.512,135.2,240.312,135.2z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M308.312,417.6c0-10.4-8.4-18.4-18.4-18.4h-98.8c-10.4,0-18.4,8.4-18.4,18.4\n c0,10.4,8.4,18.4,18.4,18.4h98.4C299.912,436,308.312,428,308.312,417.6z M289.512,420.8h-98.4c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h98.4c2,0,3.2,1.6,3.2,3.2C293.112,419.6,291.512,420.8,289.512,420.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M275.112,444h-69.2c-10.4,0-18.4,8.4-18.4,18.4c0,10.4,8.4,18.4,18.4,18.4h69.2\n c10.4,0,18.4-8.4,18.4-18.4C293.512,452.4,285.112,444,275.112,444z M275.112,465.6h-69.2c-2,0-3.2-1.6-3.2-3.2\n c0-2,1.6-3.2,3.2-3.2h69.2c2,0,3.2,1.6,3.2,3.2C278.312,464.4,277.112,465.6,275.112,465.6z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M247.912,58.8V7.6c0-4-3.2-7.6-7.6-7.6c-4,0-7.6,3.2-7.6,7.6v51.6c0,4,3.2,7.6,7.6,7.6\n C244.712,66.4,247.912,63.2,247.912,58.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M366.312,38c-3.6-2.4-8-1.2-10.4,2l-28.4,42.8c-2.4,3.6-1.2,8,2,10.4c1.2,0.8,2.8,1.2,4,1.2\n c2.4,0,4.8-1.2,6.4-3.2l28.4-42.8C370.712,45.2,369.512,40.4,366.312,38z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M149.912,92.8c1.2,0,2.8-0.4,4-1.2c3.6-2.4,4.4-6.8,2.4-10.4l-27.6-43.2c-2.4-3.6-6.8-4.4-10.4-2.4\n c-3.6,2.4-4.4,6.8-2.4,10.4l27.6,43.2C145.112,91.6,147.512,92.8,149.912,92.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M43.912,128.8l45.2,24.4c1.2,0.8,2.4,0.8,3.6,0.8c2.8,0,5.2-1.6,6.8-4c2-3.6,0.8-8.4-3.2-10.4\n l-45.2-24.4c-3.6-2-8.4-0.8-10.4,3.2C39.112,122.4,40.312,126.8,43.912,128.8z\"\n />\n <path\n style=\"fill: #210b20\"\n d=\"M387.912,154.4c1.2,0,2.4-0.4,3.6-0.8l45.2-24.4c3.6-2,5.2-6.4,3.2-10.4c-2-3.6-6.4-5.2-10.4-3.2\n l-45.2,24.4c-3.6,2-5.2,6.4-3.2,10.4C382.312,152.8,385.112,154.4,387.912,154.4z\"\n />\n </g>\n </svg>\n <p>\n There are multiple ways to create a policy on VComply. You can either\n draft it from scratch using VComply\u2019s online editor or upload an\n existing DOCX or PDF file.\n </p>\n </div>\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType == 'draft'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('draft')\"\n [checked]=\"selectedDocumentType === 'draft'\"\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .p1 {\n fill: #f8f8f8;\n }\n .p2 {\n fill: #747576;\n }\n .p3 {\n fill: #bdbdbd;\n }\n .p4 {\n fill: #dbdbdb;\n }\n .p5 {\n fill: #1e5dd3;\n }\n .p6 {\n fill: #ffffff;\n }\n </style>\n <path\n class=\"p1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <image\n style=\"overflow: visible\"\n width=\"1920\"\n height=\"1080\"\n xlink:href=\"94778146.jpg\"\n transform=\"matrix(1 0 0 1 -8160 -8160)\"\n ></image>\n <path class=\"p2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"p3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"p4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"p6\"\n d=\"M24.6,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C24.9,16,24.8,16.5,24.6,16.9z M23.3,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5h-0.8v3.7h0.8C22.5,17.2,23,17.1,23.3,16.8z\"\n />\n <path\n class=\"p6\"\n d=\"M28.7,18.2L27.4,16h-0.5v2.2h-1.1v-5.6h2.2c0.7,0,1.2,0.2,1.5,0.5s0.5,0.7,0.5,1.3c0,0.4-0.1,0.8-0.4,1.1\n s-0.6,0.5-1,0.6l1.4,2.3H28.7z M26.9,15.3h0.9c0.6,0,1-0.3,1-0.9c0-0.3-0.1-0.5-0.2-0.6c-0.2-0.2-0.4-0.2-0.7-0.2h-0.9V15.3z\"\n />\n <path\n class=\"p6\"\n d=\"M34.1,17.1h-2.3l-0.4,1.1h-1.2l2.1-5.6h1.3l2.1,5.6h-1.2L34.1,17.1z M33.8,16.3L33,13.9l-0.8,2.4H33.8z\"\n />\n <path\n class=\"p6\"\n d=\"M39.8,12.6v0.9h-2.4V15h1.9v0.9h-1.9v2.4h-1.1v-5.6H39.8z\"\n />\n <path\n class=\"p6\"\n d=\"M44.4,12.6v0.9h-1.6v4.8h-1.1v-4.8h-1.6v-0.9H44.4z\"\n />\n </g>\n <path\n class=\"p5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <g>\n <path\n class=\"p6\"\n d=\"M36.1,40.8l-5.8,5.8L28,44.4l5.8-5.8c0.2-0.2,0.4-0.2,0.6,0l1.7,1.7C36.2,40.4,36.2,40.7,36.1,40.8z\"\n />\n <path\n class=\"p6\"\n d=\"M36.8,38c-0.5-0.5-1.3-0.5-1.7,0l-0.4,0.3c0,0,0.1,0,0.1,0.1l1.7,1.7c0,0,0,0.1,0.1,0.1l0.4-0.4\n c0.2-0.2,0.4-0.5,0.4-0.9C37.1,38.5,37,38.2,36.8,38L36.8,38z\"\n />\n <path\n class=\"p6\"\n d=\"M27.9,44.9l-1,2.6c-0.1,0.1,0,0.2,0.1,0.4c0.1,0.1,0.1,0.1,0.2,0.1c0.1,0,0.1,0,0.1,0l2.6-1L27.9,44.9z\"\n />\n <path\n class=\"p6\"\n d=\"M30.2,41.3c0.1,0,0.2-0.1,0.2-0.1l2.2-2.2c0.1-0.1,0.3-0.1,0.4-0.1l0.5-0.5c-0.4-0.3-0.9-0.3-1.3,0.1L30,40.7\n c-0.1,0.1-0.1,0.4,0,0.5C30,41.2,30,41.3,30.2,41.3L30.2,41.3z\"\n />\n </g>\n </svg>\n <div class=\"label-right\">\n <div class=\"value\"><strong>Create</strong> a Policy</div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n </label>\n <!-- Select a template -->\n <label\n class=\"document-box\"\n [class.active]=\"selectedDocumentType === 'template'\"\n >\n <input\n type=\"radio\"\n name=\"selectedDocumentType\"\n (change)=\"changeDocType('template')\"\n [checked]=\"selectedDocumentType === 'template'\"\n />\n <svg\n class=\"doc-svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50.455\"\n height=\"70.652\"\n viewBox=\"0 0 50.455 70.652\"\n >\n <g id=\"TemplateIcon\" transform=\"translate(-12 -3.985)\">\n <path\n id=\"Path_290\"\n data-name=\"Path 290\"\n d=\"M62.451,19.4V72.11a2.522,2.522,0,0,1-2.523,2.523H14.523A2.522,2.522,0,0,1,12,72.11V6.523A2.522,2.522,0,0,1,14.523,4H47.157\"\n transform=\"translate(0 0.004)\"\n fill=\"#f8f8f8\"\n />\n <path\n id=\"Path_291\"\n data-name=\"Path 291\"\n d=\"M62.451,14.092V29.226H12V6.523A2.522,2.522,0,0,1,14.523,4H52.362\"\n transform=\"translate(0 0.004)\"\n fill=\"#34aa44\"\n />\n <path\n id=\"Path_292\"\n data-name=\"Path 292\"\n d=\"M43.95,3.985v8.457a1.689,1.689,0,0,0,1.689,1.688h8.467\"\n transform=\"translate(8.349 0)\"\n fill=\"#97d2a0\"\n />\n <g\n id=\"Group_540\"\n data-name=\"Group 540\"\n transform=\"translate(18.12 34.45)\"\n >\n <path\n id=\"Path_293\"\n data-name=\"Path 293\"\n d=\"M53.866,30.662H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -28.139)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_541\"\n data-name=\"Group 541\"\n transform=\"translate(18.12 40.012)\"\n >\n <path\n id=\"Path_294\"\n data-name=\"Path 294\"\n d=\"M53.866,35.071H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -32.548)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_542\"\n data-name=\"Group 542\"\n transform=\"translate(18.12 45.573)\"\n >\n <path\n id=\"Path_295\"\n data-name=\"Path 295\"\n d=\"M53.866,39.48H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -36.957)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_543\"\n data-name=\"Group 543\"\n transform=\"translate(18.12 51.134)\"\n >\n <path\n id=\"Path_296\"\n data-name=\"Path 296\"\n d=\"M53.866,43.889H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,1,1,0,2.523Z\"\n transform=\"translate(-16.852 -41.366)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_544\"\n data-name=\"Group 544\"\n transform=\"translate(18.12 56.695)\"\n >\n <path\n id=\"Path_297\"\n data-name=\"Path 297\"\n d=\"M53.866,48.3H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -45.775)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_545\"\n data-name=\"Group 545\"\n transform=\"translate(18.12 62.257)\"\n >\n <path\n id=\"Path_298\"\n data-name=\"Path 298\"\n d=\"M53.866,52.708H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -50.185)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <g\n id=\"Group_546\"\n data-name=\"Group 546\"\n transform=\"translate(18.12 67.818)\"\n >\n <path\n id=\"Path_299\"\n data-name=\"Path 299\"\n d=\"M53.866,57.117H18.113a1.261,1.261,0,1,1,0-2.523H53.866a1.261,1.261,0,0,1,0,2.523Z\"\n transform=\"translate(-16.852 -54.594)\"\n fill=\"#dbdbdb\"\n />\n </g>\n <path\n id=\"Path_305\"\n data-name=\"Path 305\"\n d=\"M34.45,33.149A11.826,11.826,0,1,0,46.276,44.975,11.826,11.826,0,0,0,34.45,33.149Z\"\n transform=\"translate(2.776 7.835)\"\n fill=\"#c7381b\"\n />\n <path\n id=\"Path_4841\"\n data-name=\"Path 4841\"\n d=\"M41.159,43.359l-7.2-7.207a.514.514,0,0,0-.727,0l-7.2,7.207a.52.52,0,0,0-.15.365.512.512,0,0,0,.515.513H30v7.705a.514.514,0,0,0,.513.515h6.17a.514.514,0,0,0,.515-.515V44.237h3.6a.514.514,0,0,0,.362-.878Z\"\n transform=\"translate(3.629 8.983)\"\n fill=\"#fafafa\"\n />\n <text\n id=\"TMP\"\n transform=\"translate(25.999 21.984)\"\n fill=\"#fff\"\n font-size=\"11\"\n font-family=\"Poppins-SemiBold, Poppins\"\n font-weight=\"600\"\n >\n <tspan x=\"0\" y=\"0\">TMP</tspan>\n </text>\n </g>\n </svg>\n\n <div class=\"label-right\">\n <div class=\"value\">Draft Using a <strong>Template</strong></div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n </label>\n <!-- End Select a template -->\n <label\n class=\"document-box\"\n *ngIf=\"showDocxBlock\"\n [class.active]=\"selectedDocumentType == 'docx' && !docxError?.visible\"\n [class.error]=\"docxError?.visible\"\n >\n <input\n type=\"file\"\n accept=\".docx\"\n id=\"DOCfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #docxUploadButton\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .d1 {\n fill: #f8f8f8;\n }\n .d2 {\n fill: #337dbe;\n }\n .d3 {\n fill: #3c92df;\n }\n .d4 {\n fill: #dbdbdb;\n }\n .d5 {\n fill: #f2bf19;\n }\n .d6 {\n fill: #fafafa;\n }\n </style>\n <path\n class=\"d1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <path class=\"d2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"d3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"d4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"d1\"\n d=\"M25.4,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C25.7,16,25.6,16.5,25.4,16.9z M24.1,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5h-0.8v3.7h0.8C23.3,17.2,23.8,17.1,24.1,16.8z\"\n />\n <path\n class=\"d1\"\n d=\"M30.7,12.9c0.4,0.2,0.8,0.6,1,1s0.4,0.9,0.4,1.5s-0.1,1.1-0.4,1.5c-0.2,0.4-0.6,0.8-1,1\n c-0.4,0.2-0.9,0.4-1.4,0.4c-0.5,0-1-0.1-1.4-0.4c-0.4-0.2-0.8-0.6-1-1c-0.2-0.4-0.4-0.9-0.4-1.5s0.1-1.1,0.4-1.5s0.6-0.8,1-1\n c0.4-0.2,0.9-0.4,1.4-0.4C29.8,12.5,30.2,12.6,30.7,12.9z M28.4,13.8c-0.3,0.1-0.4,0.4-0.6,0.6c-0.1,0.3-0.2,0.6-0.2,1\n c0,0.4,0.1,0.7,0.2,1c0.1,0.3,0.3,0.5,0.6,0.6c0.3,0.1,0.5,0.2,0.9,0.2c0.3,0,0.6-0.1,0.9-0.2c0.3-0.1,0.4-0.4,0.6-0.6\n c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1c-0.1-0.3-0.3-0.5-0.6-0.6c-0.3-0.1-0.5-0.2-0.9-0.2C28.9,13.6,28.6,13.6,28.4,13.8z\"\n />\n <path\n class=\"d1\"\n d=\"M37.2,13.1c0.5,0.4,0.8,0.9,0.9,1.5H37c-0.1-0.3-0.3-0.5-0.6-0.7c-0.3-0.2-0.6-0.3-0.9-0.3\n c-0.3,0-0.6,0.1-0.8,0.2s-0.4,0.4-0.6,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.4,0.1,0.7,0.2,1c0.1,0.3,0.3,0.5,0.6,0.6s0.5,0.2,0.8,0.2\n c0.4,0,0.7-0.1,0.9-0.3c0.3-0.2,0.4-0.4,0.6-0.7h1.2c-0.1,0.6-0.5,1.1-0.9,1.5c-0.5,0.4-1,0.5-1.8,0.5c-0.5,0-1-0.1-1.4-0.4\n c-0.4-0.2-0.7-0.6-1-1c-0.2-0.4-0.3-0.9-0.3-1.5c0-0.6,0.1-1.1,0.3-1.5c0.2-0.4,0.5-0.8,1-1c0.4-0.2,0.9-0.4,1.4-0.4\n C36.2,12.5,36.8,12.7,37.2,13.1z\"\n />\n <path\n class=\"d1\"\n d=\"M42.3,18.2L41,16.3l-1.1,1.9h-1.3l1.8-2.9l-1.8-2.8h1.3l1.2,1.9l1.1-1.9h1.3l-1.8,2.8l1.9,2.8H42.3z\"\n />\n </g>\n <path\n class=\"d5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <path\n class=\"d6\"\n d=\"M38,41.8l-5.7-5.7c-0.2-0.2-0.4-0.2-0.6,0L26,41.8c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.2,0.2,0.4,0.4,0.4h2.9v6.1\n c0,0.2,0.2,0.4,0.4,0.4h4.9c0.2,0,0.4-0.2,0.4-0.4v-6.1h2.9c0.2,0,0.3-0.1,0.4-0.3C38.1,42.1,38.1,42,38,41.8z\"\n />\n </svg>\n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'docx' && filename)\"\n >Upload a <strong>DOCX</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'docx' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"error-msg-text\" *ngIf=\"docxError?.visible\">\n {{ docxError?.message }}\n </div>\n <div class=\"check-circle\" *ngIf=\"!docxError?.visible\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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 <i class=\"icons error-icon\" *ngIf=\"docxError?.visible\"></i>\n </div>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'docx' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n <label\n class=\"document-box\"\n *ngIf=\"showPdfBlock\"\n [class.active]=\"selectedDocumentType == 'pdf'\"\n >\n <input\n type=\"file\"\n accept=\".pdf\"\n id=\"PDFfile\"\n (change)=\"handleFileInput($event.target.files)\"\n onclick=\"event.stopPropagation();\"\n #pdfUploadButton\n />\n <svg\n class=\"doc-svg\"\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 64 64\"\n style=\"enable-background: new 0 0 64 64\"\n xml:space=\"preserve\"\n >\n <style type=\"text/css\">\n .pd1 {\n fill: #f8f8f8;\n }\n .pd2 {\n fill: #ee3939;\n }\n .pd3 {\n fill: #f95858;\n }\n .pd4 {\n fill: #dbdbdb;\n }\n .pd5 {\n fill: #34aa44;\n }\n .pd6 {\n fill: #fafafa;\n }\n </style>\n <path\n class=\"pd1\"\n d=\"M52,16.2V58c0,1.1-0.9,2-2,2H14c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h25.9\"\n />\n <path class=\"pd2\" d=\"M52,12v12H12V6c0-1.1,0.9-2,2-2h30\" />\n <path class=\"pd3\" d=\"M44,4v6.7c0,0.7,0.6,1.3,1.3,1.3H52\" />\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,30.1H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,30.1,46.2,30.1z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,34.5H17.9c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1h28.3c0.6,0,1,0.4,1,1C47.2,34.1,46.8,34.5,46.2,34.5z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,39H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,39,46.2,39z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,43.4H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,43.4,46.2,43.4z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,47.8H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,47.8,46.2,47.8z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,52.2H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,52.2,46.2,52.2z\"\n />\n </g>\n <g>\n <path\n class=\"pd4\"\n d=\"M46.2,56.6H17.9c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.3c0.6,0,1,0.4,1,1S46.8,56.6,46.2,56.6z\"\n />\n </g>\n <g>\n <path\n class=\"pd1\"\n d=\"M26.2,16.2v2.1h-1.1v-5.6h2.1c0.7,0,1.2,0.2,1.5,0.5c0.3,0.3,0.5,0.8,0.5,1.3c0,0.5-0.2,1-0.5,1.3\n c-0.3,0.3-0.8,0.5-1.5,0.5H26.2z M28,14.4c0-0.3-0.1-0.5-0.2-0.6c-0.2-0.1-0.4-0.2-0.8-0.2h-0.8v1.7H27C27.7,15.2,28,15,28,14.4z\"\n />\n <path\n class=\"pd1\"\n d=\"M34.5,16.9c-0.2,0.4-0.6,0.8-1,1s-1,0.4-1.6,0.4h-2v-5.6h2c0.6,0,1.1,0.1,1.6,0.3c0.4,0.2,0.8,0.6,1,1\n c0.2,0.4,0.4,0.9,0.4,1.5C34.8,16,34.7,16.5,34.5,16.9z M33.2,16.8c0.3-0.3,0.5-0.8,0.5-1.3c0-0.6-0.2-1-0.5-1.4\n c-0.3-0.3-0.8-0.5-1.4-0.5H31v3.7h0.8C32.4,17.2,32.9,17.1,33.2,16.8z\"\n />\n <path\n class=\"pd1\"\n d=\"M39.2,12.6v0.9h-2.4V15h1.9v0.9h-1.9v2.4h-1.1v-5.6H39.2z\"\n />\n </g>\n <path\n class=\"pd5\"\n d=\"M32,33.1c-5.2,0-9.4,4.2-9.4,9.4s4.2,9.4,9.4,9.4s9.4-4.2,9.4-9.4C41.4,37.3,37.2,33.2,32,33.1z\"\n />\n <path\n class=\"pd6\"\n d=\"M38,41.8l-5.7-5.7c-0.2-0.2-0.4-0.2-0.6,0L26,41.8c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.2,0.2,0.4,0.4,0.4h2.9v6.1\n c0,0.2,0.2,0.4,0.4,0.4h4.9c0.2,0,0.4-0.2,0.4-0.4v-6.1h2.9c0.2,0,0.3-0.1,0.4-0.3C38.1,42.1,38.1,42,38,41.8z\"\n />\n </svg>\n <div class=\"label-right\">\n <div class=\"value\">\n <ng-container *ngIf=\"!(selectedDocumentType == 'pdf' && filename)\"\n >Upload a <strong>PDF</strong></ng-container\n >\n <ng-container *ngIf=\"selectedDocumentType == 'pdf' && filename\">{{\n filename\n }}</ng-container>\n </div>\n <div class=\"check-circle\">\n <svg\n class=\"checkIcon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"checkIcon__circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\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>\n <div\n class=\"line-progress\"\n *ngIf=\"selectedDocumentType == 'pdf' && isUploading\"\n >\n <div class=\"line-progress-bar\"></div>\n </div>\n </label>\n </div>\n</div>\n<div class=\"bottom-button\" [class.grayscale]=\"isTemplateOpened\">\n <button\n type=\"button\"\n (click)=\"editPolicyEmit()\"\n class=\"back\"\n [class.disabled]=\"isTemplateOpened\"\n >\n <i class=\"icons\"></i> Back\n </button>\n <button\n type=\"button\"\n (click)=\"editor(selectedDocumentType)\"\n class=\"next\"\n [class.disabled]=\"!selectedDocumentType || isTemplateOpened\"\n >\n Next <i class=\"icons\"></i>\n </button>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .document-section{display:flex;align-items:center;height:calc(100vh - 50px);position:absolute;top:0;right:0;background:#fff;z-index:10;padding:50px;width:100%;overflow:hidden;overflow-y:scroll}@media screen and (max-width: 1365px){::ng-deep .document-section{align-items:unset}}::ng-deep .document-section.grayscale{filter:grayscale(1)!important;pointer-events:none!important}::ng-deep .document-section-inner .message-box{background:#fbfbfb;border-radius:4px;border:1px solid #f1f1f1;padding:16px 8px 12px 16px;margin-bottom:20px;display:flex;align-items:flex-start}::ng-deep .document-section-inner .message-box svg{background:#fff;width:33px;min-width:33px;border-radius:4px;box-shadow:0 3px 6px #1e5dd333;margin-right:12px;padding:4px}::ng-deep .document-section-inner .message-box p{font-size:12px;font-weight:500;color:#747576;margin:0}::ng-deep .document-section-inner .document-box{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:1px solid #dbdbdb;border-radius:4px;width:100%;background:transparent;height:100px;margin-bottom:8px}::ng-deep .document-section-inner .document-box.error{border:1px solid #dbdbdb}::ng-deep .document-section-inner .document-box input{width:100%;position:absolute;inset:0;margin:0;padding:0;z-index:1;opacity:0;height:100%;pointer-events:none}::ng-deep .document-section-inner .document-box svg.doc-svg{width:82px}::ng-deep .document-section-inner .document-box .label-right{width:calc(100% - 82px);display:flex;align-items:center;justify-content:center;position:relative}::ng-deep .document-section-inner .document-box .label-right .value{font-size:16px;line-height:24px;color:#747576;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word;width:250px;margin-right:35px;text-align:center}::ng-deep .document-section-inner .document-box .label-right .value strong{font-weight:500}::ng-deep .document-section-inner .document-box .label-right .error-msg-text{color:#d93b41;font-size:10px;position:absolute;top:28px;left:0;right:0;text-align:center;width:250px}::ng-deep .document-section-inner .document-box .label-right .check-circle{display:none;width:32px;height:32px;position:absolute;right:14px;top:-3px}::ng-deep .document-section-inner .document-box .label-right .check-circle .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-right:10px;position:static}::ng-deep .document-section-inner .document-box .label-right .check-circle .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}::ng-deep .document-section-inner .document-box .label-right .check-circle .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .document-section-inner .document-box .label-right .error-icon{color:#d93b41;font-size:32px;position:relative;top:-4px;right:14px}::ng-deep .document-section-inner .document-box.active{background:#eefcf0;border:1px solid #34aa44}::ng-deep .document-section-inner .document-box.active .label-right .check-circle{display:block}::ng-deep .document-section-inner .document-box.error{background:#ffeaea;border:1px solid #d93b41}.bottom-button{background:#fff;display:flex;align-items:center;position:absolute;bottom:0;right:0;width:100%;z-index:10}.bottom-button button{background:#1e5dd3;border:none;border-radius:0;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;width:100%;padding:0;position:relative;margin:0!important;height:50px;display:flex;align-items:center;justify-content:center;line-height:19px;letter-spacing:3.08px;outline:none}.bottom-button button i{position:absolute;top:16px;font-size:18px;font-weight:500}.bottom-button button.next i{right:16px}.bottom-button button.disabled{pointer-events:none!important;opacity:.3!important;filter:grayscale(1)!important}.bottom-button button.back{background:#f1f1f1;color:#1e5dd3}.bottom-button button.back i{left:16px}.line-progress{position:absolute;left:0;top:0;height:2px;display:block;width:100%;background-color:#d4e2fc;background-clip:padding-box;overflow:hidden}.line-progress-bar{bottom:0;width:40%;background:#34aa44;border-radius:5px;display:inline-block;position:absolute;animation:linear infinite;animation-name:run;animation-duration:1s;top:0}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes run{0%{left:0}50%{left:60%}to{left:0}}\n"] }]
|
|
206
|
+
}], ctorParameters: function () { return [{ type: i1.SnackBarService }, { type: i2.PolicyService }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i4.PlatformLocation }, { type: i5.IframeService }]; }, propDecorators: { selectedDocumentType: [{
|
|
238
207
|
type: Input
|
|
239
208
|
}], templateView: [{
|
|
240
209
|
type: Input
|
|
@@ -259,4 +228,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
259
228
|
}], openTemplate: [{
|
|
260
229
|
type: Output
|
|
261
230
|
}] } });
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2RvY3VtZW50LXNlY3Rpb24vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2RvY3VtZW50LXNlY3Rpb24vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7O0FBTzdGLE1BQU0sT0FBTyx3QkFBd0I7SUFnQ25DLFlBQ1UsUUFBeUIsRUFDekIsYUFBNEIsRUFDNUIsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFDZCxLQUFxQixFQUM3QixnQkFBa0MsRUFDMUIsYUFBNEI7UUFONUIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFFckIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFyQ3RDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUNaLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxRQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ1osZ0JBQVcsR0FBRyxL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UUFDRCxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELGNBQWM7UUFDWixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQy9CLFlBQVksQ0FBQyxPQUFPLENBQ2xCLHFCQUFxQixFQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQ0gsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0ExUVUsd0JBQXdCO21HQUF4Qix3QkFBd0Isc2ZDdEJyQyxpc2hCQW9XQTs7NEZEOVVhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7OFFBZ0J2QixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF0Zm9ybUxvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uLy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvbGljeUFQSVNlcnZpY2UgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9wb2xpY3ktYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWZyYW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2lmcmFtZS5zZXJ2aWNlJztcbmltcG9ydCB7IFdPUkRfQ09OU1RBTlRTLCBXT1JEX1VSTF9DT05TVEFOVFMgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1wb2xpY3kvbXMtd29yZC5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZG9jdW1lbnQtc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEb2N1bWVudFNlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgZmlsZVRvVXBsb2FkOiBhbnk7XG4gIGZpbGVuYW1lID0gJyc7XG4gIGZpbGVUeXBlID0gJyc7XG4gIHBkZiA9IGZhbHNlO1xuICBkcmFmdCA9IGZhbHNlO1xuICBkb2MgPSBmYWxzZTtcbiAgaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgaXNMb2FkZXIgPSBmYWxzZTtcbiAgZmZfcG9saWN5X21zX3dvcmRfaW50ZWdyYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgY3JlYXRlV29yZFBvbGljeVRleHQgPSBXT1JEX0NPTlNUQU5UUy5NU19XT1JEX09QVElPTjtcblxuICBASW5wdXQoKSBzZWxlY3RlZERvY3VtZW50VHlwZSA9ICcnO1xuICBASW5wdXQoKSBmZWF0dXJlOiBhbnk7XG4gIEBJbnB1dCgpIHRlbXBsYXRlVmlldyA9IGZhbHNlO1xuICBASW5wdXQoKSBwb2xpY3lJZDogYW55ID0gJyc7XG4gIEBJbnB1dCgpIHBvbGljeU5hbWU6IGFueSA9ICcnO1xuICBASW5wdXQoKSBvcmdhbml6YXRpb25faWQ6IGFueSA9ICcnO1xuICBASW5wdXQoKSBtZW1iZXJfb2JqX2lkOiBhbnk7XG4gIEBJbnB1dCgpIHVzZXJJbmZvOiBhbnk7XG4gIEBJbnB1dCgpIHRlbXBsYXRlVXJsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaXNUZW1wbGF0ZU9wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgZGlzY29ubmVjdFJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBlZGl0UG9saWN5ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb3BlblRlbXBsYXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGJhc2VVUkwgPSAnJztcbiAgZG9jeEVycm9yID0ge1xuICAgIHZpc2libGU6IGZhbHNlLFxuICAgIG1lc3NhZ2U6ICcnLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSxcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2xpY3lBUElTZXJ2aWNlOiBQb2xpY3lBUElTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcGxhdGZvcm1Mb2NhdGlvbjogUGxhdGZvcm1Mb2NhdGlvbixcbiAgICBwcml2YXRlIGlmcmFtZVNlcnZpY2U6IElmcmFtZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5iYXNlVVJMID0gbG9jYXRpb24/Lm9yaWdpbjtcbiAgICBpZiAodGhpcy5iYXNlVVJMID09ICdodHRwOi8vbG9jYWxob3N0OjQyMDAnKSB7XG4gICAgICB0aGlzLmJhc2VVUkwgPSAnaHR0cHM6Ly9kZXYudi1jb21wbHkuY29tJztcbiAgICB9XG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzPy50ZW1wbGF0ZVZpZXc/LmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUgPSAnJztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpc2VGZWF0dXJlRmxhZ3MoKTtcbiAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYXN0RmlsZU5hbWVBbmRUeXBlJykgPz8gJ1wie31cIidcbiAgICApO1xuICAgIGlmIChcbiAgICAgIGRhdGEubmFtZSAhPT0gbnVsbCAmJlxuICAgICAgZGF0YS5uYW1lICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGRhdGEudHlwZSAhPT0gbnVsbCAmJlxuICAgICAgZGF0YS50eXBlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGRhdGEucG9saWN5SWQgPT0gdGhpcy5wb2xpY3lJZFxuICAgICkge1xuICAgICAgdGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZSA9IGRhdGEudHlwZTtcbiAgICAgIHRoaXMuZmlsZW5hbWUgPSBkYXRhLm5hbWU7XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbGFzdEZpbGVOYW1lQW5kVHlwZScpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRpYWxpc2VGZWF0dXJlRmxhZ3MoKSB7XG4gICAgdGhpcy5mZl9wb2xpY3lfbXNfd29yZF9pbnRlZ3JhdGlvbiA9ICB0aGlzLmZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfcG9saWN5X21zX3dvcmRfaW50ZWdyYXRpb24nKTtcbiAgfVxuXG5yZWRpcmVjdFVzZXJUb1dvcmRQb2xpY3koKSB7XG4gIHdpbmRvdy5vcGVuKFdPUkRfVVJMX0NPTlNUQU5UUy5uZXdfd29yZF9wb2xpY3lfdXJsLCAnX2JsYW5rJyk7XG4gIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gIHRoaXMuYmFzZVVSTCArIFdPUkRfVVJMX0NPTlNUQU5UUy53b3Jrcm9vbV91cmwgKyB0aGlzLnBvbGljeUlkO1xufVxuXG4gIGNyZWF0ZVdvcmRQb2xpY3koKSB7XG4gICAgdGhpcy5pc0xvYWRlciA9IHRydWU7XG4gICAgdGhpcy5wb2xpY3lBUElTZXJ2aWNlLmNyZWF0ZVdvcmRQb2xpY3kodGhpcy5wb2xpY3lJZCkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIGlmKHJlcyl7XG4gICAgICAgIHRoaXMucmVkaXJlY3RVc2VyVG9Xb3JkUG9saWN5KCk7XG4gICAgICB9ICAgICAgIFxuICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xuICAgIH0sXG4gICAgKGVycikgPT4ge1xuICAgICAgdGhpcy5pc0xvYWRlciA9IGZhbHNlO1xuICAgICAgdGhpcy5zbmFja0Jhci5zaG93KFxuICAgICAgICBXT1JEX0NPTlNUQU5UUy5jcmVhdGVXb3JkUG9saWN5X3NuYWNrYmFyX21lc3NhZ2UsXG4gICAgICAgICdhbGVydCdcbiAgICAgICk7XG4gICAgfVxuICApO1xuICB9XG5cbiAgaGFuZGxlRmlsZUlucHV0KGZpbGVzOiBGaWxlTGlzdCk6IHZvaWQge1xuICAgIHRoaXMuZmlsZVRvVXBsb2FkID0gZmlsZXNbMF07XG4gICAgdGhpcy5maWxlbmFtZSA9IHRoaXMuZmlsZVRvVXBsb2FkLm5hbWU7XG4gICAgdGhpcy5maWxlVHlwZSA9IHRoaXMuZmlsZVRvVXBsb2FkLm5hbWVcbiAgICAgIC5zbGljZShcbiAgICAgICAgdGhpcy5maWxlVG9VcGxvYWQubmFtZS5sYXN0SW5kZXhPZignLicpICsgMSxcbiAgICAgICAgdGhpcy5maWxlVG9VcGxvYWQubmFtZS5sZW5ndGhcbiAgICAgIClcbiAgICAgIC50b0xvd2VyQ2FzZSgpO1xuICAgIGlmICh0aGlzLmZpbGVUeXBlID09PSAncGRmJykge1xuICAgICAgdGhpcy51cGxvYWRGaWxlKHsgZmlsZTogdGhpcy5maWxlVG9VcGxvYWQsIGZpbGVUeXBlOiB0aGlzLmZpbGVUeXBlIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5maWxlVHlwZSA9PT0gJ2RvY3gnKSB7XG4gICAgICB0aGlzLnVwbG9hZEZpbGUoeyBmaWxlOiB0aGlzLmZpbGVUb1VwbG9hZCwgZmlsZVR5cGU6IHRoaXMuZmlsZVR5cGUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc25hY2tCYXIuc2hvdygnUGxlYXNlIHVwbG9hZCBhIHZhbGlkIGZpbGUnLCAnYWxlcnQnKTtcbiAgICB9XG4gIH1cbiAgc2hvd1BkZkJsb2NrID0gdHJ1ZTtcbiAgc2hvd0RvY3hCbG9jayA9IHRydWU7XG5cbiAgdXBsb2FkRmlsZShldmVudDogYW55KSB7XG4gICAgdGhpcy5pc1VwbG9hZGluZyA9IHRydWU7XG4gICAgaWYgKGV2ZW50LmZpbGVUeXBlID09PSAnZG9jeCcpIHtcbiAgICAgIHRoaXMuY2hhbmdlRG9jVHlwZSgnZG9jeCcpO1xuICAgICAgdGhpcy51cGxvYWREb2N4ZmlsZShldmVudCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5maWxlVHlwZSA9PT0gJ3BkZicpIHtcbiAgICAgIHRoaXMuY2hhbmdlRG9jVHlwZSgncGRmJyk7XG4gICAgICB0aGlzLnNob3dQZGZCbG9jayA9IGZhbHNlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2hvd1BkZkJsb2NrID0gdHJ1ZTtcbiAgICAgIH0sIDEwKTtcbiAgICAgIGNvbnN0IHVwbG9hZERhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIHVwbG9hZERhdGEuYXBwZW5kKCdmaWxlJywgZXZlbnQuZmlsZSk7XG4gICAgICBjb25zdCBwYXRoID0gJ28vJyArIHRoaXMub3JnYW5pemF0aW9uX2lkICsgJy9wb2xpY3kvJztcbiAgICAgIHRoaXMucG9saWN5U2VydmljZS51cGxvYWRGaWxlKHVwbG9hZERhdGEsIHRoaXMucG9saWN5SWQsIHBhdGgpLnN1YnNjcmliZShcbiAgICAgICAgKHJlcykgPT4ge1xuICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIHRoaXMuaXNVcGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KFxuICAgICAgICAgICAgXCJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgd2Ugd2VyZSB1bmFibGUgdG8gY29tcGxldGUgdGhpcyBhY3Rpb24uIExldCdzIGdpdmUgaXQgYW5vdGhlciB0cnksIHNoYWxsIHdlP1wiLFxuICAgICAgICAgICAgJ2FsZXJ0J1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgdXBsb2FkRG9jeGZpbGUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmVzZXREb2NzRXJyb3IoKTtcbiAgICB0aGlzLnNob3dEb2N4QmxvY2sgPSBmYWxzZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd0RvY3hCbG9jayA9IHRydWU7XG4gICAgfSwgMTApO1xuICAgIGNvbnN0IHVwbG9hZERhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICB1cGxvYWREYXRhLmFwcGVuZCgnZmlsZScsIGV2ZW50LmZpbGUpO1xuICAgIGNvbnN0IHBhdGggPSAnby8nICsgdGhpcy5vcmdhbml6YXRpb25faWQgKyAnL3BvbGljeS8nO1xuICAgIHRoaXMucG9saWN5U2VydmljZVxuICAgICAgLnVwbG9hZERvY3hGaWxlKHVwbG9hZERhdGEsIHRoaXMucG9saWN5SWQsIHBhdGgpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAocmVzPy5tZXNzYWdlPy5pbmNsdWRlcygnZG9uZScpKSB7XG4gICAgICAgICAgICAgIHRoaXMucmVzZXREb2NzRXJyb3IoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChyZXMubWVzc2FnZT8uaW5jbHVkZXMoJ1JhbmdlRXJyb3InKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jeEVycm9yID0ge1xuICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdUaGUgZmlsZSBzaXplIGlzIHRvbyBsYXJnZSBhbmQgY2Fubm90IGJlIHVwbG9hZGVkLicsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3hFcnJvciA9IHtcbiAgICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlOiAnT29wcyEgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgdXBsb2FkaW5nIHRoaXMgZmlsZS4nLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICB0aGlzLnNuYWNrQmFyLnNob3coXG4gICAgICAgICAgICBcIk9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB3ZSB3ZXJlIHVuYWJsZSB0byBjb21wbGV0ZSB0aGlzIGFjdGlvbi4gTGV0J3MgZ2l2ZSBpdCBhbm90aGVyIHRyeSwgc2hhbGwgd2U/XCIsXG4gICAgICAgICAgICAnYWxlcnQnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHJlc2V0RG9jc0Vycm9yKCkge1xuICAgIHRoaXMuZG9jeEVycm9yID0ge1xuICAgICAgdmlzaWJsZTogZmFsc2UsXG4gICAgICBtZXNzYWdlOiAnJyxcbiAgICB9O1xuICB9XG5cbiAgY2hhbmdlRG9jVHlwZShldmVudDogYW55KSB7XG4gICAgdGhpcy5yZXNldERvY3NFcnJvcigpO1xuICAgIHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUgPSBldmVudDtcbiAgICBpZiAoZXZlbnQgPT09ICd0ZW1wbGF0ZScpIHtcbiAgICAgIHRoaXMub3BlblRlbXBsYXRlTGlzdCgpO1xuICAgIH1cbiAgfVxuXG4gIGVkaXRvcihldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5kaXNjb25uZWN0UmVmcmVzaC5lbWl0KGZhbHNlKTtcblxuICAgIGlmIChldmVudCA9PT0gJ2RyYWZ0Jykge1xuICAgICAgLy8gSWYgaXQgaXMgYSBkcmFmdCBnbyBkaXJlY3RseSB0byB0aGUgZWRpdG9yXG4gICAgICBjb25zdCB1bmFtZSA9IHRoaXMudXNlckluZm8gPyB0aGlzLnVzZXJJbmZvLm5hbWUgOiAnJztcbiAgICAgIGNvbnN0IHVpZCA9IHRoaXMubWVtYmVyX29ial9pZDtcbiAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLnBvbGljeU5hbWUudHJpbSgpO1xuICAgICAgY29uc3QgaWQgPSB0aGlzLnBvbGljeUlkO1xuICAgICAgdGhpcy5pc0xvYWRlciA9IHRydWU7XG4gICAgICB0aGlzLnBvbGljeVNlcnZpY2VcbiAgICAgICAgLnNhdmVQb2xpY3lEZXRhaWxzKHVuYW1lLCB1aWQsIGlkLCBuYW1lLCAnJywgMClcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAocmVzKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgY29uc3QgdXJsID1cbiAgICAgICAgICAgICAgICB0aGlzLmJhc2VVUkwgKyAnL2FsbC9wb2xpY3kvZWRpdC1wb2xpY3k/aWQ9JyArIHRoaXMucG9saWN5SWQ7XG4gICAgICAgICAgICAgIHRoaXMuaWZyYW1lU2VydmljZS5yZWRpcmVjdElmSW5JZnJhbWUodXJsLCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIuc2hvdyhcbiAgICAgICAgICAgICAgXCJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgd2Ugd2VyZSB1bmFibGUgdG8gY29tcGxldGUgdGhpcyBhY3Rpb24uIExldCdzIGdpdmUgaXQgYW5vdGhlciB0cnksIHNoYWxsIHdlP1wiLFxuICAgICAgICAgICAgICAnYWxlcnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50ID09PSAnZG9jeCcpIHtcbiAgICAgIGNvbnN0IHVybCA9XG4gICAgICAgIHRoaXMuYmFzZVVSTCArICcvYWxsL3BvbGljeS9lZGl0LXBvbGljeT9pZD0nICsgdGhpcy5wb2xpY3lJZDtcbiAgICAgIHRoaXMuaWZyYW1lU2VydmljZS5yZWRpcmVjdElmSW5JZnJhbWUodXJsLCB0cnVlKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50ID09PSAnd29yZCcpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVXb3JkUG9saWN5KCk7XG4gICAgfSBlbHNlIGlmIChldmVudCA9PT0gJ3BkZicpIHtcbiAgICAgIC8vIElmIGl0IGlzIGEgcGRmIHNlbmQgdG8gdGhlIHdvcmtyb29tXG4gICAgICBjb25zdCB1cmwgPVxuICAgICAgICB0aGlzLmJhc2VVUkwgKyAnL2FsbC9wb2xpY3kvd29ya3Jvb20/aWQ9JyArIHRoaXMucG9saWN5SWQ7XG4gICAgICB0aGlzLmlmcmFtZVNlcnZpY2UucmVkaXJlY3RJZkluSWZyYW1lKHVybCwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChldmVudCA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgdGhpcy5pZnJhbWVTZXJ2aWNlLnJlZGlyZWN0SWZJbklmcmFtZSh0aGlzLnRlbXBsYXRlVXJsLCB0cnVlKTtcbiAgICB9XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ19kSWQnLCB0aGlzLnBvbGljeUlkKTtcbiAgfVxuICBlZGl0UG9saWN5RW1pdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlID0gJyc7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAnbGFzdEZpbGVOYW1lQW5kVHlwZScsXG4gICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUsXG4gICAgICAgIG5hbWU6IHRoaXMuZmlsZW5hbWUsXG4gICAgICAgIHBvbGljeUlkOiB0aGlzLnBvbGljeUlkLFxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuZWRpdFBvbGljeS5lbWl0KCk7XG4gIH1cblxuICBvcGVuVGVtcGxhdGVMaXN0KCkge1xuICAgIHRoaXMub3BlblRlbXBsYXRlLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRvY3VtZW50LXNlY3Rpb25cIiBbY2xhc3MuZ3JheXNjYWxlXT1cImlzVGVtcGxhdGVPcGVuZWRcIj5cbiAgPGRpdiBjbGFzcz1cImRvY3VtZW50LXNlY3Rpb24taW5uZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1ib3hcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgIGlkPVwiQ2FwYV8xXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgIHg9XCIwcHhcIlxuICAgICAgICB5PVwiMHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA0ODAuOCA0ODAuOFwiXG4gICAgICAgIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6IG5ldyAwIDAgNDgwLjggNDgwLjhcIlxuICAgICAgICB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9XCJmaWxsOiAjZmZkNTE3XCJcbiAgICAgICAgICBkPVwiTTMxNy4xMTIsMzE0LjRjLTIyLjQsMjIuNC0xOS42LDY3LjYtMTkuNiw2Ny42aC0xMTMuNmMwLDAsMi40LTQ1LjItMTkuNi02Ny42XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0yNC40LTIxLjYtNDAtNTIuOC00MC04Ny42YzAtNjQsNTItMTE2LDExNi0xMTZzMTE2LDUyLDExNiwxMTZDMzU2LjMxMiwyNjEuNiwzNDEuMTEyLDI5Mi44LDMxNy4xMTIsMzE0LjRMMzE3LjExMiwzMTQuNHpcIlxuICAgICAgICAvPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjZTVlNWU1XCJcbiAgICAgICAgICAgIGQ9XCJNMzAwLjcxMiw0MTcuNmMwLDYtNC44LDEwLjgtMTAuOCwxMC44aC05OC44Yy02LDAtMTAuOC00LjgtMTAuOC0xMC44bDAsMGMwLTYsNC44LTEwLjgsMTAuOC0xMC44XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg5OC40QzI5NS41MTIsNDA2LjgsMzAwLjcxMiw0MTEuNiwzMDAuNzEyLDQxNy42TDMwMC43MTIsNDE3LjZ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICNlNWU1ZTVcIlxuICAgICAgICAgICAgZD1cIk0yODUuOTEyLDQ2Mi40YzAsNi00LjgsMTAuOC0xMC44LDEwLjhoLTY5LjJjLTYsMC0xMC44LTQuOC0xMC44LTEwLjhsMCwwYzAtNiw0LjgtMTAuOCwxMC44LTEwLjhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaDY5LjJDMjgxLjExMiw0NTEuNiwyODUuOTEyLDQ1Ni40LDI4NS45MTIsNDYyLjRMMjg1LjkxMiw0NjIuNHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTMyMy4xMTIsMzE4LjRjMjYtMjMuNiw0MC44LTU2LjgsNDAuOC05MS42YzAtNjgtNTUuNi0xMjMuNi0xMjMuNi0xMjMuNnMtMTIzLjYsNTUuNi0xMjMuNiwxMjMuNlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMCwzNS42LDE1LjYsNjkuNiw0Miw5Mi44YzE5LjYsMTkuNiwxNy42LDYxLjIsMTcuNiw2MS42YzAsMiwwLjgsNCwyLDUuNmMxLjYsMS42LDMuNiwyLjQsNS42LDIuNGgxMTMuMmMyLDAsNC0wLjgsNS42LTIuNFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMi0zLjYsMi01LjZjMC0wLjQtMi00MiwxNy42LTYxLjZDMzIyLjcxMiwzMTkuMiwzMjMuMTEyLDMxOC44LDMyMy4xMTIsMzE4LjR6IE0zMTEuOTEyLDMwOC40Yy0wLjgsMC40LTEuMiwxLjItMS42LDJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0xNy42LDE4LjgtMjAuNCw0OS42LTIwLjgsNjRoLTk4Yy0wLjQtMTQuOC0zLjYtNDYuOC0yMi40LTY1LjZjLTIzLjYtMjAuOC0zNy4yLTUwLjQtMzcuMi04MS42YzAtNjAsNDguOC0xMDguNCwxMDguNC0xMDguNFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjNjAsMCwxMDguNCw0OC44LDEwOC40LDEwOC40QzM0OC43MTIsMjU4LDMzNS41MTIsMjg4LDMxMS45MTIsMzA4LjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICMyMTBiMjBcIlxuICAgICAgICAgICAgZD1cIk0yNDAuMzEyLDEzNS4yYy00LDAtNy42LDMuMi03LjYsNy42YzAsNCwzLjIsNy42LDcuNiw3LjZjNDQuOCwwLDgxLjIsMzYuNCw4MS4yLDgxLjJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzAsNCwzLjIsNy42LDcuNiw3LjZjNCwwLDcuNi0zLjIsNy42LTcuNkMzMzYuNzEyLDE3OC40LDI5My41MTIsMTM1LjIsMjQwLjMxMiwxMzUuMnpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTMwOC4zMTIsNDE3LjZjMC0xMC40LTguNC0xOC40LTE4LjQtMTguNGgtOTguOGMtMTAuNCwwLTE4LjQsOC40LTE4LjQsMTguNFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMCwxMC40LDguNCwxOC40LDE4LjQsMTguNGg5OC40QzI5OS45MTIsNDM2LDMwOC4zMTIsNDI4LDMwOC4zMTIsNDE3LjZ6IE0yODkuNTEyLDQyMC44aC05OC40Yy0yLDAtMy4yLTEuNi0zLjItMy4yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLTIsMS42LTMuMiwzLjItMy4yaDk4LjRjMiwwLDMuMiwxLjYsMy4yLDMuMkMyOTMuMTEyLDQxOS42LDI5MS41MTIsNDIwLjgsMjg5LjUxMiw0MjAuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTI3NS4xMTIsNDQ0aC02OS4yYy0xMC40LDAtMTguNCw4LjQtMTguNCwxOC40YzAsMTAuNCw4LjQsMTguNCwxOC40LDE4LjRoNjkuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMTAuNCwwLDE4LjQtOC40LDE4LjQtMTguNEMyOTMuNTEyLDQ1Mi40LDI4NS4xMTIsNDQ0LDI3NS4xMTIsNDQ0eiBNMjc1LjExMiw0NjUuNmgtNjkuMmMtMiwwLTMuMi0xLjYtMy4yLTMuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMC0yLDEuNi0zLjIsMy4yLTMuMmg2OS4yYzIsMCwzLjIsMS42LDMuMiwzLjJDMjc4LjMxMiw0NjQuNCwyNzcuMTEyLDQ2NS42LDI3NS4xMTIsNDY1LjZ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICMyMTBiMjBcIlxuICAgICAgICAgICAgZD1cIk0yNDcuOTEyLDU4LjhWNy42YzAtNC0zLjItNy42LTcuNi03LjZjLTQsMC03LjYsMy4yLTcuNiw3LjZ2NTEuNmMwLDQsMy4yLDcuNiw3LjYsNy42XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMyNDQuNzEyLDY2LjQsMjQ3LjkxMiw2My4yLDI0Ny45MTIsNTguOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTM2Ni4zMTIsMzhjLTMuNi0yLjQtOC0xLjItMTAuNCwybC0yOC40LDQyLjhjLTIuNCwzLjYtMS4yLDgsMiwxMC40YzEuMiwwLjgsMi44LDEuMiw0LDEuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMi40LDAsNC44LTEuMiw2LjQtMy4ybDI4LjQtNDIuOEMzNzAuNzEyLDQ1LjIsMzY5LjUxMiw0MC40LDM2Ni4zMTIsMzh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICMyMTBiMjBcIlxuICAgICAgICAgICAgZD1cIk0xNDkuOTEyLDkyLjhjMS4yLDAsMi44LTAuNCw0LTEuMmMzLjYtMi40LDQuNC02LjgsMi40LTEwLjRsLTI3LjYtNDMuMmMtMi40LTMuNi02LjgtNC40LTEwLjQtMi40XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtMy42LDIuNC00LjQsNi44LTIuNCwxMC40bDI3LjYsNDMuMkMxNDUuMTEyLDkxLjYsMTQ3LjUxMiw5Mi44LDE0OS45MTIsOTIuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTQzLjkxMiwxMjguOGw0NS4yLDI0LjRjMS4yLDAuOCwyLjQsMC44LDMuNiwwLjhjMi44LDAsNS4yLTEuNiw2LjgtNGMyLTMuNiwwLjgtOC40LTMuMi0xMC40XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwtNDUuMi0yNC40Yy0zLjYtMi04LjQtMC44LTEwLjQsMy4yQzM5LjExMiwxMjIuNCw0MC4zMTIsMTI2LjgsNDMuOTEyLDEyOC44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjMjEwYjIwXCJcbiAgICAgICAgICAgIGQ9XCJNMzg3LjkxMiwxNTQuNGMxLjIsMCwyLjQtMC40LDMuNi0wLjhsNDUuMi0yNC40YzMuNi0yLDUuMi02LjQsMy4yLTEwLjRjLTItMy42LTYuNC01LjItMTAuNC0zLjJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbC00NS4yLDI0LjRjLTMuNiwyLTUuMiw2LjQtMy4yLDEwLjRDMzgyLjMxMiwxNTIuOCwzODUuMTEyLDE1NC40LDM4Ny45MTIsMTU0LjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxwPlxuICAgICAgICBUaGVyZSBhcmUgbXVsdGlwbGUgd2F5cyB0byBjcmVhdGUgYSBwb2xpY3kgb24gVkNvbXBseS4gWW91IGNhbiBlaXRoZXJcbiAgICAgICAgZHJhZnQgaXQgZnJvbSBzY3JhdGNoIHVzaW5nIFZDb21wbHkncyBvbmxpbmUgZWRpdG9yIG9yIHVwbG9hZCBhblxuICAgICAgICBleGlzdGluZyBET0NYIG9yIFBERiBmaWxlLlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxsYWJlbFxuICAgICAgY2xhc3M9XCJkb2N1bWVudC1ib3hcIlxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PSAnZHJhZnQnXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgbmFtZT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VEb2NUeXBlKCdkcmFmdCcpXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT09ICdkcmFmdCdcIlxuICAgICAgLz5cbiAgICAgIDxzdmcgaWQ9XCJEcmFmdFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+XG4gICAgICAgIDxwYXRoIGlkPVwiUGF0aF8yMDQwMlwiIGRhdGEtbmFtZT1cIlBhdGggMjA0MDJcIiBkPVwiTTI4LDMySDRhNCw0LDAsMCwxLTQtNFY0QTQsNCwwLDAsMSw0LDBIMjhhNCw0LDAsMCwxLDQsNFYyOGE0LDQsMCwwLDEtNCw0XCIgZmlsbD1cIiM1NjVhNmZcIi8+XG4gICAgICAgIDxwYXRoIGlkPVwiUGF0aF8yMDQwM1wiIGRhdGEtbmFtZT1cIlBhdGggMjA0MDNcIiBkPVwiTTIxLjg4NCw4LjUxLDEwLjU0OSwxMC4zODQsMTIuNDI2LDIxLjA2bDQuMzgtLjYxYS4zMzMuMzMzLDAsMCwxLC4zMjYuNDM1Yy0uMDUxLjIxOS0uMzM4LjIzNS0uNTE0LjI2Ny0xLjQ3NC4yNjYtMy4wMDkuMzg4LTQuNDkxLjYzMS0uNDE2LS4wMzItLjMyMS0uNzE4LS40NDEtMWwtMy0uMzY1Yy0uMjEzLS4xMi0uMi0uMjczLS4yLS40OTIuMDE5LS42MjIuMDkyLTEuMjUxLjEyNS0xLjg3Mi4xNi0zLC4zMTYtNiwuNS04Ljk5M0E5LjQ1Nyw5LjQ1NywwLDAsMSw5LjE1Miw4LjFhLjM2OS4zNjksMCwwLDEsLjI2NS0uM2w4LjUxOS42ODFMMjIuMiw3LjhjLjIyNS4wNjguMjQ2LjE5LjMuMzkzLjU1MywyLjI4OC43NTgsNC43NzUsMS4yODUsNy4wODMuMTQzLjUzMS0uNTA3LjczMS0uNjQyLjJaTTE3LjIxMSwyMS45MzJhLjU2My41NjMsMCwwLDAtLjA3Mi4yNCw4LjU0OSw4LjU0OSwwLDAsMCwwLDEuMTg3Yy4wMTkuMjE3LjA4OC4zOTMuMzI4LjQyMWE5LjEzOCw5LjEzOCwwLDAsMCwxLjQ0OC0uMDIxLjUzLjUzLDAsMCwwLC4xMjItLjA2NWwzLjc1Ni0zLjc3MUwyMSwxOC4xM1ptNS4zMjktNS4zNWMtLjM2NS4yODYtLjcuNzU3LTEuMDYxLDEuMDYyTDIzLjMsMTkuNDM3Yy4zLS4zNS43NzctLjY4NywxLjA1LTEuMDQ0LjE1LS4yLjE3NC0uMzEyLjAxNy0uNTE2YTEzLjg1MSwxMy44NTEsMCwwLDAtMS4zMjctMS4zMjcuMzkzLjM5MywwLDAsMC0uMjMtLjEuNDc2LjQ3NiwwLDAsMC0uMjcxLjEzXCIgZmlsbD1cIiNmZmZcIi8+XG4gICAgICA8L3N2Zz5cbiAgICAgIFxuICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXJpZ2h0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPjxzdHJvbmc+Q3JlYXRlPC9zdHJvbmc+IGEgUG9saWN5PC9kaXY+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgZG9jdW1lbnQtYm94LWljb24gdngtZnMtMTYgdngtbXItMlwiPiYjeGVhNDY7PC9pPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stY2lyY2xlXCI+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25cIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaXJjbGVcIlxuICAgICAgICAgICAgICBjeD1cIjI2XCJcbiAgICAgICAgICAgICAgY3k9XCIyNlwiXG4gICAgICAgICAgICAgIHI9XCIyNVwiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cblxuICAgIFxuICAgIDxsYWJlbFxuICAgICAgKm5nSWY9XCJmZl9wb2xpY3lfbXNfd29yZF9pbnRlZ3JhdGlvblwiXG4gICAgICBjbGFzcz1cImRvY3VtZW50LWJveFwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICd3b3JkJ1wiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIG5hbWU9XCJzZWxlY3RlZERvY3VtZW50VHlwZVwiXG4gICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlRG9jVHlwZSgnd29yZCcpXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT09ICd3b3JkJ1wiXG4gICAgICAvPlxuICAgICAgPHN2ZyBpZD1cIldvcmQtSWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+XG4gICAgICAgIDxwYXRoIGlkPVwiUGF0aF8yMDQwNFwiIGRhdGEtbmFtZT1cIlBhdGggMjA0MDRcIiBkPVwiTTI4LDMySDRhNCw0LDAsMCwxLTQtNFY0QTQsNCwwLDAsMSw0LDBIMjhhNCw0LDAsMCwxLDQsNFYyOGE0LDQsMCwwLDEtNCw0XCIgZmlsbD1cIiMxZTVkZDNcIi8+XG4gICAgICAgIDxwYXRoIGlkPVwiUGF0aF8yMDQwNVwiIGRhdGEtbmFtZT1cIlBhdGggMjA0MDVcIiBkPVwiTTEwLjQxOSw5LjcxOGwxLjg4OSw5LjEyMUwxMi40NCwyMGwuMTMyLS44ODUsMi4xNTItOS40LDIuNjI2LjAxOCwyLjE4Nyw5LjEwNi4xNzQsMS4xMzJhMTMuNCwxMy40LDAsMCwxLC4xNzQtMS4zNTJjLjUtMi45NTQsMS4xODgtNS44OCwxLjctOC44MzJsLjA0LS4wN0gyNEwyMS4wODUsMjIuMjgxbC0yLjgxOC0uMDI2TDE1LjkzMSwxMi4yMmwtLjE2LDEuMDc3LTIuMDE1LDguOTg2LTIuODI5LS4wMjhMOCw5LjcxOFpcIiBmaWxsPVwiI2ZmZlwiLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgXG4gICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtcmlnaHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+e3tjcmVhdGVXb3JkUG9saWN5VGV4dH19PC9kaXY+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgZG9jdW1lbnQtYm94LWljb24gdngtZnMtMTYgdngtbXItMlwiPiYjeGVhNDY7PC9pPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stY2lyY2xlXCI+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25cIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaXJjbGVcIlxuICAgICAgICAgICAgICBjeD1cIjI2XCJcbiAgICAgICAgICAgICAgY3k9XCIyNlwiXG4gICAgICAgICAgICAgIHI9XCIyNVwiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cblxuXG5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwiZG9jdW1lbnQtYm94XCJcbiAgICAgICpuZ0lmPVwic2hvd0RvY3hCbG9ja1wiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdkb2N4JyAmJiAhZG9jeEVycm9yPy52aXNpYmxlXCJcbiAgICAgIFtjbGFzcy5lcnJvcl09XCJkb2N4RXJyb3I/LnZpc2libGVcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgIGFjY2VwdD1cIi5kb2N4XCJcbiAgICAgICAgaWQ9XCJET0NmaWxlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVGaWxlSW5wdXQoJGV2ZW50LnRhcmdldC5maWxlcylcIlxuICAgICAgICBvbmNsaWNrPVwiZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCJcbiAgICAgICAgI2RvY3hVcGxvYWRCdXR0b25cbiAgICAgIC8+XG4gICAgICA8c3ZnIGlkPVwiV29yZC1JY29uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzIwNDA0XCIgZGF0YS1uYW1lPVwiUGF0aCAyMDQwNFwiIGQ9XCJNMjgsMzJINGE0LDQsMCwwLDEtNC00VjRBNCw0LDAsMCwxLDQsMEgyOGE0LDQsMCwwLDEsNCw0VjI4YTQsNCwwLDAsMS00LDRcIiBmaWxsPVwiIzFlNWRkM1wiLz5cbiAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzIwNDA1XCIgZGF0YS1uYW1lPVwiUGF0aCAyMDQwNVwiIGQ9XCJNMTAuNDE5LDkuNzE4bDEuODg5LDkuMTIxTDEyLjQ0LDIwbC4xMzItLjg4NSwyLjE1Mi05LjQsMi42MjYuMDE4LDIuMTg3LDkuMTA2LjE3NCwxLjEzMmExMy40LDEzLjQsMCwwLDEsLjE3NC0xLjM1MmMuNS0yLjk1NCwxLjE4OC01Ljg4LDEuNy04LjgzMmwuMDQtLjA3SDI0TDIxLjA4NSwyMi4yODFsLTIuODE4LS4wMjZMMTUuOTMxLDEyLjIybC0uMTYsMS4wNzctMi4wMTUsOC45ODYtMi44MjktLjAyOEw4LDkuNzE4WlwiIGZpbGw9XCIjZmZmXCIvPlxuICAgICAgPC9zdmc+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1yaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShzZWxlY3RlZERvY3VtZW50VHlwZSA9PSAnZG9jeCcgJiYgZmlsZW5hbWUpXCJcbiAgICAgICAgICAgID5VcGxvYWQgYSA8c3Ryb25nPkRPQ1g8L3N0cm9uZz48L25nLWNvbnRhaW5lclxuICAgICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ2RvY3gnICYmIGZpbGVuYW1lXCI+e3tcbiAgICAgICAgICAgIGZpbGVuYW1lXG4gICAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tc2ctdGV4dFwiICpuZ0lmPVwiZG9jeEVycm9yPy52aXNpYmxlXCI+XG4gICAgICAgICAge3sgZG9jeEVycm9yPy5tZXNzYWdlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aSBjbGFzcz1cImljb25zIGRvY3VtZW50LWJveC1pY29uIHZ4LWZzLTE2IHZ4LW1yLTJcIj4mI3hlYTk3OzwvaT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLWNpcmNsZVwiICpuZ0lmPVwiIWRvY3hFcnJvcj8udmlzaWJsZVwiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCA1MiA1MlwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGNpcmNsZVxuICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCJcbiAgICAgICAgICAgICAgY3g9XCIyNlwiXG4gICAgICAgICAgICAgIGN5PVwiMjZcIlxuICAgICAgICAgICAgICByPVwiMjVcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBkPVwiTTE0LjEgMjcuMmw3LjEgNy4yIDE2LjctMTYuOFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBlcnJvci1pY29uXCIgKm5nSWY9XCJkb2N4RXJyb3I/LnZpc2libGVcIj4mI3hlOTE0OzwvaT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImxpbmUtcHJvZ3Jlc3NcIlxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdkb2N4JyAmJiBpc1VwbG9hZGluZ1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLXByb2dyZXNzLWJhclwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwiZG9jdW1lbnQtYm94XCJcbiAgICAgICpuZ0lmPVwic2hvd1BkZkJsb2NrXCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ3BkZidcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgIGFjY2VwdD1cIi5wZGZcIlxuICAgICAgICBpZD1cIlBERmZpbGVcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUZpbGVJbnB1dCgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiXG4gICAgICAgIG9uY2xpY2s9XCJldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAjcGRmVXBsb2FkQnV0dG9uXG4gICAgICAvPlxuICAgICAgPHN2ZyBpZD1cIlBERi1JY29uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzIwNDA4XCIgZGF0YS1uYW1lPVwiUGF0aCAyMDQwOFwiIGQ9XCJNMjgsMzJINGE0LDQsMCwwLDEtNC00VjRBNCw0LDAsMCwxLDQsMEgyOGE0LDQsMCwwLDEsNCw0VjI4YTQsNCwwLDAsMS00LDRcIiBmaWxsPVwiI2E4MmExZFwiLz5cbiAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzIwNDA5XCIgZGF0YS1uYW1lPVwiUGF0aCAyMDQwOVwiIGQ9XCJNMTYuMTI1LDEzLjc3OEExLjM5LDEuMzksMCwwLDAsMTYuMjg1LDE1YTE2LjEwNiwxNi4xMDYsMCwwLDAsMi4xMDYsMi41NTRjLjMxMi0uMDQ1LjYtLjA0NywxLjItLjA5MmE2Ljk2NCw2Ljk2NCwwLDAsMSwzLjYxNi4yMzksMS4zMSwxLjMxLDAsMCwxLC43ODQsMS4zNjEsMS4xNzYsMS4xNzYsMCwwLDEtMS4wNzUuOTgxYy0yLjIyNC4zMzYtMy4zMDUtLjktNC41NzktMS43NDZhMi4wOTQsMi4wOTQsMCwwLDAtLjgxMi4wMjEsMjUuNzgyLDI1Ljc4MiwwLDAsMC0zLjQxMi45MTZjLS4yNTMuMDg5LS4zMzguMy0uNTMzLjYwOWExMS4wNjIsMTEuMDYyLDAsMCwxLTIuODIsMy40MjcsMi4xNDUsMi4xNDUsMCwwLDEtMS44NjEuNDQ1Yy0xLS4yMjItMS4xNzgtMS4xODItLjUtMS45NDJBOS40NTIsOS40NTIsMCwwLDEsMTAsMjAuNDYyYTE0LjcxNCwxNC43MTQsMCwwLDEsMi40MTgtMS4xMDljLjQ5MS0uNDYxLjU1Ni0uNjg2Ljk2Ni0xLjc2NC40MzEtMS4xMzYuOTIyLTIuMjUsMS4zMjQtMy40YTEuNjc5LDEuNjc5LDAsMCwwLS4wMzUtMS4wNjIsNy43LDcuNywwLDAsMS0uNjM4LTMuNDc2LDEuNCwxLjQsMCwwLDEsLjk1OS0xLjM5MywxLjI3OSwxLjI3OSwwLDAsMSwxLjQ2NC44Yy4yLjQ3OS41NTIsMS43NS0uMzMxLDQuNzI4bS0uMzc3LDEuMzc3LTEuNDE4LDMuNDIyLDMuMzUzLS44ODMtMS45MzUtMi41MzltMy4yMjIsMi44ODJBNC41LDQuNSwwLDAsMCwyMS45MiwxOS4zN2MuMzc3LDAsLjcxNC0uMTMxLjczMy0uNi4wNTEtMS4yNTEtMi42NTYtLjg2NC0zLjY4Mi0uNzNtLTYuOTYsMi4wMzdhOS43ODgsOS43ODgsMCwwLDAtMi45NzUsMS44Yy0uMjE4LjE3MS0uNDQ2LjcxOC0uMjgyLjk4NHMuODEuMDY3LDEtLjEyYTkuMjksOS4yOSwwLDAsMCwyLjI1My0yLjY2NG0zLjI0Ni03LjI0M2MtLjA0NS0uODc4LjQ2MS0yLjE3Mi40MzctMy4yMjQtLjAwOC0uMzU1LS4wNTEtLjc0Ny0uNS0uNzcyLS4zNjQtLjAyLS41MzQuNDc2LS41NjkuNzYyYTUuOCw1LjgsMCwwLDAsLjYzNiwzLjIzNFwiIGZpbGw9XCIjZmZmXCIvPlxuICAgICAgPC9zdmc+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1yaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShzZWxlY3RlZERvY3VtZW50VHlwZSA9PSAncGRmJyAmJiBmaWxlbmFtZSlcIlxuICAgICAgICAgICAgPlVwbG9hZCBhIDxzdHJvbmc+UERGPC9zdHJvbmc+PC9uZy1jb250YWluZXJcbiAgICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdwZGYnICYmIGZpbGVuYW1lXCI+e3tcbiAgICAgICAgICAgIGZpbGVuYW1lXG4gICAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgZG9jdW1lbnQtYm94LWljb24gdngtZnMtMTYgdngtbXItMlwiPiYjeGVhOTc7PC9pPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2stY2lyY2xlXCI+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25cIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaXJjbGVcIlxuICAgICAgICAgICAgICBjeD1cIjI2XCJcbiAgICAgICAgICAgICAgY3k9XCIyNlwiXG4gICAgICAgICAgICAgIHI9XCIyNVwiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibGluZS1wcm9ncmVzc1wiXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ3BkZicgJiYgaXNVcGxvYWRpbmdcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGluZS1wcm9ncmVzcy1iYXJcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbGFiZWw+XG4gICAgPCEtLSBTZWxlY3QgYSB0ZW1wbGF0ZSAtLT5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwiZG9jdW1lbnQtYm94XCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT09ICd0ZW1wbGF0ZSdcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBuYW1lPVwic2VsZWN0ZWREb2N1bWVudFR5cGVcIlxuICAgICAgICAoY2hhbmdlKT1cImNoYW5nZURvY1R5cGUoJ3RlbXBsYXRlJylcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PT0gJ3RlbXBsYXRlJ1wiXG4gICAgICAvPlxuICAgICAgPHN2ZyBpZD1cIlRNUC1JY29uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj5cbiAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzIwNDA2XCIgZGF0YS1uYW1lPVwiUGF0aCAyMDQwNlwiIGQ9XCJNMjgsMzJINGE0LDQsMCwwLDEtNC00VjRBNCw0LDAsMCwxLDQsMEgyOGE0LDQsMCwwLDEsNCw0VjI4YTQsNCwwLDAsMS00LDRcIiBmaWxsPVwiIzM0YWE0NFwiLz5cbiAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzIwNDEwXCIgZGF0YS1uYW1lPVwiUGF0aCAyMDQxMFwiIGQ9XCJNMTYsMS43NzhWMy41NTVIMFYxLjc3OEExLjc4MywxLjc4MywwLDAsMSwxLjc3OCwwSDE0LjIyM0ExLjc4MywxLjc4MywwLDAsMSwxNiwxLjc3OE0wLDQuNDQ0SDE2djguODg5YTEuNzc4LDEuNzc4LDAsMCwxLTEuNzc3LDEuNzc4SDEuNzc4QTEuNzc4LDEuNzc4LDAsMCwxLDAsMTMuMzMzWk02Ljk5LDkuOTI4QS44OTEuODkxLDAsMCwwLDYuMSw5LjAzOUgzLjY0MmEuODkxLjg5MSwwLDAsMC0uODg4Ljg4OXYyLjQ1NmEuODkxLjg5MSwwLDAsMCwuODg4Ljg4OUg2LjFhLjg5MS44OTEsMCwwLDAsLjg4OC0uODg5Wm02LjMwNiwwYS44OTIuODkyLDAsMCwwLS44ODktLjg4OUg5Ljk0OGEuODkxLjg5MSwwLDAsMC0uODg4Ljg4OXYyLjQ1NmEuODkxLjg5MSwwLDAsMCwuODg4Ljg4OWgyLjQ1OWEuODkyLjg5MiwwLDAsMCwuODg5LS44ODlaTTIuNjY3LDcuMTExQS44ODkuODg5LDAsMCwwLDMuNTU2LDhoOC44ODlhLjg4OS44ODksMCwwLDAsMC0xLjc3OEgzLjU1NmEuODg5Ljg4OSwwLDAsMC0uODg5Ljg4OVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4IDcuOTk5KVwiIGZpbGw9XCIjZmZmXCIvPlxuICAgICAgPC9zdmc+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1yaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5EcmFmdCBVc2luZyBhIDxzdHJvbmc+VGVtcGxhdGU8L3N0cm9uZz48L2Rpdj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBkb2N1bWVudC1ib3gtaWNvbiB2eC1mcy0xNiB2eC1tci0yXCI+JiN4ZWE0Njs8L2k+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXG4gICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICBjeT1cIjI2XCJcbiAgICAgICAgICAgICAgcj1cIjI1XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuICAgIDwhLS0gRW5kIFNlbGVjdCBhIHRlbXBsYXRlIC0tPlxuICAgIDxhcHAtbG9hZGVyLWlubGluZSAqbmdJZj1cImlzTG9hZGVyXCI+PC9hcHAtbG9hZGVyLWlubGluZT5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJib3R0b20tYnV0dG9uXCIgW2NsYXNzLmdyYXlzY2FsZV09XCJpc1RlbXBsYXRlT3BlbmVkXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiZWRpdFBvbGljeUVtaXQoKVwiXG4gICAgY2xhc3M9XCJiYWNrXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiaXNUZW1wbGF0ZU9wZW5lZFwiXG4gID5cbiAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxZDs8L2k+IEJhY2tcbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiZWRpdG9yKHNlbGVjdGVkRG9jdW1lbnRUeXBlKVwiXG4gICAgY2xhc3M9XCJuZXh0XCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIXNlbGVjdGVkRG9jdW1lbnRUeXBlIHx8IGlzVGVtcGxhdGVPcGVuZWQgfHwgaXNMb2FkZXJcIlxuICA+XG4gICAgTmV4dCA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxZTs8L2k+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2RvY3VtZW50LXNlY3Rpb24vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2RvY3VtZW50LXNlY3Rpb24vZG9jdW1lbnQtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBVXZCLE1BQU0sT0FBTyx3QkFBd0I7SUE0Qm5DLFlBQ1UsUUFBeUIsRUFDekIsYUFBNEIsRUFDNUIsTUFBYyxFQUNkLEtBQXFCLEVBQzdCLGdCQUFrQyxFQUMxQixhQUE0QjtRQUw1QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFFckIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFoQ3RDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUNaLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxRQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ1osZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNSLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMxQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixhQUFRLEdB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O0lBQ0QsY0FBYztRQUNaLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDL0IsWUFBWSxDQUFDLE9BQU8sQ0FDbEIscUJBQXFCLEVBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtZQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQXZPVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixrZUNuQnJDLHM1NUJBMHhCQTs7NEZEdndCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCOytPQWF2QixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBQb2xpY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcG9saWN5LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWZyYW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2lmcmFtZS5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1kb2N1bWVudC1zZWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50LXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb2N1bWVudC1zZWN0aW9uLmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERvY3VtZW50U2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgcHJpdmF0ZSBmaWxlVG9VcGxvYWQ6IGFueTtcbiAgZmlsZW5hbWUgPSAnJztcbiAgZmlsZVR5cGUgPSAnJztcbiAgcGRmID0gZmFsc2U7XG4gIGRyYWZ0ID0gZmFsc2U7XG4gIGRvYyA9IGZhbHNlO1xuICBpc1VwbG9hZGluZyA9IGZhbHNlO1xuICBpc0xvYWRlciA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3RlZERvY3VtZW50VHlwZSA9ICcnO1xuICBASW5wdXQoKSB0ZW1wbGF0ZVZpZXcgPSBmYWxzZTtcbiAgQElucHV0KCkgcG9saWN5SWQ6IGFueSA9ICcnO1xuICBASW5wdXQoKSBwb2xpY3lOYW1lOiBhbnkgPSAnJztcbiAgQElucHV0KCkgb3JnYW5pemF0aW9uX2lkOiBhbnkgPSAnJztcbiAgQElucHV0KCkgbWVtYmVyX29ial9pZDogYW55O1xuICBASW5wdXQoKSB1c2VySW5mbzogYW55O1xuICBASW5wdXQoKSB0ZW1wbGF0ZVVybDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGlzVGVtcGxhdGVPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIGRpc2Nvbm5lY3RSZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZWRpdFBvbGljeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9wZW5UZW1wbGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBiYXNlVVJMID0gJyc7XG4gIGRvY3hFcnJvciA9IHtcbiAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICBtZXNzYWdlOiAnJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwb2xpY3lTZXJ2aWNlOiBQb2xpY3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcGxhdGZvcm1Mb2NhdGlvbjogUGxhdGZvcm1Mb2NhdGlvbixcbiAgICBwcml2YXRlIGlmcmFtZVNlcnZpY2U6IElmcmFtZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5iYXNlVVJMID0gbG9jYXRpb24/Lm9yaWdpbjtcbiAgICBpZiAodGhpcy5iYXNlVVJMID09ICdodHRwOi8vbG9jYWxob3N0OjQyMDAnKSB7XG4gICAgICB0aGlzLmJhc2VVUkwgPSAnaHR0cHM6Ly9kZXYudi1jb21wbHkuY29tJztcbiAgICB9XG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzPy50ZW1wbGF0ZVZpZXc/LmN1cnJlbnRWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUgPSAnJztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYXN0RmlsZU5hbWVBbmRUeXBlJykgPz8gJ1wie31cIidcbiAgICApO1xuICAgIGlmIChcbiAgICAgIGRhdGEubmFtZSAhPT0gbnVsbCAmJlxuICAgICAgZGF0YS5uYW1lICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGRhdGEudHlwZSAhPT0gbnVsbCAmJlxuICAgICAgZGF0YS50eXBlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGRhdGEucG9saWN5SWQgPT0gdGhpcy5wb2xpY3lJZFxuICAgICkge1xuICAgICAgdGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZSA9IGRhdGEudHlwZTtcbiAgICAgIHRoaXMuZmlsZW5hbWUgPSBkYXRhLm5hbWU7XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnbGFzdEZpbGVOYW1lQW5kVHlwZScpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUZpbGVJbnB1dChmaWxlczogRmlsZUxpc3QpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVUb1VwbG9hZCA9IGZpbGVzWzBdO1xuICAgIHRoaXMuZmlsZW5hbWUgPSB0aGlzLmZpbGVUb1VwbG9hZC5uYW1lO1xuICAgIHRoaXMuZmlsZVR5cGUgPSB0aGlzLmZpbGVUb1VwbG9hZC5uYW1lXG4gICAgICAuc2xpY2UoXG4gICAgICAgIHRoaXMuZmlsZVRvVXBsb2FkLm5hbWUubGFzdEluZGV4T2YoJy4nKSArIDEsXG4gICAgICAgIHRoaXMuZmlsZVRvVXBsb2FkLm5hbWUubGVuZ3RoXG4gICAgICApXG4gICAgICAudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAodGhpcy5maWxlVHlwZSA9PT0gJ3BkZicpIHtcbiAgICAgIHRoaXMudXBsb2FkRmlsZSh7IGZpbGU6IHRoaXMuZmlsZVRvVXBsb2FkLCBmaWxlVHlwZTogdGhpcy5maWxlVHlwZSB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmlsZVR5cGUgPT09ICdkb2N4Jykge1xuICAgICAgdGhpcy51cGxvYWRGaWxlKHsgZmlsZTogdGhpcy5maWxlVG9VcGxvYWQsIGZpbGVUeXBlOiB0aGlzLmZpbGVUeXBlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNuYWNrQmFyLnNob3coJ1BsZWFzZSB1cGxvYWQgYSB2YWxpZCBmaWxlJywgJ2FsZXJ0Jyk7XG4gICAgfVxuICB9XG4gIHNob3dQZGZCbG9jayA9IHRydWU7XG4gIHNob3dEb2N4QmxvY2sgPSB0cnVlO1xuXG4gIHVwbG9hZEZpbGUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuaXNVcGxvYWRpbmcgPSB0cnVlO1xuICAgIGlmIChldmVudC5maWxlVHlwZSA9PT0gJ2RvY3gnKSB7XG4gICAgICB0aGlzLmNoYW5nZURvY1R5cGUoJ2RvY3gnKTtcbiAgICAgIHRoaXMudXBsb2FkRG9jeGZpbGUoZXZlbnQpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuZmlsZVR5cGUgPT09ICdwZGYnKSB7XG4gICAgICB0aGlzLmNoYW5nZURvY1R5cGUoJ3BkZicpO1xuICAgICAgdGhpcy5zaG93UGRmQmxvY2sgPSBmYWxzZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNob3dQZGZCbG9jayA9IHRydWU7XG4gICAgICB9LCAxMCk7XG4gICAgICBjb25zdCB1cGxvYWREYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICB1cGxvYWREYXRhLmFwcGVuZCgnZmlsZScsIGV2ZW50LmZpbGUpO1xuICAgICAgY29uc3QgcGF0aCA9ICdvLycgKyB0aGlzLm9yZ2FuaXphdGlvbl9pZCArICcvcG9saWN5Lyc7XG4gICAgICB0aGlzLnBvbGljeVNlcnZpY2UudXBsb2FkRmlsZSh1cGxvYWREYXRhLCB0aGlzLnBvbGljeUlkLCBwYXRoKS5zdWJzY3JpYmUoXG4gICAgICAgIChyZXMpID0+IHtcbiAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICB0aGlzLmlzVXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuc25hY2tCYXIuc2hvdyhcbiAgICAgICAgICAgIFwiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHdlIHdlcmUgdW5hYmxlIHRvIGNvbXBsZXRlIHRoaXMgYWN0aW9uLiBMZXQncyBnaXZlIGl0IGFub3RoZXIgdHJ5LCBzaGFsbCB3ZT9cIixcbiAgICAgICAgICAgICdhbGVydCdcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHVwbG9hZERvY3hmaWxlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnJlc2V0RG9jc0Vycm9yKCk7XG4gICAgdGhpcy5zaG93RG9jeEJsb2NrID0gZmFsc2U7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dEb2N4QmxvY2sgPSB0cnVlO1xuICAgIH0sIDEwKTtcbiAgICBjb25zdCB1cGxvYWREYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgdXBsb2FkRGF0YS5hcHBlbmQoJ2ZpbGUnLCBldmVudC5maWxlKTtcbiAgICBjb25zdCBwYXRoID0gJ28vJyArIHRoaXMub3JnYW5pemF0aW9uX2lkICsgJy9wb2xpY3kvJztcbiAgICB0aGlzLnBvbGljeVNlcnZpY2VcbiAgICAgIC51cGxvYWREb2N4RmlsZSh1cGxvYWREYXRhLCB0aGlzLnBvbGljeUlkLCBwYXRoKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHJlcz8ubWVzc2FnZT8uaW5jbHVkZXMoJ2RvbmUnKSkge1xuICAgICAgICAgICAgICB0aGlzLnJlc2V0RG9jc0Vycm9yKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAocmVzLm1lc3NhZ2U/LmluY2x1ZGVzKCdSYW5nZUVycm9yJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3hFcnJvciA9IHtcbiAgICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlOiAnVGhlIGZpbGUgc2l6ZSBpcyB0b28gbGFyZ2UgYW5kIGNhbm5vdCBiZSB1cGxvYWRlZC4nLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N4RXJyb3IgPSB7XG4gICAgICAgICAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ09vcHMhIEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHVwbG9hZGluZyB0aGlzIGZpbGUuJyxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KFxuICAgICAgICAgICAgXCJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgd2Ugd2VyZSB1bmFibGUgdG8gY29tcGxldGUgdGhpcyBhY3Rpb24uIExldCdzIGdpdmUgaXQgYW5vdGhlciB0cnksIHNoYWxsIHdlP1wiLFxuICAgICAgICAgICAgJ2FsZXJ0J1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICByZXNldERvY3NFcnJvcigpIHtcbiAgICB0aGlzLmRvY3hFcnJvciA9IHtcbiAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgfTtcbiAgfVxuXG4gIGNoYW5nZURvY1R5cGUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmVzZXREb2NzRXJyb3IoKTtcbiAgICB0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlID0gZXZlbnQ7XG4gICAgaWYgKGV2ZW50ID09PSAndGVtcGxhdGUnKSB7XG4gICAgICB0aGlzLm9wZW5UZW1wbGF0ZUxpc3QoKTtcbiAgICB9XG4gIH1cblxuICBlZGl0b3IoZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMuZGlzY29ubmVjdFJlZnJlc2guZW1pdChmYWxzZSk7XG5cbiAgICBpZiAoZXZlbnQgPT09ICdkcmFmdCcpIHtcbiAgICAgIC8vIElmIGl0IGlzIGEgZHJhZnQgZ28gZGlyZWN0bHkgdG8gdGhlIGVkaXRvclxuICAgICAgY29uc3QgdW5hbWUgPSB0aGlzLnVzZXJJbmZvID8gdGhpcy51c2VySW5mby5uYW1lIDogJyc7XG4gICAgICBjb25zdCB1aWQgPSB0aGlzLm1lbWJlcl9vYmpfaWQ7XG4gICAgICBjb25zdCBuYW1lID0gdGhpcy5wb2xpY3lOYW1lLnRyaW0oKTtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5wb2xpY3lJZDtcbiAgICAgIHRoaXMuaXNMb2FkZXIgPSB0cnVlO1xuICAgICAgdGhpcy5wb2xpY3lTZXJ2aWNlXG4gICAgICAgIC5zYXZlUG9saWN5RGV0YWlscyh1bmFtZSwgdWlkLCBpZCwgbmFtZSwgJycsIDApXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgICAgIGNvbnN0IHVybCA9XG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlVVJMICsgJy9hbGwvcG9saWN5L2VkaXQtcG9saWN5P2lkPScgKyB0aGlzLnBvbGljeUlkO1xuICAgICAgICAgICAgICB0aGlzLmlmcmFtZVNlcnZpY2UucmVkaXJlY3RJZkluSWZyYW1lKHVybCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyLnNob3coXG4gICAgICAgICAgICAgIFwiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHdlIHdlcmUgdW5hYmxlIHRvIGNvbXBsZXRlIHRoaXMgYWN0aW9uLiBMZXQncyBnaXZlIGl0IGFub3RoZXIgdHJ5LCBzaGFsbCB3ZT9cIixcbiAgICAgICAgICAgICAgJ2FsZXJ0J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSBlbHNlIGlmIChldmVudCA9PT0gJ2RvY3gnKSB7XG4gICAgICBjb25zdCB1cmwgPVxuICAgICAgICB0aGlzLmJhc2VVUkwgKyAnL2FsbC9wb2xpY3kvZWRpdC1wb2xpY3k/aWQ9JyArIHRoaXMucG9saWN5SWQ7XG4gICAgICB0aGlzLmlmcmFtZVNlcnZpY2UucmVkaXJlY3RJZkluSWZyYW1lKHVybCwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChldmVudCA9PT0gJ3BkZicpIHtcbiAgICAgIC8vIElmIGl0IGlzIGEgcGRmIHNlbmQgdG8gdGhlIHdvcmtyb29tXG4gICAgICBjb25zdCB1cmwgPVxuICAgICAgICB0aGlzLmJhc2VVUkwgKyAnL2FsbC9wb2xpY3kvd29ya3Jvb20/aWQ9JyArIHRoaXMucG9saWN5SWQ7XG4gICAgICB0aGlzLmlmcmFtZVNlcnZpY2UucmVkaXJlY3RJZkluSWZyYW1lKHVybCwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChldmVudCA9PT0gJ3RlbXBsYXRlJykge1xuICAgICAgdGhpcy5pZnJhbWVTZXJ2aWNlLnJlZGlyZWN0SWZJbklmcmFtZSh0aGlzLnRlbXBsYXRlVXJsLCB0cnVlKTtcbiAgICB9XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ19kSWQnLCB0aGlzLnBvbGljeUlkKTtcbiAgfVxuICBlZGl0UG9saWN5RW1pdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlID0gJyc7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAnbGFzdEZpbGVOYW1lQW5kVHlwZScsXG4gICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUsXG4gICAgICAgIG5hbWU6IHRoaXMuZmlsZW5hbWUsXG4gICAgICAgIHBvbGljeUlkOiB0aGlzLnBvbGljeUlkLFxuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuZWRpdFBvbGljeS5lbWl0KCk7XG4gIH1cblxuICBvcGVuVGVtcGxhdGVMaXN0KCkge1xuICAgIHRoaXMub3BlblRlbXBsYXRlLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRvY3VtZW50LXNlY3Rpb25cIiBbY2xhc3MuZ3JheXNjYWxlXT1cImlzVGVtcGxhdGVPcGVuZWRcIj5cbiAgPGRpdiBjbGFzcz1cImRvY3VtZW50LXNlY3Rpb24taW5uZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1ib3hcIj5cbiAgICAgIDxzdmdcbiAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgIGlkPVwiQ2FwYV8xXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgIHg9XCIwcHhcIlxuICAgICAgICB5PVwiMHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA0ODAuOCA0ODAuOFwiXG4gICAgICAgIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6IG5ldyAwIDAgNDgwLjggNDgwLjhcIlxuICAgICAgICB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9XCJmaWxsOiAjZmZkNTE3XCJcbiAgICAgICAgICBkPVwiTTMxNy4xMTIsMzE0LjRjLTIyLjQsMjIuNC0xOS42LDY3LjYtMTkuNiw2Ny42aC0xMTMuNmMwLDAsMi40LTQ1LjItMTkuNi02Ny42XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0yNC40LTIxLjYtNDAtNTIuOC00MC04Ny42YzAtNjQsNTItMTE2LDExNi0xMTZzMTE2LDUyLDExNiwxMTZDMzU2LjMxMiwyNjEuNiwzNDEuMTEyLDI5Mi44LDMxNy4xMTIsMzE0LjRMMzE3LjExMiwzMTQuNHpcIlxuICAgICAgICAvPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjZTVlNWU1XCJcbiAgICAgICAgICAgIGQ9XCJNMzAwLjcxMiw0MTcuNmMwLDYtNC44LDEwLjgtMTAuOCwxMC44aC05OC44Yy02LDAtMTAuOC00LjgtMTAuOC0xMC44bDAsMGMwLTYsNC44LTEwLjgsMTAuOC0xMC44XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg5OC40QzI5NS41MTIsNDA2LjgsMzAwLjcxMiw0MTEuNiwzMDAuNzEyLDQxNy42TDMwMC43MTIsNDE3LjZ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICNlNWU1ZTVcIlxuICAgICAgICAgICAgZD1cIk0yODUuOTEyLDQ2Mi40YzAsNi00LjgsMTAuOC0xMC44LDEwLjhoLTY5LjJjLTYsMC0xMC44LTQuOC0xMC44LTEwLjhsMCwwYzAtNiw0LjgtMTAuOCwxMC44LTEwLjhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaDY5LjJDMjgxLjExMiw0NTEuNiwyODUuOTEyLDQ1Ni40LDI4NS45MTIsNDYyLjRMMjg1LjkxMiw0NjIuNHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTMyMy4xMTIsMzE4LjRjMjYtMjMuNiw0MC44LTU2LjgsNDAuOC05MS42YzAtNjgtNTUuNi0xMjMuNi0xMjMuNi0xMjMuNnMtMTIzLjYsNTUuNi0xMjMuNiwxMjMuNlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMCwzNS42LDE1LjYsNjkuNiw0Miw5Mi44YzE5LjYsMTkuNiwxNy42LDYxLjIsMTcuNiw2MS42YzAsMiwwLjgsNCwyLDUuNmMxLjYsMS42LDMuNiwyLjQsNS42LDIuNGgxMTMuMmMyLDAsNC0wLjgsNS42LTIuNFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzMi0zLjYsMi01LjZjMC0wLjQtMi00MiwxNy42LTYxLjZDMzIyLjcxMiwzMTkuMiwzMjMuMTEyLDMxOC44LDMyMy4xMTIsMzE4LjR6IE0zMTEuOTEyLDMwOC40Yy0wLjgsMC40LTEuMiwxLjItMS42LDJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYy0xNy42LDE4LjgtMjAuNCw0OS42LTIwLjgsNjRoLTk4Yy0wLjQtMTQuOC0zLjYtNDYuOC0yMi40LTY1LjZjLTIzLjYtMjAuOC0zNy4yLTUwLjQtMzcuMi04MS42YzAtNjAsNDguOC0xMDguNCwxMDguNC0xMDguNFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjNjAsMCwxMDguNCw0OC44LDEwOC40LDEwOC40QzM0OC43MTIsMjU4LDMzNS41MTIsMjg4LDMxMS45MTIsMzA4LjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICMyMTBiMjBcIlxuICAgICAgICAgICAgZD1cIk0yNDAuMzEyLDEzNS4yYy00LDAtNy42LDMuMi03LjYsNy42YzAsNCwzLjIsNy42LDcuNiw3LjZjNDQuOCwwLDgxLjIsMzYuNCw4MS4yLDgxLjJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzAsNCwzLjIsNy42LDcuNiw3LjZjNCwwLDcuNi0zLjIsNy42LTcuNkMzMzYuNzEyLDE3OC40LDI5My41MTIsMTM1LjIsMjQwLjMxMiwxMzUuMnpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTMwOC4zMTIsNDE3LjZjMC0xMC40LTguNC0xOC40LTE4LjQtMTguNGgtOTguOGMtMTAuNCwwLTE4LjQsOC40LTE4LjQsMTguNFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMCwxMC40LDguNCwxOC40LDE4LjQsMTguNGg5OC40QzI5OS45MTIsNDM2LDMwOC4zMTIsNDI4LDMwOC4zMTIsNDE3LjZ6IE0yODkuNTEyLDQyMC44aC05OC40Yy0yLDAtMy4yLTEuNi0zLjItMy4yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMwLTIsMS42LTMuMiwzLjItMy4yaDk4LjRjMiwwLDMuMiwxLjYsMy4yLDMuMkMyOTMuMTEyLDQxOS42LDI5MS41MTIsNDIwLjgsMjg5LjUxMiw0MjAuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTI3NS4xMTIsNDQ0aC02OS4yYy0xMC40LDAtMTguNCw4LjQtMTguNCwxOC40YzAsMTAuNCw4LjQsMTguNCwxOC40LDE4LjRoNjkuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMTAuNCwwLDE4LjQtOC40LDE4LjQtMTguNEMyOTMuNTEyLDQ1Mi40LDI4NS4xMTIsNDQ0LDI3NS4xMTIsNDQ0eiBNMjc1LjExMiw0NjUuNmgtNjkuMmMtMiwwLTMuMi0xLjYtMy4yLTMuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMC0yLDEuNi0zLjIsMy4yLTMuMmg2OS4yYzIsMCwzLjIsMS42LDMuMiwzLjJDMjc4LjMxMiw0NjQuNCwyNzcuMTEyLDQ2NS42LDI3NS4xMTIsNDY1LjZ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICMyMTBiMjBcIlxuICAgICAgICAgICAgZD1cIk0yNDcuOTEyLDU4LjhWNy42YzAtNC0zLjItNy42LTcuNi03LjZjLTQsMC03LjYsMy4yLTcuNiw3LjZ2NTEuNmMwLDQsMy4yLDcuNiw3LjYsNy42XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMyNDQuNzEyLDY2LjQsMjQ3LjkxMiw2My4yLDI0Ny45MTIsNTguOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTM2Ni4zMTIsMzhjLTMuNi0yLjQtOC0xLjItMTAuNCwybC0yOC40LDQyLjhjLTIuNCwzLjYtMS4yLDgsMiwxMC40YzEuMiwwLjgsMi44LDEuMiw0LDEuMlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMi40LDAsNC44LTEuMiw2LjQtMy4ybDI4LjQtNDIuOEMzNzAuNzEyLDQ1LjIsMzY5LjUxMiw0MC40LDM2Ni4zMTIsMzh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBzdHlsZT1cImZpbGw6ICMyMTBiMjBcIlxuICAgICAgICAgICAgZD1cIk0xNDkuOTEyLDkyLjhjMS4yLDAsMi44LTAuNCw0LTEuMmMzLjYtMi40LDQuNC02LjgsMi40LTEwLjRsLTI3LjYtNDMuMmMtMi40LTMuNi02LjgtNC40LTEwLjQtMi40XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMtMy42LDIuNC00LjQsNi44LTIuNCwxMC40bDI3LjYsNDMuMkMxNDUuMTEyLDkxLjYsMTQ3LjUxMiw5Mi44LDE0OS45MTIsOTIuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIHN0eWxlPVwiZmlsbDogIzIxMGIyMFwiXG4gICAgICAgICAgICBkPVwiTTQzLjkxMiwxMjguOGw0NS4yLDI0LjRjMS4yLDAuOCwyLjQsMC44LDMuNiwwLjhjMi44LDAsNS4yLTEuNiw2LjgtNGMyLTMuNiwwLjgtOC40LTMuMi0xMC40XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwtNDUuMi0yNC40Yy0zLjYtMi04LjQtMC44LTEwLjQsMy4yQzM5LjExMiwxMjIuNCw0MC4zMTIsMTI2LjgsNDMuOTEyLDEyOC44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3R5bGU9XCJmaWxsOiAjMjEwYjIwXCJcbiAgICAgICAgICAgIGQ9XCJNMzg3LjkxMiwxNTQuNGMxLjIsMCwyLjQtMC40LDMuNi0wLjhsNDUuMi0yNC40YzMuNi0yLDUuMi02LjQsMy4yLTEwLjRjLTItMy42LTYuNC01LjItMTAuNC0zLjJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbC00NS4yLDI0LjRjLTMuNiwyLTUuMiw2LjQtMy4yLDEwLjRDMzgyLjMxMiwxNTIuOCwzODUuMTEyLDE1NC40LDM4Ny45MTIsMTU0LjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxwPlxuICAgICAgICBUaGVyZSBhcmUgbXVsdGlwbGUgd2F5cyB0byBjcmVhdGUgYSBwb2xpY3kgb24gVkNvbXBseS4gWW91IGNhbiBlaXRoZXJcbiAgICAgICAgZHJhZnQgaXQgZnJvbSBzY3JhdGNoIHVzaW5nIFZDb21wbHnigJlzIG9ubGluZSBlZGl0b3Igb3IgdXBsb2FkIGFuXG4gICAgICAgIGV4aXN0aW5nIERPQ1ggb3IgUERGIGZpbGUuXG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cImRvY3VtZW50LWJveFwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdkcmFmdCdcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBuYW1lPVwic2VsZWN0ZWREb2N1bWVudFR5cGVcIlxuICAgICAgICAoY2hhbmdlKT1cImNoYW5nZURvY1R5cGUoJ2RyYWZ0JylcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PT0gJ2RyYWZ0J1wiXG4gICAgICAvPlxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzcz1cImRvYy1zdmdcIlxuICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgaWQ9XCJMYXllcl8xXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgIHg9XCIwcHhcIlxuICAgICAgICB5PVwiMHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA2NCA2NFwiXG4gICAgICAgIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6IG5ldyAwIDAgNjQgNjRcIlxuICAgICAgICB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXG4gICAgICA+XG4gICAgICAgIDxzdHlsZSB0eXBlPVwidGV4dC9jc3NcIj5cbiAgICAgICAgICAucDEge1xuICAgICAgICAgICAgZmlsbDogI2Y4ZjhmODtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnAyIHtcbiAgICAgICAgICAgIGZpbGw6ICM3NDc1NzY7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wMyB7XG4gICAgICAgICAgICBmaWxsOiAjYmRiZGJkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAucDQge1xuICAgICAgICAgICAgZmlsbDogI2RiZGJkYjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnA1IHtcbiAgICAgICAgICAgIGZpbGw6ICMxZTVkZDM7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wNiB7XG4gICAgICAgICAgICBmaWxsOiAjZmZmZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgPC9zdHlsZT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cInAxXCJcbiAgICAgICAgICBkPVwiTTUyLDE2LjJWNThjMCwxLjEtMC45LDItMiwySDE0Yy0xLjEsMC0yLTAuOS0yLTJWNmMwLTEuMSwwLjktMiwyLTJoMjUuOVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxpbWFnZVxuICAgICAgICAgIHN0eWxlPVwib3ZlcmZsb3c6IHZpc2libGVcIlxuICAgICAgICAgIHdpZHRoPVwiMTkyMFwiXG4gICAgICAgICAgaGVpZ2h0PVwiMTA4MFwiXG4gICAgICAgICAgeGxpbms6aHJlZj1cIjk0Nzc4MTQ2LmpwZ1wiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgLTgxNjAgLTgxNjApXCJcbiAgICAgICAgPjwvaW1hZ2U+XG4gICAgICAgIDxwYXRoIGNsYXNzPVwicDJcIiBkPVwiTTUyLDEydjEySDEyVjZjMC0xLjEsMC45LTIsMi0yaDMwXCIgLz5cbiAgICAgICAgPHBhdGggY2xhc3M9XCJwM1wiIGQ9XCJNNDQsNHY2LjdjMCwwLjcsMC42LDEuMywxLjMsMS4zSDUyXCIgLz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDRcIlxuICAgICAgICAgICAgZD1cIk00Ni4yLDMwLjFIMTcuOWMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMVM0Ni44LDMwLjEsNDYuMiwzMC4xelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJwNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsMzQuNUgxNy45Yy0wLjYsMC0xLTAuNC0xLTFjMC0wLjYsMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxQzQ3LjIsMzQuMSw0Ni44LDM0LjUsNDYuMiwzNC41elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJwNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsMzlIMTcuOWMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMVM0Ni44LDM5LDQ2LjIsMzl6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInA0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiw0My40SDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCw0My40LDQ2LjIsNDMuNHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDRcIlxuICAgICAgICAgICAgZD1cIk00Ni4yLDQ3LjhIMTcuOWMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMVM0Ni44LDQ3LjgsNDYuMiw0Ny44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJwNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNTIuMkgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNTIuMiw0Ni4yLDUyLjJ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInA0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiw1Ni42SDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCw1Ni42LDQ2LjIsNTYuNnpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDZcIlxuICAgICAgICAgICAgZD1cIk0yNC42LDE2LjljLTAuMiwwLjQtMC42LDAuOC0xLDFzLTEsMC40LTEuNiwwLjRoLTJ2LTUuNmgyYzAuNiwwLDEuMSwwLjEsMS42LDAuM2MwLjQsMC4yLDAuOCwwLjYsMSwxXG4gICAgICAgICAgICAgICAgICAgIGMwLjIsMC40LDAuNCwwLjksMC40LDEuNUMyNC45LDE2LDI0LjgsMTYuNSwyNC42LDE2Ljl6IE0yMy4zLDE2LjhjMC4zLTAuMywwLjUtMC44LDAuNS0xLjNjMC0wLjYtMC4yLTEtMC41LTEuNFxuICAgICAgICAgICAgICAgICAgICBjLTAuMy0wLjMtMC44LTAuNS0xLjQtMC41aC0wLjh2My43aDAuOEMyMi41LDE3LjIsMjMsMTcuMSwyMy4zLDE2Ljh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInA2XCJcbiAgICAgICAgICAgIGQ9XCJNMjguNywxOC4yTDI3LjQsMTZoLTAuNXYyLjJoLTEuMXYtNS42aDIuMmMwLjcsMCwxLjIsMC4yLDEuNSwwLjVzMC41LDAuNywwLjUsMS4zYzAsMC40LTAuMSwwLjgtMC40LDEuMVxuICAgICAgICAgICAgICAgICAgICBzLTAuNiwwLjUtMSwwLjZsMS40LDIuM0gyOC43eiBNMjYuOSwxNS4zaDAuOWMwLjYsMCwxLTAuMywxLTAuOWMwLTAuMy0wLjEtMC41LTAuMi0wLjZjLTAuMi0wLjItMC40LTAuMi0wLjctMC4yaC0wLjlWMTUuM3pcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDZcIlxuICAgICAgICAgICAgZD1cIk0zNC4xLDE3LjFoLTIuM2wtMC40LDEuMWgtMS4ybDIuMS01LjZoMS4zbDIuMSw1LjZoLTEuMkwzNC4xLDE3LjF6IE0zMy44LDE2LjNMMzMsMTMuOWwtMC44LDIuNEgzMy44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJwNlwiXG4gICAgICAgICAgICBkPVwiTTM5LjgsMTIuNnYwLjloLTIuNFYxNWgxLjl2MC45aC0xLjl2Mi40aC0xLjF2LTUuNkgzOS44elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJwNlwiXG4gICAgICAgICAgICBkPVwiTTQ0LjQsMTIuNnYwLjloLTEuNnY0LjhoLTEuMXYtNC44aC0xLjZ2LTAuOUg0NC40elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGNsYXNzPVwicDVcIlxuICAgICAgICAgIGQ9XCJNMzIsMzMuMWMtNS4yLDAtOS40LDQuMi05LjQsOS40czQuMiw5LjQsOS40LDkuNHM5LjQtNC4yLDkuNC05LjRDNDEuNCwzNy4zLDM3LjIsMzMuMiwzMiwzMy4xelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInA2XCJcbiAgICAgICAgICAgIGQ9XCJNMzYuMSw0MC44bC01LjgsNS44TDI4LDQ0LjRsNS44LTUuOGMwLjItMC4yLDAuNC0wLjIsMC42LDBsMS43LDEuN0MzNi4yLDQwLjQsMzYuMiw0MC43LDM2LjEsNDAuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDZcIlxuICAgICAgICAgICAgZD1cIk0zNi44LDM4Yy0wLjUtMC41LTEuMy0wLjUtMS43LDBsLTAuNCwwLjNjMCwwLDAuMSwwLDAuMSwwLjFsMS43LDEuN2MwLDAsMCwwLjEsMC4xLDAuMWwwLjQtMC40XG4gICAgICAgICAgICAgICAgICAgIGMwLjItMC4yLDAuNC0wLjUsMC40LTAuOUMzNy4xLDM4LjUsMzcsMzguMiwzNi44LDM4TDM2LjgsMzh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInA2XCJcbiAgICAgICAgICAgIGQ9XCJNMjcuOSw0NC45bC0xLDIuNmMtMC4xLDAuMSwwLDAuMiwwLjEsMC40YzAuMSwwLjEsMC4xLDAuMSwwLjIsMC4xYzAuMSwwLDAuMSwwLDAuMSwwbDIuNi0xTDI3LjksNDQuOXpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicDZcIlxuICAgICAgICAgICAgZD1cIk0zMC4yLDQxLjNjMC4xLDAsMC4yLTAuMSwwLjItMC4xbDIuMi0yLjJjMC4xLTAuMSwwLjMtMC4xLDAuNC0wLjFsMC41LTAuNWMtMC40LTAuMy0wLjktMC4zLTEuMywwLjFMMzAsNDAuN1xuICAgICAgICAgICAgICAgICAgICBjLTAuMSwwLjEtMC4xLDAuNCwwLDAuNUMzMCw0MS4yLDMwLDQxLjMsMzAuMiw0MS4zTDMwLjIsNDEuM3pcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXJpZ2h0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPjxzdHJvbmc+Q3JlYXRlPC9zdHJvbmc+IGEgUG9saWN5PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXG4gICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICBjeT1cIjI2XCJcbiAgICAgICAgICAgICAgcj1cIjI1XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuICAgIDwhLS0gU2VsZWN0IGEgdGVtcGxhdGUgLS0+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cImRvY3VtZW50LWJveFwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09PSAndGVtcGxhdGUnXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgbmFtZT1cInNlbGVjdGVkRG9jdW1lbnRUeXBlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VEb2NUeXBlKCd0ZW1wbGF0ZScpXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT09ICd0ZW1wbGF0ZSdcIlxuICAgICAgLz5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJkb2Mtc3ZnXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHdpZHRoPVwiNTAuNDU1XCJcbiAgICAgICAgaGVpZ2h0PVwiNzAuNjUyXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA1MC40NTUgNzAuNjUyXCJcbiAgICAgID5cbiAgICAgICAgPGcgaWQ9XCJUZW1wbGF0ZUljb25cIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEyIC0zLjk4NSlcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJQYXRoXzI5MFwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5MFwiXG4gICAgICAgICAgICBkPVwiTTYyLjQ1MSwxOS40VjcyLjExYTIuNTIyLDIuNTIyLDAsMCwxLTIuNTIzLDIuNTIzSDE0LjUyM0EyLjUyMiwyLjUyMiwwLDAsMSwxMiw3Mi4xMVY2LjUyM0EyLjUyMiwyLjUyMiwwLDAsMSwxNC41MjMsNEg0Ny4xNTdcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMC4wMDQpXCJcbiAgICAgICAgICAgIGZpbGw9XCIjZjhmOGY4XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBpZD1cIlBhdGhfMjkxXCJcbiAgICAgICAgICAgIGRhdGEtbmFtZT1cIlBhdGggMjkxXCJcbiAgICAgICAgICAgIGQ9XCJNNjIuNDUxLDE0LjA5MlYyOS4yMjZIMTJWNi41MjNBMi41MjIsMi41MjIsMCwwLDEsMTQuNTIzLDRINTIuMzYyXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIDAuMDA0KVwiXG4gICAgICAgICAgICBmaWxsPVwiIzM0YWE0NFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJQYXRoXzI5MlwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5MlwiXG4gICAgICAgICAgICBkPVwiTTQzLjk1LDMuOTg1djguNDU3YTEuNjg5LDEuNjg5LDAsMCwwLDEuNjg5LDEuNjg4aDguNDY3XCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4LjM0OSAwKVwiXG4gICAgICAgICAgICBmaWxsPVwiIzk3ZDJhMFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJHcm91cF81NDBcIlxuICAgICAgICAgICAgZGF0YS1uYW1lPVwiR3JvdXAgNTQwXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxOC4xMiAzNC40NSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF8yOTNcIlxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5M1wiXG4gICAgICAgICAgICAgIGQ9XCJNNTMuODY2LDMwLjY2MkgxOC4xMTNhMS4yNjEsMS4yNjEsMCwxLDEsMC0yLjUyM0g1My44NjZhMS4yNjEsMS4yNjEsMCwwLDEsMCwyLjUyM1pcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE2Ljg1MiAtMjguMTM5KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjZGJkYmRiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cIkdyb3VwXzU0MVwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJHcm91cCA1NDFcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4LjEyIDQwLjAxMilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF8yOTRcIlxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5NFwiXG4gICAgICAgICAgICAgIGQ9XCJNNTMuODY2LDM1LjA3MUgxOC4xMTNhMS4yNjEsMS4yNjEsMCwxLDEsMC0yLjUyM0g1My44NjZhMS4yNjEsMS4yNjEsMCwwLDEsMCwyLjUyM1pcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE2Ljg1MiAtMzIuNTQ4KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjZGJkYmRiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cIkdyb3VwXzU0MlwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJHcm91cCA1NDJcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4LjEyIDQ1LjU3MylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF8yOTVcIlxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5NVwiXG4gICAgICAgICAgICAgIGQ9XCJNNTMuODY2LDM5LjQ4SDE4LjExM2ExLjI2MSwxLjI2MSwwLDEsMSwwLTIuNTIzSDUzLjg2NmExLjI2MSwxLjI2MSwwLDAsMSwwLDIuNTIzWlwiXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTYuODUyIC0zNi45NTcpXCJcbiAgICAgICAgICAgICAgZmlsbD1cIiNkYmRiZGJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiR3JvdXBfNTQzXCJcbiAgICAgICAgICAgIGRhdGEtbmFtZT1cIkdyb3VwIDU0M1wiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTguMTIgNTEuMTM0KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJQYXRoXzI5NlwiXG4gICAgICAgICAgICAgIGRhdGEtbmFtZT1cIlBhdGggMjk2XCJcbiAgICAgICAgICAgICAgZD1cIk01My44NjYsNDMuODg5SDE4LjExM2ExLjI2MSwxLjI2MSwwLDEsMSwwLTIuNTIzSDUzLjg2NmExLjI2MSwxLjI2MSwwLDEsMSwwLDIuNTIzWlwiXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTYuODUyIC00MS4zNjYpXCJcbiAgICAgICAgICAgICAgZmlsbD1cIiNkYmRiZGJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiR3JvdXBfNTQ0XCJcbiAgICAgICAgICAgIGRhdGEtbmFtZT1cIkdyb3VwIDU0NFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTguMTIgNTYuNjk1KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJQYXRoXzI5N1wiXG4gICAgICAgICAgICAgIGRhdGEtbmFtZT1cIlBhdGggMjk3XCJcbiAgICAgICAgICAgICAgZD1cIk01My44NjYsNDguM0gxOC4xMTNhMS4yNjEsMS4yNjEsMCwxLDEsMC0yLjUyM0g1My44NjZhMS4yNjEsMS4yNjEsMCwwLDEsMCwyLjUyM1pcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE2Ljg1MiAtNDUuNzc1KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjZGJkYmRiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cIkdyb3VwXzU0NVwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJHcm91cCA1NDVcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4LjEyIDYyLjI1NylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF8yOThcIlxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5OFwiXG4gICAgICAgICAgICAgIGQ9XCJNNTMuODY2LDUyLjcwOEgxOC4xMTNhMS4yNjEsMS4yNjEsMCwxLDEsMC0yLjUyM0g1My44NjZhMS4yNjEsMS4yNjEsMCwwLDEsMCwyLjUyM1pcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE2Ljg1MiAtNTAuMTg1KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjZGJkYmRiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cIkdyb3VwXzU0NlwiXG4gICAgICAgICAgICBkYXRhLW5hbWU9XCJHcm91cCA1NDZcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4LjEyIDY3LjgxOClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF8yOTlcIlxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDI5OVwiXG4gICAgICAgICAgICAgIGQ9XCJNNTMuODY2LDU3LjExN0gxOC4xMTNhMS4yNjEsMS4yNjEsMCwxLDEsMC0yLjUyM0g1My44NjZhMS4yNjEsMS4yNjEsMCwwLDEsMCwyLjUyM1pcIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE2Ljg1MiAtNTQuNTk0KVwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjZGJkYmRiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBpZD1cIlBhdGhfMzA1XCJcbiAgICAgICAgICAgIGRhdGEtbmFtZT1cIlBhdGggMzA1XCJcbiAgICAgICAgICAgIGQ9XCJNMzQuNDUsMzMuMTQ5QTExLjgyNiwxMS44MjYsMCwxLDAsNDYuMjc2LDQ0Ljk3NSwxMS44MjYsMTEuODI2LDAsMCwwLDM0LjQ1LDMzLjE0OVpcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuNzc2IDcuODM1KVwiXG4gICAgICAgICAgICBmaWxsPVwiI2M3MzgxYlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJQYXRoXzQ4NDFcIlxuICAgICAgICAgICAgZGF0YS1uYW1lPVwiUGF0aCA0ODQxXCJcbiAgICAgICAgICAgIGQ9XCJNNDEuMTU5LDQzLjM1OWwtNy4yLTcuMjA3YS41MTQuNTE0LDAsMCwwLS43MjcsMGwtNy4yLDcuMjA3YS41Mi41MiwwLDAsMC0uMTUuMzY1LjUxMi41MTIsMCwwLDAsLjUxNS41MTNIMzB2Ny43MDVhLjUxNC41MTQsMCwwLDAsLjUxMy41MTVoNi4xN2EuNTE0LjUxNCwwLDAsMCwuNTE1LS41MTVWNDQuMjM3aDMuNmEuNTE0LjUxNCwwLDAsMCwuMzYyLS44NzhaXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgzLjYyOSA4Ljk4MylcIlxuICAgICAgICAgICAgZmlsbD1cIiNmYWZhZmFcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHRleHRcbiAgICAgICAgICAgIGlkPVwiVE1QXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyNS45OTkgMjEuOTg0KVwiXG4gICAgICAgICAgICBmaWxsPVwiI2ZmZlwiXG4gICAgICAgICAgICBmb250LXNpemU9XCIxMVwiXG4gICAgICAgICAgICBmb250LWZhbWlseT1cIlBvcHBpbnMtU2VtaUJvbGQsIFBvcHBpbnNcIlxuICAgICAgICAgICAgZm9udC13ZWlnaHQ9XCI2MDBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDx0c3BhbiB4PVwiMFwiIHk9XCIwXCI+VE1QPC90c3Bhbj5cbiAgICAgICAgICA8L3RleHQ+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtcmlnaHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+RHJhZnQgVXNpbmcgYSA8c3Ryb25nPlRlbXBsYXRlPC9zdHJvbmc+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXG4gICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICBjeT1cIjI2XCJcbiAgICAgICAgICAgICAgcj1cIjI1XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xhYmVsPlxuICAgIDwhLS0gRW5kIFNlbGVjdCBhIHRlbXBsYXRlIC0tPlxuICAgIDxsYWJlbFxuICAgICAgY2xhc3M9XCJkb2N1bWVudC1ib3hcIlxuICAgICAgKm5nSWY9XCJzaG93RG9jeEJsb2NrXCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ2RvY3gnICYmICFkb2N4RXJyb3I/LnZpc2libGVcIlxuICAgICAgW2NsYXNzLmVycm9yXT1cImRvY3hFcnJvcj8udmlzaWJsZVwiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgYWNjZXB0PVwiLmRvY3hcIlxuICAgICAgICBpZD1cIkRPQ2ZpbGVcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUZpbGVJbnB1dCgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiXG4gICAgICAgIG9uY2xpY2s9XCJldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAjZG9jeFVwbG9hZEJ1dHRvblxuICAgICAgLz5cbiAgICAgIDxzdmdcbiAgICAgICAgY2xhc3M9XCJkb2Mtc3ZnXCJcbiAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgIGlkPVwiTGF5ZXJfMVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgICB4PVwiMHB4XCJcbiAgICAgICAgeT1cIjBweFwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgNjQgNjRcIlxuICAgICAgICBzdHlsZT1cImVuYWJsZS1iYWNrZ3JvdW5kOiBuZXcgMCAwIDY0IDY0XCJcbiAgICAgICAgeG1sOnNwYWNlPVwicHJlc2VydmVcIlxuICAgICAgPlxuICAgICAgICA8c3R5bGUgdHlwZT1cInRleHQvY3NzXCI+XG4gICAgICAgICAgLmQxIHtcbiAgICAgICAgICAgIGZpbGw6ICNmOGY4Zjg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kMiB7XG4gICAgICAgICAgICBmaWxsOiAjMzM3ZGJlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZDMge1xuICAgICAgICAgICAgZmlsbDogIzNjOTJkZjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmQ0IHtcbiAgICAgICAgICAgIGZpbGw6ICNkYmRiZGI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kNSB7XG4gICAgICAgICAgICBmaWxsOiAjZjJiZjE5O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZDYge1xuICAgICAgICAgICAgZmlsbDogI2ZhZmFmYTtcbiAgICAgICAgICB9XG4gICAgICAgIDwvc3R5bGU+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJkMVwiXG4gICAgICAgICAgZD1cIk01MiwxNi4yVjU4YzAsMS4xLTAuOSwyLTIsMkgxNGMtMS4xLDAtMi0wLjktMi0yVjZjMC0xLjEsMC45LTIsMi0yaDI1LjlcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aCBjbGFzcz1cImQyXCIgZD1cIk01MiwxMnYxMkgxMlY2YzAtMS4xLDAuOS0yLDItMmgzMFwiIC8+XG4gICAgICAgIDxwYXRoIGNsYXNzPVwiZDNcIiBkPVwiTTQ0LDR2Ni43YzAsMC43LDAuNiwxLjMsMS4zLDEuM0g1MlwiIC8+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cImQ0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiwzMC4xSDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCwzMC4xLDQ2LjIsMzAuMXpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwiZDRcIlxuICAgICAgICAgICAgZD1cIk00Ni4yLDM0LjVIMTcuOWMtMC42LDAtMS0wLjQtMS0xYzAtMC42LDAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMUM0Ny4yLDM0LjEsNDYuOCwzNC41LDQ2LjIsMzQuNXpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwiZDRcIlxuICAgICAgICAgICAgZD1cIk00Ni4yLDM5SDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCwzOSw0Ni4yLDM5elwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNDMuNEgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNDMuNCw0Ni4yLDQzLjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cImQ0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiw0Ny44SDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCw0Ny44LDQ2LjIsNDcuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwiZDRcIlxuICAgICAgICAgICAgZD1cIk00Ni4yLDUyLjJIMTcuOWMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMVM0Ni44LDUyLjIsNDYuMiw1Mi4yelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8Zz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNTYuNkgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNTYuNiw0Ni4yLDU2LjZ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cImQxXCJcbiAgICAgICAgICAgIGQ9XCJNMjUuNCwxNi45Yy0wLjIsMC40LTAuNiwwLjgtMSwxcy0xLDAuNC0xLjYsMC40aC0ydi01LjZoMmMwLjYsMCwxLjEsMC4xLDEuNiwwLjNjMC40LDAuMiwwLjgsMC42LDEsMVxuICAgICAgICAgICAgICAgICAgICBjMC4yLDAuNCwwLjQsMC45LDAuNCwxLjVDMjUuNywxNiwyNS42LDE2LjUsMjUuNCwxNi45eiBNMjQuMSwxNi44YzAuMy0wLjMsMC41LTAuOCwwLjUtMS4zYzAtMC42LTAuMi0xLTAuNS0xLjRcbiAgICAgICAgICAgICAgICAgICAgYy0wLjMtMC4zLTAuOC0wLjUtMS40LTAuNWgtMC44djMuN2gwLjhDMjMuMywxNy4yLDIzLjgsMTcuMSwyNC4xLDE2Ljh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cImQxXCJcbiAgICAgICAgICAgIGQ9XCJNMzAuNywxMi45YzAuNCwwLjIsMC44LDAuNiwxLDFzMC40LDAuOSwwLjQsMS41cy0wLjEsMS4xLTAuNCwxLjVjLTAuMiwwLjQtMC42LDAuOC0xLDFcbiAgICAgICAgICAgICAgICAgICAgYy0wLjQsMC4yLTAuOSwwLjQtMS40LDAuNGMtMC41LDAtMS0wLjEtMS40LTAuNGMtMC40LTAuMi0wLjgtMC42LTEtMWMtMC4yLTAuNC0wLjQtMC45LTAuNC0xLjVzMC4xLTEuMSwwLjQtMS41czAuNi0wLjgsMS0xXG4gICAgICAgICAgICAgICAgICAgIGMwLjQtMC4yLDAuOS0wLjQsMS40LTAuNEMyOS44LDEyLjUsMzAuMiwxMi42LDMwLjcsMTIuOXogTTI4LjQsMTMuOGMtMC4zLDAuMS0wLjQsMC40LTAuNiwwLjZjLTAuMSwwLjMtMC4yLDAuNi0wLjIsMVxuICAgICAgICAgICAgICAgICAgICBjMCwwLjQsMC4xLDAuNywwLjIsMWMwLjEsMC4zLDAuMywwLjUsMC42LDAuNmMwLjMsMC4xLDAuNSwwLjIsMC45LDAuMmMwLjMsMCwwLjYtMC4xLDAuOS0wLjJjMC4zLTAuMSwwLjQtMC40LDAuNi0wLjZcbiAgICAgICAgICAgICAgICAgICAgYzAuMS0wLjMsMC4yLTAuNiwwLjItMWMwLTAuNC0wLjEtMC43LTAuMi0xYy0wLjEtMC4zLTAuMy0wLjUtMC42LTAuNmMtMC4zLTAuMS0wLjUtMC4yLTAuOS0wLjJDMjguOSwxMy42LDI4LjYsMTMuNiwyOC40LDEzLjh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cImQxXCJcbiAgICAgICAgICAgIGQ9XCJNMzcuMiwxMy4xYzAuNSwwLjQsMC44LDAuOSwwLjksMS41SDM3Yy0wLjEtMC4zLTAuMy0wLjUtMC42LTAuN2MtMC4zLTAuMi0wLjYtMC4zLTAuOS0wLjNcbiAgICAgICAgICAgICAgICAgICAgYy0wLjMsMC0wLjYsMC4xLTAuOCwwLjJzLTAuNCwwLjQtMC42LDAuNmMtMC4xLDAuMy0wLjIsMC42LTAuMiwxYzAsMC40LDAuMSwwLjcsMC4yLDFjMC4xLDAuMywwLjMsMC41LDAuNiwwLjZzMC41LDAuMiwwLjgsMC4yXG4gICAgICAgICAgICAgICAgICAgIGMwLjQsMCwwLjctMC4xLDAuOS0wLjNjMC4zLTAuMiwwLjQtMC40LDAuNi0wLjdoMS4yYy0wLjEsMC42LTAuNSwxLjEtMC45LDEuNWMtMC41LDAuNC0xLDAuNS0xLjgsMC41Yy0wLjUsMC0xLTAuMS0xLjQtMC40XG4gICAgICAgICAgICAgICAgICAgIGMtMC40LTAuMi0wLjctMC42LTEtMWMtMC4yLTAuNC0wLjMtMC45LTAuMy0xLjVjMC0wLjYsMC4xLTEuMSwwLjMtMS41YzAuMi0wLjQsMC41LTAuOCwxLTFjMC40LTAuMiwwLjktMC40LDEuNC0wLjRcbiAgICAgICAgICAgICAgICAgICAgQzM2LjIsMTIuNSwzNi44LDEyLjcsMzcuMiwxMy4xelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3M9XCJkMVwiXG4gICAgICAgICAgICBkPVwiTTQyLjMsMTguMkw0MSwxNi4zbC0xLjEsMS45aC0xLjNsMS44LTIuOWwtMS44LTIuOGgxLjNsMS4yLDEuOWwxLjEtMS45aDEuM2wtMS44LDIuOGwxLjksMi44SDQyLjN6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJkNVwiXG4gICAgICAgICAgZD1cIk0zMiwzMy4xYy01LjIsMC05LjQsNC4yLTkuNCw5LjRzNC4yLDkuNCw5LjQsOS40czkuNC00LjIsOS40LTkuNEM0MS40LDM3LjMsMzcuMiwzMy4yLDMyLDMzLjF6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cImQ2XCJcbiAgICAgICAgICBkPVwiTTM4LDQxLjhsLTUuNy01LjdjLTAuMi0wLjItMC40LTAuMi0wLjYsMEwyNiw0MS44Yy0wLjEsMC4xLTAuMSwwLjItMC4xLDAuM2MwLDAuMiwwLjIsMC40LDAuNCwwLjRoMi45djYuMVxuICAgICAgICAgICAgICAgIGMwLDAuMiwwLjIsMC40LDAuNCwwLjRoNC45YzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNi4xaDIuOWMwLjIsMCwwLjMtMC4xLDAuNC0wLjNDMzguMSw0Mi4xLDM4LjEsNDIsMzgsNDEuOHpcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtcmlnaHRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbHVlXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEoc2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ2RvY3gnICYmIGZpbGVuYW1lKVwiXG4gICAgICAgICAgICA+VXBsb2FkIGEgPHN0cm9uZz5ET0NYPC9zdHJvbmc+PC9uZy1jb250YWluZXJcbiAgICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdkb2N4JyAmJiBmaWxlbmFtZVwiPnt7XG4gICAgICAgICAgICBmaWxlbmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItbXNnLXRleHRcIiAqbmdJZj1cImRvY3hFcnJvcj8udmlzaWJsZVwiPlxuICAgICAgICAgIHt7IGRvY3hFcnJvcj8ubWVzc2FnZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrLWNpcmNsZVwiICpuZ0lmPVwiIWRvY3hFcnJvcj8udmlzaWJsZVwiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCA1MiA1MlwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGNpcmNsZVxuICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2lyY2xlXCJcbiAgICAgICAgICAgICAgY3g9XCIyNlwiXG4gICAgICAgICAgICAgIGN5PVwiMjZcIlxuICAgICAgICAgICAgICByPVwiMjVcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NoZWNrXCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBkPVwiTTE0LjEgMjcuMmw3LjEgNy4yIDE2LjctMTYuOFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBlcnJvci1pY29uXCIgKm5nSWY9XCJkb2N4RXJyb3I/LnZpc2libGVcIj4mI3hlOTE0OzwvaT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImxpbmUtcHJvZ3Jlc3NcIlxuICAgICAgICAqbmdJZj1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdkb2N4JyAmJiBpc1VwbG9hZGluZ1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLXByb2dyZXNzLWJhclwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cbiAgICA8bGFiZWxcbiAgICAgIGNsYXNzPVwiZG9jdW1lbnQtYm94XCJcbiAgICAgICpuZ0lmPVwic2hvd1BkZkJsb2NrXCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWREb2N1bWVudFR5cGUgPT0gJ3BkZidcIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgIGFjY2VwdD1cIi5wZGZcIlxuICAgICAgICBpZD1cIlBERmZpbGVcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZUZpbGVJbnB1dCgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiXG4gICAgICAgIG9uY2xpY2s9XCJldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAjcGRmVXBsb2FkQnV0dG9uXG4gICAgICAvPlxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzcz1cImRvYy1zdmdcIlxuICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgaWQ9XCJMYXllcl8xXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgIHg9XCIwcHhcIlxuICAgICAgICB5PVwiMHB4XCJcbiAgICAgICAgdmlld0JveD1cIjAgMCA2NCA2NFwiXG4gICAgICAgIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6IG5ldyAwIDAgNjQgNjRcIlxuICAgICAgICB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiXG4gICAgICA+XG4gICAgICAgIDxzdHlsZSB0eXBlPVwidGV4dC9jc3NcIj5cbiAgICAgICAgICAucGQxIHtcbiAgICAgICAgICAgIGZpbGw6ICNmOGY4Zjg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wZDIge1xuICAgICAgICAgICAgZmlsbDogI2VlMzkzOTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnBkMyB7XG4gICAgICAgICAgICBmaWxsOiAjZjk1ODU4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAucGQ0IHtcbiAgICAgICAgICAgIGZpbGw6ICNkYmRiZGI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wZDUge1xuICAgICAgICAgICAgZmlsbDogIzM0YWE0NDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnBkNiB7XG4gICAgICAgICAgICBmaWxsOiAjZmFmYWZhO1xuICAgICAgICAgIH1cbiAgICAgICAgPC9zdHlsZT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzcz1cInBkMVwiXG4gICAgICAgICAgZD1cIk01MiwxNi4yVjU4YzAsMS4xLTAuOSwyLTIsMkgxNGMtMS4xLDAtMi0wLjktMi0yVjZjMC0xLjEsMC45LTIsMi0yaDI1LjlcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aCBjbGFzcz1cInBkMlwiIGQ9XCJNNTIsMTJ2MTJIMTJWNmMwLTEuMSwwLjktMiwyLTJoMzBcIiAvPlxuICAgICAgICA8cGF0aCBjbGFzcz1cInBkM1wiIGQ9XCJNNDQsNHY2LjdjMCwwLjcsMC42LDEuMywxLjMsMS4zSDUyXCIgLz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicGQ0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiwzMC4xSDE3LjljLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFTNDYuOCwzMC4xLDQ2LjIsMzAuMXpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGc+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicGQ0XCJcbiAgICAgICAgICAgIGQ9XCJNNDYuMiwzNC41SDE3LjljLTAuNiwwLTEtMC40LTEtMWMwLTAuNiwwLjQtMSwxLTFoMjguM2MwLjYsMCwxLDAuNCwxLDFDNDcuMiwzNC4xLDQ2LjgsMzQuNSw0Ni4yLDM0LjV6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsMzlIMTcuOWMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMWgyOC4zYzAuNiwwLDEsMC40LDEsMVM0Ni44LDM5LDQ2LjIsMzl6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNDMuNEgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNDMuNCw0Ni4yLDQzLjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNDcuOEgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNDcuOCw0Ni4yLDQ3Ljh6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNTIuMkgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNTIuMiw0Ni4yLDUyLjJ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkNFwiXG4gICAgICAgICAgICBkPVwiTTQ2LjIsNTYuNkgxNy45Yy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xaDI4LjNjMC42LDAsMSwwLjQsMSwxUzQ2LjgsNTYuNiw0Ni4yLDU2LjZ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkMVwiXG4gICAgICAgICAgICBkPVwiTTI2LjIsMTYuMnYyLjFoLTEuMXYtNS42aDIuMWMwLjcsMCwxLjIsMC4yLDEuNSwwLjVjMC4zLDAuMywwLjUsMC44LDAuNSwxLjNjMCwwLjUtMC4yLDEtMC41LDEuM1xuICAgICAgICAgICAgICAgICAgICBjLTAuMywwLjMtMC44LDAuNS0xLjUsMC41SDI2LjJ6IE0yOCwxNC40YzAtMC4zLTAuMS0wLjUtMC4yLTAuNmMtMC4yLTAuMS0wLjQtMC4yLTAuOC0wLjJoLTAuOHYxLjdIMjdDMjcuNywxNS4yLDI4LDE1LDI4LDE0LjR6XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzcz1cInBkMVwiXG4gICAgICAgICAgICBkPVwiTTM0LjUsMTYuOWMtMC4yLDAuNC0wLjYsMC44LTEsMXMtMSwwLjQtMS42LDAuNGgtMnYtNS42aDJjMC42LDAsMS4xLDAuMSwxLjYsMC4zYzAuNCwwLjIsMC44LDAuNiwxLDFcbiAgICAgICAgICAgICAgICAgICAgYzAuMiwwLjQsMC40LDAuOSwwLjQsMS41QzM0LjgsMTYsMzQuNywxNi41LDM0LjUsMTYuOXogTTMzLjIsMTYuOGMwLjMtMC4zLDAuNS0wLjgsMC41LTEuM2MwLTAuNi0wLjItMS0wLjUtMS40XG4gICAgICAgICAgICAgICAgICAgIGMtMC4zLTAuMy0wLjgtMC41LTEuNC0wLjVIMzF2My43aDAuOEMzMi40LDE3LjIsMzIuOSwxNy4xLDMzLjIsMTYuOHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzPVwicGQxXCJcbiAgICAgICAgICAgIGQ9XCJNMzkuMiwxMi42djAuOWgtMi40VjE1aDEuOXYwLjloLTEuOXYyLjRoLTEuMXYtNS42SDM5LjJ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJwZDVcIlxuICAgICAgICAgIGQ9XCJNMzIsMzMuMWMtNS4yLDAtOS40LDQuMi05LjQsOS40czQuMiw5LjQsOS40LDkuNHM5LjQtNC4yLDkuNC05LjRDNDEuNCwzNy4zLDM3LjIsMzMuMiwzMiwzMy4xelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3M9XCJwZDZcIlxuICAgICAgICAgIGQ9XCJNMzgsNDEuOGwtNS43LTUuN2MtMC4yLTAuMi0wLjQtMC4yLTAuNiwwTDI2LDQxLjhjLTAuMSwwLjEtMC4xLDAuMi0wLjEsMC4zYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgyLjl2Ni4xXG4gICAgICAgICAgICAgICAgYzAsMC4yLDAuMiwwLjQsMC40LDAuNGg0LjljMC4yLDAsMC40LTAuMiwwLjQtMC40di02LjFoMi45YzAuMiwwLDAuMy0wLjEsMC40LTAuM0MzOC4xLDQyLjEsMzguMSw0MiwzOCw0MS44elwiXG4gICAgICAgIC8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1yaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShzZWxlY3RlZERvY3VtZW50VHlwZSA9PSAncGRmJyAmJiBmaWxlbmFtZSlcIlxuICAgICAgICAgICAgPlVwbG9hZCBhIDxzdHJvbmc+UERGPC9zdHJvbmc+PC9uZy1jb250YWluZXJcbiAgICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRG9jdW1lbnRUeXBlID09ICdwZGYnICYmIGZpbGVuYW1lXCI+e3tcbiAgICAgICAgICAgIGZpbGVuYW1lXG4gICAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1jaXJjbGVcIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvblwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNTIgNTJcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiXG4gICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICBjeT1cIjI2XCJcbiAgICAgICAgICAgICAgcj1cIjI1XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tJY29uX19jaGVja1wiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJsaW5lLXByb2dyZXNzXCJcbiAgICAgICAgKm5nSWY9XCJzZWxlY3RlZERvY3VtZW50VHlwZSA9PSAncGRmJyAmJiBpc1VwbG9hZGluZ1wiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLXByb2dyZXNzLWJhclwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJib3R0b20tYnV0dG9uXCIgW2NsYXNzLmdyYXlzY2FsZV09XCJpc1RlbXBsYXRlT3BlbmVkXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiZWRpdFBvbGljeUVtaXQoKVwiXG4gICAgY2xhc3M9XCJiYWNrXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiaXNUZW1wbGF0ZU9wZW5lZFwiXG4gID5cbiAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxZDs8L2k+IEJhY2tcbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAoY2xpY2spPVwiZWRpdG9yKHNlbGVjdGVkRG9jdW1lbnRUeXBlKVwiXG4gICAgY2xhc3M9XCJuZXh0XCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIXNlbGVjdGVkRG9jdW1lbnRUeXBlIHx8IGlzVGVtcGxhdGVPcGVuZWRcIlxuICA+XG4gICAgTmV4dCA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxZTs8L2k+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|