vcomply-workflow-engine 3.1.29 → 3.1.30

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.
Files changed (19) hide show
  1. package/esm2020/lib/sharedComponents/table-card-loader/table-card-loader.component.mjs +15 -0
  2. package/esm2020/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +34 -7
  3. package/esm2020/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +9 -9
  4. package/esm2020/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +25 -3
  5. package/esm2020/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +3 -3
  6. package/esm2020/lib/workflow/shared/components/list-popup/list-popup.component.mjs +5 -2
  7. package/esm2020/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +3 -3
  8. package/esm2020/lib/workflow/shared/components/table-card/table-card.component.mjs +14 -10
  9. package/esm2020/lib/workflow-risk/workflow-risk.component.mjs +1 -1
  10. package/fesm2015/vcomply-workflow-engine.mjs +95 -30
  11. package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
  12. package/fesm2020/vcomply-workflow-engine.mjs +96 -30
  13. package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
  14. package/lib/sharedComponents/table-card-loader/table-card-loader.component.d.ts +8 -0
  15. package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +3 -0
  16. package/lib/workflow/shared/components/grc-object-list/grc-object-list.component.d.ts +4 -1
  17. package/lib/workflow/shared/components/list-popup/list-popup.component.d.ts +1 -0
  18. package/lib/workflow/shared/components/table-card/table-card.component.d.ts +5 -3
  19. package/package.json +1 -1
@@ -10,6 +10,7 @@ import { NoDataModule } from '../../../../ui-kit/no-data/no-data.module';
10
10
  import { LINKS } from '../../constants/cdn-link.constant';
11
11
  import { ListLoaderModule } from '../../../../sharedComponents/list-loader/list-loader.module';
12
12
  import { OTHER_GRC_CARD } from '../../constants/grcObject.constant';
13
+ import { TableCardLoaderComponent } from '../../../../sharedComponents/table-card-loader/table-card-loader.component';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "@angular/common";
15
16
  import * as i2 from "../../../../ui-kit/popover/popover.component";
@@ -25,6 +26,7 @@ export class GrcObjectListComponent {
25
26
  this.CDN_LINK = LINKS;
26
27
  this.tableCard = OTHER_GRC_CARD;
27
28
  this.loader = false;
29
+ this.cardLoader = false;
28
30
  this.currentPage = 1;
29
31
  this.selectedGRC = [];
30
32
  this.selectedGRCIds = [];
@@ -38,6 +40,7 @@ export class GrcObjectListComponent {
38
40
  }
39
41
  set setSelectedGRC(selectedGRC) {
40
42
  this.selectedGRC = selectedGRC;
43
+ this.setSelectedTabCount(selectedGRC);
41
44
  this.selectedGRCIds = this.getIds(this.selectedGRC, '_id');
42
45
  this.preSelectedGRC = JSON.parse(JSON.stringify(selectedGRC));
43
46
  }
@@ -150,9 +153,20 @@ export class GrcObjectListComponent {
150
153
  type: event?.type,
151
154
  });
152
155
  }
156
+ resetSelectedTabCount() {
157
+ this.tableCard.forEach((tab) => {
158
+ tab.selectedCount = 0;
159
+ });
160
+ }
161
+ setSelectedTabCount(data) {
162
+ this.resetSelectedTabCount();
163
+ data.forEach((tab) => {
164
+ this.updateTabSelectedCount(true, tab?.type);
165
+ });
166
+ }
153
167
  }
154
168
  GrcObjectListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GrcObjectListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
