nuxeo-development-framework 3.6.6 → 3.6.8

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.
@@ -1,5 +1,5 @@
1
1
  import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, Output, ViewEncapsulation, } from "@angular/core";
2
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from "@angular/core";
3
3
  import { take } from "rxjs/internal/operators/take";
4
4
  import { NotificationToastComponent } from "../notification-toast/notification-toast.component";
5
5
  import { first } from "rxjs/operators";
@@ -12,7 +12,8 @@ import * as i5 from "@angular/router";
12
12
  import * as i6 from "../../../../Core/services/translation/translation.service";
13
13
  import * as i7 from "@angular/material/menu";
14
14
  import * as i8 from "../notifications-list/notifications-list.component";
15
- import * as i9 from "@angular/material/badge";
15
+ import * as i9 from "@angular/common";
16
+ import * as i10 from "@angular/material/badge";
16
17
  export class NotificationsButtonComponent {
17
18
  constructor(notificationsService, translate, toastr, TimeAgo, router, ref, translationService) {
18
19
  this.notificationsService = notificationsService;
@@ -24,6 +25,7 @@ export class NotificationsButtonComponent {
24
25
  this.translationService = translationService;
25
26
  this.toastrClick = new EventEmitter();
26
27
  this.listItemClick = new EventEmitter();
28
+ this.customNotificationIcon = null;
27
29
  }
28
30
  get notificationsCount() {
29
31
  return this.notificationsService.notificationsCount;
@@ -155,7 +157,7 @@ export class NotificationsButtonComponent {
155
157
  }
156
158
  }
157
159
  NotificationsButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: NotificationsButtonComponent, deps: [{ token: i1.NotificationsService }, { token: i2.TranslateService }, { token: i3.ToastrService }, { token: i4.TimeAgoPipe }, { token: i5.Router }, { token: i0.ChangeDetectorRef }, { token: i6.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
158
- NotificationsButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsButtonComponent, selector: "app-notifications-button", outputs: { toastrClick: "toastrClick", listItemClick: "listItemClick" }, ngImport: i0, template: "<div [matMenuTriggerFor]=\"langMenu\" class=\"notification\" (click)=\"getNotifications()\" class=\"search-wrapper\">\r\n <span matBadgeSize=\"small\" matBadge=\"{{ notificationsCount }}\" matBadgeColor=\"warn\" matbadgeposition=\"before\"\r\n class=\"bi bi-bell bell\"></span>\r\n</div>\r\n<mat-menu class=\"mat-menu-panel myMenu notification-list\" #langMenu=\"matMenu\">\r\n <app-notifications-list (listItemClick)=\"onListItemClick($event)\"></app-notifications-list>\r\n</mat-menu>\r\n", styles: [".notifications-count{background-color:#eee;border-radius:5px;color:#333;font-size:11px;padding:0 6px;box-sizing:border-box}.notification-list{max-width:450px!important;width:450px;height:66vh}.notification-list .mat-menu-content{padding:0!important;position:relative;height:calc(100% - 29px)}.notification-list .mat-menu-content .mat-toolbar{margin:0 0 -10px}.mat-menu-panel.myMenu{border-radius:5px!important;overflow:hidden}.notification .mat-icon{margin-right:0!important;vertical-align:middle}.toast-container{right:12px!important;bottom:12px!important;pointer-events:all}.toast-container .ngx-toastr{padding:25px!important;background-position:263px center;border-radius:5px!important;box-shadow:none!important}.toast-container .toast-title{font-weight:normal}.wrap{white-space:normal!important;font-size:14px!important;margin-bottom:8px!important}.mat-menu-content:not(:empty){padding-top:0;padding-bottom:0}[dir=rtl] .toast-container{left:12px!important;right:auto!important;direction:rtl;text-align:right}[dir=rtl] .toast-container .ngx-toastr{background-position:10px center}[dir=rtl] .toast-container .toast-close-button{float:left}.mat-badge-content{right:-4px!important;top:-1px!important}.rtl .mat-badge-content{font-weight:600;right:-6px!important;top:-5px!important}\n"], components: [{ type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.NotificationsListComponent, selector: "app-notifications-list", outputs: ["listItemClick"] }], directives: [{ type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i9.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }], encapsulation: i0.ViewEncapsulation.None });
160
+ NotificationsButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsButtonComponent, selector: "app-notifications-button", inputs: { customNotificationIcon: "customNotificationIcon" }, outputs: { toastrClick: "toastrClick", listItemClick: "listItemClick" }, ngImport: i0, template: "<div [matMenuTriggerFor]=\"langMenu\" class=\"notification\" (click)=\"getNotifications()\" class=\"search-wrapper\">\r\n <span *ngIf=\"!customNotificationIcon;else customIcon\" matBadgeSize=\"small\" matBadge=\"{{ notificationsCount }}\"\r\n matBadgeColor=\"warn\" matbadgeposition=\"before\" class=\"bi bi-bell bell\"></span>\r\n</div>\r\n<mat-menu class=\"mat-menu-panel myMenu notification-list\" #langMenu=\"matMenu\">\r\n <app-notifications-list (listItemClick)=\"onListItemClick($event)\"></app-notifications-list>\r\n</mat-menu>\r\n\r\n<ng-template #customIcon>\r\n <ng-container *ngTemplateOutlet=\"customNotificationIcon\"></ng-container>\r\n</ng-template>", styles: [".notifications-count{background-color:#eee;border-radius:5px;color:#333;font-size:11px;padding:0 6px;box-sizing:border-box}.notification-list{max-width:450px!important;width:450px;height:66vh}.notification-list .mat-menu-content{padding:0!important;position:relative;height:calc(100% - 29px)}.notification-list .mat-menu-content .mat-toolbar{margin:0 0 -10px}.mat-menu-panel.myMenu{border-radius:5px!important;overflow:hidden}.notification .mat-icon{margin-right:0!important;vertical-align:middle}.toast-container{right:12px!important;bottom:12px!important;pointer-events:all}.toast-container .ngx-toastr{padding:25px!important;background-position:263px center;border-radius:5px!important;box-shadow:none!important}.toast-container .toast-title{font-weight:normal}.wrap{white-space:normal!important;font-size:14px!important;margin-bottom:8px!important}.mat-menu-content:not(:empty){padding-top:0;padding-bottom:0}[dir=rtl] .toast-container{left:12px!important;right:auto!important;direction:rtl;text-align:right}[dir=rtl] .toast-container .ngx-toastr{background-position:10px center}[dir=rtl] .toast-container .toast-close-button{float:left}.mat-badge-content{right:-4px!important;top:-1px!important}.rtl .mat-badge-content{font-weight:600;right:-6px!important;top:-5px!important}\n"], components: [{ type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.NotificationsListComponent, selector: "app-notifications-list", outputs: ["listItemClick"] }], directives: [{ type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
159
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: NotificationsButtonComponent, decorators: [{
160
162
  type: Component,
161
163
  args: [{
@@ -168,5 +170,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
168
170
  type: Output
169
171
  }], listItemClick: [{
170
172
  type: Output
173
+ }], customNotificationIcon: [{
174
+ type: Input
171
175
  }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy1idXR0b24vbm90aWZpY2F0aW9ucy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy1idXR0b24vbm90aWZpY2F0aW9ucy1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFTdkMsTUFBTSxPQUFPLDRCQUE0QjtJQVd2QyxZQUNTLG9CQUEwQyxFQUMxQyxTQUEyQixFQUMzQixNQUFxQixFQUNyQixPQUFvQixFQUNwQixNQUFjLEVBQ2IsR0FBc0IsRUFDdEIsa0JBQXNDO1FBTnZDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFD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O21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFdBQVcsRUFBRSx1Q0FBdUM7b0JBQ3BELFNBQVMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDO29CQUNwRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7c1JBU0MsV0FBVztzQkFEVixNQUFNO2dCQUdQLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmVUb2FzdCwgVG9hc3RyU2VydmljZSB9IGZyb20gXCJuZ3gtdG9hc3RyXCI7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZVwiO1xyXG5pbXBvcnQgeyBUaW1lQWdvUGlwZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9waXBlcy90aW1lLWFnby5waXBlXCI7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL25vdGlmaWNhdGlvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25Ub2FzdENvbXBvbmVudCB9IGZyb20gXCIuLi9ub3RpZmljYXRpb24tdG9hc3Qvbm90aWZpY2F0aW9uLXRvYXN0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLW5vdGlmaWNhdGlvbnMtYnV0dG9uXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9ub3RpZmljYXRpb25zLWJ1dHRvbi5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9ub3RpZmljYXRpb25zLWJ1dHRvbi5jb21wb25lbnQuc2Nzc1wiXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBnZXQgbm90aWZpY2F0aW9uc0NvdW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2Uubm90aWZpY2F0aW9uc0NvdW50O1xyXG4gIH1cclxuXHJcbiAgc3Vic2NyaXB0aW9uO1xyXG4gIHVwZGF0ZXI7XHJcbiAgQE91dHB1dCgpXHJcbiAgdG9hc3RyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgbGlzdEl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBub3RpZmljYXRpb25zU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRvYXN0cjogVG9hc3RyU2VydmljZSxcclxuICAgIHB1YmxpYyBUaW1lQWdvOiBUaW1lQWdvUGlwZSxcclxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2VcclxuICApIHt9XHJcbiAgLypcclxuICBhc3luYyBvcGVuTm90aWZpY2F0aW9ucyhldmVudCkge1xyXG4gICAgY29uc3QgZGlyID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZGlyJyk7XHJcbiAgICBjb25zdCBub3RpZmljYXRpb25zTW9kYWwgPSBhd2FpdCB0aGlzLm1vZGFsQ29udHJvbGxlci5jcmVhdGUoe1xyXG4gICAgICBjc3NDbGFzczogJ3NpZGUtbW9kYWwgbm90aWZpY2F0aW9ucycsXHJcbiAgICAgIGVudGVyQW5pbWF0aW9uOiBkaXIgPT09ICdydGwnID8gc2xpZGVJblJ0bCA6IHNsaWRlSW4sXHJcbiAgICAgIGxlYXZlQW5pbWF0aW9uOiBkaXIgPT09ICdydGwnID8gc2xpZGVPdXRSdGwgOiBzbGlkZU91dCxcclxuICAgICAgY29tcG9uZW50OiBOb3RpZmljYXRpb25zTW9kYWxDb21wb25lbnQsXHJcbiAgICAgIHNob3dCYWNrZHJvcDogZmFsc2VcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGF3YWl0IG5vdGlmaWNhdGlvbnNNb2RhbC5wcmVzZW50KCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UucmVzZXRDb3VudCgpO1xyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuICAqL1xyXG4gIGdldE5vdGlmaWNhdGlvbnMoKSB7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLnJlc2V0Tm90aWZpY2F0aW9ucygpXHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLmZldGNoTm90aWZpY2F0aW9ucygpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UucmVzZXRDb3VudCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLmxpc3RlbmVyT2JzZXJ2ZXIuc3Vic2NyaWJlKFxyXG4gICAgICBhc3luYyAoYWN0aXZpdHkpID0+IHtcclxuICAgICAgICBsZXQgYXIgPSBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpY1xyXG4gICAgICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgICAgICBsZXQgc291cmNlVHlwZSA9IGFjdGl2aXR5LnNvdXJjZVR5cGU7XHJcbiAgICAgICAgY29uc3QgaXNBc3NpZ25tZW50T3JBcHByb3ZhbDogYm9vbGVhbiA9XHJcbiAgICAgICAgICBzb3VyY2VUeXBlID09PSBcImFwcHJvdmFsXCIgfHwgc291cmNlVHlwZSA9PT0gXCJhc3NpZ25tZW50XCI7XHJcbiAgICAgICAgY29uc3QgY29ycmVzcG9uZGVuY2UgPSBzb3VyY2VUeXBlID09PSBcImNvcnJlc3BvbmRlbmNlXCI7XHJcbiAgICAgICAgY29uc3QgYXNzaWdubWVudCA9IHNvdXJjZVR5cGUgPT09IFwiYXNzaWdubWVudFwiO1xyXG4gICAgICAgIGNvbnN0IGFwcHJvdmFsID0gc291cmNlVHlwZSA9PT0gXCJhcHByb3ZhbFwiO1xyXG4gICAgICAgIGNvbnN0IG1lbW8gPSBzb3VyY2VUeXBlID09PSBcIm1lbW9cIjtcclxuICAgICAgICBjb25zdCBnZW5lcmFsID0gc291cmNlVHlwZSA9PT0gXCJnZW5lcmFsXCI7XHJcbiAgICAgICAgY29uc3QgaWQgPSBtZW1vID8gYWN0aXZpdHkuc291cmNlSWQgOiBhY3Rpdml0eS5kYXRhLmNvcnJlc3BvbmRlbmNlSWQ7XHJcblxyXG4gICAgICAgIHRoaXMuc2hvd1RvYXN0cihhY3Rpdml0eSwgYXIpXHJcbiAgICAgICAgICAub25UYXAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UudXBkYXRlU3RhdHVzKGFjdGl2aXR5LCB0cnVlKTtcclxuICAgICAgICAgICAgaWYgKGFjdGl2aXR5LmRhdGE/LmNvcnJlc3BvbmRlbmNlSWQpIHtcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShcclxuICAgICAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIG91dGxldHM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdlcjogW1widmlld1wiLCBpZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCxcclxuICAgICAgICAgICAgICAgICAgICAuLi4oaXNBc3NpZ25tZW50T3JBcHByb3ZhbCAmJiB7IGFwcHJvdmFsTW9kZTogdHJ1ZSB9KSxcclxuICAgICAgICAgICAgICAgICAgICAuLi4oYXNzaWdubWVudCAmJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBhc3NpZ25tZW50SWQ6IGFjdGl2aXR5LmRhdGEuYXNzaWdubWVudElkLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKG1lbW8pIHtcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbeyBvdXRsZXRzOiB7IHZpZXdlcjogW1wibWVtb1wiLCBpZF0gfSB9XSwge1xyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCB9LFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RyQ2xpY2submV4dChhY3Rpdml0eSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZXIgPSB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLnVwZGF0ZS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIC8vICAgdGhpcy5zaG93VG9hc3RyKHtcclxuICAgIC8vICAgICBzZW5kRGF0ZTpcIjExMVwiLFxyXG4gICAgLy8gICAgIGNvbnRlbnQ6XCJ0ZXN0XCIsXHJcbiAgICAvLyAgICAgZGF0YTp7XHJcbiAgICAvLyAgICAgICBjb3JyZXNwb25kZW5jZUlkOlwiZjljMzZmZTEtNzA1NC00ZjgxLWE4OWItMDk2YWQyNGEwM2I1XCJcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH0pLm9uVGFwLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgIC8vICAgICAvLyB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLnVwZGF0ZVN0YXR1cyhhY3Rpdml0eSwgdHJ1ZSk7XHJcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJoZXJlXCIpXHJcbiAgICAvLyAgIH0pXHJcbiAgICAvLyB9LCAxMDAwKTtcclxuICB9XHJcbiAgb25MaXN0SXRlbUNsaWNrKGV2ZW50KXtcclxuICAgIHRoaXMubGlzdEl0ZW1DbGljay5uZXh0KGV2ZW50KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy51cGRhdGVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIC8vIHRlc3QoKSB7XHJcbiAgLy8gICB0aGlzLnRvYXN0ci5zaG93KGBkc3NzZHNkc2AsICdoZXJlIGlzIHRoZSBjb250ZW50IG9mIHRoZSBub3RpZmljYXRpb24gJywge1xyXG4gIC8vICAgICB0b2FzdENvbXBvbmVudDogTm90aWZpY2F0aW9uVG9hc3RDb21wb25lbnQsXHJcbiAgLy8gICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxyXG4gIC8vICAgICAvLyBleHRlbmRlZFRpbWVPdXQ6IDAsXHJcbiAgLy8gICAgIHRpbWVPdXQ6IDEwMDAwLFxyXG4gIC8vICAgICAvLyB0YXBUb0Rpc21pc3M6IGZhbHNlLFxyXG4gIC8vICAgICBlbmFibGVIdG1sOiB0cnVlLFxyXG4gIC8vICAgICBwb3NpdGlvbkNsYXNzOlxyXG4gIC8vICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2RpcicpID09PSAncnRsJ1xyXG4gIC8vICAgICAgICAgPyAndG9hc3QtYm90dG9tLWxlZnQnXHJcbiAgLy8gICAgICAgICA6ICd0b2FzdC1ib3R0b20tcmlnaHQnLFxyXG4gIC8vICAgICB0b2FzdENsYXNzOiAnbm90aWZpY2F0aW9uLXRvYXN0JyxcclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgc2hvd1RvYXN0cihhY3Rpdml0eSwgYXIpOiBBY3RpdmVUb2FzdDxhbnk+IHtcclxuICAgIGxldCBhckNvbnRlbnQ7XHJcbiAgICBsZXQgZW5Db250ZW50O1xyXG4gICAgYWN0aXZpdHkubm90aWZpY2F0aW9uQ29udGVudHMuZm9yRWFjaCgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMubGFuZyA9PT0gXCJBUlwiKSB7XHJcbiAgICAgICAgYXJDb250ZW50ID0gcmVzLm1lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHJlcy5sYW5nID09PSBcIkVOXCIpIHtcclxuICAgICAgICBlbkNvbnRlbnQgPSByZXMubWVzc2FnZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBhY3RpdmVUb2FzdCA9IHRoaXMudG9hc3RyLnNob3coXHJcbiAgICAgIGAke3RoaXMuVGltZUFnby50cmFuc2Zvcm0oYWN0aXZpdHkuc2VuZERhdGUpfWAsXHJcbiAgICAgIGFyID8gYXJDb250ZW50IDogZW5Db250ZW50LFxyXG4gICAgICB7XHJcbiAgICAgICAgdG9hc3RDb21wb25lbnQ6IE5vdGlmaWNhdGlvblRvYXN0Q29tcG9uZW50LFxyXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIHRpbWVPdXQ6IDEwMDAwLFxyXG4gICAgICAgIGVuYWJsZUh0bWw6IHRydWUsXHJcbiAgICAgICAgcG9zaXRpb25DbGFzczpcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJkaXJcIikgPT09IFwicnRsXCJcclxuICAgICAgICAgICAgPyBcInRvYXN0LWJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgOiBcInRvYXN0LWJvdHRvbS1yaWdodFwiLFxyXG4gICAgICAgIHRvYXN0Q2xhc3M6IFwibm90aWZpY2F0aW9uLXRvYXN0XCIsXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICBhY3RpdmVUb2FzdC50b2FzdFJlZi5jb21wb25lbnRJbnN0YW5jZS5pZCA9IGFjdGl2aXR5LmRhdGEuY29ycmVzcG9uZGVuY2VJZDtcclxuXHJcbiAgICByZXR1cm4gYWN0aXZlVG9hc3Q7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImxhbmdNZW51XCIgY2xhc3M9XCJub3RpZmljYXRpb25cIiAoY2xpY2spPVwiZ2V0Tm90aWZpY2F0aW9ucygpXCIgY2xhc3M9XCJzZWFyY2gtd3JhcHBlclwiPlxyXG4gIDxzcGFuIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCIgbWF0QmFkZ2U9XCJ7eyBub3RpZmljYXRpb25zQ291bnQgfX1cIiBtYXRCYWRnZUNvbG9yPVwid2FyblwiIG1hdGJhZGdlcG9zaXRpb249XCJiZWZvcmVcIlxyXG4gICAgY2xhc3M9XCJiaSBiaS1iZWxsIGJlbGxcIj48L3NwYW4+XHJcbjwvZGl2PlxyXG48bWF0LW1lbnUgY2xhc3M9XCJtYXQtbWVudS1wYW5lbCBteU1lbnUgbm90aWZpY2F0aW9uLWxpc3RcIiAjbGFuZ01lbnU9XCJtYXRNZW51XCI+XHJcbiAgPGFwcC1ub3RpZmljYXRpb25zLWxpc3QgKGxpc3RJdGVtQ2xpY2spPVwib25MaXN0SXRlbUNsaWNrKCRldmVudClcIj48L2FwcC1ub3RpZmljYXRpb25zLWxpc3Q+XHJcbjwvbWF0LW1lbnU+XHJcbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy1idXR0b24vbm90aWZpY2F0aW9ucy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy1idXR0b24vbm90aWZpY2F0aW9ucy1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdwRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUVoRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQVN2QyxNQUFNLE9BQU8sNEJBQTRCO0lBWXZDLFlBQ1Msb0JBQTBDLEVBQzFDLFNBQTJCLEVBQzNCLE1BQXFCLEVBQ3JCLE9BQW9CLEVBQ3BCLE1BQWMsRUFDYixHQUFzQixFQUN0QixrQkFBc0M7UUFOdkMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsV0FBTSxHQUFOLE1B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dU1DM0J6QyxrcUJBVWM7MkZEaUJELDRCQUE0QjtrQkFOeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztvQkFDcEQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDO3NSQVNDLFdBQVc7c0JBRFYsTUFBTTtnQkFHUCxhQUFhO3NCQURaLE1BQU07Z0JBRUUsc0JBQXNCO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2ZVRvYXN0LCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSBcIm5neC10b2FzdHJcIjtcclxuaW1wb3J0IHsgdGFrZSB9IGZyb20gXCJyeGpzL2ludGVybmFsL29wZXJhdG9ycy90YWtlXCI7XHJcbmltcG9ydCB7IFRpbWVBZ29QaXBlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3BpcGVzL3RpbWUtYWdvLnBpcGVcIjtcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vbm90aWZpY2F0aW9ucy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblRvYXN0Q29tcG9uZW50IH0gZnJvbSBcIi4uL25vdGlmaWNhdGlvbi10b2FzdC9ub3RpZmljYXRpb24tdG9hc3QuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtbm90aWZpY2F0aW9ucy1idXR0b25cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL25vdGlmaWNhdGlvbnMtYnV0dG9uLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL25vdGlmaWNhdGlvbnMtYnV0dG9uLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGdldCBub3RpZmljYXRpb25zQ291bnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5ub3RpZmljYXRpb25zQ291bnQ7XHJcbiAgfVxyXG5cclxuICBzdWJzY3JpcHRpb247XHJcbiAgdXBkYXRlcjtcclxuICBAT3V0cHV0KClcclxuICB0b2FzdHJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KClcclxuICBsaXN0SXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGN1c3RvbU5vdGlmaWNhdGlvbkljb24gPSBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIG5vdGlmaWNhdGlvbnNTZXJ2aWNlOiBOb3RpZmljYXRpb25zU2VydmljZSxcclxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlLFxyXG4gICAgcHVibGljIFRpbWVBZ286IFRpbWVBZ29QaXBlLFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZVxyXG4gICkge31cclxuICAvKlxyXG4gIGFzeW5jIG9wZW5Ob3RpZmljYXRpb25zKGV2ZW50KSB7XHJcbiAgICBjb25zdCBkaXIgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdkaXInKTtcclxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbnNNb2RhbCA9IGF3YWl0IHRoaXMubW9kYWxDb250cm9sbGVyLmNyZWF0ZSh7XHJcbiAgICAgIGNzc0NsYXNzOiAnc2lkZS1tb2RhbCBub3RpZmljYXRpb25zJyxcclxuICAgICAgZW50ZXJBbmltYXRpb246IGRpciA9PT0gJ3J0bCcgPyBzbGlkZUluUnRsIDogc2xpZGVJbixcclxuICAgICAgbGVhdmVBbmltYXRpb246IGRpciA9PT0gJ3J0bCcgPyBzbGlkZU91dFJ0bCA6IHNsaWRlT3V0LFxyXG4gICAgICBjb21wb25lbnQ6IE5vdGlmaWNhdGlvbnNNb2RhbENvbXBvbmVudCxcclxuICAgICAgc2hvd0JhY2tkcm9wOiBmYWxzZVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYXdhaXQgbm90aWZpY2F0aW9uc01vZGFsLnByZXNlbnQoKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5yZXNldENvdW50KCk7XHJcblxyXG4gICAgfSk7XHJcbiAgfVxyXG4gICovXHJcbiAgZ2V0Tm90aWZpY2F0aW9ucygpIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UucmVzZXROb3RpZmljYXRpb25zKClcclxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UuZmV0Y2hOb3RpZmljYXRpb25zKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5yZXNldENvdW50KCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UubGlzdGVuZXJPYnNlcnZlci5zdWJzY3JpYmUoXHJcbiAgICAgIGFzeW5jIChhY3Rpdml0eSkgPT4ge1xyXG4gICAgICAgIGxldCBhciA9IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmlzQXJhYmljXHJcbiAgICAgICAgICAucGlwZShmaXJzdCgpKVxyXG4gICAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgICAgIGxldCBzb3VyY2VUeXBlID0gYWN0aXZpdHkuc291cmNlVHlwZTtcclxuICAgICAgICBjb25zdCBpc0Fzc2lnbm1lbnRPckFwcHJvdmFsOiBib29sZWFuID1cclxuICAgICAgICAgIHNvdXJjZVR5cGUgPT09IFwiYXBwcm92YWxcIiB8fCBzb3VyY2VUeXBlID09PSBcImFzc2lnbm1lbnRcIjtcclxuICAgICAgICBjb25zdCBjb3JyZXNwb25kZW5jZSA9IHNvdXJjZVR5cGUgPT09IFwiY29ycmVzcG9uZGVuY2VcIjtcclxuICAgICAgICBjb25zdCBhc3NpZ25tZW50ID0gc291cmNlVHlwZSA9PT0gXCJhc3NpZ25tZW50XCI7XHJcbiAgICAgICAgY29uc3QgYXBwcm92YWwgPSBzb3VyY2VUeXBlID09PSBcImFwcHJvdmFsXCI7XHJcbiAgICAgICAgY29uc3QgbWVtbyA9IHNvdXJjZVR5cGUgPT09IFwibWVtb1wiO1xyXG4gICAgICAgIGNvbnN0IGdlbmVyYWwgPSBzb3VyY2VUeXBlID09PSBcImdlbmVyYWxcIjtcclxuICAgICAgICBjb25zdCBpZCA9IG1lbW8gPyBhY3Rpdml0eS5zb3VyY2VJZCA6IGFjdGl2aXR5LmRhdGEuY29ycmVzcG9uZGVuY2VJZDtcclxuXHJcbiAgICAgICAgdGhpcy5zaG93VG9hc3RyKGFjdGl2aXR5LCBhcilcclxuICAgICAgICAgIC5vblRhcC5waXBlKHRha2UoMSkpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS51cGRhdGVTdGF0dXMoYWN0aXZpdHksIHRydWUpO1xyXG4gICAgICAgICAgICBpZiAoYWN0aXZpdHkuZGF0YT8uY29ycmVzcG9uZGVuY2VJZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxyXG4gICAgICAgICAgICAgICAgW1xyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3V0bGV0czoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdmlld2VyOiBbXCJ2aWV3XCIsIGlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogdGhpcy5yb3V0ZXIudXJsLFxyXG4gICAgICAgICAgICAgICAgICAgIC4uLihpc0Fzc2lnbm1lbnRPckFwcHJvdmFsICYmIHsgYXBwcm92YWxNb2RlOiB0cnVlIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgIC4uLihhc3NpZ25tZW50ICYmIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGFzc2lnbm1lbnRJZDogYWN0aXZpdHkuZGF0YS5hc3NpZ25tZW50SWQsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAobWVtbykge1xyXG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7IG91dGxldHM6IHsgdmlld2VyOiBbXCJtZW1vXCIsIGlkXSB9IH1dLCB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBsb2NhdGlvbjogdGhpcy5yb3V0ZXIudXJsIH0sXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50b2FzdHJDbGljay5uZXh0KGFjdGl2aXR5KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMudXBkYXRlciA9IHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UudXBkYXRlLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgLy8gICB0aGlzLnNob3dUb2FzdHIoe1xyXG4gICAgLy8gICAgIHNlbmREYXRlOlwiMTExXCIsXHJcbiAgICAvLyAgICAgY29udGVudDpcInRlc3RcIixcclxuICAgIC8vICAgICBkYXRhOntcclxuICAgIC8vICAgICAgIGNvcnJlc3BvbmRlbmNlSWQ6XCJmOWMzNmZlMS03MDU0LTRmODEtYTg5Yi0wOTZhZDI0YTAzYjVcIlxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfSkub25UYXAucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgLy8gICAgIC8vIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UudXBkYXRlU3RhdHVzKGFjdGl2aXR5LCB0cnVlKTtcclxuICAgIC8vICAgICBjb25zb2xlLmxvZyhcImhlcmVcIilcclxuICAgIC8vICAgfSlcclxuICAgIC8vIH0sIDEwMDApO1xyXG4gIH1cclxuICBvbkxpc3RJdGVtQ2xpY2soZXZlbnQpe1xyXG4gICAgdGhpcy5saXN0SXRlbUNsaWNrLm5leHQoZXZlbnQpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnVwZGF0ZXIudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgLy8gdGVzdCgpIHtcclxuICAvLyAgIHRoaXMudG9hc3RyLnNob3coYGRzc3Nkc2RzYCwgJ2hlcmUgaXMgdGhlIGNvbnRlbnQgb2YgdGhlIG5vdGlmaWNhdGlvbiAnLCB7XHJcbiAgLy8gICAgIHRvYXN0Q29tcG9uZW50OiBOb3RpZmljYXRpb25Ub2FzdENvbXBvbmVudCxcclxuICAvLyAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgLy8gICAgIC8vIGV4dGVuZGVkVGltZU91dDogMCxcclxuICAvLyAgICAgdGltZU91dDogMTAwMDAsXHJcbiAgLy8gICAgIC8vIHRhcFRvRGlzbWlzczogZmFsc2UsXHJcbiAgLy8gICAgIGVuYWJsZUh0bWw6IHRydWUsXHJcbiAgLy8gICAgIHBvc2l0aW9uQ2xhc3M6XHJcbiAgLy8gICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZGlyJykgPT09ICdydGwnXHJcbiAgLy8gICAgICAgICA/ICd0b2FzdC1ib3R0b20tbGVmdCdcclxuICAvLyAgICAgICAgIDogJ3RvYXN0LWJvdHRvbS1yaWdodCcsXHJcbiAgLy8gICAgIHRvYXN0Q2xhc3M6ICdub3RpZmljYXRpb24tdG9hc3QnLFxyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICBzaG93VG9hc3RyKGFjdGl2aXR5LCBhcik6IEFjdGl2ZVRvYXN0PGFueT4ge1xyXG4gICAgbGV0IGFyQ29udGVudDtcclxuICAgIGxldCBlbkNvbnRlbnQ7XHJcbiAgICBhY3Rpdml0eS5ub3RpZmljYXRpb25Db250ZW50cy5mb3JFYWNoKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcy5sYW5nID09PSBcIkFSXCIpIHtcclxuICAgICAgICBhckNvbnRlbnQgPSByZXMubWVzc2FnZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAocmVzLmxhbmcgPT09IFwiRU5cIikge1xyXG4gICAgICAgIGVuQ29udGVudCA9IHJlcy5tZXNzYWdlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGFjdGl2ZVRvYXN0ID0gdGhpcy50b2FzdHIuc2hvdyhcclxuICAgICAgYCR7dGhpcy5UaW1lQWdvLnRyYW5zZm9ybShhY3Rpdml0eS5zZW5kRGF0ZSl9YCxcclxuICAgICAgYXIgPyBhckNvbnRlbnQgOiBlbkNvbnRlbnQsXHJcbiAgICAgIHtcclxuICAgICAgICB0b2FzdENvbXBvbmVudDogTm90aWZpY2F0aW9uVG9hc3RDb21wb25lbnQsXHJcbiAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgICAgdGltZU91dDogMTAwMDAsXHJcbiAgICAgICAgZW5hYmxlSHRtbDogdHJ1ZSxcclxuICAgICAgICBwb3NpdGlvbkNsYXNzOlxyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImRpclwiKSA9PT0gXCJydGxcIlxyXG4gICAgICAgICAgICA/IFwidG9hc3QtYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICA6IFwidG9hc3QtYm90dG9tLXJpZ2h0XCIsXHJcbiAgICAgICAgdG9hc3RDbGFzczogXCJub3RpZmljYXRpb24tdG9hc3RcIixcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIGFjdGl2ZVRvYXN0LnRvYXN0UmVmLmNvbXBvbmVudEluc3RhbmNlLmlkID0gYWN0aXZpdHkuZGF0YS5jb3JyZXNwb25kZW5jZUlkO1xyXG5cclxuICAgIHJldHVybiBhY3RpdmVUb2FzdDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibGFuZ01lbnVcIiBjbGFzcz1cIm5vdGlmaWNhdGlvblwiIChjbGljayk9XCJnZXROb3RpZmljYXRpb25zKClcIiBjbGFzcz1cInNlYXJjaC13cmFwcGVyXCI+XHJcbiAgPHNwYW4gKm5nSWY9XCIhY3VzdG9tTm90aWZpY2F0aW9uSWNvbjtlbHNlIGN1c3RvbUljb25cIiBtYXRCYWRnZVNpemU9XCJzbWFsbFwiIG1hdEJhZGdlPVwie3sgbm90aWZpY2F0aW9uc0NvdW50IH19XCJcclxuICAgIG1hdEJhZGdlQ29sb3I9XCJ3YXJuXCIgbWF0YmFkZ2Vwb3NpdGlvbj1cImJlZm9yZVwiIGNsYXNzPVwiYmkgYmktYmVsbCBiZWxsXCI+PC9zcGFuPlxyXG48L2Rpdj5cclxuPG1hdC1tZW51IGNsYXNzPVwibWF0LW1lbnUtcGFuZWwgbXlNZW51IG5vdGlmaWNhdGlvbi1saXN0XCIgI2xhbmdNZW51PVwibWF0TWVudVwiPlxyXG4gIDxhcHAtbm90aWZpY2F0aW9ucy1saXN0IChsaXN0SXRlbUNsaWNrKT1cIm9uTGlzdEl0ZW1DbGljaygkZXZlbnQpXCI+PC9hcHAtbm90aWZpY2F0aW9ucy1saXN0PlxyXG48L21hdC1tZW51PlxyXG5cclxuPG5nLXRlbXBsYXRlICNjdXN0b21JY29uPlxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21Ob3RpZmljYXRpb25JY29uXCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -148,7 +148,7 @@ export class NotificationsListComponent {
148
148
  }
149
149
  }
150
150
  NotificationsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: NotificationsListComponent, deps: [{ token: i1.NotificationsService }, { token: i0.ChangeDetectorRef }, { token: i2.DatePipe }, { token: i3.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
151
- NotificationsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsListComponent, selector: "app-notifications-list", outputs: { listItemClick: "listItemClick" }, host: { classAttribute: "notification-list" }, ngImport: i0, template: "<div class=\"toolbar\">\r\n <div class=\"title\">\r\n <div>{{ \"notifications.notifications\" | translate }}</div>\r\n </div>\r\n <div class=\"flex justify-end\">\r\n <button\r\n mat-button\r\n (click)=\"markAllAsRead()\"\r\n size=\"small\"\r\n fill=\"none\"\r\n class=\"markAllAsRead-btn\"\r\n >\r\n {{ \"notifications.markAllAsRead\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n<!-- [matTooltip]=\"'notifications.markAllAsRead' | translate\"\r\n [matTooltipPosition]=\"'before'\" -->\r\n<div *ngIf=\"!notifications?.length\" class=\"no-notifications\">\r\n <p>\r\n {{ \"notifications.noNotifications\" | translate }}\r\n </p>\r\n</div>\r\n<div\r\n infiniteScroll\r\n [scrollWindow]=\"false\"\r\n [infiniteScrollDistance]=\"scrollDistance\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n (scrolled)=\"onScrollDown()\"\r\n class=\"notifications-container scroll\"\r\n>\r\n <mat-list class=\"\">\r\n <ng-container\r\n *ngFor=\"\r\n let notification of notifications;\r\n let i = index;\r\n trackBy: trackBy\r\n \"\r\n >\r\n <!-- <mat-divider class=\"marginize\"></mat-divider> -->\r\n <app-notification-item\r\n (click)=\"openNotification(notification)\"\r\n (update)=\"onUpdate($event)\"\r\n [notification]=\"notification\"\r\n [isArabic]=\"isArabic\"\r\n ></app-notification-item>\r\n </ng-container>\r\n <div\r\n *ngIf=\"loading\"\r\n style=\"display: grid; place-items: center; margin-top: 10px\"\r\n >\r\n <mat-spinner [diameter]=\"48\" style=\"margin: 0 auto\"></mat-spinner>\r\n </div>\r\n </mat-list>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}:host{height:100%;position:relative}.toolbar{background-image:linear-gradient(to right,#0dbab5,#1a96c6);display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;padding:.25rem 1.5rem}.toolbar .title{font-size:1.125rem;line-height:1.75rem;display:flex;align-items:center}.toolbar .markAllAsRead-btn{background:none;border:none;margin:0;padding:0;cursor:pointer;font-size:.75rem;line-height:1rem;display:flex;align-items:center;color:#fff}.no-notifications{margin-top:1.25rem;display:flex;justify-content:center;align-items:center}.no-notifications p{text-align:center;color:#b4bac6}.notifications-container{height:100%;overflow:scroll}.notifications-container ::-webkit-scrollbar{width:8px}.notifications-container mat-list{padding:16px;display:grid;grid-row-gap:8px;row-gap:8px}.scroll::-webkit-scrollbar-thumb{background-color:#d9dce2}div[scrollx=true],div[scrolly=true]{position:relative;overflow:hidden;max-height:80vh}div[scrollx=true] ::-webkit-scrollbar,div[scrolly=true] ::-webkit-scrollbar{display:none}div[scrollx=true]{overflow-x:auto}div[scrolly=true]{overflow-y:auto}ion-toolbar{min-height:40px;height:40px;--min-height: 40px;box-shadow:0 0 1px 1px #cbcbcb}ion-toolbar ion-title{height:14px;font-size:13px;font-weight:bold}ion-toolbar ion-button{font-size:12px;letter-spacing:0px}ion-item-divider{--background: rgba(var(--ion-color-light-rgb), 1);color:#666}\n"], components: [{ type: i4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i5.NotificationItemComponent, selector: "app-notification-item", inputs: ["notification", "isArabic"], outputs: ["update"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i8.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
151
+ NotificationsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsListComponent, selector: "app-notifications-list", outputs: { listItemClick: "listItemClick" }, host: { classAttribute: "notification-list" }, ngImport: i0, template: "<div class=\"toolbar\">\r\n <div class=\"title\">\r\n <div>{{ \"notifications.notifications\" | translate }}</div>\r\n </div>\r\n <div class=\"flex justify-end\">\r\n <button\r\n mat-button\r\n (click)=\"markAllAsRead()\"\r\n size=\"small\"\r\n fill=\"none\"\r\n class=\"markAllAsRead-btn\"\r\n >\r\n {{ \"notifications.markAllAsRead\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n<!-- [matTooltip]=\"'notifications.markAllAsRead' | translate\"\r\n [matTooltipPosition]=\"'before'\" -->\r\n<div *ngIf=\"!notifications?.length\" class=\"no-notifications\">\r\n <p *ngIf=\"!notificationsService.loading\">\r\n {{ \"notifications.noNotifications\" | translate }}\r\n </p>\r\n <p *ngIf=\"notificationsService.loading\">\r\n {{ \"notifications.loading_notification\" | translate }}\r\n </p>\r\n</div>\r\n<div\r\n infiniteScroll\r\n [scrollWindow]=\"false\"\r\n [infiniteScrollDistance]=\"scrollDistance\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n (scrolled)=\"onScrollDown()\"\r\n class=\"notifications-container scroll\"\r\n>\r\n <mat-list class=\"\">\r\n <ng-container\r\n *ngFor=\"\r\n let notification of notifications;\r\n let i = index;\r\n trackBy: trackBy\r\n \"\r\n >\r\n <!-- <mat-divider class=\"marginize\"></mat-divider> -->\r\n <app-notification-item\r\n (click)=\"openNotification(notification)\"\r\n (update)=\"onUpdate($event)\"\r\n [notification]=\"notification\"\r\n [isArabic]=\"isArabic\"\r\n ></app-notification-item>\r\n </ng-container>\r\n <div\r\n *ngIf=\"loading\"\r\n style=\"display: grid; place-items: center; margin-top: 10px\"\r\n >\r\n <mat-spinner [diameter]=\"48\" style=\"margin: 0 auto\"></mat-spinner>\r\n </div>\r\n </mat-list>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}:host{height:100%;position:relative}.toolbar{background-image:linear-gradient(to right,#0dbab5,#1a96c6);display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;padding:.25rem 1.5rem}.toolbar .title{font-size:1.125rem;line-height:1.75rem;display:flex;align-items:center}.toolbar .markAllAsRead-btn{background:none;border:none;margin:0;padding:0;cursor:pointer;font-size:.75rem;line-height:1rem;display:flex;align-items:center;color:#fff}.no-notifications{margin-top:1.25rem;display:flex;justify-content:center;align-items:center}.no-notifications p{text-align:center;color:#b4bac6}.notifications-container{height:100%;overflow:scroll}.notifications-container ::-webkit-scrollbar{width:8px}.notifications-container mat-list{padding:16px;display:grid;grid-row-gap:8px;row-gap:8px}.scroll::-webkit-scrollbar-thumb{background-color:#d9dce2}div[scrollx=true],div[scrolly=true]{position:relative;overflow:hidden;max-height:80vh}div[scrollx=true] ::-webkit-scrollbar,div[scrolly=true] ::-webkit-scrollbar{display:none}div[scrollx=true]{overflow-x:auto}div[scrolly=true]{overflow-y:auto}ion-toolbar{min-height:40px;height:40px;--min-height: 40px;box-shadow:0 0 1px 1px #cbcbcb}ion-toolbar ion-title{height:14px;font-size:13px;font-weight:bold}ion-toolbar ion-button{font-size:12px;letter-spacing:0px}ion-item-divider{--background: rgba(var(--ion-color-light-rgb), 1);color:#666}\n"], components: [{ type: i4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i5.NotificationItemComponent, selector: "app-notification-item", inputs: ["notification", "isArabic"], outputs: ["update"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i8.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
152
152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: NotificationsListComponent, decorators: [{
153
153
  type: Component,
154
154
  args: [{
@@ -161,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
161
161
  }], ctorParameters: function () { return [{ type: i1.NotificationsService }, { type: i0.ChangeDetectorRef }, { type: i2.DatePipe }, { type: i3.TranslationService }]; }, propDecorators: { listItemClick: [{
162
162
  type: Output
163
163
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMtbGlzdC9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQWEsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBS2pIOztHQUVHO0FBUUgsTUFBTSxPQUFPLDBCQUEwQjtJQXdDckMsWUFDUyxvQkFBMEMsRUFDekMsR0FBc0IsRUFDdkIsUUFBa0IsRUFDakIsa0JBQXNDO1FBSHZDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDekMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNqQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBMUNoRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJbkMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFPakIsYUFBUSxHQUFHLElBQUksQ0FBQztRQU9oQixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBT1osV0FBTSxHQUFHLHFCQUFxQixDQUFDO1FBUS9CLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixtQkFBYyxHQUFHLENB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QUFhO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zU2VydmljZSB9IGZyb20gXCIuLi8uLi9ub3RpZmljYXRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvcmUvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZVwiO1xyXG5cclxuLyoqXHJcbiAqIE5vdGlmaWNhdGlvbnMgTW9kYWwgQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtbm90aWZpY2F0aW9ucy1saXN0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vbm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIGhvc3Q6IHsgY2xhc3M6IFwibm90aWZpY2F0aW9uLWxpc3RcIiB9LFxyXG4gIGVuY2Fwc3VsYXRpb24gOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgpXHJcbiAgbGlzdEl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBnZXQgbm90aWZpY2F0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLm5vdGlmaWNhdGlvbnM7XHJcbiAgfVxyXG4gIF9pdGVtSGVpZ2h0ID0gNzk7XHJcbiAgZ2V0IGl0ZW1IZWlnaHQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtSGVpZ2h0O1xyXG4gIH1cclxuICBzZXQgaXRlbUhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9pdGVtSGVpZ2h0ID0gdmFsdWU7XHJcbiAgfVxyXG4gIF9kaXZpZGVyID0gdHJ1ZTtcclxuICBnZXQgZGl2aWRlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXZpZGVyO1xyXG4gIH1cclxuICBzZXQgZGl2aWRlcih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGl2aWRlciA9IHZhbHVlO1xyXG4gIH1cclxuICBfYWxsID0gdHJ1ZTtcclxuICBnZXQgYWxsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FsbDtcclxuICB9XHJcbiAgc2V0IGFsbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYWxsID0gdmFsdWU7XHJcbiAgfVxyXG4gIF90aXRsZSA9IFwibm90aWZpY2F0aW9ucy50aXRsZVwiO1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RpdGxlO1xyXG4gIH1cclxuICBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdGl0bGUgPSB2YWx1ZTtcclxuICB9XHJcbiAgaXNBcmFiaWM7XHJcbiAgdGhyb3R0bGUgPSAzMDA7XHJcbiAgc2Nyb2xsRGlzdGFuY2UgPSA3O1xyXG4gIHNjcm9sbFVwRGlzdGFuY2UgPSAyO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBoYXNNb3JlID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBub3RpZmljYXRpb25zU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZVxyXG4gICkge31cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlQ29udGVudEJhc2VkT25Vc2VyTGFuZygpO1xyXG4gIH1cclxuICBtYXJrQWxsQXNSZWFkKCkge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5tYXJrQWxsQXNSZWFkKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbikge1xyXG4gICAgaWYgKG5vdGlmaWNhdGlvbi5zdGF0dXMgPT09IFwiVU5fUkVBRFwiIHx8IG5vdGlmaWNhdGlvbi5zdGF0dXMgPT09IFwiTkVXXCIpIHtcclxuICAgICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS51cGRhdGVTdGF0dXMobm90aWZpY2F0aW9uLCB0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMubGlzdEl0ZW1DbGljay5uZXh0KG5vdGlmaWNhdGlvbik7XHJcbiAgICAvLyBkbyBzb21ldGhpbmcgd2hlbiBub3RpZmljYXRpb24gY2xpY2tlZFxyXG4gIH1cclxuICBvblVwZGF0ZShkYXRhKSB7XHJcbiAgICBpZiAoZGF0YS5ub3RpZmljYXRpb24pIHtcclxuICAgICAgc3dpdGNoIChkYXRhLmFjdGlvbikge1xyXG4gICAgICAgIGNhc2UgXCJkZWxldGVcIjpcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UuZGVsZXRlTm90aWZpY2F0aW9uKGRhdGEubm90aWZpY2F0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJzdGF0dXNcIjpcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UudXBkYXRlU3RhdHVzKGRhdGEubm90aWZpY2F0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRyYWNrQnkoaW5kZXgsIGl0ZW0pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuICBoYW5kbGVPcGVuKGl0ZW0pIHtcclxuICAgIC8vIHRoaXMubW9kYWxDb250cm9sbGVyLmRpc21pc3MoKTtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UudXBkYXRlU3RhdHVzKGl0ZW0sIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgY29tcGFyZURhdGUgPSAoaXRlbSwgaXRlbUluZGV4LCBpdGVtcykgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmRpdmlkZXIpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCBpdGVtRGF0ZSA9IG5ldyBEYXRlKGl0ZW0uc2VuZERhdGUpO1xyXG4gICAgY29uc3QgaXNUb2RheSA9XHJcbiAgICAgIGl0ZW1EYXRlLmdldERhdGUoKSA9PT0gdG9kYXkuZ2V0RGF0ZSgpICYmXHJcbiAgICAgIGl0ZW1EYXRlLmdldE1vbnRoKCkgPT09IHRvZGF5LmdldE1vbnRoKCkgJiZcclxuICAgICAgaXRlbURhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdG9kYXkuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IHByZXZJdGVtID0gaXRlbXNbaXRlbUluZGV4IC0gMV07XHJcbiAgICBsZXQgaXNQcmV2VG9kYXkgPSAwO1xyXG4gICAgaWYgKHByZXZJdGVtKSB7XHJcbiAgICAgIGNvbnN0IE5leHRJdGVtRGF0ZSA9IG5ldyBEYXRlKHByZXZJdGVtLnNlbmREYXRlKTtcclxuICAgICAgaXNQcmV2VG9kYXkgPVxyXG4gICAgICAgIE5leHRJdGVtRGF0ZS5nZXREYXRlKCkgPT09IHRvZGF5LmdldERhdGUoKSAmJlxyXG4gICAgICAgIE5leHRJdGVtRGF0ZS5nZXRNb250aCgpID09PSB0b2RheS5nZXRNb250aCgpICYmXHJcbiAgICAgICAgTmV4dEl0ZW1EYXRlLmdldEZ1bGxZZWFyKCkgPT09IHRvZGF5LmdldEZ1bGxZZWFyKClcclxuICAgICAgICAgID8gMlxyXG4gICAgICAgICAgOiAxO1xyXG4gICAgfVxyXG4gICAgaWYgKCFpc1RvZGF5ICYmIChpc1ByZXZUb2RheSA9PT0gMCB8fCBpc1ByZXZUb2RheSA9PT0gMikpIHtcclxuICAgICAgcmV0dXJuIFwibm90aWZpY2F0aW9ucy5lYXJsaWVyXCI7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNUb2RheSAmJiAoaXNQcmV2VG9kYXkgPT09IDAgfHwgaXNQcmV2VG9kYXkgPT09IDEpKSB7XHJcbiAgICAgIHJldHVybiBcIm5vdGlmaWNhdGlvbnMubmV3XCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9O1xyXG5cclxuICBnZXRJdGVtSGVpZ2h0ID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbUhlaWdodDtcclxuICB9O1xyXG5cclxuICBnb1RvRGV0YWlscyhub3RpZmljYXRpb24pIHt9XHJcblxyXG4gIG9uU2Nyb2xsRG93bigpIHtcclxuICAgIGlmICh0aGlzLmhhc01vcmUpIHtcclxuICAgICAgdGhpcy5mZXRjaE1vcmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZmV0Y2hNb3JlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UuZmV0Y2hOb3RpZmljYXRpb25zKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgZGF0YVtcIml0ZW1zXCJdLmxlbmd0aCA9PT0gMCB8fFxyXG4gICAgICAgIGRhdGFbXCJpdGVtc1wiXS5sZW5ndGggPCB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLnBhZ2VTaXplXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuaGFzTW9yZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5yZXNldCgpO1xyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIC8vICB0aGlzLm1vZGFsQ29udHJvbGxlci5kaXNtaXNzKCk7XHJcbiAgfVxyXG4gIGNoYW5nZUNvbnRlbnRCYXNlZE9uVXNlckxhbmcoKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNBcmFiaWMgPSBhcjtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidG9vbGJhclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgPGRpdj57eyBcIm5vdGlmaWNhdGlvbnMubm90aWZpY2F0aW9uc1wiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmRcIj5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAoY2xpY2spPVwibWFya0FsbEFzUmVhZCgpXCJcclxuICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICBjbGFzcz1cIm1hcmtBbGxBc1JlYWQtYnRuXCJcclxuICAgID5cclxuICAgICAge3sgXCJub3RpZmljYXRpb25zLm1hcmtBbGxBc1JlYWRcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tIFttYXRUb29sdGlwXT1cIidub3RpZmljYXRpb25zLm1hcmtBbGxBc1JlYWQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYmVmb3JlJ1wiIC0tPlxyXG48ZGl2ICpuZ0lmPVwiIW5vdGlmaWNhdGlvbnM/Lmxlbmd0aFwiIGNsYXNzPVwibm8tbm90aWZpY2F0aW9uc1wiPlxyXG4gIDxwPlxyXG4gICAge3sgXCJub3RpZmljYXRpb25zLm5vTm90aWZpY2F0aW9uc1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9wPlxyXG48L2Rpdj5cclxuPGRpdlxyXG4gIGluZmluaXRlU2Nyb2xsXHJcbiAgW3Njcm9sbFdpbmRvd109XCJmYWxzZVwiXHJcbiAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwic2Nyb2xsRGlzdGFuY2VcIlxyXG4gIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cInRocm90dGxlXCJcclxuICAoc2Nyb2xsZWQpPVwib25TY3JvbGxEb3duKClcIlxyXG4gIGNsYXNzPVwibm90aWZpY2F0aW9ucy1jb250YWluZXIgc2Nyb2xsXCJcclxuPlxyXG4gIDxtYXQtbGlzdCBjbGFzcz1cIlwiPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdGb3I9XCJcclxuICAgICAgICBsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnM7XHJcbiAgICAgICAgbGV0IGkgPSBpbmRleDtcclxuICAgICAgICB0cmFja0J5OiB0cmFja0J5XHJcbiAgICAgIFwiXHJcbiAgICA+XHJcbiAgICAgIDwhLS0gPG1hdC1kaXZpZGVyIGNsYXNzPVwibWFyZ2luaXplXCI+PC9tYXQtZGl2aWRlcj4gLS0+XHJcbiAgICAgIDxhcHAtbm90aWZpY2F0aW9uLWl0ZW1cclxuICAgICAgICAoY2xpY2spPVwib3Blbk5vdGlmaWNhdGlvbihub3RpZmljYXRpb24pXCJcclxuICAgICAgICAodXBkYXRlKT1cIm9uVXBkYXRlKCRldmVudClcIlxyXG4gICAgICAgIFtub3RpZmljYXRpb25dPVwibm90aWZpY2F0aW9uXCJcclxuICAgICAgICBbaXNBcmFiaWNdPVwiaXNBcmFiaWNcIlxyXG4gICAgICA+PC9hcHAtbm90aWZpY2F0aW9uLWl0ZW0+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcclxuICAgICAgc3R5bGU9XCJkaXNwbGF5OiBncmlkOyBwbGFjZS1pdGVtczogY2VudGVyOyBtYXJnaW4tdG9wOiAxMHB4XCJcclxuICAgID5cclxuICAgICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCI0OFwiIHN0eWxlPVwibWFyZ2luOiAwIGF1dG9cIj48L21hdC1zcGlubmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtbGlzdD5cclxuPC9kaXY+XHJcbiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMtbGlzdC9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL2NvbXBvbmVudHMvbm90aWZpY2F0aW9ucy1saXN0L25vdGlmaWNhdGlvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQWEsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0FBS2pIOztHQUVHO0FBUUgsTUFBTSxPQUFPLDBCQUEwQjtJQXdDckMsWUFDUyxvQkFBMEMsRUFDekMsR0FBc0IsRUFDdkIsUUFBa0IsRUFDakIsa0JBQXNDO1FBSHZDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDekMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNqQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBMUNoRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFJbkMsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFPakIsYUFBUSxHQUFHLElBQUksQ0FBQztRQU9oQixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBT1osV0FBTSxHQUFHLHFCQUFxQixDQUFDO1FBUS9CLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixtQkFBYyxHQUFHLENB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QUFhO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25zU2VydmljZSB9IGZyb20gXCIuLi8uLi9ub3RpZmljYXRpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL0NvcmUvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZVwiO1xyXG5cclxuLyoqXHJcbiAqIE5vdGlmaWNhdGlvbnMgTW9kYWwgQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtbm90aWZpY2F0aW9ucy1saXN0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9ub3RpZmljYXRpb25zLWxpc3QuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vbm90aWZpY2F0aW9ucy1saXN0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIGhvc3Q6IHsgY2xhc3M6IFwibm90aWZpY2F0aW9uLWxpc3RcIiB9LFxyXG4gIGVuY2Fwc3VsYXRpb24gOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgpXHJcbiAgbGlzdEl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBnZXQgbm90aWZpY2F0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLm5vdGlmaWNhdGlvbnM7XHJcbiAgfVxyXG4gIF9pdGVtSGVpZ2h0ID0gNzk7XHJcbiAgZ2V0IGl0ZW1IZWlnaHQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtSGVpZ2h0O1xyXG4gIH1cclxuICBzZXQgaXRlbUhlaWdodCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9pdGVtSGVpZ2h0ID0gdmFsdWU7XHJcbiAgfVxyXG4gIF9kaXZpZGVyID0gdHJ1ZTtcclxuICBnZXQgZGl2aWRlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXZpZGVyO1xyXG4gIH1cclxuICBzZXQgZGl2aWRlcih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGl2aWRlciA9IHZhbHVlO1xyXG4gIH1cclxuICBfYWxsID0gdHJ1ZTtcclxuICBnZXQgYWxsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FsbDtcclxuICB9XHJcbiAgc2V0IGFsbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYWxsID0gdmFsdWU7XHJcbiAgfVxyXG4gIF90aXRsZSA9IFwibm90aWZpY2F0aW9ucy50aXRsZVwiO1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RpdGxlO1xyXG4gIH1cclxuICBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdGl0bGUgPSB2YWx1ZTtcclxuICB9XHJcbiAgaXNBcmFiaWM7XHJcbiAgdGhyb3R0bGUgPSAzMDA7XHJcbiAgc2Nyb2xsRGlzdGFuY2UgPSA3O1xyXG4gIHNjcm9sbFVwRGlzdGFuY2UgPSAyO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBoYXNNb3JlID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBub3RpZmljYXRpb25zU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZVxyXG4gICkge31cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlQ29udGVudEJhc2VkT25Vc2VyTGFuZygpO1xyXG4gIH1cclxuICBtYXJrQWxsQXNSZWFkKCkge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5tYXJrQWxsQXNSZWFkKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbikge1xyXG4gICAgaWYgKG5vdGlmaWNhdGlvbi5zdGF0dXMgPT09IFwiVU5fUkVBRFwiIHx8IG5vdGlmaWNhdGlvbi5zdGF0dXMgPT09IFwiTkVXXCIpIHtcclxuICAgICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS51cGRhdGVTdGF0dXMobm90aWZpY2F0aW9uLCB0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMubGlzdEl0ZW1DbGljay5uZXh0KG5vdGlmaWNhdGlvbik7XHJcbiAgICAvLyBkbyBzb21ldGhpbmcgd2hlbiBub3RpZmljYXRpb24gY2xpY2tlZFxyXG4gIH1cclxuICBvblVwZGF0ZShkYXRhKSB7XHJcbiAgICBpZiAoZGF0YS5ub3RpZmljYXRpb24pIHtcclxuICAgICAgc3dpdGNoIChkYXRhLmFjdGlvbikge1xyXG4gICAgICAgIGNhc2UgXCJkZWxldGVcIjpcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UuZGVsZXRlTm90aWZpY2F0aW9uKGRhdGEubm90aWZpY2F0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJzdGF0dXNcIjpcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UudXBkYXRlU3RhdHVzKGRhdGEubm90aWZpY2F0aW9uKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHRyYWNrQnkoaW5kZXgsIGl0ZW0pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuICBoYW5kbGVPcGVuKGl0ZW0pIHtcclxuICAgIC8vIHRoaXMubW9kYWxDb250cm9sbGVyLmRpc21pc3MoKTtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UudXBkYXRlU3RhdHVzKGl0ZW0sIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgY29tcGFyZURhdGUgPSAoaXRlbSwgaXRlbUluZGV4LCBpdGVtcykgPT4ge1xyXG4gICAgaWYgKCF0aGlzLmRpdmlkZXIpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCBpdGVtRGF0ZSA9IG5ldyBEYXRlKGl0ZW0uc2VuZERhdGUpO1xyXG4gICAgY29uc3QgaXNUb2RheSA9XHJcbiAgICAgIGl0ZW1EYXRlLmdldERhdGUoKSA9PT0gdG9kYXkuZ2V0RGF0ZSgpICYmXHJcbiAgICAgIGl0ZW1EYXRlLmdldE1vbnRoKCkgPT09IHRvZGF5LmdldE1vbnRoKCkgJiZcclxuICAgICAgaXRlbURhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdG9kYXkuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IHByZXZJdGVtID0gaXRlbXNbaXRlbUluZGV4IC0gMV07XHJcbiAgICBsZXQgaXNQcmV2VG9kYXkgPSAwO1xyXG4gICAgaWYgKHByZXZJdGVtKSB7XHJcbiAgICAgIGNvbnN0IE5leHRJdGVtRGF0ZSA9IG5ldyBEYXRlKHByZXZJdGVtLnNlbmREYXRlKTtcclxuICAgICAgaXNQcmV2VG9kYXkgPVxyXG4gICAgICAgIE5leHRJdGVtRGF0ZS5nZXREYXRlKCkgPT09IHRvZGF5LmdldERhdGUoKSAmJlxyXG4gICAgICAgIE5leHRJdGVtRGF0ZS5nZXRNb250aCgpID09PSB0b2RheS5nZXRNb250aCgpICYmXHJcbiAgICAgICAgTmV4dEl0ZW1EYXRlLmdldEZ1bGxZZWFyKCkgPT09IHRvZGF5LmdldEZ1bGxZZWFyKClcclxuICAgICAgICAgID8gMlxyXG4gICAgICAgICAgOiAxO1xyXG4gICAgfVxyXG4gICAgaWYgKCFpc1RvZGF5ICYmIChpc1ByZXZUb2RheSA9PT0gMCB8fCBpc1ByZXZUb2RheSA9PT0gMikpIHtcclxuICAgICAgcmV0dXJuIFwibm90aWZpY2F0aW9ucy5lYXJsaWVyXCI7XHJcbiAgICB9XHJcbiAgICBpZiAoaXNUb2RheSAmJiAoaXNQcmV2VG9kYXkgPT09IDAgfHwgaXNQcmV2VG9kYXkgPT09IDEpKSB7XHJcbiAgICAgIHJldHVybiBcIm5vdGlmaWNhdGlvbnMubmV3XCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9O1xyXG5cclxuICBnZXRJdGVtSGVpZ2h0ID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbUhlaWdodDtcclxuICB9O1xyXG5cclxuICBnb1RvRGV0YWlscyhub3RpZmljYXRpb24pIHt9XHJcblxyXG4gIG9uU2Nyb2xsRG93bigpIHtcclxuICAgIGlmICh0aGlzLmhhc01vcmUpIHtcclxuICAgICAgdGhpcy5mZXRjaE1vcmUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZmV0Y2hNb3JlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uc1NlcnZpY2UuZmV0Y2hOb3RpZmljYXRpb25zKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgZGF0YVtcIml0ZW1zXCJdLmxlbmd0aCA9PT0gMCB8fFxyXG4gICAgICAgIGRhdGFbXCJpdGVtc1wiXS5sZW5ndGggPCB0aGlzLm5vdGlmaWNhdGlvbnNTZXJ2aWNlLnBhZ2VTaXplXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuaGFzTW9yZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zU2VydmljZS5yZXNldCgpO1xyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIC8vICB0aGlzLm1vZGFsQ29udHJvbGxlci5kaXNtaXNzKCk7XHJcbiAgfVxyXG4gIGNoYW5nZUNvbnRlbnRCYXNlZE9uVXNlckxhbmcoKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNBcmFiaWMgPSBhcjtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidG9vbGJhclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gICAgPGRpdj57eyBcIm5vdGlmaWNhdGlvbnMubm90aWZpY2F0aW9uc1wiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmRcIj5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAoY2xpY2spPVwibWFya0FsbEFzUmVhZCgpXCJcclxuICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgZmlsbD1cIm5vbmVcIlxyXG4gICAgICBjbGFzcz1cIm1hcmtBbGxBc1JlYWQtYnRuXCJcclxuICAgID5cclxuICAgICAge3sgXCJub3RpZmljYXRpb25zLm1hcmtBbGxBc1JlYWRcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tIFttYXRUb29sdGlwXT1cIidub3RpZmljYXRpb25zLm1hcmtBbGxBc1JlYWQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCInYmVmb3JlJ1wiIC0tPlxyXG48ZGl2ICpuZ0lmPVwiIW5vdGlmaWNhdGlvbnM/Lmxlbmd0aFwiIGNsYXNzPVwibm8tbm90aWZpY2F0aW9uc1wiPlxyXG4gIDxwICpuZ0lmPVwiIW5vdGlmaWNhdGlvbnNTZXJ2aWNlLmxvYWRpbmdcIj5cclxuICAgIHt7IFwibm90aWZpY2F0aW9ucy5ub05vdGlmaWNhdGlvbnNcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvcD5cclxuICA8cCAqbmdJZj1cIm5vdGlmaWNhdGlvbnNTZXJ2aWNlLmxvYWRpbmdcIj5cclxuICAgIHt7IFwibm90aWZpY2F0aW9ucy5sb2FkaW5nX25vdGlmaWNhdGlvblwiIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9wPlxyXG48L2Rpdj5cclxuPGRpdlxyXG4gIGluZmluaXRlU2Nyb2xsXHJcbiAgW3Njcm9sbFdpbmRvd109XCJmYWxzZVwiXHJcbiAgW2luZmluaXRlU2Nyb2xsRGlzdGFuY2VdPVwic2Nyb2xsRGlzdGFuY2VcIlxyXG4gIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cInRocm90dGxlXCJcclxuICAoc2Nyb2xsZWQpPVwib25TY3JvbGxEb3duKClcIlxyXG4gIGNsYXNzPVwibm90aWZpY2F0aW9ucy1jb250YWluZXIgc2Nyb2xsXCJcclxuPlxyXG4gIDxtYXQtbGlzdCBjbGFzcz1cIlwiPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdGb3I9XCJcclxuICAgICAgICBsZXQgbm90aWZpY2F0aW9uIG9mIG5vdGlmaWNhdGlvbnM7XHJcbiAgICAgICAgbGV0IGkgPSBpbmRleDtcclxuICAgICAgICB0cmFja0J5OiB0cmFja0J5XHJcbiAgICAgIFwiXHJcbiAgICA+XHJcbiAgICAgIDwhLS0gPG1hdC1kaXZpZGVyIGNsYXNzPVwibWFyZ2luaXplXCI+PC9tYXQtZGl2aWRlcj4gLS0+XHJcbiAgICAgIDxhcHAtbm90aWZpY2F0aW9uLWl0ZW1cclxuICAgICAgICAoY2xpY2spPVwib3Blbk5vdGlmaWNhdGlvbihub3RpZmljYXRpb24pXCJcclxuICAgICAgICAodXBkYXRlKT1cIm9uVXBkYXRlKCRldmVudClcIlxyXG4gICAgICAgIFtub3RpZmljYXRpb25dPVwibm90aWZpY2F0aW9uXCJcclxuICAgICAgICBbaXNBcmFiaWNdPVwiaXNBcmFiaWNcIlxyXG4gICAgICA+PC9hcHAtbm90aWZpY2F0aW9uLWl0ZW0+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcclxuICAgICAgc3R5bGU9XCJkaXNwbGF5OiBncmlkOyBwbGFjZS1pdGVtczogY2VudGVyOyBtYXJnaW4tdG9wOiAxMHB4XCJcclxuICAgID5cclxuICAgICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCI0OFwiIHN0eWxlPVwibWFyZ2luOiAwIGF1dG9cIj48L21hdC1zcGlubmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtbGlzdD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -36,6 +36,7 @@ export class NotificationsService {
36
36
  this.base = "";
37
37
  this.profile = { id: this.nuxeoService.nuxeoClient.user.id };
38
38
  this.systemLang = "";
39
+ this.loading = false;
39
40
  if (this.profile.id) {
40
41
  this.getCount().subscribe(() => {
41
42
  this.connect();
@@ -67,6 +68,7 @@ export class NotificationsService {
67
68
  this._notifications = [];
68
69
  }
69
70
  fetchNotifications() {
71
+ this.loading = true;
70
72
  return this.getNotifications(this.profile.id, {
71
73
  page: this._notifications.length > 0
72
74
  ? Math.ceil(this._notifications.length / this.pageSize)
@@ -77,6 +79,7 @@ export class NotificationsService {
77
79
  sorted: true,
78
80
  lang: this.translationService.userLang.toUpperCase(),
79
81
  }).pipe(map((notifications) => {
82
+ this.loading = false;
80
83
  if (notifications.items) {
81
84
  this._notifications = this._notifications.concat(notifications.items);
82
85
  return notifications;
@@ -87,6 +90,7 @@ export class NotificationsService {
87
90
  }
88
91
  }), catchError(() => {
89
92
  this._notifications = [];
93
+ this.loading = false;
90
94
  return [];
91
95
  }));
92
96
  }
@@ -288,4 +292,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
288
292
  type: Inject,
289
293
  args: ["environment"]
290
294
  }] }]; } });
291
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxLQUFLLEtBQUssTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQU96QyxNQUFNLE9BQU8sb0JBQW9CO0lBd0IvQixZQUNVLElBQWdCLEVBQ2pCLE1BQWMsRUFDZCxZQUEwQixFQUN6QixRQUF5QixFQUN6QixhQUE2QixFQUM3QixXQUFnQyxFQUNoQyxvQkFBNEMsRUFDNUMsa0JBQXNDLEVBQ2YsV0FBVztRQVJsQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFDN0IsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBQ2hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBd0I7UUFDNUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFBO1FBaEM1QyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLHFCQUFnQixHQUFRLElBQUksQ0FBQztRQUM3QixxQkFBZ0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6RCxXQUFNLEdBQXVCLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBSU4sbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFJcEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBSWhDLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixZQUFPLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3hELGVBQVUsR0FBRyxFQUFFLENBQUM7UUFhZCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUM3QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQS9CRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUEwQkQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUM1QyxJQUFJLEVBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLENBQUM7WUFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDbkIsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsZUFBZTtZQUNyQixNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtTQUNyRCxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLGFBQWtCLEVBQUUsRUFBRTtZQUN6QixJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0RSxPQUFPLGFBQWEsQ0FBQzthQUN0QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWSxDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsS0FBSztRQUN2QyxNQUFNLElBQUksR0FDUixZQUFZLENBQUMsTUFBTSxLQUFLLFNBQVM7WUFDakMsWUFBWSxDQUFDLE1BQU0sS0FBSyxLQUFLO1lBQzdCLE1BQU0sQ0FBQztRQUNULElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDaEQsWUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDbEQsWUFBWSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxZQUFZO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLFlBQVksQ0FBQyxFQUFFLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDckMsT0FBTztpQkFDUjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLEVBQUU7UUFDdkMsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsaUNBQWlDLE1BQU0sRUFBRSxDQUFDO1FBQzVGLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQU0sUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUM7YUFDaEUsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNiLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDN0MsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDckMsQ0FBQyxDQUFDLEVBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDcEQsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUNoQixRQUFRLEVBQUUsQ0FDWCxDQUFDO0lBQ04sQ0FBQztJQUNELFVBQVUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLEVBQUU7UUFDakMsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsc0NBQXNDLE1BQU0sRUFBRSxDQUFDO1FBQ2pHLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQU0sUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxlQUFlLENBQUMsTUFBTSxFQUFFLFdBQVcsR0FBRyxFQUFFO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLHdDQUF3QyxNQUFNLEVBQUUsQ0FBQztRQUNuRyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFNLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQzthQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQU0sRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUNwQyxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSx5Q0FBeUMsTUFBTSxFQUFFLENBQUM7UUFDcEcsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBTSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUM7YUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELGVBQWUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLEVBQUU7UUFDdEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsMkNBQTJDLE1BQU0sRUFBRSxDQUFDO1FBQ3RHLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQU0sUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxZQUFZLENBQUMsY0FBYyxFQUFFLFdBQVcsR0FBRyxFQUFFO1FBQzNDLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLHdDQUF3QyxjQUFjLEVBQUUsQ0FBQztRQUMzRyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFNLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQzthQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsY0FBYyxDQUFDLGNBQWMsRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUM3QyxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSwwQ0FBMEMsY0FBYyxFQUFFLENBQUM7UUFDN0csT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBTSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUM7YUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELG9CQUFvQixDQUFDLGNBQWMsRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUNuRCxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSw2QkFBNkIsY0FBYyxFQUFFLENBQUM7UUFDaEcsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLE1BQU0sQ0FBTSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUM7YUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ08sV0FBVyxDQUFJLFNBQVMsR0FBRyxXQUFXLEVBQUUsTUFBVTtRQUN4RCxPQUFPLENBQUMsS0FBVSxFQUFpQixFQUFFO1lBQ25DLHdEQUF3RDtZQUN4RCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMseUJBQXlCO1lBRS9DLDhEQUE4RDtZQUM5RCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxZQUFZLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBRXJELHlEQUF5RDtZQUN6RCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN6QyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7Z0JBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzthQUNuQztZQUVELE9BQU8sRUFBRSxDQUFDLE1BQVcsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFDSyxPQUFPOztZQUNYLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksRUFBRTtnQkFDbEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUMzQztZQUNELDJGQUEyRjtZQUMzRixJQUFJLEdBQUcsQ0FBQztZQUNSLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxrQkFBa0IsQ0FBQyxDQUFDLEtBQUs7WUFDaEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sT0FBTyxHQUFHO2dCQUNkLHdCQUF3QjtnQkFDeEIseUJBQXlCO2dCQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUEsQ0FBQyxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFO2FBQzFHLENBQUM7WUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNyQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO29CQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDO0tBQUE7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2FBQzFCO1lBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztTQUNuQzthQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FDMUMsMEJBQTBCLEVBQzFCLENBQUMsSUFBSSxFQUFFLEVBQUU7d0JBQ1AsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUMxQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUMzQyxDQUFDLENBQ0YsQ0FBQztpQkFDSDtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsU0FBUyxDQUFDLHFCQUFxQixFQUFFO1lBQ2hDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUU7U0FDckUsQ0FBQzthQUNELE1BQU0sQ0FBQztZQUNOLGNBQWMsRUFBRSxNQUFNO1lBQ3RCLGVBQWUsRUFBRSwrQ0FBK0M7WUFDaEUsT0FBTyxFQUNMLDJFQUEyRTtZQUM3RSxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQ3JCLENBQUM7YUFDRCxLQUFLLENBQUMsc0NBQXNDLENBQUM7YUFDN0MsT0FBTyxFQUFFLENBQ2IsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hELFVBQVUsR0FBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkUsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7aUhBdlNVLG9CQUFvQixtUUFpQ3JCLGFBQWE7cUhBakNaLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFrQ04sTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSBcImtleWNsb2FrLWFuZ3VsYXJcIjtcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHB1Ymxpc2hSZXBsYXksIHJlZkNvdW50IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCAqIGFzIFNvY2tKUyBmcm9tIFwic29ja2pzLWNsaWVudFwiO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlXCI7XHJcbmltcG9ydCAqIGFzIFN0b21wIGZyb20gXCJ3ZWJzdG9tcC1jbGllbnRcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL0NvcmUvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vQ29yZS9zZXJ2aWNlcy9sb2NhbFN0b3JhZy9sb2NhbC1zdG9yYWcuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJbml0aWFsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vQ29yZS9zZXJ2aWNlcy9pbml0aWFsaXphdGlvbi9pbml0aWFsaXphdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zU2VydmljZSB7XHJcbiAgc3RvbXBDbGllbnQgPSBudWxsO1xyXG4gIHN1YnNjcmliZXIgPSBudWxsO1xyXG4gIGNvbm5lY3Rpb246IFByb21pc2U8YW55PjtcclxuICBjb25uZWN0ZWRQcm9taXNlOiBhbnkgPSBudWxsO1xyXG4gIGxpc3RlbmVyT2JzZXJ2ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHVwZGF0ZTogUmVwbGF5U3ViamVjdDxhbnk+ID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XHJcbiAgYWxyZWFkeUNvbm5lY3RlZE9uY2UgPSBmYWxzZTtcclxuICBwYWdlU2l6ZSA9IDE1O1xyXG5cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3RvbXAuU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIF9ub3RpZmljYXRpb25zID0gW107XHJcbiAgZ2V0IG5vdGlmaWNhdGlvbnMoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9ub3RpZmljYXRpb25zO1xyXG4gIH1cclxuICBwcml2YXRlIF9ub3RpZmljYXRpb25zQ291bnQgPSAwO1xyXG4gIGdldCBub3RpZmljYXRpb25zQ291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9ub3RpZmljYXRpb25zQ291bnQ7XHJcbiAgfVxyXG4gIGJhc2UgPSBcIlwiO1xyXG4gIHByb2ZpbGUgPSB7IGlkOiB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLmlkIH07XHJcbiAgc3lzdGVtTGFuZyA9IFwiXCI7XHJcbiAgbGFuZ0NoYW5nZWQ6IGJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwdWJsaWMgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGtleWNsb2FrOiBLZXljbG9ha1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2UgOiBDb29raWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2NhbFN0b3JhZyA6IExvY2FsU3RvcmFnU2VydmljZSxcclxuICAgIHByaXZhdGUgaW50aWFsaXphdGlvblNlcnZpY2UgOiBJbml0aWFsaXphdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgQEluamVjdChcImVudmlyb25tZW50XCIpIHByaXZhdGUgZW52aXJvbm1lbnRcclxuICApIHtcclxuICAgIGlmICh0aGlzLnByb2ZpbGUuaWQpIHtcclxuICAgICAgdGhpcy5nZXRDb3VudCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0KCk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYy5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLnJlc2V0Tm90aWZpY2F0aW9ucygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldENvdW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9Db3VudE5ldyh0aGlzLnByb2ZpbGUuaWQpLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnNDb3VudCA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy51cGRhdGUubmV4dCgpO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLl9ub3RpZmljYXRpb25zID0gW107XHJcbiAgICB0aGlzLl9ub3RpZmljYXRpb25zQ291bnQgPSAwO1xyXG4gIH1cclxuICByZXNldE5vdGlmaWNhdGlvbnMoKSB7XHJcbiAgICB0aGlzLl9ub3RpZmljYXRpb25zID0gW107XHJcbiAgfVxyXG4gIGZldGNoTm90aWZpY2F0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLmdldE5vdGlmaWNhdGlvbnModGhpcy5wcm9maWxlLmlkLCB7XHJcbiAgICAgIHBhZ2U6XHJcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucy5sZW5ndGggPiAwXHJcbiAgICAgICAgICA/IE1hdGguY2VpbCh0aGlzLl9ub3RpZmljYXRpb25zLmxlbmd0aCAvIHRoaXMucGFnZVNpemUpXHJcbiAgICAgICAgICA6IDAsXHJcbiAgICAgIHNpemU6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIHBhZ2VkOiB0cnVlLFxyXG4gICAgICBzb3J0OiBcInNlbmREYXRlLGRlc2NcIixcclxuICAgICAgc29ydGVkOiB0cnVlLFxyXG4gICAgICBsYW5nOiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS51c2VyTGFuZy50b1VwcGVyQ2FzZSgpLFxyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChub3RpZmljYXRpb25zOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAobm90aWZpY2F0aW9ucy5pdGVtcykge1xyXG4gICAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucyA9IHRoaXMuX25vdGlmaWNhdGlvbnMuY29uY2F0KG5vdGlmaWNhdGlvbnMuaXRlbXMpO1xyXG4gICAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbnM7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMgPSBbXTtcclxuICAgICAgICAgIHJldHVybiBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zID0gW107XHJcbiAgICAgICAgcmV0dXJuIFtdO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgcmVzZXRDb3VudCgpIHtcclxuICAgIHRoaXMuX25vdGlmaWNhdGlvbnNDb3VudCA9IDA7XHJcbiAgfVxyXG4gIG1hcmtBbGxBc1JlYWQoKSB7XHJcbiAgICB0aGlzLmRvTWFya0FsbEFzUmVhZCh0aGlzLnByb2ZpbGUuaWQpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMuZm9yRWFjaCgoaXRlbSkgPT4gKGl0ZW0uc3RhdHVzID0gXCJSRUFEXCIpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICB1cGRhdGVTdGF0dXMobm90aWZpY2F0aW9uLCBvbk9wZW4gPSBmYWxzZSkge1xyXG4gICAgY29uc3QgYm9vbCA9XHJcbiAgICAgIG5vdGlmaWNhdGlvbi5zdGF0dXMgPT09IFwiVU5fUkVBRFwiIHx8XHJcbiAgICAgIG5vdGlmaWNhdGlvbi5zdGF0dXMgPT09IFwiTkVXXCIgfHxcclxuICAgICAgb25PcGVuO1xyXG4gICAgaWYgKGJvb2wpIHtcclxuICAgICAgdGhpcy5kb01hcmtBc1JlYWQobm90aWZpY2F0aW9uLmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIG5vdGlmaWNhdGlvbi5zdGF0dXMgPSBcIlJFQURcIjtcclxuICAgICAgICB0aGlzLmdldENvdW50KCkuc3Vic2NyaWJlKCgpID0+IHt9KTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRvTWFya0FzVW5yZWFkKG5vdGlmaWNhdGlvbi5pZCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBub3RpZmljYXRpb24uc3RhdHVzID0gXCJVTl9SRUFEXCI7XHJcbiAgICAgICAgdGhpcy5nZXRDb3VudCgpLnN1YnNjcmliZSgoKSA9PiB7fSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBkZWxldGVOb3RpZmljYXRpb24obm90aWZpY2F0aW9uKSB7XHJcbiAgICB0aGlzLmRvRGVsZXRlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbi5pZCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucy5maWx0ZXIoKGl0ZW0sIGluZGV4KSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0uaWQgPT09IG5vdGlmaWNhdGlvbi5pZCkge1xyXG4gICAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXBkYXRlLm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXROb3RpZmljYXRpb25zKHVzZXJJZCwgcXVlcnlQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZW5kcG9pbnQgPSBgJHt0aGlzLmVudmlyb25tZW50Lm5vdGlmaWNhdGlvbnN9L2FwaS9zeXN0ZW0tbm90aWZpY2F0aW9ucy9hbGwvJHt1c2VySWR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxhbnk+KGVuZHBvaW50LCB7IG9ic2VydmU6IFwicmVzcG9uc2VcIiwgcGFyYW1zOiBxdWVyeVBhcmFtcyB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3ApID0+ICh7XHJcbiAgICAgICAgICB0b3RhbENvdW50OiByZXNwLmhlYWRlcnMuZ2V0KFwieC10b3RhbC1jb3VudFwiKSxcclxuICAgICAgICAgIGl0ZW1zOiByZXNwLmJvZHkubWFwKChpdGVtKSA9PiBpdGVtKSxcclxuICAgICAgICB9KSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKFwiZ2V0Tm90aWZpY2F0aW9uc1wiLCBbXSkpLFxyXG4gICAgICAgIHB1Ymxpc2hSZXBsYXkoMSksXHJcbiAgICAgICAgcmVmQ291bnQoKVxyXG4gICAgICApO1xyXG4gIH1cclxuICBkb0NvdW50TmV3KHVzZXJJZCwgcXVlcnlQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZW5kcG9pbnQgPSBgJHt0aGlzLmVudmlyb25tZW50Lm5vdGlmaWNhdGlvbnN9L2FwaS9zeXN0ZW0tbm90aWZpY2F0aW9ucy9jb3VudE5ldy8ke3VzZXJJZH1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PGFueT4oZW5kcG9pbnQsIHsgcGFyYW1zOiBxdWVyeVBhcmFtcyB9KVxyXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoXCJjb3VudE5ld1wiLCBbXSkpKTtcclxuICB9XHJcbiAgZG9SZXNldENvdW50TmV3KHVzZXJJZCwgcXVlcnlQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZW5kcG9pbnQgPSBgJHt0aGlzLmVudmlyb25tZW50Lm5vdGlmaWNhdGlvbnN9L2FwaS9zeXN0ZW0tbm90aWZpY2F0aW9ucy9yZXNldENvdW50LyR7dXNlcklkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wdXQ8YW55PihlbmRwb2ludCwgeyBwYXJhbXM6IHF1ZXJ5UGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcihcInJlc2V0Q291bnROZXdcIiwgW10pKSk7XHJcbiAgfVxyXG4gIGRvQ291bnRVbnJlYWQodXNlcklkLCBxdWVyeVBhcmFtcyA9IHt9KSB7XHJcbiAgICBjb25zdCBlbmRwb2ludCA9IGAke3RoaXMuZW52aXJvbm1lbnQubm90aWZpY2F0aW9uc30vYXBpL3N5c3RlbS1ub3RpZmljYXRpb25zL2NvdW50VW5SZWFkLyR7dXNlcklkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8YW55PihlbmRwb2ludCwgeyBwYXJhbXM6IHF1ZXJ5UGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcihcImNvdW50VW5yZWFkXCIsIFtdKSkpO1xyXG4gIH1cclxuICBkb01hcmtBbGxBc1JlYWQodXNlcklkLCBxdWVyeVBhcmFtcyA9IHt9KSB7XHJcbiAgICBjb25zdCBlbmRwb2ludCA9IGAke3RoaXMuZW52aXJvbm1lbnQubm90aWZpY2F0aW9uc30vYXBpL3N5c3RlbS1ub3RpZmljYXRpb25zL21hcmtBbGxBc1JlYWQvJHt1c2VySWR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnB1dDxhbnk+KGVuZHBvaW50LCB7IHBhcmFtczogcXVlcnlQYXJhbXMgfSlcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKFwibWFya0FsbEFzUmVhZFwiLCBbXSkpKTtcclxuICB9XHJcbiAgZG9NYXJrQXNSZWFkKG5vdGlmaWNhdGlvbklkLCBxdWVyeVBhcmFtcyA9IHt9KSB7XHJcbiAgICBjb25zdCBlbmRwb2ludCA9IGAke3RoaXMuZW52aXJvbm1lbnQubm90aWZpY2F0aW9uc30vYXBpL3N5c3RlbS1ub3RpZmljYXRpb25zL21hcmtBc1JlYWQvJHtub3RpZmljYXRpb25JZH1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucHV0PGFueT4oZW5kcG9pbnQsIHsgcGFyYW1zOiBxdWVyeVBhcmFtcyB9KVxyXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoXCJtYXJrQXNSZWFkXCIsIFtdKSkpO1xyXG4gIH1cclxuICBkb01hcmtBc1VucmVhZChub3RpZmljYXRpb25JZCwgcXVlcnlQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZW5kcG9pbnQgPSBgJHt0aGlzLmVudmlyb25tZW50Lm5vdGlmaWNhdGlvbnN9L2FwaS9zeXN0ZW0tbm90aWZpY2F0aW9ucy9tYXJrQXNVblJlYWQvJHtub3RpZmljYXRpb25JZH1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucHV0PGFueT4oZW5kcG9pbnQsIHsgcGFyYW1zOiBxdWVyeVBhcmFtcyB9KVxyXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoXCJtYXJrQXNVbnJlYWRcIiwgW10pKSk7XHJcbiAgfVxyXG4gIGRvRGVsZXRlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbklkLCBxdWVyeVBhcmFtcyA9IHt9KSB7XHJcbiAgICBjb25zdCBlbmRwb2ludCA9IGAke3RoaXMuZW52aXJvbm1lbnQubm90aWZpY2F0aW9uc30vYXBpL3N5c3RlbS1ub3RpZmljYXRpb25zLyR7bm90aWZpY2F0aW9uSWR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmRlbGV0ZTxhbnk+KGVuZHBvaW50LCB7IHBhcmFtczogcXVlcnlQYXJhbXMgfSlcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKFwiZGVsZXRlTm90aWZpY2F0aW9uXCIsIFtdKSkpO1xyXG4gIH1cclxuICBwcml2YXRlIGhhbmRsZUVycm9yPFQ+KG9wZXJhdGlvbiA9IFwib3BlcmF0aW9uXCIsIHJlc3VsdD86IFQpIHtcclxuICAgIHJldHVybiAoZXJyb3I6IGFueSk6IE9ic2VydmFibGU8VD4gPT4ge1xyXG4gICAgICAvLyBUT0RPOiBzZW5kIHRoZSBlcnJvciB0byByZW1vdGUgbG9nZ2luZyBpbmZyYXN0cnVjdHVyZVxyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTsgLy8gbG9nIHRvIGNvbnNvbGUgaW5zdGVhZFxyXG5cclxuICAgICAgLy8gVE9ETzogYmV0dGVyIGpvYiBvZiB0cmFuc2Zvcm1pbmcgZXJyb3IgZm9yIHVzZXIgY29uc3VtcHRpb25cclxuICAgICAgY29uc29sZS5sb2coYCR7b3BlcmF0aW9ufSBmYWlsZWQ6ICR7ZXJyb3IubWVzc2FnZX1gKTtcclxuXHJcbiAgICAgIC8vIExldCB0aGUgYXBwIGtlZXAgcnVubmluZyBieSByZXR1cm5pbmcgYW4gZW1wdHkgcmVzdWx0LlxyXG4gICAgICByZXN1bHRbXCJzdGF0dXNcIl0gPSBlcnJvci5zdGF0dXM7XHJcbiAgICAgIGlmIChlcnJvci5lcnJvci5oYXNPd25Qcm9wZXJ0eShcIm1lc3NhZ2VcIikpIHtcclxuICAgICAgICByZXN1bHRbXCJtZXNzYWdlXCJdID0gZXJyb3IuZXJyb3IubWVzc2FnZTtcclxuICAgICAgICByZXN1bHRbXCJ0eXBlXCJdID0gZXJyb3IuZXJyb3IudHlwZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIG9mKHJlc3VsdCBhcyBUKTtcclxuICAgIH07XHJcbiAgfVxyXG4gIGFzeW5jIGNvbm5lY3QoKSB7XHJcbiAgICBpZiAodGhpcy5jb25uZWN0ZWRQcm9taXNlID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuY29ubmVjdGlvbiA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbigpO1xyXG4gICAgfVxyXG4gICAgLy8gYnVpbGRpbmcgYWJzb2x1dGUgcGF0aCBzbyB0aGF0IHdlYnNvY2tldCBkb2Vzbid0IGZhaWwgd2hlbiBkZXBsb3lpbmcgd2l0aCBhIGNvbnRleHQgcGF0aFxyXG4gICAgbGV0IHVybDtcclxuICAgIHVybCA9IGAke3RoaXMuZW52aXJvbm1lbnQubm90aWZpY2F0aW9uc30vd2Vic29ja2V0L2VraGFhYDsgLy91cmxcclxuICAgIGNvbnN0IHNvY2tldCA9IG5ldyBTb2NrSlModXJsKTtcclxuICAgIHRoaXMuc3RvbXBDbGllbnQgPSBTdG9tcC5vdmVyKHNvY2tldCk7XHJcbiAgICBjb25zdCBoZWFkZXJzID0ge1xyXG4gICAgICAvLyBVcGdyYWRlOiAnd2Vic29ja2V0JyxcclxuICAgICAgLy8gQ29ubmVjdGlvbjogJ1VwZ3JhZGUnLFxyXG4gICAgICB0b2tlbjogdGhpcy5lbnZpcm9ubWVudC5sb2dpbk1ldGhvZCA9PT0gJ251eGVvJyA/IHRoaXMuZ2V0Q2FjaGFibGUoKTogYCR7YXdhaXQgdGhpcy5rZXljbG9hay5nZXRUb2tlbigpfWAsXHJcbiAgICB9O1xyXG4gICAgaWYgKCF0aGlzLmFscmVhZHlDb25uZWN0ZWRPbmNlKSB7XHJcbiAgICAgIHRoaXMuc3RvbXBDbGllbnQuY29ubmVjdChoZWFkZXJzLCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hbHJlYWR5Q29ubmVjdGVkT25jZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRQcm9taXNlKFwic3VjY2Vzc1wiKTtcclxuICAgICAgICB0aGlzLmNvbm5lY3RlZFByb21pc2UgPSBudWxsO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRpc2Nvbm5lY3QoKSB7XHJcbiAgICBpZiAodGhpcy5zdG9tcENsaWVudCAhPT0gbnVsbCAmJiB0aGlzLmFscmVhZHlDb25uZWN0ZWRPbmNlKSB7XHJcbiAgICAgIHRoaXMuc3RvbXBDbGllbnQuZGlzY29ubmVjdCgpO1xyXG4gICAgICB0aGlzLnN0b21wQ2xpZW50ID0gbnVsbDtcclxuICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5hbHJlYWR5Q29ubmVjdGVkT25jZSA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbm5lY3RlZFByb21pc2UpIHtcclxuICAgICAgdGhpcy5jb25uZWN0aW9uLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGlzY29ubmVjdCgpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1YnNjcmliZSgpIHtcclxuICAgIGlmICh0aGlzLmNvbm5lY3Rpb24pIHtcclxuICAgICAgdGhpcy5jb25uZWN0aW9uLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnN0b21wQ2xpZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnN1YnNjcmliZXIgPSB0aGlzLnN0b21wQ2xpZW50LnN1YnNjcmliZShcclxuICAgICAgICAgICAgXCIvdXNlci90b3BpYy9ub3RpZmljYXRpb25cIixcclxuICAgICAgICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBub3RpZmljYXRpb24gPSBKU09OLnBhcnNlKGRhdGEuYm9keSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucy51bnNoaWZ0KG5vdGlmaWNhdGlvbik7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRDb3VudCgpLnN1YnNjcmliZSgoKSA9PiB7fSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5saXN0ZW5lck9ic2VydmVyLmVtaXQobm90aWZpY2F0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdW5zdWJzY3JpYmUoKSB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpYmVyICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUNvbm5lY3Rpb24oKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiAodGhpcy5jb25uZWN0ZWRQcm9taXNlID0gcmVzb2x2ZSkpO1xyXG4gIH1cclxuXHJcbiAgdGVzdE5vdGlmaWNhdGlvbigpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihcIlN5c3RlbS5Ob3RpZmljYXRpb25cIiwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIGFwcGxpY2F0aW9uS2V5OiBcImN0c25cIixcclxuICAgICAgICAgIG5vdGlmaWNhdGlvbktleTogXCJOb3RpZmljYXRpb25XaGVuT3V0Z29pbmdDb3JyZXNwb25kbmVjZUFwcHJvdmVcIixcclxuICAgICAgICAgIGFwaURhdGE6XHJcbiAgICAgICAgICAgICd7XCJpZFwiOiBcImE3ZWQ2MjllLWM4ZWEtNGU4NC04YjgzLTMyOTAwOTUxNTg3OFwiLFwic2NoZW1hXCI6IFwiQ29ycmVzcG9uZGVuY2VcIn0nLFxyXG4gICAgICAgICAgZGF0YTogXCJ7fVwiLFxyXG4gICAgICAgICAgZ3JvdXBzSWQ6IFtdLFxyXG4gICAgICAgICAgdXNlcnNJZDogW1wiY3RzX3NlY1wiXSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChcImE3ZWQ2MjllLWM4ZWEtNGU4NC04YjgzLTMyOTAwOTUxNTg3OFwiKVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2FjaGFibGUoKXtcclxuICAgIGxldCBteUNhY2hhYmxlID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCgnQ01TX0NBQ0hBQkxFJyk7XHJcbiAgICBteUNhY2hhYmxlID0gIHRoaXMuaW50aWFsaXphdGlvblNlcnZpY2UuZGVjcmlwdEZvcm1hdGluZyhteUNhY2hhYmxlKTtcclxuICByZXR1cm4gbXlDYWNoYWJsZVsnYWNjZXNzX3Rva2VuJ107XHJcbiAgfVxyXG59XHJcbiJdfQ==
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxLQUFLLEtBQUssTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQU96QyxNQUFNLE9BQU8sb0JBQW9CO0lBeUIvQixZQUNVLElBQWdCLEVBQ2pCLE1BQWMsRUFDZCxZQUEwQixFQUN6QixRQUF5QixFQUN6QixhQUE2QixFQUM3QixXQUFnQyxFQUNoQyxvQkFBNEMsRUFDNUMsa0JBQXNDLEVBQ2YsV0FBVztRQVJsQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFDN0IsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBQ2hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBd0I7UUFDNUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNmLGdCQUFXLEdBQVgsV0FBVyxDQUFBO1FBakM1QyxnQkFBVyxHQUFHLElBQUks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Q1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEQsVUFBVSxHQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RSxPQUFPLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsQyxDQUFDOztpSEEzU1Usb0JBQW9CLG1RQWtDckIsYUFBYTtxSEFsQ1osb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7OzBCQW1DTixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBLZXljbG9ha1NlcnZpY2UgfSBmcm9tIFwia2V5Y2xvYWstYW5ndWxhclwiO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgcHVibGlzaFJlcGxheSwgcmVmQ291bnQgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0ICogYXMgU29ja0pTIGZyb20gXCJzb2NranMtY2xpZW50XCI7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gXCIuLi8uLi9Db3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2VcIjtcclxuaW1wb3J0ICogYXMgU3RvbXAgZnJvbSBcIndlYnN0b21wLWNsaWVudFwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnU2VydmljZSB9IGZyb20gXCIuLi8uLi9Db3JlL3NlcnZpY2VzL2xvY2FsU3RvcmFnL2xvY2FsLXN0b3JhZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEluaXRpYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9Db3JlL3NlcnZpY2VzL2luaXRpYWxpemF0aW9uL2luaXRpYWxpemF0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSdcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbnNTZXJ2aWNlIHtcclxuICBzdG9tcENsaWVudCA9IG51bGw7XHJcbiAgc3Vic2NyaWJlciA9IG51bGw7XHJcbiAgY29ubmVjdGlvbjogUHJvbWlzZTxhbnk+O1xyXG4gIGNvbm5lY3RlZFByb21pc2U6IGFueSA9IG51bGw7XHJcbiAgbGlzdGVuZXJPYnNlcnZlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgdXBkYXRlOiBSZXBsYXlTdWJqZWN0PGFueT4gPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcclxuICBhbHJlYWR5Q29ubmVjdGVkT25jZSA9IGZhbHNlO1xyXG4gIHBhZ2VTaXplID0gMTU7XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdG9tcC5TdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgX25vdGlmaWNhdGlvbnMgPSBbXTtcclxuICBnZXQgbm90aWZpY2F0aW9ucygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbnM7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25vdGlmaWNhdGlvbnNDb3VudCA9IDA7XHJcbiAgZ2V0IG5vdGlmaWNhdGlvbnNDb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbnNDb3VudDtcclxuICB9XHJcbiAgYmFzZSA9IFwiXCI7XHJcbiAgcHJvZmlsZSA9IHsgaWQ6IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIuaWQgfTtcclxuICBzeXN0ZW1MYW5nID0gXCJcIjtcclxuICBsYW5nQ2hhbmdlZDogYm9vbGVhbjtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwdWJsaWMgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGtleWNsb2FrOiBLZXljbG9ha1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2UgOiBDb29raWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2NhbFN0b3JhZyA6IExvY2FsU3RvcmFnU2VydmljZSxcclxuICAgIHByaXZhdGUgaW50aWFsaXphdGlvblNlcnZpY2UgOiBJbml0aWFsaXphdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgQEluamVjdChcImVudmlyb25tZW50XCIpIHByaXZhdGUgZW52aXJvbm1lbnRcclxuICApIHtcclxuICAgIGlmICh0aGlzLnByb2ZpbGUuaWQpIHtcclxuICAgICAgdGhpcy5nZXRDb3VudCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0KCk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pc0FyYWJpYy5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLnJlc2V0Tm90aWZpY2F0aW9ucygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldENvdW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9Db3VudE5ldyh0aGlzLnByb2ZpbGUuaWQpLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnNDb3VudCA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy51cGRhdGUubmV4dCgpO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLl9ub3RpZmljYXRpb25zID0gW107XHJcbiAgICB0aGlzLl9ub3RpZmljYXRpb25zQ291bnQgPSAwO1xyXG4gIH1cclxuICByZXNldE5vdGlmaWNhdGlvbnMoKSB7XHJcbiAgICB0aGlzLl9ub3RpZmljYXRpb25zID0gW107XHJcbiAgfVxyXG4gIGZldGNoTm90aWZpY2F0aW9ucygpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICByZXR1cm4gdGhpcy5nZXROb3RpZmljYXRpb25zKHRoaXMucHJvZmlsZS5pZCwge1xyXG4gICAgICBwYWdlOlxyXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMubGVuZ3RoID4gMFxyXG4gICAgICAgICAgPyBNYXRoLmNlaWwodGhpcy5fbm90aWZpY2F0aW9ucy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKVxyXG4gICAgICAgICAgOiAwLFxyXG4gICAgICBzaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICBwYWdlZDogdHJ1ZSxcclxuICAgICAgc29ydDogXCJzZW5kRGF0ZSxkZXNjXCIsXHJcbiAgICAgIHNvcnRlZDogdHJ1ZSxcclxuICAgICAgbGFuZzogdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudXNlckxhbmcudG9VcHBlckNhc2UoKSxcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgobm90aWZpY2F0aW9uczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKG5vdGlmaWNhdGlvbnMuaXRlbXMpIHtcclxuICAgICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMgPSB0aGlzLl9ub3RpZmljYXRpb25zLmNvbmNhdChub3RpZmljYXRpb25zLml0ZW1zKTtcclxuICAgICAgICAgIHJldHVybiBub3RpZmljYXRpb25zO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25zID0gW107XHJcbiAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9ucyA9IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHJlc2V0Q291bnQoKSB7XHJcbiAgICB0aGlzLl9ub3RpZmljYXRpb25zQ291bnQgPSAwO1xyXG4gIH1cclxuICBtYXJrQWxsQXNSZWFkKCkge1xyXG4gICAgdGhpcy5kb01hcmtBbGxBc1JlYWQodGhpcy5wcm9maWxlLmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9ub3RpZmljYXRpb25zLmZvckVhY2goKGl0ZW0pID0+IChpdGVtLnN0YXR1cyA9IFwiUkVBRFwiKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgdXBkYXRlU3RhdHVzKG5vdGlmaWNhdGlvbiwgb25PcGVuID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IGJvb2wgPVxyXG4gICAgICBub3RpZmljYXRpb24uc3RhdHVzID09PSBcIlVOX1JFQURcIiB8fFxyXG4gICAgICBub3RpZmljYXRpb24uc3RhdHVzID09PSBcIk5FV1wiIHx8XHJcbiAgICAgIG9uT3BlbjtcclxuICAgIGlmIChib29sKSB7XHJcbiAgICAgIHRoaXMuZG9NYXJrQXNSZWFkKG5vdGlmaWNhdGlvbi5pZCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBub3RpZmljYXRpb24uc3RhdHVzID0gXCJSRUFEXCI7XHJcbiAgICAgICAgdGhpcy5nZXRDb3VudCgpLnN1YnNjcmliZSgoKSA9PiB7fSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kb01hcmtBc1VucmVhZChub3RpZmljYXRpb24uaWQpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgbm90aWZpY2F0aW9uLnN0YXR1cyA9IFwiVU5fUkVBRFwiO1xyXG4gICAgICAgIHRoaXMuZ2V0Q291bnQoKS5zdWJzY3JpYmUoKCkgPT4ge30pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgZGVsZXRlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbikge1xyXG4gICAgdGhpcy5kb0RlbGV0ZU5vdGlmaWNhdGlvbihub3RpZmljYXRpb24uaWQpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMuZmlsdGVyKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLmlkID09PSBub3RpZmljYXRpb24uaWQpIHtcclxuICAgICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnVwZGF0ZS5uZXh0KCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0Tm90aWZpY2F0aW9ucyh1c2VySWQsIHF1ZXJ5UGFyYW1zID0ge30pIHtcclxuICAgIGNvbnN0IGVuZHBvaW50ID0gYCR7dGhpcy5lbnZpcm9ubWVudC5ub3RpZmljYXRpb25zfS9hcGkvc3lzdGVtLW5vdGlmaWNhdGlvbnMvYWxsLyR7dXNlcklkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8YW55PihlbmRwb2ludCwgeyBvYnNlcnZlOiBcInJlc3BvbnNlXCIsIHBhcmFtczogcXVlcnlQYXJhbXMgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwKSA9PiAoe1xyXG4gICAgICAgICAgdG90YWxDb3VudDogcmVzcC5oZWFkZXJzLmdldChcIngtdG90YWwtY291bnRcIiksXHJcbiAgICAgICAgICBpdGVtczogcmVzcC5ib2R5Lm1hcCgoaXRlbSkgPT4gaXRlbSksXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcihcImdldE5vdGlmaWNhdGlvbnNcIiwgW10pKSxcclxuICAgICAgICBwdWJsaXNoUmVwbGF5KDEpLFxyXG4gICAgICAgIHJlZkNvdW50KClcclxuICAgICAgKTtcclxuICB9XHJcbiAgZG9Db3VudE5ldyh1c2VySWQsIHF1ZXJ5UGFyYW1zID0ge30pIHtcclxuICAgIGNvbnN0IGVuZHBvaW50ID0gYCR7dGhpcy5lbnZpcm9ubWVudC5ub3RpZmljYXRpb25zfS9hcGkvc3lzdGVtLW5vdGlmaWNhdGlvbnMvY291bnROZXcvJHt1c2VySWR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxhbnk+KGVuZHBvaW50LCB7IHBhcmFtczogcXVlcnlQYXJhbXMgfSlcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKFwiY291bnROZXdcIiwgW10pKSk7XHJcbiAgfVxyXG4gIGRvUmVzZXRDb3VudE5ldyh1c2VySWQsIHF1ZXJ5UGFyYW1zID0ge30pIHtcclxuICAgIGNvbnN0IGVuZHBvaW50ID0gYCR7dGhpcy5lbnZpcm9ubWVudC5ub3RpZmljYXRpb25zfS9hcGkvc3lzdGVtLW5vdGlmaWNhdGlvbnMvcmVzZXRDb3VudC8ke3VzZXJJZH1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucHV0PGFueT4oZW5kcG9pbnQsIHsgcGFyYW1zOiBxdWVyeVBhcmFtcyB9KVxyXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoXCJyZXNldENvdW50TmV3XCIsIFtdKSkpO1xyXG4gIH1cclxuICBkb0NvdW50VW5yZWFkKHVzZXJJZCwgcXVlcnlQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZW5kcG9pbnQgPSBgJHt0aGlzLmVudmlyb25tZW50Lm5vdGlmaWNhdGlvbnN9L2FwaS9zeXN0ZW0tbm90aWZpY2F0aW9ucy9jb3VudFVuUmVhZC8ke3VzZXJJZH1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PGFueT4oZW5kcG9pbnQsIHsgcGFyYW1zOiBxdWVyeVBhcmFtcyB9KVxyXG4gICAgICAucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IoXCJjb3VudFVucmVhZFwiLCBbXSkpKTtcclxuICB9XHJcbiAgZG9NYXJrQWxsQXNSZWFkKHVzZXJJZCwgcXVlcnlQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZW5kcG9pbnQgPSBgJHt0aGlzLmVudmlyb25tZW50Lm5vdGlmaWNhdGlvbnN9L2FwaS9zeXN0ZW0tbm90aWZpY2F0aW9ucy9tYXJrQWxsQXNSZWFkLyR7dXNlcklkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wdXQ8YW55PihlbmRwb2ludCwgeyBwYXJhbXM6IHF1ZXJ5UGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcihcIm1hcmtBbGxBc1JlYWRcIiwgW10pKSk7XHJcbiAgfVxyXG4gIGRvTWFya0FzUmVhZChub3RpZmljYXRpb25JZCwgcXVlcnlQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZW5kcG9pbnQgPSBgJHt0aGlzLmVudmlyb25tZW50Lm5vdGlmaWNhdGlvbnN9L2FwaS9zeXN0ZW0tbm90aWZpY2F0aW9ucy9tYXJrQXNSZWFkLyR7bm90aWZpY2F0aW9uSWR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnB1dDxhbnk+KGVuZHBvaW50LCB7IHBhcmFtczogcXVlcnlQYXJhbXMgfSlcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKFwibWFya0FzUmVhZFwiLCBbXSkpKTtcclxuICB9XHJcbiAgZG9NYXJrQXNVbnJlYWQobm90aWZpY2F0aW9uSWQsIHF1ZXJ5UGFyYW1zID0ge30pIHtcclxuICAgIGNvbnN0IGVuZHBvaW50ID0gYCR7dGhpcy5lbnZpcm9ubWVudC5ub3RpZmljYXRpb25zfS9hcGkvc3lzdGVtLW5vdGlmaWNhdGlvbnMvbWFya0FzVW5SZWFkLyR7bm90aWZpY2F0aW9uSWR9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnB1dDxhbnk+KGVuZHBvaW50LCB7IHBhcmFtczogcXVlcnlQYXJhbXMgfSlcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKFwibWFya0FzVW5yZWFkXCIsIFtdKSkpO1xyXG4gIH1cclxuICBkb0RlbGV0ZU5vdGlmaWNhdGlvbihub3RpZmljYXRpb25JZCwgcXVlcnlQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZW5kcG9pbnQgPSBgJHt0aGlzLmVudmlyb25tZW50Lm5vdGlmaWNhdGlvbnN9L2FwaS9zeXN0ZW0tbm90aWZpY2F0aW9ucy8ke25vdGlmaWNhdGlvbklkfWA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5kZWxldGU8YW55PihlbmRwb2ludCwgeyBwYXJhbXM6IHF1ZXJ5UGFyYW1zIH0pXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcihcImRlbGV0ZU5vdGlmaWNhdGlvblwiLCBbXSkpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcjxUPihvcGVyYXRpb24gPSBcIm9wZXJhdGlvblwiLCByZXN1bHQ/OiBUKSB7XHJcbiAgICByZXR1cm4gKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPFQ+ID0+IHtcclxuICAgICAgLy8gVE9ETzogc2VuZCB0aGUgZXJyb3IgdG8gcmVtb3RlIGxvZ2dpbmcgaW5mcmFzdHJ1Y3R1cmVcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7IC8vIGxvZyB0byBjb25zb2xlIGluc3RlYWRcclxuXHJcbiAgICAgIC8vIFRPRE86IGJldHRlciBqb2Igb2YgdHJhbnNmb3JtaW5nIGVycm9yIGZvciB1c2VyIGNvbnN1bXB0aW9uXHJcbiAgICAgIGNvbnNvbGUubG9nKGAke29wZXJhdGlvbn0gZmFpbGVkOiAke2Vycm9yLm1lc3NhZ2V9YCk7XHJcblxyXG4gICAgICAvLyBMZXQgdGhlIGFwcCBrZWVwIHJ1bm5pbmcgYnkgcmV0dXJuaW5nIGFuIGVtcHR5IHJlc3VsdC5cclxuICAgICAgcmVzdWx0W1wic3RhdHVzXCJdID0gZXJyb3Iuc3RhdHVzO1xyXG4gICAgICBpZiAoZXJyb3IuZXJyb3IuaGFzT3duUHJvcGVydHkoXCJtZXNzYWdlXCIpKSB7XHJcbiAgICAgICAgcmVzdWx0W1wibWVzc2FnZVwiXSA9IGVycm9yLmVycm9yLm1lc3NhZ2U7XHJcbiAgICAgICAgcmVzdWx0W1widHlwZVwiXSA9IGVycm9yLmVycm9yLnR5cGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBvZihyZXN1bHQgYXMgVCk7XHJcbiAgICB9O1xyXG4gIH1cclxuICBhc3luYyBjb25uZWN0KCkge1xyXG4gICAgaWYgKHRoaXMuY29ubmVjdGVkUHJvbWlzZSA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLmNvbm5lY3Rpb24gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oKTtcclxuICAgIH1cclxuICAgIC8vIGJ1aWxkaW5nIGFic29sdXRlIHBhdGggc28gdGhhdCB3ZWJzb2NrZXQgZG9lc24ndCBmYWlsIHdoZW4gZGVwbG95aW5nIHdpdGggYSBjb250ZXh0IHBhdGhcclxuICAgIGxldCB1cmw7XHJcbiAgICB1cmwgPSBgJHt0aGlzLmVudmlyb25tZW50Lm5vdGlmaWNhdGlvbnN9L3dlYnNvY2tldC9la2hhYWA7IC8vdXJsXHJcbiAgICBjb25zdCBzb2NrZXQgPSBuZXcgU29ja0pTKHVybCk7XHJcbiAgICB0aGlzLnN0b21wQ2xpZW50ID0gU3RvbXAub3Zlcihzb2NrZXQpO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHtcclxuICAgICAgLy8gVXBncmFkZTogJ3dlYnNvY2tldCcsXHJcbiAgICAgIC8vIENvbm5lY3Rpb246ICdVcGdyYWRlJyxcclxuICAgICAgdG9rZW46IHRoaXMuZW52aXJvbm1lbnQubG9naW5NZXRob2QgPT09ICdudXhlbycgPyB0aGlzLmdldENhY2hhYmxlKCk6IGAke2F3YWl0IHRoaXMua2V5Y2xvYWsuZ2V0VG9rZW4oKX1gLFxyXG4gICAgfTtcclxuICAgIGlmICghdGhpcy5hbHJlYWR5Q29ubmVjdGVkT25jZSkge1xyXG4gICAgICB0aGlzLnN0b21wQ2xpZW50LmNvbm5lY3QoaGVhZGVycywgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWxyZWFkeUNvbm5lY3RlZE9uY2UgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuY29ubmVjdGVkUHJvbWlzZShcInN1Y2Nlc3NcIik7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRQcm9taXNlID0gbnVsbDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkaXNjb25uZWN0KCkge1xyXG4gICAgaWYgKHRoaXMuc3RvbXBDbGllbnQgIT09IG51bGwgJiYgdGhpcy5hbHJlYWR5Q29ubmVjdGVkT25jZSkge1xyXG4gICAgICB0aGlzLnN0b21wQ2xpZW50LmRpc2Nvbm5lY3QoKTtcclxuICAgICAgdGhpcy5zdG9tcENsaWVudCA9IG51bGw7XHJcbiAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWxyZWFkeUNvbm5lY3RlZE9uY2UgPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb25uZWN0ZWRQcm9taXNlKSB7XHJcbiAgICAgIHRoaXMuY29ubmVjdGlvbi50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLmRpc2Nvbm5lY3QoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJzY3JpYmUoKSB7XHJcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuY29ubmVjdGlvbi50aGVuKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5zdG9tcENsaWVudCkge1xyXG4gICAgICAgICAgdGhpcy5zdWJzY3JpYmVyID0gdGhpcy5zdG9tcENsaWVudC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIFwiL3VzZXIvdG9waWMvbm90aWZpY2F0aW9uXCIsXHJcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uID0gSlNPTi5wYXJzZShkYXRhLmJvZHkpO1xyXG4gICAgICAgICAgICAgIHRoaXMuX25vdGlmaWNhdGlvbnMudW5zaGlmdChub3RpZmljYXRpb24pO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0Q291bnQoKS5zdWJzY3JpYmUoKCkgPT4ge30pO1xyXG4gICAgICAgICAgICAgIHRoaXMubGlzdGVuZXJPYnNlcnZlci5lbWl0KG5vdGlmaWNhdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVuc3Vic2NyaWJlKCkge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaWJlciAhPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnN1YnNjcmliZXIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlzY29ubmVjdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVDb25uZWN0aW9uKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gKHRoaXMuY29ubmVjdGVkUHJvbWlzZSA9IHJlc29sdmUpKTtcclxuICB9XHJcblxyXG4gIHRlc3ROb3RpZmljYXRpb24oKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oXCJTeXN0ZW0uTm90aWZpY2F0aW9uXCIsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICBhcHBsaWNhdGlvbktleTogXCJjdHNuXCIsXHJcbiAgICAgICAgICBub3RpZmljYXRpb25LZXk6IFwiTm90aWZpY2F0aW9uV2hlbk91dGdvaW5nQ29ycmVzcG9uZG5lY2VBcHByb3ZlXCIsXHJcbiAgICAgICAgICBhcGlEYXRhOlxyXG4gICAgICAgICAgICAne1wiaWRcIjogXCJhN2VkNjI5ZS1jOGVhLTRlODQtOGI4My0zMjkwMDk1MTU4NzhcIixcInNjaGVtYVwiOiBcIkNvcnJlc3BvbmRlbmNlXCJ9JyxcclxuICAgICAgICAgIGRhdGE6IFwie31cIixcclxuICAgICAgICAgIGdyb3Vwc0lkOiBbXSxcclxuICAgICAgICAgIHVzZXJzSWQ6IFtcImN0c19zZWNcIl0sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQoXCJhN2VkNjI5ZS1jOGVhLTRlODQtOGI4My0zMjkwMDk1MTU4NzhcIilcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldENhY2hhYmxlKCl7XHJcbiAgICBsZXQgbXlDYWNoYWJsZSA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ0NNU19DQUNIQUJMRScpO1xyXG4gICAgbXlDYWNoYWJsZSA9ICB0aGlzLmludGlhbGl6YXRpb25TZXJ2aWNlLmRlY3JpcHRGb3JtYXRpbmcobXlDYWNoYWJsZSk7XHJcbiAgcmV0dXJuIG15Q2FjaGFibGVbJ2FjY2Vzc190b2tlbiddO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -88,7 +88,7 @@ import { InfiniteScrollModule } from 'ngx-infinite-scroll';
88
88
  import { take as take$1 } from 'rxjs/internal/operators/take';
89
89
  import * as SockJS from 'sockjs-client';
90
90
  import * as Stomp from 'webstomp-client';
91
- import * as i9 from '@angular/material/badge';
91
+ import * as i10 from '@angular/material/badge';
92
92
  import { MatBadgeModule } from '@angular/material/badge';
93
93
  import { MatToolbarModule } from '@angular/material/toolbar';
94
94
  import * as i7$3 from '@angular/material/chips';
@@ -16694,6 +16694,7 @@ class NotificationsService {
16694
16694
  this.base = "";
16695
16695
  this.profile = { id: this.nuxeoService.nuxeoClient.user.id };
16696
16696
  this.systemLang = "";
16697
+ this.loading = false;
16697
16698
  if (this.profile.id) {
16698
16699
  this.getCount().subscribe(() => {
16699
16700
  this.connect();
@@ -16725,6 +16726,7 @@ class NotificationsService {
16725
16726
  this._notifications = [];
16726
16727
  }
16727
16728
  fetchNotifications() {
16729
+ this.loading = true;
16728
16730
  return this.getNotifications(this.profile.id, {
16729
16731
  page: this._notifications.length > 0
16730
16732
  ? Math.ceil(this._notifications.length / this.pageSize)
@@ -16735,6 +16737,7 @@ class NotificationsService {
16735
16737
  sorted: true,
16736
16738
  lang: this.translationService.userLang.toUpperCase(),
16737
16739
  }).pipe(map((notifications) => {
16740
+ this.loading = false;
16738
16741
  if (notifications.items) {
16739
16742
  this._notifications = this._notifications.concat(notifications.items);
16740
16743
  return notifications;
@@ -16745,6 +16748,7 @@ class NotificationsService {
16745
16748
  }
16746
16749
  }), catchError(() => {
16747
16750
  this._notifications = [];
16751
+ this.loading = false;
16748
16752
  return [];
16749
16753
  }));
16750
16754
  }
@@ -17087,7 +17091,7 @@ class NotificationsListComponent {
17087
17091
  }
17088
17092
  }
17089
17093
  NotificationsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: NotificationsListComponent, deps: [{ token: NotificationsService }, { token: i0.ChangeDetectorRef }, { token: i4.DatePipe }, { token: TranslationService$1 }], target: i0.ɵɵFactoryTarget.Component });
17090
- NotificationsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsListComponent, selector: "app-notifications-list", outputs: { listItemClick: "listItemClick" }, host: { classAttribute: "notification-list" }, ngImport: i0, template: "<div class=\"toolbar\">\r\n <div class=\"title\">\r\n <div>{{ \"notifications.notifications\" | translate }}</div>\r\n </div>\r\n <div class=\"flex justify-end\">\r\n <button\r\n mat-button\r\n (click)=\"markAllAsRead()\"\r\n size=\"small\"\r\n fill=\"none\"\r\n class=\"markAllAsRead-btn\"\r\n >\r\n {{ \"notifications.markAllAsRead\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n<!-- [matTooltip]=\"'notifications.markAllAsRead' | translate\"\r\n [matTooltipPosition]=\"'before'\" -->\r\n<div *ngIf=\"!notifications?.length\" class=\"no-notifications\">\r\n <p>\r\n {{ \"notifications.noNotifications\" | translate }}\r\n </p>\r\n</div>\r\n<div\r\n infiniteScroll\r\n [scrollWindow]=\"false\"\r\n [infiniteScrollDistance]=\"scrollDistance\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n (scrolled)=\"onScrollDown()\"\r\n class=\"notifications-container scroll\"\r\n>\r\n <mat-list class=\"\">\r\n <ng-container\r\n *ngFor=\"\r\n let notification of notifications;\r\n let i = index;\r\n trackBy: trackBy\r\n \"\r\n >\r\n <!-- <mat-divider class=\"marginize\"></mat-divider> -->\r\n <app-notification-item\r\n (click)=\"openNotification(notification)\"\r\n (update)=\"onUpdate($event)\"\r\n [notification]=\"notification\"\r\n [isArabic]=\"isArabic\"\r\n ></app-notification-item>\r\n </ng-container>\r\n <div\r\n *ngIf=\"loading\"\r\n style=\"display: grid; place-items: center; margin-top: 10px\"\r\n >\r\n <mat-spinner [diameter]=\"48\" style=\"margin: 0 auto\"></mat-spinner>\r\n </div>\r\n </mat-list>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}:host{height:100%;position:relative}.toolbar{background-image:linear-gradient(to right,#0dbab5,#1a96c6);display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;padding:.25rem 1.5rem}.toolbar .title{font-size:1.125rem;line-height:1.75rem;display:flex;align-items:center}.toolbar .markAllAsRead-btn{background:none;border:none;margin:0;padding:0;cursor:pointer;font-size:.75rem;line-height:1rem;display:flex;align-items:center;color:#fff}.no-notifications{margin-top:1.25rem;display:flex;justify-content:center;align-items:center}.no-notifications p{text-align:center;color:#b4bac6}.notifications-container{height:100%;overflow:scroll}.notifications-container ::-webkit-scrollbar{width:8px}.notifications-container mat-list{padding:16px;display:grid;grid-row-gap:8px;row-gap:8px}.scroll::-webkit-scrollbar-thumb{background-color:#d9dce2}div[scrollx=true],div[scrolly=true]{position:relative;overflow:hidden;max-height:80vh}div[scrollx=true] ::-webkit-scrollbar,div[scrolly=true] ::-webkit-scrollbar{display:none}div[scrollx=true]{overflow-x:auto}div[scrolly=true]{overflow-y:auto}ion-toolbar{min-height:40px;height:40px;--min-height: 40px;box-shadow:0 0 1px 1px #cbcbcb}ion-toolbar ion-title{height:14px;font-size:13px;font-weight:bold}ion-toolbar ion-button{font-size:12px;letter-spacing:0px}ion-item-divider{--background: rgba(var(--ion-color-light-rgb), 1);color:#666}\n"], components: [{ type: i2$3.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: NotificationItemComponent, selector: "app-notification-item", inputs: ["notification", "isArabic"], outputs: ["update"] }, { type: i8.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7$2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
17094
+ NotificationsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsListComponent, selector: "app-notifications-list", outputs: { listItemClick: "listItemClick" }, host: { classAttribute: "notification-list" }, ngImport: i0, template: "<div class=\"toolbar\">\r\n <div class=\"title\">\r\n <div>{{ \"notifications.notifications\" | translate }}</div>\r\n </div>\r\n <div class=\"flex justify-end\">\r\n <button\r\n mat-button\r\n (click)=\"markAllAsRead()\"\r\n size=\"small\"\r\n fill=\"none\"\r\n class=\"markAllAsRead-btn\"\r\n >\r\n {{ \"notifications.markAllAsRead\" | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n<!-- [matTooltip]=\"'notifications.markAllAsRead' | translate\"\r\n [matTooltipPosition]=\"'before'\" -->\r\n<div *ngIf=\"!notifications?.length\" class=\"no-notifications\">\r\n <p *ngIf=\"!notificationsService.loading\">\r\n {{ \"notifications.noNotifications\" | translate }}\r\n </p>\r\n <p *ngIf=\"notificationsService.loading\">\r\n {{ \"notifications.loading_notification\" | translate }}\r\n </p>\r\n</div>\r\n<div\r\n infiniteScroll\r\n [scrollWindow]=\"false\"\r\n [infiniteScrollDistance]=\"scrollDistance\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n (scrolled)=\"onScrollDown()\"\r\n class=\"notifications-container scroll\"\r\n>\r\n <mat-list class=\"\">\r\n <ng-container\r\n *ngFor=\"\r\n let notification of notifications;\r\n let i = index;\r\n trackBy: trackBy\r\n \"\r\n >\r\n <!-- <mat-divider class=\"marginize\"></mat-divider> -->\r\n <app-notification-item\r\n (click)=\"openNotification(notification)\"\r\n (update)=\"onUpdate($event)\"\r\n [notification]=\"notification\"\r\n [isArabic]=\"isArabic\"\r\n ></app-notification-item>\r\n </ng-container>\r\n <div\r\n *ngIf=\"loading\"\r\n style=\"display: grid; place-items: center; margin-top: 10px\"\r\n >\r\n <mat-spinner [diameter]=\"48\" style=\"margin: 0 auto\"></mat-spinner>\r\n </div>\r\n </mat-list>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}:host{height:100%;position:relative}.toolbar{background-image:linear-gradient(to right,#0dbab5,#1a96c6);display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;padding:.25rem 1.5rem}.toolbar .title{font-size:1.125rem;line-height:1.75rem;display:flex;align-items:center}.toolbar .markAllAsRead-btn{background:none;border:none;margin:0;padding:0;cursor:pointer;font-size:.75rem;line-height:1rem;display:flex;align-items:center;color:#fff}.no-notifications{margin-top:1.25rem;display:flex;justify-content:center;align-items:center}.no-notifications p{text-align:center;color:#b4bac6}.notifications-container{height:100%;overflow:scroll}.notifications-container ::-webkit-scrollbar{width:8px}.notifications-container mat-list{padding:16px;display:grid;grid-row-gap:8px;row-gap:8px}.scroll::-webkit-scrollbar-thumb{background-color:#d9dce2}div[scrollx=true],div[scrolly=true]{position:relative;overflow:hidden;max-height:80vh}div[scrollx=true] ::-webkit-scrollbar,div[scrolly=true] ::-webkit-scrollbar{display:none}div[scrollx=true]{overflow-x:auto}div[scrolly=true]{overflow-y:auto}ion-toolbar{min-height:40px;height:40px;--min-height: 40px;box-shadow:0 0 1px 1px #cbcbcb}ion-toolbar ion-title{height:14px;font-size:13px;font-weight:bold}ion-toolbar ion-button{font-size:12px;letter-spacing:0px}ion-item-divider{--background: rgba(var(--ion-color-light-rgb), 1);color:#666}\n"], components: [{ type: i2$3.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: NotificationItemComponent, selector: "app-notification-item", inputs: ["notification", "isArabic"], outputs: ["update"] }, { type: i8.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7$2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
17091
17095
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: NotificationsListComponent, decorators: [{
17092
17096
  type: Component,
17093
17097
  args: [{
@@ -17112,6 +17116,7 @@ class NotificationsButtonComponent {
17112
17116
  this.translationService = translationService;
17113
17117
  this.toastrClick = new EventEmitter();
17114
17118
  this.listItemClick = new EventEmitter();
17119
+ this.customNotificationIcon = null;
17115
17120
  }
17116
17121
  get notificationsCount() {
17117
17122
  return this.notificationsService.notificationsCount;
@@ -17243,7 +17248,7 @@ class NotificationsButtonComponent {
17243
17248
  }
17244
17249
  }
17245
17250
  NotificationsButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: NotificationsButtonComponent, deps: [{ token: NotificationsService }, { token: i1$1.TranslateService }, { token: i1$3.ToastrService }, { token: TimeAgoPipe }, { token: i2$2.Router }, { token: i0.ChangeDetectorRef }, { token: TranslationService$1 }], target: i0.ɵɵFactoryTarget.Component });
17246
- NotificationsButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsButtonComponent, selector: "app-notifications-button", outputs: { toastrClick: "toastrClick", listItemClick: "listItemClick" }, ngImport: i0, template: "<div [matMenuTriggerFor]=\"langMenu\" class=\"notification\" (click)=\"getNotifications()\" class=\"search-wrapper\">\r\n <span matBadgeSize=\"small\" matBadge=\"{{ notificationsCount }}\" matBadgeColor=\"warn\" matbadgeposition=\"before\"\r\n class=\"bi bi-bell bell\"></span>\r\n</div>\r\n<mat-menu class=\"mat-menu-panel myMenu notification-list\" #langMenu=\"matMenu\">\r\n <app-notifications-list (listItemClick)=\"onListItemClick($event)\"></app-notifications-list>\r\n</mat-menu>\r\n", styles: [".notifications-count{background-color:#eee;border-radius:5px;color:#333;font-size:11px;padding:0 6px;box-sizing:border-box}.notification-list{max-width:450px!important;width:450px;height:66vh}.notification-list .mat-menu-content{padding:0!important;position:relative;height:calc(100% - 29px)}.notification-list .mat-menu-content .mat-toolbar{margin:0 0 -10px}.mat-menu-panel.myMenu{border-radius:5px!important;overflow:hidden}.notification .mat-icon{margin-right:0!important;vertical-align:middle}.toast-container{right:12px!important;bottom:12px!important;pointer-events:all}.toast-container .ngx-toastr{padding:25px!important;background-position:263px center;border-radius:5px!important;box-shadow:none!important}.toast-container .toast-title{font-weight:normal}.wrap{white-space:normal!important;font-size:14px!important;margin-bottom:8px!important}.mat-menu-content:not(:empty){padding-top:0;padding-bottom:0}[dir=rtl] .toast-container{left:12px!important;right:auto!important;direction:rtl;text-align:right}[dir=rtl] .toast-container .ngx-toastr{background-position:10px center}[dir=rtl] .toast-container .toast-close-button{float:left}.mat-badge-content{right:-4px!important;top:-1px!important}.rtl .mat-badge-content{font-weight:600;right:-6px!important;top:-5px!important}\n"], components: [{ type: i4$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: NotificationsListComponent, selector: "app-notifications-list", outputs: ["listItemClick"] }], directives: [{ type: i4$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i9.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }], encapsulation: i0.ViewEncapsulation.None });
17251
+ NotificationsButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: NotificationsButtonComponent, selector: "app-notifications-button", inputs: { customNotificationIcon: "customNotificationIcon" }, outputs: { toastrClick: "toastrClick", listItemClick: "listItemClick" }, ngImport: i0, template: "<div [matMenuTriggerFor]=\"langMenu\" class=\"notification\" (click)=\"getNotifications()\" class=\"search-wrapper\">\r\n <span *ngIf=\"!customNotificationIcon;else customIcon\" matBadgeSize=\"small\" matBadge=\"{{ notificationsCount }}\"\r\n matBadgeColor=\"warn\" matbadgeposition=\"before\" class=\"bi bi-bell bell\"></span>\r\n</div>\r\n<mat-menu class=\"mat-menu-panel myMenu notification-list\" #langMenu=\"matMenu\">\r\n <app-notifications-list (listItemClick)=\"onListItemClick($event)\"></app-notifications-list>\r\n</mat-menu>\r\n\r\n<ng-template #customIcon>\r\n <ng-container *ngTemplateOutlet=\"customNotificationIcon\"></ng-container>\r\n</ng-template>", styles: [".notifications-count{background-color:#eee;border-radius:5px;color:#333;font-size:11px;padding:0 6px;box-sizing:border-box}.notification-list{max-width:450px!important;width:450px;height:66vh}.notification-list .mat-menu-content{padding:0!important;position:relative;height:calc(100% - 29px)}.notification-list .mat-menu-content .mat-toolbar{margin:0 0 -10px}.mat-menu-panel.myMenu{border-radius:5px!important;overflow:hidden}.notification .mat-icon{margin-right:0!important;vertical-align:middle}.toast-container{right:12px!important;bottom:12px!important;pointer-events:all}.toast-container .ngx-toastr{padding:25px!important;background-position:263px center;border-radius:5px!important;box-shadow:none!important}.toast-container .toast-title{font-weight:normal}.wrap{white-space:normal!important;font-size:14px!important;margin-bottom:8px!important}.mat-menu-content:not(:empty){padding-top:0;padding-bottom:0}[dir=rtl] .toast-container{left:12px!important;right:auto!important;direction:rtl;text-align:right}[dir=rtl] .toast-container .ngx-toastr{background-position:10px center}[dir=rtl] .toast-container .toast-close-button{float:left}.mat-badge-content{right:-4px!important;top:-1px!important}.rtl .mat-badge-content{font-weight:600;right:-6px!important;top:-5px!important}\n"], components: [{ type: i4$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: NotificationsListComponent, selector: "app-notifications-list", outputs: ["listItemClick"] }], directives: [{ type: i4$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], encapsulation: i0.ViewEncapsulation.None });
17247
17252
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: NotificationsButtonComponent, decorators: [{
17248
17253
  type: Component,
17249
17254
  args: [{
@@ -17256,6 +17261,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
17256
17261
  type: Output
17257
17262
  }], listItemClick: [{
17258
17263
  type: Output
17264
+ }], customNotificationIcon: [{
17265
+ type: Input
17259
17266
  }] } });
17260
17267
 
17261
17268
  /** @ignore */