vc-layout 1.0.87 → 1.0.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2022/lib/components/global-alert/global-alert/global-alert.component.mjs +83 -83
- package/esm2022/lib/components/global-alert/global-alert.module.mjs +1 -1
- package/esm2022/lib/components/header/business-cycle/business-cycle.component.mjs +3 -3
- package/esm2022/lib/components/header/create-workflow/create-workflow.component.mjs +3 -3
- package/esm2022/lib/components/header/header-container/header-container.component.mjs +15 -23
- package/esm2022/lib/components/header/header.module.mjs +1 -1
- package/esm2022/lib/components/header/queue/queue.component.mjs +35 -35
- package/esm2022/lib/components/header/search/search.component.mjs +73 -73
- package/esm2022/lib/components/header/support/support.component.mjs +15 -15
- package/esm2022/lib/components/header/user-details/user-details.component.mjs +3 -3
- package/esm2022/lib/components/product-list/module-list/module-list.component.mjs +78 -114
- package/esm2022/lib/components/product-list/preference-list/preference-list.component.mjs +62 -59
- package/esm2022/lib/components/product-list/product-list-container/product-list-container.component.mjs +17 -17
- package/esm2022/lib/components/product-list/product-list.module.mjs +1 -1
- package/esm2022/lib/components/sub-menu/sub-menu-container/sub-menu-container.component.mjs +79 -77
- package/esm2022/lib/components/sub-menu/sub-menu.module.mjs +1 -1
- package/esm2022/lib/configurations.mjs +1 -1
- package/esm2022/lib/constants/alerts.constant.mjs +1 -1
- package/esm2022/lib/constants/api.constant.mjs +1 -1
- package/esm2022/lib/constants/app-url.constant.mjs +6 -6
- package/esm2022/lib/constants/assets.constants.mjs +1 -1
- package/esm2022/lib/constants/business-cycle.constant.mjs +3 -3
- package/esm2022/lib/constants/product-list.constant.mjs +1 -1
- package/esm2022/lib/shared/pipe/check-create-permission.pipe.mjs +1 -1
- package/esm2022/lib/shared/pipe/date-format.pipe.mjs +1 -1
- package/esm2022/lib/shared/pipe/get-file-url.pipe.mjs +1 -1
- package/esm2022/lib/shared/pipe/get-module-icon.pipe.mjs +1 -1
- package/esm2022/lib/shared/pipe/pipes.module.mjs +1 -1
- package/esm2022/lib/shared/services/RBAC.service.mjs +1 -1
- package/esm2022/lib/shared/services/api.service.mjs +1 -1
- package/esm2022/lib/shared/services/business-cycle.service.mjs +1 -1
- package/esm2022/lib/shared/services/layout.service.mjs +1 -1
- package/esm2022/lib/shared/services/product-list.service.mjs +2 -5
- package/esm2022/lib/shared/ui-kit/avatar/avatar/avatar.component.mjs +19 -19
- package/esm2022/lib/shared/ui-kit/avatar/avatar.module.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/formgroup/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/shared/ui-kit/formgroup/click-outside.directive.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +3 -3
- package/esm2022/lib/shared/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +3 -3
- package/esm2022/lib/shared/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +3 -3
- package/esm2022/lib/shared/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +3 -3
- package/esm2022/lib/shared/ui-kit/formgroup/cs-select/cs-select.component.mjs +3 -3
- package/esm2022/lib/shared/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +3 -3
- package/esm2022/lib/shared/ui-kit/formgroup/formgroup.module.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/formgroup/pipes/pascal.pipe.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/page-loader/page-loader.component.mjs +33 -19
- package/esm2022/lib/shared/ui-kit/popover/popover-event.directive.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/popover/popover-longpress.directive.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/popover/popover.component.mjs +3 -3
- package/esm2022/lib/shared/ui-kit/popover/popover.directive.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/popover/popover.module.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/popover/popover.service.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/tooltip/tooltip.directive.mjs +1 -1
- package/esm2022/lib/shared/ui-kit/tooltip/tooltip.module.mjs +1 -1
- package/esm2022/lib/vc-layout.component.mjs +1 -1
- package/esm2022/lib/vc-layout.module.mjs +1 -1
- package/esm2022/lib/vc-layout.service.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/vc-layout.mjs +517 -547
- package/fesm2022/vc-layout.mjs.map +1 -1
- package/lib/components/header/header-container/header-container.component.d.ts +0 -2
- package/lib/components/product-list/module-list/module-list.component.d.ts +0 -10
- package/lib/components/sub-menu/sub-menu-container/sub-menu-container.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -8,24 +8,24 @@ export class SupportComponent {
|
|
|
8
8
|
}
|
|
9
9
|
ngOnInit() { }
|
|
10
10
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SupportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SupportComponent, selector: "vc-support", outputs: { openSupport: "openSupport" }, ngImport: i0, template: `<div
|
|
12
|
-
(click)="openSupport.emit()"
|
|
13
|
-
class="header-support vx-fs-11 vx-txt-white vx-tt-uppercase vx-p-1 vx-pl-3 vx-pr-
|
|
14
|
-
>
|
|
15
|
-
<img [src]="ASSETS.support_icon" alt="Support" width="18" height="14" />
|
|
16
|
-
SUPPORT
|
|
17
|
-
</div>`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.header-support{border-radius:.125rem;cursor:pointer;height:1.5rem;position:relative
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SupportComponent, selector: "vc-support", outputs: { openSupport: "openSupport" }, ngImport: i0, template: `<div
|
|
12
|
+
(click)="openSupport.emit()"
|
|
13
|
+
class="header-support vx-fs-11 vx-txt-white vx-tt-uppercase vx-p-1 vx-pl-3 vx-pr-2 vx-mr-2 vx-d-flex vx-align-center"
|
|
14
|
+
>
|
|
15
|
+
<img [src]="ASSETS.support_icon" alt="Support" width="18" height="14" />
|
|
16
|
+
SUPPORT
|
|
17
|
+
</div>`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.header-support{border-radius:.125rem;cursor:pointer;height:1.5rem;position:relative}.header-support:before{background:#74757690;content:\"\";position:absolute;top:0;right:-.5rem;width:1px;height:1.5rem}.header-support:hover{background:#343952}.header-support img{margin-right:.375rem}\n"] }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SupportComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'vc-support', template: `<div
|
|
22
|
-
(click)="openSupport.emit()"
|
|
23
|
-
class="header-support vx-fs-11 vx-txt-white vx-tt-uppercase vx-p-1 vx-pl-3 vx-pr-
|
|
24
|
-
>
|
|
25
|
-
<img [src]="ASSETS.support_icon" alt="Support" width="18" height="14" />
|
|
26
|
-
SUPPORT
|
|
27
|
-
</div>`, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.header-support{border-radius:.125rem;cursor:pointer;height:1.5rem;position:relative
|
|
21
|
+
args: [{ selector: 'vc-support', template: `<div
|
|
22
|
+
(click)="openSupport.emit()"
|
|
23
|
+
class="header-support vx-fs-11 vx-txt-white vx-tt-uppercase vx-p-1 vx-pl-3 vx-pr-2 vx-mr-2 vx-d-flex vx-align-center"
|
|
24
|
+
>
|
|
25
|
+
<img [src]="ASSETS.support_icon" alt="Support" width="18" height="14" />
|
|
26
|
+
SUPPORT
|
|
27
|
+
</div>`, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.header-support{border-radius:.125rem;cursor:pointer;height:1.5rem;position:relative}.header-support:before{background:#74757690;content:\"\";position:absolute;top:0;right:-.5rem;width:1px;height:1.5rem}.header-support:hover{background:#343952}.header-support img{margin-right:.375rem}\n"] }]
|
|
28
28
|
}], ctorParameters: function () { return []; }, propDecorators: { openSupport: [{
|
|
29
29
|
type: Output
|
|
30
30
|
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92Yy1sYXlvdXQvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9zdXBwb3J0L3N1cHBvcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBYTdELE1BQU0sT0FBTyxnQkFBZ0I7SUFLM0I7UUFKQSxXQUFNLEdBQVEsTUFBTSxDQUFDO1FBRVgsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVwRCxDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDOytHQVBSLGdCQUFnQjttR0FBaEIsZ0JBQWdCLDJGQVRqQjs7Ozs7O1NBTUg7OzRGQUdJLGdCQUFnQjtrQkFYNUIsU0FBUzsrQkFDRSxZQUFZLFlBQ1o7Ozs7OztTQU1IOzBFQU1HLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmMtc3VwcG9ydCcsXG4gIHRlbXBsYXRlOiBgPGRpdlxuICAgIChjbGljayk9XCJvcGVuU3VwcG9ydC5lbWl0KClcIlxuICAgIGNsYXNzPVwiaGVhZGVyLXN1cHBvcnQgdngtZnMtMTEgdngtdHh0LXdoaXRlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTEgdngtcGwtMyB2eC1wci0yIHZ4LW1yLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXG4gID5cbiAgICA8aW1nIFtzcmNdPVwiQVNTRVRTLnN1cHBvcnRfaWNvblwiIGFsdD1cIlN1cHBvcnRcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMTRcIiAvPlxuICAgIFNVUFBPUlRcbiAgPC9kaXY+YCxcbiAgc3R5bGVVcmxzOiBbJy4vc3VwcG9ydC5jb21wb25lbnQubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdXBwb3J0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQVNTRVRTOiBhbnkgPSBBU1NFVFM7XG5cbiAgQE91dHB1dCgpIG9wZW5TdXBwb3J0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG59XG4iXX0=
|
|
@@ -21,14 +21,14 @@ export class UserDetailsComponent {
|
|
|
21
21
|
this.authService.logout();
|
|
22
22
|
}
|
|
23
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserDetailsComponent, deps: [{ token: i1.LayoutService }, { token: i2.AuthorizerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserDetailsComponent, selector: "vc-user-details", inputs: { userDetails: "userDetails", subscriptionDetails: "subscriptionDetails" }, ngImport: i0, template: "<div\
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UserDetailsComponent, selector: "vc-user-details", inputs: { userDetails: "userDetails", subscriptionDetails: "subscriptionDetails" }, ngImport: i0, template: "<div\n class=\"header-user-details\"\n [arTooltip]=\"'View Your Profile'\"\n placement=\"bottom-right\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n appPopover\n (click)=\"userInfo.popover()\"\n position=\"right\"\n>\n <vc-avatar [userInfo]=\"userDetails\"></vc-avatar>\n</div>\n\n<vui-popover #userInfo [dontCloseonClick]=\"true\">\n <div class=\"header-user-details-box vx-mt-3 vx-pl-2 vx-pr-2\">\n <div\n class=\"header-user-details-box-top vx-d-flex vx-align-center vx-pt-2 vx-pb-2\"\n >\n <vc-avatar [userInfo]=\"userDetails\" [type]=\"'x-lg'\"></vc-avatar>\n <div class=\"header-user-details-box-top-right vx-ml-2\">\n <div\n class=\"userName vx-fs-13 vx-fw-500 vx-label-txt vx-tt-capitalize\"\n [arTooltip]=\"userDetails?.member_name\"\n placement=\"bottom-left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ userDetails?.member_name }}\n </div>\n <div\n class=\"userEmail vx-fs-11 vx-paragraph-txt\"\n [arTooltip]=\"userDetails?.member_email\"\n placement=\"bottom-left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ userDetails?.member_email }}\n </div>\n </div>\n </div>\n <div class=\"header-user-details-box-mid\">\n <ul class=\"vx-p-0 vx-m-0\">\n <li\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\n >\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\n >SUBSCRIPTION :</span\n >\n <span\n [class.expired]=\"subscriptionDetails?.after_expired_days_allow\"\n >{{\n subscriptionDetails?.after_expired_days_allow\n ? \"Expired\"\n : \"Active\"\n }}</span\n >\n </li>\n <li\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\n >\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\n >EXPIRING ON :</span\n >\n <span class=\"vx-paragraph-txt\">{{\n subscriptionDetails?.expiredDetails | date : \"dd MMM yyyy\"\n }}</span>\n </li>\n <li\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\n >\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\n >Support Pin :</span\n >\n <span class=\"vx-paragraph-txt\">{{ userDetails?.calling_pin }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"header-user-details-box-bottom vx-d-flex vx-align-center vx-justify-center vx-pt-3 vx-pb-3\"\n >\n <button\n (click)=\"editProfile()\"\n class=\"editProfile-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\"\n >\n Edit Profile\n </button>\n <button\n (click)=\"logout()\"\n class=\"logout-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\"\n >\n Log out\n </button>\n </div>\n </div>\n</vui-popover>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";::ng-deep .header-user-details{cursor:pointer;margin-left:1.75rem}::ng-deep .header-user-details vc-avatar .vx-avatar{border:none;width:1.5rem;height:1.5rem}::ng-deep .header-user-details vc-avatar .vx-avatar span{font-size:10px;font-weight:400}::ng-deep .header-user-details-box{background:#fff;border:1px solid #e3e3e9;border-radius:.25rem;box-shadow:0 4px 8px #1e5dd326;width:19rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar{border:none;width:5rem;height:5rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar span{font-size:18px;font-weight:600}::ng-deep .header-user-details-box-top-right{width:calc(100% - 5.5rem)}::ng-deep .header-user-details-box-top-right .userName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-top-right .userEmail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-mid ul li{border-bottom:1px solid #f1f1f1}::ng-deep .header-user-details-box-mid ul li span{width:50%;position:relative}::ng-deep .header-user-details-box-mid ul li span:first-of-type:before{background:#1e5dd3;color:#34aa44;content:\"\";position:absolute;left:.125rem;top:.125rem;width:1px;height:.75rem}::ng-deep .header-user-details-box-mid ul li span.expired{color:#d93b41}::ng-deep .header-user-details-box-bottom button{border-radius:.125rem;height:1.5rem;margin:0 .125rem!important}::ng-deep .header-user-details-box-bottom button.editProfile-btn{background:#fff;border:1px solid #1e5dd3}::ng-deep .header-user-details-box-bottom button.logout-btn{background:#1e5dd3;border:1px solid #1e5dd3}\n"], dependencies: [{ kind: "directive", type: i3.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i4.AvatarComponent, selector: "vc-avatar", inputs: ["userInfo", "type"] }, { kind: "component", type: i5.PopoverComponent, selector: "vui-popover", inputs: ["dontCloseonClick"], outputs: ["closedOnOverlay"] }, { kind: "directive", type: i6.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "position"] }, { kind: "pipe", type: i7.DatePipe, name: "date" }] }); }
|
|
25
25
|
}
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UserDetailsComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
|
-
args: [{ selector: 'vc-user-details', template: "<div\
|
|
28
|
+
args: [{ selector: 'vc-user-details', template: "<div\n class=\"header-user-details\"\n [arTooltip]=\"'View Your Profile'\"\n placement=\"bottom-right\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"true\"\n appPopover\n (click)=\"userInfo.popover()\"\n position=\"right\"\n>\n <vc-avatar [userInfo]=\"userDetails\"></vc-avatar>\n</div>\n\n<vui-popover #userInfo [dontCloseonClick]=\"true\">\n <div class=\"header-user-details-box vx-mt-3 vx-pl-2 vx-pr-2\">\n <div\n class=\"header-user-details-box-top vx-d-flex vx-align-center vx-pt-2 vx-pb-2\"\n >\n <vc-avatar [userInfo]=\"userDetails\" [type]=\"'x-lg'\"></vc-avatar>\n <div class=\"header-user-details-box-top-right vx-ml-2\">\n <div\n class=\"userName vx-fs-13 vx-fw-500 vx-label-txt vx-tt-capitalize\"\n [arTooltip]=\"userDetails?.member_name\"\n placement=\"bottom-left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ userDetails?.member_name }}\n </div>\n <div\n class=\"userEmail vx-fs-11 vx-paragraph-txt\"\n [arTooltip]=\"userDetails?.member_email\"\n placement=\"bottom-left\"\n type=\"black\"\n delay=\"0\"\n [tooltipMandatory]=\"false\"\n >\n {{ userDetails?.member_email }}\n </div>\n </div>\n </div>\n <div class=\"header-user-details-box-mid\">\n <ul class=\"vx-p-0 vx-m-0\">\n <li\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\n >\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\n >SUBSCRIPTION :</span\n >\n <span\n [class.expired]=\"subscriptionDetails?.after_expired_days_allow\"\n >{{\n subscriptionDetails?.after_expired_days_allow\n ? \"Expired\"\n : \"Active\"\n }}</span\n >\n </li>\n <li\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\n >\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\n >EXPIRING ON :</span\n >\n <span class=\"vx-paragraph-txt\">{{\n subscriptionDetails?.expiredDetails | date : \"dd MMM yyyy\"\n }}</span>\n </li>\n <li\n class=\"vx-fs-12 vx-d-flex vx-align-center vx-justify-between vx-pt-2 vx-pb-2 vx-lh-4\"\n >\n <span class=\"vx-label-txt vx-fw-500 vx-tt-uppercase vx-pl-3\"\n >Support Pin :</span\n >\n <span class=\"vx-paragraph-txt\">{{ userDetails?.calling_pin }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"header-user-details-box-bottom vx-d-flex vx-align-center vx-justify-center vx-pt-3 vx-pb-3\"\n >\n <button\n (click)=\"editProfile()\"\n class=\"editProfile-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\"\n >\n Edit Profile\n </button>\n <button\n (click)=\"logout()\"\n class=\"logout-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-pl-2 vx-pr-2 vx-m-0\"\n >\n Log out\n </button>\n </div>\n </div>\n</vui-popover>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";::ng-deep .header-user-details{cursor:pointer;margin-left:1.75rem}::ng-deep .header-user-details vc-avatar .vx-avatar{border:none;width:1.5rem;height:1.5rem}::ng-deep .header-user-details vc-avatar .vx-avatar span{font-size:10px;font-weight:400}::ng-deep .header-user-details-box{background:#fff;border:1px solid #e3e3e9;border-radius:.25rem;box-shadow:0 4px 8px #1e5dd326;width:19rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar{border:none;width:5rem;height:5rem}::ng-deep .header-user-details-box-top vc-avatar .vx-avatar span{font-size:18px;font-weight:600}::ng-deep .header-user-details-box-top-right{width:calc(100% - 5.5rem)}::ng-deep .header-user-details-box-top-right .userName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-top-right .userEmail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .header-user-details-box-mid ul li{border-bottom:1px solid #f1f1f1}::ng-deep .header-user-details-box-mid ul li span{width:50%;position:relative}::ng-deep .header-user-details-box-mid ul li span:first-of-type:before{background:#1e5dd3;color:#34aa44;content:\"\";position:absolute;left:.125rem;top:.125rem;width:1px;height:.75rem}::ng-deep .header-user-details-box-mid ul li span.expired{color:#d93b41}::ng-deep .header-user-details-box-bottom button{border-radius:.125rem;height:1.5rem;margin:0 .125rem!important}::ng-deep .header-user-details-box-bottom button.editProfile-btn{background:#fff;border:1px solid #1e5dd3}::ng-deep .header-user-details-box-bottom button.logout-btn{background:#1e5dd3;border:1px solid #1e5dd3}\n"] }]
|
|
29
29
|
}], ctorParameters: function () { return [{ type: i1.LayoutService }, { type: i2.AuthorizerService }]; }, propDecorators: { userDetails: [{
|
|
30
30
|
type: Input
|
|
31
31
|
}], subscriptionDetails: [{
|
|
32
32
|
type: Input
|
|
33
33
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZjLWxheW91dC9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL3VzZXItZGV0YWlscy91c2VyLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvdXNlci1kZXRhaWxzL3VzZXItZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7OztBQVFqRSxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlBQ1UsYUFBNEIsRUFDNUIsV0FBOEI7UUFEOUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO0lBQ3JDLENBQUM7SUFFSixXQUFXO1FBQ1QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUNqRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBZlUsb0JBQW9CO21HQUFwQixvQkFBb0IsMklDVmpDLG11R0FrR0E7OzRGRHhGYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsaUJBQWlCO29JQUtsQixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSU5fQVBQX1VSTCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hcHAtdXJsLmNvbnN0YW50JztcbmltcG9ydCB7IEF1dGhvcml6ZXJTZXJ2aWNlIH0gZnJvbSAnQHZjb21wbHkvYXV0aG9yaXplcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZjLXVzZXItZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLWRldGFpbHMuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVXNlckRldGFpbHNDb21wb25lbnQge1xuICBASW5wdXQoKSB1c2VyRGV0YWlsczogYW55O1xuICBASW5wdXQoKSBzdWJzY3JpcHRpb25EZXRhaWxzOiBhbnk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRob3JpemVyU2VydmljZVxuICApIHt9XG5cbiAgZWRpdFByb2ZpbGUoKSB7XG4gICAgY29uc3QgVVJMID0gdGhpcy5sYXlvdXRTZXJ2aWNlLmJhc2VVcmwgKyBJTl9BUFBfVVJMLkVESVRfUFJPRklMRTtcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IFVSTDtcbiAgfVxuXG4gIGxvZ291dCgpIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiaGVhZGVyLXVzZXItZGV0YWlsc1wiXG4gIFthclRvb2x0aXBdPVwiJ1ZpZXcgWW91ciBQcm9maWxlJ1wiXG4gIHBsYWNlbWVudD1cImJvdHRvbS1yaWdodFwiXG4gIHR5cGU9XCJibGFja1wiXG4gIGRlbGF5PVwiMFwiXG4gIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxuICBhcHBQb3BvdmVyXG4gIChjbGljayk9XCJ1c2VySW5mby5wb3BvdmVyKClcIlxuICBwb3NpdGlvbj1cInJpZ2h0XCJcbj5cbiAgPHZjLWF2YXRhciBbdXNlckluZm9dPVwidXNlckRldGFpbHNcIj48L3ZjLWF2YXRhcj5cbjwvZGl2PlxuXG48dnVpLXBvcG92ZXIgI3VzZXJJbmZvIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cbiAgPGRpdiBjbGFzcz1cImhlYWRlci11c2VyLWRldGFpbHMtYm94IHZ4LW10LTMgdngtcGwtMiB2eC1wci0yXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJoZWFkZXItdXNlci1kZXRhaWxzLWJveC10b3AgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wdC0yIHZ4LXBiLTJcIlxuICAgID5cbiAgICAgIDx2Yy1hdmF0YXIgW3VzZXJJbmZvXT1cInVzZXJEZXRhaWxzXCIgW3R5cGVdPVwiJ3gtbGcnXCI+PC92Yy1hdmF0YXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXVzZXItZGV0YWlscy1ib3gtdG9wLXJpZ2h0IHZ4LW1sLTJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidXNlck5hbWUgdngtZnMtMTMgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC1jYXBpdGFsaXplXCJcbiAgICAgICAgICBbYXJUb29sdGlwXT1cInVzZXJEZXRhaWxzPy5tZW1iZXJfbmFtZVwiXG4gICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgIHR5cGU9XCJibGFja1wiXG4gICAgICAgICAgZGVsYXk9XCIwXCJcbiAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB1c2VyRGV0YWlscz8ubWVtYmVyX25hbWUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInVzZXJFbWFpbCB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcbiAgICAgICAgICBbYXJUb29sdGlwXT1cInVzZXJEZXRhaWxzPy5tZW1iZXJfZW1haWxcIlxuICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcbiAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdXNlckRldGFpbHM/Lm1lbWJlcl9lbWFpbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdXNlci1kZXRhaWxzLWJveC1taWRcIj5cbiAgICAgIDx1bCBjbGFzcz1cInZ4LXAtMCB2eC1tLTBcIj5cbiAgICAgICAgPGxpXG4gICAgICAgICAgY2xhc3M9XCJ2eC1mcy0xMiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wdC0yIHZ4LXBiLTIgdngtbGgtNFwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LWxhYmVsLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTNcIlxuICAgICAgICAgICAgPlNVQlNDUklQVElPTiA6PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBbY2xhc3MuZXhwaXJlZF09XCJzdWJzY3JpcHRpb25EZXRhaWxzPy5hZnRlcl9leHBpcmVkX2RheXNfYWxsb3dcIlxuICAgICAgICAgICAgPnt7XG4gICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkRldGFpbHM/LmFmdGVyX2V4cGlyZWRfZGF5c19hbGxvd1xuICAgICAgICAgICAgICAgID8gXCJFeHBpcmVkXCJcbiAgICAgICAgICAgICAgICA6IFwiQWN0aXZlXCJcbiAgICAgICAgICAgIH19PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGlcbiAgICAgICAgICBjbGFzcz1cInZ4LWZzLTEyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXB0LTIgdngtcGItMiB2eC1saC00XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidngtbGFiZWwtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtM1wiXG4gICAgICAgICAgICA+RVhQSVJJTkcgT04gOjwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHRcIj57e1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uRGV0YWlscz8uZXhwaXJlZERldGFpbHMgfCBkYXRlIDogXCJkZCBNTU0geXl5eVwiXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvbGk+XG4gICAgICAgIDxsaVxuICAgICAgICAgIGNsYXNzPVwidngtZnMtMTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcHQtMiB2eC1wYi0yIHZ4LWxoLTRcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1sYWJlbC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0zXCJcbiAgICAgICAgICAgID5TdXBwb3J0IFBpbiA6PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dFwiPnt7IHVzZXJEZXRhaWxzPy5jYWxsaW5nX3BpbiB9fTwvc3Bhbj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJoZWFkZXItdXNlci1kZXRhaWxzLWJveC1ib3R0b20gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1wdC0zIHZ4LXBiLTNcIlxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cImVkaXRQcm9maWxlKClcIlxuICAgICAgICBjbGFzcz1cImVkaXRQcm9maWxlLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTIgdngtcHItMiB2eC1tLTBcIlxuICAgICAgPlxuICAgICAgICBFZGl0IFByb2ZpbGVcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwibG9nb3V0KClcIlxuICAgICAgICBjbGFzcz1cImxvZ291dC1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtcGwtMiB2eC1wci0yIHZ4LW0tMFwiXG4gICAgICA+XG4gICAgICAgIExvZyBvdXRcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdnVpLXBvcG92ZXI+XG4iXX0=
|
|
@@ -20,53 +20,17 @@ export class ModuleListComponent {
|
|
|
20
20
|
this.isSubMenuVisible = true;
|
|
21
21
|
this.onToggleSubmenu = new EventEmitter();
|
|
22
22
|
this.ASSETS = ASSETS;
|
|
23
|
-
this.PRODUCT_LIST = [];
|
|
23
|
+
this.PRODUCT_LIST = [...new Set(PRODUCT_LIST)];
|
|
24
24
|
this.assessmentPermission = [];
|
|
25
25
|
this.apiService.getSubscriptionList();
|
|
26
26
|
}
|
|
27
27
|
ngOnInit() {
|
|
28
28
|
this.setLoader();
|
|
29
|
-
this.initializeProductList();
|
|
30
29
|
}
|
|
31
30
|
ngOnChanges() {
|
|
32
31
|
this.getUserDetails();
|
|
33
32
|
this.checkModuleSubscription();
|
|
34
33
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Initialize the product list only after all required data is available
|
|
37
|
-
* This prevents icon flashing by building the filtered list incrementally
|
|
38
|
-
*/
|
|
39
|
-
initializeProductList() {
|
|
40
|
-
this.apiService.loggedUserDetail$.subscribe((userData) => {
|
|
41
|
-
this.apiService.subscriptionDetail$.subscribe((subscriptionData) => {
|
|
42
|
-
if (userData && subscriptionData) {
|
|
43
|
-
this.buildFilteredProductList(subscriptionData);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Build the filtered product list incrementally and show all at once
|
|
50
|
-
* This prevents icon flashing by only showing the final filtered result
|
|
51
|
-
*/
|
|
52
|
-
buildFilteredProductList(subscriptionData) {
|
|
53
|
-
let filteredList = [...new Set(PRODUCT_LIST)];
|
|
54
|
-
filteredList = this.productListService.subscribedProduct(filteredList, subscriptionData);
|
|
55
|
-
if (!this.assessmentPermissionCheck(this.rbacService.getRBACPermissions('assessment'))) {
|
|
56
|
-
filteredList = filteredList.filter((item) => item.code !== CODES[0]);
|
|
57
|
-
}
|
|
58
|
-
if (this.featureFlag.isFeatureEnabled('ff_cases_enabled')) {
|
|
59
|
-
filteredList = filteredList.filter((item) => item.code !== CODES[1]);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
filteredList = filteredList.filter((item) => item.code !== CODES[2]);
|
|
63
|
-
}
|
|
64
|
-
if (!this.isSubMenuVisible) {
|
|
65
|
-
filteredList = filteredList.filter((product) => product.code !== 'TOGGLE');
|
|
66
|
-
}
|
|
67
|
-
this.PRODUCT_LIST = filteredList;
|
|
68
|
-
this.setProductList();
|
|
69
|
-
}
|
|
70
34
|
/**
|
|
71
35
|
* Handles the toggle event of the submenu for each product.
|
|
72
36
|
*
|
|
@@ -145,86 +109,86 @@ export class ModuleListComponent {
|
|
|
145
109
|
}
|
|
146
110
|
}
|
|
147
111
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModuleListComponent, deps: [{ token: i1.ProductListService }, { token: i2.ApiService }, { token: i3.RbacService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModuleListComponent, selector: "vc-module-list", inputs: { featureFlag: "featureFlag", activeModule: "activeModule", isSubMenuVisible: "isSubMenuVisible" }, outputs: { onToggleSubmenu: "onToggleSubmenu" }, usesOnChanges: true, ngImport: i0, template: `
|
|
149
|
-
<app-page-loader *ngIf="isLoading"></app-page-loader>
|
|
150
|
-
<ng-container *ngIf="!isLoading">
|
|
151
|
-
<div class="module-list">
|
|
152
|
-
<ul class="vx-p-0 vx-m-0">
|
|
153
|
-
<li
|
|
154
|
-
*ngFor="let eachProduct of PRODUCT_LIST"
|
|
155
|
-
class="vx-d-flex vx-align-center vx-justify-center"
|
|
156
|
-
[ngClass]="eachProduct.class"
|
|
157
|
-
[class.active]="activeModule === eachProduct.code"
|
|
158
|
-
>
|
|
159
|
-
<a
|
|
160
|
-
class="vx-d-flex vx-align-center vx-justify-center vx-w-100"
|
|
161
|
-
[ngClass]="eachProduct?.linkClass"
|
|
162
|
-
[arTooltip]="eachProduct.name"
|
|
163
|
-
placement="right"
|
|
164
|
-
type="black"
|
|
165
|
-
delay="0"
|
|
166
|
-
[tooltipMandatory]="true"
|
|
167
|
-
[animate]="true"
|
|
168
|
-
(click)="eachProduct?.callback(eachProduct)"
|
|
169
|
-
><img
|
|
170
|
-
[src]="eachProduct.code | getModuleIcon : activeModule"
|
|
171
|
-
alt=""
|
|
172
|
-
width="16"
|
|
173
|
-
height="16"
|
|
174
|
-
/>
|
|
175
|
-
<ng-template *ngIf="eachProduct?.code !== 'TOGGLE'">
|
|
176
|
-
[href]="eachProduct.url"
|
|
177
|
-
</ng-template>
|
|
178
|
-
<ng-template *ngElse>
|
|
179
|
-
(click)="onSubMenuToggle(eachProduct)"
|
|
180
|
-
</ng-template>
|
|
181
|
-
</a>
|
|
182
|
-
</li>
|
|
183
|
-
</ul>
|
|
184
|
-
</div>
|
|
185
|
-
</ng-container>
|
|
112
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ModuleListComponent, selector: "vc-module-list", inputs: { featureFlag: "featureFlag", activeModule: "activeModule", isSubMenuVisible: "isSubMenuVisible" }, outputs: { onToggleSubmenu: "onToggleSubmenu" }, usesOnChanges: true, ngImport: i0, template: `
|
|
113
|
+
<app-page-loader *ngIf="isLoading"></app-page-loader>
|
|
114
|
+
<ng-container *ngIf="!isLoading">
|
|
115
|
+
<div class="module-list">
|
|
116
|
+
<ul class="vx-p-0 vx-m-0">
|
|
117
|
+
<li
|
|
118
|
+
*ngFor="let eachProduct of PRODUCT_LIST"
|
|
119
|
+
class="vx-d-flex vx-align-center vx-justify-center"
|
|
120
|
+
[ngClass]="eachProduct.class"
|
|
121
|
+
[class.active]="activeModule === eachProduct.code"
|
|
122
|
+
>
|
|
123
|
+
<a
|
|
124
|
+
class="vx-d-flex vx-align-center vx-justify-center vx-w-100"
|
|
125
|
+
[ngClass]="eachProduct?.linkClass"
|
|
126
|
+
[arTooltip]="eachProduct.name"
|
|
127
|
+
placement="right"
|
|
128
|
+
type="black"
|
|
129
|
+
delay="0"
|
|
130
|
+
[tooltipMandatory]="true"
|
|
131
|
+
[animate]="true"
|
|
132
|
+
(click)="eachProduct?.callback(eachProduct)"
|
|
133
|
+
><img
|
|
134
|
+
[src]="eachProduct.code | getModuleIcon : activeModule"
|
|
135
|
+
alt=""
|
|
136
|
+
width="16"
|
|
137
|
+
height="16"
|
|
138
|
+
/>
|
|
139
|
+
<ng-template *ngIf="eachProduct?.code !== 'TOGGLE'">
|
|
140
|
+
[href]="eachProduct.url"
|
|
141
|
+
</ng-template>
|
|
142
|
+
<ng-template *ngElse>
|
|
143
|
+
(click)="onSubMenuToggle(eachProduct)"
|
|
144
|
+
</ng-template>
|
|
145
|
+
</a>
|
|
146
|
+
</li>
|
|
147
|
+
</ul>
|
|
148
|
+
</div>
|
|
149
|
+
</ng-container>
|
|
186
150
|
`, isInline: true, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.module-list ul li{position:relative;z-index:1}.module-list ul li.active:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:.5rem;left:.5rem;width:2rem;height:2rem;z-index:-1}@media screen and (max-width: 1366px){.module-list ul li.active:before{top:.25rem}}.module-list ul li.dashboard-list:after{background:#343952;border-radius:.25rem .25rem 0 0;content:\"\";position:absolute;top:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}@media screen and (max-width: 1366px){.module-list ul li.dashboard-list:after{top:.125rem;height:2.375rem}}.module-list ul li.toDoResponsibility-list:after{background:#343952;border-radius:0 0 .25rem .25rem;content:\"\";position:absolute;bottom:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}@media screen and (max-width: 1366px){.module-list ul li.toDoResponsibility-list:after{bottom:.125rem;height:2.375rem}}.module-list ul li a{height:3rem}@media screen and (max-width: 1366px){.module-list ul li a{height:2.5rem}}.module-list ul li a.vc-hamburger{height:2rem}.module-list ul li a img{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i6.PageLoaderComponent, selector: "app-page-loader" }, { kind: "pipe", type: i7.GetModuleIconPipe, name: "getModuleIcon" }] }); }
|
|
187
151
|
}
|
|
188
152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModuleListComponent, decorators: [{
|
|
189
153
|
type: Component,
|
|
190
|
-
args: [{ selector: 'vc-module-list', template: `
|
|
191
|
-
<app-page-loader *ngIf="isLoading"></app-page-loader>
|
|
192
|
-
<ng-container *ngIf="!isLoading">
|
|
193
|
-
<div class="module-list">
|
|
194
|
-
<ul class="vx-p-0 vx-m-0">
|
|
195
|
-
<li
|
|
196
|
-
*ngFor="let eachProduct of PRODUCT_LIST"
|
|
197
|
-
class="vx-d-flex vx-align-center vx-justify-center"
|
|
198
|
-
[ngClass]="eachProduct.class"
|
|
199
|
-
[class.active]="activeModule === eachProduct.code"
|
|
200
|
-
>
|
|
201
|
-
<a
|
|
202
|
-
class="vx-d-flex vx-align-center vx-justify-center vx-w-100"
|
|
203
|
-
[ngClass]="eachProduct?.linkClass"
|
|
204
|
-
[arTooltip]="eachProduct.name"
|
|
205
|
-
placement="right"
|
|
206
|
-
type="black"
|
|
207
|
-
delay="0"
|
|
208
|
-
[tooltipMandatory]="true"
|
|
209
|
-
[animate]="true"
|
|
210
|
-
(click)="eachProduct?.callback(eachProduct)"
|
|
211
|
-
><img
|
|
212
|
-
[src]="eachProduct.code | getModuleIcon : activeModule"
|
|
213
|
-
alt=""
|
|
214
|
-
width="16"
|
|
215
|
-
height="16"
|
|
216
|
-
/>
|
|
217
|
-
<ng-template *ngIf="eachProduct?.code !== 'TOGGLE'">
|
|
218
|
-
[href]="eachProduct.url"
|
|
219
|
-
</ng-template>
|
|
220
|
-
<ng-template *ngElse>
|
|
221
|
-
(click)="onSubMenuToggle(eachProduct)"
|
|
222
|
-
</ng-template>
|
|
223
|
-
</a>
|
|
224
|
-
</li>
|
|
225
|
-
</ul>
|
|
226
|
-
</div>
|
|
227
|
-
</ng-container>
|
|
154
|
+
args: [{ selector: 'vc-module-list', template: `
|
|
155
|
+
<app-page-loader *ngIf="isLoading"></app-page-loader>
|
|
156
|
+
<ng-container *ngIf="!isLoading">
|
|
157
|
+
<div class="module-list">
|
|
158
|
+
<ul class="vx-p-0 vx-m-0">
|
|
159
|
+
<li
|
|
160
|
+
*ngFor="let eachProduct of PRODUCT_LIST"
|
|
161
|
+
class="vx-d-flex vx-align-center vx-justify-center"
|
|
162
|
+
[ngClass]="eachProduct.class"
|
|
163
|
+
[class.active]="activeModule === eachProduct.code"
|
|
164
|
+
>
|
|
165
|
+
<a
|
|
166
|
+
class="vx-d-flex vx-align-center vx-justify-center vx-w-100"
|
|
167
|
+
[ngClass]="eachProduct?.linkClass"
|
|
168
|
+
[arTooltip]="eachProduct.name"
|
|
169
|
+
placement="right"
|
|
170
|
+
type="black"
|
|
171
|
+
delay="0"
|
|
172
|
+
[tooltipMandatory]="true"
|
|
173
|
+
[animate]="true"
|
|
174
|
+
(click)="eachProduct?.callback(eachProduct)"
|
|
175
|
+
><img
|
|
176
|
+
[src]="eachProduct.code | getModuleIcon : activeModule"
|
|
177
|
+
alt=""
|
|
178
|
+
width="16"
|
|
179
|
+
height="16"
|
|
180
|
+
/>
|
|
181
|
+
<ng-template *ngIf="eachProduct?.code !== 'TOGGLE'">
|
|
182
|
+
[href]="eachProduct.url"
|
|
183
|
+
</ng-template>
|
|
184
|
+
<ng-template *ngElse>
|
|
185
|
+
(click)="onSubMenuToggle(eachProduct)"
|
|
186
|
+
</ng-template>
|
|
187
|
+
</a>
|
|
188
|
+
</li>
|
|
189
|
+
</ul>
|
|
190
|
+
</div>
|
|
191
|
+
</ng-container>
|
|
228
192
|
`, styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";.module-list ul li{position:relative;z-index:1}.module-list ul li.active:before{background:#4681ef;border-radius:.25rem;content:\"\";position:absolute;top:.5rem;left:.5rem;width:2rem;height:2rem;z-index:-1}@media screen and (max-width: 1366px){.module-list ul li.active:before{top:.25rem}}.module-list ul li.dashboard-list:after{background:#343952;border-radius:.25rem .25rem 0 0;content:\"\";position:absolute;top:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}@media screen and (max-width: 1366px){.module-list ul li.dashboard-list:after{top:.125rem;height:2.375rem}}.module-list ul li.toDoResponsibility-list:after{background:#343952;border-radius:0 0 .25rem .25rem;content:\"\";position:absolute;bottom:.375rem;left:.375rem;width:2.25rem;height:2.625rem;z-index:-2}@media screen and (max-width: 1366px){.module-list ul li.toDoResponsibility-list:after{bottom:.125rem;height:2.375rem}}.module-list ul li a{height:3rem}@media screen and (max-width: 1366px){.module-list ul li a{height:2.5rem}}.module-list ul li a.vc-hamburger{height:2rem}.module-list ul li a img{pointer-events:none}\n"] }]
|
|
229
193
|
}], ctorParameters: function () { return [{ type: i1.ProductListService }, { type: i2.ApiService }, { type: i3.RbacService }]; }, propDecorators: { featureFlag: [{
|
|
230
194
|
type: Input
|
|
@@ -235,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
235
199
|
}], onToggleSubmenu: [{
|
|
236
200
|
type: Output
|
|
237
201
|
}] } });
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LWxpc3QvbW9kdWxlLWxpc3QvbW9kdWxlLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdELE9BQU8sRUFDTCxZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLEtBQUssRUFDTixNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7QUFnRGxELE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFDVSxrQkFBc0MsRUFDdEMsVUFBc0IsRUFDdEIsV0FBd0I7UUFGeEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBZGxDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsVUFBSyxHQUFRLEtBQUssQ0FBQztRQUVWLGlCQUFZLEdBQVcsWUFBWSxDQUFDO1FBQ3BDLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUNoQyxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXZFLFdBQU0sR0FBUSxNQUFNLENBQUM7UUFDckIsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFDdkIseUJBQW9CLEdBQWUsRUFBRSxDQUFDO1FBT3BDLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJ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Ozs7Ozs7R0FzQ1Q7OzRGQUdVLG1CQUFtQjtrQkEzQy9CLFNBQVM7K0JBQ0UsZ0JBQWdCLFlBQ2hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDVDs0SkFNUSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcclxuaW1wb3J0IHtcclxuICBQUk9EVUNUX0xJU1QsXHJcbiAgQVNTRVNTTUVOVF9QRVJNSVNTSU9OUyxcclxuICBDT0RFU1xyXG59IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9wcm9kdWN0LWxpc3QuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBQcm9kdWN0TGlzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvcHJvZHVjdC1saXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmJhY1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvUkJBQy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmMtbW9kdWxlLWxpc3QnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8YXBwLXBhZ2UtbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCI+PC9hcHAtcGFnZS1sb2FkZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZHVsZS1saXN0XCI+XHJcbiAgICAgIDx1bCBjbGFzcz1cInZ4LXAtMCB2eC1tLTBcIj5cclxuICAgICAgICA8bGlcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBlYWNoUHJvZHVjdCBvZiBQUk9EVUNUX0xJU1RcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cImVhY2hQcm9kdWN0LmNsYXNzXCJcclxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTW9kdWxlID09PSBlYWNoUHJvZHVjdC5jb2RlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8YVxyXG4gICAgICAgICAgICBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdy0xMDBcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJlYWNoUHJvZHVjdD8ubGlua0NsYXNzXCJcclxuICAgICAgICAgICAgW2FyVG9vbHRpcF09XCJlYWNoUHJvZHVjdC5uYW1lXCJcclxuICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2FuaW1hdGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJlYWNoUHJvZHVjdD8uY2FsbGJhY2soZWFjaFByb2R1Y3QpXCJcclxuICAgICAgICAgICAgPjxpbWdcclxuICAgICAgICAgICAgICBbc3JjXT1cImVhY2hQcm9kdWN0LmNvZGUgfCBnZXRNb2R1bGVJY29uIDogYWN0aXZlTW9kdWxlXCJcclxuICAgICAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiZWFjaFByb2R1Y3Q/LmNvZGUgIT09ICdUT0dHTEUnXCI+XHJcbiAgICAgICAgICAgICAgW2hyZWZdPVwiZWFjaFByb2R1Y3QudXJsXCJcclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0Vsc2U+XHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3ViTWVudVRvZ2dsZShlYWNoUHJvZHVjdClcIlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICBgLFxyXG4gIHN0eWxlVXJsczogWycuL21vZHVsZS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2R1bGVMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIENPREVTOiBhbnkgPSBDT0RFUztcclxuICBASW5wdXQoKSBmZWF0dXJlRmxhZzogYW55O1xyXG4gIEBJbnB1dCgpIGFjdGl2ZU1vZHVsZTogc3RyaW5nID0gJ0NPTVBMSUFOQ0UnO1xyXG4gIEBJbnB1dCgpIGlzU3ViTWVudVZpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBPdXRwdXQoKSBvblRvZ2dsZVN1Ym1lbnU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEFTU0VUUzogYW55ID0gQVNTRVRTO1xyXG4gIFBST0RVQ1RfTElTVDogYW55ID0gW107IFxyXG4gIGFzc2Vzc21lbnRQZXJtaXNzaW9uOiBBcnJheTxhbnk+ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwcm9kdWN0TGlzdFNlcnZpY2U6IFByb2R1Y3RMaXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgcmJhY1NlcnZpY2U6IFJiYWNTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0U3Vic2NyaXB0aW9uTGlzdCgpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0TG9hZGVyKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVQcm9kdWN0TGlzdCgpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0VXNlckRldGFpbHMoKTtcclxuICAgIHRoaXMuY2hlY2tNb2R1bGVTdWJzY3JpcHRpb24oKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIHByb2R1Y3QgbGlzdCBvbmx5IGFmdGVyIGFsbCByZXF1aXJlZCBkYXRhIGlzIGF2YWlsYWJsZVxyXG4gICAqIFRoaXMgcHJldmVudHMgaWNvbiBmbGFzaGluZyBieSBidWlsZGluZyB0aGUgZmlsdGVyZWQgbGlzdCBpbmNyZW1lbnRhbGx5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplUHJvZHVjdExpc3QoKSB7XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UubG9nZ2VkVXNlckRldGFpbCQuc3Vic2NyaWJlKCh1c2VyRGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLmFwaVNlcnZpY2Uuc3Vic2NyaXB0aW9uRGV0YWlsJC5zdWJzY3JpYmUoKHN1YnNjcmlwdGlvbkRhdGEpID0+IHtcclxuICAgICAgICBpZiAodXNlckRhdGEgJiYgc3Vic2NyaXB0aW9uRGF0YSkge1xyXG4gICAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkUHJvZHVjdExpc3Qoc3Vic2NyaXB0aW9uRGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQnVpbGQgdGhlIGZpbHRlcmVkIHByb2R1Y3QgbGlzdCBpbmNyZW1lbnRhbGx5IGFuZCBzaG93IGFsbCBhdCBvbmNlXHJcbiAgICogVGhpcyBwcmV2ZW50cyBpY29uIGZsYXNoaW5nIGJ5IG9ubHkgc2hvd2luZyB0aGUgZmluYWwgZmlsdGVyZWQgcmVzdWx0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBidWlsZEZpbHRlcmVkUHJvZHVjdExpc3Qoc3Vic2NyaXB0aW9uRGF0YTogYW55KSB7XHJcbiAgICBsZXQgZmlsdGVyZWRMaXN0ID0gWy4uLm5ldyBTZXQoUFJPRFVDVF9MSVNUKV07XHJcblxyXG4gICAgZmlsdGVyZWRMaXN0ID0gdGhpcy5wcm9kdWN0TGlzdFNlcnZpY2Uuc3Vic2NyaWJlZFByb2R1Y3QoXHJcbiAgICAgIGZpbHRlcmVkTGlzdCxcclxuICAgICAgc3Vic2NyaXB0aW9uRGF0YVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgICF0aGlzLmFzc2Vzc21lbnRQZXJtaXNzaW9uQ2hlY2soXHJcbiAgICAgICAgdGhpcy5yYmFjU2VydmljZS5nZXRSQkFDUGVybWlzc2lvbnMoJ2Fzc2Vzc21lbnQnKVxyXG4gICAgICApXHJcbiAgICApIHtcclxuICAgICAgZmlsdGVyZWRMaXN0ID0gZmlsdGVyZWRMaXN0LmZpbHRlcihcclxuICAgICAgICAoaXRlbTogYW55KSA9PiBpdGVtLmNvZGUgIT09IENPREVTWzBdXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZmVhdHVyZUZsYWcuaXNGZWF0dXJlRW5hYmxlZCgnZmZfY2FzZXNfZW5hYmxlZCcpKSB7XHJcbiAgICAgIGZpbHRlcmVkTGlzdCA9IGZpbHRlcmVkTGlzdC5maWx0ZXIoXHJcbiAgICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbS5jb2RlICE9PSBDT0RFU1sxXVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZmlsdGVyZWRMaXN0ID0gZmlsdGVyZWRMaXN0LmZpbHRlcihcclxuICAgICAgICAoaXRlbTogYW55KSA9PiBpdGVtLmNvZGUgIT09IENPREVTWzJdXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzU3ViTWVudVZpc2libGUpIHtcclxuICAgICAgZmlsdGVyZWRMaXN0ID0gZmlsdGVyZWRMaXN0LmZpbHRlcihcclxuICAgICAgICAocHJvZHVjdDogYW55KSA9PiBwcm9kdWN0LmNvZGUgIT09ICdUT0dHTEUnXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5QUk9EVUNUX0xJU1QgPSBmaWx0ZXJlZExpc3Q7XHJcbiAgICB0aGlzLnNldFByb2R1Y3RMaXN0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSB0b2dnbGUgZXZlbnQgb2YgdGhlIHN1Ym1lbnUgZm9yIGVhY2ggcHJvZHVjdC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBlYWNoUHJvZHVjdCAtIFRoZSBwcm9kdWN0IG9iamVjdCBmb3Igd2hpY2ggdGhlIHN1Ym1lbnUgaXMgYmVpbmcgdG9nZ2xlZC5cclxuICAgKiBAcmV0dXJucyBSZXR1cm5zIGZhbHNlIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3IuXHJcbiAgICovXHJcbiAgcHVibGljIG9uU3ViTWVudVRvZ2dsZShlYWNoUHJvZHVjdDogYW55KSB7XHJcbiAgICBpZiAoZWFjaFByb2R1Y3Q/LmNvZGUgPT09ICdUT0dHTEUnKSB7XHJcbiAgICAgIHRoaXMub25Ub2dnbGVTdWJtZW51LmVtaXQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gZWFjaFByb2R1Y3QudXJsO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBDaGVja3MgdGhlIG1vZHVsZSBzdWJzY3JpcHRpb24gYW5kIHVwZGF0ZXMgdGhlIHByb2R1Y3QgbGlzdCBhY2NvcmRpbmdseS5cclxuICAgKiBTdWJzY3JpYmVzIHRvIHRoZSBgc3Vic2NyaXB0aW9uRGV0YWlsJGAgb2JzZXJ2YWJsZSBmcm9tIHRoZSBgYXBpU2VydmljZWAgYW5kIHVwZGF0ZXMgdGhlIGBQUk9EVUNUX0xJU1RgIHByb3BlcnR5IG9mIHRoZSBjb21wb25lbnQgYmFzZWQgb24gdGhlIHJlY2VpdmVkIGRhdGEuXHJcbiAgICpcclxuICAgKiBAcmVtYXJrc1xyXG4gICAqIFRoaXMgbWV0aG9kIGlzIHR5cGljYWxseSBjYWxsZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGluaXRpYWxpemVkIG9yIHdoZW4gdGhlIHN1YnNjcmlwdGlvbiBkZXRhaWxzIGNoYW5nZS5cclxuICAgKi9cclxuICBwcml2YXRlIGNoZWNrTW9kdWxlU3Vic2NyaXB0aW9uKCkge1xyXG4gICAgdGhpcy5hcGlTZXJ2aWNlLnN1YnNjcmlwdGlvbkRldGFpbCQuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgdGhpcy5QUk9EVUNUX0xJU1QgPSB0aGlzLnByb2R1Y3RMaXN0U2VydmljZS5zdWJzY3JpYmVkUHJvZHVjdChcclxuICAgICAgICAgIHRoaXMuUFJPRFVDVF9MSVNULFxyXG4gICAgICAgICAgZGF0YVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5pc1N1Yk1lbnVWaXNpYmxlKSB7XHJcbiAgICAgICAgICB0aGlzLlBST0RVQ1RfTElTVCA9IHRoaXMuUFJPRFVDVF9MSVNULmZpbHRlcihcclxuICAgICAgICAgICAgKHByb2R1Y3Q6IGFueSkgPT4gcHJvZHVjdC5jb2RlICE9PSAnVE9HR0xFJ1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5QUk9EVUNUX0xJU1QsIHRoaXMuaXNTdWJNZW51VmlzaWJsZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRMb2FkZXIoKSB7XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuaXNMb2FkaW5nLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gcmVzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBwcm9kdWN0IGxpc3QgYnkgbWFwcGluZyBlYWNoIHByb2R1Y3QgaW4gdGhlIFBST0RVQ1RfTElTVCBhcnJheS5cclxuICAgKiBFYWNoIHByb2R1Y3QncyBjYWxsYmFjayBpcyBzZXQgdG8gdGhlIG9uU3ViTWVudVRvZ2dsZSBtZXRob2QgYm91bmQgdG8gdGhlIGN1cnJlbnQgaW5zdGFuY2UuXHJcbiAgICogVGhlIHByb2R1Y3QncyBVUkwgaXMgc2V0IHVzaW5nIHRoZSBzZXRQcm9kdWN0Q2xpY2tDYWxsYmFjayBtZXRob2Qgb2YgdGhlIHByb2R1Y3RMaXN0U2VydmljZSxcclxuICAgKiBwYXNzaW5nIHRoZSBwcm9kdWN0IGFuZCB0aGUgZmVhdHVyZUZsYWcgYXMgYXJndW1lbnRzLiBJZiB0aGUgcmV0dXJuZWQgVVJMIGlzIG51bGwgb3IgdW5kZWZpbmVkLFxyXG4gICAqIGFuIGVtcHR5IHN0cmluZyBpcyBhc3NpZ25lZCB0byB0aGUgcHJvZHVjdCdzIFVSTCBwcm9wZXJ0eS5cclxuICAgKi9cclxuXHJcbiAgcHJpdmF0ZSBhc3Nlc3NtZW50UGVybWlzc2lvbkNoZWNrKGRhdGE6IGFueVtdKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBhc3Nlc3NtZW50UGVybWlzc2lvbnMgPSBbLi4ubmV3IFNldChkYXRhKV07XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBhc3Nlc3NtZW50UGVybWlzc2lvbnMubGVuZ3RoID4gMCAmJlxyXG4gICAgICBhc3Nlc3NtZW50UGVybWlzc2lvbnMuc29tZSgocGVybWlzc2lvbjogYW55KSA9PlxyXG4gICAgICAgIEFTU0VTU01FTlRfUEVSTUlTU0lPTlMuaW5jbHVkZXMocGVybWlzc2lvbilcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0UHJvZHVjdExpc3QoKSB7XHJcbiAgICB0aGlzLlBST0RVQ1RfTElTVCA9IHRoaXMuUFJPRFVDVF9MSVNULm1hcCgocHJvZHVjdDogYW55KSA9PiB7XHJcbiAgICAgIHByb2R1Y3QuY2FsbGJhY2sgPSB0aGlzLm9uU3ViTWVudVRvZ2dsZS5iaW5kKHRoaXMpO1xyXG4gICAgICBwcm9kdWN0LnVybCA9XHJcbiAgICAgICAgdGhpcy5wcm9kdWN0TGlzdFNlcnZpY2Uuc2V0UHJvZHVjdENsaWNrQ2FsbGJhY2socHJvZHVjdCkgPz8gJyc7XHJcbiAgICAgIHJldHVybiBwcm9kdWN0O1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuaXNMb2FkaW5nLm5leHQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRVc2VyRGV0YWlscygpIHtcclxuICAgIHRoaXMuYXBpU2VydmljZS5sb2dnZWRVc2VyRGV0YWlsJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAhdGhpcy5hc3Nlc3NtZW50UGVybWlzc2lvbkNoZWNrKFxyXG4gICAgICAgICAgICB0aGlzLnJiYWNTZXJ2aWNlLmdldFJCQUNQZXJtaXNzaW9ucygnYXNzZXNzbWVudCcpXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLlBST0RVQ1RfTElTVCA9IHRoaXMuUFJPRFVDVF9MSVNULmZpbHRlcihcclxuICAgICAgICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbS5jb2RlICE9PSBDT0RFU1swXVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2V0Q2FzZVBlcm1pc3Npb24oKTtcclxuICAgICAgICB0aGlzLnNldFByb2R1Y3RMaXN0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIHNldENhc2VQZXJtaXNzaW9uKCkge1xyXG4gICAgaWYgKHRoaXMuZmVhdHVyZUZsYWcuaXNGZWF0dXJlRW5hYmxlZCgnZmZfY2FzZXNfZW5hYmxlZCcpKSB7XHJcbiAgICAgIHRoaXMuUFJPRFVDVF9MSVNUID0gdGhpcy5QUk9EVUNUX0xJU1QuZmlsdGVyKFxyXG4gICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uY29kZSAhPT0gQ09ERVNbMV1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuUFJPRFVDVF9MSVNUID0gdGhpcy5QUk9EVUNUX0xJU1QuZmlsdGVyKFxyXG4gICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uY29kZSAhPT0gQ09ERVNbMl1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmMtbGF5b3V0L3NyYy9saWIvY29tcG9uZW50cy9wcm9kdWN0LWxpc3QvbW9kdWxlLWxpc3QvbW9kdWxlLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdELE9BQU8sRUFDTCxZQUFZLEVBQ1osc0JBQXNCLEVBQ3RCLEtBQUssRUFDTixNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7QUFnRGxELE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFDVSxrQkFBc0MsRUFDdEMsVUFBc0IsRUFDdEIsV0FBd0I7UUFGeEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBZGxDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsVUFBSyxHQUFRLEtBQUssQ0FBQztRQUVWLGlCQUFZLEdBQVcsWUFBWSxDQUFDO1FBQ3BDLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUNoQyxvQkFBZSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXZFLFdBQU0sR0FBUSxNQUFNLENBQUM7UUFDckIsaUJBQVksR0FBUSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUMvQyx5QkFBb0IsR0FBZSxFQUFFLENBQUM7UUFPcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFD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LEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDdEMsQ0FBQztpQkFDSDtnQkFFRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ08saUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQzFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDdEMsQ0FBQztTQUNIO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUMxQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ3RDLENBQUM7U0FDSDtJQUNILENBQUM7K0dBL0hVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHdPQXpDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0NUOzs0RkFHVSxtQkFBbUI7a0JBM0MvQixTQUFTOytCQUNFLGdCQUFnQixZQUNoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7NEpBTVEsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIFBST0RVQ1RfTElTVCxcbiAgQVNTRVNTTUVOVF9QRVJNSVNTSU9OUyxcbiAgQ09ERVNcbn0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3Byb2R1Y3QtbGlzdC5jb25zdGFudCc7XG5pbXBvcnQgeyBQcm9kdWN0TGlzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvcHJvZHVjdC1saXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBSYmFjU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9SQkFDLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2Yy1tb2R1bGUtbGlzdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGFwcC1wYWdlLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiPjwvYXBwLXBhZ2UtbG9hZGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1vZHVsZS1saXN0XCI+XG4gICAgICA8dWwgY2xhc3M9XCJ2eC1wLTAgdngtbS0wXCI+XG4gICAgICAgIDxsaVxuICAgICAgICAgICpuZ0Zvcj1cImxldCBlYWNoUHJvZHVjdCBvZiBQUk9EVUNUX0xJU1RcIlxuICAgICAgICAgIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiZWFjaFByb2R1Y3QuY2xhc3NcIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTW9kdWxlID09PSBlYWNoUHJvZHVjdC5jb2RlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdy0xMDBcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiZWFjaFByb2R1Y3Q/LmxpbmtDbGFzc1wiXG4gICAgICAgICAgICBbYXJUb29sdGlwXT1cImVhY2hQcm9kdWN0Lm5hbWVcIlxuICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxuICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgIGRlbGF5PVwiMFwiXG4gICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFthbmltYXRlXT1cInRydWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImVhY2hQcm9kdWN0Py5jYWxsYmFjayhlYWNoUHJvZHVjdClcIlxuICAgICAgICAgICAgPjxpbWdcbiAgICAgICAgICAgICAgW3NyY109XCJlYWNoUHJvZHVjdC5jb2RlIHwgZ2V0TW9kdWxlSWNvbiA6IGFjdGl2ZU1vZHVsZVwiXG4gICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTZcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiZWFjaFByb2R1Y3Q/LmNvZGUgIT09ICdUT0dHTEUnXCI+XG4gICAgICAgICAgICAgIFtocmVmXT1cImVhY2hQcm9kdWN0LnVybFwiXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0Vsc2U+XG4gICAgICAgICAgICAgIChjbGljayk9XCJvblN1Yk1lbnVUb2dnbGUoZWFjaFByb2R1Y3QpXCJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL21vZHVsZS1saXN0LmNvbXBvbmVudC5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE1vZHVsZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBDT0RFUzogYW55ID0gQ09ERVM7XG4gIEBJbnB1dCgpIGZlYXR1cmVGbGFnOiBhbnk7XG4gIEBJbnB1dCgpIGFjdGl2ZU1vZHVsZTogc3RyaW5nID0gJ0NPTVBMSUFOQ0UnO1xuICBASW5wdXQoKSBpc1N1Yk1lbnVWaXNpYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgQE91dHB1dCgpIG9uVG9nZ2xlU3VibWVudTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBBU1NFVFM6IGFueSA9IEFTU0VUUztcbiAgUFJPRFVDVF9MSVNUOiBhbnkgPSBbLi4ubmV3IFNldChQUk9EVUNUX0xJU1QpXTtcbiAgYXNzZXNzbWVudFBlcm1pc3Npb246IEFycmF5PGFueT4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb2R1Y3RMaXN0U2VydmljZTogUHJvZHVjdExpc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJiYWNTZXJ2aWNlOiBSYmFjU2VydmljZVxuICApIHtcbiAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0U3Vic2NyaXB0aW9uTGlzdCgpO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0TG9hZGVyKCk7XG4gIH1cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRVc2VyRGV0YWlscygpO1xuICAgIHRoaXMuY2hlY2tNb2R1bGVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSB0b2dnbGUgZXZlbnQgb2YgdGhlIHN1Ym1lbnUgZm9yIGVhY2ggcHJvZHVjdC5cbiAgICpcbiAgICogQHBhcmFtIGVhY2hQcm9kdWN0IC0gVGhlIHByb2R1Y3Qgb2JqZWN0IGZvciB3aGljaCB0aGUgc3VibWVudSBpcyBiZWluZyB0b2dnbGVkLlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIGZhbHNlIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3IuXG4gICAqL1xuICBwdWJsaWMgb25TdWJNZW51VG9nZ2xlKGVhY2hQcm9kdWN0OiBhbnkpIHtcbiAgICBpZiAoZWFjaFByb2R1Y3Q/LmNvZGUgPT09ICdUT0dHTEUnKSB7XG4gICAgICB0aGlzLm9uVG9nZ2xlU3VibWVudS5lbWl0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gZWFjaFByb2R1Y3QudXJsO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQ2hlY2tzIHRoZSBtb2R1bGUgc3Vic2NyaXB0aW9uIGFuZCB1cGRhdGVzIHRoZSBwcm9kdWN0IGxpc3QgYWNjb3JkaW5nbHkuXG4gICAqIFN1YnNjcmliZXMgdG8gdGhlIGBzdWJzY3JpcHRpb25EZXRhaWwkYCBvYnNlcnZhYmxlIGZyb20gdGhlIGBhcGlTZXJ2aWNlYCBhbmQgdXBkYXRlcyB0aGUgYFBST0RVQ1RfTElTVGAgcHJvcGVydHkgb2YgdGhlIGNvbXBvbmVudCBiYXNlZCBvbiB0aGUgcmVjZWl2ZWQgZGF0YS5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBtZXRob2QgaXMgdHlwaWNhbGx5IGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgaW5pdGlhbGl6ZWQgb3Igd2hlbiB0aGUgc3Vic2NyaXB0aW9uIGRldGFpbHMgY2hhbmdlLlxuICAgKi9cbiAgcHJpdmF0ZSBjaGVja01vZHVsZVN1YnNjcmlwdGlvbigpIHtcbiAgICB0aGlzLmFwaVNlcnZpY2Uuc3Vic2NyaXB0aW9uRGV0YWlsJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuUFJPRFVDVF9MSVNUID0gdGhpcy5wcm9kdWN0TGlzdFNlcnZpY2Uuc3Vic2NyaWJlZFByb2R1Y3QoXG4gICAgICAgICAgdGhpcy5QUk9EVUNUX0xJU1QsXG4gICAgICAgICAgZGF0YVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghdGhpcy5pc1N1Yk1lbnVWaXNpYmxlKSB7XG4gICAgICAgICAgdGhpcy5QUk9EVUNUX0xJU1QgPSB0aGlzLlBST0RVQ1RfTElTVC5maWx0ZXIoXG4gICAgICAgICAgICAocHJvZHVjdDogYW55KSA9PiBwcm9kdWN0LmNvZGUgIT09ICdUT0dHTEUnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLlBST0RVQ1RfTElTVCwgdGhpcy5pc1N1Yk1lbnVWaXNpYmxlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9hZGVyKCkge1xuICAgIHRoaXMuYXBpU2VydmljZS5pc0xvYWRpbmcuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gcmVzO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHByb2R1Y3QgbGlzdCBieSBtYXBwaW5nIGVhY2ggcHJvZHVjdCBpbiB0aGUgUFJPRFVDVF9MSVNUIGFycmF5LlxuICAgKiBFYWNoIHByb2R1Y3QncyBjYWxsYmFjayBpcyBzZXQgdG8gdGhlIG9uU3ViTWVudVRvZ2dsZSBtZXRob2QgYm91bmQgdG8gdGhlIGN1cnJlbnQgaW5zdGFuY2UuXG4gICAqIFRoZSBwcm9kdWN0J3MgVVJMIGlzIHNldCB1c2luZyB0aGUgc2V0UHJvZHVjdENsaWNrQ2FsbGJhY2sgbWV0aG9kIG9mIHRoZSBwcm9kdWN0TGlzdFNlcnZpY2UsXG4gICAqIHBhc3NpbmcgdGhlIHByb2R1Y3QgYW5kIHRoZSBmZWF0dXJlRmxhZyBhcyBhcmd1bWVudHMuIElmIHRoZSByZXR1cm5lZCBVUkwgaXMgbnVsbCBvciB1bmRlZmluZWQsXG4gICAqIGFuIGVtcHR5IHN0cmluZyBpcyBhc3NpZ25lZCB0byB0aGUgcHJvZHVjdCdzIFVSTCBwcm9wZXJ0eS5cbiAgICovXG5cbiAgcHJpdmF0ZSBhc3Nlc3NtZW50UGVybWlzc2lvbkNoZWNrKGRhdGE6IGFueVtdKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYXNzZXNzbWVudFBlcm1pc3Npb25zID0gWy4uLm5ldyBTZXQoZGF0YSldO1xuICAgIHJldHVybiAoXG4gICAgICBhc3Nlc3NtZW50UGVybWlzc2lvbnMubGVuZ3RoID4gMCAmJlxuICAgICAgYXNzZXNzbWVudFBlcm1pc3Npb25zLnNvbWUoKHBlcm1pc3Npb246IGFueSkgPT5cbiAgICAgICAgQVNTRVNTTUVOVF9QRVJNSVNTSU9OUy5pbmNsdWRlcyhwZXJtaXNzaW9uKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldFByb2R1Y3RMaXN0KCkge1xuICAgIHRoaXMuUFJPRFVDVF9MSVNUID0gdGhpcy5QUk9EVUNUX0xJU1QubWFwKChwcm9kdWN0OiBhbnkpID0+IHtcbiAgICAgIHByb2R1Y3QuY2FsbGJhY2sgPSB0aGlzLm9uU3ViTWVudVRvZ2dsZS5iaW5kKHRoaXMpO1xuICAgICAgcHJvZHVjdC51cmwgPVxuICAgICAgICB0aGlzLnByb2R1Y3RMaXN0U2VydmljZS5zZXRQcm9kdWN0Q2xpY2tDYWxsYmFjayhwcm9kdWN0KSA/PyAnJztcbiAgICAgIHJldHVybiBwcm9kdWN0O1xuICAgIH0pO1xuICAgIHRoaXMuYXBpU2VydmljZS5pc0xvYWRpbmcubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFVzZXJEZXRhaWxzKCkge1xuICAgIHRoaXMuYXBpU2VydmljZS5sb2dnZWRVc2VyRGV0YWlsJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAhdGhpcy5hc3Nlc3NtZW50UGVybWlzc2lvbkNoZWNrKFxuICAgICAgICAgICAgdGhpcy5yYmFjU2VydmljZS5nZXRSQkFDUGVybWlzc2lvbnMoJ2Fzc2Vzc21lbnQnKVxuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5QUk9EVUNUX0xJU1QgPSB0aGlzLlBST0RVQ1RfTElTVC5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbTogYW55KSA9PiBpdGVtLmNvZGUgIT09IENPREVTWzBdXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0Q2FzZVBlcm1pc3Npb24oKTtcbiAgICAgICAgdGhpcy5zZXRQcm9kdWN0TGlzdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgc2V0Q2FzZVBlcm1pc3Npb24oKSB7XG4gICAgaWYgKHRoaXMuZmVhdHVyZUZsYWcuaXNGZWF0dXJlRW5hYmxlZCgnZmZfY2FzZXNfZW5hYmxlZCcpKSB7XG4gICAgICB0aGlzLlBST0RVQ1RfTElTVCA9IHRoaXMuUFJPRFVDVF9MSVNULmZpbHRlcihcbiAgICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbS5jb2RlICE9PSBDT0RFU1sxXVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5QUk9EVUNUX0xJU1QgPSB0aGlzLlBST0RVQ1RfTElTVC5maWx0ZXIoXG4gICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uY29kZSAhPT0gQ09ERVNbMl1cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbiJdfQ==
|