155
- GrcObjectListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GrcObjectListComponent, isStandalone: true, selector: "app-grc-object-list", inputs: { grcObject: "grcObject", currentPage: "currentPage", loader: "loader", tableCard: "tableCard", selectedTab: "selectedTab", setSelectedGRC: ["selectedGRC", "setSelectedGRC"] }, outputs: { saveOtherGRC: "saveOtherGRC", closeOtherGRC: "closeOtherGRC", getOtherGRCObjects: "getOtherGRCObjects" }, ngImport: i0, template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\r\n <div\r\n class=\"workflow-grc-object-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 GRC Object(s)</div>\r\n </div>\r\n <div class=\"workflow-grc-object-list-body\">\r\n <div class=\"table-card-area vx-d-flex vx-mb-2\">\r\n <app-table-card\r\n class=\"vx-w-100\"\r\n [tableCard]=\"tableCard\"\r\n [singleSelectedText]=\"'GRC Object Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'GRC Objects Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\"\r\n ></app-table-card>\r\n </div>\r\n\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n #searchGRC\r\n (keyup.enter)=\"handleSearch($event.target.value)\"\r\n placeholder=\"Search GRC objects\"\r\n />\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\r\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\r\n <app-pagination\r\n *ngIf=\"grcObject?.total_pages > 1\"\r\n [start]=\"grcObject?.items_from\"\r\n [end]=\"grcObject?.items_to\"\r\n [total]=\"grcObject?.total_items\"\r\n [pageCount]=\"grcObject?.total_pages\"\r\n [currentPage]=\"currentPage\"\r\n (selectedPage)=\"changePage($event)\"\r\n ></app-pagination>\r\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isAllSelected()\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n ><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">\r\n {{ selectAllButton }}\r\n </div></app-cs-checkbox\r\n >\r\n </div>\r\n\r\n <div\r\n class=\"workflow-grc-object-list-body-table\"\r\n [class.with-pagination]=\"grcObject?.total_pages > 1\"\r\n >\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n #\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n NAME\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n RESPONSIBILITY CENTER\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div\r\n class=\"table-row\"\r\n *ngFor=\"let grc of grcObject?.data; let i = index\"\r\n [class.active]=\"selectedGRCIds?.includes(grc?._id)\"\r\n >\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n <div\r\n class=\"sr-no\"\r\n [appTooltip]=\"grcObject?.items_from + i\"\r\n placement=\"bottom\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ grcObject?.items_from + i }}\r\n </div>\r\n <app-cs-checkbox\r\n [ngValue]=\"selectedGRCIds?.includes(grc?._id)\"\r\n (ngValueChange)=\"getSelectedGRC(grc, $event)\"\r\n ></app-cs-checkbox>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n <div\r\n class=\"name vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.name }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n <div class=\"rc-inner vx-d-block\">\r\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\r\n <div\r\n class=\"value vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.rcDetails[0]?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.rcDetails[0]?.rc_name }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"within-part vx-d-flex vx-align-center\"\r\n *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\"\r\n >\r\n <div\r\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\"\r\n >\r\n Within\r\n </div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"grc?.rcDetails?.length > 1\"\r\n class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\"\r\n appPopover\r\n (click)=\"rcCount.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ grc?.rcDetails?.length - 1 }}\r\n </button>\r\n <app-popover #rcCount>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"rcDetails?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ rcDetails?.rc_name }}</span\r\n >\r\n <div\r\n class=\"within\"\r\n *ngIf=\"rcDetails?.parent_rc_names?.length\"\r\n >\r\n <div class=\"block\">WITHIN</div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\r\n <app-no-data\r\n *ngIf=\"grcObject?.data?.length === 0 && !loader\"\r\n [noDataImage]=\"CDN_LINK?.noData\"\r\n [noDataText]=\"'No data to display'\"\r\n ></app-no-data>\r\n </div>\r\n\r\n <app-floating-bar\r\n [selectedData]=\"selectedGRC?.length ? selectedGRC : []\"\r\n (closeList)=\"close()\"\r\n (closeEvent)=\"save()\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'GRC Object selected'\"\r\n [pluralText]=\"'GRC Objects selected'\"\r\n (deleteEvent)=\"deleteEvent($event)\"\r\n ></app-floating-bar>\r\n </div>\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/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.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/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-right.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/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-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 .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 18.25rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.75rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i2.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i4.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i6.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: "ngmodule", type: PaginationModule }, { kind: "component", type: i7.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["tableCard", "singleSelectedText", "multipleSelectedText", "selectedTab"], outputs: ["setSelectedTab"] }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i8.NoDataComponent, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i9.ListLoaderComponent, selector: "app-list-loader" }] });
169
+ GrcObjectListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: GrcObjectListComponent, isStandalone: true, selector: "app-grc-object-list", inputs: { grcObject: "grcObject", currentPage: "currentPage", loader: "loader", tableCard: "tableCard", selectedTab: "selectedTab", cardLoader: "cardLoader", setSelectedGRC: ["selectedGRC", "setSelectedGRC"] }, outputs: { saveOtherGRC: "saveOtherGRC", closeOtherGRC: "closeOtherGRC", getOtherGRCObjects: "getOtherGRCObjects" }, ngImport: i0, template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\r\n <div\r\n class=\"workflow-grc-object-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 GRC Object(s)</div>\r\n </div>\r\n <div class=\"workflow-grc-object-list-body\">\r\n <app-table-card-loader *ngIf=\"cardLoader\"></app-table-card-loader>\r\n <div class=\"table-card-area vx-d-flex vx-mb-2\" *ngIf=\"!cardLoader\">\r\n <app-table-card\r\n class=\"vx-w-100\"\r\n [tableCard]=\"tableCard\"\r\n [singleSelectedText]=\"'GRC Object Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'GRC Objects Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\"\r\n ></app-table-card>\r\n </div>\r\n\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n #searchGRC\r\n (keyup.enter)=\"handleSearch($event.target.value)\"\r\n placeholder=\"Search GRC objects\"\r\n />\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\r\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\r\n <app-pagination\r\n *ngIf=\"grcObject?.total_pages > 1\"\r\n [start]=\"grcObject?.items_from\"\r\n [end]=\"grcObject?.items_to\"\r\n [total]=\"grcObject?.total_items\"\r\n [pageCount]=\"grcObject?.total_pages\"\r\n [currentPage]=\"currentPage\"\r\n (selectedPage)=\"changePage($event)\"\r\n ></app-pagination>\r\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isAllSelected()\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n ><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">\r\n {{ selectAllButton }}\r\n </div></app-cs-checkbox\r\n >\r\n </div>\r\n\r\n <div\r\n class=\"workflow-grc-object-list-body-table\"\r\n [class.with-pagination]=\"grcObject?.total_pages > 1\"\r\n >\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n #\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n NAME\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n RESPONSIBILITY CENTER\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div\r\n class=\"table-row\"\r\n *ngFor=\"let grc of grcObject?.data; let i = index\"\r\n [class.active]=\"selectedGRCIds?.includes(grc?._id)\"\r\n >\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n <div\r\n class=\"sr-no\"\r\n [appTooltip]=\"grcObject?.items_from + i\"\r\n placement=\"bottom\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ grcObject?.items_from + i }}\r\n </div>\r\n <app-cs-checkbox\r\n [ngValue]=\"selectedGRCIds?.includes(grc?._id)\"\r\n (ngValueChange)=\"getSelectedGRC(grc, $event)\"\r\n ></app-cs-checkbox>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n <div\r\n class=\"name vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.name }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n <div class=\"rc-inner vx-d-block\">\r\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\r\n <div\r\n class=\"value vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.rcDetails[0]?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.rcDetails[0]?.rc_name }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"within-part vx-d-flex vx-align-center\"\r\n *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\"\r\n >\r\n <div\r\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\"\r\n >\r\n Within\r\n </div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"grc?.rcDetails?.length > 1\"\r\n class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\"\r\n appPopover\r\n (click)=\"rcCount.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ grc?.rcDetails?.length - 1 }}\r\n </button>\r\n <app-popover #rcCount>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"rcDetails?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ rcDetails?.rc_name }}</span\r\n >\r\n <div\r\n class=\"within\"\r\n *ngIf=\"rcDetails?.parent_rc_names?.length\"\r\n >\r\n <div class=\"block\">WITHIN</div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\r\n <app-no-data\r\n *ngIf=\"grcObject?.data?.length === 0 && !loader\"\r\n [noDataImage]=\"CDN_LINK?.noData\"\r\n [noDataText]=\"'No data to display'\"\r\n ></app-no-data>\r\n </div>\r\n\r\n <app-floating-bar\r\n [selectedData]=\"selectedGRC?.length ? selectedGRC : []\"\r\n (closeList)=\"close()\"\r\n (closeEvent)=\"save()\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'GRC Object selected'\"\r\n [pluralText]=\"'GRC Objects selected'\"\r\n (deleteEvent)=\"deleteEvent($event)\"\r\n ></app-floating-bar>\r\n </div>\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/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.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/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-right.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/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-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 .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 18.25rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.75rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i2.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i3.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "ngmodule", type: FormgroupModule }, { kind: "component", type: i4.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i5.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "ngmodule", type: FloatingBarModule }, { kind: "component", type: i6.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: "ngmodule", type: PaginationModule }, { kind: "component", type: i7.PaginationComponent, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "component", type: TableCardComponent, selector: "app-table-card", inputs: ["singleSelectedText", "multipleSelectedText", "selectedTab", "tableCard"], outputs: ["setSelectedTab"] }, { kind: "ngmodule", type: NoDataModule }, { kind: "component", type: i8.NoDataComponent, selector: "app-no-data", inputs: ["action", "secondaryAction", "noDataImage", "noDataText", "noDataButton", "secondaryButton", "noDataSecButton", "altText", "smallButton"], outputs: ["buttonAction", "secondaryActionButton"] }, { kind: "ngmodule", type: ListLoaderModule }, { kind: "component", type: i9.ListLoaderComponent, selector: "app-list-loader" }, { kind: "component", type: TableCardLoaderComponent, selector: "app-table-card-loader" }] });
156
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GrcObjectListComponent, decorators: [{
157
171
  type: Component,
158
172
  args: [{ selector: 'app-grc-object-list', standalone: true, imports: [
@@ -165,9 +179,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
165
179
  TableCardComponent,
166
180
  NoDataModule,
167
181
  ListLoaderModule,
168
- ], inputs: ['grcObject', 'currentPage', 'loader', 'tableCard', 'selectedTab'], outputs: ['saveOtherGRC', 'closeOtherGRC', 'getOtherGRCObjects'], template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\r\n <div\r\n class=\"workflow-grc-object-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 GRC Object(s)</div>\r\n </div>\r\n <div class=\"workflow-grc-object-list-body\">\r\n <div class=\"table-card-area vx-d-flex vx-mb-2\">\r\n <app-table-card\r\n class=\"vx-w-100\"\r\n [tableCard]=\"tableCard\"\r\n [singleSelectedText]=\"'GRC Object Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'GRC Objects Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\"\r\n ></app-table-card>\r\n </div>\r\n\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n #searchGRC\r\n (keyup.enter)=\"handleSearch($event.target.value)\"\r\n placeholder=\"Search GRC objects\"\r\n />\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\r\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\r\n <app-pagination\r\n *ngIf=\"grcObject?.total_pages > 1\"\r\n [start]=\"grcObject?.items_from\"\r\n [end]=\"grcObject?.items_to\"\r\n [total]=\"grcObject?.total_items\"\r\n [pageCount]=\"grcObject?.total_pages\"\r\n [currentPage]=\"currentPage\"\r\n (selectedPage)=\"changePage($event)\"\r\n ></app-pagination>\r\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isAllSelected()\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n ><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">\r\n {{ selectAllButton }}\r\n </div></app-cs-checkbox\r\n >\r\n </div>\r\n\r\n <div\r\n class=\"workflow-grc-object-list-body-table\"\r\n [class.with-pagination]=\"grcObject?.total_pages > 1\"\r\n >\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n #\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n NAME\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n RESPONSIBILITY CENTER\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div\r\n class=\"table-row\"\r\n *ngFor=\"let grc of grcObject?.data; let i = index\"\r\n [class.active]=\"selectedGRCIds?.includes(grc?._id)\"\r\n >\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n <div\r\n class=\"sr-no\"\r\n [appTooltip]=\"grcObject?.items_from + i\"\r\n placement=\"bottom\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ grcObject?.items_from + i }}\r\n </div>\r\n <app-cs-checkbox\r\n [ngValue]=\"selectedGRCIds?.includes(grc?._id)\"\r\n (ngValueChange)=\"getSelectedGRC(grc, $event)\"\r\n ></app-cs-checkbox>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n <div\r\n class=\"name vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.name }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n <div class=\"rc-inner vx-d-block\">\r\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\r\n <div\r\n class=\"value vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.rcDetails[0]?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.rcDetails[0]?.rc_name }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"within-part vx-d-flex vx-align-center\"\r\n *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\"\r\n >\r\n <div\r\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\"\r\n >\r\n Within\r\n </div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"grc?.rcDetails?.length > 1\"\r\n class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\"\r\n appPopover\r\n (click)=\"rcCount.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ grc?.rcDetails?.length - 1 }}\r\n </button>\r\n <app-popover #rcCount>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"rcDetails?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ rcDetails?.rc_name }}</span\r\n >\r\n <div\r\n class=\"within\"\r\n *ngIf=\"rcDetails?.parent_rc_names?.length\"\r\n >\r\n <div class=\"block\">WITHIN</div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\r\n <app-no-data\r\n *ngIf=\"grcObject?.data?.length === 0 && !loader\"\r\n [noDataImage]=\"CDN_LINK?.noData\"\r\n [noDataText]=\"'No data to display'\"\r\n ></app-no-data>\r\n </div>\r\n\r\n <app-floating-bar\r\n [selectedData]=\"selectedGRC?.length ? selectedGRC : []\"\r\n (closeList)=\"close()\"\r\n (closeEvent)=\"save()\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'GRC Object selected'\"\r\n [pluralText]=\"'GRC Objects selected'\"\r\n (deleteEvent)=\"deleteEvent($event)\"\r\n ></app-floating-bar>\r\n </div>\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/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.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/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-right.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/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-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 .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 18.25rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.75rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
182
+ TableCardLoaderComponent,
183
+ ], inputs: [
184
+ 'grcObject',
185
+ 'currentPage',
186
+ 'loader',
187
+ 'tableCard',
188
+ 'selectedTab',
189
+ 'cardLoader',
190
+ ], outputs: ['saveOtherGRC', 'closeOtherGRC', 'getOtherGRCObjects'], template: "<div class=\"workflow-grc-object-list\" [class.animate]=\"animation\">\r\n <div\r\n class=\"workflow-grc-object-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 GRC Object(s)</div>\r\n </div>\r\n <div class=\"workflow-grc-object-list-body\">\r\n <app-table-card-loader *ngIf=\"cardLoader\"></app-table-card-loader>\r\n <div class=\"table-card-area vx-d-flex vx-mb-2\" *ngIf=\"!cardLoader\">\r\n <app-table-card\r\n class=\"vx-w-100\"\r\n [tableCard]=\"tableCard\"\r\n [singleSelectedText]=\"'GRC Object Selected'\"\r\n [selectedTab]=\"selectedTab\"\r\n [multipleSelectedText]=\"'GRC Objects Selected'\"\r\n (setSelectedTab)=\"setSelectedTab($event)\"\r\n ></app-table-card>\r\n </div>\r\n\r\n <div class=\"search-block\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n #searchGRC\r\n (keyup.enter)=\"handleSearch($event.target.value)\"\r\n placeholder=\"Search GRC objects\"\r\n />\r\n </div>\r\n\r\n <div class=\"workflow-grc-object-list-body-inner vx-mb-4\">\r\n <ng-container *ngIf=\"!loader && grcObject?.data?.length\">\r\n <app-pagination\r\n *ngIf=\"grcObject?.total_pages > 1\"\r\n [start]=\"grcObject?.items_from\"\r\n [end]=\"grcObject?.items_to\"\r\n [total]=\"grcObject?.total_items\"\r\n [pageCount]=\"grcObject?.total_pages\"\r\n [currentPage]=\"currentPage\"\r\n (selectedPage)=\"changePage($event)\"\r\n ></app-pagination>\r\n <div class=\"select-all vx-mt-1 vx-mb-1 vx-pl-2\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isAllSelected()\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n ><div class=\"vx-fs-12 vx-fw-600 vx-label-txt\">\r\n {{ selectAllButton }}\r\n </div></app-cs-checkbox\r\n >\r\n </div>\r\n\r\n <div\r\n class=\"workflow-grc-object-list-body-table\"\r\n [class.with-pagination]=\"grcObject?.total_pages > 1\"\r\n >\r\n <div class=\"table-header\">\r\n <div class=\"table-row\">\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n #\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n NAME\r\n </div>\r\n <div\r\n class=\"table-column vx-fs-10 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n RESPONSIBILITY CENTER\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"table-body\">\r\n <div\r\n class=\"table-row\"\r\n *ngFor=\"let grc of grcObject?.data; let i = index\"\r\n [class.active]=\"selectedGRCIds?.includes(grc?._id)\"\r\n >\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\r\n >\r\n <div\r\n class=\"sr-no\"\r\n [appTooltip]=\"grcObject?.items_from + i\"\r\n placement=\"bottom\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n {{ grcObject?.items_from + i }}\r\n </div>\r\n <app-cs-checkbox\r\n [ngValue]=\"selectedGRCIds?.includes(grc?._id)\"\r\n (ngValueChange)=\"getSelectedGRC(grc, $event)\"\r\n ></app-cs-checkbox>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center name\"\r\n >\r\n <div\r\n class=\"name vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.name }}\r\n </div>\r\n </div>\r\n <div\r\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\r\n >\r\n <div class=\"rc-inner vx-d-block\">\r\n <div class=\"vx-d-flex vx-align-center vx-w-100\">\r\n <div\r\n class=\"value vx-fs-12 vx-label-txt\"\r\n [appTooltip]=\"grc?.rcDetails[0]?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{ grc?.rcDetails[0]?.rc_name }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n class=\"within-part vx-d-flex vx-align-center\"\r\n *ngIf=\"grc?.rcDetails[0]?.parent_rc_names?.length\"\r\n >\r\n <div\r\n class=\"within-box vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3 vx-txt-blue\"\r\n >\r\n Within\r\n </div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n grc?.rcDetails[0]?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"grc?.rcDetails?.length > 1\"\r\n class=\"rc-count-btn vx-fs-11 vx-txt-blue vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-ml-3 vx-d-flex vx-align-center vx-justify-center\"\r\n appPopover\r\n (click)=\"rcCount.popover()\"\r\n placement=\"right\"\r\n >\r\n +{{ grc?.rcDetails?.length - 1 }}\r\n </button>\r\n <app-popover #rcCount>\r\n <div class=\"wf-action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let rcDetails of grc?.rcDetails | slice : 1\">\r\n <div class=\"avatar-card\">\r\n <div class=\"vx-d-block vx-w-100\">\r\n <span\r\n class=\"value\"\r\n [appTooltip]=\"rcDetails?.rc_name\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{ rcDetails?.rc_name }}</span\r\n >\r\n <div\r\n class=\"within\"\r\n *ngIf=\"rcDetails?.parent_rc_names?.length\"\r\n >\r\n <div class=\"block\">WITHIN</div>\r\n <div\r\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\r\n [appTooltip]=\"\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(' > ')\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >\r\n {{\r\n rcDetails?.parent_rc_names\r\n ?.slice()\r\n ?.reverse()\r\n ?.join(\" > \")\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <app-list-loader *ngIf=\"loader\"></app-list-loader>\r\n <app-no-data\r\n *ngIf=\"grcObject?.data?.length === 0 && !loader\"\r\n [noDataImage]=\"CDN_LINK?.noData\"\r\n [noDataText]=\"'No data to display'\"\r\n ></app-no-data>\r\n </div>\r\n\r\n <app-floating-bar\r\n [selectedData]=\"selectedGRC?.length ? selectedGRC : []\"\r\n (closeList)=\"close()\"\r\n (closeEvent)=\"save()\"\r\n [displayElementKey]=\"'name'\"\r\n [singularText]=\"'GRC Object selected'\"\r\n [pluralText]=\"'GRC Objects selected'\"\r\n (deleteEvent)=\"deleteEvent($event)\"\r\n ></app-floating-bar>\r\n </div>\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/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.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/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-right.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/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-right.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/table-card/table-card.css\";::ng-deep .workflow-grc-object-list{position:fixed;inset:0 500px 0 0}::ng-deep .workflow-grc-object-list:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}::ng-deep .workflow-grc-object-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .workflow-grc-object-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:2rem}::ng-deep .workflow-grc-object-list-body .table-card-area{position:relative;z-index:2}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card{box-shadow:0 0 2px #00000029;margin-right:.25rem}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card:last-of-type{margin-right:0}::ng-deep .workflow-grc-object-list-body .table-card-area .vx-table-card.active{box-shadow:0 3px 12px #1e5dd350;z-index:1}::ng-deep .workflow-grc-object-list-body .search-block{position:relative}::ng-deep .workflow-grc-object-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 .workflow-grc-object-list-body .search-block input:focus{border-color:#1e5dd3}::ng-deep .workflow-grc-object-list-body .search-block i{position:absolute;left:1rem;font-size:12px;font-weight:400;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .workflow-grc-object-list-body-inner{height:calc(100vh - 18.25rem)}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item{position:relative;padding-left:1.5rem}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkbox,::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .checkmark{position:absolute!important;top:0;left:0}::ng-deep .workflow-grc-object-list-body-inner .select-all app-cs-checkbox .checkbox-item .value{margin-left:0!important;max-width:100%!important;width:100%}::ng-deep .workflow-grc-object-list-body-table{height:calc(100vh - 19.75rem);overflow:hidden;overflow-y:auto;width:calc(100% + .5rem);padding-right:.5rem}::ng-deep .workflow-grc-object-list-body-table::-webkit-scrollbar-track{background-color:transparent}::ng-deep .workflow-grc-object-list-body-table.with-pagination{height:calc(100vh - 21.75rem)}::ng-deep .workflow-grc-object-list-body-table .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .workflow-grc-object-list-body-table .table-header .table-column{color:#161b2f!important;line-height:1rem!important;min-height:2rem!important}::ng-deep .workflow-grc-object-list-body-table .table-body{position:relative}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row{background:#fff;border:1px solid #f1f1f1;border-radius:.125rem;margin-bottom:.25rem}::ng-deep .workflow-grc-object-list-body-table .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .workflow-grc-object-list-body-table .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .workflow-grc-object-list-body-table .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column i.info{color:#1e5dd3;cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting{cursor:pointer;position:relative;top:1px;left:-1px}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column .sorting i{cursor:pointer}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center;position:relative}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial .sr-no{width:1rem;background:#f8f8f8;writing-mode:vertical-lr;color:#747576;font-size:.625rem;font-weight:500;display:flex;height:2.5rem;align-items:center;justify-content:center;position:relative;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox{background:#fff;border-radius:.125rem;position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.serial app-cs-checkbox label.checkbox-item{position:absolute!important}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name{width:calc(100% - 22rem);min-width:calc(100% - 22rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .sorting{left:0}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.name .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 3rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center{width:20rem;min-width:20rem}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner{max-width:calc(100% - 2.5rem)}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center .rc-inner .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .workflow-grc-object-list-body-table .table-row .table-column.responsibility-center button.rc-count-btn{background:#fff;border-radius:.125rem;border:1px solid #dbdbdb;min-width:1.25rem;height:1rem}::ng-deep .workflow-grc-object-list-body app-pagination .pagination-sec-ds{height:2.5rem}::ng-deep .workflow-grc-object-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both;z-index:-1}::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.wf-action-list{width:220px}.wf-action-list ul{padding:0;margin:0;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#ffffff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.wf-action-list ul.action-item{display:block}.wf-action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.wf-action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.wf-action-list ul.action-item li button .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:calc(100% - 16px)}.wf-action-list ul.action-item li button i{font-size:16px;margin-right:10px;color:#1e5dd3}.wf-action-list ul.action-item li button:hover{background:#f3f3f3}.wf-action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.wf-action-list ul.action-item li .avatar-card.within-con{display:block}.wf-action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;min-width:24px!important;overflow:hidden;background:#1e5dd3;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.wf-action-list ul.action-item li .avatar-card .avatar img{background:#fff;width:100%;height:100%}.wf-action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.wf-action-list ul.action-item li .avatar-card span.value{color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:4px}.wf-action-list ul.action-item li .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li .avatar-card.no-image{display:block}.wf-action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.wf-action-list ul.action-item li .avatar-card i.delete-icon{color:#d93b41;cursor:pointer;font-size:14px}.wf-action-list ul.action-item li .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.wf-action-list ul.action-item li .chip-item i{color:#747576;margin-left:7px;font-size:10px;cursor:pointer;display:inline-flex}.wf-action-list ul.action-item li .chip-item span{display:block;width:auto;width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.wf-action-list ul.action-item li .chip-item span.id{font-size:9px}.wf-action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.wf-action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.wf-action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.wf-action-list ul.action-item li.multiple-program{background:#f8f8f8;margin-top:8px}.wf-action-list ul.action-item li.multiple-program .avatar-card{padding:2px 7.5px}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value{color:#747576;font-size:11px;font-weight:600;width:unset}.wf-action-list ul.action-item li.multiple-program .avatar-card span.value i.disabled{color:#dbdbdb;pointer-events:none}.wf-action-list ul.action-item li.multiple-program .avatar-card .primary-label{background:#7aa7f7;border-radius:2px;color:#fff;font-size:9px;font-weight:500;text-transform:uppercase;padding:0 4px;line-height:12px;margin:0 4px}.wf-action-list ul.action-item li:first-child{animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(2){animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(3){animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(4){animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(5){animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(6){animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(7){animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(8){animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(9){animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.wf-action-list ul.action-item li:nth-child(10){animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}.vx-overlay{position:fixed;z-index:1;inset:0}@keyframes animate-right{0%{transform:translate(100%)}to{transform:translate(0)}}\n"] }]
169
191
  }], ctorParameters: function () { return []; }, propDecorators: { setSelectedGRC: [{
170
192
  type: Input,
171
193
  args: ['selectedGRC']
172
194
  }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL2dyYy1vYmplY3QtbGlzdC9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUYWJsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1jYXJkL3RhYmxlLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMSU5LUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jZG4tbGluay5jb25zdGFudCc7XHJcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9USEVSX0dSQ19DQVJEIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2dyY09iamVjdC5jb25zdGFudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ncmMtb2JqZWN0LWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIEZvcm1ncm91cE1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcclxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBUYWJsZUNhcmRDb21wb25lbnQsXHJcbiAgICBOb0RhdGFNb2R1bGUsXHJcbiAgICBMaXN0TG9hZGVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbJ2dyY09iamVjdCcsICdjdXJyZW50UGFnZScsICdsb2FkZXInLCAndGFibGVDYXJkJywgJ3NlbGVjdGVkVGFiJ10sXHJcbiAgb3V0cHV0czogWydzYXZlT3RoZXJHUkMnLCAnY2xvc2VPdGhlckdSQycsICdnZXRPdGhlckdSQ09iamVjdHMnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyY09iamVjdExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGFuaW1hdGlvbiE6IGJvb2xlYW47XHJcbiAgQ0ROX0xJTksgPSBMSU5LUztcclxuICB0YWJsZUNhcmQgPSBPVEhFUl9HUkNfQ0FSRDtcclxuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBncmNPYmplY3Q6IGFueTtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBzZWxlY3RlZEdSQzogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHUkNJZHM6IGFueSA9IFtdO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgcHJlU2VsZWN0ZWRHUkM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdEFsbEJ1dHRvbjogJ1NlbGVjdCBBbGwnIHwgJ0Rlc2VsZWN0IEFsbCcgPSAnU2VsZWN0IEFsbCc7XHJcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkR1JDJykgc2V0IHNldFNlbGVjdGVkR1JDKHNlbGVjdGVkR1JDOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSBzZWxlY3RlZEdSQztcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMgPSB0aGlzLmdldElkcyh0aGlzLnNlbGVjdGVkR1JDLCAnX2lkJyk7XHJcbiAgICB0aGlzLnByZVNlbGVjdGVkR1JDID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzZWxlY3RlZEdSQykpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjbG9zZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBnZXRPdGhlckdSQ09iamVjdHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRzKHNlbGVjdGVkTGlzdDogQXJyYXk8YW55Piwga2V5OiBzdHJpbmcpIHtcclxuICAgIGxldCBpZHM6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIGlmIChzZWxlY3RlZExpc3Q/Lmxlbmd0aCkge1xyXG4gICAgICBzZWxlY3RlZExpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWRzLnB1c2goZWxlbWVudFtrZXldKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaWRzID8/IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRHUkMoZ3JjOiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDLnB1c2goZ3JjKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5wdXNoKGdyYz8uX2lkKTtcclxuICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlbGV0ZUV2ZW50KGdyYyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudChncmM6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEdSQyA9IHRoaXMuc2VsZWN0ZWRHUkM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5faWQgIT09IGdyYz8uX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZEdSQ0lkcyA9IHRoaXMuc2VsZWN0ZWRHUkNJZHM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkR1JDSWQ6IGFueSkgPT4gc2VsZWN0ZWRHUkNJZCAhPT0gZ3JjPy5faWRcclxuICAgICk7XHJcbiAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQoZmFsc2UsIGdyYz8udHlwZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IGV2ZW50O1xyXG4gICAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkVGFiLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmdyY09iamVjdD8uZGF0YT8uZm9yRWFjaCgoZ3JjOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEdSQy5wdXNoKGdyYyk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzLnB1c2goZ3JjPy5faWQpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZ3JjKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUYWJTZWxlY3RlZENvdW50KGV2ZW50OiBib29sZWFuLCB0eXBlOiBudW1iZXIpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50Kys7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50XHJcbiAgICAgICAgPyB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50LS1cclxuICAgICAgICA6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID49IHRoaXMuZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5sZW5ndGggPiAwXHJcbiAgICApIHtcclxuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5ncmNPYmplY3Q/LmRhdGEpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHUkNJZHMuaW5jbHVkZXMoZ3JjPy5faWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnRGVzZWxlY3QgQWxsJztcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuc2VsZWN0ZWRHUkMgPT4nLCB0aGlzLnNlbGVjdGVkR1JDKTtcclxuICAgIHRoaXMuc2F2ZU90aGVyR1JDLmVtaXQodGhpcy5zZWxlY3RlZEdSQyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VPdGhlckdSQy5lbWl0KHRoaXMucHJlU2VsZWN0ZWRHUkMpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFnZShldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdyY09iamVjdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XHJcbiAgICAgIHBhZ2VObzogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRUYWIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5ncmNPYmplY3QuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gZXZlbnQ/LnR5cGU7XHJcbiAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBzZWFyY2hTdHJpbmc6IHRoaXMuc2VhcmNoU3RyaW5nLFxyXG4gICAgICB0eXBlOiBldmVudD8udHlwZSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0XCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IEdSQyBPYmplY3Qocyk8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jYXJkLWFyZWEgdngtZC1mbGV4IHZ4LW1iLTJcIj5cclxuICAgICAgPGFwcC10YWJsZS1jYXJkXHJcbiAgICAgICAgY2xhc3M9XCJ2eC13LTEwMFwiXHJcbiAgICAgICAgW3RhYmxlQ2FyZF09XCJ0YWJsZUNhcmRcIlxyXG4gICAgICAgIFtzaW5nbGVTZWxlY3RlZFRleHRdPVwiJ0dSQyBPYmplY3QgU2VsZWN0ZWQnXCJcclxuICAgICAgICBbc2VsZWN0ZWRUYWJdPVwic2VsZWN0ZWRUYWJcIlxyXG4gICAgICAgIFttdWx0aXBsZVNlbGVjdGVkVGV4dF09XCInR1JDIE9iamVjdHMgU2VsZWN0ZWQnXCJcclxuICAgICAgICAoc2V0U2VsZWN0ZWRUYWIpPVwic2V0U2VsZWN0ZWRUYWIoJGV2ZW50KVwiXHJcbiAgICAgID48L2FwcC10YWJsZS1jYXJkPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9ja1wiPlxyXG4gICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAjc2VhcmNoR1JDXHJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cImhhbmRsZVNlYXJjaCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggR1JDIG9iamVjdHNcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5LWlubmVyIHZ4LW1iLTRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZXIgJiYgZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGhcIj5cclxuICAgICAgICA8YXBwLXBhZ2luYXRpb25cclxuICAgICAgICAgICpuZ0lmPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlcyA+IDFcIlxyXG4gICAgICAgICAgW3N0YXJ0XT1cImdyY09iamVjdD8uaXRlbXNfZnJvbVwiXHJcbiAgICAgICAgICBbZW5kXT1cImdyY09iamVjdD8uaXRlbXNfdG9cIlxyXG4gICAgICAgICAgW3RvdGFsXT1cImdyY09iamVjdD8udG90YWxfaXRlbXNcIlxyXG4gICAgICAgICAgW3BhZ2VDb3VudF09XCJncmNPYmplY3Q/LnRvdGFsX3BhZ2VzXCJcclxuICAgICAgICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiXHJcbiAgICAgICAgICAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvYXBwLXBhZ2luYXRpb24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC1hbGwgdngtbXQtMSB2eC1tYi0xIHZ4LXBsLTJcIj5cclxuICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcclxuICAgICAgICAgICAgW25nVmFsdWVdPVwiaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LWZ3LTYwMCB2eC1sYWJlbC10eHRcIj5cclxuICAgICAgICAgICAgICB7eyBzZWxlY3RBbGxCdXR0b24gfX1cclxuICAgICAgICAgICAgPC9kaXY+PC9hcHAtY3MtY2hlY2tib3hcclxuICAgICAgICAgID5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtYm9keS10YWJsZVwiXHJcbiAgICAgICAgICBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cImdyY09iamVjdD8udG90YWxfcGFnZXMgPiAxXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAjXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIG5hbWVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIE5BTUVcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktY2VudGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBSRVNQT05TSUJJTElUWSBDRU5URVJcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvd1wiXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGdyYyBvZiBncmNPYmplY3Q/LmRhdGE7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRHUkNJZHM/LmluY2x1ZGVzKGdyYz8uX2lkKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ub1wiXHJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyY09iamVjdD8uaXRlbXNfZnJvbSArIGlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgZ3JjT2JqZWN0Py5pdGVtc19mcm9tICsgaSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInNlbGVjdGVkR1JDSWRzPy5pbmNsdWRlcyhncmM/Ll9pZClcIlxyXG4gICAgICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJnZXRTZWxlY3RlZEdSQyhncmMsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIG5hbWVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYW1lIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyYz8ubmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBncmM/Lm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJjLWlubmVyIHZ4LWQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJncmM/LnJjRGV0YWlsc1swXT8ucmNfbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBncmM/LnJjRGV0YWlsc1swXT8ucmNfbmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lcz8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtMyB2eC10eHQtYmx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgV2l0aGluXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPiAnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyYz8ucmNEZXRhaWxzWzBdPy5wYXJlbnRfcmNfbmFtZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbihcIiA+IFwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmM/LnJjRGV0YWlscz8ubGVuZ3RoID4gMVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicmMtY291bnQtYnRuIHZ4LWZzLTExIHZ4LXR4dC1ibHVlIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTEgdngtbS0wIHZ4LW1sLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJjQ291bnQucG9wb3ZlcigpXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAre3sgZ3JjPy5yY0RldGFpbHM/Lmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNyY0NvdW50PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByY0RldGFpbHMgb2YgZ3JjPy5yY0RldGFpbHMgfCBzbGljZSA6IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyY0RldGFpbHM/LnJjX25hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IHJjRGV0YWlscz8ucmNfbmFtZSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicmNEZXRhaWxzPy5wYXJlbnRfcmNfbmFtZXM/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9ja1wiPldJVEhJTjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByY0RldGFpbHM/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPiAnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmNEZXRhaWxzPy5wYXJlbnRfcmNfbmFtZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbihcIiA+IFwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XHJcbiAgICAgIDxhcHAtbm8tZGF0YVxyXG4gICAgICAgICpuZ0lmPVwiZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggPT09IDAgJiYgIWxvYWRlclwiXHJcbiAgICAgICAgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIlxyXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCJcclxuICAgICAgPjwvYXBwLW5vLWRhdGE+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8YXBwLWZsb2F0aW5nLWJhclxyXG4gICAgICBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkR1JDPy5sZW5ndGggPyBzZWxlY3RlZEdSQyA6IFtdXCJcclxuICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCJcclxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIiduYW1lJ1wiXHJcbiAgICAgIFtzaW5ndWxhclRleHRdPVwiJ0dSQyBPYmplY3Qgc2VsZWN0ZWQnXCJcclxuICAgICAgW3BsdXJhbFRleHRdPVwiJ0dSQyBPYmplY3RzIHNlbGVjdGVkJ1wiXHJcbiAgICAgIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCJcclxuICAgID48L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL2dyYy1vYmplY3QtbGlzdC9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFB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WkN6Q25DLHMrVEErT0EsMDBaRDdOSSxZQUFZLG9UQUNaLGFBQWEsc1BBQ2IsZUFBZSxzTEFDZixhQUFhLHFNQUNiLGlCQUFpQix5akJBQ2pCLGdCQUFnQixnUEFDaEIsa0JBQWtCLDJLQUNsQixZQUFZLGdUQUNaLGdCQUFnQixpSEFDaEIsd0JBQXdCOzJGQWNmLHNCQUFzQjtrQkEzQmxDLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQix3QkFBd0I7cUJBQ3pCLFVBR087d0JBQ04sV0FBVzt3QkFDWCxhQUFhO3dCQUNiLFFBQVE7d0JBQ1IsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLFlBQVk7cUJBQ2IsV0FDUSxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLENBQUM7MEVBaUJ0QyxjQUFjO3NCQUF2QyxLQUFLO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRhYmxlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLWNhcmQvdGFibGUtY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOb0RhdGFNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvbm8tZGF0YS9uby1kYXRhLm1vZHVsZSc7XHJcbmltcG9ydCB7IExJTktTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Nkbi1saW5rLmNvbnN0YW50JztcclxuaW1wb3J0IHsgTGlzdExvYWRlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvbGlzdC1sb2FkZXIvbGlzdC1sb2FkZXIubW9kdWxlJztcclxuaW1wb3J0IHsgT1RIRVJfR1JDX0NBUkQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZ3JjT2JqZWN0LmNvbnN0YW50JztcclxuaW1wb3J0IHsgVGFibGVDYXJkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy90YWJsZS1jYXJkLWxvYWRlci90YWJsZS1jYXJkLWxvYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZ3JjLW9iamVjdC1saXN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFBvcG92ZXJNb2R1bGUsXHJcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXHJcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxyXG4gICAgVGFibGVDYXJkQ29tcG9uZW50LFxyXG4gICAgTm9EYXRhTW9kdWxlLFxyXG4gICAgTGlzdExvYWRlck1vZHVsZSxcclxuICAgIFRhYmxlQ2FyZExvYWRlckNvbXBvbmVudCxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQubGVzcyddLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2dyY09iamVjdCcsXHJcbiAgICAnY3VycmVudFBhZ2UnLFxyXG4gICAgJ2xvYWRlcicsXHJcbiAgICAndGFibGVDYXJkJyxcclxuICAgICdzZWxlY3RlZFRhYicsXHJcbiAgICAnY2FyZExvYWRlcicsXHJcbiAgXSxcclxuICBvdXRwdXRzOiBbJ3NhdmVPdGhlckdSQycsICdjbG9zZU90aGVyR1JDJywgJ2dldE90aGVyR1JDT2JqZWN0cyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JjT2JqZWN0TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgYW5pbWF0aW9uITogYm9vbGVhbjtcclxuICBDRE5fTElOSyA9IExJTktTO1xyXG4gIHRhYmxlQ2FyZCA9IE9USEVSX0dSQ19DQVJEO1xyXG4gIGxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNhcmRMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBncmNPYmplY3Q6IGFueTtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBzZWxlY3RlZEdSQzogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHUkNJZHM6IGFueSA9IFtdO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgcHJlU2VsZWN0ZWRHUkM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdEFsbEJ1dHRvbjogJ1NlbGVjdCBBbGwnIHwgJ0Rlc2VsZWN0IEFsbCcgPSAnU2VsZWN0IEFsbCc7XHJcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkR1JDJykgc2V0IHNldFNlbGVjdGVkR1JDKHNlbGVjdGVkR1JDOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSBzZWxlY3RlZEdSQztcclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRUYWJDb3VudChzZWxlY3RlZEdSQyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkR1JDSWRzID0gdGhpcy5nZXRJZHModGhpcy5zZWxlY3RlZEdSQywgJ19pZCcpO1xyXG4gICAgdGhpcy5wcmVTZWxlY3RlZEdSQyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2VsZWN0ZWRHUkMpKTtcclxuICB9XHJcblxyXG4gIHNhdmVPdGhlckdSQzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY2xvc2VPdGhlckdSQzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZ2V0T3RoZXJHUkNPYmplY3RzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICB9XHJcblxyXG4gIGdldElkcyhzZWxlY3RlZExpc3Q6IEFycmF5PGFueT4sIGtleTogc3RyaW5nKSB7XHJcbiAgICBsZXQgaWRzOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBpZiAoc2VsZWN0ZWRMaXN0Py5sZW5ndGgpIHtcclxuICAgICAgc2VsZWN0ZWRMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlkcy5wdXNoKGVsZW1lbnRba2V5XSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlkcyA/PyBbXTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkR1JDKGdyYzogYW55LCBldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQy5wdXNoKGdyYyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMucHVzaChncmM/Ll9pZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlVGFiU2VsZWN0ZWRDb3VudCh0cnVlLCBncmM/LnR5cGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxldGVFdmVudChncmMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlRXZlbnQoZ3JjOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSB0aGlzLnNlbGVjdGVkR1JDPy5maWx0ZXIoXHJcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZD8uX2lkICE9PSBncmM/Ll9pZFxyXG4gICAgKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMgPSB0aGlzLnNlbGVjdGVkR1JDSWRzPy5maWx0ZXIoXHJcbiAgICAgIChzZWxlY3RlZEdSQ0lkOiBhbnkpID0+IHNlbGVjdGVkR1JDSWQgIT09IGdyYz8uX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KGZhbHNlLCBncmM/LnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaFN0cmluZyAhPSBldmVudCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgICAgdGhpcy5zZWFyY2hTdHJpbmcgPSBldmVudDtcclxuICAgICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XHJcbiAgICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5ncmNPYmplY3Q/LmRhdGE/LmZvckVhY2goKGdyYzogYW55KSA9PiB7XHJcbiAgICAgIGlmIChldmVudCkge1xyXG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZEdSQ0lkcy5pbmNsdWRlcyhncmM/Ll9pZCkpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRHUkMucHVzaChncmMpO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5wdXNoKGdyYz8uX2lkKTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlVGFiU2VsZWN0ZWRDb3VudCh0cnVlLCBncmM/LnR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZUV2ZW50KGdyYyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlVGFiU2VsZWN0ZWRDb3VudChldmVudDogYm9vbGVhbiwgdHlwZTogbnVtYmVyKSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudCsrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudFxyXG4gICAgICAgID8gdGhpcy50YWJsZUNhcmRbdHlwZV0uc2VsZWN0ZWRDb3VudC0tXHJcbiAgICAgICAgOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcyAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzLmxlbmd0aCA+PSB0aGlzLmdyY09iamVjdD8uZGF0YT8ubGVuZ3RoICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID4gMFxyXG4gICAgKSB7XHJcbiAgICAgIGZvciAoY29uc3QgZ3JjIG9mIHRoaXMuZ3JjT2JqZWN0Py5kYXRhKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnU2VsZWN0IEFsbCc7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsQnV0dG9uID0gJ0Rlc2VsZWN0IEFsbCc7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnU2VsZWN0IEFsbCc7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLnNlbGVjdGVkR1JDID0+JywgdGhpcy5zZWxlY3RlZEdSQyk7XHJcbiAgICB0aGlzLnNhdmVPdGhlckdSQy5lbWl0KHRoaXMuc2VsZWN0ZWRHUkMpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmNsb3NlT3RoZXJHUkMuZW1pdCh0aGlzLnByZVNlbGVjdGVkR1JDKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVBhZ2UoZXZlbnQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5ncmNPYmplY3QuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgIHRoaXMuZ2V0T3RoZXJHUkNPYmplY3RzLmVtaXQoe1xyXG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWRUYWIsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGVkVGFiKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZ3JjT2JqZWN0LmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IGV2ZW50Py50eXBlO1xyXG4gICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XHJcbiAgICAgIHBhZ2VObzogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgdHlwZTogZXZlbnQ/LnR5cGUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlc2V0U2VsZWN0ZWRUYWJDb3VudCgpIHtcclxuICAgIHRoaXMudGFibGVDYXJkLmZvckVhY2goKHRhYjogYW55KSA9PiB7XHJcbiAgICAgIHRhYi5zZWxlY3RlZENvdW50ID0gMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRUYWJDb3VudChkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMucmVzZXRTZWxlY3RlZFRhYkNvdW50KCk7XHJcbiAgICBkYXRhLmZvckVhY2goKHRhYjogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMudXBkYXRlVGFiU2VsZWN0ZWRDb3VudCh0cnVlLCB0YWI/LnR5cGUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgR1JDIE9iamVjdChzKTwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtYm9keVwiPlxyXG4gICAgPGFwcC10YWJsZS1jYXJkLWxvYWRlciAqbmdJZj1cImNhcmRMb2FkZXJcIj48L2FwcC10YWJsZS1jYXJkLWxvYWRlcj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jYXJkLWFyZWEgdngtZC1mbGV4IHZ4LW1iLTJcIiAgKm5nSWY9XCIhY2FyZExvYWRlclwiPlxyXG4gICAgICA8YXBwLXRhYmxlLWNhcmRcclxuICAgICAgICBjbGFzcz1cInZ4LXctMTAwXCJcclxuICAgICAgICBbdGFibGVDYXJkXT1cInRhYmxlQ2FyZFwiXHJcbiAgICAgICAgW3NpbmdsZVNlbGVjdGVkVGV4dF09XCInR1JDIE9iamVjdCBTZWxlY3RlZCdcIlxyXG4gICAgICAgIFtzZWxlY3RlZFRhYl09XCJzZWxlY3RlZFRhYlwiXHJcbiAgICAgICAgW211bHRpcGxlU2VsZWN0ZWRUZXh0XT1cIidHUkMgT2JqZWN0cyBTZWxlY3RlZCdcIlxyXG4gICAgICAgIChzZXRTZWxlY3RlZFRhYik9XCJzZXRTZWxlY3RlZFRhYigkZXZlbnQpXCJcclxuICAgICAgPjwvYXBwLXRhYmxlLWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICNzZWFyY2hHUkNcclxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCJcclxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBHUkMgb2JqZWN0c1wiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWJvZHktaW5uZXIgdngtbWItNFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRlciAmJiBncmNPYmplY3Q/LmRhdGE/Lmxlbmd0aFwiPlxyXG4gICAgICAgIDxhcHAtcGFnaW5hdGlvblxyXG4gICAgICAgICAgKm5nSWY9XCJncmNPYmplY3Q/LnRvdGFsX3BhZ2VzID4gMVwiXHJcbiAgICAgICAgICBbc3RhcnRdPVwiZ3JjT2JqZWN0Py5pdGVtc19mcm9tXCJcclxuICAgICAgICAgIFtlbmRdPVwiZ3JjT2JqZWN0Py5pdGVtc190b1wiXHJcbiAgICAgICAgICBbdG90YWxdPVwiZ3JjT2JqZWN0Py50b3RhbF9pdGVtc1wiXHJcbiAgICAgICAgICBbcGFnZUNvdW50XT1cImdyY09iamVjdD8udG90YWxfcGFnZXNcIlxyXG4gICAgICAgICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcclxuICAgICAgICAgIChzZWxlY3RlZFBhZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9hcHAtcGFnaW5hdGlvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWFsbCB2eC1tdC0xIHZ4LW1iLTEgdngtcGwtMlwiPlxyXG4gICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxyXG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJpc0FsbFNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48ZGl2IGNsYXNzPVwidngtZnMtMTIgdngtZnctNjAwIHZ4LWxhYmVsLXR4dFwiPlxyXG4gICAgICAgICAgICAgIHt7IHNlbGVjdEFsbEJ1dHRvbiB9fVxyXG4gICAgICAgICAgICA8L2Rpdj48L2FwcC1jcy1jaGVja2JveFxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5LXRhYmxlXCJcclxuICAgICAgICAgIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlcyA+IDFcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICNcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgbmFtZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgTkFNRVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIFJFU1BPTlNJQklMSVRZIENFTlRFUlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93XCJcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZ3JjIG9mIGdyY09iamVjdD8uZGF0YTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZEdSQ0lkcz8uaW5jbHVkZXMoZ3JjPy5faWQpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW5vXCJcclxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZ3JjT2JqZWN0Py5pdGVtc19mcm9tICsgaVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBncmNPYmplY3Q/Lml0ZW1zX2Zyb20gKyBpIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgW25nVmFsdWVdPVwic2VsZWN0ZWRHUkNJZHM/LmluY2x1ZGVzKGdyYz8uX2lkKVwiXHJcbiAgICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cImdldFNlbGVjdGVkR1JDKGdyYywgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgbmFtZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hbWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZ3JjPy5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGdyYz8ubmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktY2VudGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmMtaW5uZXIgdngtZC1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyYz8ucmNEZXRhaWxzWzBdPy5yY19uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IGdyYz8ucmNEZXRhaWxzWzBdPy5yY19uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzPy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zIHZ4LXR4dC1ibHVlXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBXaXRoaW5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA+ICcpXHJcbiAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKFwiID4gXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImdyYz8ucmNEZXRhaWxzPy5sZW5ndGggPiAxXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyYy1jb3VudC1idG4gdngtZnMtMTEgdngtdHh0LWJsdWUgdngtcC0wIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtbWwtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmNDb3VudC5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICt7eyBncmM/LnJjRGV0YWlscz8ubGVuZ3RoIC0gMSB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI3JjQ291bnQ+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHJjRGV0YWlscyBvZiBncmM/LnJjRGV0YWlscyB8IHNsaWNlIDogMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1ibG9jayB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInJjRGV0YWlscz8ucmNfbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgcmNEZXRhaWxzPy5yY19uYW1lIH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyY0RldGFpbHM/LnBhcmVudF9yY19uYW1lcz8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrXCI+V0lUSElOPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJjRGV0YWlscz8ucGFyZW50X3JjX25hbWVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA+ICcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByY0RldGFpbHM/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKFwiID4gXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cclxuICAgICAgPGFwcC1uby1kYXRhXHJcbiAgICAgICAgKm5nSWY9XCJncmNPYmplY3Q/LmRhdGE/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXCJcclxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiXHJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIlxyXG4gICAgICA+PC9hcHAtbm8tZGF0YT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxhcHAtZmxvYXRpbmctYmFyXHJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRHUkM/Lmxlbmd0aCA/IHNlbGVjdGVkR1JDIDogW11cIlxyXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxyXG4gICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ25hbWUnXCJcclxuICAgICAgW3Npbmd1bGFyVGV4dF09XCInR1JDIE9iamVjdCBzZWxlY3RlZCdcIlxyXG4gICAgICBbcGx1cmFsVGV4dF09XCInR1JDIE9iamVjdHMgc2VsZWN0ZWQnXCJcclxuICAgICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KCRldmVudClcIlxyXG4gICAgPjwvYXBwLWZsb2F0aW5nLWJhcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==