valtech-components 4.0.564 → 4.0.565
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/components/molecules/feedback-form/feedback-form.component.mjs +2 -2
- package/esm2022/lib/components/molecules/request-form/request-form.component.mjs +2 -2
- package/esm2022/lib/components/organisms/api-key-create-modal/api-key-create-modal.component.mjs +2 -2
- package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +2 -2
- package/esm2022/lib/components/organisms/change-email-modal/change-email-modal.component.mjs +2 -2
- package/esm2022/lib/components/organisms/change-password-modal/change-password-modal.component.mjs +1 -1
- package/esm2022/lib/components/organisms/create-org-modal/create-org-modal.component.mjs +2 -2
- package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +1 -1
- package/esm2022/lib/components/organisms/edit-org-modal/edit-org-modal.component.mjs +2 -2
- package/esm2022/lib/components/organisms/form/form.component.mjs +27 -3
- package/esm2022/lib/components/organisms/login/login.component.mjs +21 -3
- package/esm2022/lib/components/organisms/login/types.mjs +1 -1
- package/esm2022/lib/components/organisms/menu/menu.component.mjs +130 -9
- package/esm2022/lib/components/organisms/menu/types.mjs +1 -1
- package/esm2022/lib/components/organisms/mfa-modal/mfa-modal.component.mjs +2 -2
- package/esm2022/lib/components/organisms/mini-games/chessimals-engine.mjs +59 -16
- package/esm2022/lib/components/organisms/mini-games/chessimals-game.component.mjs +139 -6
- package/esm2022/lib/components/organisms/mini-games/christianity-card.component.mjs +3 -9
- package/esm2022/lib/components/organisms/mini-games/christianity-game.component.mjs +13 -3
- package/esm2022/lib/components/organisms/mini-games/mini-games.i18n.mjs +17 -3
- package/esm2022/lib/components/organisms/mini-games/types.mjs +1 -1
- package/esm2022/lib/components/organisms/profile-view/profile-content.component.mjs +2 -2
- package/esm2022/lib/services/auth/guards.mjs +11 -3
- package/esm2022/lib/services/forms/form-schema-builder.service.mjs +2 -1
- package/esm2022/lib/services/forms/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/mini-games/public-api.mjs +54 -2
- package/fesm2022/valtech-components-mini-games.mjs +54 -2
- package/fesm2022/valtech-components-mini-games.mjs.map +1 -1
- package/fesm2022/valtech-components.mjs +422 -56
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/form/form.component.d.ts +3 -1
- package/lib/components/organisms/login/login.component.d.ts +3 -1
- package/lib/components/organisms/login/types.d.ts +6 -1
- package/lib/components/organisms/menu/menu.component.d.ts +17 -1
- package/lib/components/organisms/menu/types.d.ts +14 -0
- package/lib/components/organisms/mini-games/chessimals-engine.d.ts +2 -1
- package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +11 -2
- package/lib/components/organisms/mini-games/christianity-game.component.d.ts +1 -0
- package/lib/components/organisms/mini-games/types.d.ts +2 -0
- package/lib/services/forms/types.d.ts +2 -0
- package/lib/version.d.ts +1 -1
- package/mini-games/public-api.d.ts +11 -0
- package/package.json +1 -1
- package/src/lib/components/styles/overrides.scss +5 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, computed, inject, Input } from '@angular/core';
|
|
2
|
+
import { Component, computed, ElementRef, inject, Input, signal, } from '@angular/core';
|
|
3
3
|
import { IonButton, IonButtons, IonContent, IonHeader, IonIcon, IonMenu, IonMenuToggle, IonToolbar, MenuController, } from '@ionic/angular/standalone';
|
|
4
4
|
import { ImageComponent } from '../../atoms/image/image.component';
|
|
5
5
|
import { ButtonComponent } from '../../atoms/button/button.component';
|
|
@@ -33,6 +33,9 @@ export class MenuComponent {
|
|
|
33
33
|
constructor() {
|
|
34
34
|
this.menuCtrl = inject(MenuController);
|
|
35
35
|
this.i18n = inject(I18nService);
|
|
36
|
+
this.elementRef = inject(ElementRef);
|
|
37
|
+
this.splitPaneOriginalStyles = new Map();
|
|
38
|
+
this.isDesktopCollapsed = signal(false);
|
|
36
39
|
/**
|
|
37
40
|
* Menu configuration.
|
|
38
41
|
*/
|
|
@@ -49,20 +52,108 @@ export class MenuComponent {
|
|
|
49
52
|
return this.props.closeButtonText || this.i18n.t('close');
|
|
50
53
|
});
|
|
51
54
|
}
|
|
55
|
+
ngOnChanges(changes) {
|
|
56
|
+
const propsChange = changes['props'];
|
|
57
|
+
if (!propsChange)
|
|
58
|
+
return;
|
|
59
|
+
const previous = propsChange.previousValue;
|
|
60
|
+
if (!this.retractableMenuEnabled()) {
|
|
61
|
+
this.isDesktopCollapsed.set(false);
|
|
62
|
+
}
|
|
63
|
+
else if (propsChange.firstChange ||
|
|
64
|
+
previous?.desktopCollapsed !== this.props.desktopCollapsed ||
|
|
65
|
+
previous?.retractableMenu !== this.props.retractableMenu) {
|
|
66
|
+
this.isDesktopCollapsed.set(!!this.props.desktopCollapsed);
|
|
67
|
+
}
|
|
68
|
+
this.syncSplitPaneWidth();
|
|
69
|
+
}
|
|
70
|
+
ngAfterViewInit() {
|
|
71
|
+
this.syncSplitPaneWidth();
|
|
72
|
+
}
|
|
73
|
+
ngOnDestroy() {
|
|
74
|
+
this.restoreSplitPaneWidth();
|
|
75
|
+
}
|
|
52
76
|
/**
|
|
53
77
|
* Closes the menu.
|
|
54
78
|
*/
|
|
55
79
|
async closeMenu() {
|
|
56
80
|
await this.menuCtrl.close(this.props.id);
|
|
57
81
|
}
|
|
82
|
+
toggleDesktopCollapse() {
|
|
83
|
+
if (!this.retractableMenuEnabled())
|
|
84
|
+
return;
|
|
85
|
+
this.isDesktopCollapsed.update(collapsed => !collapsed);
|
|
86
|
+
this.syncSplitPaneWidth();
|
|
87
|
+
}
|
|
88
|
+
retractableMenuEnabled() {
|
|
89
|
+
return !!(this.props.retractableMenu ?? this.props.desktopCollapsible);
|
|
90
|
+
}
|
|
91
|
+
desktopCollapseButtonLabel() {
|
|
92
|
+
return this.isDesktopCollapsed()
|
|
93
|
+
? this.props.desktopExpandLabel || 'Expandir menú'
|
|
94
|
+
: this.props.desktopCollapseLabel || 'Contraer menú';
|
|
95
|
+
}
|
|
96
|
+
desktopCollapseIcon() {
|
|
97
|
+
const isEnd = this.props.side === 'end';
|
|
98
|
+
if (this.isDesktopCollapsed()) {
|
|
99
|
+
return isEnd ? 'chevron-back-outline' : 'chevron-forward-outline';
|
|
100
|
+
}
|
|
101
|
+
return isEnd ? 'chevron-forward-outline' : 'chevron-back-outline';
|
|
102
|
+
}
|
|
103
|
+
syncSplitPaneWidth() {
|
|
104
|
+
if (!this.retractableMenuEnabled()) {
|
|
105
|
+
this.restoreSplitPaneWidth();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const splitPane = this.findSplitPane();
|
|
109
|
+
if (!splitPane)
|
|
110
|
+
return;
|
|
111
|
+
this.captureOriginalSplitPaneStyles(splitPane);
|
|
112
|
+
const width = this.isDesktopCollapsed()
|
|
113
|
+
? this.props.desktopCollapsedWidth || '4.75rem'
|
|
114
|
+
: this.props.desktopExpandedWidth || 'min(40vw, 22rem)';
|
|
115
|
+
splitPane.style.setProperty('--side-width', width);
|
|
116
|
+
splitPane.style.setProperty('--side-min-width', width);
|
|
117
|
+
splitPane.style.setProperty('--side-max-width', width);
|
|
118
|
+
}
|
|
119
|
+
findSplitPane() {
|
|
120
|
+
if (this.splitPane?.isConnected)
|
|
121
|
+
return this.splitPane;
|
|
122
|
+
this.splitPane = this.elementRef.nativeElement.closest('ion-split-pane') || undefined;
|
|
123
|
+
return this.splitPane;
|
|
124
|
+
}
|
|
125
|
+
captureOriginalSplitPaneStyles(splitPane) {
|
|
126
|
+
for (const property of ['--side-width', '--side-min-width', '--side-max-width']) {
|
|
127
|
+
if (!this.splitPaneOriginalStyles.has(property)) {
|
|
128
|
+
this.splitPaneOriginalStyles.set(property, splitPane.style.getPropertyValue(property));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
restoreSplitPaneWidth() {
|
|
133
|
+
const splitPane = this.findSplitPane();
|
|
134
|
+
if (!splitPane || !this.splitPaneOriginalStyles.size)
|
|
135
|
+
return;
|
|
136
|
+
for (const [property, value] of this.splitPaneOriginalStyles) {
|
|
137
|
+
if (value) {
|
|
138
|
+
splitPane.style.setProperty(property, value);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
splitPane.style.removeProperty(property);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
58
145
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MenuComponent, isStandalone: true, selector: "val-menu", inputs: { props: "props" }, ngImport: i0, template: `
|
|
146
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MenuComponent, isStandalone: true, selector: "val-menu", inputs: { props: "props" }, usesOnChanges: true, ngImport: i0, template: `
|
|
60
147
|
<ion-menu
|
|
61
148
|
[menuId]="props.id"
|
|
62
149
|
[contentId]="props.contentId"
|
|
63
150
|
[type]="props.type || 'overlay'"
|
|
64
151
|
[side]="props.side || 'start'"
|
|
65
152
|
[swipeGesture]="props.swipe !== false"
|
|
153
|
+
[class.is-desktop-collapsible]="retractableMenuEnabled()"
|
|
154
|
+
[class.is-desktop-collapsed]="isDesktopCollapsed()"
|
|
155
|
+
[style.--val-menu-expanded-width]="props.desktopExpandedWidth || null"
|
|
156
|
+
[style.--val-menu-collapsed-width]="props.desktopCollapsedWidth || null"
|
|
66
157
|
>
|
|
67
158
|
<ion-header [class.ion-no-border]="true">
|
|
68
159
|
<ion-toolbar>
|
|
@@ -83,7 +174,18 @@ export class MenuComponent {
|
|
|
83
174
|
</ion-buttons>
|
|
84
175
|
|
|
85
176
|
<ion-buttons slot="end">
|
|
86
|
-
|
|
177
|
+
@if (retractableMenuEnabled()) {
|
|
178
|
+
<ion-button
|
|
179
|
+
class="menu-collapse-toggle"
|
|
180
|
+
fill="clear"
|
|
181
|
+
[attr.aria-label]="desktopCollapseButtonLabel()"
|
|
182
|
+
[attr.aria-pressed]="isDesktopCollapsed()"
|
|
183
|
+
(click)="toggleDesktopCollapse()"
|
|
184
|
+
>
|
|
185
|
+
<ion-icon color="dark" slot="icon-only" [name]="desktopCollapseIcon()"></ion-icon>
|
|
186
|
+
</ion-button>
|
|
187
|
+
}
|
|
188
|
+
<ion-menu-toggle class="menu-mobile-close">
|
|
87
189
|
<ion-button>
|
|
88
190
|
<ion-icon color="dark" slot="icon-only" name="close-outline"></ion-icon>
|
|
89
191
|
</ion-button>
|
|
@@ -92,7 +194,9 @@ export class MenuComponent {
|
|
|
92
194
|
</ion-toolbar>
|
|
93
195
|
</ion-header>
|
|
94
196
|
<ion-content>
|
|
95
|
-
<
|
|
197
|
+
<div class="menu-projected-content" [attr.aria-hidden]="isDesktopCollapsed() ? 'true' : null" [attr.inert]="isDesktopCollapsed() ? '' : null">
|
|
198
|
+
<ng-content></ng-content>
|
|
199
|
+
</div>
|
|
96
200
|
</ion-content>
|
|
97
201
|
@if (props.showCloseButton) {
|
|
98
202
|
<val-button
|
|
@@ -114,7 +218,7 @@ export class MenuComponent {
|
|
|
114
218
|
/>
|
|
115
219
|
}
|
|
116
220
|
</ion-menu>
|
|
117
|
-
`, isInline: true, styles: [":host{display:contents}ion-menu{--
|
|
221
|
+
`, isInline: true, styles: [":host{display:contents}ion-menu{--val-menu-expanded-width: 75%;--val-menu-collapsed-width: 4.75rem;--width: var(--val-menu-expanded-width);--min-width: var(--val-menu-expanded-width);--background: var(--ion-color-light);transition:--width .18s ease,--min-width .18s ease}@media (min-width: 768px){ion-menu{--val-menu-expanded-width: min(40vw, 22rem)}}ion-menu ion-header{background:var(--ion-color-light)}ion-menu ion-content{--background: var(--ion-color-light)}@media (min-width: 1200px){ion-menu.is-desktop-collapsible{--width: var(--val-menu-expanded-width);--min-width: var(--val-menu-expanded-width);--max-width: var(--val-menu-expanded-width)}ion-menu.is-desktop-collapsible .menu-mobile-close{display:none}}@media (min-width: 1200px){ion-menu.is-desktop-collapsed{--width: var(--val-menu-collapsed-width);--min-width: var(--val-menu-collapsed-width);--max-width: var(--val-menu-collapsed-width)}ion-menu.is-desktop-collapsed ion-toolbar{--padding-start: 0;--padding-end: 0}ion-menu.is-desktop-collapsed .menu-projected-content,ion-menu.is-desktop-collapsed .menu-close-button{visibility:hidden;opacity:0;pointer-events:none}}.menu-collapse-toggle{display:none}@media (min-width: 1200px){.menu-collapse-toggle{display:inline-flex}}.menu-projected-content{transition:opacity .16s ease,visibility .16s ease}.menu-close-button{display:block;text-align:center;padding:1rem .5rem;background:var(--ion-color-light)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonMenu, selector: "ion-menu", inputs: ["contentId", "disabled", "maxEdgeStart", "menuId", "side", "swipeGesture", "type"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonMenuToggle, selector: "ion-menu-toggle", inputs: ["autoHide", "menu"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
|
|
118
222
|
}
|
|
119
223
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuComponent, decorators: [{
|
|
120
224
|
type: Component,
|
|
@@ -137,6 +241,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
137
241
|
[type]="props.type || 'overlay'"
|
|
138
242
|
[side]="props.side || 'start'"
|
|
139
243
|
[swipeGesture]="props.swipe !== false"
|
|
244
|
+
[class.is-desktop-collapsible]="retractableMenuEnabled()"
|
|
245
|
+
[class.is-desktop-collapsed]="isDesktopCollapsed()"
|
|
246
|
+
[style.--val-menu-expanded-width]="props.desktopExpandedWidth || null"
|
|
247
|
+
[style.--val-menu-collapsed-width]="props.desktopCollapsedWidth || null"
|
|
140
248
|
>
|
|
141
249
|
<ion-header [class.ion-no-border]="true">
|
|
142
250
|
<ion-toolbar>
|
|
@@ -157,7 +265,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
157
265
|
</ion-buttons>
|
|
158
266
|
|
|
159
267
|
<ion-buttons slot="end">
|
|
160
|
-
|
|
268
|
+
@if (retractableMenuEnabled()) {
|
|
269
|
+
<ion-button
|
|
270
|
+
class="menu-collapse-toggle"
|
|
271
|
+
fill="clear"
|
|
272
|
+
[attr.aria-label]="desktopCollapseButtonLabel()"
|
|
273
|
+
[attr.aria-pressed]="isDesktopCollapsed()"
|
|
274
|
+
(click)="toggleDesktopCollapse()"
|
|
275
|
+
>
|
|
276
|
+
<ion-icon color="dark" slot="icon-only" [name]="desktopCollapseIcon()"></ion-icon>
|
|
277
|
+
</ion-button>
|
|
278
|
+
}
|
|
279
|
+
<ion-menu-toggle class="menu-mobile-close">
|
|
161
280
|
<ion-button>
|
|
162
281
|
<ion-icon color="dark" slot="icon-only" name="close-outline"></ion-icon>
|
|
163
282
|
</ion-button>
|
|
@@ -166,7 +285,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
166
285
|
</ion-toolbar>
|
|
167
286
|
</ion-header>
|
|
168
287
|
<ion-content>
|
|
169
|
-
<
|
|
288
|
+
<div class="menu-projected-content" [attr.aria-hidden]="isDesktopCollapsed() ? 'true' : null" [attr.inert]="isDesktopCollapsed() ? '' : null">
|
|
289
|
+
<ng-content></ng-content>
|
|
290
|
+
</div>
|
|
170
291
|
</ion-content>
|
|
171
292
|
@if (props.showCloseButton) {
|
|
172
293
|
<val-button
|
|
@@ -188,8 +309,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
188
309
|
/>
|
|
189
310
|
}
|
|
190
311
|
</ion-menu>
|
|
191
|
-
`, styles: [":host{display:contents}ion-menu{--
|
|
312
|
+
`, styles: [":host{display:contents}ion-menu{--val-menu-expanded-width: 75%;--val-menu-collapsed-width: 4.75rem;--width: var(--val-menu-expanded-width);--min-width: var(--val-menu-expanded-width);--background: var(--ion-color-light);transition:--width .18s ease,--min-width .18s ease}@media (min-width: 768px){ion-menu{--val-menu-expanded-width: min(40vw, 22rem)}}ion-menu ion-header{background:var(--ion-color-light)}ion-menu ion-content{--background: var(--ion-color-light)}@media (min-width: 1200px){ion-menu.is-desktop-collapsible{--width: var(--val-menu-expanded-width);--min-width: var(--val-menu-expanded-width);--max-width: var(--val-menu-expanded-width)}ion-menu.is-desktop-collapsible .menu-mobile-close{display:none}}@media (min-width: 1200px){ion-menu.is-desktop-collapsed{--width: var(--val-menu-collapsed-width);--min-width: var(--val-menu-collapsed-width);--max-width: var(--val-menu-collapsed-width)}ion-menu.is-desktop-collapsed ion-toolbar{--padding-start: 0;--padding-end: 0}ion-menu.is-desktop-collapsed .menu-projected-content,ion-menu.is-desktop-collapsed .menu-close-button{visibility:hidden;opacity:0;pointer-events:none}}.menu-collapse-toggle{display:none}@media (min-width: 1200px){.menu-collapse-toggle{display:inline-flex}}.menu-projected-content{transition:opacity .16s ease,visibility .16s ease}.menu-close-button{display:block;text-align:center;padding:1rem .5rem;background:var(--ion-color-light)}\n"] }]
|
|
192
313
|
}], propDecorators: { props: [{
|
|
193
314
|
type: Input
|
|
194
315
|
}] } });
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21lbnUvbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFNBQVMsRUFDVCxPQUFPLEVBQ1AsT0FBTyxFQUNQLGFBQWEsRUFDYixVQUFVLEVBQ1YsY0FBYyxHQUNmLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXJEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQThFSCxNQUFNLE9BQU8sYUFBYTtJQTdFMUI7UUE4RVUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRW5DOztXQUVHO1FBQ00sVUFBSyxHQUFpQjtZQUM3QixJQUFJLEVBQUUsT0FBTztZQUNiLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDO1FBRUY7O1dBRUc7UUFDSCxvQkFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLHlCQUF5QjtZQUMzQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0tBUUo7SUFOQzs7T0FFRztJQUNILEtBQUssQ0FBQyxTQUFTO1FBQ2IsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7K0dBMUJVLGFBQWE7bUdBQWIsYUFBYSxnR0E3RGQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwRFQsOGFBdEVDLFlBQVksK0JBQ1osT0FBTyxrSkFDUCxVQUFVLDhFQUNWLGFBQWEsMEZBQ2IsU0FBUyxvUEFDVCxPQUFPLDJKQUNQLFNBQVMsb0dBQ1QsVUFBVSxtRkFDVixVQUFVLHdLQUNWLGNBQWMseUVBQ2QsZUFBZTs7NEZBK0ROLGFBQWE7a0JBN0V6QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixPQUFPO3dCQUNQLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixTQUFTO3dCQUNULE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCxlQUFlO3FCQUNoQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMERUOzhCQVVRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBJb25CdXR0b24sXG4gIElvbkJ1dHRvbnMsXG4gIElvbkNvbnRlbnQsXG4gIElvbkhlYWRlcixcbiAgSW9uSWNvbixcbiAgSW9uTWVudSxcbiAgSW9uTWVudVRvZ2dsZSxcbiAgSW9uVG9vbGJhcixcbiAgTWVudUNvbnRyb2xsZXIsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVudU1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuXG4vKipcbiAqIHZhbC1tZW51XG4gKlxuICogQSBzaWRlIG1lbnUgY29tcG9uZW50IHVzaW5nIElvbmljIElvbk1lbnUgd2l0aCBjdXN0b21pemFibGUgbG9nbyxcbiAqIGNsb3NlIGJ1dHRvbiwgYW5kIGNvbnRlbnQgcHJvamVjdGlvbiBmb3IgbWVudSBpdGVtcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1tZW51XG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgaWQ6ICdtYWluLW1lbnUnLFxuICogICAgIGNvbnRlbnRJZDogJ21haW4tY29udGVudCcsXG4gKiAgICAgc2lkZTogJ3N0YXJ0JyxcbiAqICAgICB0eXBlOiAnb3ZlcmxheScsXG4gKiAgICAgc3dpcGU6IHRydWUsXG4gKiAgICAgc2hvd0Nsb3NlQnV0dG9uOiB0cnVlXG4gKiAgIH1cIlxuICogPlxuICogICA8dmFsLWxpbmtzLWFjY29yZGlvbiBbcHJvcHNdPVwibWVudUxpbmtzXCI+PC92YWwtbGlua3MtYWNjb3JkaW9uPlxuICogPC92YWwtbWVudT5cbiAqXG4gKiA8aW9uLXJvdXRlci1vdXRsZXQgaWQ9XCJtYWluLWNvbnRlbnRcIj48L2lvbi1yb3V0ZXItb3V0bGV0PlxuICpcbiAqIEBpbnB1dCBwcm9wcyAtIE1lbnUgY29uZmlndXJhdGlvblxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtbWVudScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uTWVudSxcbiAgICBJb25CdXR0b25zLFxuICAgIElvbk1lbnVUb2dnbGUsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkljb24sXG4gICAgSW9uSGVhZGVyLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uQ29udGVudCxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1tZW51XG4gICAgICBbbWVudUlkXT1cInByb3BzLmlkXCJcbiAgICAgIFtjb250ZW50SWRdPVwicHJvcHMuY29udGVudElkXCJcbiAgICAgIFt0eXBlXT1cInByb3BzLnR5cGUgfHwgJ292ZXJsYXknXCJcbiAgICAgIFtzaWRlXT1cInByb3BzLnNpZGUgfHwgJ3N0YXJ0J1wiXG4gICAgICBbc3dpcGVHZXN0dXJlXT1cInByb3BzLnN3aXBlICE9PSBmYWxzZVwiXG4gICAgPlxuICAgICAgPGlvbi1oZWFkZXIgW2NsYXNzLmlvbi1uby1ib3JkZXJdPVwidHJ1ZVwiPlxuICAgICAgICA8aW9uLXRvb2xiYXI+XG4gICAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAuNXJlbTtcIj5cbiAgICAgICAgICAgIDx2YWwtaW1hZ2VcbiAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICBzcmM6ICctLW1haW4tbG9nby1taW5pJyxcbiAgICAgICAgICAgICAgICBhbHQ6ICdtZW51IGxvZ28nLFxuICAgICAgICAgICAgICAgIG1vZGU6ICdib3gnLFxuICAgICAgICAgICAgICAgIHNoYWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgYm9yZGVyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNpemU6ICdzbWFsbCcsXG4gICAgICAgICAgICAgICAgbGltaXRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIsXG4gICAgICAgICAgICAgICAgZmxleDogdHJ1ZSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICAgICAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgICAgICAgPGlvbi1tZW51LXRvZ2dsZT5cbiAgICAgICAgICAgICAgPGlvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIGNvbG9yPVwiZGFya1wiIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2Utb3V0bGluZVwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvaW9uLW1lbnUtdG9nZ2xlPlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgICAgIDwvaW9uLXRvb2xiYXI+XG4gICAgICA8L2lvbi1oZWFkZXI+XG4gICAgICA8aW9uLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvaW9uLWNvbnRlbnQ+XG4gICAgICBAaWYgKHByb3BzLnNob3dDbG9zZUJ1dHRvbikge1xuICAgICAgICA8dmFsLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwibWVudS1jbG9zZS1idXR0b25cIlxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICB0ZXh0OiBjbG9zZUJ1dHRvblRleHQoKSxcbiAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgICAgICBmaWxsOiAnb3V0bGluZScsXG4gICAgICAgICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgICAgICAgIGljb246IHtcbiAgICAgICAgICAgICAgbmFtZTogJ2Nsb3NlLW91dGxpbmUnLFxuICAgICAgICAgICAgICBzbG90OiAnc3RhcnQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAob25DbGljayk9XCJjbG9zZU1lbnUoKVwiXG4gICAgICAgIC8+XG4gICAgICB9XG4gICAgPC9pb24tbWVudT5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBtZW51Q3RybCA9IGluamVjdChNZW51Q29udHJvbGxlcik7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgLyoqXG4gICAqIE1lbnUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBNZW51TWV0YWRhdGEgPSB7XG4gICAgc2lkZTogJ3N0YXJ0JyxcbiAgICB0eXBlOiAnb3ZlcmxheScsXG4gICAgc3dpcGU6IHRydWUsXG4gIH07XG5cbiAgLyoqXG4gICAqIENsb3NlIGJ1dHRvbiB0ZXh0IC0gcmVhY3RpdmUgdG8gbGFuZ3VhZ2UgY2hhbmdlcy5cbiAgICovXG4gIGNsb3NlQnV0dG9uVGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICB0aGlzLmkxOG4ubGFuZygpOyAvLyBUcmFjayBsYW5ndWFnZSBjaGFuZ2VzXG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2xvc2VCdXR0b25UZXh0IHx8IHRoaXMuaTE4bi50KCdjbG9zZScpO1xuICB9KTtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtZW51LlxuICAgKi9cbiAgYXN5bmMgY2xvc2VNZW51KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubWVudUN0cmwuY2xvc2UodGhpcy5wcm9wcy5pZCk7XG4gIH1cbn1cbiJdfQ==
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21lbnUvbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsU0FBUyxFQUNULE9BQU8sRUFDUCxPQUFPLEVBQ1AsYUFBYSxFQUNiLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFckQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBK0ZILE1BQU0sT0FBTyxhQUFhO0lBOUYxQjtRQStGVSxhQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2xDLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFFekQsNEJBQXVCLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDekMsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXREOztXQUVHO1FBQ00sVUFBSyxHQUFpQjtZQUM3QixJQUFJLEVBQUUsT0FBTztZQUNiLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxF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QWM7d0JBQ2QsZUFBZTtxQkFDaEIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkVUOzhCQWNRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgc2lnbmFsLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIElvbkJ1dHRvbixcbiAgSW9uQnV0dG9ucyxcbiAgSW9uQ29udGVudCxcbiAgSW9uSGVhZGVyLFxuICBJb25JY29uLFxuICBJb25NZW51LFxuICBJb25NZW51VG9nZ2xlLFxuICBJb25Ub29sYmFyLFxuICBNZW51Q29udHJvbGxlcixcbn0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZW51TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5cbi8qKlxuICogdmFsLW1lbnVcbiAqXG4gKiBBIHNpZGUgbWVudSBjb21wb25lbnQgdXNpbmcgSW9uaWMgSW9uTWVudSB3aXRoIGN1c3RvbWl6YWJsZSBsb2dvLFxuICogY2xvc2UgYnV0dG9uLCBhbmQgY29udGVudCBwcm9qZWN0aW9uIGZvciBtZW51IGl0ZW1zLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLW1lbnVcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBpZDogJ21haW4tbWVudScsXG4gKiAgICAgY29udGVudElkOiAnbWFpbi1jb250ZW50JyxcbiAqICAgICBzaWRlOiAnc3RhcnQnLFxuICogICAgIHR5cGU6ICdvdmVybGF5JyxcbiAqICAgICBzd2lwZTogdHJ1ZSxcbiAqICAgICBzaG93Q2xvc2VCdXR0b246IHRydWVcbiAqICAgfVwiXG4gKiA+XG4gKiAgIDx2YWwtbGlua3MtYWNjb3JkaW9uIFtwcm9wc109XCJtZW51TGlua3NcIj48L3ZhbC1saW5rcy1hY2NvcmRpb24+XG4gKiA8L3ZhbC1tZW51PlxuICpcbiAqIDxpb24tcm91dGVyLW91dGxldCBpZD1cIm1haW4tY29udGVudFwiPjwvaW9uLXJvdXRlci1vdXRsZXQ+XG4gKlxuICogQGlucHV0IHByb3BzIC0gTWVudSBjb25maWd1cmF0aW9uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1tZW51JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25NZW51LFxuICAgIElvbkJ1dHRvbnMsXG4gICAgSW9uTWVudVRvZ2dsZSxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uSWNvbixcbiAgICBJb25IZWFkZXIsXG4gICAgSW9uVG9vbGJhcixcbiAgICBJb25Db250ZW50LFxuICAgIEltYWdlQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLW1lbnVcbiAgICAgIFttZW51SWRdPVwicHJvcHMuaWRcIlxuICAgICAgW2NvbnRlbnRJZF09XCJwcm9wcy5jb250ZW50SWRcIlxuICAgICAgW3R5cGVdPVwicHJvcHMudHlwZSB8fCAnb3ZlcmxheSdcIlxuICAgICAgW3NpZGVdPVwicHJvcHMuc2lkZSB8fCAnc3RhcnQnXCJcbiAgICAgIFtzd2lwZUdlc3R1cmVdPVwicHJvcHMuc3dpcGUgIT09IGZhbHNlXCJcbiAgICAgIFtjbGFzcy5pcy1kZXNrdG9wLWNvbGxhcHNpYmxlXT1cInJldHJhY3RhYmxlTWVudUVuYWJsZWQoKVwiXG4gICAgICBbY2xhc3MuaXMtZGVza3RvcC1jb2xsYXBzZWRdPVwiaXNEZXNrdG9wQ29sbGFwc2VkKClcIlxuICAgICAgW3N0eWxlLi0tdmFsLW1lbnUtZXhwYW5kZWQtd2lkdGhdPVwicHJvcHMuZGVza3RvcEV4cGFuZGVkV2lkdGggfHwgbnVsbFwiXG4gICAgICBbc3R5bGUuLS12YWwtbWVudS1jb2xsYXBzZWQtd2lkdGhdPVwicHJvcHMuZGVza3RvcENvbGxhcHNlZFdpZHRoIHx8IG51bGxcIlxuICAgID5cbiAgICAgIDxpb24taGVhZGVyIFtjbGFzcy5pb24tbm8tYm9yZGVyXT1cInRydWVcIj5cbiAgICAgICAgPGlvbi10b29sYmFyPlxuICAgICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogLjVyZW07XCI+XG4gICAgICAgICAgICA8dmFsLWltYWdlXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgc3JjOiAnLS1tYWluLWxvZ28tbWluaScsXG4gICAgICAgICAgICAgICAgYWx0OiAnbWVudSBsb2dvJyxcbiAgICAgICAgICAgICAgICBtb2RlOiAnYm94JyxcbiAgICAgICAgICAgICAgICBzaGFkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICAgICAgICAgIGxpbWl0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAyLFxuICAgICAgICAgICAgICAgIGZsZXg6IHRydWUsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2lvbi1idXR0b25zPlxuXG4gICAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICAgIEBpZiAocmV0cmFjdGFibGVNZW51RW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LWNvbGxhcHNlLXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImRlc2t0b3BDb2xsYXBzZUJ1dHRvbkxhYmVsKClcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJpc0Rlc2t0b3BDb2xsYXBzZWQoKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURlc2t0b3BDb2xsYXBzZSgpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBjb2xvcj1cImRhcmtcIiBzbG90PVwiaWNvbi1vbmx5XCIgW25hbWVdPVwiZGVza3RvcENvbGxhcHNlSWNvbigpXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGlvbi1tZW51LXRvZ2dsZSBjbGFzcz1cIm1lbnUtbW9iaWxlLWNsb3NlXCI+XG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBjb2xvcj1cImRhcmtcIiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlLW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8L2lvbi1tZW51LXRvZ2dsZT5cbiAgICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgICA8L2lvbi10b29sYmFyPlxuICAgICAgPC9pb24taGVhZGVyPlxuICAgICAgPGlvbi1jb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1wcm9qZWN0ZWQtY29udGVudFwiIFthdHRyLmFyaWEtaGlkZGVuXT1cImlzRGVza3RvcENvbGxhcHNlZCgpID8gJ3RydWUnIDogbnVsbFwiIFthdHRyLmluZXJ0XT1cImlzRGVza3RvcENvbGxhcHNlZCgpID8gJycgOiBudWxsXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaW9uLWNvbnRlbnQ+XG4gICAgICBAaWYgKHByb3BzLnNob3dDbG9zZUJ1dHRvbikge1xuICAgICAgICA8dmFsLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwibWVudS1jbG9zZS1idXR0b25cIlxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICB0ZXh0OiBjbG9zZUJ1dHRvblRleHQoKSxcbiAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgICAgICBmaWxsOiAnb3V0bGluZScsXG4gICAgICAgICAgICBzaGFwZTogJ3JvdW5kJyxcbiAgICAgICAgICAgIGljb246IHtcbiAgICAgICAgICAgICAgbmFtZTogJ2Nsb3NlLW91dGxpbmUnLFxuICAgICAgICAgICAgICBzbG90OiAnc3RhcnQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAob25DbGljayk9XCJjbG9zZU1lbnUoKVwiXG4gICAgICAgIC8+XG4gICAgICB9XG4gICAgPC9pb24tbWVudT5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG1lbnVDdHJsID0gaW5qZWN0KE1lbnVDb250cm9sbGVyKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBzcGxpdFBhbmU/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBzcGxpdFBhbmVPcmlnaW5hbFN0eWxlcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0Rlc2t0b3BDb2xsYXBzZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBNZW51IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogTWVudU1ldGFkYXRhID0ge1xuICAgIHNpZGU6ICdzdGFydCcsXG4gICAgdHlwZTogJ292ZXJsYXknLFxuICAgIHN3aXBlOiB0cnVlLFxuICB9O1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBwcm9wc0NoYW5nZSA9IGNoYW5nZXNbJ3Byb3BzJ107XG4gICAgaWYgKCFwcm9wc0NoYW5nZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgcHJldmlvdXMgPSBwcm9wc0NoYW5nZS5wcmV2aW91c1ZhbHVlIGFzIE1lbnVNZXRhZGF0YSB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIXRoaXMucmV0cmFjdGFibGVNZW51RW5hYmxlZCgpKSB7XG4gICAgICB0aGlzLmlzRGVza3RvcENvbGxhcHNlZC5zZXQoZmFsc2UpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBwcm9wc0NoYW5nZS5maXJzdENoYW5nZSB8fFxuICAgICAgcHJldmlvdXM/LmRlc2t0b3BDb2xsYXBzZWQgIT09IHRoaXMucHJvcHMuZGVza3RvcENvbGxhcHNlZCB8fFxuICAgICAgcHJldmlvdXM/LnJldHJhY3RhYmxlTWVudSAhPT0gdGhpcy5wcm9wcy5yZXRyYWN0YWJsZU1lbnVcbiAgICApIHtcbiAgICAgIHRoaXMuaXNEZXNrdG9wQ29sbGFwc2VkLnNldCghIXRoaXMucHJvcHMuZGVza3RvcENvbGxhcHNlZCk7XG4gICAgfVxuICAgIHRoaXMuc3luY1NwbGl0UGFuZVdpZHRoKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zeW5jU3BsaXRQYW5lV2lkdGgoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVzdG9yZVNwbGl0UGFuZVdpZHRoKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgYnV0dG9uIHRleHQgLSByZWFjdGl2ZSB0byBsYW5ndWFnZSBjaGFuZ2VzLlxuICAgKi9cbiAgY2xvc2VCdXR0b25UZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7IC8vIFRyYWNrIGxhbmd1YWdlIGNoYW5nZXNcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jbG9zZUJ1dHRvblRleHQgfHwgdGhpcy5pMThuLnQoJ2Nsb3NlJyk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG1lbnUuXG4gICAqL1xuICBhc3luYyBjbG9zZU1lbnUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5tZW51Q3RybC5jbG9zZSh0aGlzLnByb3BzLmlkKTtcbiAgfVxuXG4gIHRvZ2dsZURlc2t0b3BDb2xsYXBzZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmV0cmFjdGFibGVNZW51RW5hYmxlZCgpKSByZXR1cm47XG4gICAgdGhpcy5pc0Rlc2t0b3BDb2xsYXBzZWQudXBkYXRlKGNvbGxhcHNlZCA9PiAhY29sbGFwc2VkKTtcbiAgICB0aGlzLnN5bmNTcGxpdFBhbmVXaWR0aCgpO1xuICB9XG5cbiAgcmV0cmFjdGFibGVNZW51RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5wcm9wcy5yZXRyYWN0YWJsZU1lbnUgPz8gdGhpcy5wcm9wcy5kZXNrdG9wQ29sbGFwc2libGUpO1xuICB9XG5cbiAgZGVza3RvcENvbGxhcHNlQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rlc2t0b3BDb2xsYXBzZWQoKVxuICAgICAgPyB0aGlzLnByb3BzLmRlc2t0b3BFeHBhbmRMYWJlbCB8fCAnRXhwYW5kaXIgbWVuw7onXG4gICAgICA6IHRoaXMucHJvcHMuZGVza3RvcENvbGxhcHNlTGFiZWwgfHwgJ0NvbnRyYWVyIG1lbsO6JztcbiAgfVxuXG4gIGRlc2t0b3BDb2xsYXBzZUljb24oKTogc3RyaW5nIHtcbiAgICBjb25zdCBpc0VuZCA9IHRoaXMucHJvcHMuc2lkZSA9PT0gJ2VuZCc7XG4gICAgaWYgKHRoaXMuaXNEZXNrdG9wQ29sbGFwc2VkKCkpIHtcbiAgICAgIHJldHVybiBpc0VuZCA/ICdjaGV2cm9uLWJhY2stb3V0bGluZScgOiAnY2hldnJvbi1mb3J3YXJkLW91dGxpbmUnO1xuICAgIH1cbiAgICByZXR1cm4gaXNFbmQgPyAnY2hldnJvbi1mb3J3YXJkLW91dGxpbmUnIDogJ2NoZXZyb24tYmFjay1vdXRsaW5lJztcbiAgfVxuXG4gIHByaXZhdGUgc3luY1NwbGl0UGFuZVdpZHRoKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZXRyYWN0YWJsZU1lbnVFbmFibGVkKCkpIHtcbiAgICAgIHRoaXMucmVzdG9yZVNwbGl0UGFuZVdpZHRoKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3BsaXRQYW5lID0gdGhpcy5maW5kU3BsaXRQYW5lKCk7XG4gICAgaWYgKCFzcGxpdFBhbmUpIHJldHVybjtcblxuICAgIHRoaXMuY2FwdHVyZU9yaWdpbmFsU3BsaXRQYW5lU3R5bGVzKHNwbGl0UGFuZSk7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmlzRGVza3RvcENvbGxhcHNlZCgpXG4gICAgICA/IHRoaXMucHJvcHMuZGVza3RvcENvbGxhcHNlZFdpZHRoIHx8ICc0Ljc1cmVtJ1xuICAgICAgOiB0aGlzLnByb3BzLmRlc2t0b3BFeHBhbmRlZFdpZHRoIHx8ICdtaW4oNDB2dywgMjJyZW0pJztcblxuICAgIHNwbGl0UGFuZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zaWRlLXdpZHRoJywgd2lkdGgpO1xuICAgIHNwbGl0UGFuZS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zaWRlLW1pbi13aWR0aCcsIHdpZHRoKTtcbiAgICBzcGxpdFBhbmUuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2lkZS1tYXgtd2lkdGgnLCB3aWR0aCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRTcGxpdFBhbmUoKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnNwbGl0UGFuZT8uaXNDb25uZWN0ZWQpIHJldHVybiB0aGlzLnNwbGl0UGFuZTtcbiAgICB0aGlzLnNwbGl0UGFuZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJ2lvbi1zcGxpdC1wYW5lJykgYXMgSFRNTEVsZW1lbnQgfCBudWxsIHx8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdGhpcy5zcGxpdFBhbmU7XG4gIH1cblxuICBwcml2YXRlIGNhcHR1cmVPcmlnaW5hbFNwbGl0UGFuZVN0eWxlcyhzcGxpdFBhbmU6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbJy0tc2lkZS13aWR0aCcsICctLXNpZGUtbWluLXdpZHRoJywgJy0tc2lkZS1tYXgtd2lkdGgnXSkge1xuICAgICAgaWYgKCF0aGlzLnNwbGl0UGFuZU9yaWdpbmFsU3R5bGVzLmhhcyhwcm9wZXJ0eSkpIHtcbiAgICAgICAgdGhpcy5zcGxpdFBhbmVPcmlnaW5hbFN0eWxlcy5zZXQocHJvcGVydHksIHNwbGl0UGFuZS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHByb3BlcnR5KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXN0b3JlU3BsaXRQYW5lV2lkdGgoKTogdm9pZCB7XG4gICAgY29uc3Qgc3BsaXRQYW5lID0gdGhpcy5maW5kU3BsaXRQYW5lKCk7XG4gICAgaWYgKCFzcGxpdFBhbmUgfHwgIXRoaXMuc3BsaXRQYW5lT3JpZ2luYWxTdHlsZXMuc2l6ZSkgcmV0dXJuO1xuXG4gICAgZm9yIChjb25zdCBbcHJvcGVydHksIHZhbHVlXSBvZiB0aGlzLnNwbGl0UGFuZU9yaWdpbmFsU3R5bGVzKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgc3BsaXRQYW5lLnN0eWxlLnNldFByb3BlcnR5KHByb3BlcnR5LCB2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzcGxpdFBhbmUuc3R5bGUucmVtb3ZlUHJvcGVydHkocHJvcGVydHkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21lbnUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVUeXBlLCBTaWRlIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHsgSW1hZ2VNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL2ltYWdlL3R5cGVzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgbWVudSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVudU1ldGFkYXRhIHtcbiAgLyoqIE1lbnUgdHlwZTogJ292ZXJsYXknLCAncmV2ZWFsJywgb3IgJ3B1c2gnICovXG4gIHR5cGU/OiBNZW51VHlwZTtcbiAgLyoqIEVuYWJsZSBzd2lwZSBnZXN0dXJlIHRvIG9wZW4vY2xvc2UgKi9cbiAgc3dpcGU/OiBib29sZWFuO1xuICAvKiogSUQgb2YgdGhlIGNvbnRlbnQgZWxlbWVudCB0aGlzIG1lbnUgaXMgYXNzb2NpYXRlZCB3aXRoICovXG4gIGNvbnRlbnRJZD86IHN0cmluZztcbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVudSAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIFdoaWNoIHNpZGUgdGhlIG1lbnUgYXBwZWFycyBvbiAqL1xuICBzaWRlPzogU2lkZTtcbiAgLyoqIFNob3cgYSBjbG9zZSBidXR0b24gYXQgdGhlIGJvdHRvbSAqL1xuICBzaG93Q2xvc2VCdXR0b24/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL21lbnUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVUeXBlLCBTaWRlIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHsgSW1hZ2VNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2F0b21zL2ltYWdlL3R5cGVzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgbWVudSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVudU1ldGFkYXRhIHtcbiAgLyoqIE1lbnUgdHlwZTogJ292ZXJsYXknLCAncmV2ZWFsJywgb3IgJ3B1c2gnICovXG4gIHR5cGU/OiBNZW51VHlwZTtcbiAgLyoqIEVuYWJsZSBzd2lwZSBnZXN0dXJlIHRvIG9wZW4vY2xvc2UgKi9cbiAgc3dpcGU/OiBib29sZWFuO1xuICAvKiogSUQgb2YgdGhlIGNvbnRlbnQgZWxlbWVudCB0aGlzIG1lbnUgaXMgYXNzb2NpYXRlZCB3aXRoICovXG4gIGNvbnRlbnRJZD86IHN0cmluZztcbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVudSAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqIFdoaWNoIHNpZGUgdGhlIG1lbnUgYXBwZWFycyBvbiAqL1xuICBzaWRlPzogU2lkZTtcbiAgLyoqIFNob3cgYSBjbG9zZSBidXR0b24gYXQgdGhlIGJvdHRvbSAqL1xuICBzaG93Q2xvc2VCdXR0b24/OiBib29sZWFuO1xuICAvKiogQ2xvc2UgYnV0dG9uIHRleHQgKGRlZmF1bHQ6ICdDbG9zZScpICovXG4gIGNsb3NlQnV0dG9uVGV4dD86IHN0cmluZztcbiAgLyoqIEVuYWJsZSBhIGRlc2t0b3Agc3BsaXQtcGFuZSBtZW51IHJhaWwgdGhhdCBjYW4gZXhwYW5kIGFuZCBjb2xsYXBzZSAqL1xuICByZXRyYWN0YWJsZU1lbnU/OiBib29sZWFuO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIHJldHJhY3RhYmxlTWVudSBpbnN0ZWFkICovXG4gIGRlc2t0b3BDb2xsYXBzaWJsZT86IGJvb2xlYW47XG4gIC8qKiBJbml0aWFsIGNvbGxhcHNlZCBzdGF0ZSBmb3IgZGVza3RvcCBzcGxpdC1wYW5lIG1lbnVzICovXG4gIGRlc2t0b3BDb2xsYXBzZWQ/OiBib29sZWFuO1xuICAvKiogRXhwYW5kZWQgd2lkdGggZm9yIGRlc2t0b3Agc3BsaXQtcGFuZSBtZW51cyAqL1xuICBkZXNrdG9wRXhwYW5kZWRXaWR0aD86IHN0cmluZztcbiAgLyoqIENvbGxhcHNlZCB3aWR0aCBmb3IgZGVza3RvcCBzcGxpdC1wYW5lIG1lbnVzICovXG4gIGRlc2t0b3BDb2xsYXBzZWRXaWR0aD86IHN0cmluZztcbiAgLyoqIEFjY2Vzc2libGUgbGFiZWwgZm9yIGNvbGxhcHNpbmcgdGhlIGRlc2t0b3AgbWVudSAqL1xuICBkZXNrdG9wQ29sbGFwc2VMYWJlbD86IHN0cmluZztcbiAgLyoqIEFjY2Vzc2libGUgbGFiZWwgZm9yIGV4cGFuZGluZyB0aGUgZGVza3RvcCBtZW51ICovXG4gIGRlc2t0b3BFeHBhbmRMYWJlbD86IHN0cmluZztcbiAgLyoqIExvZ28gaW1hZ2UgY29uZmlndXJhdGlvbiAqL1xuICBsb2dvPzogSW1hZ2VNZXRhZGF0YTtcbn1cbiJdfQ==
|