vc-create-dashboard 2.8.26 → 2.8.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/create-dashboard-container/categories/categories.component.mjs +3 -3
- package/esm2020/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +3 -3
- package/esm2020/lib/create-dashboard-container/create-dashboard.component.mjs +3 -3
- package/esm2020/lib/create-dashboard-container/frequency/frequency.component.mjs +8 -3
- package/esm2020/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +3 -3
- package/esm2020/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +3 -3
- package/esm2020/lib/create-dashboard-container/user-list/user-list.component.mjs +3 -3
- package/esm2020/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +7 -3
- package/esm2020/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +8 -4
- package/esm2020/lib/ui-kit/floating-bar/floating-bar.component.mjs +4 -3
- package/esm2020/lib/ui-kit/floating-bar/floating-bar.module.mjs +7 -3
- package/esm2020/lib/ui-kit/pagination/pagination.component.mjs +3 -3
- package/fesm2015/create-dashboard.mjs +39 -25
- package/fesm2015/create-dashboard.mjs.map +1 -1
- package/fesm2020/create-dashboard.mjs +39 -25
- package/fesm2020/create-dashboard.mjs.map +1 -1
- package/lib/create-dashboard-container/frequency/frequency.component.d.ts +1 -0
- package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +2 -1
- package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +2 -1
- package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +2 -1
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ import * as i6 from "../../ui-kit/dashboard-footer/dashboard-footer/dashboard-fo
|
|
|
9
9
|
export class FrequencyComponent {
|
|
10
10
|
constructor(snackBar) {
|
|
11
11
|
this.snackBar = snackBar;
|
|
12
|
+
this.animation = true;
|
|
12
13
|
this.monthlyDate = 1;
|
|
13
14
|
this.quarterlyDate = 1;
|
|
14
15
|
this.frequencyTab = 'weekly';
|
|
@@ -38,6 +39,10 @@ export class FrequencyComponent {
|
|
|
38
39
|
this.savedFrequencies = [...new Set(this.savedFrequencies)];
|
|
39
40
|
}
|
|
40
41
|
ngOnInit() {
|
|
42
|
+
this.animation = true;
|
|
43
|
+
setTimeout(() => {
|
|
44
|
+
this.animation = false;
|
|
45
|
+
}, 300);
|
|
41
46
|
if (this.savedFrequencyTab) {
|
|
42
47
|
this.changeTab(this.savedFrequencyTab);
|
|
43
48
|
}
|
|
@@ -282,10 +287,10 @@ export class FrequencyComponent {
|
|
|
282
287
|
}
|
|
283
288
|
}
|
|
284
289
|
FrequencyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FrequencyComponent, deps: [{ token: i1.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
285
|
-
FrequencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: FrequencyComponent, selector: "app-frequency", inputs: { savedFrequencyTab: "savedFrequencyTab", savedFrequencies: "savedFrequencies", selectedDate: "selectedDate" }, outputs: { closeFrequencyPopup: "closeFrequencyPopup", saveFrequency: "saveFrequency" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"frequency\">\r\n <div class=\"frequency-head vx-d-flex vx-align-center vx-justify-between vx-p-3\">\r\n <h3 class=\"frequency-title\">Select a Frequency</h3>\r\n </div>\r\n <div class=\"frequency-body\">\r\n <div class=\"frequency-tab\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"frequency-tab-head\">\r\n <ul class=\"navigation\">\r\n <li><button [class.active]=\"frequencyTab == 'weekly'\" (click)=\"changeTab('weekly')\">Weekly</button></li>\r\n <li><button [class.active]=\"frequencyTab == 'monthly'\" (click)=\"changeTab('monthly')\">Monthly</button></li>\r\n <li><button [class.active]=\"frequencyTab == 'quarterly'\" (click)=\"changeTab('quarterly')\">Quarterly</button></li>\r\n </ul>\r\n </div>\r\n <div class=\"frequency-tab-body\" >\r\n <div class=\"checkbox-list\" *ngSwitchCase=\"'weekly'\">\r\n <div class=\"frequency-checkbox vx-d-flex vx-justify-between vx-flex-wrap\">\r\n <app-cs-checkbox *ngFor = \"let day of dayNames; let dayIndex = index\" (ngValueChange)=\"daySelectionChange($event, dayIndex)\" [ngValue]=\"selectedDays.includes(dayIndex)\">{{day}}</app-cs-checkbox>\r\n </div>\r\n </div>\r\n <div class=\"checkbox-list month\" *ngSwitchCase=\"'monthly'\">\r\n <div class=\"frequency-top vx-d-flex vx-align-center\">\r\n <span>Day <input type=\"number\" (focusout)=\"checkDateValidity(monthlyDate,'monthly')\" [(ngModel)]=\"monthlyDate\" class=\"day-counter\"\r\n onkeydown=\"return event.keyCode !== 190\" min=\"1\" oninput=\"this.value = Math.abs(this.value)\"> of</span>\r\n </div>\r\n <div class=\"frequency-checkbox vx-d-flex vx-justify-between vx-flex-wrap\">\r\n <app-cs-checkbox *ngFor = \"let month of monthNames; let monthIndex = index\" (ngValueChange)=\"monthSelectionChange($event, monthIndex)\" [ngValue]=\"selectedMonths.includes(monthIndex)\">{{month}}</app-cs-checkbox>\r\n </div>\r\n </div>\r\n <div class=\"checkbox-list\" *ngSwitchCase=\"'quarterly'\">\r\n <ng-container *ngIf=\"showRadio\">\r\n <div class=\"frequency-top vx-d-flex vx-align-center\">\r\n <span>Day <input type=\"number\" (focusout)=\"checkDateValidity(quarterlyDate,'quarterly')\" [(ngModel)]=\"quarterlyDate\" class=\"day-counter\"\r\n onkeydown=\"return event.keyCode !== 190\" min=\"1\" oninput=\"this.value = Math.abs(this.value)\"> of</span>\r\n </div>\r\n <div class=\"frequency-checkbox vx-d-flex vx-justify-between vx-flex-wrap\">\r\n <app-cs-radio *ngFor = \"let quarter of quarters, let quarterIndex = index\" (checkedEvent)=\"quarterSelectionChange($event, quarterIndex)\" [checked]=\"selectedQuarter === quarterIndex\">{{quarter}}</app-cs-radio>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"frequency-footer\">\r\n <app-dashboard-footer \r\n [footerDetails]=\"footerDetails\"\r\n (cancelEvent)=\"closeFrequencyPopup.emit()\"\r\n (submitEvent)=\"submitFrequency()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animation.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animate-slide-right.css\";::ng-deep .frequency{background:#FFFFFF}::ng-deep .frequency-head{background:#FBFBFB;border-bottom:1px solid #F1F1F1;border-radius:2px 2px 0 0;padding:0 12px}::ng-deep .frequency-title{color:#161b2f;font-size:14px;margin:0;padding:0;line-height:20px;font-weight:500}::ng-deep .frequency-body{padding:60px 0;height:calc(100vh - 110px);overflow:auto}::ng-deep .frequency-tab{position:relative;width:800px;margin:0 auto;box-shadow:0 10px 20px #1e5d15;border-right:1px solid #F1F1F1;border-bottom:1px solid #F1F1F1;border-left:1px solid #F1F1F1;border-radius:2px}::ng-deep .frequency-tab-head{background:#FBFBFB;border-top:1px solid #F1F1F1;border-radius:2px 2px 0 0}::ng-deep .frequency-tab-head ul{padding:0;margin:0}::ng-deep .frequency-tab-head ul.navigation{display:flex;border-radius:2px 2px 0 0}::ng-deep .frequency-tab-head ul.navigation li{list-style:none;width:auto;padding:0 28px;display:flex;justify-content:center}::ng-deep .frequency-tab-head ul.navigation li button{font-size:11px;line-height:32px;position:relative;display:block;color:#747576;font-weight:500;text-transform:uppercase;background:transparent;border:none;white-space:nowrap;cursor:pointer;padding:0}::ng-deep .frequency-tab-head ul.navigation li button:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;content:\"\"}::ng-deep .frequency-tab-head ul.navigation li button.active{color:#1e5dd3}::ng-deep .frequency-tab-head ul.navigation li button.active:after{background:#1e5dd3}::ng-deep .frequency-tab-body{background:#FFFFFF}::ng-deep .frequency-tab-body .checkbox-list{border-top:1px solid #F1F1F1}::ng-deep .frequency-tab-body .checkbox-list .frequency-top{padding:12px 24px;border-bottom:1px solid #F1F1F1}::ng-deep .frequency-tab-body .checkbox-list .frequency-top span{font-size:14px;color:#161b2f;width:auto;display:block;line-height:28px}::ng-deep .frequency-tab-body .checkbox-list .frequency-top .day-counter{-webkit-appearance:textfield;-moz-appearance:textfield;width:40px;margin:6px 8px 0;padding:0 4px;text-align:center;border:none;border-bottom:2px solid #dcdcdc;line-height:26px;color:#161b2f;font-weight:400;outline:none;font-size:14px}::ng-deep .frequency-tab-body .checkbox-list .frequency-checkbox{padding:24px}::ng-deep .frequency-tab-body .checkbox-list app-cs-checkbox,::ng-deep .frequency-tab-body .checkbox-list app-cs-radio{display:flex}::ng-deep .frequency-tab-body .checkbox-list app-cs-checkbox label span.value,::ng-deep .frequency-tab-body .checkbox-list app-cs-radio label span.value{font-size:12px!important;color:#747576!important;font-weight:400!important}::ng-deep .frequency-tab-body .checkbox-list.month app-cs-checkbox{width:calc(100% / 6);padding:4px 0}\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: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i4.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value"], outputs: ["checkedEvent"] }, { kind: "directive", type: i5.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: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.DashboardFooterComponent, selector: "app-dashboard-footer", inputs: ["footerDetails"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }] });
|
|
290
|
+
FrequencyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: FrequencyComponent, selector: "app-frequency", inputs: { savedFrequencyTab: "savedFrequencyTab", savedFrequencies: "savedFrequencies", selectedDate: "selectedDate" }, outputs: { closeFrequencyPopup: "closeFrequencyPopup", saveFrequency: "saveFrequency" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"create-frequency\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"create-frequency-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4 vx-mb-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Frequency</div>\r\n </div>\r\n <div class=\"create-frequency-body vx-pl-4 vx-pr-4\">\r\n <div class=\"create-frequency-body-inner\">\r\n <div class=\"create-frequency-tab\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"create-frequency-tab-head\">\r\n <ul class=\"navigation\">\r\n <li><button [class.active]=\"frequencyTab == 'weekly'\" (click)=\"changeTab('weekly')\">Weekly</button></li>\r\n <li><button [class.active]=\"frequencyTab == 'monthly'\" (click)=\"changeTab('monthly')\">Monthly</button></li>\r\n <li><button [class.active]=\"frequencyTab == 'quarterly'\" (click)=\"changeTab('quarterly')\">Quarterly</button></li>\r\n </ul>\r\n </div>\r\n <div class=\"create-frequency-tab-body vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">Email Reminder Frequency:</div>\r\n <div class=\"checkbox-list\" *ngSwitchCase=\"'weekly'\">\r\n <div class=\"frequency-checkbox vx-d-flex vx-align-center\">\r\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center\" *ngFor=\"let day of dayNames; let dayIndex = index\">\r\n <app-cs-checkbox (ngValueChange)=\"daySelectionChange($event, dayIndex)\" [ngValue]=\"selectedDays.includes(dayIndex)\">{{day}}</app-cs-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"checkbox-list month\" *ngSwitchCase=\"'monthly'\">\r\n <div class=\"frequency-top vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">Day</div>\r\n <input type=\"number\" (focusout)=\"checkDateValidity(monthlyDate,'monthly')\" [(ngModel)]=\"monthlyDate\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"1\" oninput=\"this.value = Math.abs(this.value)\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">of</div>\r\n </div>\r\n <div class=\"frequency-checkbox vx-d-flex vx-align-center vx-flex-wrap\">\r\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center\" *ngFor=\"let month of monthNames; let monthIndex = index\">\r\n <app-cs-checkbox (ngValueChange)=\"monthSelectionChange($event, monthIndex)\" [ngValue]=\"selectedMonths.includes(monthIndex)\">{{month}}</app-cs-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"checkbox-list\" *ngSwitchCase=\"'quarterly'\">\r\n <ng-container *ngIf=\"showRadio\">\r\n <div class=\"frequency-top vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">Day</div>\r\n <input type=\"number\" (focusout)=\"checkDateValidity(quarterlyDate,'quarterly')\" [(ngModel)]=\"quarterlyDate\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"1\" oninput=\"this.value = Math.abs(this.value)\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">of</div>\r\n </div>\r\n <div class=\"frequency-checkbox vx-d-flex vx-align-center\">\r\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center vx-w-100\" *ngFor=\"let quarter of quarters, let quarterIndex = index\">\r\n <app-cs-radio (checkedEvent)=\"quarterSelectionChange($event, quarterIndex)\" [checked]=\"selectedQuarter === quarterIndex\">{{quarter}}</app-cs-radio>\r\n </div>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"create-frequency-footer\">\r\n <app-dashboard-footer \r\n [footerDetails]=\"footerDetails\"\r\n (cancelEvent)=\"closeFrequencyPopup.emit()\"\r\n (submitEvent)=\"submitFrequency()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .create-frequency{background:#FFFFFF;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .create-frequency-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .create-frequency-body{height:calc(100vh - 9.75rem);margin:0 auto 1rem;overflow:hidden;overflow-y:auto;width:calc(100% - 2.5rem)}::ng-deep .create-frequency-body::-webkit-scrollbar-track{background:transparent}::ng-deep .create-frequency-body-inner{width:54.5rem;margin:0 auto}@media screen and (max-width: 1366px){::ng-deep .create-frequency-body-inner{width:auto}}::ng-deep .create-frequency-tab-head{border:none!important;border-bottom:1px solid #f1f1f1!important;margin-bottom:1.5rem}::ng-deep .create-frequency-tab-head ul{padding:0;margin:0}::ng-deep .create-frequency-tab-head ul.navigation{display:flex}::ng-deep .create-frequency-tab-head ul.navigation li{list-style:none;padding:0;margin:0 1.5rem 0 0;display:flex;justify-content:center}::ng-deep .create-frequency-tab-head ul.navigation li button{background:transparent;border-radius:0;border:none;border-bottom:.125rem solid transparent;font-size:11px;font-weight:500;color:#747576;line-height:1.5rem;position:relative;text-transform:uppercase;cursor:pointer;padding:0}::ng-deep .create-frequency-tab-head ul.navigation li button.active{color:#1e5dd3;border-color:#1e5dd3}::ng-deep .create-frequency-tab-body .checkbox-list{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .create-frequency-tab-body .checkbox-list .frequency-top{padding:12px;border-bottom:1px solid #F1F1F1}::ng-deep .create-frequency-tab-body .checkbox-list .frequency-top input.countNum{-webkit-appearance:textfield;-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .create-frequency-tab-body .checkbox-list .frequency-checkbox{background:#fff;border-radius:.25rem}::ng-deep .create-frequency-tab-body .checkbox-list .frequency-checkbox-item{border-right:1px solid #f1f1f1;height:2.75rem}@media screen and (max-width: 1280px){::ng-deep .create-frequency-tab-body .checkbox-list .frequency-checkbox-item{padding:0 .5rem!important}}::ng-deep .create-frequency-tab-body .checkbox-list .frequency-checkbox-item:last-of-type{border-right:none}::ng-deep .create-frequency-tab-body .checkbox-list app-cs-checkbox,::ng-deep .create-frequency-tab-body .checkbox-list app-cs-radio{display:flex}::ng-deep .create-frequency-tab-body .checkbox-list app-cs-checkbox label span.value,::ng-deep .create-frequency-tab-body .checkbox-list app-cs-radio label span.value{font-size:12px!important;color:#161b2f!important;font-weight:400!important}::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item{width:calc(100% / 6)}::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:first-of-type,::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(2),::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(3),::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(4),::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(5),::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(6){border-bottom:1px solid #f1f1f1}::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(6){border-right:none}::ng-deep .create-frequency-footer{padding:0 2rem}\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: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "component", type: i4.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value"], outputs: ["checkedEvent"] }, { kind: "directive", type: i5.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: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.DashboardFooterComponent, selector: "app-dashboard-footer", inputs: ["footerDetails", "userButtonColor"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }] });
|
|
286
291
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FrequencyComponent, decorators: [{
|
|
287
292
|
type: Component,
|
|
288
|
-
args: [{ selector: 'app-frequency', template: "<div class=\"frequency\">\r\n <div class=\"frequency-head vx-d-flex vx-align-center vx-justify-between vx-
|
|
293
|
+
args: [{ selector: 'app-frequency', template: "<div class=\"create-frequency\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"create-frequency-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4 vx-mb-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select a Frequency</div>\r\n </div>\r\n <div class=\"create-frequency-body vx-pl-4 vx-pr-4\">\r\n <div class=\"create-frequency-body-inner\">\r\n <div class=\"create-frequency-tab\" [ngSwitch]=\"frequencyTab\">\r\n <div class=\"create-frequency-tab-head\">\r\n <ul class=\"navigation\">\r\n <li><button [class.active]=\"frequencyTab == 'weekly'\" (click)=\"changeTab('weekly')\">Weekly</button></li>\r\n <li><button [class.active]=\"frequencyTab == 'monthly'\" (click)=\"changeTab('monthly')\">Monthly</button></li>\r\n <li><button [class.active]=\"frequencyTab == 'quarterly'\" (click)=\"changeTab('quarterly')\">Quarterly</button></li>\r\n </ul>\r\n </div>\r\n <div class=\"create-frequency-tab-body vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">Email Reminder Frequency:</div>\r\n <div class=\"checkbox-list\" *ngSwitchCase=\"'weekly'\">\r\n <div class=\"frequency-checkbox vx-d-flex vx-align-center\">\r\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center\" *ngFor=\"let day of dayNames; let dayIndex = index\">\r\n <app-cs-checkbox (ngValueChange)=\"daySelectionChange($event, dayIndex)\" [ngValue]=\"selectedDays.includes(dayIndex)\">{{day}}</app-cs-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"checkbox-list month\" *ngSwitchCase=\"'monthly'\">\r\n <div class=\"frequency-top vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">Day</div>\r\n <input type=\"number\" (focusout)=\"checkDateValidity(monthlyDate,'monthly')\" [(ngModel)]=\"monthlyDate\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"1\" oninput=\"this.value = Math.abs(this.value)\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">of</div>\r\n </div>\r\n <div class=\"frequency-checkbox vx-d-flex vx-align-center vx-flex-wrap\">\r\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center\" *ngFor=\"let month of monthNames; let monthIndex = index\">\r\n <app-cs-checkbox (ngValueChange)=\"monthSelectionChange($event, monthIndex)\" [ngValue]=\"selectedMonths.includes(monthIndex)\">{{month}}</app-cs-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"checkbox-list\" *ngSwitchCase=\"'quarterly'\">\r\n <ng-container *ngIf=\"showRadio\">\r\n <div class=\"frequency-top vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">Day</div>\r\n <input type=\"number\" (focusout)=\"checkDateValidity(quarterlyDate,'quarterly')\" [(ngModel)]=\"quarterlyDate\" class=\"countNum\" onkeydown=\"return event.keyCode !== 190\" min=\"1\" oninput=\"this.value = Math.abs(this.value)\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt\">of</div>\r\n </div>\r\n <div class=\"frequency-checkbox vx-d-flex vx-align-center\">\r\n <div class=\"frequency-checkbox-item vx-p-3 vx-pr-4 vx-d-flex vx-align-center vx-w-100\" *ngFor=\"let quarter of quarters, let quarterIndex = index\">\r\n <app-cs-radio (checkedEvent)=\"quarterSelectionChange($event, quarterIndex)\" [checked]=\"selectedQuarter === quarterIndex\">{{quarter}}</app-cs-radio>\r\n </div>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"create-frequency-footer\">\r\n <app-dashboard-footer \r\n [footerDetails]=\"footerDetails\"\r\n (cancelEvent)=\"closeFrequencyPopup.emit()\"\r\n (submitEvent)=\"submitFrequency()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .create-frequency{background:#FFFFFF;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .create-frequency-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .create-frequency-body{height:calc(100vh - 9.75rem);margin:0 auto 1rem;overflow:hidden;overflow-y:auto;width:calc(100% - 2.5rem)}::ng-deep .create-frequency-body::-webkit-scrollbar-track{background:transparent}::ng-deep .create-frequency-body-inner{width:54.5rem;margin:0 auto}@media screen and (max-width: 1366px){::ng-deep .create-frequency-body-inner{width:auto}}::ng-deep .create-frequency-tab-head{border:none!important;border-bottom:1px solid #f1f1f1!important;margin-bottom:1.5rem}::ng-deep .create-frequency-tab-head ul{padding:0;margin:0}::ng-deep .create-frequency-tab-head ul.navigation{display:flex}::ng-deep .create-frequency-tab-head ul.navigation li{list-style:none;padding:0;margin:0 1.5rem 0 0;display:flex;justify-content:center}::ng-deep .create-frequency-tab-head ul.navigation li button{background:transparent;border-radius:0;border:none;border-bottom:.125rem solid transparent;font-size:11px;font-weight:500;color:#747576;line-height:1.5rem;position:relative;text-transform:uppercase;cursor:pointer;padding:0}::ng-deep .create-frequency-tab-head ul.navigation li button.active{color:#1e5dd3;border-color:#1e5dd3}::ng-deep .create-frequency-tab-body .checkbox-list{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .create-frequency-tab-body .checkbox-list .frequency-top{padding:12px;border-bottom:1px solid #F1F1F1}::ng-deep .create-frequency-tab-body .checkbox-list .frequency-top input.countNum{-webkit-appearance:textfield;-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .create-frequency-tab-body .checkbox-list .frequency-checkbox{background:#fff;border-radius:.25rem}::ng-deep .create-frequency-tab-body .checkbox-list .frequency-checkbox-item{border-right:1px solid #f1f1f1;height:2.75rem}@media screen and (max-width: 1280px){::ng-deep .create-frequency-tab-body .checkbox-list .frequency-checkbox-item{padding:0 .5rem!important}}::ng-deep .create-frequency-tab-body .checkbox-list .frequency-checkbox-item:last-of-type{border-right:none}::ng-deep .create-frequency-tab-body .checkbox-list app-cs-checkbox,::ng-deep .create-frequency-tab-body .checkbox-list app-cs-radio{display:flex}::ng-deep .create-frequency-tab-body .checkbox-list app-cs-checkbox label span.value,::ng-deep .create-frequency-tab-body .checkbox-list app-cs-radio label span.value{font-size:12px!important;color:#161b2f!important;font-weight:400!important}::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item{width:calc(100% / 6)}::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:first-of-type,::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(2),::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(3),::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(4),::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(5),::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(6){border-bottom:1px solid #f1f1f1}::ng-deep .create-frequency-tab-body .checkbox-list.month .frequency-checkbox-item:nth-child(6){border-right:none}::ng-deep .create-frequency-footer{padding:0 2rem}\n"] }]
|
|
289
294
|
}], ctorParameters: function () { return [{ type: i1.SnackBarService }]; }, propDecorators: { savedFrequencyTab: [{
|
|
290
295
|
type: Input
|
|
291
296
|
}], savedFrequencies: [{
|
|
@@ -297,4 +302,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
|
|
|
297
302
|
}], saveFrequency: [{
|
|
298
303
|
type: Output
|
|
299
304
|
}] } });
|
|
300
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9mcmVxdWVuY3kvZnJlcXVlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9mcmVxdWVuY3kvZnJlcXVlbmN5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVUxRixNQUFNLE9BQU8sa0JBQWtCO0lBNkI3QixZQUFvQixRQUF3QjtRQUF4QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQTNCNUMsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDaEIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFHbEIsaUJBQVksR0FBRyxRQUFRLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsYUFBUSxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUYsZUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4SSxhQUFRLEdBQUcsQ0FBQywrQkFBK0IsRUFBRSxpQ0FBaUMsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ3BILGlCQUFZLEdB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dEM7Z0JBQ0gsTUFBTTthQUNQO1lBQ0QsS0FBSyxXQUFXLENBQUMsQ0FBQztnQkFFaEIsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsRUFBQztvQkFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2lCQUV2QztxQkFBTTtvQkFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7aUJBQ3RDO2dCQUNILE1BQU07YUFDUDtTQUNGO0lBQ0gsQ0FBQzs7K0dBN1JZLGtCQUFrQjttR0FBbEIsa0JBQWtCLDJSQ1YvQiwrakhBaURNOzJGRHZDTyxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZTtzR0FLaEIsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQVNJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhc2hib2FyZEZvb3RlckNvbmZpZyB9IGZyb20gJy4uLy4uL3VpLWtpdC9kYXNoYm9hcmQtZm9vdGVyL2Rhc2hib2FyZC1mb290ZXItY29uZmlnJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3kuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgc2F2ZWRGcmVxdWVuY3lUYWI6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBtb250aGx5RGF0ZSA9IDE7XHJcbiAgcXVhcnRlcmx5RGF0ZSA9IDE7XHJcbiAgQElucHV0KCkgc2F2ZWRGcmVxdWVuY2llczogYW55O1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogYW55O1xyXG4gIGZyZXF1ZW5jeVRhYiA9ICd3ZWVrbHknO1xyXG4gIHNob3dGcmVxdWVuY3kgPSB0cnVlO1xyXG4gIGRheU5hbWVzID0gWydNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5JywgJ1N1bmRheSddO1xyXG4gIG1vbnRoTmFtZXMgPSBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXTtcclxuICBxdWFydGVycyA9IFsnSmFudWFyeSwgQXByaWwsIEp1bHksIE9jdG9iZXInLCAnRmVicnVhcnksIE1heSwgQXVndXN0LCBOb3ZlbWJlcicsICdNYXJjaCwgSnVuZSwgU2VwdGVtYmVyLCBEZWNlbWJlciddO1xyXG4gIHNlbGVjdGVkRGF5czogYW55W10gPSBbMF07XHJcbiAgc2VsZWN0ZWRNb250aHM6IGFueVtdID0gWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMV07XHJcbiAgc2VsZWN0ZWRRdWFydGVyID0gMDtcclxuICBAT3V0cHV0KCkgY2xvc2VGcmVxdWVuY3lQb3B1cCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBzYXZlRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgZm9vdGVyRGV0YWlsczogRGFzaGJvYXJkRm9vdGVyQ29uZmlnID0ge1xyXG4gICAgc2VsZWN0ZWREYXRhOiBbXSxcclxuICAgIG5vblJlbW92YWJsZUxpc3Q6W10sXHJcbiAgICBkaXNwbGF5RWxlbWVudEtleTogJycsXHJcbiAgICBlbGVtZW50SWQ6ICcnLFxyXG4gICAgc2luZ3VsYXJUZXh0OiAnJyxcclxuICAgIHBsdXJhbFRleHQ6ICcnLFxyXG4gICAgc2hvd0ZyZXF1ZW5jeTogdHJ1ZSxcclxuICAgIGZyZXF1ZW5jeVRleHQ6ICdZb3UgaGF2ZSBzZWxlY3RlZCBhIDxzdHJvbmc+JyArIHRoaXMuZnJlcXVlbmN5VGFiICsgJzwvc3Ryb25nPiBmcmVxdWVuY3kuJyxcclxuICAgIGlzRGlzYWJsZWQ6IGZhbHNlXHJcblxyXG4gIH07XHJcbiAgc2hvd1JhZGlvID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOlNuYWNrQmFyU2VydmljZSkgeyB9XHJcbiAgbmdPbkNoYW5nZXMoKXtcclxuICAgIHRoaXMuc2F2ZWRGcmVxdWVuY2llcyA9IFsuLi5uZXcgU2V0KHRoaXMuc2F2ZWRGcmVxdWVuY2llcyldXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNhdmVkRnJlcXVlbmN5VGFiKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlVGFiKHRoaXMuc2F2ZWRGcmVxdWVuY3lUYWIpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5zYXZlZEZyZXF1ZW5jeVRhYikge1xyXG4gICAgICAgIGNhc2UgJ3dlZWtseSc6XHJcbiAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXlzID0gWy4uLm5ldyBTZXQodGhpcy5zYXZlZEZyZXF1ZW5jaWVzKV1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ21vbnRobHknOlxyXG4gICAgICAgICB0aGlzLm1vbnRobHlEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XHJcbiAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aHMgPSBbLi4ubmV3IFNldCh0aGlzLnNhdmVkRnJlcXVlbmNpZXMpXVxyXG5cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3F1YXJ0ZXJseSc6XHJcbiAgICAgICAgICB0aGlzLnNob3dSYWRpbyA9IGZhbHNlO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1JhZGlvID0gdHJ1ZVxyXG4gICAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICAgIHRoaXMucXVhcnRlcmx5RGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlXHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkUXVhcnRlciA9IHRoaXMuc2F2ZWRGcmVxdWVuY2llcztcclxuXHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIGNsb3NlRnJlcXVlbmN5KCkge1xyXG4gICAgdGhpcy5jbG9zZUZyZXF1ZW5jeVBvcHVwLmVtaXQoKTtcclxuICB9XHJcbiAgZGF5U2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBhbnksIGluZGV4OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkgeyAvL2NoZWNrYm94IHdhcyBzZWxlY3RlZFxyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF5cy5wdXNoKGluZGV4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCB1bnNlbGVjdGVkRWxlbWVudEluZGV4ID0gdGhpcy5zZWxlY3RlZERheXMuaW5kZXhPZihpbmRleCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXlzLnNwbGljZSh1bnNlbGVjdGVkRWxlbWVudEluZGV4LCAxKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2hlY2tGcmVxdWVuY3lWYWxpZGl0eSgpO1xyXG4gIH1cclxuICBtb250aFNlbGVjdGlvbkNoYW5nZShldmVudDogYW55LCBpbmRleDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRocy5wdXNoKGluZGV4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCB1bnNlbGVjdGVkRWxlbWVudEluZGV4ID0gdGhpcy5zZWxlY3RlZE1vbnRocy5pbmRleE9mKGluZGV4KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE1vbnRocy5zcGxpY2UodW5zZWxlY3RlZEVsZW1lbnRJbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoZWNrRGF0ZVZhbGlkaXR5KHRoaXMubW9udGhseURhdGUsJ21vbnRobHknKVxyXG4gICAgdGhpcy5jaGVja0ZyZXF1ZW5jeVZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBxdWFydGVyU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBhbnksIGluZGV4OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVyID0gaW5kZXg7XHJcbiAgICB0aGlzLmNoZWNrRGF0ZVZhbGlkaXR5KHRoaXMucXVhcnRlcmx5RGF0ZSwncXVhcnRlcmx5Jyk7XHJcbiAgICB0aGlzLmNoZWNrRnJlcXVlbmN5VmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVRhYih0YWJWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeVRhYiA9IHRhYlZhbHVlO1xyXG4gICAgdGhpcy5mb290ZXJEZXRhaWxzLmZyZXF1ZW5jeVRleHQgPSAnWW91IGhhdmUgc2VsZWN0ZWQgYSA8c3Ryb25nPicgKyB0aGlzLmZyZXF1ZW5jeVRhYiArICc8L3N0cm9uZz4gZnJlcXVlbmN5Lic7XHJcbiAgICB0aGlzLmZvb3RlckRldGFpbHMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZXRUb0RlZmF1bHRWYWx1ZXMoKVxyXG4gICAgaWYgKHRoaXMuZnJlcXVlbmN5VGFiID09PSB0aGlzLnNhdmVkRnJlcXVlbmN5VGFiKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5mcmVxdWVuY3lUYWIpIHtcclxuICAgICAgICBjYXNlICd3ZWVrbHknOiB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF5cyA9IFsuLi50aGlzLnNhdmVkRnJlcXVlbmNpZXNdO1xyXG4gICAgICAgICAgdGhpcy5tb250aGx5RGF0ZSA9IDE7XHJcbiAgICAgICAgICB0aGlzLnF1YXJ0ZXJseURhdGUgPSAxO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgJ21vbnRobHknOiB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGhzID0gWy4uLnRoaXMuc2F2ZWRGcmVxdWVuY2llc107XHJcbiAgICAgICAgICB0aGlzLm1vbnRobHlEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XHJcbiAgICAgICAgICB0aGlzLnF1YXJ0ZXJseURhdGUgPSAxO1xyXG4gICAgICAgICAgdGhpcy5jaGVja0RhdGVWYWxpZGl0eSh0aGlzLm1vbnRobHlEYXRlLCdtb250aGx5JylcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXNlICdxdWFydGVybHknOiB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkUXVhcnRlciA9IHRoaXMuc2F2ZWRGcmVxdWVuY2llcztcclxuICAgICAgICAgIHRoaXMucXVhcnRlcmx5RGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlO1xyXG4gICAgICAgICAgdGhpcy5tb250aGx5RGF0ZSA9IDE7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrRGF0ZVZhbGlkaXR5KHRoaXMucXVhcnRlcmx5RGF0ZSwncXVhcnRlcmx5JylcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VG9EZWZhdWx0VmFsdWVzKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZERheXMgPSBbMF07XHJcbiAgICB0aGlzLnNlbGVjdGVkTW9udGhzID0gWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMV07XHJcbiAgICB0aGlzLnNlbGVjdGVkUXVhcnRlciA9IDA7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRGcmVxdWVuY3koKSB7XHJcbiAgICBsZXQgc3RyaW5nVmFsID0gXCJFdmVyeSBcIjtcclxuICAgIGxldCBmcmVxdWVuY2llcztcclxuICAgIGxldCBzZWxlY3RlZERhdGUgPSAxO1xyXG4gICAgc3dpdGNoICh0aGlzLmZyZXF1ZW5jeVRhYikge1xyXG4gICAgICBjYXNlICd3ZWVrbHknOiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWREYXlzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXlzLnNvcnQoKTtcclxuICAgICAgICAgIGZyZXF1ZW5jaWVzID0gdGhpcy5zZWxlY3RlZERheXM7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF5cy5mb3JFYWNoKChkYXlJbmRleCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgc3RyaW5nVmFsICs9IGluZGV4ID09PSAwID8gdGhpcy5kYXlOYW1lc1tkYXlJbmRleF0gOiAnLCAnICsgdGhpcy5kYXlOYW1lc1tkYXlJbmRleF07XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBub3RoaW5nIHdhcyBzZWxlY3RlZFxyXG4gICAgICAgICAgdGhpcy5jbG9zZUZyZXF1ZW5jeSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdtb250aGx5Jzoge1xyXG4gICAgICAgIHN0cmluZ1ZhbCA9IFwiIG9mIGV2ZXJ5IFwiO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTW9udGhzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGZyZXF1ZW5jaWVzID0gdGhpcy5zZWxlY3RlZE1vbnRocztcclxuICAgICAgICAgIHRoaXMubW9udGhOYW1lcy5mb3JFYWNoKChtb250aE5hbWVzOiBzdHJpbmcsIG1vbnRoSW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE1vbnRocy5pbmNsdWRlcyhtb250aEluZGV4KSkge1xyXG4gICAgICAgICAgICAgIHN0cmluZ1ZhbCArPSBtb250aEluZGV4ICA9PT0gMCA/IG1vbnRoTmFtZXMgOiAnLCAnICsgbW9udGhOYW1lcztcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBsZXQgbW9udGhEYXRlTmFtZTtcclxuICAgICAgICAgIGlmICh0aGlzLm1vbnRobHlEYXRlID09IDEpIHtcclxuICAgICAgICAgICAgbW9udGhEYXRlTmFtZSA9ICcxc3QnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmICh0aGlzLm1vbnRobHlEYXRlID09IDIpIHtcclxuICAgICAgICAgICAgbW9udGhEYXRlTmFtZSA9ICcybmQnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmICh0aGlzLm1vbnRobHlEYXRlID09IDMpIHtcclxuICAgICAgICAgICAgbW9udGhEYXRlTmFtZSA9ICczcmQnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbW9udGhEYXRlTmFtZSA9IHRoaXMubW9udGhseURhdGUgKyAndGgnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzdHJpbmdWYWwgPSBtb250aERhdGVOYW1lICsgc3RyaW5nVmFsO1xyXG4gICAgICAgICAgc2VsZWN0ZWREYXRlID0gdGhpcy5tb250aGx5RGF0ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gbm90aGluZyB3YXMgc2VsZWN0ZWRcclxuICAgICAgICAgIHRoaXMuY2xvc2VGcmVxdWVuY3koKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSAncXVhcnRlcmx5Jzoge1xyXG4gICAgICAgIHN0cmluZ1ZhbCA9IFwiIG9mIGV2ZXJ5IFwiO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFF1YXJ0ZXIgPj0gMCkge1xyXG4gICAgICAgICAgZnJlcXVlbmNpZXMgPSB0aGlzLnNlbGVjdGVkUXVhcnRlcjtcclxuICAgICAgICAgIHN0cmluZ1ZhbCArPSB0aGlzLnF1YXJ0ZXJzW3RoaXMuc2VsZWN0ZWRRdWFydGVyXTtcclxuICAgICAgICAgIHNlbGVjdGVkRGF0ZSA9IHRoaXMucXVhcnRlcmx5RGF0ZTtcclxuICAgICAgICAgIGxldCBtb250aERhdGVOYW1lO1xyXG4gICAgICAgICAgaWYgKHRoaXMucXVhcnRlcmx5RGF0ZSA9PSAxKSB7XHJcbiAgICAgICAgICAgIG1vbnRoRGF0ZU5hbWUgPSAnMXN0J1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAodGhpcy5xdWFydGVybHlEYXRlID09IDIpIHtcclxuICAgICAgICAgICAgbW9udGhEYXRlTmFtZSA9ICcybmQnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmICh0aGlzLnF1YXJ0ZXJseURhdGUgPT0gMykge1xyXG4gICAgICAgICAgICBtb250aERhdGVOYW1lID0gJzNyZCdcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBtb250aERhdGVOYW1lID0gdGhpcy5xdWFydGVybHlEYXRlICsgJ3RoJ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3RyaW5nVmFsID0gbW9udGhEYXRlTmFtZSArIHN0cmluZ1ZhbDtcclxuICAgICAgICAgIHNlbGVjdGVkRGF0ZSA9IHRoaXMucXVhcnRlcmx5RGF0ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gbm90aGluZyB3YXMgc2VsZWN0ZWRcclxuICAgICAgICAgIHRoaXMuY2xvc2VGcmVxdWVuY3koKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2F2ZUZyZXF1ZW5jeS5lbWl0KHtcclxuICAgICAgZnJlcXVlbmN5U3RyaW5nOiBzdHJpbmdWYWwsXHJcbiAgICAgIGZyZXF1ZW5jeVR5cGU6IHRoaXMuZnJlcXVlbmN5VGFiLFxyXG4gICAgICBmcmVxdWVuY2llczogZnJlcXVlbmNpZXMsXHJcbiAgICAgIHNlbGVjdGVkRGF0ZVxyXG4gICAgfSlcclxuICB9XHJcbiAgXHJcbiAgY2hlY2tEYXRlVmFsaWRpdHkoZGF0ZTpudW1iZXIsIHR5cGU6c3RyaW5nKXtcclxuICAgIGlmKGRhdGU+MzEgfHwgZGF0ZTwxKXtcclxuICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdTZWxlY3QgdmFsaWQgZGF0ZS4nLCdhbGVydCcpO1xyXG4gICAgICB0aGlzLmZvb3RlckRldGFpbHMuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgcmV0dXJuXHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICAgY29uc3QgIG1vbnRoTGlzdD1be25hbWU6J0phbnVhcnknLG1heERheXM6MzEsdmFsdWU6MH0se25hbWU6J0ZlYnJ1YXJ5JyxtYXhEYXlzOjI4LHZhbHVlOjF9LHtuYW1lOidNYXJjaCcsbWF4RGF5czozMSx2YWx1ZToyfSxcclxuICAge25hbWU6J0FwcmlsJyxtYXhEYXlzOjMwLHZhbHVlOjN9LHtuYW1lOidNYXknLG1heERheXM6MzEsdmFsdWU6NH0se25hbWU6J0p1bmUnLG1heERheXM6MzAsdmFsdWU6NX0sXHJcbiAgIHtuYW1lOidKdWx5JyxtYXhEYXlzOjMxLHZhbHVlOjZ9LHtuYW1lOidBdWd1c3QnLG1heERheXM6MzEsdmFsdWU6N30se25hbWU6J1NlcHRlbWJlcicsbWF4RGF5czozMCx2YWx1ZTo4fSxcclxuICAge25hbWU6J09jdG9iZXInLG1heERheXM6MzEsdmFsdWU6OX0se25hbWU6J05vdmVtYmVyJyxtYXhEYXlzOjMwLHZhbHVlOjEwfSx7bmFtZTonRGVjZW1iZXInLG1heERheXM6MzEsdmFsdWU6MTF9XVxyXG4gIHN3aXRjaCAodHlwZSkge1xyXG4gICAgY2FzZSAnbW9udGhseSc6XHJcbiAgICAgIGlmKHRoaXMuc2VsZWN0ZWRNb250aHMubGVuZ3RoPT0xKXtcclxuICAgICAgICBjb25zdCBpbmRleCA9IG1vbnRoTGlzdC5maW5kSW5kZXgoKGVsZTphbnkpPT5lbGUudmFsdWU9PXRoaXMuc2VsZWN0ZWRNb250aHNbMF0pO1xyXG4gICAgICAgIGlmKGRhdGU8PW1vbnRoTGlzdFtpbmRleF0ubWF4RGF5cyl7XHJcbiAgICAgICAgICB0aGlzLmZvb3RlckRldGFpbHMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdTZWxlY3QgdmFsaWQgZGF0ZS4nLCdhbGVydCcpO1xyXG4gICAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLmlzRGlzYWJsZWQgPSB0cnVlOyBcclxuICAgICAgICB9XHJcbiAgICAgIH1lbHNlIGlmKHRoaXMuc2VsZWN0ZWRNb250aHMubGVuZ3RoPT0wKXtcclxuICAgICAgICB0aGlzLmZvb3RlckRldGFpbHMuaXNEaXNhYmxlZCA9IHRydWU7IFxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmZvb3RlckRldGFpbHMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLmZvb3RlckRldGFpbHMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5jaGVja0ZyZXF1ZW5jeVZhbGlkaXR5KCl7XHJcbiAgc3dpdGNoICh0aGlzLmZyZXF1ZW5jeVRhYikge1xyXG4gICAgY2FzZSAnd2Vla2x5Jzoge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZERheXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGNhc2UgJ21vbnRobHknOiB7XHJcbiAgIFxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTW9udGhzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgY2FzZSAncXVhcnRlcmx5Jzoge1xyXG5cclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRRdWFydGVyID49IDApe1xyXG4gICAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICBcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfSBcclxufVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcC0zXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiZnJlcXVlbmN5LXRpdGxlXCI+U2VsZWN0IGEgRnJlcXVlbmN5PC9oMz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS10YWJcIiBbbmdTd2l0Y2hdPVwiZnJlcXVlbmN5VGFiXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdGFiLWhlYWRcIj5cclxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdmlnYXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGJ1dHRvbiBbY2xhc3MuYWN0aXZlXT1cImZyZXF1ZW5jeVRhYiA9PSAnd2Vla2x5J1wiIChjbGljayk9XCJjaGFuZ2VUYWIoJ3dlZWtseScpXCI+V2Vla2x5PC9idXR0b24+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGJ1dHRvbiBbY2xhc3MuYWN0aXZlXT1cImZyZXF1ZW5jeVRhYiA9PSAnbW9udGhseSdcIiAoY2xpY2spPVwiY2hhbmdlVGFiKCdtb250aGx5JylcIj5Nb250aGx5PC9idXR0b24+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGJ1dHRvbiBbY2xhc3MuYWN0aXZlXT1cImZyZXF1ZW5jeVRhYiA9PSAncXVhcnRlcmx5J1wiIChjbGljayk9XCJjaGFuZ2VUYWIoJ3F1YXJ0ZXJseScpXCI+UXVhcnRlcmx5PC9idXR0b24+PC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LXRhYi1ib2R5XCIgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWxpc3RcIiAqbmdTd2l0Y2hDYXNlPVwiJ3dlZWtseSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWNoZWNrYm94IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtZmxleC13cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3ggKm5nRm9yID0gXCJsZXQgZGF5IG9mIGRheU5hbWVzOyBsZXQgZGF5SW5kZXggPSBpbmRleFwiIChuZ1ZhbHVlQ2hhbmdlKT1cImRheVNlbGVjdGlvbkNoYW5nZSgkZXZlbnQsIGRheUluZGV4KVwiIFtuZ1ZhbHVlXT1cInNlbGVjdGVkRGF5cy5pbmNsdWRlcyhkYXlJbmRleClcIj57e2RheX19PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1saXN0IG1vbnRoXCIgKm5nU3dpdGNoQ2FzZT1cIidtb250aGx5J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdG9wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RGF5IDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgKGZvY3Vzb3V0KT1cImNoZWNrRGF0ZVZhbGlkaXR5KG1vbnRobHlEYXRlLCdtb250aGx5JylcIiBbKG5nTW9kZWwpXT1cIm1vbnRobHlEYXRlXCIgY2xhc3M9XCJkYXktY291bnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMVwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIj4gb2Y8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1jaGVja2JveCB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWZsZXgtd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94ICpuZ0ZvciA9IFwibGV0IG1vbnRoIG9mIG1vbnRoTmFtZXM7IGxldCBtb250aEluZGV4ID0gaW5kZXhcIiAobmdWYWx1ZUNoYW5nZSk9XCJtb250aFNlbGVjdGlvbkNoYW5nZSgkZXZlbnQsIG1vbnRoSW5kZXgpXCIgW25nVmFsdWVdPVwic2VsZWN0ZWRNb250aHMuaW5jbHVkZXMobW9udGhJbmRleClcIj57e21vbnRofX08L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWxpc3RcIiAqbmdTd2l0Y2hDYXNlPVwiJ3F1YXJ0ZXJseSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1JhZGlvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdG9wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkRheSA8aW5wdXQgdHlwZT1cIm51bWJlclwiICAoZm9jdXNvdXQpPVwiY2hlY2tEYXRlVmFsaWRpdHkocXVhcnRlcmx5RGF0ZSwncXVhcnRlcmx5JylcIiBbKG5nTW9kZWwpXT1cInF1YXJ0ZXJseURhdGVcIiBjbGFzcz1cImRheS1jb3VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMVwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIj4gb2Y8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWNoZWNrYm94IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtZmxleC13cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLXJhZGlvICpuZ0ZvciA9IFwibGV0IHF1YXJ0ZXIgb2YgcXVhcnRlcnMsIGxldCBxdWFydGVySW5kZXggPSBpbmRleFwiIChjaGVja2VkRXZlbnQpPVwicXVhcnRlclNlbGVjdGlvbkNoYW5nZSgkZXZlbnQsIHF1YXJ0ZXJJbmRleClcIiBbY2hlY2tlZF09XCJzZWxlY3RlZFF1YXJ0ZXIgPT09IHF1YXJ0ZXJJbmRleFwiPnt7cXVhcnRlcn19PC9hcHAtY3MtcmFkaW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZm9vdGVyXCI+XHJcbiAgICAgICAgPGFwcC1kYXNoYm9hcmQtZm9vdGVyIFxyXG4gICAgICAgIFtmb290ZXJEZXRhaWxzXT1cImZvb3RlckRldGFpbHNcIlxyXG4gICAgICAgIChjYW5jZWxFdmVudCk9XCJjbG9zZUZyZXF1ZW5jeVBvcHVwLmVtaXQoKVwiXHJcbiAgICAgICAgIChzdWJtaXRFdmVudCk9XCJzdWJtaXRGcmVxdWVuY3koKVwiXHJcbiAgICAgICAgICA+PC9hcHAtZGFzaGJvYXJkLWZvb3Rlcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
305
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9mcmVxdWVuY3kvZnJlcXVlbmN5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9mcmVxdWVuY3kvZnJlcXVlbmN5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVUxRixNQUFNLE9BQU8sa0JBQWtCO0lBOEI3QixZQUFvQixRQUF3QjtRQUF4QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQTdCNUMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUVqQixnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUNoQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUdsQixpQkFBWSxHQUFHLFFBQVEsQ0FBQztRQUN4QixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixhQUFRLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxRixlQUFVLEdBQUcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hJLGFBQVEsR0FBRyxDQUFDLCtCQUErQixFQUFFLGlDQUFpQyxFQUFFLGtDQUFr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QUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7aUJBRXZDO3FCQUFNO29CQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztpQkFDdEM7Z0JBQ0gsTUFBTTthQUNQO1lBQ0QsS0FBSyxXQUFXLENBQUMsQ0FBQztnQkFFaEIsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsRUFBQztvQkFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2lCQUV2QztxQkFBTTtvQkFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7aUJBQ3RDO2dCQUNILE1BQU07YUFDUDtTQUNGO0lBQ0gsQ0FBQzs7K0dBbFNZLGtCQUFrQjttR0FBbEIsa0JBQWtCLDJSQ1YvQiw0ckpBNERNOzJGRGxETyxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZTtzR0FNaEIsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQVNJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhc2hib2FyZEZvb3RlckNvbmZpZyB9IGZyb20gJy4uLy4uL3VpLWtpdC9kYXNoYm9hcmQtZm9vdGVyL2Rhc2hib2FyZC1mb290ZXItY29uZmlnJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3kuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uQ2hhbmdlcyB7XHJcbiAgYW5pbWF0aW9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzYXZlZEZyZXF1ZW5jeVRhYjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIG1vbnRobHlEYXRlID0gMTtcclxuICBxdWFydGVybHlEYXRlID0gMTtcclxuICBASW5wdXQoKSBzYXZlZEZyZXF1ZW5jaWVzOiBhbnk7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlOiBhbnk7XHJcbiAgZnJlcXVlbmN5VGFiID0gJ3dlZWtseSc7XHJcbiAgc2hvd0ZyZXF1ZW5jeSA9IHRydWU7XHJcbiAgZGF5TmFtZXMgPSBbJ01vbmRheScsICdUdWVzZGF5JywgJ1dlZG5lc2RheScsICdUaHVyc2RheScsICdGcmlkYXknLCAnU2F0dXJkYXknLCAnU3VuZGF5J107XHJcbiAgbW9udGhOYW1lcyA9IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5JywgJ0F1Z3VzdCcsICdTZXB0ZW1iZXInLCAnT2N0b2JlcicsICdOb3ZlbWJlcicsICdEZWNlbWJlciddO1xyXG4gIHF1YXJ0ZXJzID0gWydKYW51YXJ5LCBBcHJpbCwgSnVseSwgT2N0b2JlcicsICdGZWJydWFyeSwgTWF5LCBBdWd1c3QsIE5vdmVtYmVyJywgJ01hcmNoLCBKdW5lLCBTZXB0ZW1iZXIsIERlY2VtYmVyJ107XHJcbiAgc2VsZWN0ZWREYXlzOiBhbnlbXSA9IFswXTtcclxuICBzZWxlY3RlZE1vbnRoczogYW55W10gPSBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExXTtcclxuICBzZWxlY3RlZFF1YXJ0ZXIgPSAwO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUZyZXF1ZW5jeVBvcHVwID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIHNhdmVGcmVxdWVuY3kgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBmb290ZXJEZXRhaWxzOiBEYXNoYm9hcmRGb290ZXJDb25maWcgPSB7XHJcbiAgICBzZWxlY3RlZERhdGE6IFtdLFxyXG4gICAgbm9uUmVtb3ZhYmxlTGlzdDpbXSxcclxuICAgIGRpc3BsYXlFbGVtZW50S2V5OiAnJyxcclxuICAgIGVsZW1lbnRJZDogJycsXHJcbiAgICBzaW5ndWxhclRleHQ6ICcnLFxyXG4gICAgcGx1cmFsVGV4dDogJycsXHJcbiAgICBzaG93RnJlcXVlbmN5OiB0cnVlLFxyXG4gICAgZnJlcXVlbmN5VGV4dDogJ1lvdSBoYXZlIHNlbGVjdGVkIGEgPHN0cm9uZz4nICsgdGhpcy5mcmVxdWVuY3lUYWIgKyAnPC9zdHJvbmc+IGZyZXF1ZW5jeS4nLFxyXG4gICAgaXNEaXNhYmxlZDogZmFsc2VcclxuXHJcbiAgfTtcclxuICBzaG93UmFkaW8gPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6U25hY2tCYXJTZXJ2aWNlKSB7IH1cclxuICBuZ09uQ2hhbmdlcygpe1xyXG4gICAgdGhpcy5zYXZlZEZyZXF1ZW5jaWVzID0gWy4uLm5ldyBTZXQodGhpcy5zYXZlZEZyZXF1ZW5jaWVzKV1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gICAgaWYgKHRoaXMuc2F2ZWRGcmVxdWVuY3lUYWIpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VUYWIodGhpcy5zYXZlZEZyZXF1ZW5jeVRhYik7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgc3dpdGNoICh0aGlzLnNhdmVkRnJlcXVlbmN5VGFiKSB7XHJcbiAgICAgICAgY2FzZSAnd2Vla2x5JzpcclxuICAgICAgICAgdGhpcy5zZWxlY3RlZERheXMgPSBbLi4ubmV3IFNldCh0aGlzLnNhdmVkRnJlcXVlbmNpZXMpXVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnbW9udGhseSc6XHJcbiAgICAgICAgIHRoaXMubW9udGhseURhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcclxuICAgICAgICAgdGhpcy5zZWxlY3RlZE1vbnRocyA9IFsuLi5uZXcgU2V0KHRoaXMuc2F2ZWRGcmVxdWVuY2llcyldXHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAncXVhcnRlcmx5JzpcclxuICAgICAgICAgIHRoaXMuc2hvd1JhZGlvID0gZmFsc2U7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zaG93UmFkaW8gPSB0cnVlXHJcbiAgICAgICAgICB9LCAxMDApO1xyXG4gICAgICAgICAgdGhpcy5xdWFydGVybHlEYXRlID0gdGhpcy5zZWxlY3RlZERhdGVcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVyID0gdGhpcy5zYXZlZEZyZXF1ZW5jaWVzO1xyXG5cclxuICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgY2xvc2VGcmVxdWVuY3koKSB7XHJcbiAgICB0aGlzLmNsb3NlRnJlcXVlbmN5UG9wdXAuZW1pdCgpO1xyXG4gIH1cclxuICBkYXlTZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IGFueSwgaW5kZXg6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50KSB7IC8vY2hlY2tib3ggd2FzIHNlbGVjdGVkXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXlzLnB1c2goaW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHVuc2VsZWN0ZWRFbGVtZW50SW5kZXggPSB0aGlzLnNlbGVjdGVkRGF5cy5pbmRleE9mKGluZGV4KTtcclxuICAgICAgdGhpcy5zZWxlY3RlZERheXMuc3BsaWNlKHVuc2VsZWN0ZWRFbGVtZW50SW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGVja0ZyZXF1ZW5jeVZhbGlkaXR5KCk7XHJcbiAgfVxyXG4gIG1vbnRoU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiBhbnksIGluZGV4OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGhzLnB1c2goaW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHVuc2VsZWN0ZWRFbGVtZW50SW5kZXggPSB0aGlzLnNlbGVjdGVkTW9udGhzLmluZGV4T2YoaW5kZXgpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTW9udGhzLnNwbGljZSh1bnNlbGVjdGVkRWxlbWVudEluZGV4LCAxKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2hlY2tEYXRlVmFsaWRpdHkodGhpcy5tb250aGx5RGF0ZSwnbW9udGhseScpXHJcbiAgICB0aGlzLmNoZWNrRnJlcXVlbmN5VmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG4gIHF1YXJ0ZXJTZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IGFueSwgaW5kZXg6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXIgPSBpbmRleDtcclxuICAgIHRoaXMuY2hlY2tEYXRlVmFsaWRpdHkodGhpcy5xdWFydGVybHlEYXRlLCdxdWFydGVybHknKTtcclxuICAgIHRoaXMuY2hlY2tGcmVxdWVuY3lWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlVGFiKHRhYlZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZnJlcXVlbmN5VGFiID0gdGFiVmFsdWU7XHJcbiAgICB0aGlzLmZvb3RlckRldGFpbHMuZnJlcXVlbmN5VGV4dCA9ICdZb3UgaGF2ZSBzZWxlY3RlZCBhIDxzdHJvbmc+JyArIHRoaXMuZnJlcXVlbmN5VGFiICsgJzwvc3Ryb25nPiBmcmVxdWVuY3kuJztcclxuICAgIHRoaXMuZm9vdGVyRGV0YWlscy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnNldFRvRGVmYXVsdFZhbHVlcygpXHJcbiAgICBpZiAodGhpcy5mcmVxdWVuY3lUYWIgPT09IHRoaXMuc2F2ZWRGcmVxdWVuY3lUYWIpIHtcclxuICAgICAgc3dpdGNoICh0aGlzLmZyZXF1ZW5jeVRhYikge1xyXG4gICAgICAgIGNhc2UgJ3dlZWtseSc6IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXlzID0gWy4uLnRoaXMuc2F2ZWRGcmVxdWVuY2llc107XHJcbiAgICAgICAgICB0aGlzLm1vbnRobHlEYXRlID0gMTtcclxuICAgICAgICAgIHRoaXMucXVhcnRlcmx5RGF0ZSA9IDE7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FzZSAnbW9udGhseSc6IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aHMgPSBbLi4udGhpcy5zYXZlZEZyZXF1ZW5jaWVzXTtcclxuICAgICAgICAgIHRoaXMubW9udGhseURhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZTtcclxuICAgICAgICAgIHRoaXMucXVhcnRlcmx5RGF0ZSA9IDE7XHJcbiAgICAgICAgICB0aGlzLmNoZWNrRGF0ZVZhbGlkaXR5KHRoaXMubW9udGhseURhdGUsJ21vbnRobHknKVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgJ3F1YXJ0ZXJseSc6IHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVyID0gdGhpcy5zYXZlZEZyZXF1ZW5jaWVzO1xyXG4gICAgICAgICAgdGhpcy5xdWFydGVybHlEYXRlID0gdGhpcy5zZWxlY3RlZERhdGU7XHJcbiAgICAgICAgICB0aGlzLm1vbnRobHlEYXRlID0gMTtcclxuICAgICAgICAgIHRoaXMuY2hlY2tEYXRlVmFsaWRpdHkodGhpcy5xdWFydGVybHlEYXRlLCdxdWFydGVybHknKVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRUb0RlZmF1bHRWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF5cyA9IFswXTtcclxuICAgIHRoaXMuc2VsZWN0ZWRNb250aHMgPSBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExXTtcclxuICAgIHRoaXMuc2VsZWN0ZWRRdWFydGVyID0gMDtcclxuICB9XHJcblxyXG4gIHN1Ym1pdEZyZXF1ZW5jeSgpIHtcclxuICAgIGxldCBzdHJpbmdWYWwgPSBcIkV2ZXJ5IFwiO1xyXG4gICAgbGV0IGZyZXF1ZW5jaWVzO1xyXG4gICAgbGV0IHNlbGVjdGVkRGF0ZSA9IDE7XHJcbiAgICBzd2l0Y2ggKHRoaXMuZnJlcXVlbmN5VGFiKSB7XHJcbiAgICAgIGNhc2UgJ3dlZWtseSc6IHtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZERheXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZERheXMuc29ydCgpO1xyXG4gICAgICAgICAgZnJlcXVlbmNpZXMgPSB0aGlzLnNlbGVjdGVkRGF5cztcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXlzLmZvckVhY2goKGRheUluZGV4LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICBzdHJpbmdWYWwgKz0gaW5kZXggPT09IDAgPyB0aGlzLmRheU5hbWVzW2RheUluZGV4XSA6ICcsICcgKyB0aGlzLmRheU5hbWVzW2RheUluZGV4XTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIG5vdGhpbmcgd2FzIHNlbGVjdGVkXHJcbiAgICAgICAgICB0aGlzLmNsb3NlRnJlcXVlbmN5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIGNhc2UgJ21vbnRobHknOiB7XHJcbiAgICAgICAgc3RyaW5nVmFsID0gXCIgb2YgZXZlcnkgXCI7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb250aHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgZnJlcXVlbmNpZXMgPSB0aGlzLnNlbGVjdGVkTW9udGhzO1xyXG4gICAgICAgICAgdGhpcy5tb250aE5hbWVzLmZvckVhY2goKG1vbnRoTmFtZXM6IHN0cmluZywgbW9udGhJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTW9udGhzLmluY2x1ZGVzKG1vbnRoSW5kZXgpKSB7XHJcbiAgICAgICAgICAgICAgc3RyaW5nVmFsICs9IG1vbnRoSW5kZXggID09PSAwID8gbW9udGhOYW1lcyA6ICcsICcgKyBtb250aE5hbWVzO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIGxldCBtb250aERhdGVOYW1lO1xyXG4gICAgICAgICAgaWYgKHRoaXMubW9udGhseURhdGUgPT0gMSkge1xyXG4gICAgICAgICAgICBtb250aERhdGVOYW1lID0gJzFzdCdcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKHRoaXMubW9udGhseURhdGUgPT0gMikge1xyXG4gICAgICAgICAgICBtb250aERhdGVOYW1lID0gJzJuZCdcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKHRoaXMubW9udGhseURhdGUgPT0gMykge1xyXG4gICAgICAgICAgICBtb250aERhdGVOYW1lID0gJzNyZCdcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBtb250aERhdGVOYW1lID0gdGhpcy5tb250aGx5RGF0ZSArICd0aCdcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHN0cmluZ1ZhbCA9IG1vbnRoRGF0ZU5hbWUgKyBzdHJpbmdWYWw7XHJcbiAgICAgICAgICBzZWxlY3RlZERhdGUgPSB0aGlzLm1vbnRobHlEYXRlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBub3RoaW5nIHdhcyBzZWxlY3RlZFxyXG4gICAgICAgICAgdGhpcy5jbG9zZUZyZXF1ZW5jeSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICBjYXNlICdxdWFydGVybHknOiB7XHJcbiAgICAgICAgc3RyaW5nVmFsID0gXCIgb2YgZXZlcnkgXCI7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkUXVhcnRlciA+PSAwKSB7XHJcbiAgICAgICAgICBmcmVxdWVuY2llcyA9IHRoaXMuc2VsZWN0ZWRRdWFydGVyO1xyXG4gICAgICAgICAgc3RyaW5nVmFsICs9IHRoaXMucXVhcnRlcnNbdGhpcy5zZWxlY3RlZFF1YXJ0ZXJdO1xyXG4gICAgICAgICAgc2VsZWN0ZWREYXRlID0gdGhpcy5xdWFydGVybHlEYXRlO1xyXG4gICAgICAgICAgbGV0IG1vbnRoRGF0ZU5hbWU7XHJcbiAgICAgICAgICBpZiAodGhpcy5xdWFydGVybHlEYXRlID09IDEpIHtcclxuICAgICAgICAgICAgbW9udGhEYXRlTmFtZSA9ICcxc3QnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmICh0aGlzLnF1YXJ0ZXJseURhdGUgPT0gMikge1xyXG4gICAgICAgICAgICBtb250aERhdGVOYW1lID0gJzJuZCdcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKHRoaXMucXVhcnRlcmx5RGF0ZSA9PSAzKSB7XHJcbiAgICAgICAgICAgIG1vbnRoRGF0ZU5hbWUgPSAnM3JkJ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIG1vbnRoRGF0ZU5hbWUgPSB0aGlzLnF1YXJ0ZXJseURhdGUgKyAndGgnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzdHJpbmdWYWwgPSBtb250aERhdGVOYW1lICsgc3RyaW5nVmFsO1xyXG4gICAgICAgICAgc2VsZWN0ZWREYXRlID0gdGhpcy5xdWFydGVybHlEYXRlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBub3RoaW5nIHdhcyBzZWxlY3RlZFxyXG4gICAgICAgICAgdGhpcy5jbG9zZUZyZXF1ZW5jeSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zYXZlRnJlcXVlbmN5LmVtaXQoe1xyXG4gICAgICBmcmVxdWVuY3lTdHJpbmc6IHN0cmluZ1ZhbCxcclxuICAgICAgZnJlcXVlbmN5VHlwZTogdGhpcy5mcmVxdWVuY3lUYWIsXHJcbiAgICAgIGZyZXF1ZW5jaWVzOiBmcmVxdWVuY2llcyxcclxuICAgICAgc2VsZWN0ZWREYXRlXHJcbiAgICB9KVxyXG4gIH1cclxuICBcclxuICBjaGVja0RhdGVWYWxpZGl0eShkYXRlOm51bWJlciwgdHlwZTpzdHJpbmcpe1xyXG4gICAgaWYoZGF0ZT4zMSB8fCBkYXRlPDEpe1xyXG4gICAgICB0aGlzLnNuYWNrQmFyLnNob3coJ1NlbGVjdCB2YWxpZCBkYXRlLicsJ2FsZXJ0Jyk7XHJcbiAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5pc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICByZXR1cm5cclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmZvb3RlckRldGFpbHMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICBjb25zdCAgbW9udGhMaXN0PVt7bmFtZTonSmFudWFyeScsbWF4RGF5czozMSx2YWx1ZTowfSx7bmFtZTonRmVicnVhcnknLG1heERheXM6MjgsdmFsdWU6MX0se25hbWU6J01hcmNoJyxtYXhEYXlzOjMxLHZhbHVlOjJ9LFxyXG4gICB7bmFtZTonQXByaWwnLG1heERheXM6MzAsdmFsdWU6M30se25hbWU6J01heScsbWF4RGF5czozMSx2YWx1ZTo0fSx7bmFtZTonSnVuZScsbWF4RGF5czozMCx2YWx1ZTo1fSxcclxuICAge25hbWU6J0p1bHknLG1heERheXM6MzEsdmFsdWU6Nn0se25hbWU6J0F1Z3VzdCcsbWF4RGF5czozMSx2YWx1ZTo3fSx7bmFtZTonU2VwdGVtYmVyJyxtYXhEYXlzOjMwLHZhbHVlOjh9LFxyXG4gICB7bmFtZTonT2N0b2JlcicsbWF4RGF5czozMSx2YWx1ZTo5fSx7bmFtZTonTm92ZW1iZXInLG1heERheXM6MzAsdmFsdWU6MTB9LHtuYW1lOidEZWNlbWJlcicsbWF4RGF5czozMSx2YWx1ZToxMX1dXHJcbiAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICBjYXNlICdtb250aGx5JzpcclxuICAgICAgaWYodGhpcy5zZWxlY3RlZE1vbnRocy5sZW5ndGg9PTEpe1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gbW9udGhMaXN0LmZpbmRJbmRleCgoZWxlOmFueSk9PmVsZS52YWx1ZT09dGhpcy5zZWxlY3RlZE1vbnRoc1swXSk7XHJcbiAgICAgICAgaWYoZGF0ZTw9bW9udGhMaXN0W2luZGV4XS5tYXhEYXlzKXtcclxuICAgICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLnNuYWNrQmFyLnNob3coJ1NlbGVjdCB2YWxpZCBkYXRlLicsJ2FsZXJ0Jyk7XHJcbiAgICAgICAgICB0aGlzLmZvb3RlckRldGFpbHMuaXNEaXNhYmxlZCA9IHRydWU7IFxyXG4gICAgICAgIH1cclxuICAgICAgfWVsc2UgaWYodGhpcy5zZWxlY3RlZE1vbnRocy5sZW5ndGg9PTApe1xyXG4gICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5pc0Rpc2FibGVkID0gdHJ1ZTsgXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuZm9vdGVyRGV0YWlscy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbmNoZWNrRnJlcXVlbmN5VmFsaWRpdHkoKXtcclxuICBzd2l0Y2ggKHRoaXMuZnJlcXVlbmN5VGFiKSB7XHJcbiAgICBjYXNlICd3ZWVrbHknOiB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRGF5cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgY2FzZSAnbW9udGhseSc6IHtcclxuICAgXHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNb250aHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLmlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICBcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5mb290ZXJEZXRhaWxzLmlzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBjYXNlICdxdWFydGVybHknOiB7XHJcblxyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFF1YXJ0ZXIgPj0gMCl7XHJcbiAgICAgICAgICB0aGlzLmZvb3RlckRldGFpbHMuaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmZvb3RlckRldGFpbHMuaXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9IFxyXG59XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjcmVhdGUtZnJlcXVlbmN5XCIgW2NsYXNzLmFuaW1hdGUtc2xpZGVJblJpZ2h0XT1cImFuaW1hdGlvblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNyZWF0ZS1mcmVxdWVuY3ktaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTQgdngtbWItNFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IGEgRnJlcXVlbmN5PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjcmVhdGUtZnJlcXVlbmN5LWJvZHkgdngtcGwtNCB2eC1wci00XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNyZWF0ZS1mcmVxdWVuY3ktYm9keS1pbm5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JlYXRlLWZyZXF1ZW5jeS10YWJcIiBbbmdTd2l0Y2hdPVwiZnJlcXVlbmN5VGFiXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JlYXRlLWZyZXF1ZW5jeS10YWItaGVhZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdmlnYXRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxidXR0b24gW2NsYXNzLmFjdGl2ZV09XCJmcmVxdWVuY3lUYWIgPT0gJ3dlZWtseSdcIiAoY2xpY2spPVwiY2hhbmdlVGFiKCd3ZWVrbHknKVwiPldlZWtseTwvYnV0dG9uPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YnV0dG9uIFtjbGFzcy5hY3RpdmVdPVwiZnJlcXVlbmN5VGFiID09ICdtb250aGx5J1wiIChjbGljayk9XCJjaGFuZ2VUYWIoJ21vbnRobHknKVwiPk1vbnRobHk8L2J1dHRvbj48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGJ1dHRvbiBbY2xhc3MuYWN0aXZlXT1cImZyZXF1ZW5jeVRhYiA9PSAncXVhcnRlcmx5J1wiIChjbGljayk9XCJjaGFuZ2VUYWIoJ3F1YXJ0ZXJseScpXCI+UXVhcnRlcmx5PC9idXR0b24+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JlYXRlLWZyZXF1ZW5jeS10YWItYm9keSB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPkVtYWlsIFJlbWluZGVyIEZyZXF1ZW5jeTo8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtbGlzdFwiICpuZ1N3aXRjaENhc2U9XCInd2Vla2x5J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWNoZWNrYm94IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktY2hlY2tib3gtaXRlbSB2eC1wLTMgdngtcHItNCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCIgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlOYW1lczsgbGV0IGRheUluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IChuZ1ZhbHVlQ2hhbmdlKT1cImRheVNlbGVjdGlvbkNoYW5nZSgkZXZlbnQsIGRheUluZGV4KVwiIFtuZ1ZhbHVlXT1cInNlbGVjdGVkRGF5cy5pbmNsdWRlcyhkYXlJbmRleClcIj57e2RheX19PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWxpc3QgbW9udGhcIiAqbmdTd2l0Y2hDYXNlPVwiJ21vbnRobHknXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdG9wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+RGF5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIChmb2N1c291dCk9XCJjaGVja0RhdGVWYWxpZGl0eShtb250aGx5RGF0ZSwnbW9udGhseScpXCIgWyhuZ01vZGVsKV09XCJtb250aGx5RGF0ZVwiIGNsYXNzPVwiY291bnROdW1cIiBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMVwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+b2Y8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktY2hlY2tib3ggdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1mbGV4LXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktY2hlY2tib3gtaXRlbSB2eC1wLTMgdngtcHItNCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoTmFtZXM7IGxldCBtb250aEluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IChuZ1ZhbHVlQ2hhbmdlKT1cIm1vbnRoU2VsZWN0aW9uQ2hhbmdlKCRldmVudCwgbW9udGhJbmRleClcIiBbbmdWYWx1ZV09XCJzZWxlY3RlZE1vbnRocy5pbmNsdWRlcyhtb250aEluZGV4KVwiPnt7bW9udGh9fTwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC1saXN0XCIgKm5nU3dpdGNoQ2FzZT1cIidxdWFydGVybHknXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93UmFkaW9cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktdG9wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dFwiPkRheTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgKGZvY3Vzb3V0KT1cImNoZWNrRGF0ZVZhbGlkaXR5KHF1YXJ0ZXJseURhdGUsJ3F1YXJ0ZXJseScpXCIgWyhuZ01vZGVsKV09XCJxdWFydGVybHlEYXRlXCIgY2xhc3M9XCJjb3VudE51bVwiIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIiBtaW49XCIxXCIgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0XCI+b2Y8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1jaGVja2JveCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1jaGVja2JveC1pdGVtIHZ4LXAtMyB2eC1wci00IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtdy0xMDBcIiAqbmdGb3I9XCJsZXQgcXVhcnRlciBvZiBxdWFydGVycywgbGV0IHF1YXJ0ZXJJbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtcmFkaW8gKGNoZWNrZWRFdmVudCk9XCJxdWFydGVyU2VsZWN0aW9uQ2hhbmdlKCRldmVudCwgcXVhcnRlckluZGV4KVwiIFtjaGVja2VkXT1cInNlbGVjdGVkUXVhcnRlciA9PT0gcXVhcnRlckluZGV4XCI+e3txdWFydGVyfX08L2FwcC1jcy1yYWRpbz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY3JlYXRlLWZyZXF1ZW5jeS1mb290ZXJcIj5cclxuICAgICAgICA8YXBwLWRhc2hib2FyZC1mb290ZXIgXHJcbiAgICAgICAgW2Zvb3RlckRldGFpbHNdPVwiZm9vdGVyRGV0YWlsc1wiXHJcbiAgICAgICAgKGNhbmNlbEV2ZW50KT1cImNsb3NlRnJlcXVlbmN5UG9wdXAuZW1pdCgpXCJcclxuICAgICAgICAoc3VibWl0RXZlbnQpPVwic3VibWl0RnJlcXVlbmN5KClcIlxyXG4gICAgICAgID48L2FwcC1kYXNoYm9hcmQtZm9vdGVyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -126,10 +126,10 @@ export class ResponsibilityCenterComponent {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
ResponsibilityCenterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResponsibilityCenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
-
ResponsibilityCenterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ResponsibilityCenterComponent, selector: "app-responsibility-center", inputs: { responsibilityCentersList: "responsibilityCentersList", selectedResponsibilityCenters: "selectedResponsibilityCenters", rcIdKey: "rcIdKey", radioSelection: "radioSelection" }, outputs: { saveSelectedList: "saveSelectedList", closeRcList: "closeRcList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"responsibility-center-head\">\r\n <h3>Select Responsibility Center(s)</h3>\r\n </div>\r\n <div class=\"responsibility-center-body\">\r\n <div class=\"responsibility-center-search\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Responsibility Center\">\r\n </div>\r\n <ng-container *ngIf=\"(responsibilityCentersList | filter:search) as searchList\">\r\n\r\n <div class=\"select-all\" *ngIf=\"searchList.length>1\">\r\n <app-cs-checkbox [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>{{checkSelectAll() ? 'Deselect All' : 'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\r\n\r\n <li\r\n *ngFor=\"let rc of searchList; let i = index\">\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(rc.item_id)\" (ngValueChange)=\"selectRc(rc.item_id,$event)\">\r\n <ul class=\"responsibility-center-list-name\">\r\n <li *ngFor=\"let entity of rc.rc_name; let j = index\" [arTooltip]=\"entity\" placement=\"bottom-left\"\r\n delay=\"0\">\r\n <i class=\"icons\" *ngIf=\"j !== 0\"></i>\r\n {{entity}}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li> \r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n \r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No data to display'\">\r\n </app-no-data>\r\n </ng-container>\r\n </div>\r\n <div class=\"responsibility-center-footer\">\r\n <app-dashboard-footer \r\n [footerDetails] =\"footerDetails\"\r\n (cancelEvent)=\"closeRcList.emit()\"\r\n (deleteEvent) =\"selectRc($event.item_id,false)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animation.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animate-slide-right.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.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\";::ng-deep .responsibility-center{background:#FFFFFF}::ng-deep .responsibility-center-head{background:#fbfbfb;height:42px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1f1f1;border-right:none}::ng-deep .responsibility-center-head h3{color:#161b2f;font-size:15px;font-weight:500;margin:0;padding:0;line-height:21px}::ng-deep .responsibility-center-body{padding:24px 40px 24px 36px;height:calc(100vh - 112px)}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:20px}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;align-items:flex-start;flex-wrap:wrap;max-height:calc(100vh - 230px);min-height:calc(100vh - 230px);overflow:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background-color:#fff}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 20px;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:14px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:8px;color:#747576;position:relative;top:-1px}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:14px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#4681ef;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#66bf72}::ng-deep .responsibility-center-footer{height:70px}::ng-deep .responsibility-center-search{position:relative;margin-bottom:8px}::ng-deep .responsibility-center-search i{position:absolute;left:17px;font-size:12px;font-weight:400;top:17px;pointer-events:none;color:#dbdbdb}::ng-deep .responsibility-center-search input{height:44px;line-height:24px;padding:10px 15px 10px 40px;outline:none;border:1px solid #7475763f;border-radius:4px;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}.pagination-box{margin-bottom:20px}.pagination-box ul{display:flex;align-items:center;padding:0;margin:0}.pagination-box ul li{list-style:none;display:flex}.pagination-box ul li:first-child{margin-right:4px;height:24px}.pagination-box ul li:first-child button{color:#1e5dd3;font-size:17px}.pagination-box ul li:last-child{margin-left:6px!important;height:24px}.pagination-box ul li:last-child button{color:#1e5dd3;font-size:17px}.pagination-box ul li button{border:1px solid #BCBCBC;background:#FFFFFF;border-radius:2px;color:#161b2f;font-weight:400;height:24px;min-width:24px;padding:0 5px;display:inline-flex;justify-content:center;align-items:center;outline:none;cursor:pointer;margin-left:4px;font-size:13px}.pagination-box ul li button:hover{border-color:#1e5dd3;color:#1e5dd3}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { 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: "directive", type: i4.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.DashboardFooterComponent, selector: "app-dashboard-footer", inputs: ["footerDetails"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: i6.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "pipe", type: i7.FilterPipe, name: "filter" }] });
|
|
129
|
+
ResponsibilityCenterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ResponsibilityCenterComponent, selector: "app-responsibility-center", inputs: { responsibilityCentersList: "responsibilityCentersList", selectedResponsibilityCenters: "selectedResponsibilityCenters", rcIdKey: "rcIdKey", radioSelection: "radioSelection" }, outputs: { saveSelectedList: "saveSelectedList", closeRcList: "closeRcList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibility Center(s)</div>\r\n </div>\r\n <div class=\"responsibility-center-body\">\r\n <div class=\"responsibility-center-search vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Responsibility Center\">\r\n </div>\r\n\r\n <ng-container *ngIf=\"(responsibilityCentersList | filter:search) as searchList\">\r\n <div class=\"select-all\" *ngIf=\"searchList.length>1\">\r\n <app-cs-checkbox [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>{{checkSelectAll() ? 'Deselect All' : 'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let rc of searchList; let i = index\">\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(rc.item_id)\" (ngValueChange)=\"selectRc(rc.item_id,$event)\">\r\n <ul class=\"responsibility-center-list-name\">\r\n <li *ngFor=\"let entity of rc.rc_name; let j = index\" [arTooltip]=\"entity\" placement=\"bottom-left\" delay=\"0\">\r\n <i class=\"icons\" *ngIf=\"j !== 0\"></i>\r\n {{entity}}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li> \r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No data to display'\">\r\n </app-no-data>\r\n </ng-container>\r\n\r\n <div class=\"responsibility-center-footer\">\r\n <app-dashboard-footer \r\n [footerDetails] =\"footerDetails\"\r\n (cancelEvent)=\"closeRcList.emit()\"\r\n (deleteEvent) =\"selectRc($event.item_id,false)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .responsibility-center{background:#FFFFFF;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .responsibility-center-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .responsibility-center-body{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:1rem}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important;font-size:12px!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;height:calc(100vh - 256px);margin-bottom:16px;overflow:hidden;overflow-y:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background:transparent}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:4px;color:#747576;position:relative}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#34aa44}::ng-deep .responsibility-center-search{position:relative}::ng-deep .responsibility-center-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3}::ng-deep .responsibility-center-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { 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: "directive", type: i4.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i5.DashboardFooterComponent, selector: "app-dashboard-footer", inputs: ["footerDetails", "userButtonColor"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: i6.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "pipe", type: i7.FilterPipe, name: "filter" }] });
|
|
130
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ResponsibilityCenterComponent, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
|
-
args: [{ selector: 'app-responsibility-center', template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"responsibility-center-head\">\r\n <
|
|
132
|
+
args: [{ selector: 'app-responsibility-center', template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\">\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">Select Responsibility Center(s)</div>\r\n </div>\r\n <div class=\"responsibility-center-body\">\r\n <div class=\"responsibility-center-search vx-mb-2\">\r\n <i class=\"icons\"></i>\r\n <input type=\"text\" [(ngModel)]=\"search\" placeholder=\"Search Responsibility Center\">\r\n </div>\r\n\r\n <ng-container *ngIf=\"(responsibilityCentersList | filter:search) as searchList\">\r\n <div class=\"select-all\" *ngIf=\"searchList.length>1\">\r\n <app-cs-checkbox [ngValue]=\"checkSelectAll()\" (ngValueChange)=\"selectAll($event)\">\r\n <strong>{{checkSelectAll() ? 'Deselect All' : 'Select All'}}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let rc of searchList; let i = index\">\r\n <app-cs-checkbox [ngValue]=\"selectedIds.includes(rc.item_id)\" (ngValueChange)=\"selectRc(rc.item_id,$event)\">\r\n <ul class=\"responsibility-center-list-name\">\r\n <li *ngFor=\"let entity of rc.rc_name; let j = index\" [arTooltip]=\"entity\" placement=\"bottom-left\" delay=\"0\">\r\n <i class=\"icons\" *ngIf=\"j !== 0\"></i>\r\n {{entity}}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li> \r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"'https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/search-data.svg'\" [noDataText]=\"'No data to display'\">\r\n </app-no-data>\r\n </ng-container>\r\n\r\n <div class=\"responsibility-center-footer\">\r\n <app-dashboard-footer \r\n [footerDetails] =\"footerDetails\"\r\n (cancelEvent)=\"closeRcList.emit()\"\r\n (deleteEvent) =\"selectRc($event.item_id,false)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n </div>\r\n</div>", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .responsibility-center{background:#FFFFFF;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .responsibility-center-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .responsibility-center-body{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:1rem}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important;font-size:12px!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;height:calc(100vh - 256px);margin-bottom:16px;overflow:hidden;overflow-y:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background:transparent}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:4px;color:#747576;position:relative}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#34aa44}::ng-deep .responsibility-center-search{position:relative}::ng-deep .responsibility-center-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3}::ng-deep .responsibility-center-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}\n"] }]
|
|
133
133
|
}], ctorParameters: function () { return []; }, propDecorators: { saveSelectedList: [{
|
|
134
134
|
type: Output
|
|
135
135
|
}], closeRcList: [{
|
|
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImpor
|
|
|
143
143
|
}], radioSelection: [{
|
|
144
144
|
type: Input
|
|
145
145
|
}] } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yZXNwb25zaWJpbGl0eS1jZW50ZXIvcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yZXNwb25zaWJpbGl0eS1jZW50ZXIvcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRMUYsTUFBTSxPQUFPLDZCQUE2QjtJQXdCeEM7UUF2QlUscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsOEJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQy9CLGtDQUE2QixHQUFHLEVBQUUsQ0FBQztRQUNuQyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHaEMsZ0JBQVcsR0FBVSxFQUFFLENBQUM7UUFDeEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osa0JBQWEsR0FBMEI7WUFDckMsWUFBWSxFQUFFLEVBQUU7WUFDaEIsZ0JBQWdCLEVBQUMsRUFBRTtZQUNuQixpQkFBaUIsRUFBRSxXQUFXO1lBQzlCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFlBQVksRUFBRSxnQ0FBZ0M7WUFDOUMsVUFBVSxFQUFF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VztzQkFBcEIsTUFBTTtnQkFDRSx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csNkJBQTZCO3NCQUFyQyxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhc2hib2FyZEZvb3RlckNvbmZpZyB9IGZyb20gJy4uLy4uL3VpLWtpdC9kYXNoYm9hcmQtZm9vdGVyL2Rhc2hib2FyZC1mb290ZXItY29uZmlnJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlc3BvbnNpYmlsaXR5LWNlbnRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3BvbnNpYmlsaXR5Q2VudGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBPdXRwdXQoKSBzYXZlU2VsZWN0ZWRMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZVJjTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSByZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0ID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnMgPSBbXTtcclxuICBASW5wdXQoKSByY0lkS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgcmFkaW9TZWxlY3Rpb24gPSBmYWxzZTtcclxuXHJcblxyXG4gIHNlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xyXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gIHNlYXJjaCA9ICcnO1xyXG4gIGZvb3RlckRldGFpbHM6IERhc2hib2FyZEZvb3RlckNvbmZpZyA9IHtcclxuICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICBub25SZW1vdmFibGVMaXN0OltdLFxyXG4gICAgZGlzcGxheUVsZW1lbnRLZXk6ICdpdGVtX25hbWUnLFxyXG4gICAgZWxlbWVudElkOiAnaXRlbV9pZCcsXHJcbiAgICBzaW5ndWxhclRleHQ6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXIgc2VsZWN0ZWQnLFxyXG4gICAgcGx1cmFsVGV4dDogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcnMgc2VsZWN0ZWQnLFxyXG4gICAgc2hvd0ZyZXF1ZW5jeTogZmFsc2UsXHJcbiAgICBmcmVxdWVuY3lUZXh0OiAnJyxcclxuICAgIGlzRGlzYWJsZWQ6IGZhbHNlXHJcblxyXG4gIH07XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVycztcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzLm1hcCgoZWxlOiBhbnkpID0+IHsgaWYgKGVsZVt0aGlzLnJjSWRLZXldKSB7IHJldHVybiBlbGVbdGhpcy5yY0lkS2V5XTsgfSB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0UmMocmM6IGFueSwgbW9kZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5yYWRpb1NlbGVjdGlvbikge1xyXG4gICAgICBpZiAobW9kZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2gocmMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG1vZGUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2gocmMpO1xyXG4gICAgICAgIGNvbnN0IHJjRWxlbWVudCA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdC5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuaXRlbV9pZCA9PSByYyk7XHJcbiAgICAgICAgaWYgKHJjRWxlbWVudCAhPT0gLTEpIHtcclxuICAgICAgICAgIGNvbnN0IHBhcmVudFJjOiBhbnkgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RbcmNFbGVtZW50XTtcclxuICAgICAgICAgIGlmIChwYXJlbnRSYz8uaXRlbV9jaGlsZF9pZHM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcGFyZW50UmMuaXRlbV9jaGlsZF9pZHMuZm9yRWFjaCgoY2hpbGRFbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZighdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhjaGlsZEVsZW1lbnQpKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChjaGlsZEVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gcmMpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICBjb25zdCByY0VsZW1lbnQgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLml0ZW1faWQgPT0gcmMpO1xyXG4gICAgICAgIGlmIChyY0VsZW1lbnQgIT09IC0xKSB7XHJcbiAgICAgICAgICBjb25zdCBwYXJlbnRSYzogYW55ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0W3JjRWxlbWVudF07XHJcbiAgICAgICAgICBpZiAocGFyZW50UmM/Lml0ZW1fY2hpbGRfaWRzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHBhcmVudFJjLml0ZW1fY2hpbGRfaWRzLmZvckVhY2goKGNoaWxkRWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlSW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleCgocmVtb3ZlRWxlbWVudDogYW55KSA9PiByZW1vdmVFbGVtZW50ID09IGNoaWxkRWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UocmVtb3ZlSW5kZXgsIDEpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG4gIGRlbGV0ZUV2ZW50KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBldmVudFt0aGlzLnJjSWRLZXldKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsKG1vZGU6IGFueSkge1xyXG4gICAgaWYgKG1vZGUpIHtcclxuICAgICAgY29uc3QgbGlzdCA9IFsuLi50aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICAgIGxpc3QuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goZWxlbWVudFt0aGlzLnJjSWRLZXldKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldExpc3QoKTtcclxuICB9XHJcblxyXG5cclxuICBzZXRMaXN0KCkge1xyXG4gICAgY29uc3QgZGF0YTogYW55ID0gW107XHJcbiAgICBjb25zdCByY0xpc3QgPSBbLi4ubmV3IFNldCh0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QpXVxyXG4gICAgLy8gY2xvbmVEZWVwKHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCk7XHJcbiAgICBjb25zdCBzZWxlY3RlZElkcyA9IFsuLi5uZXcgU2V0KHRoaXMuc2VsZWN0ZWRJZHMpXVxyXG4gICAgLy8gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gICAgcmNMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZWxlbWVudFt0aGlzLnJjSWRLZXldKSkge1xyXG4gICAgICAgIGRhdGEucHVzaChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzID0gZGF0YTtcclxuICAgIHRoaXMuZm9vdGVyRGV0YWlscy5zZWxlY3RlZERhdGEgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tTZWxlY3RBbGwoKSB7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0LmV2ZXJ5KChyYzogYW55KSA9PiB0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKHJjW3RoaXMucmNJZEtleV0pKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2ZVNlbGVjdGVkTGlzdC5lbWl0KHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VSZXNwb25zaWJpbGl0eUNlbnRlckxpc3QoKSB7XHJcbiAgICB0aGlzLmNsb3NlUmNMaXN0LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlclwiIFtjbGFzcy5hbmltYXRlLXNsaWRlSW5SaWdodF09XCJhbmltYXRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXItaGVhZFwiPlxyXG4gICAgICAgIDxoMz5TZWxlY3QgUmVzcG9uc2liaWxpdHkgQ2VudGVyKHMpPC9oMz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1zZWFyY2hcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIFJlc3BvbnNpYmlsaXR5IENlbnRlclwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIocmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCB8IGZpbHRlcjpzZWFyY2gpIGFzIHNlYXJjaExpc3RcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtYWxsXCIgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aD4xXCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtuZ1ZhbHVlXT1cImNoZWNrU2VsZWN0QWxsKClcIiAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3tjaGVja1NlbGVjdEFsbCgpID8gJ0Rlc2VsZWN0IEFsbCcgOiAnU2VsZWN0IEFsbCd9fTwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXItbGlzdFwiICpuZ0lmPVwic2VhcmNoTGlzdC5sZW5ndGggPiAwXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHJjIG9mIHNlYXJjaExpc3Q7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtuZ1ZhbHVlXT1cInNlbGVjdGVkSWRzLmluY2x1ZGVzKHJjLml0ZW1faWQpXCIgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0UmMocmMuaXRlbV9pZCwkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1saXN0LW5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZW50aXR5IG9mIHJjLnJjX25hbWU7IGxldCBqID0gaW5kZXhcIiBbYXJUb29sdGlwXT1cImVudGl0eVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiICAqbmdJZj1cImogIT09IDBcIj4mI3hlOTEwOzwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2VudGl0eX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cIm5hbWVcIj57e2VudGl0eX19PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoID09IDBcIlxyXG4gICAgICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiJ2h0dHBzOi8vY2RuLnYtY29tcGx5LmNvbS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmcnXCIgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIj5cclxuICAgICAgICAgICAgPC9hcHAtbm8tZGF0YT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1mb290ZXJcIj5cclxuICAgICAgICA8YXBwLWRhc2hib2FyZC1mb290ZXIgXHJcbiAgICAgICAgW2Zvb3RlckRldGFpbHNdID1cImZvb3RlckRldGFpbHNcIlxyXG4gICAgICAgIChjYW5jZWxFdmVudCk9XCJjbG9zZVJjTGlzdC5lbWl0KClcIlxyXG4gICAgICAgICAoZGVsZXRlRXZlbnQpID1cInNlbGVjdFJjKCRldmVudC5pdGVtX2lkLGZhbHNlKVwiXHJcbiAgICAgICAgIChzdWJtaXRFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICAgICAgPjwvYXBwLWRhc2hib2FyZC1mb290ZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yZXNwb25zaWJpbGl0eS1jZW50ZXIvcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9yZXNwb25zaWJpbGl0eS1jZW50ZXIvcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRMUYsTUFBTSxPQUFPLDZCQUE2QjtJQXdCeEM7UUF2QlUscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsOEJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQy9CLGtDQUE2QixHQUFHLEVBQUUsQ0FBQztRQUNuQyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHaEMsZ0JBQVcsR0FBVSxFQUFFLENBQUM7UUFDeEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osa0JBQWEsR0FBMEI7WUFDckMsWUFBWSxFQUFFLEVBQUU7WUFDaEIsZ0JBQWdCLEVBQUMsRUFBRTtZQUNuQixpQkFBaUIsRUFBRSxXQUFXO1lBQzlCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFlBQVksRUFBRSxnQ0FBZ0M7WUFDOUMsVUFBVSxFQUFF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VztzQkFBcEIsTUFBTTtnQkFDRSx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csNkJBQTZCO3NCQUFyQyxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhc2hib2FyZEZvb3RlckNvbmZpZyB9IGZyb20gJy4uLy4uL3VpLWtpdC9kYXNoYm9hcmQtZm9vdGVyL2Rhc2hib2FyZC1mb290ZXItY29uZmlnJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlc3BvbnNpYmlsaXR5LWNlbnRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVzcG9uc2liaWxpdHktY2VudGVyLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3BvbnNpYmlsaXR5Q2VudGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBPdXRwdXQoKSBzYXZlU2VsZWN0ZWRMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZVJjTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSByZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0ID0gW107XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnMgPSBbXTtcclxuICBASW5wdXQoKSByY0lkS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgcmFkaW9TZWxlY3Rpb24gPSBmYWxzZTtcclxuXHJcblxyXG4gIHNlbGVjdGVkSWRzOiBhbnlbXSA9IFtdO1xyXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gIHNlYXJjaCA9ICcnO1xyXG4gIGZvb3RlckRldGFpbHM6IERhc2hib2FyZEZvb3RlckNvbmZpZyA9IHtcclxuICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICBub25SZW1vdmFibGVMaXN0OltdLFxyXG4gICAgZGlzcGxheUVsZW1lbnRLZXk6ICdpdGVtX25hbWUnLFxyXG4gICAgZWxlbWVudElkOiAnaXRlbV9pZCcsXHJcbiAgICBzaW5ndWxhclRleHQ6ICdSZXNwb25zaWJpbGl0eSBDZW50ZXIgc2VsZWN0ZWQnLFxyXG4gICAgcGx1cmFsVGV4dDogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlcnMgc2VsZWN0ZWQnLFxyXG4gICAgc2hvd0ZyZXF1ZW5jeTogZmFsc2UsXHJcbiAgICBmcmVxdWVuY3lUZXh0OiAnJyxcclxuICAgIGlzRGlzYWJsZWQ6IGZhbHNlXHJcblxyXG4gIH07XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvb3RlckRldGFpbHMuc2VsZWN0ZWREYXRhID0gdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVycztcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzLm1hcCgoZWxlOiBhbnkpID0+IHsgaWYgKGVsZVt0aGlzLnJjSWRLZXldKSB7IHJldHVybiBlbGVbdGhpcy5yY0lkS2V5XTsgfSB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0UmMocmM6IGFueSwgbW9kZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5yYWRpb1NlbGVjdGlvbikge1xyXG4gICAgICBpZiAobW9kZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2gocmMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKG1vZGUpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2gocmMpO1xyXG4gICAgICAgIGNvbnN0IHJjRWxlbWVudCA9IHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdC5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuaXRlbV9pZCA9PSByYyk7XHJcbiAgICAgICAgaWYgKHJjRWxlbWVudCAhPT0gLTEpIHtcclxuICAgICAgICAgIGNvbnN0IHBhcmVudFJjOiBhbnkgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RbcmNFbGVtZW50XTtcclxuICAgICAgICAgIGlmIChwYXJlbnRSYz8uaXRlbV9jaGlsZF9pZHM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcGFyZW50UmMuaXRlbV9jaGlsZF9pZHMuZm9yRWFjaCgoY2hpbGRFbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZighdGhpcy5zZWxlY3RlZElkcy5pbmNsdWRlcyhjaGlsZEVsZW1lbnQpKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMucHVzaChjaGlsZEVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJZHMuZmluZEluZGV4KChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQgPT0gcmMpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICBjb25zdCByY0VsZW1lbnQgPSB0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLml0ZW1faWQgPT0gcmMpO1xyXG4gICAgICAgIGlmIChyY0VsZW1lbnQgIT09IC0xKSB7XHJcbiAgICAgICAgICBjb25zdCBwYXJlbnRSYzogYW55ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0W3JjRWxlbWVudF07XHJcbiAgICAgICAgICBpZiAocGFyZW50UmM/Lml0ZW1fY2hpbGRfaWRzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHBhcmVudFJjLml0ZW1fY2hpbGRfaWRzLmZvckVhY2goKGNoaWxkRWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlSW5kZXggPSB0aGlzLnNlbGVjdGVkSWRzLmZpbmRJbmRleCgocmVtb3ZlRWxlbWVudDogYW55KSA9PiByZW1vdmVFbGVtZW50ID09IGNoaWxkRWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZElkcy5zcGxpY2UocmVtb3ZlSW5kZXgsIDEpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG4gIGRlbGV0ZUV2ZW50KGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZElkcy5maW5kSW5kZXgoKGVsZW1lbnQ6IGFueSkgPT4gZWxlbWVudCA9PSBldmVudFt0aGlzLnJjSWRLZXldKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRJZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsKG1vZGU6IGFueSkge1xyXG4gICAgaWYgKG1vZGUpIHtcclxuICAgICAgY29uc3QgbGlzdCA9IFsuLi50aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3RdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICAgIGxpc3QuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSWRzLnB1c2goZWxlbWVudFt0aGlzLnJjSWRLZXldKTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSWRzID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldExpc3QoKTtcclxuICB9XHJcblxyXG5cclxuICBzZXRMaXN0KCkge1xyXG4gICAgY29uc3QgZGF0YTogYW55ID0gW107XHJcbiAgICBjb25zdCByY0xpc3QgPSBbLi4ubmV3IFNldCh0aGlzLnJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3QpXVxyXG4gICAgLy8gY2xvbmVEZWVwKHRoaXMucmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCk7XHJcbiAgICBjb25zdCBzZWxlY3RlZElkcyA9IFsuLi5uZXcgU2V0KHRoaXMuc2VsZWN0ZWRJZHMpXVxyXG4gICAgLy8gY2xvbmVEZWVwKHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gICAgcmNMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoc2VsZWN0ZWRJZHMuaW5jbHVkZXMoZWxlbWVudFt0aGlzLnJjSWRLZXldKSkge1xyXG4gICAgICAgIGRhdGEucHVzaChlbGVtZW50KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzID0gZGF0YTtcclxuICAgIHRoaXMuZm9vdGVyRGV0YWlscy5zZWxlY3RlZERhdGEgPSB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tTZWxlY3RBbGwoKSB7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0LmV2ZXJ5KChyYzogYW55KSA9PiB0aGlzLnNlbGVjdGVkSWRzLmluY2x1ZGVzKHJjW3RoaXMucmNJZEtleV0pKTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuc2F2ZVNlbGVjdGVkTGlzdC5lbWl0KHRoaXMuc2VsZWN0ZWRJZHMpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VSZXNwb25zaWJpbGl0eUNlbnRlckxpc3QoKSB7XHJcbiAgICB0aGlzLmNsb3NlUmNMaXN0LmVtaXQoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlclwiIFtjbGFzcy5hbmltYXRlLXNsaWRlSW5SaWdodF09XCJhbmltYXRpb25cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyZXNwb25zaWJpbGl0eS1jZW50ZXItaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBSZXNwb25zaWJpbGl0eSBDZW50ZXIocyk8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1zZWFyY2ggdngtbWItMlwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwic2VhcmNoXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUmVzcG9uc2liaWxpdHkgQ2VudGVyXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIocmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCB8IGZpbHRlcjpzZWFyY2gpIGFzIHNlYXJjaExpc3RcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC1hbGxcIiAqbmdJZj1cInNlYXJjaExpc3QubGVuZ3RoPjFcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3ggW25nVmFsdWVdPVwiY2hlY2tTZWxlY3RBbGwoKVwiIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57e2NoZWNrU2VsZWN0QWxsKCkgPyAnRGVzZWxlY3QgQWxsJyA6ICdTZWxlY3QgQWxsJ319PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cInJlc3BvbnNpYmlsaXR5LWNlbnRlci1saXN0XCIgKm5nSWY9XCJzZWFyY2hMaXN0Lmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgcmMgb2Ygc2VhcmNoTGlzdDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3ggW25nVmFsdWVdPVwic2VsZWN0ZWRJZHMuaW5jbHVkZXMocmMuaXRlbV9pZClcIiAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RSYyhyYy5pdGVtX2lkLCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwicmVzcG9uc2liaWxpdHktY2VudGVyLWxpc3QtbmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlbnRpdHkgb2YgcmMucmNfbmFtZTsgbGV0IGogPSBpbmRleFwiIFthclRvb2x0aXBdPVwiZW50aXR5XCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCIgICpuZ0lmPVwiaiAhPT0gMFwiPiYjeGU5MTA7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ZW50aXR5fX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwibmFtZVwiPnt7ZW50aXR5fX08L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8YXBwLW5vLWRhdGEgICpuZ0lmPVwic2VhcmNoTGlzdC5sZW5ndGggPT0gMFwiXHJcbiAgICAgICAgICAgIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIiBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPlxyXG4gICAgICAgICAgICA8L2FwcC1uby1kYXRhPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVzcG9uc2liaWxpdHktY2VudGVyLWZvb3RlclwiPlxyXG4gICAgICAgICAgICA8YXBwLWRhc2hib2FyZC1mb290ZXIgXHJcbiAgICAgICAgICAgIFtmb290ZXJEZXRhaWxzXSA9XCJmb290ZXJEZXRhaWxzXCJcclxuICAgICAgICAgICAgKGNhbmNlbEV2ZW50KT1cImNsb3NlUmNMaXN0LmVtaXQoKVwiXHJcbiAgICAgICAgICAgIChkZWxldGVFdmVudCkgPVwic2VsZWN0UmMoJGV2ZW50Lml0ZW1faWQsZmFsc2UpXCJcclxuICAgICAgICAgICAgKHN1Ym1pdEV2ZW50KT1cInNhdmUoKVwiXHJcbiAgICAgICAgICAgID48L2FwcC1kYXNoYm9hcmQtZm9vdGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|