@ebrains/angular 2.4.1 → 3.1.0
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/generated/components.mjs +395 -114
- package/fesm2022/ebrains-angular.mjs +456 -184
- package/fesm2022/ebrains-angular.mjs.map +1 -1
- package/generated/components.d.ts +159 -43
- package/package.json +1 -1
|
@@ -9,22 +9,29 @@ import { defineCustomElement as defineEdsAvatar } from '@ebrains/components/dist
|
|
|
9
9
|
import { defineCustomElement as defineEdsBlockBreak } from '@ebrains/components/dist/components/eds-block-break.js';
|
|
10
10
|
import { defineCustomElement as defineEdsBreadcrumb } from '@ebrains/components/dist/components/eds-breadcrumb.js';
|
|
11
11
|
import { defineCustomElement as defineEdsButton } from '@ebrains/components/dist/components/eds-button.js';
|
|
12
|
+
import { defineCustomElement as defineEdsCardApp } from '@ebrains/components/dist/components/eds-card-app.js';
|
|
13
|
+
import { defineCustomElement as defineEdsCardCta } from '@ebrains/components/dist/components/eds-card-cta.js';
|
|
14
|
+
import { defineCustomElement as defineEdsCardFeature } from '@ebrains/components/dist/components/eds-card-feature.js';
|
|
12
15
|
import { defineCustomElement as defineEdsCardGeneric } from '@ebrains/components/dist/components/eds-card-generic.js';
|
|
13
|
-
import { defineCustomElement as
|
|
16
|
+
import { defineCustomElement as defineEdsCardHero } from '@ebrains/components/dist/components/eds-card-hero.js';
|
|
17
|
+
import { defineCustomElement as defineEdsCardStat } from '@ebrains/components/dist/components/eds-card-stat.js';
|
|
14
18
|
import { defineCustomElement as defineEdsCodeBlock } from '@ebrains/components/dist/components/eds-code-block.js';
|
|
15
19
|
import { defineCustomElement as defineEdsDropdown } from '@ebrains/components/dist/components/eds-dropdown.js';
|
|
16
20
|
import { defineCustomElement as defineEdsFeedback } from '@ebrains/components/dist/components/eds-feedback.js';
|
|
17
21
|
import { defineCustomElement as defineEdsFooter } from '@ebrains/components/dist/components/eds-footer.js';
|
|
18
22
|
import { defineCustomElement as defineEdsForm } from '@ebrains/components/dist/components/eds-form.js';
|
|
19
|
-
import { defineCustomElement as defineEdsFullscreenMenu } from '@ebrains/components/dist/components/eds-fullscreen-menu.js';
|
|
20
23
|
import { defineCustomElement as defineEdsGauge } from '@ebrains/components/dist/components/eds-gauge.js';
|
|
21
24
|
import { defineCustomElement as defineEdsGlobalSearch } from '@ebrains/components/dist/components/eds-global-search.js';
|
|
22
25
|
import { defineCustomElement as defineEdsHeader } from '@ebrains/components/dist/components/eds-header.js';
|
|
23
26
|
import { defineCustomElement as defineEdsIconWrapper } from '@ebrains/components/dist/components/eds-icon-wrapper.js';
|
|
24
27
|
import { defineCustomElement as defineEdsImg } from '@ebrains/components/dist/components/eds-img.js';
|
|
28
|
+
import { defineCustomElement as defineEdsInputDropzone } from '@ebrains/components/dist/components/eds-input-dropzone.js';
|
|
25
29
|
import { defineCustomElement as defineEdsInputField } from '@ebrains/components/dist/components/eds-input-field.js';
|
|
30
|
+
import { defineCustomElement as defineEdsInputFile } from '@ebrains/components/dist/components/eds-input-file.js';
|
|
26
31
|
import { defineCustomElement as defineEdsInputFooter } from '@ebrains/components/dist/components/eds-input-footer.js';
|
|
27
32
|
import { defineCustomElement as defineEdsInputLabel } from '@ebrains/components/dist/components/eds-input-label.js';
|
|
33
|
+
import { defineCustomElement as defineEdsKgLearningResources } from '@ebrains/components/dist/components/eds-kg-learning-resources.js';
|
|
34
|
+
import { defineCustomElement as defineEdsKgWebServicesSelect } from '@ebrains/components/dist/components/eds-kg-web-services-select.js';
|
|
28
35
|
import { defineCustomElement as defineEdsLink } from '@ebrains/components/dist/components/eds-link.js';
|
|
29
36
|
import { defineCustomElement as defineEdsLogo } from '@ebrains/components/dist/components/eds-logo.js';
|
|
30
37
|
import { defineCustomElement as defineEdsMatomoNotice } from '@ebrains/components/dist/components/eds-matomo-notice.js';
|
|
@@ -34,6 +41,7 @@ import { defineCustomElement as defineEdsPagination } from '@ebrains/components/
|
|
|
34
41
|
import { defineCustomElement as defineEdsPie } from '@ebrains/components/dist/components/eds-pie.js';
|
|
35
42
|
import { defineCustomElement as defineEdsProgressBar } from '@ebrains/components/dist/components/eds-progress-bar.js';
|
|
36
43
|
import { defineCustomElement as defineEdsRating } from '@ebrains/components/dist/components/eds-rating.js';
|
|
44
|
+
import { defineCustomElement as defineEdsSearchSelect } from '@ebrains/components/dist/components/eds-search-select.js';
|
|
37
45
|
import { defineCustomElement as defineEdsSidebar } from '@ebrains/components/dist/components/eds-sidebar.js';
|
|
38
46
|
import { defineCustomElement as defineEdsSocialNetworks } from '@ebrains/components/dist/components/eds-social-networks.js';
|
|
39
47
|
import { defineCustomElement as defineEdsSpinner } from '@ebrains/components/dist/components/eds-spinner.js';
|
|
@@ -46,6 +54,7 @@ import { defineCustomElement as defineEdsTabs } from '@ebrains/components/dist/c
|
|
|
46
54
|
import { defineCustomElement as defineEdsTag } from '@ebrains/components/dist/components/eds-tag.js';
|
|
47
55
|
import { defineCustomElement as defineEdsToast } from '@ebrains/components/dist/components/eds-toast.js';
|
|
48
56
|
import { defineCustomElement as defineEdsTooltip } from '@ebrains/components/dist/components/eds-tooltip.js';
|
|
57
|
+
import { defineCustomElement as defineEdsTrlBadge } from '@ebrains/components/dist/components/eds-trl-badge.js';
|
|
49
58
|
import { defineCustomElement as defineEdsUser } from '@ebrains/components/dist/components/eds-user.js';
|
|
50
59
|
import * as i0 from "@angular/core";
|
|
51
60
|
let EdsAccordion = class EdsAccordion {
|
|
@@ -58,12 +67,12 @@ let EdsAccordion = class EdsAccordion {
|
|
|
58
67
|
proxyOutputs(this, this.el, ['accordion']);
|
|
59
68
|
}
|
|
60
69
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsAccordion, isStandalone: true, selector: "eds-accordion", inputs: {
|
|
70
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsAccordion, isStandalone: true, selector: "eds-accordion", inputs: { clampText: "clampText", description: "description", expanded: "expanded", heading: "heading", icon: "icon", switchBg: "switchBg", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
62
71
|
};
|
|
63
72
|
EdsAccordion = __decorate([
|
|
64
73
|
ProxyCmp({
|
|
65
74
|
defineCustomElementFn: defineEdsAccordion,
|
|
66
|
-
inputs: ['
|
|
75
|
+
inputs: ['clampText', 'description', 'expanded', 'heading', 'icon', 'switchBg', 'variant']
|
|
67
76
|
}),
|
|
68
77
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
69
78
|
], EdsAccordion);
|
|
@@ -75,7 +84,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
75
84
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
76
85
|
template: '<ng-content></ng-content>',
|
|
77
86
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
78
|
-
inputs: ['
|
|
87
|
+
inputs: ['clampText', 'description', 'expanded', 'heading', 'icon', 'switchBg', 'variant'],
|
|
79
88
|
standalone: true
|
|
80
89
|
}]
|
|
81
90
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -86,15 +95,15 @@ let EdsAlert = class EdsAlert {
|
|
|
86
95
|
this.z = z;
|
|
87
96
|
c.detach();
|
|
88
97
|
this.el = r.nativeElement;
|
|
89
|
-
proxyOutputs(this, this.el, ['edsalert']);
|
|
98
|
+
proxyOutputs(this, this.el, ['edsalert', 'edsDismiss']);
|
|
90
99
|
}
|
|
91
100
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsAlert, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
92
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsAlert, isStandalone: true, selector: "eds-alert", inputs: {
|
|
101
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsAlert, isStandalone: true, selector: "eds-alert", inputs: { direction: "direction", dismissible: "dismissible", icon: "icon", intent: "intent", message: "message", pressableLabel: "pressableLabel", pressableUrl: "pressableUrl" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
93
102
|
};
|
|
94
103
|
EdsAlert = __decorate([
|
|
95
104
|
ProxyCmp({
|
|
96
105
|
defineCustomElementFn: defineEdsAlert,
|
|
97
|
-
inputs: ['
|
|
106
|
+
inputs: ['direction', 'dismissible', 'icon', 'intent', 'message', 'pressableLabel', 'pressableUrl']
|
|
98
107
|
}),
|
|
99
108
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
100
109
|
], EdsAlert);
|
|
@@ -106,7 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
106
115
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
107
116
|
template: '<ng-content></ng-content>',
|
|
108
117
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
109
|
-
inputs: ['
|
|
118
|
+
inputs: ['direction', 'dismissible', 'icon', 'intent', 'message', 'pressableLabel', 'pressableUrl'],
|
|
110
119
|
standalone: true
|
|
111
120
|
}]
|
|
112
121
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -209,12 +218,12 @@ let EdsButton = class EdsButton {
|
|
|
209
218
|
this.el = r.nativeElement;
|
|
210
219
|
}
|
|
211
220
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
212
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsButton, isStandalone: true, selector: "eds-button", inputs: { ariaLabel: "ariaLabel", disabled: "disabled", elementType: "elementType", icon: "icon", iconPos: "iconPos", iconSmall: "iconSmall", intent: "intent", label: "label", loading: "loading", pill: "pill", size: "size", triggerClick: "triggerClick" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
221
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsButton, isStandalone: true, selector: "eds-button", inputs: { ariaLabel: "ariaLabel", disabled: "disabled", elementType: "elementType", fullWidth: "fullWidth", icon: "icon", iconPos: "iconPos", iconSmall: "iconSmall", intent: "intent", label: "label", loading: "loading", pill: "pill", size: "size", triggerClick: "triggerClick" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
213
222
|
};
|
|
214
223
|
EdsButton = __decorate([
|
|
215
224
|
ProxyCmp({
|
|
216
225
|
defineCustomElementFn: defineEdsButton,
|
|
217
|
-
inputs: ['ariaLabel', 'disabled', 'elementType', 'icon', 'iconPos', 'iconSmall', 'intent', 'label', 'loading', 'pill', 'size', 'triggerClick']
|
|
226
|
+
inputs: ['ariaLabel', 'disabled', 'elementType', 'fullWidth', 'icon', 'iconPos', 'iconSmall', 'intent', 'label', 'loading', 'pill', 'size', 'triggerClick']
|
|
218
227
|
}),
|
|
219
228
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
220
229
|
], EdsButton);
|
|
@@ -226,7 +235,97 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
226
235
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
227
236
|
template: '<ng-content></ng-content>',
|
|
228
237
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
229
|
-
inputs: ['ariaLabel', 'disabled', 'elementType', 'icon', 'iconPos', 'iconSmall', 'intent', 'label', 'loading', 'pill', 'size', 'triggerClick'],
|
|
238
|
+
inputs: ['ariaLabel', 'disabled', 'elementType', 'fullWidth', 'icon', 'iconPos', 'iconSmall', 'intent', 'label', 'loading', 'pill', 'size', 'triggerClick'],
|
|
239
|
+
standalone: true
|
|
240
|
+
}]
|
|
241
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
242
|
+
let EdsCardApp = class EdsCardApp {
|
|
243
|
+
z;
|
|
244
|
+
el;
|
|
245
|
+
constructor(c, r, z) {
|
|
246
|
+
this.z = z;
|
|
247
|
+
c.detach();
|
|
248
|
+
this.el = r.nativeElement;
|
|
249
|
+
}
|
|
250
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardApp, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
251
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsCardApp, isStandalone: true, selector: "eds-card-app", inputs: { category: "category", description: "description", linkText: "linkText", tags: "tags", title: "title", url: "url", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
252
|
+
};
|
|
253
|
+
EdsCardApp = __decorate([
|
|
254
|
+
ProxyCmp({
|
|
255
|
+
defineCustomElementFn: defineEdsCardApp,
|
|
256
|
+
inputs: ['category', 'description', 'linkText', 'tags', 'title', 'url', 'variant']
|
|
257
|
+
}),
|
|
258
|
+
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
259
|
+
], EdsCardApp);
|
|
260
|
+
export { EdsCardApp };
|
|
261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardApp, decorators: [{
|
|
262
|
+
type: Component,
|
|
263
|
+
args: [{
|
|
264
|
+
selector: 'eds-card-app',
|
|
265
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
266
|
+
template: '<ng-content></ng-content>',
|
|
267
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
268
|
+
inputs: ['category', 'description', 'linkText', 'tags', 'title', 'url', 'variant'],
|
|
269
|
+
standalone: true
|
|
270
|
+
}]
|
|
271
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
272
|
+
let EdsCardCta = class EdsCardCta {
|
|
273
|
+
z;
|
|
274
|
+
el;
|
|
275
|
+
constructor(c, r, z) {
|
|
276
|
+
this.z = z;
|
|
277
|
+
c.detach();
|
|
278
|
+
this.el = r.nativeElement;
|
|
279
|
+
}
|
|
280
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardCta, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
281
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsCardCta, isStandalone: true, selector: "eds-card-cta", inputs: { description: "description", links: "links", primaryButtonText: "primaryButtonText", primaryButtonUrl: "primaryButtonUrl", secondaryButtonText: "secondaryButtonText", secondaryButtonUrl: "secondaryButtonUrl", title: "title", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
282
|
+
};
|
|
283
|
+
EdsCardCta = __decorate([
|
|
284
|
+
ProxyCmp({
|
|
285
|
+
defineCustomElementFn: defineEdsCardCta,
|
|
286
|
+
inputs: ['description', 'links', 'primaryButtonText', 'primaryButtonUrl', 'secondaryButtonText', 'secondaryButtonUrl', 'title', 'variant']
|
|
287
|
+
}),
|
|
288
|
+
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
289
|
+
], EdsCardCta);
|
|
290
|
+
export { EdsCardCta };
|
|
291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardCta, decorators: [{
|
|
292
|
+
type: Component,
|
|
293
|
+
args: [{
|
|
294
|
+
selector: 'eds-card-cta',
|
|
295
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
296
|
+
template: '<ng-content></ng-content>',
|
|
297
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
298
|
+
inputs: ['description', 'links', 'primaryButtonText', 'primaryButtonUrl', 'secondaryButtonText', 'secondaryButtonUrl', 'title', 'variant'],
|
|
299
|
+
standalone: true
|
|
300
|
+
}]
|
|
301
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
302
|
+
let EdsCardFeature = class EdsCardFeature {
|
|
303
|
+
z;
|
|
304
|
+
el;
|
|
305
|
+
constructor(c, r, z) {
|
|
306
|
+
this.z = z;
|
|
307
|
+
c.detach();
|
|
308
|
+
this.el = r.nativeElement;
|
|
309
|
+
}
|
|
310
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
311
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsCardFeature, isStandalone: true, selector: "eds-card-feature", inputs: { description: "description", icon: "icon", linkText: "linkText", title: "title", url: "url", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
312
|
+
};
|
|
313
|
+
EdsCardFeature = __decorate([
|
|
314
|
+
ProxyCmp({
|
|
315
|
+
defineCustomElementFn: defineEdsCardFeature,
|
|
316
|
+
inputs: ['description', 'icon', 'linkText', 'title', 'url', 'variant']
|
|
317
|
+
}),
|
|
318
|
+
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
319
|
+
], EdsCardFeature);
|
|
320
|
+
export { EdsCardFeature };
|
|
321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardFeature, decorators: [{
|
|
322
|
+
type: Component,
|
|
323
|
+
args: [{
|
|
324
|
+
selector: 'eds-card-feature',
|
|
325
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
326
|
+
template: '<ng-content></ng-content>',
|
|
327
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
328
|
+
inputs: ['description', 'icon', 'linkText', 'title', 'url', 'variant'],
|
|
230
329
|
standalone: true
|
|
231
330
|
}]
|
|
232
331
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -239,12 +338,12 @@ let EdsCardGeneric = class EdsCardGeneric {
|
|
|
239
338
|
this.el = r.nativeElement;
|
|
240
339
|
}
|
|
241
340
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardGeneric, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
242
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsCardGeneric, isStandalone: true, selector: "eds-card-generic", inputs: {
|
|
341
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsCardGeneric, isStandalone: true, selector: "eds-card-generic", inputs: { description: "description", icon: "icon", intent: "intent", tags: "tags", title: "title", titleSize: "titleSize", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
243
342
|
};
|
|
244
343
|
EdsCardGeneric = __decorate([
|
|
245
344
|
ProxyCmp({
|
|
246
345
|
defineCustomElementFn: defineEdsCardGeneric,
|
|
247
|
-
inputs: ['
|
|
346
|
+
inputs: ['description', 'icon', 'intent', 'tags', 'title', 'titleSize', 'url']
|
|
248
347
|
}),
|
|
249
348
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
250
349
|
], EdsCardGeneric);
|
|
@@ -256,11 +355,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
256
355
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
257
356
|
template: '<ng-content></ng-content>',
|
|
258
357
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
259
|
-
inputs: ['
|
|
358
|
+
inputs: ['description', 'icon', 'intent', 'tags', 'title', 'titleSize', 'url'],
|
|
260
359
|
standalone: true
|
|
261
360
|
}]
|
|
262
361
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
263
|
-
let
|
|
362
|
+
let EdsCardHero = class EdsCardHero {
|
|
264
363
|
z;
|
|
265
364
|
el;
|
|
266
365
|
constructor(c, r, z) {
|
|
@@ -268,25 +367,55 @@ let EdsCardSection = class EdsCardSection {
|
|
|
268
367
|
c.detach();
|
|
269
368
|
this.el = r.nativeElement;
|
|
270
369
|
}
|
|
271
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type:
|
|
272
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type:
|
|
370
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardHero, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
371
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsCardHero, isStandalone: true, selector: "eds-card-hero", inputs: { category: "category", description: "description", tags: "tags", title: "title", url: "url", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
273
372
|
};
|
|
274
|
-
|
|
373
|
+
EdsCardHero = __decorate([
|
|
275
374
|
ProxyCmp({
|
|
276
|
-
defineCustomElementFn:
|
|
277
|
-
inputs: ['
|
|
375
|
+
defineCustomElementFn: defineEdsCardHero,
|
|
376
|
+
inputs: ['category', 'description', 'tags', 'title', 'url', 'variant']
|
|
278
377
|
}),
|
|
279
378
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
280
|
-
],
|
|
281
|
-
export {
|
|
282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type:
|
|
379
|
+
], EdsCardHero);
|
|
380
|
+
export { EdsCardHero };
|
|
381
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardHero, decorators: [{
|
|
283
382
|
type: Component,
|
|
284
383
|
args: [{
|
|
285
|
-
selector: 'eds-card-
|
|
384
|
+
selector: 'eds-card-hero',
|
|
286
385
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
287
386
|
template: '<ng-content></ng-content>',
|
|
288
387
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
289
|
-
inputs: ['
|
|
388
|
+
inputs: ['category', 'description', 'tags', 'title', 'url', 'variant'],
|
|
389
|
+
standalone: true
|
|
390
|
+
}]
|
|
391
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
392
|
+
let EdsCardStat = class EdsCardStat {
|
|
393
|
+
z;
|
|
394
|
+
el;
|
|
395
|
+
constructor(c, r, z) {
|
|
396
|
+
this.z = z;
|
|
397
|
+
c.detach();
|
|
398
|
+
this.el = r.nativeElement;
|
|
399
|
+
}
|
|
400
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardStat, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
401
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsCardStat, isStandalone: true, selector: "eds-card-stat", inputs: { description: "description", label: "label", number: "number", url: "url", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
402
|
+
};
|
|
403
|
+
EdsCardStat = __decorate([
|
|
404
|
+
ProxyCmp({
|
|
405
|
+
defineCustomElementFn: defineEdsCardStat,
|
|
406
|
+
inputs: ['description', 'label', 'number', 'url', 'variant']
|
|
407
|
+
}),
|
|
408
|
+
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
409
|
+
], EdsCardStat);
|
|
410
|
+
export { EdsCardStat };
|
|
411
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsCardStat, decorators: [{
|
|
412
|
+
type: Component,
|
|
413
|
+
args: [{
|
|
414
|
+
selector: 'eds-card-stat',
|
|
415
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
416
|
+
template: '<ng-content></ng-content>',
|
|
417
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
418
|
+
inputs: ['description', 'label', 'number', 'url', 'variant'],
|
|
290
419
|
standalone: true
|
|
291
420
|
}]
|
|
292
421
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -330,12 +459,12 @@ let EdsDropdown = class EdsDropdown {
|
|
|
330
459
|
proxyOutputs(this, this.el, ['dropdown']);
|
|
331
460
|
}
|
|
332
461
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
333
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsDropdown, isStandalone: true, selector: "eds-dropdown", inputs: { ariaLabel: "ariaLabel", asNav: "asNav", autoClose: "autoClose", dropdownOffset: "dropdownOffset", dropdownPos: "dropdownPos", icon: "icon", intent: "intent", label: "label", noCloseSelector: "noCloseSelector"
|
|
462
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsDropdown, isStandalone: true, selector: "eds-dropdown", inputs: { ariaLabel: "ariaLabel", asNav: "asNav", autoClose: "autoClose", dropdownOffset: "dropdownOffset", dropdownPos: "dropdownPos", icon: "icon", intent: "intent", label: "label", noCloseSelector: "noCloseSelector" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
334
463
|
};
|
|
335
464
|
EdsDropdown = __decorate([
|
|
336
465
|
ProxyCmp({
|
|
337
466
|
defineCustomElementFn: defineEdsDropdown,
|
|
338
|
-
inputs: ['ariaLabel', 'asNav', 'autoClose', 'dropdownOffset', 'dropdownPos', 'icon', 'intent', 'label', 'noCloseSelector'
|
|
467
|
+
inputs: ['ariaLabel', 'asNav', 'autoClose', 'dropdownOffset', 'dropdownPos', 'icon', 'intent', 'label', 'noCloseSelector'],
|
|
339
468
|
methods: ['close']
|
|
340
469
|
}),
|
|
341
470
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
@@ -348,7 +477,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
348
477
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
349
478
|
template: '<ng-content></ng-content>',
|
|
350
479
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
351
|
-
inputs: ['ariaLabel', 'asNav', 'autoClose', 'dropdownOffset', 'dropdownPos', 'icon', 'intent', 'label', 'noCloseSelector'
|
|
480
|
+
inputs: ['ariaLabel', 'asNav', 'autoClose', 'dropdownOffset', 'dropdownPos', 'icon', 'intent', 'label', 'noCloseSelector'],
|
|
352
481
|
standalone: true
|
|
353
482
|
}]
|
|
354
483
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -393,12 +522,12 @@ let EdsFooter = class EdsFooter {
|
|
|
393
522
|
proxyOutputs(this, this.el, ['cookies']);
|
|
394
523
|
}
|
|
395
524
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
396
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsFooter, isStandalone: true, selector: "eds-footer", inputs: { backToTopAriaLabel: "backToTopAriaLabel", cookiesPreferences: "cookiesPreferences", enableCookiesSettings: "enableCookiesSettings", enableScrollTop: "enableScrollTop", fundedBy: "fundedBy", rightsReserved: "rightsReserved", social: "social" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
525
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsFooter, isStandalone: true, selector: "eds-footer", inputs: { backToTopAriaLabel: "backToTopAriaLabel", columns: "columns", cookiesPreferences: "cookiesPreferences", enableCookiesSettings: "enableCookiesSettings", enableScrollTop: "enableScrollTop", fundedBy: "fundedBy", rightsReserved: "rightsReserved", social: "social", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
397
526
|
};
|
|
398
527
|
EdsFooter = __decorate([
|
|
399
528
|
ProxyCmp({
|
|
400
529
|
defineCustomElementFn: defineEdsFooter,
|
|
401
|
-
inputs: ['backToTopAriaLabel', 'cookiesPreferences', 'enableCookiesSettings', 'enableScrollTop', 'fundedBy', 'rightsReserved', 'social']
|
|
530
|
+
inputs: ['backToTopAriaLabel', 'columns', 'cookiesPreferences', 'enableCookiesSettings', 'enableScrollTop', 'fundedBy', 'rightsReserved', 'social', 'variant']
|
|
402
531
|
}),
|
|
403
532
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
404
533
|
], EdsFooter);
|
|
@@ -410,7 +539,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
410
539
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
411
540
|
template: '<ng-content></ng-content>',
|
|
412
541
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
413
|
-
inputs: ['backToTopAriaLabel', 'cookiesPreferences', 'enableCookiesSettings', 'enableScrollTop', 'fundedBy', 'rightsReserved', 'social'],
|
|
542
|
+
inputs: ['backToTopAriaLabel', 'columns', 'cookiesPreferences', 'enableCookiesSettings', 'enableScrollTop', 'fundedBy', 'rightsReserved', 'social', 'variant'],
|
|
414
543
|
standalone: true
|
|
415
544
|
}]
|
|
416
545
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -424,12 +553,12 @@ let EdsForm = class EdsForm {
|
|
|
424
553
|
proxyOutputs(this, this.el, ['form']);
|
|
425
554
|
}
|
|
426
555
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsForm, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
427
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsForm, isStandalone: true, selector: "eds-form", inputs: { buttonIntent: "buttonIntent", description: "description", errorMessage: "errorMessage", fields: "fields", formBtn: "formBtn", formBtnLabel: "formBtnLabel", formStyle: "formStyle", groups: "groups", initData: "initData", name: "name", setFormUrl: "setFormUrl", title: "title" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
556
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsForm, isStandalone: true, selector: "eds-form", inputs: { buttonIntent: "buttonIntent", clearBtn: "clearBtn", clearBtnLabel: "clearBtnLabel", description: "description", errorMessage: "errorMessage", fields: "fields", formBtn: "formBtn", formBtnLabel: "formBtnLabel", formStyle: "formStyle", groups: "groups", initData: "initData", name: "name", setFormUrl: "setFormUrl", title: "title" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
428
557
|
};
|
|
429
558
|
EdsForm = __decorate([
|
|
430
559
|
ProxyCmp({
|
|
431
560
|
defineCustomElementFn: defineEdsForm,
|
|
432
|
-
inputs: ['buttonIntent', 'description', 'errorMessage', 'fields', 'formBtn', 'formBtnLabel', 'formStyle', 'groups', 'initData', 'name', 'setFormUrl', 'title'],
|
|
561
|
+
inputs: ['buttonIntent', 'clearBtn', 'clearBtnLabel', 'description', 'errorMessage', 'fields', 'formBtn', 'formBtnLabel', 'formStyle', 'groups', 'initData', 'name', 'setFormUrl', 'title'],
|
|
433
562
|
methods: ['setData', 'getData']
|
|
434
563
|
}),
|
|
435
564
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
@@ -442,39 +571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
442
571
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
443
572
|
template: '<ng-content></ng-content>',
|
|
444
573
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
445
|
-
inputs: ['buttonIntent', 'description', 'errorMessage', 'fields', 'formBtn', 'formBtnLabel', 'formStyle', 'groups', 'initData', 'name', 'setFormUrl', 'title'],
|
|
446
|
-
standalone: true
|
|
447
|
-
}]
|
|
448
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
449
|
-
let EdsFullscreenMenu = class EdsFullscreenMenu {
|
|
450
|
-
z;
|
|
451
|
-
el;
|
|
452
|
-
constructor(c, r, z) {
|
|
453
|
-
this.z = z;
|
|
454
|
-
c.detach();
|
|
455
|
-
this.el = r.nativeElement;
|
|
456
|
-
proxyOutputs(this, this.el, ['menuClose']);
|
|
457
|
-
}
|
|
458
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsFullscreenMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
459
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsFullscreenMenu, isStandalone: true, selector: "eds-fullscreen-menu", inputs: { homeUrl: "homeUrl", inverseHeader: "inverseHeader", links: "links", menuLinks: "menuLinks" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
460
|
-
};
|
|
461
|
-
EdsFullscreenMenu = __decorate([
|
|
462
|
-
ProxyCmp({
|
|
463
|
-
defineCustomElementFn: defineEdsFullscreenMenu,
|
|
464
|
-
inputs: ['homeUrl', 'inverseHeader', 'links', 'menuLinks'],
|
|
465
|
-
methods: ['open', 'close']
|
|
466
|
-
}),
|
|
467
|
-
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
468
|
-
], EdsFullscreenMenu);
|
|
469
|
-
export { EdsFullscreenMenu };
|
|
470
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsFullscreenMenu, decorators: [{
|
|
471
|
-
type: Component,
|
|
472
|
-
args: [{
|
|
473
|
-
selector: 'eds-fullscreen-menu',
|
|
474
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
475
|
-
template: '<ng-content></ng-content>',
|
|
476
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
477
|
-
inputs: ['homeUrl', 'inverseHeader', 'links', 'menuLinks'],
|
|
574
|
+
inputs: ['buttonIntent', 'clearBtn', 'clearBtnLabel', 'description', 'errorMessage', 'fields', 'formBtn', 'formBtnLabel', 'formStyle', 'groups', 'initData', 'name', 'setFormUrl', 'title'],
|
|
478
575
|
standalone: true
|
|
479
576
|
}]
|
|
480
577
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -518,12 +615,12 @@ let EdsGlobalSearch = class EdsGlobalSearch {
|
|
|
518
615
|
proxyOutputs(this, this.el, ['resultSelected', 'searchClosed']);
|
|
519
616
|
}
|
|
520
617
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsGlobalSearch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
521
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsGlobalSearch, isStandalone: true, selector: "eds-global-search", inputs: { apiEndpoint: "apiEndpoint", debounceDelay: "debounceDelay", limit: "limit", placeholder: "placeholder" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
618
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsGlobalSearch, isStandalone: true, selector: "eds-global-search", inputs: { apiEndpoint: "apiEndpoint", authToken: "authToken", currentOrigin: "currentOrigin", currentSource: "currentSource", debounceDelay: "debounceDelay", forceNewTab: "forceNewTab", limit: "limit", placeholder: "placeholder", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
522
619
|
};
|
|
523
620
|
EdsGlobalSearch = __decorate([
|
|
524
621
|
ProxyCmp({
|
|
525
622
|
defineCustomElementFn: defineEdsGlobalSearch,
|
|
526
|
-
inputs: ['apiEndpoint', 'debounceDelay', 'limit', 'placeholder']
|
|
623
|
+
inputs: ['apiEndpoint', 'authToken', 'currentOrigin', 'currentSource', 'debounceDelay', 'forceNewTab', 'limit', 'placeholder', 'variant']
|
|
527
624
|
}),
|
|
528
625
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
529
626
|
], EdsGlobalSearch);
|
|
@@ -535,7 +632,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
535
632
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
536
633
|
template: '<ng-content></ng-content>',
|
|
537
634
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
538
|
-
inputs: ['apiEndpoint', 'debounceDelay', 'limit', 'placeholder'],
|
|
635
|
+
inputs: ['apiEndpoint', 'authToken', 'currentOrigin', 'currentSource', 'debounceDelay', 'forceNewTab', 'limit', 'placeholder', 'variant'],
|
|
539
636
|
standalone: true
|
|
540
637
|
}]
|
|
541
638
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -549,12 +646,12 @@ let EdsHeader = class EdsHeader {
|
|
|
549
646
|
proxyOutputs(this, this.el, ['toggleheadermenu']);
|
|
550
647
|
}
|
|
551
648
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
552
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsHeader, isStandalone: true, selector: "eds-header", inputs: {
|
|
649
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsHeader, isStandalone: true, selector: "eds-header", inputs: { links: "links", menu: "menu", url: "url", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
553
650
|
};
|
|
554
651
|
EdsHeader = __decorate([
|
|
555
652
|
ProxyCmp({
|
|
556
653
|
defineCustomElementFn: defineEdsHeader,
|
|
557
|
-
inputs: ['
|
|
654
|
+
inputs: ['links', 'menu', 'url', 'variant']
|
|
558
655
|
}),
|
|
559
656
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
560
657
|
], EdsHeader);
|
|
@@ -566,7 +663,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
566
663
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
567
664
|
template: '<ng-content></ng-content>',
|
|
568
665
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
569
|
-
inputs: ['
|
|
666
|
+
inputs: ['links', 'menu', 'url', 'variant'],
|
|
570
667
|
standalone: true
|
|
571
668
|
}]
|
|
572
669
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -579,12 +676,12 @@ let EdsIconWrapper = class EdsIconWrapper {
|
|
|
579
676
|
this.el = r.nativeElement;
|
|
580
677
|
}
|
|
581
678
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsIconWrapper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
582
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsIconWrapper, isStandalone: true, selector: "eds-icon-wrapper", inputs: {
|
|
679
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsIconWrapper, isStandalone: true, selector: "eds-icon-wrapper", inputs: { label: "label", name: "name", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
583
680
|
};
|
|
584
681
|
EdsIconWrapper = __decorate([
|
|
585
682
|
ProxyCmp({
|
|
586
683
|
defineCustomElementFn: defineEdsIconWrapper,
|
|
587
|
-
inputs: ['
|
|
684
|
+
inputs: ['label', 'name', 'size']
|
|
588
685
|
}),
|
|
589
686
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
590
687
|
], EdsIconWrapper);
|
|
@@ -596,7 +693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
596
693
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
597
694
|
template: '<ng-content></ng-content>',
|
|
598
695
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
599
|
-
inputs: ['
|
|
696
|
+
inputs: ['label', 'name', 'size'],
|
|
600
697
|
standalone: true
|
|
601
698
|
}]
|
|
602
699
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -630,6 +727,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
630
727
|
standalone: true
|
|
631
728
|
}]
|
|
632
729
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
730
|
+
let EdsInputDropzone = class EdsInputDropzone {
|
|
731
|
+
z;
|
|
732
|
+
el;
|
|
733
|
+
constructor(c, r, z) {
|
|
734
|
+
this.z = z;
|
|
735
|
+
c.detach();
|
|
736
|
+
this.el = r.nativeElement;
|
|
737
|
+
proxyOutputs(this, this.el, ['edsfile']);
|
|
738
|
+
}
|
|
739
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsInputDropzone, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
740
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsInputDropzone, isStandalone: true, selector: "eds-input-dropzone", inputs: { accept: "accept", disabled: "disabled", inputId: "inputId", maxFileSize: "maxFileSize", multiple: "multiple", name: "name", primaryText: "primaryText", required: "required", secondaryText: "secondaryText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
741
|
+
};
|
|
742
|
+
EdsInputDropzone = __decorate([
|
|
743
|
+
ProxyCmp({
|
|
744
|
+
defineCustomElementFn: defineEdsInputDropzone,
|
|
745
|
+
inputs: ['accept', 'disabled', 'inputId', 'maxFileSize', 'multiple', 'name', 'primaryText', 'required', 'secondaryText']
|
|
746
|
+
}),
|
|
747
|
+
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
748
|
+
], EdsInputDropzone);
|
|
749
|
+
export { EdsInputDropzone };
|
|
750
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsInputDropzone, decorators: [{
|
|
751
|
+
type: Component,
|
|
752
|
+
args: [{
|
|
753
|
+
selector: 'eds-input-dropzone',
|
|
754
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
755
|
+
template: '<ng-content></ng-content>',
|
|
756
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
757
|
+
inputs: ['accept', 'disabled', 'inputId', 'maxFileSize', 'multiple', 'name', 'primaryText', 'required', 'secondaryText'],
|
|
758
|
+
standalone: true
|
|
759
|
+
}]
|
|
760
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
633
761
|
let EdsInputField = class EdsInputField {
|
|
634
762
|
z;
|
|
635
763
|
el;
|
|
@@ -661,6 +789,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
661
789
|
standalone: true
|
|
662
790
|
}]
|
|
663
791
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
792
|
+
let EdsInputFile = class EdsInputFile {
|
|
793
|
+
z;
|
|
794
|
+
el;
|
|
795
|
+
constructor(c, r, z) {
|
|
796
|
+
this.z = z;
|
|
797
|
+
c.detach();
|
|
798
|
+
this.el = r.nativeElement;
|
|
799
|
+
proxyOutputs(this, this.el, ['edsfile']);
|
|
800
|
+
}
|
|
801
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsInputFile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
802
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsInputFile, isStandalone: true, selector: "eds-input-file", inputs: { accept: "accept", buttonLabel: "buttonLabel", disabled: "disabled", inputId: "inputId", maxFileSize: "maxFileSize", multiple: "multiple", name: "name", required: "required" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
803
|
+
};
|
|
804
|
+
EdsInputFile = __decorate([
|
|
805
|
+
ProxyCmp({
|
|
806
|
+
defineCustomElementFn: defineEdsInputFile,
|
|
807
|
+
inputs: ['accept', 'buttonLabel', 'disabled', 'inputId', 'maxFileSize', 'multiple', 'name', 'required']
|
|
808
|
+
}),
|
|
809
|
+
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
810
|
+
], EdsInputFile);
|
|
811
|
+
export { EdsInputFile };
|
|
812
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsInputFile, decorators: [{
|
|
813
|
+
type: Component,
|
|
814
|
+
args: [{
|
|
815
|
+
selector: 'eds-input-file',
|
|
816
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
817
|
+
template: '<ng-content></ng-content>',
|
|
818
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
819
|
+
inputs: ['accept', 'buttonLabel', 'disabled', 'inputId', 'maxFileSize', 'multiple', 'name', 'required'],
|
|
820
|
+
standalone: true
|
|
821
|
+
}]
|
|
822
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
664
823
|
let EdsInputFooter = class EdsInputFooter {
|
|
665
824
|
z;
|
|
666
825
|
el;
|
|
@@ -721,6 +880,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
721
880
|
standalone: true
|
|
722
881
|
}]
|
|
723
882
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
883
|
+
let EdsKgLearningResources = class EdsKgLearningResources {
|
|
884
|
+
z;
|
|
885
|
+
el;
|
|
886
|
+
constructor(c, r, z) {
|
|
887
|
+
this.z = z;
|
|
888
|
+
c.detach();
|
|
889
|
+
this.el = r.nativeElement;
|
|
890
|
+
}
|
|
891
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsKgLearningResources, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
892
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsKgLearningResources, isStandalone: true, selector: "eds-kg-learning-resources", inputs: { apiEndpoint: "apiEndpoint", heading: "heading", resolveNames: "resolveNames", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
893
|
+
};
|
|
894
|
+
EdsKgLearningResources = __decorate([
|
|
895
|
+
ProxyCmp({
|
|
896
|
+
defineCustomElementFn: defineEdsKgLearningResources,
|
|
897
|
+
inputs: ['apiEndpoint', 'heading', 'resolveNames', 'size', 'variant']
|
|
898
|
+
}),
|
|
899
|
+
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
900
|
+
], EdsKgLearningResources);
|
|
901
|
+
export { EdsKgLearningResources };
|
|
902
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsKgLearningResources, decorators: [{
|
|
903
|
+
type: Component,
|
|
904
|
+
args: [{
|
|
905
|
+
selector: 'eds-kg-learning-resources',
|
|
906
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
907
|
+
template: '<ng-content></ng-content>',
|
|
908
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
909
|
+
inputs: ['apiEndpoint', 'heading', 'resolveNames', 'size', 'variant'],
|
|
910
|
+
standalone: true
|
|
911
|
+
}]
|
|
912
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
913
|
+
let EdsKgWebServicesSelect = class EdsKgWebServicesSelect {
|
|
914
|
+
z;
|
|
915
|
+
el;
|
|
916
|
+
constructor(c, r, z) {
|
|
917
|
+
this.z = z;
|
|
918
|
+
c.detach();
|
|
919
|
+
this.el = r.nativeElement;
|
|
920
|
+
proxyOutputs(this, this.el, ['edsinput', 'edschange']);
|
|
921
|
+
}
|
|
922
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsKgWebServicesSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
923
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsKgWebServicesSelect, isStandalone: true, selector: "eds-kg-web-services-select", inputs: { apiEndpoint: "apiEndpoint", disabled: "disabled", error: "error", errorMessage: "errorMessage", hint: "hint", label: "label", message: "message", name: "name", placeholder: "placeholder", required: "required", searchTerm: "searchTerm", size: "size", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
924
|
+
};
|
|
925
|
+
EdsKgWebServicesSelect = __decorate([
|
|
926
|
+
ProxyCmp({
|
|
927
|
+
defineCustomElementFn: defineEdsKgWebServicesSelect,
|
|
928
|
+
inputs: ['apiEndpoint', 'disabled', 'error', 'errorMessage', 'hint', 'label', 'message', 'name', 'placeholder', 'required', 'searchTerm', 'size', 'value']
|
|
929
|
+
}),
|
|
930
|
+
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
931
|
+
], EdsKgWebServicesSelect);
|
|
932
|
+
export { EdsKgWebServicesSelect };
|
|
933
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsKgWebServicesSelect, decorators: [{
|
|
934
|
+
type: Component,
|
|
935
|
+
args: [{
|
|
936
|
+
selector: 'eds-kg-web-services-select',
|
|
937
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
938
|
+
template: '<ng-content></ng-content>',
|
|
939
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
940
|
+
inputs: ['apiEndpoint', 'disabled', 'error', 'errorMessage', 'hint', 'label', 'message', 'name', 'placeholder', 'required', 'searchTerm', 'size', 'value'],
|
|
941
|
+
standalone: true
|
|
942
|
+
}]
|
|
943
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
724
944
|
let EdsLink = class EdsLink {
|
|
725
945
|
z;
|
|
726
946
|
el;
|
|
@@ -730,12 +950,12 @@ let EdsLink = class EdsLink {
|
|
|
730
950
|
this.el = r.nativeElement;
|
|
731
951
|
}
|
|
732
952
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsLink, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
733
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsLink, isStandalone: true, selector: "eds-link", inputs: { ariaLabel: "ariaLabel", current: "current", disabled: "disabled", download: "download", external: "external", hideLabelOnSmallScreen: "hideLabelOnSmallScreen", icon: "icon", iconPos: "iconPos", iconSmall: "iconSmall", intent: "intent", label: "label", size: "size", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
953
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsLink, isStandalone: true, selector: "eds-link", inputs: { ariaLabel: "ariaLabel", current: "current", disabled: "disabled", download: "download", external: "external", hideLabelOnSmallScreen: "hideLabelOnSmallScreen", icon: "icon", iconPos: "iconPos", iconSmall: "iconSmall", intent: "intent", label: "label", pill: "pill", size: "size", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
734
954
|
};
|
|
735
955
|
EdsLink = __decorate([
|
|
736
956
|
ProxyCmp({
|
|
737
957
|
defineCustomElementFn: defineEdsLink,
|
|
738
|
-
inputs: ['ariaLabel', 'current', 'disabled', 'download', 'external', 'hideLabelOnSmallScreen', 'icon', 'iconPos', 'iconSmall', 'intent', 'label', 'size', 'url']
|
|
958
|
+
inputs: ['ariaLabel', 'current', 'disabled', 'download', 'external', 'hideLabelOnSmallScreen', 'icon', 'iconPos', 'iconSmall', 'intent', 'label', 'pill', 'size', 'url']
|
|
739
959
|
}),
|
|
740
960
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
741
961
|
], EdsLink);
|
|
@@ -747,7 +967,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
747
967
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
748
968
|
template: '<ng-content></ng-content>',
|
|
749
969
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
750
|
-
inputs: ['ariaLabel', 'current', 'disabled', 'download', 'external', 'hideLabelOnSmallScreen', 'icon', 'iconPos', 'iconSmall', 'intent', 'label', 'size', 'url'],
|
|
970
|
+
inputs: ['ariaLabel', 'current', 'disabled', 'download', 'external', 'hideLabelOnSmallScreen', 'icon', 'iconPos', 'iconSmall', 'intent', 'label', 'pill', 'size', 'url'],
|
|
751
971
|
standalone: true
|
|
752
972
|
}]
|
|
753
973
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -760,12 +980,12 @@ let EdsLogo = class EdsLogo {
|
|
|
760
980
|
this.el = r.nativeElement;
|
|
761
981
|
}
|
|
762
982
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsLogo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
763
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsLogo, isStandalone: true, selector: "eds-logo", inputs: { href: "href", label: "label", orientation: "orientation",
|
|
983
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsLogo, isStandalone: true, selector: "eds-logo", inputs: { href: "href", label: "label", orientation: "orientation", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
764
984
|
};
|
|
765
985
|
EdsLogo = __decorate([
|
|
766
986
|
ProxyCmp({
|
|
767
987
|
defineCustomElementFn: defineEdsLogo,
|
|
768
|
-
inputs: ['href', 'label', 'orientation', '
|
|
988
|
+
inputs: ['href', 'label', 'orientation', 'variant']
|
|
769
989
|
}),
|
|
770
990
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
771
991
|
], EdsLogo);
|
|
@@ -777,7 +997,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
777
997
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
778
998
|
template: '<ng-content></ng-content>',
|
|
779
999
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
780
|
-
inputs: ['href', 'label', 'orientation', '
|
|
1000
|
+
inputs: ['href', 'label', 'orientation', 'variant'],
|
|
781
1001
|
standalone: true
|
|
782
1002
|
}]
|
|
783
1003
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -821,12 +1041,12 @@ let EdsModal = class EdsModal {
|
|
|
821
1041
|
this.el = r.nativeElement;
|
|
822
1042
|
}
|
|
823
1043
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
824
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsModal, isStandalone: true, selector: "eds-modal", inputs: { heading: "heading", inverseHeader: "inverseHeader", position: "position", truncate: "truncate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1044
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsModal, isStandalone: true, selector: "eds-modal", inputs: { heading: "heading", inverseHeader: "inverseHeader", position: "position", size: "size", truncate: "truncate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
825
1045
|
};
|
|
826
1046
|
EdsModal = __decorate([
|
|
827
1047
|
ProxyCmp({
|
|
828
1048
|
defineCustomElementFn: defineEdsModal,
|
|
829
|
-
inputs: ['heading', 'inverseHeader', 'position', 'truncate'],
|
|
1049
|
+
inputs: ['heading', 'inverseHeader', 'position', 'size', 'truncate'],
|
|
830
1050
|
methods: ['open', 'close', 'toggle']
|
|
831
1051
|
}),
|
|
832
1052
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
@@ -839,7 +1059,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
839
1059
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
840
1060
|
template: '<ng-content></ng-content>',
|
|
841
1061
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
842
|
-
inputs: ['heading', 'inverseHeader', 'position', 'truncate'],
|
|
1062
|
+
inputs: ['heading', 'inverseHeader', 'position', 'size', 'truncate'],
|
|
843
1063
|
standalone: true
|
|
844
1064
|
}]
|
|
845
1065
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -853,12 +1073,12 @@ let EdsNps = class EdsNps {
|
|
|
853
1073
|
proxyOutputs(this, this.el, ['nps']);
|
|
854
1074
|
}
|
|
855
1075
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsNps, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
856
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsNps, isStandalone: true, selector: "eds-nps", inputs: { leftLabel: "leftLabel", question: "question", rightLabel: "rightLabel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1076
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsNps, isStandalone: true, selector: "eds-nps", inputs: { leftLabel: "leftLabel", question: "question", rightLabel: "rightLabel", selectedValue: "selectedValue" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
857
1077
|
};
|
|
858
1078
|
EdsNps = __decorate([
|
|
859
1079
|
ProxyCmp({
|
|
860
1080
|
defineCustomElementFn: defineEdsNps,
|
|
861
|
-
inputs: ['leftLabel', 'question', 'rightLabel']
|
|
1081
|
+
inputs: ['leftLabel', 'question', 'rightLabel', 'selectedValue']
|
|
862
1082
|
}),
|
|
863
1083
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
864
1084
|
], EdsNps);
|
|
@@ -870,7 +1090,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
870
1090
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
871
1091
|
template: '<ng-content></ng-content>',
|
|
872
1092
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
873
|
-
inputs: ['leftLabel', 'question', 'rightLabel'],
|
|
1093
|
+
inputs: ['leftLabel', 'question', 'rightLabel', 'selectedValue'],
|
|
874
1094
|
standalone: true
|
|
875
1095
|
}]
|
|
876
1096
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -943,12 +1163,12 @@ let EdsProgressBar = class EdsProgressBar {
|
|
|
943
1163
|
this.el = r.nativeElement;
|
|
944
1164
|
}
|
|
945
1165
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsProgressBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
946
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsProgressBar, isStandalone: true, selector: "eds-progress-bar", inputs: {
|
|
1166
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsProgressBar, isStandalone: true, selector: "eds-progress-bar", inputs: { labelPaddingX: "labelPaddingX", showLabel: "showLabel", value: "value", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
947
1167
|
};
|
|
948
1168
|
EdsProgressBar = __decorate([
|
|
949
1169
|
ProxyCmp({
|
|
950
1170
|
defineCustomElementFn: defineEdsProgressBar,
|
|
951
|
-
inputs: ['
|
|
1171
|
+
inputs: ['labelPaddingX', 'showLabel', 'value', 'variant'],
|
|
952
1172
|
methods: ['updateValue']
|
|
953
1173
|
}),
|
|
954
1174
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
@@ -961,7 +1181,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
961
1181
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
962
1182
|
template: '<ng-content></ng-content>',
|
|
963
1183
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
964
|
-
inputs: ['
|
|
1184
|
+
inputs: ['labelPaddingX', 'showLabel', 'value', 'variant'],
|
|
965
1185
|
standalone: true
|
|
966
1186
|
}]
|
|
967
1187
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -975,12 +1195,12 @@ let EdsRating = class EdsRating {
|
|
|
975
1195
|
proxyOutputs(this, this.el, ['rating']);
|
|
976
1196
|
}
|
|
977
1197
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsRating, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
978
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsRating, isStandalone: true, selector: "eds-rating", inputs: { ratingCount: "ratingCount", ratingType: "ratingType" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1198
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsRating, isStandalone: true, selector: "eds-rating", inputs: { ratingCount: "ratingCount", ratingType: "ratingType", selectedRating: "selectedRating" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
979
1199
|
};
|
|
980
1200
|
EdsRating = __decorate([
|
|
981
1201
|
ProxyCmp({
|
|
982
1202
|
defineCustomElementFn: defineEdsRating,
|
|
983
|
-
inputs: ['ratingCount', 'ratingType']
|
|
1203
|
+
inputs: ['ratingCount', 'ratingType', 'selectedRating']
|
|
984
1204
|
}),
|
|
985
1205
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
986
1206
|
], EdsRating);
|
|
@@ -992,7 +1212,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
992
1212
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
993
1213
|
template: '<ng-content></ng-content>',
|
|
994
1214
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
995
|
-
inputs: ['ratingCount', 'ratingType'],
|
|
1215
|
+
inputs: ['ratingCount', 'ratingType', 'selectedRating'],
|
|
1216
|
+
standalone: true
|
|
1217
|
+
}]
|
|
1218
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1219
|
+
let EdsSearchSelect = class EdsSearchSelect {
|
|
1220
|
+
z;
|
|
1221
|
+
el;
|
|
1222
|
+
constructor(c, r, z) {
|
|
1223
|
+
this.z = z;
|
|
1224
|
+
c.detach();
|
|
1225
|
+
this.el = r.nativeElement;
|
|
1226
|
+
proxyOutputs(this, this.el, ['edsinput', 'edschange']);
|
|
1227
|
+
}
|
|
1228
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsSearchSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1229
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsSearchSelect, isStandalone: true, selector: "eds-search-select", inputs: { apiBase: "apiBase", debounceMs: "debounceMs", disabled: "disabled", error: "error", errorMessage: "errorMessage", hint: "hint", label: "label", limit: "limit", maxVisible: "maxVisible", message: "message", multiple: "multiple", name: "name", options: "options", placeholder: "placeholder", required: "required", searchParam: "searchParam", source: "source", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1230
|
+
};
|
|
1231
|
+
EdsSearchSelect = __decorate([
|
|
1232
|
+
ProxyCmp({
|
|
1233
|
+
defineCustomElementFn: defineEdsSearchSelect,
|
|
1234
|
+
inputs: ['apiBase', 'debounceMs', 'disabled', 'error', 'errorMessage', 'hint', 'label', 'limit', 'maxVisible', 'message', 'multiple', 'name', 'options', 'placeholder', 'required', 'searchParam', 'source', 'value']
|
|
1235
|
+
}),
|
|
1236
|
+
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
1237
|
+
], EdsSearchSelect);
|
|
1238
|
+
export { EdsSearchSelect };
|
|
1239
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsSearchSelect, decorators: [{
|
|
1240
|
+
type: Component,
|
|
1241
|
+
args: [{
|
|
1242
|
+
selector: 'eds-search-select',
|
|
1243
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1244
|
+
template: '<ng-content></ng-content>',
|
|
1245
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1246
|
+
inputs: ['apiBase', 'debounceMs', 'disabled', 'error', 'errorMessage', 'hint', 'label', 'limit', 'maxVisible', 'message', 'multiple', 'name', 'options', 'placeholder', 'required', 'searchParam', 'source', 'value'],
|
|
996
1247
|
standalone: true
|
|
997
1248
|
}]
|
|
998
1249
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -1036,12 +1287,12 @@ let EdsSocialNetworks = class EdsSocialNetworks {
|
|
|
1036
1287
|
this.el = r.nativeElement;
|
|
1037
1288
|
}
|
|
1038
1289
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsSocialNetworks, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1039
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsSocialNetworks, isStandalone: true, selector: "eds-social-networks", inputs: { heading: "heading" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1290
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsSocialNetworks, isStandalone: true, selector: "eds-social-networks", inputs: { heading: "heading", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1040
1291
|
};
|
|
1041
1292
|
EdsSocialNetworks = __decorate([
|
|
1042
1293
|
ProxyCmp({
|
|
1043
1294
|
defineCustomElementFn: defineEdsSocialNetworks,
|
|
1044
|
-
inputs: ['heading']
|
|
1295
|
+
inputs: ['heading', 'variant']
|
|
1045
1296
|
}),
|
|
1046
1297
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
1047
1298
|
], EdsSocialNetworks);
|
|
@@ -1053,7 +1304,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
1053
1304
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1054
1305
|
template: '<ng-content></ng-content>',
|
|
1055
1306
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1056
|
-
inputs: ['heading'],
|
|
1307
|
+
inputs: ['heading', 'variant'],
|
|
1057
1308
|
standalone: true
|
|
1058
1309
|
}]
|
|
1059
1310
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -1128,12 +1379,12 @@ let EdsSteps = class EdsSteps {
|
|
|
1128
1379
|
proxyOutputs(this, this.el, ['step', 'finished', 'next', 'back']);
|
|
1129
1380
|
}
|
|
1130
1381
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsSteps, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1131
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsSteps, isStandalone: true, selector: "eds-steps", inputs: { backLabel: "backLabel", collapsibleTitles: "collapsibleTitles", disableNext: "disableNext", finishLabel: "finishLabel", headingLevel: "headingLevel", nextLabel: "nextLabel", orientation: "orientation", steps: "steps", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1382
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsSteps, isStandalone: true, selector: "eds-steps", inputs: { backLabel: "backLabel", collapsibleTitles: "collapsibleTitles", disableNext: "disableNext", finishLabel: "finishLabel", headingLevel: "headingLevel", nextLabel: "nextLabel", orientation: "orientation", showFinish: "showFinish", steps: "steps", theme: "theme", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1132
1383
|
};
|
|
1133
1384
|
EdsSteps = __decorate([
|
|
1134
1385
|
ProxyCmp({
|
|
1135
1386
|
defineCustomElementFn: defineEdsSteps,
|
|
1136
|
-
inputs: ['backLabel', 'collapsibleTitles', 'disableNext', 'finishLabel', 'headingLevel', 'nextLabel', 'orientation', 'steps', 'type']
|
|
1387
|
+
inputs: ['backLabel', 'collapsibleTitles', 'disableNext', 'finishLabel', 'headingLevel', 'nextLabel', 'orientation', 'showFinish', 'steps', 'theme', 'type']
|
|
1137
1388
|
}),
|
|
1138
1389
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
1139
1390
|
], EdsSteps);
|
|
@@ -1145,7 +1396,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
1145
1396
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1146
1397
|
template: '<ng-content></ng-content>',
|
|
1147
1398
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1148
|
-
inputs: ['backLabel', 'collapsibleTitles', 'disableNext', 'finishLabel', 'headingLevel', 'nextLabel', 'orientation', 'steps', 'type'],
|
|
1399
|
+
inputs: ['backLabel', 'collapsibleTitles', 'disableNext', 'finishLabel', 'headingLevel', 'nextLabel', 'orientation', 'showFinish', 'steps', 'theme', 'type'],
|
|
1149
1400
|
standalone: true
|
|
1150
1401
|
}]
|
|
1151
1402
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -1159,12 +1410,12 @@ let EdsStepsV2 = class EdsStepsV2 {
|
|
|
1159
1410
|
proxyOutputs(this, this.el, ['step', 'finished', 'next', 'back']);
|
|
1160
1411
|
}
|
|
1161
1412
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsStepsV2, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1162
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsStepsV2, isStandalone: true, selector: "eds-steps-v2", inputs: { backLabel: "backLabel", disableNext: "disableNext", finishLabel: "finishLabel", headingLevel: "headingLevel", imageSrc: "imageSrc", imageWidth: "imageWidth", message: "message", nextLabel: "nextLabel", orientation: "orientation", steps: "steps", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1413
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsStepsV2, isStandalone: true, selector: "eds-steps-v2", inputs: { backLabel: "backLabel", disableNext: "disableNext", finishLabel: "finishLabel", headingLevel: "headingLevel", imageSrc: "imageSrc", imageWidth: "imageWidth", message: "message", nextLabel: "nextLabel", orientation: "orientation", showFinish: "showFinish", steps: "steps", theme: "theme", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1163
1414
|
};
|
|
1164
1415
|
EdsStepsV2 = __decorate([
|
|
1165
1416
|
ProxyCmp({
|
|
1166
1417
|
defineCustomElementFn: defineEdsStepsV2,
|
|
1167
|
-
inputs: ['backLabel', 'disableNext', 'finishLabel', 'headingLevel', 'imageSrc', 'imageWidth', 'message', 'nextLabel', 'orientation', 'steps', 'type']
|
|
1418
|
+
inputs: ['backLabel', 'disableNext', 'finishLabel', 'headingLevel', 'imageSrc', 'imageWidth', 'message', 'nextLabel', 'orientation', 'showFinish', 'steps', 'theme', 'type']
|
|
1168
1419
|
}),
|
|
1169
1420
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
1170
1421
|
], EdsStepsV2);
|
|
@@ -1176,7 +1427,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
1176
1427
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1177
1428
|
template: '<ng-content></ng-content>',
|
|
1178
1429
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1179
|
-
inputs: ['backLabel', 'disableNext', 'finishLabel', 'headingLevel', 'imageSrc', 'imageWidth', 'message', 'nextLabel', 'orientation', 'steps', 'type'],
|
|
1430
|
+
inputs: ['backLabel', 'disableNext', 'finishLabel', 'headingLevel', 'imageSrc', 'imageWidth', 'message', 'nextLabel', 'orientation', 'showFinish', 'steps', 'theme', 'type'],
|
|
1180
1431
|
standalone: true
|
|
1181
1432
|
}]
|
|
1182
1433
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -1190,12 +1441,12 @@ let EdsSwitch = class EdsSwitch {
|
|
|
1190
1441
|
proxyOutputs(this, this.el, ['uiswitch']);
|
|
1191
1442
|
}
|
|
1192
1443
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsSwitch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1193
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsSwitch, isStandalone: true, selector: "eds-switch", inputs: { checked: "checked", disabled: "disabled", labelOff: "labelOff", labelOn: "labelOn" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1444
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsSwitch, isStandalone: true, selector: "eds-switch", inputs: { checked: "checked", disabled: "disabled", labelOff: "labelOff", labelOn: "labelOn", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1194
1445
|
};
|
|
1195
1446
|
EdsSwitch = __decorate([
|
|
1196
1447
|
ProxyCmp({
|
|
1197
1448
|
defineCustomElementFn: defineEdsSwitch,
|
|
1198
|
-
inputs: ['checked', 'disabled', 'labelOff', 'labelOn']
|
|
1449
|
+
inputs: ['checked', 'disabled', 'labelOff', 'labelOn', 'variant']
|
|
1199
1450
|
}),
|
|
1200
1451
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
1201
1452
|
], EdsSwitch);
|
|
@@ -1207,7 +1458,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
1207
1458
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1208
1459
|
template: '<ng-content></ng-content>',
|
|
1209
1460
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1210
|
-
inputs: ['checked', 'disabled', 'labelOff', 'labelOn'],
|
|
1461
|
+
inputs: ['checked', 'disabled', 'labelOff', 'labelOn', 'variant'],
|
|
1211
1462
|
standalone: true
|
|
1212
1463
|
}]
|
|
1213
1464
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -1218,15 +1469,15 @@ let EdsTable = class EdsTable {
|
|
|
1218
1469
|
this.z = z;
|
|
1219
1470
|
c.detach();
|
|
1220
1471
|
this.el = r.nativeElement;
|
|
1221
|
-
proxyOutputs(this, this.el, ['rowaction']);
|
|
1472
|
+
proxyOutputs(this, this.el, ['rowaction', 'viewchange']);
|
|
1222
1473
|
}
|
|
1223
1474
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1224
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsTable, isStandalone: true, selector: "eds-table", inputs: { actionTemplate: "actionTemplate", actions: "actions",
|
|
1475
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsTable, isStandalone: true, selector: "eds-table", inputs: { actionTemplate: "actionTemplate", actions: "actions", config: "config", data: "data", hostWidth: "hostWidth", paginationEnabled: "paginationEnabled", rowsPerPage: "rowsPerPage", searchEnabled: "searchEnabled", showViewToggle: "showViewToggle", sortingEnabled: "sortingEnabled", theme: "theme", view: "view" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1225
1476
|
};
|
|
1226
1477
|
EdsTable = __decorate([
|
|
1227
1478
|
ProxyCmp({
|
|
1228
1479
|
defineCustomElementFn: defineEdsTable,
|
|
1229
|
-
inputs: ['actionTemplate', 'actions', '
|
|
1480
|
+
inputs: ['actionTemplate', 'actions', 'config', 'data', 'hostWidth', 'paginationEnabled', 'rowsPerPage', 'searchEnabled', 'showViewToggle', 'sortingEnabled', 'theme', 'view']
|
|
1230
1481
|
}),
|
|
1231
1482
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
1232
1483
|
], EdsTable);
|
|
@@ -1238,7 +1489,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
1238
1489
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1239
1490
|
template: '<ng-content></ng-content>',
|
|
1240
1491
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1241
|
-
inputs: ['actionTemplate', 'actions', '
|
|
1492
|
+
inputs: ['actionTemplate', 'actions', 'config', 'data', 'hostWidth', 'paginationEnabled', 'rowsPerPage', 'searchEnabled', 'showViewToggle', 'sortingEnabled', 'theme', 'view'],
|
|
1242
1493
|
standalone: true
|
|
1243
1494
|
}]
|
|
1244
1495
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -1252,12 +1503,12 @@ let EdsTabs = class EdsTabs {
|
|
|
1252
1503
|
proxyOutputs(this, this.el, ['tab']);
|
|
1253
1504
|
}
|
|
1254
1505
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsTabs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1255
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsTabs, isStandalone: true, selector: "eds-tabs", inputs: { identifier: "identifier", navAriaLabel: "navAriaLabel", tabs: "tabs" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1506
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsTabs, isStandalone: true, selector: "eds-tabs", inputs: { identifier: "identifier", navAriaLabel: "navAriaLabel", tabs: "tabs", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1256
1507
|
};
|
|
1257
1508
|
EdsTabs = __decorate([
|
|
1258
1509
|
ProxyCmp({
|
|
1259
1510
|
defineCustomElementFn: defineEdsTabs,
|
|
1260
|
-
inputs: ['identifier', 'navAriaLabel', 'tabs']
|
|
1511
|
+
inputs: ['identifier', 'navAriaLabel', 'tabs', 'variant']
|
|
1261
1512
|
}),
|
|
1262
1513
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
1263
1514
|
], EdsTabs);
|
|
@@ -1269,7 +1520,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
1269
1520
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1270
1521
|
template: '<ng-content></ng-content>',
|
|
1271
1522
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1272
|
-
inputs: ['identifier', 'navAriaLabel', 'tabs'],
|
|
1523
|
+
inputs: ['identifier', 'navAriaLabel', 'tabs', 'variant'],
|
|
1273
1524
|
standalone: true
|
|
1274
1525
|
}]
|
|
1275
1526
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -1364,6 +1615,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
1364
1615
|
standalone: true
|
|
1365
1616
|
}]
|
|
1366
1617
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1618
|
+
let EdsTrlBadge = class EdsTrlBadge {
|
|
1619
|
+
z;
|
|
1620
|
+
el;
|
|
1621
|
+
constructor(c, r, z) {
|
|
1622
|
+
this.z = z;
|
|
1623
|
+
c.detach();
|
|
1624
|
+
this.el = r.nativeElement;
|
|
1625
|
+
}
|
|
1626
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsTrlBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1627
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: EdsTrlBadge, isStandalone: true, selector: "eds-trl-badge", inputs: { assessed: "assessed", href: "href", label: "label", level: "level", methodology: "methodology", size: "size", theme: "theme", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1628
|
+
};
|
|
1629
|
+
EdsTrlBadge = __decorate([
|
|
1630
|
+
ProxyCmp({
|
|
1631
|
+
defineCustomElementFn: defineEdsTrlBadge,
|
|
1632
|
+
inputs: ['assessed', 'href', 'label', 'level', 'methodology', 'size', 'theme', 'variant']
|
|
1633
|
+
}),
|
|
1634
|
+
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
1635
|
+
], EdsTrlBadge);
|
|
1636
|
+
export { EdsTrlBadge };
|
|
1637
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EdsTrlBadge, decorators: [{
|
|
1638
|
+
type: Component,
|
|
1639
|
+
args: [{
|
|
1640
|
+
selector: 'eds-trl-badge',
|
|
1641
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1642
|
+
template: '<ng-content></ng-content>',
|
|
1643
|
+
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1644
|
+
inputs: ['assessed', 'href', 'label', 'level', 'methodology', 'size', 'theme', 'variant'],
|
|
1645
|
+
standalone: true
|
|
1646
|
+
}]
|
|
1647
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1367
1648
|
let EdsUser = class EdsUser {
|
|
1368
1649
|
z;
|
|
1369
1650
|
el;
|
|
@@ -1395,4 +1676,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
1395
1676
|
standalone: true
|
|
1396
1677
|
}]
|
|
1397
1678
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1398
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL2dlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFnQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUl2RSxPQUFPLEVBQUUsbUJBQW1CLElBQUksa0JBQWtCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNqSCxPQUFPLEVBQUUsbUJBQW1CLElBQUksY0FBYyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDekcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGVBQWUsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxlQUFlLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsbUJBQW1CLElBQUksb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0SCxPQUFPLEVBQUUsbUJBQW1CLElBQUksb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0SCxPQUFPLEVBQUUsbUJBQW1CLElBQUksa0JBQWtCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNsSCxPQUFPLEVBQUUsbUJBQW1CLElBQUksaUJBQWlCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRyxPQUFPLEVBQUUsbUJBQW1C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QUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO3VHQUxVLE9BQU87MkZBQVAsT0FBTyxnSkFMUiwyQkFBMkI7O0FBSzFCLE9BQU87SUFibkIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsYUFBYTtRQUNwQyxNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztRQUMzQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7S0FDM0IsQ0FBQztxQ0FXZSxpQkFBaUIsRUFBSyxVQUFVLEVBQWUsTUFBTTtHQUZ6RCxPQUFPLENBTW5COzsyRkFOWSxPQUFPO2tCQVJuQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztvQkFDM0MsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudHMgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzJztcblxuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNBY2NvcmRpb24gfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtYWNjb3JkaW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzQWxlcnQgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtYWxlcnQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNBdmF0YXIgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtYXZhdGFyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzQmxvY2tCcmVhayB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1ibG9jay1icmVhay5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0JyZWFkY3J1bWIgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtYnJlYWRjcnVtYi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0J1dHRvbiB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1idXR0b24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNDYXJkR2VuZXJpYyB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1jYXJkLWdlbmVyaWMuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNDYXJkU2VjdGlvbiB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1jYXJkLXNlY3Rpb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNDb2RlQmxvY2sgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtY29kZS1ibG9jay5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0Ryb3Bkb3duIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWRyb3Bkb3duLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzRmVlZGJhY2sgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtZmVlZGJhY2suanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNGb290ZXIgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtZm9vdGVyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzRm9ybSB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1mb3JtLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzRnVsbHNjcmVlbk1lbnUgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtZnVsbHNjcmVlbi1tZW51LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzR2F1Z2UgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtZ2F1Z2UuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNHbG9iYWxTZWFyY2ggfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtZ2xvYmFsLXNlYXJjaC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0hlYWRlciB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1oZWFkZXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNJY29uV3JhcHBlciB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1pY29uLXdyYXBwZXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNJbWcgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtaW1nLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzSW5wdXRGaWVsZCB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1pbnB1dC1maWVsZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0lucHV0Rm9vdGVyIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWlucHV0LWZvb3Rlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0lucHV0TGFiZWwgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtaW5wdXQtbGFiZWwuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNMaW5rIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWxpbmsuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNMb2dvIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWxvZ28uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNNYXRvbW9Ob3RpY2UgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtbWF0b21vLW5vdGljZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc01vZGFsIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLW1vZGFsLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzTnBzIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLW5wcy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc1BhZ2luYXRpb24gfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtcGFnaW5hdGlvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc1BpZSB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1waWUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNQcm9ncmVzc0JhciB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1wcm9ncmVzcy1iYXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNSYXRpbmcgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtcmF0aW5nLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzU2lkZWJhciB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1zaWRlYmFyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzU29jaWFsTmV0d29ya3MgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtc29jaWFsLW5ldHdvcmtzLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzU3Bpbm5lciB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1zcGlubmVyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzU3BsYXNoU2NyZWVuIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLXNwbGFzaC1zY3JlZW4uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNTdGVwcyB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1zdGVwcy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc1N0ZXBzVjIgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtc3RlcHMtdjIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNTd2l0Y2ggfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtc3dpdGNoLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzVGFibGUgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtdGFibGUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNUYWJzIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLXRhYnMuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNUYWcgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtdGFnLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzVG9hc3QgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtdG9hc3QuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNUb29sdGlwIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLXRvb2x0aXAuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNVc2VyIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLXVzZXIuanMnO1xuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNBY2NvcmRpb24sXG4gIGlucHV0czogWydidXR0b25JbnRlbnQnLCAnY2xhbXBUZXh0JywgJ2Rlc2NyaXB0aW9uJywgJ2V4cGFuZGVkJywgJ2hlYWRpbmcnLCAnc3dpdGNoQmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkludGVudCcsICdjbGFtcFRleHQnLCAnZGVzY3JpcHRpb24nLCAnZXhwYW5kZWQnLCAnaGVhZGluZycsICdzd2l0Y2hCZyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0FjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0FjY29yZGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2FjY29yZGlvbiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkVkc0FjY29yZGlvbiB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFjY29yZGlvbiB0b2dnbGVzLCBpbmRpY2F0aW5nIHRoZSBuZXcgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXRlXG4gICAqL1xuICBhY2NvcmRpb246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNBbGVydCxcbiAgaW5wdXRzOiBbJ2JyZCcsICdkaXJlY3Rpb24nLCAnaW50ZW50JywgJ21lc3NhZ2UnLCAncHJlc3NhYmxlTGFiZWwnLCAncHJlc3NhYmxlVXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtYWxlcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JyZCcsICdkaXJlY3Rpb24nLCAnaW50ZW50JywgJ21lc3NhZ2UnLCAncHJlc3NhYmxlTGFiZWwnLCAncHJlc3NhYmxlVXJsJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzQWxlcnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNBbGVydEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Vkc2FsZXJ0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0FsZXJ0IGV4dGVuZHMgQ29tcG9uZW50cy5FZHNBbGVydCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGFsZXJ0IGFjdGlvbiBidXR0b24gaXMgY2xpY2tlZCAoZm9yIG5vbi1VUkwgYWN0aW9ucykuXG4gICAqL1xuICBlZHNhbGVydDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0F2YXRhcixcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2ZpcnN0TmFtZScsICdpbml0aWFscycsICdsYXN0TmFtZScsICdwaWN0dXJlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtYXZhdGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xvcicsICdmaXJzdE5hbWUnLCAnaW5pdGlhbHMnLCAnbGFzdE5hbWUnLCAncGljdHVyZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0F2YXRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0F2YXRhckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0F2YXRhciBleHRlbmRzIENvbXBvbmVudHMuRWRzQXZhdGFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNCbG9ja0JyZWFrLFxuICBpbnB1dHM6IFsnaW52ZXJzZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWJsb2NrLWJyZWFrJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbnZlcnNlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzQmxvY2tCcmVhayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0Jsb2NrQnJlYWtFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNCbG9ja0JyZWFrIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNCbG9ja0JyZWFrIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNCcmVhZGNydW1iLFxuICBpbnB1dHM6IFsnaW50ZW50JywgJ2l0ZW1zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtYnJlYWRjcnVtYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW50ZW50JywgJ2l0ZW1zJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzQnJlYWRjcnVtYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0JyZWFkY3J1bWJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNCcmVhZGNydW1iIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNCcmVhZGNydW1iIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNCdXR0b24sXG4gIGlucHV0czogWydhcmlhTGFiZWwnLCAnZGlzYWJsZWQnLCAnZWxlbWVudFR5cGUnLCAnaWNvbicsICdpY29uUG9zJywgJ2ljb25TbWFsbCcsICdpbnRlbnQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdwaWxsJywgJ3NpemUnLCAndHJpZ2dlckNsaWNrJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWwnLCAnZGlzYWJsZWQnLCAnZWxlbWVudFR5cGUnLCAnaWNvbicsICdpY29uUG9zJywgJ2ljb25TbWFsbCcsICdpbnRlbnQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdwaWxsJywgJ3NpemUnLCAndHJpZ2dlckNsaWNrJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0NhcmRHZW5lcmljLFxuICBpbnB1dHM6IFsnYXZhdGFyJywgJ2JnJywgJ2NhcmRUaXRsZScsICdkZXNjcmlwdGlvbicsICdoZWFkaW5nTGV2ZWwnLCAnaGllcmFyY2h5JywgJ2ltYWdlJywgJ3Nob3J0QWJicmV2aWF0aW9uJywgJ3RhZ3MnLCAndGlueScsICd1cmwnLCAnd2l0aEhvdmVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtY2FyZC1nZW5lcmljJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdmF0YXInLCAnYmcnLCAnY2FyZFRpdGxlJywgJ2Rlc2NyaXB0aW9uJywgJ2hlYWRpbmdMZXZlbCcsICdoaWVyYXJjaHknLCAnaW1hZ2UnLCAnc2hvcnRBYmJyZXZpYXRpb24nLCAndGFncycsICd0aW55JywgJ3VybCcsICd3aXRoSG92ZXInXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNDYXJkR2VuZXJpYyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0NhcmRHZW5lcmljRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzQ2FyZEdlbmVyaWMgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0NhcmRHZW5lcmljIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNDYXJkU2VjdGlvbixcbiAgaW5wdXRzOiBbJ2NhcmRzJywgJ29jY3VweUNvbHMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1jYXJkLXNlY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NhcmRzJywgJ29jY3VweUNvbHMnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNDYXJkU2VjdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0NhcmRTZWN0aW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzQ2FyZFNlY3Rpb24gZXh0ZW5kcyBDb21wb25lbnRzLkVkc0NhcmRTZWN0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNDb2RlQmxvY2ssXG4gIGlucHV0czogWydjb2RlJywgJ2xhbmd1YWdlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtY29kZS1ibG9jaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29kZScsICdsYW5ndWFnZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0NvZGVCbG9jayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0NvZGVCbG9ja0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0NvZGVCbG9jayBleHRlbmRzIENvbXBvbmVudHMuRWRzQ29kZUJsb2NrIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNEcm9wZG93bixcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCcsICdhc05hdicsICdhdXRvQ2xvc2UnLCAnZHJvcGRvd25PZmZzZXQnLCAnZHJvcGRvd25Qb3MnLCAnaWNvbicsICdpbnRlbnQnLCAnbGFiZWwnLCAnbm9DbG9zZVNlbGVjdG9yJywgJ3JvdW5kZWQnXSxcbiAgbWV0aG9kczogWydjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWwnLCAnYXNOYXYnLCAnYXV0b0Nsb3NlJywgJ2Ryb3Bkb3duT2Zmc2V0JywgJ2Ryb3Bkb3duUG9zJywgJ2ljb24nLCAnaW50ZW50JywgJ2xhYmVsJywgJ25vQ2xvc2VTZWxlY3RvcicsICdyb3VuZGVkJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzRHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNEcm9wZG93bkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Ryb3Bkb3duJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0Ryb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNEcm9wZG93biB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGRyb3Bkb3duIHRvZ2dsZXMsIGluZGljYXRpbmcgdGhlIG5ldyBleHBhbmRlZC9jb2xsYXBzZWQgc3RhdGVcbiAgICovXG4gIGRyb3Bkb3duOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBleHBhbmRlZDogYm9vbGVhbiB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNGZWVkYmFjayxcbiAgaW5wdXRzOiBbJ2NvdW50JywgJ2Rlc2NyaXB0aW9uJywgJ2hlYWRpbmdMZXZlbCcsICdsYWJlbCcsICd0ZXh0TWFwcGluZycsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtZmVlZGJhY2snLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvdW50JywgJ2Rlc2NyaXB0aW9uJywgJ2hlYWRpbmdMZXZlbCcsICdsYWJlbCcsICd0ZXh0TWFwcGluZycsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzRmVlZGJhY2sge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNGZWVkYmFja0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3JhdGluZyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNGZWVkYmFjayBleHRlbmRzIENvbXBvbmVudHMuRWRzRmVlZGJhY2sge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSByYXRpbmcgaXMgY2hhbmdlZC5cbiAgICovXG4gIHJhdGluZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzRm9vdGVyLFxuICBpbnB1dHM6IFsnYmFja1RvVG9wQXJpYUxhYmVsJywgJ2Nvb2tpZXNQcmVmZXJlbmNlcycsICdlbmFibGVDb29raWVzU2V0dGluZ3MnLCAnZW5hYmxlU2Nyb2xsVG9wJywgJ2Z1bmRlZEJ5JywgJ3JpZ2h0c1Jlc2VydmVkJywgJ3NvY2lhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja1RvVG9wQXJpYUxhYmVsJywgJ2Nvb2tpZXNQcmVmZXJlbmNlcycsICdlbmFibGVDb29raWVzU2V0dGluZ3MnLCAnZW5hYmxlU2Nyb2xsVG9wJywgJ2Z1bmRlZEJ5JywgJ3JpZ2h0c1Jlc2VydmVkJywgJ3NvY2lhbCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0Zvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0Zvb3RlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nvb2tpZXMnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNGb290ZXIge1xuXG4gIGNvb2tpZXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0Zvcm0sXG4gIGlucHV0czogWydidXR0b25JbnRlbnQnLCAnZGVzY3JpcHRpb24nLCAnZXJyb3JNZXNzYWdlJywgJ2ZpZWxkcycsICdmb3JtQnRuJywgJ2Zvcm1CdG5MYWJlbCcsICdmb3JtU3R5bGUnLCAnZ3JvdXBzJywgJ2luaXREYXRhJywgJ25hbWUnLCAnc2V0Rm9ybVVybCcsICd0aXRsZSddLFxuICBtZXRob2RzOiBbJ3NldERhdGEnLCAnZ2V0RGF0YSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWZvcm0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkludGVudCcsICdkZXNjcmlwdGlvbicsICdlcnJvck1lc3NhZ2UnLCAnZmllbGRzJywgJ2Zvcm1CdG4nLCAnZm9ybUJ0bkxhYmVsJywgJ2Zvcm1TdHlsZScsICdncm91cHMnLCAnaW5pdERhdGEnLCAnbmFtZScsICdzZXRGb3JtVXJsJywgJ3RpdGxlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzRm9ybSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0Zvcm1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydmb3JtJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0Zvcm0gZXh0ZW5kcyBDb21wb25lbnRzLkVkc0Zvcm0ge1xuXG4gIGZvcm06IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV2ZW50OiAnaW5wdXQnIHwgJ2NoYW5nZScgfCAnc3VibWl0JzsgdmFsaWRhdGVkPzogYm9vbGVhbjsgZmllbGQ/OiBzdHJpbmc7IHZhbHVlPzogYW55OyBtZXNzYWdlPzogc3RyaW5nOyBzdWNjZXNzPzogYm9vbGVhbjsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzRnVsbHNjcmVlbk1lbnUsXG4gIGlucHV0czogWydob21lVXJsJywgJ2ludmVyc2VIZWFkZXInLCAnbGlua3MnLCAnbWVudUxpbmtzJ10sXG4gIG1ldGhvZHM6IFsnb3BlbicsICdjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWZ1bGxzY3JlZW4tbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaG9tZVVybCcsICdpbnZlcnNlSGVhZGVyJywgJ2xpbmtzJywgJ21lbnVMaW5rcyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0Z1bGxzY3JlZW5NZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzRnVsbHNjcmVlbk1lbnVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydtZW51Q2xvc2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzRnVsbHNjcmVlbk1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0Z1bGxzY3JlZW5NZW51IHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgbWVudSBpcyBjbG9zZWQgKHZpYSBVSSBvciByZXNpemUpLiBAZXZlbnQgbWVudUNsb3NlXG4gICAqL1xuICBtZW51Q2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNHYXVnZSxcbiAgaW5wdXRzOiBbJ3NpemUnLCAndGhpY2tuZXNzJywgJ3ZhbHVlJywgJ3ZhbHVlTWF4JywgJ3ZhbHVlTWluJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1nYXVnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZScsICd0aGlja25lc3MnLCAndmFsdWUnLCAndmFsdWVNYXgnLCAndmFsdWVNaW4nLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0dhdWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzR2F1Z2VFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNHYXVnZSBleHRlbmRzIENvbXBvbmVudHMuRWRzR2F1Z2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0dsb2JhbFNlYXJjaCxcbiAgaW5wdXRzOiBbJ2FwaUVuZHBvaW50JywgJ2RlYm91bmNlRGVsYXknLCAnbGltaXQnLCAncGxhY2Vob2xkZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1nbG9iYWwtc2VhcmNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcGlFbmRwb2ludCcsICdkZWJvdW5jZURlbGF5JywgJ2xpbWl0JywgJ3BsYWNlaG9sZGVyJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzR2xvYmFsU2VhcmNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzR2xvYmFsU2VhcmNoRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsncmVzdWx0U2VsZWN0ZWQnLCAnc2VhcmNoQ2xvc2VkJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0dsb2JhbFNlYXJjaCBleHRlbmRzIENvbXBvbmVudHMuRWRzR2xvYmFsU2VhcmNoIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBhIHJlc3VsdCBpcyBzZWxlY3RlZFxuICAgKi9cbiAgcmVzdWx0U2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGlkOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmc7IHVybDogc3RyaW5nOyBzZWN0aW9uOiBzdHJpbmc7IHRhZ3M6IHN0cmluZ1tdOyBkYXRlOiBzdHJpbmcgfCBudWxsOyBzb3VyY2U6IHN0cmluZzsgc25pcHBldDogc3RyaW5nOyBzY29yZTogbnVtYmVyIHwgbnVsbDsgfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHNlYXJjaCBpcyBjbG9zZWQgKGZvciBleHBhbmRhYmxlIG1vZGUpXG4gICAqL1xuICBzZWFyY2hDbG9zZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNIZWFkZXIsXG4gIGlucHV0czogWydoZWFkZXJWYXJpYW50JywgJ2hvbWVVcmwnLCAnbGlua3MnLCAnbWVudUVuYWJsZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRlclZhcmlhbnQnLCAnaG9tZVVybCcsICdsaW5rcycsICdtZW51RW5hYmxlZCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0hlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0hlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RvZ2dsZWhlYWRlcm1lbnUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNIZWFkZXIge1xuICAvKipcbiAgICogRXZlbnQgdG8gc2lnbmFsIHRvZ2dsZSBtZW51IGFjdGlvblxuICAgKi9cbiAgdG9nZ2xlaGVhZGVybWVudTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0ljb25XcmFwcGVyLFxuICBpbnB1dHM6IFsnY2xhc3MnLCAnaWNvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWljb24td3JhcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xhc3MnLCAnaWNvbiddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0ljb25XcmFwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzSWNvbldyYXBwZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNJY29uV3JhcHBlciBleHRlbmRzIENvbXBvbmVudHMuRWRzSWNvbldyYXBwZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0ltZyxcbiAgaW5wdXRzOiBbJ2FsdCcsICdmb3JtYXRzJywgJ2hlaWdodCcsICdsYXp5bG9hZCcsICdzaXplcycsICdzcmMnLCAnc3Jjc2V0JywgJ3dpZHRoJywgJ3dpdGhCZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWltZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWx0JywgJ2Zvcm1hdHMnLCAnaGVpZ2h0JywgJ2xhenlsb2FkJywgJ3NpemVzJywgJ3NyYycsICdzcmNzZXQnLCAnd2lkdGgnLCAnd2l0aEJnJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzSW1nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzSW1nRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzSW1nIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNJbWcge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0lucHV0RmllbGQsXG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yTWVzc2FnZScsICdleHBvc2VWYWx1ZUV2ZW50cycsICdoaW50JywgJ2ljb24nLCAnaW5wdXRJZCcsICdsYWJlbCcsICdsaW5rJywgJ21heCcsICdtYXhMZW5ndGgnLCAnbWVzc2FnZScsICdtaW4nLCAnbmFtZScsICdvbkNoYW5nZU5hdGl2ZScsICdvbklucHV0JywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAnc3RlcCcsICd0eXBlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtaW5wdXQtZmllbGQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JNZXNzYWdlJywgJ2V4cG9zZVZhbHVlRXZlbnRzJywgJ2hpbnQnLCAnaWNvbicsICdpbnB1dElkJywgJ2xhYmVsJywgJ2xpbmsnLCAnbWF4JywgJ21heExlbmd0aCcsICdtZXNzYWdlJywgJ21pbicsICduYW1lJywgJ29uQ2hhbmdlTmF0aXZlJywgJ29uSW5wdXQnLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICdyZXF1aXJlZCcsICdzdGVwJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNJbnB1dEZpZWxkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzSW5wdXRGaWVsZEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Vkc2lucHV0JywgJ2Vkc2NoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNJbnB1dEZpZWxkIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNJbnB1dEZpZWxkIHtcbiAgLyoqXG4gICAqIEVtaXRzIG9uIGV2ZXJ5IHVzZXIgaW5wdXQgKGtleSBwcmVzcywgdHlwaW5nLCBldGMuKS5cblVzZSBgZXZlbnQuZGV0YWlsLnZhbHVlYCB0byBhY2Nlc3MgdGhlIG5ldyB2YWx1ZS5cbiAgICovXG4gIGVkc2lucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IHN0cmluZ1tdIH0+PjtcbiAgLyoqXG4gICAqIEVtaXRzIG9uIGJsdXIgb3IgY2hhbmdlIGV2ZW50IChlLmcuLCBzZWxlY3RpbmcgYW4gb3B0aW9uLCBsZWF2aW5nIHRoZSBmaWVsZCkuXG5Vc2UgYGV2ZW50LmRldGFpbC52YWx1ZWAgdG8gYWNjZXNzIHRoZSBmaW5hbCB2YWx1ZS5cbiAgICovXG4gIGVkc2NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBzdHJpbmdbXSB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNJbnB1dEZvb3RlcixcbiAgaW5wdXRzOiBbJ2Vycm9yJywgJ2Vycm9yTWVzc2FnZScsICdsaW5rJywgJ21lc3NhZ2UnLCAnbmFtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWlucHV0LWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZXJyb3InLCAnZXJyb3JNZXNzYWdlJywgJ2xpbmsnLCAnbWVzc2FnZScsICduYW1lJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzSW5wdXRGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNJbnB1dEZvb3RlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0lucHV0Rm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNJbnB1dEZvb3RlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzSW5wdXRMYWJlbCxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ25hbWUnLCAncmVxdWlyZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1pbnB1dC1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnbGFiZWwnLCAnbmFtZScsICdyZXF1aXJlZCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0lucHV0TGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNJbnB1dExhYmVsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzSW5wdXRMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuRWRzSW5wdXRMYWJlbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzTGluayxcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCcsICdjdXJyZW50JywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2V4dGVybmFsJywgJ2hpZGVMYWJlbE9uU21hbGxTY3JlZW4nLCAnaWNvbicsICdpY29uUG9zJywgJ2ljb25TbWFsbCcsICdpbnRlbnQnLCAnbGFiZWwnLCAnc2l6ZScsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1saW5rJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWwnLCAnY3VycmVudCcsICdkaXNhYmxlZCcsICdkb3dubG9hZCcsICdleHRlcm5hbCcsICdoaWRlTGFiZWxPblNtYWxsU2NyZWVuJywgJ2ljb24nLCAnaWNvblBvcycsICdpY29uU21hbGwnLCAnaW50ZW50JywgJ2xhYmVsJywgJ3NpemUnLCAndXJsJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzTGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0xpbmtFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNMaW5rIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNMaW5rIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNMb2dvLFxuICBpbnB1dHM6IFsnaHJlZicsICdsYWJlbCcsICdvcmllbnRhdGlvbicsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtbG9nbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaHJlZicsICdsYWJlbCcsICdvcmllbnRhdGlvbicsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzTG9nbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0xvZ29FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNMb2dvIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNMb2dvIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNNYXRvbW9Ob3RpY2UsXG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdmb3JjZVNob3cnLCAnaGVhZGluZycsICdvcHRPdXRNZXNzYWdlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtbWF0b21vLW5vdGljZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnZm9yY2VTaG93JywgJ2hlYWRpbmcnLCAnb3B0T3V0TWVzc2FnZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc01hdG9tb05vdGljZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc01hdG9tb05vdGljZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2NvbnNlbnQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzTWF0b21vTm90aWNlIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNNYXRvbW9Ob3RpY2Uge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSByYXRpbmcgaXMgY2hhbmdlZC5cbiAgICovXG4gIGNvbnNlbnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDwnaW4nIHwgJ291dCcgfCAnZGVmZXInPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNNb2RhbCxcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaW52ZXJzZUhlYWRlcicsICdwb3NpdGlvbicsICd0cnVuY2F0ZSddLFxuICBtZXRob2RzOiBbJ29wZW4nLCAnY2xvc2UnLCAndG9nZ2xlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtbW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaW52ZXJzZUhlYWRlcicsICdwb3NpdGlvbicsICd0cnVuY2F0ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc01vZGFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzTW9kYWxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNNb2RhbCBleHRlbmRzIENvbXBvbmVudHMuRWRzTW9kYWwge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc05wcyxcbiAgaW5wdXRzOiBbJ2xlZnRMYWJlbCcsICdxdWVzdGlvbicsICdyaWdodExhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtbnBzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsZWZ0TGFiZWwnLCAncXVlc3Rpb24nLCAncmlnaHRMYWJlbCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc05wcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc05wc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ25wcyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNOcHMgZXh0ZW5kcyBDb21wb25lbnRzLkVkc05wcyB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIE5QUyB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgbnBzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNQYWdpbmF0aW9uLFxuICBpbnB1dHM6IFsnY3VycmVudFBhZ2UnLCAnbGFzdFBhZ2UnLCAnbW9kZScsICduZXh0TGFiZWwnLCAnbmV4dFVybCcsICdwZXJQYWdlJywgJ3ByZXZMYWJlbCcsICdwcmV2VXJsJywgJ3RvdGFsJywgJ3VybCcsICd1c2VCdXR0b25zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtcGFnaW5hdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3VycmVudFBhZ2UnLCAnbGFzdFBhZ2UnLCAnbW9kZScsICduZXh0TGFiZWwnLCAnbmV4dFVybCcsICdwZXJQYWdlJywgJ3ByZXZMYWJlbCcsICdwcmV2VXJsJywgJ3RvdGFsJywgJ3VybCcsICd1c2VCdXR0b25zJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzUGFnaW5hdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1BhZ2luYXRpb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNQYWdpbmF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNQYWdpbmF0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNQaWUsXG4gIGlucHV0czogWydjb2xvclNjaGVtZScsICdkaXNwbGF5JywgJ2xlZ2VuZCcsICdzaXplJywgJ3NsaWNlcycsICd0aGlja25lc3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1waWUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbG9yU2NoZW1lJywgJ2Rpc3BsYXknLCAnbGVnZW5kJywgJ3NpemUnLCAnc2xpY2VzJywgJ3RoaWNrbmVzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1BpZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1BpZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1BpZSBleHRlbmRzIENvbXBvbmVudHMuRWRzUGllIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNQcm9ncmVzc0JhcixcbiAgaW5wdXRzOiBbJ3JvdW5kZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVWYWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXByb2dyZXNzLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsncm91bmRlZCcsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1Byb2dyZXNzQmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzUHJvZ3Jlc3NCYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNQcm9ncmVzc0JhciBleHRlbmRzIENvbXBvbmVudHMuRWRzUHJvZ3Jlc3NCYXIge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1JhdGluZyxcbiAgaW5wdXRzOiBbJ3JhdGluZ0NvdW50JywgJ3JhdGluZ1R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1yYXRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3JhdGluZ0NvdW50JywgJ3JhdGluZ1R5cGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNSYXRpbmcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNSYXRpbmdFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydyYXRpbmcnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzUmF0aW5nIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNSYXRpbmcge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSByYXRpbmcgaXMgY2hhbmdlZC5cbiAgICovXG4gIHJhdGluZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzU2lkZWJhcixcbiAgaW5wdXRzOiBbJ2FjdGl2ZVVybCcsICdlbmFibGVSb3V0aW5nJywgJ2l0ZW1zJywgJ21heExldmVsJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtc2lkZWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlVXJsJywgJ2VuYWJsZVJvdXRpbmcnLCAnaXRlbXMnLCAnbWF4TGV2ZWwnLCAndGhlbWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNTaWRlYmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzU2lkZWJhckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3NpZGViYXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzU2lkZWJhciBleHRlbmRzIENvbXBvbmVudHMuRWRzU2lkZWJhciB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHJvdXRpbmcgaXMgY2hhbmdlZC5cbiAgICovXG4gIHNpZGViYXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1NvY2lhbE5ldHdvcmtzLFxuICBpbnB1dHM6IFsnaGVhZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXNvY2lhbC1uZXR3b3JrcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1NvY2lhbE5ldHdvcmtzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzU29jaWFsTmV0d29ya3NFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNTb2NpYWxOZXR3b3JrcyBleHRlbmRzIENvbXBvbmVudHMuRWRzU29jaWFsTmV0d29ya3Mge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1NwaW5uZXIsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kJywgJ2Z1bGxzY3JlZW4nLCAnbWVzc2FnZScsICdzaXplJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1zcGlubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrZ3JvdW5kJywgJ2Z1bGxzY3JlZW4nLCAnbWVzc2FnZScsICdzaXplJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzU3Bpbm5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1NwaW5uZXIgZXh0ZW5kcyBDb21wb25lbnRzLkVkc1NwaW5uZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1NwbGFzaFNjcmVlbixcbiAgaW5wdXRzOiBbJ2luaXRQcm9taXNlJywgJ2ludmVyc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1zcGxhc2gtc2NyZWVuJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbml0UHJvbWlzZScsICdpbnZlcnNlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzU3BsYXNoU2NyZWVuIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzU3BsYXNoU2NyZWVuRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3BsYXNoJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1NwbGFzaFNjcmVlbiBleHRlbmRzIENvbXBvbmVudHMuRWRzU3BsYXNoU2NyZWVuIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc3BsYXNoIHNjcmVlbiBzdGF0ZSBjaGFuZ2VzLlxuRW1pdHMgYW4gb2JqZWN0IHdpdGggYSB0eXBlIGFuZCBhIG1lc3NhZ2UuXG4gICAqL1xuICBzcGxhc2g6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHR5cGU6ICdoaWRkZW4nOyBtZXNzYWdlOiBzdHJpbmcgfSB8IHsgdHlwZTogJ2Vycm9yJzsgbWVzc2FnZTogc3RyaW5nIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1N0ZXBzLFxuICBpbnB1dHM6IFsnYmFja0xhYmVsJywgJ2NvbGxhcHNpYmxlVGl0bGVzJywgJ2Rpc2FibGVOZXh0JywgJ2ZpbmlzaExhYmVsJywgJ2hlYWRpbmdMZXZlbCcsICduZXh0TGFiZWwnLCAnb3JpZW50YXRpb24nLCAnc3RlcHMnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXN0ZXBzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrTGFiZWwnLCAnY29sbGFwc2libGVUaXRsZXMnLCAnZGlzYWJsZU5leHQnLCAnZmluaXNoTGFiZWwnLCAnaGVhZGluZ0xldmVsJywgJ25leHRMYWJlbCcsICdvcmllbnRhdGlvbicsICdzdGVwcycsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzU3RlcHMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNTdGVwc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0ZXAnLCAnZmluaXNoZWQnLCAnbmV4dCcsICdiYWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1N0ZXBzIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNTdGVwcyB7XG5cbiAgc3RlcDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuXG4gIGZpbmlzaGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIG5leHQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcblxuICBiYWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNTdGVwc1YyLFxuICBpbnB1dHM6IFsnYmFja0xhYmVsJywgJ2Rpc2FibGVOZXh0JywgJ2ZpbmlzaExhYmVsJywgJ2hlYWRpbmdMZXZlbCcsICdpbWFnZVNyYycsICdpbWFnZVdpZHRoJywgJ21lc3NhZ2UnLCAnbmV4dExhYmVsJywgJ29yaWVudGF0aW9uJywgJ3N0ZXBzJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1zdGVwcy12MicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja0xhYmVsJywgJ2Rpc2FibGVOZXh0JywgJ2ZpbmlzaExhYmVsJywgJ2hlYWRpbmdMZXZlbCcsICdpbWFnZVNyYycsICdpbWFnZVdpZHRoJywgJ21lc3NhZ2UnLCAnbmV4dExhYmVsJywgJ29yaWVudGF0aW9uJywgJ3N0ZXBzJywgJ3R5cGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNTdGVwc1YyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzU3RlcHNWMkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0ZXAnLCAnZmluaXNoZWQnLCAnbmV4dCcsICdiYWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1N0ZXBzVjIgZXh0ZW5kcyBDb21wb25lbnRzLkVkc1N0ZXBzVjIge1xuICAvKipcbiAgICogRmlyZWQgd2hlbmV2ZXIgdGhlIGFjdGl2ZSBzdGVwIGNoYW5nZXMuIFBheWxvYWQ6IGN1cnJlbnQgc3RlcCBpbmRleC5cbiAgICovXG4gIHN0ZXA6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdXNlciBjbGlja3MgRmluaXNoIG9uIHRoZSBsYXN0IHN0ZXAuXG4gICAqL1xuICBmaW5pc2hlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEZpcmVkIGJlZm9yZSBhZHZhbmNpbmcsIHdpdGggdGhlIHRhcmdldCBzdGVwIGluZGV4LlxuICAgKi9cbiAgbmV4dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogRmlyZWQgYmVmb3JlIGdvaW5nIGJhY2ssIHdpdGggdGhlIHRhcmdldCBzdGVwIGluZGV4LlxuICAgKi9cbiAgYmFjazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzU3dpdGNoLFxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdsYWJlbE9mZicsICdsYWJlbE9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtc3dpdGNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsT2ZmJywgJ2xhYmVsT24nXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNTd2l0Y2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNTd2l0Y2hFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd1aXN3aXRjaCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLkVkc1N3aXRjaCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHN3aXRjaCBpcyB0b2dnbGVkLlxuICAgKi9cbiAgdWlzd2l0Y2g6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBib29sZWFuIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1RhYmxlLFxuICBpbnB1dHM6IFsnYWN0aW9uVGVtcGxhdGUnLCAnYWN0aW9ucycsICdjb2x1bW5TaXplJywgJ2NvbmZpZycsICdkYXRhJywgJ2hvc3RXaWR0aCcsICdwYWdpbmF0aW9uRW5hYmxlZCcsICdyb3dzUGVyUGFnZScsICdzZWFyY2hFbmFibGVkJywgJ3NvcnRpbmdFbmFibGVkJywgJ3RoZW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGlvblRlbXBsYXRlJywgJ2FjdGlvbnMnLCAnY29sdW1uU2l6ZScsICdjb25maWcnLCAnZGF0YScsICdob3N0V2lkdGgnLCAncGFnaW5hdGlvbkVuYWJsZWQnLCAncm93c1BlclBhZ2UnLCAnc2VhcmNoRW5hYmxlZCcsICdzb3J0aW5nRW5hYmxlZCcsICd0aGVtZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1RhYmxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzVGFibGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydyb3dhY3Rpb24nXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzVGFibGUgZXh0ZW5kcyBDb21wb25lbnRzLkVkc1RhYmxlIHtcbiAgLyoqXG4gICAqIERlZmluZSB0aGUgZXZlbnQgd2l0aCB0aGUgcGF5bG9hZCB0eXBlXG4gICAqL1xuICByb3dhY3Rpb246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGFjdGlvbjogc3RyaW5nOyByb3c6IGFueTsgY2hlY2tlZDogYm9vbGVhbiB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNUYWJzLFxuICBpbnB1dHM6IFsnaWRlbnRpZmllcicsICduYXZBcmlhTGFiZWwnLCAndGFicyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXRhYnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2lkZW50aWZpZXInLCAnbmF2QXJpYUxhYmVsJywgJ3RhYnMnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNUYWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzVGFic0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RhYiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNUYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNUYWJzIHtcblxuICB0YWI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYklkOiBzdHJpbmc7IGluZGV4OiBudW1iZXI7IG5hbWU/OiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1RhZyxcbiAgaW5wdXRzOiBbJ2ludGVudCcsICdsYWJlbCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtdGFnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbnRlbnQnLCAnbGFiZWwnLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1RhZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1RhZ0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1RhZyBleHRlbmRzIENvbXBvbmVudHMuRWRzVGFnIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNUb2FzdCxcbiAgaW5wdXRzOiBbJ2R1cmF0aW9uJywgJ2ludGVudCcsICdtZXNzYWdlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtdG9hc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2R1cmF0aW9uJywgJ2ludGVudCcsICdtZXNzYWdlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzVG9hc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNUb2FzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RvYXN0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1RvYXN0IGV4dGVuZHMgQ29tcG9uZW50cy5FZHNUb2FzdCB7XG5cbiAgdG9hc3Q6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZpc2libGU6IGJvb2xlYW47IGxhYmVsOiAnZGlzbWlzc2VkJyB8ICdzaG93bicgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzVG9vbHRpcCxcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAncG9zaXRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250ZW50JywgJ3Bvc2l0aW9uJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzVG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1Rvb2x0aXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNUb29sdGlwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNVc2VyLFxuICBpbnB1dHM6IFsnZHJvcGRvd25MYWJlbCcsICdpbnRlbnQnLCAndXNlciddLFxuICBtZXRob2RzOiBbJ2Nsb3NlRHJvcGRvd24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy11c2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkcm9wZG93bkxhYmVsJywgJ2ludGVudCcsICd1c2VyJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzVXNlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1VzZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNVc2VyIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNVc2VyIHt9XG5cblxuIl19
|
|
1679
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvc3JjL2dlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFnQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUl2RSxPQUFPLEVBQUUsbUJBQW1CLElBQUksa0JBQWtCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNqSCxPQUFPLEVBQUUsbUJBQW1CLElBQUksY0FBYyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDekcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGVBQWUsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxlQUFlLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsbUJBQW1CLElBQUksZ0JBQWdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsbUJBQW1CLElBQUksZ0JBQWdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsbUJBQW1CLElBQUksb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0SCxPQUFPLEVBQUUsbUJBQW1CLElBQUksb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN0SCxPQUFPLEVBQUUsbUJBQW1C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QUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztRQUMzQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7S0FDM0IsQ0FBQztxQ0FXZSxpQkFBaUIsRUFBSyxVQUFVLEVBQWUsTUFBTTtHQUZ6RCxPQUFPLENBTW5COzsyRkFOWSxPQUFPO2tCQVJuQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztvQkFDM0MsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudHMgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzJztcblxuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNBY2NvcmRpb24gfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtYWNjb3JkaW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzQWxlcnQgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtYWxlcnQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNBdmF0YXIgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtYXZhdGFyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzQmxvY2tCcmVhayB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1ibG9jay1icmVhay5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0JyZWFkY3J1bWIgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtYnJlYWRjcnVtYi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0J1dHRvbiB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1idXR0b24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNDYXJkQXBwIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWNhcmQtYXBwLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzQ2FyZEN0YSB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1jYXJkLWN0YS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0NhcmRGZWF0dXJlIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWNhcmQtZmVhdHVyZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0NhcmRHZW5lcmljIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWNhcmQtZ2VuZXJpYy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0NhcmRIZXJvIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWNhcmQtaGVyby5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0NhcmRTdGF0IH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWNhcmQtc3RhdC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0NvZGVCbG9jayB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1jb2RlLWJsb2NrLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzRHJvcGRvd24gfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtZHJvcGRvd24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNGZWVkYmFjayB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1mZWVkYmFjay5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0Zvb3RlciB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1mb290ZXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNGb3JtIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWZvcm0uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNHYXVnZSB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1nYXVnZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0dsb2JhbFNlYXJjaCB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1nbG9iYWwtc2VhcmNoLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzSGVhZGVyIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWhlYWRlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0ljb25XcmFwcGVyIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWljb24td3JhcHBlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0ltZyB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1pbWcuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNJbnB1dERyb3B6b25lIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLWlucHV0LWRyb3B6b25lLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzSW5wdXRGaWVsZCB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1pbnB1dC1maWVsZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0lucHV0RmlsZSB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1pbnB1dC1maWxlLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzSW5wdXRGb290ZXIgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtaW5wdXQtZm9vdGVyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzSW5wdXRMYWJlbCB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1pbnB1dC1sYWJlbC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc0tnTGVhcm5pbmdSZXNvdXJjZXMgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMta2ctbGVhcm5pbmctcmVzb3VyY2VzLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzS2dXZWJTZXJ2aWNlc1NlbGVjdCB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1rZy13ZWItc2VydmljZXMtc2VsZWN0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzTGluayB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1saW5rLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzTG9nbyB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1sb2dvLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzTWF0b21vTm90aWNlIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLW1hdG9tby1ub3RpY2UuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNNb2RhbCB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1tb2RhbC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc05wcyB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1ucHMuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNQYWdpbmF0aW9uIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLXBhZ2luYXRpb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNQaWUgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtcGllLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzUHJvZ3Jlc3NCYXIgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtcHJvZ3Jlc3MtYmFyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzUmF0aW5nIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLXJhdGluZy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc1NlYXJjaFNlbGVjdCB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1zZWFyY2gtc2VsZWN0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzU2lkZWJhciB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1zaWRlYmFyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzU29jaWFsTmV0d29ya3MgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtc29jaWFsLW5ldHdvcmtzLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzU3Bpbm5lciB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1zcGlubmVyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzU3BsYXNoU2NyZWVuIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLXNwbGFzaC1zY3JlZW4uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNTdGVwcyB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy1zdGVwcy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUVkc1N0ZXBzVjIgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtc3RlcHMtdjIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNTd2l0Y2ggfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtc3dpdGNoLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzVGFibGUgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtdGFibGUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNUYWJzIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLXRhYnMuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNUYWcgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtdGFnLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lRWRzVG9hc3QgfSBmcm9tICdAZWJyYWlucy9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9lZHMtdG9hc3QuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNUb29sdGlwIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLXRvb2x0aXAuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNUcmxCYWRnZSB9IGZyb20gJ0BlYnJhaW5zL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2Vkcy10cmwtYmFkZ2UuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVFZHNVc2VyIH0gZnJvbSAnQGVicmFpbnMvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvZWRzLXVzZXIuanMnO1xuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNBY2NvcmRpb24sXG4gIGlucHV0czogWydjbGFtcFRleHQnLCAnZGVzY3JpcHRpb24nLCAnZXhwYW5kZWQnLCAnaGVhZGluZycsICdpY29uJywgJ3N3aXRjaEJnJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NsYW1wVGV4dCcsICdkZXNjcmlwdGlvbicsICdleHBhbmRlZCcsICdoZWFkaW5nJywgJ2ljb24nLCAnc3dpdGNoQmcnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0FjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0FjY29yZGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2FjY29yZGlvbiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkVkc0FjY29yZGlvbiB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFjY29yZGlvbiB0b2dnbGVzLCBpbmRpY2F0aW5nIHRoZSBuZXcgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXRlXG4gICAqL1xuICBhY2NvcmRpb246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNBbGVydCxcbiAgaW5wdXRzOiBbJ2RpcmVjdGlvbicsICdkaXNtaXNzaWJsZScsICdpY29uJywgJ2ludGVudCcsICdtZXNzYWdlJywgJ3ByZXNzYWJsZUxhYmVsJywgJ3ByZXNzYWJsZVVybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWFsZXJ0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXJlY3Rpb24nLCAnZGlzbWlzc2libGUnLCAnaWNvbicsICdpbnRlbnQnLCAnbWVzc2FnZScsICdwcmVzc2FibGVMYWJlbCcsICdwcmVzc2FibGVVcmwnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNBbGVydCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0FsZXJ0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZWRzYWxlcnQnLCAnZWRzRGlzbWlzcyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNBbGVydCBleHRlbmRzIENvbXBvbmVudHMuRWRzQWxlcnQge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBhbGVydCBhY3Rpb24gYnV0dG9uIGlzIGNsaWNrZWQgKGZvciBub24tVVJMIGFjdGlvbnMpLlxuICAgKi9cbiAgZWRzYWxlcnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGFsZXJ0IGlzIGRpc21pc3NlZC5cbiAgICovXG4gIGVkc0Rpc21pc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNBdmF0YXIsXG4gIGlucHV0czogWydjb2xvcicsICdmaXJzdE5hbWUnLCAnaW5pdGlhbHMnLCAnbGFzdE5hbWUnLCAncGljdHVyZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWF2YXRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnZmlyc3ROYW1lJywgJ2luaXRpYWxzJywgJ2xhc3ROYW1lJywgJ3BpY3R1cmUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNBdmF0YXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNBdmF0YXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNBdmF0YXIgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0F2YXRhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzQmxvY2tCcmVhayxcbiAgaW5wdXRzOiBbJ2ludmVyc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1ibG9jay1icmVhaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW52ZXJzZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0Jsb2NrQnJlYWsge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNCbG9ja0JyZWFrRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzQmxvY2tCcmVhayBleHRlbmRzIENvbXBvbmVudHMuRWRzQmxvY2tCcmVhayB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzQnJlYWRjcnVtYixcbiAgaW5wdXRzOiBbJ2ludGVudCcsICdpdGVtcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWJyZWFkY3J1bWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ludGVudCcsICdpdGVtcyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0JyZWFkY3J1bWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNCcmVhZGNydW1iRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzQnJlYWRjcnVtYiBleHRlbmRzIENvbXBvbmVudHMuRWRzQnJlYWRjcnVtYiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzQnV0dG9uLFxuICBpbnB1dHM6IFsnYXJpYUxhYmVsJywgJ2Rpc2FibGVkJywgJ2VsZW1lbnRUeXBlJywgJ2Z1bGxXaWR0aCcsICdpY29uJywgJ2ljb25Qb3MnLCAnaWNvblNtYWxsJywgJ2ludGVudCcsICdsYWJlbCcsICdsb2FkaW5nJywgJ3BpbGwnLCAnc2l6ZScsICd0cmlnZ2VyQ2xpY2snXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCcsICdkaXNhYmxlZCcsICdlbGVtZW50VHlwZScsICdmdWxsV2lkdGgnLCAnaWNvbicsICdpY29uUG9zJywgJ2ljb25TbWFsbCcsICdpbnRlbnQnLCAnbGFiZWwnLCAnbG9hZGluZycsICdwaWxsJywgJ3NpemUnLCAndHJpZ2dlckNsaWNrJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0NhcmRBcHAsXG4gIGlucHV0czogWydjYXRlZ29yeScsICdkZXNjcmlwdGlvbicsICdsaW5rVGV4dCcsICd0YWdzJywgJ3RpdGxlJywgJ3VybCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtY2FyZC1hcHAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NhdGVnb3J5JywgJ2Rlc2NyaXB0aW9uJywgJ2xpbmtUZXh0JywgJ3RhZ3MnLCAndGl0bGUnLCAndXJsJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNDYXJkQXBwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzQ2FyZEFwcEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0NhcmRBcHAgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0NhcmRBcHAge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0NhcmRDdGEsXG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdsaW5rcycsICdwcmltYXJ5QnV0dG9uVGV4dCcsICdwcmltYXJ5QnV0dG9uVXJsJywgJ3NlY29uZGFyeUJ1dHRvblRleHQnLCAnc2Vjb25kYXJ5QnV0dG9uVXJsJywgJ3RpdGxlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1jYXJkLWN0YScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnbGlua3MnLCAncHJpbWFyeUJ1dHRvblRleHQnLCAncHJpbWFyeUJ1dHRvblVybCcsICdzZWNvbmRhcnlCdXR0b25UZXh0JywgJ3NlY29uZGFyeUJ1dHRvblVybCcsICd0aXRsZScsICd2YXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzQ2FyZEN0YSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0NhcmRDdGFFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNDYXJkQ3RhIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNDYXJkQ3RhIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNDYXJkRmVhdHVyZSxcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2ljb24nLCAnbGlua1RleHQnLCAndGl0bGUnLCAndXJsJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1jYXJkLWZlYXR1cmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2ljb24nLCAnbGlua1RleHQnLCAndGl0bGUnLCAndXJsJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNDYXJkRmVhdHVyZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0NhcmRGZWF0dXJlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzQ2FyZEZlYXR1cmUgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0NhcmRGZWF0dXJlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNDYXJkR2VuZXJpYyxcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2ljb24nLCAnaW50ZW50JywgJ3RhZ3MnLCAndGl0bGUnLCAndGl0bGVTaXplJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWNhcmQtZ2VuZXJpYycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnaWNvbicsICdpbnRlbnQnLCAndGFncycsICd0aXRsZScsICd0aXRsZVNpemUnLCAndXJsJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzQ2FyZEdlbmVyaWMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNDYXJkR2VuZXJpY0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0NhcmRHZW5lcmljIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNDYXJkR2VuZXJpYyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzQ2FyZEhlcm8sXG4gIGlucHV0czogWydjYXRlZ29yeScsICdkZXNjcmlwdGlvbicsICd0YWdzJywgJ3RpdGxlJywgJ3VybCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtY2FyZC1oZXJvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYXRlZ29yeScsICdkZXNjcmlwdGlvbicsICd0YWdzJywgJ3RpdGxlJywgJ3VybCcsICd2YXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzQ2FyZEhlcm8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNDYXJkSGVyb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0NhcmRIZXJvIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNDYXJkSGVybyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzQ2FyZFN0YXQsXG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdsYWJlbCcsICdudW1iZXInLCAndXJsJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1jYXJkLXN0YXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2xhYmVsJywgJ251bWJlcicsICd1cmwnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0NhcmRTdGF0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzQ2FyZFN0YXRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNDYXJkU3RhdCBleHRlbmRzIENvbXBvbmVudHMuRWRzQ2FyZFN0YXQge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0NvZGVCbG9jayxcbiAgaW5wdXRzOiBbJ2NvZGUnLCAnbGFuZ3VhZ2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1jb2RlLWJsb2NrJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2RlJywgJ2xhbmd1YWdlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzQ29kZUJsb2NrIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzQ29kZUJsb2NrRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzQ29kZUJsb2NrIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNDb2RlQmxvY2sge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0Ryb3Bkb3duLFxuICBpbnB1dHM6IFsnYXJpYUxhYmVsJywgJ2FzTmF2JywgJ2F1dG9DbG9zZScsICdkcm9wZG93bk9mZnNldCcsICdkcm9wZG93blBvcycsICdpY29uJywgJ2ludGVudCcsICdsYWJlbCcsICdub0Nsb3NlU2VsZWN0b3InXSxcbiAgbWV0aG9kczogWydjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWwnLCAnYXNOYXYnLCAnYXV0b0Nsb3NlJywgJ2Ryb3Bkb3duT2Zmc2V0JywgJ2Ryb3Bkb3duUG9zJywgJ2ljb24nLCAnaW50ZW50JywgJ2xhYmVsJywgJ25vQ2xvc2VTZWxlY3RvciddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0Ryb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzRHJvcGRvd25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkcm9wZG93biddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuRWRzRHJvcGRvd24ge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBkcm9wZG93biB0b2dnbGVzLCBpbmRpY2F0aW5nIHRoZSBuZXcgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXRlXG4gICAqL1xuICBkcm9wZG93bjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXhwYW5kZWQ6IGJvb2xlYW4gfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzRmVlZGJhY2ssXG4gIGlucHV0czogWydjb3VudCcsICdkZXNjcmlwdGlvbicsICdoZWFkaW5nTGV2ZWwnLCAnbGFiZWwnLCAndGV4dE1hcHBpbmcnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWZlZWRiYWNrJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb3VudCcsICdkZXNjcmlwdGlvbicsICdoZWFkaW5nTGV2ZWwnLCAnbGFiZWwnLCAndGV4dE1hcHBpbmcnLCAndHlwZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0ZlZWRiYWNrIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzRmVlZGJhY2tFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydyYXRpbmcnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzRmVlZGJhY2sgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0ZlZWRiYWNrIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcmF0aW5nIGlzIGNoYW5nZWQuXG4gICAqL1xuICByYXRpbmc6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0Zvb3RlcixcbiAgaW5wdXRzOiBbJ2JhY2tUb1RvcEFyaWFMYWJlbCcsICdjb2x1bW5zJywgJ2Nvb2tpZXNQcmVmZXJlbmNlcycsICdlbmFibGVDb29raWVzU2V0dGluZ3MnLCAnZW5hYmxlU2Nyb2xsVG9wJywgJ2Z1bmRlZEJ5JywgJ3JpZ2h0c1Jlc2VydmVkJywgJ3NvY2lhbCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrVG9Ub3BBcmlhTGFiZWwnLCAnY29sdW1ucycsICdjb29raWVzUHJlZmVyZW5jZXMnLCAnZW5hYmxlQ29va2llc1NldHRpbmdzJywgJ2VuYWJsZVNjcm9sbFRvcCcsICdmdW5kZWRCeScsICdyaWdodHNSZXNlcnZlZCcsICdzb2NpYWwnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0Zvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0Zvb3RlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2Nvb2tpZXMnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNGb290ZXIge1xuXG4gIGNvb2tpZXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0Zvcm0sXG4gIGlucHV0czogWydidXR0b25JbnRlbnQnLCAnY2xlYXJCdG4nLCAnY2xlYXJCdG5MYWJlbCcsICdkZXNjcmlwdGlvbicsICdlcnJvck1lc3NhZ2UnLCAnZmllbGRzJywgJ2Zvcm1CdG4nLCAnZm9ybUJ0bkxhYmVsJywgJ2Zvcm1TdHlsZScsICdncm91cHMnLCAnaW5pdERhdGEnLCAnbmFtZScsICdzZXRGb3JtVXJsJywgJ3RpdGxlJ10sXG4gIG1ldGhvZHM6IFsnc2V0RGF0YScsICdnZXREYXRhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtZm9ybScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uSW50ZW50JywgJ2NsZWFyQnRuJywgJ2NsZWFyQnRuTGFiZWwnLCAnZGVzY3JpcHRpb24nLCAnZXJyb3JNZXNzYWdlJywgJ2ZpZWxkcycsICdmb3JtQnRuJywgJ2Zvcm1CdG5MYWJlbCcsICdmb3JtU3R5bGUnLCAnZ3JvdXBzJywgJ2luaXREYXRhJywgJ25hbWUnLCAnc2V0Rm9ybVVybCcsICd0aXRsZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0Zvcm0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNGb3JtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZm9ybSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNGb3JtIHtcblxuICBmb3JtOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBldmVudDogJ2lucHV0JyB8ICdjaGFuZ2UnIHwgJ3N1Ym1pdCc7IHZhbGlkYXRlZD86IGJvb2xlYW47IGZpZWxkPzogc3RyaW5nOyB2YWx1ZT86IGFueTsgbWVzc2FnZT86IHN0cmluZzsgc3VjY2Vzcz86IGJvb2xlYW47IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0dhdWdlLFxuICBpbnB1dHM6IFsnc2l6ZScsICd0aGlja25lc3MnLCAndmFsdWUnLCAndmFsdWVNYXgnLCAndmFsdWVNaW4nLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWdhdWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaXplJywgJ3RoaWNrbmVzcycsICd2YWx1ZScsICd2YWx1ZU1heCcsICd2YWx1ZU1pbicsICd2YXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzR2F1Z2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNHYXVnZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0dhdWdlIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNHYXVnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzR2xvYmFsU2VhcmNoLFxuICBpbnB1dHM6IFsnYXBpRW5kcG9pbnQnLCAnYXV0aFRva2VuJywgJ2N1cnJlbnRPcmlnaW4nLCAnY3VycmVudFNvdXJjZScsICdkZWJvdW5jZURlbGF5JywgJ2ZvcmNlTmV3VGFiJywgJ2xpbWl0JywgJ3BsYWNlaG9sZGVyJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1nbG9iYWwtc2VhcmNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcGlFbmRwb2ludCcsICdhdXRoVG9rZW4nLCAnY3VycmVudE9yaWdpbicsICdjdXJyZW50U291cmNlJywgJ2RlYm91bmNlRGVsYXknLCAnZm9yY2VOZXdUYWInLCAnbGltaXQnLCAncGxhY2Vob2xkZXInLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0dsb2JhbFNlYXJjaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0dsb2JhbFNlYXJjaEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Jlc3VsdFNlbGVjdGVkJywgJ3NlYXJjaENsb3NlZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNHbG9iYWxTZWFyY2ggZXh0ZW5kcyBDb21wb25lbnRzLkVkc0dsb2JhbFNlYXJjaCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gYSByZXN1bHQgaXMgc2VsZWN0ZWRcbiAgICovXG4gIHJlc3VsdFNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBpZDogc3RyaW5nOyB0aXRsZTogc3RyaW5nOyB1cmw6IHN0cmluZzsgc2VjdGlvbjogc3RyaW5nOyB0YWdzOiBzdHJpbmdbXTsgZGF0ZTogc3RyaW5nIHwgbnVsbDsgc291cmNlOiBzdHJpbmc7IHNuaXBwZXQ6IHN0cmluZzsgc2NvcmU6IG51bWJlciB8IG51bGw7IH0+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBzZWFyY2ggaXMgY2xvc2VkIChmb3IgZXhwYW5kYWJsZSBtb2RlKVxuICAgKi9cbiAgc2VhcmNoQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzSGVhZGVyLFxuICBpbnB1dHM6IFsnbGlua3MnLCAnbWVudScsICd1cmwnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGlua3MnLCAnbWVudScsICd1cmwnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0hlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0hlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RvZ2dsZWhlYWRlcm1lbnUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNIZWFkZXIge1xuICAvKipcbiAgICogRXZlbnQgdG8gc2lnbmFsIHRvZ2dsZSBtZW51IGFjdGlvblxuICAgKi9cbiAgdG9nZ2xlaGVhZGVybWVudTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0ljb25XcmFwcGVyLFxuICBpbnB1dHM6IFsnbGFiZWwnLCAnbmFtZScsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtaWNvbi13cmFwcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYWJlbCcsICduYW1lJywgJ3NpemUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNJY29uV3JhcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0ljb25XcmFwcGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzSWNvbldyYXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0ljb25XcmFwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNJbWcsXG4gIGlucHV0czogWydhbHQnLCAnZm9ybWF0cycsICdoZWlnaHQnLCAnbGF6eWxvYWQnLCAnc2l6ZXMnLCAnc3JjJywgJ3NyY3NldCcsICd3aWR0aCcsICd3aXRoQmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1pbWcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsdCcsICdmb3JtYXRzJywgJ2hlaWdodCcsICdsYXp5bG9hZCcsICdzaXplcycsICdzcmMnLCAnc3Jjc2V0JywgJ3dpZHRoJywgJ3dpdGhCZyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0ltZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0ltZ0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0ltZyBleHRlbmRzIENvbXBvbmVudHMuRWRzSW1nIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNJbnB1dERyb3B6b25lLFxuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2Rpc2FibGVkJywgJ2lucHV0SWQnLCAnbWF4RmlsZVNpemUnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdwcmltYXJ5VGV4dCcsICdyZXF1aXJlZCcsICdzZWNvbmRhcnlUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtaW5wdXQtZHJvcHpvbmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2VwdCcsICdkaXNhYmxlZCcsICdpbnB1dElkJywgJ21heEZpbGVTaXplJywgJ211bHRpcGxlJywgJ25hbWUnLCAncHJpbWFyeVRleHQnLCAncmVxdWlyZWQnLCAnc2Vjb25kYXJ5VGV4dCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0lucHV0RHJvcHpvbmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNJbnB1dERyb3B6b25lRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZWRzZmlsZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNJbnB1dERyb3B6b25lIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNJbnB1dERyb3B6b25lIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gZmlsZXMgYXJlIHNlbGVjdGVkIG9yIHJlbW92ZWQuXG5Vc2UgYGV2ZW50LmRldGFpbC5maWxlc2AgdG8gYWNjZXNzIHRoZSBGaWxlTGlzdC5cbiAgICovXG4gIGVkc2ZpbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGZpbGVzOiBGaWxlW10gfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzSW5wdXRGaWVsZCxcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JNZXNzYWdlJywgJ2V4cG9zZVZhbHVlRXZlbnRzJywgJ2hpbnQnLCAnaWNvbicsICdpbnB1dElkJywgJ2xhYmVsJywgJ2xpbmsnLCAnbWF4JywgJ21heExlbmd0aCcsICdtZXNzYWdlJywgJ21pbicsICduYW1lJywgJ29uQ2hhbmdlTmF0aXZlJywgJ29uSW5wdXQnLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICdyZXF1aXJlZCcsICdzdGVwJywgJ3R5cGUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1pbnB1dC1maWVsZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvck1lc3NhZ2UnLCAnZXhwb3NlVmFsdWVFdmVudHMnLCAnaGludCcsICdpY29uJywgJ2lucHV0SWQnLCAnbGFiZWwnLCAnbGluaycsICdtYXgnLCAnbWF4TGVuZ3RoJywgJ21lc3NhZ2UnLCAnbWluJywgJ25hbWUnLCAnb25DaGFuZ2VOYXRpdmUnLCAnb25JbnB1dCcsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3JlcXVpcmVkJywgJ3N0ZXAnLCAndHlwZScsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0lucHV0RmllbGQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNJbnB1dEZpZWxkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZWRzaW5wdXQnLCAnZWRzY2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0lucHV0RmllbGQgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0lucHV0RmllbGQge1xuICAvKipcbiAgICogRW1pdHMgb24gZXZlcnkgdXNlciBpbnB1dCAoa2V5IHByZXNzLCB0eXBpbmcsIGV0Yy4pLlxuVXNlIGBldmVudC5kZXRhaWwudmFsdWVgIHRvIGFjY2VzcyB0aGUgbmV3IHZhbHVlLlxuICAgKi9cbiAgZWRzaW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgc3RyaW5nW10gfT4+O1xuICAvKipcbiAgICogRW1pdHMgb24gYmx1ciBvciBjaGFuZ2UgZXZlbnQgKGUuZy4sIHNlbGVjdGluZyBhbiBvcHRpb24sIGxlYXZpbmcgdGhlIGZpZWxkKS5cblVzZSBgZXZlbnQuZGV0YWlsLnZhbHVlYCB0byBhY2Nlc3MgdGhlIGZpbmFsIHZhbHVlLlxuICAgKi9cbiAgZWRzY2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IHN0cmluZ1tdIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0lucHV0RmlsZSxcbiAgaW5wdXRzOiBbJ2FjY2VwdCcsICdidXR0b25MYWJlbCcsICdkaXNhYmxlZCcsICdpbnB1dElkJywgJ21heEZpbGVTaXplJywgJ211bHRpcGxlJywgJ25hbWUnLCAncmVxdWlyZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1pbnB1dC1maWxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY2NlcHQnLCAnYnV0dG9uTGFiZWwnLCAnZGlzYWJsZWQnLCAnaW5wdXRJZCcsICdtYXhGaWxlU2l6ZScsICdtdWx0aXBsZScsICduYW1lJywgJ3JlcXVpcmVkJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzSW5wdXRGaWxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzSW5wdXRGaWxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZWRzZmlsZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNJbnB1dEZpbGUgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0lucHV0RmlsZSB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIGZpbGVzIGFyZSBzZWxlY3RlZCBvciByZW1vdmVkLlxuVXNlIGBldmVudC5kZXRhaWwuZmlsZXNgIHRvIGFjY2VzcyB0aGUgRmlsZUxpc3QuXG4gICAqL1xuICBlZHNmaWxlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBmaWxlczogRmlsZVtdIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0lucHV0Rm9vdGVyLFxuICBpbnB1dHM6IFsnZXJyb3InLCAnZXJyb3JNZXNzYWdlJywgJ2xpbmsnLCAnbWVzc2FnZScsICduYW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtaW5wdXQtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydlcnJvcicsICdlcnJvck1lc3NhZ2UnLCAnbGluaycsICdtZXNzYWdlJywgJ25hbWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNJbnB1dEZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0lucHV0Rm9vdGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzSW5wdXRGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0lucHV0Rm9vdGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNJbnB1dExhYmVsLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnbGFiZWwnLCAnbmFtZScsICdyZXF1aXJlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWlucHV0LWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdsYWJlbCcsICduYW1lJywgJ3JlcXVpcmVkJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzSW5wdXRMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc0lucHV0TGFiZWxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNJbnB1dExhYmVsIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNJbnB1dExhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNLZ0xlYXJuaW5nUmVzb3VyY2VzLFxuICBpbnB1dHM6IFsnYXBpRW5kcG9pbnQnLCAnaGVhZGluZycsICdyZXNvbHZlTmFtZXMnLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMta2ctbGVhcm5pbmctcmVzb3VyY2VzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcGlFbmRwb2ludCcsICdoZWFkaW5nJywgJ3Jlc29sdmVOYW1lcycsICdzaXplJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNLZ0xlYXJuaW5nUmVzb3VyY2VzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzS2dMZWFybmluZ1Jlc291cmNlc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0tnTGVhcm5pbmdSZXNvdXJjZXMgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0tnTGVhcm5pbmdSZXNvdXJjZXMge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc0tnV2ViU2VydmljZXNTZWxlY3QsXG4gIGlucHV0czogWydhcGlFbmRwb2ludCcsICdkaXNhYmxlZCcsICdlcnJvcicsICdlcnJvck1lc3NhZ2UnLCAnaGludCcsICdsYWJlbCcsICdtZXNzYWdlJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAnc2VhcmNoVGVybScsICdzaXplJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMta2ctd2ViLXNlcnZpY2VzLXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBpRW5kcG9pbnQnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnZXJyb3JNZXNzYWdlJywgJ2hpbnQnLCAnbGFiZWwnLCAnbWVzc2FnZScsICduYW1lJywgJ3BsYWNlaG9sZGVyJywgJ3JlcXVpcmVkJywgJ3NlYXJjaFRlcm0nLCAnc2l6ZScsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0tnV2ViU2VydmljZXNTZWxlY3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNLZ1dlYlNlcnZpY2VzU2VsZWN0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZWRzaW5wdXQnLCAnZWRzY2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc0tnV2ViU2VydmljZXNTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLkVkc0tnV2ViU2VydmljZXNTZWxlY3Qge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWxlY3QgZmllbGQgdmFsdWUgY2hhbmdlcyAoaW5wdXQgZXZlbnQpXG4gICAqL1xuICBlZHNpbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBzdHJpbmdbXSB9Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNlbGVjdCBmaWVsZCB2YWx1ZSBjaGFuZ2VzIChjaGFuZ2UgZXZlbnQpXG4gICAqL1xuICBlZHNjaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgc3RyaW5nW10gfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzTGluayxcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCcsICdjdXJyZW50JywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2V4dGVybmFsJywgJ2hpZGVMYWJlbE9uU21hbGxTY3JlZW4nLCAnaWNvbicsICdpY29uUG9zJywgJ2ljb25TbWFsbCcsICdpbnRlbnQnLCAnbGFiZWwnLCAncGlsbCcsICdzaXplJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWxpbmsnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCcsICdjdXJyZW50JywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2V4dGVybmFsJywgJ2hpZGVMYWJlbE9uU21hbGxTY3JlZW4nLCAnaWNvbicsICdpY29uUG9zJywgJ2ljb25TbWFsbCcsICdpbnRlbnQnLCAnbGFiZWwnLCAncGlsbCcsICdzaXplJywgJ3VybCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0xpbmsge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNMaW5rRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzTGluayBleHRlbmRzIENvbXBvbmVudHMuRWRzTGluayB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzTG9nbyxcbiAgaW5wdXRzOiBbJ2hyZWYnLCAnbGFiZWwnLCAnb3JpZW50YXRpb24nLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLWxvZ28nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hyZWYnLCAnbGFiZWwnLCAnb3JpZW50YXRpb24nLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc0xvZ28ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNMb2dvRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzTG9nbyBleHRlbmRzIENvbXBvbmVudHMuRWRzTG9nbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzTWF0b21vTm90aWNlLFxuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnZm9yY2VTaG93JywgJ2hlYWRpbmcnLCAnb3B0T3V0TWVzc2FnZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLW1hdG9tby1ub3RpY2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2ZvcmNlU2hvdycsICdoZWFkaW5nJywgJ29wdE91dE1lc3NhZ2UnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNNYXRvbW9Ob3RpY2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNNYXRvbW9Ob3RpY2VFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjb25zZW50J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc01hdG9tb05vdGljZSBleHRlbmRzIENvbXBvbmVudHMuRWRzTWF0b21vTm90aWNlIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcmF0aW5nIGlzIGNoYW5nZWQuXG4gICAqL1xuICBjb25zZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8J2luJyB8ICdvdXQnIHwgJ2RlZmVyJz4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzTW9kYWwsXG4gIGlucHV0czogWydoZWFkaW5nJywgJ2ludmVyc2VIZWFkZXInLCAncG9zaXRpb24nLCAnc2l6ZScsICd0cnVuY2F0ZSddLFxuICBtZXRob2RzOiBbJ29wZW4nLCAnY2xvc2UnLCAndG9nZ2xlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtbW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaW52ZXJzZUhlYWRlcicsICdwb3NpdGlvbicsICdzaXplJywgJ3RydW5jYXRlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzTW9kYWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNNb2RhbEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc01vZGFsIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNNb2RhbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzTnBzLFxuICBpbnB1dHM6IFsnbGVmdExhYmVsJywgJ3F1ZXN0aW9uJywgJ3JpZ2h0TGFiZWwnLCAnc2VsZWN0ZWRWYWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLW5wcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGVmdExhYmVsJywgJ3F1ZXN0aW9uJywgJ3JpZ2h0TGFiZWwnLCAnc2VsZWN0ZWRWYWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc05wcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc05wc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ25wcyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNOcHMgZXh0ZW5kcyBDb21wb25lbnRzLkVkc05wcyB7XG5cbiAgbnBzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNQYWdpbmF0aW9uLFxuICBpbnB1dHM6IFsnY3VycmVudFBhZ2UnLCAnbGFzdFBhZ2UnLCAnbW9kZScsICduZXh0TGFiZWwnLCAnbmV4dFVybCcsICdwZXJQYWdlJywgJ3ByZXZMYWJlbCcsICdwcmV2VXJsJywgJ3RvdGFsJywgJ3VybCcsICd1c2VCdXR0b25zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtcGFnaW5hdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3VycmVudFBhZ2UnLCAnbGFzdFBhZ2UnLCAnbW9kZScsICduZXh0TGFiZWwnLCAnbmV4dFVybCcsICdwZXJQYWdlJywgJ3ByZXZMYWJlbCcsICdwcmV2VXJsJywgJ3RvdGFsJywgJ3VybCcsICd1c2VCdXR0b25zJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzUGFnaW5hdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1BhZ2luYXRpb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNQYWdpbmF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNQYWdpbmF0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNQaWUsXG4gIGlucHV0czogWydjb2xvclNjaGVtZScsICdkaXNwbGF5JywgJ2xlZ2VuZCcsICdzaXplJywgJ3NsaWNlcycsICd0aGlja25lc3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1waWUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbG9yU2NoZW1lJywgJ2Rpc3BsYXknLCAnbGVnZW5kJywgJ3NpemUnLCAnc2xpY2VzJywgJ3RoaWNrbmVzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1BpZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1BpZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1BpZSBleHRlbmRzIENvbXBvbmVudHMuRWRzUGllIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNQcm9ncmVzc0JhcixcbiAgaW5wdXRzOiBbJ2xhYmVsUGFkZGluZ1gnLCAnc2hvd0xhYmVsJywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWyd1cGRhdGVWYWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXByb2dyZXNzLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWxQYWRkaW5nWCcsICdzaG93TGFiZWwnLCAndmFsdWUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1Byb2dyZXNzQmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzUHJvZ3Jlc3NCYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNQcm9ncmVzc0JhciBleHRlbmRzIENvbXBvbmVudHMuRWRzUHJvZ3Jlc3NCYXIge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1JhdGluZyxcbiAgaW5wdXRzOiBbJ3JhdGluZ0NvdW50JywgJ3JhdGluZ1R5cGUnLCAnc2VsZWN0ZWRSYXRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1yYXRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3JhdGluZ0NvdW50JywgJ3JhdGluZ1R5cGUnLCAnc2VsZWN0ZWRSYXRpbmcnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNSYXRpbmcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNSYXRpbmdFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydyYXRpbmcnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzUmF0aW5nIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNSYXRpbmcge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSByYXRpbmcgaXMgY2hhbmdlZC5cbiAgICovXG4gIHJhdGluZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzU2VhcmNoU2VsZWN0LFxuICBpbnB1dHM6IFsnYXBpQmFzZScsICdkZWJvdW5jZU1zJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yTWVzc2FnZScsICdoaW50JywgJ2xhYmVsJywgJ2xpbWl0JywgJ21heFZpc2libGUnLCAnbWVzc2FnZScsICdtdWx0aXBsZScsICduYW1lJywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAnc2VhcmNoUGFyYW0nLCAnc291cmNlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtc2VhcmNoLXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBpQmFzZScsICdkZWJvdW5jZU1zJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2Vycm9yTWVzc2FnZScsICdoaW50JywgJ2xhYmVsJywgJ2xpbWl0JywgJ21heFZpc2libGUnLCAnbWVzc2FnZScsICdtdWx0aXBsZScsICduYW1lJywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAncmVxdWlyZWQnLCAnc2VhcmNoUGFyYW0nLCAnc291cmNlJywgJ3ZhbHVlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzU2VhcmNoU2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzU2VhcmNoU2VsZWN0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZWRzaW5wdXQnLCAnZWRzY2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1NlYXJjaFNlbGVjdCBleHRlbmRzIENvbXBvbmVudHMuRWRzU2VhcmNoU2VsZWN0IHtcblxuICBlZHNpbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBzdHJpbmdbXSB9Pj47XG5cbiAgZWRzY2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IHN0cmluZ1tdIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1NpZGViYXIsXG4gIGlucHV0czogWydhY3RpdmVVcmwnLCAnZW5hYmxlUm91dGluZycsICdpdGVtcycsICdtYXhMZXZlbCcsICd0aGVtZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXNpZGViYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZVVybCcsICdlbmFibGVSb3V0aW5nJywgJ2l0ZW1zJywgJ21heExldmVsJywgJ3RoZW1lJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzU2lkZWJhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1NpZGViYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzaWRlYmFyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1NpZGViYXIgZXh0ZW5kcyBDb21wb25lbnRzLkVkc1NpZGViYXIge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSByb3V0aW5nIGlzIGNoYW5nZWQuXG4gICAqL1xuICBzaWRlYmFyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNTb2NpYWxOZXR3b3JrcyxcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXNvY2lhbC1uZXR3b3JrcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZycsICd2YXJpYW50J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzU29jaWFsTmV0d29ya3Mge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNTb2NpYWxOZXR3b3Jrc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1NvY2lhbE5ldHdvcmtzIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNTb2NpYWxOZXR3b3JrcyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzU3Bpbm5lcixcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnZnVsbHNjcmVlbicsICdtZXNzYWdlJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXNwaW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnZnVsbHNjcmVlbicsICdtZXNzYWdlJywgJ3NpemUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1NwaW5uZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNTcGlubmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzU3Bpbm5lciBleHRlbmRzIENvbXBvbmVudHMuRWRzU3Bpbm5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzU3BsYXNoU2NyZWVuLFxuICBpbnB1dHM6IFsnaW5pdFByb21pc2UnLCAnaW52ZXJzZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXNwbGFzaC1zY3JlZW4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2luaXRQcm9taXNlJywgJ2ludmVyc2UnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNTcGxhc2hTY3JlZW4ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNTcGxhc2hTY3JlZW5FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzcGxhc2gnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRWRzU3BsYXNoU2NyZWVuIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNTcGxhc2hTY3JlZW4ge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzcGxhc2ggc2NyZWVuIHN0YXRlIGNoYW5nZXMuXG5FbWl0cyBhbiBvYmplY3Qgd2l0aCBhIHR5cGUgYW5kIGEgbWVzc2FnZS5cbiAgICovXG4gIHNwbGFzaDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdHlwZTogJ2hpZGRlbic7IG1lc3NhZ2U6IHN0cmluZyB9IHwgeyB0eXBlOiAnZXJyb3InOyBtZXNzYWdlOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzU3RlcHMsXG4gIGlucHV0czogWydiYWNrTGFiZWwnLCAnY29sbGFwc2libGVUaXRsZXMnLCAnZGlzYWJsZU5leHQnLCAnZmluaXNoTGFiZWwnLCAnaGVhZGluZ0xldmVsJywgJ25leHRMYWJlbCcsICdvcmllbnRhdGlvbicsICdzaG93RmluaXNoJywgJ3N0ZXBzJywgJ3RoZW1lJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy1zdGVwcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja0xhYmVsJywgJ2NvbGxhcHNpYmxlVGl0bGVzJywgJ2Rpc2FibGVOZXh0JywgJ2ZpbmlzaExhYmVsJywgJ2hlYWRpbmdMZXZlbCcsICduZXh0TGFiZWwnLCAnb3JpZW50YXRpb24nLCAnc2hvd0ZpbmlzaCcsICdzdGVwcycsICd0aGVtZScsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzU3RlcHMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNTdGVwc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0ZXAnLCAnZmluaXNoZWQnLCAnbmV4dCcsICdiYWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1N0ZXBzIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNTdGVwcyB7XG5cbiAgc3RlcDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuXG4gIGZpbmlzaGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIG5leHQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcblxuICBiYWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNTdGVwc1YyLFxuICBpbnB1dHM6IFsnYmFja0xhYmVsJywgJ2Rpc2FibGVOZXh0JywgJ2ZpbmlzaExhYmVsJywgJ2hlYWRpbmdMZXZlbCcsICdpbWFnZVNyYycsICdpbWFnZVdpZHRoJywgJ21lc3NhZ2UnLCAnbmV4dExhYmVsJywgJ29yaWVudGF0aW9uJywgJ3Nob3dGaW5pc2gnLCAnc3RlcHMnLCAndGhlbWUnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXN0ZXBzLXYyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrTGFiZWwnLCAnZGlzYWJsZU5leHQnLCAnZmluaXNoTGFiZWwnLCAnaGVhZGluZ0xldmVsJywgJ2ltYWdlU3JjJywgJ2ltYWdlV2lkdGgnLCAnbWVzc2FnZScsICduZXh0TGFiZWwnLCAnb3JpZW50YXRpb24nLCAnc2hvd0ZpbmlzaCcsICdzdGVwcycsICd0aGVtZScsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzU3RlcHNWMiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1N0ZXBzVjJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdGVwJywgJ2ZpbmlzaGVkJywgJ25leHQnLCAnYmFjayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNTdGVwc1YyIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNTdGVwc1YyIHtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW5ldmVyIHRoZSBhY3RpdmUgc3RlcCBjaGFuZ2VzLiBQYXlsb2FkOiBjdXJyZW50IHN0ZXAgaW5kZXguXG4gICAqL1xuICBzdGVwOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHVzZXIgY2xpY2tzIEZpbmlzaCBvbiB0aGUgbGFzdCBzdGVwLlxuICAgKi9cbiAgZmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBGaXJlZCBiZWZvcmUgYWR2YW5jaW5nLCB3aXRoIHRoZSB0YXJnZXQgc3RlcCBpbmRleC5cbiAgICovXG4gIG5leHQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgLyoqXG4gICAqIEZpcmVkIGJlZm9yZSBnb2luZyBiYWNrLCB3aXRoIHRoZSB0YXJnZXQgc3RlcCBpbmRleC5cbiAgICovXG4gIGJhY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxudW1iZXI+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1N3aXRjaCxcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbGFiZWxPZmYnLCAnbGFiZWxPbicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtc3dpdGNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsT2ZmJywgJ2xhYmVsT24nLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1N3aXRjaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1N3aXRjaEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Vpc3dpdGNoJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1N3aXRjaCBleHRlbmRzIENvbXBvbmVudHMuRWRzU3dpdGNoIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgc3dpdGNoIGlzIHRvZ2dsZWQuXG4gICAqL1xuICB1aXN3aXRjaDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IGJvb2xlYW4gfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzVGFibGUsXG4gIGlucHV0czogWydhY3Rpb25UZW1wbGF0ZScsICdhY3Rpb25zJywgJ2NvbmZpZycsICdkYXRhJywgJ2hvc3RXaWR0aCcsICdwYWdpbmF0aW9uRW5hYmxlZCcsICdyb3dzUGVyUGFnZScsICdzZWFyY2hFbmFibGVkJywgJ3Nob3dWaWV3VG9nZ2xlJywgJ3NvcnRpbmdFbmFibGVkJywgJ3RoZW1lJywgJ3ZpZXcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy10YWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aW9uVGVtcGxhdGUnLCAnYWN0aW9ucycsICdjb25maWcnLCAnZGF0YScsICdob3N0V2lkdGgnLCAncGFnaW5hdGlvbkVuYWJsZWQnLCAncm93c1BlclBhZ2UnLCAnc2VhcmNoRW5hYmxlZCcsICdzaG93Vmlld1RvZ2dsZScsICdzb3J0aW5nRW5hYmxlZCcsICd0aGVtZScsICd2aWV3J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzVGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNUYWJsZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Jvd2FjdGlvbicsICd2aWV3Y2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1RhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNUYWJsZSB7XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIGV2ZW50IHdpdGggdGhlIHBheWxvYWQgdHlwZVxuICAgKi9cbiAgcm93YWN0aW9uOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBhY3Rpb246IHN0cmluZzsgcm93OiBhbnk7IGNoZWNrZWQ6IGJvb2xlYW4gfT4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHZpZXcgbW9kZSBjaGFuZ2VzXG4gICAqL1xuICB2aWV3Y2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2aWV3OiAndGFibGUnIHwgJ2NhcmQnIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1RhYnMsXG4gIGlucHV0czogWydpZGVudGlmaWVyJywgJ25hdkFyaWFMYWJlbCcsICd0YWJzJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy10YWJzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpZGVudGlmaWVyJywgJ25hdkFyaWFMYWJlbCcsICd0YWJzJywgJ3ZhcmlhbnQnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNUYWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzVGFic0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RhYiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNUYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNUYWJzIHtcblxuICB0YWI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYklkOiBzdHJpbmc7IGluZGV4OiBudW1iZXI7IG5hbWU/OiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1RhZyxcbiAgaW5wdXRzOiBbJ2ludGVudCcsICdsYWJlbCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtdGFnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpbnRlbnQnLCAnbGFiZWwnLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1RhZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1RhZ0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1RhZyBleHRlbmRzIENvbXBvbmVudHMuRWRzVGFnIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNUb2FzdCxcbiAgaW5wdXRzOiBbJ2R1cmF0aW9uJywgJ2ludGVudCcsICdtZXNzYWdlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtdG9hc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2R1cmF0aW9uJywgJ2ludGVudCcsICdtZXNzYWdlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzVG9hc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFZHNUb2FzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3RvYXN0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1RvYXN0IGV4dGVuZHMgQ29tcG9uZW50cy5FZHNUb2FzdCB7XG5cbiAgdG9hc3Q6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZpc2libGU6IGJvb2xlYW47IGxhYmVsOiAnZGlzbWlzc2VkJyB8ICdzaG93bicgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lRWRzVG9vbHRpcCxcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAncG9zaXRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Vkcy10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250ZW50JywgJ3Bvc2l0aW9uJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRWRzVG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVkc1Rvb2x0aXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5FZHNUb29sdGlwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVFZHNUcmxCYWRnZSxcbiAgaW5wdXRzOiBbJ2Fzc2Vzc2VkJywgJ2hyZWYnLCAnbGFiZWwnLCAnbGV2ZWwnLCAnbWV0aG9kb2xvZ3knLCAnc2l6ZScsICd0aGVtZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZHMtdHJsLWJhZGdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhc3Nlc3NlZCcsICdocmVmJywgJ2xhYmVsJywgJ2xldmVsJywgJ21ldGhvZG9sb2d5JywgJ3NpemUnLCAndGhlbWUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEVkc1RybEJhZGdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzVHJsQmFkZ2VFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFZHNUcmxCYWRnZSBleHRlbmRzIENvbXBvbmVudHMuRWRzVHJsQmFkZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUVkc1VzZXIsXG4gIGlucHV0czogWydkcm9wZG93bkxhYmVsJywgJ2ludGVudCcsICd1c2VyJ10sXG4gIG1ldGhvZHM6IFsnY2xvc2VEcm9wZG93biddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWRzLXVzZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Ryb3Bkb3duTGFiZWwnLCAnaW50ZW50JywgJ3VzZXInXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFZHNVc2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWRzVXNlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEVkc1VzZXIgZXh0ZW5kcyBDb21wb25lbnRzLkVkc1VzZXIge31cblxuXG4iXX0=
|