i-tech-shared-components 1.2.16 → 1.2.18

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.
@@ -9,11 +9,11 @@ export class CompanyImageComponent {
9
9
  this.CompaniesEnum = CompaniesEnum;
10
10
  }
11
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CompanyImageComponent, isStandalone: true, selector: "i-tech-company-image", inputs: { collapsed: "collapsed", userData: "userData", currentCompany: "currentCompany", platform: "platform" }, ngImport: i0, template: "<div class=\"information pointer\" *ngIf=\"userData\">\n <div class=\"information_main\">\n <div class=\"images\">\n <img alt=\"\" class=\"company_img\" *ngIf=\"currentCompany?.image; else noImageComponent\"\n [src]=\"currentCompany.image\"\n [matTooltipDisabled]=\"!collapsed\"\n matTooltipClass=\"multiline_tooltip_for_profile\"\n [matTooltip]=\"(currentCompany?.name || '') + '\\n\\r' + (userData.firstName + ' ' + userData.lastName + '\\n') + (userData.email)\"\n >\n <ng-template #noImageComponent>\n <div class=\"company_img no_image\"\n [matTooltipDisabled]=\"!collapsed\"\n matTooltipClass=\"multiline_tooltip_for_profile\"\n [matTooltip]=\"(currentCompany?.name || '') + '\\n\\r' + (userData.firstName + ' ' + userData.lastName + '\\n') + (userData.email)\"\n >\n {{(currentCompany?.name || '') | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n\n <div class=\"user_img\">\n {{userData.firstName | slice: 0 : 1 | uppercase}}\n </div>\n </div>\n\n <div class=\"names\">\n <div class=\"company_name\">{{currentCompany?.name || ''}}</div>\n <div class=\"user_name\">{{userData.firstName}} {{userData.lastName}}</div>\n </div>\n\n </div>\n <div class=\"time_zone\" *ngIf=\"platform === CompaniesEnum.T3\">\n {{userData.timeZone?.enumType || ''}}\n </div>\n</div>\n", styles: [".information .information_main{display:flex;align-items:center}.information .information_main:hover{background-color:#effaf1;outline:4.5px solid #EFFAF1;border-radius:5px}.information .information_main .images{width:max-content;position:relative}.information .information_main .images .company_img{width:40px;height:40px;border-radius:50%}.information .information_main .images .company_img:hover{outline:2px solid rgba(0,172,72,.16)}.information .information_main .images .user_img{position:absolute;bottom:0;right:0;border-radius:50%;width:16px;height:16px;border:1px solid #EFFAF1;background-color:#006b1e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;line-height:16px}.information .information_main .images .no_image{display:flex;align-items:center;justify-content:center;background-color:#c0e5c7;color:#006b1e;font-weight:700;font-size:18px;line-height:24px}.information .information_main .names{margin-left:8px}.information .information_main .names .company_name{color:#424954;font-weight:700;font-size:16px;line-height:24px;letter-spacing:.1px}.information .information_main .names .user_name{color:#424954;font-weight:500;font-size:11px;line-height:16px;letter-spacing:.2px}.information .time_zone{margin-top:10px;display:flex;justify-content:center;color:#424954;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px}::ng-deep .multiline_tooltip_for_profile{white-space:pre-line}::ng-deep .multiline_tooltip_for_profile .mat-mdc-tooltip-surface{text-align:left!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CompanyImageComponent, isStandalone: true, selector: "i-tech-company-image", inputs: { collapsed: "collapsed", userData: "userData", currentCompany: "currentCompany", platform: "platform" }, ngImport: i0, template: "<div class=\"information pointer\" *ngIf=\"userData\">\n <div class=\"information_main\">\n <div class=\"images\">\n <img alt=\"\" class=\"company_img\" *ngIf=\"currentCompany?.image; else noImageComponent\"\n [src]=\"currentCompany.image\"\n [matTooltipDisabled]=\"!collapsed\"\n matTooltipClass=\"multiline_tooltip_for_profile\"\n [matTooltip]=\"(currentCompany?.name || '') + '\\n\\r' + (userData.firstName + ' ' + userData.lastName + '\\n') + (userData.email)\"\n >\n <ng-template #noImageComponent>\n <div class=\"company_img no_image\"\n [matTooltipDisabled]=\"!collapsed\"\n matTooltipClass=\"multiline_tooltip_for_profile\"\n [matTooltip]=\"(currentCompany?.name || '') + '\\n\\r' + (userData.firstName + ' ' + userData.lastName + '\\n') + (userData.email)\"\n >\n {{(currentCompany?.name || '') | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n\n <div class=\"user_img\">\n {{userData.firstName | slice: 0 : 1 | uppercase}}\n </div>\n </div>\n\n <div class=\"names\">\n <div class=\"company_name\">{{currentCompany?.name || ''}}</div>\n <div class=\"user_name\">{{userData.firstName}} {{userData.lastName}}</div>\n </div>\n\n </div>\n <div class=\"time_zone\" *ngIf=\"platform === CompaniesEnum.T3\">\n {{userData.timeZone?.enumType || ''}}\n </div>\n</div>\n", styles: [".information .information_main{display:flex;align-items:center}.information .information_main:hover{background-color:#effaf1;outline:4.5px solid #EFFAF1;border-radius:5px}.information .information_main .images{width:max-content;position:relative}.information .information_main .images .company_img{width:40px;height:40px;border-radius:50%}.information .information_main .images .company_img:hover{outline:2px solid rgba(0,172,72,.16)}.information .information_main .images .user_img{position:absolute;bottom:0;right:0;border-radius:50%;width:16px;height:16px;border:1px solid #EFFAF1;background-color:#006b1e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;line-height:16px}.information .information_main .images .no_image{display:flex;align-items:center;justify-content:center;background-color:#c0e5c7;color:#006b1e;font-weight:700;font-size:18px;line-height:24px}.information .information_main .names{margin-left:8px;width:110px}.information .information_main .names .company_name{color:#424954;font-weight:700;font-size:16px;line-height:24px;letter-spacing:.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.information .information_main .names .user_name{color:#424954;font-weight:500;font-size:11px;line-height:16px;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.information .time_zone{margin-top:10px;display:flex;justify-content:center;color:#424954;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px}::ng-deep .multiline_tooltip_for_profile{white-space:pre-line}::ng-deep .multiline_tooltip_for_profile .mat-mdc-tooltip-surface{text-align:left!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CompanyImageComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'i-tech-company-image', imports: [NgIf, UpperCasePipe, SlicePipe, MatTooltipModule], standalone: true, template: "<div class=\"information pointer\" *ngIf=\"userData\">\n <div class=\"information_main\">\n <div class=\"images\">\n <img alt=\"\" class=\"company_img\" *ngIf=\"currentCompany?.image; else noImageComponent\"\n [src]=\"currentCompany.image\"\n [matTooltipDisabled]=\"!collapsed\"\n matTooltipClass=\"multiline_tooltip_for_profile\"\n [matTooltip]=\"(currentCompany?.name || '') + '\\n\\r' + (userData.firstName + ' ' + userData.lastName + '\\n') + (userData.email)\"\n >\n <ng-template #noImageComponent>\n <div class=\"company_img no_image\"\n [matTooltipDisabled]=\"!collapsed\"\n matTooltipClass=\"multiline_tooltip_for_profile\"\n [matTooltip]=\"(currentCompany?.name || '') + '\\n\\r' + (userData.firstName + ' ' + userData.lastName + '\\n') + (userData.email)\"\n >\n {{(currentCompany?.name || '') | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n\n <div class=\"user_img\">\n {{userData.firstName | slice: 0 : 1 | uppercase}}\n </div>\n </div>\n\n <div class=\"names\">\n <div class=\"company_name\">{{currentCompany?.name || ''}}</div>\n <div class=\"user_name\">{{userData.firstName}} {{userData.lastName}}</div>\n </div>\n\n </div>\n <div class=\"time_zone\" *ngIf=\"platform === CompaniesEnum.T3\">\n {{userData.timeZone?.enumType || ''}}\n </div>\n</div>\n", styles: [".information .information_main{display:flex;align-items:center}.information .information_main:hover{background-color:#effaf1;outline:4.5px solid #EFFAF1;border-radius:5px}.information .information_main .images{width:max-content;position:relative}.information .information_main .images .company_img{width:40px;height:40px;border-radius:50%}.information .information_main .images .company_img:hover{outline:2px solid rgba(0,172,72,.16)}.information .information_main .images .user_img{position:absolute;bottom:0;right:0;border-radius:50%;width:16px;height:16px;border:1px solid #EFFAF1;background-color:#006b1e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;line-height:16px}.information .information_main .images .no_image{display:flex;align-items:center;justify-content:center;background-color:#c0e5c7;color:#006b1e;font-weight:700;font-size:18px;line-height:24px}.information .information_main .names{margin-left:8px}.information .information_main .names .company_name{color:#424954;font-weight:700;font-size:16px;line-height:24px;letter-spacing:.1px}.information .information_main .names .user_name{color:#424954;font-weight:500;font-size:11px;line-height:16px;letter-spacing:.2px}.information .time_zone{margin-top:10px;display:flex;justify-content:center;color:#424954;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px}::ng-deep .multiline_tooltip_for_profile{white-space:pre-line}::ng-deep .multiline_tooltip_for_profile .mat-mdc-tooltip-surface{text-align:left!important}\n"] }]
16
+ args: [{ selector: 'i-tech-company-image', imports: [NgIf, UpperCasePipe, SlicePipe, MatTooltipModule], standalone: true, template: "<div class=\"information pointer\" *ngIf=\"userData\">\n <div class=\"information_main\">\n <div class=\"images\">\n <img alt=\"\" class=\"company_img\" *ngIf=\"currentCompany?.image; else noImageComponent\"\n [src]=\"currentCompany.image\"\n [matTooltipDisabled]=\"!collapsed\"\n matTooltipClass=\"multiline_tooltip_for_profile\"\n [matTooltip]=\"(currentCompany?.name || '') + '\\n\\r' + (userData.firstName + ' ' + userData.lastName + '\\n') + (userData.email)\"\n >\n <ng-template #noImageComponent>\n <div class=\"company_img no_image\"\n [matTooltipDisabled]=\"!collapsed\"\n matTooltipClass=\"multiline_tooltip_for_profile\"\n [matTooltip]=\"(currentCompany?.name || '') + '\\n\\r' + (userData.firstName + ' ' + userData.lastName + '\\n') + (userData.email)\"\n >\n {{(currentCompany?.name || '') | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n\n <div class=\"user_img\">\n {{userData.firstName | slice: 0 : 1 | uppercase}}\n </div>\n </div>\n\n <div class=\"names\">\n <div class=\"company_name\">{{currentCompany?.name || ''}}</div>\n <div class=\"user_name\">{{userData.firstName}} {{userData.lastName}}</div>\n </div>\n\n </div>\n <div class=\"time_zone\" *ngIf=\"platform === CompaniesEnum.T3\">\n {{userData.timeZone?.enumType || ''}}\n </div>\n</div>\n", styles: [".information .information_main{display:flex;align-items:center}.information .information_main:hover{background-color:#effaf1;outline:4.5px solid #EFFAF1;border-radius:5px}.information .information_main .images{width:max-content;position:relative}.information .information_main .images .company_img{width:40px;height:40px;border-radius:50%}.information .information_main .images .company_img:hover{outline:2px solid rgba(0,172,72,.16)}.information .information_main .images .user_img{position:absolute;bottom:0;right:0;border-radius:50%;width:16px;height:16px;border:1px solid #EFFAF1;background-color:#006b1e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;line-height:16px}.information .information_main .images .no_image{display:flex;align-items:center;justify-content:center;background-color:#c0e5c7;color:#006b1e;font-weight:700;font-size:18px;line-height:24px}.information .information_main .names{margin-left:8px;width:110px}.information .information_main .names .company_name{color:#424954;font-weight:700;font-size:16px;line-height:24px;letter-spacing:.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.information .information_main .names .user_name{color:#424954;font-weight:500;font-size:11px;line-height:16px;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.information .time_zone{margin-top:10px;display:flex;justify-content:center;color:#424954;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px}::ng-deep .multiline_tooltip_for_profile{white-space:pre-line}::ng-deep .multiline_tooltip_for_profile .mat-mdc-tooltip-surface{text-align:left!important}\n"] }]
17
17
  }], propDecorators: { collapsed: [{
18
18
  type: Input
19
19
  }], userData: [{
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
23
23
  }], platform: [{
24
24
  type: Input
25
25
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbmV3LXNpZGViYXIvY29tcGFueS1pbWFnZS9jb21wYW55LWltYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9uZXctc2lkZWJhci9jb21wYW55LWltYWdlL2NvbXBhbnktaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFpQixhQUFhLEVBQXlCLE1BQU0sb0NBQW9DLENBQUM7QUFDekcsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVM3RCxNQUFNLE9BQU8scUJBQXFCO0lBUGxDO1FBWUUsa0JBQWEsR0FBRyxhQUFhLENBQUM7S0FDL0I7K0dBTlkscUJBQXFCO21HQUFyQixxQkFBcUIsa01DWmxDLCtrREFrQ0EscWtERDNCWSxJQUFJLHdGQUFFLGFBQWEsNkNBQUUsU0FBUyw2Q0FBRSxnQkFBZ0I7OzRGQUsvQyxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0Usc0JBQXNCLFdBQ3ZCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsY0FDL0MsSUFBSTs4QkFLUCxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aEludGVyZmFjZSwgQ29tcGFuaWVzRW51bSwgT3JnYW5pemF0aW9uSW50ZXJmYWNlIH0gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZXMvYXV0aC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE5nSWYsIFNsaWNlUGlwZSwgVXBwZXJDYXNlUGlwZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpLXRlY2gtY29tcGFueS1pbWFnZScsXG4gIGltcG9ydHM6IFtOZ0lmLCBVcHBlckNhc2VQaXBlLCBTbGljZVBpcGUsIE1hdFRvb2x0aXBNb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tcGFueS1pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jb21wYW55LWltYWdlLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBDb21wYW55SW1hZ2VDb21wb25lbnQge1xuICBASW5wdXQoKSBjb2xsYXBzZWQhOiBib29sZWFuO1xuICBASW5wdXQoKSB1c2VyRGF0YSE6IEF1dGhJbnRlcmZhY2U7XG4gIEBJbnB1dCgpIGN1cnJlbnRDb21wYW55ITogT3JnYW5pemF0aW9uSW50ZXJmYWNlO1xuICBASW5wdXQoKSBwbGF0Zm9ybSE6IENvbXBhbmllc0VudW07XG4gIENvbXBhbmllc0VudW0gPSBDb21wYW5pZXNFbnVtO1xufVxuIiwiPGRpdiBjbGFzcz1cImluZm9ybWF0aW9uIHBvaW50ZXJcIiAqbmdJZj1cInVzZXJEYXRhXCI+XG4gICAgPGRpdiBjbGFzcz1cImluZm9ybWF0aW9uX21haW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlc1wiPlxuICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBjbGFzcz1cImNvbXBhbnlfaW1nXCIgKm5nSWY9XCJjdXJyZW50Q29tcGFueT8uaW1hZ2U7IGVsc2Ugbm9JbWFnZUNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgIFtzcmNdPVwiY3VycmVudENvbXBhbnkuaW1hZ2VcIlxuICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9XCJtdWx0aWxpbmVfdG9vbHRpcF9mb3JfcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIihjdXJyZW50Q29tcGFueT8ubmFtZSB8fCAnJykgKyAnXFxuXFxyJyArICh1c2VyRGF0YS5maXJzdE5hbWUgKyAnICcgKyB1c2VyRGF0YS5sYXN0TmFtZSArICdcXG4nKSArICh1c2VyRGF0YS5lbWFpbClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0ltYWdlQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21wYW55X2ltZyBub19pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPVwibXVsdGlsaW5lX3Rvb2x0aXBfZm9yX3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiKGN1cnJlbnRDb21wYW55Py5uYW1lIHx8ICcnKSArICdcXG5cXHInICsgKHVzZXJEYXRhLmZpcnN0TmFtZSArICcgJyArIHVzZXJEYXRhLmxhc3ROYW1lICsgJ1xcbicpICsgKHVzZXJEYXRhLmVtYWlsKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyhjdXJyZW50Q29tcGFueT8ubmFtZSB8fCAnJykgfCBzbGljZTogMCA6IDEgfCB1cHBlcmNhc2V9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXJfaW1nXCI+XG4gICAgICAgICAgICAgICAge3t1c2VyRGF0YS5maXJzdE5hbWUgfCBzbGljZTogMCA6IDEgfCB1cHBlcmNhc2V9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBhbnlfbmFtZVwiPnt7Y3VycmVudENvbXBhbnk/Lm5hbWUgfHwgJyd9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXJfbmFtZVwiPnt7dXNlckRhdGEuZmlyc3ROYW1lfX0ge3t1c2VyRGF0YS5sYXN0TmFtZX19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRpbWVfem9uZVwiICpuZ0lmPVwicGxhdGZvcm0gPT09IENvbXBhbmllc0VudW0uVDNcIj5cbiAgICAgICAge3t1c2VyRGF0YS50aW1lWm9uZT8uZW51bVR5cGUgfHwgJyd9fVxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFueS1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbmV3LXNpZGViYXIvY29tcGFueS1pbWFnZS9jb21wYW55LWltYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9uZXctc2lkZWJhci9jb21wYW55LWltYWdlL2NvbXBhbnktaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFpQixhQUFhLEVBQXlCLE1BQU0sb0NBQW9DLENBQUM7QUFDekcsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVM3RCxNQUFNLE9BQU8scUJBQXFCO0lBUGxDO1FBWUUsa0JBQWEsR0FBRyxhQUFhLENBQUM7S0FDL0I7K0dBTlkscUJBQXFCO21HQUFyQixxQkFBcUIsa01DWmxDLCtrREFrQ0EscXNERDNCWSxJQUFJLHdGQUFFLGFBQWEsNkNBQUUsU0FBUyw2Q0FBRSxnQkFBZ0I7OzRGQUsvQyxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0Usc0JBQXNCLFdBQ3ZCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsY0FDL0MsSUFBSTs4QkFLUCxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aEludGVyZmFjZSwgQ29tcGFuaWVzRW51bSwgT3JnYW5pemF0aW9uSW50ZXJmYWNlIH0gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZXMvYXV0aC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE5nSWYsIFNsaWNlUGlwZSwgVXBwZXJDYXNlUGlwZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpLXRlY2gtY29tcGFueS1pbWFnZScsXG4gIGltcG9ydHM6IFtOZ0lmLCBVcHBlckNhc2VQaXBlLCBTbGljZVBpcGUsIE1hdFRvb2x0aXBNb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tcGFueS1pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9jb21wYW55LWltYWdlLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBDb21wYW55SW1hZ2VDb21wb25lbnQge1xuICBASW5wdXQoKSBjb2xsYXBzZWQhOiBib29sZWFuO1xuICBASW5wdXQoKSB1c2VyRGF0YSE6IEF1dGhJbnRlcmZhY2U7XG4gIEBJbnB1dCgpIGN1cnJlbnRDb21wYW55ITogT3JnYW5pemF0aW9uSW50ZXJmYWNlO1xuICBASW5wdXQoKSBwbGF0Zm9ybSE6IENvbXBhbmllc0VudW07XG4gIENvbXBhbmllc0VudW0gPSBDb21wYW5pZXNFbnVtO1xufVxuIiwiPGRpdiBjbGFzcz1cImluZm9ybWF0aW9uIHBvaW50ZXJcIiAqbmdJZj1cInVzZXJEYXRhXCI+XG4gICAgPGRpdiBjbGFzcz1cImluZm9ybWF0aW9uX21haW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlc1wiPlxuICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBjbGFzcz1cImNvbXBhbnlfaW1nXCIgKm5nSWY9XCJjdXJyZW50Q29tcGFueT8uaW1hZ2U7IGVsc2Ugbm9JbWFnZUNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgIFtzcmNdPVwiY3VycmVudENvbXBhbnkuaW1hZ2VcIlxuICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICBtYXRUb29sdGlwQ2xhc3M9XCJtdWx0aWxpbmVfdG9vbHRpcF9mb3JfcHJvZmlsZVwiXG4gICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIihjdXJyZW50Q29tcGFueT8ubmFtZSB8fCAnJykgKyAnXFxuXFxyJyArICh1c2VyRGF0YS5maXJzdE5hbWUgKyAnICcgKyB1c2VyRGF0YS5sYXN0TmFtZSArICdcXG4nKSArICh1c2VyRGF0YS5lbWFpbClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0ltYWdlQ29tcG9uZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21wYW55X2ltZyBub19pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcENsYXNzPVwibXVsdGlsaW5lX3Rvb2x0aXBfZm9yX3Byb2ZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiKGN1cnJlbnRDb21wYW55Py5uYW1lIHx8ICcnKSArICdcXG5cXHInICsgKHVzZXJEYXRhLmZpcnN0TmFtZSArICcgJyArIHVzZXJEYXRhLmxhc3ROYW1lICsgJ1xcbicpICsgKHVzZXJEYXRhLmVtYWlsKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyhjdXJyZW50Q29tcGFueT8ubmFtZSB8fCAnJykgfCBzbGljZTogMCA6IDEgfCB1cHBlcmNhc2V9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXJfaW1nXCI+XG4gICAgICAgICAgICAgICAge3t1c2VyRGF0YS5maXJzdE5hbWUgfCBzbGljZTogMCA6IDEgfCB1cHBlcmNhc2V9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBhbnlfbmFtZVwiPnt7Y3VycmVudENvbXBhbnk/Lm5hbWUgfHwgJyd9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVzZXJfbmFtZVwiPnt7dXNlckRhdGEuZmlyc3ROYW1lfX0ge3t1c2VyRGF0YS5sYXN0TmFtZX19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRpbWVfem9uZVwiICpuZ0lmPVwicGxhdGZvcm0gPT09IENvbXBhbmllc0VudW0uVDNcIj5cbiAgICAgICAge3t1c2VyRGF0YS50aW1lWm9uZT8uZW51bVR5cGUgfHwgJyd9fVxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -4,7 +4,6 @@ import { TranslateModule } from "@ngx-translate/core";
4
4
  import { NavigationEnd } from "@angular/router";
5
5
  import { CompaniesEnum } from "../../interfaces/auth.interface";
6
6
  import { MatMenu, MatMenuModule } from "@angular/material/menu";
7
- import { MatIcon } from "@angular/material/icon";
8
7
  import { CompanyImageComponent } from "./company-image/company-image.component";
9
8
  import { MatRippleModule } from "@angular/material/core";
10
9
  import { MatTooltipModule } from "@angular/material/tooltip";
@@ -64,6 +63,9 @@ export class NewSidebarComponent {
64
63
  else if (system === CompaniesEnum.BROKERAGE) {
65
64
  url = this.env.brokerage;
66
65
  }
66
+ else if (system === CompaniesEnum.ORGANIZATION) {
67
+ url = this.env.organizationUrl + '/auth/organization';
68
+ }
67
69
  if (url) {
68
70
  window.location.href = url;
69
71
  }
@@ -91,6 +93,12 @@ export class NewSidebarComponent {
91
93
  this.activeAndInactivePlatforms['inactive'].push(system);
92
94
  }
93
95
  });
96
+ if (this.platform !== CompaniesEnum.ORGANIZATION) {
97
+ this.activeAndInactivePlatforms['active'].push({
98
+ name: 'T3 - Admin',
99
+ id: CompaniesEnum.ORGANIZATION
100
+ });
101
+ }
94
102
  }
95
103
  switchOrganization(company) {
96
104
  if (company.id === this.currentCompany.id) {
@@ -169,7 +177,7 @@ export class NewSidebarComponent {
169
177
  this.signOutEvent.emit();
170
178
  }
171
179
  openZendeskPage(support = false) {
172
- this.http.get(this.env.dataEndpoint + (this.platform !== CompaniesEnum.ORGANIZATION ? '/id' : '') + `/knowledge-base/jwt-token`)
180
+ this.http.get(this.env.dataEndpoint + (this.platform !== CompaniesEnum.ORGANIZATION ? '/id' : '') + `/auth/zendesk`)
173
181
  .subscribe((res) => {
174
182
  const targetUrl = `${this.env.zendeskUrl}/hc/en-us` + (support ? '/requests/new' : '');
175
183
  const zendeskUrl = `${this.env.zendeskUrl}/access/jwt?jwt=${res.accessToken}&return_to=${targetUrl}`;
@@ -177,17 +185,16 @@ export class NewSidebarComponent {
177
185
  });
178
186
  }
179
187
  manageAccount() {
180
- window.open(this.env.organizationUrl, '_blank');
188
+ window.open(this.env.organizationUrl + '/auth/account-information', '_blank');
181
189
  }
182
190
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NewSidebarComponent, deps: [{ token: i1.Router }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
183
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NewSidebarComponent, isStandalone: true, selector: "i-tech-sidebar", inputs: { platform: "platform", navigationLinks: "navigationLinks", env: "env", userData: "userData" }, outputs: { collapseEvent: "collapseEvent", signOutEvent: "signOutEvent", newAuthenticatedResponseEvent: "newAuthenticatedResponseEvent" }, host: { listeners: { "window:beforeunload": "canDeactivate()" } }, ngImport: i0, template: "<div class=\"main_sidebar\"\n *ngIf=\"navigationLinks && userData\"\n [class.collapsed]=\"isCollapsed\"\n>\n <div class=\"main_sidebar--header\">\n <img class=\"logo pointer\" alt=\"\"\n [src]=\"'/assets/logos/' + platform + '.svg'\"\n (click)=\"openLanding()\"\n >\n <img src=\"/assets/apps.png\" alt=\"\" class=\"pointer\" *ngIf=\"!isCollapsed\"\n [matMenuTriggerFor]=\"matMenu\"\n >\n\n <mat-menu #matMenu=\"matMenu\" class=\"sidebar_platforms_menu\">\n <ng-container *ngIf=\"activeAndInactivePlatforms['active'].length\">\n <div class=\"menu_title\">\n Active Apps\n </div>\n <div mat-menu-item class=\"standard_menu_item\" *ngFor=\"let app of activeAndInactivePlatforms['active']\"\n (click)=\"openPlatform(app.id)\"\n >\n <img alt=\"\" class=\"logo\" [src]=\"'/assets/logos/' + app.id + '.svg'\">\n <span>{{app.name}}</span>\n <img alt=\"\" class=\"ml-auto\" src=\"/assets/selected_organization.svg\"\n *ngIf=\"app.checked\"\n >\n </div>\n </ng-container>\n\n <div class=\"divider\"\n *ngIf=\"activeAndInactivePlatforms['active'].length && activeAndInactivePlatforms['inactive'].length\"\n ></div>\n\n <ng-container *ngIf=\"activeAndInactivePlatforms['inactive'].length\">\n <div class=\"menu_title\">\n Inactive Apps\n </div>\n <div class=\"standard_menu_item\" *ngFor=\"let app of activeAndInactivePlatforms['inactive']\">\n <img alt=\"\" class=\"logo\" [src]=\"'/assets/logos/' + app.id + '.svg'\">\n <span>{{app.name}}</span>\n </div>\n </ng-container>\n\n </mat-menu>\n </div>\n\n <div class=\"main_sidebar--content\">\n <ng-container *ngIf=\"secondLayerLinks.length\">\n <div class=\"main_sidebar--content--toolbar\"\n (click)=\"navigateBack()\"\n >\n <img alt=\"\" src=\"/assets/back.svg\">\n <span>Back</span>\n </div>\n <div class=\"main_sidebar--content--sub_title\">\n Admin\n </div>\n </ng-container>\n\n <ng-container *ngFor=\"let link of (secondLayerLinks.length ? secondLayerLinks : navigationLinks)\">\n <div class=\"divider\" *ngIf=\"link.hasDivider\"></div>\n <div class=\"main_sidebar--content--link pointer\"\n matRipple\n [class.active]=\"link.pageEnum === activePage || link.pageEnum === secondLayerActivePage\"\n (click)=\"navigate(link)\"\n >\n <div class=\"parent_icon\">\n <img class=\"icon\" alt=\"\"\n [src]=\"'/assets/links/' + platform + '/' + link.image + '.svg'\">\n </div>\n <div class=\"name\">{{link.title | translate}}</div>\n\n <div class=\"new\" *ngIf=\"link.isNew\">New</div>\n\n </div>\n </ng-container>\n\n </div>\n\n <div class=\"main_sidebar--footer\" *ngIf=\"userData\">\n <div class=\"main_sidebar--footer--toggle\"\n >\n <img class=\"pointer\" alt=\"\"\n *ngIf=\"!isCollapsed\"\n matTooltip=\"Collapse Sidebar\"\n [matTooltipPosition]=\"'above'\"\n src=\"/assets/toggle-state-left.svg\"\n (click)=\"changeCollapse(true)\"\n >\n <img class=\"pointer\" alt=\"\"\n *ngIf=\"isCollapsed\"\n matTooltip=\"Expand Sidebar\"\n [matTooltipPosition]=\"'above'\"\n src=\"/assets/toggle-state-right.svg\"\n (click)=\"changeCollapse(false)\"\n >\n </div>\n <div class=\"main_sidebar--footer--profile\">\n <i-tech-company-image\n [matMenuTriggerFor]=\"matMenu\"\n [collapsed]=\"isCollapsed\"\n [userData]=\"userData\"\n [platform]=\"platform\"\n [currentCompany]=\"currentCompany\"\n ></i-tech-company-image>\n <mat-menu #matMenu=\"matMenu\" class=\"sidebar_bottom_menu\">\n <div class=\"top_bar\">\n <img class=\"image\" alt=\"\" [src]=\"userData.image\"\n *ngIf=\"userData.image; else NoImage\"\n >\n <ng-template #NoImage>\n <div class=\"image no_image\">\n {{userData.firstName | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n <div class=\"information\">\n <div class=\"name\">{{userData.firstName}} {{userData.lastName}}</div>\n <div class=\"email\">{{userData.email}}</div>\n </div>\n </div>\n <div mat-menu-item *ngIf=\"platform !== CompaniesEnum.ORGANIZATION\" class=\"mt-4 standard_menu_item\"\n (click)=\"manageAccount()\">\n Manage Account\n </div>\n <div mat-menu-item *ngIf=\"platform === CompaniesEnum.ORGANIZATION\" class=\"mt-4 standard_menu_item\"\n (click)=\"accountInformation()\"\n >\n Account Information\n </div>\n <div mat-menu-item *ngIf=\"platform === CompaniesEnum.ORGANIZATION && accessToNewOrganization\"\n class=\"standard_menu_item\"\n (click)=\"addNewOrganization()\">\n Add new organization\n </div>\n\n <ng-container *ngIf=\"allOrganizations.length > 1\">\n <div class=\"divider\" ></div>\n\n <div class=\"switch\">\n <div class=\"switch_title\">\n Switch Organization\n </div>\n <div mat-menu-item class=\"mat_menu_organization\" (click)=\"switchOrganization(organization)\"\n *ngFor=\"let organization of allOrganizations\"\n >\n <div class=\"organization_item_in_menu\">\n <img alt=\"\" class=\"image\" [src]=\"organization.image\"\n *ngIf=\"organization.image; else NoImage\"\n >\n <ng-template #NoImage>\n <div class=\"image no_image\">\n {{organization.name | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n <span>{{organization.name}}</span>\n </div>\n <img alt=\"\" *ngIf=\"organization.id === currentCompany.id\"\n class=\"isSelected\" src=\"/assets/selected_organization.svg\" >\n </div>\n </div>\n </ng-container>\n <div class=\"divider\"></div>\n\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"openZendeskPage()\">\n Support Center\n </div>\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"privacyPolicyOrTermsCondition()\">\n Terms And Conditions\n </div>\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"privacyPolicyOrTermsCondition(true)\">\n Privacy Policy\n </div>\n\n <div class=\"divider\"></div>\n\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"signOut()\">\n Sign out\n </div>\n </mat-menu>\n </div>\n </div>\n</div>\n", styles: [".main_sidebar{box-shadow:3px 0 #d7d9de33;border-right:1px solid #D7D9DE;height:100vh;width:190px;position:relative;background-color:#fff;z-index:100}.main_sidebar.collapsed{width:80px}.main_sidebar.collapsed .main_sidebar--content--sub_title{font-size:13px;line-height:20px;padding:4px 16px 0}.main_sidebar.collapsed .main_sidebar--content--toolbar{padding:unset;justify-content:center;margin-top:16px}.main_sidebar.collapsed .main_sidebar--content--toolbar span{display:none}.main_sidebar.collapsed .main_sidebar--header{padding:6px 21.5px}.main_sidebar.collapsed .main_sidebar--content--link{padding:0 0 4px;flex-direction:column;width:70px;margin:12px auto 0}.main_sidebar.collapsed .main_sidebar--content--link .divider{display:none}.main_sidebar.collapsed .main_sidebar--content--link .new{right:0!important;top:14px!important}.main_sidebar.collapsed .main_sidebar--content--link .parent_icon{width:56px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:100px}.main_sidebar.collapsed .main_sidebar--content--link .name{font-size:11px;margin-left:unset;font-weight:500;text-align:center;line-height:16px}.main_sidebar.collapsed .main_sidebar--content--link.active,.main_sidebar.collapsed .main_sidebar--content--link:hover{background-color:unset}.main_sidebar.collapsed .main_sidebar--content--link.active .parent_icon,.main_sidebar.collapsed .main_sidebar--content--link:hover .parent_icon{background-color:#00ac4829}.main_sidebar.collapsed .main_sidebar--content--link.active .name{font-weight:600}.main_sidebar.collapsed::ng-deep .information .names{display:none}.main_sidebar .pointer{cursor:pointer}.main_sidebar--header{display:flex;justify-content:space-between;align-items:center;padding:21px 24px 21px 16px}.main_sidebar--header .logo{width:36px}.main_sidebar--content{height:calc(100% - 210px);overflow-y:auto}.main_sidebar--content .divider{border-bottom:1px solid #D7D9DE;margin:8px auto;width:calc(100% - 32px)}.main_sidebar--content--sub_title{margin-top:4px;padding:4px 16px;font-weight:700;font-size:16px;line-height:24px;letter-spacing:.1px}.main_sidebar--content--toolbar{cursor:pointer;padding-left:16px;display:flex;align-items:center}.main_sidebar--content--toolbar span{font-weight:700;font-size:13px;line-height:20px;letter-spacing:.1px;color:#647081;margin-left:4px}.main_sidebar--content--link{display:flex;align-items:center;padding:16px 10px 16px 16px;position:relative}.main_sidebar--content--link .name{font-weight:500;font-size:13px;line-height:20px;letter-spacing:.1px;margin-left:12px;color:#424954}.main_sidebar--content--link .parent_icon{width:24px;height:24px}.main_sidebar--content--link .new{position:absolute;border-radius:8px;color:#1f4085;padding:4px;font-weight:700;font-size:11px;line-height:12px;background-color:#dde7fc;right:24px;top:18px}.main_sidebar--content--link.active,.main_sidebar--content--link:hover{background-color:#effaf1}.main_sidebar--footer{bottom:0;position:absolute;width:100%}.main_sidebar--footer--toggle{width:100%;height:40px;position:relative;background-color:#fff}.main_sidebar--footer--toggle:hover img{filter:invert(27%) sepia(98%) saturate(1690%) hue-rotate(131deg) brightness(89%) contrast(107%)}.main_sidebar--footer--toggle img{position:absolute;margin:0 auto;top:50%;left:50%;transform:translate(-50%,-50%)}.main_sidebar--footer--profile{width:100%;padding:16px 23px 16px 16px;border-top:1px solid #D7D9DE}.divider{border-bottom:1px solid #CAC4D0;margin:8px 0;width:100%}::ng-deep .sidebar_bottom_menu{width:252px}::ng-deep .sidebar_bottom_menu .mt-4{margin-top:4px}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-content{padding:8px 0!important}::ng-deep .sidebar_bottom_menu .switch .switch_title{padding:12px;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px;color:#424954}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-item.standard_menu_item{padding:10px 12px!important}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-item{color:#424954;font-size:13px;font-weight:500;line-height:20px;letter-spacing:.2px}::ng-deep .sidebar_bottom_menu .top_bar{display:flex;padding:8px 12px 0}::ng-deep .sidebar_bottom_menu .top_bar .information{width:170px}::ng-deep .sidebar_bottom_menu .top_bar .information .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;font-size:13px;line-height:20px;letter-spacing:.2px;color:#424954}::ng-deep .sidebar_bottom_menu .top_bar .information .email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:11px;line-height:16px;letter-spacing:.2px;color:#424954}::ng-deep .sidebar_bottom_menu .top_bar .image{min-width:40px;width:40px;height:40px;border-radius:50%;margin-right:8px}::ng-deep .sidebar_bottom_menu .top_bar .no_image{background-color:#008b33;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;line-height:24px}::ng-deep .sidebar_bottom_menu .mat_menu_organization{padding:8px 12px!important}::ng-deep .sidebar_bottom_menu .mat_menu_organization .mat-mdc-menu-item-text{display:flex;justify-content:space-between;align-items:center}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu{display:flex;align-items:center}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu .image{width:24px;height:24px;border-radius:50%;margin-right:12px}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu .no_image{color:#006b1e;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;line-height:16px;background-color:#c0e5c7}::ng-deep .sidebar_platforms_menu{width:280px}::ng-deep .sidebar_platforms_menu .mat-mdc-menu-content{padding:8px 0!important}::ng-deep .sidebar_platforms_menu .menu_title{color:#424954;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px;padding:12px}::ng-deep .sidebar_platforms_menu .standard_menu_item{padding:8px 12px!important;display:flex;align-items:center}::ng-deep .sidebar_platforms_menu .standard_menu_item .logo{width:24px;height:24px;margin-right:12px}::ng-deep .sidebar_platforms_menu .standard_menu_item .mat-mdc-menu-item-text{display:flex;align-items:center}::ng-deep .sidebar_platforms_menu .standard_menu_item .mat-mdc-menu-item-text .logo{width:24px;height:24px;margin-right:12px}::ng-deep .main_sidebar .mat-ripple:not(:empty){transform:unset!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CompanyImageComponent, selector: "i-tech-company-image", inputs: ["collapsed", "userData", "currentCompany", "platform"] }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
191
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NewSidebarComponent, isStandalone: true, selector: "i-tech-sidebar", inputs: { platform: "platform", navigationLinks: "navigationLinks", env: "env", userData: "userData" }, outputs: { collapseEvent: "collapseEvent", signOutEvent: "signOutEvent", newAuthenticatedResponseEvent: "newAuthenticatedResponseEvent" }, host: { listeners: { "window:beforeunload": "canDeactivate()" } }, ngImport: i0, template: "<div class=\"main_sidebar\"\n *ngIf=\"navigationLinks && userData\"\n [class.collapsed]=\"isCollapsed\"\n>\n <div class=\"main_sidebar--header\">\n <img class=\"logo pointer\" alt=\"\"\n [src]=\"'/assets/logos/' + platform + '.svg'\"\n (click)=\"openLanding()\"\n >\n <img src=\"/assets/apps.png\" alt=\"\" class=\"pointer\" *ngIf=\"!isCollapsed\"\n [matMenuTriggerFor]=\"matMenu\"\n >\n\n <mat-menu #matMenu=\"matMenu\" class=\"sidebar_platforms_menu\">\n <ng-container *ngIf=\"activeAndInactivePlatforms['active'].length\">\n <div class=\"menu_title\">\n Active Apps\n </div>\n <div mat-menu-item class=\"standard_menu_item\" *ngFor=\"let app of activeAndInactivePlatforms['active']\"\n (click)=\"openPlatform(app.id)\"\n >\n <img alt=\"\" class=\"logo\" [src]=\"'/assets/logos/' + app.id + '.svg'\">\n <span>{{app.name}}</span>\n <img alt=\"\" class=\"ml-auto\" src=\"/assets/selected_organization.svg\"\n *ngIf=\"app.checked\"\n >\n </div>\n </ng-container>\n\n <div class=\"divider\"\n *ngIf=\"activeAndInactivePlatforms['active'].length && activeAndInactivePlatforms['inactive'].length\"\n ></div>\n\n <ng-container *ngIf=\"activeAndInactivePlatforms['inactive'].length\">\n <div class=\"menu_title\">\n Inactive Apps\n </div>\n <div class=\"standard_menu_item\" *ngFor=\"let app of activeAndInactivePlatforms['inactive']\">\n <img alt=\"\" class=\"logo\" [src]=\"'/assets/logos/' + app.id + '.svg'\">\n <span>{{app.name}}</span>\n </div>\n </ng-container>\n\n </mat-menu>\n </div>\n\n <div class=\"main_sidebar--content\">\n <ng-container *ngIf=\"secondLayerLinks.length\">\n <div class=\"main_sidebar--content--toolbar\"\n (click)=\"navigateBack()\"\n >\n <img alt=\"\" src=\"/assets/back.svg\">\n <span>Back</span>\n </div>\n <div class=\"main_sidebar--content--sub_title\">\n Admin\n </div>\n </ng-container>\n\n <ng-container *ngFor=\"let link of (secondLayerLinks.length ? secondLayerLinks : navigationLinks)\">\n <div class=\"divider\" *ngIf=\"link.hasDivider\"></div>\n <div class=\"main_sidebar--content--link pointer\"\n matRipple\n [class.active]=\"link.pageEnum === activePage || link.pageEnum === secondLayerActivePage\"\n (click)=\"navigate(link)\"\n >\n <div class=\"parent_icon\">\n <img class=\"icon\" alt=\"\"\n [src]=\"'/assets/links/' + platform + '/' + link.image + '.svg'\">\n </div>\n <div class=\"name\">{{link.title | translate}}</div>\n\n <div class=\"new\" *ngIf=\"link.isNew\">New</div>\n\n </div>\n </ng-container>\n\n </div>\n\n <div class=\"main_sidebar--footer\" *ngIf=\"userData\">\n <div class=\"main_sidebar--footer--toggle\"\n >\n <img class=\"pointer\" alt=\"\"\n *ngIf=\"!isCollapsed\"\n matTooltip=\"Collapse Sidebar\"\n [matTooltipPosition]=\"'above'\"\n src=\"/assets/toggle-state-left.svg\"\n (click)=\"changeCollapse(true)\"\n >\n <img class=\"pointer\" alt=\"\"\n *ngIf=\"isCollapsed\"\n matTooltip=\"Expand Sidebar\"\n [matTooltipPosition]=\"'above'\"\n src=\"/assets/toggle-state-right.svg\"\n (click)=\"changeCollapse(false)\"\n >\n </div>\n <div class=\"main_sidebar--footer--profile\">\n <i-tech-company-image\n [matMenuTriggerFor]=\"matMenu\"\n [collapsed]=\"isCollapsed\"\n [userData]=\"userData\"\n [platform]=\"platform\"\n [currentCompany]=\"currentCompany\"\n ></i-tech-company-image>\n <mat-menu #matMenu=\"matMenu\" class=\"sidebar_bottom_menu\">\n <div class=\"top_bar\">\n <img class=\"image\" alt=\"\" [src]=\"userData.image\"\n *ngIf=\"userData.image; else NoImage\"\n >\n <ng-template #NoImage>\n <div class=\"image no_image\">\n {{userData.firstName | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n <div class=\"information\">\n <div class=\"name\">{{userData.firstName}} {{userData.lastName}}</div>\n <div class=\"email\">{{userData.email}}</div>\n </div>\n </div>\n <div mat-menu-item *ngIf=\"platform !== CompaniesEnum.ORGANIZATION\" class=\"mt-4 standard_menu_item\"\n (click)=\"manageAccount()\"\n >\n Account Information\n </div>\n <div mat-menu-item *ngIf=\"platform === CompaniesEnum.ORGANIZATION\" class=\"mt-4 standard_menu_item\"\n (click)=\"accountInformation()\"\n >\n Account Information\n </div>\n <div mat-menu-item *ngIf=\"platform === CompaniesEnum.ORGANIZATION && accessToNewOrganization\"\n class=\"standard_menu_item\"\n (click)=\"addNewOrganization()\">\n Add new organization\n </div>\n\n <ng-container *ngIf=\"allOrganizations.length > 1\">\n <div class=\"divider\" ></div>\n\n <div class=\"switch\">\n <div class=\"switch_title\">\n Switch Organization\n </div>\n <div mat-menu-item class=\"mat_menu_organization\" (click)=\"switchOrganization(organization)\"\n *ngFor=\"let organization of allOrganizations\"\n >\n <div class=\"organization_item_in_menu\">\n <img alt=\"\" class=\"image\" [src]=\"organization.image\"\n *ngIf=\"organization.image; else NoImage\"\n >\n <ng-template #NoImage>\n <div class=\"image no_image\">\n {{organization.name | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n <span>{{organization.name}}</span>\n </div>\n <img alt=\"\" *ngIf=\"organization.id === currentCompany.id\"\n class=\"isSelected\" src=\"/assets/selected_organization.svg\" >\n </div>\n </div>\n </ng-container>\n <div class=\"divider\"></div>\n\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"openZendeskPage()\">\n Support Center\n </div>\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"privacyPolicyOrTermsCondition()\">\n Terms And Conditions\n </div>\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"privacyPolicyOrTermsCondition(true)\">\n Privacy Policy\n </div>\n\n <div class=\"divider\"></div>\n\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"signOut()\">\n Sign out\n </div>\n </mat-menu>\n </div>\n </div>\n</div>\n", styles: [".main_sidebar{box-shadow:3px 0 #d7d9de33;border-right:1px solid #D7D9DE;height:100vh;width:190px;position:relative;background-color:#fff;z-index:100}.main_sidebar.collapsed{width:80px}.main_sidebar.collapsed .main_sidebar--content--sub_title{font-size:13px;line-height:20px;padding:4px 16px 0}.main_sidebar.collapsed .main_sidebar--content--toolbar{padding:unset;justify-content:center;margin-top:16px}.main_sidebar.collapsed .main_sidebar--content--toolbar span{display:none}.main_sidebar.collapsed .main_sidebar--header{padding:6px 21.5px}.main_sidebar.collapsed .main_sidebar--content--link{padding:0 0 4px;flex-direction:column;width:80px;margin-top:12px}.main_sidebar.collapsed .main_sidebar--content--link .divider{display:none}.main_sidebar.collapsed .main_sidebar--content--link .new{right:0!important;top:14px!important}.main_sidebar.collapsed .main_sidebar--content--link .parent_icon{width:56px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:100px}.main_sidebar.collapsed .main_sidebar--content--link .name{font-size:11px;margin-left:unset;font-weight:500;text-align:center;line-height:16px}.main_sidebar.collapsed .main_sidebar--content--link.active,.main_sidebar.collapsed .main_sidebar--content--link:hover{background-color:unset}.main_sidebar.collapsed .main_sidebar--content--link.active .parent_icon,.main_sidebar.collapsed .main_sidebar--content--link:hover .parent_icon{background-color:#00ac4829}.main_sidebar.collapsed .main_sidebar--content--link.active .name{font-weight:600}.main_sidebar.collapsed::ng-deep .information .names{display:none}.main_sidebar .pointer{cursor:pointer}.main_sidebar--header{display:flex;justify-content:space-between;align-items:center;padding:21px 24px 21px 16px}.main_sidebar--header .logo{width:36px}.main_sidebar--content{height:calc(100% - 210px);overflow-y:auto;overflow-x:hidden}.main_sidebar--content .divider{border-bottom:1px solid #D7D9DE;margin:8px auto;width:calc(100% - 32px)}.main_sidebar--content--sub_title{margin-top:4px;padding:4px 16px;font-weight:700;font-size:16px;line-height:24px;letter-spacing:.1px}.main_sidebar--content--toolbar{cursor:pointer;padding-left:16px;display:flex;align-items:center}.main_sidebar--content--toolbar span{font-weight:700;font-size:13px;line-height:20px;letter-spacing:.1px;color:#647081;margin-left:4px}.main_sidebar--content--link{display:flex;align-items:center;padding:16px 10px 16px 16px;position:relative}.main_sidebar--content--link .name{font-weight:500;font-size:13px;line-height:20px;letter-spacing:.1px;margin-left:12px;color:#424954}.main_sidebar--content--link .parent_icon{width:24px;height:24px}.main_sidebar--content--link .new{position:absolute;border-radius:8px;color:#1f4085;padding:4px;font-weight:700;font-size:11px;line-height:12px;background-color:#dde7fc;right:24px;top:18px}.main_sidebar--content--link.active,.main_sidebar--content--link:hover{background-color:#effaf1}.main_sidebar--footer{bottom:0;position:absolute;width:100%}.main_sidebar--footer--toggle{width:100%;height:40px;position:relative;background-color:#fff}.main_sidebar--footer--toggle:hover img{filter:invert(27%) sepia(98%) saturate(1690%) hue-rotate(131deg) brightness(89%) contrast(107%)}.main_sidebar--footer--toggle img{position:absolute;margin:0 auto;top:50%;left:50%;transform:translate(-50%,-50%)}.main_sidebar--footer--profile{width:100%;padding:16px 23px 16px 16px;border-top:1px solid #D7D9DE}.divider{border-bottom:1px solid #CAC4D0;margin:8px 0;width:100%}::ng-deep .sidebar_bottom_menu{width:252px}::ng-deep .sidebar_bottom_menu .mt-4{margin-top:4px}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-content{padding:8px 0!important}::ng-deep .sidebar_bottom_menu .switch .switch_title{padding:12px;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px;color:#424954}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-item.standard_menu_item{padding:10px 12px!important}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-item{color:#424954;font-size:13px;font-weight:500;line-height:20px;letter-spacing:.2px}::ng-deep .sidebar_bottom_menu .top_bar{display:flex;padding:8px 12px 0}::ng-deep .sidebar_bottom_menu .top_bar .information{width:170px}::ng-deep .sidebar_bottom_menu .top_bar .information .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;font-size:13px;line-height:20px;letter-spacing:.2px;color:#424954}::ng-deep .sidebar_bottom_menu .top_bar .information .email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:11px;line-height:16px;letter-spacing:.2px;color:#424954}::ng-deep .sidebar_bottom_menu .top_bar .image{min-width:40px;width:40px;height:40px;border-radius:50%;margin-right:8px}::ng-deep .sidebar_bottom_menu .top_bar .no_image{background-color:#008b33;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;line-height:24px}::ng-deep .sidebar_bottom_menu .mat_menu_organization{padding:8px 12px!important}::ng-deep .sidebar_bottom_menu .mat_menu_organization .mat-mdc-menu-item-text{display:flex;justify-content:space-between;align-items:center}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu{display:flex;align-items:center}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu .image{width:24px;height:24px;border-radius:50%;margin-right:12px}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu .no_image{color:#006b1e;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;line-height:16px;background-color:#c0e5c7}::ng-deep .sidebar_platforms_menu{width:280px}::ng-deep .sidebar_platforms_menu .mat-mdc-menu-content{padding:8px 0!important}::ng-deep .sidebar_platforms_menu .menu_title{color:#424954;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px;padding:12px}::ng-deep .sidebar_platforms_menu .standard_menu_item{padding:8px 12px!important;display:flex;align-items:center}::ng-deep .sidebar_platforms_menu .standard_menu_item .logo{width:24px;height:24px;margin-right:12px}::ng-deep .sidebar_platforms_menu .standard_menu_item .mat-mdc-menu-item-text{display:flex;align-items:center}::ng-deep .sidebar_platforms_menu .standard_menu_item .mat-mdc-menu-item-text .logo{width:24px;height:24px;margin-right:12px}::ng-deep .main_sidebar .mat-ripple:not(:empty){transform:unset!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: CompanyImageComponent, selector: "i-tech-company-image", inputs: ["collapsed", "userData", "currentCompany", "platform"] }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
184
192
  }
185
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NewSidebarComponent, decorators: [{
186
194
  type: Component,
187
- args: [{ selector: 'i-tech-sidebar', imports: [NgIf, NgFor, TranslateModule, MatMenu, MatIcon,
188
- MatMenuModule, CompanyImageComponent, UpperCasePipe, SlicePipe,
195
+ args: [{ selector: 'i-tech-sidebar', imports: [NgIf, NgFor, TranslateModule, MatMenu, MatMenuModule, CompanyImageComponent, UpperCasePipe, SlicePipe,
189
196
  MatRippleModule, MatTooltipModule
190
- ], standalone: true, template: "<div class=\"main_sidebar\"\n *ngIf=\"navigationLinks && userData\"\n [class.collapsed]=\"isCollapsed\"\n>\n <div class=\"main_sidebar--header\">\n <img class=\"logo pointer\" alt=\"\"\n [src]=\"'/assets/logos/' + platform + '.svg'\"\n (click)=\"openLanding()\"\n >\n <img src=\"/assets/apps.png\" alt=\"\" class=\"pointer\" *ngIf=\"!isCollapsed\"\n [matMenuTriggerFor]=\"matMenu\"\n >\n\n <mat-menu #matMenu=\"matMenu\" class=\"sidebar_platforms_menu\">\n <ng-container *ngIf=\"activeAndInactivePlatforms['active'].length\">\n <div class=\"menu_title\">\n Active Apps\n </div>\n <div mat-menu-item class=\"standard_menu_item\" *ngFor=\"let app of activeAndInactivePlatforms['active']\"\n (click)=\"openPlatform(app.id)\"\n >\n <img alt=\"\" class=\"logo\" [src]=\"'/assets/logos/' + app.id + '.svg'\">\n <span>{{app.name}}</span>\n <img alt=\"\" class=\"ml-auto\" src=\"/assets/selected_organization.svg\"\n *ngIf=\"app.checked\"\n >\n </div>\n </ng-container>\n\n <div class=\"divider\"\n *ngIf=\"activeAndInactivePlatforms['active'].length && activeAndInactivePlatforms['inactive'].length\"\n ></div>\n\n <ng-container *ngIf=\"activeAndInactivePlatforms['inactive'].length\">\n <div class=\"menu_title\">\n Inactive Apps\n </div>\n <div class=\"standard_menu_item\" *ngFor=\"let app of activeAndInactivePlatforms['inactive']\">\n <img alt=\"\" class=\"logo\" [src]=\"'/assets/logos/' + app.id + '.svg'\">\n <span>{{app.name}}</span>\n </div>\n </ng-container>\n\n </mat-menu>\n </div>\n\n <div class=\"main_sidebar--content\">\n <ng-container *ngIf=\"secondLayerLinks.length\">\n <div class=\"main_sidebar--content--toolbar\"\n (click)=\"navigateBack()\"\n >\n <img alt=\"\" src=\"/assets/back.svg\">\n <span>Back</span>\n </div>\n <div class=\"main_sidebar--content--sub_title\">\n Admin\n </div>\n </ng-container>\n\n <ng-container *ngFor=\"let link of (secondLayerLinks.length ? secondLayerLinks : navigationLinks)\">\n <div class=\"divider\" *ngIf=\"link.hasDivider\"></div>\n <div class=\"main_sidebar--content--link pointer\"\n matRipple\n [class.active]=\"link.pageEnum === activePage || link.pageEnum === secondLayerActivePage\"\n (click)=\"navigate(link)\"\n >\n <div class=\"parent_icon\">\n <img class=\"icon\" alt=\"\"\n [src]=\"'/assets/links/' + platform + '/' + link.image + '.svg'\">\n </div>\n <div class=\"name\">{{link.title | translate}}</div>\n\n <div class=\"new\" *ngIf=\"link.isNew\">New</div>\n\n </div>\n </ng-container>\n\n </div>\n\n <div class=\"main_sidebar--footer\" *ngIf=\"userData\">\n <div class=\"main_sidebar--footer--toggle\"\n >\n <img class=\"pointer\" alt=\"\"\n *ngIf=\"!isCollapsed\"\n matTooltip=\"Collapse Sidebar\"\n [matTooltipPosition]=\"'above'\"\n src=\"/assets/toggle-state-left.svg\"\n (click)=\"changeCollapse(true)\"\n >\n <img class=\"pointer\" alt=\"\"\n *ngIf=\"isCollapsed\"\n matTooltip=\"Expand Sidebar\"\n [matTooltipPosition]=\"'above'\"\n src=\"/assets/toggle-state-right.svg\"\n (click)=\"changeCollapse(false)\"\n >\n </div>\n <div class=\"main_sidebar--footer--profile\">\n <i-tech-company-image\n [matMenuTriggerFor]=\"matMenu\"\n [collapsed]=\"isCollapsed\"\n [userData]=\"userData\"\n [platform]=\"platform\"\n [currentCompany]=\"currentCompany\"\n ></i-tech-company-image>\n <mat-menu #matMenu=\"matMenu\" class=\"sidebar_bottom_menu\">\n <div class=\"top_bar\">\n <img class=\"image\" alt=\"\" [src]=\"userData.image\"\n *ngIf=\"userData.image; else NoImage\"\n >\n <ng-template #NoImage>\n <div class=\"image no_image\">\n {{userData.firstName | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n <div class=\"information\">\n <div class=\"name\">{{userData.firstName}} {{userData.lastName}}</div>\n <div class=\"email\">{{userData.email}}</div>\n </div>\n </div>\n <div mat-menu-item *ngIf=\"platform !== CompaniesEnum.ORGANIZATION\" class=\"mt-4 standard_menu_item\"\n (click)=\"manageAccount()\">\n Manage Account\n </div>\n <div mat-menu-item *ngIf=\"platform === CompaniesEnum.ORGANIZATION\" class=\"mt-4 standard_menu_item\"\n (click)=\"accountInformation()\"\n >\n Account Information\n </div>\n <div mat-menu-item *ngIf=\"platform === CompaniesEnum.ORGANIZATION && accessToNewOrganization\"\n class=\"standard_menu_item\"\n (click)=\"addNewOrganization()\">\n Add new organization\n </div>\n\n <ng-container *ngIf=\"allOrganizations.length > 1\">\n <div class=\"divider\" ></div>\n\n <div class=\"switch\">\n <div class=\"switch_title\">\n Switch Organization\n </div>\n <div mat-menu-item class=\"mat_menu_organization\" (click)=\"switchOrganization(organization)\"\n *ngFor=\"let organization of allOrganizations\"\n >\n <div class=\"organization_item_in_menu\">\n <img alt=\"\" class=\"image\" [src]=\"organization.image\"\n *ngIf=\"organization.image; else NoImage\"\n >\n <ng-template #NoImage>\n <div class=\"image no_image\">\n {{organization.name | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n <span>{{organization.name}}</span>\n </div>\n <img alt=\"\" *ngIf=\"organization.id === currentCompany.id\"\n class=\"isSelected\" src=\"/assets/selected_organization.svg\" >\n </div>\n </div>\n </ng-container>\n <div class=\"divider\"></div>\n\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"openZendeskPage()\">\n Support Center\n </div>\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"privacyPolicyOrTermsCondition()\">\n Terms And Conditions\n </div>\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"privacyPolicyOrTermsCondition(true)\">\n Privacy Policy\n </div>\n\n <div class=\"divider\"></div>\n\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"signOut()\">\n Sign out\n </div>\n </mat-menu>\n </div>\n </div>\n</div>\n", styles: [".main_sidebar{box-shadow:3px 0 #d7d9de33;border-right:1px solid #D7D9DE;height:100vh;width:190px;position:relative;background-color:#fff;z-index:100}.main_sidebar.collapsed{width:80px}.main_sidebar.collapsed .main_sidebar--content--sub_title{font-size:13px;line-height:20px;padding:4px 16px 0}.main_sidebar.collapsed .main_sidebar--content--toolbar{padding:unset;justify-content:center;margin-top:16px}.main_sidebar.collapsed .main_sidebar--content--toolbar span{display:none}.main_sidebar.collapsed .main_sidebar--header{padding:6px 21.5px}.main_sidebar.collapsed .main_sidebar--content--link{padding:0 0 4px;flex-direction:column;width:70px;margin:12px auto 0}.main_sidebar.collapsed .main_sidebar--content--link .divider{display:none}.main_sidebar.collapsed .main_sidebar--content--link .new{right:0!important;top:14px!important}.main_sidebar.collapsed .main_sidebar--content--link .parent_icon{width:56px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:100px}.main_sidebar.collapsed .main_sidebar--content--link .name{font-size:11px;margin-left:unset;font-weight:500;text-align:center;line-height:16px}.main_sidebar.collapsed .main_sidebar--content--link.active,.main_sidebar.collapsed .main_sidebar--content--link:hover{background-color:unset}.main_sidebar.collapsed .main_sidebar--content--link.active .parent_icon,.main_sidebar.collapsed .main_sidebar--content--link:hover .parent_icon{background-color:#00ac4829}.main_sidebar.collapsed .main_sidebar--content--link.active .name{font-weight:600}.main_sidebar.collapsed::ng-deep .information .names{display:none}.main_sidebar .pointer{cursor:pointer}.main_sidebar--header{display:flex;justify-content:space-between;align-items:center;padding:21px 24px 21px 16px}.main_sidebar--header .logo{width:36px}.main_sidebar--content{height:calc(100% - 210px);overflow-y:auto}.main_sidebar--content .divider{border-bottom:1px solid #D7D9DE;margin:8px auto;width:calc(100% - 32px)}.main_sidebar--content--sub_title{margin-top:4px;padding:4px 16px;font-weight:700;font-size:16px;line-height:24px;letter-spacing:.1px}.main_sidebar--content--toolbar{cursor:pointer;padding-left:16px;display:flex;align-items:center}.main_sidebar--content--toolbar span{font-weight:700;font-size:13px;line-height:20px;letter-spacing:.1px;color:#647081;margin-left:4px}.main_sidebar--content--link{display:flex;align-items:center;padding:16px 10px 16px 16px;position:relative}.main_sidebar--content--link .name{font-weight:500;font-size:13px;line-height:20px;letter-spacing:.1px;margin-left:12px;color:#424954}.main_sidebar--content--link .parent_icon{width:24px;height:24px}.main_sidebar--content--link .new{position:absolute;border-radius:8px;color:#1f4085;padding:4px;font-weight:700;font-size:11px;line-height:12px;background-color:#dde7fc;right:24px;top:18px}.main_sidebar--content--link.active,.main_sidebar--content--link:hover{background-color:#effaf1}.main_sidebar--footer{bottom:0;position:absolute;width:100%}.main_sidebar--footer--toggle{width:100%;height:40px;position:relative;background-color:#fff}.main_sidebar--footer--toggle:hover img{filter:invert(27%) sepia(98%) saturate(1690%) hue-rotate(131deg) brightness(89%) contrast(107%)}.main_sidebar--footer--toggle img{position:absolute;margin:0 auto;top:50%;left:50%;transform:translate(-50%,-50%)}.main_sidebar--footer--profile{width:100%;padding:16px 23px 16px 16px;border-top:1px solid #D7D9DE}.divider{border-bottom:1px solid #CAC4D0;margin:8px 0;width:100%}::ng-deep .sidebar_bottom_menu{width:252px}::ng-deep .sidebar_bottom_menu .mt-4{margin-top:4px}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-content{padding:8px 0!important}::ng-deep .sidebar_bottom_menu .switch .switch_title{padding:12px;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px;color:#424954}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-item.standard_menu_item{padding:10px 12px!important}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-item{color:#424954;font-size:13px;font-weight:500;line-height:20px;letter-spacing:.2px}::ng-deep .sidebar_bottom_menu .top_bar{display:flex;padding:8px 12px 0}::ng-deep .sidebar_bottom_menu .top_bar .information{width:170px}::ng-deep .sidebar_bottom_menu .top_bar .information .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;font-size:13px;line-height:20px;letter-spacing:.2px;color:#424954}::ng-deep .sidebar_bottom_menu .top_bar .information .email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:11px;line-height:16px;letter-spacing:.2px;color:#424954}::ng-deep .sidebar_bottom_menu .top_bar .image{min-width:40px;width:40px;height:40px;border-radius:50%;margin-right:8px}::ng-deep .sidebar_bottom_menu .top_bar .no_image{background-color:#008b33;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;line-height:24px}::ng-deep .sidebar_bottom_menu .mat_menu_organization{padding:8px 12px!important}::ng-deep .sidebar_bottom_menu .mat_menu_organization .mat-mdc-menu-item-text{display:flex;justify-content:space-between;align-items:center}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu{display:flex;align-items:center}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu .image{width:24px;height:24px;border-radius:50%;margin-right:12px}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu .no_image{color:#006b1e;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;line-height:16px;background-color:#c0e5c7}::ng-deep .sidebar_platforms_menu{width:280px}::ng-deep .sidebar_platforms_menu .mat-mdc-menu-content{padding:8px 0!important}::ng-deep .sidebar_platforms_menu .menu_title{color:#424954;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px;padding:12px}::ng-deep .sidebar_platforms_menu .standard_menu_item{padding:8px 12px!important;display:flex;align-items:center}::ng-deep .sidebar_platforms_menu .standard_menu_item .logo{width:24px;height:24px;margin-right:12px}::ng-deep .sidebar_platforms_menu .standard_menu_item .mat-mdc-menu-item-text{display:flex;align-items:center}::ng-deep .sidebar_platforms_menu .standard_menu_item .mat-mdc-menu-item-text .logo{width:24px;height:24px;margin-right:12px}::ng-deep .main_sidebar .mat-ripple:not(:empty){transform:unset!important}\n"] }]
197
+ ], standalone: true, template: "<div class=\"main_sidebar\"\n *ngIf=\"navigationLinks && userData\"\n [class.collapsed]=\"isCollapsed\"\n>\n <div class=\"main_sidebar--header\">\n <img class=\"logo pointer\" alt=\"\"\n [src]=\"'/assets/logos/' + platform + '.svg'\"\n (click)=\"openLanding()\"\n >\n <img src=\"/assets/apps.png\" alt=\"\" class=\"pointer\" *ngIf=\"!isCollapsed\"\n [matMenuTriggerFor]=\"matMenu\"\n >\n\n <mat-menu #matMenu=\"matMenu\" class=\"sidebar_platforms_menu\">\n <ng-container *ngIf=\"activeAndInactivePlatforms['active'].length\">\n <div class=\"menu_title\">\n Active Apps\n </div>\n <div mat-menu-item class=\"standard_menu_item\" *ngFor=\"let app of activeAndInactivePlatforms['active']\"\n (click)=\"openPlatform(app.id)\"\n >\n <img alt=\"\" class=\"logo\" [src]=\"'/assets/logos/' + app.id + '.svg'\">\n <span>{{app.name}}</span>\n <img alt=\"\" class=\"ml-auto\" src=\"/assets/selected_organization.svg\"\n *ngIf=\"app.checked\"\n >\n </div>\n </ng-container>\n\n <div class=\"divider\"\n *ngIf=\"activeAndInactivePlatforms['active'].length && activeAndInactivePlatforms['inactive'].length\"\n ></div>\n\n <ng-container *ngIf=\"activeAndInactivePlatforms['inactive'].length\">\n <div class=\"menu_title\">\n Inactive Apps\n </div>\n <div class=\"standard_menu_item\" *ngFor=\"let app of activeAndInactivePlatforms['inactive']\">\n <img alt=\"\" class=\"logo\" [src]=\"'/assets/logos/' + app.id + '.svg'\">\n <span>{{app.name}}</span>\n </div>\n </ng-container>\n\n </mat-menu>\n </div>\n\n <div class=\"main_sidebar--content\">\n <ng-container *ngIf=\"secondLayerLinks.length\">\n <div class=\"main_sidebar--content--toolbar\"\n (click)=\"navigateBack()\"\n >\n <img alt=\"\" src=\"/assets/back.svg\">\n <span>Back</span>\n </div>\n <div class=\"main_sidebar--content--sub_title\">\n Admin\n </div>\n </ng-container>\n\n <ng-container *ngFor=\"let link of (secondLayerLinks.length ? secondLayerLinks : navigationLinks)\">\n <div class=\"divider\" *ngIf=\"link.hasDivider\"></div>\n <div class=\"main_sidebar--content--link pointer\"\n matRipple\n [class.active]=\"link.pageEnum === activePage || link.pageEnum === secondLayerActivePage\"\n (click)=\"navigate(link)\"\n >\n <div class=\"parent_icon\">\n <img class=\"icon\" alt=\"\"\n [src]=\"'/assets/links/' + platform + '/' + link.image + '.svg'\">\n </div>\n <div class=\"name\">{{link.title | translate}}</div>\n\n <div class=\"new\" *ngIf=\"link.isNew\">New</div>\n\n </div>\n </ng-container>\n\n </div>\n\n <div class=\"main_sidebar--footer\" *ngIf=\"userData\">\n <div class=\"main_sidebar--footer--toggle\"\n >\n <img class=\"pointer\" alt=\"\"\n *ngIf=\"!isCollapsed\"\n matTooltip=\"Collapse Sidebar\"\n [matTooltipPosition]=\"'above'\"\n src=\"/assets/toggle-state-left.svg\"\n (click)=\"changeCollapse(true)\"\n >\n <img class=\"pointer\" alt=\"\"\n *ngIf=\"isCollapsed\"\n matTooltip=\"Expand Sidebar\"\n [matTooltipPosition]=\"'above'\"\n src=\"/assets/toggle-state-right.svg\"\n (click)=\"changeCollapse(false)\"\n >\n </div>\n <div class=\"main_sidebar--footer--profile\">\n <i-tech-company-image\n [matMenuTriggerFor]=\"matMenu\"\n [collapsed]=\"isCollapsed\"\n [userData]=\"userData\"\n [platform]=\"platform\"\n [currentCompany]=\"currentCompany\"\n ></i-tech-company-image>\n <mat-menu #matMenu=\"matMenu\" class=\"sidebar_bottom_menu\">\n <div class=\"top_bar\">\n <img class=\"image\" alt=\"\" [src]=\"userData.image\"\n *ngIf=\"userData.image; else NoImage\"\n >\n <ng-template #NoImage>\n <div class=\"image no_image\">\n {{userData.firstName | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n <div class=\"information\">\n <div class=\"name\">{{userData.firstName}} {{userData.lastName}}</div>\n <div class=\"email\">{{userData.email}}</div>\n </div>\n </div>\n <div mat-menu-item *ngIf=\"platform !== CompaniesEnum.ORGANIZATION\" class=\"mt-4 standard_menu_item\"\n (click)=\"manageAccount()\"\n >\n Account Information\n </div>\n <div mat-menu-item *ngIf=\"platform === CompaniesEnum.ORGANIZATION\" class=\"mt-4 standard_menu_item\"\n (click)=\"accountInformation()\"\n >\n Account Information\n </div>\n <div mat-menu-item *ngIf=\"platform === CompaniesEnum.ORGANIZATION && accessToNewOrganization\"\n class=\"standard_menu_item\"\n (click)=\"addNewOrganization()\">\n Add new organization\n </div>\n\n <ng-container *ngIf=\"allOrganizations.length > 1\">\n <div class=\"divider\" ></div>\n\n <div class=\"switch\">\n <div class=\"switch_title\">\n Switch Organization\n </div>\n <div mat-menu-item class=\"mat_menu_organization\" (click)=\"switchOrganization(organization)\"\n *ngFor=\"let organization of allOrganizations\"\n >\n <div class=\"organization_item_in_menu\">\n <img alt=\"\" class=\"image\" [src]=\"organization.image\"\n *ngIf=\"organization.image; else NoImage\"\n >\n <ng-template #NoImage>\n <div class=\"image no_image\">\n {{organization.name | slice: 0 : 1 | uppercase}}\n </div>\n </ng-template>\n <span>{{organization.name}}</span>\n </div>\n <img alt=\"\" *ngIf=\"organization.id === currentCompany.id\"\n class=\"isSelected\" src=\"/assets/selected_organization.svg\" >\n </div>\n </div>\n </ng-container>\n <div class=\"divider\"></div>\n\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"openZendeskPage()\">\n Support Center\n </div>\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"privacyPolicyOrTermsCondition()\">\n Terms And Conditions\n </div>\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"privacyPolicyOrTermsCondition(true)\">\n Privacy Policy\n </div>\n\n <div class=\"divider\"></div>\n\n <div mat-menu-item class=\"standard_menu_item\" (click)=\"signOut()\">\n Sign out\n </div>\n </mat-menu>\n </div>\n </div>\n</div>\n", styles: [".main_sidebar{box-shadow:3px 0 #d7d9de33;border-right:1px solid #D7D9DE;height:100vh;width:190px;position:relative;background-color:#fff;z-index:100}.main_sidebar.collapsed{width:80px}.main_sidebar.collapsed .main_sidebar--content--sub_title{font-size:13px;line-height:20px;padding:4px 16px 0}.main_sidebar.collapsed .main_sidebar--content--toolbar{padding:unset;justify-content:center;margin-top:16px}.main_sidebar.collapsed .main_sidebar--content--toolbar span{display:none}.main_sidebar.collapsed .main_sidebar--header{padding:6px 21.5px}.main_sidebar.collapsed .main_sidebar--content--link{padding:0 0 4px;flex-direction:column;width:80px;margin-top:12px}.main_sidebar.collapsed .main_sidebar--content--link .divider{display:none}.main_sidebar.collapsed .main_sidebar--content--link .new{right:0!important;top:14px!important}.main_sidebar.collapsed .main_sidebar--content--link .parent_icon{width:56px;height:32px;display:flex;justify-content:center;align-items:center;border-radius:100px}.main_sidebar.collapsed .main_sidebar--content--link .name{font-size:11px;margin-left:unset;font-weight:500;text-align:center;line-height:16px}.main_sidebar.collapsed .main_sidebar--content--link.active,.main_sidebar.collapsed .main_sidebar--content--link:hover{background-color:unset}.main_sidebar.collapsed .main_sidebar--content--link.active .parent_icon,.main_sidebar.collapsed .main_sidebar--content--link:hover .parent_icon{background-color:#00ac4829}.main_sidebar.collapsed .main_sidebar--content--link.active .name{font-weight:600}.main_sidebar.collapsed::ng-deep .information .names{display:none}.main_sidebar .pointer{cursor:pointer}.main_sidebar--header{display:flex;justify-content:space-between;align-items:center;padding:21px 24px 21px 16px}.main_sidebar--header .logo{width:36px}.main_sidebar--content{height:calc(100% - 210px);overflow-y:auto;overflow-x:hidden}.main_sidebar--content .divider{border-bottom:1px solid #D7D9DE;margin:8px auto;width:calc(100% - 32px)}.main_sidebar--content--sub_title{margin-top:4px;padding:4px 16px;font-weight:700;font-size:16px;line-height:24px;letter-spacing:.1px}.main_sidebar--content--toolbar{cursor:pointer;padding-left:16px;display:flex;align-items:center}.main_sidebar--content--toolbar span{font-weight:700;font-size:13px;line-height:20px;letter-spacing:.1px;color:#647081;margin-left:4px}.main_sidebar--content--link{display:flex;align-items:center;padding:16px 10px 16px 16px;position:relative}.main_sidebar--content--link .name{font-weight:500;font-size:13px;line-height:20px;letter-spacing:.1px;margin-left:12px;color:#424954}.main_sidebar--content--link .parent_icon{width:24px;height:24px}.main_sidebar--content--link .new{position:absolute;border-radius:8px;color:#1f4085;padding:4px;font-weight:700;font-size:11px;line-height:12px;background-color:#dde7fc;right:24px;top:18px}.main_sidebar--content--link.active,.main_sidebar--content--link:hover{background-color:#effaf1}.main_sidebar--footer{bottom:0;position:absolute;width:100%}.main_sidebar--footer--toggle{width:100%;height:40px;position:relative;background-color:#fff}.main_sidebar--footer--toggle:hover img{filter:invert(27%) sepia(98%) saturate(1690%) hue-rotate(131deg) brightness(89%) contrast(107%)}.main_sidebar--footer--toggle img{position:absolute;margin:0 auto;top:50%;left:50%;transform:translate(-50%,-50%)}.main_sidebar--footer--profile{width:100%;padding:16px 23px 16px 16px;border-top:1px solid #D7D9DE}.divider{border-bottom:1px solid #CAC4D0;margin:8px 0;width:100%}::ng-deep .sidebar_bottom_menu{width:252px}::ng-deep .sidebar_bottom_menu .mt-4{margin-top:4px}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-content{padding:8px 0!important}::ng-deep .sidebar_bottom_menu .switch .switch_title{padding:12px;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px;color:#424954}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-item.standard_menu_item{padding:10px 12px!important}::ng-deep .sidebar_bottom_menu .mat-mdc-menu-item{color:#424954;font-size:13px;font-weight:500;line-height:20px;letter-spacing:.2px}::ng-deep .sidebar_bottom_menu .top_bar{display:flex;padding:8px 12px 0}::ng-deep .sidebar_bottom_menu .top_bar .information{width:170px}::ng-deep .sidebar_bottom_menu .top_bar .information .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;font-size:13px;line-height:20px;letter-spacing:.2px;color:#424954}::ng-deep .sidebar_bottom_menu .top_bar .information .email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:11px;line-height:16px;letter-spacing:.2px;color:#424954}::ng-deep .sidebar_bottom_menu .top_bar .image{min-width:40px;width:40px;height:40px;border-radius:50%;margin-right:8px}::ng-deep .sidebar_bottom_menu .top_bar .no_image{background-color:#008b33;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;line-height:24px}::ng-deep .sidebar_bottom_menu .mat_menu_organization{padding:8px 12px!important}::ng-deep .sidebar_bottom_menu .mat_menu_organization .mat-mdc-menu-item-text{display:flex;justify-content:space-between;align-items:center}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu{display:flex;align-items:center}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu .image{width:24px;height:24px;border-radius:50%;margin-right:12px}::ng-deep .sidebar_bottom_menu .mat_menu_organization .organization_item_in_menu .no_image{color:#006b1e;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;line-height:16px;background-color:#c0e5c7}::ng-deep .sidebar_platforms_menu{width:280px}::ng-deep .sidebar_platforms_menu .mat-mdc-menu-content{padding:8px 0!important}::ng-deep .sidebar_platforms_menu .menu_title{color:#424954;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.1px;padding:12px}::ng-deep .sidebar_platforms_menu .standard_menu_item{padding:8px 12px!important;display:flex;align-items:center}::ng-deep .sidebar_platforms_menu .standard_menu_item .logo{width:24px;height:24px;margin-right:12px}::ng-deep .sidebar_platforms_menu .standard_menu_item .mat-mdc-menu-item-text{display:flex;align-items:center}::ng-deep .sidebar_platforms_menu .standard_menu_item .mat-mdc-menu-item-text .logo{width:24px;height:24px;margin-right:12px}::ng-deep .main_sidebar .mat-ripple:not(:empty){transform:unset!important}\n"] }]
191
198
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.HttpClient }], propDecorators: { canDeactivate: [{
192
199
  type: HostListener,
193
200
  args: ['window:beforeunload']
@@ -206,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
206
213
  }], userData: [{
207
214
  type: Input
208
215
  }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL25ldy1zaWRlYmFyL25ldy1zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9uZXctc2lkZWJhci9uZXctc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUVMLGFBQWEsRUFHZCxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUl6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFZN0QsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixhQUFhO1FBQ1gsWUFBWSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxHQUFH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aXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiwgU2xpY2VQaXBlLCBVcHBlckNhc2VQaXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7XG4gIEF1dGhJbnRlcmZhY2UsXG4gIENvbXBhbmllc0VudW0sXG4gIE9yZ2FuaXphdGlvbkludGVyZmFjZSxcbiAgU3lzdGVtUm9sZUludGVyZmFjZVxufSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9hdXRoLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgTWF0TWVudSwgTWF0TWVudU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7IENvbXBhbnlJbWFnZUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBhbnktaW1hZ2UvY29tcGFueS1pbWFnZS5jb21wb25lbnRcIjtcblxuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcbmltcG9ydCB7IE5hdmlnYXRpb25MaW5rcyB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL25hdmlnYXRpb24tbGluay5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcblxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ktdGVjaC1zaWRlYmFyJyxcbiAgaW1wb3J0czogW05nSWYsIE5nRm9yLCBUcmFuc2xhdGVNb2R1bGUsIE1hdE1lbnUsIE1hdEljb24sXG4gICAgTWF0TWVudU1vZHVsZSwgQ29tcGFueUltYWdlQ29tcG9uZW50LCBVcHBlckNhc2VQaXBlLCBTbGljZVBpcGUsXG4gICAgTWF0UmlwcGxlTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9uZXctc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9uZXctc2lkZWJhci5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgTmV3U2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpiZWZvcmV1bmxvYWQnKVxuICBjYW5EZWFjdGl2YXRlKCk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdTaWRlYmFyQ29sbGFwc2VkJywgYCR7dGhpcy5pc0NvbGxhcHNlZH1gKVxuICB9XG4gIEBPdXRwdXQoKSBjb2xsYXBzZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgc2lnbk91dEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgbmV3QXV0aGVudGljYXRlZFJlc3BvbnNlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEF1dGhJbnRlcmZhY2U+KCk7XG4gIEBJbnB1dCgpIHBsYXRmb3JtITogQ29tcGFuaWVzRW51bTtcbiAgQElucHV0KCkgbmF2aWdhdGlvbkxpbmtzITogQXJyYXk8TmF2aWdhdGlvbkxpbmtzPjtcbiAgQElucHV0KCkgZW52ITogYW55O1xuICBASW5wdXQoKSB1c2VyRGF0YSE6IEF1dGhJbnRlcmZhY2U7XG4gIGlzQ29sbGFwc2VkID0gZmFsc2U7XG4gIGFjdGl2ZVBhZ2UhOiBzdHJpbmc7XG4gIHNlY29uZExheWVyQWN0aXZlUGFnZSE6IHN0cmluZztcbiAgc2Vjb25kTGF5ZXJPcGVuZWQgPSBmYWxzZTtcbiAgc2Vjb25kTGF5ZXJMaW5rczogQXJyYXk8TmF2aWdhdGlvbkxpbmtzPiA9IFtdO1xuICBjdXJyZW50Q29tcGFueSE6T3JnYW5pemF0aW9uSW50ZXJmYWNlO1xuICBhbGxPcmdhbml6YXRpb25zOiBBcnJheTxPcmdhbml6YXRpb25JbnRlcmZhY2U+ID0gW107XG4gIGFjdGl2ZUFuZEluYWN0aXZlUGxhdGZvcm1zOiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7aWQ6IENvbXBhbmllc0VudW0sIG5hbWU6IHN0cmluZywgY2hlY2tlZD86IGJvb2xlYW59Pj4gPSB7XG4gICAgYWN0aXZlOiBbXSxcbiAgICBpbmFjdGl2ZTogW11cbiAgfVxuICBDb21wYW5pZXNFbnVtID0gQ29tcGFuaWVzRW51bVxuICBhY2Nlc3NUb05ld09yZ2FuaXphdGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGV0ZWN0QWN0aXZlUGFnZSgpO1xuICAgIHRoaXMuZGV0ZWN0QWN0aXZlQW5kSW5hY3RpdmVBcHBzKCk7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdTaWRlYmFyQ29sbGFwc2VkJykgPT09ICd0cnVlJyB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbGxhcHNlRXZlbnQuZW1pdCh0aGlzLmlzQ29sbGFwc2VkKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0QWxsQ29tcGFuaWVzKCk7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIHRoaXMuZGV0ZWN0QWN0aXZlUGFnZSgpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTGFuZGluZygpOiB2b2lkIHtcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdodHRwczovL3Qzc2xwLmNvbSdcbiAgfVxuXG4gIG9wZW5QbGF0Zm9ybShzeXN0ZW06IENvbXBhbmllc0VudW0pOiB2b2lkIHtcbiAgICBpZiAoc3lzdGVtID09PSB0aGlzLnBsYXRmb3JtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHVybDtcbiAgICBpZiAoc3lzdGVtID09PSBDb21wYW5pZXNFbnVtLlQzKSB7XG4gICAgICB1cmwgPSB0aGlzLmVudi50M1xuICAgIH0gZWxzZSBpZiAoc3lzdGVtID09PSBDb21wYW5pZXNFbnVtLkJST0tFUkFHRSkge1xuICAgICAgdXJsID0gdGhpcy5lbnYuYnJva2VyYWdlXG4gICAgfVxuXG4gICAgaWYgKHVybCkge1xuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XG4gICAgfVxuICB9XG5cbiAgYWNjb3VudEluZm9ybWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2F1dGgvYWNjb3VudC1pbmZvcm1hdGlvbiddKVxuICB9XG5cbiAgZGV0ZWN0QWN0aXZlQW5kSW5hY3RpdmVBcHBzKCk6IHZvaWQge1xuICAgIGNvbnN0IGFsbFN5c3RlbXMgPSBbe1xuICAgICAgaWQ6IENvbXBhbmllc0VudW0uVDMsXG4gICAgICBuYW1lOiAnVE1TJ1xuICAgIH0sIHtcbiAgICAgIGlkOiBDb21wYW5pZXNFbnVtLkJST0tFUkFHRSxcbiAgICAgIG5hbWU6ICdMb2FkYm9hcmQnXG4gICAgfVxuICAgIF07XG5cbiAgICBhbGxTeXN0ZW1zLmZvckVhY2goKHN5c3RlbToge2lkOiBDb21wYW5pZXNFbnVtLCBuYW1lOiBzdHJpbmcsIGNoZWNrZWQ/OiBib29sZWFufSkgPT4ge1xuICAgICAgaWYgKHRoaXMucGxhdGZvcm0gPT09IHN5c3RlbS5pZCkge1xuICAgICAgICBzeXN0ZW0uY2hlY2tlZCA9IHRydWVcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnVzZXJEYXRhLnN5c3RlbVJvbGVzPy5maW5kKChyb2xlOiBTeXN0ZW1Sb2xlSW50ZXJmYWNlKSA9PiByb2xlLnN5c3RlbSA9PT0gc3lzdGVtLmlkKSkge1xuICAgICAgICB0aGlzLmFjdGl2ZUFuZEluYWN0aXZlUGxhdGZvcm1zWydhY3RpdmUnXS5wdXNoKHN5c3RlbSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWN0aXZlQW5kSW5hY3RpdmVQbGF0Zm9ybXNbJ2luYWN0aXZlJ10ucHVzaChzeXN0ZW0pXG4gICAgICB9XG4gICAgfSlcblxuICB9XG5cbiAgc3dpdGNoT3JnYW5pemF0aW9uKGNvbXBhbnk6IE9yZ2FuaXphdGlvbkludGVyZmFjZSk6IHZvaWQge1xuICAgIGlmIChjb21wYW55LmlkID09PSB0aGlzLmN1cnJlbnRDb21wYW55LmlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaHR0cC5wb3N0PEF1dGhJbnRlcmZhY2U+KFxuICAgICAgdGhpcy5lbnYuZGF0YUVuZHBvaW50ICsgKHRoaXMucGxhdGZvcm0gIT09IENvbXBhbmllc0VudW0uT1JHQU5JWkFUSU9OID8gJy9pZCcgOiAnJykgKyBgL2F1dGgvY29tcGFuaWVzLyR7Y29tcGFueS5pZH0vbG9naW5gLCB7fVxuICAgICkuc3Vic2NyaWJlKChyZXNwb25zZTogQXV0aEludGVyZmFjZSkgPT4ge1xuICAgICAgdGhpcy5uZXdBdXRoZW50aWNhdGVkUmVzcG9uc2VFdmVudC5lbWl0KHJlc3BvbnNlKVxuICAgIH0pXG4gIH1cblxuICBnZXRBbGxDb21wYW5pZXMoKTogdm9pZCB7XG4gICAgdGhpcy5odHRwLmdldDxBcnJheTxPcmdhbml6YXRpb25JbnRlcmZhY2U+PihcbiAgICAgIHRoaXMuZW52LmRhdGFFbmRwb2ludCArICh0aGlzLnBsYXRmb3JtICE9PSBDb21wYW5pZXNFbnVtLk9SR0FOSVpBVElPTiA/ICcvaWQnIDogJycpICsgJy9jb21wYW5pZXMvYWxsJ1xuICAgICkuc3Vic2NyaWJlKChjb21wYW5pZXM6IEFycmF5PE9yZ2FuaXphdGlvbkludGVyZmFjZT4pID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRDb21wYW55ID0gY29tcGFuaWVzLmZpbmQoKGNvbXBhbnk6IE9yZ2FuaXphdGlvbkludGVyZmFjZSkgPT4gY29tcGFueS5pZCA9PT0gdGhpcy51c2VyRGF0YS5jb21wYW55SWQpXG4gICAgICBpZiAoY3VycmVudENvbXBhbnkpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50Q29tcGFueSA9IGN1cnJlbnRDb21wYW55O1xuICAgICAgfVxuICAgICAgdGhpcy5hbGxPcmdhbml6YXRpb25zID0gY29tcGFuaWVzO1xuICAgICAgaWYgKHRoaXMucGxhdGZvcm0gPT09IENvbXBhbmllc0VudW0uT1JHQU5JWkFUSU9OKSB7XG4gICAgICAgIHRoaXMuYWNjZXNzVG9OZXdPcmdhbml6YXRpb24gPSB0aGlzLmFjY2Vzc1RvQWRkTmV3KCk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8vIE9ubHkgZm9yIG9yZ2FuaXphdGlvblxuICBhY2Nlc3NUb0FkZE5ldygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISh0aGlzLmFsbE9yZ2FuaXphdGlvbnMuZmluZCgoY29tcGFueTogT3JnYW5pemF0aW9uSW50ZXJmYWNlKSA9PiBjb21wYW55LmlzTXlDb21wYW55KSlcbiAgfVxuXG4gIGFkZE5ld09yZ2FuaXphdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2F1dGgvb3JnYW5pemF0aW9uL2FkZCddKVxuICB9XG4gIC8vIEVuZCBPZiBPbmx5IGZvciBvcmdhbml6YXRpb25cblxuICBuYXZpZ2F0ZUJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJ10pO1xuICB9XG5cbiAgZGV0ZWN0QWN0aXZlUGFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBwYWdlID0gdGhpcy5yb3V0ZXIudXJsLnJlcGxhY2UoJy8nLCAnJyk7XG4gICAgbGV0IGxpbmsgPSB0aGlzLm5hdmlnYXRpb25MaW5rcy5maW5kKChsaW5rOiBOYXZpZ2F0aW9uTGlua3MpID0+IHBhZ2UgPT09IGxpbmsubGlua1RvKTtcblxuICAgIGlmICghbGluaykge1xuICAgICAgY29uc3QgcGFnZSA9IHRoaXMucm91dGVyLnVybDtcbiAgICAgIGxpbmsgPSB0aGlzLm5hdmlnYXRpb25MaW5rcy5maW5kKChsaW5rOiBOYXZpZ2F0aW9uTGlua3MpID0+IHBhZ2UuaW5jbHVkZXMobGluay5saW5rVG8pKTtcbiAgICB9XG5cbiAgICBpZiAobGluaykge1xuICAgICAgaWYgKGxpbmsuc3ViUGFnZXMpIHtcbiAgICAgICAgdGhpcy5zZWNvbmRMYXllck9wZW5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2Vjb25kTGF5ZXJMaW5rcyA9IGxpbmsuc3ViUGFnZXM7XG5cbiAgICAgICAgY29uc3Qgc3ViTGluayA9IGxpbmsuc3ViUGFnZXMuZmluZCgobGluazogTmF2aWdhdGlvbkxpbmtzKSA9PiBwYWdlID09PSBsaW5rLmxpbmtUbyk7XG4gICAgICAgIGlmIChzdWJMaW5rKSB7XG4gICAgICAgICAgdGhpcy5zZWNvbmRMYXllckFjdGl2ZVBhZ2UgPSBzdWJMaW5rLnBhZ2VFbnVtO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlY29uZExheWVyT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2Vjb25kTGF5ZXJMaW5rcyA9IFtdO1xuICAgICAgICB0aGlzLnNlY29uZExheWVyQWN0aXZlUGFnZSA9ICcnO1xuICAgICAgfVxuICAgICAgdGhpcy5hY3RpdmVQYWdlID0gbGluay5wYWdlRW51bTtcbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0ZShsaW5rOiBOYXZpZ2F0aW9uTGlua3MpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY3RpdmVQYWdlID09PSBsaW5rLmxpbmtUbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtsaW5rLmxpbmtUb10pXG4gIH1cblxuICBjaGFuZ2VDb2xsYXBzZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB2YWx1ZTtcbiAgICB0aGlzLmNvbGxhcHNlRXZlbnQuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YWN5UG9saWN5T3JUZXJtc0NvbmRpdGlvbihwcml2YWN5ID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAocHJpdmFjeSkge1xuICAgICAgd2luZG93Lm9wZW4odGhpcy5lbnYubWFpbkRvbWFpbiArICcvcHJpdmFjeS1wb2xpY3knLCAnX2JsYW5rJylcbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93Lm9wZW4odGhpcy5lbnYubWFpbkRvbWFpbiArICcvdGVybXMtYW5kLWNvbmRpdGlvbnMnLCAnX2JsYW5rJylcbiAgICB9XG4gIH1cblxuICBzaWduT3V0KCk6IHZvaWQge1xuICAgIHRoaXMuc2lnbk91dEV2ZW50LmVtaXQoKVxuICB9XG5cbiAgb3BlblplbmRlc2tQYWdlKHN1cHBvcnQgPSBmYWxzZSk6IHZvaWQge1xuICAgIHRoaXMuaHR0cC5nZXQ8e2FjY2Vzc1Rva2VuOiBzdHJpbmd9Pih0aGlzLmVudi5kYXRhRW5kcG9pbnQgKyAodGhpcy5wbGF0Zm9ybSAhPT0gQ29tcGFuaWVzRW51bS5PUkdBTklaQVRJT04gPyAnL2lkJyA6ICcnKSArIGAva25vd2xlZGdlLWJhc2Uvand0LXRva2VuYClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczoge2FjY2Vzc1Rva2VuOiBzdHJpbmd9KSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldFVybCA9IGAke3RoaXMuZW52LnplbmRlc2tVcmx9L2hjL2VuLXVzYCArIChzdXBwb3J0ID8gJy9yZXF1ZXN0cy9uZXcnIDogJycpO1xuICAgICAgICBjb25zdCB6ZW5kZXNrVXJsID0gYCR7dGhpcy5lbnYuemVuZGVza1VybH0vYWNjZXNzL2p3dD9qd3Q9JHtyZXMuYWNjZXNzVG9rZW59JnJldHVybl90bz0ke3RhcmdldFVybH1gO1xuICAgICAgICB3aW5kb3cub3Blbih6ZW5kZXNrVXJsKTtcbiAgICAgIH0pXG4gIH1cblxuICBtYW5hZ2VBY2NvdW50KCk6IHZvaWQge1xuICAgIHdpbmRvdy5vcGVuKHRoaXMuZW52Lm9yZ2FuaXphdGlvblVybCwgJ19ibGFuaycpXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm1haW5fc2lkZWJhclwiXG4gICAgICpuZ0lmPVwibmF2aWdhdGlvbkxpbmtzICYmIHVzZXJEYXRhXCJcbiAgICAgW2NsYXNzLmNvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4+XG4gICAgPGRpdiBjbGFzcz1cIm1haW5fc2lkZWJhci0taGVhZGVyXCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJsb2dvIHBvaW50ZXJcIiBhbHQ9XCJcIlxuICAgICAgICAgICAgIFtzcmNdPVwiJy9hc3NldHMvbG9nb3MvJyArIHBsYXRmb3JtICsgJy5zdmcnXCJcbiAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkxhbmRpbmcoKVwiXG4gICAgICAgID5cbiAgICAgICAgPGltZyBzcmM9XCIvYXNzZXRzL2FwcHMucG5nXCIgYWx0PVwiXCIgY2xhc3M9XCJwb2ludGVyXCIgKm5nSWY9XCIhaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtYXRNZW51XCJcbiAgICAgICAgPlxuXG4gICAgICAgIDxtYXQtbWVudSAjbWF0TWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cInNpZGViYXJfcGxhdGZvcm1zX21lbnVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhY3RpdmVBbmRJbmFjdGl2ZVBsYXRmb3Jtc1snYWN0aXZlJ10ubGVuZ3RoXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51X3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgQWN0aXZlIEFwcHNcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSBjbGFzcz1cInN0YW5kYXJkX21lbnVfaXRlbVwiICpuZ0Zvcj1cImxldCBhcHAgb2YgYWN0aXZlQW5kSW5hY3RpdmVQbGF0Zm9ybXNbJ2FjdGl2ZSddXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblBsYXRmb3JtKGFwcC5pZClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBjbGFzcz1cImxvZ29cIiBbc3JjXT1cIicvYXNzZXRzL2xvZ29zLycgKyBhcHAuaWQgKyAnLnN2ZydcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57e2FwcC5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBjbGFzcz1cIm1sLWF1dG9cIiBzcmM9XCIvYXNzZXRzL3NlbGVjdGVkX29yZ2FuaXphdGlvbi5zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhcHAuY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlclwiXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aXZlQW5kSW5hY3RpdmVQbGF0Zm9ybXNbJ2FjdGl2ZSddLmxlbmd0aCAmJiBhY3RpdmVBbmRJbmFjdGl2ZVBsYXRmb3Jtc1snaW5hY3RpdmUnXS5sZW5ndGhcIlxuICAgICAgICAgICAgPjwvZGl2PlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlQW5kSW5hY3RpdmVQbGF0Zm9ybXNbJ2luYWN0aXZlJ10ubGVuZ3RoXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51X3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgSW5hY3RpdmUgQXBwc1xuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YW5kYXJkX21lbnVfaXRlbVwiICpuZ0Zvcj1cImxldCBhcHAgb2YgYWN0aXZlQW5kSW5hY3RpdmVQbGF0Zm9ybXNbJ2luYWN0aXZlJ11cIj5cbiAgICAgICAgICAgICAgICA8aW1nIGFsdD1cIlwiIGNsYXNzPVwibG9nb1wiIFtzcmNdPVwiJy9hc3NldHMvbG9nb3MvJyArIGFwcC5pZCArICcuc3ZnJ1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7YXBwLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8L21hdC1tZW51PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1haW5fc2lkZWJhci0tY29udGVudFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2Vjb25kTGF5ZXJMaW5rcy5sZW5ndGhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluX3NpZGViYXItLWNvbnRlbnQtLXRvb2xiYXJcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVCYWNrKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpbWcgYWx0PVwiXCIgc3JjPVwiL2Fzc2V0cy9iYWNrLnN2Z1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuPkJhY2s8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluX3NpZGViYXItLWNvbnRlbnQtLXN1Yl90aXRsZVwiPlxuICAgICAgICAgICAgICAgIEFkbWluXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiAoc2Vjb25kTGF5ZXJMaW5rcy5sZW5ndGggPyBzZWNvbmRMYXllckxpbmtzIDogbmF2aWdhdGlvbkxpbmtzKVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIiAqbmdJZj1cImxpbmsuaGFzRGl2aWRlclwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW5fc2lkZWJhci0tY29udGVudC0tbGluayBwb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICBtYXRSaXBwbGVcbiAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImxpbmsucGFnZUVudW0gPT09IGFjdGl2ZVBhZ2UgfHwgbGluay5wYWdlRW51bSA9PT0gc2Vjb25kTGF5ZXJBY3RpdmVQYWdlXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2aWdhdGUobGluaylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXJlbnRfaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaWNvblwiIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCInL2Fzc2V0cy9saW5rcy8nICsgcGxhdGZvcm0gKyAnLycgKyBsaW5rLmltYWdlICsgJy5zdmcnXCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj57e2xpbmsudGl0bGUgfCB0cmFuc2xhdGV9fTwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5ld1wiICpuZ0lmPVwibGluay5pc05ld1wiPk5ldzwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYWluX3NpZGViYXItLWZvb3RlclwiICpuZ0lmPVwidXNlckRhdGFcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1haW5fc2lkZWJhci0tZm9vdGVyLS10b2dnbGVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwicG9pbnRlclwiIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwiIWlzQ29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkNvbGxhcHNlIFNpZGViYXJcIlxuICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidhYm92ZSdcIlxuICAgICAgICAgICAgICAgICBzcmM9XCIvYXNzZXRzL3RvZ2dsZS1zdGF0ZS1sZWZ0LnN2Z1wiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VDb2xsYXBzZSh0cnVlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwicG9pbnRlclwiIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRXhwYW5kIFNpZGViYXJcIlxuICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT1cIidhYm92ZSdcIlxuICAgICAgICAgICAgICAgICBzcmM9XCIvYXNzZXRzL3RvZ2dsZS1zdGF0ZS1yaWdodC5zdmdcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlQ29sbGFwc2UoZmFsc2UpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluX3NpZGViYXItLWZvb3Rlci0tcHJvZmlsZVwiPlxuICAgICAgICAgICAgPGktdGVjaC1jb21wYW55LWltYWdlXG4gICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtYXRNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgICAgIFt1c2VyRGF0YV09XCJ1c2VyRGF0YVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGF0Zm9ybV09XCJwbGF0Zm9ybVwiXG4gICAgICAgICAgICAgICAgICAgIFtjdXJyZW50Q29tcGFueV09XCJjdXJyZW50Q29tcGFueVwiXG4gICAgICAgICAgICA+PC9pLXRlY2gtY29tcGFueS1pbWFnZT5cbiAgICAgICAgICAgIDxtYXQtbWVudSAjbWF0TWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cInNpZGViYXJfYm90dG9tX21lbnVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wX2JhclwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1hZ2VcIiBhbHQ9XCJcIiBbc3JjXT1cInVzZXJEYXRhLmltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVzZXJEYXRhLmltYWdlOyBlbHNlIE5vSW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjTm9JbWFnZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZSBub19pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dXNlckRhdGEuZmlyc3ROYW1lIHwgc2xpY2U6IDAgOiAxIHwgdXBwZXJjYXNlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mb3JtYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3t1c2VyRGF0YS5maXJzdE5hbWV9fSB7e3VzZXJEYXRhLmxhc3ROYW1lfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbFwiPnt7dXNlckRhdGEuZW1haWx9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJwbGF0Zm9ybSAhPT0gQ29tcGFuaWVzRW51bS5PUkdBTklaQVRJT05cIiBjbGFzcz1cIm10LTQgc3RhbmRhcmRfbWVudV9pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJtYW5hZ2VBY2NvdW50KClcIj5cbiAgICAgICAgICAgICAgICAgICAgTWFuYWdlIEFjY291bnRcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBtYXQtbWVudS1pdGVtICpuZ0lmPVwicGxhdGZvcm0gPT09IENvbXBhbmllc0VudW0uT1JHQU5JWkFUSU9OXCIgY2xhc3M9XCJtdC00IHN0YW5kYXJkX21lbnVfaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjY291bnRJbmZvcm1hdGlvbigpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEFjY291bnQgSW5mb3JtYXRpb25cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSAqbmdJZj1cInBsYXRmb3JtID09PSBDb21wYW5pZXNFbnVtLk9SR0FOSVpBVElPTiAmJiBhY2Nlc3NUb05ld09yZ2FuaXphdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN0YW5kYXJkX21lbnVfaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkTmV3T3JnYW5pemF0aW9uKClcIj5cbiAgICAgICAgICAgICAgICAgIEFkZCBuZXcgb3JnYW5pemF0aW9uXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWxsT3JnYW5pemF0aW9ucy5sZW5ndGggPiAxXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCIgPjwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2l0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2l0Y2hfdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTd2l0Y2ggT3JnYW5pemF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSBjbGFzcz1cIm1hdF9tZW51X29yZ2FuaXphdGlvblwiIChjbGljayk9XCJzd2l0Y2hPcmdhbml6YXRpb24ob3JnYW5pemF0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcmdhbml6YXRpb24gb2YgYWxsT3JnYW5pemF0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9yZ2FuaXphdGlvbl9pdGVtX2luX21lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBjbGFzcz1cImltYWdlXCIgW3NyY109XCJvcmdhbml6YXRpb24uaW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwib3JnYW5pemF0aW9uLmltYWdlOyBlbHNlIE5vSW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjTm9JbWFnZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZSBub19pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7b3JnYW5pemF0aW9uLm5hbWUgfCBzbGljZTogMCA6IDEgfCB1cHBlcmNhc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7b3JnYW5pemF0aW9uLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGFsdD1cIlwiICpuZ0lmPVwib3JnYW5pemF0aW9uLmlkID09PSBjdXJyZW50Q29tcGFueS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlzU2VsZWN0ZWRcIiBzcmM9XCIvYXNzZXRzL3NlbGVjdGVkX29yZ2FuaXphdGlvbi5zdmdcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSBjbGFzcz1cInN0YW5kYXJkX21lbnVfaXRlbVwiIChjbGljayk9XCJvcGVuWmVuZGVza1BhZ2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICBTdXBwb3J0IENlbnRlclxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSBjbGFzcz1cInN0YW5kYXJkX21lbnVfaXRlbVwiIChjbGljayk9XCJwcml2YWN5UG9saWN5T3JUZXJtc0NvbmRpdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgICAgIFRlcm1zIEFuZCBDb25kaXRpb25zXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBtYXQtbWVudS1pdGVtIGNsYXNzPVwic3RhbmRhcmRfbWVudV9pdGVtXCIgKGNsaWNrKT1cInByaXZhY3lQb2xpY3lPclRlcm1zQ29uZGl0aW9uKHRydWUpXCI+XG4gICAgICAgICAgICAgICAgICAgIFByaXZhY3kgUG9saWN5XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlclwiPjwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBtYXQtbWVudS1pdGVtIGNsYXNzPVwic3RhbmRhcmRfbWVudV9pdGVtXCIgKGNsaWNrKT1cInNpZ25PdXQoKVwiPlxuICAgICAgICAgICAgICAgICAgICBTaWduIG91dFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL25ldy1zaWRlYmFyL25ldy1zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9uZXctc2lkZWJhci9uZXctc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUVMLGFBQWEsRUFHZCxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQVc3RCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLGFBQWE7UUFDWCxZQUFZLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDakUsQ0FBQztJ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QixhQUFhO3NCQURaLFlBQVk7dUJBQUMscUJBQXFCO2dCQUl6QixhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csNkJBQTZCO3NCQUF0QyxNQUFNO2dCQUNFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdGb3IsIE5nSWYsIFNsaWNlUGlwZSwgVXBwZXJDYXNlUGlwZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge1xuICBBdXRoSW50ZXJmYWNlLFxuICBDb21wYW5pZXNFbnVtLFxuICBPcmdhbml6YXRpb25JbnRlcmZhY2UsXG4gIFN5c3RlbVJvbGVJbnRlcmZhY2Vcbn0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvYXV0aC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE1hdE1lbnUsIE1hdE1lbnVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xuaW1wb3J0IHsgQ29tcGFueUltYWdlQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcGFueS1pbWFnZS9jb21wYW55LWltYWdlLmNvbXBvbmVudFwiO1xuXG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkxpbmtzIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvbmF2aWdhdGlvbi1saW5rLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXBcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaS10ZWNoLXNpZGViYXInLFxuICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIFRyYW5zbGF0ZU1vZHVsZSwgTWF0TWVudSwgTWF0TWVudU1vZHVsZSwgQ29tcGFueUltYWdlQ29tcG9uZW50LCBVcHBlckNhc2VQaXBlLCBTbGljZVBpcGUsXG4gICAgTWF0UmlwcGxlTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9uZXctc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9uZXctc2lkZWJhci5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgTmV3U2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpiZWZvcmV1bmxvYWQnKVxuICBjYW5EZWFjdGl2YXRlKCk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdTaWRlYmFyQ29sbGFwc2VkJywgYCR7dGhpcy5pc0NvbGxhcHNlZH1gKVxuICB9XG4gIEBPdXRwdXQoKSBjb2xsYXBzZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgc2lnbk91dEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgbmV3QXV0aGVudGljYXRlZFJlc3BvbnNlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEF1dGhJbnRlcmZhY2U+KCk7XG4gIEBJbnB1dCgpIHBsYXRmb3JtITogQ29tcGFuaWVzRW51bTtcbiAgQElucHV0KCkgbmF2aWdhdGlvbkxpbmtzITogQXJyYXk8TmF2aWdhdGlvbkxpbmtzPjtcbiAgQElucHV0KCkgZW52ITogYW55O1xuICBASW5wdXQoKSB1c2VyRGF0YSE6IEF1dGhJbnRlcmZhY2U7XG4gIGlzQ29sbGFwc2VkID0gZmFsc2U7XG4gIGFjdGl2ZVBhZ2UhOiBzdHJpbmc7XG4gIHNlY29uZExheWVyQWN0aXZlUGFnZSE6IHN0cmluZztcbiAgc2Vjb25kTGF5ZXJPcGVuZWQgPSBmYWxzZTtcbiAgc2Vjb25kTGF5ZXJMaW5rczogQXJyYXk8TmF2aWdhdGlvbkxpbmtzPiA9IFtdO1xuICBjdXJyZW50Q29tcGFueSE6T3JnYW5pemF0aW9uSW50ZXJmYWNlO1xuICBhbGxPcmdhbml6YXRpb25zOiBBcnJheTxPcmdhbml6YXRpb25JbnRlcmZhY2U+ID0gW107XG4gIGFjdGl2ZUFuZEluYWN0aXZlUGxhdGZvcm1zOiBSZWNvcmQ8c3RyaW5nLCBBcnJheTx7aWQ6IENvbXBhbmllc0VudW0sIG5hbWU6IHN0cmluZywgY2hlY2tlZD86IGJvb2xlYW59Pj4gPSB7XG4gICAgYWN0aXZlOiBbXSxcbiAgICBpbmFjdGl2ZTogW11cbiAgfVxuICBDb21wYW5pZXNFbnVtID0gQ29tcGFuaWVzRW51bVxuICBhY2Nlc3NUb05ld09yZ2FuaXphdGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGV0ZWN0QWN0aXZlUGFnZSgpO1xuICAgIHRoaXMuZGV0ZWN0QWN0aXZlQW5kSW5hY3RpdmVBcHBzKCk7XG4gICAgdGhpcy5pc0NvbGxhcHNlZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdTaWRlYmFyQ29sbGFwc2VkJykgPT09ICd0cnVlJyB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbGxhcHNlRXZlbnQuZW1pdCh0aGlzLmlzQ29sbGFwc2VkKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0QWxsQ29tcGFuaWVzKCk7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIHRoaXMuZGV0ZWN0QWN0aXZlUGFnZSgpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTGFuZGluZygpOiB2b2lkIHtcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICdodHRwczovL3Qzc2xwLmNvbSdcbiAgfVxuXG4gIG9wZW5QbGF0Zm9ybShzeXN0ZW06IENvbXBhbmllc0VudW0pOiB2b2lkIHtcbiAgICBpZiAoc3lzdGVtID09PSB0aGlzLnBsYXRmb3JtKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHVybDtcbiAgICBpZiAoc3lzdGVtID09PSBDb21wYW5pZXNFbnVtLlQzKSB7XG4gICAgICB1cmwgPSB0aGlzLmVudi50M1xuICAgIH0gZWxzZSBpZiAoc3lzdGVtID09PSBDb21wYW5pZXNFbnVtLkJST0tFUkFHRSkge1xuICAgICAgdXJsID0gdGhpcy5lbnYuYnJva2VyYWdlXG4gICAgfSBlbHNlIGlmIChzeXN0ZW0gPT09IENvbXBhbmllc0VudW0uT1JHQU5JWkFUSU9OKSB7XG4gICAgICB1cmwgPSB0aGlzLmVudi5vcmdhbml6YXRpb25VcmwgKyAnL2F1dGgvb3JnYW5pemF0aW9uJ1xuICAgIH1cblxuICAgIGlmICh1cmwpIHtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xuICAgIH1cbiAgfVxuXG4gIGFjY291bnRJbmZvcm1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hdXRoL2FjY291bnQtaW5mb3JtYXRpb24nXSlcbiAgfVxuXG4gIGRldGVjdEFjdGl2ZUFuZEluYWN0aXZlQXBwcygpOiB2b2lkIHtcbiAgICBjb25zdCBhbGxTeXN0ZW1zID0gW3tcbiAgICAgIGlkOiBDb21wYW5pZXNFbnVtLlQzLFxuICAgICAgbmFtZTogJ1RNUydcbiAgICB9LCB7XG4gICAgICBpZDogQ29tcGFuaWVzRW51bS5CUk9LRVJBR0UsXG4gICAgICBuYW1lOiAnTG9hZGJvYXJkJ1xuICAgIH1cbiAgICBdO1xuXG4gICAgYWxsU3lzdGVtcy5mb3JFYWNoKChzeXN0ZW06IHtpZDogQ29tcGFuaWVzRW51bSwgbmFtZTogc3RyaW5nLCBjaGVja2VkPzogYm9vbGVhbn0pID0+IHtcbiAgICAgIGlmICh0aGlzLnBsYXRmb3JtID09PSBzeXN0ZW0uaWQpIHtcbiAgICAgICAgc3lzdGVtLmNoZWNrZWQgPSB0cnVlXG4gICAgICB9XG4gICAgICBpZiAodGhpcy51c2VyRGF0YS5zeXN0ZW1Sb2xlcz8uZmluZCgocm9sZTogU3lzdGVtUm9sZUludGVyZmFjZSkgPT4gcm9sZS5zeXN0ZW0gPT09IHN5c3RlbS5pZCkpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVBbmRJbmFjdGl2ZVBsYXRmb3Jtc1snYWN0aXZlJ10ucHVzaChzeXN0ZW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFjdGl2ZUFuZEluYWN0aXZlUGxhdGZvcm1zWydpbmFjdGl2ZSddLnB1c2goc3lzdGVtKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBpZiAodGhpcy5wbGF0Zm9ybSAhPT0gQ29tcGFuaWVzRW51bS5PUkdBTklaQVRJT04pIHtcbiAgICAgIHRoaXMuYWN0aXZlQW5kSW5hY3RpdmVQbGF0Zm9ybXNbJ2FjdGl2ZSddLnB1c2goe1xuICAgICAgICBuYW1lOiAnVDMgLSBBZG1pbicsXG4gICAgICAgIGlkOiBDb21wYW5pZXNFbnVtLk9SR0FOSVpBVElPTlxuICAgICAgfSlcblxuICAgIH1cblxuXG5cbiAgfVxuXG4gIHN3aXRjaE9yZ2FuaXphdGlvbihjb21wYW55OiBPcmdhbml6YXRpb25JbnRlcmZhY2UpOiB2b2lkIHtcbiAgICBpZiAoY29tcGFueS5pZCA9PT0gdGhpcy5jdXJyZW50Q29tcGFueS5pZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmh0dHAucG9zdDxBdXRoSW50ZXJmYWNlPihcbiAgICAgIHRoaXMuZW52LmRhdGFFbmRwb2ludCArICh0aGlzLnBsYXRmb3JtICE9PSBDb21wYW5pZXNFbnVtLk9SR0FOSVpBVElPTiA/ICcvaWQnIDogJycpICsgYC9hdXRoL2NvbXBhbmllcy8ke2NvbXBhbnkuaWR9L2xvZ2luYCwge31cbiAgICApLnN1YnNjcmliZSgocmVzcG9uc2U6IEF1dGhJbnRlcmZhY2UpID0+IHtcbiAgICAgIHRoaXMubmV3QXV0aGVudGljYXRlZFJlc3BvbnNlRXZlbnQuZW1pdChyZXNwb25zZSlcbiAgICB9KVxuICB9XG5cbiAgZ2V0QWxsQ29tcGFuaWVzKCk6IHZvaWQge1xuICAgIHRoaXMuaHR0cC5nZXQ8QXJyYXk8T3JnYW5pemF0aW9uSW50ZXJmYWNlPj4oXG4gICAgICB0aGlzLmVudi5kYXRhRW5kcG9pbnQgKyAodGhpcy5wbGF0Zm9ybSAhPT0gQ29tcGFuaWVzRW51bS5PUkdBTklaQVRJT04gPyAnL2lkJyA6ICcnKSArICcvY29tcGFuaWVzL2FsbCdcbiAgICApLnN1YnNjcmliZSgoY29tcGFuaWVzOiBBcnJheTxPcmdhbml6YXRpb25JbnRlcmZhY2U+KSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50Q29tcGFueSA9IGNvbXBhbmllcy5maW5kKChjb21wYW55OiBPcmdhbml6YXRpb25JbnRlcmZhY2UpID0+IGNvbXBhbnkuaWQgPT09IHRoaXMudXNlckRhdGEuY29tcGFueUlkKVxuICAgICAgaWYgKGN1cnJlbnRDb21wYW55KSB7XG4gICAgICAgIHRoaXMuY3VycmVudENvbXBhbnkgPSBjdXJyZW50Q29tcGFueTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWxsT3JnYW5pemF0aW9ucyA9IGNvbXBhbmllcztcbiAgICAgIGlmICh0aGlzLnBsYXRmb3JtID09PSBDb21wYW5pZXNFbnVtLk9SR0FOSVpBVElPTikge1xuICAgICAgICB0aGlzLmFjY2Vzc1RvTmV3T3JnYW5pemF0aW9uID0gdGhpcy5hY2Nlc3NUb0FkZE5ldygpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvLyBPbmx5IGZvciBvcmdhbml6YXRpb25cbiAgYWNjZXNzVG9BZGROZXcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEodGhpcy5hbGxPcmdhbml6YXRpb25zLmZpbmQoKGNvbXBhbnk6IE9yZ2FuaXphdGlvbkludGVyZmFjZSkgPT4gY29tcGFueS5pc015Q29tcGFueSkpXG4gIH1cblxuICBhZGROZXdPcmdhbml6YXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydhdXRoL29yZ2FuaXphdGlvbi9hZGQnXSlcbiAgfVxuICAvLyBFbmQgT2YgT25seSBmb3Igb3JnYW5pemF0aW9uXG5cbiAgbmF2aWdhdGVCYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcbiAgfVxuXG4gIGRldGVjdEFjdGl2ZVBhZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgcGFnZSA9IHRoaXMucm91dGVyLnVybC5yZXBsYWNlKCcvJywgJycpO1xuICAgIGxldCBsaW5rID0gdGhpcy5uYXZpZ2F0aW9uTGlua3MuZmluZCgobGluazogTmF2aWdhdGlvbkxpbmtzKSA9PiBwYWdlID09PSBsaW5rLmxpbmtUbyk7XG5cbiAgICBpZiAoIWxpbmspIHtcbiAgICAgIGNvbnN0IHBhZ2UgPSB0aGlzLnJvdXRlci51cmw7XG4gICAgICBsaW5rID0gdGhpcy5uYXZpZ2F0aW9uTGlua3MuZmluZCgobGluazogTmF2aWdhdGlvbkxpbmtzKSA9PiBwYWdlLmluY2x1ZGVzKGxpbmsubGlua1RvKSk7XG4gICAgfVxuXG4gICAgaWYgKGxpbmspIHtcbiAgICAgIGlmIChsaW5rLnN1YlBhZ2VzKSB7XG4gICAgICAgIHRoaXMuc2Vjb25kTGF5ZXJPcGVuZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNlY29uZExheWVyTGlua3MgPSBsaW5rLnN1YlBhZ2VzO1xuXG4gICAgICAgIGNvbnN0IHN1YkxpbmsgPSBsaW5rLnN1YlBhZ2VzLmZpbmQoKGxpbms6IE5hdmlnYXRpb25MaW5rcykgPT4gcGFnZSA9PT0gbGluay5saW5rVG8pO1xuICAgICAgICBpZiAoc3ViTGluaykge1xuICAgICAgICAgIHRoaXMuc2Vjb25kTGF5ZXJBY3RpdmVQYWdlID0gc3ViTGluay5wYWdlRW51bTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWNvbmRMYXllck9wZW5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlY29uZExheWVyTGlua3MgPSBbXTtcbiAgICAgICAgdGhpcy5zZWNvbmRMYXllckFjdGl2ZVBhZ2UgPSAnJztcbiAgICAgIH1cbiAgICAgIHRoaXMuYWN0aXZlUGFnZSA9IGxpbmsucGFnZUVudW07XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGUobGluazogTmF2aWdhdGlvbkxpbmtzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZlUGFnZSA9PT0gbGluay5saW5rVG8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbGluay5saW5rVG9dKVxuICB9XG5cbiAgY2hhbmdlQ29sbGFwc2UodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gdmFsdWU7XG4gICAgdGhpcy5jb2xsYXBzZUV2ZW50LmVtaXQodmFsdWUpO1xuICB9XG5cbiAgcHJpdmFjeVBvbGljeU9yVGVybXNDb25kaXRpb24ocHJpdmFjeSA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKHByaXZhY3kpIHtcbiAgICAgIHdpbmRvdy5vcGVuKHRoaXMuZW52Lm1haW5Eb21haW4gKyAnL3ByaXZhY3ktcG9saWN5JywgJ19ibGFuaycpXG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5vcGVuKHRoaXMuZW52Lm1haW5Eb21haW4gKyAnL3Rlcm1zLWFuZC1jb25kaXRpb25zJywgJ19ibGFuaycpXG4gICAgfVxuICB9XG5cbiAgc2lnbk91dCgpOiB2b2lkIHtcbiAgICB0aGlzLnNpZ25PdXRFdmVudC5lbWl0KClcbiAgfVxuXG4gIG9wZW5aZW5kZXNrUGFnZShzdXBwb3J0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICB0aGlzLmh0dHAuZ2V0PHthY2Nlc3NUb2tlbjogc3RyaW5nfT4odGhpcy5lbnYuZGF0YUVuZHBvaW50ICsgKHRoaXMucGxhdGZvcm0gIT09IENvbXBhbmllc0VudW0uT1JHQU5JWkFUSU9OID8gJy9pZCcgOiAnJykgKyBgL2F1dGgvemVuZGVza2ApXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IHthY2Nlc3NUb2tlbjogc3RyaW5nfSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRVcmwgPSBgJHt0aGlzLmVudi56ZW5kZXNrVXJsfS9oYy9lbi11c2AgKyAoc3VwcG9ydCA/ICcvcmVxdWVzdHMvbmV3JyA6ICcnKTtcbiAgICAgICAgY29uc3QgemVuZGVza1VybCA9IGAke3RoaXMuZW52LnplbmRlc2tVcmx9L2FjY2Vzcy9qd3Q/and0PSR7cmVzLmFjY2Vzc1Rva2VufSZyZXR1cm5fdG89JHt0YXJnZXRVcmx9YDtcbiAgICAgICAgd2luZG93Lm9wZW4oemVuZGVza1VybCk7XG4gICAgICB9KVxuICB9XG5cbiAgbWFuYWdlQWNjb3VudCgpOiB2b2lkIHtcbiAgICB3aW5kb3cub3Blbih0aGlzLmVudi5vcmdhbml6YXRpb25VcmwgKyAnL2F1dGgvYWNjb3VudC1pbmZvcm1hdGlvbicsICdfYmxhbmsnKVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYWluX3NpZGViYXJcIlxuICAgICAqbmdJZj1cIm5hdmlnYXRpb25MaW5rcyAmJiB1c2VyRGF0YVwiXG4gICAgIFtjbGFzcy5jb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIlxuPlxuICAgIDxkaXYgY2xhc3M9XCJtYWluX3NpZGViYXItLWhlYWRlclwiPlxuICAgICAgICA8aW1nIGNsYXNzPVwibG9nbyBwb2ludGVyXCIgYWx0PVwiXCJcbiAgICAgICAgICAgICBbc3JjXT1cIicvYXNzZXRzL2xvZ29zLycgKyBwbGF0Zm9ybSArICcuc3ZnJ1wiXG4gICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5MYW5kaW5nKClcIlxuICAgICAgICA+XG4gICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy9hcHBzLnBuZ1wiIGFsdD1cIlwiIGNsYXNzPVwicG9pbnRlclwiICpuZ0lmPVwiIWlzQ29sbGFwc2VkXCJcbiAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWF0TWVudVwiXG4gICAgICAgID5cblxuICAgICAgICA8bWF0LW1lbnUgI21hdE1lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJzaWRlYmFyX3BsYXRmb3Jtc19tZW51XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlQW5kSW5hY3RpdmVQbGF0Zm9ybXNbJ2FjdGl2ZSddLmxlbmd0aFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudV90aXRsZVwiPlxuICAgICAgICAgICAgICAgIEFjdGl2ZSBBcHBzXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJzdGFuZGFyZF9tZW51X2l0ZW1cIiAqbmdGb3I9XCJsZXQgYXBwIG9mIGFjdGl2ZUFuZEluYWN0aXZlUGxhdGZvcm1zWydhY3RpdmUnXVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5QbGF0Zm9ybShhcHAuaWQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpbWcgYWx0PVwiXCIgY2xhc3M9XCJsb2dvXCIgW3NyY109XCInL2Fzc2V0cy9sb2dvcy8nICsgYXBwLmlkICsgJy5zdmcnXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3thcHAubmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxpbWcgYWx0PVwiXCIgY2xhc3M9XCJtbC1hdXRvXCIgc3JjPVwiL2Fzc2V0cy9zZWxlY3RlZF9vcmdhbml6YXRpb24uc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiYXBwLmNoZWNrZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIlxuICAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGl2ZUFuZEluYWN0aXZlUGxhdGZvcm1zWydhY3RpdmUnXS5sZW5ndGggJiYgYWN0aXZlQW5kSW5hY3RpdmVQbGF0Zm9ybXNbJ2luYWN0aXZlJ10ubGVuZ3RoXCJcbiAgICAgICAgICAgID48L2Rpdj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFjdGl2ZUFuZEluYWN0aXZlUGxhdGZvcm1zWydpbmFjdGl2ZSddLmxlbmd0aFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudV90aXRsZVwiPlxuICAgICAgICAgICAgICAgIEluYWN0aXZlIEFwcHNcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGFuZGFyZF9tZW51X2l0ZW1cIiAqbmdGb3I9XCJsZXQgYXBwIG9mIGFjdGl2ZUFuZEluYWN0aXZlUGxhdGZvcm1zWydpbmFjdGl2ZSddXCI+XG4gICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBjbGFzcz1cImxvZ29cIiBbc3JjXT1cIicvYXNzZXRzL2xvZ29zLycgKyBhcHAuaWQgKyAnLnN2ZydcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57e2FwcC5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPC9tYXQtbWVudT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYWluX3NpZGViYXItLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlY29uZExheWVyTGlua3MubGVuZ3RoXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbl9zaWRlYmFyLS1jb250ZW50LS10b29sYmFyXCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlQmFjaygpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW1nIGFsdD1cIlwiIHNyYz1cIi9hc3NldHMvYmFjay5zdmdcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5CYWNrPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbl9zaWRlYmFyLS1jb250ZW50LS1zdWJfdGl0bGVcIj5cbiAgICAgICAgICAgICAgICBBZG1pblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgKHNlY29uZExheWVyTGlua3MubGVuZ3RoID8gc2Vjb25kTGF5ZXJMaW5rcyA6IG5hdmlnYXRpb25MaW5rcylcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCIgKm5nSWY9XCJsaW5rLmhhc0RpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluX3NpZGViYXItLWNvbnRlbnQtLWxpbmsgcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgbWF0UmlwcGxlXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJsaW5rLnBhZ2VFbnVtID09PSBhY3RpdmVQYWdlIHx8IGxpbmsucGFnZUVudW0gPT09IHNlY29uZExheWVyQWN0aXZlUGFnZVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlKGxpbmspXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFyZW50X2ljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImljb25cIiBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiJy9hc3NldHMvbGlua3MvJyArIHBsYXRmb3JtICsgJy8nICsgbGluay5pbWFnZSArICcuc3ZnJ1wiPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3tsaW5rLnRpdGxlIHwgdHJhbnNsYXRlfX08L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZXdcIiAqbmdJZj1cImxpbmsuaXNOZXdcIj5OZXc8L2Rpdj5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWFpbl9zaWRlYmFyLS1mb290ZXJcIiAqbmdJZj1cInVzZXJEYXRhXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluX3NpZGViYXItLWZvb3Rlci0tdG9nZ2xlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInBvaW50ZXJcIiBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc0NvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJDb2xsYXBzZSBTaWRlYmFyXCJcbiAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYWJvdmUnXCJcbiAgICAgICAgICAgICAgICAgc3JjPVwiL2Fzc2V0cy90b2dnbGUtc3RhdGUtbGVmdC5zdmdcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlQ29sbGFwc2UodHJ1ZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cInBvaW50ZXJcIiBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAqbmdJZj1cImlzQ29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkV4cGFuZCBTaWRlYmFyXCJcbiAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYWJvdmUnXCJcbiAgICAgICAgICAgICAgICAgc3JjPVwiL2Fzc2V0cy90b2dnbGUtc3RhdGUtcmlnaHQuc3ZnXCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZUNvbGxhcHNlKGZhbHNlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbl9zaWRlYmFyLS1mb290ZXItLXByb2ZpbGVcIj5cbiAgICAgICAgICAgIDxpLXRlY2gtY29tcGFueS1pbWFnZVxuICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWF0TWVudVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICAgICBbdXNlckRhdGFdPVwidXNlckRhdGFcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhdGZvcm1dPVwicGxhdGZvcm1cIlxuICAgICAgICAgICAgICAgICAgICBbY3VycmVudENvbXBhbnldPVwiY3VycmVudENvbXBhbnlcIlxuICAgICAgICAgICAgPjwvaS10ZWNoLWNvbXBhbnktaW1hZ2U+XG4gICAgICAgICAgICA8bWF0LW1lbnUgI21hdE1lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJzaWRlYmFyX2JvdHRvbV9tZW51XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcF9iYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltYWdlXCIgYWx0PVwiXCIgW3NyY109XCJ1c2VyRGF0YS5pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyRGF0YS5pbWFnZTsgZWxzZSBOb0ltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI05vSW1hZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Ugbm9faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3VzZXJEYXRhLmZpcnN0TmFtZSB8IHNsaWNlOiAwIDogMSB8IHVwcGVyY2FzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm9ybWF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7dXNlckRhdGEuZmlyc3ROYW1lfX0ge3t1c2VyRGF0YS5sYXN0TmFtZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWxcIj57e3VzZXJEYXRhLmVtYWlsfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBtYXQtbWVudS1pdGVtICpuZ0lmPVwicGxhdGZvcm0gIT09IENvbXBhbmllc0VudW0uT1JHQU5JWkFUSU9OXCIgY2xhc3M9XCJtdC00IHN0YW5kYXJkX21lbnVfaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibWFuYWdlQWNjb3VudCgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBBY2NvdW50IEluZm9ybWF0aW9uXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSAqbmdJZj1cInBsYXRmb3JtID09PSBDb21wYW5pZXNFbnVtLk9SR0FOSVpBVElPTlwiIGNsYXNzPVwibXQtNCBzdGFuZGFyZF9tZW51X2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY2NvdW50SW5mb3JtYXRpb24oKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBBY2NvdW50IEluZm9ybWF0aW9uXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJwbGF0Zm9ybSA9PT0gQ29tcGFuaWVzRW51bS5PUkdBTklaQVRJT04gJiYgYWNjZXNzVG9OZXdPcmdhbml6YXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdGFuZGFyZF9tZW51X2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE5ld09yZ2FuaXphdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgICBBZGQgbmV3IG9yZ2FuaXphdGlvblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFsbE9yZ2FuaXphdGlvbnMubGVuZ3RoID4gMVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlclwiID48L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpdGNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpdGNoX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3dpdGNoIE9yZ2FuaXphdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJtYXRfbWVudV9vcmdhbml6YXRpb25cIiAoY2xpY2spPVwic3dpdGNoT3JnYW5pemF0aW9uKG9yZ2FuaXphdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3JnYW5pemF0aW9uIG9mIGFsbE9yZ2FuaXphdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcmdhbml6YXRpb25faXRlbV9pbl9tZW51XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgYWx0PVwiXCIgY2xhc3M9XCJpbWFnZVwiIFtzcmNdPVwib3JnYW5pemF0aW9uLmltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9yZ2FuaXphdGlvbi5pbWFnZTsgZWxzZSBOb0ltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI05vSW1hZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Ugbm9faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e29yZ2FuaXphdGlvbi5uYW1lIHwgc2xpY2U6IDAgOiAxIHwgdXBwZXJjYXNlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e29yZ2FuaXphdGlvbi5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiAqbmdJZj1cIm9yZ2FuaXphdGlvbi5pZCA9PT0gY3VycmVudENvbXBhbnkuaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpc1NlbGVjdGVkXCIgc3JjPVwiL2Fzc2V0cy9zZWxlY3RlZF9vcmdhbml6YXRpb24uc3ZnXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJzdGFuZGFyZF9tZW51X2l0ZW1cIiAoY2xpY2spPVwib3BlblplbmRlc2tQYWdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgU3VwcG9ydCBDZW50ZXJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJzdGFuZGFyZF9tZW51X2l0ZW1cIiAoY2xpY2spPVwicHJpdmFjeVBvbGljeU9yVGVybXNDb25kaXRpb24oKVwiPlxuICAgICAgICAgICAgICAgICAgICBUZXJtcyBBbmQgQ29uZGl0aW9uc1xuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSBjbGFzcz1cInN0YW5kYXJkX21lbnVfaXRlbVwiIChjbGljayk9XCJwcml2YWN5UG9saWN5T3JUZXJtc0NvbmRpdGlvbih0cnVlKVwiPlxuICAgICAgICAgICAgICAgICAgICBQcml2YWN5IFBvbGljeVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbSBjbGFzcz1cInN0YW5kYXJkX21lbnVfaXRlbVwiIChjbGljayk9XCJzaWduT3V0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgU2lnbiBvdXRcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=