@bizdoc/core 1.17.15 → 1.17.17
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/assets/bizdoc-schema.json +1 -2
- package/esm2020/lib/admin/architecture/elements/form-invite.dialog.mjs +3 -3
- package/esm2020/lib/admin/architecture/elements/form.component.mjs +2 -2
- package/esm2020/lib/admin/system.service.mjs +1 -1
- package/esm2020/lib/core/session.service.mjs +10 -11
- package/esm2020/lib/home/home.desktop.component.mjs +9 -9
- package/esm2020/lib/home/home.mobile.component.mjs +29 -30
- package/esm2020/lib/system.module.mjs +3 -3
- package/fesm2015/bizdoc-core.mjs +25 -28
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +25 -28
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/system.service.d.ts +2 -0
- package/lib/home/home.desktop.component.d.ts +1 -1
- package/lib/home/home.mobile.component.d.ts +4 -2
- package/package.json +1 -1
@@ -10,11 +10,11 @@ import { QuickSignComponent } from './sign/sign.component';
|
|
10
10
|
import * as i0 from "@angular/core";
|
11
11
|
import * as i1 from "../core/slots/router.service";
|
12
12
|
import * as i2 from "../core/mailbox.service";
|
13
|
-
import * as i3 from "../core/
|
14
|
-
import * as i4 from "../core/
|
15
|
-
import * as i5 from "../core/
|
16
|
-
import * as i6 from "../core/
|
17
|
-
import * as i7 from "../core/
|
13
|
+
import * as i3 from "../core/popup/popup.service";
|
14
|
+
import * as i4 from "../core/prompt.service";
|
15
|
+
import * as i5 from "../core/session.service";
|
16
|
+
import * as i6 from "../core/hub.service";
|
17
|
+
import * as i7 from "../core/translate.service";
|
18
18
|
import * as i8 from "@angular/material/snack-bar";
|
19
19
|
import * as i9 from "@angular/common";
|
20
20
|
import * as i10 from "@angular/material/badge";
|
@@ -33,7 +33,7 @@ import * as i22 from "../compose/new-menu.component";
|
|
33
33
|
import * as i23 from "../core/pipes/translate.pipe";
|
34
34
|
/** desktop home comp */
|
35
35
|
export class HomeComponent extends HomeBase {
|
36
|
-
constructor(_router, _mailbox, injector, session,
|
36
|
+
constructor(_router, _mailbox, _popup, _sb, injector, session, messaging, translate, snackBar, config) {
|
37
37
|
super(session, messaging, translate, snackBar, injector, config);
|
38
38
|
this._router = _router;
|
39
39
|
this._mailbox = _mailbox;
|
@@ -212,12 +212,12 @@ export class HomeComponent extends HomeBase {
|
|
212
212
|
}
|
213
213
|
}
|
214
214
|
}
|
215
|
-
HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: HomeComponent, deps: [{ token: i1.PanesRouter }, { token: i2.MailboxService }, { token:
|
215
|
+
HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: HomeComponent, deps: [{ token: i1.PanesRouter }, { token: i2.MailboxService }, { token: i3.Popup }, { token: i4.PromptService }, { token: i0.Injector }, { token: i5.SessionService }, { token: i6.HubService }, { token: i7.TranslateService }, { token: i8.MatSnackBar }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
216
216
|
HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "mat-app-background" }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\r\n [class.dialog]=\"dialog\"\r\n class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div class=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"\r\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"backdrop\" *ngIf=\"dialog\"></div>\r\n</div>\r\n<bizdoc-panes-outlet (dialogChange)=\"dialog = $event\"></bizdoc-panes-outlet>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}\n"], dependencies: [{ kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i10.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i11.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i11.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i11.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i13.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i14.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i15.MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: i16.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i17.AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { kind: "component", type: i18.SlotsComponent, selector: "bizdoc-panes-outlet", outputs: ["dialogChange"] }, { kind: "component", type: i19.CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i20.ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i21.FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i22.ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { kind: "pipe", type: i23.TranslatePipe, name: "translate" }], animations: [submenuAnimation] });
|
217
217
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: HomeComponent, decorators: [{
|
218
218
|
type: Component,
|
219
219
|
args: [{ selector: 'bizdoc-home', host: { class: 'mat-app-background' }, animations: [submenuAnimation], template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\r\n [class.dialog]=\"dialog\"\r\n class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div class=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"\r\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"backdrop\" *ngIf=\"dialog\"></div>\r\n</div>\r\n<bizdoc-panes-outlet (dialogChange)=\"dialog = $event\"></bizdoc-panes-outlet>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}\n"] }]
|
220
|
-
}], ctorParameters: function () { return [{ type: i1.PanesRouter }, { type: i2.MailboxService }, { type:
|
220
|
+
}], ctorParameters: function () { return [{ type: i1.PanesRouter }, { type: i2.MailboxService }, { type: i3.Popup }, { type: i4.PromptService }, { type: i0.Injector }, { type: i5.SessionService }, { type: i6.HubService }, { type: i7.TranslateService }, { type: i8.MatSnackBar }, { type: undefined, decorators: [{
|
221
221
|
type: Inject,
|
222
222
|
args: [BIZDOC_CONFIG]
|
223
223
|
}] }]; }, propDecorators: { drawer: [{
|
@@ -227,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImpor
|
|
227
227
|
type: HostListener,
|
228
228
|
args: ['document:keydown', ['$event']]
|
229
229
|
}] } });
|
230
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLmRlc2t0b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUuZGVza3RvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTNELHdCQUF3QjtBQVF4QixNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFzRHpDLFlBQ1UsT0FBb0IsRUFDcEIsUUFBd0IsRUFDaEMsUUFBa0IsRUFDbEIsT0FBdUIsRUFDZixNQUFhLEVBQ3JCLFNBQXFCLEVBQ3JCLFNBQTJCLEVBQ25CLEdBQWtCLEVBQzFCLFFBQXFCLEVBQ0UsTUFBb0I7UUFDM0MsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUs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QyxRQUFRLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO2FBQzdCO2lCQUNJO2dCQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQzthQUM5QjtTQUNGO0lBQ0gsQ0FBQzs7MEdBOUxVLGFBQWEsd1FBZ0VkLGFBQWE7OEZBaEVaLGFBQWEsNk1BcURiLFVBQVUscUZDakZ2Qix3eU5BNEZBLDB5R0RsRWMsQ0FBQyxnQkFBZ0IsQ0FBQzsyRkFFbkIsYUFBYTtrQkFQekIsU0FBUzsrQkFDRSxhQUFhLFFBR2pCLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLGNBQ3pCLENBQUMsZ0JBQWdCLENBQUM7OzBCQWtFM0IsTUFBTTsyQkFBQyxhQUFhOzRDQVhrQixNQUFNO3NCQUE5QyxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBaUh2QyxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgSW5qZWN0LCBIb3N0TGlzdGVuZXIsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQml6RG9jQ29uZmlnLCBCSVpET0NfQ09ORklHLCBPcGVuUG9saWN5IH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgc3VibWVudUFuaW1hdGlvbiB9IGZyb20gJy4uL2NvcmUvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFJlY2lwaWVudE1vZGVsIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSG9tZUJhc2UgfSBmcm9tICcuL2hvbWUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uUGFuZUJhc2UsIE5hdmlnYXRpb25TdGFydCB9IGZyb20gJy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVpY2tPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRpb25zL29wdGlvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVpY2tTaWduQ29tcG9uZW50IH0gZnJvbSAnLi9zaWduL3NpZ24uY29tcG9uZW50JztcclxuXHJcbi8qKiBkZXNrdG9wIGhvbWUgY29tcCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1ob21lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ob21lLmRlc2t0b3AuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnbWF0LWFwcC1iYWNrZ3JvdW5kJyB9LFxyXG4gIGFuaW1hdGlvbnM6IFtzdWJtZW51QW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG9tZUNvbXBvbmVudCBleHRlbmRzIEhvbWVCYXNlIHtcclxuICBkaWFsb2c6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgc3lzQWRtaW4gPSB0aGlzLl9zZXNzaW9uLmlzU3lzdGVtO1xyXG4gIHByaXZhdGUgX3N1Ym1lbnVNb2RlOiAnZnVsbCcgfCAnc2hyaW5rJyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51TW9kZScpIGFzIGFueSB8fCAnZnVsbCc7XHJcbiAgcmVhZG9ubHkgZm9ybXMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmlsdGVyKGYgPT4gZi5jcmVhdGFibGUpO1xyXG4gIGNyZWF0aW5nOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2NvbGxhcHNlVG9nZ2xlID0gZmFsc2U7XHJcbiAgcHVibGljIGdldCBzdWJtZW51TW9kZSgpOiAnZnVsbCcgfCAnc2hyaW5rJyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudU1vZGU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgc3VibWVudU1vZGUodmFsdWU6ICdmdWxsJyB8ICdzaHJpbmsnKSB7XHJcbiAgICB0aGlzLl9zdWJtZW51TW9kZSA9IHZhbHVlO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1Ym1lbnVNb2RlJywgdmFsdWUpXHJcbiAgfVxyXG4gIHByaXZhdGUgX3N1Ym1lbnU6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51Jyk7XHJcbiAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nO1xyXG4gIGdldCBhY3RpdmVNZW51KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Ym1lbnUgfHwgdGhpcy5fcGF0aDtcclxuICB9XHJcbiAgcHVibGljIGdldCBzdWJtZW51KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudTtcclxuICB9XHJcbiAgcHVibGljIHNldCBzdWJtZW51KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3N1Ym1lbnUgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1Ym1lbnUnLCB2YWx1ZSk7XHJcbiAgICBlbHNlIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdWJtZW51Jyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzKG5hbWUsIHZhbD86IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWwgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpID09PSAnMSc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKG5hbWUsIHZhbCA/ICcxJyA6ICcwJyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzT3JEZWZhdWx0KG5hbWUsICRkZWZhdWx0KSB7XHJcbiAgICBjb25zdCB2YWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKTtcclxuICAgIHJldHVybiB2YWwgPyB2YWwgPT09ICcxJyA6ICRkZWZhdWx0O1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xsYXBzZWQgPSB0aGlzLl9pc09yRGVmYXVsdCgnY29sbGFwc2VkJywgdHJ1ZSk7XHJcbiAgcHVibGljIGdldCBjb2xsYXBzZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGNvbGxhcHNlZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fY29sbGFwc2VkID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pcygnY29sbGFwc2VkJywgdGhpcy5jb2xsYXBzZWQpO1xyXG4gIH1cclxuICBwcml2YXRlIF9waW5uZWQgPSB0aGlzLl9pc09yRGVmYXVsdCgncGlubmVkJywgdHJ1ZSk7XHJcbiAgcHVibGljIGdldCBwaW5uZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGlubmVkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHBpbm5lZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fcGlubmVkID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pcygncGlubmVkJywgdmFsdWUpXHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoTWF0U2lkZW5hdiwgeyBzdGF0aWM6IHRydWUgfSkgZHJhd2VyOiBNYXRTaWRlbmF2O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcixcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wb3B1cDogUG9wdXAsXHJcbiAgICBtZXNzYWdpbmc6IEh1YlNlcnZpY2UsXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHN1cGVyKHNlc3Npb24sIG1lc3NhZ2luZywgdHJhbnNsYXRlLCBzbmFja0JhciwgaW5qZWN0b3IsIGNvbmZpZyk7XHJcbiAgICBfcm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgJiYgZS5wYW5lLnBhdGggJiYgZS5wYW5lLm1vZGUgPT09ICdwYW5lJykpLlxyXG4gICAgICBzdWJzY3JpYmUoKGU6IE5hdmlnYXRpb25QYW5lQmFzZSkgPT5cclxuICAgICAgICB0aGlzLl9wYXRoID0gZS5wYW5lLnBhdGguc3BsaXQoJy8nKVswXVxyXG4gICAgICApO1xyXG4gIH1cclxuICAvKiogb3B0aW9ucyAqL1xyXG4gIG9wdGlvbnMoZXZ0OiBFdmVudCkge1xyXG4gICAgdGhpcy5fcG9wdXAub3BlbihRdWlja09wdGlvbnNDb21wb25lbnQsIGV2dC5zcmNFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnZW5kJyB9KTtcclxuICB9XHJcbiAgc2lnbm91dChldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLl9wb3B1cC5vcGVuKFF1aWNrU2lnbkNvbXBvbmVudCwgZXZ0LnNyY0VsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIHsgcG9zaXRpb246ICdlbmQnIH0pO1xyXG4gIH1cclxuICBuYXYocGF0aCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtwYXRoXSk7XHJcbiAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gICAgdGhpcy5jb2xsYXBzZXN1Ym1lbnUoKTtcclxuICB9XHJcbiAgb25OZXdNZXNzYWdlKG1vZGVsOiBSZWNpcGllbnRNb2RlbCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9pJywgbW9kZWwuaWQuZW5jb2RlSWQoKV0sXHJcbiAgICAgIHtcclxuICAgICAgICBzdGF0ZTogeyBpdGVtOiBtb2RlbCB9LFxyXG4gICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhclxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgY2xvc2VzdWJtZW51KCkge1xyXG4gICAgdGhpcy5zdWJtZW51ID0gbnVsbDtcclxuICB9XHJcbiAgb3Blbm5ldygpIHtcclxuICAgIGlmICh0aGlzLmZvcm1zLmxlbmd0aCA+IDEpIHtcclxuICAgICAgaWYgKHRoaXMuc3VibWVudSA9PT0gJ25ldycpXHJcbiAgICAgICAgdGhpcy5jbG9zZXN1Ym1lbnUoKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMub3BlbnN1Ym1lbnUoJ25ldycpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB0aGlzLl9jcmVhdGUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY3JlYXRlKCkge1xyXG4gICAgdGhpcy5jcmVhdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNyZWF0ZSh0aGlzLmZvcm1zWzBdLm5hbWUpLlxyXG4gICAgICBzdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ21haWxib3gvaScsIHIuaWQuZW5jb2RlSWQoKV0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhcixcclxuICAgICAgICAgICAgc3RhdGU6IHsgaXRlbTogciB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSwgKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlRXJyKGUpO1xyXG4gICAgICAgIHRoaXMuY3JlYXRpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVFcnIocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yKSB7XHJcbiAgICBpZiAocmVzcG9uc2UuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Bvc2l0aW9uRXJyb3InKVxyXG4gICAgICBzd2l0Y2ggKChyZXNwb25zZSBhcyBHZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IpLmNvZGUpIHtcclxuICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVXNlckRlbmllZEdlb0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdHZW9FcnInKTtcclxuICAgICAgfVxyXG4gICAgZWxzZSBzd2l0Y2ggKChyZXNwb25zZSBhcyBIdHRwRXJyb3JSZXNwb25zZSkuc3RhdHVzKSB7XHJcbiAgICAgIGNhc2UgNDAxOlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCdVbmF1dGhvcml6ZWQnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA0MDY6XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3JTdHJpbmcoKHJlc3BvbnNlIGFzIEh0dHBFcnJvclJlc3BvbnNlKS5lcnJvcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDI2OiAvLyBsaWNlbnNlXHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ0xpY2Vuc2VFcnInKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbnN1Ym1lbnUobWVudTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zdWJtZW51ID09PSBtZW51KVxyXG4gICAgICB0aGlzLnN1Ym1lbnVNb2RlID0gdGhpcy5zdWJtZW51TW9kZSA9PT0gJ2Z1bGwnID8gJ3NocmluaycgOiAnZnVsbCc7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zdWJtZW51ID0gbWVudTtcclxuICAgICAgdGhpcy5zdWJtZW51TW9kZSA9ICdmdWxsJztcclxuICAgIH1cclxuICB9XHJcbiAgY29sbGFwc2VzdWJtZW51KCkge1xyXG4gICAgaWYgKCF0aGlzLnBpbm5lZCAmJiB0aGlzLnN1Ym1lbnUgIT09ICduZXcnKSB0aGlzLnN1Ym1lbnVNb2RlID0gJ3Nocmluayc7XHJcbiAgfVxyXG4gIHRvZ2dsZVBpbm5lZCgpIHtcclxuICAgIHRoaXMucGlubmVkID0gIXRoaXMucGlubmVkO1xyXG4gICAgdGhpcy5zdWJtZW51TW9kZSA9IHRoaXMucGlubmVkID8gJ2Z1bGwnIDogJ3Nocmluayc7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIG1haWxzKCkge1xyXG4gICAgc3VwZXIubWFpbHMoKTtcclxuICAgIHRoaXMub3BlbnN1Ym1lbnUoJ21haWxib3gnKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQWx0ICsgbi9OLCBDdHJsICsgLlxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5hbHRLZXkgJiYgKGV2ZW50LndoaWNoID09PSAxMTAgfHwgZXZlbnQud2hpY2ggPT09IDc4KSkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ID09PSAnbmV3JylcclxuICAgICAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5mb3Jtcy5sZW5ndGggPT09IDEpXHJcbiAgICAgICAgICB0aGlzLl9jcmVhdGUoKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VibWVudSA9ICduZXcnO1xyXG4gICAgICAgICAgdGhpcy5zdWJtZW51TW9kZSA9ICdmdWxsJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQud2hpY2ggPT09IDE5MCkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ICYmICF0aGlzLl9jb2xsYXBzZVRvZ2dsZSkge1xyXG4gICAgICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJyA/ICdmdWxsJyA6ICdzaHJpbmsnO1xyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlVG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICAgICAgICB0aGlzLl9jb2xsYXBzZVRvZ2dsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2NsYXNzLm5hdi1jb2xsYXBzZWRdPVwiY29sbGFwc2VkXCIgW2NsYXNzLm5hdi1vcGVuXT1cInN1Ym1lbnVcIlxyXG4gICAgIFtjbGFzcy5kaWFsb2ddPVwiZGlhbG9nXCJcclxuICAgICBjbGFzcz1cIm5hdi1tZW51IHJvd1wiPlxyXG4gIDwhLS1bY2xhc3MubG9hZGluZ109XCJsb2FkaW5nXCItLT5cclxuICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ25ldydcIiBjbGFzcz1cIm5ldy1jb250YWluZXJcIiAqbmdJZj1cImZvcm1zLmxlbmd0aFwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJjb21wb3NlXCJcclxuICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidDb21wb3NlJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5uZXcoKVwiIFtkaXNhYmxlZF09XCJjcmVhdGluZ1wiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDb21wb3NlJ3wgdHJhbnNsYXRlXCIgY29sb3I9XCJwcmltYXJ5XCIgZGF0YS1oZWxwPVwiY29tcG9zZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J0NvbXBvc2UnfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxtYXQtbmF2LWxpc3Q+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdignZGFzaGJvYXJkJylcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdkYXNoYm9hcmQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWhlbHA9XCJkYXNoYm9hcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidEYXNoYm9hcmQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmFwcHM8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3snRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwibWFpbHMoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidNYWlsYm94J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ21haWxib3gnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidNYWlsYm94JyB8IHRyYW5zbGF0ZVwiIGRhdGEtaGVscD1cImZvbGRlcnNcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiBbbWF0QmFkZ2VdPVwicHJvZmlsZS5pbmJveENvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cInByb2ZpbGUuaW5ib3hDb3VudCA8IDFcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCI+aW5ib3g8L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydNYWlsYm94JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidTY2hlZHVsZXInIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCJzY2hlZHVsZXJFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2KCdzY2hlZHVsZScpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnc2NoZWR1bGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInU2NoZWR1bGVyJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5kYXRlX3JhbmdlPC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7ICdTY2hlZHVsZXInIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPSdjaGF0RW5hYmxlZCcgZGF0YS1oZWxwPVwiY2hhdFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NoYXQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2KCdjb250YWN0cycpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnY29udGFjdHMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInQ2hhdCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24gW21hdEJhZGdlXT1cInByb2ZpbGUuY29udmVyc2F0aW9uc0NvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cIiFwcm9maWxlLmNvbnZlcnNhdGlvbnNDb3VudFwiIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIj5jaGF0PC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7ICdDaGF0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImVuYWJsZUFuYWx5c2lzICYmIHByb2ZpbGUuY3ViZXMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ2N1YmUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnY3ViZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidDdWJlJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaGVscD1cImN1YmVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidDdWJlJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmVxdWFsaXplcjwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydDdWJlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cInByb2ZpbGUucmVwb3J0cy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuc3VibWVudSgncmVwb3J0cycpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdyZXBvcnRzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlcG9ydHMnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiIGRhdGEtaGVscD1cInJlcG9ydHNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXBvcnRzJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmxpc3RfYWx0PC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J1JlcG9ydHMnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzeXNBZG1pblwiPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ2FkbWluJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnYWRtaW4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidTeXN0ZW0nfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1N5c3RlbScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmRldmljZV9odWI8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J1dvcmtmbG93JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1uYXYtbGlzdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgPCEtLTxsb3R0aWUgbmFtZT1cImxmMzBfZWRpdG9yX3FyN3pnbWNzXCIgKm5nSWY9XCJsb2FkaW5nXCI+PC9sb3R0aWU+LS0+XHJcbiAgICA8IS0tQGFuaW1hdGUtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzaWduLWluXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRhdGEtaGVscD1cInNpZ24taW5cIiBbYml6ZG9jVG9vbHRpcF09XCInU2V0dGluZ3MnIHwgdHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NldHRpbmdzJyB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJvcHRpb25zKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LWljb24gbWF0QW5pbWF0ZT1cInJvdGF0ZVwiPnNldHRpbmdzb248L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidQb3dlcicgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwic2lnbm91dCgkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0V4aXQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmxvZ291dDwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInN1Ym1lbnVcIiBjbGFzcz1cInN1Yi1tZW51XCIgKG1vdXNlbGVhdmUpPVwiY29sbGFwc2VzdWJtZW51KClcIiBbQHN1Ym1lbnVdPVwic3VibWVudU1vZGVcIiAoQHN1Ym1lbnUuZG9uZSk9XCJyZXNpemUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvblwiICpuZ0lmPVwic3VibWVudSAhPT0gJ25ldydcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZVBpbm5lZCgpXCI+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiIFtiaXpkb2NUb29sdGlwXT1cIihwaW5uZWQ/J0NvbGxhcHNlJzonRXhwYW5kJyl8dHJhbnNsYXRlXCIgW2lubGluZV09XCJ0cnVlXCI+e3twaW5uZWQgPyAna2V5Ym9hcmRfZG91YmxlX2Fycm93X2xlZnQnIDogJ2tleWJvYXJkX2RvdWJsZV9hcnJvd19yaWdodCd9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInN1Ym1lbnVcIj5cclxuICAgICAgPGJpemRvYy1uZXctbWVudSAqbmdTd2l0Y2hDYXNlPVwiJ25ldydcIiAoY2hhbmdlKT1cImNsb3Nlc3VibWVudSgpXCI+PC9iaXpkb2MtbmV3LW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtZm9sZGVycy1tZW51ICpuZ1N3aXRjaENhc2U9XCInbWFpbGJveCdcIiBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiIChjaGFuZ2UpPVwiY29sbGFwc2VzdWJtZW51KClcIj48L2JpemRvYy1mb2xkZXJzLW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtYWRtaW4tbWVudSAqbmdTd2l0Y2hDYXNlPVwiJ2FkbWluJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCI+PC9iaXpkb2MtYWRtaW4tbWVudT5cclxuICAgICAgPGJpemRvYy1yZXBvcnRzLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidyZXBvcnRzJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLXJlcG9ydHMtbWVudT5cclxuICAgICAgPGJpemRvYy1jdWJlLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidjdWJlJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLWN1YmUtbWVudT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJiYWNrZHJvcFwiICpuZ0lmPVwiZGlhbG9nXCI+PC9kaXY+XHJcbjwvZGl2PlxyXG48Yml6ZG9jLXBhbmVzLW91dGxldCAoZGlhbG9nQ2hhbmdlKT1cImRpYWxvZyA9ICRldmVudFwiPjwvYml6ZG9jLXBhbmVzLW91dGxldD5cclxuIl19
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLmRlc2t0b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUuZGVza3RvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTNELHdCQUF3QjtBQVF4QixNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFzRHpDLFlBQ1UsT0FBb0IsRUFDcEIsUUFBd0IsRUFDeEIsTUFBYSxFQUNiLEdBQWtCLEVBQzFCLFFBQWtCLEVBQ2xCLE9BQXVCLEVBQ3ZCLFNBQXFCLEVBQ3JCLFNBQTJCLEVBQzNCLFFBQXFCLEVBQ0UsTUFBb0I7UUFDM0MsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUs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QyxRQUFRLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO2FBQzdCO2lCQUNJO2dCQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQzthQUM5QjtTQUNGO0lBQ0gsQ0FBQzs7MEdBOUxVLGFBQWEsd1FBZ0VkLGFBQWE7OEZBaEVaLGFBQWEsNk1BcURiLFVBQVUscUZDakZ2Qix3eU5BNEZBLDB5R0RsRWMsQ0FBQyxnQkFBZ0IsQ0FBQzsyRkFFbkIsYUFBYTtrQkFQekIsU0FBUzsrQkFDRSxhQUFhLFFBR2pCLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLGNBQ3pCLENBQUMsZ0JBQWdCLENBQUM7OzBCQWtFM0IsTUFBTTsyQkFBQyxhQUFhOzRDQVhrQixNQUFNO3NCQUE5QyxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBaUh2QyxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgSW5qZWN0LCBIb3N0TGlzdGVuZXIsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQml6RG9jQ29uZmlnLCBCSVpET0NfQ09ORklHLCBPcGVuUG9saWN5IH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgc3VibWVudUFuaW1hdGlvbiB9IGZyb20gJy4uL2NvcmUvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFJlY2lwaWVudE1vZGVsIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSG9tZUJhc2UgfSBmcm9tICcuL2hvbWUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uUGFuZUJhc2UsIE5hdmlnYXRpb25TdGFydCB9IGZyb20gJy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVpY2tPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRpb25zL29wdGlvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVpY2tTaWduQ29tcG9uZW50IH0gZnJvbSAnLi9zaWduL3NpZ24uY29tcG9uZW50JztcclxuXHJcbi8qKiBkZXNrdG9wIGhvbWUgY29tcCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1ob21lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ob21lLmRlc2t0b3AuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnbWF0LWFwcC1iYWNrZ3JvdW5kJyB9LFxyXG4gIGFuaW1hdGlvbnM6IFtzdWJtZW51QW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG9tZUNvbXBvbmVudCBleHRlbmRzIEhvbWVCYXNlIHtcclxuICBkaWFsb2c6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgc3lzQWRtaW4gPSB0aGlzLl9zZXNzaW9uLmlzU3lzdGVtO1xyXG4gIHByaXZhdGUgX3N1Ym1lbnVNb2RlOiAnZnVsbCcgfCAnc2hyaW5rJyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51TW9kZScpIGFzIGFueSB8fCAnZnVsbCc7XHJcbiAgcmVhZG9ubHkgZm9ybXMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmlsdGVyKGYgPT4gZi5jcmVhdGFibGUpO1xyXG4gIGNyZWF0aW5nOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2NvbGxhcHNlVG9nZ2xlID0gZmFsc2U7XHJcbiAgcHVibGljIGdldCBzdWJtZW51TW9kZSgpOiAnZnVsbCcgfCAnc2hyaW5rJyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudU1vZGU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgc3VibWVudU1vZGUodmFsdWU6ICdmdWxsJyB8ICdzaHJpbmsnKSB7XHJcbiAgICB0aGlzLl9zdWJtZW51TW9kZSA9IHZhbHVlO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1Ym1lbnVNb2RlJywgdmFsdWUpXHJcbiAgfVxyXG4gIHByaXZhdGUgX3N1Ym1lbnU6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51Jyk7XHJcbiAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nO1xyXG4gIGdldCBhY3RpdmVNZW51KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Ym1lbnUgfHwgdGhpcy5fcGF0aDtcclxuICB9XHJcbiAgcHVibGljIGdldCBzdWJtZW51KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudTtcclxuICB9XHJcbiAgcHVibGljIHNldCBzdWJtZW51KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3N1Ym1lbnUgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1Ym1lbnUnLCB2YWx1ZSk7XHJcbiAgICBlbHNlIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdWJtZW51Jyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzKG5hbWUsIHZhbD86IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWwgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpID09PSAnMSc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKG5hbWUsIHZhbCA/ICcxJyA6ICcwJyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzT3JEZWZhdWx0KG5hbWUsICRkZWZhdWx0KSB7XHJcbiAgICBjb25zdCB2YWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKTtcclxuICAgIHJldHVybiB2YWwgPyB2YWwgPT09ICcxJyA6ICRkZWZhdWx0O1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xsYXBzZWQgPSB0aGlzLl9pc09yRGVmYXVsdCgnY29sbGFwc2VkJywgdHJ1ZSk7XHJcbiAgcHVibGljIGdldCBjb2xsYXBzZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGNvbGxhcHNlZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fY29sbGFwc2VkID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pcygnY29sbGFwc2VkJywgdGhpcy5jb2xsYXBzZWQpO1xyXG4gIH1cclxuICBwcml2YXRlIF9waW5uZWQgPSB0aGlzLl9pc09yRGVmYXVsdCgncGlubmVkJywgdHJ1ZSk7XHJcbiAgcHVibGljIGdldCBwaW5uZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGlubmVkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHBpbm5lZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fcGlubmVkID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pcygncGlubmVkJywgdmFsdWUpXHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoTWF0U2lkZW5hdiwgeyBzdGF0aWM6IHRydWUgfSkgZHJhd2VyOiBNYXRTaWRlbmF2O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcixcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcG9wdXA6IFBvcHVwLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIG1lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHN1cGVyKHNlc3Npb24sIG1lc3NhZ2luZywgdHJhbnNsYXRlLCBzbmFja0JhciwgaW5qZWN0b3IsIGNvbmZpZyk7XHJcbiAgICBfcm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgJiYgZS5wYW5lLnBhdGggJiYgZS5wYW5lLm1vZGUgPT09ICdwYW5lJykpLlxyXG4gICAgICBzdWJzY3JpYmUoKGU6IE5hdmlnYXRpb25QYW5lQmFzZSkgPT5cclxuICAgICAgICB0aGlzLl9wYXRoID0gZS5wYW5lLnBhdGguc3BsaXQoJy8nKVswXVxyXG4gICAgICApO1xyXG4gIH1cclxuICAvKiogb3B0aW9ucyAqL1xyXG4gIG9wdGlvbnMoZXZ0OiBFdmVudCkge1xyXG4gICAgdGhpcy5fcG9wdXAub3BlbihRdWlja09wdGlvbnNDb21wb25lbnQsIGV2dC5zcmNFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnZW5kJyB9KTtcclxuICB9XHJcbiAgc2lnbm91dChldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLl9wb3B1cC5vcGVuKFF1aWNrU2lnbkNvbXBvbmVudCwgZXZ0LnNyY0VsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIHsgcG9zaXRpb246ICdlbmQnIH0pO1xyXG4gIH1cclxuICBuYXYocGF0aCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtwYXRoXSk7XHJcbiAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gICAgdGhpcy5jb2xsYXBzZXN1Ym1lbnUoKTtcclxuICB9XHJcbiAgb25OZXdNZXNzYWdlKG1vZGVsOiBSZWNpcGllbnRNb2RlbCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9pJywgbW9kZWwuaWQuZW5jb2RlSWQoKV0sXHJcbiAgICAgIHtcclxuICAgICAgICBzdGF0ZTogeyBpdGVtOiBtb2RlbCB9LFxyXG4gICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhclxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgY2xvc2VzdWJtZW51KCkge1xyXG4gICAgdGhpcy5zdWJtZW51ID0gbnVsbDtcclxuICB9XHJcbiAgb3Blbm5ldygpIHtcclxuICAgIGlmICh0aGlzLmZvcm1zLmxlbmd0aCA+IDEpIHtcclxuICAgICAgaWYgKHRoaXMuc3VibWVudSA9PT0gJ25ldycpXHJcbiAgICAgICAgdGhpcy5jbG9zZXN1Ym1lbnUoKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMub3BlbnN1Ym1lbnUoJ25ldycpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB0aGlzLl9jcmVhdGUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY3JlYXRlKCkge1xyXG4gICAgdGhpcy5jcmVhdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNyZWF0ZSh0aGlzLmZvcm1zWzBdLm5hbWUpLlxyXG4gICAgICBzdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ21haWxib3gvaScsIHIuaWQuZW5jb2RlSWQoKV0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhcixcclxuICAgICAgICAgICAgc3RhdGU6IHsgaXRlbTogciB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSwgKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlRXJyKGUpO1xyXG4gICAgICAgIHRoaXMuY3JlYXRpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVFcnIocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yKSB7XHJcbiAgICBpZiAocmVzcG9uc2UuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Bvc2l0aW9uRXJyb3InKVxyXG4gICAgICBzd2l0Y2ggKChyZXNwb25zZSBhcyBHZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IpLmNvZGUpIHtcclxuICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVXNlckRlbmllZEdlb0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdHZW9FcnInKTtcclxuICAgICAgfVxyXG4gICAgZWxzZSBzd2l0Y2ggKChyZXNwb25zZSBhcyBIdHRwRXJyb3JSZXNwb25zZSkuc3RhdHVzKSB7XHJcbiAgICAgIGNhc2UgNDAxOlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCdVbmF1dGhvcml6ZWQnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA0MDY6XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3JTdHJpbmcoKHJlc3BvbnNlIGFzIEh0dHBFcnJvclJlc3BvbnNlKS5lcnJvcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDI2OiAvLyBsaWNlbnNlXHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ0xpY2Vuc2VFcnInKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbnN1Ym1lbnUobWVudTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zdWJtZW51ID09PSBtZW51KVxyXG4gICAgICB0aGlzLnN1Ym1lbnVNb2RlID0gdGhpcy5zdWJtZW51TW9kZSA9PT0gJ2Z1bGwnID8gJ3NocmluaycgOiAnZnVsbCc7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zdWJtZW51ID0gbWVudTtcclxuICAgICAgdGhpcy5zdWJtZW51TW9kZSA9ICdmdWxsJztcclxuICAgIH1cclxuICB9XHJcbiAgY29sbGFwc2VzdWJtZW51KCkge1xyXG4gICAgaWYgKCF0aGlzLnBpbm5lZCAmJiB0aGlzLnN1Ym1lbnUgIT09ICduZXcnKSB0aGlzLnN1Ym1lbnVNb2RlID0gJ3Nocmluayc7XHJcbiAgfVxyXG4gIHRvZ2dsZVBpbm5lZCgpIHtcclxuICAgIHRoaXMucGlubmVkID0gIXRoaXMucGlubmVkO1xyXG4gICAgdGhpcy5zdWJtZW51TW9kZSA9IHRoaXMucGlubmVkID8gJ2Z1bGwnIDogJ3Nocmluayc7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIG1haWxzKCkge1xyXG4gICAgc3VwZXIubWFpbHMoKTtcclxuICAgIHRoaXMub3BlbnN1Ym1lbnUoJ21haWxib3gnKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQWx0ICsgbi9OLCBDdHJsICsgLlxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5hbHRLZXkgJiYgKGV2ZW50LndoaWNoID09PSAxMTAgfHwgZXZlbnQud2hpY2ggPT09IDc4KSkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ID09PSAnbmV3JylcclxuICAgICAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5mb3Jtcy5sZW5ndGggPT09IDEpXHJcbiAgICAgICAgICB0aGlzLl9jcmVhdGUoKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VibWVudSA9ICduZXcnO1xyXG4gICAgICAgICAgdGhpcy5zdWJtZW51TW9kZSA9ICdmdWxsJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQud2hpY2ggPT09IDE5MCkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ICYmICF0aGlzLl9jb2xsYXBzZVRvZ2dsZSkge1xyXG4gICAgICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJyA/ICdmdWxsJyA6ICdzaHJpbmsnO1xyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlVG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICAgICAgICB0aGlzLl9jb2xsYXBzZVRvZ2dsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2NsYXNzLm5hdi1jb2xsYXBzZWRdPVwiY29sbGFwc2VkXCIgW2NsYXNzLm5hdi1vcGVuXT1cInN1Ym1lbnVcIlxyXG4gICAgIFtjbGFzcy5kaWFsb2ddPVwiZGlhbG9nXCJcclxuICAgICBjbGFzcz1cIm5hdi1tZW51IHJvd1wiPlxyXG4gIDwhLS1bY2xhc3MubG9hZGluZ109XCJsb2FkaW5nXCItLT5cclxuICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ25ldydcIiBjbGFzcz1cIm5ldy1jb250YWluZXJcIiAqbmdJZj1cImZvcm1zLmxlbmd0aFwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJjb21wb3NlXCJcclxuICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidDb21wb3NlJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5uZXcoKVwiIFtkaXNhYmxlZF09XCJjcmVhdGluZ1wiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDb21wb3NlJ3wgdHJhbnNsYXRlXCIgY29sb3I9XCJwcmltYXJ5XCIgZGF0YS1oZWxwPVwiY29tcG9zZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J0NvbXBvc2UnfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxtYXQtbmF2LWxpc3Q+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdignZGFzaGJvYXJkJylcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdkYXNoYm9hcmQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWhlbHA9XCJkYXNoYm9hcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidEYXNoYm9hcmQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmFwcHM8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3snRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwibWFpbHMoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidNYWlsYm94J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ21haWxib3gnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidNYWlsYm94JyB8IHRyYW5zbGF0ZVwiIGRhdGEtaGVscD1cImZvbGRlcnNcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiBbbWF0QmFkZ2VdPVwicHJvZmlsZS5pbmJveENvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cInByb2ZpbGUuaW5ib3hDb3VudCA8IDFcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCI+aW5ib3g8L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydNYWlsYm94JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidTY2hlZHVsZXInIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCJzY2hlZHVsZXJFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2KCdzY2hlZHVsZScpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnc2NoZWR1bGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInU2NoZWR1bGVyJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5kYXRlX3JhbmdlPC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7ICdTY2hlZHVsZXInIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPSdjaGF0RW5hYmxlZCcgZGF0YS1oZWxwPVwiY2hhdFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NoYXQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2KCdjb250YWN0cycpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnY29udGFjdHMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInQ2hhdCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24gW21hdEJhZGdlXT1cInByb2ZpbGUuY29udmVyc2F0aW9uc0NvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cIiFwcm9maWxlLmNvbnZlcnNhdGlvbnNDb3VudFwiIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIj5jaGF0PC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7ICdDaGF0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImVuYWJsZUFuYWx5c2lzICYmIHByb2ZpbGUuY3ViZXMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ2N1YmUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnY3ViZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidDdWJlJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaGVscD1cImN1YmVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidDdWJlJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmVxdWFsaXplcjwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydDdWJlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cInByb2ZpbGUucmVwb3J0cy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuc3VibWVudSgncmVwb3J0cycpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdyZXBvcnRzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlcG9ydHMnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiIGRhdGEtaGVscD1cInJlcG9ydHNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXBvcnRzJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmxpc3RfYWx0PC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J1JlcG9ydHMnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzeXNBZG1pblwiPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ2FkbWluJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnYWRtaW4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidTeXN0ZW0nfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1N5c3RlbScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmRldmljZV9odWI8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J1dvcmtmbG93JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1uYXYtbGlzdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgPCEtLTxsb3R0aWUgbmFtZT1cImxmMzBfZWRpdG9yX3FyN3pnbWNzXCIgKm5nSWY9XCJsb2FkaW5nXCI+PC9sb3R0aWU+LS0+XHJcbiAgICA8IS0tQGFuaW1hdGUtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzaWduLWluXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRhdGEtaGVscD1cInNpZ24taW5cIiBbYml6ZG9jVG9vbHRpcF09XCInU2V0dGluZ3MnIHwgdHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NldHRpbmdzJyB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJvcHRpb25zKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LWljb24gbWF0QW5pbWF0ZT1cInJvdGF0ZVwiPnNldHRpbmdzb248L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidQb3dlcicgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwic2lnbm91dCgkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0V4aXQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmxvZ291dDwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInN1Ym1lbnVcIiBjbGFzcz1cInN1Yi1tZW51XCIgKG1vdXNlbGVhdmUpPVwiY29sbGFwc2VzdWJtZW51KClcIiBbQHN1Ym1lbnVdPVwic3VibWVudU1vZGVcIiAoQHN1Ym1lbnUuZG9uZSk9XCJyZXNpemUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvblwiICpuZ0lmPVwic3VibWVudSAhPT0gJ25ldydcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZVBpbm5lZCgpXCI+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiIFtiaXpkb2NUb29sdGlwXT1cIihwaW5uZWQ/J0NvbGxhcHNlJzonRXhwYW5kJyl8dHJhbnNsYXRlXCIgW2lubGluZV09XCJ0cnVlXCI+e3twaW5uZWQgPyAna2V5Ym9hcmRfZG91YmxlX2Fycm93X2xlZnQnIDogJ2tleWJvYXJkX2RvdWJsZV9hcnJvd19yaWdodCd9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInN1Ym1lbnVcIj5cclxuICAgICAgPGJpemRvYy1uZXctbWVudSAqbmdTd2l0Y2hDYXNlPVwiJ25ldydcIiAoY2hhbmdlKT1cImNsb3Nlc3VibWVudSgpXCI+PC9iaXpkb2MtbmV3LW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtZm9sZGVycy1tZW51ICpuZ1N3aXRjaENhc2U9XCInbWFpbGJveCdcIiBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiIChjaGFuZ2UpPVwiY29sbGFwc2VzdWJtZW51KClcIj48L2JpemRvYy1mb2xkZXJzLW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtYWRtaW4tbWVudSAqbmdTd2l0Y2hDYXNlPVwiJ2FkbWluJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCI+PC9iaXpkb2MtYWRtaW4tbWVudT5cclxuICAgICAgPGJpemRvYy1yZXBvcnRzLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidyZXBvcnRzJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLXJlcG9ydHMtbWVudT5cclxuICAgICAgPGJpemRvYy1jdWJlLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidjdWJlJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLWN1YmUtbWVudT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJiYWNrZHJvcFwiICpuZ0lmPVwiZGlhbG9nXCI+PC9kaXY+XHJcbjwvZGl2PlxyXG48Yml6ZG9jLXBhbmVzLW91dGxldCAoZGlhbG9nQ2hhbmdlKT1cImRpYWxvZyA9ICRldmVudFwiPjwvYml6ZG9jLXBhbmVzLW91dGxldD5cclxuIl19
|
@@ -12,32 +12,34 @@ import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "@angular/router";
|
13
13
|
import * as i2 from "@angular/material/bottom-sheet";
|
14
14
|
import * as i3 from "@angular/cdk/bidi";
|
15
|
-
import * as i4 from "../core/
|
16
|
-
import * as i5 from "../core/
|
17
|
-
import * as i6 from "../core/
|
18
|
-
import * as i7 from "
|
19
|
-
import * as i8 from "
|
20
|
-
import * as i9 from "
|
21
|
-
import * as i10 from "@angular/
|
22
|
-
import * as i11 from "@angular/material/
|
23
|
-
import * as i12 from "@angular/material/
|
24
|
-
import * as i13 from "@angular/material/
|
25
|
-
import * as i14 from "@angular/material/
|
26
|
-
import * as i15 from "@angular/material/
|
27
|
-
import * as i16 from "@angular/material/
|
28
|
-
import * as i17 from "@angular/material/
|
29
|
-
import * as i18 from "@angular/material/
|
30
|
-
import * as i19 from "
|
31
|
-
import * as i20 from "../
|
32
|
-
import * as i21 from "../
|
33
|
-
import * as i22 from "../
|
15
|
+
import * as i4 from "../core/popup/popup.service";
|
16
|
+
import * as i5 from "../core/session.service";
|
17
|
+
import * as i6 from "../core/hub.service";
|
18
|
+
import * as i7 from "../core/translate.service";
|
19
|
+
import * as i8 from "@angular/material/snack-bar";
|
20
|
+
import * as i9 from "../chat/chat-info";
|
21
|
+
import * as i10 from "@angular/common";
|
22
|
+
import * as i11 from "@angular/material/core";
|
23
|
+
import * as i12 from "@angular/material/expansion";
|
24
|
+
import * as i13 from "@angular/material/badge";
|
25
|
+
import * as i14 from "@angular/material/list";
|
26
|
+
import * as i15 from "@angular/material/divider";
|
27
|
+
import * as i16 from "@angular/material/sidenav";
|
28
|
+
import * as i17 from "@angular/material/toolbar";
|
29
|
+
import * as i18 from "@angular/material/button";
|
30
|
+
import * as i19 from "@angular/material/icon";
|
31
|
+
import * as i20 from "../notifications/notifications-table.component";
|
32
|
+
import * as i21 from "../core/popup/tooltip.directive";
|
33
|
+
import * as i22 from "../chat/chat.mobile.component";
|
34
|
+
import * as i23 from "../core/pipes/translate.pipe";
|
34
35
|
/** home comp */
|
35
36
|
export class HomeMobileComponent extends HomeBase {
|
36
|
-
constructor(
|
37
|
+
constructor(_router, _bs, _dir, _popup, injector, session, messaging, translate, snackBar, chat, config) {
|
37
38
|
super(session, messaging, translate, snackBar, injector, config);
|
38
39
|
this._router = _router;
|
39
40
|
this._bs = _bs;
|
40
41
|
this._dir = _dir;
|
42
|
+
this._popup = _popup;
|
41
43
|
_router.initialNavigation();
|
42
44
|
chat._open$.subscribe(e => {
|
43
45
|
this.mode = 'chat';
|
@@ -100,11 +102,8 @@ export class HomeMobileComponent extends HomeBase {
|
|
100
102
|
return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animation'];
|
101
103
|
}
|
102
104
|
/** options */
|
103
|
-
options() {
|
104
|
-
this.
|
105
|
-
this._bs.open(QuickOptionsComponent, {
|
106
|
-
direction: this._dir.value,
|
107
|
-
});
|
105
|
+
options(evt) {
|
106
|
+
this._popup.open(QuickOptionsComponent, evt.srcElement, { position: 'end' });
|
108
107
|
}
|
109
108
|
signout() {
|
110
109
|
this.menuDrawer.close();
|
@@ -118,12 +117,12 @@ export class HomeMobileComponent extends HomeBase {
|
|
118
117
|
this.secondaryDrawer.toggle().then(this.resize);
|
119
118
|
}
|
120
119
|
}
|
121
|
-
HomeMobileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: HomeMobileComponent, deps: [{ token:
|
122
|
-
HomeMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: HomeMobileComponent, selector: "bizdoc-mobile-home", viewQueries: [{ propertyName: "menuDrawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "secondaryDrawer", first: true, predicate: ["secondaryDrawer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\r\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\r\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\r\n <img id=\"logo\" src=\"logo.svg\" alt=\"\" />\r\n </div>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\">notifications</mat-icon></button>\r\n <button mat-icon-button *ngIf='chatEnabled' (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container autosize>\r\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\r\n <mat-nav-list>\r\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\r\n <mat-icon matListIcon>apps</mat-icon><span>{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>inbox</mat-icon>\r\n <span>{{'Mailbox' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let f of profile.folders\" [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon><span>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" *ngIf=\"schedulerEnabled\" [attr.aria-label]=\"'Scheduler' | translate\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span>{{ 'Schedule' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <ng-container *ngIf=\"enableAnalysis\">\r\n <ng-container *ngFor=\"let c of profile.cubes\">\r\n <mat-expansion-panel class=\"mat-elevation-z0\" *ngIf=\"c.views.length\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let v of c.views\" [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\r\n <mat-icon matListIcon>{{v.icon || 'insights'}}</mat-icon><span>{{v.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n </ng-container>\r\n </ng-container>\r\n <mat-expansion-panel *ngIf=\"profile.reports.length\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>list_alt</mat-icon>\r\n <span>{{'Reports' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let r of profile.reports\" [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\r\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\r\n <mat-icon matListIcon>{{r.icon}}</mat-icon><span>{{r.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" data-help=\"options\"\r\n (click)=\"options()\">\r\n <mat-icon matListIcon>settingson</mat-icon>\r\n <span>{{'Settings' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"signout()\">\r\n <mat-icon matListIcon>logout</mat-icon>\r\n <span>{{'Power' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-chat [(contact)]=\"contact\" *ngSwitchCase=\"'chat'\"></bizdoc-chat>\r\n <bizdoc-notifications-table *ngSwitchCase=\"'notifications'\"></bizdoc-notifications-table>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content data-help=\"main\">\r\n <router-outlet></router-outlet>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" *ngIf=\"composeEnabled\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\r\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}.mat-fab{z-index:1;position:absolute;bottom:30px;right:30px}::ng-deep [dir=rtl] .mat-fab{left:30px;right:unset}:host ::ng-deep .mat-expansion-panel-header{padding:0 18px}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-panel-header-title .mat-icon{padding:0 3px}\n"], dependencies: [{ kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i10.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i11.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i11.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i11.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i12.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i13.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i13.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i13.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i14.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i15.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i15.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i15.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i16.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i17.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i18.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i19.NotificationsTableComponent, selector: "bizdoc-notifications-table" }, { kind: "directive", type: i20.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i21.ChatComponent, selector: "bizdoc-chat", inputs: ["contact"], outputs: ["contactChange"] }, { kind: "pipe", type: i22.TranslatePipe, name: "translate" }], animations: [fabAnimation] });
|
120
|
+
HomeMobileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: HomeMobileComponent, deps: [{ token: i1.Router }, { token: i2.MatBottomSheet }, { token: i3.Directionality }, { token: i4.Popup }, { token: i0.Injector }, { token: i5.SessionService }, { token: i6.HubService }, { token: i7.TranslateService }, { token: i8.MatSnackBar }, { token: i9.ChatInfo }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
121
|
+
HomeMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: HomeMobileComponent, selector: "bizdoc-mobile-home", viewQueries: [{ propertyName: "menuDrawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "secondaryDrawer", first: true, predicate: ["secondaryDrawer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\r\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\r\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\r\n <img id=\"logo\" src=\"logo.svg\" alt=\"\" />\r\n </div>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\">notifications</mat-icon></button>\r\n <button mat-icon-button *ngIf='chatEnabled' (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container autosize>\r\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\r\n <mat-nav-list>\r\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\r\n <mat-icon matListIcon>apps</mat-icon><span>{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>inbox</mat-icon>\r\n <span>{{'Mailbox' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let f of profile.folders\" [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon><span>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" *ngIf=\"schedulerEnabled\" [attr.aria-label]=\"'Scheduler' | translate\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span>{{ 'Schedule' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <ng-container *ngIf=\"enableAnalysis\">\r\n <ng-container *ngFor=\"let c of profile.cubes\">\r\n <mat-expansion-panel class=\"mat-elevation-z0\" *ngIf=\"c.views.length\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let v of c.views\" [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\r\n <mat-icon matListIcon>{{v.icon || 'insights'}}</mat-icon><span>{{v.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n </ng-container>\r\n </ng-container>\r\n <mat-expansion-panel *ngIf=\"profile.reports.length\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>list_alt</mat-icon>\r\n <span>{{'Reports' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let r of profile.reports\" [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\r\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\r\n <mat-icon matListIcon>{{r.icon}}</mat-icon><span>{{r.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" data-help=\"options\"\r\n (click)=\"options($event)\">\r\n <mat-icon matListIcon>settingson</mat-icon>\r\n <span>{{'Settings' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"signout()\">\r\n <mat-icon matListIcon>logout</mat-icon>\r\n <span>{{'Power' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-chat [(contact)]=\"contact\" *ngSwitchCase=\"'chat'\"></bizdoc-chat>\r\n <bizdoc-notifications-table *ngSwitchCase=\"'notifications'\"></bizdoc-notifications-table>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content data-help=\"main\">\r\n <router-outlet></router-outlet>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" *ngIf=\"composeEnabled\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\r\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}.mat-fab{z-index:1;position:absolute;bottom:30px;right:30px}::ng-deep [dir=rtl] .mat-fab{left:30px;right:unset}:host ::ng-deep .mat-expansion-panel-header{padding:0 18px}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-panel-header-title .mat-icon{padding:0 3px}\n"], dependencies: [{ kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i11.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i12.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i12.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i12.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i14.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i14.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i14.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i15.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i16.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i16.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i16.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i17.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i18.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i19.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i20.NotificationsTableComponent, selector: "bizdoc-notifications-table" }, { kind: "directive", type: i21.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i22.ChatComponent, selector: "bizdoc-chat", inputs: ["contact"], outputs: ["contactChange"] }, { kind: "pipe", type: i23.TranslatePipe, name: "translate" }], animations: [fabAnimation] });
|
123
122
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: HomeMobileComponent, decorators: [{
|
124
123
|
type: Component,
|
125
|
-
args: [{ selector: 'bizdoc-mobile-home', animations: [fabAnimation], template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\r\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\r\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\r\n <img id=\"logo\" src=\"logo.svg\" alt=\"\" />\r\n </div>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\">notifications</mat-icon></button>\r\n <button mat-icon-button *ngIf='chatEnabled' (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container autosize>\r\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\r\n <mat-nav-list>\r\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\r\n <mat-icon matListIcon>apps</mat-icon><span>{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>inbox</mat-icon>\r\n <span>{{'Mailbox' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let f of profile.folders\" [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon><span>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" *ngIf=\"schedulerEnabled\" [attr.aria-label]=\"'Scheduler' | translate\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span>{{ 'Schedule' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <ng-container *ngIf=\"enableAnalysis\">\r\n <ng-container *ngFor=\"let c of profile.cubes\">\r\n <mat-expansion-panel class=\"mat-elevation-z0\" *ngIf=\"c.views.length\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let v of c.views\" [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\r\n <mat-icon matListIcon>{{v.icon || 'insights'}}</mat-icon><span>{{v.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n </ng-container>\r\n </ng-container>\r\n <mat-expansion-panel *ngIf=\"profile.reports.length\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>list_alt</mat-icon>\r\n <span>{{'Reports' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let r of profile.reports\" [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\r\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\r\n <mat-icon matListIcon>{{r.icon}}</mat-icon><span>{{r.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" data-help=\"options\"\r\n (click)=\"options()\">\r\n <mat-icon matListIcon>settingson</mat-icon>\r\n <span>{{'Settings' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"signout()\">\r\n <mat-icon matListIcon>logout</mat-icon>\r\n <span>{{'Power' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-chat [(contact)]=\"contact\" *ngSwitchCase=\"'chat'\"></bizdoc-chat>\r\n <bizdoc-notifications-table *ngSwitchCase=\"'notifications'\"></bizdoc-notifications-table>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content data-help=\"main\">\r\n <router-outlet></router-outlet>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" *ngIf=\"composeEnabled\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\r\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}.mat-fab{z-index:1;position:absolute;bottom:30px;right:30px}::ng-deep [dir=rtl] .mat-fab{left:30px;right:unset}:host ::ng-deep .mat-expansion-panel-header{padding:0 18px}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-panel-header-title .mat-icon{padding:0 3px}\n"] }]
|
126
|
-
}], ctorParameters: function () { return [{ type:
|
124
|
+
args: [{ selector: 'bizdoc-mobile-home', animations: [fabAnimation], template: "<mat-toolbar color=\"primary\" [class.loading]=\"loading\">\r\n <button mat-icon-button (click)='menuDrawer.toggle()' [bizdocTooltip]=\"'Menu' | translate\" [attr.aria-label]=\"'Menu' | translate\"><mat-icon>menu</mat-icon></button>\r\n <div [routerLink]='[\"/dashboard\"]' matRipple [matRippleUnbounded]=\"true\" [matRippleRadius]=\"100\" [matRippleCentered]=\"true\" style=\"outline: none\">\r\n <img id=\"logo\" src=\"logo.svg\" alt=\"\" />\r\n </div>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"notifs()\" data-help=\"notifications\" [attr.aria-label]=\"'Notifications' | translate\" [bizdocTooltip]=\"'Notifications' | translate\"><mat-icon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\" matBadgeColor=\"accent\">notifications</mat-icon></button>\r\n <button mat-icon-button *ngIf='chatEnabled' (click)=\"chat()\" data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\" [bizdocTooltip]=\"'Chat' | translate\"><mat-icon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container autosize>\r\n <mat-sidenav #menuDrawer data-help=\"menu\" mode=\"over\" closed class=\"mat-elevation-z5\">\r\n <mat-nav-list>\r\n <mat-list-item [routerLink]='[\"/dashboard\"]' [attr.aria-label]=\"'Dashboard' | translate\" routerLinkActive=\"active\" data-help=\"dashboard\">\r\n <mat-icon matListIcon>apps</mat-icon><span>{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-expansion-panel class=\"mat-elevation-z0\" [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>inbox</mat-icon>\r\n <span>{{'Mailbox' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let f of profile.folders\" [routerLink]='[\"/mailbox/f\", f.name]' routerLinkActive=\"active\" [attr.data-help]=\"'folder-'+f.name\" [attr.aria-label]=\"f.title\">\r\n <mat-icon matListIcon>{{f.icon}}</mat-icon><span>{{f.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-list-item [routerLink]='[\"/schedule\"]' routerLinkActive=\"active\" *ngIf=\"schedulerEnabled\" [attr.aria-label]=\"'Scheduler' | translate\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span>{{ 'Schedule' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <ng-container *ngIf=\"enableAnalysis\">\r\n <ng-container *ngFor=\"let c of profile.cubes\">\r\n <mat-expansion-panel class=\"mat-elevation-z0\" *ngIf=\"c.views.length\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>{{ c.icon || 'insert_chart_outlined'}}</mat-icon>\r\n <span>{{c.title}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let v of c.views\" [routerLink]='[\"/cube\", c.name, \"v\", v.name]' routerLinkActive=\"active\" [attr.data-help]=\"'cube-view-'+v.name\">\r\n <mat-icon matListIcon>{{v.icon || 'insights'}}</mat-icon><span>{{v.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n </ng-container>\r\n </ng-container>\r\n <mat-expansion-panel *ngIf=\"profile.reports.length\" class=\"mat-elevation-z0\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n <mat-icon>list_alt</mat-icon>\r\n <span>{{'Reports' | translate}}</span>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <mat-list-item *ngFor=\"let r of profile.reports\" [routerLink]='[\"/reports\", r.name]' routerLinkActive=\"active\"\r\n [attr.aria-label]=\"r.title\" [attr.data-help]=\"'report-'+r.name\">\r\n <mat-icon matListIcon>{{r.icon}}</mat-icon><span>{{r.title}}</span>\r\n </mat-list-item>\r\n </mat-expansion-panel>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" data-help=\"options\"\r\n (click)=\"options($event)\">\r\n <mat-icon matListIcon>settingson</mat-icon>\r\n <span>{{'Settings' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item role=\"listitem\" (click)=\"signout()\">\r\n <mat-icon matListIcon>logout</mat-icon>\r\n <span>{{'Power' | translate}}</span>\r\n </mat-list-item>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <mat-sidenav #secondaryDrawer position=\"end\" closed mode=\"over\" autoFocus=\"false\" class=\"mat-elevation-z3\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-chat [(contact)]=\"contact\" *ngSwitchCase=\"'chat'\"></bizdoc-chat>\r\n <bizdoc-notifications-table *ngSwitchCase=\"'notifications'\"></bizdoc-notifications-table>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content data-help=\"main\">\r\n <router-outlet></router-outlet>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n<button mat-fab [attr.aria-label]=\"'Compose'| translate\" [@fabFull]=\"composeState\" *ngIf=\"composeEnabled\" color=\"accent\" (click)=\"compose()\" data-help=\"compose\"><mat-icon>add</mat-icon></button>\r\n", styles: ["#logo{padding-left:12px;padding-right:12px;vertical-align:middle;width:120px;filter:invert(1)}:host ::ng-deep .mat-sidenav-container{height:calc(100% - 58px)}:host ::ng-deep .mat-sidenav-container .home-content{padding:unset}::ng-deep .mat-drawer-inner-container{height:auto}router-outlet~*{position:absolute;height:100%;width:100%}.mat-fab{z-index:1;position:absolute;bottom:30px;right:30px}::ng-deep [dir=rtl] .mat-fab{left:30px;right:unset}:host ::ng-deep .mat-expansion-panel-header{padding:0 18px}:host ::ng-deep .mat-expansion-panel-header .mat-expansion-panel-header-title .mat-icon{padding:0 3px}\n"] }]
|
125
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.MatBottomSheet }, { type: i3.Directionality }, { type: i4.Popup }, { type: i0.Injector }, { type: i5.SessionService }, { type: i6.HubService }, { type: i7.TranslateService }, { type: i8.MatSnackBar }, { type: i9.ChatInfo }, { type: undefined, decorators: [{
|
127
126
|
type: Inject,
|
128
127
|
args: [BIZDOC_CONFIG]
|
129
128
|
}] }]; }, propDecorators: { menuDrawer: [{
|
@@ -133,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImpor
|
|
133
132
|
type: ViewChild,
|
134
133
|
args: ['secondaryDrawer', { static: true }]
|
135
134
|
}] } });
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5tb2JpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUubW9iaWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLm1vYmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUl2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDcEUsZ0JBQWdCO0FBT2hCLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxRQUFRO0lBTy9DLFlBQ0UsUUFBa0IsRUFDVixPQUFlLEVBQ2YsR0FBbUIsRUFDbkIsSUFBb0IsRUFDNUIsT0FBdUIsRUFDdkIsU0FBcUIsRUFDckIsU0FBMkIsRUFDM0IsUUFBcUIsRUFDckIsSUFBYyxFQUNTLE1BQW9CO1FBQzND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WSxDQUFDOzswQkFtQnZCLE1BQU07MkJBQUMsYUFBYTs0Q0Faa0IsVUFBVTtzQkFBbEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNTLGVBQWU7c0JBQTlELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEluamVjdCwgT25Jbml0LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQsIE5hdmlnYXRpb25TdGFydCwgQWN0aXZhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBmYWJBbmltYXRpb24gfSBmcm9tICcuLi9jb3JlL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb250YWN0LCBSZWNpcGllbnRNb2RlbCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtU2VsZWN0b3JTaGVldCB9IGZyb20gJy4uL2NvbXBvc2UvZm9ybS1zZWxlY3Rvci9mb3JtLXNlbGVjdG9yLnNoZWV0JztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIb21lQmFzZSB9IGZyb20gJy4vaG9tZS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoYXRJbmZvIH0gZnJvbSAnLi4vY2hhdC9jaGF0LWluZm8nO1xyXG5pbXBvcnQgeyBRdWlja1NpZ25Db21wb25lbnQgfSBmcm9tICcuL3NpZ24vc2lnbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRdWlja09wdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL29wdGlvbnMvb3B0aW9ucy5jb21wb25lbnQnO1xyXG4vKiogaG9tZSBjb21wICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLW1vYmlsZS1ob21lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5tb2JpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hvbWUubW9iaWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW2ZhYkFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEhvbWVNb2JpbGVDb21wb25lbnQgZXh0ZW5kcyBIb21lQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbW9kZTogJ2NoYXQnIHwgJ25vdGlmaWNhdGlvbnMnO1xyXG4gIGNvbXBvc2VTdGF0ZTogJ3dvcmtpbmcnIHwgJ2RvbmUnO1xyXG4gIGNvbnRhY3Q6IENvbnRhY3Q7XHJcbiAgY29tcG9zZUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgQFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7IHN0YXRpYzogdHJ1ZSB9KSBtZW51RHJhd2VyOiBNYXRTaWRlbmF2O1xyXG4gIEBWaWV3Q2hpbGQoJ3NlY29uZGFyeURyYXdlcicsIHsgc3RhdGljOiB0cnVlIH0pIHNlY29uZGFyeURyYXdlcjogTWF0U2lkZW5hdjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfYnM6IE1hdEJvdHRvbVNoZWV0LFxyXG4gICAgcHJpdmF0ZSBfZGlyOiBEaXJlY3Rpb25hbGl0eSxcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgbWVzc2FnaW5nOiBIdWJTZXJ2aWNlLFxyXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgY2hhdDogQ2hhdEluZm8sXHJcbiAgICBASW5qZWN0KEJJWkRPQ19DT05GSUcpIGNvbmZpZzogQml6RG9jQ29uZmlnKSB7XHJcbiAgICBzdXBlcihzZXNzaW9uLCBtZXNzYWdpbmcsIHRyYW5zbGF0ZSwgc25hY2tCYXIsIGluamVjdG9yLCBjb25maWcpO1xyXG4gICAgX3JvdXRlci5pbml0aWFsTmF2aWdhdGlvbigpO1xyXG4gICAgY2hhdC5fb3BlbiQuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICB0aGlzLm1vZGUgPSAnY2hhdCc7XHJcbiAgICAgIHRoaXMuY29udGFjdCA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jb250YWN0cy5maW5kKGMgPT4gYy5pZCA9PSBlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgLy8gY2xvc2UgbWVudSB3aGVuIHhzXHJcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XHJcbiAgICAgICAgdGhpcy5tZW51RHJhd2VyLmNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gZW5hYmxlIGNvbXBvc2Ugb24gbW9iaWxlIHBlciByb3V0ZVxyXG4gICAgICBlbHNlIGlmIChlIGluc3RhbmNlb2YgQWN0aXZhdGlvbkVuZCkge1xyXG4gICAgICAgIGlmIChlLnNuYXBzaG90LmNoaWxkcmVuLmxlbmd0aCA9PT0gMClcclxuICAgICAgICAgIHRoaXMuY29tcG9zZUVuYWJsZWQgPSAoZSBhcyBBY3RpdmF0aW9uRW5kKS5zbmFwc2hvdC5kYXRhWydjb21wb3NlJ107XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdHJ5IHtcclxuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKHsgbmF2aWdhdGlvblVJOiAnaGlkZScgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb3NlKCkge1xyXG4gICAgdGhpcy5fYnMub3BlbihGb3JtU2VsZWN0b3JTaGVldCwge1xyXG4gICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlXHJcbiAgICB9KS5pbnN0YW5jZS5kb25lLlxyXG4gICAgICBwaXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb21wb3NlU3RhdGUgPSAnd29ya2luZyc7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNvbXBvc2VTdGF0ZSA9ICdkb25lJywgNTAwKVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgb25OZXdNZXNzYWdlKG1vZGVsOiBSZWNpcGllbnRNb2RlbDxhbnk+KSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCBtb2RlbC5pZC5lbmNvZGVJZCgpXSxcclxuICAgICAge1xyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW06IG1vZGVsIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGNoYXQoKSB7XHJcbiAgICB0aGlzLm1vZGUgPSAnY2hhdCc7XHJcbiAgICBpZiAodGhpcy5zZWNvbmRhcnlEcmF3ZXIub3BlbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRhY3QpIHRoaXMuY29udGFjdCA9IG51bGw7XHJcbiAgICAgIGVsc2UgdGhpcy5fY2xvc2UoKTtcclxuICAgIH1cclxuICAgIGVsc2UgdGhpcy5fb3BlbigpO1xyXG4gIH1cclxuICBwcml2YXRlIF9vcGVuKCkge1xyXG4gICAgdGhpcy5zZWNvbmRhcnlEcmF3ZXIub3BlbigpLnRoZW4odGhpcy5yZXNpemUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xvc2UoKSB7XHJcbiAgICB0aGlzLnNlY29uZGFyeURyYXdlci5jbG9zZSgpLnRoZW4odGhpcy5yZXNpemUpO1xyXG4gIH1cclxuICBnZXRBbmltYXRpb24ob3V0bGV0OiBSb3V0ZXJPdXRsZXQpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG91dGxldCAmJiBvdXRsZXQuYWN0aXZhdGVkUm91dGVEYXRhICYmIG91dGxldC5hY3RpdmF0ZWRSb3V0ZURhdGFbJ2FuaW1hdGlvbiddO1xyXG4gIH1cclxuICAvKiogb3B0aW9ucyAqL1xyXG4gIG9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLm1lbnVEcmF3ZXIuY2xvc2UoKTtcclxuICAgIHRoaXMuX2JzLm9wZW4oUXVpY2tPcHRpb25zQ29tcG9uZW50LCB7XHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNpZ25vdXQoKSB7XHJcbiAgICB0aGlzLm1lbnVEcmF3ZXIuY2xvc2UoKTtcclxuICAgIHRoaXMuX2JzLm9wZW4oUXVpY2tTaWduQ29tcG9uZW50LCB7XHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBub3RpZnMoKSB7XHJcbiAgICBzdXBlci5ub3RpZnMoKTtcclxuICAgIHRoaXMubW9kZSA9ICdub3RpZmljYXRpb25zJztcclxuICAgIHRoaXMuc2Vjb25kYXJ5RHJhd2VyLnRvZ2dsZSgpLnRoZW4odGhpcy5yZXNpemUpO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCIgW2NsYXNzLmxvYWRpbmddPVwibG9hZGluZ1wiPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9J21lbnVEcmF3ZXIudG9nZ2xlKCknIFtiaXpkb2NUb29sdGlwXT1cIidNZW51JyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01lbnUnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPm1lbnU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxkaXYgW3JvdXRlckxpbmtdPSdbXCIvZGFzaGJvYXJkXCJdJyBtYXRSaXBwbGUgW21hdFJpcHBsZVVuYm91bmRlZF09XCJ0cnVlXCIgW21hdFJpcHBsZVJhZGl1c109XCIxMDBcIiBbbWF0UmlwcGxlQ2VudGVyZWRdPVwidHJ1ZVwiIHN0eWxlPVwib3V0bGluZTogbm9uZVwiPlxyXG4gICAgPGltZyBpZD1cImxvZ29cIiBzcmM9XCJsb2dvLnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgPC9kaXY+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJub3RpZnMoKVwiIGRhdGEtaGVscD1cIm5vdGlmaWNhdGlvbnNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidOb3RpZmljYXRpb25zJyB8IHRyYW5zbGF0ZVwiIFtiaXpkb2NUb29sdGlwXT1cIidOb3RpZmljYXRpb25zJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbiBbbWF0QmFkZ2VdPVwicHJvZmlsZS5ub3RpZmljYXRpb25zQ291bnRcIiBbbWF0QmFkZ2VIaWRkZW5dPVwiIXByb2ZpbGUubm90aWZpY2F0aW9uc0NvdW50XCIgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiPm5vdGlmaWNhdGlvbnM8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPSdjaGF0RW5hYmxlZCcgKGNsaWNrKT1cImNoYXQoKVwiIGRhdGEtaGVscD1cImNoYXRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidDaGF0JyB8IHRyYW5zbGF0ZVwiIFtiaXpkb2NUb29sdGlwXT1cIidDaGF0JyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbiBbbWF0QmFkZ2VdPVwicHJvZmlsZS5jb252ZXJzYXRpb25zQ291bnRcIiBbbWF0QmFkZ2VIaWRkZW5dPVwiIXByb2ZpbGUuY29udmVyc2F0aW9uc0NvdW50XCIgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiPmNoYXQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48bWF0LXNpZGVuYXYtY29udGFpbmVyIGF1dG9zaXplPlxyXG4gIDxtYXQtc2lkZW5hdiAjbWVudURyYXdlciBkYXRhLWhlbHA9XCJtZW51XCIgbW9kZT1cIm92ZXJcIiBjbG9zZWQgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo1XCI+XHJcbiAgICA8bWF0LW5hdi1saXN0PlxyXG4gICAgICA8bWF0LWxpc3QtaXRlbSBbcm91dGVyTGlua109J1tcIi9kYXNoYm9hcmRcIl0nIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Rhc2hib2FyZCcgfCB0cmFuc2xhdGVcIiByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCIgZGF0YS1oZWxwPVwiZGFzaGJvYXJkXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmFwcHM8L21hdC1pY29uPjxzcGFuPnt7J0Rhc2hib2FyZCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidNYWlsYm94JyB8IHRyYW5zbGF0ZVwiIGRhdGEtaGVscD1cImZvbGRlcnNcIj5cclxuICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+aW5ib3g8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8c3Bhbj57eydNYWlsYm94JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgZiBvZiBwcm9maWxlLmZvbGRlcnNcIiBbcm91dGVyTGlua109J1tcIi9tYWlsYm94L2ZcIiwgZi5uYW1lXScgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiIFthdHRyLmRhdGEtaGVscF09XCInZm9sZGVyLScrZi5uYW1lXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJmLnRpdGxlXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24+e3tmLmljb259fTwvbWF0LWljb24+PHNwYW4+e3tmLnRpdGxlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiAgICAgIDxtYXQtbGlzdC1pdGVtIFtyb3V0ZXJMaW5rXT0nW1wiL3NjaGVkdWxlXCJdJyByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCIgKm5nSWY9XCJzY2hlZHVsZXJFbmFibGVkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInU2NoZWR1bGVyJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5kYXRlX3JhbmdlPC9tYXQtaWNvbj48c3Bhbj57eyAnU2NoZWR1bGUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbmFibGVBbmFseXNpc1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjIG9mIHByb2ZpbGUuY3ViZXNcIj5cclxuICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejBcIiAqbmdJZj1cImMudmlld3MubGVuZ3RoXCI+XHJcbiAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uPnt7IGMuaWNvbiB8fCAnaW5zZXJ0X2NoYXJ0X291dGxpbmVkJ319PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICA8c3Bhbj57e2MudGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IHYgb2YgYy52aWV3c1wiIFtyb3V0ZXJMaW5rXT0nW1wiL2N1YmVcIiwgYy5uYW1lLCBcInZcIiwgdi5uYW1lXScgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiIFthdHRyLmRhdGEtaGVscF09XCInY3ViZS12aWV3LScrdi5uYW1lXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj57e3YuaWNvbiB8fCAnaW5zaWdodHMnfX08L21hdC1pY29uPjxzcGFuPnt7di50aXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAqbmdJZj1cInByb2ZpbGUucmVwb3J0cy5sZW5ndGhcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejBcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXBvcnRzJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5saXN0X2FsdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7J1JlcG9ydHMnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCByIG9mIHByb2ZpbGUucmVwb3J0c1wiIFtyb3V0ZXJMaW5rXT0nW1wiL3JlcG9ydHNcIiwgci5uYW1lXScgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJyLnRpdGxlXCIgW2F0dHIuZGF0YS1oZWxwXT1cIidyZXBvcnQtJytyLm5hbWVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj57e3IuaWNvbn19PC9tYXQtaWNvbj48c3Bhbj57e3IudGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgIDxtYXQtbGlzdC1pdGVtIHJvbGU9XCJsaXN0aXRlbVwiIGRhdGEtaGVscD1cIm9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3B0aW9ucygpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPnNldHRpbmdzb248L21hdC1pY29uPlxyXG4gICAgICAgIDxzcGFuPnt7J1NldHRpbmdzJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICA8bWF0LWxpc3QtaXRlbSByb2xlPVwibGlzdGl0ZW1cIiAoY2xpY2spPVwic2lnbm91dCgpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmxvZ291dDwvbWF0LWljb24+XHJcbiAgICAgICAgPHNwYW4+e3snUG93ZXInIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgIDwvbWF0LW5hdi1saXN0PlxyXG4gIDwvbWF0LXNpZGVuYXY+XHJcbiAgPG1hdC1zaWRlbmF2ICNzZWNvbmRhcnlEcmF3ZXIgcG9zaXRpb249XCJlbmRcIiBjbG9zZWQgbW9kZT1cIm92ZXJcIiBhdXRvRm9jdXM9XCJmYWxzZVwiIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16M1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibW9kZVwiPlxyXG4gICAgPGJpemRvYy1jaGF0IFsoY29udGFjdCldPVwiY29udGFjdFwiICpuZ1N3aXRjaENhc2U9XCInY2hhdCdcIj48L2JpemRvYy1jaGF0PlxyXG4gICAgPGJpemRvYy1ub3RpZmljYXRpb25zLXRhYmxlICpuZ1N3aXRjaENhc2U9XCInbm90aWZpY2F0aW9ucydcIj48L2JpemRvYy1ub3RpZmljYXRpb25zLXRhYmxlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9tYXQtc2lkZW5hdj5cclxuICA8bWF0LXNpZGVuYXYtY29udGVudCBkYXRhLWhlbHA9XCJtYWluXCI+XHJcbiAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XHJcbiAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxyXG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cclxuPGJ1dHRvbiBtYXQtZmFiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NvbXBvc2UnfCB0cmFuc2xhdGVcIiBbQGZhYkZ1bGxdPVwiY29tcG9zZVN0YXRlXCIgKm5nSWY9XCJjb21wb3NlRW5hYmxlZFwiIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImNvbXBvc2UoKVwiIGRhdGEtaGVscD1cImNvbXBvc2VcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuIl19
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5tb2JpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUubW9iaWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLm1vYmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUl2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ3BFLGdCQUFnQjtBQU9oQixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsUUFBUTtJQU8vQyxZQUNVLE9BQWUsRUFDZixHQUFtQixFQUNuQixJQUFvQixFQUNwQixNQUFhLEVBQ3JCLFFBQWtCLEVBQ2xCLE9BQXVCLEVBQ3ZCLFNBQXFCLEVBQ3JCLFNBQTJCLEVBQzNCLFFBQXFCLEVBQ3JCLElBQWMsRUFD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LENBQUMsWUFBWSxDQUFDOzswQkFvQnZCLE1BQU07MkJBQUMsYUFBYTs0Q0Fia0IsVUFBVTtzQkFBbEQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNTLGVBQWU7c0JBQTlELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEluamVjdCwgT25Jbml0LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQsIE5hdmlnYXRpb25TdGFydCwgQWN0aXZhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldCc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBmYWJBbmltYXRpb24gfSBmcm9tICcuLi9jb3JlL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb250YWN0LCBSZWNpcGllbnRNb2RlbCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtU2VsZWN0b3JTaGVldCB9IGZyb20gJy4uL2NvbXBvc2UvZm9ybS1zZWxlY3Rvci9mb3JtLXNlbGVjdG9yLnNoZWV0JztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIb21lQmFzZSB9IGZyb20gJy4vaG9tZS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoYXRJbmZvIH0gZnJvbSAnLi4vY2hhdC9jaGF0LWluZm8nO1xyXG5pbXBvcnQgeyBRdWlja1NpZ25Db21wb25lbnQgfSBmcm9tICcuL3NpZ24vc2lnbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRdWlja09wdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL29wdGlvbnMvb3B0aW9ucy5jb21wb25lbnQnO1xyXG4vKiogaG9tZSBjb21wICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLW1vYmlsZS1ob21lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5tb2JpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hvbWUubW9iaWxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW2ZhYkFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEhvbWVNb2JpbGVDb21wb25lbnQgZXh0ZW5kcyBIb21lQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbW9kZTogJ2NoYXQnIHwgJ25vdGlmaWNhdGlvbnMnO1xyXG4gIGNvbXBvc2VTdGF0ZTogJ3dvcmtpbmcnIHwgJ2RvbmUnO1xyXG4gIGNvbnRhY3Q6IENvbnRhY3Q7XHJcbiAgY29tcG9zZUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgQFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7IHN0YXRpYzogdHJ1ZSB9KSBtZW51RHJhd2VyOiBNYXRTaWRlbmF2O1xyXG4gIEBWaWV3Q2hpbGQoJ3NlY29uZGFyeURyYXdlcicsIHsgc3RhdGljOiB0cnVlIH0pIHNlY29uZGFyeURyYXdlcjogTWF0U2lkZW5hdjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfYnM6IE1hdEJvdHRvbVNoZWV0LFxyXG4gICAgcHJpdmF0ZSBfZGlyOiBEaXJlY3Rpb25hbGl0eSxcclxuICAgIHByaXZhdGUgX3BvcHVwOiBQb3B1cCxcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgbWVzc2FnaW5nOiBIdWJTZXJ2aWNlLFxyXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgY2hhdDogQ2hhdEluZm8sXHJcbiAgICBASW5qZWN0KEJJWkRPQ19DT05GSUcpIGNvbmZpZzogQml6RG9jQ29uZmlnKSB7XHJcbiAgICBzdXBlcihzZXNzaW9uLCBtZXNzYWdpbmcsIHRyYW5zbGF0ZSwgc25hY2tCYXIsIGluamVjdG9yLCBjb25maWcpO1xyXG4gICAgX3JvdXRlci5pbml0aWFsTmF2aWdhdGlvbigpO1xyXG4gICAgY2hhdC5fb3BlbiQuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICB0aGlzLm1vZGUgPSAnY2hhdCc7XHJcbiAgICAgIHRoaXMuY29udGFjdCA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jb250YWN0cy5maW5kKGMgPT4gYy5pZCA9PSBlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgLy8gY2xvc2UgbWVudSB3aGVuIHhzXHJcbiAgICAgIGlmIChlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XHJcbiAgICAgICAgdGhpcy5tZW51RHJhd2VyLmNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gZW5hYmxlIGNvbXBvc2Ugb24gbW9iaWxlIHBlciByb3V0ZVxyXG4gICAgICBlbHNlIGlmIChlIGluc3RhbmNlb2YgQWN0aXZhdGlvbkVuZCkge1xyXG4gICAgICAgIGlmIChlLnNuYXBzaG90LmNoaWxkcmVuLmxlbmd0aCA9PT0gMClcclxuICAgICAgICAgIHRoaXMuY29tcG9zZUVuYWJsZWQgPSAoZSBhcyBBY3RpdmF0aW9uRW5kKS5zbmFwc2hvdC5kYXRhWydjb21wb3NlJ107XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdHJ5IHtcclxuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlcXVlc3RGdWxsc2NyZWVuKHsgbmF2aWdhdGlvblVJOiAnaGlkZScgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb3NlKCkge1xyXG4gICAgdGhpcy5fYnMub3BlbihGb3JtU2VsZWN0b3JTaGVldCwge1xyXG4gICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlXHJcbiAgICB9KS5pbnN0YW5jZS5kb25lLlxyXG4gICAgICBwaXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb21wb3NlU3RhdGUgPSAnd29ya2luZyc7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNvbXBvc2VTdGF0ZSA9ICdkb25lJywgNTAwKVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgb25OZXdNZXNzYWdlKG1vZGVsOiBSZWNpcGllbnRNb2RlbDxhbnk+KSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCBtb2RlbC5pZC5lbmNvZGVJZCgpXSxcclxuICAgICAge1xyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW06IG1vZGVsIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGNoYXQoKSB7XHJcbiAgICB0aGlzLm1vZGUgPSAnY2hhdCc7XHJcbiAgICBpZiAodGhpcy5zZWNvbmRhcnlEcmF3ZXIub3BlbmVkKSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRhY3QpIHRoaXMuY29udGFjdCA9IG51bGw7XHJcbiAgICAgIGVsc2UgdGhpcy5fY2xvc2UoKTtcclxuICAgIH1cclxuICAgIGVsc2UgdGhpcy5fb3BlbigpO1xyXG4gIH1cclxuICBwcml2YXRlIF9vcGVuKCkge1xyXG4gICAgdGhpcy5zZWNvbmRhcnlEcmF3ZXIub3BlbigpLnRoZW4odGhpcy5yZXNpemUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xvc2UoKSB7XHJcbiAgICB0aGlzLnNlY29uZGFyeURyYXdlci5jbG9zZSgpLnRoZW4odGhpcy5yZXNpemUpO1xyXG4gIH1cclxuICBnZXRBbmltYXRpb24ob3V0bGV0OiBSb3V0ZXJPdXRsZXQpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG91dGxldCAmJiBvdXRsZXQuYWN0aXZhdGVkUm91dGVEYXRhICYmIG91dGxldC5hY3RpdmF0ZWRSb3V0ZURhdGFbJ2FuaW1hdGlvbiddO1xyXG4gIH1cclxuICAvKiogb3B0aW9ucyAqL1xyXG4gIG9wdGlvbnMoZXZ0OiBFdmVudCkge1xyXG4gICAgdGhpcy5fcG9wdXAub3BlbihRdWlja09wdGlvbnNDb21wb25lbnQsIGV2dC5zcmNFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnZW5kJyB9KTtcclxuICB9XHJcbiAgc2lnbm91dCgpIHtcclxuICAgIHRoaXMubWVudURyYXdlci5jbG9zZSgpO1xyXG4gICAgdGhpcy5fYnMub3BlbihRdWlja1NpZ25Db21wb25lbnQsIHtcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG5vdGlmcygpIHtcclxuICAgIHN1cGVyLm5vdGlmcygpO1xyXG4gICAgdGhpcy5tb2RlID0gJ25vdGlmaWNhdGlvbnMnO1xyXG4gICAgdGhpcy5zZWNvbmRhcnlEcmF3ZXIudG9nZ2xlKCkudGhlbih0aGlzLnJlc2l6ZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIiBbY2xhc3MubG9hZGluZ109XCJsb2FkaW5nXCI+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT0nbWVudURyYXdlci50b2dnbGUoKScgW2JpemRvY1Rvb2x0aXBdPVwiJ01lbnUnIHwgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInTWVudScgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+bWVudTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGRpdiBbcm91dGVyTGlua109J1tcIi9kYXNoYm9hcmRcIl0nIG1hdFJpcHBsZSBbbWF0UmlwcGxlVW5ib3VuZGVkXT1cInRydWVcIiBbbWF0UmlwcGxlUmFkaXVzXT1cIjEwMFwiIFttYXRSaXBwbGVDZW50ZXJlZF09XCJ0cnVlXCIgc3R5bGU9XCJvdXRsaW5lOiBub25lXCI+XHJcbiAgICA8aW1nIGlkPVwibG9nb1wiIHNyYz1cImxvZ28uc3ZnXCIgYWx0PVwiXCIgLz5cclxuICA8L2Rpdj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm5vdGlmcygpXCIgZGF0YS1oZWxwPVwibm90aWZpY2F0aW9uc1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ05vdGlmaWNhdGlvbnMnIHwgdHJhbnNsYXRlXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ05vdGlmaWNhdGlvbnMnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uIFttYXRCYWRnZV09XCJwcm9maWxlLm5vdGlmaWNhdGlvbnNDb3VudFwiIFttYXRCYWRnZUhpZGRlbl09XCIhcHJvZmlsZS5ub3RpZmljYXRpb25zQ291bnRcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCI+bm90aWZpY2F0aW9uczwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9J2NoYXRFbmFibGVkJyAoY2xpY2spPVwiY2hhdCgpXCIgZGF0YS1oZWxwPVwiY2hhdFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NoYXQnIHwgdHJhbnNsYXRlXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NoYXQnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uIFttYXRCYWRnZV09XCJwcm9maWxlLmNvbnZlcnNhdGlvbnNDb3VudFwiIFttYXRCYWRnZUhpZGRlbl09XCIhcHJvZmlsZS5jb252ZXJzYXRpb25zQ291bnRcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCI+Y2hhdDwvbWF0LWljb24+PC9idXR0b24+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxtYXQtc2lkZW5hdi1jb250YWluZXIgYXV0b3NpemU+XHJcbiAgPG1hdC1zaWRlbmF2ICNtZW51RHJhd2VyIGRhdGEtaGVscD1cIm1lbnVcIiBtb2RlPVwib3ZlclwiIGNsb3NlZCBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejVcIj5cclxuICAgIDxtYXQtbmF2LWxpc3Q+XHJcbiAgICAgIDxtYXQtbGlzdC1pdGVtIFtyb3V0ZXJMaW5rXT0nW1wiL2Rhc2hib2FyZFwiXScgW2F0dHIuYXJpYS1sYWJlbF09XCInRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZVwiIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIiBkYXRhLWhlbHA9XCJkYXNoYm9hcmRcIj5cclxuICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24+YXBwczwvbWF0LWljb24+PHNwYW4+e3snRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16MFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01haWxib3gnIHwgdHJhbnNsYXRlXCIgZGF0YS1oZWxwPVwiZm9sZGVyc1wiPlxyXG4gICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5pbmJveDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7J01haWxib3gnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBmIG9mIHByb2ZpbGUuZm9sZGVyc1wiIFtyb3V0ZXJMaW5rXT0nW1wiL21haWxib3gvZlwiLCBmLm5hbWVdJyByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCIgW2F0dHIuZGF0YS1oZWxwXT1cIidmb2xkZXItJytmLm5hbWVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImYudGl0bGVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj57e2YuaWNvbn19PC9tYXQtaWNvbj48c3Bhbj57e2YudGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICAgICAgPG1hdC1saXN0LWl0ZW0gW3JvdXRlckxpbmtdPSdbXCIvc2NoZWR1bGVcIl0nIHJvdXRlckxpbmtBY3RpdmU9XCJhY3RpdmVcIiAqbmdJZj1cInNjaGVkdWxlckVuYWJsZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidTY2hlZHVsZXInIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmRhdGVfcmFuZ2U8L21hdC1pY29uPjxzcGFuPnt7ICdTY2hlZHVsZScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVuYWJsZUFuYWx5c2lzXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGMgb2YgcHJvZmlsZS5jdWJlc1wiPlxyXG4gICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16MFwiICpuZ0lmPVwiYy52aWV3cy5sZW5ndGhcIj5cclxuICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICAgICAgICA8bWF0LWljb24+e3sgYy5pY29uIHx8ICdpbnNlcnRfY2hhcnRfb3V0bGluZWQnfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7Yy50aXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgdiBvZiBjLnZpZXdzXCIgW3JvdXRlckxpbmtdPSdbXCIvY3ViZVwiLCBjLm5hbWUsIFwidlwiLCB2Lm5hbWVdJyByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCIgW2F0dHIuZGF0YS1oZWxwXT1cIidjdWJlLXZpZXctJyt2Lm5hbWVcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPnt7di5pY29uIHx8ICdpbnNpZ2h0cyd9fTwvbWF0LWljb24+PHNwYW4+e3t2LnRpdGxlfX08L3NwYW4+XHJcbiAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsICpuZ0lmPVwicHJvZmlsZS5yZXBvcnRzLmxlbmd0aFwiIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16MFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1JlcG9ydHMnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmxpc3RfYWx0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3snUmVwb3J0cycgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IHIgb2YgcHJvZmlsZS5yZXBvcnRzXCIgW3JvdXRlckxpbmtdPSdbXCIvcmVwb3J0c1wiLCByLm5hbWVdJyByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInIudGl0bGVcIiBbYXR0ci5kYXRhLWhlbHBdPVwiJ3JlcG9ydC0nK3IubmFtZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPnt7ci5pY29ufX08L21hdC1pY29uPjxzcGFuPnt7ci50aXRsZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG4gICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgPG1hdC1saXN0LWl0ZW0gcm9sZT1cImxpc3RpdGVtXCIgZGF0YS1oZWxwPVwib3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcHRpb25zKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24+c2V0dGluZ3NvbjwvbWF0LWljb24+XHJcbiAgICAgICAgPHNwYW4+e3snU2V0dGluZ3MnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgIDxtYXQtbGlzdC1pdGVtIHJvbGU9XCJsaXN0aXRlbVwiIChjbGljayk9XCJzaWdub3V0KClcIj5cclxuICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24+bG9nb3V0PC9tYXQtaWNvbj5cclxuICAgICAgICA8c3Bhbj57eydQb3dlcicgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgPC9tYXQtbmF2LWxpc3Q+XHJcbiAgPC9tYXQtc2lkZW5hdj5cclxuICA8bWF0LXNpZGVuYXYgI3NlY29uZGFyeURyYXdlciBwb3NpdGlvbj1cImVuZFwiIGNsb3NlZCBtb2RlPVwib3ZlclwiIGF1dG9Gb2N1cz1cImZhbHNlXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXozXCI+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJtb2RlXCI+XHJcbiAgICA8Yml6ZG9jLWNoYXQgWyhjb250YWN0KV09XCJjb250YWN0XCIgKm5nU3dpdGNoQ2FzZT1cIidjaGF0J1wiPjwvYml6ZG9jLWNoYXQ+XHJcbiAgICA8Yml6ZG9jLW5vdGlmaWNhdGlvbnMtdGFibGUgKm5nU3dpdGNoQ2FzZT1cIidub3RpZmljYXRpb25zJ1wiPjwvYml6ZG9jLW5vdGlmaWNhdGlvbnMtdGFibGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L21hdC1zaWRlbmF2PlxyXG4gIDxtYXQtc2lkZW5hdi1jb250ZW50IGRhdGEtaGVscD1cIm1haW5cIj5cclxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XHJcbjwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxyXG48YnV0dG9uIG1hdC1mYWIgW2F0dHIuYXJpYS1sYWJlbF09XCInQ29tcG9zZSd8IHRyYW5zbGF0ZVwiIFtAZmFiRnVsbF09XCJjb21wb3NlU3RhdGVcIiAqbmdJZj1cImNvbXBvc2VFbmFibGVkXCIgY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwiY29tcG9zZSgpXCIgZGF0YS1oZWxwPVwiY29tcG9zZVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4iXX0=
|