@sarasanalytics-com/design-system 0.0.116 → 0.0.118
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/esm2022/lib/left-nav/left-nav.component.mjs +56 -21
- package/esm2022/lib/menu/menu-list/menu-item.component.mjs +6 -3
- package/esm2022/lib/menu/menu.component.mjs +3 -28
- package/esm2022/lib/menu/menu.directive.mjs +25 -2
- package/esm2022/lib/message-banner-v2/message-banner-v2.component.mjs +20 -4
- package/fesm2022/sarasanalytics-com-design-system.mjs +105 -52
- package/fesm2022/sarasanalytics-com-design-system.mjs.map +1 -1
- package/lib/left-nav/left-nav.component.d.ts +29 -4
- package/lib/menu/menu-list/menu-item.component.d.ts +2 -1
- package/lib/menu/menu.directive.d.ts +12 -3
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output,
|
|
2
|
+
import { Component, EventEmitter, Input, Output, signal } from '@angular/core';
|
|
3
3
|
import { AvatarComponent } from '../avatar/avatar.component';
|
|
4
4
|
import { IconComponent } from '../icon/icon.component';
|
|
5
5
|
// import { AvatarComponent } from '../avatar/avatar.component';
|
|
@@ -14,6 +14,7 @@ export class LeftNavComponent {
|
|
|
14
14
|
constructor(route, router) {
|
|
15
15
|
this.route = route;
|
|
16
16
|
this.router = router;
|
|
17
|
+
this.isMenuAttached = signal(false);
|
|
17
18
|
this.onEvent = new EventEmitter();
|
|
18
19
|
this.clickEvent = new EventEmitter();
|
|
19
20
|
this.hoverEvent = new EventEmitter();
|
|
@@ -28,18 +29,6 @@ export class LeftNavComponent {
|
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
ngAfterViewInit() {
|
|
31
|
-
if (this?.data?.templateItems?.length) {
|
|
32
|
-
console.warn('templateItems', this.data.templateItems);
|
|
33
|
-
this.data.templateItems.forEach((item) => {
|
|
34
|
-
if (typeof item == 'string') {
|
|
35
|
-
console.warn(item);
|
|
36
|
-
const template = item;
|
|
37
|
-
const element = document.createElement('div');
|
|
38
|
-
element.innerHTML = template;
|
|
39
|
-
this.templateItemContainer?.nativeElement.appendChild(element);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
32
|
}
|
|
44
33
|
setItemActive(index) {
|
|
45
34
|
try {
|
|
@@ -99,11 +88,59 @@ export class LeftNavComponent {
|
|
|
99
88
|
tooltip.show();
|
|
100
89
|
}
|
|
101
90
|
}
|
|
91
|
+
onTemplateItemClick(event, index, item) {
|
|
92
|
+
this.clickEvent.emit({
|
|
93
|
+
event,
|
|
94
|
+
item,
|
|
95
|
+
type: 'TEMPLATE_ITEM_CLICK'
|
|
96
|
+
});
|
|
97
|
+
}
|
|
102
98
|
onMenuEvent(event) {
|
|
103
99
|
console.log('onMenuEvent', event);
|
|
104
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Handler for the onAttached event from the MenuDirective
|
|
103
|
+
* This is triggered when the saMenu directive is attached to an element
|
|
104
|
+
* @param event The event data containing the element and menu configuration
|
|
105
|
+
* @param itemType The type of item ('nav' or 'footer')
|
|
106
|
+
* @param item The nav/footer item that the menu is attached to
|
|
107
|
+
* @param index The index of the item in the items array
|
|
108
|
+
*/
|
|
109
|
+
onMenuAttached(event, itemType, item, index) {
|
|
110
|
+
// Emit an event that can be captured by parent applications
|
|
111
|
+
console.log('Menu attached:', event);
|
|
112
|
+
this.isMenuAttached.set(true);
|
|
113
|
+
this.onEvent.emit({
|
|
114
|
+
type: 'MENU_ATTACHED',
|
|
115
|
+
itemType,
|
|
116
|
+
item,
|
|
117
|
+
index,
|
|
118
|
+
element: event.element,
|
|
119
|
+
menu: event.menu
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Handler for the onDetached event from the MenuDirective
|
|
124
|
+
* This is triggered when the menu is closed/detached
|
|
125
|
+
* @param event The event data containing the element and menu configuration
|
|
126
|
+
* @param itemType The type of item ('nav' or 'footer')
|
|
127
|
+
* @param item The nav/footer item that the menu was attached to
|
|
128
|
+
* @param index The index of the item in the items array
|
|
129
|
+
*/
|
|
130
|
+
onMenuDetached(event, itemType, item, index) {
|
|
131
|
+
console.log('Menu detached:', event);
|
|
132
|
+
this.isMenuAttached.set(false);
|
|
133
|
+
this.onEvent.emit({
|
|
134
|
+
type: 'MENU_DETACHED',
|
|
135
|
+
itemType,
|
|
136
|
+
item,
|
|
137
|
+
index,
|
|
138
|
+
element: event.element,
|
|
139
|
+
menu: event.menu
|
|
140
|
+
});
|
|
141
|
+
}
|
|
105
142
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: LeftNavComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: LeftNavComponent, isStandalone: true, selector: "sa-left-nav", inputs: { data: "data" }, outputs: { clickEvent: "clickEvent", hoverEvent: "hoverEvent", onEvent: "onEvent" }, viewQueries: [{ propertyName: "templateItemContainer", first: true, predicate: ["templateItemContainer"], descendants: true }], ngImport: i0, template: "<div class=\"sa-left-nav\" >\n\n <div class=\"sa-left-nav-container\">\n <div class=\"sa-left-nav-logo\">\n <!-- <span class=\"sa-logo\"></span> -->\n <sa-icon icon=\"sarasWhite\" size=\"40\"></sa-icon>\n </div>\n <div class=\"sa-left-nav-items\">\n @if(data && data.items && !!data.items.length){\n <div class=\"sa-left-nav-items-container\">\n <ng-container *ngFor=\"let item of data.items; let i = index\">\n <div class=\"sa-left-nav-item\" [ngClass]=\"item.active ? 'active' : '' \"\n [saMenu]=\"item.menu\" (onEvent)=\"onEvent.emit($event)\" (onMenuEvent)=\"onMenuEvent($event)\"\n (click)=\"onNavItemClick(item, i, $event)\" (mouseenter)=\"onNavItemBlur(item,i,$event,tooltip)\"\n #tooltip=\"matTooltip\" [matTooltip]=\"item.tooltip\" matTooltipPosition=\"right\">\n\n <sa-icon class=\"sa-left-nav-item-icon\" [icon]=\"item.icon\" size=\"24\" color=\"white\"></sa-icon>\n <!-- <span>{{item.tooltip}}</span> -->\n <!-- <span class=\"sa-left-nav-item-icon\"\n [ngStyle]=\"{ 'background-image': 'url(' + item.icon_url + ')' }\"></span> -->\n </div>\n <p class=\"sa-icon-label\">{{item.iconLabel}}</p>\n </ng-container>\n </div>\n }\n </div>\n <div #templateItemContainer class=\"sa-template-item-container\">\n\n </div>\n <div class=\"sa-left-nav-footer\">\n @if(data && data.footerItems && !!data.footerItems.length){\n <div class=\"sa-left-nav-footer-container\">\n <ng-container *ngFor=\"let item of data.footerItems; let i = index\">\n <div class=\"sa-left-nav-footer-item\" [ngClass]=\"item.active ? 'active' : '' \"\n (click)=\"onFooterItemClick(item, i, $event)\"\n [saMenu]=\"item.menu\"\n (mouseenter)=\"onFooterItemBlur(item,i,$event,tooltip)\" #tooltip=\"matTooltip\"\n [matTooltip]=\"item.tooltip\" matTooltipPosition=\"right\">\n @if(item.type === 'AVATAR'){\n <!-- <span class=\"sa-left-nav-footer-name\">ET</span> -->\n <sa-avatar [altText]=\"item.altText\" [imagePath]=\"''\" size=\"extra-small\"></sa-avatar>\n }@else{\n <sa-icon class=\"sa-left-nav-footer-icon\" [icon]=\"item.icon\" size=\"24\" color=\"white\"></sa-icon>\n <!-- <span class=\"sa-left-nav-footer-icon\"\n [ngStyle]=\"{ 'background-image': 'url(' + item.icon_url || '' + ')' }\"></span> -->\n }\n </div>\n <p class=\"sa-icon-label\">{{item.iconLabel}}</p>\n </ng-container>\n </div>\n }\n </div>\n </div>\n\n <div class=\"sa-left-nav-content\">\n <ng-content></ng-content>\n </div>\n\n</div>", styles: [".sa-left-nav{height:calc(100vh - 16px);width:calc(100vw - 16px);padding:8px;display:flex}.sa-left-nav-logo{display:block;width:40px;margin:auto;padding:20px 0;border-bottom:1px #fff solid;min-height:40px}.sa-logo{height:40px;width:20px;display:block;margin:auto;background-position:center;background:url('data:image/svg+xml,<svg viewBox=\"0 0 20 38\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.554 13.549c-.05 0-.101 0-.152-.003v.003s-.541-.013-2.395-.024c-3.047-.026-4.175 1.237-4.532 1.816H8.47c-.26.49-.332 1.061-.202 1.603l-.004.01c.02.13.303 1.624 2.762 1.573 1.971-.042 3.15-.165 3.626-.225a3.881 3.881 0 0 1 1.815.004c.596.145 1.152.43 1.623.831.472.402.846.91 1.093 1.484a4.156 4.156 0 0 1-.158 3.617 4.037 4.037 0 0 1-1.22 1.377 3.883 3.883 0 0 1-3.498.516c-.29-.068-.68-.169-1.207-.315-3.167-.789-4.906 4.081-4.906 4.081l-.006.005a4.069 4.069 0 0 1-1.244 1.785 3.926 3.926 0 0 1-1.968.866 3.888 3.888 0 0 1-2.12-.307c-.667-.3-1.24-.78-1.658-1.39a4.153 4.153 0 0 1-.273-4.216 4.033 4.033 0 0 1 1.463-1.6 3.904 3.904 0 0 1 2.408-.576c.44-.004 1.353 0 3.19.032 3.136.057 3.556-1.442 3.596-2.056 0-.058-.003-.116-.003-.173v-.083a2.288 2.288 0 0 0-.448-1.238 2.204 2.204 0 0 0-1.048-.768c-1.543-.684-5.413-.377-5.413-.377v-.005a3.893 3.893 0 0 1-1.805-.345 3.978 3.978 0 0 1-1.33-.985 4.093 4.093 0 0 1-.829-1.453 4.162 4.162 0 0 1 .308-3.277 4.04 4.04 0 0 1 1.084-1.264c.443-.34.95-.58 1.49-.707a3.882 3.882 0 0 1 1.643-.03c1.257.082 2.52.034 3.768-.144 2.02-.254 2.48-1.434 2.58-2.079V9.48c0-.805.233-1.592.67-2.261a3.996 3.996 0 0 1 1.782-1.5 3.886 3.886 0 0 1 2.296-.23c.77.156 1.478.544 2.034 1.113.556.57.934 1.294 1.087 2.084.154.789.075 1.607-.226 2.35a4.05 4.05 0 0 1-1.463 1.827 3.906 3.906 0 0 1-2.207.686h.003ZM4.476 9.043a3.906 3.906 0 0 1-2.207-.686A4.05 4.05 0 0 1 .806 6.531 4.161 4.161 0 0 1 .58 4.18a4.1 4.1 0 0 1 1.087-2.084A3.945 3.945 0 0 1 3.7.982a3.885 3.885 0 0 1 2.295.232c.726.308 1.347.83 1.783 1.499.437.67.67 1.456.67 2.26a4.12 4.12 0 0 1-1.164 2.878 3.926 3.926 0 0 1-2.809 1.192Z\" fill=\"%23fff\"/><path d=\"M15.531 37.095c2.194 0 3.973-1.822 3.973-4.07 0-2.246-1.779-4.068-3.973-4.068s-3.972 1.822-3.972 4.069 1.779 4.069 3.972 4.069Z\" fill=\"%23fff\"/></svg>') no-repeat}.sa-left-nav-container{height:inherit;width:64px;background-color:var(--primary-900);border-radius:8px;padding:8px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-evenly}.sa-left-nav-items{flex:1;overflow-y:auto}.sa-left-nav-items-container{padding:30px 0;height:100%;overflow:auto;box-sizing:border-box}.sa-left-nav-item,.sa-left-nav-footer-item{height:40px;width:40px;margin:4px auto;cursor:pointer;border-radius:4px;display:flex;justify-content:center;align-items:center}.sa-icon-label{color:var(--icon-white,#fff);font-size:var(--small-10px,10px);text-align:center;margin:0}::-webkit-scrollbar{display:none}.sa-left-nav-footer-item{margin:4px auto}.sa-left-nav-item:hover,.sa-left-nav-item.active,.sa-left-nav-footer-item.active,.sa-left-nav-footer-item:hover{background-color:var(--primary-500)}.sa-left-nav-item-name,.sa-left-nav-item-icon,.sa-left-nav-footer-icon,.sa-left-nav-footer-name{height:24px;width:24px;display:block}.sa-left-nav-item-name,mn.sa-left-nav-footer-name{display:flex;justify-content:center;align-items:center}.sa-left-nav-footer{min-height:fit-content;border-top:1px solid #fff}.sa-left-nav-content{width:calc(100% - 64px)}.sa-template-item-container{margin-bottom:.8rem;display:flex;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AvatarComponent, selector: "sa-avatar", inputs: ["id", "imagePath", "altText", "size"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: MenuDirective, selector: "[saMenu]", inputs: ["saMenuRef", "saMenu", "saManuPosition"], outputs: ["onMenuEvent", "onEvent"] }] }); }
|
|
143
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: LeftNavComponent, isStandalone: true, selector: "sa-left-nav", inputs: { data: "data" }, outputs: { clickEvent: "clickEvent", hoverEvent: "hoverEvent", onEvent: "onEvent" }, ngImport: i0, template: "<div class=\"sa-left-nav\" >\n\n <div class=\"sa-left-nav-container {{isMenuAttached() ? 'menu-attached' : ''}}\">\n <div class=\"sa-left-nav-logo\">\n <!-- <span class=\"sa-logo\"></span> -->\n <sa-icon icon=\"sarasWhite\" size=\"36\"></sa-icon>\n </div>\n <div class=\"sa-left-nav-items-container\">\n @if(data && data.items && !!data.items.length){\n <div class=\"sa-left-nav-items-group\">\n <ng-container *ngFor=\"let item of data.items; let i = index\">\n <div class=\"sa-left-nav-items\">\n <div class=\"sa-left-nav-item\" [ngClass]=\"item.active ? 'active' : '' \"\n [saMenu]=\"item.menu\" (onEvent)=\"onEvent.emit($event)\" (onMenuEvent)=\"onMenuEvent($event)\"\n (onAttached)=\"onMenuAttached($event, 'nav', item, i)\" (onDetached)=\"onMenuDetached($event, 'nav', item, i)\"\n (click)=\"onNavItemClick(item, i, $event)\" (mouseenter)=\"onNavItemBlur(item,i,$event,tooltip)\"\n #tooltip=\"matTooltip\" [matTooltip]=\"item.tooltip\" matTooltipPosition=\"right\">\n\n <sa-icon class=\"sa-left-nav-item-icon\" [icon]=\"item.icon\" size=\"24\" color=\"white\"></sa-icon>\n <!-- <span>{{item.tooltip}}</span> -->\n <!-- <span class=\"sa-left-nav-item-icon\"\n [ngStyle]=\"{ 'background-image': 'url(' + item.icon_url + ')' }\"></span> -->\n </div>\n <p class=\"sa-icon-label\">{{item.iconLabel}}</p>\n </div>\n </ng-container>\n </div>\n }\n </div>\n <div class=\"sa-template-item-container\">\n @if(data && data.templateItems && !!data.templateItems.length){\n <div (click)=\"onTemplateItemClick($event, i, item)\" class=\"sa-template-item\" *ngFor=\"let item of data.templateItems; let i = index\">\n <sa-icon [matTooltip]=\"item.tooltip\" matTooltipPosition=\"right\" [ngClass]=\"item.className\" [icon]=\"item.icon\" [size]=\"item.size\" [color]=\"item.color\"></sa-icon>\n </div>\n }\n </div>\n <div class=\"sa-left-nav-footer\">\n @if(data && data.footerItems && !!data.footerItems.length){\n <div class=\"sa-left-nav-footer-container\">\n <div class=\"sa-left-nav-footer-item\" *ngFor=\"let item of data.footerItems; let i = index\">\n <div class=\"footer-item-icon\" [ngClass]=\"item.active ? 'active' : '' \"\n (click)=\"onFooterItemClick(item, i, $event)\"\n [saMenu]=\"item.menu\" (onAttached)=\"onMenuAttached($event, 'footer', item, i)\" (onDetached)=\"onMenuDetached($event, 'footer', item, i)\"\n (mouseenter)=\"onFooterItemBlur(item,i,$event,tooltip)\" #tooltip=\"matTooltip\"\n [matTooltip]=\"item.tooltip\" matTooltipPosition=\"right\">\n @if(item.type === 'AVATAR'){\n <!-- <span class=\"sa-left-nav-footer-name\">ET</span> -->\n <sa-avatar [altText]=\"item.altText\" [imagePath]=\"''\" size=\"extra-small\"></sa-avatar>\n }@else{\n <sa-icon class=\"sa-left-nav-footer-icon\" [icon]=\"item.icon\" size=\"24\" color=\"white\"></sa-icon>\n <!-- <span class=\"sa-left-nav-footer-icon\"\n [ngStyle]=\"{ 'background-image': 'url(' + item.icon_url || '' + ')' }\"></span> -->\n }\n </div>\n <p class=\"sa-icon-label\">{{item.iconLabel}}</p>\n </div>\n </div>\n }\n </div>\n </div>\n\n <div class=\"sa-left-nav-content\">\n <ng-content></ng-content>\n </div>\n\n</div>", styles: [".sa-left-nav{height:calc(100vh - 16px);width:calc(100vw - 16px);padding:8px;display:flex}.sa-left-nav-logo{display:flex;align-items:center;justify-content:center;width:40px;margin:auto;padding:5px 0;border-bottom:1px #fff solid;min-height:48px}.sa-logo{height:40px;width:20px;display:block;margin:auto;background-position:center;background:url('data:image/svg+xml,<svg viewBox=\"0 0 20 38\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.554 13.549c-.05 0-.101 0-.152-.003v.003s-.541-.013-2.395-.024c-3.047-.026-4.175 1.237-4.532 1.816H8.47c-.26.49-.332 1.061-.202 1.603l-.004.01c.02.13.303 1.624 2.762 1.573 1.971-.042 3.15-.165 3.626-.225a3.881 3.881 0 0 1 1.815.004c.596.145 1.152.43 1.623.831.472.402.846.91 1.093 1.484a4.156 4.156 0 0 1-.158 3.617 4.037 4.037 0 0 1-1.22 1.377 3.883 3.883 0 0 1-3.498.516c-.29-.068-.68-.169-1.207-.315-3.167-.789-4.906 4.081-4.906 4.081l-.006.005a4.069 4.069 0 0 1-1.244 1.785 3.926 3.926 0 0 1-1.968.866 3.888 3.888 0 0 1-2.12-.307c-.667-.3-1.24-.78-1.658-1.39a4.153 4.153 0 0 1-.273-4.216 4.033 4.033 0 0 1 1.463-1.6 3.904 3.904 0 0 1 2.408-.576c.44-.004 1.353 0 3.19.032 3.136.057 3.556-1.442 3.596-2.056 0-.058-.003-.116-.003-.173v-.083a2.288 2.288 0 0 0-.448-1.238 2.204 2.204 0 0 0-1.048-.768c-1.543-.684-5.413-.377-5.413-.377v-.005a3.893 3.893 0 0 1-1.805-.345 3.978 3.978 0 0 1-1.33-.985 4.093 4.093 0 0 1-.829-1.453 4.162 4.162 0 0 1 .308-3.277 4.04 4.04 0 0 1 1.084-1.264c.443-.34.95-.58 1.49-.707a3.882 3.882 0 0 1 1.643-.03c1.257.082 2.52.034 3.768-.144 2.02-.254 2.48-1.434 2.58-2.079V9.48c0-.805.233-1.592.67-2.261a3.996 3.996 0 0 1 1.782-1.5 3.886 3.886 0 0 1 2.296-.23c.77.156 1.478.544 2.034 1.113.556.57.934 1.294 1.087 2.084.154.789.075 1.607-.226 2.35a4.05 4.05 0 0 1-1.463 1.827 3.906 3.906 0 0 1-2.207.686h.003ZM4.476 9.043a3.906 3.906 0 0 1-2.207-.686A4.05 4.05 0 0 1 .806 6.531 4.161 4.161 0 0 1 .58 4.18a4.1 4.1 0 0 1 1.087-2.084A3.945 3.945 0 0 1 3.7.982a3.885 3.885 0 0 1 2.295.232c.726.308 1.347.83 1.783 1.499.437.67.67 1.456.67 2.26a4.12 4.12 0 0 1-1.164 2.878 3.926 3.926 0 0 1-2.809 1.192Z\" fill=\"%23fff\"/><path d=\"M15.531 37.095c2.194 0 3.973-1.822 3.973-4.07 0-2.246-1.779-4.068-3.973-4.068s-3.972 1.822-3.972 4.069 1.779 4.069 3.972 4.069Z\" fill=\"%23fff\"/></svg>') no-repeat}.sa-left-nav-container{height:inherit;width:64px;background-color:var(--primary-800, #42307D);border-radius:var(--small-8px, 8px) var(--small-8px, 8px);padding:16px 6px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-evenly}.sa-left-nav-container.menu-attached{border-radius:var(--small-8px, 8px) 0 0 var(--small-8px, 8px)}.sa-left-nav-items{flex:1;overflow-y:auto}.sa-left-nav-items-container{padding:var(--medium-28px) 0;height:100%;overflow:auto;box-sizing:border-box}.sa-left-nav-items-group{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--small-8px, 8px);align-self:stretch}.sa-left-nav-items{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--small-2px, 2px);align-self:stretch}.sa-left-nav-item,.sa-left-nav-footer-item .footer-item-icon{height:40px;width:40px;margin:4px auto;cursor:pointer;border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center}.sa-left-nav-footer-item .footer-item-icon{margin:0 auto}.sa-icon-label{color:var(--icon-white,#fff);font-size:var(--small-10px,10px);text-align:center;margin:0}::-webkit-scrollbar{display:none}.sa-left-nav-footer-item{margin:0 auto;gap:var(--small-2px, 2px);display:flex;flex-direction:column;align-items:center}.sa-left-nav-item:hover,.sa-left-nav-item.active,.sa-left-nav-footer-item .footer-item-icon.active,.sa-left-nav-footer-item .footer-item-icon:hover{background-color:var(--primary-500)}.sa-left-nav-item-name,.sa-left-nav-item-icon,.sa-left-nav-footer-icon,.sa-left-nav-footer-name{height:24px;width:24px;display:block}.sa-left-nav-item-name,mn.sa-left-nav-footer-name{display:flex;justify-content:center;align-items:center}.sa-left-nav-footer{min-height:fit-content;border-top:1px solid #fff}.sa-left-nav-content{width:calc(100% - 64px)}.sa-template-item-container{margin-bottom:.8rem;display:flex;justify-content:center}.sa-left-nav-footer-container{display:flex;flex-direction:column;align-items:center;gap:var(--small-16px, 16px);align-self:stretch;margin-top:var(--small-16px, 16px)}.sa-template-item-container{display:flex;flex-direction:column;align-items:center;gap:var(--small-8px, 8px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AvatarComponent, selector: "sa-avatar", inputs: ["id", "imagePath", "altText", "size"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: MenuDirective, selector: "[saMenu]", inputs: ["saMenuRef", "saMenu", "saManuPosition"], outputs: ["onMenuEvent", "onEvent", "onAttached", "onDetached"] }] }); }
|
|
107
144
|
}
|
|
108
145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: LeftNavComponent, decorators: [{
|
|
109
146
|
type: Component,
|
|
@@ -113,12 +150,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
113
150
|
IconComponent,
|
|
114
151
|
MatTooltipModule,
|
|
115
152
|
MenuDirective,
|
|
116
|
-
SAMenuComponent
|
|
117
|
-
|
|
118
|
-
}],
|
|
119
|
-
|
|
120
|
-
args: ['templateItemContainer', { static: false }]
|
|
121
|
-
}], data: [{
|
|
153
|
+
SAMenuComponent,
|
|
154
|
+
IconComponent
|
|
155
|
+
], template: "<div class=\"sa-left-nav\" >\n\n <div class=\"sa-left-nav-container {{isMenuAttached() ? 'menu-attached' : ''}}\">\n <div class=\"sa-left-nav-logo\">\n <!-- <span class=\"sa-logo\"></span> -->\n <sa-icon icon=\"sarasWhite\" size=\"36\"></sa-icon>\n </div>\n <div class=\"sa-left-nav-items-container\">\n @if(data && data.items && !!data.items.length){\n <div class=\"sa-left-nav-items-group\">\n <ng-container *ngFor=\"let item of data.items; let i = index\">\n <div class=\"sa-left-nav-items\">\n <div class=\"sa-left-nav-item\" [ngClass]=\"item.active ? 'active' : '' \"\n [saMenu]=\"item.menu\" (onEvent)=\"onEvent.emit($event)\" (onMenuEvent)=\"onMenuEvent($event)\"\n (onAttached)=\"onMenuAttached($event, 'nav', item, i)\" (onDetached)=\"onMenuDetached($event, 'nav', item, i)\"\n (click)=\"onNavItemClick(item, i, $event)\" (mouseenter)=\"onNavItemBlur(item,i,$event,tooltip)\"\n #tooltip=\"matTooltip\" [matTooltip]=\"item.tooltip\" matTooltipPosition=\"right\">\n\n <sa-icon class=\"sa-left-nav-item-icon\" [icon]=\"item.icon\" size=\"24\" color=\"white\"></sa-icon>\n <!-- <span>{{item.tooltip}}</span> -->\n <!-- <span class=\"sa-left-nav-item-icon\"\n [ngStyle]=\"{ 'background-image': 'url(' + item.icon_url + ')' }\"></span> -->\n </div>\n <p class=\"sa-icon-label\">{{item.iconLabel}}</p>\n </div>\n </ng-container>\n </div>\n }\n </div>\n <div class=\"sa-template-item-container\">\n @if(data && data.templateItems && !!data.templateItems.length){\n <div (click)=\"onTemplateItemClick($event, i, item)\" class=\"sa-template-item\" *ngFor=\"let item of data.templateItems; let i = index\">\n <sa-icon [matTooltip]=\"item.tooltip\" matTooltipPosition=\"right\" [ngClass]=\"item.className\" [icon]=\"item.icon\" [size]=\"item.size\" [color]=\"item.color\"></sa-icon>\n </div>\n }\n </div>\n <div class=\"sa-left-nav-footer\">\n @if(data && data.footerItems && !!data.footerItems.length){\n <div class=\"sa-left-nav-footer-container\">\n <div class=\"sa-left-nav-footer-item\" *ngFor=\"let item of data.footerItems; let i = index\">\n <div class=\"footer-item-icon\" [ngClass]=\"item.active ? 'active' : '' \"\n (click)=\"onFooterItemClick(item, i, $event)\"\n [saMenu]=\"item.menu\" (onAttached)=\"onMenuAttached($event, 'footer', item, i)\" (onDetached)=\"onMenuDetached($event, 'footer', item, i)\"\n (mouseenter)=\"onFooterItemBlur(item,i,$event,tooltip)\" #tooltip=\"matTooltip\"\n [matTooltip]=\"item.tooltip\" matTooltipPosition=\"right\">\n @if(item.type === 'AVATAR'){\n <!-- <span class=\"sa-left-nav-footer-name\">ET</span> -->\n <sa-avatar [altText]=\"item.altText\" [imagePath]=\"''\" size=\"extra-small\"></sa-avatar>\n }@else{\n <sa-icon class=\"sa-left-nav-footer-icon\" [icon]=\"item.icon\" size=\"24\" color=\"white\"></sa-icon>\n <!-- <span class=\"sa-left-nav-footer-icon\"\n [ngStyle]=\"{ 'background-image': 'url(' + item.icon_url || '' + ')' }\"></span> -->\n }\n </div>\n <p class=\"sa-icon-label\">{{item.iconLabel}}</p>\n </div>\n </div>\n }\n </div>\n </div>\n\n <div class=\"sa-left-nav-content\">\n <ng-content></ng-content>\n </div>\n\n</div>", styles: [".sa-left-nav{height:calc(100vh - 16px);width:calc(100vw - 16px);padding:8px;display:flex}.sa-left-nav-logo{display:flex;align-items:center;justify-content:center;width:40px;margin:auto;padding:5px 0;border-bottom:1px #fff solid;min-height:48px}.sa-logo{height:40px;width:20px;display:block;margin:auto;background-position:center;background:url('data:image/svg+xml,<svg viewBox=\"0 0 20 38\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.554 13.549c-.05 0-.101 0-.152-.003v.003s-.541-.013-2.395-.024c-3.047-.026-4.175 1.237-4.532 1.816H8.47c-.26.49-.332 1.061-.202 1.603l-.004.01c.02.13.303 1.624 2.762 1.573 1.971-.042 3.15-.165 3.626-.225a3.881 3.881 0 0 1 1.815.004c.596.145 1.152.43 1.623.831.472.402.846.91 1.093 1.484a4.156 4.156 0 0 1-.158 3.617 4.037 4.037 0 0 1-1.22 1.377 3.883 3.883 0 0 1-3.498.516c-.29-.068-.68-.169-1.207-.315-3.167-.789-4.906 4.081-4.906 4.081l-.006.005a4.069 4.069 0 0 1-1.244 1.785 3.926 3.926 0 0 1-1.968.866 3.888 3.888 0 0 1-2.12-.307c-.667-.3-1.24-.78-1.658-1.39a4.153 4.153 0 0 1-.273-4.216 4.033 4.033 0 0 1 1.463-1.6 3.904 3.904 0 0 1 2.408-.576c.44-.004 1.353 0 3.19.032 3.136.057 3.556-1.442 3.596-2.056 0-.058-.003-.116-.003-.173v-.083a2.288 2.288 0 0 0-.448-1.238 2.204 2.204 0 0 0-1.048-.768c-1.543-.684-5.413-.377-5.413-.377v-.005a3.893 3.893 0 0 1-1.805-.345 3.978 3.978 0 0 1-1.33-.985 4.093 4.093 0 0 1-.829-1.453 4.162 4.162 0 0 1 .308-3.277 4.04 4.04 0 0 1 1.084-1.264c.443-.34.95-.58 1.49-.707a3.882 3.882 0 0 1 1.643-.03c1.257.082 2.52.034 3.768-.144 2.02-.254 2.48-1.434 2.58-2.079V9.48c0-.805.233-1.592.67-2.261a3.996 3.996 0 0 1 1.782-1.5 3.886 3.886 0 0 1 2.296-.23c.77.156 1.478.544 2.034 1.113.556.57.934 1.294 1.087 2.084.154.789.075 1.607-.226 2.35a4.05 4.05 0 0 1-1.463 1.827 3.906 3.906 0 0 1-2.207.686h.003ZM4.476 9.043a3.906 3.906 0 0 1-2.207-.686A4.05 4.05 0 0 1 .806 6.531 4.161 4.161 0 0 1 .58 4.18a4.1 4.1 0 0 1 1.087-2.084A3.945 3.945 0 0 1 3.7.982a3.885 3.885 0 0 1 2.295.232c.726.308 1.347.83 1.783 1.499.437.67.67 1.456.67 2.26a4.12 4.12 0 0 1-1.164 2.878 3.926 3.926 0 0 1-2.809 1.192Z\" fill=\"%23fff\"/><path d=\"M15.531 37.095c2.194 0 3.973-1.822 3.973-4.07 0-2.246-1.779-4.068-3.973-4.068s-3.972 1.822-3.972 4.069 1.779 4.069 3.972 4.069Z\" fill=\"%23fff\"/></svg>') no-repeat}.sa-left-nav-container{height:inherit;width:64px;background-color:var(--primary-800, #42307D);border-radius:var(--small-8px, 8px) var(--small-8px, 8px);padding:16px 6px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-evenly}.sa-left-nav-container.menu-attached{border-radius:var(--small-8px, 8px) 0 0 var(--small-8px, 8px)}.sa-left-nav-items{flex:1;overflow-y:auto}.sa-left-nav-items-container{padding:var(--medium-28px) 0;height:100%;overflow:auto;box-sizing:border-box}.sa-left-nav-items-group{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--small-8px, 8px);align-self:stretch}.sa-left-nav-items{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--small-2px, 2px);align-self:stretch}.sa-left-nav-item,.sa-left-nav-footer-item .footer-item-icon{height:40px;width:40px;margin:4px auto;cursor:pointer;border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:center}.sa-left-nav-footer-item .footer-item-icon{margin:0 auto}.sa-icon-label{color:var(--icon-white,#fff);font-size:var(--small-10px,10px);text-align:center;margin:0}::-webkit-scrollbar{display:none}.sa-left-nav-footer-item{margin:0 auto;gap:var(--small-2px, 2px);display:flex;flex-direction:column;align-items:center}.sa-left-nav-item:hover,.sa-left-nav-item.active,.sa-left-nav-footer-item .footer-item-icon.active,.sa-left-nav-footer-item .footer-item-icon:hover{background-color:var(--primary-500)}.sa-left-nav-item-name,.sa-left-nav-item-icon,.sa-left-nav-footer-icon,.sa-left-nav-footer-name{height:24px;width:24px;display:block}.sa-left-nav-item-name,mn.sa-left-nav-footer-name{display:flex;justify-content:center;align-items:center}.sa-left-nav-footer{min-height:fit-content;border-top:1px solid #fff}.sa-left-nav-content{width:calc(100% - 64px)}.sa-template-item-container{margin-bottom:.8rem;display:flex;justify-content:center}.sa-left-nav-footer-container{display:flex;flex-direction:column;align-items:center;gap:var(--small-16px, 16px);align-self:stretch;margin-top:var(--small-16px, 16px)}.sa-template-item-container{display:flex;flex-direction:column;align-items:center;gap:var(--small-8px, 8px)}\n"] }]
|
|
156
|
+
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { data: [{
|
|
122
157
|
type: Input,
|
|
123
158
|
args: ['data']
|
|
124
159
|
}], clickEvent: [{
|
|
@@ -174,4 +209,4 @@ const data = {
|
|
|
174
209
|
tooltip: ''
|
|
175
210
|
}]
|
|
176
211
|
};
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9sZWZ0LW5hdi9sZWZ0LW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2xlZnQtbmF2L2xlZnQtbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBa0IsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFekgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxnRUFBZ0U7QUFFaEUsT0FBTyxFQUVMLGdCQUFnQixFQUNqQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBUyxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBZXpELE1BQU0sT0FBTyxnQkFBZ0I7SUFhM0IsWUFBb0IsS0FBcUIsRUFBVSxNQUFjO1FBQTdDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVA5QyxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFRakUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMs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QixPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxhQUFhO1NBQ3ZCLEVBQUU7WUFDRCxLQUFLLEVBQUUsTUFBTTtZQUNiLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLEVBQUU7WUFDWCxJQUFJLEVBQUUsUUFBUTtTQUNmLEVBQUU7WUFDRCxLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO0NBQ0gsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3QsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50Jztcbi8vIGltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgTWF0VG9vbHRpcCxcbiAgTWF0VG9vbHRpcE1vZHVsZVxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IElNZW51LCBNZW51RGlyZWN0aXZlIH0gZnJvbSAnLi4vbWVudS9tZW51LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTQU1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tZW51L21lbnUuY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhLWxlZnQtbmF2JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1lbnVEaXJlY3RpdmUsXG4gICAgU0FNZW51Q29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9sZWZ0LW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9sZWZ0LW5hdi5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBMZWZ0TmF2Q29tcG9uZW50IHtcblxuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZUl0ZW1Db250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgdGVtcGxhdGVJdGVtQ29udGFpbmVyITogYW55O1xuICBASW5wdXQoJ2RhdGEnKSBkYXRhOiBJTGVmdE5hdjtcbiAgQE91dHB1dCgnY2xpY2tFdmVudCcpIGNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxJTGVmdE5hdkNsaWNrRXZlbnQ+O1xuICBAT3V0cHV0KCdob3ZlckV2ZW50JykgaG92ZXJFdmVudDogRXZlbnRFbWl0dGVyPElMZWZ0TmF2Qmx1ckV2ZW50PjtcbiAgQE91dHB1dCgnb25FdmVudCcpIG9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8vIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIGFjdGl2ZVJvdXRlU2VydmljZTogQWN0aXZhdGVkUm91dGU7XG4gIC8vIEBJbmplY3QoUm91dGVyKSByb3V0ZXJTZXJ2aWNlOiBSb3V0ZXI7XG5cbiAgcHJpdmF0ZSBhY3RpdmVJdGVtOiBJTGVmdE5hdkl0ZW0gfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgdGhpcy5jbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMuaG92ZXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5pdGVtcyk7XG4gICAgaWYgKCF0aGlzLmRhdGEuZm9vdGVySXRlbXMpIHtcbiAgICAgIHRoaXMuZGF0YS5mb290ZXJJdGVtcyA9IGRhdGEuZm9vdGVySXRlbXM7XG4gICAgfVxuICAgIGlmICh0aGlzLmRhdGE/Lml0ZW1zPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMub25OYXZJdGVtQ2xpY2sodGhpcy5kYXRhLml0ZW1zWzBdLCAwKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgIGlmICh0aGlzPy5kYXRhPy50ZW1wbGF0ZUl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgIGNvbnNvbGUud2FybigndGVtcGxhdGVJdGVtcycsIHRoaXMuZGF0YS50ZW1wbGF0ZUl0ZW1zKTtcbiAgICAgIHRoaXMuZGF0YS50ZW1wbGF0ZUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKGl0ZW0pO1xuICAgICAgICAgIGNvbnN0IHRlbXBsYXRlID0gaXRlbTtcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSB0ZW1wbGF0ZTsgICBcbiAgICAgICAgICB0aGlzLnRlbXBsYXRlSXRlbUNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH0pO1xuICAgICAgXG4gICAgfVxuICB9XG5cbiAgc2V0SXRlbUFjdGl2ZShpbmRleDogbnVtYmVyKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZGF0YT8uaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW0gPSB0aGlzLmRhdGEuaXRlbXNbaW5kZXhdO1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW0uYWN0aXZlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICB9XG4gIH1cblxuICBvbk5hdkl0ZW1DbGljayhpdGVtOiBJTGVmdE5hdkl0ZW0sIGluZGV4OiBudW1iZXIsIGV2ZW50OiBhbnkgPSBudWxsKSB7XG4gICAgLy8gY29uc29sZS5sb2coaXRlbSwgaW5kZXgpO1xuXG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQoe1xuICAgICAgZXZlbnQsXG4gICAgICB0eXBlOiAnTkFWX0lURU1fQ0xJQ0snLFxuICAgICAgaXRlbVxuICAgIH0pO1xuICAgIHRoaXMuZGF0YS5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLmFjdGl2ZSA9IGZhbHNlKTtcbiAgICB0aGlzLmRhdGEuaXRlbXNbaW5kZXhdLmFjdGl2ZSA9IHRydWU7XG4gICAgXG4gICAgaWYgKCFpdGVtLmRpc2FibGUgJiYgaXRlbS5wYXRoKSB7XG4gICAgICB0aGlzLnNldEl0ZW1BY3RpdmUoaW5kZXgpO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0ucGF0aF0pXG4gICAgfVxuICAgIHRoaXMub25FdmVudC5lbWl0KHsgaXRlbSwgaW5kZXgsIGV2ZW50IH0pO1xuICB9XG5cbiAgb25Gb290ZXJJdGVtQ2xpY2soaXRlbTogSUxlZnROYXZJdGVtLCBpbmRleDogbnVtYmVyLCBldmVudDogYW55ID0gbnVsbCkge1xuICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KHtcbiAgICAgIGV2ZW50LFxuICAgICAgdHlwZTogJ0ZPT1RFUl9JVEVNX0NMSUNLJyxcbiAgICAgIGl0ZW1cbiAgICB9KTtcbiAgfVxuICBvbkZvb3Rlckl0ZW1CbHVyKGl0ZW06IElMZWZ0TmF2SXRlbSwgaW5kZXg6IG51bWJlciwgZXZlbnQ6IGFueSA9IG51bGwsIHRvb2x0aXA6IE1hdFRvb2x0aXApIHtcbiAgICAvLyBjb25zb2xlLmxvZyhcImJsdXJcIiwgaXRlbSwgaW5kZXgpO1xuICAgIHRoaXMuaG92ZXJFdmVudC5lbWl0KHtcbiAgICAgIGV2ZW50LFxuICAgICAgdHlwZTogJ0ZPT1RFUl9JVEVNX0hPVkVSJyxcbiAgICAgIGl0ZW1cbiAgICB9KTtcbiAgICBpZiAodG9vbHRpcCkge1xuICAgICAgdG9vbHRpcC5zaG93KCk7XG4gICAgfVxuICB9XG4gIG9uTmF2SXRlbUJsdXIoaXRlbTogSUxlZnROYXZJdGVtLCBpbmRleDogbnVtYmVyLCBldmVudDogYW55ID0gbnVsbCwgdG9vbHRpcDogTWF0VG9vbHRpcCkge1xuICAgIC8vIGNvbnNvbGUubG9nKGl0ZW0sIGluZGV4KTtcbiAgICB0aGlzLmhvdmVyRXZlbnQuZW1pdCh7XG4gICAgICBldmVudCxcbiAgICAgIHR5cGU6ICdOQVZfSVRFTV9IT1ZFUicsXG4gICAgICBpdGVtXG4gICAgfSk7XG4gICAgaWYgKHRvb2x0aXApIHtcbiAgICAgIHRvb2x0aXAuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIG9uTWVudUV2ZW50KGV2ZW50KXtcbiAgICBjb25zb2xlLmxvZygnb25NZW51RXZlbnQnLCBldmVudClcbiAgfVxuXG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTGVmdE5hdiB7XG4gIGl0ZW1zPzogSUxlZnROYXZJdGVtW107XG4gIHRlbXBsYXRlSXRlbXM/OkFycmF5PGFueT47XG4gIGZvb3Rlckl0ZW1zPzogSUxlZnROYXZJdGVtW107XG59XG5leHBvcnQgaW50ZXJmYWNlIElMZWZ0TmF2SXRlbSB7XG4gIHRpdGxlOiBzdHJpbmcsXG4gIC8vIGljb25fdXJsPzogc3RyaW5nLFxuICBpY29uPzogc3RyaW5nLFxuICBkaXNhYmxlPzogYm9vbGVhbixcbiAgdG9vbHRpcD86IHN0cmluZyxcbiAgcmVsYXRpdmVQYXRoPzogYm9vbGVhbixcbiAgcGF0aD86IHN0cmluZyxcbiAgYWN0aXZlPzogYm9vbGVhbixcbiAgdHlwZT86ICdJQ09OJyB8ICdBVkFUQVInO1xuICBtZW51PzogSU1lbnU7XG4gIGFsdFRleHQ/OiBzdHJpbmcsXG4gIFNob3dTZWFyY2g/OiBib29sZWFuLFxuICBpY29uTGFiZWw/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUxlZnROYXZDbGlja0V2ZW50IHtcbiAgdHlwZTogJ05BVl9JVEVNX0NMSUNLJyB8ICdGT09URVJfSVRFTV9DTElDSycgfCAnTE9HT19DTElDSyc7XG4gIGV2ZW50OiBhbnksXG4gIGl0ZW06IElMZWZ0TmF2SXRlbVxufVxuZXhwb3J0IGludGVyZmFjZSBJTGVmdE5hdkJsdXJFdmVudCB7XG4gIHR5cGU6ICdOQVZfSVRFTV9IT1ZFUicgfCAnRk9PVEVSX0lURU1fSE9WRVInIHwgJ0xPR09fSE9WRVInO1xuICBldmVudDogYW55LFxuICBpdGVtOiBJTGVmdE5hdkl0ZW1cbn1cblxuZXhwb3J0IGVudW0gSUxlZnROYXZUeXBlcyB7XG5cbn1cblxuY29uc3QgZGF0YTogSUxlZnROYXYgPSB7XG4gIGl0ZW1zOiBbe1xuICAgIHRpdGxlOiAnSG9tZScsXG4gICAgaWNvbjogJycsXG4gICAgZGlzYWJsZTogZmFsc2UsXG4gICAgdG9vbHRpcDogJycsXG4gICAgcmVsYXRpdmVQYXRoOiB0cnVlLFxuICAgIHBhdGg6ICdob21lJ1xuICB9LCB7XG4gICAgdGl0bGU6ICdQcmljaW5nJyxcbiAgICBpY29uOiAnJyxcbiAgICBkaXNhYmxlOiB0cnVlLFxuICAgIHRvb2x0aXA6ICcnLFxuICAgIHJlbGF0aXZlUGF0aDogdHJ1ZSxcbiAgICBwYXRoOiAnJ1xuICB9LCB7XG4gICAgdGl0bGU6ICdTZXR0aW5nJyxcbiAgICBpY29uOiAnc2V0dGluZ3NPdXRsaW5lZCcsXG4gICAgZGlzYWJsZTogdHJ1ZSxcbiAgICB0b29sdGlwOiAnY29taW5nIHNvb24nLFxuICAgIHJlbGF0aXZlUGF0aDogdHJ1ZSxcbiAgICBwYXRoOiAnJ1xuICB9XSxcbiAgZm9vdGVySXRlbXM6IFt7XG4gICAgdGl0bGU6ICdIZWxwJyxcbiAgICBpY29uOiAnY2hhdEhlbHBPdXRsaW5lZCcsXG4gICAgZGlzYWJsZTogdHJ1ZSxcbiAgICB0b29sdGlwOiAnY29taW5nIHNvb24nXG4gIH0sIHtcbiAgICB0aXRsZTogJ05hbWUnLFxuICAgIGRpc2FibGU6IGZhbHNlLFxuICAgIHRvb2x0aXA6ICcnLFxuICAgIHR5cGU6ICdBVkFUQVInXG4gIH0sIHtcbiAgICB0aXRsZTogJ0NoZXZyb24nLFxuICAgIGljb246ICdkb3VibGVEb3duT3V0bGluZWQnLFxuICAgIGRpc2FibGU6IHRydWUsXG4gICAgdG9vbHRpcDogJydcbiAgfV1cbn0iLCI8ZGl2IGNsYXNzPVwic2EtbGVmdC1uYXZcIiA+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2EtbGVmdC1uYXYtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYS1sZWZ0LW5hdi1sb2dvXCI+XG4gICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwic2EtbG9nb1wiPjwvc3Bhbj4gLS0+XG4gICAgICAgICAgICA8c2EtaWNvbiBpY29uPVwic2FyYXNXaGl0ZVwiIHNpemU9XCI0MFwiPjwvc2EtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYS1sZWZ0LW5hdi1pdGVtc1wiPlxuICAgICAgICAgICAgQGlmKGRhdGEgJiYgZGF0YS5pdGVtcyAmJiAhIWRhdGEuaXRlbXMubGVuZ3RoKXtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1sZWZ0LW5hdi1pdGVtcy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGEuaXRlbXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLWxlZnQtbmF2LWl0ZW1cIiBbbmdDbGFzc109XCJpdGVtLmFjdGl2ZSA/ICdhY3RpdmUnIDogJycgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzYU1lbnVdPVwiaXRlbS5tZW51XCIgKG9uRXZlbnQpPVwib25FdmVudC5lbWl0KCRldmVudClcIiAgKG9uTWVudUV2ZW50KT1cIm9uTWVudUV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmF2SXRlbUNsaWNrKGl0ZW0sIGksICRldmVudClcIiAobW91c2VlbnRlcik9XCJvbk5hdkl0ZW1CbHVyKGl0ZW0saSwkZXZlbnQsdG9vbHRpcClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI3Rvb2x0aXA9XCJtYXRUb29sdGlwXCIgW21hdFRvb2x0aXBdPVwiaXRlbS50b29sdGlwXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwicmlnaHRcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWljb24gY2xhc3M9XCJzYS1sZWZ0LW5hdi1pdGVtLWljb25cIiBbaWNvbl09XCJpdGVtLmljb25cIiBzaXplPVwiMjRcIiBjb2xvcj1cIndoaXRlXCI+PC9zYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3Bhbj57e2l0ZW0udG9vbHRpcH19PC9zcGFuPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJzYS1sZWZ0LW5hdi1pdGVtLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIGl0ZW0uaWNvbl91cmwgKyAnKScgfVwiPjwvc3Bhbj4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInNhLWljb24tbGFiZWxcIj57e2l0ZW0uaWNvbkxhYmVsfX08L3A+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgI3RlbXBsYXRlSXRlbUNvbnRhaW5lciBjbGFzcz1cInNhLXRlbXBsYXRlLWl0ZW0tY29udGFpbmVyXCI+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYS1sZWZ0LW5hdi1mb290ZXJcIj5cbiAgICAgICAgICAgIEBpZihkYXRhICYmIGRhdGEuZm9vdGVySXRlbXMgJiYgISFkYXRhLmZvb3Rlckl0ZW1zLmxlbmd0aCl7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbGVmdC1uYXYtZm9vdGVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YS5mb290ZXJJdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbGVmdC1uYXYtZm9vdGVyLWl0ZW1cIiBbbmdDbGFzc109XCJpdGVtLmFjdGl2ZSA/ICdhY3RpdmUnIDogJycgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkZvb3Rlckl0ZW1DbGljayhpdGVtLCBpLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzYU1lbnVdPVwiaXRlbS5tZW51XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uRm9vdGVySXRlbUJsdXIoaXRlbSxpLCRldmVudCx0b29sdGlwKVwiICN0b29sdGlwPVwibWF0VG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpdGVtLnRvb2x0aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmKGl0ZW0udHlwZSA9PT0gJ0FWQVRBUicpe1xuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cInNhLWxlZnQtbmF2LWZvb3Rlci1uYW1lXCI+RVQ8L3NwYW4+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWF2YXRhciBbYWx0VGV4dF09XCJpdGVtLmFsdFRleHRcIiBbaW1hZ2VQYXRoXT1cIicnXCIgc2l6ZT1cImV4dHJhLXNtYWxsXCI+PC9zYS1hdmF0YXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9QGVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBjbGFzcz1cInNhLWxlZnQtbmF2LWZvb3Rlci1pY29uXCIgW2ljb25dPVwiaXRlbS5pY29uXCIgc2l6ZT1cIjI0XCIgY29sb3I9XCJ3aGl0ZVwiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJzYS1sZWZ0LW5hdi1mb290ZXItaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIGl0ZW0uaWNvbl91cmwgfHwgJycgKyAnKScgfVwiPjwvc3Bhbj4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInNhLWljb24tbGFiZWxcIj57e2l0ZW0uaWNvbkxhYmVsfX08L3A+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2EtbGVmdC1uYXYtY29udGVudFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbjwvZGl2PiJdfQ==
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9sZWZ0LW5hdi9sZWZ0LW5hdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2xlZnQtbmF2L2xlZnQtbmF2LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBa0IsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBRWpJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsZ0VBQWdFO0FBRWhFLE9BQU8sRUFFTCxnQkFBZ0IsRUFDakIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQVMsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQWdCekQsTUFBTSxPQUFPLGdCQUFnQjtJQWEzQixZQUFvQixLQUFxQixFQUFVLE1BQWM7UUFBN0MsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWGpFLG1CQUFjLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSVosWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBUWpFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFD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RCxLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLEVBQUU7WUFDWCxZQUFZLEVBQUUsSUFBSTtZQUNsQixJQUFJLEVBQUUsRUFBRTtTQUNULEVBQUU7WUFDRCxLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLGFBQWE7WUFDdEIsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDO0lBQ0YsV0FBVyxFQUFFLENBQUM7WUFDWixLQUFLLEVBQUUsTUFBTTtZQUNiLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsYUFBYTtTQUN2QixFQUFFO1lBQ0QsS0FBSyxFQUFFLE1BQU07WUFDYixPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxFQUFFO1lBQ1gsSUFBSSxFQUFFLFFBQVE7U0FDZixFQUFFO1lBQ0QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztDQUNILENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0LCBJbnB1dCwgT3V0cHV0LCBzaWduYWwsIFZpZXdDaGlsZCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50Jztcbi8vIGltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgTWF0VG9vbHRpcCxcbiAgTWF0VG9vbHRpcE1vZHVsZVxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IElNZW51LCBNZW51RGlyZWN0aXZlIH0gZnJvbSAnLi4vbWVudS9tZW51LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTQU1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9tZW51L21lbnUuY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhLWxlZnQtbmF2JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1lbnVEaXJlY3RpdmUsXG4gICAgU0FNZW51Q29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2xlZnQtbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2xlZnQtbmF2LmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIExlZnROYXZDb21wb25lbnQge1xuXG4gIGlzTWVudUF0dGFjaGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgQElucHV0KCdkYXRhJykgZGF0YTogSUxlZnROYXY7XG4gIEBPdXRwdXQoJ2NsaWNrRXZlbnQnKSBjbGlja0V2ZW50OiBFdmVudEVtaXR0ZXI8SUxlZnROYXZDbGlja0V2ZW50PjtcbiAgQE91dHB1dCgnaG92ZXJFdmVudCcpIGhvdmVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxJTGVmdE5hdkJsdXJFdmVudD47XG4gIEBPdXRwdXQoJ29uRXZlbnQnKSBvbkV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvLyBASW5qZWN0KEFjdGl2YXRlZFJvdXRlKSBhY3RpdmVSb3V0ZVNlcnZpY2U6IEFjdGl2YXRlZFJvdXRlO1xuICAvLyBASW5qZWN0KFJvdXRlcikgcm91dGVyU2VydmljZTogUm91dGVyO1xuXG4gIHByaXZhdGUgYWN0aXZlSXRlbTogSUxlZnROYXZJdGVtIHwgbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xuICAgIHRoaXMuY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLmhvdmVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGEuaXRlbXMpO1xuICAgIGlmICghdGhpcy5kYXRhLmZvb3Rlckl0ZW1zKSB7XG4gICAgICB0aGlzLmRhdGEuZm9vdGVySXRlbXMgPSBkYXRhLmZvb3Rlckl0ZW1zO1xuICAgIH1cbiAgICBpZiAodGhpcy5kYXRhPy5pdGVtcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLm9uTmF2SXRlbUNsaWNrKHRoaXMuZGF0YS5pdGVtc1swXSwgMCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIFxuICB9XG5cbiAgc2V0SXRlbUFjdGl2ZShpbmRleDogbnVtYmVyKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZGF0YT8uaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW0gPSB0aGlzLmRhdGEuaXRlbXNbaW5kZXhdO1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW0uYWN0aXZlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICB9XG4gIH1cblxuICBvbk5hdkl0ZW1DbGljayhpdGVtOiBJTGVmdE5hdkl0ZW0sIGluZGV4OiBudW1iZXIsIGV2ZW50OiBhbnkgPSBudWxsKSB7XG4gICAgLy8gY29uc29sZS5sb2coaXRlbSwgaW5kZXgpO1xuXG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQoe1xuICAgICAgZXZlbnQsXG4gICAgICB0eXBlOiAnTkFWX0lURU1fQ0xJQ0snLFxuICAgICAgaXRlbVxuICAgIH0pO1xuICAgIHRoaXMuZGF0YS5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLmFjdGl2ZSA9IGZhbHNlKTtcbiAgICB0aGlzLmRhdGEuaXRlbXNbaW5kZXhdLmFjdGl2ZSA9IHRydWU7XG4gICAgXG4gICAgaWYgKCFpdGVtLmRpc2FibGUgJiYgaXRlbS5wYXRoKSB7XG4gICAgICB0aGlzLnNldEl0ZW1BY3RpdmUoaW5kZXgpO1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0ucGF0aF0pXG4gICAgfVxuICAgIHRoaXMub25FdmVudC5lbWl0KHsgaXRlbSwgaW5kZXgsIGV2ZW50IH0pO1xuICB9XG5cbiAgb25Gb290ZXJJdGVtQ2xpY2soaXRlbTogSUxlZnROYXZJdGVtLCBpbmRleDogbnVtYmVyLCBldmVudDogYW55ID0gbnVsbCkge1xuICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KHtcbiAgICAgIGV2ZW50LFxuICAgICAgdHlwZTogJ0ZPT1RFUl9JVEVNX0NMSUNLJyxcbiAgICAgIGl0ZW1cbiAgICB9KTtcbiAgfVxuICBvbkZvb3Rlckl0ZW1CbHVyKGl0ZW06IElMZWZ0TmF2SXRlbSwgaW5kZXg6IG51bWJlciwgZXZlbnQ6IGFueSA9IG51bGwsIHRvb2x0aXA6IE1hdFRvb2x0aXApIHtcbiAgICAvLyBjb25zb2xlLmxvZyhcImJsdXJcIiwgaXRlbSwgaW5kZXgpO1xuICAgIHRoaXMuaG92ZXJFdmVudC5lbWl0KHtcbiAgICAgIGV2ZW50LFxuICAgICAgdHlwZTogJ0ZPT1RFUl9JVEVNX0hPVkVSJyxcbiAgICAgIGl0ZW1cbiAgICB9KTtcbiAgICBpZiAodG9vbHRpcCkge1xuICAgICAgdG9vbHRpcC5zaG93KCk7XG4gICAgfVxuICB9XG4gIG9uTmF2SXRlbUJsdXIoaXRlbTogSUxlZnROYXZJdGVtLCBpbmRleDogbnVtYmVyLCBldmVudDogYW55ID0gbnVsbCwgdG9vbHRpcDogTWF0VG9vbHRpcCkge1xuICAgIC8vIGNvbnNvbGUubG9nKGl0ZW0sIGluZGV4KTtcbiAgICB0aGlzLmhvdmVyRXZlbnQuZW1pdCh7XG4gICAgICBldmVudCxcbiAgICAgIHR5cGU6ICdOQVZfSVRFTV9IT1ZFUicsXG4gICAgICBpdGVtXG4gICAgfSk7XG4gICAgaWYgKHRvb2x0aXApIHtcbiAgICAgIHRvb2x0aXAuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIG9uVGVtcGxhdGVJdGVtQ2xpY2soZXZlbnQ6IGFueSwgaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSB7XG4gICAgdGhpcy5jbGlja0V2ZW50LmVtaXQoe1xuICAgICAgZXZlbnQsXG4gICAgICBpdGVtLFxuICAgICAgdHlwZTogJ1RFTVBMQVRFX0lURU1fQ0xJQ0snXG4gICAgfSk7XG4gIH1cblxuICBvbk1lbnVFdmVudChldmVudCl7XG4gICAgY29uc29sZS5sb2coJ29uTWVudUV2ZW50JywgZXZlbnQpXG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlciBmb3IgdGhlIG9uQXR0YWNoZWQgZXZlbnQgZnJvbSB0aGUgTWVudURpcmVjdGl2ZVxuICAgKiBUaGlzIGlzIHRyaWdnZXJlZCB3aGVuIHRoZSBzYU1lbnUgZGlyZWN0aXZlIGlzIGF0dGFjaGVkIHRvIGFuIGVsZW1lbnRcbiAgICogQHBhcmFtIGV2ZW50IFRoZSBldmVudCBkYXRhIGNvbnRhaW5pbmcgdGhlIGVsZW1lbnQgYW5kIG1lbnUgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gaXRlbVR5cGUgVGhlIHR5cGUgb2YgaXRlbSAoJ25hdicgb3IgJ2Zvb3RlcicpXG4gICAqIEBwYXJhbSBpdGVtIFRoZSBuYXYvZm9vdGVyIGl0ZW0gdGhhdCB0aGUgbWVudSBpcyBhdHRhY2hlZCB0b1xuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBpdGVtIGluIHRoZSBpdGVtcyBhcnJheVxuICAgKi9cbiAgb25NZW51QXR0YWNoZWQoZXZlbnQ6IHsgZWxlbWVudDogRWxlbWVudFJlZiwgbWVudTogSU1lbnUgfSwgaXRlbVR5cGU6ICduYXYnIHwgJ2Zvb3RlcicsIGl0ZW06IElMZWZ0TmF2SXRlbSwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIC8vIEVtaXQgYW4gZXZlbnQgdGhhdCBjYW4gYmUgY2FwdHVyZWQgYnkgcGFyZW50IGFwcGxpY2F0aW9uc1xuICAgIGNvbnNvbGUubG9nKCdNZW51IGF0dGFjaGVkOicsIGV2ZW50KTtcbiAgICB0aGlzLmlzTWVudUF0dGFjaGVkLnNldCh0cnVlKTtcbiAgICB0aGlzLm9uRXZlbnQuZW1pdCh7XG4gICAgICB0eXBlOiAnTUVOVV9BVFRBQ0hFRCcsXG4gICAgICBpdGVtVHlwZSxcbiAgICAgIGl0ZW0sXG4gICAgICBpbmRleCxcbiAgICAgIGVsZW1lbnQ6IGV2ZW50LmVsZW1lbnQsXG4gICAgICBtZW51OiBldmVudC5tZW51XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlciBmb3IgdGhlIG9uRGV0YWNoZWQgZXZlbnQgZnJvbSB0aGUgTWVudURpcmVjdGl2ZVxuICAgKiBUaGlzIGlzIHRyaWdnZXJlZCB3aGVuIHRoZSBtZW51IGlzIGNsb3NlZC9kZXRhY2hlZFxuICAgKiBAcGFyYW0gZXZlbnQgVGhlIGV2ZW50IGRhdGEgY29udGFpbmluZyB0aGUgZWxlbWVudCBhbmQgbWVudSBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBpdGVtVHlwZSBUaGUgdHlwZSBvZiBpdGVtICgnbmF2JyBvciAnZm9vdGVyJylcbiAgICogQHBhcmFtIGl0ZW0gVGhlIG5hdi9mb290ZXIgaXRlbSB0aGF0IHRoZSBtZW51IHdhcyBhdHRhY2hlZCB0b1xuICAgKiBAcGFyYW0gaW5kZXggVGhlIGluZGV4IG9mIHRoZSBpdGVtIGluIHRoZSBpdGVtcyBhcnJheVxuICAgKi9cbiAgb25NZW51RGV0YWNoZWQoZXZlbnQ6IHsgZWxlbWVudDogRWxlbWVudFJlZiwgbWVudTogSU1lbnUgfSwgaXRlbVR5cGU6ICduYXYnIHwgJ2Zvb3RlcicsIGl0ZW06IElMZWZ0TmF2SXRlbSwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdNZW51IGRldGFjaGVkOicsIGV2ZW50KTtcbiAgICB0aGlzLmlzTWVudUF0dGFjaGVkLnNldChmYWxzZSk7XG4gICAgdGhpcy5vbkV2ZW50LmVtaXQoe1xuICAgICAgdHlwZTogJ01FTlVfREVUQUNIRUQnLFxuICAgICAgaXRlbVR5cGUsXG4gICAgICBpdGVtLFxuICAgICAgaW5kZXgsXG4gICAgICBlbGVtZW50OiBldmVudC5lbGVtZW50LFxuICAgICAgbWVudTogZXZlbnQubWVudVxuICAgIH0pO1xuICB9XG5cblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMZWZ0TmF2IHtcbiAgaXRlbXM/OiBJTGVmdE5hdkl0ZW1bXTtcbiAgdGVtcGxhdGVJdGVtcz86QXJyYXk8YW55PjtcbiAgZm9vdGVySXRlbXM/OiBJTGVmdE5hdkl0ZW1bXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUxlZnROYXZJdGVtIHtcbiAgdGl0bGU6IHN0cmluZyxcbiAgLy8gaWNvbl91cmw/OiBzdHJpbmcsXG4gIGljb24/OiBzdHJpbmcsXG4gIGRpc2FibGU/OiBib29sZWFuLFxuICB0b29sdGlwPzogc3RyaW5nLFxuICByZWxhdGl2ZVBhdGg/OiBib29sZWFuLFxuICBwYXRoPzogc3RyaW5nLFxuICBhY3RpdmU/OiBib29sZWFuLFxuICB0eXBlPzogJ0lDT04nIHwgJ0FWQVRBUic7XG4gIG1lbnU/OiBJTWVudTtcbiAgYWx0VGV4dD86IHN0cmluZyxcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW4sXG4gIGljb25MYWJlbD86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBJTGVmdE5hdkNsaWNrRXZlbnQge1xuICB0eXBlOiAnTkFWX0lURU1fQ0xJQ0snIHwgJ0ZPT1RFUl9JVEVNX0NMSUNLJyB8ICdMT0dPX0NMSUNLJyB8ICdURU1QTEFURV9JVEVNX0NMSUNLJztcbiAgZXZlbnQ6IGFueSxcbiAgaXRlbTogSUxlZnROYXZJdGVtXG59XG5leHBvcnQgaW50ZXJmYWNlIElMZWZ0TmF2Qmx1ckV2ZW50IHtcbiAgdHlwZTogJ05BVl9JVEVNX0hPVkVSJyB8ICdGT09URVJfSVRFTV9IT1ZFUicgfCAnTE9HT19IT1ZFUic7XG4gIGV2ZW50OiBhbnksXG4gIGl0ZW06IElMZWZ0TmF2SXRlbVxufVxuXG5leHBvcnQgZW51bSBJTGVmdE5hdlR5cGVzIHtcblxufVxuXG5jb25zdCBkYXRhOiBJTGVmdE5hdiA9IHtcbiAgaXRlbXM6IFt7XG4gICAgdGl0bGU6ICdIb21lJyxcbiAgICBpY29uOiAnJyxcbiAgICBkaXNhYmxlOiBmYWxzZSxcbiAgICB0b29sdGlwOiAnJyxcbiAgICByZWxhdGl2ZVBhdGg6IHRydWUsXG4gICAgcGF0aDogJ2hvbWUnXG4gIH0sIHtcbiAgICB0aXRsZTogJ1ByaWNpbmcnLFxuICAgIGljb246ICcnLFxuICAgIGRpc2FibGU6IHRydWUsXG4gICAgdG9vbHRpcDogJycsXG4gICAgcmVsYXRpdmVQYXRoOiB0cnVlLFxuICAgIHBhdGg6ICcnXG4gIH0sIHtcbiAgICB0aXRsZTogJ1NldHRpbmcnLFxuICAgIGljb246ICdzZXR0aW5nc091dGxpbmVkJyxcbiAgICBkaXNhYmxlOiB0cnVlLFxuICAgIHRvb2x0aXA6ICdjb21pbmcgc29vbicsXG4gICAgcmVsYXRpdmVQYXRoOiB0cnVlLFxuICAgIHBhdGg6ICcnXG4gIH1dLFxuICBmb290ZXJJdGVtczogW3tcbiAgICB0aXRsZTogJ0hlbHAnLFxuICAgIGljb246ICdjaGF0SGVscE91dGxpbmVkJyxcbiAgICBkaXNhYmxlOiB0cnVlLFxuICAgIHRvb2x0aXA6ICdjb21pbmcgc29vbidcbiAgfSwge1xuICAgIHRpdGxlOiAnTmFtZScsXG4gICAgZGlzYWJsZTogZmFsc2UsXG4gICAgdG9vbHRpcDogJycsXG4gICAgdHlwZTogJ0FWQVRBUidcbiAgfSwge1xuICAgIHRpdGxlOiAnQ2hldnJvbicsXG4gICAgaWNvbjogJ2RvdWJsZURvd25PdXRsaW5lZCcsXG4gICAgZGlzYWJsZTogdHJ1ZSxcbiAgICB0b29sdGlwOiAnJ1xuICB9XVxufSIsIjxkaXYgY2xhc3M9XCJzYS1sZWZ0LW5hdlwiID5cblxuICAgIDxkaXYgY2xhc3M9XCJzYS1sZWZ0LW5hdi1jb250YWluZXIge3tpc01lbnVBdHRhY2hlZCgpID8gJ21lbnUtYXR0YWNoZWQnIDogJyd9fVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbGVmdC1uYXYtbG9nb1wiPlxuICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cInNhLWxvZ29cIj48L3NwYW4+IC0tPlxuICAgICAgICAgICAgPHNhLWljb24gaWNvbj1cInNhcmFzV2hpdGVcIiBzaXplPVwiMzZcIj48L3NhLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbGVmdC1uYXYtaXRlbXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICBAaWYoZGF0YSAmJiBkYXRhLml0ZW1zICYmICEhZGF0YS5pdGVtcy5sZW5ndGgpe1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLWxlZnQtbmF2LWl0ZW1zLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhLml0ZW1zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1sZWZ0LW5hdi1pdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLWxlZnQtbmF2LWl0ZW1cIiBbbmdDbGFzc109XCJpdGVtLmFjdGl2ZSA/ICdhY3RpdmUnIDogJycgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzYU1lbnVdPVwiaXRlbS5tZW51XCIgKG9uRXZlbnQpPVwib25FdmVudC5lbWl0KCRldmVudClcIiAgKG9uTWVudUV2ZW50KT1cIm9uTWVudUV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uQXR0YWNoZWQpPVwib25NZW51QXR0YWNoZWQoJGV2ZW50LCAnbmF2JywgaXRlbSwgaSlcIiAob25EZXRhY2hlZCk9XCJvbk1lbnVEZXRhY2hlZCgkZXZlbnQsICduYXYnLCBpdGVtLCBpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OYXZJdGVtQ2xpY2soaXRlbSwgaSwgJGV2ZW50KVwiIChtb3VzZWVudGVyKT1cIm9uTmF2SXRlbUJsdXIoaXRlbSxpLCRldmVudCx0b29sdGlwKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAjdG9vbHRpcD1cIm1hdFRvb2x0aXBcIiBbbWF0VG9vbHRpcF09XCJpdGVtLnRvb2x0aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBjbGFzcz1cInNhLWxlZnQtbmF2LWl0ZW0taWNvblwiIFtpY29uXT1cIml0ZW0uaWNvblwiIHNpemU9XCIyNFwiIGNvbG9yPVwid2hpdGVcIj48L3NhLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuPnt7aXRlbS50b29sdGlwfX08L3NwYW4+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cInNhLWxlZnQtbmF2LWl0ZW0taWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgaXRlbS5pY29uX3VybCArICcpJyB9XCI+PC9zcGFuPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJzYS1pY29uLWxhYmVsXCI+e3tpdGVtLmljb25MYWJlbH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNhLXRlbXBsYXRlLWl0ZW0tY29udGFpbmVyXCI+XG4gICAgICAgICAgICBAaWYoZGF0YSAmJiBkYXRhLnRlbXBsYXRlSXRlbXMgJiYgISFkYXRhLnRlbXBsYXRlSXRlbXMubGVuZ3RoKXtcbiAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cIm9uVGVtcGxhdGVJdGVtQ2xpY2soJGV2ZW50LCBpLCBpdGVtKVwiIGNsYXNzPVwic2EtdGVtcGxhdGUtaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGEudGVtcGxhdGVJdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxzYS1pY29uIFttYXRUb29sdGlwXT1cIml0ZW0udG9vbHRpcFwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cInJpZ2h0XCIgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc05hbWVcIiBbaWNvbl09XCJpdGVtLmljb25cIiBbc2l6ZV09XCJpdGVtLnNpemVcIiBbY29sb3JdPVwiaXRlbS5jb2xvclwiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNhLWxlZnQtbmF2LWZvb3RlclwiPlxuICAgICAgICAgICAgQGlmKGRhdGEgJiYgZGF0YS5mb290ZXJJdGVtcyAmJiAhIWRhdGEuZm9vdGVySXRlbXMubGVuZ3RoKXtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYS1sZWZ0LW5hdi1mb290ZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLWxlZnQtbmF2LWZvb3Rlci1pdGVtXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YS5mb290ZXJJdGVtczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLWl0ZW0taWNvblwiIFtuZ0NsYXNzXT1cIml0ZW0uYWN0aXZlID8gJ2FjdGl2ZScgOiAnJyBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRm9vdGVySXRlbUNsaWNrKGl0ZW0sIGksICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NhTWVudV09XCJpdGVtLm1lbnVcIiAob25BdHRhY2hlZCk9XCJvbk1lbnVBdHRhY2hlZCgkZXZlbnQsICdmb290ZXInLCBpdGVtLCBpKVwiIChvbkRldGFjaGVkKT1cIm9uTWVudURldGFjaGVkKCRldmVudCwgJ2Zvb3RlcicsIGl0ZW0sIGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uRm9vdGVySXRlbUJsdXIoaXRlbSxpLCRldmVudCx0b29sdGlwKVwiICN0b29sdGlwPVwibWF0VG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpdGVtLnRvb2x0aXBcIiBtYXRUb29sdGlwUG9zaXRpb249XCJyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmKGl0ZW0udHlwZSA9PT0gJ0FWQVRBUicpe1xuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cInNhLWxlZnQtbmF2LWZvb3Rlci1uYW1lXCI+RVQ8L3NwYW4+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNhLWF2YXRhciBbYWx0VGV4dF09XCJpdGVtLmFsdFRleHRcIiBbaW1hZ2VQYXRoXT1cIicnXCIgc2l6ZT1cImV4dHJhLXNtYWxsXCI+PC9zYS1hdmF0YXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9QGVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2EtaWNvbiBjbGFzcz1cInNhLWxlZnQtbmF2LWZvb3Rlci1pY29uXCIgW2ljb25dPVwiaXRlbS5pY29uXCIgc2l6ZT1cIjI0XCIgY29sb3I9XCJ3aGl0ZVwiPjwvc2EtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJzYS1sZWZ0LW5hdi1mb290ZXItaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyAnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIGl0ZW0uaWNvbl91cmwgfHwgJycgKyAnKScgfVwiPjwvc3Bhbj4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInNhLWljb24tbGFiZWxcIj57e2l0ZW0uaWNvbkxhYmVsfX08L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2EtbGVmdC1uYXYtY29udGVudFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbjwvZGl2PiJdfQ==
|
|
@@ -6,13 +6,16 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
7
7
|
export class SAMenuItemComponent {
|
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuItemComponent, isStandalone: true, selector: "sa-menu-item", inputs: { item: "item" }, ngImport: i0, template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item\" [ngClass]=\"item.isSelected ? 'selected' : ''\">\n <div class=\"status\">\n <span *ngIf=\"item.status\" [ngClass]=\"item.status == 'active' ? 'status-active' : 'status-inactive'\"\n class=\"status-dot\"></span>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\">{{item.label}}</span>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:10px
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuItemComponent, isStandalone: true, selector: "sa-menu-item", inputs: { item: "item", showRound: "showRound" }, ngImport: i0, template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item\" [ngStyle]=\"{ 'border-radius': showRound ? '5px' : '0' }\" [ngClass]=\"item.isSelected ? 'selected' : ''\">\n <div class=\"status\">\n <span *ngIf=\"item.status\" [ngClass]=\"item.status == 'active' ? 'status-active' : 'status-inactive'\"\n class=\"status-dot\"></span>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\">{{item.label}}</span>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:10px}.section-item:hover{background-color:var(--primary-500)}.section-item:hover span{font-weight:500}.selected{background-color:var(--primary-500)}.section-item .tags{display:flex;gap:.25rem}.tag{background-color:#6b46c1;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-active{background-color:#6b46c1!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-inactive{background-color:#d27f2b!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.status{display:flex;align-items:center;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%}.status-active{background-color:#48bb78}.status-inactive{background-color:#f19e4f}hr{border:0;border-top:1px solid #718096;margin-bottom:1rem}.sa-groupItem-lable{cursor:pointer;font-size:14px;font-weight:400}.flex{display:flex}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText", "tooltip"], outputs: ["onClickEvent"] }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }] }); }
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuItemComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ selector: 'sa-menu-item', standalone: true, imports: [CommonModule, ChipsComponent, IconComponent], template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item\" [ngClass]=\"item.isSelected ? 'selected' : ''\">\n <div class=\"status\">\n <span *ngIf=\"item.status\" [ngClass]=\"item.status == 'active' ? 'status-active' : 'status-inactive'\"\n class=\"status-dot\"></span>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\">{{item.label}}</span>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:10px
|
|
13
|
+
args: [{ selector: 'sa-menu-item', standalone: true, imports: [CommonModule, ChipsComponent, IconComponent], template: "<!-- <div mat-menu-item class=\"sa-menu-item\">\n <span>{{item.label}}</span>\n</div> -->\n\n<div class=\"section-item\" [ngStyle]=\"{ 'border-radius': showRound ? '5px' : '0' }\" [ngClass]=\"item.isSelected ? 'selected' : ''\">\n <div class=\"status\">\n <span *ngIf=\"item.status\" [ngClass]=\"item.status == 'active' ? 'status-active' : 'status-inactive'\"\n class=\"status-dot\"></span>\n <sa-icon class=\"flex\" *ngIf=\"item.icon\" [icon]=\"item?.icon?.icon\" [iconPath]=\"item['icon']?.iconPath\" [iconUrl]=\"item['icon']?.iconUrl\" [size]=\"item['icon']?.size\" [customClass]=\"item['icon']?.customClass\"></sa-icon>\n <span class=\"sa-groupItem-lable\">{{item.label}}</span>\n </div>\n <!-- Section for showing chips if chips are available in object -->\n <div *ngIf=\"item.chips\" class=\"tags\">\n @for (itm of item.chips; track $index) {\n <sa-chip *ngIf=\"itm.text\" [type]=\"itm.type\" [state]=\"itm.state\" [filling]=\"itm.filling\"\n [text]=\"itm.text\"></sa-chip>\n <!-- <span [ngClass]=\"itm.status == 'active' ? 'tag-active' : 'tag-inactive'\" class=\"\">{{itm.label}}</span> -->\n }\n </div>\n</div>\n", styles: [".sa-menu-item{padding:12px}.sa-menu-item:hover{background-color:var(--primary-500)}.sa-menu-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.sa-menu-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.section-item{display:flex;justify-content:space-between;align-items:center;padding:10px}.section-item:hover{background-color:var(--primary-500)}.section-item:hover span{font-weight:500}.selected{background-color:var(--primary-500)}.section-item .tags{display:flex;gap:.25rem}.tag{background-color:#6b46c1;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-active{background-color:#6b46c1!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.tag-inactive{background-color:#d27f2b!important;font-size:.2rem;padding:.25rem .5rem;border-radius:.25rem}.status{display:flex;align-items:center;gap:.6rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%}.status-active{background-color:#48bb78}.status-inactive{background-color:#f19e4f}hr{border:0;border-top:1px solid #718096;margin-bottom:1rem}.sa-groupItem-lable{cursor:pointer;font-size:14px;font-weight:400}.flex{display:flex}\n"] }]
|
|
14
14
|
}], propDecorators: { item: [{
|
|
15
15
|
type: Input,
|
|
16
16
|
args: ['item']
|
|
17
|
+
}], showRound: [{
|
|
18
|
+
type: Input,
|
|
19
|
+
args: ['showRound']
|
|
17
20
|
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvbWVudS9tZW51LWxpc3QvbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvbWVudS9tZW51LWxpc3QvbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFnQixLQUFLLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVMxRCxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7a0dBQW5CLG1CQUFtQiwwSENiaEMsNnJDQW9CQSxpc0NEWFksWUFBWSxzVEFBQyxjQUFjLDhNQUFDLGFBQWE7OzJGQUl4QyxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFlBQVksRUFBQyxjQUFjLEVBQUMsYUFBYSxDQUFDOzhCQUtyQyxJQUFJO3NCQUFsQixLQUFLO3VCQUFDLE1BQU07Z0JBQ08sU0FBUztzQkFBNUIsS0FBSzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU1lbnVJdGVtIH0gZnJvbSAnLi4vbWVudS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYS1tZW51LWl0ZW0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLENoaXBzQ29tcG9uZW50LEljb25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21lbnUtaXRlbS5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBTQU1lbnVJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCdpdGVtJykgaXRlbTogSU1lbnVJdGVtO1xuICBASW5wdXQoJ3Nob3dSb3VuZCcpIHNob3dSb3VuZDogYm9vbGVhbjtcbn1cbiIsIjwhLS0gPGRpdiBtYXQtbWVudS1pdGVtIGNsYXNzPVwic2EtbWVudS1pdGVtXCI+XG4gICAgPHNwYW4+e3tpdGVtLmxhYmVsfX08L3NwYW4+XG48L2Rpdj4gLS0+XG5cbjxkaXYgY2xhc3M9XCJzZWN0aW9uLWl0ZW1cIiBbbmdTdHlsZV09XCJ7ICdib3JkZXItcmFkaXVzJzogc2hvd1JvdW5kID8gJzVweCcgOiAnMCcgfVwiIFtuZ0NsYXNzXT1cIml0ZW0uaXNTZWxlY3RlZCA/ICdzZWxlY3RlZCcgOiAnJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzdGF0dXNcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnN0YXR1c1wiIFtuZ0NsYXNzXT1cIml0ZW0uc3RhdHVzID09ICdhY3RpdmUnID8gJ3N0YXR1cy1hY3RpdmUnIDogJ3N0YXR1cy1pbmFjdGl2ZSdcIlxuICAgICAgICAgICAgY2xhc3M9XCJzdGF0dXMtZG90XCI+PC9zcGFuPlxuICAgICAgICA8c2EtaWNvbiBjbGFzcz1cImZsZXhcIiAqbmdJZj1cIml0ZW0uaWNvblwiIFtpY29uXT1cIml0ZW0/Lmljb24/Lmljb25cIiAgW2ljb25QYXRoXT1cIml0ZW1bJ2ljb24nXT8uaWNvblBhdGhcIiBbaWNvblVybF09XCJpdGVtWydpY29uJ10/Lmljb25VcmxcIiBbc2l6ZV09XCJpdGVtWydpY29uJ10/LnNpemVcIiBbY3VzdG9tQ2xhc3NdPVwiaXRlbVsnaWNvbiddPy5jdXN0b21DbGFzc1wiPjwvc2EtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYS1ncm91cEl0ZW0tbGFibGVcIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIFNlY3Rpb24gZm9yIHNob3dpbmcgY2hpcHMgaWYgY2hpcHMgYXJlIGF2YWlsYWJsZSBpbiBvYmplY3QgIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJpdGVtLmNoaXBzXCIgY2xhc3M9XCJ0YWdzXCI+XG4gICAgICAgIEBmb3IgKGl0bSBvZiBpdGVtLmNoaXBzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPHNhLWNoaXAgKm5nSWY9XCJpdG0udGV4dFwiIFt0eXBlXT1cIml0bS50eXBlXCIgW3N0YXRlXT1cIml0bS5zdGF0ZVwiIFtmaWxsaW5nXT1cIml0bS5maWxsaW5nXCJcbiAgICAgICAgICAgIFt0ZXh0XT1cIml0bS50ZXh0XCI+PC9zYS1jaGlwPlxuICAgICAgICA8IS0tIDxzcGFuIFtuZ0NsYXNzXT1cIml0bS5zdGF0dXMgPT0gJ2FjdGl2ZScgPyAndGFnLWFjdGl2ZScgOiAndGFnLWluYWN0aXZlJ1wiIGNsYXNzPVwiXCI+e3tpdG0ubGFiZWx9fTwvc3Bhbj4gLS0+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -2,7 +2,6 @@ import { Component, Input, Output, EventEmitter, } from '@angular/core';
|
|
|
2
2
|
import { MatMenu, MatMenuItem, } from '@angular/material/menu';
|
|
3
3
|
import { SAMenuItemComponent } from './menu-list/menu-item.component';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
6
5
|
import { ChipsComponent } from '../chips/chips.component';
|
|
7
6
|
import { IconComponent } from '../icon/icon.component';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
@@ -48,19 +47,7 @@ export class SAMenuComponent {
|
|
|
48
47
|
this.onEvent.emit({ type: 'SEARCH', value: event.target.value });
|
|
49
48
|
}
|
|
50
49
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuComponent, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuComponent, isStandalone: true, selector: "sa-menu", inputs: { position: "position", menu: "menu", hostEl: "hostEl" }, outputs: { onEvent: "onEvent", onKeyUpEvent: "onKeyUpEvent", closeEvent: "closeEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray' : ''\" [ngStyle]=\"{width: menu.width || 'max-content'}\">\n\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon
|
|
52
|
-
trigger('slideInOut', [
|
|
53
|
-
state('in', style({
|
|
54
|
-
width: '', // When expanded (fully shown)
|
|
55
|
-
})),
|
|
56
|
-
state('out', style({
|
|
57
|
-
width: '0', // When collapsed (hidden)
|
|
58
|
-
})),
|
|
59
|
-
transition('in <=> out', [
|
|
60
|
-
animate('0.2s ease-in-out'), // Animation speed and easing
|
|
61
|
-
])
|
|
62
|
-
])
|
|
63
|
-
] }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: SAMenuComponent, isStandalone: true, selector: "sa-menu", inputs: { position: "position", menu: "menu", hostEl: "hostEl" }, outputs: { onEvent: "onEvent", onKeyUpEvent: "onKeyUpEvent", closeEvent: "closeEvent" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\" [ngStyle]=\"{width: menu.width || 'max-content'}\">\n\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" class=\"sa-menu-close-icon\" (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n\n @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n\n\n\n</div>", styles: [".sa-menu{background-color:var(--primary-900);box-shadow:3px 4px 16px 4px #00000014;width:max-content;color:#fff;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:1rem}sa-menu-item{cursor:pointer;display:block}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.1px}.sa-menu-close-icon{cursor:pointer}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid #ccc}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-200, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: SAMenuItemComponent, selector: "sa-menu-item", inputs: ["item", "showRound"] }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["img", "icon", "size", "color", "iconPath", "iconUrl", "customClass", "href", "hrefTarget"], outputs: ["onClickEvent"] }] }); }
|
|
64
51
|
}
|
|
65
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SAMenuComponent, decorators: [{
|
|
66
53
|
type: Component,
|
|
@@ -71,19 +58,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
71
58
|
MatMenuItem,
|
|
72
59
|
ChipsComponent,
|
|
73
60
|
IconComponent
|
|
74
|
-
],
|
|
75
|
-
trigger('slideInOut', [
|
|
76
|
-
state('in', style({
|
|
77
|
-
width: '', // When expanded (fully shown)
|
|
78
|
-
})),
|
|
79
|
-
state('out', style({
|
|
80
|
-
width: '0', // When collapsed (hidden)
|
|
81
|
-
})),
|
|
82
|
-
transition('in <=> out', [
|
|
83
|
-
animate('0.2s ease-in-out'), // Animation speed and easing
|
|
84
|
-
])
|
|
85
|
-
])
|
|
86
|
-
], template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray' : ''\" [ngStyle]=\"{width: menu.width || 'max-content'}\">\n\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" class=\"sa-menu-close-icon\" (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n\n @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n\n\n\n</div>", styles: [".sa-menu{background-color:var(--primary-900);border-radius:8px;box-shadow:3px 4px 16px 4px #00000014;width:max-content;color:#fff;overflow-y:scroll}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:1rem;overflow-y:scroll}sa-menu-item{cursor:pointer;display:block}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.1px}.sa-menu-close-icon{cursor:pointer}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid #ccc}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--Grey-200, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}\n"] }]
|
|
61
|
+
], template: "<div class=\"sa-menu\" [ngClass]=\"menu.showTray ? 'sa-menu-tray sa-round-border' : ''\" [ngStyle]=\"{width: menu.width || 'max-content'}\">\n\n @if(menu?.title){\n <div class=\"sa-menu-title\">\n <h1>{{menu?.title}}</h1>\n <sa-icon [icon]=\"'closeOutlined'\" class=\"sa-menu-close-icon\" (click)=\"closeEvent.emit($event)\"></sa-icon>\n </div>\n }\n\n @if(menu?.showSearch){\n <div class=\"search-container\">\n <sa-icon icon=\"search\"></sa-icon>\n <input class=\"search-input\" (keyup)=\"onSearch($event)\" type=\"text\" [placeholder]=\"menu.searchPlaceholder\" />\n <button *ngIf=\"menu?.showAddIcon\"><i class=\"fas fa-plus\"></i></button>\n </div>\n }\n\n @if(menu?.itemGroups && menu.itemGroups.length){\n @for (groupItem of menu.itemGroups; track groupItem) {\n <div class=\"sa-menu-group\">\n <h2>{{groupItem.groupTitle}}</h2>\n \n @for (item of groupItem.items; track $index) {\n <sa-menu-item [item]=\"item\" [showRound]=\"menu.showTray\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n } @else if(menu?.items && menu.items.length){\n <div class=\"sa-menu-items\">\n @for (item of menu.items; track item) {\n <sa-menu-item [item]=\"item\" (click)=\"onMenuItemClick($event, item)\"></sa-menu-item>\n }\n </div>\n }\n\n\n\n</div>", styles: [".sa-menu{background-color:var(--primary-900);box-shadow:3px 4px 16px 4px #00000014;width:max-content;color:#fff;overflow-y:auto;max-height:100%}.sa-round-border{border-radius:8px}.sa-menu-tray{height:calc(100vh - 16px);margin-top:8px;border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:1rem}sa-menu-item{cursor:pointer;display:block}.sa-menu-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sa-menu-title h1{color:var(--grey-100, #EAECF0);font-family:var(--font-family, Roboto);font-size:14px;font-style:normal;font-weight:500;line-height:20px;letter-spacing:.1px}.sa-menu-close-icon{cursor:pointer}.search-container{position:relative;display:flex;align-items:center;margin-bottom:1rem}.search-container input{flex:1;padding:.5rem .5rem .5rem 2rem;background-color:#4a5568;border-radius:.25rem;font-size:.875rem;border:none;outline:none;color:#fff;box-sizing:border-box}.search-container .search-icon{position:absolute;left:.5rem;font-size:1rem;color:#888;pointer-events:none}.search-container button{margin-left:.5rem;background-color:#6b46c1;padding:.5rem;border-radius:.25rem;border:none;cursor:pointer}.sa-menu-group{margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid #ccc}.sa-menu-group:last-child{border-bottom:none}.sa-menu-group h2{color:var(--grey-200, #D0D5DD);font-family:var(--font-family, Roboto);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;text-transform:uppercase}.MenuBar{width:max-content;margin-top:8px;background-color:var(--grey-400);border-top-left-radius:0;border-bottom-left-radius:0;background-color:#2d3748;padding:0}\n"] }]
|
|
87
62
|
}], ctorParameters: () => [{ type: i1.Overlay }], propDecorators: { position: [{
|
|
88
63
|
type: Input
|
|
89
64
|
}], menu: [{
|
|
@@ -97,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
97
72
|
}], closeEvent: [{
|
|
98
73
|
type: Output
|
|
99
74
|
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBSU4sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxPQUFPLEVBRVAsV0FBVyxHQUVaLE1BQU0sd0JBQXdCLENBQUM7QUFVaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQTZCdkQsTUFBTSxPQUFPLGVBQWU7SUFXMUIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBWGpCLGFBQVEsR0FBd0MsUUFBUSxDQUFDLENBQUMsbUJBQW1CO1FBRzVFLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3RCwyQ0FBMkM7UUFFM0MsZUFBVSxHQUFZLEtBQUssQ0FBQztJQUs1QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdDLElBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksRUFBQyxDQUFDO1FBRWpDLENBQUM7SUFDSCxDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxXQUFXO1FBQ1QsNERBQTREO1FBQzVELG9GQUFvRjtRQUNwRixpRkFBaUY7UUFDakYsd0ZBQXdGO1FBQ3hGLDBGQUEwRjtRQUMxRixLQUFLO1FBRUwsNENBQTRDO1FBQzVDLGdFQUFnRTtRQUNoRSx3REFBd0Q7UUFDeEQsK0NBQStDO1FBQy9DLG9HQUFvRztRQUNwRyxtREFBbUQ7SUFDckQsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVLEVBQUUsSUFBZTtRQUN6QyxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFVO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBO0lBQy9ELENBQUM7OEdBaERVLGVBQWU7a0dBQWYsZUFBZSxtUEM3RDVCLDA4Q0FxQ00sb3JERENGLFlBQVksc1RBQ1osbUJBQW1CLDJFQUluQixhQUFhLHVLQUlIO1lBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTtnQkFDcEIsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7b0JBQ2hCLEtBQUssRUFBRSxFQUFFLEVBQUUsOEJBQThCO2lCQUMxQyxDQUFDLENBQUM7Z0JBQ0gsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7b0JBQ2pCLEtBQUssRUFBRSxHQUFHLEVBQUUsMEJBQTBCO2lCQUN2QyxDQUFDLENBQUM7Z0JBQ0gsVUFBVSxDQUFDLFlBQVksRUFBRTtvQkFDdkIsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsNkJBQTZCO2lCQUMzRCxDQUFDO2FBQ0gsQ0FBQztTQUNIOzsyRkFFVSxlQUFlO2tCQTNCM0IsU0FBUzsrQkFDRSxTQUFTLGNBQ1AsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixPQUFPO3dCQUNQLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxhQUFhO3FCQUNkLGNBR1c7d0JBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTs0QkFDcEIsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7Z0NBQ2hCLEtBQUssRUFBRSxFQUFFLEVBQUUsOEJBQThCOzZCQUMxQyxDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7Z0NBQ2pCLEtBQUssRUFBRSxHQUFHLEVBQUUsMEJBQTBCOzZCQUN2QyxDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLFlBQVksRUFBRTtnQ0FDdkIsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsNkJBQTZCOzZCQUMzRCxDQUFDO3lCQUNILENBQUM7cUJBQ0g7NEVBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgTmdab25lLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXRNZW51LFxuICBNYXRNZW51RGVmYXVsdE9wdGlvbnMsXG4gIE1hdE1lbnVJdGVtLFxuICBNYXRNZW51VHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQge1xuICBPdmVybGF5LFxuICBQb3NpdGlvblN0cmF0ZWd5LFxuICBDb25uZWN0ZWRQb3NpdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC9jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJTWVudSwgSU1lbnVHcm91cCwgSU1lbnVJdGVtIH0gZnJvbSAnLi9tZW51LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlJztcbmltcG9ydCB7IFNBTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtbGlzdC9tZW51LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtbWVudScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU0FNZW51SXRlbUNvbXBvbmVudCxcbiAgICBNYXRNZW51LFxuICAgIE1hdE1lbnVJdGVtLFxuICAgIENoaXBzQ29tcG9uZW50LFxuICAgIEljb25Db21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbWVudS5jb21wb25lbnQuY3NzJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXG4gICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7XG4gICAgICAgIHdpZHRoOiAnJywgLy8gV2hlbiBleHBhbmRlZCAoZnVsbHkgc2hvd24pXG4gICAgICB9KSksXG4gICAgICBzdGF0ZSgnb3V0Jywgc3R5bGUoe1xuICAgICAgICB3aWR0aDogJzAnLCAvLyBXaGVuIGNvbGxhcHNlZCAoaGlkZGVuKVxuICAgICAgfSkpLFxuICAgICAgdHJhbnNpdGlvbignaW4gPD0+IG91dCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnMC4ycyBlYXNlLWluLW91dCcpLCAvLyBBbmltYXRpb24gc3BlZWQgYW5kIGVhc2luZ1xuICAgICAgXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNBTWVudUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyA9ICdib3R0b20nOyAvLyBEZWZhdWx0IHBvc2l0aW9uXG4gIEBJbnB1dCgpIG1lbnU6IElNZW51O1xuICBASW5wdXQoKSBob3N0RWw6IGFueTtcbiAgQE91dHB1dCgpIG9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25LZXlVcEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGNsb3NlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvLyBAVmlld0NoaWxkKCdtZW51Jywge3N0YXRpYzogdHJ1ZX0pIG1lbnU7XG5cbiAgaXNFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICApIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpe1xuICAgIGNvbnNvbGUubG9nKCduZ09uQ2hhbmdlcyBtZW51IC0+JywgdGhpcy5tZW51KVxuICAgIGlmKGNoYW5nZXNbJ21lbnUnXS5jdXJyZW50VmFsdWUpe1xuICAgICAgXG4gICAgfVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSB0cnVlO1xuICB9XG4gIHNldFBvc2l0aW9uKCkge1xuICAgIC8vIGNvbnN0IHBvc2l0aW9uczogeyBba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbiB9ID0ge1xuICAgIC8vICAgbGVmdDogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIC8vICAgcmlnaHQ6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgIC8vICAgdG9wOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAvLyAgIGJvdHRvbTogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH1cbiAgICAvLyB9O1xuXG4gICAgLy8gY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoKTtcbiAgICAvLyBjb25zdCB1c2VyUHJvZmlsZVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQ2FyZENvbXBvbmVudCk7XG4gICAgLy8gY29uc3QgY29tcFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKHVzZXJQcm9maWxlUG9ydGFsKTtcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLnRpdGxlID0gJ25lZWQgbmR1ayByYSBiaGFpJ1xuICAgIC8vIGNvbXBSZWYuaW5zdGFuY2UuYm9keSA9ICdzb21ldGltZSBsaXR0bGUgYml0IHRoaXMgc29tZXRpbWVzIGxpdHRsZSBiaXQgdGhhdC4gQ29tbWluZyBub3QgY29tbWluZydcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLmF2YXRhciA9ICcuLi9hc3NldHMvYXZhdGFyLnN2ZydcbiAgfVxuXG4gIG9uTWVudUl0ZW1DbGljayhldmVudDogYW55LCBpdGVtOiBJTWVudUl0ZW0pe1xuICAgIC8vIGl0ZW0uaXNTZWxlY3RlZCA9ICFpdGVtLmlzU2VsZWN0ZWQ7XG4gICAgdGhpcy5vbkV2ZW50LmVtaXQoe3R5cGU6ICdDTElDSycsIGl0ZW0sIG1lbnU6IHRoaXMubWVudX0pXG4gIH1cblxuICBvblNlYXJjaChldmVudDogYW55KXtcbiAgICB0aGlzLm9uRXZlbnQuZW1pdCh7dHlwZTogJ1NFQVJDSCcsIHZhbHVlOmV2ZW50LnRhcmdldC52YWx1ZX0pXG4gIH1cblxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic2EtbWVudVwiIFtuZ0NsYXNzXT1cIm1lbnUuc2hvd1RyYXkgPyAnc2EtbWVudS10cmF5JyA6ICcnXCIgW25nU3R5bGVdPVwie3dpZHRoOiBtZW51LndpZHRoIHx8ICdtYXgtY29udGVudCd9XCI+XG5cbiAgICBAaWYobWVudT8udGl0bGUpe1xuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtbWVudS10aXRsZVwiPlxuICAgICAgICAgICAgPGgxPnt7bWVudT8udGl0bGV9fTwvaDE+XG4gICAgICAgICAgICA8c2EtaWNvbiBbaWNvbl09XCInY2xvc2VPdXRsaW5lZCdcIiAgY2xhc3M9XCJzYS1tZW51LWNsb3NlLWljb25cIiAoY2xpY2spPVwiY2xvc2VFdmVudC5lbWl0KCRldmVudClcIj48L3NhLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZihtZW51Py5zaG93U2VhcmNoKXtcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzYS1pY29uIGljb249XCJzZWFyY2hcIj48L3NhLWljb24+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIiAoa2V5dXApPVwib25TZWFyY2goJGV2ZW50KVwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cIm1lbnUuc2VhcmNoUGxhY2Vob2xkZXJcIiAvPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIm1lbnU/LnNob3dBZGRJY29uXCI+PGkgY2xhc3M9XCJmYXMgZmEtcGx1c1wiPjwvaT48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmKG1lbnU/Lml0ZW1Hcm91cHMgJiYgbWVudS5pdGVtR3JvdXBzLmxlbmd0aCl7XG4gICAgICAgIEBmb3IgKGdyb3VwSXRlbSBvZiBtZW51Lml0ZW1Hcm91cHM7IHRyYWNrIGdyb3VwSXRlbSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8aDI+e3tncm91cEl0ZW0uZ3JvdXBUaXRsZX19PC9oMj5cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBncm91cEl0ZW0uaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxzYS1tZW51LWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIChjbGljayk9XCJvbk1lbnVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiPjwvc2EtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZihtZW51Py5pdGVtcyAmJiBtZW51Lml0ZW1zLmxlbmd0aCl7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWl0ZW1zXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG1lbnUuaXRlbXM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICA8c2EtbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1cIiAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIj48L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG5cblxuPC9kaXY+Il19
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBSU4sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxPQUFPLEVBRVAsV0FBVyxHQUVaLE1BQU0sd0JBQXdCLENBQUM7QUFVaEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUE2QnZELE1BQU0sT0FBTyxlQUFlO0lBVzFCLFlBQ1UsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQVhqQixhQUFRLEdBQXdDLFFBQVEsQ0FBQyxDQUFDLG1CQUFtQjtRQUc1RSxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0QsMkNBQTJDO1FBRTNDLGVBQVUsR0FBWSxLQUFLLENBQUM7SUFLNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QyxJQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUMsQ0FBQztRQUVqQyxDQUFDO0lBQ0gsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBQ0QsV0FBVztRQUNULDREQUE0RDtRQUM1RCxvRkFBb0Y7UUFDcEYsaUZBQWlGO1FBQ2pGLHdGQUF3RjtRQUN4RiwwRkFBMEY7UUFDMUYsS0FBSztRQUVMLDRDQUE0QztRQUM1QyxnRUFBZ0U7UUFDaEUsd0RBQXdEO1FBQ3hELCtDQUErQztRQUMvQyxvR0FBb0c7UUFDcEcsbURBQW1EO0lBQ3JELENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVSxFQUFFLElBQWU7UUFDekMsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQTtJQUMvRCxDQUFDOzhHQWhEVSxlQUFlO2tHQUFmLGVBQWUsbVBDN0Q1Qix5L0NBcUNNLGlzRERDRixZQUFZLHNUQUNaLG1CQUFtQix3RkFJbkIsYUFBYTs7MkZBa0JKLGVBQWU7a0JBM0IzQixTQUFTOytCQUNFLFNBQVMsY0FDUCxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGFBQWE7cUJBQ2Q7NEVBa0JRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIE5nWm9uZSxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTWF0TWVudSxcbiAgTWF0TWVudURlZmF1bHRPcHRpb25zLFxuICBNYXRNZW51SXRlbSxcbiAgTWF0TWVudVRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHtcbiAgT3ZlcmxheSxcbiAgUG9zaXRpb25TdHJhdGVneSxcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSU1lbnUsIElNZW51R3JvdXAsIElNZW51SXRlbSB9IGZyb20gJy4vbWVudS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZSc7XG5pbXBvcnQgeyBTQU1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWxpc3QvbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhLW1lbnUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNBTWVudUl0ZW1Db21wb25lbnQsXG4gICAgTWF0TWVudSxcbiAgICBNYXRNZW51SXRlbSxcbiAgICBDaGlwc0NvbXBvbmVudCxcbiAgICBJY29uQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21lbnUuY29tcG9uZW50LmNzcycsXG4gIC8vIGFuaW1hdGlvbnM6IFtcbiAgLy8gICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xuICAvLyAgICAgc3RhdGUoJ2luJywgc3R5bGUoe1xuICAvLyAgICAgICB3aWR0aDogJycsIC8vIFdoZW4gZXhwYW5kZWQgKGZ1bGx5IHNob3duKVxuICAvLyAgICAgfSkpLFxuICAvLyAgICAgc3RhdGUoJ291dCcsIHN0eWxlKHtcbiAgLy8gICAgICAgd2lkdGg6ICcwJywgLy8gV2hlbiBjb2xsYXBzZWQgKGhpZGRlbilcbiAgLy8gICAgIH0pKSxcbiAgLy8gICAgIHRyYW5zaXRpb24oJ2luIDw9PiBvdXQnLCBbXG4gIC8vICAgICAgIGFuaW1hdGUoJzAuMnMgZWFzZS1pbi1vdXQnKSwgLy8gQW5pbWF0aW9uIHNwZWVkIGFuZCBlYXNpbmdcbiAgLy8gICAgIF0pXG4gIC8vICAgXSlcbiAgLy8gXVxufSlcbmV4cG9ydCBjbGFzcyBTQU1lbnVDb21wb25lbnQge1xuICBASW5wdXQoKSBwb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICd0b3AnIHwgJ2JvdHRvbScgPSAnYm90dG9tJzsgLy8gRGVmYXVsdCBwb3NpdGlvblxuICBASW5wdXQoKSBtZW51OiBJTWVudTtcbiAgQElucHV0KCkgaG9zdEVsOiBhbnk7XG4gIEBPdXRwdXQoKSBvbkV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uS2V5VXBFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjbG9zZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLy8gQFZpZXdDaGlsZCgnbWVudScsIHtzdGF0aWM6IHRydWV9KSBtZW51O1xuXG4gIGlzRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgKSB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKXtcbiAgICBjb25zb2xlLmxvZygnbmdPbkNoYW5nZXMgbWVudSAtPicsIHRoaXMubWVudSlcbiAgICBpZihjaGFuZ2VzWydtZW51J10uY3VycmVudFZhbHVlKXtcbiAgICAgIFxuICAgIH1cbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0V4cGFuZGVkID0gdHJ1ZTtcbiAgfVxuICBzZXRQb3NpdGlvbigpIHtcbiAgICAvLyBjb25zdCBwb3NpdGlvbnM6IHsgW2tleTogc3RyaW5nXTogQ29ubmVjdGVkUG9zaXRpb24gfSA9IHtcbiAgICAvLyAgIGxlZnQ6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAvLyAgIHJpZ2h0OiB7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAvLyAgIHRvcDogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICd0b3AnIH0sXG4gICAgLy8gICBib3R0b206IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2NlbnRlcicsIG92ZXJsYXlZOiAnYm90dG9tJyB9XG4gICAgLy8gfTtcblxuICAgIC8vIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKCk7XG4gICAgLy8gY29uc3QgdXNlclByb2ZpbGVQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKENhcmRDb21wb25lbnQpO1xuICAgIC8vIGNvbnN0IGNvbXBSZWYgPSBvdmVybGF5UmVmLmF0dGFjaCh1c2VyUHJvZmlsZVBvcnRhbCk7XG4gICAgLy8gY29tcFJlZi5pbnN0YW5jZS50aXRsZSA9ICduZWVkIG5kdWsgcmEgYmhhaSdcbiAgICAvLyBjb21wUmVmLmluc3RhbmNlLmJvZHkgPSAnc29tZXRpbWUgbGl0dGxlIGJpdCB0aGlzIHNvbWV0aW1lcyBsaXR0bGUgYml0IHRoYXQuIENvbW1pbmcgbm90IGNvbW1pbmcnXG4gICAgLy8gY29tcFJlZi5pbnN0YW5jZS5hdmF0YXIgPSAnLi4vYXNzZXRzL2F2YXRhci5zdmcnXG4gIH1cblxuICBvbk1lbnVJdGVtQ2xpY2soZXZlbnQ6IGFueSwgaXRlbTogSU1lbnVJdGVtKXtcbiAgICAvLyBpdGVtLmlzU2VsZWN0ZWQgPSAhaXRlbS5pc1NlbGVjdGVkO1xuICAgIHRoaXMub25FdmVudC5lbWl0KHt0eXBlOiAnQ0xJQ0snLCBpdGVtLCBtZW51OiB0aGlzLm1lbnV9KVxuICB9XG5cbiAgb25TZWFyY2goZXZlbnQ6IGFueSl7XG4gICAgdGhpcy5vbkV2ZW50LmVtaXQoe3R5cGU6ICdTRUFSQ0gnLCB2YWx1ZTpldmVudC50YXJnZXQudmFsdWV9KVxuICB9XG5cblxufVxuIiwiPGRpdiBjbGFzcz1cInNhLW1lbnVcIiBbbmdDbGFzc109XCJtZW51LnNob3dUcmF5ID8gJ3NhLW1lbnUtdHJheSBzYS1yb3VuZC1ib3JkZXInIDogJydcIiBbbmdTdHlsZV09XCJ7d2lkdGg6IG1lbnUud2lkdGggfHwgJ21heC1jb250ZW50J31cIj5cblxuICAgIEBpZihtZW51Py50aXRsZSl7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LXRpdGxlXCI+XG4gICAgICAgICAgICA8aDE+e3ttZW51Py50aXRsZX19PC9oMT5cbiAgICAgICAgICAgIDxzYS1pY29uICBbaWNvbl09XCInY2xvc2VPdXRsaW5lZCdcIiAgY2xhc3M9XCJzYS1tZW51LWNsb3NlLWljb25cIiAoY2xpY2spPVwiY2xvc2VFdmVudC5lbWl0KCRldmVudClcIj48L3NhLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZihtZW51Py5zaG93U2VhcmNoKXtcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxzYS1pY29uIGljb249XCJzZWFyY2hcIj48L3NhLWljb24+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIiAoa2V5dXApPVwib25TZWFyY2goJGV2ZW50KVwiIHR5cGU9XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cIm1lbnUuc2VhcmNoUGxhY2Vob2xkZXJcIiAvPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIm1lbnU/LnNob3dBZGRJY29uXCI+PGkgY2xhc3M9XCJmYXMgZmEtcGx1c1wiPjwvaT48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmKG1lbnU/Lml0ZW1Hcm91cHMgJiYgbWVudS5pdGVtR3JvdXBzLmxlbmd0aCl7XG4gICAgICAgIEBmb3IgKGdyb3VwSXRlbSBvZiBtZW51Lml0ZW1Hcm91cHM7IHRyYWNrIGdyb3VwSXRlbSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNhLW1lbnUtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8aDI+e3tncm91cEl0ZW0uZ3JvdXBUaXRsZX19PC9oMj5cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBncm91cEl0ZW0uaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxzYS1tZW51LWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtzaG93Um91bmRdPVwibWVudS5zaG93VHJheVwiIChjbGljayk9XCJvbk1lbnVJdGVtQ2xpY2soJGV2ZW50LCBpdGVtKVwiPjwvc2EtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZihtZW51Py5pdGVtcyAmJiBtZW51Lml0ZW1zLmxlbmd0aCl7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYS1tZW51LWl0ZW1zXCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG1lbnUuaXRlbXM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICA8c2EtbWVudS1pdGVtIFtpdGVtXT1cIml0ZW1cIiAoY2xpY2spPVwib25NZW51SXRlbUNsaWNrKCRldmVudCwgaXRlbSlcIj48L3NhLW1lbnUtaXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG5cblxuPC9kaXY+Il19
|
|
@@ -23,12 +23,19 @@ export class MenuDirective {
|
|
|
23
23
|
this.saMenuRef = null;
|
|
24
24
|
this.onMenuEvent = new EventEmitter();
|
|
25
25
|
this.onEvent = new EventEmitter();
|
|
26
|
+
this.onAttached = new EventEmitter();
|
|
27
|
+
this.onDetached = new EventEmitter();
|
|
26
28
|
this._position = 'right';
|
|
27
29
|
}
|
|
28
30
|
onClick(e) {
|
|
29
31
|
if (!!this._saMenu?.items?.length || !!this._saMenu?.itemGroups?.length)
|
|
30
32
|
this.attachMenu();
|
|
31
33
|
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
// Emit the onAttached event when the directive is initialized
|
|
36
|
+
setTimeout(() => {
|
|
37
|
+
});
|
|
38
|
+
}
|
|
32
39
|
ngAfterViewInit() {
|
|
33
40
|
}
|
|
34
41
|
attachMenu() {
|
|
@@ -46,14 +53,26 @@ export class MenuDirective {
|
|
|
46
53
|
this.onEvent.emit(res);
|
|
47
54
|
});
|
|
48
55
|
compRef.instance.closeEvent.subscribe((res) => {
|
|
56
|
+
this.onDetached.emit({
|
|
57
|
+
element: this.elRef,
|
|
58
|
+
menu: this._saMenu
|
|
59
|
+
});
|
|
49
60
|
overlayRef.dispose();
|
|
50
61
|
});
|
|
51
62
|
overlayRef.outsidePointerEvents().subscribe(() => {
|
|
63
|
+
this.onDetached.emit({
|
|
64
|
+
element: this.elRef,
|
|
65
|
+
menu: this._saMenu
|
|
66
|
+
});
|
|
52
67
|
overlayRef.dispose();
|
|
53
68
|
});
|
|
69
|
+
this.onAttached.emit({
|
|
70
|
+
element: this.elRef,
|
|
71
|
+
menu: this._saMenu
|
|
72
|
+
});
|
|
54
73
|
}
|
|
55
74
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MenuDirective, deps: [{ token: i1.Overlay }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
56
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: MenuDirective, isStandalone: true, selector: "[saMenu]", inputs: { saMenuRef: "saMenuRef", saMenu: "saMenu", position: ["saManuPosition", "position"] }, outputs: { onMenuEvent: "onMenuEvent", onEvent: "onEvent" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
|
|
75
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: MenuDirective, isStandalone: true, selector: "[saMenu]", inputs: { saMenuRef: "saMenuRef", saMenu: "saMenu", position: ["saManuPosition", "position"] }, outputs: { onMenuEvent: "onMenuEvent", onEvent: "onEvent", onAttached: "onAttached", onDetached: "onDetached" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
|
|
57
76
|
}
|
|
58
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: MenuDirective, decorators: [{
|
|
59
78
|
type: Directive,
|
|
@@ -69,6 +88,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
69
88
|
args: ['onMenuEvent']
|
|
70
89
|
}], onEvent: [{
|
|
71
90
|
type: Output
|
|
91
|
+
}], onAttached: [{
|
|
92
|
+
type: Output
|
|
93
|
+
}], onDetached: [{
|
|
94
|
+
type: Output
|
|
72
95
|
}], saMenu: [{
|
|
73
96
|
type: Input,
|
|
74
97
|
args: ['saMenu']
|
|
@@ -113,4 +136,4 @@ const MENU_POSITIONS = {
|
|
|
113
136
|
offsetY: 20
|
|
114
137
|
}
|
|
115
138
|
};
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQVF0RCxNQUFNLE9BQU8sYUFBYTtJQVN4QixJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEtBQVk7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBMEM7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQ1UsT0FBZ0IsRUFDaEIsS0FBZ0I7UUFEaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBMUIxQixzQ0FBc0M7UUFDbEIsY0FBUyxHQUFzRCxJQUFJLENBQUM7UUFDakUsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRSxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHMUQsY0FBUyxHQUF3QyxPQUFPLENBQUM7SUFxQnRELENBQUM7SUFHSixPQUFPLENBQUMsQ0FBQztRQUNQLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTTtZQUNwRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGVBQWU7SUFDZixDQUFDO0lBRUQsVUFBVTtRQUNSLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sZ0JBQWdCLEdBQXFCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2FBQy9ELG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFFLHVEQUF1RDthQUN6RixhQUFhLENBQUMsQ0FBQyxFQUFDLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsRUFBQyxDQUFDLENBQUM7UUFDdkgsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUV0QyxtREFBbUQ7UUFDbkQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRTtZQUMzQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUE7UUFFRixVQUFVLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRSxFQUFFO1lBQzlDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7OEdBaEVVLGFBQWE7a0dBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFKekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3FHQUlxQixTQUFTO3NCQUE1QixLQUFLO3VCQUFDLFdBQVc7Z0JBQ0ssV0FBVztzQkFBakMsTUFBTTt1QkFBQyxhQUFhO2dCQUNYLE9BQU87c0JBQWhCLE1BQU07Z0JBS0gsTUFBTTtzQkFEVCxLQUFLO3VCQUFDLFFBQVE7Z0JBVVgsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLGdCQUFnQjtnQkFjdkIsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7QUFtRW5DLE1BQU0sY0FBYyxHQUFzQjtJQUN4QyxPQUFPLEVBQUU7UUFDUCxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUNELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsT0FBTyxFQUFFLFFBQVE7UUFDakIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsUUFBUTtRQUNsQixPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxFQUFFO0tBQ1o7SUFDRCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsUUFBUTtRQUNqQixPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsS0FBSztRQUNmLE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLEVBQUU7S0FDWjtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5T3JpZ2luLCBPdmVybGF5LCBQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNBTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBJQ2hpcCB9IGZyb20gJy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBzYUljb24gfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NhTWVudV0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVEaXJlY3RpdmUge1xuXG4gIC8vIEBJbnB1dCgnc2FNZW51T2JqJykgc2FNZW51T2JqID0ge307XG4gIEBJbnB1dCgnc2FNZW51UmVmJykgc2FNZW51UmVmOiBWaWV3Q29udGFpbmVyUmVmIHwgVGVtcGxhdGVSZWY8RWxlbWVudFJlZj4gfCBudWxsID0gbnVsbDtcbiAgQE91dHB1dCgnb25NZW51RXZlbnQnKSBvbk1lbnVFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBfc2FNZW51OiBJTWVudTtcbiAgX3Bvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyA9ICdyaWdodCc7XG4gIEBJbnB1dCgnc2FNZW51JylcbiAgZ2V0IHNhTWVudSgpOiBJTWVudSB7XG4gICAgcmV0dXJuIHRoaXMuX3NhTWVudTtcbiAgfVxuXG4gIHNldCBzYU1lbnUodmFsdWU6IElNZW51KSB7XG4gICAgdGhpcy5fc2FNZW51ID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoJ3NhTWFudVBvc2l0aW9uJylcbiAgZ2V0IHBvc2l0aW9uKCl7XG4gICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uO1xuICB9XG4gIHNldCBwb3NpdGlvbih2YWx1ZTogJ2xlZnQnIHwgJ3JpZ2h0JyB8ICd0b3AnIHwgJ2JvdHRvbScpe1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBlbFJlZjpFbGVtZW50UmVmXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZSkge1xuICAgIGlmKCEhdGhpcy5fc2FNZW51Py5pdGVtcz8ubGVuZ3RoIHx8ICEhdGhpcy5fc2FNZW51Py5pdGVtR3JvdXBzPy5sZW5ndGgpXG4gICAgICB0aGlzLmF0dGFjaE1lbnUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpe1xuICB9XG5cbiAgYXR0YWNoTWVudSgpe1xuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IG1lbnVQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFNBTWVudUNvbXBvbmVudCk7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneTogUG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhob3N0RWxlbWVudCkgIC8vIFBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB0YXJnZXQgZWxlbWVudCAodGhlIGJ1dHRvbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFt7Li4uTUVOVV9QT1NJVElPTlNbdGhpcy5fcG9zaXRpb25dLCAuLi4odGhpcy5fc2FNZW51Lm92ZXJsYXlDb25maWcgfHwge30pfV0pO1xuXG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe3Bvc2l0aW9uU3RyYXRlZ3ksIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCl9KTtcbiAgICBjb25zdCBjb21wUmVmID0gb3ZlcmxheVJlZi5hdHRhY2gobWVudVBvcnRhbCk7XG4gICAgY29tcFJlZi5pbnN0YW5jZS5tZW51ID0gdGhpcy5zYU1lbnU7XG4gICAgY29tcFJlZi5pbnN0YW5jZS5ob3N0RWwgPSBob3N0RWxlbWVudDtcblxuICAgIC8vIFN1YnNjcmliZSB0byBtZW51IGNvbXBvbmVudCBldmVudHMgYW5kIGVtaXQgdGhlbVxuICAgIGNvbXBSZWYuaW5zdGFuY2Uub25FdmVudC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgdGhpcy5vbkV2ZW50LmVtaXQocmVzKTtcbiAgICB9KTtcblxuICAgIGNvbXBSZWYuaW5zdGFuY2UuY2xvc2VFdmVudC5zdWJzY3JpYmUoKHJlcyk9PntcbiAgICAgIG92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgIH0pXG5cbiAgICBvdmVybGF5UmVmLm91dHNpZGVQb2ludGVyRXZlbnRzKCkuc3Vic2NyaWJlKCgpPT57XG4gICAgICBvdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICB9KVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1lbnV7XG4gIHdpZHRoPzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgc2hvd1RyYXk/OiBib29sZWFuO1xuICBpdGVtcz86IElNZW51SXRlbVtdO1xuICBzaG93U2VhcmNoPzogYm9vbGVhbjtcbiAgc2hvd0FkZEljb24/OiBib29sZWFuO1xuICBzZWFyY2hQbGFjZWhvbGRlcj86IHN0cmluZztcbiAgaXRlbUdyb3Vwcz86IElNZW51R3JvdXBbXTtcbiAgb3ZlcmxheUNvbmZpZz86IHtcbiAgICBvZmZzZXRYPzogbnVtYmVyLFxuICAgIG9mZnNldFk/OiBudW1iZXJcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBJTWVudUl0ZW17XG4gIGxhYmVsPzogc3RyaW5nO1xuICBpc1NlbGVjdGVkPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHN0YXR1cz86ICdhY3RpdmUnIHwgJ2luYWN0aXZlJyB8ICdkaXNhYmxlZCc7XG4gIGNoaXBzPzpBcnJheTxJQ2hpcD47IFxuICBpY29uPzogc2FJY29uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZW51R3JvdXB7XG4gIGdyb3VwVGl0bGU/OiBzdHJpbmc7XG4gIGl0ZW1zPzogSU1lbnVJdGVtW107XG59XG5cbnR5cGUgTXlPdmVybGF5UG9zaXRpb25zID0ge1xuICBba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbjsgIC8vIEtleXMgY2FuIGJlIGFueSBzdHJpbmcsIHZhbHVlcyBtdXN0IGJlIENvbm5lY3RlZFBvc2l0aW9uXG59O1xuY29uc3QgTUVOVV9QT1NJVElPTlM6IE15T3ZlcmxheVBvc2l0aW9ucz0ge1xuICAncmlnaHQnOiB7XG4gICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgIG9mZnNldFg6IDIwLFxuICAgIG9mZnNldFk6IDBcbiAgfSxcbiAgJ2xlZnQnOiB7XG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgIG9mZnNldFg6IDIwLFxuICAgIG9mZnNldFk6IDBcbiAgfSxcbiAgJ3RvcCc6IHtcbiAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgIG9mZnNldFg6IDAsXG4gICAgb2Zmc2V0WTogMjBcbiAgfSxcbiAgJ2JvdHRvbSc6IHtcbiAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIG9mZnNldFg6IDAsXG4gICAgb2Zmc2V0WTogMjBcbiAgfVxufSJdfQ==
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL21lbnUvbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQVF0RCxNQUFNLE9BQU8sYUFBYTtJQVd4QixJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEtBQVk7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBMEM7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVELFlBQ1UsT0FBZ0IsRUFDaEIsS0FBZ0I7UUFEaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFXO1FBNUIxQixzQ0FBc0M7UUFDbEIsY0FBUyxHQUFzRCxJQUFJLENBQUM7UUFDakUsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRSxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsZUFBVSxHQUF1RCxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BGLGVBQVUsR0FBdUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUc5RixjQUFTLEdBQXdD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QWpDLE1BQU07dUJBQUMsYUFBYTtnQkFDWCxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFLSCxNQUFNO3NCQURULEtBQUs7dUJBQUMsUUFBUTtnQkFVWCxRQUFRO3NCQURYLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQWN2QixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztBQXVGbkMsTUFBTSxjQUFjLEdBQXNCO0lBQ3hDLE9BQU8sRUFBRTtRQUNQLE9BQU8sRUFBRSxLQUFLO1FBQ2QsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLE9BQU87UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBQ0QsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFLE9BQU87UUFDaEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLEtBQUs7UUFDZixRQUFRLEVBQUUsUUFBUTtRQUNsQixPQUFPLEVBQUUsRUFBRTtRQUNYLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxLQUFLLEVBQUU7UUFDTCxPQUFPLEVBQUUsUUFBUTtRQUNqQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLEVBQUU7S0FDWjtJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsRUFBRTtLQUNaO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4sIE92ZXJsYXksIFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTQU1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgSUNoaXAgfSBmcm9tICcuLi9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgc2FJY29uIH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzYU1lbnVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNZW51RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvLyBASW5wdXQoJ3NhTWVudU9iaicpIHNhTWVudU9iaiA9IHt9O1xuICBASW5wdXQoJ3NhTWVudVJlZicpIHNhTWVudVJlZjogVmlld0NvbnRhaW5lclJlZiB8IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+IHwgbnVsbCA9IG51bGw7XG4gIEBPdXRwdXQoJ29uTWVudUV2ZW50Jykgb25NZW51RXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25FdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkF0dGFjaGVkOiBFdmVudEVtaXR0ZXI8eyBlbGVtZW50OiBFbGVtZW50UmVmLCBtZW51OiBJTWVudSB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uRGV0YWNoZWQ6IEV2ZW50RW1pdHRlcjx7IGVsZW1lbnQ6IEVsZW1lbnRSZWYsIG1lbnU6IElNZW51IH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIF9zYU1lbnU6IElNZW51O1xuICBfcG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nID0gJ3JpZ2h0JztcbiAgQElucHV0KCdzYU1lbnUnKVxuICBnZXQgc2FNZW51KCk6IElNZW51IHtcbiAgICByZXR1cm4gdGhpcy5fc2FNZW51O1xuICB9XG5cbiAgc2V0IHNhTWVudSh2YWx1ZTogSU1lbnUpIHtcbiAgICB0aGlzLl9zYU1lbnUgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgnc2FNYW51UG9zaXRpb24nKVxuICBnZXQgcG9zaXRpb24oKXtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gIH1cbiAgc2V0IHBvc2l0aW9uKHZhbHVlOiAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyl7XG4gICAgdGhpcy5fcG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIGVsUmVmOkVsZW1lbnRSZWZcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGljayhlKSB7XG4gICAgaWYoISF0aGlzLl9zYU1lbnU/Lml0ZW1zPy5sZW5ndGggfHwgISF0aGlzLl9zYU1lbnU/Lml0ZW1Hcm91cHM/Lmxlbmd0aClcbiAgICAgIHRoaXMuYXR0YWNoTWVudSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gRW1pdCB0aGUgb25BdHRhY2hlZCBldmVudCB3aGVuIHRoZSBkaXJlY3RpdmUgaXMgaW5pdGlhbGl6ZWRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIFxuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICB9XG5cbiAgYXR0YWNoTWVudSgpe1xuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IG1lbnVQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFNBTWVudUNvbXBvbmVudCk7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneTogUG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhob3N0RWxlbWVudCkgIC8vIFBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSB0YXJnZXQgZWxlbWVudCAodGhlIGJ1dHRvbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFt7Li4uTUVOVV9QT1NJVElPTlNbdGhpcy5fcG9zaXRpb25dLCAuLi4odGhpcy5fc2FNZW51Lm92ZXJsYXlDb25maWcgfHwge30pfV0pO1xuXG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe3Bvc2l0aW9uU3RyYXRlZ3ksIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCl9KTtcbiAgICBjb25zdCBjb21wUmVmID0gb3ZlcmxheVJlZi5hdHRhY2gobWVudVBvcnRhbCk7XG4gICAgY29tcFJlZi5pbnN0YW5jZS5tZW51ID0gdGhpcy5zYU1lbnU7XG4gICAgY29tcFJlZi5pbnN0YW5jZS5ob3N0RWwgPSBob3N0RWxlbWVudDtcblxuICAgIC8vIFN1YnNjcmliZSB0byBtZW51IGNvbXBvbmVudCBldmVudHMgYW5kIGVtaXQgdGhlbVxuICAgIGNvbXBSZWYuaW5zdGFuY2Uub25FdmVudC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgdGhpcy5vbkV2ZW50LmVtaXQocmVzKTtcbiAgICB9KTtcblxuICAgIGNvbXBSZWYuaW5zdGFuY2UuY2xvc2VFdmVudC5zdWJzY3JpYmUoKHJlcyk9PntcbiAgICAgIHRoaXMub25EZXRhY2hlZC5lbWl0KHtcbiAgICAgICAgZWxlbWVudDogdGhpcy5lbFJlZixcbiAgICAgICAgbWVudTogdGhpcy5fc2FNZW51XG4gICAgICB9KTtcbiAgICAgIG92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgIH0pXG5cbiAgICBvdmVybGF5UmVmLm91dHNpZGVQb2ludGVyRXZlbnRzKCkuc3Vic2NyaWJlKCgpPT57XG4gICAgICB0aGlzLm9uRGV0YWNoZWQuZW1pdCh7XG4gICAgICAgIGVsZW1lbnQ6IHRoaXMuZWxSZWYsXG4gICAgICAgIG1lbnU6IHRoaXMuX3NhTWVudVxuICAgICAgfSk7XG4gICAgICBvdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICB9KVxuXG4gICAgdGhpcy5vbkF0dGFjaGVkLmVtaXQoe1xuICAgICAgZWxlbWVudDogdGhpcy5lbFJlZixcbiAgICAgIG1lbnU6IHRoaXMuX3NhTWVudVxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1lbnV7XG4gIHdpZHRoPzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgc2hvd1RyYXk/OiBib29sZWFuO1xuICBpdGVtcz86IElNZW51SXRlbVtdO1xuICBzaG93U2VhcmNoPzogYm9vbGVhbjtcbiAgc2hvd0FkZEljb24/OiBib29sZWFuO1xuICBzZWFyY2hQbGFjZWhvbGRlcj86IHN0cmluZztcbiAgaXRlbUdyb3Vwcz86IElNZW51R3JvdXBbXTtcbiAgb3ZlcmxheUNvbmZpZz86IHtcbiAgICBvZmZzZXRYPzogbnVtYmVyLFxuICAgIG9mZnNldFk/OiBudW1iZXJcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBJTWVudUl0ZW17XG4gIGxhYmVsPzogc3RyaW5nO1xuICBpc1NlbGVjdGVkPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmcgfCBudW1iZXI7XG4gIHN0YXR1cz86ICdhY3RpdmUnIHwgJ2luYWN0aXZlJyB8ICdkaXNhYmxlZCc7XG4gIGNoaXBzPzpBcnJheTxJQ2hpcD47IFxuICBpY29uPzogc2FJY29uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZW51R3JvdXB7XG4gIGdyb3VwVGl0bGU/OiBzdHJpbmc7XG4gIGl0ZW1zPzogSU1lbnVJdGVtW107XG59XG5cbnR5cGUgTXlPdmVybGF5UG9zaXRpb25zID0ge1xuICBba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbjsgIC8vIEtleXMgY2FuIGJlIGFueSBzdHJpbmcsIHZhbHVlcyBtdXN0IGJlIENvbm5lY3RlZFBvc2l0aW9uXG59O1xuY29uc3QgTUVOVV9QT1NJVElPTlM6IE15T3ZlcmxheVBvc2l0aW9ucz0ge1xuICAncmlnaHQnOiB7XG4gICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgIG9mZnNldFg6IDIwLFxuICAgIG9mZnNldFk6IDBcbiAgfSxcbiAgJ2xlZnQnOiB7XG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgIG9mZnNldFg6IDIwLFxuICAgIG9mZnNldFk6IDBcbiAgfSxcbiAgJ3RvcCc6IHtcbiAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgIG9mZnNldFg6IDAsXG4gICAgb2Zmc2V0WTogMjBcbiAgfSxcbiAgJ2JvdHRvbSc6IHtcbiAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIG9mZnNldFg6IDAsXG4gICAgb2Zmc2V0WTogMjBcbiAgfVxufSJdfQ==
|