vcomply-workflow-engine 6.0.88 → 6.0.90

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 (107) hide show
  1. package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +30 -7
  2. package/esm2022/lib/constants/api.constants.mjs +1 -6
  3. package/esm2022/lib/constants/policy.constant.mjs +6 -0
  4. package/esm2022/lib/constants/regix.constants.mjs +4 -0
  5. package/esm2022/lib/constants/responsibility.mjs +8 -0
  6. package/esm2022/lib/interfaces/policy.interface.mjs +2 -0
  7. package/esm2022/lib/interfaces/responsibilty.interface.mjs +1 -1
  8. package/esm2022/lib/more-option/more-option.component.mjs +183 -17
  9. package/esm2022/lib/report-a-case/services/report-a-case.service.mjs +2 -3
  10. package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +7 -4
  11. package/esm2022/lib/services/common.service.mjs +1 -40
  12. package/esm2022/lib/services/iframe.service.mjs +1 -14
  13. package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +6 -3
  14. package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +21 -10
  15. package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +1 -5
  16. package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +1 -5
  17. package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +5 -5
  18. package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +1 -2
  19. package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +2 -6
  20. package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +2 -3
  21. package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +1 -3
  22. package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +1 -5
  23. package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +2 -9
  24. package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +2 -4
  25. package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +5 -267
  26. package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +16 -48
  27. package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.module.mjs +4 -8
  28. package/esm2022/lib/sharedComponents/pipes/risk-class.pipe.mjs +19 -0
  29. package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +17 -45
  30. package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +10 -13
  31. package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +35 -62
  32. package/esm2022/lib/workflow/shared/services/grc.service.mjs +2 -15
  33. package/esm2022/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +3 -8
  34. package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +453 -294
  35. package/esm2022/lib/workflow-engine-container/api-constants.mjs +2 -3
  36. package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +53 -32
  37. package/esm2022/lib/workflow-engine.module.mjs +7 -11
  38. package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +29 -46
  39. package/esm2022/lib/workflow-program/constants.mjs +3 -3
  40. package/esm2022/lib/workflow-program/workflow-program.component.mjs +338 -123
  41. package/esm2022/lib/workflow-services/policy.service.mjs +9 -8
  42. package/esm2022/lib/workflow-services/programs.service.mjs +113 -26
  43. package/esm2022/lib/workflow-services/responsibility.service.mjs +55 -60
  44. package/fesm2022/vcomply-workflow-engine.mjs +14780 -14946
  45. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
  46. package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +3 -0
  47. package/lib/constants/api.constants.d.ts +0 -5
  48. package/lib/constants/policy.constant.d.ts +2 -0
  49. package/lib/constants/regix.constants.d.ts +3 -0
  50. package/lib/constants/responsibility.d.ts +7 -0
  51. package/lib/interfaces/policy.interface.d.ts +5 -0
  52. package/lib/interfaces/responsibilty.interface.d.ts +13 -13
  53. package/lib/services/common.service.d.ts +0 -28
  54. package/lib/services/iframe.service.d.ts +0 -6
  55. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +6 -0
  56. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +4 -1
  57. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +0 -1
  58. package/lib/sharedComponents/frequency/frequency.service.d.ts +2 -92
  59. package/lib/sharedComponents/link-responsibility/link-responsibility.component.d.ts +1 -2
  60. package/lib/sharedComponents/link-responsibility/link-responsibility.module.d.ts +1 -2
  61. package/lib/sharedComponents/pipes/risk-class.pipe.d.ts +7 -0
  62. package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +1 -5
  63. package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +1 -3
  64. package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +2 -6
  65. package/lib/workflow/shared/services/grc.service.d.ts +0 -1
  66. package/lib/workflow/shared/workflow-pipes/workflow-pipes.module.d.ts +2 -3
  67. package/lib/workflow-compliance/workflow-compliance.component.d.ts +10 -32
  68. package/lib/workflow-engine-container/api-constants.d.ts +0 -1
  69. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +2 -5
  70. package/lib/workflow-engine.module.d.ts +2 -3
  71. package/lib/workflow-policy/workflow-policy.component.d.ts +0 -9
  72. package/lib/workflow-program/workflow-program.component.d.ts +4 -8
  73. package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
  74. package/lib/workflow-services/policy.service.d.ts +1 -1
  75. package/lib/workflow-services/programs.service.d.ts +53 -13
  76. package/lib/workflow-services/responsibility.service.d.ts +4 -17
  77. package/package.json +1 -1
  78. package/esm2022/lib/constants/mock.mjs +0 -152
  79. package/esm2022/lib/interfaces/frequency.interface.mjs +0 -2
  80. package/esm2022/lib/interfaces/iframe-type.mjs +0 -7
  81. package/esm2022/lib/sharedComponents/list-container/list-container.component.mjs +0 -52
  82. package/esm2022/lib/sharedComponents/program-list/constant.mjs +0 -16
  83. package/esm2022/lib/sharedComponents/program-list/interfaces/data-source.interface.mjs +0 -2
  84. package/esm2022/lib/sharedComponents/program-list/interfaces/list-item.interface.mjs +0 -2
  85. package/esm2022/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.mjs +0 -23
  86. package/esm2022/lib/sharedComponents/program-list/program-list/program-list.component.mjs +0 -182
  87. package/esm2022/lib/sharedComponents/program-list/program-list.module.mjs +0 -47
  88. package/esm2022/lib/sharedComponents/program-list/services/list-utils.service.mjs +0 -27
  89. package/esm2022/lib/sharedComponents/program-list/services/program-list-api.service.mjs +0 -32
  90. package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +0 -24
  91. package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +0 -19
  92. package/esm2022/lib/workflow/shared/workflow-pipes/get-user-details.pipe.mjs +0 -26
  93. package/lib/constants/mock.d.ts +0 -15
  94. package/lib/interfaces/frequency.interface.d.ts +0 -37
  95. package/lib/interfaces/iframe-type.d.ts +0 -5
  96. package/lib/sharedComponents/list-container/list-container.component.d.ts +0 -9
  97. package/lib/sharedComponents/program-list/constant.d.ts +0 -9
  98. package/lib/sharedComponents/program-list/interfaces/data-source.interface.d.ts +0 -4
  99. package/lib/sharedComponents/program-list/interfaces/list-item.interface.d.ts +0 -5
  100. package/lib/sharedComponents/program-list/pipes/check-selected-items.pipes.d.ts +0 -7
  101. package/lib/sharedComponents/program-list/program-list/program-list.component.d.ts +0 -45
  102. package/lib/sharedComponents/program-list/program-list.module.d.ts +0 -14
  103. package/lib/sharedComponents/program-list/services/list-utils.service.d.ts +0 -7
  104. package/lib/sharedComponents/program-list/services/program-list-api.service.d.ts +0 -14
  105. package/lib/ui-kit/loaders/loaders.module.d.ts +0 -8
  106. package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +0 -9
  107. package/lib/workflow/shared/workflow-pipes/get-user-details.pipe.d.ts +0 -7
@@ -11,7 +11,6 @@ import * as i6 from "../no-data/no-data.component";
11
11
  import * as i7 from "../v-loader/loader-inline/loader-inline.component";
12
12
  import * as i8 from "../../ui-kit/popover/popover.component";
13
13
  import * as i9 from "../../ui-kit/popover/popover.directive";
