vcomply-workflow-engine 3.1.12 → 3.1.14
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/esm2020/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +6 -4
- package/esm2020/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +3 -3
- package/esm2020/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.mjs +2 -2
- package/esm2020/lib/workflow/shared/components/attributes/attributes.component.mjs +4 -3
- package/esm2020/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +34 -13
- package/esm2020/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +3 -3
- package/esm2020/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +47 -28
- package/esm2020/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +22 -4
- package/esm2020/lib/workflow/shared/components/text-field/text-field.component.mjs +12 -6
- package/esm2020/lib/workflow/shared/components/text-field-icon/text-field-icon.component.mjs +3 -3
- package/esm2020/lib/workflow/shared/constants/cdn-link.constant.mjs +2 -1
- package/esm2020/lib/workflow/shared/services/grc.service.mjs +3 -294
- package/esm2020/lib/workflow-engine-container/workflow-engine-container.component.mjs +5 -4
- package/fesm2015/vcomply-workflow-engine.mjs +162 -385
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +152 -378
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +3 -1
- package/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.d.ts +1 -0
- package/lib/workflow/shared/components/attributes/attributes.component.d.ts +3 -1
- package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +10 -3
- package/lib/workflow/shared/components/grc-object-list/grc-object-list.component.d.ts +1 -0
- package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +8 -3
- package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +5 -0
- package/lib/workflow/shared/components/text-field/text-field.component.d.ts +3 -1
- package/lib/workflow/shared/constants/cdn-link.constant.d.ts +1 -0
- package/lib/workflow/shared/services/grc.service.d.ts +0 -1
- package/package.json +1 -1
package/esm2020/lib/workflow/shared/components/text-field-icon/text-field-icon.component.mjs
CHANGED
|
@@ -13,7 +13,7 @@ export class TextFieldIconComponent {
|
|
|
13
13
|
}
|
|
14
14
|
TextFieldIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextFieldIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
15
|
TextFieldIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TextFieldIconComponent, isStandalone: true, selector: "lib-text-field-icon", inputs: { cdnLink: "cdnLink", altName: "altName", isChecked: "isChecked" }, ngImport: i0, template: `
|
|
16
|
-
<div class="left" [class.checked]="
|
|
16
|
+
<div class="left" [class.checked]="isChecked">
|
|
17
17
|
<img *ngIf="!isChecked" [src]="cdnLink" [alt]="altName" />
|
|
18
18
|
|
|
19
19
|
<svg
|
|
@@ -34,7 +34,7 @@ TextFieldIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TextFieldIconComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{ selector: 'lib-text-field-icon', standalone: true, imports: [CommonModule], template: `
|
|
37
|
-
<div class="left" [class.checked]="
|
|
37
|
+
<div class="left" [class.checked]="isChecked">
|
|
38
38
|
<img *ngIf="!isChecked" [src]="cdnLink" [alt]="altName" />
|
|
39
39
|
|
|
40
40
|
<svg
|
|
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
53
53
|
</div>
|
|
54
54
|
`, inputs: ['cdnLink', 'altName', 'isChecked'], styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep input.textField{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;font-size:13px;color:#747576;padding:8px 12px;position:relative;height:2.5rem;width:100%;transition:all .2s ease-in-out}::ng-deep input.textField::placeholder{font-size:13px;color:#747576}::ng-deep input.textField:hover,::ng-deep input.textField:focus{outline:none;border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectBoxEnable:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#747576;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .selectBoxEnable:hover,::ng-deep .selectBoxEnable:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectBoxEnable.disabled{background:#f1f1f1;pointer-events:none;opacity:1}::ng-deep .selectBoxEnable.withBtn:after{display:none}::ng-deep .selectBoxEnable.withBtn button.setBtn{background:transparent;border-radius:0;border:none;min-width:98px}::ng-deep .selectBoxSuccess{background:#f8f8f8;border-radius:.25rem;border:1px solid #f1f1f1;min-height:2.5rem;position:relative}::ng-deep .selectBoxSuccess .selectBoxText{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:22rem}::ng-deep .selectBoxSuccess button{background:transparent;border-radius:0;border:none}::ng-deep .selectBoxSuccess button.deleteBtn{color:#d93b41}::ng-deep .selectBoxSuccess .level-left{border-right:1px solid #f1f1f1;height:2.375rem;width:5rem}::ng-deep .selectBoxSuccess .level-left .level-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:4.5rem}::ng-deep .chipContainer{background:#fff;border-radius:.125rem;box-shadow:0 0 2px #1e5dd340;height:1.5rem}::ng-deep .chipContainer .cross{cursor:pointer;min-width:16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:2px;margin-left:-4px}::ng-deep .chipContainer .cross:hover{background:#f1f1f1}::ng-deep .chipContainer .chipName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:6rem}::ng-deep .chipContainer .chipName.no-width{max-width:unset}::ng-deep .chipContainer button.countBtn{background:#1e5dd3;border-radius:1.25rem;border:none;min-width:1.5rem;height:1rem;margin:0 0 0 .5rem;padding:0 .25rem}::ng-deep .chipContainer button.countBtn.greenBg{background:#34aa44}::ng-deep .workflowLavel{background:#f1f1f1;border-radius:.125rem;color:#042e7d;min-width:1rem;height:1rem}::ng-deep .reviewSelection{border-radius:.25rem;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep .reviewSelection:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .selectButton{background:#fff;border-radius:.25rem;border:1px solid #dbdbdb;cursor:pointer;height:2.5rem;position:relative;transition:all .2s ease-in-out}::ng-deep .selectButton:hover,::ng-deep .selectButton:focus{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep button.createNewBtn{background:transparent;border-radius:0;border:none}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-bottom-style:solid;border-bottom-width:1px;border-right-style:solid;border-right-width:1px;border-color:#707070;content:\"\";display:inline-block;right:12px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#ffffff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:108px;display:flex;align-items:center}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative;transition:all .2s ease-in-out}::ng-deep .vx-form-group .tab-group:hover{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 62px 16px 24px;display:flex;align-items:center;justify-content:space-between}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;margin:0;padding:0;inset:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:8px 0!important;text-align:center}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%;text-align:center}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#ffffff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:13px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;font-size:14px;font-weight:500;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group label.vx-control-panel i.depreciation-icon{color:#e4b700;font-size:16px;position:relative;top:3px}::ng-deep .vx-form-group label.vx-control-panel .checkpoint-version{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:10px;font-weight:600;line-height:14px;margin-left:4px;padding:0 2px}::ng-deep .vx-form-group input[type=text],::ng-deep .vx-form-group .input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#ffffff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{color:#747576;font-weight:400}::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group input[type=text]:hover,::ng-deep .vx-form-group .input:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group input[type=text].error,::ng-deep .vx-form-group .input.error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group input[type=text].error:focus,::ng-deep .vx-form-group .input.error:focus{box-shadow:0 0 5px #d31e1e45}::ng-deep .vx-form-group input[type=text]:disabled,::ng-deep .vx-form-group .input:disabled{background:#f1f1f1;cursor:not-allowed;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group input[type=text]:disabled:hover,::ng-deep .vx-form-group .input:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group input[type=text] span.text,::ng-deep .vx-form-group .input span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group input[type=text] .input-group,::ng-deep .vx-form-group .input .input-group{display:flex;align-items:center}::ng-deep .vx-form-group input[type=text] .input-group.counter,::ng-deep .vx-form-group .input .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group input[type=text] .input-group.counter button,::ng-deep .vx-form-group .input .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group input[type=text] .input-group.counter input,::ng-deep .vx-form-group .input .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}::ng-deep .vx-form-group input[type=text]+.file-list,::ng-deep .vx-form-group .input+.file-list{margin-top:8px}::ng-deep .vx-form-group input[type=text]::placeholder,::ng-deep .vx-form-group .input::placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder,::ng-deep .vx-form-group .input:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder,::ng-deep .vx-form-group .input::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#ffffff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{margin:0 4px 0 0;width:100%;position:relative;z-index:1}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;inset:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected.first-field{z-index:2}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#ffffff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected .chip-container .chip-inner{background:#fff;border-radius:2px;box-shadow:0 2px 4px #1e5dd31a;line-height:24px;padding:0 4px 0 8px;display:flex;align-items:center}::ng-deep .vx-form-group .selected .chip-container .chip-inner .chip{background:transparent;border-radius:0;box-shadow:none;height:auto;line-height:unset;padding:0;color:#747576;max-width:100px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count{border-radius:20px;height:16px;padding:0 6px;border:none;font-size:9px;line-height:16px;margin-left:4px;min-width:20px}::ng-deep .vx-form-group .selected .chip-container .chip-inner button.count.user{background:#34aa44}::ng-deep .vx-form-group .selected .chip-container .chip-inner i.cross{cursor:pointer;position:relative;top:1px;font-size:8px}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:0 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:none;border-radius:0;background:transparent;outline:none;cursor:pointer;display:block;font-size:11px;font-weight:600;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#ffffff;box-shadow:0 0 5px #1e5dd345;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group vcomply-editor{margin-top:8px;display:block}::ng-deep .vx-form-group vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group vcomply-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px;position:static}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor .editor-container:hover{border-color:#1e5dd3!important;box-shadow:0 3px 6px #1e5dd31a}::ng-deep .vx-form-group vcomply-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group vcomply-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0;background:#ffffff}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:transparent;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:12px;position:absolute;left:12px;top:0;color:#747576;font-size:12px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group app-cs-radio.disabled{pointer-events:none;opacity:.5;filter:grayscale(1);background:#f1f1f1}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none;-webkit-user-select:none;user-select:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:208px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:26px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#ffffff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 #34aa44;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.disabled{-webkit-user-select:none;user-select:none;pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;inset:2px 0 0 2px;background:#ffffff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group input,.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group .selectBoxEnable{border-color:#1e5dd3;box-shadow:0 3px 6px #1e5dd31a}.form-group-row.active .right .vx-form-group .selectBoxEnable.disabled{border-color:#dbdbdb;box-shadow:none}::ng-deep .radio-group-selector app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .radio-group-selector app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .radio-group-selector app-cs-radio label.radio-item .radio,::ng-deep .radio-group-selector app-cs-radio label.radio-item .radiomark{position:absolute!important;top:9px;left:12px}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value{font-size:11px!important;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0!important;max-width:100%!important;font-weight:500!important;color:#707070!important}::ng-deep .radio-group-selector app-cs-radio label.radio-item .value i{font-size:12px;color:#1e5dd3}::ng-deep .radio-group-selector app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}::ng-deep .wf-action-list{width:220px}::ng-deep .wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}::ng-deep .wf-action-list ul.action-item{display:block}::ng-deep .wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}::ng-deep .wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}::ng-deep .wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}::ng-deep .wf-action-list ul.action-item li button:hover{background:#f3f3f3}::ng-deep .wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.within-con{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar img{width:100%}::ng-deep .wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}::ng-deep .wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image{display:block}::ng-deep .wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}::ng-deep .wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}::ng-deep .wf-action-list ul.action-item li .chip-item i{color:#747576;margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}::ng-deep .wf-action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}::ng-deep .wf-action-list ul.action-item li .chip-item span.id{font-size:9px}::ng-deep .wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}::ng-deep .wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}::ng-deep .wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}::ng-deep .wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:8px;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#ffffff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;inset:0}dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;border:1px solid transparent;border-color:#747576;position:relative;margin-right:5px;border-top:none;margin-top:5px;background:#ffffff}::ng-deep span.file.table{margin-right:8px;width:18px;min-width:18px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576 0%,#747576 1%,#747576 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0;background:#ffffff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39 0%,#f31c39 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.xlsx,::ng-deep span.file.xls,::ng-deep span.file.css,::ng-deep span.file.scss,::ng-deep span.file.less{border-color:#34aa44}::ng-deep span.file.xlsx:before,::ng-deep span.file.xls:before,::ng-deep span.file.css:before,::ng-deep span.file.scss:before,::ng-deep span.file.less:before{background:linear-gradient(45deg,#34aa44 0%,#34aa44 1%,#34aa44 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.xlsx:after,::ng-deep span.file.xls:after,::ng-deep span.file.css:after,::ng-deep span.file.scss:after,::ng-deep span.file.less:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.xlsx .format,::ng-deep span.file.xls .format,::ng-deep span.file.css .format,::ng-deep span.file.scss .format,::ng-deep span.file.less .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3 0%,#1e5dd3 1%,#1e5dd3 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ppt,::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpg,::ng-deep span.file.jpeg,::ng-deep span.file.png{border-color:#f6882f}::ng-deep span.file.ppt:before,::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpg:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.png:before{background:linear-gradient(45deg,#f6882f 0%,#f6882f 1%,#f6882f 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ppt:after,::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpg:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.png:after{border-color:#f6882f}::ng-deep span.file.ppt .format,::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpg .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.png .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7 0%,#7aa6f7 1%,#7aa6f7 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:#0000000d!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:solid 14px #f1f1f1;border-bottom:solid 12px transparent;border-top:solid 12px transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:92px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}::ng-deep vcomply-editor{display:block}::ng-deep vcomply-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb;transition:all .2s ease-in-out}::ng-deep vcomply-editor .editor-container:hover,::ng-deep vcomply-editor .editor-container:focus-within{border:1px solid #1e5dd3;box-shadow:0 3px 6px #1e5dd31a}::ng-deep vcomply-editor .editor-container mention-list ul li a{font-size:16px!important}::ng-deep vcomply-editor .editor-container .editable-block{background:#fff;min-height:60px;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}::ng-deep vcomply-editor .editor-container .editable-block:before{color:#747576!important}::ng-deep vcomply-editor .editor-container .editor-tools{border-top:1px solid #dbdbdb;border-radius:0 0 3px 3px}::ng-deep vcomply-editor .editor-container .editor-tools:hover{border-color:#1e5dd3}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}::ng-deep .within-box{background:#f1f1f1;border-radius:.125rem;color:#042e7d}::ng-deep .within-value{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-break:break-word}\n"] }]
|
|
55
55
|
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL3RleHQtZmllbGQtaWNvbi90ZXh0LWZpZWxkLWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBNEI5RCxNQUFNLE9BQU8sc0JBQXNCO0lBMUJuQztRQTJCRSxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFHLFNBQVMsQ0FBQztLQUMzQjs7bUhBTFksc0JBQXNCO3VHQUF0QixzQkFBc0IsMkpBdEJ2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JULGk5M0RBbkJTLFlBQVk7MkZBdUJYLHNCQUFzQjtrQkExQmxDLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQlQsVUFFTyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNWR19MSU5LUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9zdmctbGluay5jb25zdGFudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10ZXh0LWZpZWxkLWljb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCIgW2NsYXNzLmNoZWNrZWRdPVwiaXNDaGVja2VkXCI+XHJcbiAgICAgIDxpbWcgKm5nSWY9XCIhaXNDaGVja2VkXCIgW3NyY109XCJjZG5MaW5rXCIgW2FsdF09XCJhbHROYW1lXCIgLz5cclxuXHJcbiAgICAgIDxzdmdcclxuICAgICAgICAqbmdJZj1cImlzQ2hlY2tlZFwiXHJcbiAgICAgICAgY2xhc3M9XCJjaGVja0ljb25cIlxyXG4gICAgICAgIFt4bWxuc109XCJBTExfU1ZHX0xJTktTPy5jaGVja2VkXCJcclxuICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxjaXJjbGUgY2xhc3M9XCJjaGVja0ljb25fX2NpcmNsZVwiIGN4PVwiMjZcIiBjeT1cIjI2XCIgcj1cIjI1XCIgZmlsbD1cIm5vbmVcIiAvPlxyXG4gICAgICAgIDxwYXRoXHJcbiAgICAgICAgICBjbGFzcz1cImNoZWNrSWNvbl9fY2hlY2tcIlxyXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICAgICAgZD1cIk0xNC4xIDI3LjJsNy4xIDcuMiAxNi43LTE2LjhcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvc3ZnPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vLi4vZm9ybXMubGVzcyddLFxyXG4gIGlucHV0czogWydjZG5MaW5rJywgJ2FsdE5hbWUnLCAnaXNDaGVja2VkJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RmllbGRJY29uQ29tcG9uZW50IHtcclxuICBjZG5MaW5rOiBzdHJpbmcgPSAnJztcclxuICBhbHROYW1lOiBzdHJpbmcgPSAnJztcclxuICBpc0NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBBTExfU1ZHX0xJTktTID0gU1ZHX0xJTktTO1xyXG59XHJcbiJdfQ==
|
|
@@ -5,5 +5,6 @@ export const LINKS = {
|
|
|
5
5
|
grcType: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/type.svg',
|
|
6
6
|
customFields: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/custom-fields.svg',
|
|
7
7
|
noData: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg',
|
|
8
|
+
linkOthers: 'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/link-items.svg',
|
|
8
9
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RuLWxpbmsuY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29uc3RhbnRzL2Nkbi1saW5rLmNvbnN0YW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNuQixhQUFhLEVBQ1gsNkVBQTZFO0lBQy9FLFNBQVMsRUFDUCw4RUFBOEU7SUFDaEYsS0FBSyxFQUNILDhGQUE4RjtJQUNoRyxPQUFPLEVBQ0wsNkVBQTZFO0lBQy9FLFlBQVksRUFDVixzRkFBc0Y7SUFDeEYsTUFBTSxFQUNKLG9GQUFvRjtJQUN0RixVQUFVLEVBQ1IsbUZBQW1GO0NBQ3RGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTElOS1MgPSB7XHJcbiAgZ3JjT2JqZWN0TmFtZTpcclxuICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvd2hhdC5zdmcnLFxyXG4gIGdyY093bmVyczpcclxuICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvb3duZXIuc3ZnJyxcclxuICBncmNSQzpcclxuICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvcmVzcG9uc2liaWxpdHktY2VudGVyLnN2ZycsXHJcbiAgZ3JjVHlwZTpcclxuICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvdHlwZS5zdmcnLFxyXG4gIGN1c3RvbUZpZWxkczpcclxuICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY3VzdG9tLWZpZWxkcy5zdmcnLFxyXG4gIG5vRGF0YTpcclxuICAgICdodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnJyxcclxuICBsaW5rT3RoZXJzOlxyXG4gICAgJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9saW5rLWl0ZW1zLnN2ZycsXHJcbn07XHJcbiJdfQ==
|
|
@@ -47,296 +47,6 @@ export class GrcService {
|
|
|
47
47
|
selectedData: [],
|
|
48
48
|
},
|
|
49
49
|
};
|
|
50
|
-
this.otherGrcObjects = {
|
|
51
|
-
items_from: 1,
|
|
52
|
-
items_to: 2,
|
|
53
|
-
total_pages: 5,
|
|
54
|
-
total_items: 10,
|
|
55
|
-
data: [
|
|
56
|
-
{
|
|
57
|
-
_id: '6474635b36b3c900083a3ed6',
|
|
58
|
-
name: 'CISCO Bachen',
|
|
59
|
-
type: 0,
|
|
60
|
-
owners: [15, 23, 11],
|
|
61
|
-
rc_ids: [5315, 1],
|
|
62
|
-
rcDetails: [
|
|
63
|
-
{
|
|
64
|
-
rc_id: 5315,
|
|
65
|
-
rc_name: 'Risk Responsibility Center',
|
|
66
|
-
parent_rc_names: [
|
|
67
|
-
'B',
|
|
68
|
-
'A',
|
|
69
|
-
'qwertyuiop ertyuiop',
|
|
70
|
-
'dyrutgo g8yg8y',
|
|
71
|
-
'ufdewufdgewfg',
|
|
72
|
-
],
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
rc_id: 5313,
|
|
76
|
-
rc_name: 'Risk Responsibility Center',
|
|
77
|
-
parent_rc_names: ['D', 'C'],
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
rc_id: 5313,
|
|
81
|
-
rc_name: 'Risk Responsibility Center',
|
|
82
|
-
parent_rc_names: ['D', 'C'],
|
|
83
|
-
},
|
|
84
|
-
],
|
|
85
|
-
grc_state: 1,
|
|
86
|
-
grc_control_id: 'GID-1203992',
|
|
87
|
-
edit_enable: 1,
|
|
88
|
-
activate_enable: 1,
|
|
89
|
-
deactivate_enable: 1,
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
_id: '6474635b36b3c900083a3ed7',
|
|
93
|
-
name: 'IIT Service Desk',
|
|
94
|
-
type: 0,
|
|
95
|
-
owners: [13172, 2321, 1321],
|
|
96
|
-
rc_ids: [5315, 4],
|
|
97
|
-
rcDetails: [
|
|
98
|
-
{
|
|
99
|
-
rc_id: 5315,
|
|
100
|
-
rc_name: 'Risk Responsibility Center',
|
|
101
|
-
parent_rc_names: ['B', 'A'],
|
|
102
|
-
},
|
|
103
|
-
],
|
|
104
|
-
state: 1,
|
|
105
|
-
control_id: 'GID-1203492',
|
|
106
|
-
edit_enable: 1,
|
|
107
|
-
activate_enable: 1,
|
|
108
|
-
deactivate_enable: 1,
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
_id: '6474635b36b3c900083a3ed8',
|
|
112
|
-
name: 'CISCO Bachen',
|
|
113
|
-
type: 0,
|
|
114
|
-
owners: [15, 23, 11],
|
|
115
|
-
rc_ids: [5315, 1],
|
|
116
|
-
rcDetails: [
|
|
117
|
-
{
|
|
118
|
-
rc_id: 5315,
|
|
119
|
-
rc_name: 'Risk Responsibility Center',
|
|
120
|
-
parent_rc_names: ['B', 'A'],
|
|
121
|
-
},
|
|
122
|
-
],
|
|
123
|
-
grc_state: 1,
|
|
124
|
-
grc_control_id: 'GID-1203992',
|
|
125
|
-
edit_enable: 1,
|
|
126
|
-
activate_enable: 1,
|
|
127
|
-
deactivate_enable: 1,
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
_id: '6474635b36b3c900083a3ed9',
|
|
131
|
-
name: 'IIT Service Desk',
|
|
132
|
-
type: 0,
|
|
133
|
-
owners: [13172, 2321, 1321],
|
|
134
|
-
rc_ids: [5315, 4],
|
|
135
|
-
rcDetails: [
|
|
136
|
-
{
|
|
137
|
-
rc_id: 5315,
|
|
138
|
-
rc_name: 'Risk Responsibility Center',
|
|
139
|
-
parent_rc_names: ['B', 'A'],
|
|
140
|
-
},
|
|
141
|
-
],
|
|
142
|
-
state: 1,
|
|
143
|
-
control_id: 'GID-1203492',
|
|
144
|
-
edit_enable: 1,
|
|
145
|
-
activate_enable: 1,
|
|
146
|
-
deactivate_enable: 1,
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
_id: '6474635b36b3c900083a3ed10',
|
|
150
|
-
name: 'CISCO Bachen',
|
|
151
|
-
type: 0,
|
|
152
|
-
owners: [15, 23, 11],
|
|
153
|
-
rc_ids: [5315, 1],
|
|
154
|
-
rcDetails: [
|
|
155
|
-
{
|
|
156
|
-
rc_id: 5315,
|
|
157
|
-
rc_name: 'Risk Responsibility Center',
|
|
158
|
-
parent_rc_names: ['B', 'A'],
|
|
159
|
-
},
|
|
160
|
-
],
|
|
161
|
-
grc_state: 1,
|
|
162
|
-
grc_control_id: 'GID-1203992',
|
|
163
|
-
edit_enable: 1,
|
|
164
|
-
activate_enable: 1,
|
|
165
|
-
deactivate_enable: 1,
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
_id: '6474635b36b3c900083a3ed11',
|
|
169
|
-
name: 'IIT Service Desk',
|
|
170
|
-
type: 0,
|
|
171
|
-
owners: [13172, 2321, 1321],
|
|
172
|
-
rc_ids: [5315, 4],
|
|
173
|
-
rcDetails: [
|
|
174
|
-
{
|
|
175
|
-
rc_id: 5315,
|
|
176
|
-
rc_name: 'Risk Responsibility Center',
|
|
177
|
-
parent_rc_names: ['B', 'A'],
|
|
178
|
-
},
|
|
179
|
-
],
|
|
180
|
-
state: 1,
|
|
181
|
-
control_id: 'GID-1203492',
|
|
182
|
-
edit_enable: 1,
|
|
183
|
-
activate_enable: 1,
|
|
184
|
-
deactivate_enable: 1,
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
_id: '6474635b36b3c900083a3ed12',
|
|
188
|
-
name: 'CISCO Bachen',
|
|
189
|
-
type: 0,
|
|
190
|
-
owners: [15, 23, 11],
|
|
191
|
-
rc_ids: [5315, 1],
|
|
192
|
-
rcDetails: [
|
|
193
|
-
{
|
|
194
|
-
rc_id: 5315,
|
|
195
|
-
rc_name: 'Risk Responsibility Center',
|
|
196
|
-
parent_rc_names: ['B', 'A'],
|
|
197
|
-
},
|
|
198
|
-
],
|
|
199
|
-
grc_state: 1,
|
|
200
|
-
grc_control_id: 'GID-1203992',
|
|
201
|
-
edit_enable: 1,
|
|
202
|
-
activate_enable: 1,
|
|
203
|
-
deactivate_enable: 1,
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
_id: '6474635b36b3c900083a3e13',
|
|
207
|
-
name: 'IIT Service Desk',
|
|
208
|
-
type: 0,
|
|
209
|
-
owners: [13172, 2321, 1321],
|
|
210
|
-
rc_ids: [5315, 4],
|
|
211
|
-
rcDetails: [
|
|
212
|
-
{
|
|
213
|
-
rc_id: 5315,
|
|
214
|
-
rc_name: 'Risk Responsibility Center',
|
|
215
|
-
parent_rc_names: ['B', 'A'],
|
|
216
|
-
},
|
|
217
|
-
],
|
|
218
|
-
state: 1,
|
|
219
|
-
control_id: 'GID-1203492',
|
|
220
|
-
edit_enable: 1,
|
|
221
|
-
activate_enable: 1,
|
|
222
|
-
deactivate_enable: 1,
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
_id: '6474635b36b3c900083a3e14',
|
|
226
|
-
name: 'CISCO Bachen',
|
|
227
|
-
type: 0,
|
|
228
|
-
owners: [15, 23, 11],
|
|
229
|
-
rc_ids: [5315, 1],
|
|
230
|
-
rcDetails: [
|
|
231
|
-
{
|
|
232
|
-
rc_id: 5315,
|
|
233
|
-
rc_name: 'Risk Responsibility Center',
|
|
234
|
-
parent_rc_names: ['B', 'A'],
|
|
235
|
-
},
|
|
236
|
-
],
|
|
237
|
-
grc_state: 1,
|
|
238
|
-
grc_control_id: 'GID-1203992',
|
|
239
|
-
edit_enable: 1,
|
|
240
|
-
activate_enable: 1,
|
|
241
|
-
deactivate_enable: 1,
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
_id: '6474635b36b3c900083a3e15',
|
|
245
|
-
name: 'IIT Service Desk 15',
|
|
246
|
-
type: 0,
|
|
247
|
-
owners: [13172, 2321, 1321],
|
|
248
|
-
rc_ids: [5315, 4],
|
|
249
|
-
rcDetails: [
|
|
250
|
-
{
|
|
251
|
-
rc_id: 5315,
|
|
252
|
-
rc_name: 'Risk Responsibility Center',
|
|
253
|
-
parent_rc_names: ['B', 'A'],
|
|
254
|
-
},
|
|
255
|
-
],
|
|
256
|
-
state: 1,
|
|
257
|
-
control_id: 'GID-1203492',
|
|
258
|
-
edit_enable: 1,
|
|
259
|
-
activate_enable: 1,
|
|
260
|
-
deactivate_enable: 1,
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
_id: '6474635b36b3c900083a3ed16',
|
|
264
|
-
name: 'CISCO Bachen 16',
|
|
265
|
-
type: 0,
|
|
266
|
-
owners: [15, 23, 11],
|
|
267
|
-
rc_ids: [5315, 1],
|
|
268
|
-
rcDetails: [
|
|
269
|
-
{
|
|
270
|
-
rc_id: 5315,
|
|
271
|
-
rc_name: 'Risk Responsibility Center',
|
|
272
|
-
parent_rc_names: ['B', 'A'],
|
|
273
|
-
},
|
|
274
|
-
],
|
|
275
|
-
grc_state: 1,
|
|
276
|
-
grc_control_id: 'GID-1203992',
|
|
277
|
-
edit_enable: 1,
|
|
278
|
-
activate_enable: 1,
|
|
279
|
-
deactivate_enable: 1,
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
_id: '6474635b36b3c900083a3ed17',
|
|
283
|
-
name: 'IIT Service Desk 17',
|
|
284
|
-
type: 0,
|
|
285
|
-
owners: [13172, 2321, 1321],
|
|
286
|
-
rc_ids: [5315, 4],
|
|
287
|
-
rcDetails: [
|
|
288
|
-
{
|
|
289
|
-
rc_id: 5315,
|
|
290
|
-
rc_name: 'Risk Responsibility Center',
|
|
291
|
-
parent_rc_names: ['B', 'A'],
|
|
292
|
-
},
|
|
293
|
-
],
|
|
294
|
-
state: 1,
|
|
295
|
-
control_id: 'GID-1203492',
|
|
296
|
-
edit_enable: 1,
|
|
297
|
-
activate_enable: 1,
|
|
298
|
-
deactivate_enable: 1,
|
|
299
|
-
},
|
|
300
|
-
{
|
|
301
|
-
_id: '6474635b36b3c900083a3ed18',
|
|
302
|
-
name: 'CISCO Bachen 18',
|
|
303
|
-
type: 0,
|
|
304
|
-
owners: [15, 23, 11],
|
|
305
|
-
rc_ids: [5315, 1],
|
|
306
|
-
rcDetails: [
|
|
307
|
-
{
|
|
308
|
-
rc_id: 5315,
|
|
309
|
-
rc_name: 'Risk Responsibility Center',
|
|
310
|
-
parent_rc_names: ['B', 'A'],
|
|
311
|
-
},
|
|
312
|
-
],
|
|
313
|
-
grc_state: 1,
|
|
314
|
-
grc_control_id: 'GID-1203992',
|
|
315
|
-
edit_enable: 1,
|
|
316
|
-
activate_enable: 1,
|
|
317
|
-
deactivate_enable: 1,
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
_id: '6474635b36b3c900083a3ed19',
|
|
321
|
-
name: 'IIT Service Desk 19',
|
|
322
|
-
type: 0,
|
|
323
|
-
owners: [13172, 2321, 1321],
|
|
324
|
-
rc_ids: [5315, 4],
|
|
325
|
-
rcDetails: [
|
|
326
|
-
{
|
|
327
|
-
rc_id: 5315,
|
|
328
|
-
rc_name: 'Risk Responsibility Center',
|
|
329
|
-
parent_rc_names: ['B', 'A'],
|
|
330
|
-
},
|
|
331
|
-
],
|
|
332
|
-
state: 1,
|
|
333
|
-
control_id: 'GID-1203492',
|
|
334
|
-
edit_enable: 1,
|
|
335
|
-
activate_enable: 1,
|
|
336
|
-
deactivate_enable: 1,
|
|
337
|
-
},
|
|
338
|
-
],
|
|
339
|
-
};
|
|
340
50
|
if (config) {
|
|
341
51
|
this.env = config.envConfig;
|
|
342
52
|
}
|
|
@@ -359,14 +69,13 @@ export class GrcService {
|
|
|
359
69
|
}
|
|
360
70
|
getGRCTabsCount(event) {
|
|
361
71
|
const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
|
|
362
|
-
// https://devapi.v-comply.com/organization/?mode=grc/
|
|
72
|
+
// https://devapi.v-comply.com/organization/?mode=grc/getGRCCount&state=active
|
|
363
73
|
let params = new HttpParams();
|
|
364
|
-
params = params.append('state', event?.state ?? 1);
|
|
365
74
|
params = event?.searchString
|
|
366
75
|
? params.append('name', event?.searchString ?? '')
|
|
367
76
|
: params;
|
|
368
77
|
return this.http
|
|
369
|
-
.get(this.env?.grc_get + 'grc/
|
|
78
|
+
.get(this.env?.grc_get + 'grc/getGRCCount', {
|
|
370
79
|
params,
|
|
371
80
|
headers,
|
|
372
81
|
})
|
|
@@ -503,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
503
212
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.Configurations, decorators: [{
|
|
504
213
|
type: Optional
|
|
505
214
|
}] }]; } });
|
|
506
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvc2VydmljZXMvZ3JjLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQU03QixNQUFNLE9BQU8sVUFBVTtJQWdEckIsWUFDVSxJQUFnQixFQUNoQixXQUF3QixFQUNwQixNQUF1QjtRQUYzQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBekNsQixnQkFBVyxHQUFXO1lBQ3BDLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLEVBQUUsQ0FBQztZQUNSLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsNkJBQTZCLEVBQUUsRUFBRTtZQUNqQyxXQUFXLEVBQUUsRUFBRTtZQUNmLFNBQVMsRUFBRSxFQUFFO1lBQ2IsVUFBVSxFQUFFLEVBQUU7WUFDZCxNQUFNLEVBQUUsRUFBRTtZQUNWLG9CQUFvQixFQUFFLEVBQUU7WUFDeEIsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixjQUFjLEVBQUUsRUFBRTtTQUNuQixDQUFDO1FBRWMsZ0JBQVcsR0FBZTtZQUN4QyxFQUFFLEVBQUU7Z0JBQ0YsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxFQUFFO2dCQUNSLFlBQVksRUFBRSxFQUFFO2FBQ2pCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJ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Q0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDO1lBQy9DLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFRLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxHQUFHLGdCQUFnQixFQUFFO1lBQzdELE1BQU07WUFDTixPQUFPO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFhO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUNuQyxPQUFPLEVBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUN6QyxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEdBQUcsbUJBQW1CLEVBQ3BDLE9BQU8sRUFDUDtZQUNFLE9BQU87U0FDUixDQUNGLENBQUM7SUFDSixDQUFDOztBQXhnQnNCLHdCQUFhLEdBQUc7SUFDckMsSUFBSSxFQUFFLE9BQU87SUFDYixZQUFZLEVBQUUsSUFBSTtJQUNsQixJQUFJLEVBQUUsSUFBSTtJQUNWLEVBQUUsRUFBRSxpQkFBaUI7SUFDckIsV0FBVyxFQUFFLHVDQUF1QztDQUNwRCxDQUFBO3VHQVJTLFVBQVU7MkdBQVYsVUFBVSxjQUZULE1BQU07MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQW9ESSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9ucyc7XHJcbmltcG9ydCB7IHJldHJ5IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFkZEdyYywgQXR0cmlidXRlc0RldGFpbHMsIExpc3RPYmplY3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FkZC1ncmMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyY1NlcnZpY2Uge1xyXG4gIGVudiE6IGFueTtcclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVESVRPUl9DT05GSUcgPSB7XHJcbiAgICBtb2RlOiAncHJpbWUnLFxyXG4gICAgY29sb3JQYWxldHRlOiB0cnVlLFxyXG4gICAgbGluazogdHJ1ZSxcclxuICAgIGlkOiAnZ3JjX2Rlc2NyaXB0aW9uJyxcclxuICAgIHBsYWNlaG9sZGVyOiAnQWRkIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgR1JDIE9iamVjdCcsXHJcbiAgfTtcclxuICBwdWJsaWMgcmVhZG9ubHkgR1JDX1BBWUxPQUQ6IEFkZEdyYyA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdHlwZTogMywgLy9Bc3NldHMtIDAsIEludmVudG9yeS0gMSwgUHJvY2Vzc2VzIC0gMiwgVmVuZG9ycy0gM1xyXG4gICAgc3RhdGU6IDAsXHJcbiAgICBwYXJlbnRfZ3JjX2lkczogW10sXHJcbiAgICBvd25lcnM6IFtdLFxyXG4gICAgZW1haWxfbm90aWZpY2F0aW9uX21lbWJlcl9pZHM6IFtdLFxyXG4gICAgZGVzY3JpcHRpb246ICcnLFxyXG4gICAgZnJlcXVlbmN5OiAnJyxcclxuICAgIGF0dHJpYnV0ZXM6IFtdLFxyXG4gICAgcmNfaWRzOiBbXSxcclxuICAgIHByb2dyYW1fY2F0ZWdvcnlfaWRzOiBbXSxcclxuICAgIHJpc2tfY2F0ZWdvcnlfaWRzOiBbXSxcclxuICAgIGxpbmtlZF9ncmNfaWRzOiBbXSxcclxuICB9O1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgTElTVF9PQkpFQ1Q6IExpc3RPYmplY3QgPSB7XHJcbiAgICBSQzoge1xyXG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICBkYXRhOiBbXSxcclxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcclxuICAgIH0sXHJcbiAgICBPV05FUjoge1xyXG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICBkYXRhOiBbXSxcclxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcclxuICAgICAgZGlzYWJsZWRJZHM6IFtdLFxyXG4gICAgfSxcclxuICAgIE9USEVSX0dSQ19PQkpFQ1RTOiB7XHJcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHt9LFxyXG4gICAgICBzZWxlY3RlZERhdGE6IFtdLFxyXG4gICAgfSxcclxuICAgIFJJU0tfQ0FURUdPUlk6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YToge30sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICB9LFxyXG4gIH07XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXHJcbiAgKSB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG90aGVyR3JjT2JqZWN0czogYW55ID0ge1xyXG4gICAgaXRlbXNfZnJvbTogMSxcclxuICAgIGl0ZW1zX3RvOiAyLFxyXG4gICAgdG90YWxfcGFnZXM6IDUsXHJcbiAgICB0b3RhbF9pdGVtczogMTAsXHJcbiAgICBkYXRhOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6ICc2NDc0NjM1YjM2YjNjOTAwMDgzYTNlZDYnLFxyXG4gICAgICAgIG5hbWU6ICdDSVNDTyBCYWNoZW4nLFxyXG4gICAgICAgIHR5cGU6IDAsXHJcbiAgICAgICAgb3duZXJzOiBbMTUsIDIzLCAxMV0sXHJcbiAgICAgICAgcmNfaWRzOiBbNTMxNSwgMV0sXHJcbiAgICAgICAgcmNEZXRhaWxzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJjX2lkOiA1MzE1LFxyXG4gICAgICAgICAgICByY19uYW1lOiAnUmlzayBSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgICAgICBwYXJlbnRfcmNfbmFtZXM6IFtcclxuICAgICAgICAgICAgICAnQicsXHJcbiAgICAgICAgICAgICAgJ0EnLFxyXG4gICAgICAgICAgICAgICdxd2VydHl1aW9wIGVydHl1aW9wJyxcclxuICAgICAgICAgICAgICAnZHlydXRnbyBnOHlnOHknLFxyXG4gICAgICAgICAgICAgICd1ZmRld3VmZGdld2ZnJyxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJjX2lkOiA1MzEzLFxyXG4gICAgICAgICAgICByY19uYW1lOiAnUmlzayBSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgICAgICBwYXJlbnRfcmNfbmFtZXM6IFsnRCcsICdDJ10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICByY19pZDogNTMxMyxcclxuICAgICAgICAgICAgcmNfbmFtZTogJ1Jpc2sgUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICAgICAgcGFyZW50X3JjX25hbWVzOiBbJ0QnLCAnQyddLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGdyY19zdGF0ZTogMSxcclxuICAgICAgICBncmNfY29udHJvbF9pZDogJ0dJRC0xMjAzOTkyJyxcclxuICAgICAgICBlZGl0X2VuYWJsZTogMSxcclxuICAgICAgICBhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgICAgZGVhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6ICc2NDc0NjM1YjM2YjNjOTAwMDgzYTNlZDcnLFxyXG4gICAgICAgIG5hbWU6ICdJSVQgU2VydmljZSBEZXNrJyxcclxuICAgICAgICB0eXBlOiAwLFxyXG4gICAgICAgIG93bmVyczogWzEzMTcyLCAyMzIxLCAxMzIxXSxcclxuICAgICAgICByY19pZHM6IFs1MzE1LCA0XSxcclxuICAgICAgICByY0RldGFpbHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcmNfaWQ6IDUzMTUsXHJcbiAgICAgICAgICAgIHJjX25hbWU6ICdSaXNrIFJlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgICAgIHBhcmVudF9yY19uYW1lczogWydCJywgJ0EnXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgICBzdGF0ZTogMSxcclxuICAgICAgICBjb250cm9sX2lkOiAnR0lELTEyMDM0OTInLFxyXG4gICAgICAgIGVkaXRfZW5hYmxlOiAxLFxyXG4gICAgICAgIGFjdGl2YXRlX2VuYWJsZTogMSxcclxuICAgICAgICBkZWFjdGl2YXRlX2VuYWJsZTogMSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIF9pZDogJzY0NzQ2MzViMzZiM2M5MDAwODNhM2VkOCcsXHJcbiAgICAgICAgbmFtZTogJ0NJU0NPIEJhY2hlbicsXHJcbiAgICAgICAgdHlwZTogMCxcclxuICAgICAgICBvd25lcnM6IFsxNSwgMjMsIDExXSxcclxuICAgICAgICByY19pZHM6IFs1MzE1LCAxXSxcclxuICAgICAgICByY0RldGFpbHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcmNfaWQ6IDUzMTUsXHJcbiAgICAgICAgICAgIHJjX25hbWU6ICdSaXNrIFJlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgICAgIHBhcmVudF9yY19uYW1lczogWydCJywgJ0EnXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgICBncmNfc3RhdGU6IDEsXHJcbiAgICAgICAgZ3JjX2NvbnRyb2xfaWQ6ICdHSUQtMTIwMzk5MicsXHJcbiAgICAgICAgZWRpdF9lbmFibGU6IDEsXHJcbiAgICAgICAgYWN0aXZhdGVfZW5hYmxlOiAxLFxyXG4gICAgICAgIGRlYWN0aXZhdGVfZW5hYmxlOiAxLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgX2lkOiAnNjQ3NDYzNWIzNmIzYzkwMDA4M2EzZWQ5JyxcclxuICAgICAgICBuYW1lOiAnSUlUIFNlcnZpY2UgRGVzaycsXHJcbiAgICAgICAgdHlwZTogMCxcclxuICAgICAgICBvd25lcnM6IFsxMzE3MiwgMjMyMSwgMTMyMV0sXHJcbiAgICAgICAgcmNfaWRzOiBbNTMxNSwgNF0sXHJcbiAgICAgICAgcmNEZXRhaWxzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJjX2lkOiA1MzE1LFxyXG4gICAgICAgICAgICByY19uYW1lOiAnUmlzayBSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgICAgICBwYXJlbnRfcmNfbmFtZXM6IFsnQicsICdBJ10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc3RhdGU6IDEsXHJcbiAgICAgICAgY29udHJvbF9pZDogJ0dJRC0xMjAzNDkyJyxcclxuICAgICAgICBlZGl0X2VuYWJsZTogMSxcclxuICAgICAgICBhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgICAgZGVhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6ICc2NDc0NjM1YjM2YjNjOTAwMDgzYTNlZDEwJyxcclxuICAgICAgICBuYW1lOiAnQ0lTQ08gQmFjaGVuJyxcclxuICAgICAgICB0eXBlOiAwLFxyXG4gICAgICAgIG93bmVyczogWzE1LCAyMywgMTFdLFxyXG4gICAgICAgIHJjX2lkczogWzUzMTUsIDFdLFxyXG4gICAgICAgIHJjRGV0YWlsczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICByY19pZDogNTMxNSxcclxuICAgICAgICAgICAgcmNfbmFtZTogJ1Jpc2sgUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICAgICAgcGFyZW50X3JjX25hbWVzOiBbJ0InLCAnQSddLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGdyY19zdGF0ZTogMSxcclxuICAgICAgICBncmNfY29udHJvbF9pZDogJ0dJRC0xMjAzOTkyJyxcclxuICAgICAgICBlZGl0X2VuYWJsZTogMSxcclxuICAgICAgICBhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgICAgZGVhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6ICc2NDc0NjM1YjM2YjNjOTAwMDgzYTNlZDExJyxcclxuICAgICAgICBuYW1lOiAnSUlUIFNlcnZpY2UgRGVzaycsXHJcbiAgICAgICAgdHlwZTogMCxcclxuICAgICAgICBvd25lcnM6IFsxMzE3MiwgMjMyMSwgMTMyMV0sXHJcbiAgICAgICAgcmNfaWRzOiBbNTMxNSwgNF0sXHJcbiAgICAgICAgcmNEZXRhaWxzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJjX2lkOiA1MzE1LFxyXG4gICAgICAgICAgICByY19uYW1lOiAnUmlzayBSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgICAgICBwYXJlbnRfcmNfbmFtZXM6IFsnQicsICdBJ10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc3RhdGU6IDEsXHJcbiAgICAgICAgY29udHJvbF9pZDogJ0dJRC0xMjAzNDkyJyxcclxuICAgICAgICBlZGl0X2VuYWJsZTogMSxcclxuICAgICAgICBhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgICAgZGVhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6ICc2NDc0NjM1YjM2YjNjOTAwMDgzYTNlZDEyJyxcclxuICAgICAgICBuYW1lOiAnQ0lTQ08gQmFjaGVuJyxcclxuICAgICAgICB0eXBlOiAwLFxyXG4gICAgICAgIG93bmVyczogWzE1LCAyMywgMTFdLFxyXG4gICAgICAgIHJjX2lkczogWzUzMTUsIDFdLFxyXG4gICAgICAgIHJjRGV0YWlsczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICByY19pZDogNTMxNSxcclxuICAgICAgICAgICAgcmNfbmFtZTogJ1Jpc2sgUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICAgICAgcGFyZW50X3JjX25hbWVzOiBbJ0InLCAnQSddLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGdyY19zdGF0ZTogMSxcclxuICAgICAgICBncmNfY29udHJvbF9pZDogJ0dJRC0xMjAzOTkyJyxcclxuICAgICAgICBlZGl0X2VuYWJsZTogMSxcclxuICAgICAgICBhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgICAgZGVhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6ICc2NDc0NjM1YjM2YjNjOTAwMDgzYTNlMTMnLFxyXG4gICAgICAgIG5hbWU6ICdJSVQgU2VydmljZSBEZXNrJyxcclxuICAgICAgICB0eXBlOiAwLFxyXG4gICAgICAgIG93bmVyczogWzEzMTcyLCAyMzIxLCAxMzIxXSxcclxuICAgICAgICByY19pZHM6IFs1MzE1LCA0XSxcclxuICAgICAgICByY0RldGFpbHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcmNfaWQ6IDUzMTUsXHJcbiAgICAgICAgICAgIHJjX25hbWU6ICdSaXNrIFJlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgICAgIHBhcmVudF9yY19uYW1lczogWydCJywgJ0EnXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgICBzdGF0ZTogMSxcclxuICAgICAgICBjb250cm9sX2lkOiAnR0lELTEyMDM0OTInLFxyXG4gICAgICAgIGVkaXRfZW5hYmxlOiAxLFxyXG4gICAgICAgIGFjdGl2YXRlX2VuYWJsZTogMSxcclxuICAgICAgICBkZWFjdGl2YXRlX2VuYWJsZTogMSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIF9pZDogJzY0NzQ2MzViMzZiM2M5MDAwODNhM2UxNCcsXHJcbiAgICAgICAgbmFtZTogJ0NJU0NPIEJhY2hlbicsXHJcbiAgICAgICAgdHlwZTogMCxcclxuICAgICAgICBvd25lcnM6IFsxNSwgMjMsIDExXSxcclxuICAgICAgICByY19pZHM6IFs1MzE1LCAxXSxcclxuICAgICAgICByY0RldGFpbHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcmNfaWQ6IDUzMTUsXHJcbiAgICAgICAgICAgIHJjX25hbWU6ICdSaXNrIFJlc3BvbnNpYmlsaXR5IENlbnRlcicsXHJcbiAgICAgICAgICAgIHBhcmVudF9yY19uYW1lczogWydCJywgJ0EnXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgICBncmNfc3RhdGU6IDEsXHJcbiAgICAgICAgZ3JjX2NvbnRyb2xfaWQ6ICdHSUQtMTIwMzk5MicsXHJcbiAgICAgICAgZWRpdF9lbmFibGU6IDEsXHJcbiAgICAgICAgYWN0aXZhdGVfZW5hYmxlOiAxLFxyXG4gICAgICAgIGRlYWN0aXZhdGVfZW5hYmxlOiAxLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgX2lkOiAnNjQ3NDYzNWIzNmIzYzkwMDA4M2EzZTE1JyxcclxuICAgICAgICBuYW1lOiAnSUlUIFNlcnZpY2UgRGVzayAxNScsXHJcbiAgICAgICAgdHlwZTogMCxcclxuICAgICAgICBvd25lcnM6IFsxMzE3MiwgMjMyMSwgMTMyMV0sXHJcbiAgICAgICAgcmNfaWRzOiBbNTMxNSwgNF0sXHJcbiAgICAgICAgcmNEZXRhaWxzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJjX2lkOiA1MzE1LFxyXG4gICAgICAgICAgICByY19uYW1lOiAnUmlzayBSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgICAgICBwYXJlbnRfcmNfbmFtZXM6IFsnQicsICdBJ10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc3RhdGU6IDEsXHJcbiAgICAgICAgY29udHJvbF9pZDogJ0dJRC0xMjAzNDkyJyxcclxuICAgICAgICBlZGl0X2VuYWJsZTogMSxcclxuICAgICAgICBhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgICAgZGVhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6ICc2NDc0NjM1YjM2YjNjOTAwMDgzYTNlZDE2JyxcclxuICAgICAgICBuYW1lOiAnQ0lTQ08gQmFjaGVuIDE2JyxcclxuICAgICAgICB0eXBlOiAwLFxyXG4gICAgICAgIG93bmVyczogWzE1LCAyMywgMTFdLFxyXG4gICAgICAgIHJjX2lkczogWzUzMTUsIDFdLFxyXG4gICAgICAgIHJjRGV0YWlsczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICByY19pZDogNTMxNSxcclxuICAgICAgICAgICAgcmNfbmFtZTogJ1Jpc2sgUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICAgICAgcGFyZW50X3JjX25hbWVzOiBbJ0InLCAnQSddLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGdyY19zdGF0ZTogMSxcclxuICAgICAgICBncmNfY29udHJvbF9pZDogJ0dJRC0xMjAzOTkyJyxcclxuICAgICAgICBlZGl0X2VuYWJsZTogMSxcclxuICAgICAgICBhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgICAgZGVhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6ICc2NDc0NjM1YjM2YjNjOTAwMDgzYTNlZDE3JyxcclxuICAgICAgICBuYW1lOiAnSUlUIFNlcnZpY2UgRGVzayAxNycsXHJcbiAgICAgICAgdHlwZTogMCxcclxuICAgICAgICBvd25lcnM6IFsxMzE3MiwgMjMyMSwgMTMyMV0sXHJcbiAgICAgICAgcmNfaWRzOiBbNTMxNSwgNF0sXHJcbiAgICAgICAgcmNEZXRhaWxzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJjX2lkOiA1MzE1LFxyXG4gICAgICAgICAgICByY19uYW1lOiAnUmlzayBSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgICAgICBwYXJlbnRfcmNfbmFtZXM6IFsnQicsICdBJ10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc3RhdGU6IDEsXHJcbiAgICAgICAgY29udHJvbF9pZDogJ0dJRC0xMjAzNDkyJyxcclxuICAgICAgICBlZGl0X2VuYWJsZTogMSxcclxuICAgICAgICBhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgICAgZGVhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6ICc2NDc0NjM1YjM2YjNjOTAwMDgzYTNlZDE4JyxcclxuICAgICAgICBuYW1lOiAnQ0lTQ08gQmFjaGVuIDE4JyxcclxuICAgICAgICB0eXBlOiAwLFxyXG4gICAgICAgIG93bmVyczogWzE1LCAyMywgMTFdLFxyXG4gICAgICAgIHJjX2lkczogWzUzMTUsIDFdLFxyXG4gICAgICAgIHJjRGV0YWlsczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICByY19pZDogNTMxNSxcclxuICAgICAgICAgICAgcmNfbmFtZTogJ1Jpc2sgUmVzcG9uc2liaWxpdHkgQ2VudGVyJyxcclxuICAgICAgICAgICAgcGFyZW50X3JjX25hbWVzOiBbJ0InLCAnQSddLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGdyY19zdGF0ZTogMSxcclxuICAgICAgICBncmNfY29udHJvbF9pZDogJ0dJRC0xMjAzOTkyJyxcclxuICAgICAgICBlZGl0X2VuYWJsZTogMSxcclxuICAgICAgICBhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgICAgZGVhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBfaWQ6ICc2NDc0NjM1YjM2YjNjOTAwMDgzYTNlZDE5JyxcclxuICAgICAgICBuYW1lOiAnSUlUIFNlcnZpY2UgRGVzayAxOScsXHJcbiAgICAgICAgdHlwZTogMCxcclxuICAgICAgICBvd25lcnM6IFsxMzE3MiwgMjMyMSwgMTMyMV0sXHJcbiAgICAgICAgcmNfaWRzOiBbNTMxNSwgNF0sXHJcbiAgICAgICAgcmNEZXRhaWxzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHJjX2lkOiA1MzE1LFxyXG4gICAgICAgICAgICByY19uYW1lOiAnUmlzayBSZXNwb25zaWJpbGl0eSBDZW50ZXInLFxyXG4gICAgICAgICAgICBwYXJlbnRfcmNfbmFtZXM6IFsnQicsICdBJ10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgc3RhdGU6IDEsXHJcbiAgICAgICAgY29udHJvbF9pZDogJ0dJRC0xMjAzNDkyJyxcclxuICAgICAgICBlZGl0X2VuYWJsZTogMSxcclxuICAgICAgICBhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgICAgZGVhY3RpdmF0ZV9lbmFibGU6IDEsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcblxyXG4gIGdldEdSQ0xpc3QoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXHJcbiAgICAgICd0b2tlbicsXHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcclxuICAgICk7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3N0YXRlJywgZXZlbnQ/LnN0YXRlID8/IDEpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnZ3JjVHlwZScsIGV2ZW50Py50eXBlID8/IDApO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZScsIGV2ZW50Py5wYWdlTm8gPz8gMSk7XHJcbiAgICBwYXJhbXMgPSBldmVudD8uc2VhcmNoU3RyaW5nXHJcbiAgICAgID8gcGFyYW1zLmFwcGVuZCgnbmFtZScsIGV2ZW50Py5zZWFyY2hTdHJpbmcgPz8gJycpXHJcbiAgICAgIDogcGFyYW1zO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PGFueVtdPih0aGlzLmVudj8uZ3JjX2dldCArICdncmMvZ2V0R1JDTGlzdCcsIHtcclxuICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUocmV0cnkoMSkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0R1JDVGFic0NvdW50KGV2ZW50PzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxyXG4gICAgICAndG9rZW4nLFxyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXHJcbiAgICApO1xyXG4gICAgLy8gaHR0cHM6Ly9kZXZhcGkudi1jb21wbHkuY29tL29yZ2FuaXphdGlvbi8/bW9kZT1ncmMvZ3JjT2JqZWN0Q291bnQmc3RhdGU9YWN0aXZlXHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3N0YXRlJywgZXZlbnQ/LnN0YXRlID8/IDEpO1xyXG4gICAgcGFyYW1zID0gZXZlbnQ/LnNlYXJjaFN0cmluZ1xyXG4gICAgICA/IHBhcmFtcy5hcHBlbmQoJ25hbWUnLCBldmVudD8uc2VhcmNoU3RyaW5nID8/ICcnKVxyXG4gICAgICA6IHBhcmFtcztcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnY/LmdyY19nZXQgKyAnZ3JjL2dyY09iamVjdENvdW50Jywge1xyXG4gICAgICAgIHBhcmFtcyxcclxuICAgICAgICBoZWFkZXJzLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShyZXRyeSgxKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tWYWxpZGF0aW9uKGdyY1BheWxvYWQ6IEFkZEdyYywgaXNBdHRyaWJ1dGVzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGlzVmFsaWREYXRhID1cclxuICAgICAgZ3JjUGF5bG9hZC5uYW1lLnRyaW0oKSAhPT0gJycgJiZcclxuICAgICAgZ3JjUGF5bG9hZC50eXBlID4gLTEgJiZcclxuICAgICAgZ3JjUGF5bG9hZC5vd25lcnMubGVuZ3RoICYmXHJcbiAgICAgIGdyY1BheWxvYWQucmNfaWRzLmxlbmd0aDtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGlzVmFsaWREYXRhICYmXHJcbiAgICAgICghaXNBdHRyaWJ1dGVzU2VsZWN0ZWQgfHxcclxuICAgICAgICB0aGlzLmNoZWNrQXR0cmlidXRlVmFsaWRhdGlvbihncmNQYXlsb2FkLmF0dHJpYnV0ZXMpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNoZWNrQXR0cmlidXRlVmFsaWRhdGlvbihhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVzRGV0YWlsc1tdKTogYm9vbGVhbiB7XHJcbiAgICBmb3IgKGNvbnN0IG9iaiBvZiBhdHRyaWJ1dGVzKSB7XHJcbiAgICAgIGlmIChvYmouaXNSZXF1aXJlZCkge1xyXG4gICAgICAgIGlmIChvYmoudHlwZSA9PT0gJ3NpbmdsZS10ZXh0Ym94JyB8fCBvYmoudHlwZSA9PT0gJ2RhdGUtdGltZScpIHtcclxuICAgICAgICAgIGNvbnN0IGNob2ljZSA9IG9iai5jaG9pY2VzWzBdO1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBjaG9pY2UudmFsdWUgPT09ICdzdHJpbmcnICYmIGNob2ljZS52YWx1ZS50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKG9iai50eXBlID09PSAnY2hlY2tib3gnIHx8IG9iai50eXBlID09PSAnZHJvcGRvd24nKSB7XHJcbiAgICAgICAgICBsZXQgaXNDaG9pY2VTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgZm9yIChjb25zdCBjaG9pY2Ugb2Ygb2JqLmNob2ljZXMpIHtcclxuICAgICAgICAgICAgaWYgKGNob2ljZS5pc19zZWxlY3RlZCkge1xyXG4gICAgICAgICAgICAgIGlzQ2hvaWNlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoIWlzQ2hvaWNlU2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjaGVja0F0dHJpYnV0ZXNTZWxlY3RlZChhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVzRGV0YWlsc1tdKTogYm9vbGVhbiB7XHJcbiAgICBmb3IgKGNvbnN0IG9iaiBvZiBhdHRyaWJ1dGVzKSB7XHJcbiAgICAgIGlmIChvYmoudHlwZSA9PT0gJ3NpbmdsZS10ZXh0Ym94JyB8fCBvYmoudHlwZSA9PT0gJ2RhdGUtdGltZScpIHtcclxuICAgICAgICBjb25zdCBjaG9pY2UgPSBvYmouY2hvaWNlc1swXTtcclxuICAgICAgICBpZiAodHlwZW9mIGNob2ljZS52YWx1ZSA9PT0gJ3N0cmluZycgJiYgY2hvaWNlLnZhbHVlLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAob2JqLnR5cGUgPT09ICdjaGVja2JveCcgfHwgb2JqLnR5cGUgPT09ICdkcm9wZG93bicpIHtcclxuICAgICAgICBsZXQgaXNDaG9pY2VTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgY2hvaWNlIG9mIG9iai5jaG9pY2VzKSB7XHJcbiAgICAgICAgICBpZiAoY2hvaWNlLmlzX3NlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIGlzQ2hvaWNlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFpc0Nob2ljZVNlbGVjdGVkKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNoZWNrRWFjaEF0dHJpYnV0ZVZhbGlkYXRpb24oYXR0cmlidXRlOiBBdHRyaWJ1dGVzRGV0YWlscyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGF0dHJpYnV0ZS5pc1JlcXVpcmVkKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBhdHRyaWJ1dGUudHlwZSA9PT0gJ3NpbmdsZS10ZXh0Ym94JyB8fFxyXG4gICAgICAgIGF0dHJpYnV0ZS50eXBlID09PSAnZGF0ZS10aW1lJ1xyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCBjaG9pY2UgPSBhdHRyaWJ1dGUuY2hvaWNlc1swXTtcclxuICAgICAgICBpZiAodHlwZW9mIGNob2ljZS52YWx1ZSA9PT0gJ3N0cmluZycgJiYgY2hvaWNlLnZhbHVlLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgYXR0cmlidXRlLnR5cGUgPT09ICdjaGVja2JveCcgfHxcclxuICAgICAgICBhdHRyaWJ1dGUudHlwZSA9PT0gJ2Ryb3Bkb3duJ1xyXG4gICAgICApIHtcclxuICAgICAgICBsZXQgaXNDaG9pY2VTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgY2hvaWNlIG9mIGF0dHJpYnV0ZS5jaG9pY2VzKSB7XHJcbiAgICAgICAgICBpZiAoY2hvaWNlLmlzX3NlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIGlzQ2hvaWNlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFpc0Nob2ljZVNlbGVjdGVkKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgZ2V0Umlza0NhdGVnb3JpZXMoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXHJcbiAgICAgICd0b2tlbicsXHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcclxuICAgICk7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3JldHVyblR5cGUnLCAxKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NhdGVnb3J5VHlwZScsIGV2ZW50Py50eXBlID8/IDEpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZScsIGV2ZW50Py5wYWdlTm8gPz8gMSk7XHJcbiAgICBwYXJhbXMgPSBldmVudD8uc2VhcmNoU3RyaW5nXHJcbiAgICAgID8gcGFyYW1zLmFwcGVuZCgncScsIGV2ZW50Py5zZWFyY2hTdHJpbmcgPz8gJycpXHJcbiAgICAgIDogcGFyYW1zO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Py5yaXNrICsgJ2NhdGVnb3J5L2xpc3QnLCB7XHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgaGVhZGVycyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Umlza0NhdGVnb3JpZXNDb3VudChldmVudD86IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcclxuICAgICAgJ3Rva2VuJyxcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxyXG4gICAgKTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gZXZlbnQ/LnNlYXJjaFN0cmluZ1xyXG4gICAgICA/IHBhcmFtcy5hcHBlbmQoJ3EnLCBldmVudD8uc2VhcmNoU3RyaW5nID8/ICcnKVxyXG4gICAgICA6IHBhcmFtcztcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudj8ucmlzayArICdjYXRlZ29yeS9jb3VudCcsIHtcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRSaXNrcyhwYXlsb2FkPzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxyXG4gICAgICAndG9rZW4nLFxyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPihcclxuICAgICAgdGhpcy5lbnY/LnJpc2sgKyAnY2F0ZWdvcnkvcmlza2xpc3QnLFxyXG4gICAgICBwYXlsb2FkLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvc2VydmljZXMvZ3JjLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQU03QixNQUFNLE9BQU8sVUFBVTtJQWdEckIsWUFDVSxJQUFnQixFQUNoQixXQUF3QixFQUNwQixNQUF1QjtRQUYzQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBekNsQixnQkFBVyxHQUFXO1lBQ3BDLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLEVBQUUsQ0FBQztZQUNSLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsNkJBQTZCLEVBQUUsRUFBRTtZQUNqQyxXQUFXLEVBQUUsRUFBRTtZQUNmLFNBQVMsRUFBRSxFQUFFO1lBQ2IsVUFBVSxFQUFFLEVBQUU7WUFDZCxNQUFNLEVBQUUsRUFBRTtZQUNWLG9CQUFvQixFQUFFLEVBQUU7WUFDeEIsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixjQUFjLEVBQUUsRUFBRTtTQUNuQixDQUFDO1FBRWMsZ0JBQVcsR0FBZTtZQUN4QyxFQUFFLEVBQUU7Z0JBQ0YsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxFQUFFO2dCQUNSLFlBQVksRUFBRSxFQUFFO2FBQ2pCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJ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cG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyByZXRyeSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBZGRHcmMsIEF0dHJpYnV0ZXNEZXRhaWxzLCBMaXN0T2JqZWN0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9hZGQtZ3JjJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHcmNTZXJ2aWNlIHtcclxuICBlbnYhOiBhbnk7XHJcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFRElUT1JfQ09ORklHID0ge1xyXG4gICAgbW9kZTogJ3ByaW1lJyxcclxuICAgIGNvbG9yUGFsZXR0ZTogdHJ1ZSxcclxuICAgIGxpbms6IHRydWUsXHJcbiAgICBpZDogJ2dyY19kZXNjcmlwdGlvbicsXHJcbiAgICBwbGFjZWhvbGRlcjogJ0FkZCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IEdSQyBPYmplY3QnLFxyXG4gIH07XHJcbiAgcHVibGljIHJlYWRvbmx5IEdSQ19QQVlMT0FEOiBBZGRHcmMgPSB7XHJcbiAgICBuYW1lOiAnJyxcclxuICAgIHR5cGU6IDMsIC8vQXNzZXRzLSAwLCBJbnZlbnRvcnktIDEsIFByb2Nlc3NlcyAtIDIsIFZlbmRvcnMtIDNcclxuICAgIHN0YXRlOiAwLFxyXG4gICAgcGFyZW50X2dyY19pZHM6IFtdLFxyXG4gICAgb3duZXJzOiBbXSxcclxuICAgIGVtYWlsX25vdGlmaWNhdGlvbl9tZW1iZXJfaWRzOiBbXSxcclxuICAgIGRlc2NyaXB0aW9uOiAnJyxcclxuICAgIGZyZXF1ZW5jeTogJycsXHJcbiAgICBhdHRyaWJ1dGVzOiBbXSxcclxuICAgIHJjX2lkczogW10sXHJcbiAgICBwcm9ncmFtX2NhdGVnb3J5X2lkczogW10sXHJcbiAgICByaXNrX2NhdGVnb3J5X2lkczogW10sXHJcbiAgICBsaW5rZWRfZ3JjX2lkczogW10sXHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IExJU1RfT0JKRUNUOiBMaXN0T2JqZWN0ID0ge1xyXG4gICAgUkM6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YTogW10sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgT1dORVI6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YTogW10sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICAgIGRpc2FibGVkSWRzOiBbXSxcclxuICAgIH0sXHJcbiAgICBPVEhFUl9HUkNfT0JKRUNUUzoge1xyXG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICBkYXRhOiB7fSxcclxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcclxuICAgIH0sXHJcbiAgICBSSVNLX0NBVEVHT1JZOiB7XHJcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHt9LFxyXG4gICAgICBzZWxlY3RlZERhdGE6IFtdLFxyXG4gICAgfSxcclxuICB9O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBjb25maWc/OiBDb25maWd1cmF0aW9uc1xyXG4gICkge1xyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICB0aGlzLmVudiA9IGNvbmZpZy5lbnZDb25maWc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRHUkNMaXN0KGV2ZW50PzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxyXG4gICAgICAndG9rZW4nLFxyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXHJcbiAgICApO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdzdGF0ZScsIGV2ZW50Py5zdGF0ZSA/PyAxKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2dyY1R5cGUnLCBldmVudD8udHlwZSA/PyAwKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2UnLCBldmVudD8ucGFnZU5vID8/IDEpO1xyXG4gICAgcGFyYW1zID0gZXZlbnQ/LnNlYXJjaFN0cmluZ1xyXG4gICAgICA/IHBhcmFtcy5hcHBlbmQoJ25hbWUnLCBldmVudD8uc2VhcmNoU3RyaW5nID8/ICcnKVxyXG4gICAgICA6IHBhcmFtcztcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnY/LmdyY19nZXQgKyAnZ3JjL2dldEdSQ0xpc3QnLCB7XHJcbiAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKHJldHJ5KDEpKTtcclxuICB9XHJcblxyXG4gIGdldEdSQ1RhYnNDb3VudChldmVudD86IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcclxuICAgICAgJ3Rva2VuJyxcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxyXG4gICAgKTtcclxuICAgIC8vIGh0dHBzOi8vZGV2YXBpLnYtY29tcGx5LmNvbS9vcmdhbml6YXRpb24vP21vZGU9Z3JjL2dldEdSQ0NvdW50JnN0YXRlPWFjdGl2ZVxyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBldmVudD8uc2VhcmNoU3RyaW5nXHJcbiAgICAgID8gcGFyYW1zLmFwcGVuZCgnbmFtZScsIGV2ZW50Py5zZWFyY2hTdHJpbmcgPz8gJycpXHJcbiAgICAgIDogcGFyYW1zO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PGFueVtdPih0aGlzLmVudj8uZ3JjX2dldCArICdncmMvZ2V0R1JDQ291bnQnLCB7XHJcbiAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKHJldHJ5KDEpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja1ZhbGlkYXRpb24oZ3JjUGF5bG9hZDogQWRkR3JjLCBpc0F0dHJpYnV0ZXNTZWxlY3RlZDogYm9vbGVhbikge1xyXG4gICAgY29uc3QgaXNWYWxpZERhdGEgPVxyXG4gICAgICBncmNQYXlsb2FkLm5hbWUudHJpbSgpICE9PSAnJyAmJlxyXG4gICAgICBncmNQYXlsb2FkLnR5cGUgPiAtMSAmJlxyXG4gICAgICBncmNQYXlsb2FkLm93bmVycy5sZW5ndGggJiZcclxuICAgICAgZ3JjUGF5bG9hZC5yY19pZHMubGVuZ3RoO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgaXNWYWxpZERhdGEgJiZcclxuICAgICAgKCFpc0F0dHJpYnV0ZXNTZWxlY3RlZCB8fFxyXG4gICAgICAgIHRoaXMuY2hlY2tBdHRyaWJ1dGVWYWxpZGF0aW9uKGdyY1BheWxvYWQuYXR0cmlidXRlcykpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tBdHRyaWJ1dGVWYWxpZGF0aW9uKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZXNEZXRhaWxzW10pOiBib29sZWFuIHtcclxuICAgIGZvciAoY29uc3Qgb2JqIG9mIGF0dHJpYnV0ZXMpIHtcclxuICAgICAgaWYgKG9iai5pc1JlcXVpcmVkKSB7XHJcbiAgICAgICAgaWYgKG9iai50eXBlID09PSAnc2luZ2xlLXRleHRib3gnIHx8IG9iai50eXBlID09PSAnZGF0ZS10aW1lJykge1xyXG4gICAgICAgICAgY29uc3QgY2hvaWNlID0gb2JqLmNob2ljZXNbMF07XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNob2ljZS52YWx1ZSA9PT0gJ3N0cmluZycgJiYgY2hvaWNlLnZhbHVlLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAob2JqLnR5cGUgPT09ICdjaGVja2JveCcgfHwgb2JqLnR5cGUgPT09ICdkcm9wZG93bicpIHtcclxuICAgICAgICAgIGxldCBpc0Nob2ljZVNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGNob2ljZSBvZiBvYmouY2hvaWNlcykge1xyXG4gICAgICAgICAgICBpZiAoY2hvaWNlLmlzX3NlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgICAgaXNDaG9pY2VTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICghaXNDaG9pY2VTZWxlY3RlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNoZWNrQXR0cmlidXRlc1NlbGVjdGVkKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZXNEZXRhaWxzW10pOiBib29sZWFuIHtcclxuICAgIGZvciAoY29uc3Qgb2JqIG9mIGF0dHJpYnV0ZXMpIHtcclxuICAgICAgaWYgKG9iai50eXBlID09PSAnc2luZ2xlLXRleHRib3gnIHx8IG9iai50eXBlID09PSAnZGF0ZS10aW1lJykge1xyXG4gICAgICAgIGNvbnN0IGNob2ljZSA9IG9iai5jaG9pY2VzWzBdO1xyXG4gICAgICAgIGlmICh0eXBlb2YgY2hvaWNlLnZhbHVlID09PSAnc3RyaW5nJyAmJiBjaG9pY2UudmFsdWUudHJpbSgpID09PSAnJykge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChvYmoudHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBvYmoudHlwZSA9PT0gJ2Ryb3Bkb3duJykge1xyXG4gICAgICAgIGxldCBpc0Nob2ljZVNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgZm9yIChjb25zdCBjaG9pY2Ugb2Ygb2JqLmNob2ljZXMpIHtcclxuICAgICAgICAgIGlmIChjaG9pY2UuaXNfc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgaXNDaG9pY2VTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWlzQ2hvaWNlU2VsZWN0ZWQpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tFYWNoQXR0cmlidXRlVmFsaWRhdGlvbihhdHRyaWJ1dGU6IEF0dHJpYnV0ZXNEZXRhaWxzKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoYXR0cmlidXRlLmlzUmVxdWlyZWQpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGF0dHJpYnV0ZS50eXBlID09PSAnc2luZ2xlLXRleHRib3gnIHx8XHJcbiAgICAgICAgYXR0cmlidXRlLnR5cGUgPT09ICdkYXRlLXRpbWUnXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IGNob2ljZSA9IGF0dHJpYnV0ZS5jaG9pY2VzWzBdO1xyXG4gICAgICAgIGlmICh0eXBlb2YgY2hvaWNlLnZhbHVlID09PSAnc3RyaW5nJyAmJiBjaG9pY2UudmFsdWUudHJpbSgpID09PSAnJykge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICBhdHRyaWJ1dGUudHlwZSA9PT0gJ2NoZWNrYm94JyB8fFxyXG4gICAgICAgIGF0dHJpYnV0ZS50eXBlID09PSAnZHJvcGRvd24nXHJcbiAgICAgICkge1xyXG4gICAgICAgIGxldCBpc0Nob2ljZVNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgZm9yIChjb25zdCBjaG9pY2Ugb2YgYXR0cmlidXRlLmNob2ljZXMpIHtcclxuICAgICAgICAgIGlmIChjaG9pY2UuaXNfc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgaXNDaG9pY2VTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWlzQ2hvaWNlU2VsZWN0ZWQpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICBnZXRSaXNrQ2F0ZWdvcmllcyhldmVudD86IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcclxuICAgICAgJ3Rva2VuJyxcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxyXG4gICAgKTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncmV0dXJuVHlwZScsIDEpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY2F0ZWdvcnlUeXBlJywgZXZlbnQ/LnR5cGUgPz8gMSk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlJywgZXZlbnQ/LnBhZ2VObyA/PyAxKTtcclxuICAgIHBhcmFtcyA9IGV2ZW50Py5zZWFyY2hTdHJpbmdcclxuICAgICAgPyBwYXJhbXMuYXBwZW5kKCdxJywgZXZlbnQ/LnNlYXJjaFN0cmluZyA/PyAnJylcclxuICAgICAgOiBwYXJhbXM7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnY/LnJpc2sgKyAnY2F0ZWdvcnkvbGlzdCcsIHtcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRSaXNrQ2F0ZWdvcmllc0NvdW50KGV2ZW50PzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxyXG4gICAgICAndG9rZW4nLFxyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXHJcbiAgICApO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBldmVudD8uc2VhcmNoU3RyaW5nXHJcbiAgICAgID8gcGFyYW1zLmFwcGVuZCgncScsIGV2ZW50Py5zZWFyY2hTdHJpbmcgPz8gJycpXHJcbiAgICAgIDogcGFyYW1zO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Py5yaXNrICsgJ2NhdGVnb3J5L2NvdW50Jywge1xyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgIGhlYWRlcnMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFJpc2tzKHBheWxvYWQ/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXHJcbiAgICAgICd0b2tlbicsXHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcclxuICAgICk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55W10+KFxyXG4gICAgICB0aGlzLmVudj8ucmlzayArICdjYXRlZ29yeS9yaXNrbGlzdCcsXHJcbiAgICAgIHBheWxvYWQsXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzLFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|