sgh-navbar 0.0.44 → 0.0.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/lib/sgh-navbar.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/sgh-navbar.module.mjs +27 -27
- package/{esm2020 → esm2022}/lib/sgh-navbar.service.mjs +4 -4
- package/esm2022/lib/sidenav/menu-list-item/menu-list-item.component.mjs +46 -0
- package/esm2022/lib/sidenav/sidenav.component.mjs +112 -0
- package/esm2022/lib/sidenav/sublevel-menu.component.mjs +168 -0
- package/{esm2020 → esm2022}/lib/toolbar/noftification-list/noftification-list.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/search.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/toolbar/sub-client-dialog/sub-client-dialog.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/toolbar/toolbar.component.mjs +7 -7
- package/{fesm2020 → fesm2022}/sgh-navbar.mjs +114 -114
- package/fesm2022/sgh-navbar.mjs.map +1 -0
- package/lib/sidenav/menu-list-item/menu-list-item.component.d.ts +1 -1
- package/lib/sidenav/sidenav.component.d.ts +1 -1
- package/lib/sidenav/sublevel-menu.component.d.ts +1 -1
- package/lib/toolbar/toolbar.component.d.ts +1 -1
- package/package.json +7 -13
- package/esm2020/lib/sidenav/menu-list-item/menu-list-item.component.mjs +0 -46
- package/esm2020/lib/sidenav/sidenav.component.mjs +0 -112
- package/esm2020/lib/sidenav/sublevel-menu.component.mjs +0 -168
- package/fesm2015/sgh-navbar.mjs +0 -837
- package/fesm2015/sgh-navbar.mjs.map +0 -1
- package/fesm2020/sgh-navbar.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/sidenav/helper.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/sidenav/nav-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/sidenav/sidenav-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/toolbar/toolbar-data.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/sgh-navbar.mjs +0 -0
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
-
import { fadeInOut } from './helper';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/router";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
export class SublevelMenuComponent {
|
|
8
|
-
constructor(router) {
|
|
9
|
-
this.router = router;
|
|
10
|
-
this.data = {
|
|
11
|
-
routeLink: '',
|
|
12
|
-
icon: '',
|
|
13
|
-
label: '',
|
|
14
|
-
visible: true,
|
|
15
|
-
items: []
|
|
16
|
-
};
|
|
17
|
-
this.collapsed = false;
|
|
18
|
-
this.multiple = false;
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
}
|
|
22
|
-
handleClick(item) {
|
|
23
|
-
if (!this.multiple) {
|
|
24
|
-
if (this.data.items && this.data.items.length > 0) {
|
|
25
|
-
for (let modelItem of this.data.items) {
|
|
26
|
-
if (item !== modelItem && modelItem.expanded) {
|
|
27
|
-
modelItem.expanded = false;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
item.expanded = !item.expanded;
|
|
33
|
-
}
|
|
34
|
-
getActiveClass(item) {
|
|
35
|
-
return item.expanded && this.router.url.includes(item.routeLink)
|
|
36
|
-
? 'active-sublevel'
|
|
37
|
-
: '';
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
SublevelMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SublevelMenuComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
SublevelMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SublevelMenuComponent, selector: "app-sublevel-menu", inputs: { data: "data", collapsed: "collapsed", animating: "animating", expanded: "expanded", multiple: "multiple" }, ngImport: i0, template: `
|
|
42
|
-
<ul *ngIf="collapsed && data.items && data.items.length > 0"
|
|
43
|
-
[@submenu]="expanded
|
|
44
|
-
? {value: 'visible',
|
|
45
|
-
params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}
|
|
46
|
-
: {value: 'hidden',
|
|
47
|
-
params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}"
|
|
48
|
-
class="sublevel-nav"
|
|
49
|
-
>
|
|
50
|
-
<li *ngFor="let item of data.items" class="sublevel-nav-item">
|
|
51
|
-
<a class="sublevel-nav-link"
|
|
52
|
-
(click)="handleClick(item)"
|
|
53
|
-
*ngIf="item.items && item.items.length > 0 && item.visible"
|
|
54
|
-
[ngClass]="getActiveClass(item)"
|
|
55
|
-
>
|
|
56
|
-
<i class="sublevel-link-icon fa fa-circle"></i>
|
|
57
|
-
<span class="sublevel-link-text" @fadeInOut
|
|
58
|
-
*ngIf="collapsed">{{item.label}}</span>
|
|
59
|
-
<i *ngIf="item.items && collapsed" class="menu-collapse-icon"
|
|
60
|
-
[ngClass]="!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'"
|
|
61
|
-
></i>
|
|
62
|
-
</a>
|
|
63
|
-
<a class="sublevel-nav-link"
|
|
64
|
-
*ngIf="(!item.items || (item.items && item.items.length === 0)) && item.visible"
|
|
65
|
-
[routerLink]="[item.routeLink]"
|
|
66
|
-
routerLinkActive="active-sublevel"
|
|
67
|
-
[routerLinkActiveOptions]="{exact: true}"
|
|
68
|
-
>
|
|
69
|
-
<i class="sublevel-link-icon fa fa-circle"></i>
|
|
70
|
-
<span class="sublevel-link-text" @fadeInOut
|
|
71
|
-
*ngIf="collapsed">{{item.label}}</span>
|
|
72
|
-
</a>
|
|
73
|
-
<div *ngIf="item.items && item.items.length > 0">
|
|
74
|
-
<app-sublevel-menu
|
|
75
|
-
[data]="item"
|
|
76
|
-
[collapsed]="collapsed"
|
|
77
|
-
[multiple]="multiple"
|
|
78
|
-
[expanded]="item.expanded"
|
|
79
|
-
></app-sublevel-menu>
|
|
80
|
-
</div>
|
|
81
|
-
</li>
|
|
82
|
-
</ul>
|
|
83
|
-
`, isInline: true, styles: [".sidebar_div a>div>i{padding-right:10px}.menu-wrapper{min-height:calc(100vh - 70px);overflow:auto;position:relative}.menu-wrapper .auth-info-wrp{position:absolute;bottom:0;width:100%;padding-top:5px;border-top:1px solid lightgrey;color:#005860;display:flex;flex-direction:column}.menu-wrapper .auth-info-wrp .client-info-wrp{display:flex;gap:10px;font-size:12px;font-weight:700}.menu-wrapper .auth-info-wrp .role-info-wrp{font-size:12px}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text{font-weight:400}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text.role{font-weight:700}.fa-size{font-size:1.6em;line-height:.75em;vertical-align:-15%}.sgh-sidebar{height:auto;max-height:calc(100vh - 60px);box-shadow:0 1px 0 -1px #0000,0 1px 1px #0003,0 1px 3px #0000001f;border-right:none;overflow-y:auto;padding:5px 0;font-size:12px;margin-right:10px;background:white;width:240px;display:flex;flex-direction:column;align-items:center;z-index:1}.sidebar_div{margin:0;padding:0;width:220px;overflow:hidden}.sidebar_div a{color:#005860;padding:10px 14px;text-decoration:none;margin:0 2px;display:flex;align-items:center;justify-content:space-between}.sidebar_div a.active{background-color:#006068;border-radius:13px}.sidebar_div a.active .text-wrap,.sidebar_div a.active .text-wrapper{color:#fff!important}.text-wrap{display:flex;justify-content:flex-start;width:100%}.text-wrap .icon-wrapper{width:15%}.sidebar_div a:hover:not(.active){background-color:#26787f;color:#fff;border-radius:12px}div.content{margin-left:200px;padding:1px 16px;height:1000px}@media screen and (max-width: 700px){.sidebar_div{height:auto;position:relative}div.content{margin-left:0}}@media screen and (max-width: 400px){.sidebar_div a{text-align:center;float:none}}.nav-list li a{text-decoration:none;display:block;padding:10px;cursor:pointer;border-bottom:1px solid #515151;color:#9d9d9d}.nav-list>li>a{color:#c4c4c4;font-size:14px;padding-left:15px;border-bottom:1px solid #585858}.nav-list>li>a:hover{background-color:#444}.sidenav-overlay{display:none;position:fixed;width:100%;height:100%;background-color:#00000063;left:0%;top:0;z-index:1;cursor:default}@media screen and (max-width: 600px){.sidebar_div{margin:0}.sgh-sidebar{position:fixed;background:white}.sidenav-overlay{display:block}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: SublevelMenuComponent, selector: "app-sublevel-menu", inputs: ["data", "collapsed", "animating", "expanded", "multiple"] }], animations: [
|
|
84
|
-
fadeInOut,
|
|
85
|
-
trigger('submenu', [
|
|
86
|
-
state('hidden', style({
|
|
87
|
-
height: '0',
|
|
88
|
-
overflow: 'hidden'
|
|
89
|
-
})),
|
|
90
|
-
state('visible', style({
|
|
91
|
-
height: '*'
|
|
92
|
-
})),
|
|
93
|
-
transition('visible <=> hidden', [style({ overflow: 'hidden' }),
|
|
94
|
-
animate('{{transitionParams}}')]),
|
|
95
|
-
transition('void => *', animate(0))
|
|
96
|
-
])
|
|
97
|
-
] });
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SublevelMenuComponent, decorators: [{
|
|
99
|
-
type: Component,
|
|
100
|
-
args: [{ selector: 'app-sublevel-menu', template: `
|
|
101
|
-
<ul *ngIf="collapsed && data.items && data.items.length > 0"
|
|
102
|
-
[@submenu]="expanded
|
|
103
|
-
? {value: 'visible',
|
|
104
|
-
params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '*'}}
|
|
105
|
-
: {value: 'hidden',
|
|
106
|
-
params: {transitionParams: '400ms cubic-bezier(0.86, 0, 0.07, 1)', height: '0'}}"
|
|
107
|
-
class="sublevel-nav"
|
|
108
|
-
>
|
|
109
|
-
<li *ngFor="let item of data.items" class="sublevel-nav-item">
|
|
110
|
-
<a class="sublevel-nav-link"
|
|
111
|
-
(click)="handleClick(item)"
|
|
112
|
-
*ngIf="item.items && item.items.length > 0 && item.visible"
|
|
113
|
-
[ngClass]="getActiveClass(item)"
|
|
114
|
-
>
|
|
115
|
-
<i class="sublevel-link-icon fa fa-circle"></i>
|
|
116
|
-
<span class="sublevel-link-text" @fadeInOut
|
|
117
|
-
*ngIf="collapsed">{{item.label}}</span>
|
|
118
|
-
<i *ngIf="item.items && collapsed" class="menu-collapse-icon"
|
|
119
|
-
[ngClass]="!item.expanded ? 'fal fa-angle-right' : 'fal fa-angle-down'"
|
|
120
|
-
></i>
|
|
121
|
-
</a>
|
|
122
|
-
<a class="sublevel-nav-link"
|
|
123
|
-
*ngIf="(!item.items || (item.items && item.items.length === 0)) && item.visible"
|
|
124
|
-
[routerLink]="[item.routeLink]"
|
|
125
|
-
routerLinkActive="active-sublevel"
|
|
126
|
-
[routerLinkActiveOptions]="{exact: true}"
|
|
127
|
-
>
|
|
128
|
-
<i class="sublevel-link-icon fa fa-circle"></i>
|
|
129
|
-
<span class="sublevel-link-text" @fadeInOut
|
|
130
|
-
*ngIf="collapsed">{{item.label}}</span>
|
|
131
|
-
</a>
|
|
132
|
-
<div *ngIf="item.items && item.items.length > 0">
|
|
133
|
-
<app-sublevel-menu
|
|
134
|
-
[data]="item"
|
|
135
|
-
[collapsed]="collapsed"
|
|
136
|
-
[multiple]="multiple"
|
|
137
|
-
[expanded]="item.expanded"
|
|
138
|
-
></app-sublevel-menu>
|
|
139
|
-
</div>
|
|
140
|
-
</li>
|
|
141
|
-
</ul>
|
|
142
|
-
`, animations: [
|
|
143
|
-
fadeInOut,
|
|
144
|
-
trigger('submenu', [
|
|
145
|
-
state('hidden', style({
|
|
146
|
-
height: '0',
|
|
147
|
-
overflow: 'hidden'
|
|
148
|
-
})),
|
|
149
|
-
state('visible', style({
|
|
150
|
-
height: '*'
|
|
151
|
-
})),
|
|
152
|
-
transition('visible <=> hidden', [style({ overflow: 'hidden' }),
|
|
153
|
-
animate('{{transitionParams}}')]),
|
|
154
|
-
transition('void => *', animate(0))
|
|
155
|
-
])
|
|
156
|
-
], styles: [".sidebar_div a>div>i{padding-right:10px}.menu-wrapper{min-height:calc(100vh - 70px);overflow:auto;position:relative}.menu-wrapper .auth-info-wrp{position:absolute;bottom:0;width:100%;padding-top:5px;border-top:1px solid lightgrey;color:#005860;display:flex;flex-direction:column}.menu-wrapper .auth-info-wrp .client-info-wrp{display:flex;gap:10px;font-size:12px;font-weight:700}.menu-wrapper .auth-info-wrp .role-info-wrp{font-size:12px}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text{font-weight:400}.menu-wrapper .auth-info-wrp .role-info-wrp .role-info-text.role{font-weight:700}.fa-size{font-size:1.6em;line-height:.75em;vertical-align:-15%}.sgh-sidebar{height:auto;max-height:calc(100vh - 60px);box-shadow:0 1px 0 -1px #0000,0 1px 1px #0003,0 1px 3px #0000001f;border-right:none;overflow-y:auto;padding:5px 0;font-size:12px;margin-right:10px;background:white;width:240px;display:flex;flex-direction:column;align-items:center;z-index:1}.sidebar_div{margin:0;padding:0;width:220px;overflow:hidden}.sidebar_div a{color:#005860;padding:10px 14px;text-decoration:none;margin:0 2px;display:flex;align-items:center;justify-content:space-between}.sidebar_div a.active{background-color:#006068;border-radius:13px}.sidebar_div a.active .text-wrap,.sidebar_div a.active .text-wrapper{color:#fff!important}.text-wrap{display:flex;justify-content:flex-start;width:100%}.text-wrap .icon-wrapper{width:15%}.sidebar_div a:hover:not(.active){background-color:#26787f;color:#fff;border-radius:12px}div.content{margin-left:200px;padding:1px 16px;height:1000px}@media screen and (max-width: 700px){.sidebar_div{height:auto;position:relative}div.content{margin-left:0}}@media screen and (max-width: 400px){.sidebar_div a{text-align:center;float:none}}.nav-list li a{text-decoration:none;display:block;padding:10px;cursor:pointer;border-bottom:1px solid #515151;color:#9d9d9d}.nav-list>li>a{color:#c4c4c4;font-size:14px;padding-left:15px;border-bottom:1px solid #585858}.nav-list>li>a:hover{background-color:#444}.sidenav-overlay{display:none;position:fixed;width:100%;height:100%;background-color:#00000063;left:0%;top:0;z-index:1;cursor:default}@media screen and (max-width: 600px){.sidebar_div{margin:0}.sgh-sidebar{position:fixed;background:white}.sidenav-overlay{display:block}}\n"] }]
|
|
157
|
-
}], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { data: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], collapsed: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], animating: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], expanded: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], multiple: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}] } });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibGV2ZWwtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZ2gtbmF2YmFyL3NyYy9saWIvc2lkZW5hdi9zdWJsZXZlbC1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxVQUFVLENBQUM7Ozs7QUFnRWxELE1BQU0sT0FBTyxxQkFBcUI7SUFjaEMsWUFBbUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFaeEIsU0FBSSxHQUFnQjtZQUMzQixTQUFTLEVBQUUsRUFBRTtZQUNiLElBQUksRUFBRSxFQUFFO1lBQ1IsS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsSUFBSTtZQUNiLEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQTtRQUNRLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsYUFBUSxHQUFZLEtBQUssQ0FBQztJQUVDLENBQUM7SUFFckMsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBUztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2pELEtBQUksSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ3BDLElBQUksSUFBSSxLQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFO3dCQUMzQyxTQUFTLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztxQkFDNUI7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFpQjtRQUM5QixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDOUQsQ0FBQyxDQUFDLGlCQUFpQjtZQUNuQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQzs7a0hBcENVLHFCQUFxQjtzR0FBckIscUJBQXFCLCtLQTVEdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDVCwyakdBa0JVLHFCQUFxQixvSEFoQnBCO1FBQ1YsU0FBUztRQUNULE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDakIsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0JBQ3BCLE1BQU0sRUFBRSxHQUFHO2dCQUNYLFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDO2dCQUNyQixNQUFNLEVBQUUsR0FBRzthQUNaLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsQ0FBQztnQkFDM0QsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztZQUNuQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwQyxDQUFDO0tBQ0g7MkZBRVUscUJBQXFCO2tCQTlEakMsU0FBUzsrQkFDRSxtQkFBbUIsWUFDbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDVCxjQUVXO3dCQUNWLFNBQVM7d0JBQ1QsT0FBTyxDQUFDLFNBQVMsRUFBRTs0QkFDakIsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0NBQ3BCLE1BQU0sRUFBRSxHQUFHO2dDQUNYLFFBQVEsRUFBRSxRQUFROzZCQUNuQixDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7Z0NBQ3JCLE1BQU0sRUFBRSxHQUFHOzZCQUNaLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUM7Z0NBQzNELE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7NEJBQ25DLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUNwQyxDQUFDO3FCQUNIOzZGQUlRLElBQUk7c0JBQVosS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmYWRlSW5PdXQsIElOYXZiYXJEYXRhIH0gZnJvbSAnLi9oZWxwZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc3VibGV2ZWwtbWVudScsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDx1bCAqbmdJZj1cImNvbGxhcHNlZCAmJiBkYXRhLml0ZW1zICYmIGRhdGEuaXRlbXMubGVuZ3RoID4gMFwiXHJcbiAgICBbQHN1Ym1lbnVdPVwiZXhwYW5kZWRcclxuICAgICAgPyB7dmFsdWU6ICd2aXNpYmxlJyxcclxuICAgICAgICAgIHBhcmFtczoge3RyYW5zaXRpb25QYXJhbXM6ICc0MDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSknLCBoZWlnaHQ6ICcqJ319XHJcbiAgICAgIDoge3ZhbHVlOiAnaGlkZGVuJyxcclxuICAgICAgICAgIHBhcmFtczoge3RyYW5zaXRpb25QYXJhbXM6ICc0MDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSknLCBoZWlnaHQ6ICcwJ319XCJcclxuICAgICAgY2xhc3M9XCJzdWJsZXZlbC1uYXZcIlxyXG4gICAgPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YS5pdGVtc1wiIGNsYXNzPVwic3VibGV2ZWwtbmF2LWl0ZW1cIj5cclxuICAgICAgICAgIDxhIGNsYXNzPVwic3VibGV2ZWwtbmF2LWxpbmtcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKGl0ZW0pXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtLml0ZW1zICYmIGl0ZW0uaXRlbXMubGVuZ3RoID4gMCAmJiBpdGVtLnZpc2libGVcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJnZXRBY3RpdmVDbGFzcyhpdGVtKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwic3VibGV2ZWwtbGluay1pY29uIGZhIGZhLWNpcmNsZVwiPjwvaT5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJsZXZlbC1saW5rLXRleHRcIiBAZmFkZUluT3V0XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNvbGxhcHNlZFwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8aSAqbmdJZj1cIml0ZW0uaXRlbXMgJiYgY29sbGFwc2VkXCIgY2xhc3M9XCJtZW51LWNvbGxhcHNlLWljb25cIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIiFpdGVtLmV4cGFuZGVkID8gJ2ZhbCBmYS1hbmdsZS1yaWdodCcgOiAnZmFsIGZhLWFuZ2xlLWRvd24nXCJcclxuICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICAgIDxhIGNsYXNzPVwic3VibGV2ZWwtbmF2LWxpbmtcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIighaXRlbS5pdGVtcyB8fCAoaXRlbS5pdGVtcyAmJiBpdGVtLml0ZW1zLmxlbmd0aCA9PT0gMCkpICYmIGl0ZW0udmlzaWJsZVwiXHJcbiAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltpdGVtLnJvdXRlTGlua11cIlxyXG4gICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlLXN1YmxldmVsXCJcclxuICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogdHJ1ZX1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cInN1YmxldmVsLWxpbmstaWNvbiBmYSBmYS1jaXJjbGVcIj48L2k+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3VibGV2ZWwtbGluay10ZXh0XCIgQGZhZGVJbk91dFxyXG4gICAgICAgICAgICAgICAqbmdJZj1cImNvbGxhcHNlZFwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgIDxhcHAtc3VibGV2ZWwtbWVudVxyXG4gICAgICAgICAgICAgIFtkYXRhXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICAgIFtjb2xsYXBzZWRdPVwiY29sbGFwc2VkXCJcclxuICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgICAgICAgICAgIFtleHBhbmRlZF09XCJpdGVtLmV4cGFuZGVkXCJcclxuICAgICAgICAgICAgPjwvYXBwLXN1YmxldmVsLW1lbnU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9zaWRlbmF2LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgZmFkZUluT3V0LFxyXG4gICAgdHJpZ2dlcignc3VibWVudScsIFtcclxuICAgICAgc3RhdGUoJ2hpZGRlbicsIHN0eWxlKHtcclxuICAgICAgICBoZWlnaHQ6ICcwJyxcclxuICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbidcclxuICAgICAgfSkpLFxyXG4gICAgICBzdGF0ZSgndmlzaWJsZScsIHN0eWxlKHtcclxuICAgICAgICBoZWlnaHQ6ICcqJ1xyXG4gICAgICB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ3Zpc2libGUgPD0+IGhpZGRlbicsIFtzdHlsZSh7b3ZlcmZsb3c6ICdoaWRkZW4nfSksXHJcbiAgICAgICAgYW5pbWF0ZSgne3t0cmFuc2l0aW9uUGFyYW1zfX0nKV0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKDApKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdWJsZXZlbE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBkYXRhOiBJTmF2YmFyRGF0YSA9IHtcclxuICAgIHJvdXRlTGluazogJycsXHJcbiAgICBpY29uOiAnJyxcclxuICAgIGxhYmVsOiAnJyxcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICBpdGVtczogW11cclxuICB9XHJcbiAgQElucHV0KCkgY29sbGFwc2VkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYW5pbWF0aW5nOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDbGljayhpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICBpZiAodGhpcy5kYXRhLml0ZW1zICYmIHRoaXMuZGF0YS5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZm9yKGxldCBtb2RlbEl0ZW0gb2YgdGhpcy5kYXRhLml0ZW1zKSB7XHJcbiAgICAgICAgICBpZiAoaXRlbSAhPT1tb2RlbEl0ZW0gJiYgbW9kZWxJdGVtLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgICAgIG1vZGVsSXRlbS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaXRlbS5leHBhbmRlZCA9ICFpdGVtLmV4cGFuZGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlQ2xhc3MoaXRlbTogSU5hdmJhckRhdGEpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW0uZXhwYW5kZWQgJiYgdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKGl0ZW0ucm91dGVMaW5rKVxyXG4gICAgICA/ICdhY3RpdmUtc3VibGV2ZWwnXHJcbiAgICAgIDogJyc7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|