14
- import * as i10 from "../../ui-kit/pagination/pagination/pagination.component";
15
14
  export class LinkResponsibilityListComponent {
16
15
  constructor(frequencyService) {
17
16
  this.frequencyService = frequencyService;
@@ -79,6 +78,7 @@ export class LinkResponsibilityListComponent {
79
78
  ngOnInit() {
80
79
  this.getResponsibilityValues();
81
80
  this.getResponsibilityList();
81
+ this.setResponsibilitiesCount();
82
82
  }
83
83
  back() {
84
84
  this.closeButton.emit();
@@ -102,55 +102,22 @@ export class LinkResponsibilityListComponent {
102
102
  this.animation = false;
103
103
  }, 300);
104
104
  }
105
- getResponsibilityList(pageNo = 1) {
105
+ getResponsibilityList() {
106
106
  this.responsibilityLoader = true;
107
107
  this.frequencyService
108
- ?.getAllResponsibilities(pageNo).subscribe({
109
- next: (res) => {
110
- if (res?.data) {
111
- this.responsibilitiesData = this.mapResponsibilitiesData(res.data);
112
- }
113
- this.responsibilityLoader = false;
114
- },
115
- error: () => {
116
- this.responsibilityLoader = false;
117
- }
108
+ ?.getResponsibilityList(this.responsibilityPayload)
109
+ .subscribe((res) => {
110
+ this.responsibilitiesData = res[0];
111
+ this.responsibilityLoader = false;
112
+ }, (error) => {
113
+ this.responsibilityLoader = false;
118
114
  });
119
115
  }
120
- mapResponsibilitiesData(res) {
121
- const pageSize = 10;
122
- const currentPage = res?.page || 1;
123
- const totalItems = res?.total || 0;
124
- const startIndex = (currentPage - 1) * pageSize + 1;
125
- const endIndex = Math.min(startIndex + pageSize - 1, totalItems);
126
- return {
127
- data: res.responsibilities.map((item) => ({
128
- ReportId: item?.rid,
129
- ReportName: item?.title,
130
- ControlId: item?.id ? `[CID-${item.id}]` : '',
131
- status: item?.status,
132
- frequency: item?.frequency,
133
- assignor: item?.assignor,
134
- assignees: item?.assignees,
135
- responsibilityCenters: item?.responsibility_centers,
136
- reviewers: item?.reviewers,
137
- type: item?.type,
138
- complianceType: item?.compliance_type,
139
- category_details_array: item?.category_details_array || [],
140
- })),
141
- total_responsibilities: totalItems,
142
- total_pages: Math.ceil(totalItems / pageSize),
143
- responsibilityCurrentPage: currentPage,
144
- responsibilities_from: startIndex,
145
- responsibilities_to: endIndex
146
- };
147
- }
148
116
  responsibilityPageChange(pageNumber) {
149
- if (pageNumber !== this.responsibilitiesData.responsibilityCurrentPage) {
150
- this.responsibilityCurrentPage = pageNumber;
151
- this.responsibilityPayload.pageNo = pageNumber;
152
- this.getResponsibilityList(pageNumber);
153
- }
117
+ this.responsibilityCurrentPage = pageNumber;
118
+ this.responsibilityPayload.pageNo = this.responsibilityCurrentPage;
119
+ this.responsibilityPayload.searchText = this.responsibilitySearchText;
120
+ this.getResponsibilityList();
154
121
  }
155
122
  deleteItem(item) {
156
123
  const index = this.selectedResponsibilityId.findIndex((element) => element == item[this.respIdKey]);
@@ -177,6 +144,7 @@ export class LinkResponsibilityListComponent {
177
144
  this.responsibilityCurrentPage = 1;
178
145
  this.responsibilityPayload.pageNo = this.responsibilityCurrentPage;
179
146
  this.getResponsibilityList();
147
+ this.setResponsibilitiesCount();
180
148
  }
181
149
  setResponsibilitiesCount() {
182
150
  const payload = JSON.parse(JSON.stringify(this.responsibilityPayload));
@@ -230,11 +198,11 @@ export class LinkResponsibilityListComponent {
230
198
  : false;
231
199
  }
232
200
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LinkResponsibilityListComponent, deps: [{ token: i1.FrequencyService }], target: i0.ɵɵFactoryTarget.Component }); }
233
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LinkResponsibilityListComponent, selector: "app-link-responsibility-list", inputs: { onCompletionOfResponsibility: "onCompletionOfResponsibility", feature: "feature", respIdKey: "respIdKey", selectedResponsibilityValues: "selectedResponsibilityValues", radioSelection: "radioSelection" }, outputs: { closeButton: "closeButton", selectedResponsibility: "selectedResponsibility" }, ngImport: i0, template: "<div class=\"frequency-responsibility-list\" [class.animate]=\"animation\">\n <div\n class=\"frequency-responsibility-list-head vx-p-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Responsibility</div>\n </div>\n </div>\n <div class=\"frequency-responsibility-list-body\">\n <div\n *ngIf=\"responsibilitiesData?.allResponsibilityCount > 0\"\n class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\n >\n <ng-container *ngFor=\"let tab of responsibilityTabs; let i = index\">\n <div\n class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\"\n [class.active]=\"currentTab === i + 1 || (currentTab === 0 && i === 3)\"\n (click)=\"onClickTabChange(tab)\"\n [class.pointer-none]=\"responsibilityLoader\"\n >\n <div class=\"left vx-d-block vx-w-100\">\n <div class=\"label vx-d-flex vx-align-center\">\n <label\n class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\"\n >{{ tab.name }}</label\n >\n </div>\n </div>\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\n <span\n class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\"\n >{{\n responsibilityTabCount[typeToCountProperty[tab.type]] || 0\n }}</span\n >\n </div>\n </div>\n </ng-container>\n </div>\n\n <div class=\"frequency-responsibility-list-search vx-mb-2\">\n <i class=\"icons vx-fs-12\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"responsibilitySearchText\"\n (keyup.enter)=\"search()\"\n placeholder=\"Search Responsibilities\"\n />\n </div>\n <app-pagination\n *ngIf=\"!responsibilityLoader && responsibilitiesData?.total_pages > 1\"\n [start]=\"responsibilitiesData?.responsibilities_from\"\n [end]=\"responsibilitiesData?.responsibilities_to\"\n [total]=\"responsibilitiesData?.total_responsibilities\"\n [pageCount]=\"responsibilitiesData?.total_pages\"\n [currentPage]=\"responsibilitiesData?.responsibilityCurrentPage\"\n (selectedPage)=\"responsibilityPageChange($event)\"\n >\n </app-pagination>\n <app-loader-inline *ngIf=\"responsibilityLoader\"></app-loader-inline>\n <div\n class=\"frequency-responsibility-list-mid vx-mb-4\"\n [class.with-pagination]=\"\n !responsibilityLoader && responsibilitiesData?.total_pages > 1\n \"\n >\n <app-no-data\n *ngIf=\"\n responsibilitiesData?.data?.length === 0 && !responsibilityLoader\n \"\n [noDataImage]=\"noDataImagePath\"\n [noDataText]=\"noDataMessage\"\n ></app-no-data>\n <ng-container\n *ngIf=\"responsibilitiesData?.data?.length > 0 && !responsibilityLoader\"\n >\n <div class=\"table-header\">\n <div class=\"table-row\">\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n #\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility\"\n [class.with-rc]=\"isOnCompletionRc\"\n >\n RESPONSIBILITIES\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\n *ngIf=\"isOnCompletionRc\"\n >\n RESPONSIBILITY CENTER\n </div>\n </div>\n </div>\n <div class=\"table-body\">\n <div\n class=\"table-row\"\n [class.active]=\"\n selectedResponsibilityId?.includes(responsibility?.ReportId)\n \"\n *ngFor=\"\n let responsibility of responsibilitiesData?.data;\n let i = index\n \"\n >\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n <div\n class=\"sr-no\"\n [appTooltip]=\"responsibilitiesData?.responsibilities_from + i\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ responsibilitiesData?.responsibilities_from + i }}\n </div>\n <app-cs-checkbox\n [ngValue]=\"\n selectedResponsibilityId?.includes(responsibility?.ReportId)\n \"\n (ngValueChange)=\"selectResp(responsibility?.ReportId, $event)\"\n >\n </app-cs-checkbox>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility\"\n [class.with-rc]=\"isOnCompletionRc\"\n >\n <div\n class=\"value vx-fs-12 vx-label-txt vx-pr-5\"\n [appTooltip]=\"responsibility?.ReportName\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ responsibility?.ControlId }} {{ responsibility?.ReportName }}\n </div>\n </div>\n\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.category_name as categoryName\n \"\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center program\"\n >\n <div class=\"program-inner vx-d-block\">\n <div\n class=\"program-value vx-fs-11 vx-label-txt vx-pr-5\"\n [appTooltip]=\"\n responsibility?.category_details_array[0]?.category_name ??\n '--'\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ categoryName ?? \"--\" }}\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.parent_category_name?.length\n \"\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\n >\n <div\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\"\n >\n Within\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]?.parent_category_name\n ?.slice()\n ?.reverse()\n ?.join(' < ') as parent_category\n \"\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"parent_category\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ parent_category }}\n </div>\n </div>\n </div>\n <button\n *ngIf=\"responsibility?.category_details_array?.length >= 2\"\n appPopover\n (click)=\"programPopup.popover()\"\n placement=\"right\"\n class=\"program-count vx-fs-11 vx-fw-500 vx-txt-white vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\n >\n +{{ responsibility?.category_details_array?.length - 1 }}\n </button>\n <app-popover #programPopup>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let subCategory of responsibility?.category_details_array\n | slice : 1\n \"\n >\n <div class=\"avatar-card\">\n <div class=\"vx-d-block vx-w-100\">\n <span\n class=\"value\"\n [appTooltip]=\"subCategory?.category_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >{{ subCategory?.category_name }}</span\n >\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.parent_category_name?.length\n \"\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\n >\n <div\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\"\n >\n Within\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]?.parent_category_name\n ?.slice()\n ?.reverse()\n ?.join(' < ') as parent_category\n \"\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"parent_category\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ parent_category }}\n </div>\n </div>\n </div>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n <app-floating-bar\n *ngIf=\"!responsibilityLoader\"\n [selectedData]=\"isValidObj ? selectedResponsibilityValues : []\"\n [displayElementKey]=\"'ReportName'\"\n (closeList)=\"back()\"\n (closeEvent)=\"save($event)\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"!isValidObj\"\n ></app-floating-bar>\n </div>\n</div>\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/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.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-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/table-card/table-card.css\";::ng-deep .frequency-responsibility-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:31.25rem;bottom:0;left:0}::ng-deep .frequency-responsibility-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .frequency-responsibility-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .frequency-responsibility-list-head .arrow{cursor:pointer}::ng-deep .frequency-responsibility-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:1.5rem .75rem 1.5rem 2rem}::ng-deep .frequency-responsibility-list-body app-pagination .wk-pagination-sec-ds{border-radius:0;padding:0 0 .5rem}::ng-deep .frequency-responsibility-list-body app-floating-bar .floating-bar{padding:0;position:relative;left:-1rem;width:calc(100% + 2rem)}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar{padding-left:0!important;padding-right:0!important}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar .userGroup-floating-bar-container .left .chip span{max-width:240px}::ng-deep .frequency-responsibility-list-search{position:relative}::ng-deep .frequency-responsibility-list-search input{height:2.75rem;line-height:1.5rem;padding:.75rem .75rem .75rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .frequency-responsibility-list-search input::placeholder{color:#747576;opacity:1}::ng-deep .frequency-responsibility-list-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .frequency-responsibility-list-mid{height:calc(100vh - 17.5rem);overflow:auto}::ng-deep .frequency-responsibility-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .frequency-responsibility-list-mid.with-pagination{height:calc(100vh - 19.5rem)}::ng-deep .frequency-responsibility-list-mid .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .frequency-responsibility-list-mid .table-header .table-column{color:#161b2f!important;line-height:.75rem!important;min-height:1.875rem!important}::ng-deep .frequency-responsibility-list-mid .table-body{position:relative}::ng-deep .frequency-responsibility-list-mid .table-body .table-row{background:#fff;border-radius:.25rem;border:1px solid #f1f1f1;margin-bottom:.25rem}::ng-deep .frequency-responsibility-list-mid .table-body .table-row:hover .table-column.serial .sr-no,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.active .table-column.serial .sr-no{opacity:0}::ng-deep .frequency-responsibility-list-mid .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .frequency-responsibility-list-mid .table-row{display:flex;justify-content:left;position:relative}::ng-deep .frequency-responsibility-list-mid .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .frequency-responsibility-list-mid .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 .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox{position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox .radio-item{position:absolute}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox{display:flex}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility{width:calc(100% - 15.5rem);min-width:calc(100% - 15.5rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility.with-rc{width:calc(100% - 31rem);min-width:calc(100% - 31rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center{width:15.5rem;min-width:15.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-inner{max-width:calc(100% - 2rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center button.program-count{background:#1e5dd3;border-radius:.125rem;border:none;min-width:1.5rem;height:1.25rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program{width:13.5rem;min-width:13.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program .program-inner{max-width:calc(100% - 2rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program .program-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program button.program-count{background:#1e5dd3;border-radius:.125rem;border:none;min-width:1.5rem;height:1.25rem}@keyframes animate-right{0%{transform:translate(5px);opacity:0}to{transform:translate(0);opacity:1}}.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:#fff;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 .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;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{width: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{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}.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: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)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.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: "component", type: i5.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value", "readonly", "oneLine"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i7.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i8.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i9.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "component", type: i10.PaginationComponentUI, selector: "app-pagination", inputs: ["activeAlphabet", "pageCount", "start", "end", "total", "currentPage"], outputs: ["selectedPage", "selectedAlphabet"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }] }); }
201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LinkResponsibilityListComponent, selector: "app-link-responsibility-list", inputs: { onCompletionOfResponsibility: "onCompletionOfResponsibility", feature: "feature", respIdKey: "respIdKey", selectedResponsibilityValues: "selectedResponsibilityValues", radioSelection: "radioSelection" }, outputs: { closeButton: "closeButton", selectedResponsibility: "selectedResponsibility" }, ngImport: i0, template: "<div class=\"frequency-responsibility-list\" [class.animate]=\"animation\">\n <div\n class=\"frequency-responsibility-list-head vx-p-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Responsibility</div>\n </div>\n </div>\n <div class=\"frequency-responsibility-list-body\">\n <div\n *ngIf=\"responsibilitiesData?.allResponsibilityCount > 0\"\n class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\n >\n <ng-container *ngFor=\"let tab of responsibilityTabs; let i = index\">\n <div\n class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\"\n [class.active]=\"currentTab === i + 1 || (currentTab === 0 && i === 3)\"\n (click)=\"onClickTabChange(tab)\"\n [class.pointer-none]=\"responsibilityLoader\"\n >\n <div class=\"left vx-d-block vx-w-100\">\n <div class=\"label vx-d-flex vx-align-center\">\n <label\n class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\"\n >{{ tab.name }}</label\n >\n </div>\n </div>\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\n <span\n class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\"\n >{{\n responsibilityTabCount[typeToCountProperty[tab.type]] || 0\n }}</span\n >\n </div>\n </div>\n </ng-container>\n </div>\n\n <div class=\"frequency-responsibility-list-search vx-mb-2\">\n <i class=\"icons vx-fs-12\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"responsibilitySearchText\"\n (keyup.enter)=\"search()\"\n placeholder=\"Search Responsibilities\"\n />\n </div>\n <app-pagination\n *ngIf=\"!responsibilityLoader && responsibilitiesData?.total_pages > 1\"\n [start]=\"responsibilitiesData?.responsibilities_from\"\n [end]=\"responsibilitiesData?.responsibilities_to\"\n [total]=\"responsibilitiesData?.total_responsibilities\"\n [pageCount]=\"responsibilitiesData?.total_pages\"\n [currentPage]=\"responsibilityCurrentPage\"\n (selectedPage)=\"responsibilityPageChange($event)\"\n >\n </app-pagination>\n <app-loader-inline *ngIf=\"responsibilityLoader\"></app-loader-inline>\n <div\n class=\"frequency-responsibility-list-mid vx-mb-4\"\n [class.with-pagination]=\"\n !responsibilityLoader && responsibilitiesData?.total_pages > 1\n \"\n >\n <app-no-data\n *ngIf=\"\n responsibilitiesData?.data?.length === 0 && !responsibilityLoader\n \"\n [noDataImage]=\"noDataImagePath\"\n [noDataText]=\"noDataMessage\"\n ></app-no-data>\n <ng-container\n *ngIf=\"responsibilitiesData?.data?.length > 0 && !responsibilityLoader\"\n >\n <div class=\"table-header\">\n <div class=\"table-row\">\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n #\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility\"\n [class.with-rc]=\"isOnCompletionRc\"\n >\n RESPONSIBILITIES\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\n *ngIf=\"isOnCompletionRc\"\n >\n RESPONSIBILITY CENTER\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center program\"\n >\n PROGRAMS\n </div>\n </div>\n </div>\n <div class=\"table-body\">\n <div\n class=\"table-row\"\n [class.active]=\"\n selectedResponsibilityId?.includes(responsibility?.ReportId)\n \"\n *ngFor=\"\n let responsibility of responsibilitiesData?.data;\n let i = index\n \"\n >\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n <div\n class=\"sr-no\"\n [appTooltip]=\"responsibilitiesData?.responsibilities_from + i\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ responsibilitiesData?.responsibilities_from + i }}\n </div>\n <app-cs-checkbox\n [ngValue]=\"\n selectedResponsibilityId?.includes(responsibility?.ReportId)\n \"\n (ngValueChange)=\"selectResp(responsibility?.ReportId, $event)\"\n >\n </app-cs-checkbox>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility\"\n [class.with-rc]=\"isOnCompletionRc\"\n >\n <div\n class=\"value vx-fs-12 vx-label-txt vx-pr-5\"\n [appTooltip]=\"responsibility?.ReportName\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ responsibility?.ControlId }} {{ responsibility?.ReportName }}\n </div>\n </div>\n\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.category_name as categoryName\n \"\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center program\"\n >\n <div class=\"program-inner vx-d-block\">\n <div\n class=\"program-value vx-fs-11 vx-label-txt vx-pr-5\"\n [appTooltip]=\"\n responsibility?.category_details_array[0]?.category_name ??\n '--'\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ categoryName ?? \"--\" }}\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.parent_category_name?.length\n \"\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\n >\n <div\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\"\n >\n Within\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]?.parent_category_name\n ?.slice()\n ?.reverse()\n ?.join(' < ') as parent_category\n \"\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"parent_category\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ parent_category }}\n </div>\n </div>\n </div>\n <button\n *ngIf=\"responsibility?.category_details_array?.length >= 2\"\n appPopover\n (click)=\"programPopup.popover()\"\n placement=\"right\"\n class=\"program-count vx-fs-11 vx-fw-500 vx-txt-white vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\n >\n +{{ responsibility?.category_details_array?.length - 1 }}\n </button>\n <app-popover #programPopup>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let subCategory of responsibility?.category_details_array\n | slice : 1\n \"\n >\n <div class=\"avatar-card\">\n <div class=\"vx-d-block vx-w-100\">\n <span\n class=\"value\"\n [appTooltip]=\"subCategory?.category_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >{{ subCategory?.category_name }}</span\n >\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.parent_category_name?.length\n \"\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\n >\n <div\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\"\n >\n Within\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]?.parent_category_name\n ?.slice()\n ?.reverse()\n ?.join(' < ') as parent_category\n \"\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"parent_category\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ parent_category }}\n </div>\n </div>\n </div>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n <app-floating-bar\n *ngIf=\"!responsibilityLoader\"\n [selectedData]=\"isValidObj ? selectedResponsibilityValues : []\"\n [displayElementKey]=\"'ReportName'\"\n (closeList)=\"back()\"\n (closeEvent)=\"save($event)\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"!isValidObj\"\n ></app-floating-bar>\n </div>\n</div>\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/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.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-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/table-card/table-card.css\";::ng-deep .frequency-responsibility-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:31.25rem;bottom:0;left:0}::ng-deep .frequency-responsibility-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .frequency-responsibility-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .frequency-responsibility-list-head .arrow{cursor:pointer}::ng-deep .frequency-responsibility-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:1.5rem .75rem 1.5rem 2rem}::ng-deep .frequency-responsibility-list-body app-pagination .wk-pagination-sec-ds{border-radius:0;padding:0 0 .5rem}::ng-deep .frequency-responsibility-list-body app-floating-bar .floating-bar{padding:0;position:relative;left:-1rem;width:calc(100% + 2rem)}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar{padding-left:0!important;padding-right:0!important}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar .userGroup-floating-bar-container .left .chip span{max-width:240px}::ng-deep .frequency-responsibility-list-search{position:relative}::ng-deep .frequency-responsibility-list-search input{height:2.75rem;line-height:1.5rem;padding:.75rem .75rem .75rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .frequency-responsibility-list-search input::placeholder{color:#747576;opacity:1}::ng-deep .frequency-responsibility-list-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .frequency-responsibility-list-mid{height:calc(100vh - 17.5rem);overflow:auto}::ng-deep .frequency-responsibility-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .frequency-responsibility-list-mid.with-pagination{height:calc(100vh - 19.5rem)}::ng-deep .frequency-responsibility-list-mid .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .frequency-responsibility-list-mid .table-header .table-column{color:#161b2f!important;line-height:.75rem!important;min-height:1.875rem!important}::ng-deep .frequency-responsibility-list-mid .table-body{position:relative}::ng-deep .frequency-responsibility-list-mid .table-body .table-row{background:#fff;border-radius:.25rem;border:1px solid #f1f1f1;margin-bottom:.25rem}::ng-deep .frequency-responsibility-list-mid .table-body .table-row:hover .table-column.serial .sr-no,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.active .table-column.serial .sr-no{opacity:0}::ng-deep .frequency-responsibility-list-mid .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .frequency-responsibility-list-mid .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .frequency-responsibility-list-mid .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .frequency-responsibility-list-mid .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 .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox{position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox .radio-item{position:absolute}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox{display:flex}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility{width:calc(100% - 15.5rem);min-width:calc(100% - 15.5rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility.with-rc{width:calc(100% - 31rem);min-width:calc(100% - 31rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center{width:15.5rem;min-width:15.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-inner{max-width:calc(100% - 2rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center button.program-count{background:#1e5dd3;border-radius:.125rem;border:none;min-width:1.5rem;height:1.25rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program{width:13.5rem;min-width:13.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program .program-inner{max-width:calc(100% - 2rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program .program-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program button.program-count{background:#1e5dd3;border-radius:.125rem;border:none;min-width:1.5rem;height:1.25rem}@keyframes animate-right{0%{transform:translate(5px);opacity:0}to{transform:translate(0);opacity:1}}.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:#fff;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 .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;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{width: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{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}.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: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)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.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: "component", type: i5.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value", "readonly", "oneLine"], outputs: ["ngValueChange"] }, { kind: "component", type: i6.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "button"], outputs: ["buttonAction"] }, { kind: "component", type: i7.LoaderInlineComponent, selector: "app-loader-inline" }, { kind: "component", type: i8.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i9.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }] }); }
234
202
  }
