@propmix/profet-common-header 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/header/header.component.mjs +35 -33
- package/fesm2015/propmix-profet-common-header.mjs +37 -35
- package/fesm2015/propmix-profet-common-header.mjs.map +1 -1
- package/fesm2020/propmix-profet-common-header.mjs +34 -33
- package/fesm2020/propmix-profet-common-header.mjs.map +1 -1
- package/lib/header/header.component.d.ts +1 -2
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { CommonHeaderService } from '../common-header.service';
|
|
|
3
3
|
import { Router } from '@angular/router';
|
|
4
4
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
5
5
|
import { Amplify, Auth } from 'aws-amplify';
|
|
6
|
+
import { forkJoin } from 'rxjs';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@angular/common";
|
|
8
9
|
import * as i2 from "@angular/material/toolbar";
|
|
@@ -50,12 +51,36 @@ export class HeaderComponent {
|
|
|
50
51
|
console.log(e);
|
|
51
52
|
}
|
|
52
53
|
});
|
|
53
|
-
Auth.currentAuthenticatedUser().then(user => {
|
|
54
|
+
Auth.currentAuthenticatedUser().then(async (user) => {
|
|
54
55
|
this.username = user.attributes.given_name;
|
|
55
|
-
this.
|
|
56
|
+
let userDetails = this._ser.getUserDetailsByEmail({ email: user.attributes.email });
|
|
57
|
+
let userCompanyInfo = this._ser.getUserCompanies();
|
|
58
|
+
forkJoin([userDetails, userCompanyInfo]).subscribe({
|
|
59
|
+
next: (res) => {
|
|
60
|
+
if (res && res[0]) {
|
|
61
|
+
this.userAuthData = res[0];
|
|
62
|
+
if (this.userAuthData?._links?.profileImage?.href) {
|
|
63
|
+
this.getUserProfile();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (res && res[1]) {
|
|
67
|
+
if (res[1] && res[1].data && res[1].data.companies) {
|
|
68
|
+
this.userCompanies = res[1].data.companies;
|
|
69
|
+
if (this.userCompanies.length > 1) {
|
|
70
|
+
this.showSwitchCompanies = true;
|
|
71
|
+
for (var com of this.userCompanies) {
|
|
72
|
+
if (com.companyKey == this.userAuthData.lastAccessedCompanyKey) {
|
|
73
|
+
com.activeNow = true;
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
56
82
|
})
|
|
57
83
|
.catch(() => console.log("User not logged in"));
|
|
58
|
-
this.getUserCompany();
|
|
59
84
|
}
|
|
60
85
|
menuAction() {
|
|
61
86
|
this.menuEvent.emit();
|
|
@@ -100,33 +125,10 @@ export class HeaderComponent {
|
|
|
100
125
|
}
|
|
101
126
|
});
|
|
102
127
|
}
|
|
103
|
-
|
|
104
|
-
this._ser.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
this.userCompanies = userCompaniesData.data.companies;
|
|
108
|
-
if (this.userCompanies.length > 1) {
|
|
109
|
-
this.showSwitchCompanies = true;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
error: (e) => {
|
|
114
|
-
console.log("Error in fetching companies for the user");
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
getUserDetails(email) {
|
|
119
|
-
let req = {
|
|
120
|
-
email: email
|
|
121
|
-
};
|
|
122
|
-
this._ser.getUserDetailsByEmail(req).subscribe(res => {
|
|
123
|
-
this.userAuthData = res;
|
|
124
|
-
if (this.userAuthData?._links?.profileImage?.href) {
|
|
125
|
-
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
126
|
-
if (img?.locationUrl) {
|
|
127
|
-
this.userImageLink = img.locationUrl;
|
|
128
|
-
}
|
|
129
|
-
});
|
|
128
|
+
getUserProfile() {
|
|
129
|
+
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
130
|
+
if (img?.locationUrl) {
|
|
131
|
+
this.userImageLink = img.locationUrl;
|
|
130
132
|
}
|
|
131
133
|
});
|
|
132
134
|
}
|
|
@@ -183,10 +185,10 @@ export class HeaderComponent {
|
|
|
183
185
|
}
|
|
184
186
|
}
|
|
185
187
|
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
186
|
-
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
188
|
+
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
187
189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
188
190
|
type: Component,
|
|
189
|
-
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
191
|
+
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAANEAAADRAByn70/QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABg+SURBVHic7d1djOX3fdfxz//M2sbeh8YOcSLFVb12ClUjaAoXqIqEjFAlKIFAVVyZiEBFhB82pCJVueACrRCgShWpFLp2KDVqqAOJVVRRtVWbSCgtSEGKjNqKQFWn3t3KPKRxU8U7a8de7/y4iHe7Xs9858zMOef/9HpdedezO7+7z/v3P+fMJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwCB0fR8AAObqXR//g1OvHbv1u7u0b0/X3Zvkzta627u0K12Xl3davrZo3bPZ6p69s7vjN595uLuyqu8tAABgg05/Yvu7up08lK59b2v5riRby/3J7nLSvtBa94vtWPf0xYeP/9+jnEMAAMCavfvpduvLL1z6QOu6f5iWP7WCv/Jqa+1Xs+h+/MKjJz9/mL9AAADAurTWnX788t/uuvYvWvLO9XyPfKHL4oefO3P8iwf5YwIAANbg9OMv/smkezLJezfw7XaS/PQd7eUf+dKZu7eX+QMCAABW7PS57Q+ma+eSnNjsd+4utFx96MJj3/Lf9vvKxSaOAwCz0Fp33+PbP5aufTIbH/8kafd2WXz+9LlLP7DfV3oCAAAr8MDZduzi3ZeeTLoP9n2WJFfT2sPnz5x6cq8vEAAAcFRPt63TX93+ZLp8oO+j3KCl6/7O+UdP/Oxu/1MAAMARfPPmv/1Ukh/s+yy7eKV1+Uu7fVRQAADAYQ3z5v9GLV9p6d5z4cyJ/3fjb3sTIAAcwgNn27HTL2x/atDjnyRd3r7odv7tzb8tAADgoJ5uWxfftv0zGeZj/zdp6f7y6ScuPXjj73kJAAAOYOCv+e+ty/MvbV/+jq/86DsuJ54AAMDyRnbzf4OWe26/48SHrv3SEwAAWMYY3vC3ny7P3/HWE/d/6cHuVU8AAGAfo3nD335a7rn8wqXvS7wEAAC1MT/230XXuocSLwEAwJ5G+4a/2ktbr524a6vvUwDAID3dtrpsfzJdHur7KCt2S1u88lkBAAA3eeBsO9Z125+a4Ph/U+t+VwAAwI2me/O/ri3yFQEAANdM4aN+S+hae0UAAEBm8Nj/Rl3XCQAAmMFj/5sJAABmbVY3/z9yTAAAMF8zvPm/7rIAAGCWZnrzv+ZrAgCA+Znvzf917bf9WwAAzMtMPupXaeme9QQAgNmY+WP/67q0T3sCAMA8TOxf9TuKruXX/WuAAEzeRP9Vv0PqLm+9dvytngAAMG1u/m/QuvYLX/5I98qxvg8CAOvywNl27OIL20+lM/7XdK19Okk8AQBgmtz8d9Fd+LbfP/nLiQAAYIp81G93XfuXnz/bvZYkXgIAYFI89t9Lu3jl5ZNPXvuVnwMAwHTM/if87a3rug9d/Mhtv3X9130eBgBWxUf9Kt0vnn/sxF+98Xe8BADA+D3dti5+1Rv+dtMl//vY1s4P3fz7XgIAYNT8eN/SN7rW3v/lR0/99s3/QwAAMF5e86/spOVvnT9z6ld2+58CAIBRcvMvtbT2yPkzp57a6wsEAADj4+ZfaV3Lh8+fOfWvqy/yKQAAxsUP+am0ruXDz505+fh+XygAABgP419ZevwTAQDAWBj/yoHGPxEAAIyB8a8cePwTAQDA0Bn/yqHGPxEAAAyZ8a8cevwTAQDAUBn/ypHGPxEAAAyR8a8cefwTAQDA0Bj/ykrGPxEAAAyJ8a+sbPwTAQDAUBj/ykrHPxEAAAyB8a+sfPwTAQBA34x/ZS3jnwgAAPpk/CtrG/9EAADQF+NfWev4JwIAgD4Y/8raxz8RAABsmvGvbGT8EwEAwCYZ/8rGxj8RAABsivGvbHT8EwEAwCYY/8rGxz8RAACsm/Gv9DL+iQAAYJ2Mf6W38U8EAADrYvwrvY5/IgAAWAfjX+l9/BMBAMCqGf/KIMY/EQAArJLxrwxm/BMBAMCqGP/KoMY/EQAArILxrwxu/BMBAMBRGf/KIMc/EQAAHIXxrwx2/BMBAMBhGf/KoMc/EQAAHIbxrwx+/BMBAMBBGf/KKMY/EQAAHITxr4xm/BMBAMCyjH9lVOOfCAAAlmH8K6Mb/0QAALAf418Z5fgnAgCAivGvjHb8EwEAwF6Mf2XU458IAAB2Y/wrox//RAAAcDPjX5nE+CcCAIAbGf/KZMY/EQAAXGP8K5Ma/0QAAJAY/9rkxj8RAAAY/8okxz8RAADzZvwrkx3/RAAAzJfxr0x6/BMBADBPxr8y+fFPBADA/Bj/yizGPxEAAPNi/CuzGf9EAADMh/GvzGr8EwEAMA/GvzK78U8EAMD0Gf/KLMc/EQAA02b8K7Md/0QAAEyX8a/MevwTAQAwTca/MvvxTwQAwPQY/4rxf50AAJgS418x/jcQAABTYfwrxv8mAgBgCox/xfjvQgAAjJ3xrxj/PQgAgDEz/hXjXxAAAGNl/CvGfx8CAGCMjH/F+C9BAACMjfGvGP8lCQCAMTH+FeN/AAIAYCyMf8X4H5AAABgD418x/ocgAACGzvhXjP8hCQCAITP+FeN/BAIAYKiMf8X4H5EAABgi418x/isgAACGxvhXjP+KCACAITH+FeO/QgIAYCiMf8X4r5gAABgC418x/msgAAD6Zvwrxn9NBABAn4x/xfivkQAA6Ivxrxj/NRMAAH0w/hXjvwECAGDTjH/F+G+IAADYJONfMf4bJAAANsX4V4z/hgkAgE0w/hXj3wMBALBuxr9i/HsiAADWyfhXjH+PBADAuhj/ivHvmQAAWAfjXzH+AyAAAFbN+FeM/0AIAIBVMv4V4z8gAgBgVYx/xfgPjAAAWAXjXzH+AyQAAI7K+FeM/0AJAICjMP4V4z9gAgDgsIx/xfgPnAAAOAzjXzH+IyAAAA7K+FeM/0gIAICDMP4V4z8iAgBgWca/YvxHRgAALMP4V4z/CAkAgP0Y/4rxHykBAFAx/hXjP2ICAGAvxr9i/EdOAADsxvhXjP8ECACAmxn/ivGfCAEAcCPjXzH+EyIAAK4x/hXjPzECACAx/jXjP0ECAMD4V4z/RK00AN75ky++9bZjW38uO+07Wmun0+XtSXd70m5J8mLSvZjsPJd0z17N1Wd+77G3PLfK7w9wUA+cbccu3r39VJIf7PssA9SSPHL+sZM/1fdBWL0jB8Dpx7f/dGt5qOva+5K8+0B/Z5fn20732W4rnz5/1/H/nAe7q0c9D8CyjH/J+E/coQLggbPt2IW3b//AIvnR1vJnVnSW/9PSPr7Yeu0Tzz1819dX9HcC7Mr4l4z/DBw4AO574sX3tdZ9LMm3r+E8SfL1Lt0/vXPr+L965uHuypq+BzBjxr9k/Gdi6QC4/4lLd++0/Jskf22N57muS/5n2uLvPnfm+Bc38f2AeTD+JeM/I4tlvui+n9z+izstv5kNjX+StOQ7W7fzX08/sf0jac2nFYAjM/4l4z8z+w7r6XPbH0zXnkxybAPn2UP72bu2Tv49LwkAh+ajfhUf9ZuhMgDuPffiP+q67sf2+7rN6H7pyjeO/83nP9q93PdJgHFx8y+5+c/UnsN+7+OXHumSJzZ5mH21fO7KKyfeLwKApbn5V9z8Z2zXALj38Rf/epfu55Jsbfg8+xMBwJLc/Etu/jP3pgC4/9xL37rTXf2NJHf1cJ7liABgP27+FTd/bvoUwNm22MnVz2TI458kXb73ltu2/9M9H2u3930UYHgeONuOnX5h+1PGf1ctySPGnzcEwL13b//9dPmevg5zICIA2M3Tbevi27Z/Jh7776Z1LR/22J/khpcA7vnpr991y6uL30ny1h7Pc3BeDgBe5zX/ktf8eYPrTwCOXVn8g4xt/BNPAoBvcvOvuPnzJl2S3POxdvstf2z7YpK39Xyew/MkAGbLzb/k5s+uFkly6+2Xvz9jHv/EkwCYKzf/ips/e1okSWt5qO+DrIQIgHnxUb+Kj/pR6t597vdPvNTd/rUkt/R9mJXxcgBMnsf+JY/92dfi8uKO92ZK4594EgBT57F/xWN/lrLodtp7+z7EWogAmCQ/5Kfkh/ywtEW6fGffh1gbEQDT4uZfcfPnQBbp8if6PsRaiQCYBm/4q3jDHwe2SMs7+j7E2okAGDfjXzH+HMoiyfG+D7ERIgDGyfhXjD+HtkhyW9+H2BgRAKPiDX8lb/jjSBZJ5vVZeREA4+ANfxVv+OPIFkku9X2IjRMBMGhu/iU3f1ZikbTn+z5EL0QADJObf8XNn5VZtHTP9n2I3ogAGBZv+Kt4wx8rtUjab/V9iF6JABgEj/1LHvuzcoutlv/S9yF6JwKgXx77Vzz2Zy0Wbzl28ouZ4xsBbyYCoBdu/iU3f9Zm8czD3ZWk/XzfBxkEEQCb5eZfcfNnrRZJ0triP/R9kMEQAbARbv4lN3/WbpEkF756/LNJ/lfPZxkOEQDr5eZfcfNnIxZJkrPdTlr7iZ7PMiwiANbDR/0qPurHxiyu/ccdbzv5ySS/0+NZhkcEwEp57F/y2J+Nuh4AX3qwezWL7sN9HmaQRACshsf+FY/92bjFjb84/8iJz7Xk3/d1mMESAXAkbv4lN396sbj5N463lx+OlwLeTATA4bj5V9z86U2322/ee277PV3Xfi3JqQ2fZ/haPnfllRPvf/6j3bz+GWU4hAfOtmMX795+KsZ/Ny3JI8afvrzpCUCSXDhz4jdal/cneWXD5xk+TwJgOW7+FTd/erdrACTJhUdPfn6naw8lubLB84yDCICS1/xLXvNnEPYMgCS5+Oipn++y8zfiScCbiQDYnZt/xc2fwdj1PQA3u+/xr/+VlsV/THLbms8zPt4TAH/ED/mp+CE/DMpSAZCIgJIIAONfM/4MztIBkIiAkghgzox/xfgzSAcKgEQElEQAc2T8K8afwTpwACQioCQCmBPjXzH+DNqhAiARASURwBwY/4rxZ/AOHQCJCCiJAKbM+FeMP6NwpABIREBJBDBFxr9i/BmNIwdAIgJKIoApMf4V48+orCQAEhFQEgFMgfGvGH9GZ2UBkIiAkghgzIx/xfgzSisNgEQElEQAY2T8K8af0Vp5ACQioCQCGBPjXzH+jNpaAiARASURwBgY/4rxZ/TWFgCJCCiJAIbM+FeMP5Ow1gBIREBJBDBExr9i/JmMtQdAIgJKIoAhMf4V48+kbCQAEhFQEgEMgfGvGH8mZ2MBkIiAkgigT8a/YvyZpI0GQCICSiKAPhj/ivFnsjYeAIkIKIkANsn4V4w/k9ZLACQioCQC2ATjXzH+TF5vAZCIgJIIYJ2Mf8X4Mwu9BkAiAkoigHUw/hXjz2z0HgCJCCiJAFbJ+FeMP7MyiABIREBJBLAKxr9i/JmdwQRAIgJKIoCjMP4V488sDSoAEhFQEgEchvGvGH9ma3ABkIiAkgjgIIx/xfgza4MMgEQElEQAyzD+FePP7A02ABIRUBIBVIx/xfhDBh4AiQgoiQB2Y/wrxh9eN/gASERASQRwI+NfMf5wg1EEQCICSiKAxPjXjD/cZDQBkIiAkgiYN+NfMf6wi1EFQCICSiJgnox/xfjDHkYXAIkIKImAeTH+FeMPhVEGQCICSiJgHox/xfjDPkYbAIkIKImAaTP+FeMPSxh1ACQioCQCpsn4V4w/LGn0AZCIgJIImBbjXzH+cACTCIBEBJREwDQY/4rxhwOaTAAkIqAkAsbN+FeMPxzCpAIgEQElETBOxr9i/OGQJhcAiQgoiYBxMf4V4w9HMMkASERASQSMg/GvGH84oskGQCICSiJg2Ix/xfjDCkw6ABIRUBIBw2T8K8YfVmTyAZCIgJIIGBbjXzH+sEKzCIBEBJREwDAY/4rxhxWbTQAkIqAkAvpl/CvGH9ZgVgGQiICSCOiH8a8Yf1iT2QVAIgJKImCzjH/F+MMazTIAEhFQEgGbYfwrxh/WbLYBkIiAkghYL+NfMf6wAbMOgEQElETAehj/ivGHDZl9ACQioCQCVsv4V4w/bJAAeJ0IKIiA1TD+FeMPGyYAbiACCiLgaIx/xfhDDwTATURAQQQcjvGvGH/oiQDYhQgoiICDMf4V4w89EgB7EAEFEbAc418x/tAzAVAQAQURUDP+FeMPAyAA9iECCiJgd8a/YvxhIATAEkRAQQS8kfGvGH8YEAGwJBFQEAHfZPwrxh8GRgAcgAgozD0CjH/F+MMACYADEgGFuUaA8a8YfxgoAXAIIqAwtwgw/hXjDwMmAA5JBBTmEgHGv2L8YeAEwBGIgMLUI8D4V4w/jIAAOCIRUJhqBBj/ivGHkRAAKyACClOLAONfMf4wIgJgRURAYSoRYPwrxh9GRgCskAgojD0CjH/F+MMICYAVEwGFsUaA8a8YfxgpAbAGIqAwtggw/hXjDyMmANZEBBTGEgHGv2L8YeQEwBqJgMLQI8D4V4w/TIAAWDMRUBhqBBj/ivGHiRAAGyACCkOLAONfMf4wIQJgQ0RAYSgRYPwrxh8mRgBskAgo9B0Bxr9i/GGCBMCGiYBCXxFg/CvGHyZKAPRABBQ2HQHGv2L8YcIEQE9EQGFTEWD8K8YfJk4A9EgEFNYdAca/YvxhBgRAz0RAYV0RYPwrxh9mQgAMgAgorDoCjH/F+MOMCICBEAGFVUWA8a8Yf5gZATAgIqBw1Agw/hXjDzMkAAZGBBQOGwHGv2L8YaYEwACJgMJBI8D4V4w/zJgAGCgRUFg2Aox/xfjDzAmAARMBhf0iwPhXjD8gAIZOBBT2igDjXzH+QBIBMAoioHBzBBj/ivEHrhMAIyECCtci4J68avz3ZPyBNxAAI3LfuUvf37p8OsktfZ9lcFo+l+QP0+XBvo8yQC3JI+cfO/lTfR8EGA4BMDIigANy8wd2JQBGSASwJOMP7EkAjJQIYB/GHygJgBETAezB+AP7EgAjJwK4ifEHliIAJkAE8DrjDyxNAEyECJg94w8ciACYEBEwW8YfODABMDEiYHaMP3AoAmCCRMBsGH/g0ATARImAyTP+wJEIgAkTAZNl/IEjEwATJwImx/gDKyEAZkAETIbxB1ZGAMyECBg94w+slACYEREwWsYfWDkBMDMiYHSMP7AWAmCGRMBoGH9gbQTATImAwTP+wFoJgBkTAYNl/IG1EwAzJwIGx/gDGyEAEAHDYfyBjREAJBEBA2D8gY0SAFwnAnpj/IGNEwC8gQjYOOMP9EIA8CYiYGOMP9AbAcCuRMDaGX+gVwKAPYmAtTH+QO8EACURsHLGHxgEAcC+RMDKGH9gMAQASxEBR2b8gUERACxNBBya8QcGRwBwICLgwIw/MEgCgAMTAUsz/sBgCQAORQTsy/gDgyYAODQRsCfjDwyeAOBIRMCbGH9gFAQARyYCrjP+wGgIAFZCBBh/YFwEACsz4wgw/sDoCABWaoYRYPyBURIArNyMIsD4A6MlAFiLGUSA8QdGTQCwNhOOAOMPjJ4AYK0mGAHGH5gEAcDaTSgCjD8wGQKAjZhABBh/YFIEABsz4ggw/sDkCAA2aoQRYPyBSRIAbNyIIsD4A5MlAOjFCCLA+AOTJgDozYAjwPgDkycA6NUAI8D4A7MgAOjdfU+8+L7Wus8kuaPno1xJ6z50/syJf9fzOQDWTgAwCN/2iRe/Z7HT/UKSP97TES611j144cyJX+np+wNs1KLvA0CSXHzk1Be2Xtv67nT59U1/767Lf+8WO3/W+ANz4gkAw/J02zr9wqWPJt0/SXJizd/tG2n58a2rJ/75lz/SvbLm7wUwKAKAQbrniZfeeWt2/llr7QNZ/RsEryb5uau5+o9/77G3PLfivxtgFAQAg3b/uZe+dSev/XC67gNJ3nHEv+4P0uUzi52dn/jdM9/y5VWcD2CsBADj8HTbuu+Fy39hp9v5vq51fz7Je5Js7fOndpL8jyS/1mXnV+/cOvXZZx7urqz9rAAjIAAYpXd9vN326q3b92/ttHe1LO5cdO2O1rJorV1Oyx8u2uK5nRPHn73wQ903+j4rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCy/j8liWgMn9baTQAAAABJRU5ErkJggg==\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
190
192
|
}], ctorParameters: function () { return []; }, propDecorators: { template: [{
|
|
191
193
|
type: Input
|
|
192
194
|
}], menuEvent: [{
|
|
@@ -194,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
194
196
|
}], infoEvent: [{
|
|
195
197
|
type: Output
|
|
196
198
|
}] } });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFhLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQVE1QyxNQUFNLE9BQU8sZUFBZTtJQWtCMUI7UUFoQkEsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUVaLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTlDLFlBQU8sR0FBZSxFQUFFLENBQUM7UUFFekIsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRXJDLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFHZixZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLGNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBRzNDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixFQUFF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LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25IZWFkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uLWhlYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBBbXBsaWZ5LCBBdXRoIH0gZnJvbSAnYXdzLWFtcGxpZnknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xuICBcbiAgdXNlcm5hbWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB0ZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBPdXRwdXQoKSBtZW51RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGluZm9FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBzaWRlbmF2ITogTWF0U2lkZW5hdjtcbiAgYXBwTGlzdDogQXJyYXk8YW55PiA9IFtdO1xuICB1c2VyQ29tcGFuaWVzOiBhbnk7XG4gIHNob3dTd2l0Y2hDb21wYW5pZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29tcGFueVByb2ZpbGU6IGFueTtcbiAgcG9ydGFsVXJsOiBzdHJpbmcgPSAnJztcbiAgdXNlckF1dGhEYXRhOiBhbnk7XG4gIHVzZXJJbWFnZUxpbms6IGFueTtcbiAgcHJpdmF0ZSBfcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgX3NuYWNrYmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcbiAgcHJpdmF0ZSBfc2VyID0gaW5qZWN0KENvbW1vbkhlYWRlclNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCl7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZldGNoQ29tcGFueVByb2ZpbGUoKTtcbiAgICB0aGlzLl9zZXIuZ2V0QXBwcygpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAodikgPT4ge1xuICAgICAgICB0aGlzLnBvcnRhbFVybCA9IHY/LmRhdGE/LnBvcnRhbFVybDtcbiAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgY29tcGFueUluZm86IHRoaXMuY29tcGFueVByb2ZpbGUsXG4gICAgICAgICAgcG9ydGFsVXJsOiB0aGlzLnBvcnRhbFVybFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmluZm9FdmVudC5lbWl0KGRhdGEpO1xuICAgICAgICBsZXQgY29uZmlnOiBhbnkgPSBBdXRoLmNvbmZpZ3VyZSgpO1xuICAgICAgICBsZXQgc2lnbm91dFVybCA9IGAke3RoaXMucG9ydGFsVXJsfS9sb2dpbmA7XG4gICAgICAgIGNvbmZpZy5vYXV0aCA9IHsuLi5jb25maWcub2F1dGgsLi4ue1wicmVkaXJlY3RTaWduT3V0XCI6IHNpZ25vdXRVcmx9fTtcbiAgICAgICAgQW1wbGlmeS5jb25maWd1cmUoY29uZmlnKTtcbiAgICAgICAgaWYodj8uZGF0YT8uYXBwbGljYXRpb25zICYmIHYuZGF0YS5hcHBsaWNhdGlvbnMubGVuZ3RoID4gMCl7XG4gICAgICAgICAgLy8gdGhpcy5mZXRjaENvbXBhbnlEYXRhKHYuZGF0YS5hcHBsaWNhdGlvbnMpO1xuICAgICAgICAgIHRoaXMuYXBwTGlzdCA9IFtdO1xuICAgICAgICAgIHYuZGF0YS5hcHBsaWNhdGlvbnMuZm9yRWFjaCgoZWxlbWVudDphbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwTGlzdC5wdXNoKHtcbiAgICAgICAgICAgICAgbmFtZTogZWxlbWVudC5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgICAgdmFsdWU6IGVsZW1lbnQsXG4gICAgICAgICAgICAgIGFwcFVybDogZWxlbWVudC5hcHBVcmxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpXG4gICAgICB9XG4gICAgfSk7XG4gICAgQXV0aC5jdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKS50aGVuKHVzZXIgPT4ge1xuICAgICAgdGhpcy51c2VybmFtZSA9IHVzZXIuYXR0cmlidXRlcy5naXZlbl9uYW1lO1xuICAgICAgdGhpcy5nZXRVc2VyRGV0YWlscyh1c2VyLmF0dHJpYnV0ZXMuZW1haWwpXG4gICAgfSlcbiAgICAgIC5jYXRjaCgoKSA9PiBjb25zb2xlLmxvZyhcIlVzZXIgbm90IGxvZ2dlZCBpblwiKSk7XG4gICAgdGhpcy5nZXRVc2VyQ29tcGFueSgpO1xuICB9XG5cbiAgbWVudUFjdGlvbigpe1xuICAgIHRoaXMubWVudUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIGZldGNoQ29tcGFueVByb2ZpbGUoKXtcbiAgICBsZXQgcmVxID0ge1xuICAgICAgY29tcGFueU5hbWU6IGRvY3VtZW50LmxvY2F0aW9uLmhvc3Quc3BsaXQoJy4nKVswXVxuICAgIH07XG4gICAgdGhpcy5fc2VyLmZldGNoQ29tcGFueVByb2ZpbGUocmVxKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgdGhpcy5jb21wYW55UHJvZmlsZSA9IHY7XG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgIGNvbXBhbnlJbmZvOiB2LFxuICAgICAgICAgIHBvcnRhbFVybDogdGhpcy5wb3J0YWxVcmxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbmZvRXZlbnQuZW1pdChkYXRhKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIGZldGNoQ29tcGFueURhdGEoYWxsQXBwczpBcnJheTxhbnk+KSB7XG4gICAgdGhpcy5fc2VyLmdldENvbXBhbnlBcHBsaWNhdGlvbnMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgaWYgKHY/LmRhdGEuZW5hYmxlZEFwcGxpY2F0aW9ucykge1xuICAgICAgICAgIHRoaXMuYXBwTGlzdCA9IFtdO1xuICAgICAgICAgIGxldCBhcHBJbmZvID0gW107XG4gICAgICAgICAgbGV0IGZldGNoZWRBcHBsaWNhdGlvbnMgPSB2LmRhdGEuZW5hYmxlZEFwcGxpY2F0aW9ucy5zcGxpdCgnLCcpO1xuXG4gICAgICAgICAgaWYgKGZldGNoZWRBcHBsaWNhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZmV0Y2hlZEFwcGxpY2F0aW9ucy5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xuICAgICAgICAgICAgICBhcHBJbmZvID0gYWxsQXBwcy5maWx0ZXIoZWxlID0+IGVsZS5uYW1lID09IGVsZW1lbnQpO1xuICAgICAgICAgICAgICBpZiAoYXBwSW5mbyAmJiBhcHBJbmZvLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpZihhcHBJbmZvWzBdLm5hbWUgIT0gJ21jYScpe1xuICAgICAgICAgICAgICAgICAgdGhpcy5hcHBMaXN0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBhcHBJbmZvWzBdLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgYXBwVXJsOiBhcHBJbmZvWzBdLmFwcFVybFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnZXRVc2VyQ29tcGFueSgpe1xuICAgIHRoaXMuX3Nlci5nZXRVc2VyQ29tcGFuaWVzKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh1c2VyQ29tcGFuaWVzRGF0YTogYW55KSA9PiB7XG4gICAgICAgIGlmICh1c2VyQ29tcGFuaWVzRGF0YSAmJiB1c2VyQ29tcGFuaWVzRGF0YS5kYXRhICYmIHVzZXJDb21wYW5pZXNEYXRhLmRhdGEuY29tcGFuaWVzKSB7XG4gICAgICAgICAgdGhpcy51c2VyQ29tcGFuaWVzID0gdXNlckNvbXBhbmllc0RhdGEuZGF0YS5jb21wYW5pZXM7XG4gICAgICAgICAgaWYgKHRoaXMudXNlckNvbXBhbmllcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dTd2l0Y2hDb21wYW5pZXMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkVycm9yIGluIGZldGNoaW5nIGNvbXBhbmllcyBmb3IgdGhlIHVzZXJcIik7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldFVzZXJEZXRhaWxzKGVtYWlsOiBzdHJpbmcpe1xuICAgIGxldCByZXEgPSB7XG4gICAgICBlbWFpbDogZW1haWxcbiAgICB9O1xuICAgIHRoaXMuX3Nlci5nZXRVc2VyRGV0YWlsc0J5RW1haWwocmVxKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMudXNlckF1dGhEYXRhID0gcmVzO1xuICAgICAgaWYodGhpcy51c2VyQXV0aERhdGE/Ll9saW5rcz8ucHJvZmlsZUltYWdlPy5ocmVmKXtcbiAgICAgICAgdGhpcy5fc2VyLm9idGFpbkRhdGFCeVVybCh0aGlzLnVzZXJBdXRoRGF0YS5fbGlua3MucHJvZmlsZUltYWdlLmhyZWYpLnN1YnNjcmliZShpbWcgPT4ge1xuICAgICAgICAgIGlmKGltZz8ubG9jYXRpb25Vcmwpe1xuICAgICAgICAgICAgdGhpcy51c2VySW1hZ2VMaW5rID0gaW1nLmxvY2F0aW9uVXJsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgYXBwUmVkaXJlY3QoYXBwOmFueSkge1xuICAgIC8vIGlmIChhcHAubmFtZSAhPSAnT3JkZXIgTWFuYWdlbWVudCcpIHtcbiAgICAgIHdpbmRvdy5vcGVuKGFwcC5hcHBVcmwsIFwiX3NlbGZcIik7XG4gICAgLy8gfVxuICB9XG4gIHByb2ZpbGUoKSB7XG4gICAgLy8gdGhpcy5mZXRjaFVzZXJEYXRhKCk7XG4gICAgaWYodGhpcy5fc2VyLnBvcnRhbEZyb250ZW5kVXJsKXtcbiAgICAgIGxldCB1cmwgPSB0aGlzLnBvcnRhbFVybCsnL2FwcC9wcm9maWxlJztcbiAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhyZWYgPSB1cmw7XG4gICAgfVxuICAgIGVsc2V7XG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2FwcC9wcm9maWxlJyk7XG4gICAgfVxuICB9XG4gIG9uTG9nb3V0Q2xpY2soKSB7XG4gICAgQXV0aC5zaWduT3V0KHsgZ2xvYmFsOiB0cnVlIH0pXG4gICAgICAudGhlbihkYXRhID0+IGNvbnNvbGUubG9nKGRhdGEpKVxuICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGVycilcbiAgICAgICAgQXV0aC5zaWduT3V0KCk7XG4gICAgICB9KTtcbiAgfVxuICBzd2l0Y2hDb21wYW55KGNvbXBhbnk6IGFueSkge1xuICAgIC8vIHN3aXRjaCB0aGUgdXNlciB0byB0aGUgc2VsZWN0ZWMgY29tcGFueVxuXG4gICAgLy8gRmluZCB0aGUgZG9tYWluIGluZm9ybWF0aW9uXG4gICAgbGV0IGRvbWFpbkluZm8gPSB0aGlzLl9zZXIuZ2V0RG9tYWluSW5mbygpO1xuICAgIGlmKGRvbWFpbkluZm8pe1xuICAgICAgbGV0IHJlcTphbnkgPSB7IGNvbXBhbnlLZXk6IGNvbXBhbnkuY29tcGFueUtleSxhcHBOYW1lOiBkb21haW5JbmZvLmFwcENvZGUgfTtcbiAgICAgIHRoaXMuX3Nlci51cGRhdGVVc2VyQ29tcGFueShyZXEpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnR5cGUgJiYgcmVzcG9uc2UudHlwZSA9PSBcIk9LXCIpIHtcbiAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuYXBwbGljYXRpb25VUkwpe1xuICAgICAgICAgICAgICBsZXQgdXJsID0gcmVzcG9uc2UuZGF0YS5hcHBsaWNhdGlvblVSTCArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UodXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHJlZnJlc2ggdGhlIGN1cnJlbnQgcGFnZSB0byByZWxvYWQgdGhlIGNvbnRlbnRzIGJhc2VkIG9uIHRoZSBjdXJyZW50IGNvbXBhbnlcbiAgICAgICAgICAgIC8vIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBkaXNwbGF5IGEgbWVzc2FnZSB0byB0aGUgdXNlciB0aGF0IHRoZSBjb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC5cbiAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW4oJ0NvbXBhbnkgY291bGQgbm90IGJlIHN3aXRjaGVkLiBQbGVhc2UgdHJ5IGFnYWluIG9yIGNvbnRhY3Qgc3VwcG9ydC4nLCAnT0snLCB7IGR1cmF0aW9uOiA1MDAwIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAvLyBkaXNwbGF5IGEgbWVzc2FnZSB0byB0aGUgdXNlciB0aGF0IHRoZSBjb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC5cbiAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuKCdDb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC4gUGxlYXNlIHRyeSBhZ2FpbiBvciBjb250YWN0IHN1cHBvcnQuJywgJ09LJywgeyBkdXJhdGlvbjogNTAwMCB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfVxuICBcbn1cbiIsIjxtYXQtdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cImNvbW1vbl9oZWFkZXIgc2hhZG93LXNtXCI+XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJtZW51QWN0aW9uKClcIiBhcmlhLWxhYmVsPVwibWFpbiBtZW51XCIgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJtZW51SGFtYmVyZ2VyIG1lLTRcIj5cbiAgICA8aW1nIHNyYz1cIi4uL2Fzc2V0cy9pbWFnZXMvaGFtYnVyZ2VyX21lbnUuc3ZnXCIgc3R5bGU9XCJ3aWR0aDogMjBweDtoZWlnaHQ6IDIwcHg7XCI+XG4gIDwvYnV0dG9uPlxuICA8YSBjbGFzcz1cIm5hdmJhci1icmFuZCBtZS1hdXRvXCIgaHJlZj1cIiNcIj5cbiAgICA8aW1nICpuZ0lmPVwiY29tcGFueVByb2ZpbGVcIiBbc3JjXT1cImNvbXBhbnlQcm9maWxlLmxvZ29cIiBhbHQ9XCJMb2dvXCIgc3R5bGU9XCJoZWlnaHQ6IDMwcHg7XCI+XG4gIDwvYT5cbiAgPHNwYW4gY2xhc3M9XCJleGFtcGxlLXNwYWNlclwiPjwvc3Bhbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPGJ1dHRvbiAqbmdJZj1cImFwcExpc3QubGVuZ3RoID4gMFwiIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cIm1lLTMgc3dpdGNoQnV0dG9uXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFwcHNcIj5cbiAgICA8aW1nIHNyYz1cIi4uL2Fzc2V0cy9pbWFnZXMvYXBwcy5wbmdcIiBhbHQ9XCJhcHBzIGljb25cIiBzdHlsZT1cIndpZHRoOjIwcHg7aGVpZ2h0OiAyMHB4O1wiPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1tZW51ICNhcHBzPVwibWF0TWVudVwiIGNsYXNzPVwiYWNjb3VudHNfZHJwbWVudVwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGFwcCBvZiBhcHBMaXN0XCI+XG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImFwcFJlZGlyZWN0KGFwcClcIj57e2FwcC5uYW1lfX08L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtbWVudT5cbiAgPGRpdiBjbGFzcz1cInByb2ZpbGUtbmFtZVwiPlxuICAgIDxwICpuZ0lmPVwidXNlcm5hbWVcIiBjbGFzcz1cInhzSGlkZGVuVXNlcm5hbWUgbWItMFwiPnt7dXNlcm5hbWV9fTwvcD5cbiAgICA8IS0tPHNwYW4gY2xhc3M9XCJ4c0hpZGRlblVzZXJuYW1lIG1iLTBcIiAqbmdGb3I9XCJsZXQgcm9sZSBvZiB1c2VyUm9sZVwiPnt7cm9sZSB8IGZvcm1hdFdvcmQ6IHRydWU6J18nfX08L3NwYW4+LS0+XG4gIDwvZGl2PlxuICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cbiAgICA8aW1nIGNsYXNzPVwiYXZhdGFyTG9nb1wiIFtzcmNdPVwidXNlckltYWdlTGluaz91c2VySW1hZ2VMaW5rOicuLi9hc3NldHMvaW1hZ2VzL2RwLnBuZydcIiBhbHQ9XCJBdmF0YXIgTG9nb1wiIGNsYXNzPVwiYXZhdGFyTG9nbyByb3VuZGVkLXBpbGxcIj5cbiAgPC9idXR0b24+XG4gIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImFjY291bnRzX2RycG1lbnVcIj5cbiAgICA8c3BhbiAqbmdJZj1cInVzZXJuYW1lXCIgY2xhc3M9XCJ4c1Nob3dVc2VybmFtZVwiPnt7dXNlcm5hbWV9fTwvc3Bhbj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInByb2ZpbGUoKVwiPlByb2ZpbGU8L2J1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwic2hvd1N3aXRjaENvbXBhbmllc1wiIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNvbXBhbmllc1wiPlN3aXRjaCBDb21wYW55PC9idXR0b24+XG4gICAgPG1hdC1tZW51ICNjb21wYW5pZXM9XCJtYXRNZW51XCIgY2xhc3M9XCJhY2NvdW50c19kcnBtZW51XCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjb21wYW55IG9mIHVzZXJDb21wYW5pZXNcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzd2l0Y2hDb21wYW55KGNvbXBhbnkpXCI+e3tjb21wYW55Lm5hbWV9fTwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtbWVudT5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uTG9nb3V0Q2xpY2soKVwiPkxvZ291dDwvYnV0dG9uPlxuICA8L21hdC1tZW51PlxuPC9tYXQtdG9vbGJhcj4iXX0=
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFhLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBUWhDLE1BQU0sT0FBTyxlQUFlO0lBa0IxQjtRQWhCQSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRVosY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFOUMsWUFBTyxHQUFlLEVBQUUsQ0FBQztRQUV6Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFFckMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUdmLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsY0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoQyxTQUFJLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFHM0Ms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O1NBQ0g7SUFDSCxDQUFDOzs2R0FoTVUsZUFBZTtpR0FBZixlQUFlLGlKQ2Q1Qiw2elZBc0NjOzRGRHhCRCxlQUFlO2tCQU4zQixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTswRUFLNUIsUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgaW5qZWN0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25IZWFkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uLWhlYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBBbXBsaWZ5LCBBdXRoIH0gZnJvbSAnYXdzLWFtcGxpZnknO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LmNzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcbiAgXG4gIHVzZXJuYW1lOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgdGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAT3V0cHV0KCkgbWVudUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBpbmZvRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgc2lkZW5hdiE6IE1hdFNpZGVuYXY7XG4gIGFwcExpc3Q6IEFycmF5PGFueT4gPSBbXTtcbiAgdXNlckNvbXBhbmllczogYW55O1xuICBzaG93U3dpdGNoQ29tcGFuaWVzOiBib29sZWFuID0gZmFsc2U7XG4gIGNvbXBhbnlQcm9maWxlOiBhbnk7XG4gIHBvcnRhbFVybDogc3RyaW5nID0gJyc7XG4gIHVzZXJBdXRoRGF0YTogYW55O1xuICB1c2VySW1hZ2VMaW5rOiBhbnk7XG4gIHByaXZhdGUgX3JvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIF9zbmFja2JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIHByaXZhdGUgX3NlciA9IGluamVjdChDb21tb25IZWFkZXJTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3Rvcigpe1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaENvbXBhbnlQcm9maWxlKCk7XG4gICAgdGhpcy5fc2VyLmdldEFwcHMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgdGhpcy5wb3J0YWxVcmwgPSB2Py5kYXRhPy5wb3J0YWxVcmw7XG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgIGNvbXBhbnlJbmZvOiB0aGlzLmNvbXBhbnlQcm9maWxlLFxuICAgICAgICAgIHBvcnRhbFVybDogdGhpcy5wb3J0YWxVcmxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbmZvRXZlbnQuZW1pdChkYXRhKTtcbiAgICAgICAgbGV0IGNvbmZpZzogYW55ID0gQXV0aC5jb25maWd1cmUoKTtcbiAgICAgICAgbGV0IHNpZ25vdXRVcmwgPSBgJHt0aGlzLnBvcnRhbFVybH0vbG9naW5gO1xuICAgICAgICBjb25maWcub2F1dGggPSB7Li4uY29uZmlnLm9hdXRoLC4uLntcInJlZGlyZWN0U2lnbk91dFwiOiBzaWdub3V0VXJsfX07XG4gICAgICAgIEFtcGxpZnkuY29uZmlndXJlKGNvbmZpZyk7XG4gICAgICAgIGlmKHY/LmRhdGE/LmFwcGxpY2F0aW9ucyAmJiB2LmRhdGEuYXBwbGljYXRpb25zLmxlbmd0aCA+IDApe1xuICAgICAgICAgIC8vIHRoaXMuZmV0Y2hDb21wYW55RGF0YSh2LmRhdGEuYXBwbGljYXRpb25zKTtcbiAgICAgICAgICB0aGlzLmFwcExpc3QgPSBbXTtcbiAgICAgICAgICB2LmRhdGEuYXBwbGljYXRpb25zLmZvckVhY2goKGVsZW1lbnQ6YW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFwcExpc3QucHVzaCh7XG4gICAgICAgICAgICAgIG5hbWU6IGVsZW1lbnQuZGlzcGxheU5hbWUsXG4gICAgICAgICAgICAgIHZhbHVlOiBlbGVtZW50LFxuICAgICAgICAgICAgICBhcHBVcmw6IGVsZW1lbnQuYXBwVXJsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhlKVxuICAgICAgfVxuICAgIH0pO1xuICAgIEF1dGguY3VycmVudEF1dGhlbnRpY2F0ZWRVc2VyKCkudGhlbihhc3luYyB1c2VyID0+IHtcbiAgICAgIHRoaXMudXNlcm5hbWUgPSB1c2VyLmF0dHJpYnV0ZXMuZ2l2ZW5fbmFtZTtcblxuICAgICAgbGV0IHVzZXJEZXRhaWxzID0gdGhpcy5fc2VyLmdldFVzZXJEZXRhaWxzQnlFbWFpbCh7ZW1haWw6IHVzZXIuYXR0cmlidXRlcy5lbWFpbH0pO1xuICAgICAgbGV0IHVzZXJDb21wYW55SW5mbyA9IHRoaXMuX3Nlci5nZXRVc2VyQ29tcGFuaWVzKCk7XG4gICAgICBmb3JrSm9pbihbdXNlckRldGFpbHMsdXNlckNvbXBhbnlJbmZvXSkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgIGlmKHJlcyAmJiByZXNbMF0pe1xuICAgICAgICAgICAgdGhpcy51c2VyQXV0aERhdGEgPSByZXNbMF07XG4gICAgICAgICAgICBpZih0aGlzLnVzZXJBdXRoRGF0YT8uX2xpbmtzPy5wcm9maWxlSW1hZ2U/LmhyZWYpe1xuICAgICAgICAgICAgICB0aGlzLmdldFVzZXJQcm9maWxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmKHJlcyAmJiByZXNbMV0pe1xuICAgICAgICAgICAgaWYgKHJlc1sxXSAmJiByZXNbMV0uZGF0YSAmJiByZXNbMV0uZGF0YS5jb21wYW5pZXMpIHtcbiAgICAgICAgICAgICAgdGhpcy51c2VyQ29tcGFuaWVzID0gcmVzWzFdLmRhdGEuY29tcGFuaWVzO1xuICAgICAgICAgICAgICBpZiAodGhpcy51c2VyQ29tcGFuaWVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dTd2l0Y2hDb21wYW5pZXMgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGZvcih2YXIgY29tIG9mIHRoaXMudXNlckNvbXBhbmllcyl7XG4gICAgICAgICAgICAgICAgICBpZihjb20uY29tcGFueUtleSA9PSB0aGlzLnVzZXJBdXRoRGF0YS5sYXN0QWNjZXNzZWRDb21wYW55S2V5KXtcbiAgICAgICAgICAgICAgICAgICAgY29tLmFjdGl2ZU5vdyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICAgICAgLmNhdGNoKCgpID0+IGNvbnNvbGUubG9nKFwiVXNlciBub3QgbG9nZ2VkIGluXCIpKTtcbiAgfVxuXG4gIG1lbnVBY3Rpb24oKXtcbiAgICB0aGlzLm1lbnVFdmVudC5lbWl0KCk7XG4gIH1cblxuICBmZXRjaENvbXBhbnlQcm9maWxlKCl7XG4gICAgbGV0IHJlcSA9IHtcbiAgICAgIGNvbXBhbnlOYW1lOiBkb2N1bWVudC5sb2NhdGlvbi5ob3N0LnNwbGl0KCcuJylbMF1cbiAgICB9O1xuICAgIHRoaXMuX3Nlci5mZXRjaENvbXBhbnlQcm9maWxlKHJlcSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh2KSA9PiB7XG4gICAgICAgIHRoaXMuY29tcGFueVByb2ZpbGUgPSB2O1xuICAgICAgICBsZXQgZGF0YSA9IHtcbiAgICAgICAgICBjb21wYW55SW5mbzogdixcbiAgICAgICAgICBwb3J0YWxVcmw6IHRoaXMucG9ydGFsVXJsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuaW5mb0V2ZW50LmVtaXQoZGF0YSk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuICBmZXRjaENvbXBhbnlEYXRhKGFsbEFwcHM6QXJyYXk8YW55Pikge1xuICAgIHRoaXMuX3Nlci5nZXRDb21wYW55QXBwbGljYXRpb25zKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh2KSA9PiB7XG4gICAgICAgIGlmICh2Py5kYXRhLmVuYWJsZWRBcHBsaWNhdGlvbnMpIHtcbiAgICAgICAgICB0aGlzLmFwcExpc3QgPSBbXTtcbiAgICAgICAgICBsZXQgYXBwSW5mbyA9IFtdO1xuICAgICAgICAgIGxldCBmZXRjaGVkQXBwbGljYXRpb25zID0gdi5kYXRhLmVuYWJsZWRBcHBsaWNhdGlvbnMuc3BsaXQoJywnKTtcblxuICAgICAgICAgIGlmIChmZXRjaGVkQXBwbGljYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZldGNoZWRBcHBsaWNhdGlvbnMuZm9yRWFjaCgoZWxlbWVudDphbnkpID0+IHtcbiAgICAgICAgICAgICAgYXBwSW5mbyA9IGFsbEFwcHMuZmlsdGVyKGVsZSA9PiBlbGUubmFtZSA9PSBlbGVtZW50KTtcbiAgICAgICAgICAgICAgaWYgKGFwcEluZm8gJiYgYXBwSW5mby5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgaWYoYXBwSW5mb1swXS5uYW1lICE9ICdtY2EnKXtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYXBwTGlzdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogYXBwSW5mb1swXS5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGFwcFVybDogYXBwSW5mb1swXS5hcHBVcmxcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgXG5cbiAgZ2V0VXNlclByb2ZpbGUoKXtcbiAgICB0aGlzLl9zZXIub2J0YWluRGF0YUJ5VXJsKHRoaXMudXNlckF1dGhEYXRhLl9saW5rcy5wcm9maWxlSW1hZ2UuaHJlZikuc3Vic2NyaWJlKGltZyA9PiB7XG4gICAgICBpZihpbWc/LmxvY2F0aW9uVXJsKXtcbiAgICAgICAgdGhpcy51c2VySW1hZ2VMaW5rID0gaW1nLmxvY2F0aW9uVXJsO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBhcHBSZWRpcmVjdChhcHA6YW55KSB7XG4gICAgLy8gaWYgKGFwcC5uYW1lICE9ICdPcmRlciBNYW5hZ2VtZW50Jykge1xuICAgICAgd2luZG93Lm9wZW4oYXBwLmFwcFVybCwgXCJfc2VsZlwiKTtcbiAgICAvLyB9XG4gIH1cbiAgcHJvZmlsZSgpIHtcbiAgICAvLyB0aGlzLmZldGNoVXNlckRhdGEoKTtcbiAgICBpZih0aGlzLl9zZXIucG9ydGFsRnJvbnRlbmRVcmwpe1xuICAgICAgbGV0IHVybCA9IHRoaXMucG9ydGFsVXJsKycvYXBwL3Byb2ZpbGUnO1xuICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHVybDtcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvYXBwL3Byb2ZpbGUnKTtcbiAgICB9XG4gIH1cbiAgb25Mb2dvdXRDbGljaygpIHtcbiAgICBBdXRoLnNpZ25PdXQoeyBnbG9iYWw6IHRydWUgfSlcbiAgICAgIC50aGVuKGRhdGEgPT4gY29uc29sZS5sb2coZGF0YSkpXG4gICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyKVxuICAgICAgICBBdXRoLnNpZ25PdXQoKTtcbiAgICAgIH0pO1xuICB9XG4gIHN3aXRjaENvbXBhbnkoY29tcGFueTogYW55KSB7XG4gICAgLy8gc3dpdGNoIHRoZSB1c2VyIHRvIHRoZSBzZWxlY3RlYyBjb21wYW55XG5cbiAgICAvLyBGaW5kIHRoZSBkb21haW4gaW5mb3JtYXRpb25cbiAgICBsZXQgZG9tYWluSW5mbyA9IHRoaXMuX3Nlci5nZXREb21haW5JbmZvKCk7XG4gICAgaWYoZG9tYWluSW5mbyl7XG4gICAgICBsZXQgcmVxOmFueSA9IHsgY29tcGFueUtleTogY29tcGFueS5jb21wYW55S2V5LGFwcE5hbWU6IGRvbWFpbkluZm8uYXBwQ29kZSB9O1xuICAgICAgdGhpcy5fc2VyLnVwZGF0ZVVzZXJDb21wYW55KHJlcSkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudHlwZSAmJiByZXNwb25zZS50eXBlID09IFwiT0tcIikge1xuICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5hcHBsaWNhdGlvblVSTCl7XG4gICAgICAgICAgICAgIGxldCB1cmwgPSByZXNwb25zZS5kYXRhLmFwcGxpY2F0aW9uVVJMICsgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lO1xuICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVwbGFjZSh1cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gcmVmcmVzaCB0aGUgY3VycmVudCBwYWdlIHRvIHJlbG9hZCB0aGUgY29udGVudHMgYmFzZWQgb24gdGhlIGN1cnJlbnQgY29tcGFueVxuICAgICAgICAgICAgLy8gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIC8vIGRpc3BsYXkgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIHRoYXQgdGhlIGNvbXBhbnkgY291bGQgbm90IGJlIHN3aXRjaGVkLlxuICAgICAgICAgICAgdGhpcy5fc25hY2tiYXIub3BlbignQ29tcGFueSBjb3VsZCBub3QgYmUgc3dpdGNoZWQuIFBsZWFzZSB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LicsICdPSycsIHsgZHVyYXRpb246IDUwMDAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICAgIC8vIGRpc3BsYXkgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIHRoYXQgdGhlIGNvbXBhbnkgY291bGQgbm90IGJlIHN3aXRjaGVkLlxuICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW4oJ0NvbXBhbnkgY291bGQgbm90IGJlIHN3aXRjaGVkLiBQbGVhc2UgdHJ5IGFnYWluIG9yIGNvbnRhY3Qgc3VwcG9ydC4nLCAnT0snLCB7IGR1cmF0aW9uOiA1MDAwIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9XG4gIFxufVxuIiwiPG1hdC10b29sYmFyIGNvbG9yPVwicHJpbWFyeVwiIGNsYXNzPVwiY29tbW9uX2hlYWRlciBzaGFkb3ctc21cIj5cbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm1lbnVBY3Rpb24oKVwiIGFyaWEtbGFiZWw9XCJtYWluIG1lbnVcIiB0YWJpbmRleD1cIjBcIiBjbGFzcz1cIm1lbnVIYW1iZXJnZXIgbWUtNFwiPlxuICAgIDxpbWcgc3JjPVwiLi4vYXNzZXRzL2ltYWdlcy9oYW1idXJnZXJfbWVudS5zdmdcIiBzdHlsZT1cIndpZHRoOiAyMHB4O2hlaWdodDogMjBweDtcIj5cbiAgPC9idXR0b24+XG4gIDxhIGNsYXNzPVwibmF2YmFyLWJyYW5kIG1lLWF1dG9cIiBocmVmPVwiI1wiPlxuICAgIDxpbWcgKm5nSWY9XCJjb21wYW55UHJvZmlsZVwiIFtzcmNdPVwiY29tcGFueVByb2ZpbGUubG9nb1wiIGFsdD1cIkxvZ29cIiBzdHlsZT1cImhlaWdodDogMzBweDtcIj5cbiAgPC9hPlxuICA8c3BhbiBjbGFzcz1cImV4YW1wbGUtc3BhY2VyXCI+PC9zcGFuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8YnV0dG9uICpuZ0lmPVwiYXBwTGlzdC5sZW5ndGggPiAwXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwibWUtMyBzd2l0Y2hCdXR0b25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYXBwc1wiPlxuICAgIDxpbWcgc3JjPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFESUFBQUF5Q0FZQUFBQWVQNGl4QUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFwa2xFUVZSNG5PM1lRUTZFSUJCRTBUcEw0MkdFcXhFdTZSeEVBNnRaMEJOZE9Pbm9md2s3SVRGYVVpSUJ1TVRXVmxKcG42VzAvZGZvMTFpdU9jTGNxVE9MZlkwdHd0eXBDNHVORVdIdUZEY2luc2pBcStVaEl5SWo5MlFrUFdWRHRGeHp2L0RNWXFtME5jSmM0SitNR3E5WVg2MkZHaS8rUnpyYXI0ZU1pSXdNWk1SRGpSYzFIdTlnMUhoUjR6czJSQStsVVpUR2dZeDR5SWlDWlNSeEdpOU80d0hGZFFCMTBOL2gwODgwSWdBQUFBQkpSVTVFcmtKZ2dnPT1cIiBhbHQ9XCJhcHBzIGljb25cIiBzdHlsZT1cIndpZHRoOjIwcHg7aGVpZ2h0OiAyMHB4O1wiPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1tZW51ICNhcHBzPVwibWF0TWVudVwiIGNsYXNzPVwiYWNjb3VudHNfZHJwbWVudVwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGFwcCBvZiBhcHBMaXN0XCI+XG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImFwcFJlZGlyZWN0KGFwcClcIj57e2FwcC5uYW1lfX08L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtbWVudT5cbiAgPGRpdiBjbGFzcz1cInByb2ZpbGUtbmFtZVwiPlxuICAgIDxwICpuZ0lmPVwidXNlcm5hbWVcIiBjbGFzcz1cInhzSGlkZGVuVXNlcm5hbWUgbWItMFwiPnt7dXNlcm5hbWV9fTwvcD5cbiAgICA8IS0tPHNwYW4gY2xhc3M9XCJ4c0hpZGRlblVzZXJuYW1lIG1iLTBcIiAqbmdGb3I9XCJsZXQgcm9sZSBvZiB1c2VyUm9sZVwiPnt7cm9sZSB8IGZvcm1hdFdvcmQ6IHRydWU6J18nfX08L3NwYW4+LS0+XG4gIDwvZGl2PlxuICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIj5cbiAgICA8aW1nIGNsYXNzPVwiYXZhdGFyTG9nb1wiIFtzcmNdPVwidXNlckltYWdlTGluaz91c2VySW1hZ2VMaW5rOicuLi9hc3NldHMvaW1hZ2VzL2RwLnBuZydcIiBhbHQ9XCJBdmF0YXIgTG9nb1wiIGNsYXNzPVwiYXZhdGFyTG9nbyByb3VuZGVkLXBpbGxcIj5cbiAgPC9idXR0b24+XG4gIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImFjY291bnRzX2RycG1lbnVcIj5cbiAgICA8c3BhbiAqbmdJZj1cInVzZXJuYW1lXCIgY2xhc3M9XCJ4c1Nob3dVc2VybmFtZVwiPnt7dXNlcm5hbWV9fTwvc3Bhbj5cbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInByb2ZpbGUoKVwiPlByb2ZpbGU8L2J1dHRvbj5cbiAgICA8YnV0dG9uICpuZ0lmPVwic2hvd1N3aXRjaENvbXBhbmllc1wiIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNvbXBhbmllc1wiPlN3aXRjaCBDb21wYW55PC9idXR0b24+XG4gICAgPG1hdC1tZW51ICNjb21wYW5pZXM9XCJtYXRNZW51XCIgY2xhc3M9XCJhY2NvdW50c19kcnBtZW51XCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjb21wYW55IG9mIHVzZXJDb21wYW5pZXNcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzd2l0Y2hDb21wYW55KGNvbXBhbnkpXCI+XG4gICAgICAgICAge3tjb21wYW55Lm5hbWV9fVxuICAgICAgICAgIDxpbWcgKm5nSWY9XCJjb21wYW55LmFjdGl2ZU5vd1wiIHNyYz1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBZ0FBQUFJQUNBWUFBQUQwZU5UNkFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFBTkVBQUFEUkFCeW43MC9RQUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQmcrU1VSQlZIaWM3ZDFkak9YM2ZkZnh6Ly9NMnNiZWg4WU9jU0xGVmIxMkNsVWphQW9YcUlxRWpGQWxLSUZBVlZ5WmlFQkZoQjgycENKVnVlQUNyUkNnU2hXcEZMcDJLRFZxcUFPSlZWUlJ0VldiU0NndFNFR0tqTnFLUUZXbjN0M0tQS1J4VThVN2E4ZGU3L3k0aUhlN1hzOTg1OHpNT2VmLzlIcGRlZGV6TzcrN3ovdjNQK2ZNSmdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0NCMGZSOEFBT2JxWFIvL2cxT3ZIYnYxdTd1MGIwL1gzWnZrenRhNjI3dTBLMTJYbDNkYXZyWm8zYlBaNnA2OXM3dmpONTk1dUx1eXF1OHRBQUJnZzA1L1l2dTd1cDA4bEs1OWIydjVyaVJieS8zSjduTFN2dEJhOTR2dFdQZjB4WWVQLzkram5FTUFBTUNhdmZ2cGR1dkxMMXo2UU91NmY1aVdQN1dDdi9KcWErMVhzK2grL01Lakp6OS9tTDlBQUFEQXVyVFduWDc4OHQvdXV2WXZXdkxPOVh5UGZLSEw0b2VmTzNQOGl3ZjVZd0lBQU5iZzlPTXYvc21rZXpMSmV6Znc3WGFTL1BRZDdlVWYrZEtadTdlWCtRTUNBQUJXN1BTNTdRK21hK2VTbk5qc2QrNHV0Rng5Nk1KajMvTGY5dnZLeFNhT0F3Q3owRnAzMytQYlA1YXVmVEliSC84a2FmZDJXWHorOUxsTFA3RGZWM29DQUFBcjhNRFpkdXppM1plZVRMb1A5bjJXSkZmVDJzUG56NXg2Y3E4dkVBQUFjRlJQdDYzVFg5MytaTHA4b08rajNLQ2w2LzdPK1VkUC9PeHUvMU1BQU1BUmZQUG12LzFVa2gvcyt5eTdlS1YxK1V1N2ZWUlFBQURBWVEzejV2OUdMVjlwNmQ1ejRjeUovM2ZqYjNzVElBQWN3Z05uMjdIVEwyeC9hdERqbnlSZDNyN29kdjd0emI4dEFBRGdvSjV1V3hmZnR2MHpHZVpqL3pkcDZmN3k2U2N1UFhqajcza0pBQUFPWU9DditlK3R5L012YlYvK2pxLzg2RHN1SjU0QUFNRHlSbmJ6ZjRPV2UyNi80OFNIcnYzU0V3QUFXTVlZM3ZDM255N1AzL0hXRS9kLzZjSHVWVThBQUdBZm8zbkQzMzVhN3JuOHdxWHZTN3dFQUFDMU1ULzIzMFhYdW9jU0x3RUF3SjVHKzRhLzJrdGJyNTI0YTZ2dlV3REFJRDNkdHJwc2Z6SmRIdXI3S0N0MlMxdTg4bGtCQUFBM2VlQnNPOVoxMjUrYTRQaC9VK3QrVndBQXdJMm1lL08vcmkzeUZRRUFBTmRNNGFOK1MraGFlMFVBQUVCbThOai9SbDNYQ1FBQW1NRmovNXNKQUFCbWJWWTMvejl5VEFBQU1GOHp2UG0vN3JJQUFHQ1dabnJ6ditackFnQ0ErWm52emY5MTdiZjlXd0FBek10TVB1cFhhZW1lOVFRQWdObVkrV1AvNjdxMFQzc0NBTUE4VE94ZjlUdUtydVhYL1d1QUFFemVSUDlWdjBQcUxtKzlkdnl0bmdBQU1HMXUvbS9RdXZZTFgvNUk5OHF4dmc4Q0FPdnl3TmwyN09JTDIwK2xNLzdYZEsxOU9razhBUUJnbXR6OGQ5RmQrTGJmUC9uTGlRQUFZSXA4MUc5M1hmdVhuei9idlpZa1hnSUFZRkk4OXQ5THUzamw1Wk5QWHZ1Vm53TUF3SFRNL2lmODdhM3J1ZzlkL01odHYzWDkxMzBlQmdCV3hVZjlLdDB2bm4vc3hGKzk4WGU4QkFEQStEM2R0aTUrMVJ2K2R0TWwvL3ZZMXM0UDNmejdYZ0lBWU5UOGVOL1NON3JXM3YvbFIwLzk5czMvUXdBQU1GNWU4Ni9zcE9Wdm5UOXo2bGQyKzU4Q0FJQlJjdk12dGJUMnlQa3pwNTdhNndzRUFBRGo0K1pmYVYzTGg4K2ZPZld2cXkveUtRQUF4c1VQK2FtMHJ1WER6NTA1K2ZoK1h5Z0FBQmdQNDE5WmV2d1RBUURBV0JqL3lvSEdQeEVBQUl5QjhhOGNlUHdUQVFEQTBCbi95cUhHUHhFQUFBeVo4YThjZXZ3VEFRREFVQm4veXBIR1B4RUFBQXlSOGE4Y2Vmd1RBUURBMEJqL3lrckdQeEVBQUF5SjhhK3NiUHdUQVFEQVVCai95a3JIUHhFQUFBeUI4YStzZlB3VEFRQkEzNHgvWlMzam53Z0FBUHBrL0N0ckcvOUVBQURRRitOZldldjRKd0lBZ0Q0WS84cmF4ejhSQUFCc212R3ZiR1Q4RXdFQXdDWVovOHJHeGo4UkFBQnNpdkd2YkhUOEV3RUF3Q1lZLzhyR3h6OFJBQUNzbS9HdjlETCtpUUFBWUoyTWY2VzM4VThFQUFEcll2d3J2WTUvSWdBQVdBZmpYK2w5L0JNQkFNQ3FHZi9LSU1ZL0VRQUFySkx4cnd4bS9CTUJBTUNxR1AvS29NWS9FUUFBcklMeHJ3eHUvQk1CQU1CUkdmL0tJTWMvRVFBQUhJWHhyd3gyL0JNQkFNQmhHZi9Lb01jL0VRQUFISWJ4cnd4Ky9CTUJBTUJCR2YvS0tNWS9FUUFBSElUeHI0eG0vQk1CQU1DeWpIOWxWT09mQ0FBQWxtSDhLNk1iLzBRQUFMQWY0MThaNWZnbkFnQ0Fpdkd2akhiOEV3RUF3RjZNZjJYVTQ1OElBQUIyWS93cm94Ly9SQUFBY0RQalg1bkUrQ2NDQUlBYkdmL0taTVkvRVFBQVhHUDhLNU1hLzBRQUFKQVkvOXJreGo4UkFBQVkvOG9reHo4UkFBRHpadndya3gzL1JBQUF6SmZ4cjB4Ni9CTUJBREJQeHI4eStmRlBCQURBL0JqL3lpekdQeEVBQVBOaS9DdXpHZjlFQUFETWgvR3Z6R3I4RXdFQU1BL0d2eks3OFU4RUFNRDBHZi9LTE1jL0VRQUEwMmI4SzdNZC8wUUFBRXlYOGEvTWV2d1RBUUF3VGNhL012dnhUd1FBd1BRWS80cnhmNTBBQUpnUzQxOHgvamNRQUFCVFlmd3J4djhtQWdCZ0NveC94Zmp2UWdBQWpKM3hyeGovUFFnQWdERXovaFhqWHhBQUFHTmwvQ3ZHZng4Q0FHQ01qSC9GK0M5QkFBQ01qZkd2R1A4bENRQ0FNVEgrRmVOL0FBSUFZQ3lNZjhYNEg1QUFBQmdENDE4eC9vY2dBQUNHenZoWGpQOGhDUUNBSVRQK0ZlTi9CQUlBWUtpTWY4WDRINUVBQUJnaTQxOHgvaXNnQUFDR3h2aFhqUCtLQ0FDQUlUSCtGZU8vUWdJQVlDaU1mOFg0cjVnQUFCZ0M0MTh4L21zZ0FBRDZadndyeG45TkJBQkFuNHgveGZpdmtRQUE2SXZ4cnhqL05STUFBSDB3L2hYanZ3RUNBR0RUakgvRitHK0lBQURZSk9OZk1mNGJKQUFBTnNYNFY0ei9oZ2tBZ0Uwdy9oWGozd01CQUxCdXhyOWkvSHNpQUFEV3lmaFhqSCtQQkFEQXVoai9pdkh2bVFBQVdBZmpYekgrQXlBQUFGYk4rRmVNLzBBSUFJQlZNdjRWNHo4Z0FnQmdWWXgveGZnUGpBQUFXQVhqWHpIK0F5UUFBSTdLK0ZlTS8wQUpBSUNqTVA0VjR6OWdBZ0Rnc0l4L3hmZ1BuQUFBT0F6alh6SCtJeUFBQUE3SytGZU0vMGdJQUlDRE1QNFY0ejhpQWdCZ1djYS9ZdnhIUmdBQUxNUDRWNHovQ0FrQWdQMFkvNHJ4SHlrQkFGQXgvaFhqUDJJQ0FHQXZ4cjlpL0VkT0FBRHN4dmhYalA4RUNBQ0FteG4vaXZHZkNBRUFjQ1BqWHpIK0V5SUFBSzR4L2hYalB6RUNBQ0F4L2pYalAwRUNBTUQ0VjR6L1JLMDBBTjc1a3krKzliWmpXMzh1TyswN1dtdW4wK1h0U1hkNzBtNUo4bUxTdlpqc1BKZDB6MTdOMVdkKzc3RzNQTGZLN3c5d1VBK2NiY2N1M3IzOVZKSWY3UHNzQTlTU1BITCtzWk0vMWZkQldMMGpCOERweDdmL2RHdDVxT3ZhKzVLOCswQi9aNWZuMjA3MzJXNHJuejUvMS9IL25BZTdxMGM5RDhDeWpIL0orRS9jb1FMZ2diUHQySVczYi8vQUl2blIxdkpuVm5TVy85UFNQcjdZZXUwVHp6MTgxOWRYOUhjQzdNcjRsNHovREJ3NEFPNTc0c1gzdGRaOUxNbTNyK0U4U2ZMMUx0MC92WFByK0w5NjV1SHV5cHErQnpCanhyOWsvR2RpNlFDNC80bExkKyswL0pza2YyMk41N211Uy81bjJ1THZQbmZtK0JjMzhmMkFlVEQrSmVNL0k0dGx2dWkrbjl6K2l6c3R2NWtOalgrU3RPUTdXN2Z6WDA4L3NmMGphYzJuRllBak0vNGw0ejh6K3c3cjZYUGJIMHpYbmt4eWJBUG4yVVA3MmJ1MlR2NDlMd2tBaCthamZoVWY5WnVoTWdEdVBmZmlQK3E2N3NmMis3ck42SDdweWplTy84M25QOXE5M1BkSmdIRng4eSs1K2MvVW5zTis3K09YSHVtU0p6WjVtSDIxZk83S0t5ZmVMd0tBcGJuNVY5ejhaMnpYQUxqMzhSZi9lcGZ1NTVKc2JmZzgreE1Cd0pMYy9FdHUvalAzcGdDNC85eEwzN3JUWGYyTkpIZjFjSjdsaUFCZ1AyNytGVGQvYnZvVXdObTIyTW5WejJUSTQ1OGtYYjczbHR1Mi85TTlIMnUzOTMwVVlIZ2VPTnVPblg1aCsxUEdmMWN0eVNQR256Y0V3TDEzYi8vOWRQbWV2ZzV6SUNJQTJNM1RiZXZpMjdaL0poNzc3NloxTFIvMjJKL2tocGNBN3ZucHI5OTF5NnVMMzBueTFoN1BjM0JlRGdCZTV6WC9rdGY4ZVlQclR3Q09YVm44ZzR4dC9CTlBBb0J2Y3ZPdnVQbnpKbDJTM1BPeGR2c3RmMno3WXBLMzlYeWV3L01rQUdiTHpiL2s1cyt1RmtseTYrMlh2ejlqSHYvRWt3Q1lLemYvaXBzL2Uxb2tTV3Q1cU8rRHJJUUlnSG54VWIrS2ovcFI2dDU5N3ZkUHZOVGQvclVrdC9SOW1KWHhjZ0JNbnNmK0pZLzkyZGZpOHVLTzkyWks0NTk0RWdCVDU3Ri94V04vbHJMb2R0cDcrejdFV29nQW1DUS81S2ZraC95d3RFVzZmR2ZmaDFnYkVRRFQ0dVpmY2ZQblFCYnA4aWY2UHNSYWlRQ1lCbS80cTNqREh3ZTJTTXM3K2o3RTJva0FHRGZqWHpIK0hNb2l5ZkcrRDdFUklnREd5ZmhYakQrSHRraHlXOStIMkJnUkFLUGlEWDhsYi9qalNCWko1dlZaZVJFQTQrQU5meFZ2K09QSUZra3U5WDJJalJNQk1HaHUvaVUzZjFaaWtiVG4rejVFTDBRQURKT2JmOFhObjVWWnRIVFA5bjJJM29nQUdCWnYrS3Q0d3g4cnRVamFiL1Y5aUY2SkFCZ0VqLzFMSHZ1emNvdXRsdi9TOXlGNkp3S2dYeDc3Vnp6Mlp5MFdiemwyOG91WjR4c0JieVlDb0JkdS9pVTNmOVptOGN6RDNaV2svWHpmQnhrRUVRQ2I1ZVpmY2ZObnJSWkowdHJpUC9SOWtNRVFBYkFSYnY0bE4zL1dicEVrRjc1Ni9MTkovbGZQWnhrT0VRRHI1ZVpmY2ZObkl4WkprclBkVGxyN2laN1BNaXdpQU5iRFIvMHFQdXJIeGl5dS9jY2RienY1eVNTLzArTlpoa2NFd0VwNTdGL3kySitOdWg0QVgzcXdleldMN3NOOUhtYVFSQUNzaHNmK0ZZLzkyYmpGamI4NC84aUp6N1hrMy9kMW1NRVNBWEFrYnY0bE4zOTZzYmo1TjQ2M2x4K09sd0xlVEFUQTRiajVWOXo4NlUyMzIyL2VlMjc3UFYzWGZpM0pxUTJmWi9oYVBuZmxsUlB2Zi82ajNieitHV1U0aEFmT3RtTVg3OTUrS3NaL055M0pJOGFmdnJ6cENVQ1NYRGh6NGpkYWwvY25lV1hENXhrK1R3SmdPVzcrRlRkL2VyZHJBQ1RKaFVkUGZuNm5hdzhsdWJMQjg0eURDSUNTMS94TFh2Tm5FUFlNZ0NTNStPaXBuKyt5OHpmaVNjQ2JpUURZblp0L3hjMmZ3ZGoxUFFBM3UrL3hyLytWbHNWL1RITGJtczh6UHQ0VEFIL0VEL21wK0NFL0RNcFNBWkNJZ0pJSUFPTmZNLzRNenRJQmtJaUFrZ2hnem94L3hmZ3pTQWNLZ0VRRWxFUUFjMlQ4SzhhZndUcHdBQ1Fpb0NRQ21CUGpYekgrRE5xaEFpQVJBU1VSd0J3WS80cnhaL0FPSFFDSkNDaUpBS2JNK0ZlTVA2TndwQUJJUkVCSkJEQkZ4cjlpL0JtTkl3ZEFJZ0pLSW9BcE1mNFY0OCtvckNRQUVoRlFFZ0ZNZ2ZHdkdIOUdaMlVCa0lpQWtnaGd6SXgveGZnelNpc05nRVFFbEVRQVkyVDhLOGFmMFZwNUFDUWlvQ1FDR0JQalh6SCtqTnBhQWlBUkFTVVJ3QmdZLzRyeFovVFdGZ0NKQ0NpSkFJYk0rRmVNUDVPdzFnQklSRUJKQkRCRXhyOWkvSm1NdFFkQUlnSktJb0FoTWY0VjQ4K2tiQ1FBRWhGUUVnRU1nZkd2R0g4bVoyTUJrSWlBa2dpZ1Q4YS9ZdnlacEkwR1FDSUNTaUtBUGhqL2l2Rm5zalllQUlrSUtJa0FOc240VjR3L2s5WkxBQ1Fpb0NRQzJBVGpYekgrVEY1dkFaQ0lnSklJWUoyTWY4WDRNd3U5QmtBaUFrb2lnSFV3L2hYanoyejBIZ0NKQ0NpSkFGYkorRmVNUDdNeWlBQklSRUJKQkxBS3hyOWkvSm1kd1FSQUlnSktJb0NqTVA0VjQ4OHNEU29BRWhGUUVnRWNodkd2R0g5bWEzQUJrSWlBa2dqZ0lJeC94Zmd6YTRNTWdFUUVsRVFBeXpEK0ZlUFA3QTAyQUJJUlVCSUJWSXgveGZoREJoNEFpUWdvaVFCMlkvd3J4aDllTi9nQVNFUkFTUVJ3SStOZk1mNXdnMUVFUUNJQ1NpS0F4UGpYakQvY1pEUUJrSWlBa2dpWU4rTmZNZjZ3aTFFRlFDSUNTaUpnbm94L3hmakRIa1lYQUlrSUtJbUFlVEgrRmVNUGhWRUdRQ0lDU2lKZ0hveC94ZmpEUGtZYkFJa0lLSW1BYVRQK0ZlTVBTeGgxQUNRaW9DUUNwc240VjR3L0xHbjBBWkNJZ0pJSW1CYmpYekgrY0FDVENJQkVCSlJFd0RRWS80cnhod09hVEFBa0lxQWtBc2JOK0ZlTVB4ekNwQUlnRVFFbEVUQk94cjlpL09HUUpoY0FpUWdvaVlCeE1mNFY0dzlITU1rQVNFUkFTUVNNZy9HdkdIODRvc2tHUUNJQ1NpSmcySXgveGZqRENrdzZBQklSVUJJQncyVDhLOFlmVm1UeUFaQ0lnSklJR0Jialh6SCtzRUt6Q0lCRUJKUkV3REFZLzRyeGh4V2JUUUFrSXFBa0F2cGwvQ3ZHSDlaZ1ZnR1FpSUNTQ09pSDhhOFlmMWlUMlFWQUlnSktJbUN6akgvRitNTWF6VElBRWhGUUVnR2JZZndyeGgvV2JMWUJrSWlBa2doWUwrTmZNZjZ3QWJNT2dFUUVsRVRBZWhqL2l2R0hEWmw5QUNRaW9DUUNWc3Y0VjR3L2JKQUFlSjBJS0lpQTFURCtGZU1QR3lZQWJpQUNDaUxnYUl4L3hmaEREd1RBVFVSQVFRUWNqdkd2R0gvb2lRRFloUWdvaUlDRE1mNFY0dzg5RWdCN0VBRUZFYkFjNDE4eC90QXpBVkFRQVFVUlVEUCtGZU1QQXlBQTlpRUNDaUpnZDhhL1l2eGhJQVRBRWtSQVFRUzhrZkd2R0g4WUVBR3dKQkZRRUFIZlpQd3J4aDhHUmdBY2dBZ296RDBDakgvRitNTUFDWUFERWdHRnVVYUE4YThZZnhnb0FYQUlJcUF3dHdndy9oWGpEd01tQUE1SkJCVG1FZ0hHdjJMOFllQUV3QkdJZ01MVUk4RDRWNHcvaklBQU9DSVJVSmhxQkJqL2l2R0hrUkFBS3lBQ0NsT0xBT05mTWY0d0lnSmdSVVJBWVNvUllQd3J4aDlHUmdDc2tBZ29qRDBDakgvRitNTUlDWUFWRXdHRnNVYUE4YThZZnhncEFiQUdJcUF3dGdndy9oWGpEeU1tQU5aRUJCVEdFZ0hHdjJMOFllUUV3QnFKZ01MUUk4RDRWNHcvVElBQVdETVJVQmhxQkJqL2l2R0hpUkFBR3lBQ0NrT0xBT05mTWY0d0lRSmdRMFJBWVNnUllQd3J4aDhtUmdCc2tBZ285QjBCeHI5aS9HR0NCTUNHaVlCQ1h4RmcvQ3ZHSHlaS0FQUkFCQlEySFFIR3YyTDhZY0lFUUU5RVFHRlRFV0Q4SzhZZkprNEE5RWdFRk5ZZEFjYS9ZdnhoQmdSQXowUkFZVjBSWVB3cnhoOW1RZ0FNZ0Fnb3JEb0NqSC9GK01PTUNJQ0JFQUdGVlVXQThhOFlmNWdaQVRBZ0lxQncxQWd3L2hYakR6TWtBQVpHQkJRT0d3SEd2Mkw4WWFZRXdBQ0pnTUpCSThENFY0dy96SmdBR0NnUlVGZzJBb3gveGZqRHpBbUFBUk1CaGYwaXdQaFhqRDhnQUlaT0JCVDJpZ0RqWHpIK1FCSUJNQW9pb0hCekJCai9pdkVIcmhNQUl5RUNDdGNpNEo2OGF2ejNaUHlCTnhBQUkzTGZ1VXZmMzdwOE9za3RmWjlsY0ZvK2wrUVAwK1hCdm84eVFDM0pJK2NmTy9sVGZSOEVHQTRCTURJaWdBTnk4d2QySlFCR1NBU3dKT01QN0VrQWpKUUlZQi9HSHlnSmdCRVRBZXpCK0FQN0VnQWpKd0s0aWZFSGxpSUFKa0FFOERyakR5eE5BRXlFQ0pnOTR3OGNpQUNZRUJFd1c4WWZPREFCTURFaVlIYU1QM0FvQW1DQ1JNQnNHSC9nMEFUQVJJbUF5VFArd0pFSWdBa1RBWk5sL0lFakV3QVRKd0lteC9nREt5RUFaa0FFVElieEIxWkdBTXlFQ0JnOTR3K3NsQUNZRVJFd1dzWWZXRGtCTURNaVlIU01QN0FXQW1DR1JNQm9HSDlnYlFUQVRJbUF3VFArd0ZvSmdCa1RBWU5sL0lHMUV3QXpKd0lHeC9nREd5RUFFQUhEWWZ5QmpSRUFKQkVCQTJEOGdZMFNBRnduQW5wai9JR05Fd0M4Z1FqWU9PTVA5RUlBOENZaVlHT01QOUFiQWNDdVJNRGFHWCtnVndLQVBZbUF0VEgrUU84RUFDVVJzSExHSHhnRUFjQytSTURLR0g5Z01BUUFTeEVCUjJiOGdVRVJBQ3hOQkJ5YThRY0dSd0J3SUNMZ3dJdy9NRWdDZ0FNVEFVc3ovc0JnQ1FBT1JRVHN5L2dEZ3lZQU9EUVJzQ2ZqRHd5ZUFPQklSTUNiR0g5Z0ZBUUFSeVlDcmpQK3dHZ0lBRlpDQkJoL1lGd0VBQ3N6NHdndy9zRG9DQUJXYW9ZUllQeUJVUklBck55TUlzRDRBNk1sQUZpTEdVU0E4UWRHVFFDd05oT09BT01Qako0QVlLMG1HQUhHSDVnRUFjRGFUU2dDakQ4d0dRS0FqWmhBQkJoL1lGSUVBQnN6NGdndy9zRGtDQUEyYW9RUllQeUJTUklBYk55SUlzRDRBNU1sQU9qRkNDTEErQU9USmdEb3pZQWp3UGdEa3ljQTZOVUFJOEQ0QTdNZ0FPamRmVSs4K0w3V3VzOGt1YVBubzF4SjZ6NTAvc3lKZjlmek9RRFdUZ0F3Q04vMmlSZS9aN0hUL1VLU1A5N1RFUzYxMWoxNDRjeUpYK25wK3dOczFLTHZBMENTWEh6azFCZTJYdHY2N25UNTlVMS83NjdMZis4V08zL1crQU56NGdrQXcvSjAyenI5d3FXUEp0MC9TWEppemQvdEcybjU4YTJySi83NWx6L1N2YkxtN3dVd0tBS0FRYnJuaVpmZWVXdDIvbGxyN1FOWi9Sc0VyeWI1dWF1NStvOS83N0czUExmaXZ4dGdGQVFBZzNiL3VaZStkU2V2L1hDNjdnTkozbkhFdis0UDB1VXppNTJkbi9qZE05L3k1VldjRDJDc0JBRGo4SFRidXUrRnkzOWhwOXY1dnE1MWZ6N0plNUpzN2ZPbmRwTDhqeVMvMW1YblYrL2NPdlhaWng3dXJxejlyQUFqSUFBWXBYZDl2TjMyNnEzYjkyL3R0SGUxTE81Y2RPMk8xckpvclYxT3l4OHUydUs1blJQSG43M3dROTAzK2o0ckFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU1DeS9qOGxpV2dNbjliYVRRQUFBQUJKUlU1RXJrSmdnZz09XCIgYWx0PVwiZG9uZSBpY29uXCIgc3R5bGU9XCJ3aWR0aDoxOHB4O2hlaWdodDogMThweDttYXJnaW4tbGVmdDogNXB4O1wiPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LW1lbnU+XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvbkxvZ291dENsaWNrKClcIj5Mb2dvdXQ8L2J1dHRvbj5cbiAgPC9tYXQtbWVudT5cbjwvbWF0LXRvb2xiYXI+Il19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Injectable, Inject, EventEmitter, Component, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
|
|
3
3
|
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
|
4
|
-
import { Observable, reduce } from 'rxjs';
|
|
4
|
+
import { Observable, reduce, forkJoin } from 'rxjs';
|
|
5
|
+
import { __awaiter } from 'tslib';
|
|
5
6
|
import { Router } from '@angular/router';
|
|
6
7
|
import { MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar';
|
|
7
8
|
import { Auth, Amplify } from 'aws-amplify';
|
|
@@ -251,12 +252,37 @@ class HeaderComponent {
|
|
|
251
252
|
console.log(e);
|
|
252
253
|
}
|
|
253
254
|
});
|
|
254
|
-
Auth.currentAuthenticatedUser().then(user => {
|
|
255
|
+
Auth.currentAuthenticatedUser().then((user) => __awaiter(this, void 0, void 0, function* () {
|
|
255
256
|
this.username = user.attributes.given_name;
|
|
256
|
-
this.
|
|
257
|
-
|
|
257
|
+
let userDetails = this._ser.getUserDetailsByEmail({ email: user.attributes.email });
|
|
258
|
+
let userCompanyInfo = this._ser.getUserCompanies();
|
|
259
|
+
forkJoin([userDetails, userCompanyInfo]).subscribe({
|
|
260
|
+
next: (res) => {
|
|
261
|
+
var _a, _b, _c;
|
|
262
|
+
if (res && res[0]) {
|
|
263
|
+
this.userAuthData = res[0];
|
|
264
|
+
if ((_c = (_b = (_a = this.userAuthData) === null || _a === void 0 ? void 0 : _a._links) === null || _b === void 0 ? void 0 : _b.profileImage) === null || _c === void 0 ? void 0 : _c.href) {
|
|
265
|
+
this.getUserProfile();
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
if (res && res[1]) {
|
|
269
|
+
if (res[1] && res[1].data && res[1].data.companies) {
|
|
270
|
+
this.userCompanies = res[1].data.companies;
|
|
271
|
+
if (this.userCompanies.length > 1) {
|
|
272
|
+
this.showSwitchCompanies = true;
|
|
273
|
+
for (var com of this.userCompanies) {
|
|
274
|
+
if (com.companyKey == this.userAuthData.lastAccessedCompanyKey) {
|
|
275
|
+
com.activeNow = true;
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
}))
|
|
258
285
|
.catch(() => console.log("User not logged in"));
|
|
259
|
-
this.getUserCompany();
|
|
260
286
|
}
|
|
261
287
|
menuAction() {
|
|
262
288
|
this.menuEvent.emit();
|
|
@@ -301,34 +327,10 @@ class HeaderComponent {
|
|
|
301
327
|
}
|
|
302
328
|
});
|
|
303
329
|
}
|
|
304
|
-
|
|
305
|
-
this._ser.
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
this.userCompanies = userCompaniesData.data.companies;
|
|
309
|
-
if (this.userCompanies.length > 1) {
|
|
310
|
-
this.showSwitchCompanies = true;
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
},
|
|
314
|
-
error: (e) => {
|
|
315
|
-
console.log("Error in fetching companies for the user");
|
|
316
|
-
}
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
getUserDetails(email) {
|
|
320
|
-
let req = {
|
|
321
|
-
email: email
|
|
322
|
-
};
|
|
323
|
-
this._ser.getUserDetailsByEmail(req).subscribe(res => {
|
|
324
|
-
var _a, _b, _c;
|
|
325
|
-
this.userAuthData = res;
|
|
326
|
-
if ((_c = (_b = (_a = this.userAuthData) === null || _a === void 0 ? void 0 : _a._links) === null || _b === void 0 ? void 0 : _b.profileImage) === null || _c === void 0 ? void 0 : _c.href) {
|
|
327
|
-
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
328
|
-
if (img === null || img === void 0 ? void 0 : img.locationUrl) {
|
|
329
|
-
this.userImageLink = img.locationUrl;
|
|
330
|
-
}
|
|
331
|
-
});
|
|
330
|
+
getUserProfile() {
|
|
331
|
+
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
332
|
+
if (img === null || img === void 0 ? void 0 : img.locationUrl) {
|
|
333
|
+
this.userImageLink = img.locationUrl;
|
|
332
334
|
}
|
|
333
335
|
});
|
|
334
336
|
}
|
|
@@ -385,10 +387,10 @@ class HeaderComponent {
|
|
|
385
387
|
}
|
|
386
388
|
}
|
|
387
389
|
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
388
|
-
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
390
|
+
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
389
391
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
390
392
|
type: Component,
|
|
391
|
-
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
393
|
+
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
392
394
|
}], ctorParameters: function () { return []; }, propDecorators: { template: [{
|
|
393
395
|
type: Input
|
|
394
396
|
}], menuEvent: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propmix-profet-common-header.mjs","sources":["../../../projects/common-header/src/lib/api-endpoints.def.ts","../../../projects/common-header/src/lib/api-gateway.service.ts","../../../projects/common-header/src/lib/utils/Utilities.ts","../../../projects/common-header/src/lib/utils/HeaderConfig.ts","../../../projects/common-header/src/lib/common-header.service.ts","../../../projects/common-header/src/lib/header/header.component.ts","../../../projects/common-header/src/lib/header/header.component.html","../../../projects/common-header/src/lib/common-header.module.ts","../../../projects/common-header/src/lib/utils/app.constants.ts","../../../projects/common-header/src/public-api.ts","../../../projects/common-header/src/propmix-profet-common-header.ts"],"sourcesContent":["export class EndPoints {\n public static API_URLS = {\n getAppsApi: '/api/company/getAllUserAccessApplications',\n getCompanyApplications: '/api/company/getCompanyApplications',\n getUserCompanies: '/api/profile/getUserCompanies',\n updateUserCompany: '/api/company/updateUserCompany',\n fetchCompanyProfile: '/fetchCompanyProfile',\n findByEmail: '/api/users/search/findByEmail'\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiGatewayService {\n private _http = inject(HttpClient);\n \n doGet(url: string, config?: any): Observable<any> {\n return new Observable(observer => {\n if (!config) {\n config = {\n isLoaderHidden: false\n };\n };\n let headers:any;\n if(config.isUnauthorized){\n headers = {\n skip: \"true\"\n }\n }\n \n // this._loaderService.requestStarted(config);\n this._http\n .get(url,{headers: headers})\n .subscribe({\n next: (data) => {\n // this._loaderService.requestEnded();\n observer.next(data);\n observer.complete();\n },\n error: (error) => {\n // this.handleError(error, config, observer);\n }\n });\n })\n }\n doPost(url: string, req_body?: any): Observable<any> {\n return new Observable(observer => {\n let headers:any;\n this._http\n .post(url, req_body,{headers: headers})\n .subscribe({\n next: (data) => {\n if (data && data.hasOwnProperty('status')) {\n observer.next(data);\n observer.complete();\n } else {\n observer.next(data);\n observer.complete();\n }\n },\n error: (error:any) => {\n // this.handleError(error, config, observer);\n }\n })\n });\n }\n}\n","export class Utilities {\n public static convertObjectToQueryString(obj:any) {\n let str = '';\n for (const key of Object.keys(obj)) {\n if (obj[key] !== '' && obj[key] != null) {\n if (str != '') {\n str += '&';\n }\n if(Array.isArray(obj[key])){\n let arLength = obj[key].length;\n obj[key].forEach((ar:any,index:number) => {\n str += key + \"=\" + encodeURIComponent(ar);\n if(index < arLength-1){\n str += '&';\n }\n });\n \n }\n else if(typeof(obj[key]) == 'object'){\n if(Object.keys(obj[key]) && Object.keys(obj[key]).length > 0){\n let i = 0;\n for (const subKey of Object.keys(obj[key])){\n if(i > 0){\n str += '&';\n }\n str += key + \".\" + subKey + \"=\" + encodeURIComponent(obj[key][subKey]);\n ++i;\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n }\n return str;\n }\n}","export class HeaderConfig {\n apiUrl: string = '';\n portalFrontendUrl?: string = '';\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { HeaderConfig } from './utils/HeaderConfig';\nimport { EndPoints } from './api-endpoints.def';\nimport { ApiGatewayService } from './api-gateway.service';\nimport { Utilities } from './utils/Utilities';\nimport { reduce } from 'rxjs';\nimport { APP_DOMAIN } from '../public-api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonHeaderService {\n private baseUrl: string = '';\n portalFrontendUrl: string;\n private _apiGatewayService = inject(ApiGatewayService);\n constructor(@Inject('headerConfig') private config: HeaderConfig) { \n this.baseUrl = this.config.apiUrl;\n this.portalFrontendUrl = config.portalFrontendUrl!;\n }\n\n obtainDataByUrl(url:string){\n return this._apiGatewayService.doGet(url);\n }\n\n getDomainInfo(){\n let dom = document.location.host.split('.');\n let domainInfo = APP_DOMAIN.find(x => x.domain === dom[0]);\n if (domainInfo) {\n return domainInfo;\n }\n\n // Check if the second part of the domain exists before using it\n domainInfo = dom[1] ? APP_DOMAIN.find(x => x.domain === dom[1]) : undefined;\n return domainInfo || undefined;\n }\n\n getApps() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getAppsApi}`;\n return this._apiGatewayService.doGet(url);\n }\n getCompanyApplications() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getCompanyApplications}`;\n return this._apiGatewayService.doGet(url);\n }\n getUserCompanies() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getUserCompanies}`;\n return this._apiGatewayService.doGet(url);\n }\n updateUserCompany(reqBody: any) {\n let url = `${this.baseUrl + EndPoints.API_URLS.updateUserCompany}`;\n return this._apiGatewayService.doPost(url, reqBody);\n }\n\n fetchCompanyProfile(reqBody: any){\n let config: any = {\n isUnauthorized: true\n }\n let url = `${this.baseUrl + EndPoints.API_URLS.fetchCompanyProfile+ '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url,config).pipe(\n reduce((acc,res) => {\n if(res?.data){\n acc = res.data;\n }\n return acc;\n },{})\n );\n }\n getUserDetailsByEmail(reqBody:any){\n let url = `${this.baseUrl + EndPoints.API_URLS.findByEmail + '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url);\n }\n}\n","import { Component, OnInit, inject, ViewChild, ViewEncapsulation, Input, Output, EventEmitter, TemplateRef } from '@angular/core';\nimport { CommonHeaderService } from '../common-header.service';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Amplify, Auth } from 'aws-amplify';\n\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent implements OnInit{\n \n username: string = '';\n @Input() template!: TemplateRef<any>;\n @Output() menuEvent = new EventEmitter<any>();\n @Output() infoEvent = new EventEmitter<any>();\n sidenav!: MatSidenav;\n appList: Array<any> = [];\n userCompanies: any;\n showSwitchCompanies: boolean = false;\n companyProfile: any;\n portalUrl: string = '';\n userAuthData: any;\n userImageLink: any;\n private _router = inject(Router);\n private _snackbar = inject(MatSnackBar);\n private _ser = inject(CommonHeaderService);\n\n constructor(){\n }\n\n ngOnInit(): void {\n this.fetchCompanyProfile();\n this._ser.getApps().subscribe({\n next: (v) => {\n this.portalUrl = v?.data?.portalUrl;\n let data = {\n companyInfo: this.companyProfile,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n let config: any = Auth.configure();\n let signoutUrl = `${this.portalUrl}/login`;\n config.oauth = {...config.oauth,...{\"redirectSignOut\": signoutUrl}};\n Amplify.configure(config);\n if(v?.data?.applications && v.data.applications.length > 0){\n // this.fetchCompanyData(v.data.applications);\n this.appList = [];\n v.data.applications.forEach((element:any) => {\n this.appList.push({\n name: element.displayName,\n value: element,\n appUrl: element.appUrl\n });\n });\n }\n },\n error: (e) => {\n console.log(e)\n }\n });\n Auth.currentAuthenticatedUser().then(user => {\n this.username = user.attributes.given_name;\n this.getUserDetails(user.attributes.email)\n })\n .catch(() => console.log(\"User not logged in\"));\n this.getUserCompany();\n }\n\n menuAction(){\n this.menuEvent.emit();\n }\n\n fetchCompanyProfile(){\n let req = {\n companyName: document.location.host.split('.')[0]\n };\n this._ser.fetchCompanyProfile(req).subscribe({\n next: (v) => {\n this.companyProfile = v;\n let data = {\n companyInfo: v,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n }\n })\n }\n fetchCompanyData(allApps:Array<any>) {\n this._ser.getCompanyApplications().subscribe({\n next: (v) => {\n if (v?.data.enabledApplications) {\n this.appList = [];\n let appInfo = [];\n let fetchedApplications = v.data.enabledApplications.split(',');\n\n if (fetchedApplications.length > 0) {\n fetchedApplications.forEach((element:any) => {\n appInfo = allApps.filter(ele => ele.name == element);\n if (appInfo && appInfo.length > 0) {\n if(appInfo[0].name != 'mca'){\n this.appList.push({\n name: appInfo[0].displayName,\n value: element,\n appUrl: appInfo[0].appUrl\n });\n }\n }\n });\n }\n }\n\n }\n })\n }\n\n getUserCompany(){\n this._ser.getUserCompanies().subscribe({\n next: (userCompaniesData: any) => {\n if (userCompaniesData && userCompaniesData.data && userCompaniesData.data.companies) {\n this.userCompanies = userCompaniesData.data.companies;\n if (this.userCompanies.length > 1) {\n this.showSwitchCompanies = true;\n }\n }\n },\n error: (e) => {\n console.log(\"Error in fetching companies for the user\");\n }\n })\n }\n\n getUserDetails(email: string){\n let req = {\n email: email\n };\n this._ser.getUserDetailsByEmail(req).subscribe(res => {\n this.userAuthData = res;\n if(this.userAuthData?._links?.profileImage?.href){\n this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {\n if(img?.locationUrl){\n this.userImageLink = img.locationUrl;\n }\n })\n }\n })\n }\n\n appRedirect(app:any) {\n // if (app.name != 'Order Management') {\n window.open(app.appUrl, \"_self\");\n // }\n }\n profile() {\n // this.fetchUserData();\n if(this._ser.portalFrontendUrl){\n let url = this.portalUrl+'/app/profile';\n document.location.href = url;\n }\n else{\n this._router.navigateByUrl('/app/profile');\n }\n }\n onLogoutClick() {\n Auth.signOut({ global: true })\n .then(data => console.log(data))\n .catch(err => {\n console.log(err)\n Auth.signOut();\n });\n }\n switchCompany(company: any) {\n // switch the user to the selectec company\n\n // Find the domain information\n let domainInfo = this._ser.getDomainInfo();\n if(domainInfo){\n let req:any = { companyKey: company.companyKey,appName: domainInfo.appCode };\n this._ser.updateUserCompany(req).subscribe({\n next: (response: any) => {\n if (response && response.type && response.type == \"OK\") {\n if(response.data.applicationURL){\n let url = response.data.applicationURL + window.location.pathname;\n window.location.replace(url);\n }\n // refresh the current page to reload the contents based on the current company\n // window.location.reload();\n }\n else {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n },\n error: (e) => {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n })\n }\n }\n \n}\n","<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>","import { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header/header.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon'\nimport { HttpClientModule } from '@angular/common/http';\nimport {MatButtonModule} from '@angular/material/button'\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\n\n@NgModule({\n declarations: [\n HeaderComponent\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n MatIconModule,\n HttpClientModule,\n MatButtonModule,\n MatSidenavModule,\n MatMenuModule,\n MatSnackBarModule\n ],\n exports: [\n HeaderComponent\n ]\n})\nexport class CommonHeaderModule { }\n","export const APP_DOMAIN = [\n { domain: 'portal', appCode: 'profet_portal'},\n { domain: 'profet-portal', appCode: 'profet_portal'},\n { domain: 'orders', appCode: 'appraisal_management'},\n { domain: 'review', appCode: 'appraisal_review'},\n { domain: 'valuation', appCode: 'appraisal_valuation'}\n]","/*\n * Public API Surface of common-header\n */\n\nexport * from './lib/common-header.service';\nexport * from './lib/common-header.module';\nexport * from './lib/header/header.component';\nexport * from './lib/utils/HeaderConfig';\nexport * from './lib/utils/UserDetails';\nexport * from './lib/utils/app.constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"propmix-profet-common-header.mjs","sources":["../../../projects/common-header/src/lib/api-endpoints.def.ts","../../../projects/common-header/src/lib/api-gateway.service.ts","../../../projects/common-header/src/lib/utils/Utilities.ts","../../../projects/common-header/src/lib/utils/HeaderConfig.ts","../../../projects/common-header/src/lib/common-header.service.ts","../../../projects/common-header/src/lib/header/header.component.ts","../../../projects/common-header/src/lib/header/header.component.html","../../../projects/common-header/src/lib/common-header.module.ts","../../../projects/common-header/src/lib/utils/app.constants.ts","../../../projects/common-header/src/public-api.ts","../../../projects/common-header/src/propmix-profet-common-header.ts"],"sourcesContent":["export class EndPoints {\n public static API_URLS = {\n getAppsApi: '/api/company/getAllUserAccessApplications',\n getCompanyApplications: '/api/company/getCompanyApplications',\n getUserCompanies: '/api/profile/getUserCompanies',\n updateUserCompany: '/api/company/updateUserCompany',\n fetchCompanyProfile: '/fetchCompanyProfile',\n findByEmail: '/api/users/search/findByEmail'\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiGatewayService {\n private _http = inject(HttpClient);\n \n doGet(url: string, config?: any): Observable<any> {\n return new Observable(observer => {\n if (!config) {\n config = {\n isLoaderHidden: false\n };\n };\n let headers:any;\n if(config.isUnauthorized){\n headers = {\n skip: \"true\"\n }\n }\n \n // this._loaderService.requestStarted(config);\n this._http\n .get(url,{headers: headers})\n .subscribe({\n next: (data) => {\n // this._loaderService.requestEnded();\n observer.next(data);\n observer.complete();\n },\n error: (error) => {\n // this.handleError(error, config, observer);\n }\n });\n })\n }\n doPost(url: string, req_body?: any): Observable<any> {\n return new Observable(observer => {\n let headers:any;\n this._http\n .post(url, req_body,{headers: headers})\n .subscribe({\n next: (data) => {\n if (data && data.hasOwnProperty('status')) {\n observer.next(data);\n observer.complete();\n } else {\n observer.next(data);\n observer.complete();\n }\n },\n error: (error:any) => {\n // this.handleError(error, config, observer);\n }\n })\n });\n }\n}\n","export class Utilities {\n public static convertObjectToQueryString(obj:any) {\n let str = '';\n for (const key of Object.keys(obj)) {\n if (obj[key] !== '' && obj[key] != null) {\n if (str != '') {\n str += '&';\n }\n if(Array.isArray(obj[key])){\n let arLength = obj[key].length;\n obj[key].forEach((ar:any,index:number) => {\n str += key + \"=\" + encodeURIComponent(ar);\n if(index < arLength-1){\n str += '&';\n }\n });\n \n }\n else if(typeof(obj[key]) == 'object'){\n if(Object.keys(obj[key]) && Object.keys(obj[key]).length > 0){\n let i = 0;\n for (const subKey of Object.keys(obj[key])){\n if(i > 0){\n str += '&';\n }\n str += key + \".\" + subKey + \"=\" + encodeURIComponent(obj[key][subKey]);\n ++i;\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n }\n return str;\n }\n}","export class HeaderConfig {\n apiUrl: string = '';\n portalFrontendUrl?: string = '';\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { HeaderConfig } from './utils/HeaderConfig';\nimport { EndPoints } from './api-endpoints.def';\nimport { ApiGatewayService } from './api-gateway.service';\nimport { Utilities } from './utils/Utilities';\nimport { reduce } from 'rxjs';\nimport { APP_DOMAIN } from '../public-api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonHeaderService {\n private baseUrl: string = '';\n portalFrontendUrl: string;\n private _apiGatewayService = inject(ApiGatewayService);\n constructor(@Inject('headerConfig') private config: HeaderConfig) { \n this.baseUrl = this.config.apiUrl;\n this.portalFrontendUrl = config.portalFrontendUrl!;\n }\n\n obtainDataByUrl(url:string){\n return this._apiGatewayService.doGet(url);\n }\n\n getDomainInfo(){\n let dom = document.location.host.split('.');\n let domainInfo = APP_DOMAIN.find(x => x.domain === dom[0]);\n if (domainInfo) {\n return domainInfo;\n }\n\n // Check if the second part of the domain exists before using it\n domainInfo = dom[1] ? APP_DOMAIN.find(x => x.domain === dom[1]) : undefined;\n return domainInfo || undefined;\n }\n\n getApps() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getAppsApi}`;\n return this._apiGatewayService.doGet(url);\n }\n getCompanyApplications() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getCompanyApplications}`;\n return this._apiGatewayService.doGet(url);\n }\n getUserCompanies() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getUserCompanies}`;\n return this._apiGatewayService.doGet(url);\n }\n updateUserCompany(reqBody: any) {\n let url = `${this.baseUrl + EndPoints.API_URLS.updateUserCompany}`;\n return this._apiGatewayService.doPost(url, reqBody);\n }\n\n fetchCompanyProfile(reqBody: any){\n let config: any = {\n isUnauthorized: true\n }\n let url = `${this.baseUrl + EndPoints.API_URLS.fetchCompanyProfile+ '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url,config).pipe(\n reduce((acc,res) => {\n if(res?.data){\n acc = res.data;\n }\n return acc;\n },{})\n );\n }\n getUserDetailsByEmail(reqBody:any){\n let url = `${this.baseUrl + EndPoints.API_URLS.findByEmail + '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url);\n }\n}\n","import { Component, OnInit, inject, ViewChild, ViewEncapsulation, Input, Output, EventEmitter, TemplateRef } from '@angular/core';\nimport { CommonHeaderService } from '../common-header.service';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Amplify, Auth } from 'aws-amplify';\nimport { forkJoin } from 'rxjs';\n\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent implements OnInit{\n \n username: string = '';\n @Input() template!: TemplateRef<any>;\n @Output() menuEvent = new EventEmitter<any>();\n @Output() infoEvent = new EventEmitter<any>();\n sidenav!: MatSidenav;\n appList: Array<any> = [];\n userCompanies: any;\n showSwitchCompanies: boolean = false;\n companyProfile: any;\n portalUrl: string = '';\n userAuthData: any;\n userImageLink: any;\n private _router = inject(Router);\n private _snackbar = inject(MatSnackBar);\n private _ser = inject(CommonHeaderService);\n\n constructor(){\n }\n\n ngOnInit(): void {\n this.fetchCompanyProfile();\n this._ser.getApps().subscribe({\n next: (v) => {\n this.portalUrl = v?.data?.portalUrl;\n let data = {\n companyInfo: this.companyProfile,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n let config: any = Auth.configure();\n let signoutUrl = `${this.portalUrl}/login`;\n config.oauth = {...config.oauth,...{\"redirectSignOut\": signoutUrl}};\n Amplify.configure(config);\n if(v?.data?.applications && v.data.applications.length > 0){\n // this.fetchCompanyData(v.data.applications);\n this.appList = [];\n v.data.applications.forEach((element:any) => {\n this.appList.push({\n name: element.displayName,\n value: element,\n appUrl: element.appUrl\n });\n });\n }\n },\n error: (e) => {\n console.log(e)\n }\n });\n Auth.currentAuthenticatedUser().then(async user => {\n this.username = user.attributes.given_name;\n\n let userDetails = this._ser.getUserDetailsByEmail({email: user.attributes.email});\n let userCompanyInfo = this._ser.getUserCompanies();\n forkJoin([userDetails,userCompanyInfo]).subscribe({\n next: (res) => {\n if(res && res[0]){\n this.userAuthData = res[0];\n if(this.userAuthData?._links?.profileImage?.href){\n this.getUserProfile();\n }\n }\n if(res && res[1]){\n if (res[1] && res[1].data && res[1].data.companies) {\n this.userCompanies = res[1].data.companies;\n if (this.userCompanies.length > 1) {\n this.showSwitchCompanies = true;\n for(var com of this.userCompanies){\n if(com.companyKey == this.userAuthData.lastAccessedCompanyKey){\n com.activeNow = true;\n break;\n }\n }\n }\n }\n }\n }\n })\n })\n .catch(() => console.log(\"User not logged in\"));\n }\n\n menuAction(){\n this.menuEvent.emit();\n }\n\n fetchCompanyProfile(){\n let req = {\n companyName: document.location.host.split('.')[0]\n };\n this._ser.fetchCompanyProfile(req).subscribe({\n next: (v) => {\n this.companyProfile = v;\n let data = {\n companyInfo: v,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n }\n })\n }\n fetchCompanyData(allApps:Array<any>) {\n this._ser.getCompanyApplications().subscribe({\n next: (v) => {\n if (v?.data.enabledApplications) {\n this.appList = [];\n let appInfo = [];\n let fetchedApplications = v.data.enabledApplications.split(',');\n\n if (fetchedApplications.length > 0) {\n fetchedApplications.forEach((element:any) => {\n appInfo = allApps.filter(ele => ele.name == element);\n if (appInfo && appInfo.length > 0) {\n if(appInfo[0].name != 'mca'){\n this.appList.push({\n name: appInfo[0].displayName,\n value: element,\n appUrl: appInfo[0].appUrl\n });\n }\n }\n });\n }\n }\n\n }\n })\n }\n\n \n\n getUserProfile(){\n this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {\n if(img?.locationUrl){\n this.userImageLink = img.locationUrl;\n }\n })\n }\n\n appRedirect(app:any) {\n // if (app.name != 'Order Management') {\n window.open(app.appUrl, \"_self\");\n // }\n }\n profile() {\n // this.fetchUserData();\n if(this._ser.portalFrontendUrl){\n let url = this.portalUrl+'/app/profile';\n document.location.href = url;\n }\n else{\n this._router.navigateByUrl('/app/profile');\n }\n }\n onLogoutClick() {\n Auth.signOut({ global: true })\n .then(data => console.log(data))\n .catch(err => {\n console.log(err)\n Auth.signOut();\n });\n }\n switchCompany(company: any) {\n // switch the user to the selectec company\n\n // Find the domain information\n let domainInfo = this._ser.getDomainInfo();\n if(domainInfo){\n let req:any = { companyKey: company.companyKey,appName: domainInfo.appCode };\n this._ser.updateUserCompany(req).subscribe({\n next: (response: any) => {\n if (response && response.type && response.type == \"OK\") {\n if(response.data.applicationURL){\n let url = response.data.applicationURL + window.location.pathname;\n window.location.replace(url);\n }\n // refresh the current page to reload the contents based on the current company\n // window.location.reload();\n }\n else {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n },\n error: (e) => {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n })\n }\n }\n \n}\n","<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>","import { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header/header.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon'\nimport { HttpClientModule } from '@angular/common/http';\nimport {MatButtonModule} from '@angular/material/button'\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\n\n@NgModule({\n declarations: [\n HeaderComponent\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n MatIconModule,\n HttpClientModule,\n MatButtonModule,\n MatSidenavModule,\n MatMenuModule,\n MatSnackBarModule\n ],\n exports: [\n HeaderComponent\n ]\n})\nexport class CommonHeaderModule { }\n","export const APP_DOMAIN = [\n { domain: 'portal', appCode: 'profet_portal'},\n { domain: 'profet-portal', appCode: 'profet_portal'},\n { domain: 'orders', appCode: 'appraisal_management'},\n { domain: 'review', appCode: 'appraisal_review'},\n { domain: 'valuation', appCode: 'appraisal_valuation'}\n]","/*\n * Public API Surface of common-header\n */\n\nexport * from './lib/common-header.service';\nexport * from './lib/common-header.module';\nexport * from './lib/header/header.component';\nexport * from './lib/utils/HeaderConfig';\nexport * from './lib/utils/UserDetails';\nexport * from './lib/utils/app.constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;MAAa,SAAS,CAAA;;AACJ,SAAA,CAAA,QAAQ,GAAG;AACrB,IAAA,UAAU,EAAE,2CAA2C;AACvD,IAAA,sBAAsB,EAAE,qCAAqC;AAC7D,IAAA,gBAAgB,EAAE,+BAA+B;AACjD,IAAA,iBAAiB,EAAE,gCAAgC;AACnD,IAAA,mBAAmB,EAAE,sBAAsB;AAC3C,IAAA,WAAW,EAAE,+BAA+B;CAC/C;;MCDQ,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;KAoDpC;IAlDC,KAAK,CAAC,GAAW,EAAE,MAAY,EAAA;AAC7B,QAAA,OAAO,IAAI,UAAU,CAAC,QAAQ,IAAG;YAC/B,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,MAAM,GAAG;AACP,oBAAA,cAAc,EAAE,KAAK;iBACtB,CAAC;AACH,aAAA;YAAA,CAAC;AACF,YAAA,IAAI,OAAW,CAAC;YAChB,IAAG,MAAM,CAAC,cAAc,EAAC;AACvB,gBAAA,OAAO,GAAG;AACR,oBAAA,IAAI,EAAE,MAAM;iBACb,CAAA;AACF,aAAA;;AAGD,YAAA,IAAI,CAAC,KAAK;iBACP,GAAG,CAAC,GAAG,EAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC;AAC3B,iBAAA,SAAS,CAAC;AACT,gBAAA,IAAI,EAAE,CAAC,IAAI,KAAI;;AAEb,oBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;AACD,gBAAA,KAAK,EAAE,CAAC,KAAK,KAAI;;iBAEhB;AACF,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAA;KACH;IACD,MAAM,CAAC,GAAW,EAAE,QAAc,EAAA;AAChC,QAAA,OAAO,IAAI,UAAU,CAAC,QAAQ,IAAG;AAC/B,YAAA,IAAI,OAAW,CAAC;AAChB,YAAA,IAAI,CAAC,KAAK;iBACP,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC;AACtC,iBAAA,SAAS,CAAC;AACT,gBAAA,IAAI,EAAE,CAAC,IAAI,KAAI;oBACb,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;AACzC,wBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACrB,qBAAA;AAAM,yBAAA;AACL,wBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACrB,qBAAA;iBACF;AACD,gBAAA,KAAK,EAAE,CAAC,KAAS,KAAI;;iBAEpB;AACF,aAAA,CAAC,CAAA;AACN,SAAC,CAAC,CAAC;KACJ;;+GApDU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;4FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCNY,SAAS,CAAA;IACX,OAAO,0BAA0B,CAAC,GAAO,EAAA;QAC5C,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAChC,YAAA,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;gBACrC,IAAI,GAAG,IAAI,EAAE,EAAE;oBACX,GAAG,IAAI,GAAG,CAAC;AACd,iBAAA;gBACD,IAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAC;oBACvB,IAAI,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;oBAC/B,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAM,EAAC,KAAY,KAAI;wBACrC,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC1C,wBAAA,IAAG,KAAK,GAAG,QAAQ,GAAC,CAAC,EAAC;4BAClB,GAAG,IAAI,GAAG,CAAC;AACd,yBAAA;AACL,qBAAC,CAAC,CAAC;AAEN,iBAAA;qBACI,IAAG,QAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,EAAC;oBACjC,IAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC;wBACzD,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,wBAAA,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAC;4BACvC,IAAG,CAAC,GAAG,CAAC,EAAC;gCACL,GAAG,IAAI,GAAG,CAAC;AACd,6BAAA;AACD,4BAAA,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACvE,4BAAA,EAAE,CAAC,CAAC;AACP,yBAAA;AACJ,qBAAA;AACG,yBAAA;AACA,wBAAA,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,qBAAA;AACJ,iBAAA;AACG,qBAAA;AACA,oBAAA,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,iBAAA;AACJ,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,GAAG,CAAC;KACd;AACJ;;MCxCY,YAAY,CAAA;AAAzB,IAAA,WAAA,GAAA;AACI,QAAA,IAAM,CAAA,MAAA,GAAW,EAAE,CAAC;AACpB,QAAA,IAAiB,CAAA,iBAAA,GAAY,EAAE,CAAC;KACnC;AAAA;;MCSY,mBAAmB,CAAA;AAI9B,IAAA,WAAA,CAA4C,MAAoB,EAAA;AAApB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;AAHxD,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;AAErB,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAClC,QAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAkB,CAAC;KACpD;AAED,IAAA,eAAe,CAAC,GAAU,EAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC3C;IAED,aAAa,GAAA;AACX,QAAA,IAAI,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAI,UAAU,EAAE;AACZ,YAAA,OAAO,UAAU,CAAC;AACrB,SAAA;;AAGD,QAAA,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC5E,OAAO,UAAU,IAAI,SAAS,CAAC;KAChC;IAED,OAAO,GAAA;AACL,QAAA,IAAI,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC3C;IACD,sBAAsB,GAAA;AACpB,QAAA,IAAI,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC3C;IACD,gBAAgB,GAAA;AACd,QAAA,IAAI,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC3C;AACD,IAAA,iBAAiB,CAAC,OAAY,EAAA;AAC5B,QAAA,IAAI,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;KACrD;AAED,IAAA,mBAAmB,CAAC,OAAY,EAAA;AAC9B,QAAA,IAAI,MAAM,GAAQ;AAChB,YAAA,cAAc,EAAE,IAAI;SACrB,CAAA;QACD,IAAI,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,mBAAmB,GAAE,GAAG,GAAG,SAAS,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA,CAAE,CAAC;QAC1H,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,EAAC,MAAM,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,CAAC,GAAG,EAAC,GAAG,KAAI;AACjB,YAAA,IAAG,GAAG,KAAH,IAAA,IAAA,GAAG,uBAAH,GAAG,CAAE,IAAI,EAAC;AACX,gBAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;AAChB,aAAA;AACD,YAAA,OAAO,GAAG,CAAC;AACb,SAAC,EAAC,EAAE,CAAC,CACN,CAAC;KACH;AACD,IAAA,qBAAqB,CAAC,OAAW,EAAA;QAC/B,IAAI,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,GAAG,GAAG,GAAG,SAAS,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA,CAAE,CAAC;QACnH,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAC3C;;AA3DU,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAIV,cAAc,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAJvB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAKc,MAAM;+BAAC,cAAc,CAAA;;;;MCFvB,eAAe,CAAA;AAkB1B,IAAA,WAAA,GAAA;AAhBA,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;AAEZ,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAO,CAAC;AACpC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAO,CAAC;AAE9C,QAAA,IAAO,CAAA,OAAA,GAAe,EAAE,CAAC;AAEzB,QAAA,IAAmB,CAAA,mBAAA,GAAY,KAAK,CAAC;AAErC,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AAGf,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;KAG1C;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;AAC5B,YAAA,IAAI,EAAE,CAAC,CAAC,KAAI;;AACV,gBAAA,IAAI,CAAC,SAAS,GAAG,CAAA,EAAA,GAAA,CAAC,KAAA,IAAA,IAAD,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAD,CAAC,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,CAAC;AACpC,gBAAA,IAAI,IAAI,GAAG;oBACT,WAAW,EAAE,IAAI,CAAC,cAAc;oBAChC,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC;AACF,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,gBAAA,IAAI,MAAM,GAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;AACnC,gBAAA,IAAI,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,SAAS,QAAQ,CAAC;AAC3C,gBAAA,MAAM,CAAC,KAAK,GAAO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAC,KAAK,CAAI,EAAA,EAAC,iBAAiB,EAAE,UAAU,EAAC,CAAC,CAAC;AACpE,gBAAA,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC1B,IAAG,CAAA,MAAA,CAAC,KAAA,IAAA,IAAD,CAAC,KAAD,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAC,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,KAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAC;;AAEzD,oBAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;oBAClB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAW,KAAI;AAC1C,wBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;4BAChB,IAAI,EAAE,OAAO,CAAC,WAAW;AACzB,4BAAA,KAAK,EAAE,OAAO;4BACd,MAAM,EAAE,OAAO,CAAC,MAAM;AACvB,yBAAA,CAAC,CAAC;AACL,qBAAC,CAAC,CAAC;AACJ,iBAAA;aACF;AACD,YAAA,KAAK,EAAE,CAAC,CAAC,KAAI;AACX,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;aACf;AACF,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,CAAM,IAAI,KAAG,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;YAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;AAE3C,YAAA,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAC,CAAC,CAAC;YAClF,IAAI,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnD,QAAQ,CAAC,CAAC,WAAW,EAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,gBAAA,IAAI,EAAE,CAAC,GAAG,KAAI;;AACZ,oBAAA,IAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAC;AACf,wBAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3B,wBAAA,IAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAC;4BAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;AACvB,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAC;wBACf,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;4BAClD,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AAC3C,4BAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,gCAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAChC,gCAAA,KAAI,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,EAAC;oCAChC,IAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAC;AAC5D,wCAAA,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;wCACrB,MAAM;AACP,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACF,qBAAA;iBACF;AACF,aAAA,CAAC,CAAA;AACJ,SAAC,CAAA,CAAC;aACC,KAAK,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;KACnD;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB;IAED,mBAAmB,GAAA;AACjB,QAAA,IAAI,GAAG,GAAG;AACR,YAAA,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAClD,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;AAC3C,YAAA,IAAI,EAAE,CAAC,CAAC,KAAI;AACV,gBAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AACxB,gBAAA,IAAI,IAAI,GAAG;AACT,oBAAA,WAAW,EAAE,CAAC;oBACd,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B,CAAC;AACF,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC3B;AACF,SAAA,CAAC,CAAA;KACH;AACD,IAAA,gBAAgB,CAAC,OAAkB,EAAA;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC;AAC3C,YAAA,IAAI,EAAE,CAAC,CAAC,KAAI;gBACV,IAAI,CAAC,aAAD,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAD,CAAC,CAAE,IAAI,CAAC,mBAAmB,EAAE;AAC/B,oBAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;oBAClB,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,oBAAA,IAAI,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAEhE,oBAAA,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,wBAAA,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAW,KAAI;AAC1C,4BAAA,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;AACrD,4BAAA,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gCACjC,IAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,EAAC;AAC1B,oCAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,wCAAA,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW;AAC5B,wCAAA,KAAK,EAAE,OAAO;AACd,wCAAA,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;AAC1B,qCAAA,CAAC,CAAC;AACJ,iCAAA;AACF,6BAAA;AACH,yBAAC,CAAC,CAAC;AACJ,qBAAA;AACF,iBAAA;aAEF;AACF,SAAA,CAAC,CAAA;KACH;IAID,cAAc,GAAA;QACZ,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;AACpF,YAAA,IAAG,GAAG,KAAH,IAAA,IAAA,GAAG,uBAAH,GAAG,CAAE,WAAW,EAAC;AAClB,gBAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC;AACtC,aAAA;AACH,SAAC,CAAC,CAAA;KACH;AAED,IAAA,WAAW,CAAC,GAAO,EAAA;;QAEf,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;;KAEpC;IACD,OAAO,GAAA;;AAEL,QAAA,IAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAC;AAC7B,YAAA,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,GAAC,cAAc,CAAC;AACxC,YAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;AAC9B,SAAA;AACG,aAAA;AACF,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AAC5C,SAAA;KACF;IACD,aAAa,GAAA;QACX,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAC3B,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC/B,KAAK,CAAC,GAAG,IAAG;AACX,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,IAAI,CAAC,OAAO,EAAE,CAAC;AACjB,SAAC,CAAC,CAAC;KACN;AACD,IAAA,aAAa,CAAC,OAAY,EAAA;;;QAIxB,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAC3C,QAAA,IAAG,UAAU,EAAC;AACZ,YAAA,IAAI,GAAG,GAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;YAC7E,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;AACzC,gBAAA,IAAI,EAAE,CAAC,QAAa,KAAI;oBACtB,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE;AACtD,wBAAA,IAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAC;AAC9B,4BAAA,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAClE,4BAAA,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9B,yBAAA;;;AAGF,qBAAA;AACI,yBAAA;;AAEH,wBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qEAAqE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AACrH,qBAAA;iBACF;AACD,gBAAA,KAAK,EAAE,CAAC,CAAC,KAAI;;AAEX,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qEAAqE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;iBACrH;AACF,aAAA,CAAC,CAAA;AACH,SAAA;KACF;;6GAhMU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,iJCd5B,6zVAsCc,EAAA,MAAA,EAAA,CAAA,4wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDxBD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACE,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,6zVAAA,EAAA,MAAA,EAAA,CAAA,4wBAAA,CAAA,EAAA,CAAA;0EAK5B,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;MEUI,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAhB3B,eAAe,CAAA,EAAA,OAAA,EAAA,CAGf,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,aAAa;QACb,iBAAiB,aAGjB,eAAe,CAAA,EAAA,CAAA,CAAA;AAGN,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAb3B,YAAY;QACZ,gBAAgB;QAChB,aAAa;QACb,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,aAAa;QACb,iBAAiB,CAAA,EAAA,CAAA,CAAA;4FAMR,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAlB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,aAAa;wBACb,gBAAgB;wBAChB,eAAe;wBACf,gBAAgB;wBAChB,aAAa;wBACb,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,eAAe;AAChB,qBAAA;iBACF,CAAA;;;AC5BY,MAAA,UAAU,GAAG;AACtB,IAAA,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAC;AAC7C,IAAA,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAC;AACpD,IAAA,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,EAAC;AACpD,IAAA,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAC;AAChD,IAAA,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,EAAC;;;ACL1D;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Injectable, Inject, EventEmitter, Component, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
|
|
3
3
|
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
|
4
|
-
import { Observable, reduce } from 'rxjs';
|
|
4
|
+
import { Observable, reduce, forkJoin } from 'rxjs';
|
|
5
5
|
import { Router } from '@angular/router';
|
|
6
6
|
import { MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar';
|
|
7
7
|
import { Auth, Amplify } from 'aws-amplify';
|
|
@@ -248,12 +248,36 @@ class HeaderComponent {
|
|
|
248
248
|
console.log(e);
|
|
249
249
|
}
|
|
250
250
|
});
|
|
251
|
-
Auth.currentAuthenticatedUser().then(user => {
|
|
251
|
+
Auth.currentAuthenticatedUser().then(async (user) => {
|
|
252
252
|
this.username = user.attributes.given_name;
|
|
253
|
-
this.
|
|
253
|
+
let userDetails = this._ser.getUserDetailsByEmail({ email: user.attributes.email });
|
|
254
|
+
let userCompanyInfo = this._ser.getUserCompanies();
|
|
255
|
+
forkJoin([userDetails, userCompanyInfo]).subscribe({
|
|
256
|
+
next: (res) => {
|
|
257
|
+
if (res && res[0]) {
|
|
258
|
+
this.userAuthData = res[0];
|
|
259
|
+
if (this.userAuthData?._links?.profileImage?.href) {
|
|
260
|
+
this.getUserProfile();
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
if (res && res[1]) {
|
|
264
|
+
if (res[1] && res[1].data && res[1].data.companies) {
|
|
265
|
+
this.userCompanies = res[1].data.companies;
|
|
266
|
+
if (this.userCompanies.length > 1) {
|
|
267
|
+
this.showSwitchCompanies = true;
|
|
268
|
+
for (var com of this.userCompanies) {
|
|
269
|
+
if (com.companyKey == this.userAuthData.lastAccessedCompanyKey) {
|
|
270
|
+
com.activeNow = true;
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
});
|
|
254
279
|
})
|
|
255
280
|
.catch(() => console.log("User not logged in"));
|
|
256
|
-
this.getUserCompany();
|
|
257
281
|
}
|
|
258
282
|
menuAction() {
|
|
259
283
|
this.menuEvent.emit();
|
|
@@ -298,33 +322,10 @@ class HeaderComponent {
|
|
|
298
322
|
}
|
|
299
323
|
});
|
|
300
324
|
}
|
|
301
|
-
|
|
302
|
-
this._ser.
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
this.userCompanies = userCompaniesData.data.companies;
|
|
306
|
-
if (this.userCompanies.length > 1) {
|
|
307
|
-
this.showSwitchCompanies = true;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
},
|
|
311
|
-
error: (e) => {
|
|
312
|
-
console.log("Error in fetching companies for the user");
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
getUserDetails(email) {
|
|
317
|
-
let req = {
|
|
318
|
-
email: email
|
|
319
|
-
};
|
|
320
|
-
this._ser.getUserDetailsByEmail(req).subscribe(res => {
|
|
321
|
-
this.userAuthData = res;
|
|
322
|
-
if (this.userAuthData?._links?.profileImage?.href) {
|
|
323
|
-
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
324
|
-
if (img?.locationUrl) {
|
|
325
|
-
this.userImageLink = img.locationUrl;
|
|
326
|
-
}
|
|
327
|
-
});
|
|
325
|
+
getUserProfile() {
|
|
326
|
+
this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {
|
|
327
|
+
if (img?.locationUrl) {
|
|
328
|
+
this.userImageLink = img.locationUrl;
|
|
328
329
|
}
|
|
329
330
|
});
|
|
330
331
|
}
|
|
@@ -381,10 +382,10 @@ class HeaderComponent {
|
|
|
381
382
|
}
|
|
382
383
|
}
|
|
383
384
|
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
384
|
-
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
385
|
+
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeaderComponent, selector: "lib-header", inputs: { template: "template" }, outputs: { menuEvent: "menuEvent", infoEvent: "infoEvent" }, ngImport: i0, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
385
386
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
386
387
|
type: Component,
|
|
387
|
-
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
388
|
+
args: [{ selector: 'lib-header', encapsulation: ViewEncapsulation.None, template: "<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>", styles: ["@import\"~@angular/material/prebuilt-themes/indigo-pink.css\";.profile-name{text-align:end;color:#000}.profile-name span{font-size:12px;color:#9e9e9ede}.avatarLogo{width:40px}mat-toolbar.mat-toolbar.common_header.mat-primary.mat-toolbar-single-row{position:fixed;left:0;top:0;background-color:#fff;height:48px}button.switchButton,button.menuHamberger{padding:8px!important}.sidenavPanel{padding:20px 25px;height:100vh;position:relative}ul.navbarList{padding-left:0;list-style:none;margin-top:40px}ul.navbarList li{color:#666;font-weight:400;margin-bottom:25px;width:170px;cursor:pointer}.active{color:#4177d6!important}ul.navbarList li img{width:23px;margin-right:15px}.accounts_drpmenu{margin-top:.7em}.xsShowUsername{display:none;padding:0 16px;height:48px;line-height:48px}\n"] }]
|
|
388
389
|
}], ctorParameters: function () { return []; }, propDecorators: { template: [{
|
|
389
390
|
type: Input
|
|
390
391
|
}], menuEvent: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propmix-profet-common-header.mjs","sources":["../../../projects/common-header/src/lib/api-endpoints.def.ts","../../../projects/common-header/src/lib/api-gateway.service.ts","../../../projects/common-header/src/lib/utils/Utilities.ts","../../../projects/common-header/src/lib/utils/HeaderConfig.ts","../../../projects/common-header/src/lib/common-header.service.ts","../../../projects/common-header/src/lib/header/header.component.ts","../../../projects/common-header/src/lib/header/header.component.html","../../../projects/common-header/src/lib/common-header.module.ts","../../../projects/common-header/src/lib/utils/app.constants.ts","../../../projects/common-header/src/public-api.ts","../../../projects/common-header/src/propmix-profet-common-header.ts"],"sourcesContent":["export class EndPoints {\n public static API_URLS = {\n getAppsApi: '/api/company/getAllUserAccessApplications',\n getCompanyApplications: '/api/company/getCompanyApplications',\n getUserCompanies: '/api/profile/getUserCompanies',\n updateUserCompany: '/api/company/updateUserCompany',\n fetchCompanyProfile: '/fetchCompanyProfile',\n findByEmail: '/api/users/search/findByEmail'\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiGatewayService {\n private _http = inject(HttpClient);\n \n doGet(url: string, config?: any): Observable<any> {\n return new Observable(observer => {\n if (!config) {\n config = {\n isLoaderHidden: false\n };\n };\n let headers:any;\n if(config.isUnauthorized){\n headers = {\n skip: \"true\"\n }\n }\n \n // this._loaderService.requestStarted(config);\n this._http\n .get(url,{headers: headers})\n .subscribe({\n next: (data) => {\n // this._loaderService.requestEnded();\n observer.next(data);\n observer.complete();\n },\n error: (error) => {\n // this.handleError(error, config, observer);\n }\n });\n })\n }\n doPost(url: string, req_body?: any): Observable<any> {\n return new Observable(observer => {\n let headers:any;\n this._http\n .post(url, req_body,{headers: headers})\n .subscribe({\n next: (data) => {\n if (data && data.hasOwnProperty('status')) {\n observer.next(data);\n observer.complete();\n } else {\n observer.next(data);\n observer.complete();\n }\n },\n error: (error:any) => {\n // this.handleError(error, config, observer);\n }\n })\n });\n }\n}\n","export class Utilities {\n public static convertObjectToQueryString(obj:any) {\n let str = '';\n for (const key of Object.keys(obj)) {\n if (obj[key] !== '' && obj[key] != null) {\n if (str != '') {\n str += '&';\n }\n if(Array.isArray(obj[key])){\n let arLength = obj[key].length;\n obj[key].forEach((ar:any,index:number) => {\n str += key + \"=\" + encodeURIComponent(ar);\n if(index < arLength-1){\n str += '&';\n }\n });\n \n }\n else if(typeof(obj[key]) == 'object'){\n if(Object.keys(obj[key]) && Object.keys(obj[key]).length > 0){\n let i = 0;\n for (const subKey of Object.keys(obj[key])){\n if(i > 0){\n str += '&';\n }\n str += key + \".\" + subKey + \"=\" + encodeURIComponent(obj[key][subKey]);\n ++i;\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n }\n return str;\n }\n}","export class HeaderConfig {\n apiUrl: string = '';\n portalFrontendUrl?: string = '';\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { HeaderConfig } from './utils/HeaderConfig';\nimport { EndPoints } from './api-endpoints.def';\nimport { ApiGatewayService } from './api-gateway.service';\nimport { Utilities } from './utils/Utilities';\nimport { reduce } from 'rxjs';\nimport { APP_DOMAIN } from '../public-api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonHeaderService {\n private baseUrl: string = '';\n portalFrontendUrl: string;\n private _apiGatewayService = inject(ApiGatewayService);\n constructor(@Inject('headerConfig') private config: HeaderConfig) { \n this.baseUrl = this.config.apiUrl;\n this.portalFrontendUrl = config.portalFrontendUrl!;\n }\n\n obtainDataByUrl(url:string){\n return this._apiGatewayService.doGet(url);\n }\n\n getDomainInfo(){\n let dom = document.location.host.split('.');\n let domainInfo = APP_DOMAIN.find(x => x.domain === dom[0]);\n if (domainInfo) {\n return domainInfo;\n }\n\n // Check if the second part of the domain exists before using it\n domainInfo = dom[1] ? APP_DOMAIN.find(x => x.domain === dom[1]) : undefined;\n return domainInfo || undefined;\n }\n\n getApps() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getAppsApi}`;\n return this._apiGatewayService.doGet(url);\n }\n getCompanyApplications() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getCompanyApplications}`;\n return this._apiGatewayService.doGet(url);\n }\n getUserCompanies() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getUserCompanies}`;\n return this._apiGatewayService.doGet(url);\n }\n updateUserCompany(reqBody: any) {\n let url = `${this.baseUrl + EndPoints.API_URLS.updateUserCompany}`;\n return this._apiGatewayService.doPost(url, reqBody);\n }\n\n fetchCompanyProfile(reqBody: any){\n let config: any = {\n isUnauthorized: true\n }\n let url = `${this.baseUrl + EndPoints.API_URLS.fetchCompanyProfile+ '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url,config).pipe(\n reduce((acc,res) => {\n if(res?.data){\n acc = res.data;\n }\n return acc;\n },{})\n );\n }\n getUserDetailsByEmail(reqBody:any){\n let url = `${this.baseUrl + EndPoints.API_URLS.findByEmail + '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url);\n }\n}\n","import { Component, OnInit, inject, ViewChild, ViewEncapsulation, Input, Output, EventEmitter, TemplateRef } from '@angular/core';\nimport { CommonHeaderService } from '../common-header.service';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Amplify, Auth } from 'aws-amplify';\n\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent implements OnInit{\n \n username: string = '';\n @Input() template!: TemplateRef<any>;\n @Output() menuEvent = new EventEmitter<any>();\n @Output() infoEvent = new EventEmitter<any>();\n sidenav!: MatSidenav;\n appList: Array<any> = [];\n userCompanies: any;\n showSwitchCompanies: boolean = false;\n companyProfile: any;\n portalUrl: string = '';\n userAuthData: any;\n userImageLink: any;\n private _router = inject(Router);\n private _snackbar = inject(MatSnackBar);\n private _ser = inject(CommonHeaderService);\n\n constructor(){\n }\n\n ngOnInit(): void {\n this.fetchCompanyProfile();\n this._ser.getApps().subscribe({\n next: (v) => {\n this.portalUrl = v?.data?.portalUrl;\n let data = {\n companyInfo: this.companyProfile,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n let config: any = Auth.configure();\n let signoutUrl = `${this.portalUrl}/login`;\n config.oauth = {...config.oauth,...{\"redirectSignOut\": signoutUrl}};\n Amplify.configure(config);\n if(v?.data?.applications && v.data.applications.length > 0){\n // this.fetchCompanyData(v.data.applications);\n this.appList = [];\n v.data.applications.forEach((element:any) => {\n this.appList.push({\n name: element.displayName,\n value: element,\n appUrl: element.appUrl\n });\n });\n }\n },\n error: (e) => {\n console.log(e)\n }\n });\n Auth.currentAuthenticatedUser().then(user => {\n this.username = user.attributes.given_name;\n this.getUserDetails(user.attributes.email)\n })\n .catch(() => console.log(\"User not logged in\"));\n this.getUserCompany();\n }\n\n menuAction(){\n this.menuEvent.emit();\n }\n\n fetchCompanyProfile(){\n let req = {\n companyName: document.location.host.split('.')[0]\n };\n this._ser.fetchCompanyProfile(req).subscribe({\n next: (v) => {\n this.companyProfile = v;\n let data = {\n companyInfo: v,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n }\n })\n }\n fetchCompanyData(allApps:Array<any>) {\n this._ser.getCompanyApplications().subscribe({\n next: (v) => {\n if (v?.data.enabledApplications) {\n this.appList = [];\n let appInfo = [];\n let fetchedApplications = v.data.enabledApplications.split(',');\n\n if (fetchedApplications.length > 0) {\n fetchedApplications.forEach((element:any) => {\n appInfo = allApps.filter(ele => ele.name == element);\n if (appInfo && appInfo.length > 0) {\n if(appInfo[0].name != 'mca'){\n this.appList.push({\n name: appInfo[0].displayName,\n value: element,\n appUrl: appInfo[0].appUrl\n });\n }\n }\n });\n }\n }\n\n }\n })\n }\n\n getUserCompany(){\n this._ser.getUserCompanies().subscribe({\n next: (userCompaniesData: any) => {\n if (userCompaniesData && userCompaniesData.data && userCompaniesData.data.companies) {\n this.userCompanies = userCompaniesData.data.companies;\n if (this.userCompanies.length > 1) {\n this.showSwitchCompanies = true;\n }\n }\n },\n error: (e) => {\n console.log(\"Error in fetching companies for the user\");\n }\n })\n }\n\n getUserDetails(email: string){\n let req = {\n email: email\n };\n this._ser.getUserDetailsByEmail(req).subscribe(res => {\n this.userAuthData = res;\n if(this.userAuthData?._links?.profileImage?.href){\n this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {\n if(img?.locationUrl){\n this.userImageLink = img.locationUrl;\n }\n })\n }\n })\n }\n\n appRedirect(app:any) {\n // if (app.name != 'Order Management') {\n window.open(app.appUrl, \"_self\");\n // }\n }\n profile() {\n // this.fetchUserData();\n if(this._ser.portalFrontendUrl){\n let url = this.portalUrl+'/app/profile';\n document.location.href = url;\n }\n else{\n this._router.navigateByUrl('/app/profile');\n }\n }\n onLogoutClick() {\n Auth.signOut({ global: true })\n .then(data => console.log(data))\n .catch(err => {\n console.log(err)\n Auth.signOut();\n });\n }\n switchCompany(company: any) {\n // switch the user to the selectec company\n\n // Find the domain information\n let domainInfo = this._ser.getDomainInfo();\n if(domainInfo){\n let req:any = { companyKey: company.companyKey,appName: domainInfo.appCode };\n this._ser.updateUserCompany(req).subscribe({\n next: (response: any) => {\n if (response && response.type && response.type == \"OK\") {\n if(response.data.applicationURL){\n let url = response.data.applicationURL + window.location.pathname;\n window.location.replace(url);\n }\n // refresh the current page to reload the contents based on the current company\n // window.location.reload();\n }\n else {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n },\n error: (e) => {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n })\n }\n }\n \n}\n","<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"../assets/images/apps.png\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">{{company.name}}</button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>","import { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header/header.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon'\nimport { HttpClientModule } from '@angular/common/http';\nimport {MatButtonModule} from '@angular/material/button'\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\n\n@NgModule({\n declarations: [\n HeaderComponent\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n MatIconModule,\n HttpClientModule,\n MatButtonModule,\n MatSidenavModule,\n MatMenuModule,\n MatSnackBarModule\n ],\n exports: [\n HeaderComponent\n ]\n})\nexport class CommonHeaderModule { }\n","export const APP_DOMAIN = [\n { domain: 'portal', appCode: 'profet_portal'},\n { domain: 'profet-portal', appCode: 'profet_portal'},\n { domain: 'orders', appCode: 'appraisal_management'},\n { domain: 'review', appCode: 'appraisal_review'},\n { domain: 'valuation', appCode: 'appraisal_valuation'}\n]","/*\n * Public API Surface of common-header\n */\n\nexport * from './lib/common-header.service';\nexport * from './lib/common-header.module';\nexport * from './lib/header/header.component';\nexport * from './lib/utils/HeaderConfig';\nexport * from './lib/utils/UserDetails';\nexport * from './lib/utils/app.constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"propmix-profet-common-header.mjs","sources":["../../../projects/common-header/src/lib/api-endpoints.def.ts","../../../projects/common-header/src/lib/api-gateway.service.ts","../../../projects/common-header/src/lib/utils/Utilities.ts","../../../projects/common-header/src/lib/utils/HeaderConfig.ts","../../../projects/common-header/src/lib/common-header.service.ts","../../../projects/common-header/src/lib/header/header.component.ts","../../../projects/common-header/src/lib/header/header.component.html","../../../projects/common-header/src/lib/common-header.module.ts","../../../projects/common-header/src/lib/utils/app.constants.ts","../../../projects/common-header/src/public-api.ts","../../../projects/common-header/src/propmix-profet-common-header.ts"],"sourcesContent":["export class EndPoints {\n public static API_URLS = {\n getAppsApi: '/api/company/getAllUserAccessApplications',\n getCompanyApplications: '/api/company/getCompanyApplications',\n getUserCompanies: '/api/profile/getUserCompanies',\n updateUserCompany: '/api/company/updateUserCompany',\n fetchCompanyProfile: '/fetchCompanyProfile',\n findByEmail: '/api/users/search/findByEmail'\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiGatewayService {\n private _http = inject(HttpClient);\n \n doGet(url: string, config?: any): Observable<any> {\n return new Observable(observer => {\n if (!config) {\n config = {\n isLoaderHidden: false\n };\n };\n let headers:any;\n if(config.isUnauthorized){\n headers = {\n skip: \"true\"\n }\n }\n \n // this._loaderService.requestStarted(config);\n this._http\n .get(url,{headers: headers})\n .subscribe({\n next: (data) => {\n // this._loaderService.requestEnded();\n observer.next(data);\n observer.complete();\n },\n error: (error) => {\n // this.handleError(error, config, observer);\n }\n });\n })\n }\n doPost(url: string, req_body?: any): Observable<any> {\n return new Observable(observer => {\n let headers:any;\n this._http\n .post(url, req_body,{headers: headers})\n .subscribe({\n next: (data) => {\n if (data && data.hasOwnProperty('status')) {\n observer.next(data);\n observer.complete();\n } else {\n observer.next(data);\n observer.complete();\n }\n },\n error: (error:any) => {\n // this.handleError(error, config, observer);\n }\n })\n });\n }\n}\n","export class Utilities {\n public static convertObjectToQueryString(obj:any) {\n let str = '';\n for (const key of Object.keys(obj)) {\n if (obj[key] !== '' && obj[key] != null) {\n if (str != '') {\n str += '&';\n }\n if(Array.isArray(obj[key])){\n let arLength = obj[key].length;\n obj[key].forEach((ar:any,index:number) => {\n str += key + \"=\" + encodeURIComponent(ar);\n if(index < arLength-1){\n str += '&';\n }\n });\n \n }\n else if(typeof(obj[key]) == 'object'){\n if(Object.keys(obj[key]) && Object.keys(obj[key]).length > 0){\n let i = 0;\n for (const subKey of Object.keys(obj[key])){\n if(i > 0){\n str += '&';\n }\n str += key + \".\" + subKey + \"=\" + encodeURIComponent(obj[key][subKey]);\n ++i;\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n else{\n str += key + \"=\" + encodeURIComponent(obj[key]);\n }\n }\n }\n return str;\n }\n}","export class HeaderConfig {\n apiUrl: string = '';\n portalFrontendUrl?: string = '';\n}","import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, inject } from '@angular/core';\nimport { HeaderConfig } from './utils/HeaderConfig';\nimport { EndPoints } from './api-endpoints.def';\nimport { ApiGatewayService } from './api-gateway.service';\nimport { Utilities } from './utils/Utilities';\nimport { reduce } from 'rxjs';\nimport { APP_DOMAIN } from '../public-api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonHeaderService {\n private baseUrl: string = '';\n portalFrontendUrl: string;\n private _apiGatewayService = inject(ApiGatewayService);\n constructor(@Inject('headerConfig') private config: HeaderConfig) { \n this.baseUrl = this.config.apiUrl;\n this.portalFrontendUrl = config.portalFrontendUrl!;\n }\n\n obtainDataByUrl(url:string){\n return this._apiGatewayService.doGet(url);\n }\n\n getDomainInfo(){\n let dom = document.location.host.split('.');\n let domainInfo = APP_DOMAIN.find(x => x.domain === dom[0]);\n if (domainInfo) {\n return domainInfo;\n }\n\n // Check if the second part of the domain exists before using it\n domainInfo = dom[1] ? APP_DOMAIN.find(x => x.domain === dom[1]) : undefined;\n return domainInfo || undefined;\n }\n\n getApps() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getAppsApi}`;\n return this._apiGatewayService.doGet(url);\n }\n getCompanyApplications() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getCompanyApplications}`;\n return this._apiGatewayService.doGet(url);\n }\n getUserCompanies() {\n let url = `${this.baseUrl + EndPoints.API_URLS.getUserCompanies}`;\n return this._apiGatewayService.doGet(url);\n }\n updateUserCompany(reqBody: any) {\n let url = `${this.baseUrl + EndPoints.API_URLS.updateUserCompany}`;\n return this._apiGatewayService.doPost(url, reqBody);\n }\n\n fetchCompanyProfile(reqBody: any){\n let config: any = {\n isUnauthorized: true\n }\n let url = `${this.baseUrl + EndPoints.API_URLS.fetchCompanyProfile+ '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url,config).pipe(\n reduce((acc,res) => {\n if(res?.data){\n acc = res.data;\n }\n return acc;\n },{})\n );\n }\n getUserDetailsByEmail(reqBody:any){\n let url = `${this.baseUrl + EndPoints.API_URLS.findByEmail + '?' + Utilities.convertObjectToQueryString(reqBody)}`;\n return this._apiGatewayService.doGet(url);\n }\n}\n","import { Component, OnInit, inject, ViewChild, ViewEncapsulation, Input, Output, EventEmitter, TemplateRef } from '@angular/core';\nimport { CommonHeaderService } from '../common-header.service';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Amplify, Auth } from 'aws-amplify';\nimport { forkJoin } from 'rxjs';\n\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HeaderComponent implements OnInit{\n \n username: string = '';\n @Input() template!: TemplateRef<any>;\n @Output() menuEvent = new EventEmitter<any>();\n @Output() infoEvent = new EventEmitter<any>();\n sidenav!: MatSidenav;\n appList: Array<any> = [];\n userCompanies: any;\n showSwitchCompanies: boolean = false;\n companyProfile: any;\n portalUrl: string = '';\n userAuthData: any;\n userImageLink: any;\n private _router = inject(Router);\n private _snackbar = inject(MatSnackBar);\n private _ser = inject(CommonHeaderService);\n\n constructor(){\n }\n\n ngOnInit(): void {\n this.fetchCompanyProfile();\n this._ser.getApps().subscribe({\n next: (v) => {\n this.portalUrl = v?.data?.portalUrl;\n let data = {\n companyInfo: this.companyProfile,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n let config: any = Auth.configure();\n let signoutUrl = `${this.portalUrl}/login`;\n config.oauth = {...config.oauth,...{\"redirectSignOut\": signoutUrl}};\n Amplify.configure(config);\n if(v?.data?.applications && v.data.applications.length > 0){\n // this.fetchCompanyData(v.data.applications);\n this.appList = [];\n v.data.applications.forEach((element:any) => {\n this.appList.push({\n name: element.displayName,\n value: element,\n appUrl: element.appUrl\n });\n });\n }\n },\n error: (e) => {\n console.log(e)\n }\n });\n Auth.currentAuthenticatedUser().then(async user => {\n this.username = user.attributes.given_name;\n\n let userDetails = this._ser.getUserDetailsByEmail({email: user.attributes.email});\n let userCompanyInfo = this._ser.getUserCompanies();\n forkJoin([userDetails,userCompanyInfo]).subscribe({\n next: (res) => {\n if(res && res[0]){\n this.userAuthData = res[0];\n if(this.userAuthData?._links?.profileImage?.href){\n this.getUserProfile();\n }\n }\n if(res && res[1]){\n if (res[1] && res[1].data && res[1].data.companies) {\n this.userCompanies = res[1].data.companies;\n if (this.userCompanies.length > 1) {\n this.showSwitchCompanies = true;\n for(var com of this.userCompanies){\n if(com.companyKey == this.userAuthData.lastAccessedCompanyKey){\n com.activeNow = true;\n break;\n }\n }\n }\n }\n }\n }\n })\n })\n .catch(() => console.log(\"User not logged in\"));\n }\n\n menuAction(){\n this.menuEvent.emit();\n }\n\n fetchCompanyProfile(){\n let req = {\n companyName: document.location.host.split('.')[0]\n };\n this._ser.fetchCompanyProfile(req).subscribe({\n next: (v) => {\n this.companyProfile = v;\n let data = {\n companyInfo: v,\n portalUrl: this.portalUrl\n };\n this.infoEvent.emit(data);\n }\n })\n }\n fetchCompanyData(allApps:Array<any>) {\n this._ser.getCompanyApplications().subscribe({\n next: (v) => {\n if (v?.data.enabledApplications) {\n this.appList = [];\n let appInfo = [];\n let fetchedApplications = v.data.enabledApplications.split(',');\n\n if (fetchedApplications.length > 0) {\n fetchedApplications.forEach((element:any) => {\n appInfo = allApps.filter(ele => ele.name == element);\n if (appInfo && appInfo.length > 0) {\n if(appInfo[0].name != 'mca'){\n this.appList.push({\n name: appInfo[0].displayName,\n value: element,\n appUrl: appInfo[0].appUrl\n });\n }\n }\n });\n }\n }\n\n }\n })\n }\n\n \n\n getUserProfile(){\n this._ser.obtainDataByUrl(this.userAuthData._links.profileImage.href).subscribe(img => {\n if(img?.locationUrl){\n this.userImageLink = img.locationUrl;\n }\n })\n }\n\n appRedirect(app:any) {\n // if (app.name != 'Order Management') {\n window.open(app.appUrl, \"_self\");\n // }\n }\n profile() {\n // this.fetchUserData();\n if(this._ser.portalFrontendUrl){\n let url = this.portalUrl+'/app/profile';\n document.location.href = url;\n }\n else{\n this._router.navigateByUrl('/app/profile');\n }\n }\n onLogoutClick() {\n Auth.signOut({ global: true })\n .then(data => console.log(data))\n .catch(err => {\n console.log(err)\n Auth.signOut();\n });\n }\n switchCompany(company: any) {\n // switch the user to the selectec company\n\n // Find the domain information\n let domainInfo = this._ser.getDomainInfo();\n if(domainInfo){\n let req:any = { companyKey: company.companyKey,appName: domainInfo.appCode };\n this._ser.updateUserCompany(req).subscribe({\n next: (response: any) => {\n if (response && response.type && response.type == \"OK\") {\n if(response.data.applicationURL){\n let url = response.data.applicationURL + window.location.pathname;\n window.location.replace(url);\n }\n // refresh the current page to reload the contents based on the current company\n // window.location.reload();\n }\n else {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n },\n error: (e) => {\n // display a message to the user that the company could not be switched.\n this._snackbar.open('Company could not be switched. Please try again or contact support.', 'OK', { duration: 5000 })\n }\n })\n }\n }\n \n}\n","<mat-toolbar color=\"primary\" class=\"common_header shadow-sm\">\n <button mat-icon-button (click)=\"menuAction()\" aria-label=\"main menu\" tabindex=\"0\" class=\"menuHamberger me-4\">\n <img src=\"../assets/images/hamburger_menu.svg\" style=\"width: 20px;height: 20px;\">\n </button>\n <a class=\"navbar-brand me-auto\" href=\"#\">\n <img *ngIf=\"companyProfile\" [src]=\"companyProfile.logo\" alt=\"Logo\" style=\"height: 30px;\">\n </a>\n <span class=\"example-spacer\"></span>\n <ng-container *ngIf=\"template\" [ngTemplateOutlet]=\"template\"></ng-container>\n <button *ngIf=\"appList.length > 0\" mat-icon-button class=\"me-3 switchButton\" [matMenuTriggerFor]=\"apps\">\n <img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApklEQVR4nO3YQQ6EIBBE0TpL42GEqxEu6RxEA6tZ0BNdOOnofwk7ITFaUiIBuMTWVlJpn6W0/dfo11iuOcLcqTOLfY0twtypC4uNEWHuFDcinsjAq+UhIyIj92QkPWVDtFxzv/DMYqm0NcJc4J+MGq9YX62FGi/+Rzrar4eMiIwMZMRDjRc1Hu9g1HhR4zs2RA+lUZTGgYx4yIiCZSRxGi9O4wHFdQB10N/h0880IgAAAABJRU5ErkJggg==\" alt=\"apps icon\" style=\"width:20px;height: 20px;\">\n </button>\n <mat-menu #apps=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let app of appList\">\n <button mat-menu-item (click)=\"appRedirect(app)\">{{app.name}}</button>\n </div>\n </mat-menu>\n <div class=\"profile-name\">\n <p *ngIf=\"username\" class=\"xsHiddenUsername mb-0\">{{username}}</p>\n <!--<span class=\"xsHiddenUsername mb-0\" *ngFor=\"let role of userRole\">{{role | formatWord: true:'_'}}</span>-->\n </div>\n <button mat-button [matMenuTriggerFor]=\"menu\">\n <img class=\"avatarLogo\" [src]=\"userImageLink?userImageLink:'../assets/images/dp.png'\" alt=\"Avatar Logo\" class=\"avatarLogo rounded-pill\">\n </button>\n <mat-menu #menu=\"matMenu\" class=\"accounts_drpmenu\">\n <span *ngIf=\"username\" class=\"xsShowUsername\">{{username}}</span>\n <button mat-menu-item (click)=\"profile()\">Profile</button>\n <button *ngIf=\"showSwitchCompanies\" mat-menu-item [matMenuTriggerFor]=\"companies\">Switch Company</button>\n <mat-menu #companies=\"matMenu\" class=\"accounts_drpmenu\">\n <div *ngFor=\"let company of userCompanies\">\n <button mat-menu-item (click)=\"switchCompany(company)\">\n {{company.name}}\n <img *ngIf=\"company.activeNow\" src=\"data:image/png;base64,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\" alt=\"done icon\" style=\"width:18px;height: 18px;margin-left: 5px;\">\n </button>\n </div>\n </mat-menu>\n <button mat-menu-item (click)=\"onLogoutClick()\">Logout</button>\n </mat-menu>\n</mat-toolbar>","import { NgModule } from '@angular/core';\nimport { HeaderComponent } from './header/header.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon'\nimport { HttpClientModule } from '@angular/common/http';\nimport {MatButtonModule} from '@angular/material/button'\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatMenuModule} from '@angular/material/menu';\nimport { CommonModule } from '@angular/common';\nimport { MatSnackBarModule } from \"@angular/material/snack-bar\";\n\n@NgModule({\n declarations: [\n HeaderComponent\n ],\n imports: [\n CommonModule,\n MatToolbarModule,\n MatIconModule,\n HttpClientModule,\n MatButtonModule,\n MatSidenavModule,\n MatMenuModule,\n MatSnackBarModule\n ],\n exports: [\n HeaderComponent\n ]\n})\nexport class CommonHeaderModule { }\n","export const APP_DOMAIN = [\n { domain: 'portal', appCode: 'profet_portal'},\n { domain: 'profet-portal', appCode: 'profet_portal'},\n { domain: 'orders', appCode: 'appraisal_management'},\n { domain: 'review', appCode: 'appraisal_review'},\n { domain: 'valuation', appCode: 'appraisal_valuation'}\n]","/*\n * Public API Surface of common-header\n */\n\nexport * from './lib/common-header.service';\nexport * from './lib/common-header.module';\nexport * from './lib/header/header.component';\nexport * from './lib/utils/HeaderConfig';\nexport * from './lib/utils/UserDetails';\nexport * from './lib/utils/app.constants';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,7 @@ export declare class HeaderComponent implements OnInit {
|
|
|
22
22
|
menuAction(): void;
|
|
23
23
|
fetchCompanyProfile(): void;
|
|
24
24
|
fetchCompanyData(allApps: Array<any>): void;
|
|
25
|
-
|
|
26
|
-
getUserDetails(email: string): void;
|
|
25
|
+
getUserProfile(): void;
|
|
27
26
|
appRedirect(app: any): void;
|
|
28
27
|
profile(): void;
|
|
29
28
|
onLogoutClick(): void;
|