vcomply-workflow-engine 3.9.1 → 3.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.mjs +12 -11
- package/fesm2022/vcomply-workflow-engine.mjs +11 -10
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/sharedComponents/policy-template/select-template-list/select-template-list.component.d.ts +3 -2
- package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -172,15 +172,19 @@ export class SelectTemplateListComponent {
|
|
|
172
172
|
deleteEvent() {
|
|
173
173
|
this.selectedTemplate = [];
|
|
174
174
|
}
|
|
175
|
-
onPreview(
|
|
175
|
+
onPreview(details) {
|
|
176
176
|
this.isPreview = true;
|
|
177
|
-
this.getPreviewData(
|
|
177
|
+
this.getPreviewData(details?._id);
|
|
178
|
+
this.previewTemplate = details;
|
|
179
|
+
}
|
|
180
|
+
onClosePreview() {
|
|
181
|
+
this.isPreview = false;
|
|
182
|
+
this.docData = null;
|
|
183
|
+
this.previewTemplate = null;
|
|
178
184
|
}
|
|
179
185
|
getPreviewData(templateId) {
|
|
180
186
|
this.loader = true;
|
|
181
|
-
this.templateService
|
|
182
|
-
.getTemplateContent('67035d9bb3e374c1e6aa56a0')
|
|
183
|
-
.subscribe({
|
|
187
|
+
this.templateService.getTemplateContent(templateId).subscribe({
|
|
184
188
|
next: (res) => {
|
|
185
189
|
const { response } = res;
|
|
186
190
|
this.loader = false;
|
|
@@ -188,18 +192,15 @@ export class SelectTemplateListComponent {
|
|
|
188
192
|
},
|
|
189
193
|
});
|
|
190
194
|
}
|
|
191
|
-
previewBtn() {
|
|
192
|
-
this.isPreview = false;
|
|
193
|
-
}
|
|
194
195
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectTemplateListComponent, deps: [{ token: i1.TemplateService }, { token: i2.PolicyService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
195
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectTemplateListComponent, selector: "app-select-template-list", inputs: { selectedCategoryId: "selectedCategoryId" }, outputs: { onTemplateSelect: "onTemplateSelect" }, ngImport: i0, template: "<div\r\n class=\"select-template-list\"\r\n [class.animate]=\"animation\"\r\n [class.withPreview]=\"isPreview\"\r\n>\r\n <ng-container *ngIf=\"!isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\r\n </div>\r\n <div class=\"select-template-list-body\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\r\n <button\r\n (click)=\"switchTab('VCOMPLY')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'VCOMPLY'\"\r\n >\r\n VCOMPLY TEMPLATES\r\n </button>\r\n <button\r\n (click)=\"switchTab('USER_CREATED')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'USER_CREATED'\"\r\n >\r\n USER-CREATED TEMPLATES\r\n </button>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\r\n </div>\r\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\r\n <cs-multi-select\r\n (searchText)=\"searchCategory = $event\"\r\n [placeholder]=\"'Select Category'\"\r\n [value]=\"selectedCategory\"\r\n (applyFilter)=\"onApplyFilter($event)\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let eachCategory of categoryList\r\n | SearchByKeys : ['name'] : searchCategory\r\n \"\r\n >\r\n <cs-multi-select-option\r\n [appTooltip]=\"eachCategory?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n [value]=\"eachCategory?.item_id\"\r\n (change)=\"onSelectCategory(eachCategory, $event)\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ eachCategory?.name }}\r\n </cs-multi-select-option>\r\n </ng-container>\r\n </cs-multi-select>\r\n </div>\r\n <div class=\"body-inner vx-mb-1\">\r\n <ng-container *ngIf=\"!loader\">\r\n <ng-container\r\n *ngIf=\"\r\n templateList\r\n | SearchByKeys\r\n : ['name', 'categoryDetails']\r\n : searchTemplate as allTemplate\r\n \"\r\n >\r\n <app-template-list-table\r\n *ngIf=\"allTemplate.length\"\r\n [templateList]=\"allTemplate\"\r\n [loader]=\"loader\"\r\n [categoryList]=\"categoryList\"\r\n [selectedTemplate]=\"selectedTemplate[0]\"\r\n (onSort)=\"sortBy($event)\"\r\n (onSelectTemplate)=\"onSelectTemplate($event)\"\r\n (onPreview)=\"onPreview($event)\"\r\n ></app-template-list-table>\r\n <app-no-data\r\n *ngIf=\"!allTemplate?.length\"\r\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\r\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\r\n ></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"selectedTemplate?.length === 0\"\r\n [selectedData]=\"selectedTemplate\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'Template Selected'\"\r\n (deleteEvent)=\"deleteEvent()\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\r\n >\r\n <button\r\n (click)=\"previewBtn()\"\r\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i>Preview\r\n </button>\r\n <div\r\n class=\"template-name vx-fs-14 vx-ml-1\"\r\n [appTooltip]=\"'Patient Safety Policy'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n Patient Safety Policy\r\n </div>\r\n </div>\r\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\r\n <app-view-policy #view_policy [contents]=\"docData\"> </app-view-policy>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", 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\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i6.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i7.CsMultiselectComponent, selector: "cs-multi-select", inputs: ["isRequired", "dropdownLabel", "dropdownSubLabel", "disabled", "placeholder", "searchPlaceholder", "value", "selectedItem"], outputs: ["valueChange", "applyFilter", "searchText", "resetSelectedData"] }, { kind: "component", type: i8.CsMultiselectOptionComponent, selector: "cs-multi-select-option", inputs: ["value"] }, { kind: "component", type: i9.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.ViewPolicyComponent, selector: "app-view-policy", inputs: ["contents", "userName"] }, { kind: "component", type: i12.TemplateListTableComponent, selector: "app-template-list-table", inputs: ["selectedTemplate", "templateList", "loader", "categoryList"], outputs: ["onSort", "onSelectTemplate", "onPreview"] }, { kind: "pipe", type: i13.SearchByKeysPipe, name: "SearchByKeys" }] }); }
|
|
196
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectTemplateListComponent, selector: "app-select-template-list", inputs: { selectedCategoryId: "selectedCategoryId" }, outputs: { onTemplateSelect: "onTemplateSelect" }, ngImport: i0, template: "<div\r\n class=\"select-template-list\"\r\n [class.animate]=\"animation\"\r\n [class.withPreview]=\"isPreview\"\r\n>\r\n <ng-container *ngIf=\"!isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\r\n </div>\r\n <div class=\"select-template-list-body\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\r\n <button\r\n (click)=\"switchTab('VCOMPLY')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'VCOMPLY'\"\r\n >\r\n VCOMPLY TEMPLATES\r\n </button>\r\n <button\r\n (click)=\"switchTab('USER_CREATED')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'USER_CREATED'\"\r\n >\r\n USER-CREATED TEMPLATES\r\n </button>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\r\n </div>\r\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\r\n <cs-multi-select\r\n (searchText)=\"searchCategory = $event\"\r\n [placeholder]=\"'Select Category'\"\r\n [value]=\"selectedCategory\"\r\n (applyFilter)=\"onApplyFilter($event)\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let eachCategory of categoryList\r\n | SearchByKeys : ['name'] : searchCategory\r\n \"\r\n >\r\n <cs-multi-select-option\r\n [appTooltip]=\"eachCategory?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n [value]=\"eachCategory?.item_id\"\r\n (change)=\"onSelectCategory(eachCategory, $event)\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ eachCategory?.name }}\r\n </cs-multi-select-option>\r\n </ng-container>\r\n </cs-multi-select>\r\n </div>\r\n <div class=\"body-inner vx-mb-1\">\r\n <ng-container *ngIf=\"!loader\">\r\n <ng-container\r\n *ngIf=\"\r\n templateList\r\n | SearchByKeys\r\n : ['name', 'categoryDetails']\r\n : searchTemplate as allTemplate\r\n \"\r\n >\r\n <app-template-list-table\r\n *ngIf=\"allTemplate.length\"\r\n [templateList]=\"allTemplate\"\r\n [loader]=\"loader\"\r\n [categoryList]=\"categoryList\"\r\n [selectedTemplate]=\"selectedTemplate[0]\"\r\n (onSort)=\"sortBy($event)\"\r\n (onSelectTemplate)=\"onSelectTemplate($event)\"\r\n (onPreview)=\"onPreview($event)\"\r\n ></app-template-list-table>\r\n <app-no-data\r\n *ngIf=\"!allTemplate?.length\"\r\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\r\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\r\n ></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"selectedTemplate?.length === 0\"\r\n [selectedData]=\"selectedTemplate\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'Template Selected'\"\r\n (deleteEvent)=\"deleteEvent()\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\r\n >\r\n <button\r\n (click)=\"onClosePreview()\"\r\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i>Preview\r\n </button>\r\n <div\r\n class=\"template-name vx-fs-14 vx-ml-1\"\r\n [appTooltip]=\"previewTemplate?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ previewTemplate?.name }}\r\n </div>\r\n </div>\r\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\r\n <app-view-policy #view_policy [contents]=\"docData\"> </app-view-policy>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", 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\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i6.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i7.CsMultiselectComponent, selector: "cs-multi-select", inputs: ["isRequired", "dropdownLabel", "dropdownSubLabel", "disabled", "placeholder", "searchPlaceholder", "value", "selectedItem"], outputs: ["valueChange", "applyFilter", "searchText", "resetSelectedData"] }, { kind: "component", type: i8.CsMultiselectOptionComponent, selector: "cs-multi-select-option", inputs: ["value"] }, { kind: "component", type: i9.FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.ViewPolicyComponent, selector: "app-view-policy", inputs: ["contents", "userName"] }, { kind: "component", type: i12.TemplateListTableComponent, selector: "app-template-list-table", inputs: ["selectedTemplate", "templateList", "loader", "categoryList"], outputs: ["onSort", "onSelectTemplate", "onPreview"] }, { kind: "pipe", type: i13.SearchByKeysPipe, name: "SearchByKeys" }] }); }
|
|
196
197
|
}
|
|
197
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectTemplateListComponent, decorators: [{
|
|
198
199
|
type: Component,
|
|
199
|
-
args: [{ selector: 'app-select-template-list', template: "<div\r\n class=\"select-template-list\"\r\n [class.animate]=\"animation\"\r\n [class.withPreview]=\"isPreview\"\r\n>\r\n <ng-container *ngIf=\"!isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\r\n </div>\r\n <div class=\"select-template-list-body\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\r\n <button\r\n (click)=\"switchTab('VCOMPLY')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'VCOMPLY'\"\r\n >\r\n VCOMPLY TEMPLATES\r\n </button>\r\n <button\r\n (click)=\"switchTab('USER_CREATED')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'USER_CREATED'\"\r\n >\r\n USER-CREATED TEMPLATES\r\n </button>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\r\n </div>\r\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\r\n <cs-multi-select\r\n (searchText)=\"searchCategory = $event\"\r\n [placeholder]=\"'Select Category'\"\r\n [value]=\"selectedCategory\"\r\n (applyFilter)=\"onApplyFilter($event)\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let eachCategory of categoryList\r\n | SearchByKeys : ['name'] : searchCategory\r\n \"\r\n >\r\n <cs-multi-select-option\r\n [appTooltip]=\"eachCategory?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n [value]=\"eachCategory?.item_id\"\r\n (change)=\"onSelectCategory(eachCategory, $event)\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ eachCategory?.name }}\r\n </cs-multi-select-option>\r\n </ng-container>\r\n </cs-multi-select>\r\n </div>\r\n <div class=\"body-inner vx-mb-1\">\r\n <ng-container *ngIf=\"!loader\">\r\n <ng-container\r\n *ngIf=\"\r\n templateList\r\n | SearchByKeys\r\n : ['name', 'categoryDetails']\r\n : searchTemplate as allTemplate\r\n \"\r\n >\r\n <app-template-list-table\r\n *ngIf=\"allTemplate.length\"\r\n [templateList]=\"allTemplate\"\r\n [loader]=\"loader\"\r\n [categoryList]=\"categoryList\"\r\n [selectedTemplate]=\"selectedTemplate[0]\"\r\n (onSort)=\"sortBy($event)\"\r\n (onSelectTemplate)=\"onSelectTemplate($event)\"\r\n (onPreview)=\"onPreview($event)\"\r\n ></app-template-list-table>\r\n <app-no-data\r\n *ngIf=\"!allTemplate?.length\"\r\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\r\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\r\n ></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"selectedTemplate?.length === 0\"\r\n [selectedData]=\"selectedTemplate\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'Template Selected'\"\r\n (deleteEvent)=\"deleteEvent()\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\r\n >\r\n <button\r\n (click)=\"
|
|
200
|
+
args: [{ selector: 'app-select-template-list', template: "<div\r\n class=\"select-template-list\"\r\n [class.animate]=\"animation\"\r\n [class.withPreview]=\"isPreview\"\r\n>\r\n <ng-container *ngIf=\"!isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\r\n </div>\r\n <div class=\"select-template-list-body\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\r\n <button\r\n (click)=\"switchTab('VCOMPLY')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'VCOMPLY'\"\r\n >\r\n VCOMPLY TEMPLATES\r\n </button>\r\n <button\r\n (click)=\"switchTab('USER_CREATED')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'USER_CREATED'\"\r\n >\r\n USER-CREATED TEMPLATES\r\n </button>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\r\n </div>\r\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\r\n <cs-multi-select\r\n (searchText)=\"searchCategory = $event\"\r\n [placeholder]=\"'Select Category'\"\r\n [value]=\"selectedCategory\"\r\n (applyFilter)=\"onApplyFilter($event)\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let eachCategory of categoryList\r\n | SearchByKeys : ['name'] : searchCategory\r\n \"\r\n >\r\n <cs-multi-select-option\r\n [appTooltip]=\"eachCategory?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n [value]=\"eachCategory?.item_id\"\r\n (change)=\"onSelectCategory(eachCategory, $event)\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ eachCategory?.name }}\r\n </cs-multi-select-option>\r\n </ng-container>\r\n </cs-multi-select>\r\n </div>\r\n <div class=\"body-inner vx-mb-1\">\r\n <ng-container *ngIf=\"!loader\">\r\n <ng-container\r\n *ngIf=\"\r\n templateList\r\n | SearchByKeys\r\n : ['name', 'categoryDetails']\r\n : searchTemplate as allTemplate\r\n \"\r\n >\r\n <app-template-list-table\r\n *ngIf=\"allTemplate.length\"\r\n [templateList]=\"allTemplate\"\r\n [loader]=\"loader\"\r\n [categoryList]=\"categoryList\"\r\n [selectedTemplate]=\"selectedTemplate[0]\"\r\n (onSort)=\"sortBy($event)\"\r\n (onSelectTemplate)=\"onSelectTemplate($event)\"\r\n (onPreview)=\"onPreview($event)\"\r\n ></app-template-list-table>\r\n <app-no-data\r\n *ngIf=\"!allTemplate?.length\"\r\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\r\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\r\n ></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"selectedTemplate?.length === 0\"\r\n [selectedData]=\"selectedTemplate\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'Template Selected'\"\r\n (deleteEvent)=\"deleteEvent()\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\r\n >\r\n <button\r\n (click)=\"onClosePreview()\"\r\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i>Preview\r\n </button>\r\n <div\r\n class=\"template-name vx-fs-14 vx-ml-1\"\r\n [appTooltip]=\"previewTemplate?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ previewTemplate?.name }}\r\n </div>\r\n </div>\r\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\r\n <app-view-policy #view_policy [contents]=\"docData\"> </app-view-policy>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", 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\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"] }]
|
|
200
201
|
}], ctorParameters: function () { return [{ type: i1.TemplateService }, { type: i2.PolicyService }]; }, propDecorators: { selectedCategoryId: [{
|
|
201
202
|
type: Input
|
|
202
203
|
}], onTemplateSelect: [{
|
|
203
204
|
type: Output
|
|
204
205
|
}] } });
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVF4QyxNQUFNLE9BQU8sMkJBQTJCO0lBdUJ0QyxZQUNVLGVBQWdDLEVBQ2hDLGFBQTRCO1FBRDVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXhCdEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0Isb0JBQWUsR0FBaUIsSUFBSSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6Qix3QkFBbUIsR0FB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LENBQUM7K0dBck5VLDJCQUEyQjttR0FBM0IsMkJBQTJCLHlLQ2R4QyxpOEpBbUlBOzs0RkRySGEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDBCQUEwQjtrSUF3QjNCLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90ZW1wbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBOT19EQVRBX0ZPVU5EX0lNQUdFLFxyXG4gIE5PX0RBVEFfRk9VTkRfTUVTU0FHRSxcclxufSBmcm9tICcuLi9jb25zdGFudHMvdGVtcGxhdGUuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBQb2xpY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvcG9saWN5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWN0LXRlbXBsYXRlLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdFRlbXBsYXRlTGlzdENvbXBvbmVudCB7XHJcbiAgYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgZGVmYXVsdFRlbXBsYXRlczogYW55W10gPSBbXTtcclxuICBjdXN0b21UZW1wbGF0ZXM6IGFueVtdIHwgbnVsbCA9IG51bGw7XHJcbiAgdGVtcGxhdGVMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGN1cnJlbnRUYWIgPSAnVkNPTVBMWSc7XHJcbiAgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgY2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIGRlZmF1bHRDYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XHJcbiAgdXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XHJcbiAgc29ydFN0YXR1cyA9IC0xO1xyXG4gIHNlYXJjaENhdGVnb3J5OiBzdHJpbmcgPSAnJztcclxuICBzZWFyY2hUZW1wbGF0ZTogc3RyaW5nID0gJyc7XHJcbiAgc2VsZWN0ZWRDYXRlZ29yeTogYW55W10gPSBbXTtcclxuICBOT19EQVRBX0ZPVU5EX0lNQUdFID0gTk9fREFUQV9GT1VORF9JTUFHRTtcclxuICBOT19EQVRBX0ZPVU5EX01FU1NBR0UgPSBOT19EQVRBX0ZPVU5EX01FU1NBR0U7XHJcbiAgc2VsZWN0ZWRUZW1wbGF0ZTogYW55W10gPSBbXTtcclxuICBpc1ByZXZpZXcgPSBmYWxzZTtcclxuICBkb2NEYXRhOiBhbnkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgc2VsZWN0ZWRDYXRlZ29yeUlkOiBudW1iZXJbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKSBvblRlbXBsYXRlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVNlcnZpY2U6IFRlbXBsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcG9saWN5U2VydmljZTogUG9saWN5U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldEFuaW1hdGlvbigpO1xyXG4gICAgdGhpcy5nZXRUZW1wbGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0QW5pbWF0aW9uKCkge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoVGFiKHRhYjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBbXTtcclxuICAgIGlmICh0YWIgPT09ICdWQ09NUExZJykge1xyXG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IFsuLi50aGlzLmRlZmF1bHRUZW1wbGF0ZXNdO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmN1c3RvbVRlbXBsYXRlcyA9PT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuZ2V0Q3VzdG9tVGVtcGxhdGVzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBbLi4udGhpcy5jdXN0b21UZW1wbGF0ZXNdO1xyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q3VzdG9tVGVtcGxhdGVzKCkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcclxuICAgICAgdHlwZTogJ2N1c3RvbScsXHJcbiAgICB9O1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZmV0Y2hUZW1wbGF0ZXMocGF5bG9hZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlcyA9IHJlcz8udGVtcGxhdGVzID8/IFtdO1xyXG4gICAgICB0aGlzLm1hcEN1c3RvbVRlbXBsYXRlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG1hcEN1c3RvbVRlbXBsYXRlKCkge1xyXG4gICAgdGhpcy5wb2xpY3lTZXJ2aWNlLmdldENhdGVnb3JpZXNMaXN0KCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0ID0gWy4uLnJlc107XHJcbiAgICAgIHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QgPSB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0Lm1hcChcclxuICAgICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdyZXMnLCByZXMpO1xyXG4gICAgICAgICAgY29uc3QgcGFyZW50SXRlbXMgPSBbLi4ubmV3IFNldChyZXM/LnBhcmVudF9pdGVtcyA/PyBbXSldO1xyXG4gICAgICAgICAgcGFyZW50SXRlbXMudW5zaGlmdChyZXMuaXRlbV9uYW1lKTtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgICAgbmFtZTogcGFyZW50SXRlbXM/LmpvaW4oJyA8ICcpLFxyXG4gICAgICAgICAgICBwYXJlbnRfaXRlbXM6IHJlcz8ucGFyZW50X2l0ZW1zLnJldmVyc2UoKSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICBpZiAodGhpcy5jdXN0b21UZW1wbGF0ZXMpIHtcclxuICAgICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlcyA9IHRoaXMuY3VzdG9tVGVtcGxhdGVzLm1hcCgodGVtcGxhdGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4udGVtcGxhdGUsXHJcbiAgICAgICAgICAgIGNhdGVnb3J5RGV0YWlsczogdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdC5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+XHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZT8uY2F0ZWdvcnlJZD8uaW5jbHVkZXMoY2F0ZWdvcnkuaXRlbV9pZClcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgICAndXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QgZHh3ZGUnLFxyXG4gICAgICAgICAgdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCxcclxuICAgICAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGVzLFxyXG4gICAgICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXNcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gWy4uLm5ldyBTZXQodGhpcy5jdXN0b21UZW1wbGF0ZXMgPz8gW10pXTtcclxuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRUZW1wbGF0ZSgpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIHR5cGU6ICdkZWZhdWx0JyxcclxuICAgIH07XHJcbiAgICBmb3JrSm9pbihbXHJcbiAgICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmZldGNoVGVtcGxhdGVzKHBheWxvYWQpLFxyXG4gICAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5mZXRjaERlZmF1bHRDYXRlZ29yaWVzKCksXHJcbiAgICBdKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdFRlbXBsYXRlcyA9IHJlc1swXT8udGVtcGxhdGVzO1xyXG4gICAgICB0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3QgPSByZXNbMV07XHJcbiAgICAgIHRoaXMubWFwRGVmYXVsdFRlbXBsYXRlKCk7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gWy4uLm5ldyBTZXQodGhpcy5kZWZhdWx0Q2F0ZWdvcnlMaXN0KV07XHJcblxyXG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHRoaXMuZGVmYXVsdFRlbXBsYXRlcztcclxuICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbWFwRGVmYXVsdFRlbXBsYXRlKCkge1xyXG4gICAgdGhpcy5kZWZhdWx0VGVtcGxhdGVzID0gdGhpcy5kZWZhdWx0VGVtcGxhdGVzLm1hcCgodGVtcGxhdGU6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBjYXRlZ29yeSA9IHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+XHJcbiAgICAgICAgdGVtcGxhdGU/LmNhdGVnb3J5SWQ/LmluY2x1ZGVzKGNhdGVnb3J5Lml0ZW1faWQpXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4udGVtcGxhdGUsXHJcbiAgICAgICAgY2F0ZWdvcnlEZXRhaWxzOiBjYXRlZ29yeSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc29ydEJ5KGtleTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNvcnRTdGF0dXMgPSB0aGlzLnNvcnRTdGF0dXMgKiAtMTtcclxuICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gdGhpcy50ZW1wbGF0ZVNlcnZpY2Uuc29ydEJ5S2V5KFxyXG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCxcclxuICAgICAga2V5LFxyXG4gICAgICB0aGlzLnNvcnRTdGF0dXNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdENhdGVnb3J5KGNhdGVnb3J5OiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50YXJnZXQuY2hlY2tlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkucHVzaChjYXRlZ29yeT8uaXRlbV9pZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkuZmlsdGVyKFxyXG4gICAgICAgIChpZDogYW55KSA9PiBpZCAhPT0gY2F0ZWdvcnk/Lml0ZW1faWRcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IFsuLi5uZXcgU2V0KHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSldO1xyXG4gIH1cclxuXHJcbiAgb25BcHBseUZpbHRlcihldmVudDogYW55KSB7XHJcbiAgICBpZiAoIWV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IFtdO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgc2VsZWN0ZWRUZW1wbGF0ZSA9XHJcbiAgICAgIHRoaXMuY3VycmVudFRhYiA9PT0gJ1ZDT01QTFknXHJcbiAgICAgICAgPyB0aGlzLmRlZmF1bHRUZW1wbGF0ZXNcclxuICAgICAgICA6IHRoaXMuY3VzdG9tVGVtcGxhdGVzID8/IFtdO1xyXG4gICAgc2VsZWN0ZWRUZW1wbGF0ZSA9IFsuLi5uZXcgU2V0KHNlbGVjdGVkVGVtcGxhdGUpXTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gc2VsZWN0ZWRUZW1wbGF0ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBzZWxlY3RlZFRlbXBsYXRlLmZpbHRlcigodGVtcGxhdGU6IGFueSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGVtcGxhdGU/LmNhdGVnb3J5SWQ/LnNvbWUoKGlkOiBhbnkpID0+XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5LmluY2x1ZGVzKGlkKVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdFRlbXBsYXRlKHRlbXBsYXRlOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUZW1wbGF0ZSA9IFt0ZW1wbGF0ZV07XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5vblRlbXBsYXRlU2VsZWN0LmVtaXQodGhpcy5zZWxlY3RlZFRlbXBsYXRlKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5vblRlbXBsYXRlU2VsZWN0LmVtaXQoW10pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGVtcGxhdGUgPSBbXTtcclxuICB9XHJcblxyXG4gIG9uUHJldmlldyhpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmlzUHJldmlldyA9IHRydWU7XHJcbiAgICB0aGlzLmdldFByZXZpZXdEYXRhKGlkKTtcclxuICB9XHJcblxyXG4gIGdldFByZXZpZXdEYXRhKHRlbXBsYXRlSWQ6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2VcclxuICAgICAgLmdldFRlbXBsYXRlQ29udGVudCgnNjcwMzVkOWJiM2UzNzRjMWU2YWE1NmEwJylcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgeyByZXNwb25zZSB9ID0gcmVzO1xyXG4gICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZG9jRGF0YSA9IHJlc3BvbnNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJldmlld0J0bigpIHtcclxuICAgIHRoaXMuaXNQcmV2aWV3ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0XCJcclxuICBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIlxyXG4gIFtjbGFzcy53aXRoUHJldmlld109XCJpc1ByZXZpZXdcIlxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1ByZXZpZXdcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IGEgVGVtcGxhdGU8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0LWJvZHlcIj5cclxuICAgICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbG9hZGVyLWlubGluZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC10YWIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1tYi0yXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVkNPTVBMWScpXCJcclxuICAgICAgICAgIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTRcIlxyXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSAnVkNPTVBMWSdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIFZDT01QTFkgVEVNUExBVEVTXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVVNFUl9DUkVBVEVEJylcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBiLTIgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbGgtNFwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdVU0VSX0NSRUFURUQnXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBVU0VSLUNSRUFURUQgVEVNUExBVEVTXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrIHZ4LW1iLTJcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hUZW1wbGF0ZVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib2R5LXRvcCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktZW5kIHZ4LW1iLTJcIj5cclxuICAgICAgICA8Y3MtbXVsdGktc2VsZWN0XHJcbiAgICAgICAgICAoc2VhcmNoVGV4dCk9XCJzZWFyY2hDYXRlZ29yeSA9ICRldmVudFwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlbGVjdCBDYXRlZ29yeSdcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgKGFwcGx5RmlsdGVyKT1cIm9uQXBwbHlGaWx0ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICBsZXQgZWFjaENhdGVnb3J5IG9mIGNhdGVnb3J5TGlzdFxyXG4gICAgICAgICAgICAgICAgfCBTZWFyY2hCeUtleXMgOiBbJ25hbWUnXSA6IHNlYXJjaENhdGVnb3J5XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxjcy1tdWx0aS1zZWxlY3Qtb3B0aW9uXHJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZWFjaENhdGVnb3J5Py5uYW1lXCJcclxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICBbdmFsdWVdPVwiZWFjaENhdGVnb3J5Py5pdGVtX2lkXCJcclxuICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0Q2F0ZWdvcnkoZWFjaENhdGVnb3J5LCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IGVhY2hDYXRlZ29yeT8ubmFtZSB9fVxyXG4gICAgICAgICAgICA8L2NzLW11bHRpLXNlbGVjdC1vcHRpb24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2NzLW11bHRpLXNlbGVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib2R5LWlubmVyIHZ4LW1iLTFcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRlclwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIHRlbXBsYXRlTGlzdFxyXG4gICAgICAgICAgICAgICAgfCBTZWFyY2hCeUtleXNcclxuICAgICAgICAgICAgICAgICAgOiBbJ25hbWUnLCAnY2F0ZWdvcnlEZXRhaWxzJ11cclxuICAgICAgICAgICAgICAgICAgOiBzZWFyY2hUZW1wbGF0ZSBhcyBhbGxUZW1wbGF0ZVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8YXBwLXRlbXBsYXRlLWxpc3QtdGFibGVcclxuICAgICAgICAgICAgICAqbmdJZj1cImFsbFRlbXBsYXRlLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgW3RlbXBsYXRlTGlzdF09XCJhbGxUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgW2xvYWRlcl09XCJsb2FkZXJcIlxyXG4gICAgICAgICAgICAgIFtjYXRlZ29yeUxpc3RdPVwiY2F0ZWdvcnlMaXN0XCJcclxuICAgICAgICAgICAgICBbc2VsZWN0ZWRUZW1wbGF0ZV09XCJzZWxlY3RlZFRlbXBsYXRlWzBdXCJcclxuICAgICAgICAgICAgICAob25Tb3J0KT1cInNvcnRCeSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25TZWxlY3RUZW1wbGF0ZSk9XCJvblNlbGVjdFRlbXBsYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvblByZXZpZXcpPVwib25QcmV2aWV3KCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9hcHAtdGVtcGxhdGUtbGlzdC10YWJsZT5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhYWxsVGVtcGxhdGU/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgW25vRGF0YUltYWdlXT1cIk5PX0RBVEFfRk9VTkRfSU1BR0VcIlxyXG4gICAgICAgICAgICAgIFtub0RhdGFUZXh0XT1cIk5PX0RBVEFfRk9VTkRfTUVTU0FHRVwiXHJcbiAgICAgICAgICAgID48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGFwcC1mbG9hdGluZy1iYXJcclxuICAgICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXHJcbiAgICAgICAgW2lzRGlzYWJsZWRdPVwic2VsZWN0ZWRUZW1wbGF0ZT8ubGVuZ3RoID09PSAwXCJcclxuICAgICAgICBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkVGVtcGxhdGVcIlxyXG4gICAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCInbmFtZSdcIlxyXG4gICAgICAgIFtzaW5ndWxhclRleHRdPVwiJ1RlbXBsYXRlIFNlbGVjdGVkJ1wiXHJcbiAgICAgICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KClcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvYXBwLWZsb2F0aW5nLWJhcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1ByZXZpZXdcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtNCB2eC1wci00XCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIChjbGljayk9XCJwcmV2aWV3QnRuKClcIlxyXG4gICAgICAgIGNsYXNzPVwicHJldmlld0J0biB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgID5cclxuICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LW1yLTFcIj4mI3hlOTFkOzwvaT5QcmV2aWV3XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJ0ZW1wbGF0ZS1uYW1lIHZ4LWZzLTE0IHZ4LW1sLTFcIlxyXG4gICAgICAgIFthcHBUb29sdGlwXT1cIidQYXRpZW50IFNhZmV0eSBQb2xpY3knXCJcclxuICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgPlxyXG4gICAgICAgIFBhdGllbnQgU2FmZXR5IFBvbGljeVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInByZXZpZXctdGVtcGxhdGUtYm9keSB2eC1kLWZsZXggdngtanVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbG9hZGVyLWlubGluZT5cclxuXHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhbG9hZGVyXCIgY2xhc3M9XCJwcmV2aWV3LXRlbXBsYXRlLWJvZHktaW5uZXJcIj5cclxuICAgICAgICA8YXBwLXZpZXctcG9saWN5ICN2aWV3X3BvbGljeSBbY29udGVudHNdPVwiZG9jRGF0YVwiPiA8L2FwcC12aWV3LXBvbGljeT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9wb2xpY3ktdGVtcGxhdGUvc2VsZWN0LXRlbXBsYXRlLWxpc3Qvc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3RCLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVF4QyxNQUFNLE9BQU8sMkJBQTJCO0lBd0J0QyxZQUNVLGVBQWdDLEVBQ2hDLGFBQTRCO1FBRDVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXpCdEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBVSxFQUFFLENBQUM7UUFDN0Isb0JBQWUsR0FBaUIsSUFBSSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6Qix3QkFBbUIsR0FB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LEdBQUcsQ0FBQztnQkFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXZOVSwyQkFBMkI7bUdBQTNCLDJCQUEyQix5S0NkeEMseThKQW1JQTs7NEZEckhhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7a0lBeUIzQixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGVtcGxhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgTk9fREFUQV9GT1VORF9JTUFHRSxcclxuICBOT19EQVRBX0ZPVU5EX01FU1NBR0UsXHJcbn0gZnJvbSAnLi4vY29uc3RhbnRzL3RlbXBsYXRlLmNvbnN0YW50JztcclxuaW1wb3J0IHsgUG9saWN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3BvbGljeS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNlbGVjdC10ZW1wbGF0ZS1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RUZW1wbGF0ZUxpc3RDb21wb25lbnQge1xyXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gIGRlZmF1bHRUZW1wbGF0ZXM6IGFueVtdID0gW107XHJcbiAgY3VzdG9tVGVtcGxhdGVzOiBhbnlbXSB8IG51bGwgPSBudWxsO1xyXG4gIHRlbXBsYXRlTGlzdDogYW55W10gPSBbXTtcclxuICBjdXJyZW50VGFiID0gJ1ZDT01QTFknO1xyXG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcclxuICBkZWZhdWx0Q2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIHVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIHNvcnRTdGF0dXMgPSAtMTtcclxuICBzZWFyY2hDYXRlZ29yeTogc3RyaW5nID0gJyc7XHJcbiAgc2VhcmNoVGVtcGxhdGU6IHN0cmluZyA9ICcnO1xyXG4gIHNlbGVjdGVkQ2F0ZWdvcnk6IGFueVtdID0gW107XHJcbiAgTk9fREFUQV9GT1VORF9JTUFHRSA9IE5PX0RBVEFfRk9VTkRfSU1BR0U7XHJcbiAgTk9fREFUQV9GT1VORF9NRVNTQUdFID0gTk9fREFUQV9GT1VORF9NRVNTQUdFO1xyXG4gIHNlbGVjdGVkVGVtcGxhdGU6IGFueVtdID0gW107XHJcbiAgaXNQcmV2aWV3ID0gZmFsc2U7XHJcbiAgZG9jRGF0YTogYW55IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJldmlld1RlbXBsYXRlOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2F0ZWdvcnlJZDogbnVtYmVyW10gPSBbXTtcclxuICBAT3V0cHV0KCkgb25UZW1wbGF0ZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdGVtcGxhdGVTZXJ2aWNlOiBUZW1wbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRBbmltYXRpb24oKTtcclxuICAgIHRoaXMuZ2V0VGVtcGxhdGUoKTtcclxuICB9XHJcblxyXG4gIHNldEFuaW1hdGlvbigpIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcblxyXG4gIHN3aXRjaFRhYih0YWI6IHN0cmluZykge1xyXG4gICAgdGhpcy5jdXJyZW50VGFiID0gdGFiO1xyXG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gW107XHJcbiAgICBpZiAodGFiID09PSAnVkNPTVBMWScpIHtcclxuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSBbLi4udGhpcy5kZWZhdWx0VGVtcGxhdGVzXTtcclxuICAgICAgdGhpcy5jYXRlZ29yeUxpc3QgPSB0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5jdXN0b21UZW1wbGF0ZXMgPT09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmdldEN1c3RvbVRlbXBsYXRlcygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gWy4uLnRoaXMuY3VzdG9tVGVtcGxhdGVzXTtcclxuICAgICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3Q7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEN1c3RvbVRlbXBsYXRlcygpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICAgIHR5cGU6ICdjdXN0b20nLFxyXG4gICAgfTtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmZldGNoVGVtcGxhdGVzKHBheWxvYWQpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXMgPSByZXM/LnRlbXBsYXRlcyA/PyBbXTtcclxuICAgICAgdGhpcy5tYXBDdXN0b21UZW1wbGF0ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBtYXBDdXN0b21UZW1wbGF0ZSgpIHtcclxuICAgIHRoaXMucG9saWN5U2VydmljZS5nZXRDYXRlZ29yaWVzTGlzdCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdCA9IFsuLi5yZXNdO1xyXG4gICAgICB0aGlzLnVzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0ID0gdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdC5tYXAoXHJcbiAgICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygncmVzJywgcmVzKTtcclxuICAgICAgICAgIGNvbnN0IHBhcmVudEl0ZW1zID0gWy4uLm5ldyBTZXQocmVzPy5wYXJlbnRfaXRlbXMgPz8gW10pXTtcclxuICAgICAgICAgIHBhcmVudEl0ZW1zLnVuc2hpZnQocmVzLml0ZW1fbmFtZSk7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICAgIG5hbWU6IHBhcmVudEl0ZW1zPy5qb2luKCcgPCAnKSxcclxuICAgICAgICAgICAgcGFyZW50X2l0ZW1zOiByZXM/LnBhcmVudF9pdGVtcy5yZXZlcnNlKCksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgICAgaWYgKHRoaXMuY3VzdG9tVGVtcGxhdGVzKSB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXMgPSB0aGlzLmN1c3RvbVRlbXBsYXRlcy5tYXAoKHRlbXBsYXRlOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLnRlbXBsYXRlLFxyXG4gICAgICAgICAgICBjYXRlZ29yeURldGFpbHM6IHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QuZmlsdGVyKFxyXG4gICAgICAgICAgICAgIChjYXRlZ29yeTogYW55KSA9PlxyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGU/LmNhdGVnb3J5SWQ/LmluY2x1ZGVzKGNhdGVnb3J5Lml0ZW1faWQpXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgJ3VzZXJDcmVhdGVkQ2F0ZWdvcnlMaXN0IGR4d2RlJyxcclxuICAgICAgICAgIHRoaXMudXNlckNyZWF0ZWRDYXRlZ29yeUxpc3QsXHJcbiAgICAgICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlcyxcclxuICAgICAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGVzXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IFsuLi5uZXcgU2V0KHRoaXMuY3VzdG9tVGVtcGxhdGVzID8/IFtdKV07XHJcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0ID0gdGhpcy51c2VyQ3JlYXRlZENhdGVnb3J5TGlzdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGVtcGxhdGUoKSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICBjb25zdCBwYXlsb2FkID0ge1xyXG4gICAgICB0eXBlOiAnZGVmYXVsdCcsXHJcbiAgICB9O1xyXG4gICAgZm9ya0pvaW4oW1xyXG4gICAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5mZXRjaFRlbXBsYXRlcyhwYXlsb2FkKSxcclxuICAgICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZmV0Y2hEZWZhdWx0Q2F0ZWdvcmllcygpLFxyXG4gICAgXSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmRlZmF1bHRUZW1wbGF0ZXMgPSByZXNbMF0/LnRlbXBsYXRlcztcclxuICAgICAgdGhpcy5kZWZhdWx0Q2F0ZWdvcnlMaXN0ID0gcmVzWzFdO1xyXG4gICAgICB0aGlzLm1hcERlZmF1bHRUZW1wbGF0ZSgpO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdCA9IFsuLi5uZXcgU2V0KHRoaXMuZGVmYXVsdENhdGVnb3J5TGlzdCldO1xyXG5cclxuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSB0aGlzLmRlZmF1bHRUZW1wbGF0ZXM7XHJcbiAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG1hcERlZmF1bHRUZW1wbGF0ZSgpIHtcclxuICAgIHRoaXMuZGVmYXVsdFRlbXBsYXRlcyA9IHRoaXMuZGVmYXVsdFRlbXBsYXRlcy5tYXAoKHRlbXBsYXRlOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgY2F0ZWdvcnkgPSB0aGlzLmRlZmF1bHRDYXRlZ29yeUxpc3QuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxyXG4gICAgICAgIHRlbXBsYXRlPy5jYXRlZ29yeUlkPy5pbmNsdWRlcyhjYXRlZ29yeS5pdGVtX2lkKVxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLnRlbXBsYXRlLFxyXG4gICAgICAgIGNhdGVnb3J5RGV0YWlsczogY2F0ZWdvcnksXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNvcnRCeShrZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5zb3J0U3RhdHVzID0gdGhpcy5zb3J0U3RhdHVzICogLTE7XHJcbiAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHRoaXMudGVtcGxhdGVTZXJ2aWNlLnNvcnRCeUtleShcclxuICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QsXHJcbiAgICAgIGtleSxcclxuICAgICAgdGhpcy5zb3J0U3RhdHVzXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RDYXRlZ29yeShjYXRlZ29yeTogYW55LCBldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQudGFyZ2V0LmNoZWNrZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5LnB1c2goY2F0ZWdvcnk/Lml0ZW1faWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gdGhpcy5zZWxlY3RlZENhdGVnb3J5LmZpbHRlcihcclxuICAgICAgICAoaWQ6IGFueSkgPT4gaWQgIT09IGNhdGVnb3J5Py5pdGVtX2lkXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBbLi4ubmV3IFNldCh0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkpXTtcclxuICB9XHJcblxyXG4gIG9uQXBwbHlGaWx0ZXIoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKCFldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBbXTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IHNlbGVjdGVkVGVtcGxhdGUgPVxyXG4gICAgICB0aGlzLmN1cnJlbnRUYWIgPT09ICdWQ09NUExZJ1xyXG4gICAgICAgID8gdGhpcy5kZWZhdWx0VGVtcGxhdGVzXHJcbiAgICAgICAgOiB0aGlzLmN1c3RvbVRlbXBsYXRlcyA/PyBbXTtcclxuICAgIHNlbGVjdGVkVGVtcGxhdGUgPSBbLi4ubmV3IFNldChzZWxlY3RlZFRlbXBsYXRlKV07XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZENhdGVnb3J5Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnRlbXBsYXRlTGlzdCA9IHNlbGVjdGVkVGVtcGxhdGU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudGVtcGxhdGVMaXN0ID0gc2VsZWN0ZWRUZW1wbGF0ZS5maWx0ZXIoKHRlbXBsYXRlOiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIHRlbXBsYXRlPy5jYXRlZ29yeUlkPy5zb21lKChpZDogYW55KSA9PlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeS5pbmNsdWRlcyhpZClcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RUZW1wbGF0ZSh0ZW1wbGF0ZTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGVtcGxhdGUgPSBbdGVtcGxhdGVdO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMub25UZW1wbGF0ZVNlbGVjdC5lbWl0KHRoaXMuc2VsZWN0ZWRUZW1wbGF0ZSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMub25UZW1wbGF0ZVNlbGVjdC5lbWl0KFtdKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUV2ZW50KCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRlbXBsYXRlID0gW107XHJcbiAgfVxyXG5cclxuICBvblByZXZpZXcoZGV0YWlsczogYW55KSB7XHJcbiAgICB0aGlzLmlzUHJldmlldyA9IHRydWU7XHJcbiAgICB0aGlzLmdldFByZXZpZXdEYXRhKGRldGFpbHM/Ll9pZCk7XHJcbiAgICB0aGlzLnByZXZpZXdUZW1wbGF0ZSA9IGRldGFpbHM7XHJcbiAgfVxyXG5cclxuICBvbkNsb3NlUHJldmlldygpIHtcclxuICAgIHRoaXMuaXNQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICB0aGlzLmRvY0RhdGEgPSBudWxsO1xyXG4gICAgdGhpcy5wcmV2aWV3VGVtcGxhdGUgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJldmlld0RhdGEodGVtcGxhdGVJZDogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRUZW1wbGF0ZUNvbnRlbnQodGVtcGxhdGVJZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlcykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgcmVzcG9uc2UgfSA9IHJlcztcclxuICAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZG9jRGF0YSA9IHJlc3BvbnNlO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0XCJcclxuICBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIlxyXG4gIFtjbGFzcy53aXRoUHJldmlld109XCJpc1ByZXZpZXdcIlxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1ByZXZpZXdcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IGEgVGVtcGxhdGU8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC10ZW1wbGF0ZS1saXN0LWJvZHlcIj5cclxuICAgICAgPGFwcC1sb2FkZXItaW5saW5lICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbG9hZGVyLWlubGluZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC10YWIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1tYi0yXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVkNPTVBMWScpXCJcclxuICAgICAgICAgIGNsYXNzPVwidGFiLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wYi0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWxoLTRcIlxyXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSAnVkNPTVBMWSdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIFZDT01QTFkgVEVNUExBVEVTXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaFRhYignVVNFUl9DUkVBVEVEJylcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0YWItYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBiLTIgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbGgtNFwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09ICdVU0VSX0NSRUFURUQnXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICBVU0VSLUNSRUFURUQgVEVNUExBVEVTXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrIHZ4LW1iLTJcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJzZWFyY2hUZW1wbGF0ZVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib2R5LXRvcCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktZW5kIHZ4LW1iLTJcIj5cclxuICAgICAgICA8Y3MtbXVsdGktc2VsZWN0XHJcbiAgICAgICAgICAoc2VhcmNoVGV4dCk9XCJzZWFyY2hDYXRlZ29yeSA9ICRldmVudFwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlbGVjdCBDYXRlZ29yeSdcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgKGFwcGx5RmlsdGVyKT1cIm9uQXBwbHlGaWx0ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdGb3I9XCJcclxuICAgICAgICAgICAgICBsZXQgZWFjaENhdGVnb3J5IG9mIGNhdGVnb3J5TGlzdFxyXG4gICAgICAgICAgICAgICAgfCBTZWFyY2hCeUtleXMgOiBbJ25hbWUnXSA6IHNlYXJjaENhdGVnb3J5XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxjcy1tdWx0aS1zZWxlY3Qtb3B0aW9uXHJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZWFjaENhdGVnb3J5Py5uYW1lXCJcclxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICBbdmFsdWVdPVwiZWFjaENhdGVnb3J5Py5pdGVtX2lkXCJcclxuICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0Q2F0ZWdvcnkoZWFjaENhdGVnb3J5LCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IGVhY2hDYXRlZ29yeT8ubmFtZSB9fVxyXG4gICAgICAgICAgICA8L2NzLW11bHRpLXNlbGVjdC1vcHRpb24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2NzLW11bHRpLXNlbGVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib2R5LWlubmVyIHZ4LW1iLTFcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRlclwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIHRlbXBsYXRlTGlzdFxyXG4gICAgICAgICAgICAgICAgfCBTZWFyY2hCeUtleXNcclxuICAgICAgICAgICAgICAgICAgOiBbJ25hbWUnLCAnY2F0ZWdvcnlEZXRhaWxzJ11cclxuICAgICAgICAgICAgICAgICAgOiBzZWFyY2hUZW1wbGF0ZSBhcyBhbGxUZW1wbGF0ZVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8YXBwLXRlbXBsYXRlLWxpc3QtdGFibGVcclxuICAgICAgICAgICAgICAqbmdJZj1cImFsbFRlbXBsYXRlLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgW3RlbXBsYXRlTGlzdF09XCJhbGxUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgW2xvYWRlcl09XCJsb2FkZXJcIlxyXG4gICAgICAgICAgICAgIFtjYXRlZ29yeUxpc3RdPVwiY2F0ZWdvcnlMaXN0XCJcclxuICAgICAgICAgICAgICBbc2VsZWN0ZWRUZW1wbGF0ZV09XCJzZWxlY3RlZFRlbXBsYXRlWzBdXCJcclxuICAgICAgICAgICAgICAob25Tb3J0KT1cInNvcnRCeSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25TZWxlY3RUZW1wbGF0ZSk9XCJvblNlbGVjdFRlbXBsYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvblByZXZpZXcpPVwib25QcmV2aWV3KCRldmVudClcIlxyXG4gICAgICAgICAgICA+PC9hcHAtdGVtcGxhdGUtbGlzdC10YWJsZT5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhYWxsVGVtcGxhdGU/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgW25vRGF0YUltYWdlXT1cIk5PX0RBVEFfRk9VTkRfSU1BR0VcIlxyXG4gICAgICAgICAgICAgIFtub0RhdGFUZXh0XT1cIk5PX0RBVEFfRk9VTkRfTUVTU0FHRVwiXHJcbiAgICAgICAgICAgID48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGFwcC1mbG9hdGluZy1iYXJcclxuICAgICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICAgIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiXHJcbiAgICAgICAgW2lzRGlzYWJsZWRdPVwic2VsZWN0ZWRUZW1wbGF0ZT8ubGVuZ3RoID09PSAwXCJcclxuICAgICAgICBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkVGVtcGxhdGVcIlxyXG4gICAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCInbmFtZSdcIlxyXG4gICAgICAgIFtzaW5ndWxhclRleHRdPVwiJ1RlbXBsYXRlIFNlbGVjdGVkJ1wiXHJcbiAgICAgICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KClcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvYXBwLWZsb2F0aW5nLWJhcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1ByZXZpZXdcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJzZWxlY3QtdGVtcGxhdGUtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcGwtNCB2eC1wci00XCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlUHJldmlldygpXCJcclxuICAgICAgICBjbGFzcz1cInByZXZpZXdCdG4gdngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1wLTAgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1tci0xXCI+JiN4ZTkxZDs8L2k+UHJldmlld1xyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwidGVtcGxhdGUtbmFtZSB2eC1mcy0xNCB2eC1tbC0xXCJcclxuICAgICAgICBbYXBwVG9vbHRpcF09XCJwcmV2aWV3VGVtcGxhdGU/Lm5hbWVcIlxyXG4gICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgcHJldmlld1RlbXBsYXRlPy5uYW1lIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJldmlldy10ZW1wbGF0ZS1ib2R5IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1sb2FkZXItaW5saW5lPlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFsb2FkZXJcIiBjbGFzcz1cInByZXZpZXctdGVtcGxhdGUtYm9keS1pbm5lclwiPlxyXG4gICAgICAgIDxhcHAtdmlldy1wb2xpY3kgI3ZpZXdfcG9saWN5IFtjb250ZW50c109XCJkb2NEYXRhXCI+IDwvYXBwLXZpZXctcG9saWN5PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -29162,15 +29162,19 @@ class SelectTemplateListComponent {
|
|
|
29162
29162
|
deleteEvent() {
|
|
29163
29163
|
this.selectedTemplate = [];
|
|
29164
29164
|
}
|
|
29165
|
-
onPreview(
|
|
29165
|
+
onPreview(details) {
|
|
29166
29166
|
this.isPreview = true;
|
|
29167
|
-
this.getPreviewData(
|
|
29167
|
+
this.getPreviewData(details?._id);
|
|
29168
|
+
this.previewTemplate = details;
|
|
29169
|
+
}
|
|
29170
|
+
onClosePreview() {
|
|
29171
|
+
this.isPreview = false;
|
|
29172
|
+
this.docData = null;
|
|
29173
|
+
this.previewTemplate = null;
|
|
29168
29174
|
}
|
|
29169
29175
|
getPreviewData(templateId) {
|
|
29170
29176
|
this.loader = true;
|
|
29171
|
-
this.templateService
|
|
29172
|
-
.getTemplateContent('67035d9bb3e374c1e6aa56a0')
|
|
29173
|
-
.subscribe({
|
|
29177
|
+
this.templateService.getTemplateContent(templateId).subscribe({
|
|
29174
29178
|
next: (res) => {
|
|
29175
29179
|
const { response } = res;
|
|
29176
29180
|
this.loader = false;
|
|
@@ -29178,15 +29182,12 @@ class SelectTemplateListComponent {
|
|
|
29178
29182
|
},
|
|
29179
29183
|
});
|
|
29180
29184
|
}
|
|
29181
|
-
previewBtn() {
|
|
29182
|
-
this.isPreview = false;
|
|
29183
|
-
}
|
|
29184
29185
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectTemplateListComponent, deps: [{ token: TemplateService }, { token: PolicyService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29185
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectTemplateListComponent, selector: "app-select-template-list", inputs: { selectedCategoryId: "selectedCategoryId" }, outputs: { onTemplateSelect: "onTemplateSelect" }, ngImport: i0, template: "<div\r\n class=\"select-template-list\"\r\n [class.animate]=\"animation\"\r\n [class.withPreview]=\"isPreview\"\r\n>\r\n <ng-container *ngIf=\"!isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\r\n </div>\r\n <div class=\"select-template-list-body\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\r\n <button\r\n (click)=\"switchTab('VCOMPLY')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'VCOMPLY'\"\r\n >\r\n VCOMPLY TEMPLATES\r\n </button>\r\n <button\r\n (click)=\"switchTab('USER_CREATED')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'USER_CREATED'\"\r\n >\r\n USER-CREATED TEMPLATES\r\n </button>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\r\n </div>\r\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\r\n <cs-multi-select\r\n (searchText)=\"searchCategory = $event\"\r\n [placeholder]=\"'Select Category'\"\r\n [value]=\"selectedCategory\"\r\n (applyFilter)=\"onApplyFilter($event)\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let eachCategory of categoryList\r\n | SearchByKeys : ['name'] : searchCategory\r\n \"\r\n >\r\n <cs-multi-select-option\r\n [appTooltip]=\"eachCategory?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n [value]=\"eachCategory?.item_id\"\r\n (change)=\"onSelectCategory(eachCategory, $event)\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ eachCategory?.name }}\r\n </cs-multi-select-option>\r\n </ng-container>\r\n </cs-multi-select>\r\n </div>\r\n <div class=\"body-inner vx-mb-1\">\r\n <ng-container *ngIf=\"!loader\">\r\n <ng-container\r\n *ngIf=\"\r\n templateList\r\n | SearchByKeys\r\n : ['name', 'categoryDetails']\r\n : searchTemplate as allTemplate\r\n \"\r\n >\r\n <app-template-list-table\r\n *ngIf=\"allTemplate.length\"\r\n [templateList]=\"allTemplate\"\r\n [loader]=\"loader\"\r\n [categoryList]=\"categoryList\"\r\n [selectedTemplate]=\"selectedTemplate[0]\"\r\n (onSort)=\"sortBy($event)\"\r\n (onSelectTemplate)=\"onSelectTemplate($event)\"\r\n (onPreview)=\"onPreview($event)\"\r\n ></app-template-list-table>\r\n <app-no-data\r\n *ngIf=\"!allTemplate?.length\"\r\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\r\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\r\n ></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"selectedTemplate?.length === 0\"\r\n [selectedData]=\"selectedTemplate\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'Template Selected'\"\r\n (deleteEvent)=\"deleteEvent()\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\r\n >\r\n <button\r\n (click)=\"previewBtn()\"\r\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i>Preview\r\n </button>\r\n <div\r\n class=\"template-name vx-fs-14 vx-ml-1\"\r\n [appTooltip]=\"'Patient Safety Policy'\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n Patient Safety Policy\r\n </div>\r\n </div>\r\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\r\n <app-view-policy #view_policy [contents]=\"docData\"> </app-view-policy>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", 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\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: CsMultiselectComponent, selector: "cs-multi-select", inputs: ["isRequired", "dropdownLabel", "dropdownSubLabel", "disabled", "placeholder", "searchPlaceholder", "value", "selectedItem"], outputs: ["valueChange", "applyFilter", "searchText", "resetSelectedData"] }, { kind: "component", type: CsMultiselectOptionComponent, selector: "cs-multi-select-option", inputs: ["value"] }, { kind: "component", type: FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ViewPolicyComponent, selector: "app-view-policy", inputs: ["contents", "userName"] }, { kind: "component", type: TemplateListTableComponent, selector: "app-template-list-table", inputs: ["selectedTemplate", "templateList", "loader", "categoryList"], outputs: ["onSort", "onSelectTemplate", "onPreview"] }, { kind: "pipe", type: SearchByKeysPipe, name: "SearchByKeys" }] }); }
|
|
29186
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectTemplateListComponent, selector: "app-select-template-list", inputs: { selectedCategoryId: "selectedCategoryId" }, outputs: { onTemplateSelect: "onTemplateSelect" }, ngImport: i0, template: "<div\r\n class=\"select-template-list\"\r\n [class.animate]=\"animation\"\r\n [class.withPreview]=\"isPreview\"\r\n>\r\n <ng-container *ngIf=\"!isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\r\n </div>\r\n <div class=\"select-template-list-body\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\r\n <button\r\n (click)=\"switchTab('VCOMPLY')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'VCOMPLY'\"\r\n >\r\n VCOMPLY TEMPLATES\r\n </button>\r\n <button\r\n (click)=\"switchTab('USER_CREATED')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'USER_CREATED'\"\r\n >\r\n USER-CREATED TEMPLATES\r\n </button>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\r\n </div>\r\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\r\n <cs-multi-select\r\n (searchText)=\"searchCategory = $event\"\r\n [placeholder]=\"'Select Category'\"\r\n [value]=\"selectedCategory\"\r\n (applyFilter)=\"onApplyFilter($event)\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let eachCategory of categoryList\r\n | SearchByKeys : ['name'] : searchCategory\r\n \"\r\n >\r\n <cs-multi-select-option\r\n [appTooltip]=\"eachCategory?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n [value]=\"eachCategory?.item_id\"\r\n (change)=\"onSelectCategory(eachCategory, $event)\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ eachCategory?.name }}\r\n </cs-multi-select-option>\r\n </ng-container>\r\n </cs-multi-select>\r\n </div>\r\n <div class=\"body-inner vx-mb-1\">\r\n <ng-container *ngIf=\"!loader\">\r\n <ng-container\r\n *ngIf=\"\r\n templateList\r\n | SearchByKeys\r\n : ['name', 'categoryDetails']\r\n : searchTemplate as allTemplate\r\n \"\r\n >\r\n <app-template-list-table\r\n *ngIf=\"allTemplate.length\"\r\n [templateList]=\"allTemplate\"\r\n [loader]=\"loader\"\r\n [categoryList]=\"categoryList\"\r\n [selectedTemplate]=\"selectedTemplate[0]\"\r\n (onSort)=\"sortBy($event)\"\r\n (onSelectTemplate)=\"onSelectTemplate($event)\"\r\n (onPreview)=\"onPreview($event)\"\r\n ></app-template-list-table>\r\n <app-no-data\r\n *ngIf=\"!allTemplate?.length\"\r\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\r\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\r\n ></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"selectedTemplate?.length === 0\"\r\n [selectedData]=\"selectedTemplate\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'Template Selected'\"\r\n (deleteEvent)=\"deleteEvent()\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\r\n >\r\n <button\r\n (click)=\"onClosePreview()\"\r\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i>Preview\r\n </button>\r\n <div\r\n class=\"template-name vx-fs-14 vx-ml-1\"\r\n [appTooltip]=\"previewTemplate?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ previewTemplate?.name }}\r\n </div>\r\n </div>\r\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\r\n <app-view-policy #view_policy [contents]=\"docData\"> </app-view-policy>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", 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\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: CsMultiselectComponent, selector: "cs-multi-select", inputs: ["isRequired", "dropdownLabel", "dropdownSubLabel", "disabled", "placeholder", "searchPlaceholder", "value", "selectedItem"], outputs: ["valueChange", "applyFilter", "searchText", "resetSelectedData"] }, { kind: "component", type: CsMultiselectOptionComponent, selector: "cs-multi-select-option", inputs: ["value"] }, { kind: "component", type: FloatingBarComponent, selector: "app-floating-bar", inputs: ["selectedData", "selectedGroups", "displayElementKey", "elementId", "singularText", "pluralText", "showNextButton", "showFrequencyText", "showWorkflow", "workflowText", "currentFrequency", "isDisabled", "workflowList", "selectedWorkflow", "workflowPlaceHolder", "mode", "defaultSelected", "groupsEnabled", "nonRemovableUsersList", "removePosition"], outputs: ["closeEvent", "deleteEvent", "closeList", "deleteGroupEvent", "workflowTypeChanged"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ViewPolicyComponent, selector: "app-view-policy", inputs: ["contents", "userName"] }, { kind: "component", type: TemplateListTableComponent, selector: "app-template-list-table", inputs: ["selectedTemplate", "templateList", "loader", "categoryList"], outputs: ["onSort", "onSelectTemplate", "onPreview"] }, { kind: "pipe", type: SearchByKeysPipe, name: "SearchByKeys" }] }); }
|
|
29186
29187
|
}
|
|
29187
29188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectTemplateListComponent, decorators: [{
|
|
29188
29189
|
type: Component,
|
|
29189
|
-
args: [{ selector: 'app-select-template-list', template: "<div\r\n class=\"select-template-list\"\r\n [class.animate]=\"animation\"\r\n [class.withPreview]=\"isPreview\"\r\n>\r\n <ng-container *ngIf=\"!isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\r\n </div>\r\n <div class=\"select-template-list-body\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\r\n <button\r\n (click)=\"switchTab('VCOMPLY')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'VCOMPLY'\"\r\n >\r\n VCOMPLY TEMPLATES\r\n </button>\r\n <button\r\n (click)=\"switchTab('USER_CREATED')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'USER_CREATED'\"\r\n >\r\n USER-CREATED TEMPLATES\r\n </button>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\r\n </div>\r\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\r\n <cs-multi-select\r\n (searchText)=\"searchCategory = $event\"\r\n [placeholder]=\"'Select Category'\"\r\n [value]=\"selectedCategory\"\r\n (applyFilter)=\"onApplyFilter($event)\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let eachCategory of categoryList\r\n | SearchByKeys : ['name'] : searchCategory\r\n \"\r\n >\r\n <cs-multi-select-option\r\n [appTooltip]=\"eachCategory?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n [value]=\"eachCategory?.item_id\"\r\n (change)=\"onSelectCategory(eachCategory, $event)\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ eachCategory?.name }}\r\n </cs-multi-select-option>\r\n </ng-container>\r\n </cs-multi-select>\r\n </div>\r\n <div class=\"body-inner vx-mb-1\">\r\n <ng-container *ngIf=\"!loader\">\r\n <ng-container\r\n *ngIf=\"\r\n templateList\r\n | SearchByKeys\r\n : ['name', 'categoryDetails']\r\n : searchTemplate as allTemplate\r\n \"\r\n >\r\n <app-template-list-table\r\n *ngIf=\"allTemplate.length\"\r\n [templateList]=\"allTemplate\"\r\n [loader]=\"loader\"\r\n [categoryList]=\"categoryList\"\r\n [selectedTemplate]=\"selectedTemplate[0]\"\r\n (onSort)=\"sortBy($event)\"\r\n (onSelectTemplate)=\"onSelectTemplate($event)\"\r\n (onPreview)=\"onPreview($event)\"\r\n ></app-template-list-table>\r\n <app-no-data\r\n *ngIf=\"!allTemplate?.length\"\r\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\r\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\r\n ></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"selectedTemplate?.length === 0\"\r\n [selectedData]=\"selectedTemplate\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'Template Selected'\"\r\n (deleteEvent)=\"deleteEvent()\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\r\n >\r\n <button\r\n (click)=\"
|
|
29190
|
+
args: [{ selector: 'app-select-template-list', template: "<div\r\n class=\"select-template-list\"\r\n [class.animate]=\"animation\"\r\n [class.withPreview]=\"isPreview\"\r\n>\r\n <ng-container *ngIf=\"!isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Template</div>\r\n </div>\r\n <div class=\"select-template-list-body\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div class=\"select-template-list-tab vx-d-flex vx-align-center vx-mb-2\">\r\n <button\r\n (click)=\"switchTab('VCOMPLY')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'VCOMPLY'\"\r\n >\r\n VCOMPLY TEMPLATES\r\n </button>\r\n <button\r\n (click)=\"switchTab('USER_CREATED')\"\r\n class=\"tab-btn vx-fs-11 vx-fw-500 vx-tt-uppercase vx-p-0 vx-pb-2 vx-m-0 vx-d-flex vx-align-center vx-lh-4\"\r\n [class.active]=\"currentTab === 'USER_CREATED'\"\r\n >\r\n USER-CREATED TEMPLATES\r\n </button>\r\n </div>\r\n <div class=\"search-block vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"searchTemplate\" placeholder=\"Search\" />\r\n </div>\r\n <div class=\"body-top vx-d-flex vx-align-center vx-justify-end vx-mb-2\">\r\n <cs-multi-select\r\n (searchText)=\"searchCategory = $event\"\r\n [placeholder]=\"'Select Category'\"\r\n [value]=\"selectedCategory\"\r\n (applyFilter)=\"onApplyFilter($event)\"\r\n >\r\n <ng-container\r\n *ngFor=\"\r\n let eachCategory of categoryList\r\n | SearchByKeys : ['name'] : searchCategory\r\n \"\r\n >\r\n <cs-multi-select-option\r\n [appTooltip]=\"eachCategory?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n [value]=\"eachCategory?.item_id\"\r\n (change)=\"onSelectCategory(eachCategory, $event)\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ eachCategory?.name }}\r\n </cs-multi-select-option>\r\n </ng-container>\r\n </cs-multi-select>\r\n </div>\r\n <div class=\"body-inner vx-mb-1\">\r\n <ng-container *ngIf=\"!loader\">\r\n <ng-container\r\n *ngIf=\"\r\n templateList\r\n | SearchByKeys\r\n : ['name', 'categoryDetails']\r\n : searchTemplate as allTemplate\r\n \"\r\n >\r\n <app-template-list-table\r\n *ngIf=\"allTemplate.length\"\r\n [templateList]=\"allTemplate\"\r\n [loader]=\"loader\"\r\n [categoryList]=\"categoryList\"\r\n [selectedTemplate]=\"selectedTemplate[0]\"\r\n (onSort)=\"sortBy($event)\"\r\n (onSelectTemplate)=\"onSelectTemplate($event)\"\r\n (onPreview)=\"onPreview($event)\"\r\n ></app-template-list-table>\r\n <app-no-data\r\n *ngIf=\"!allTemplate?.length\"\r\n [noDataImage]=\"NO_DATA_FOUND_IMAGE\"\r\n [noDataText]=\"NO_DATA_FOUND_MESSAGE\"\r\n ></app-no-data>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <app-floating-bar\r\n (closeEvent)=\"save()\"\r\n (closeList)=\"close()\"\r\n [isDisabled]=\"selectedTemplate?.length === 0\"\r\n [selectedData]=\"selectedTemplate\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'Template Selected'\"\r\n (deleteEvent)=\"deleteEvent()\"\r\n >\r\n </app-floating-bar>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"isPreview\">\r\n <div\r\n class=\"select-template-list-head vx-d-flex vx-align-center vx-pl-4 vx-pr-4\"\r\n >\r\n <button\r\n (click)=\"onClosePreview()\"\r\n class=\"previewBtn vx-fs-14 vx-fw-500 vx-label-txt vx-p-0 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-mr-1\"></i>Preview\r\n </button>\r\n <div\r\n class=\"template-name vx-fs-14 vx-ml-1\"\r\n [appTooltip]=\"previewTemplate?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ previewTemplate?.name }}\r\n </div>\r\n </div>\r\n <div class=\"preview-template-body vx-d-flex vx-justify-center\">\r\n <app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n\r\n <div *ngIf=\"!loader\" class=\"preview-template-body-inner\">\r\n <app-view-policy #view_policy [contents]=\"docData\"> </app-view-policy>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", 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\";::ng-deep .select-template-list{background:#fff;position:fixed;inset:0 500px 0 0;z-index:10}::ng-deep .select-template-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .select-template-list:after{background:#f1f1f1;content:\"\";position:absolute;top:3px;right:0;width:1px;height:calc(100% - 3px)}::ng-deep .select-template-list.withPreview{background:#f2f2f5}::ng-deep .select-template-list-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .select-template-list-head button.previewBtn{background:transparent;border-radius:0;border:none}::ng-deep .select-template-list-head .template-name{color:#787a8c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 5rem)}::ng-deep .select-template-list-tab{border-bottom:1px solid #dbdbdb}::ng-deep .select-template-list-tab button.tab-btn{background:transparent;border-radius:0;border:none;border-bottom:.1875rem solid transparent;color:#565a6f;height:23px;margin-right:1.75rem!important}::ng-deep .select-template-list-tab button.active{pointer-events:none}::ng-deep .select-template-list-tab button.active.tab-btn{border-color:#1e5dd3;color:#1e5dd3}::ng-deep .select-template-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .select-template-list-body .search-block{position:relative}::ng-deep .select-template-list-body .search-block input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .select-template-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .select-template-list-body .search-block i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}::ng-deep .select-template-list-body .body-top cs-multi-select{display:block;width:320px}::ng-deep .select-template-list-body .body-inner{height:calc(100% - 180px);width:calc(100% + 2rem);padding-right:2rem;overflow:hidden;overflow-y:auto;scrollbar-width:thin}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-track{background-color:#f1f1f1}::ng-deep .select-template-list-body .body-inner::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}::ng-deep .select-template-list .preview-template-body{margin-top:3rem;height:calc(100% - 6rem)}::ng-deep .select-template-list .preview-template-body-inner{background:#fff;border-radius:8px 8px 0 0;border:1px solid #dbdbdb;width:50rem}::ng-deep .select-template-list .preview-template-body-inner app-view-policy{display:block;height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn{height:100%}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane{height:calc(100% - 30px)}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor{height:100%!important;min-height:unset!important}::ng-deep .select-template-list .preview-template-body-inner app-view-policy ejs-documenteditorcontainer .e-de-ctn .e-de-ctnr-properties-pane .e-control.e-documenteditor .e-documenteditor-optionspane{height:100%}\n"] }]
|
|
29190
29191
|
}], ctorParameters: function () { return [{ type: TemplateService }, { type: PolicyService }]; }, propDecorators: { selectedCategoryId: [{
|
|
29191
29192
|
type: Input
|
|
29192
29193
|
}], onTemplateSelect: [{
|