235
203
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LinkResponsibilityListComponent, decorators: [{
236
204
  type: Component,
237
- args: [{ selector: 'app-link-responsibility-list', template: "<div class=\"frequency-responsibility-list\" [class.animate]=\"animation\">\n <div\n class=\"frequency-responsibility-list-head vx-p-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Responsibility</div>\n </div>\n </div>\n <div class=\"frequency-responsibility-list-body\">\n <div\n *ngIf=\"responsibilitiesData?.allResponsibilityCount > 0\"\n class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\n >\n <ng-container *ngFor=\"let tab of responsibilityTabs; let i = index\">\n <div\n class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\"\n [class.active]=\"currentTab === i + 1 || (currentTab === 0 && i === 3)\"\n (click)=\"onClickTabChange(tab)\"\n [class.pointer-none]=\"responsibilityLoader\"\n >\n <div class=\"left vx-d-block vx-w-100\">\n <div class=\"label vx-d-flex vx-align-center\">\n <label\n class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\"\n >{{ tab.name }}</label\n >\n </div>\n </div>\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\n <span\n class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\"\n >{{\n responsibilityTabCount[typeToCountProperty[tab.type]] || 0\n }}</span\n >\n </div>\n </div>\n </ng-container>\n </div>\n\n <div class=\"frequency-responsibility-list-search vx-mb-2\">\n <i class=\"icons vx-fs-12\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"responsibilitySearchText\"\n (keyup.enter)=\"search()\"\n placeholder=\"Search Responsibilities\"\n />\n </div>\n <app-pagination\n *ngIf=\"!responsibilityLoader && responsibilitiesData?.total_pages > 1\"\n [start]=\"responsibilitiesData?.responsibilities_from\"\n [end]=\"responsibilitiesData?.responsibilities_to\"\n [total]=\"responsibilitiesData?.total_responsibilities\"\n [pageCount]=\"responsibilitiesData?.total_pages\"\n [currentPage]=\"responsibilitiesData?.responsibilityCurrentPage\"\n (selectedPage)=\"responsibilityPageChange($event)\"\n >\n </app-pagination>\n <app-loader-inline *ngIf=\"responsibilityLoader\"></app-loader-inline>\n <div\n class=\"frequency-responsibility-list-mid vx-mb-4\"\n [class.with-pagination]=\"\n !responsibilityLoader && responsibilitiesData?.total_pages > 1\n \"\n >\n <app-no-data\n *ngIf=\"\n responsibilitiesData?.data?.length === 0 && !responsibilityLoader\n \"\n [noDataImage]=\"noDataImagePath\"\n [noDataText]=\"noDataMessage\"\n ></app-no-data>\n <ng-container\n *ngIf=\"responsibilitiesData?.data?.length > 0 && !responsibilityLoader\"\n >\n <div class=\"table-header\">\n <div class=\"table-row\">\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n #\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility\"\n [class.with-rc]=\"isOnCompletionRc\"\n >\n RESPONSIBILITIES\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\n *ngIf=\"isOnCompletionRc\"\n >\n RESPONSIBILITY CENTER\n </div>\n </div>\n </div>\n <div class=\"table-body\">\n <div\n class=\"table-row\"\n [class.active]=\"\n selectedResponsibilityId?.includes(responsibility?.ReportId)\n \"\n *ngFor=\"\n let responsibility of responsibilitiesData?.data;\n let i = index\n \"\n >\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n <div\n class=\"sr-no\"\n [appTooltip]=\"responsibilitiesData?.responsibilities_from + i\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ responsibilitiesData?.responsibilities_from + i }}\n </div>\n <app-cs-checkbox\n [ngValue]=\"\n selectedResponsibilityId?.includes(responsibility?.ReportId)\n \"\n (ngValueChange)=\"selectResp(responsibility?.ReportId, $event)\"\n >\n </app-cs-checkbox>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility\"\n [class.with-rc]=\"isOnCompletionRc\"\n >\n <div\n class=\"value vx-fs-12 vx-label-txt vx-pr-5\"\n [appTooltip]=\"responsibility?.ReportName\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ responsibility?.ControlId }} {{ responsibility?.ReportName }}\n </div>\n </div>\n\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.category_name as categoryName\n \"\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center program\"\n >\n <div class=\"program-inner vx-d-block\">\n <div\n class=\"program-value vx-fs-11 vx-label-txt vx-pr-5\"\n [appTooltip]=\"\n responsibility?.category_details_array[0]?.category_name ??\n '--'\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ categoryName ?? \"--\" }}\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.parent_category_name?.length\n \"\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\n >\n <div\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\"\n >\n Within\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]?.parent_category_name\n ?.slice()\n ?.reverse()\n ?.join(' < ') as parent_category\n \"\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"parent_category\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ parent_category }}\n </div>\n </div>\n </div>\n <button\n *ngIf=\"responsibility?.category_details_array?.length >= 2\"\n appPopover\n (click)=\"programPopup.popover()\"\n placement=\"right\"\n class=\"program-count vx-fs-11 vx-fw-500 vx-txt-white vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\n >\n +{{ responsibility?.category_details_array?.length - 1 }}\n </button>\n <app-popover #programPopup>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let subCategory of responsibility?.category_details_array\n | slice : 1\n \"\n >\n <div class=\"avatar-card\">\n <div class=\"vx-d-block vx-w-100\">\n <span\n class=\"value\"\n [appTooltip]=\"subCategory?.category_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >{{ subCategory?.category_name }}</span\n >\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.parent_category_name?.length\n \"\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\n >\n <div\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\"\n >\n Within\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]?.parent_category_name\n ?.slice()\n ?.reverse()\n ?.join(' < ') as parent_category\n \"\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"parent_category\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ parent_category }}\n </div>\n </div>\n </div>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n <app-floating-bar\n *ngIf=\"!responsibilityLoader\"\n [selectedData]=\"isValidObj ? selectedResponsibilityValues : []\"\n [displayElementKey]=\"'ReportName'\"\n (closeList)=\"back()\"\n (closeEvent)=\"save($event)\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"!isValidObj\"\n ></app-floating-bar>\n </div>\n</div>\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/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.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-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/table-card/table-card.css\";::ng-deep .frequency-responsibility-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:31.25rem;bottom:0;left:0}::ng-deep .frequency-responsibility-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .frequency-responsibility-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .frequency-responsibility-list-head .arrow{cursor:pointer}::ng-deep .frequency-responsibility-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:1.5rem .75rem 1.5rem 2rem}::ng-deep .frequency-responsibility-list-body app-pagination .wk-pagination-sec-ds{border-radius:0;padding:0 0 .5rem}::ng-deep .frequency-responsibility-list-body app-floating-bar .floating-bar{padding:0;position:relative;left:-1rem;width:calc(100% + 2rem)}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar{padding-left:0!important;padding-right:0!important}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar .userGroup-floating-bar-container .left .chip span{max-width:240px}::ng-deep .frequency-responsibility-list-search{position:relative}::ng-deep .frequency-responsibility-list-search input{height:2.75rem;line-height:1.5rem;padding:.75rem .75rem .75rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .frequency-responsibility-list-search input::placeholder{color:#747576;opacity:1}::ng-deep .frequency-responsibility-list-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .frequency-responsibility-list-mid{height:calc(100vh - 17.5rem);overflow:auto}::ng-deep .frequency-responsibility-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .frequency-responsibility-list-mid.with-pagination{height:calc(100vh - 19.5rem)}::ng-deep .frequency-responsibility-list-mid .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .frequency-responsibility-list-mid .table-header .table-column{color:#161b2f!important;line-height:.75rem!important;min-height:1.875rem!important}::ng-deep .frequency-responsibility-list-mid .table-body{position:relative}::ng-deep .frequency-responsibility-list-mid .table-body .table-row{background:#fff;border-radius:.25rem;border:1px solid #f1f1f1;margin-bottom:.25rem}::ng-deep .frequency-responsibility-list-mid .table-body .table-row:hover .table-column.serial .sr-no,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.active .table-column.serial .sr-no{opacity:0}::ng-deep .frequency-responsibility-list-mid .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .frequency-responsibility-list-mid .table-row{display:flex;justify-content:left;position:relative}::ng-deep .frequency-responsibility-list-mid .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .frequency-responsibility-list-mid .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 .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox{position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox .radio-item{position:absolute}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox{display:flex}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility{width:calc(100% - 15.5rem);min-width:calc(100% - 15.5rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility.with-rc{width:calc(100% - 31rem);min-width:calc(100% - 31rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center{width:15.5rem;min-width:15.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-inner{max-width:calc(100% - 2rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center button.program-count{background:#1e5dd3;border-radius:.125rem;border:none;min-width:1.5rem;height:1.25rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program{width:13.5rem;min-width:13.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program .program-inner{max-width:calc(100% - 2rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program .program-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program button.program-count{background:#1e5dd3;border-radius:.125rem;border:none;min-width:1.5rem;height:1.25rem}@keyframes animate-right{0%{transform:translate(5px);opacity:0}to{transform:translate(0);opacity:1}}.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:#fff;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 .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;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{width: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{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}.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: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)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"] }]
205
+ args: [{ selector: 'app-link-responsibility-list', template: "<div class=\"frequency-responsibility-list\" [class.animate]=\"animation\">\n <div\n class=\"frequency-responsibility-list-head vx-p-3 vx-d-flex vx-align-center vx-justify-between\"\n >\n <div class=\"vx-d-flex vx-align-center\">\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Responsibility</div>\n </div>\n </div>\n <div class=\"frequency-responsibility-list-body\">\n <div\n *ngIf=\"responsibilitiesData?.allResponsibilityCount > 0\"\n class=\"vx-d-flex vx-align-center vx-justify-between vx-mb-2\"\n >\n <ng-container *ngFor=\"let tab of responsibilityTabs; let i = index\">\n <div\n class=\"vx-table-card vx-bg-white vx-d-flex vx-justify-between vx-align-center vx-mr-1 vx-pt-2 vx-pb-2 vx-pl-3 vx-pr-3 vx-w-100\"\n [class.active]=\"currentTab === i + 1 || (currentTab === 0 && i === 3)\"\n (click)=\"onClickTabChange(tab)\"\n [class.pointer-none]=\"responsibilityLoader\"\n >\n <div class=\"left vx-d-block vx-w-100\">\n <div class=\"label vx-d-flex vx-align-center\">\n <label\n class=\"vx-paragraph-txt vx-fw-500 vx-tt-uppercase vx-d-flex vx-justify-between vx-align-center\"\n >{{ tab.name }}</label\n >\n </div>\n </div>\n <div class=\"right vx-d-flex vx-justify-end vx-w-100\">\n <span\n class=\"vx-txt-white vx-fw-500 vx-d-inline-block vx-text-center\"\n >{{\n responsibilityTabCount[typeToCountProperty[tab.type]] || 0\n }}</span\n >\n </div>\n </div>\n </ng-container>\n </div>\n\n <div class=\"frequency-responsibility-list-search vx-mb-2\">\n <i class=\"icons vx-fs-12\">&#xe90b;</i>\n <input\n type=\"text\"\n [(ngModel)]=\"responsibilitySearchText\"\n (keyup.enter)=\"search()\"\n placeholder=\"Search Responsibilities\"\n />\n </div>\n <app-pagination\n *ngIf=\"!responsibilityLoader && responsibilitiesData?.total_pages > 1\"\n [start]=\"responsibilitiesData?.responsibilities_from\"\n [end]=\"responsibilitiesData?.responsibilities_to\"\n [total]=\"responsibilitiesData?.total_responsibilities\"\n [pageCount]=\"responsibilitiesData?.total_pages\"\n [currentPage]=\"responsibilityCurrentPage\"\n (selectedPage)=\"responsibilityPageChange($event)\"\n >\n </app-pagination>\n <app-loader-inline *ngIf=\"responsibilityLoader\"></app-loader-inline>\n <div\n class=\"frequency-responsibility-list-mid vx-mb-4\"\n [class.with-pagination]=\"\n !responsibilityLoader && responsibilitiesData?.total_pages > 1\n \"\n >\n <app-no-data\n *ngIf=\"\n responsibilitiesData?.data?.length === 0 && !responsibilityLoader\n \"\n [noDataImage]=\"noDataImagePath\"\n [noDataText]=\"noDataMessage\"\n ></app-no-data>\n <ng-container\n *ngIf=\"responsibilitiesData?.data?.length > 0 && !responsibilityLoader\"\n >\n <div class=\"table-header\">\n <div class=\"table-row\">\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n #\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility\"\n [class.with-rc]=\"isOnCompletionRc\"\n >\n RESPONSIBILITIES\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility-center\"\n *ngIf=\"isOnCompletionRc\"\n >\n RESPONSIBILITY CENTER\n </div>\n <div\n class=\"table-column vx-fs-11 vx-fw-500 vx-lh-5 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-d-flex vx-align-center program\"\n >\n PROGRAMS\n </div>\n </div>\n </div>\n <div class=\"table-body\">\n <div\n class=\"table-row\"\n [class.active]=\"\n selectedResponsibilityId?.includes(responsibility?.ReportId)\n \"\n *ngFor=\"\n let responsibility of responsibilitiesData?.data;\n let i = index\n \"\n >\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center serial\"\n >\n <div\n class=\"sr-no\"\n [appTooltip]=\"responsibilitiesData?.responsibilities_from + i\"\n placement=\"bottom\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ responsibilitiesData?.responsibilities_from + i }}\n </div>\n <app-cs-checkbox\n [ngValue]=\"\n selectedResponsibilityId?.includes(responsibility?.ReportId)\n \"\n (ngValueChange)=\"selectResp(responsibility?.ReportId, $event)\"\n >\n </app-cs-checkbox>\n </div>\n <div\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center responsibility\"\n [class.with-rc]=\"isOnCompletionRc\"\n >\n <div\n class=\"value vx-fs-12 vx-label-txt vx-pr-5\"\n [appTooltip]=\"responsibility?.ReportName\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ responsibility?.ControlId }} {{ responsibility?.ReportName }}\n </div>\n </div>\n\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.category_name as categoryName\n \"\n class=\"table-column vx-pl-1 vx-pr-1 vx-d-flex vx-align-center program\"\n >\n <div class=\"program-inner vx-d-block\">\n <div\n class=\"program-value vx-fs-11 vx-label-txt vx-pr-5\"\n [appTooltip]=\"\n responsibility?.category_details_array[0]?.category_name ??\n '--'\n \"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ categoryName ?? \"--\" }}\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.parent_category_name?.length\n \"\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\n >\n <div\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\"\n >\n Within\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]?.parent_category_name\n ?.slice()\n ?.reverse()\n ?.join(' < ') as parent_category\n \"\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"parent_category\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ parent_category }}\n </div>\n </div>\n </div>\n <button\n *ngIf=\"responsibility?.category_details_array?.length >= 2\"\n appPopover\n (click)=\"programPopup.popover()\"\n placement=\"right\"\n class=\"program-count vx-fs-11 vx-fw-500 vx-txt-white vx-p-0 vx-pl-1 vx-pr-1 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\n >\n +{{ responsibility?.category_details_array?.length - 1 }}\n </button>\n <app-popover #programPopup>\n <div class=\"wf-action-list\">\n <ul class=\"action-item\">\n <li\n *ngFor=\"\n let subCategory of responsibility?.category_details_array\n | slice : 1\n \"\n >\n <div class=\"avatar-card\">\n <div class=\"vx-d-block vx-w-100\">\n <span\n class=\"value\"\n [appTooltip]=\"subCategory?.category_name\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >{{ subCategory?.category_name }}</span\n >\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]\n ?.parent_category_name?.length\n \"\n class=\"within-part vx-d-flex vx-align-center vx-pr-3\"\n >\n <div\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\"\n >\n Within\n </div>\n <div\n *ngIf=\"\n responsibility?.category_details_array[0]?.parent_category_name\n ?.slice()\n ?.reverse()\n ?.join(' < ') as parent_category\n \"\n class=\"within-value vx-fs-11 vx-paragraph-txt\"\n [appTooltip]=\"parent_category\"\n placement=\"bottom-left\"\n delay=\"0\"\n type=\"black\"\n [tooltipMandatory]=\"true\"\n >\n {{ parent_category }}\n </div>\n </div>\n </div>\n </div>\n </li>\n </ul>\n </div>\n </app-popover>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n <app-floating-bar\n *ngIf=\"!responsibilityLoader\"\n [selectedData]=\"isValidObj ? selectedResponsibilityValues : []\"\n [displayElementKey]=\"'ReportName'\"\n (closeList)=\"back()\"\n (closeEvent)=\"save($event)\"\n (deleteEvent)=\"deleteItem($event)\"\n [isDisabled]=\"!isValidObj\"\n ></app-floating-bar>\n </div>\n</div>\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/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.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-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/table-card/table-card.css\";::ng-deep .frequency-responsibility-list{border-top:3px solid #1e5dd3;position:fixed;top:0;right:31.25rem;bottom:0;left:0}::ng-deep .frequency-responsibility-list.animate{animation:animate-right .2s cubic-bezier(.25,.46,.45,.94) both}::ng-deep .frequency-responsibility-list-head{background:#fbfbfb;border-bottom:1px solid #f1f1f1;height:2.75rem}::ng-deep .frequency-responsibility-list-head .arrow{cursor:pointer}::ng-deep .frequency-responsibility-list-body{background:#fff;height:calc(100vh - 2.75rem);padding:1.5rem .75rem 1.5rem 2rem}::ng-deep .frequency-responsibility-list-body app-pagination .wk-pagination-sec-ds{border-radius:0;padding:0 0 .5rem}::ng-deep .frequency-responsibility-list-body app-floating-bar .floating-bar{padding:0;position:relative;left:-1rem;width:calc(100% + 2rem)}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar{padding-left:0!important;padding-right:0!important}::ng-deep .frequency-responsibility-list-body app-floating-bar .userGroup-floating-bar .userGroup-floating-bar-container .left .chip span{max-width:240px}::ng-deep .frequency-responsibility-list-search{position:relative}::ng-deep .frequency-responsibility-list-search input{height:2.75rem;line-height:1.5rem;padding:.75rem .75rem .75rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .frequency-responsibility-list-search input::placeholder{color:#747576;opacity:1}::ng-deep .frequency-responsibility-list-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1}::ng-deep .frequency-responsibility-list-mid{height:calc(100vh - 17.5rem);overflow:auto}::ng-deep .frequency-responsibility-list-mid::-webkit-scrollbar-track{background-color:#fff}::ng-deep .frequency-responsibility-list-mid.with-pagination{height:calc(100vh - 19.5rem)}::ng-deep .frequency-responsibility-list-mid .table-header{background:#fff;position:sticky;top:0;z-index:1}::ng-deep .frequency-responsibility-list-mid .table-header .table-column{color:#161b2f!important;line-height:.75rem!important;min-height:1.875rem!important}::ng-deep .frequency-responsibility-list-mid .table-body{position:relative}::ng-deep .frequency-responsibility-list-mid .table-body .table-row{background:#fff;border-radius:.25rem;border:1px solid #f1f1f1;margin-bottom:.25rem}::ng-deep .frequency-responsibility-list-mid .table-body .table-row:hover .table-column.serial .sr-no,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.active .table-column.serial .sr-no{opacity:0}::ng-deep .frequency-responsibility-list-mid .table-body .table-row:hover .table-column.serial app-cs-checkbox,::ng-deep .frequency-responsibility-list-mid .table-body .table-row.active .table-column.serial app-cs-checkbox{opacity:1}::ng-deep .frequency-responsibility-list-mid .table-row{display:flex;justify-content:space-between;position:relative}::ng-deep .frequency-responsibility-list-mid .table-row .table-column{color:#747576;min-height:2.5rem;position:relative;width:100%}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial{width:2rem;max-width:2rem;justify-content:center}::ng-deep .frequency-responsibility-list-mid .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 .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox{position:absolute;top:.75rem;left:.5rem;width:1rem;height:1rem;opacity:0;transition:all .2s ease-in-out}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox .radio-item{position:absolute}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.serial app-cs-checkbox{display:flex}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility{width:calc(100% - 15.5rem);min-width:calc(100% - 15.5rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility.with-rc{width:calc(100% - 31rem);min-width:calc(100% - 31rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center{width:15.5rem;min-width:15.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-inner{max-width:calc(100% - 2rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center .program-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.responsibility-center button.program-count{background:#1e5dd3;border-radius:.125rem;border:none;min-width:1.5rem;height:1.25rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program{width:13.5rem;min-width:13.5rem}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program .program-inner{max-width:calc(100% - 2rem)}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program .program-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .frequency-responsibility-list-mid .table-row .table-column.program button.program-count{background:#1e5dd3;border-radius:.125rem;border:none;min-width:1.5rem;height:1.25rem}@keyframes animate-right{0%{transform:translate(5px);opacity:0}to{transform:translate(0);opacity:1}}.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:#fff;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 .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;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{width: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{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.wf-action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#747576;cursor:pointer;margin-right:5px}.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: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)}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}\n"] }]
238
206
  }], ctorParameters: function () { return [{ type: i1.FrequencyService }]; }, propDecorators: { onCompletionOfResponsibility: [{
239
207
  type: Input
240
208
  }], feature: [{
@@ -250,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
250
218
  }], selectedResponsibility: [{
251
219
  type: Output
252
220
  }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2xpbmstcmVzcG9uc2liaWxpdHkvbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2xpbmstcmVzcG9uc2liaWxpdHkvbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7Ozs7OztBQVE5RixNQUFNLE9BQU8sK0JBQStCO0lBMEUxQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXZFN0MsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUN2QixpQ0FBNEIsR0FBUSxFQUFFLENBQUM7UUFDdkMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEQsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQix5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFbEMseUJBQW9CLEdBQVEsRUFBRSxDQUFDO1FBQy9C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K0I7bUdBQS9CLCtCQUErQixxWENWNUMsc21XQW9SQTs7NEZEMVFhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSw4QkFBOEI7dUdBSy9CLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBMSU5LX1JFU1BPTlNJQklMSVRZX0NPTlNUQU5UUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9saW5rLXJlc3BvbnNpYmlsaXR5LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5L2ZyZXF1ZW5jeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWxpbmstcmVzcG9uc2liaWxpdHktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLXJlc3BvbnNpYmlsaXR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMaW5rUmVzcG9uc2liaWxpdHlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgb25Db21wbGV0aW9uT2ZSZXNwb25zaWJpbGl0eTogYW55O1xuICBASW5wdXQoKSBmZWF0dXJlOiBhbnk7XG4gIEBJbnB1dCgpIHJlc3BJZEtleTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM6IGFueSA9IFtdO1xuICBASW5wdXQoKSByYWRpb1NlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBhbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVzcG9uc2liaWxpdHlMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNWYWxpZE9iajogYm9vbGVhbiA9IGZhbHNlO1xuICBpc09uQ29tcGxldGlvblJjOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcmVzcG9uc2liaWxpdGllc0RhdGE6IGFueSA9IHt9O1xuICByZXNwb25zaWJpbGl0eVRhYkNvdW50OiBhbnkgPSB7XG4gICAgcmVndWxhdGlvbkNvdW50OiAwLFxuICAgIHN0YW5kYXJkQ291bnQ6IDAsXG4gICAgaW50ZXJuYWxDb3VudDogMCxcbiAgICBvdGhlcnNDb3VudDogMCxcbiAgfTtcbiAgdHlwZVRvQ291bnRQcm9wZXJ0eTogYW55ID0ge1xuICAgIDA6ICdvdGhlcnNDb3VudCcsXG4gICAgMTogJ3JlZ3VsYXRpb25Db3VudCcsXG4gICAgMjogJ3N0YW5kYXJkQ291bnQnLFxuICAgIDM6ICdpbnRlcm5hbENvdW50JyxcbiAgfTtcbiAgcmVzcG9uc2liaWxpdHlQYXlsb2FkID0ge1xuICAgIHR5cGU6ICdhbGwnLFxuICAgIHBhZ2luYXRpb25UeXBlOiAnbGFyZ2UnLFxuICAgIGE6ICcnLFxuICAgIHNlYXJjaFRleHQ6ICcnLFxuICAgIGZpbHRlckRhdGE6IHtcbiAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgcmlza0lkczogW10sXG4gICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiBbXSxcbiAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgY29tcGxpYW5jZVR5cGU6IFsxXSxcbiAgICB9LFxuICAgIHBhZ2VObzogMSxcbiAgICBzb3J0T2JqOiB7XG4gICAgICBzb3J0Qnk6ICcnLFxuICAgICAgdHlwZTogJycsXG4gICAgfSxcbiAgICBwYWdlTmFtZTogJ292ZXJ2aWV3JyxcbiAgfTtcblxuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ6IGFueVtdID0gW107XG4gIHJlc3BvbnNpYmlsaXR5VGFiczogYW55W10gPSBbXG4gICAgeyBuYW1lOiAnUkVHVUxBVElPTlMnLCB0eXBlOiAxIH0sXG4gICAgeyBuYW1lOiAnU1RBTkRBUkRTJywgdHlwZTogMiB9LFxuICAgIHsgbmFtZTogJ0lOVEVSTkFMIENPTlRST0xTJywgdHlwZTogMyB9LFxuICAgIHsgbmFtZTogJ09USEVSUycsIHR5cGU6IDAgfSxcbiAgXTtcblxuICBjdXJyZW50VGFiOm51bWJlciA9IDE7XG4gIHJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG4gIHJlZ3VsYXRpb25Db3VudDogbnVtYmVyID0gMDtcbiAgc3RhbmRhcmRzQ291bnQ6IG51bWJlciA9IDA7XG4gIGludGVybmFsc0NvdW50OiBudW1iZXIgPSAwO1xuICBvdGhlcnNDb3VudDogbnVtYmVyID0gMDtcblxuICByZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ6IHN0cmluZyA9ICcnO1xuICBub0RhdGFNZXNzYWdlOiBzdHJpbmcgPSBMSU5LX1JFU1BPTlNJQklMSVRZX0NPTlNUQU5UUy5OT19EQVRBX01FU1NBR0UuTk9fREFUQTtcbiAgbm9EYXRhSW1hZ2VQYXRoOiBzdHJpbmcgPSBMSU5LX1JFU1BPTlNJQklMSVRZX0NPTlNUQU5UUy5OT19EQVRBLklNQUdFO1xuXG4gIHJlc3BvbnNpYmlsaXR5TGlzdDogYW55O1xuICBmZWF0dXJlRmxhZ19vbl9jb21wbGV0aW9uX29mOiBhbnk7XG4gIGNsb3NlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlWYWx1ZXMoKTtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICB9XG5cbiAgYmFjaygpIHtcbiAgICB0aGlzLmNsb3NlQnV0dG9uLmVtaXQoKTtcbiAgfVxuXG4gIGdldFJlc3BvbnNpYmlsaXR5VmFsdWVzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzLm1hcChcbiAgICAgICAgKGVsZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKGVsZVt0aGlzLnJlc3BJZEtleV0pIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVbdGhpcy5yZXNwSWRLZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IE9iamVjdC5rZXlzKFxuICAgICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXNcbiAgICAgICk/Lmxlbmd0aFxuICAgICAgICA/IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlc1xuICAgICAgICA6IHt9O1xuICAgICAgdGhpcy5pc1ZhbGlkT2JqID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzXG4gICAgICAgID8gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKT8ubGVuZ3RoID4gMFxuICAgICAgICA6IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gIH1cblxuICBnZXRSZXNwb25zaWJpbGl0eUxpc3QocGFnZU5vOiBudW1iZXIgPSAxKSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IHRydWU7XG4gICAgdGhpcy5mcmVxdWVuY3lTZXJ2aWNlXG4gICAgICA/LmdldEFsbFJlc3BvbnNpYmlsaXRpZXMocGFnZU5vKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXM/LmRhdGEpIHtcbiAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhID0gdGhpcy5tYXBSZXNwb25zaWJpbGl0aWVzRGF0YShyZXMuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwUmVzcG9uc2liaWxpdGllc0RhdGEocmVzOiBhbnkpIHtcbiAgICBjb25zdCBwYWdlU2l6ZSA9IDEwO1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gcmVzPy5wYWdlIHx8IDE7XG4gICAgY29uc3QgdG90YWxJdGVtcyA9IHJlcz8udG90YWwgfHwgMDtcblxuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSAoY3VycmVudFBhZ2UgLSAxKSAqIHBhZ2VTaXplICsgMTtcbiAgICBjb25zdCBlbmRJbmRleCA9IE1hdGgubWluKHN0YXJ0SW5kZXggKyBwYWdlU2l6ZSAtIDEsIHRvdGFsSXRlbXMpO1xuICAgIFxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiByZXMucmVzcG9uc2liaWxpdGllcy5tYXAoKGl0ZW06IGFueSkgPT4gKHtcbiAgICAgICAgUmVwb3J0SWQ6IGl0ZW0/LnJpZCxcbiAgICAgICAgUmVwb3J0TmFtZTogaXRlbT8udGl0bGUsXG4gICAgICAgIENvbnRyb2xJZDogaXRlbT8uaWQgPyBgW0NJRC0ke2l0ZW0uaWR9XWAgOiAnJyxcbiAgICAgICAgc3RhdHVzOiBpdGVtPy5zdGF0dXMsXG4gICAgICAgIGZyZXF1ZW5jeTogaXRlbT8uZnJlcXVlbmN5LFxuICAgICAgICBhc3NpZ25vcjogaXRlbT8uYXNzaWdub3IsXG4gICAgICAgIGFzc2lnbmVlczogaXRlbT8uYXNzaWduZWVzLFxuICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcnM6IGl0ZW0/LnJlc3BvbnNpYmlsaXR5X2NlbnRlcnMsXG4gICAgICAgIHJldmlld2VyczogaXRlbT8ucmV2aWV3ZXJzLFxuICAgICAgICB0eXBlOiBpdGVtPy50eXBlLFxuICAgICAgICBjb21wbGlhbmNlVHlwZTogaXRlbT8uY29tcGxpYW5jZV90eXBlLFxuICAgICAgICBjYXRlZ29yeV9kZXRhaWxzX2FycmF5OiBpdGVtPy5jYXRlZ29yeV9kZXRhaWxzX2FycmF5IHx8IFtdLFxuICAgICAgfSkpLFxuICAgICAgdG90YWxfcmVzcG9uc2liaWxpdGllczogdG90YWxJdGVtcyxcbiAgICAgIHRvdGFsX3BhZ2VzOiBNYXRoLmNlaWwodG90YWxJdGVtcyAvIHBhZ2VTaXplKSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U6IGN1cnJlbnRQYWdlLFxuICAgICAgcmVzcG9uc2liaWxpdGllc19mcm9tOiBzdGFydEluZGV4LFxuICAgICAgcmVzcG9uc2liaWxpdGllc190bzogZW5kSW5kZXhcbiAgICB9O1xuICB9XG5cbiAgcmVzcG9uc2liaWxpdHlQYWdlQ2hhbmdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIGlmIChwYWdlTnVtYmVyICE9PSB0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSBwYWdlTnVtYmVyO1xuICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gcGFnZU51bWJlcjtcbiAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KHBhZ2VOdW1iZXIpO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZUl0ZW0oaXRlbTogYW55KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZC5maW5kSW5kZXgoXG4gICAgICAoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IGl0ZW1bdGhpcy5yZXNwSWRLZXldXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcy5maWx0ZXIoXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZVt0aGlzLnJlc3BJZEtleV0gIT09IGl0ZW1bdGhpcy5yZXNwSWRLZXldXG4gICAgKTtcbiAgICB0aGlzLmlzVmFsaWRPYmogPSBmYWxzZTtcbiAgICB0aGlzLnNldExpc3QoKTtcbiAgfVxuXG4gIHNhdmUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuY2xvc2VCdXR0b24uZW1pdCgpO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eS5lbWl0KHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyk7XG4gIH1cblxuICBvbkNsaWNrVGFiQ2hhbmdlKHRhYjogYW55KSB7XG4gICAgdGhpcy5jdXJyZW50VGFiID0gdGFiPy50eXBlO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLmZpbHRlckRhdGEuY29tcGxpYW5jZVR5cGUgPSBbdGhpcy5jdXJyZW50VGFiXTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnBhZ2VObyA9IHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXh0ID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gIH1cblxuICBzZWFyY2goKSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuc2VhcmNoVGV4dCA9IHRoaXMucmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0O1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlMaXN0KCk7XG4gIH1cblxuICBzZXRSZXNwb25zaWJpbGl0aWVzQ291bnQoKSB7XG4gICAgY29uc3QgcGF5bG9hZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQpKTtcbiAgICBwYXlsb2FkLmZpbHRlckRhdGEuY29tcGxpYW5jZVR5cGUgPSBbMCwgMSwgMiwgM107XG4gICAgdGhpcy5mcmVxdWVuY3lTZXJ2aWNlXG4gICAgICA/LmdldFJlc3BvbnNpYmlsaXRpZXNDb3VudChwYXlsb2FkKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVRhYkNvdW50LnJlZ3VsYXRpb25Db3VudCA9IHJlcz8ucmVndWxhdGlvbl9jb3VudDtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVRhYkNvdW50LnN0YW5kYXJkQ291bnQgPSByZXM/LnN0YW5kYXJkX2NvdW50O1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5VGFiQ291bnQuaW50ZXJuYWxDb3VudCA9IHJlcz8uaW50ZXJuYWxfY291bnQ7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlUYWJDb3VudC5vdGhlcnNDb3VudCA9IHJlcz8ub3RoZXJzX2NvdW50O1xuICAgICAgfSk7XG4gIH1cblxuICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSBhbGwgdGhlIEZlYXR1cmUgZmxhZyBiYXNlZCB2YXJpYWJsZXNcbiAgZmVhdHVyZUZsYWdJbml0aWFsaXphdGlvbigpIHtcbiAgICB0aGlzLmZlYXR1cmVGbGFnX29uX2NvbXBsZXRpb25fb2YgPSB0aGlzLmZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZChcbiAgICAgICdmZl9mcmVxdWVuY3lfb25fY29tcGxldGlvbl9vZidcbiAgICApO1xuICAgIHRoaXMuaXNPbkNvbXBsZXRpb25SYyA9IHRoaXMuZmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKFxuICAgICAgJ2ZmX29uX2NvbXBsZXRpb25fcmMnXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdFJlc3AocmVzcDogYW55LCBtb2RlOiBhbnkpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkLmZpbmRJbmRleChcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gcmVzcFxuICAgICk7XG4gICAgaWYgKGluZGV4ID09PSAtMSAmJiBtb2RlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZC5wdXNoKHJlc3ApO1xuICAgICAgdGhpcy5zZXRMaXN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkLnNwbGljZShpbmRleCwgMSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMuZmlsdGVyKFxuICAgICAgICAoZWxlOiBhbnkpID0+IGVsZVt0aGlzLnJlc3BJZEtleV0gIT09IHJlc3BcbiAgICAgICk7XG4gICAgICB0aGlzLnNldExpc3QoKTtcbiAgICB9XG4gIH1cblxuICBzZXRMaXN0KCkge1xuICAgIGNvbnN0IGRhdGE6IGFueVtdID0gW107XG4gICAgY29uc3QgcmVzcFZhbHVlcyA9IGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMpO1xuICAgIGNvbnN0IHJlc3BMaXN0ID0gY2xvbmVEZWVwKHRoaXMucmVzcG9uc2liaWxpdGllc0RhdGEuZGF0YSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkID0gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkKTtcbiAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICBjb25zdCBmb3VuZFJlc3BvbnNpYmlsaXR5ID0gcmVzcExpc3QuZmluZCgoZWxlOiBhbnkpID0+IGVsZVt0aGlzLnJlc3BJZEtleV0gPT09IGVsZW1lbnQpO1xuICAgICAgaWYgKGZvdW5kUmVzcG9uc2liaWxpdHkpIHtcbiAgICAgICAgZGF0YS5wdXNoKGZvdW5kUmVzcG9uc2liaWxpdHkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmKHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcz8ubGVuZ3RoID4gMCl7XG4gICAgICBjb25zdCBuZXdEYXRhID0gZGF0YS5maWx0ZXIoZWxlbWVudCA9PlxuICAgICAgICAhcmVzcFZhbHVlcy5zb21lKCh2YWx1ZTogYW55KSA9PiB2YWx1ZVt0aGlzLnJlc3BJZEtleV0gPT09IGVsZW1lbnRbdGhpcy5yZXNwSWRLZXldKVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA9IFsuLi5yZXNwVmFsdWVzLCAuLi5uZXdEYXRhXTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSBkYXRhO1xuICAgIH1cblxuICAgIHRoaXMuaXNWYWxpZE9iaiA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlc1xuICAgICAgPyBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMpPy5sZW5ndGggPiAwXG4gICAgICA6IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtaGVhZCB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW5cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IGEgUmVzcG9uc2liaWxpdHk8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1ib2R5XCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8uYWxsUmVzcG9uc2liaWxpdHlDb3VudCA+IDBcIlxuICAgICAgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1tYi0yXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgcmVzcG9uc2liaWxpdHlUYWJzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRUYWIgPT09IGkgKyAxIHx8IChjdXJyZW50VGFiID09PSAwICYmIGkgPT09IDMpXCJcbiAgICAgICAgICAoY2xpY2spPVwib25DbGlja1RhYkNoYW5nZSh0YWIpXCJcbiAgICAgICAgICBbY2xhc3MucG9pbnRlci1ub25lXT1cInJlc3BvbnNpYmlsaXR5TG9hZGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+e3sgdGFiLm5hbWUgfX08L2xhYmVsXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIGNsYXNzPVwidngtdHh0LXdoaXRlIHZ4LWZ3LTUwMCB2eC1kLWlubGluZS1ibG9jayB2eC10ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICAgID57e1xuICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5VGFiQ291bnRbdHlwZVRvQ291bnRQcm9wZXJ0eVt0YWIudHlwZV1dIHx8IDBcbiAgICAgICAgICAgICAgfX08L3NwYW5cbiAgICAgICAgICAgID5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1zZWFyY2ggdngtbWItMlwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMlwiPiYjeGU5MGI7PC9pPlxuICAgICAgPGlucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJyZXNwb25zaWJpbGl0eVNlYXJjaFRleHRcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwic2VhcmNoKClcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBSZXNwb25zaWJpbGl0aWVzXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1wYWdpbmF0aW9uXG4gICAgICAqbmdJZj1cIiFyZXNwb25zaWJpbGl0eUxvYWRlciAmJiByZXNwb25zaWJpbGl0aWVzRGF0YT8udG90YWxfcGFnZXMgPiAxXCJcbiAgICAgIFtzdGFydF09XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdGllc19mcm9tXCJcbiAgICAgIFtlbmRdPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXNfdG9cIlxuICAgICAgW3RvdGFsXT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy50b3RhbF9yZXNwb25zaWJpbGl0aWVzXCJcbiAgICAgIFtwYWdlQ291bnRdPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3BhZ2VzXCJcbiAgICAgIFtjdXJyZW50UGFnZV09XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8ucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZVwiXG4gICAgICAoc2VsZWN0ZWRQYWdlKT1cInJlc3BvbnNpYmlsaXR5UGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hcHAtcGFnaW5hdGlvbj5cbiAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJyZXNwb25zaWJpbGl0eUxvYWRlclwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1taWQgdngtbWItNFwiXG4gICAgICBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cIlxuICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgcmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3BhZ2VzID4gMVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICByZXNwb25zaWJpbGl0aWVzRGF0YT8uZGF0YT8ubGVuZ3RoID09PSAwICYmICFyZXNwb25zaWJpbGl0eUxvYWRlclxuICAgICAgICBcIlxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwibm9EYXRhSW1hZ2VQYXRoXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwibm9EYXRhTWVzc2FnZVwiXG4gICAgICA+PC9hcHAtbm8tZGF0YT5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8uZGF0YT8ubGVuZ3RoID4gMCAmJiAhcmVzcG9uc2liaWxpdHlMb2FkZXJcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgI1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eVwiXG4gICAgICAgICAgICAgIFtjbGFzcy53aXRoLXJjXT1cImlzT25Db21wbGV0aW9uUmNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBSRVNQT05TSUJJTElUSUVTXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNPbkNvbXBsZXRpb25SY1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFJFU1BPTlNJQklMSVRZIENFTlRFUlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93XCJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiXG4gICAgICAgICAgICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZD8uaW5jbHVkZXMocmVzcG9uc2liaWxpdHk/LlJlcG9ydElkKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgcmVzcG9uc2liaWxpdHkgb2YgcmVzcG9uc2liaWxpdGllc0RhdGE/LmRhdGE7XG4gICAgICAgICAgICAgIGxldCBpID0gaW5kZXhcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ub1wiXG4gICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXNfZnJvbSArIGlcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXNfZnJvbSArIGkgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcbiAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZD8uaW5jbHVkZXMocmVzcG9uc2liaWxpdHk/LlJlcG9ydElkKVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0UmVzcChyZXNwb25zaWJpbGl0eT8uUmVwb3J0SWQsICRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5XCJcbiAgICAgICAgICAgICAgW2NsYXNzLndpdGgtcmNdPVwiaXNPbkNvbXBsZXRpb25SY1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dCB2eC1wci01XCJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyZXNwb25zaWJpbGl0eT8uUmVwb3J0TmFtZVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHJlc3BvbnNpYmlsaXR5Py5Db250cm9sSWQgfX0ge3sgcmVzcG9uc2liaWxpdHk/LlJlcG9ydE5hbWUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdXG4gICAgICAgICAgICAgICAgICA/LmNhdGVnb3J5X25hbWUgYXMgY2F0ZWdvcnlOYW1lXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHByb2dyYW1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1pbm5lciB2eC1kLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwcm9ncmFtLXZhbHVlIHZ4LWZzLTExIHZ4LWxhYmVsLXR4dCB2eC1wci01XCJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxuICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXT8uY2F0ZWdvcnlfbmFtZSA/P1xuICAgICAgICAgICAgICAgICAgICAnLS0nXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBjYXRlZ29yeU5hbWUgPz8gXCItLVwiIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlbMF1cbiAgICAgICAgICAgICAgICAgICAgICA/LnBhcmVudF9jYXRlZ29yeV9uYW1lPy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcHItM1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1ib3ggdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTMgdngtdHh0LWJsdWVcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBXaXRoaW5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPCAnKSBhcyBwYXJlbnRfY2F0ZWdvcnlcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXG4gICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInBhcmVudF9jYXRlZ29yeVwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHBhcmVudF9jYXRlZ29yeSB9fVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJyZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheT8ubGVuZ3RoID49IDJcIlxuICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJvZ3JhbVBvcHVwLnBvcG92ZXIoKVwiXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3JhbS1jb3VudCB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTEgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgK3t7IHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5Py5sZW5ndGggLSAxIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI3Byb2dyYW1Qb3B1cD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHN1YkNhdGVnb3J5IG9mIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgc2xpY2UgOiAxXG4gICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJzdWJDYXRlZ29yeT8uY2F0ZWdvcnlfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgc3ViQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWUgfX08L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucGFyZW50X2NhdGVnb3J5X25hbWU/Lmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zIHZ4LXR4dC1ibHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoaW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXT8ucGFyZW50X2NhdGVnb3J5X25hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbignIDwgJykgYXMgcGFyZW50X2NhdGVnb3J5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJwYXJlbnRfY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBwYXJlbnRfY2F0ZWdvcnkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLWZsb2F0aW5nLWJhclxuICAgICAgKm5nSWY9XCIhcmVzcG9uc2liaWxpdHlMb2FkZXJcIlxuICAgICAgW3NlbGVjdGVkRGF0YV09XCJpc1ZhbGlkT2JqID8gc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcyA6IFtdXCJcbiAgICAgIFtkaXNwbGF5RWxlbWVudEtleV09XCInUmVwb3J0TmFtZSdcIlxuICAgICAgKGNsb3NlTGlzdCk9XCJiYWNrKClcIlxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgkZXZlbnQpXCJcbiAgICAgIChkZWxldGVFdmVudCk9XCJkZWxldGVJdGVtKCRldmVudClcIlxuICAgICAgW2lzRGlzYWJsZWRdPVwiIWlzVmFsaWRPYmpcIlxuICAgID48L2FwcC1mbG9hdGluZy1iYXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2xpbmstcmVzcG9uc2liaWxpdHkvbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2xpbmstcmVzcG9uc2liaWxpdHkvbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7Ozs7O0FBUTlGLE1BQU0sT0FBTywrQkFBK0I7SUEwRTFDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdkU3QyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLGlDQUE0QixHQUFRLEVBQUUsQ0FBQztRQUN2QyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUUvQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV0RCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVsQyx5QkFBb0IsR0FBUSxFQUFFLENBQUM7UUFDL0Is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QUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBMSU5LX1JFU1BPTlNJQklMSVRZX0NPTlNUQU5UUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9saW5rLXJlc3BvbnNpYmlsaXR5LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vZnJlcXVlbmN5L2ZyZXF1ZW5jeS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWxpbmstcmVzcG9uc2liaWxpdHktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLXJlc3BvbnNpYmlsaXR5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMaW5rUmVzcG9uc2liaWxpdHlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgb25Db21wbGV0aW9uT2ZSZXNwb25zaWJpbGl0eTogYW55O1xuICBASW5wdXQoKSBmZWF0dXJlOiBhbnk7XG4gIEBJbnB1dCgpIHJlc3BJZEtleTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM6IGFueSA9IFtdO1xuICBASW5wdXQoKSByYWRpb1NlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgQE91dHB1dCgpIGNsb3NlQnV0dG9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBhbmltYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVzcG9uc2liaWxpdHlMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNWYWxpZE9iajogYm9vbGVhbiA9IGZhbHNlO1xuICBpc09uQ29tcGxldGlvblJjOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcmVzcG9uc2liaWxpdGllc0RhdGE6IGFueSA9IHt9O1xuICByZXNwb25zaWJpbGl0eVRhYkNvdW50OiBhbnkgPSB7XG4gICAgcmVndWxhdGlvbkNvdW50OiAwLFxuICAgIHN0YW5kYXJkQ291bnQ6IDAsXG4gICAgaW50ZXJuYWxDb3VudDogMCxcbiAgICBvdGhlcnNDb3VudDogMCxcbiAgfTtcbiAgdHlwZVRvQ291bnRQcm9wZXJ0eTogYW55ID0ge1xuICAgIDA6ICdvdGhlcnNDb3VudCcsXG4gICAgMTogJ3JlZ3VsYXRpb25Db3VudCcsXG4gICAgMjogJ3N0YW5kYXJkQ291bnQnLFxuICAgIDM6ICdpbnRlcm5hbENvdW50JyxcbiAgfTtcbiAgcmVzcG9uc2liaWxpdHlQYXlsb2FkID0ge1xuICAgIHR5cGU6ICdhbGwnLFxuICAgIHBhZ2luYXRpb25UeXBlOiAnbGFyZ2UnLFxuICAgIGE6ICcnLFxuICAgIHNlYXJjaFRleHQ6ICcnLFxuICAgIGZpbHRlckRhdGE6IHtcbiAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgcmlza0lkczogW10sXG4gICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiBbXSxcbiAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgY29tcGxpYW5jZVR5cGU6IFsxXSxcbiAgICB9LFxuICAgIHBhZ2VObzogMSxcbiAgICBzb3J0T2JqOiB7XG4gICAgICBzb3J0Qnk6ICcnLFxuICAgICAgdHlwZTogJycsXG4gICAgfSxcbiAgICBwYWdlTmFtZTogJ292ZXJ2aWV3JyxcbiAgfTtcblxuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ6IGFueVtdID0gW107XG4gIHJlc3BvbnNpYmlsaXR5VGFiczogYW55W10gPSBbXG4gICAgeyBuYW1lOiAnUkVHVUxBVElPTlMnLCB0eXBlOiAxIH0sXG4gICAgeyBuYW1lOiAnU1RBTkRBUkRTJywgdHlwZTogMiB9LFxuICAgIHsgbmFtZTogJ0lOVEVSTkFMIENPTlRST0xTJywgdHlwZTogMyB9LFxuICAgIHsgbmFtZTogJ09USEVSUycsIHR5cGU6IDAgfSxcbiAgXTtcblxuICBjdXJyZW50VGFiOm51bWJlciA9IDE7XG4gIHJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG4gIHJlZ3VsYXRpb25Db3VudDogbnVtYmVyID0gMDtcbiAgc3RhbmRhcmRzQ291bnQ6IG51bWJlciA9IDA7XG4gIGludGVybmFsc0NvdW50OiBudW1iZXIgPSAwO1xuICBvdGhlcnNDb3VudDogbnVtYmVyID0gMDtcblxuICByZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ6IHN0cmluZyA9ICcnO1xuICBub0RhdGFNZXNzYWdlOiBzdHJpbmcgPSBMSU5LX1JFU1BPTlNJQklMSVRZX0NPTlNUQU5UUy5OT19EQVRBX01FU1NBR0UuTk9fREFUQTtcbiAgbm9EYXRhSW1hZ2VQYXRoOiBzdHJpbmcgPSBMSU5LX1JFU1BPTlNJQklMSVRZX0NPTlNUQU5UUy5OT19EQVRBLklNQUdFO1xuXG4gIHJlc3BvbnNpYmlsaXR5TGlzdDogYW55O1xuICBmZWF0dXJlRmxhZ19vbl9jb21wbGV0aW9uX29mOiBhbnk7XG4gIGNsb3NlOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdHlWYWx1ZXMoKTtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICAgIHRoaXMuc2V0UmVzcG9uc2liaWxpdGllc0NvdW50KCk7XG4gIH1cblxuICBiYWNrKCkge1xuICAgIHRoaXMuY2xvc2VCdXR0b24uZW1pdCgpO1xuICB9XG5cbiAgZ2V0UmVzcG9uc2liaWxpdHlWYWx1ZXMoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlcykge1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMubWFwKFxuICAgICAgICAoZWxlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoZWxlW3RoaXMucmVzcElkS2V5XSkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZVt0aGlzLnJlc3BJZEtleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gT2JqZWN0LmtleXMoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eVZhbHVlc1xuICAgICAgKT8ubGVuZ3RoXG4gICAgICAgID8gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzXG4gICAgICAgIDoge307XG4gICAgICB0aGlzLmlzVmFsaWRPYmogPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXNcbiAgICAgICAgPyBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMpPy5sZW5ndGggPiAwXG4gICAgICAgIDogZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgfSwgMzAwKTtcbiAgfVxuXG4gIGdldFJlc3BvbnNpYmlsaXR5TGlzdCgpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmZyZXF1ZW5jeVNlcnZpY2VcbiAgICAgID8uZ2V0UmVzcG9uc2liaWxpdHlMaXN0KHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkKVxuICAgICAgLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0aWVzRGF0YSA9IHJlc1swXTtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcmVzcG9uc2liaWxpdHlQYWdlQ2hhbmdlKHBhZ2VOdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IHBhZ2VOdW1iZXI7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnNlYXJjaFRleHQgPSB0aGlzLnJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dDtcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXR5TGlzdCgpO1xuICB9XG5cbiAgZGVsZXRlSXRlbShpdGVtOiBhbnkpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkLmZpbmRJbmRleChcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gaXRlbVt0aGlzLnJlc3BJZEtleV1cbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzLmZpbHRlcihcbiAgICAgIChlbGU6IGFueSkgPT4gZWxlW3RoaXMucmVzcElkS2V5XSAhPT0gaXRlbVt0aGlzLnJlc3BJZEtleV1cbiAgICApO1xuICAgIHRoaXMuaXNWYWxpZE9iaiA9IGZhbHNlO1xuICAgIHRoaXMuc2V0TGlzdCgpO1xuICB9XG5cbiAgc2F2ZShldmVudDogYW55KSB7XG4gICAgdGhpcy5jbG9zZUJ1dHRvbi5lbWl0KCk7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5LmVtaXQodGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKTtcbiAgfVxuXG4gIG9uQ2xpY2tUYWJDaGFuZ2UodGFiOiBhbnkpIHtcbiAgICB0aGlzLmN1cnJlbnRUYWIgPSB0YWI/LnR5cGU7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQuZmlsdGVyRGF0YS5jb21wbGlhbmNlVHlwZSA9IFt0aGlzLmN1cnJlbnRUYWJdO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eVBheWxvYWQucGFnZU5vID0gdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkLnNlYXJjaFRleHQgPSB0aGlzLnJlc3BvbnNpYmlsaXR5U2VhcmNoVGV4dDtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgfVxuXG4gIHNlYXJjaCgpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5zZWFyY2hUZXh0ID0gdGhpcy5yZXNwb25zaWJpbGl0eVNlYXJjaFRleHQ7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5UGF5bG9hZC5wYWdlTm8gPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0eUxpc3QoKTtcbiAgICB0aGlzLnNldFJlc3BvbnNpYmlsaXRpZXNDb3VudCgpO1xuICB9XG5cbiAgc2V0UmVzcG9uc2liaWxpdGllc0NvdW50KCkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMucmVzcG9uc2liaWxpdHlQYXlsb2FkKSk7XG4gICAgcGF5bG9hZC5maWx0ZXJEYXRhLmNvbXBsaWFuY2VUeXBlID0gWzAsIDEsIDIsIDNdO1xuICAgIHRoaXMuZnJlcXVlbmN5U2VydmljZVxuICAgICAgPy5nZXRSZXNwb25zaWJpbGl0aWVzQ291bnQocGF5bG9hZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlUYWJDb3VudC5yZWd1bGF0aW9uQ291bnQgPSByZXM/LnJlZ3VsYXRpb25fY291bnQ7XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlUYWJDb3VudC5zdGFuZGFyZENvdW50ID0gcmVzPy5zdGFuZGFyZF9jb3VudDtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eVRhYkNvdW50LmludGVybmFsQ291bnQgPSByZXM/LmludGVybmFsX2NvdW50O1xuICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5VGFiQ291bnQub3RoZXJzQ291bnQgPSByZXM/Lm90aGVyc19jb3VudDtcbiAgICAgIH0pO1xuICB9XG5cbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGluaXRpYWxpemUgYWxsIHRoZSBGZWF0dXJlIGZsYWcgYmFzZWQgdmFyaWFibGVzXG4gIGZlYXR1cmVGbGFnSW5pdGlhbGl6YXRpb24oKSB7XG4gICAgdGhpcy5mZWF0dXJlRmxhZ19vbl9jb21wbGV0aW9uX29mID0gdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoXG4gICAgICAnZmZfZnJlcXVlbmN5X29uX2NvbXBsZXRpb25fb2YnXG4gICAgKTtcbiAgICB0aGlzLmlzT25Db21wbGV0aW9uUmMgPSB0aGlzLmZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZChcbiAgICAgICdmZl9vbl9jb21wbGV0aW9uX3JjJ1xuICAgICk7XG4gIH1cblxuICBzZWxlY3RSZXNwKHJlc3A6IGFueSwgbW9kZTogYW55KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZC5maW5kSW5kZXgoXG4gICAgICAoZWxlbWVudDogYW55KSA9PiBlbGVtZW50ID09IHJlc3BcbiAgICApO1xuICAgIGlmIChpbmRleCA9PT0gLTEgJiYgbW9kZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQucHVzaChyZXNwKTtcbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzLmZpbHRlcihcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGVbdGhpcy5yZXNwSWRLZXldICE9PSByZXNwXG4gICAgICApO1xuICAgICAgdGhpcy5zZXRMaXN0KCk7XG4gICAgfVxuICB9XG5cbiAgc2V0TGlzdCgpIHtcbiAgICBjb25zdCBkYXRhOiBhbnlbXSA9IFtdO1xuICAgIGNvbnN0IHJlc3BWYWx1ZXMgPSBjbG9uZURlZXAodGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKTtcbiAgICBjb25zdCByZXNwTGlzdCA9IGNsb25lRGVlcCh0aGlzLnJlc3BvbnNpYmlsaXRpZXNEYXRhLmRhdGEpO1xuICAgIGNvbnN0IHNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZCA9IGNsb25lRGVlcCh0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZCk7XG4gICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgY29uc3QgZm91bmRSZXNwb25zaWJpbGl0eSA9IHJlc3BMaXN0LmZpbmQoKGVsZTogYW55KSA9PiBlbGVbdGhpcy5yZXNwSWRLZXldID09PSBlbGVtZW50KTtcbiAgICAgIGlmIChmb3VuZFJlc3BvbnNpYmlsaXR5KSB7XG4gICAgICAgIGRhdGEucHVzaChmb3VuZFJlc3BvbnNpYmlsaXR5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZih0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXM/Lmxlbmd0aCA+IDApe1xuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEuZmlsdGVyKGVsZW1lbnQgPT5cbiAgICAgICAgIXJlc3BWYWx1ZXMuc29tZSgodmFsdWU6IGFueSkgPT4gdmFsdWVbdGhpcy5yZXNwSWRLZXldID09PSBlbGVtZW50W3RoaXMucmVzcElkS2V5XSlcbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgPSBbLi4ucmVzcFZhbHVlcywgLi4ubmV3RGF0YV07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzID0gZGF0YTtcbiAgICB9XG5cbiAgICB0aGlzLmlzVmFsaWRPYmogPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXNcbiAgICAgID8gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5VmFsdWVzKT8ubGVuZ3RoID4gMFxuICAgICAgOiBmYWxzZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0XCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImZyZXF1ZW5jeS1yZXNwb25zaWJpbGl0eS1saXN0LWhlYWQgdngtcC0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBhIFJlc3BvbnNpYmlsaXR5PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3QtYm9keVwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LmFsbFJlc3BvbnNpYmlsaXR5Q291bnQgPiAwXCJcbiAgICAgIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtbWItMlwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHJlc3BvbnNpYmlsaXR5VGFiczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50VGFiID09PSBpICsgMSB8fCAoY3VycmVudFRhYiA9PT0gMCAmJiBpID09PSAzKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tUYWJDaGFuZ2UodGFiKVwiXG4gICAgICAgICAgW2NsYXNzLnBvaW50ZXItbm9uZV09XCJyZXNwb25zaWJpbGl0eUxvYWRlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPnt7IHRhYi5uYW1lIH19PC9sYWJlbFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIlxuICAgICAgICAgICAgICA+e3tcbiAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eVRhYkNvdW50W3R5cGVUb0NvdW50UHJvcGVydHlbdGFiLnR5cGVdXSB8fCAwXG4gICAgICAgICAgICAgIH19PC9zcGFuXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXJlc3BvbnNpYmlsaXR5LWxpc3Qtc2VhcmNoIHZ4LW1iLTJcIj5cbiAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTJcIj4mI3hlOTBiOzwvaT5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwicmVzcG9uc2liaWxpdHlTZWFyY2hUZXh0XCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cInNlYXJjaCgpXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUmVzcG9uc2liaWxpdGllc1wiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICAgIDxhcHAtcGFnaW5hdGlvblxuICAgICAgKm5nSWY9XCIhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgcmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3BhZ2VzID4gMVwiXG4gICAgICBbc3RhcnRdPVwicmVzcG9uc2liaWxpdGllc0RhdGE/LnJlc3BvbnNpYmlsaXRpZXNfZnJvbVwiXG4gICAgICBbZW5kXT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX3RvXCJcbiAgICAgIFt0b3RhbF09XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8udG90YWxfcmVzcG9uc2liaWxpdGllc1wiXG4gICAgICBbcGFnZUNvdW50XT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy50b3RhbF9wYWdlc1wiXG4gICAgICBbY3VycmVudFBhZ2VdPVwicmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZVwiXG4gICAgICAoc2VsZWN0ZWRQYWdlKT1cInJlc3BvbnNpYmlsaXR5UGFnZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9hcHAtcGFnaW5hdGlvbj5cbiAgICA8YXBwLWxvYWRlci1pbmxpbmUgKm5nSWY9XCJyZXNwb25zaWJpbGl0eUxvYWRlclwiPjwvYXBwLWxvYWRlci1pbmxpbmU+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktcmVzcG9uc2liaWxpdHktbGlzdC1taWQgdngtbWItNFwiXG4gICAgICBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cIlxuICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgcmVzcG9uc2liaWxpdGllc0RhdGE/LnRvdGFsX3BhZ2VzID4gMVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8YXBwLW5vLWRhdGFcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICByZXNwb25zaWJpbGl0aWVzRGF0YT8uZGF0YT8ubGVuZ3RoID09PSAwICYmICFyZXNwb25zaWJpbGl0eUxvYWRlclxuICAgICAgICBcIlxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwibm9EYXRhSW1hZ2VQYXRoXCJcbiAgICAgICAgW25vRGF0YVRleHRdPVwibm9EYXRhTWVzc2FnZVwiXG4gICAgICA+PC9hcHAtbm8tZGF0YT5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJyZXNwb25zaWJpbGl0aWVzRGF0YT8uZGF0YT8ubGVuZ3RoID4gMCAmJiAhcmVzcG9uc2liaWxpdHlMb2FkZXJcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMSB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgI1xuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eVwiXG4gICAgICAgICAgICAgIFtjbGFzcy53aXRoLXJjXT1cImlzT25Db21wbGV0aW9uUmNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBSRVNQT05TSUJJTElUSUVTXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTEgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNPbkNvbXBsZXRpb25SY1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFJFU1BPTlNJQklMSVRZIENFTlRFUlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBwcm9ncmFtXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUFJPR1JBTVNcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvd1wiXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIlxuICAgICAgICAgICAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ/LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5Py5SZXBvcnRJZClcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgbGV0IHJlc3BvbnNpYmlsaXR5IG9mIHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5kYXRhO1xuICAgICAgICAgICAgICBsZXQgaSA9IGluZGV4XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3Itbm9cIlxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX2Zyb20gKyBpXCJcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHJlc3BvbnNpYmlsaXRpZXNEYXRhPy5yZXNwb25zaWJpbGl0aWVzX2Zyb20gKyBpIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW25nVmFsdWVdPVwiXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWQ/LmluY2x1ZGVzKHJlc3BvbnNpYmlsaXR5Py5SZXBvcnRJZClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdFJlc3AocmVzcG9uc2liaWxpdHk/LlJlcG9ydElkLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eVwiXG4gICAgICAgICAgICAgIFtjbGFzcy53aXRoLXJjXT1cImlzT25Db21wbGV0aW9uUmNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZSB2eC1mcy0xMiB2eC1sYWJlbC10eHQgdngtcHItNVwiXG4gICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicmVzcG9uc2liaWxpdHk/LlJlcG9ydE5hbWVcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyByZXNwb25zaWJpbGl0eT8uQ29udHJvbElkIH19IHt7IHJlc3BvbnNpYmlsaXR5Py5SZXBvcnROYW1lIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXVxuICAgICAgICAgICAgICAgICAgPy5jYXRlZ29yeV9uYW1lIGFzIGNhdGVnb3J5TmFtZVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBwcm9ncmFtXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyYW0taW5uZXIgdngtZC1ibG9ja1wiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3JhbS12YWx1ZSB2eC1mcy0xMSB2eC1sYWJlbC10eHQgdngtcHItNVwiXG4gICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlbMF0/LmNhdGVnb3J5X25hbWUgPz9cbiAgICAgICAgICAgICAgICAgICAgJy0tJ1xuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgY2F0ZWdvcnlOYW1lID8/IFwiLS1cIiB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Py5jYXRlZ29yeV9kZXRhaWxzX2FycmF5WzBdXG4gICAgICAgICAgICAgICAgICAgICAgPy5wYXJlbnRfY2F0ZWdvcnlfbmFtZT8ubGVuZ3RoXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zIHZ4LXR4dC1ibHVlXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgV2l0aGluXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXT8ucGFyZW50X2NhdGVnb3J5X25hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxuICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbignIDwgJykgYXMgcGFyZW50X2NhdGVnb3J5XG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJwYXJlbnRfY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBwYXJlbnRfY2F0ZWdvcnkgfX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwicmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXk/Lmxlbmd0aCA+PSAyXCJcbiAgICAgICAgICAgICAgICBhcHBQb3BvdmVyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInByb2dyYW1Qb3B1cC5wb3BvdmVyKClcIlxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInByb2dyYW0tY291bnQgdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC1wLTAgdngtcGwtMSB2eC1wci0xIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICt7eyByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheT8ubGVuZ3RoIC0gMSB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNwcm9ncmFtUG9wdXA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdWJDYXRlZ29yeSBvZiByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVxuICAgICAgICAgICAgICAgICAgICAgICAgICB8IHNsaWNlIDogMVxuICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwic3ViQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IHN1YkNhdGVnb3J5Py5jYXRlZ29yeV9uYW1lIH19PC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eT8uY2F0ZWdvcnlfZGV0YWlsc19hcnJheVswXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnBhcmVudF9jYXRlZ29yeV9uYW1lPy5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wci0zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtMyB2eC10eHQtYmx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aGluXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHk/LmNhdGVnb3J5X2RldGFpbHNfYXJyYXlbMF0/LnBhcmVudF9jYXRlZ29yeV9uYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA8ICcpIGFzIHBhcmVudF9jYXRlZ29yeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXZhbHVlIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicGFyZW50X2NhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcGFyZW50X2NhdGVnb3J5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2FwcC1wb3BvdmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1mbG9hdGluZy1iYXJcbiAgICAgICpuZ0lmPVwiIXJlc3BvbnNpYmlsaXR5TG9hZGVyXCJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwiaXNWYWxpZE9iaiA/IHNlbGVjdGVkUmVzcG9uc2liaWxpdHlWYWx1ZXMgOiBbXVwiXG4gICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ1JlcG9ydE5hbWUnXCJcbiAgICAgIChjbG9zZUxpc3QpPVwiYmFjaygpXCJcbiAgICAgIChjbG9zZUV2ZW50KT1cInNhdmUoJGV2ZW50KVwiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlSXRlbSgkZXZlbnQpXCJcbiAgICAgIFtpc0Rpc2FibGVkXT1cIiFpc1ZhbGlkT2JqXCJcbiAgICA+PC9hcHAtZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -7,7 +7,6 @@ import { FormgroupModule } from '../../formgroup/formgroup.module';
7
7
  import { NoDataModule } from '../no-data/no-data.module';
8
8
  import { VLoaderModule } from '../v-loader/v-loader.module';
9
9
  import { PopoverModule } from '../../ui-kit/popover/popover.module';
10
- import { PaginationModule } from '../../ui-kit/pagination/pagination.module';
11
10
  import { LinkResponsibilityListComponent } from './link-responsibility.component';
12
11
  import * as i0 from "@angular/core";
13
12
  export class LinkResponsibilityModule {
@@ -19,8 +18,7 @@ export class LinkResponsibilityModule {
19
18
  FormgroupModule,
20
19
  NoDataModule,
21
20
  VLoaderModule,
22
- PopoverModule,
23
- PaginationModule], exports: [LinkResponsibilityListComponent] }); }
21
+ PopoverModule], exports: [LinkResponsibilityListComponent] }); }
24
22
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LinkResponsibilityModule, imports: [CommonModule,
25
23
  FormsModule,
26
24
  PipesModule,
@@ -28,8 +26,7 @@ export class LinkResponsibilityModule {
28
26
  FormgroupModule,
29
27
  NoDataModule,
30
28
  VLoaderModule,
31
- PopoverModule,
32
- PaginationModule] }); }
29
+ PopoverModule] }); }
33
30
  }
34
31
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LinkResponsibilityModule, decorators: [{
35
32
  type: NgModule,
@@ -43,10 +40,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
43
40
  FormgroupModule,
44
41
  NoDataModule,
45
42
  VLoaderModule,
46
- PopoverModule,
47
- PaginationModule
43
+ PopoverModule
48
44
  ],
49
45
  exports: [LinkResponsibilityListComponent],
50
46
  }]
51
47
  }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1yZXNwb25zaWJpbGl0eS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2xpbmstcmVzcG9uc2liaWxpdHkvbGluay1yZXNwb25zaWJpbGl0eS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBaUJsRixNQUFNLE9BQU8sd0JBQXdCOytHQUF4Qix3QkFBd0I7Z0hBQXhCLHdCQUF3QixpQkFkcEIsK0JBQStCLGFBRTVDLFlBQVk7WUFDWixXQUFXO1lBQ1gsV0FBVztZQUNYLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsZ0JBQWdCLGFBRVIsK0JBQStCO2dIQUU5Qix3QkFBd0IsWUFaakMsWUFBWTtZQUNaLFdBQVc7WUFDWCxXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYixnQkFBZ0I7OzRGQUlQLHdCQUF3QjtrQkFmcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDL0MsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLCtCQUErQixDQUFDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFBpcGVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vbm8tZGF0YS9uby1kYXRhLm1vZHVsZSc7XG5pbXBvcnQgeyBWTG9hZGVyTW9kdWxlIH0gZnJvbSAnLi4vdi1sb2FkZXIvdi1sb2FkZXIubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgTGlua1Jlc3BvbnNpYmlsaXR5TGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtMaW5rUmVzcG9uc2liaWxpdHlMaXN0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXG4gICAgTm9EYXRhTW9kdWxlLFxuICAgIFZMb2FkZXJNb2R1bGUsXG4gICAgUG9wb3Zlck1vZHVsZSxcbiAgICBQYWdpbmF0aW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtMaW5rUmVzcG9uc2liaWxpdHlMaXN0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTGlua1Jlc3BvbnNpYmlsaXR5TW9kdWxlIHt9XG4gICAgIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1yZXNwb25zaWJpbGl0eS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2xpbmstcmVzcG9uc2liaWxpdHkvbGluay1yZXNwb25zaWJpbGl0eS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBZ0JsRixNQUFNLE9BQU8sd0JBQXdCOytHQUF4Qix3QkFBd0I7Z0hBQXhCLHdCQUF3QixpQkFicEIsK0JBQStCLGFBRTVDLFlBQVk7WUFDWixXQUFXO1lBQ1gsV0FBVztZQUNYLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhLGFBRUwsK0JBQStCO2dIQUU5Qix3QkFBd0IsWUFYakMsWUFBWTtZQUNaLFdBQVc7WUFDWCxXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7OzRGQUlKLHdCQUF3QjtrQkFkcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDL0MsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztpQkFDM0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4uL25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xuaW1wb3J0IHsgVkxvYWRlck1vZHVsZSB9IGZyb20gJy4uL3YtbG9hZGVyL3YtbG9hZGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgTGlua1Jlc3BvbnNpYmlsaXR5TGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGluay1yZXNwb25zaWJpbGl0eS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtMaW5rUmVzcG9uc2liaWxpdHlMaXN0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXG4gICAgTm9EYXRhTW9kdWxlLFxuICAgIFZMb2FkZXJNb2R1bGUsXG4gICAgUG9wb3Zlck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbTGlua1Jlc3BvbnNpYmlsaXR5TGlzdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIExpbmtSZXNwb25zaWJpbGl0eU1vZHVsZSB7fVxuICAgICJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { RISK_CLASS_LIST } from '../../constants/responsibility';
3
+ import * as i0 from "@angular/core";
4
+ export class RiskClassPipe {
5
+ transform(value) {
6
+ if (!value)
7
+ return true;
8
+ return RISK_CLASS_LIST.includes(value?.toLowerCase());
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RiskClassPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
11
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: RiskClassPipe, name: "riskClass" }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RiskClassPipe, decorators: [{
14
+ type: Pipe,
15
+ args: [{
16
+ name: 'riskClass',
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlzay1jbGFzcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9waXBlcy9yaXNrLWNsYXNzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUtqRSxNQUFNLE9BQU8sYUFBYTtJQUN4QixTQUFTLENBQUMsS0FBYTtRQUNyQixJQUFHLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3ZCLE9BQU8sZUFBZSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQUpVLGFBQWE7NkdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFIekIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSSVNLX0NMQVNTX0xJU1QgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmVzcG9uc2liaWxpdHknO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdyaXNrQ2xhc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBSaXNrQ2xhc3NQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYoIXZhbHVlKSByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gUklTS19DTEFTU19MSVNULmluY2x1ZGVzKHZhbHVlPy50b0xvd2VyQ2FzZSgpKTtcbiAgfVxufVxuIl19