@oiz/stzh-components-angular 3.8.0 → 4.0.0-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/stencil-generated/index.mjs +1 -2
- package/esm2022/lib/stencil-generated/proxies.mjs +10 -32
- package/esm2022/stzh-components-angular.module.mjs +3 -3
- package/fesm2022/oiz-stzh-components-angular.mjs +12 -35
- package/fesm2022/oiz-stzh-components-angular.mjs.map +1 -1
- package/lib/stencil-generated/index.d.ts +1 -1
- package/lib/stencil-generated/proxies.d.ts +3 -12
- package/package.json +2 -2
- package/stzh-components-angular.module.d.ts +1 -1
|
@@ -155,28 +155,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
155
155
|
inputs: ['items', 'localization'],
|
|
156
156
|
}]
|
|
157
157
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
158
|
-
export let StzhAppBar = class StzhAppBar {
|
|
159
|
-
constructor(c, r, z) {
|
|
160
|
-
this.z = z;
|
|
161
|
-
c.detach();
|
|
162
|
-
this.el = r.nativeElement;
|
|
163
|
-
}
|
|
164
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StzhAppBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
165
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StzhAppBar, selector: "stzh-app-bar", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
166
|
-
};
|
|
167
|
-
StzhAppBar = __decorate([
|
|
168
|
-
ProxyCmp({})
|
|
169
|
-
], StzhAppBar);
|
|
170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StzhAppBar, decorators: [{
|
|
171
|
-
type: Component,
|
|
172
|
-
args: [{
|
|
173
|
-
selector: 'stzh-app-bar',
|
|
174
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
175
|
-
template: '<ng-content></ng-content>',
|
|
176
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
177
|
-
inputs: [],
|
|
178
|
-
}]
|
|
179
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
180
158
|
export let StzhAppNav = class StzhAppNav {
|
|
181
159
|
constructor(c, r, z) {
|
|
182
160
|
this.z = z;
|
|
@@ -1196,11 +1174,11 @@ export let StzhDialog = class StzhDialog {
|
|
|
1196
1174
|
proxyOutputs(this, this.el, ['stzhOpen', 'stzhClose']);
|
|
1197
1175
|
}
|
|
1198
1176
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StzhDialog, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1199
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StzhDialog, selector: "stzh-dialog", inputs: {
|
|
1177
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StzhDialog, selector: "stzh-dialog", inputs: { a11yRole: "a11yRole", closeAnalyticsId: "closeAnalyticsId", closeOnBackdropClick: "closeOnBackdropClick", closeOnEscapeKey: "closeOnEscapeKey", heading: "heading", hideClose: "hideClose", localization: "localization", open: "open", size: "size", stay: "stay" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1200
1178
|
};
|
|
1201
1179
|
StzhDialog = __decorate([
|
|
1202
1180
|
ProxyCmp({
|
|
1203
|
-
inputs: ['
|
|
1181
|
+
inputs: ['a11yRole', 'closeAnalyticsId', 'closeOnBackdropClick', 'closeOnEscapeKey', 'heading', 'hideClose', 'localization', 'open', 'size', 'stay'],
|
|
1204
1182
|
methods: ['show', 'hide']
|
|
1205
1183
|
})
|
|
1206
1184
|
], StzhDialog);
|
|
@@ -1211,7 +1189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1211
1189
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1212
1190
|
template: '<ng-content></ng-content>',
|
|
1213
1191
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1214
|
-
inputs: ['
|
|
1192
|
+
inputs: ['a11yRole', 'closeAnalyticsId', 'closeOnBackdropClick', 'closeOnEscapeKey', 'heading', 'hideClose', 'localization', 'open', 'size', 'stay'],
|
|
1215
1193
|
}]
|
|
1216
1194
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1217
1195
|
export let StzhDisturber = class StzhDisturber {
|
|
@@ -1516,11 +1494,11 @@ export let StzhGeoRefData = class StzhGeoRefData {
|
|
|
1516
1494
|
proxyOutputs(this, this.el, ['stzhOverlayCloseClick']);
|
|
1517
1495
|
}
|
|
1518
1496
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StzhGeoRefData, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1519
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StzhGeoRefData, selector: "stzh-geo-ref-data", inputs: { al: "al", availableTags: "availableTags", baseUrlOverride: "baseUrlOverride", heading: "heading", mapDataUrl: "mapDataUrl", poiDataUrl: "poiDataUrl", resetTag: "resetTag", searchIndexFields: "searchIndexFields", searchIndexIdField: "searchIndexIdField" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1497
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StzhGeoRefData, selector: "stzh-geo-ref-data", inputs: { al: "al", availableTags: "availableTags", baseUrlOverride: "baseUrlOverride", centerMarker: "centerMarker", heading: "heading", locationControl: "locationControl", mapDataUrl: "mapDataUrl", pinchRotateThreshold: "pinchRotateThreshold", poiDataUrl: "poiDataUrl", resetTag: "resetTag", searchIndexFields: "searchIndexFields", searchIndexIdField: "searchIndexIdField", zoom: "zoom", zoomLocation: "zoomLocation" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1520
1498
|
};
|
|
1521
1499
|
StzhGeoRefData = __decorate([
|
|
1522
1500
|
ProxyCmp({
|
|
1523
|
-
inputs: ['al', 'availableTags', 'baseUrlOverride', 'heading', 'mapDataUrl', 'poiDataUrl', 'resetTag', 'searchIndexFields', 'searchIndexIdField']
|
|
1501
|
+
inputs: ['al', 'availableTags', 'baseUrlOverride', 'centerMarker', 'heading', 'locationControl', 'mapDataUrl', 'pinchRotateThreshold', 'poiDataUrl', 'resetTag', 'searchIndexFields', 'searchIndexIdField', 'zoom', 'zoomLocation']
|
|
1524
1502
|
})
|
|
1525
1503
|
], StzhGeoRefData);
|
|
1526
1504
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StzhGeoRefData, decorators: [{
|
|
@@ -1530,7 +1508,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1530
1508
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1531
1509
|
template: '<ng-content></ng-content>',
|
|
1532
1510
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1533
|
-
inputs: ['al', 'availableTags', 'baseUrlOverride', 'heading', 'mapDataUrl', 'poiDataUrl', 'resetTag', 'searchIndexFields', 'searchIndexIdField'],
|
|
1511
|
+
inputs: ['al', 'availableTags', 'baseUrlOverride', 'centerMarker', 'heading', 'locationControl', 'mapDataUrl', 'pinchRotateThreshold', 'poiDataUrl', 'resetTag', 'searchIndexFields', 'searchIndexIdField', 'zoom', 'zoomLocation'],
|
|
1534
1512
|
}]
|
|
1535
1513
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
1536
1514
|
export let StzhGhettobox = class StzhGhettobox {
|
|
@@ -2315,11 +2293,11 @@ export let StzhPagination = class StzhPagination {
|
|
|
2315
2293
|
proxyOutputs(this, this.el, ['stzhChange']);
|
|
2316
2294
|
}
|
|
2317
2295
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StzhPagination, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2318
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StzhPagination, selector: "stzh-pagination", inputs: { a11yDescribedby: "a11yDescribedby", allowManualInput: "allowManualInput", description: "description", descriptionLong: "descriptionLong", disabled: "disabled", error: "error", invalid: "invalid", label: "label", labelHidden: "labelHidden", localization: "localization", name: "name", readonly: "readonly", required: "required", size: "size", total: "total", value: "value"
|
|
2296
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StzhPagination, selector: "stzh-pagination", inputs: { a11yDescribedby: "a11yDescribedby", allowManualInput: "allowManualInput", description: "description", descriptionLong: "descriptionLong", disabled: "disabled", error: "error", invalid: "invalid", label: "label", labelHidden: "labelHidden", localization: "localization", name: "name", readonly: "readonly", required: "required", size: "size", total: "total", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2319
2297
|
};
|
|
2320
2298
|
StzhPagination = __decorate([
|
|
2321
2299
|
ProxyCmp({
|
|
2322
|
-
inputs: ['a11yDescribedby', 'allowManualInput', 'description', 'descriptionLong', 'disabled', 'error', 'invalid', 'label', 'labelHidden', 'localization', 'name', 'readonly', 'required', 'size', 'total', 'value'
|
|
2300
|
+
inputs: ['a11yDescribedby', 'allowManualInput', 'description', 'descriptionLong', 'disabled', 'error', 'invalid', 'label', 'labelHidden', 'localization', 'name', 'readonly', 'required', 'size', 'total', 'value'],
|
|
2323
2301
|
methods: ['prev', 'next']
|
|
2324
2302
|
})
|
|
2325
2303
|
], StzhPagination);
|
|
@@ -2330,7 +2308,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2330
2308
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2331
2309
|
template: '<ng-content></ng-content>',
|
|
2332
2310
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2333
|
-
inputs: ['a11yDescribedby', 'allowManualInput', 'description', 'descriptionLong', 'disabled', 'error', 'invalid', 'label', 'labelHidden', 'localization', 'name', 'readonly', 'required', 'size', 'total', 'value'
|
|
2311
|
+
inputs: ['a11yDescribedby', 'allowManualInput', 'description', 'descriptionLong', 'disabled', 'error', 'invalid', 'label', 'labelHidden', 'localization', 'name', 'readonly', 'required', 'size', 'total', 'value'],
|
|
2334
2312
|
}]
|
|
2335
2313
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
2336
2314
|
export let StzhPanorama = class StzhPanorama {
|
|
@@ -3624,4 +3602,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3624
3602
|
inputs: ['cookie', 'cookieExpires', 'localization', 'skipPreview', 'skipPreviewIfCookieAccepted', 'url'],
|
|
3625
3603
|
}]
|
|
3626
3604
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
3627
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0emgtY29tcG9uZW50cy1hbmd1bGFyL3NyYy9saWIvc3RlbmNpbC1nZW5lcmF0ZWQvcHJveGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFnQmhFLFdBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWE7SUFFeEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0dBTlUsYUFBYTttR0FBYixhQUFhLDBLQUpkLDJCQUEyQjs7QUFJMUIsYUFBYTtJQVh6QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsQ0FBQztRQUNoRSxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7S0FDMUIsQ0FBQztHQVFXLGFBQWEsQ0FPekI7NEZBUFksYUFBYTtrQkFQekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUs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QkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7aUJBQ3BKOztBQXVCTSxXQUFNLFdBQVcsR0FBakIsTUFBTSxXQUFXO0lBRXRCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7K0dBTFUsV0FBVzttR0FBWCxXQUFXLG9QQUpaLDJCQUEyQjs7QUFJMUIsV0FBVztJQVZ2QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxDQUFDO0tBQ3pHLENBQUM7R0FRVyxXQUFXLENBTXZCOzRGQU5ZLFdBQVc7a0JBUHZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSw2QkFBNkIsRUFBRSxLQUFLLENBQUM7aUJBQ3pHIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRzIH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xsYXBzaWJsZScsICdoZWFkaW5nJywgJ211bHRpc2VsZWN0YWJsZScsICd2YXJpYW50J10sXG4gIG1ldGhvZHM6IFsnc2V0SXRlbUZvY3VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sbGFwc2libGUnLCAnaGVhZGluZycsICdtdWx0aXNlbGVjdGFibGUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQWNjb3JkaW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEFjY29yZGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhWYXJpYW50Q2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQWNjb3JkaW9uVmFyaWFudENoYW5nZUV2ZW50IGFzIElTdHpoQWNjb3JkaW9uU3R6aEFjY29yZGlvblZhcmlhbnRDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBY2NvcmRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhBY2NvcmRpb24ge1xuICAvKipcbiAgICogVmFyaWFudCBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhWYXJpYW50Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBY2NvcmRpb25TdHpoQWNjb3JkaW9uVmFyaWFudENoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2JhZGdlJywgJ2JhZGdlRW1wdHknLCAnYmFkZ2VUeXBlJywgJ2NvbGxhcHNpYmxlJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2ljb24nLCAnb3BlbicsICdzdWJ0aXRsZScsICd2YXJpYW50J10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1hY2NvcmRpb24taXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnYmFkZ2UnLCAnYmFkZ2VFbXB0eScsICdiYWRnZVR5cGUnLCAnY29sbGFwc2libGUnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaWNvbicsICdvcGVuJywgJ3N1YnRpdGxlJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEFjY29yZGlvbkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQWNjb3JkaW9uSXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhPcGVuJywgJ3N0emhPcGVuZWQnLCAnc3R6aENsb3NlJywgJ3N0emhDbG9zZWQnLCAnc3R6aEZvY3VzJywgJ3N0emhCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQWNjb3JkaW9uSXRlbU9wZW5FdmVudCBhcyBJU3R6aEFjY29yZGlvbkl0ZW1TdHpoQWNjb3JkaW9uSXRlbU9wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEFjY29yZGlvbkl0ZW1PcGVuZWRFdmVudCBhcyBJU3R6aEFjY29yZGlvbkl0ZW1TdHpoQWNjb3JkaW9uSXRlbU9wZW5lZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQWNjb3JkaW9uSXRlbUNsb3NlRXZlbnQgYXMgSVN0emhBY2NvcmRpb25JdGVtU3R6aEFjY29yZGlvbkl0ZW1DbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQWNjb3JkaW9uSXRlbUNsb3NlZEV2ZW50IGFzIElTdHpoQWNjb3JkaW9uSXRlbVN0emhBY2NvcmRpb25JdGVtQ2xvc2VkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhBY2NvcmRpb25JdGVtRm9jdXNFdmVudCBhcyBJU3R6aEFjY29yZGlvbkl0ZW1TdHpoQWNjb3JkaW9uSXRlbUZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhBY2NvcmRpb25JdGVtQmx1ckV2ZW50IGFzIElTdHpoQWNjb3JkaW9uSXRlbVN0emhBY2NvcmRpb25JdGVtQmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEFjY29yZGlvbkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhBY2NvcmRpb25JdGVtIHtcbiAgLyoqXG4gICAqIE9wZW4gZXZlbnRcbiAgICovXG4gIHN0emhPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBY2NvcmRpb25JdGVtU3R6aEFjY29yZGlvbkl0ZW1PcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIE9wZW5lZCBldmVudCAoYWZ0ZXIgYW5pbWF0aW9uKVxuICAgKi9cbiAgc3R6aE9wZW5lZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQWNjb3JkaW9uSXRlbVN0emhBY2NvcmRpb25JdGVtT3BlbmVkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEFjY29yZGlvbkl0ZW1TdHpoQWNjb3JkaW9uSXRlbUNsb3NlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENsb3NlZCBldmVudCAoYWZ0ZXIgYW5pbWF0aW9uKVxuICAgKi9cbiAgc3R6aENsb3NlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQWNjb3JkaW9uSXRlbVN0emhBY2NvcmRpb25JdGVtQ2xvc2VkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZvY3VzIGV2ZW50XG4gICAqL1xuICBzdHpoRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEFjY29yZGlvbkl0ZW1TdHpoQWNjb3JkaW9uSXRlbUZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBY2NvcmRpb25JdGVtU3R6aEFjY29yZGlvbkl0ZW1CbHVyRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc3BhY2VCZXR3ZWVuJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYWN0aW9ucycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc3BhY2VCZXR3ZWVuJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEFjdGlvbnMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQWN0aW9uc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBY3Rpb25zIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQWN0aW9ucyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3Rpb25zJywgJ2xvY2FsaXphdGlvbicsICdwb3BvdmVyQnV0dG9uU2l6ZScsICdwb3BvdmVyQnV0dG9uVmFyaWFudCcsICdwb3BvdmVyUGxhY2VtZW50JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYWN0aW9uc2V0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3Rpb25zJywgJ2xvY2FsaXphdGlvbicsICdwb3BvdmVyQnV0dG9uU2l6ZScsICdwb3BvdmVyQnV0dG9uVmFyaWFudCcsICdwb3BvdmVyUGxhY2VtZW50JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEFjdGlvbnNldCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhBY3Rpb25zZXRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQWN0aW9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhBY3Rpb25zZXRJdGVtQ2xpY2tFdmVudCBhcyBJU3R6aEFjdGlvbnNldFN0emhBY3Rpb25zZXRJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBY3Rpb25zZXQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhBY3Rpb25zZXQge1xuICAvKipcbiAgICogSGVhZGVyIGFjdGlvbiBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aEFjdGlvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBY3Rpb25zZXRTdHpoQWN0aW9uc2V0SXRlbUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2NsZWFyYWJsZScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbG9jYWxpemF0aW9uJywgJ21heFZhbHVlJywgJ21heFZhbHVlRHJvcGRvd24nLCAnbWluVmFsdWUnLCAnbWluVmFsdWVEcm9wZG93bicsICduYW1lJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzdGVwJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWFtb3VudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2NsZWFyYWJsZScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbG9jYWxpemF0aW9uJywgJ21heFZhbHVlJywgJ21heFZhbHVlRHJvcGRvd24nLCAnbWluVmFsdWUnLCAnbWluVmFsdWVEcm9wZG93bicsICduYW1lJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzdGVwJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhBbW91bnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQW1vdW50RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEFtb3VudENoYW5nZUV2ZW50IGFzIElTdHpoQW1vdW50U3R6aEFtb3VudENoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEFtb3VudCBleHRlbmRzIENvbXBvbmVudHMuU3R6aEFtb3VudCB7XG4gIC8qKlxuICAgKiBBbW91bnQgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBbW91bnRTdHpoQW1vdW50Q2hhbmdlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaXRlbXMnLCAnbG9jYWxpemF0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWFuY2hvcm5hdicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaXRlbXMnLCAnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhBbmNob3JuYXYge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQW5jaG9ybmF2RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEl0ZW1DbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEFuY2hvcm5hdkl0ZW1DbGlja0V2ZW50IGFzIElTdHpoQW5jaG9ybmF2U3R6aEFuY2hvcm5hdkl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEFuY2hvcm5hdiBleHRlbmRzIENvbXBvbmVudHMuU3R6aEFuY2hvcm5hdiB7XG4gIC8qKlxuICAgKiBJdGVtIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBbmNob3JuYXZTdHpoQW5jaG9ybmF2SXRlbUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYXBwLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQXBwQmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEFwcEJhckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBcHBCYXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhBcHBCYXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBwTmF2SWQnLCAnaXRlbXMnLCAnbG9jYWxpemF0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWFwcC1uYXYnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcE5hdklkJywgJ2l0ZW1zJywgJ2xvY2FsaXphdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQXBwTmF2IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEFwcE5hdkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhBcHBOYXZJdGVtQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhBcHBOYXZJdGVtQ2xpY2tFdmVudCBhcyBJU3R6aEFwcE5hdlN0emhBcHBOYXZJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBcHBOYXYgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhBcHBOYXYge1xuICAvKipcbiAgICogQXBwTmF2IGl0ZW0gY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhBcHBOYXZJdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEFwcE5hdlN0emhBcHBOYXZJdGVtQ2xpY2tFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcHBvaW50bWVudHMnLCAnYXBwb2ludG1lbnRzVGl0bGUnLCAnY2FsZW5kYXJUaXRsZScsICdjdXJyZW50RGF0ZScsICdkYXRlQWRhcHRlcicsICdkaXNhYmxlU29ydCcsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdzaG93SXRlbXMnLCAnc29ydEJ5JywgJ3N0ZXBJdGVtcycsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1hcHBvaW50bWVudHMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcG9pbnRtZW50cycsICdhcHBvaW50bWVudHNUaXRsZScsICdjYWxlbmRhclRpdGxlJywgJ2N1cnJlbnREYXRlJywgJ2RhdGVBZGFwdGVyJywgJ2Rpc2FibGVTb3J0JywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3Nob3dJdGVtcycsICdzb3J0QnknLCAnc3RlcEl0ZW1zJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhBcHBvaW50bWVudHMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQXBwb2ludG1lbnRzRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEFwcG9pbnRtZW50c0NoYW5nZUV2ZW50IGFzIElTdHpoQXBwb2ludG1lbnRzU3R6aEFwcG9pbnRtZW50c0NoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEFwcG9pbnRtZW50cyBleHRlbmRzIENvbXBvbmVudHMuU3R6aEFwcG9pbnRtZW50cyB7XG4gIC8qKlxuICAgKiBBcHBvaW50bWVudHMgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBcHBvaW50bWVudHNTdHpoQXBwb2ludG1lbnRzQ2hhbmdlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaXRlbXMnLCAnbG9jYWxpemF0aW9uJywgJ3Nob3dJdGVtcycsICdzdGVwSXRlbXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYXJjaGl2ZWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2l0ZW1zJywgJ2xvY2FsaXphdGlvbicsICdzaG93SXRlbXMnLCAnc3RlcEl0ZW1zJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhBcmNoaXZlbGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhBcmNoaXZlbGlzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhJdGVtQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhBcmNoaXZlbGlzdEl0ZW1DbGlja0V2ZW50IGFzIElTdHpoQXJjaGl2ZWxpc3RTdHpoQXJjaGl2ZWxpc3RJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBcmNoaXZlbGlzdCBleHRlbmRzIENvbXBvbmVudHMuU3R6aEFyY2hpdmVsaXN0IHtcbiAgLyoqXG4gICAqIEl0ZW0gY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhJdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEFyY2hpdmVsaXN0U3R6aEFyY2hpdmVsaXN0SXRlbUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZG93bmxvYWRBbmFseXRpY3NJZCcsICdsb2NhbGl6YXRpb24nLCAncHJlbG9hZCcsICdzcmMnLCAndHJhbnNjcmlwdCcsICd0cmFuc2NyaXB0QW5hbHl0aWNzSWQnLCAndHJhbnNjcmlwdFNob3duJ10sXG4gIG1ldGhvZHM6IFsncGxheScsICdwYXVzZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1hdWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZG93bmxvYWRBbmFseXRpY3NJZCcsICdsb2NhbGl6YXRpb24nLCAncHJlbG9hZCcsICdzcmMnLCAndHJhbnNjcmlwdCcsICd0cmFuc2NyaXB0QW5hbHl0aWNzSWQnLCAndHJhbnNjcmlwdFNob3duJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhBdWRpbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhBdWRpb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhQbGF5JywgJ3N0emhQbGF5aW5nJywgJ3N0emhQYXVzZScsICdzdHpoUmVwbGF5JywgJ3N0emhFbmQnLCAnc3R6aEVuZGVkJywgJ3N0emhFcnJvciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEF1ZGlvUGxheUV2ZW50IGFzIElTdHpoQXVkaW9TdHpoQXVkaW9QbGF5RXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhBdWRpb1BsYXlpbmdFdmVudCBhcyBJU3R6aEF1ZGlvU3R6aEF1ZGlvUGxheWluZ0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQXVkaW9QYXVzZUV2ZW50IGFzIElTdHpoQXVkaW9TdHpoQXVkaW9QYXVzZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQXVkaW9SZXBsYXlFdmVudCBhcyBJU3R6aEF1ZGlvU3R6aEF1ZGlvUmVwbGF5RXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhBdWRpb0VuZEV2ZW50IGFzIElTdHpoQXVkaW9TdHpoQXVkaW9FbmRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEF1ZGlvRW5kZWRFdmVudCBhcyBJU3R6aEF1ZGlvU3R6aEF1ZGlvRW5kZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEF1ZGlvRXJyb3JFdmVudCBhcyBJU3R6aEF1ZGlvU3R6aEF1ZGlvRXJyb3JFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBdWRpbyBleHRlbmRzIENvbXBvbmVudHMuU3R6aEF1ZGlvIHtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIHBhdXNlZCBwcm9wZXJ0eSBpcyBjaGFuZ2VkIGZyb20gdHJ1ZSB0byBmYWxzZSwgYXMgYSByZXN1bHQgb2YgdGhlIHBsYXkoKSBtZXRob2QsIG9yIHRoZSBhdXRvcGxheSBhdHRyaWJ1dGUuXG4gICAqL1xuICBzdHpoUGxheTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQXVkaW9TdHpoQXVkaW9QbGF5RXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gcGxheWJhY2sgaXMgcmVhZHkgdG8gc3RhcnQgYWZ0ZXIgaGF2aW5nIGJlZW4gcGF1c2VkIG9yIGRlbGF5ZWQgZHVlIHRvIGxhY2sgb2YgZGF0YS5cbiAgICovXG4gIHN0emhQbGF5aW5nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBdWRpb1N0emhBdWRpb1BsYXlpbmdFdmVudD4+O1xuICAvKipcbiAgICogRmlyZWQgd2hlbiBhIHJlcXVlc3QgdG8gcGF1c2UgYW4gYWN0aXZpdHkgaXMgaGFuZGxlZCBhbmQgdGhlIGFjdGl2aXR5IGhhcyBlbnRlcmVkIGl0cyBwYXVzZWQgc3RhdGUsIG1vc3QgY29tbW9ubHkgYWZ0ZXIgdGhlIG1lZGlhIGhhcyBiZWVuIHBhdXNlZCB0aHJvdWdoIGEgY2FsbCB0byB0aGUgcGF1c2UoKSBtZXRob2QuXG4gICAqL1xuICBzdHpoUGF1c2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEF1ZGlvU3R6aEF1ZGlvUGF1c2VFdmVudD4+O1xuICAvKipcbiAgICogRmlyZWQgd2hlbiBtZWRpYSBwbGF5YmFjayBzdGFydHMgYWdhaW4gYWZ0ZXIgYmVpbmcgaW4gYW4gZW5kZWQgc3RhdGUuIFRoaXMgaXMgZmlyZWQgd2hlbiB0aGUgbG9vcCBwcm9wZXJ0eSBpcyB0cnVlIGFuZCBtZWRpYSBsb29wcywgd2hlcmVhcyB0aGUgdmRzLXBsYXkgZXZlbnQgaXMgbm90LlxuICAgKi9cbiAgc3R6aFJlcGxheTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQXVkaW9TdHpoQXVkaW9SZXBsYXlFdmVudD4+O1xuICAvKipcbiAgICogRmlyZWQgZWFjaCB0aW1lIG1lZGlhIHBsYXliYWNrIGhhcyByZWFjaGVkIHRoZSBlbmQuIFRoaXMgaXMgZmlyZWQgZXZlbiBpZiB0aGUgbG9vcCBwcm9wZXJ0eSBpcyB0cnVlLCB3aGljaCBpcyBnZW5lcmFsbHkgd2hlbiB5b3UnZCByZWFjaCBmb3IgdGhpcyBldmVudCBvdmVyIHRoZSBNZWRpYUVuZGVkRXZlbnQgaWYgeW91IHdhbnQgdG8gYmUgbm90aWZpZWQgb2YgbWVkaWEgbG9vcGluZy5cbiAgICovXG4gIHN0emhFbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEF1ZGlvU3R6aEF1ZGlvRW5kRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gcGxheWJhY2sgb3Igc3RyZWFtaW5nIGhhcyBzdG9wcGVkIGJlY2F1c2UgdGhlIGVuZCBvZiB0aGUgbWVkaWEgd2FzIHJlYWNoZWQgb3IgYmVjYXVzZSBubyBmdXJ0aGVyIGRhdGEgaXMgYXZhaWxhYmxlLiBUaGlzIGlzIG5vdCBmaXJlZCBpZiBwbGF5YmFjayB3aWxsIHN0YXJ0IGZyb20gdGhlIGJlZ2lubmluZyBhZ2FpbiBkdWUgdG8gdGhlIGxvb3AgcHJvcGVydHkgYmVpbmcgdHJ1ZSAoc2VlIE1lZGlhUmVwbGF5RXZlbnQgYW5kIE1lZGlhRW5kRXZlbnQpLlxuICAgKi9cbiAgc3R6aEVuZGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBdWRpb1N0emhBdWRpb0VuZGVkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gbWVkaWEgbG9hZGluZyBvciBwbGF5YmFjayBoYXMgZW5jb3VudGVyZWQgYW55IGlzc3VlcyAoZm9yIGV4YW1wbGUsIGEgbmV0d29yayBjb25uZWN0aXZpdHkgcHJvYmxlbSkuIFRoZSBldmVudCBkZXRhaWwgY29udGFpbnMgYSBwb3RlbnRpYWwgbWVzc2FnZSBjb250YWluaW5nIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGVycm9yIChlbXB0eSBzdHJpbmcgaWYgbm90aGluZyBhdmFpbGFibGUpLCBhbmQgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJhbCB0eXBlIG9mIGVycm9yIHRoYXQgb2NjdXJyZWQuXG4gICAqL1xuICBzdHpoRXJyb3I6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEF1ZGlvU3R6aEF1ZGlvRXJyb3JFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYWJlbCcsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWJhZGdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsYWJlbCcsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhCYWRnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhCYWRnZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhCYWRnZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aEJhZGdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGVDbG9zZScsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYmFubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRlQ2xvc2UnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhCYW5uZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQmFubmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aE9wZW4nLCAnc3R6aENsb3NlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQmFubmVyT3BlbkV2ZW50IGFzIElTdHpoQmFubmVyU3R6aEJhbm5lck9wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEJhbm5lckNsb3NlRXZlbnQgYXMgSVN0emhCYW5uZXJTdHpoQmFubmVyQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhCYW5uZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhCYW5uZXIge1xuICAvKipcbiAgICogQmFubmVyIG9wZW4gZXZlbnRcbiAgICovXG4gIHN0emhPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhCYW5uZXJTdHpoQmFubmVyT3BlbkV2ZW50Pj47XG4gIC8qKlxuICAgKiBCYW5uZXIgY2xvc2UgZXZlbnRcbiAgICovXG4gIHN0emhDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQmFubmVyU3R6aEJhbm5lckNsb3NlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGF0ZUFkYXB0ZXInLCAnaXRlbScsICdsb2NhbGl6YXRpb24nLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1iYXRoc3RhdHVzLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGVBZGFwdGVyJywgJ2l0ZW0nLCAnbG9jYWxpemF0aW9uJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEJhdGhzdGF0dXNJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEJhdGhzdGF0dXNJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEJhdGhzdGF0dXNJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQmF0aHN0YXR1c0l0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBpJywgJ2xvY2FsaXphdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1iYXRoc3RhdHVzLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwaScsICdsb2NhbGl6YXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEJhdGhzdGF0dXNMaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEJhdGhzdGF0dXNMaXN0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEJhdGhzdGF0dXNMaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQmF0aHN0YXR1c0xpc3Qge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZXhwYW5kZWQnLCAnaXRlbXMnLCAnbG9jYWxpemF0aW9uJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYnJlYWRjcnVtYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZXhwYW5kZWQnLCAnaXRlbXMnLCAnbG9jYWxpemF0aW9uJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEJyZWFkY3J1bWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQnJlYWRjcnVtYkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhJdGVtQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhCcmVhZGNydW1iSXRlbUNsaWNrRXZlbnQgYXMgSVN0emhCcmVhZGNydW1iU3R6aEJyZWFkY3J1bWJJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhCcmVhZGNydW1iIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQnJlYWRjcnVtYiB7XG4gIC8qKlxuICAgKiBJdGVtIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhCcmVhZGNydW1iU3R6aEJyZWFkY3J1bWJJdGVtQ2xpY2tFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5Q29udHJvbHMnLCAnYTExeUN1cnJlbnQnLCAnYTExeURlc2NyaWJlZGJ5JywgJ2ExMXlEaXNhYmxlZCcsICdhMTF5RXhwYW5kZWQnLCAnYTExeUxhYmVsJywgJ2ExMXlUYWJpbmRleCcsICdhY3RpdmUnLCAnYW5hbHl0aWNzSWQnLCAnYmFkZ2UnLCAnYmFkZ2VFbXB0eScsICdiYWRnZVBvc2l0aW9uJywgJ2JhZGdlVHlwZScsICdidXR0b25BY2Nlc3NrZXknLCAnYnV0dG9uSWQnLCAnY2hlY2tlZCcsICdkZWZhdWx0Q2hlY2tlZCcsICdkaXNhYmxlT25DbGljaycsICdkaXNhYmxlZCcsICdkb3dubG9hZCcsICdlZmZlY3QnLCAnZnVsbHdpZHRoJywgJ2hyZWYnLCAnaWNvbicsICdpY29uT25seScsICdpY29uUG9zaXRpb24nLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAnbm9IeXBoZW5hdGlvbicsICdub1BhZGRpbmdMZWZ0JywgJ25vUGFkZGluZ1JpZ2h0JywgJ3JlbCcsICdyb3VuZGVkJywgJ3Nob3dUb2dnbGVJY29uJywgJ3NpemUnLCAnc2l6ZUxhcmdlJywgJ3NpemVNZWRpdW0nLCAnc2l6ZVNtYWxsJywgJ3NpemVVbHRyYScsICd0YXJnZXQnLCAndGV4dEFsaWduJywgJ3R5cGUnLCAndmFsdWUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlDb250cm9scycsICdhMTF5Q3VycmVudCcsICdhMTF5RGVzY3JpYmVkYnknLCAnYTExeURpc2FibGVkJywgJ2ExMXlFeHBhbmRlZCcsICdhMTF5TGFiZWwnLCAnYTExeVRhYmluZGV4JywgJ2FjdGl2ZScsICdhbmFseXRpY3NJZCcsICdiYWRnZScsICdiYWRnZUVtcHR5JywgJ2JhZGdlUG9zaXRpb24nLCAnYmFkZ2VUeXBlJywgJ2J1dHRvbkFjY2Vzc2tleScsICdidXR0b25JZCcsICdjaGVja2VkJywgJ2RlZmF1bHRDaGVja2VkJywgJ2Rpc2FibGVPbkNsaWNrJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2VmZmVjdCcsICdmdWxsd2lkdGgnLCAnaHJlZicsICdpY29uJywgJ2ljb25Pbmx5JywgJ2ljb25Qb3NpdGlvbicsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdub0h5cGhlbmF0aW9uJywgJ25vUGFkZGluZ0xlZnQnLCAnbm9QYWRkaW5nUmlnaHQnLCAncmVsJywgJ3JvdW5kZWQnLCAnc2hvd1RvZ2dsZUljb24nLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJywgJ3RhcmdldCcsICd0ZXh0QWxpZ24nLCAndHlwZScsICd2YWx1ZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQnV0dG9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEZvY3VzJywgJ3N0emhCbHVyJywgJ3N0emhDaGFuZ2UnLCAnc3R6aENsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQnV0dG9uRm9jdXNFdmVudCBhcyBJU3R6aEJ1dHRvblN0emhCdXR0b25Gb2N1c0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQnV0dG9uQmx1ckV2ZW50IGFzIElTdHpoQnV0dG9uU3R6aEJ1dHRvbkJsdXJFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEJ1dHRvbkNoYW5nZUV2ZW50IGFzIElTdHpoQnV0dG9uU3R6aEJ1dHRvbkNoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQnV0dG9uQ2xpY2tFdmVudCBhcyBJU3R6aEJ1dHRvblN0emhCdXR0b25DbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuU3R6aEJ1dHRvbiB7XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudFxuICAgKi9cbiAgc3R6aEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhCdXR0b25TdHpoQnV0dG9uRm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogQmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEJ1dHRvblN0emhCdXR0b25CbHVyRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENoYW5nZSBldmVudCAob25seSBjYWxsZWQgaWYgdHlwZSBpcyByYWRpbylcbiAgICovXG4gIHN0emhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEJ1dHRvblN0emhCdXR0b25DaGFuZ2VFdmVudD4+O1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQnV0dG9uU3R6aEJ1dHRvbkNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYnV0dG9uZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEJ1dHRvbmdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEJ1dHRvbmdyb3VwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEJ1dHRvbmdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQnV0dG9uZ3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZmlyc3REYXlPZldlZWsnLCAnaXNEYXRlRGlzYWJsZWQnLCAnbG9jYWxpemF0aW9uJywgJ21heCcsICdtaW4nLCAnbmV4dE1vbnRoQW5hbHl0aWNzSWQnLCAncHJldk1vbnRoQW5hbHl0aWNzSWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1c2VkRGF5JywgJ3NldERhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY2FsZW5kYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ZpcnN0RGF5T2ZXZWVrJywgJ2lzRGF0ZURpc2FibGVkJywgJ2xvY2FsaXphdGlvbicsICdtYXgnLCAnbWluJywgJ25leHRNb250aEFuYWx5dGljc0lkJywgJ3ByZXZNb250aEFuYWx5dGljc0lkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDYWxlbmRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDYWxlbmRhckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhDYWxlbmRhckNoYW5nZUV2ZW50IGFzIElTdHpoQ2FsZW5kYXJTdHpoQ2FsZW5kYXJDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDYWxlbmRhciBleHRlbmRzIENvbXBvbmVudHMuU3R6aENhbGVuZGFyIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIGRhdGUgaXMgc2VsZWN0ZWQuXG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDYWxlbmRhclN0emhDYWxlbmRhckNoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2NoZWNrZWQnLCAnY29sbGFwc2VkJywgJ2NvbGxhcHNpYmxlJywgJ2Rpc2FibGVkJywgJ2Zvb3RlckFjdGlvbnMnLCAnaGVhZGVyQWN0aW9ucycsICdoZWFkZXJBY3Rpb25zQmFkZ2UnLCAnaGVhZGVyQWN0aW9uc0JhZGdlVHlwZScsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdoaWRlTW92ZW1lbnRBY3Rpb25zJywgJ2hyZWYnLCAnaHlwaGVuc0VuYWJsZWQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAnc2VsZWN0YWJsZScsICdzb3J0YWJsZURpc2FibGVkJywgJ3N0YXJyYWJsZScsICdzdGFycmVkJywgJ3N1YnRpdGxlJywgJ3N1YnRpdGxlSW50ZXJhY3RpdmUnLCAndGFyZ2V0JywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnY2hlY2tlZCcsICdjb2xsYXBzZWQnLCAnY29sbGFwc2libGUnLCAnZGlzYWJsZWQnLCAnZm9vdGVyQWN0aW9ucycsICdoZWFkZXJBY3Rpb25zJywgJ2hlYWRlckFjdGlvbnNCYWRnZScsICdoZWFkZXJBY3Rpb25zQmFkZ2VUeXBlJywgJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2hpZGVNb3ZlbWVudEFjdGlvbnMnLCAnaHJlZicsICdoeXBoZW5zRW5hYmxlZCcsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdzZWxlY3RhYmxlJywgJ3NvcnRhYmxlRGlzYWJsZWQnLCAnc3RhcnJhYmxlJywgJ3N0YXJyZWQnLCAnc3VidGl0bGUnLCAnc3VidGl0bGVJbnRlcmFjdGl2ZScsICd0YXJnZXQnLCAndmFsdWUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDYXJkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENsaWNrJywgJ3N0emhDb2xsYXBzZScsICdzdHpoU3VidGl0bGVDbGljaycsICdzdHpoU3RhckNsaWNrJywgJ3N0emhIZWFkZXJBY3Rpb25DbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aENhcmRDbGlja0V2ZW50IGFzIElTdHpoQ2FyZFN0emhDYXJkQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aENhcmRDb2xsYXBzZUV2ZW50IGFzIElTdHpoQ2FyZFN0emhDYXJkQ29sbGFwc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aENhcmRTdWJ0aXRsZUNsaWNrRXZlbnQgYXMgSVN0emhDYXJkU3R6aENhcmRTdWJ0aXRsZUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhDYXJkU3RhckNsaWNrRXZlbnQgYXMgSVN0emhDYXJkU3R6aENhcmRTdGFyQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aENhcmRIZWFkZXJBY3Rpb25DbGlja0V2ZW50IGFzIElTdHpoQ2FyZFN0emhDYXJkSGVhZGVyQWN0aW9uQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2FyZCB7XG4gIC8qKlxuICAgKiBDbGljayBldmVudCAoaWYgaHJlZiBpcyB1c2VkKVxuICAgKi9cbiAgc3R6aENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDYXJkU3R6aENhcmRDbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBDb2xsYXBzZSBldmVudFxuICAgKi9cbiAgc3R6aENvbGxhcHNlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDYXJkU3R6aENhcmRDb2xsYXBzZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBTdWJ0aXRsZSBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aFN1YnRpdGxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENhcmRTdHpoQ2FyZFN1YnRpdGxlQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogU3RhciBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aFN0YXJDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2FyZFN0emhDYXJkU3RhckNsaWNrRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEhlYWRlciBhY3Rpb24gY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhIZWFkZXJBY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2FyZFN0emhDYXJkSGVhZGVyQWN0aW9uQ2xpY2tFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmFseXRpY3NJZCcsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdocmVmJywgJ2h5cGhlbnNFbmFibGVkJywgJ2xlYWQnLCAndGFyZ2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNhcmQtbmF2aWdhdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaHJlZicsICdoeXBoZW5zRW5hYmxlZCcsICdsZWFkJywgJ3RhcmdldCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ2FyZE5hdmlnYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ2FyZE5hdmlnYXRpb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhDYXJkTmF2aWdhdGlvbkNsaWNrRXZlbnQgYXMgSVN0emhDYXJkTmF2aWdhdGlvblN0emhDYXJkTmF2aWdhdGlvbkNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2FyZE5hdmlnYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDYXJkTmF2aWdhdGlvbiB7XG4gIC8qKlxuICAgKiBDbGljayBldmVudCAoaWYgaHJlZiBpcyB1c2VkKVxuICAgKi9cbiAgc3R6aENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDYXJkTmF2aWdhdGlvblN0emhDYXJkTmF2aWdhdGlvbkNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnYnJlYWRjcnVtYkl0ZW1zJywgJ2RhdGFsaXN0SXRlbXMnLCAnZGF0ZUFkYXB0ZXInLCAnZGF0ZWxpbmUnLCAnZGVzY3JpcHRpb24nLCAnZG93bmxvYWQnLCAnZG93bmxvYWRIZWFkaW5nJywgJ2Rvd25sb2FkTWV0YScsICdldmVudERhdGVFbmQnLCAnZXZlbnREYXRlU3RhcnQnLCAnZXZlbnRMb2NhdGlvbicsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdocmVmJywgJ2h5cGhlbnNFbmFibGVkJywgJ2ltYWdlUG9zaXRpb24nLCAnbG9jYWxpemF0aW9uJywgJ21ldGEnLCAncGxhY2Vob2xkZXJJbWFnZUVuYWJsZWQnLCAnc2VydmljZScsICd0YWcnLCAndGFyZ2V0JywgJ3RvcGljJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNhcmQtc2VhcmNocmVzdWx0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmFseXRpY3NJZCcsICdicmVhZGNydW1iSXRlbXMnLCAnZGF0YWxpc3RJdGVtcycsICdkYXRlQWRhcHRlcicsICdkYXRlbGluZScsICdkZXNjcmlwdGlvbicsICdkb3dubG9hZCcsICdkb3dubG9hZEhlYWRpbmcnLCAnZG93bmxvYWRNZXRhJywgJ2V2ZW50RGF0ZUVuZCcsICdldmVudERhdGVTdGFydCcsICdldmVudExvY2F0aW9uJywgJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2hyZWYnLCAnaHlwaGVuc0VuYWJsZWQnLCAnaW1hZ2VQb3NpdGlvbicsICdsb2NhbGl6YXRpb24nLCAnbWV0YScsICdwbGFjZWhvbGRlckltYWdlRW5hYmxlZCcsICdzZXJ2aWNlJywgJ3RhZycsICd0YXJnZXQnLCAndG9waWMnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENhcmRTZWFyY2hyZXN1bHQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ2FyZFNlYXJjaHJlc3VsdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aENhcmRTZWFyY2hyZXN1bHRDbGlja0V2ZW50IGFzIElTdHpoQ2FyZFNlYXJjaHJlc3VsdFN0emhDYXJkU2VhcmNocmVzdWx0Q2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDYXJkU2VhcmNocmVzdWx0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2FyZFNlYXJjaHJlc3VsdCB7XG4gIC8qKlxuICAgKiBDbGljayBldmVudCAoaWYgaHJlZiBpcyB1c2VkKVxuICAgKi9cbiAgc3R6aENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDYXJkU2VhcmNocmVzdWx0U3R6aENhcmRTZWFyY2hyZXN1bHRDbGlja0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2JyZWFkY3J1bWJJdGVtcycsICdkYXRhbGlzdEl0ZW1zJywgJ2RhdGVBZGFwdGVyJywgJ2RhdGVsaW5lJywgJ2Rlc2NyaXB0aW9uJywgJ2Rvd25sb2FkJywgJ2Rvd25sb2FkSGVhZGluZycsICdkb3dubG9hZE1ldGEnLCAnZXZlbnREYXRlRW5kJywgJ2V2ZW50RGF0ZVN0YXJ0JywgJ2V2ZW50TG9jYXRpb24nLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaHJlZicsICdoeXBoZW5zRW5hYmxlZCcsICdpbWFnZVBvc2l0aW9uJywgJ2lzT25Ib21lcGFnZScsICdsb2NhbGl6YXRpb24nLCAnbWV0YScsICdwbGFjZWhvbGRlckltYWdlRW5hYmxlZCcsICdzZXJ2aWNlJywgJ3RhZycsICd0YXJnZXQnLCAndG9waWMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY2FyZC1zdXBlcnRlYXNlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnYnJlYWRjcnVtYkl0ZW1zJywgJ2RhdGFsaXN0SXRlbXMnLCAnZGF0ZUFkYXB0ZXInLCAnZGF0ZWxpbmUnLCAnZGVzY3JpcHRpb24nLCAnZG93bmxvYWQnLCAnZG93bmxvYWRIZWFkaW5nJywgJ2Rvd25sb2FkTWV0YScsICdldmVudERhdGVFbmQnLCAnZXZlbnREYXRlU3RhcnQnLCAnZXZlbnRMb2NhdGlvbicsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdocmVmJywgJ2h5cGhlbnNFbmFibGVkJywgJ2ltYWdlUG9zaXRpb24nLCAnaXNPbkhvbWVwYWdlJywgJ2xvY2FsaXphdGlvbicsICdtZXRhJywgJ3BsYWNlaG9sZGVySW1hZ2VFbmFibGVkJywgJ3NlcnZpY2UnLCAndGFnJywgJ3RhcmdldCcsICd0b3BpYyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ2FyZFN1cGVydGVhc2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENhcmRTdXBlcnRlYXNlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aENhcmRTdXBlcnRlYXNlckNsaWNrRXZlbnQgYXMgSVN0emhDYXJkU3VwZXJ0ZWFzZXJTdHpoQ2FyZFN1cGVydGVhc2VyQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDYXJkU3VwZXJ0ZWFzZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDYXJkU3VwZXJ0ZWFzZXIge1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnQgKGlmIGhyZWYgaXMgdXNlZClcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2FyZFN1cGVydGVhc2VyU3R6aENhcmRTdXBlcnRlYXNlckNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnbGF5b3V0JywgJ2xvY2FsaXphdGlvbicsICdtYXgzQ29sdW1ucycsICdzaG93VG9nZ2xlTGluaycsICdzb3J0YWJsZURhdGFJZEF0dHJpYnV0ZScsICdzb3J0YWJsZUVuYWJsZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY2FyZGxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2xheW91dCcsICdsb2NhbGl6YXRpb24nLCAnbWF4M0NvbHVtbnMnLCAnc2hvd1RvZ2dsZUxpbmsnLCAnc29ydGFibGVEYXRhSWRBdHRyaWJ1dGUnLCAnc29ydGFibGVFbmFibGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDYXJkbGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDYXJkbGlzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDb2xsYXBzZUFsbCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aENhcmRsaXN0Q29sbGFwc2VBbGxFdmVudCBhcyBJU3R6aENhcmRsaXN0U3R6aENhcmRsaXN0Q29sbGFwc2VBbGxFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDYXJkbGlzdCBleHRlbmRzIENvbXBvbmVudHMuU3R6aENhcmRsaXN0IHtcbiAgLyoqXG4gICAqIENvbGxhcHNlIGFsbCBldmVudFxuICAgKi9cbiAgc3R6aENvbGxhcHNlQWxsOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDYXJkbGlzdFN0emhDYXJkbGlzdENvbGxhcHNlQWxsRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b3BsYXknLCAnYXV0b3BsYXlUaW1lb3V0JywgJ2Rpc2FibGVkJywgJ2xvY2FsaXphdGlvbicsICdub1BlZWsnLCAnbm9uSW50ZXJhY3RpdmUnLCAncHJldmVudEF1dG9wbGF5UGF1c2UnLCAncHJldmVudEF1dG9wbGF5U3RvcCcsICdwcmV2ZW50TW91c2VEcmFnJywgJ3NsaWRlJywgJ3NsaWRlcycsICdzbGlkZXNMYXJnZScsICdzbGlkZXNNZWRpdW0nLCAnc2xpZGVzU21hbGwnLCAnc2xpZGVzVWx0cmEnLCAndGFiVGhyb3VnaCcsICd2YXJpYW50JywgJ3dpdGhUcmFjayddLFxuICBtZXRob2RzOiBbJ3NsaWRlVG8nLCAnc2xpZGVUb1ByZXZpb3VzJywgJ3NsaWRlVG9OZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNhcm91c2VsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvcGxheScsICdhdXRvcGxheVRpbWVvdXQnLCAnZGlzYWJsZWQnLCAnbG9jYWxpemF0aW9uJywgJ25vUGVlaycsICdub25JbnRlcmFjdGl2ZScsICdwcmV2ZW50QXV0b3BsYXlQYXVzZScsICdwcmV2ZW50QXV0b3BsYXlTdG9wJywgJ3ByZXZlbnRNb3VzZURyYWcnLCAnc2xpZGUnLCAnc2xpZGVzJywgJ3NsaWRlc0xhcmdlJywgJ3NsaWRlc01lZGl1bScsICdzbGlkZXNTbWFsbCcsICdzbGlkZXNVbHRyYScsICd0YWJUaHJvdWdoJywgJ3ZhcmlhbnQnLCAnd2l0aFRyYWNrJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDYXJvdXNlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDYXJvdXNlbEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhTbGlkZVN0YXJ0JywgJ3N0emhTbGlkZVBhc3NlZCcsICdzdHpoU2xpZGVFbmQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhDYXJvdXNlbFNsaWRlU3RhcnRFdmVudCBhcyBJU3R6aENhcm91c2VsU3R6aENhcm91c2VsU2xpZGVTdGFydEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQ2Fyb3VzZWxTbGlkZVBhc3NlZEV2ZW50IGFzIElTdHpoQ2Fyb3VzZWxTdHpoQ2Fyb3VzZWxTbGlkZVBhc3NlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQ2Fyb3VzZWxTbGlkZUVuZEV2ZW50IGFzIElTdHpoQ2Fyb3VzZWxTdHpoQ2Fyb3VzZWxTbGlkZUVuZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aENhcm91c2VsIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2Fyb3VzZWwge1xuICAvKipcbiAgICogU2xpZGUgc3RhcnQgZXZlbnRcbiAgICovXG4gIHN0emhTbGlkZVN0YXJ0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDYXJvdXNlbFN0emhDYXJvdXNlbFNsaWRlU3RhcnRFdmVudD4+O1xuICAvKipcbiAgICogU2xpZGUgcGFzc2VkIGV2ZW50XG4gICAqL1xuICBzdHpoU2xpZGVQYXNzZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENhcm91c2VsU3R6aENhcm91c2VsU2xpZGVQYXNzZWRFdmVudD4+O1xuICAvKipcbiAgICogU2xpZGUgZW5kIGV2ZW50XG4gICAqL1xuICBzdHpoU2xpZGVFbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENhcm91c2VsU3R6aENhcm91c2VsU2xpZGVFbmRFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGlnbicsICdhbGlnblNlbGYnLCAnc3BhbicsICdzcGFuTGFyZ2UnLCAnc3Bhbk1lZGl1bScsICdzcGFuU21hbGwnLCAnc3BhblVsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNlbGwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2FsaWduU2VsZicsICdzcGFuJywgJ3NwYW5MYXJnZScsICdzcGFuTWVkaXVtJywgJ3NwYW5TbWFsbCcsICdzcGFuVWx0cmEnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENlbGwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ2VsbEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDZWxsIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2VsbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGFydElkJywgJ2NyZWF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jaGFydCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hhcnRJZCcsICdjcmVhdGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENoYXJ0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENoYXJ0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aENoYXJ0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2hhcnQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2NoZWNrZWQnLCAnZGVmYXVsdENoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rlc2NyaXB0aW9uTG9uZ1RpdGxlJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNoZWNrYm94JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnY2hlY2tlZCcsICdkZWZhdWx0Q2hlY2tlZCcsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENoZWNrYm94IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENoZWNrYm94RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZScsICdzdHpoRm9jdXMnLCAnc3R6aEJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhDaGVja2JveENoYW5nZUV2ZW50IGFzIElTdHpoQ2hlY2tib3hTdHpoQ2hlY2tib3hDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aENoZWNrYm94Rm9jdXNFdmVudCBhcyBJU3R6aENoZWNrYm94U3R6aENoZWNrYm94Rm9jdXNFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aENoZWNrYm94Qmx1ckV2ZW50IGFzIElTdHpoQ2hlY2tib3hTdHpoQ2hlY2tib3hCbHVyRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDaGVja2JveCB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENoZWNrYm94U3R6aENoZWNrYm94Q2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZvY3VzIGV2ZW50XG4gICAqL1xuICBzdHpoRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENoZWNrYm94U3R6aENoZWNrYm94Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgYmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENoZWNrYm94U3R6aENoZWNrYm94Qmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWRDaGVja2JveCcsICdkZWZhdWx0VmFsdWUnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rlc2NyaXB0aW9uTG9uZ1RpdGxlJywgJ2RpcmVjdGlvbicsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaWRlTGVnZW5kJywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkJywgJ2xlZ2VuZCcsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdwcmV2ZW50VXBkYXRlUHJvcGVydGllcycsICdyZXF1aXJlZCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jaGVja2JveGdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkQ2hlY2tib3gnLCAnZGVmYXVsdFZhbHVlJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXJlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZUxlZ2VuZCcsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsZWdlbmQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAncHJldmVudFVwZGF0ZVByb3BlcnRpZXMnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENoZWNrYm94Z3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ2hlY2tib3hncm91cEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhDaGVja2JveGdyb3VwQ2hhbmdlRXZlbnQgYXMgSVN0emhDaGVja2JveGdyb3VwU3R6aENoZWNrYm94Z3JvdXBDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDaGVja2JveGdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2hlY2tib3hncm91cCB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENoZWNrYm94Z3JvdXBTdHpoQ2hlY2tib3hncm91cENoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhMTF5TGFiZWwnLCAnYTExeVRhYmluZGV4JywgJ2FjdGl2ZScsICdhbmFseXRpY3NJZCcsICdjb3VudGVyJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnaWNvbicsICdpbnZlcnRlZCcsICdsYWJlbCcsICdub25JbnRlcmFjdGl2ZScsICdyZW1vdmFibGUnLCAncmVtb3ZlQW5hbHl0aWNzSWQnLCAncmVtb3ZlTGFiZWwnLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJywgJ3RhcmdldCcsICd0eXBlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY2hpcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2ExMXlMYWJlbCcsICdhMTF5VGFiaW5kZXgnLCAnYWN0aXZlJywgJ2FuYWx5dGljc0lkJywgJ2NvdW50ZXInLCAnZGlzYWJsZWQnLCAnaHJlZicsICdpY29uJywgJ2ludmVydGVkJywgJ2xhYmVsJywgJ25vbkludGVyYWN0aXZlJywgJ3JlbW92YWJsZScsICdyZW1vdmVBbmFseXRpY3NJZCcsICdyZW1vdmVMYWJlbCcsICdzaXplJywgJ3NpemVMYXJnZScsICdzaXplTWVkaXVtJywgJ3NpemVTbWFsbCcsICdzaXplVWx0cmEnLCAndGFyZ2V0JywgJ3R5cGUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ2hpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDaGlwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENsaWNrJywgJ3N0emhSZW1vdmUnLCAnc3R6aEZvY3VzJywgJ3N0emhCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQ2hpcENsaWNrRXZlbnQgYXMgSVN0emhDaGlwU3R6aENoaXBDbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQ2hpcFJlbW92ZUV2ZW50IGFzIElTdHpoQ2hpcFN0emhDaGlwUmVtb3ZlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhDaGlwRm9jdXNFdmVudCBhcyBJU3R6aENoaXBTdHpoQ2hpcEZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhDaGlwQmx1ckV2ZW50IGFzIElTdHpoQ2hpcFN0emhDaGlwQmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aENoaXAgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDaGlwIHtcbiAgLyoqXG4gICAqIENoaXAgY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2hpcFN0emhDaGlwQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogQ2hpcCByZW1vdmUgZXZlbnRcbiAgICovXG4gIHN0emhSZW1vdmU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENoaXBTdHpoQ2hpcFJlbW92ZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudFxuICAgKi9cbiAgc3R6aEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDaGlwU3R6aENoaXBGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBJbnB1dCBibHVyIGV2ZW50XG4gICAqL1xuICBzdHpoQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2hpcFN0emhDaGlwQmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNoaXBncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ2hpcGdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENoaXBncm91cEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDaGlwZ3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDaGlwZ3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2RhdGEnLCAnZGVmYXVsdFZhbHVlJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdsb2NhbGl6YXRpb24nLCAnbXVsdGlwbGUnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jaGlwc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnZGF0YScsICdkZWZhdWx0VmFsdWUnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rlc2NyaXB0aW9uTG9uZ1RpdGxlJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICdtdWx0aXBsZScsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDaGlwc2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENoaXBzZWxlY3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQ2hpcHNlbGVjdENoYW5nZUV2ZW50IGFzIElTdHpoQ2hpcHNlbGVjdFN0emhDaGlwc2VsZWN0Q2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2hpcHNlbGVjdCBleHRlbmRzIENvbXBvbmVudHMuU3R6aENoaXBzZWxlY3Qge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDaGlwc2VsZWN0U3R6aENoaXBzZWxlY3RDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGFtcGVkJywgJ2V4cGFuZGVkJywgJ2xpbmVzJywgJ2xpbmVzTGFyZ2UnLCAnbGluZXNNZWRpdW0nLCAnbGluZXNTbWFsbCcsICdsaW5lc1VsdHJhJywgJ2xvY2FsaXphdGlvbicsICdzaG93RXhwYW5kTGluayddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jbGFtcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xhbXBlZCcsICdleHBhbmRlZCcsICdsaW5lcycsICdsaW5lc0xhcmdlJywgJ2xpbmVzTWVkaXVtJywgJ2xpbmVzU21hbGwnLCAnbGluZXNVbHRyYScsICdsb2NhbGl6YXRpb24nLCAnc2hvd0V4cGFuZExpbmsnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENsYW1wIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENsYW1wRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENsYW1wJywgJ3N0emhFeHBhbmQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhDbGFtcENsYW1wRXZlbnQgYXMgSVN0emhDbGFtcFN0emhDbGFtcENsYW1wRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhDbGFtcEV4cGFuZEV2ZW50IGFzIElTdHpoQ2xhbXBTdHpoQ2xhbXBFeHBhbmRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDbGFtcCBleHRlbmRzIENvbXBvbmVudHMuU3R6aENsYW1wIHtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gY2xhbXBpbmcgc3RhdGUgY2hhbmdlZFxuICAgKi9cbiAgc3R6aENsYW1wOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDbGFtcFN0emhDbGFtcENsYW1wRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEV2ZW50IHdoZW4gZXhwYW5kaW5nIHN0YXRlIGNoYW5nZWRcbiAgICovXG4gIHN0emhFeHBhbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENsYW1wU3R6aENsYW1wRXhwYW5kRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY29tcGFueS1sb2dvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDb21wYW55TG9nbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDb21wYW55TG9nb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDb21wYW55TG9nbyBleHRlbmRzIENvbXBvbmVudHMuU3R6aENvbXBhbnlMb2dvIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FkZHJlc3MnLCAnYXZhaWxhYmlsaXR5JywgJ2F2YWlsYWJpbGl0eVRpdGxlJywgJ2F2YWlsYWJpbGl0eVRpdGxlTGV2ZWwnLCAnZW1haWxzJywgJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2ltYWdlUG9zaXRpb24nLCAnbG9jYXRpb24nLCAnbWFpbkhlYWRpbmcnLCAnbWFpbkhlYWRpbmdMZXZlbCcsICduYW1lJywgJ25hbWVIZWFkaW5nTGV2ZWwnLCAnbnVtYmVycycsICdwb2JveCcsICdwb2JveEhlYWRpbmcnLCAncG9ib3hMb2NhdGlvbicsICdwb2JveFBvc3RhbENvZGUnLCAncG9ib3hUaXRsZScsICdwb3N0YWxDb2RlJywgJ3N0cmVldCcsICdzdHJlZXRJbmZvJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY29udGFjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkcmVzcycsICdhdmFpbGFiaWxpdHknLCAnYXZhaWxhYmlsaXR5VGl0bGUnLCAnYXZhaWxhYmlsaXR5VGl0bGVMZXZlbCcsICdlbWFpbHMnLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaW1hZ2VQb3NpdGlvbicsICdsb2NhdGlvbicsICdtYWluSGVhZGluZycsICdtYWluSGVhZGluZ0xldmVsJywgJ25hbWUnLCAnbmFtZUhlYWRpbmdMZXZlbCcsICdudW1iZXJzJywgJ3BvYm94JywgJ3BvYm94SGVhZGluZycsICdwb2JveExvY2F0aW9uJywgJ3BvYm94UG9zdGFsQ29kZScsICdwb2JveFRpdGxlJywgJ3Bvc3RhbENvZGUnLCAnc3RyZWV0JywgJ3N0cmVldEluZm8nLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ29udGFjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDb250YWN0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aENvbnRhY3QgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDb250YWN0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hvYmJpZXMnLCAnam9idGl0bGUnLCAnbG9jYWxpemF0aW9uJywgJ3Jlc3BvbnNpYmlsaXRpZXMnLCAndHJhaW5pbmdzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNvbnRhY3QtY3YnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hvYmJpZXMnLCAnam9idGl0bGUnLCAnbG9jYWxpemF0aW9uJywgJ3Jlc3BvbnNpYmlsaXRpZXMnLCAndHJhaW5pbmdzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDb250YWN0Q3Yge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ29udGFjdEN2RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aENvbnRhY3RDdiBleHRlbmRzIENvbXBvbmVudHMuU3R6aENvbnRhY3RDdiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydub01hcmdpbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jb250YWluZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ25vTWFyZ2luJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDb250YWluZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ29udGFpbmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aENvbnRhaW5lciBleHRlbmRzIENvbXBvbmVudHMuU3R6aENvbnRhaW5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydwcmV2ZW50RWxlbWVudExheW91dCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3ByZXZlbnRFbGVtZW50TGF5b3V0JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ29udGVudEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ29udGVudCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydwcmV2ZW50UmVtb3ZlTmVzdGVkJywgJ3JlbW92ZUZpcnN0TWFyZ2luJywgJ3JlbW92ZUxhc3RNYXJnaW4nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY3NwYWNlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydwcmV2ZW50UmVtb3ZlTmVzdGVkJywgJ3JlbW92ZUZpcnN0TWFyZ2luJywgJ3JlbW92ZUxhc3RNYXJnaW4nXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENzcGFjZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDc3BhY2VFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ3NwYWNlIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ3NwYWNlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaHJlZicsICdsYWJlbCcsICdsZWFkJywgJ3N0aWNreURpc2FibGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWN0YScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZycsICdocmVmJywgJ2xhYmVsJywgJ2xlYWQnLCAnc3RpY2t5RGlzYWJsZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEN0YSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDdGFFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoRm9jdXMnLCAnc3R6aEJsdXInLCAnc3R6aENsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQ3RhRm9jdXNFdmVudCBhcyBJU3R6aEN0YVN0emhDdGFGb2N1c0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQ3RhQmx1ckV2ZW50IGFzIElTdHpoQ3RhU3R6aEN0YUJsdXJFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEN0YUNsaWNrRXZlbnQgYXMgSVN0emhDdGFTdHpoQ3RhQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDdGEgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDdGEge1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ3RhU3R6aEN0YUZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDdGFTdHpoQ3RhQmx1ckV2ZW50Pj47XG4gIC8qKlxuICAgKiBDbGljayBldmVudFxuICAgKi9cbiAgc3R6aENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDdGFTdHpoQ3RhQ2xpY2tFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiaWdMYWJlbCcsICdjb2x1bW5zJywgJ2NvbHVtbnNMYXJnZScsICdjb2x1bW5zTWVkaXVtJywgJ2NvbHVtbnNTbWFsbCcsICdjb2x1bW5zVWx0cmEnLCAnZGlyZWN0aW9uJywgJ2RpcmVjdGlvbkxhcmdlJywgJ2RpcmVjdGlvbk1lZGl1bScsICdkaXJlY3Rpb25TbWFsbCcsICdkaXJlY3Rpb25VbHRyYScsICdpdGVtcycsICd2YXJpYW50J10sXG4gIG1ldGhvZHM6IFsnZ2V0Q3VycmVudERpcmVjdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1kYXRhbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmlnTGFiZWwnLCAnY29sdW1ucycsICdjb2x1bW5zTGFyZ2UnLCAnY29sdW1uc01lZGl1bScsICdjb2x1bW5zU21hbGwnLCAnY29sdW1uc1VsdHJhJywgJ2RpcmVjdGlvbicsICdkaXJlY3Rpb25MYXJnZScsICdkaXJlY3Rpb25NZWRpdW0nLCAnZGlyZWN0aW9uU21hbGwnLCAnZGlyZWN0aW9uVWx0cmEnLCAnaXRlbXMnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRGF0YWxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRGF0YWxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoVmFyaWFudENoYW5nZScsICdzdHpoQmlnTGFiZWxDaGFuZ2UnLCAnc3R6aERpcmVjdGlvbkNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aERhdGFsaXN0VmFyaWFudENoYW5nZUV2ZW50IGFzIElTdHpoRGF0YWxpc3RTdHpoRGF0YWxpc3RWYXJpYW50Q2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEYXRhbGlzdEJpZ0xhYmVsQ2hhbmdlRXZlbnQgYXMgSVN0emhEYXRhbGlzdFN0emhEYXRhbGlzdEJpZ0xhYmVsQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEYXRhbGlzdERpcmVjdGlvbkNoYW5nZUV2ZW50IGFzIElTdHpoRGF0YWxpc3RTdHpoRGF0YWxpc3REaXJlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhEYXRhbGlzdCBleHRlbmRzIENvbXBvbmVudHMuU3R6aERhdGFsaXN0IHtcbiAgLyoqXG4gICAqIFZhcmlhbnQgYXR0cmlidXRlIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aFZhcmlhbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERhdGFsaXN0U3R6aERhdGFsaXN0VmFyaWFudENoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBCaWcgbGFiZWwgYXR0cmlidXRlIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aEJpZ0xhYmVsQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEYXRhbGlzdFN0emhEYXRhbGlzdEJpZ0xhYmVsQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERpcmVjdGlvbiBhdHRyaWJ1dGUgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoRGlyZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEYXRhbGlzdFN0emhEYXRhbGlzdERpcmVjdGlvbkNoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlDb250cm9scycsICdhMTF5RXhwYW5kZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdpY29uJywgJ2ljb25IcmVmJywgJ2ljb25MYWJlbCcsICdpY29uUG9zaXRpb24nLCAnaWNvblRvb2x0aXAnLCAnbGFiZWwnLCAnbGVhZGluZ0ljb24nLCAnbG9jYWxpemF0aW9uJywgJ21ldGEnLCAnbm9UZXh0VHJ1bmNhdGUnLCAncmVhZHNwZWFrZXJIcmVmJywgJ3JlYWRzcGVha2VyTGFiZWwnLCAncmVsJywgJ3N0YXR1c0xhYmVsJywgJ3N0YXR1c1R5cGUnLCAndGFyZ2V0JywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWRhdGFsaXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlDb250cm9scycsICdhMTF5RXhwYW5kZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdpY29uJywgJ2ljb25IcmVmJywgJ2ljb25MYWJlbCcsICdpY29uUG9zaXRpb24nLCAnaWNvblRvb2x0aXAnLCAnbGFiZWwnLCAnbGVhZGluZ0ljb24nLCAnbG9jYWxpemF0aW9uJywgJ21ldGEnLCAnbm9UZXh0VHJ1bmNhdGUnLCAncmVhZHNwZWFrZXJIcmVmJywgJ3JlYWRzcGVha2VyTGFiZWwnLCAncmVsJywgJ3N0YXR1c0xhYmVsJywgJ3N0YXR1c1R5cGUnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhEYXRhbGlzdEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRGF0YWxpc3RJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEl0ZW1BY3Rpb25DbGljaycsICdzdHpoQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhEYXRhbGlzdEl0ZW1BY3Rpb25DbGlja0V2ZW50IGFzIElTdHpoRGF0YWxpc3RJdGVtU3R6aERhdGFsaXN0SXRlbUFjdGlvbkNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEYXRhbGlzdEl0ZW1DbGlja0V2ZW50IGFzIElTdHpoRGF0YWxpc3RJdGVtU3R6aERhdGFsaXN0SXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRGF0YWxpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRGF0YWxpc3RJdGVtIHtcbiAgLyoqXG4gICAqIEl0ZW0gYWN0aW9uIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoSXRlbUFjdGlvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEYXRhbGlzdEl0ZW1TdHpoRGF0YWxpc3RJdGVtQWN0aW9uQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogSXRlbSBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEYXRhbGlzdEl0ZW1TdHpoRGF0YWxpc3RJdGVtQ2xpY2tFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1kYXRhbWVzc2FnZWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aERhdGFtZXNzYWdlbGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhEYXRhbWVzc2FnZWxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRGF0YW1lc3NhZ2VsaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRGF0YW1lc3NhZ2VsaXN0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGlvbnMnLCAnYW5hbHl0aWNzSWQnLCAnZGVzY3JpcHRpb24nLCAnaGVhZGluZycsICdocmVmJywgJ2ljb24nLCAnbG9hZGluZ1N0YXR1cycsICdsb2NhbGl6YXRpb24nLCAnbWV0YScsICdub25JbnRlcmFjdGl2ZScsICdyZWwnLCAndGFncycsICd0YXJnZXQnLCAndW5yZWFkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWRhdGFtZXNzYWdlbGlzdC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3Rpb25zJywgJ2FuYWx5dGljc0lkJywgJ2Rlc2NyaXB0aW9uJywgJ2hlYWRpbmcnLCAnaHJlZicsICdpY29uJywgJ2xvYWRpbmdTdGF0dXMnLCAnbG9jYWxpemF0aW9uJywgJ21ldGEnLCAnbm9uSW50ZXJhY3RpdmUnLCAncmVsJywgJ3RhZ3MnLCAndGFyZ2V0JywgJ3VucmVhZCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhEYXRhbWVzc2FnZWxpc3RJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENsaWNrJywgJ3N0emhBY3Rpb25DbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aERhdGFtZXNzYWdlbGlzdEl0ZW1DbGlja0V2ZW50IGFzIElTdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbVN0emhEYXRhbWVzc2FnZWxpc3RJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERhdGFtZXNzYWdlbGlzdEl0ZW1BY3Rpb25DbGlja0V2ZW50IGFzIElTdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbVN0emhEYXRhbWVzc2FnZWxpc3RJdGVtQWN0aW9uQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhEYXRhbWVzc2FnZWxpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbSB7XG4gIC8qKlxuICAgKiBDbGljayBldmVudFxuICAgKi9cbiAgc3R6aENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEYXRhbWVzc2FnZWxpc3RJdGVtU3R6aERhdGFtZXNzYWdlbGlzdEl0ZW1DbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBBY3Rpb24gY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhBY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbVN0emhEYXRhbWVzc2FnZWxpc3RJdGVtQWN0aW9uQ2xpY2tFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXB0aW9uJywgJ2NvbHVtbnMnLCAnY3N2RHluYW1pY1R5cGluZycsICdjc3ZIZWFkZXInLCAnY3N2VXJsJywgJ2Rpc2FibGVNaW5XaWR0aCcsICdoaWRlQ29sdW1uSGVhZGluZ3MnLCAnaGlkZVNlYXJjaCcsICdpZEZpZWxkJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICdwYWdlJywgJ3BhZ2VTaXplJywgJ3Jvd0hlYWRlckZpZWxkJywgJ3Jvd3MnLCAnc2hvd0xpc3QnLCAnc29ydEJ5JywgJ3NvcnREaXJlY3Rpb24nLCAndGFibGVMYXlvdXQnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVTb3J0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWRhdGF0YWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FwdGlvbicsICdjb2x1bW5zJywgJ2NzdkR5bmFtaWNUeXBpbmcnLCAnY3N2SGVhZGVyJywgJ2NzdlVybCcsICdkaXNhYmxlTWluV2lkdGgnLCAnaGlkZUNvbHVtbkhlYWRpbmdzJywgJ2hpZGVTZWFyY2gnLCAnaWRGaWVsZCcsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAncGFnZScsICdwYWdlU2l6ZScsICdyb3dIZWFkZXJGaWVsZCcsICdyb3dzJywgJ3Nob3dMaXN0JywgJ3NvcnRCeScsICdzb3J0RGlyZWN0aW9uJywgJ3RhYmxlTGF5b3V0J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhEYXRhdGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRGF0YXRhYmxlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aFJvd0NsaWNrJywgJ3N0emhDZWxsQ2xpY2snLCAnc3R6aEhlYWRpbmdDZWxsQ2xpY2snLCAnc3R6aFNvcnRDbGljaycsICdzdHpoU29ydEJ5Q2hhbmdlJywgJ3N0emhTb3J0RGlyZWN0aW9uQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoRGF0YXRhYmxlUm93Q2xpY2tFdmVudCBhcyBJU3R6aERhdGF0YWJsZVN0emhEYXRhdGFibGVSb3dDbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRGF0YXRhYmxlQ2VsbENsaWNrRXZlbnQgYXMgSVN0emhEYXRhdGFibGVTdHpoRGF0YXRhYmxlQ2VsbENsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEYXRhdGFibGVIZWFkaW5nQ2VsbENsaWNrRXZlbnQgYXMgSVN0emhEYXRhdGFibGVTdHpoRGF0YXRhYmxlSGVhZGluZ0NlbGxDbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRGF0YXRhYmxlU29ydENsaWNrRXZlbnQgYXMgSVN0emhEYXRhdGFibGVTdHpoRGF0YXRhYmxlU29ydENsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEYXRhdGFibGVTb3J0QnlDaGFuZ2VFdmVudCBhcyBJU3R6aERhdGF0YWJsZVN0emhEYXRhdGFibGVTb3J0QnlDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERhdGF0YWJsZVNvcnREaXJlY3Rpb25DaGFuZ2VFdmVudCBhcyBJU3R6aERhdGF0YWJsZVN0emhEYXRhdGFibGVTb3J0RGlyZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRGF0YXRhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRGF0YXRhYmxlIHtcbiAgLyoqXG4gICAqIERhdGF0YWJsZSByb3cgY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhSb3dDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0YXRhYmxlU3R6aERhdGF0YWJsZVJvd0NsaWNrRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERhdGF0YWJsZSBjZWxsIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoQ2VsbENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEYXRhdGFibGVTdHpoRGF0YXRhYmxlQ2VsbENsaWNrRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERhdGF0YWJsZSBoZWFkaW5nIGNlbGwgY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhIZWFkaW5nQ2VsbENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEYXRhdGFibGVTdHpoRGF0YXRhYmxlSGVhZGluZ0NlbGxDbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBEYXRhdGFibGUgc29ydCBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aFNvcnRDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0YXRhYmxlU3R6aERhdGF0YWJsZVNvcnRDbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBEYXRhdGFibGUgc29ydCBieSBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhTb3J0QnlDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERhdGF0YWJsZVN0emhEYXRhdGFibGVTb3J0QnlDaGFuZ2VFdmVudD4+O1xuICAvKipcbiAgICogRGF0YXRhYmxlIHNvcnQgZGlyZWN0aW9uIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aFNvcnREaXJlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERhdGF0YWJsZVN0emhEYXRhdGFibGVTb3J0RGlyZWN0aW9uQ2hhbmdlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2FsZW5kYXJJc0RhdGVEaXNhYmxlZCcsICdjYWxlbmRhck1heCcsICdjYWxlbmRhck1pbicsICdkYXRlQWRhcHRlcicsICdkZWZhdWx0VmFsdWUnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpbmxpbmUnLCAnaW50ZXJuYWxEYXRlQWRhcHRlcicsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXREYXRlJywgJ2dldFBvcG92ZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZGF0ZXBpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FsZW5kYXJJc0RhdGVEaXNhYmxlZCcsICdjYWxlbmRhck1heCcsICdjYWxlbmRhck1pbicsICdkYXRlQWRhcHRlcicsICdkZWZhdWx0VmFsdWUnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpbmxpbmUnLCAnaW50ZXJuYWxEYXRlQWRhcHRlcicsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aERhdGVwaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRGF0ZXBpY2tlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhEYXRlcGlja2VyQ2hhbmdlRXZlbnQgYXMgSVN0emhEYXRlcGlja2VyU3R6aERhdGVwaWNrZXJDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhEYXRlcGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRGF0ZXBpY2tlciB7XG4gIC8qKlxuICAgKiBEYXRlcGlja2VyIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0ZXBpY2tlclN0emhEYXRlcGlja2VyQ2hhbmdlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGVnZW5kJywgJ2xvY2FsaXphdGlvbicsICdyYW5nZUxpbmtzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWRhdGVyYW5nZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGVnZW5kJywgJ2xvY2FsaXphdGlvbicsICdyYW5nZUxpbmtzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhEYXRlcmFuZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRGF0ZXJhbmdlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aERhdGVyYW5nZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aERhdGVyYW5nZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydvcGVuJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJywgJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1kZXRhaWxzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydvcGVuJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhEZXRhaWxzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aERldGFpbHNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoT3BlbicsICdzdHpoT3BlbmVkJywgJ3N0emhDbG9zZScsICdzdHpoQ2xvc2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQWNjb3JkaW9uSXRlbU9wZW5FdmVudCBhcyBJU3R6aERldGFpbHNTdHpoQWNjb3JkaW9uSXRlbU9wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEFjY29yZGlvbkl0ZW1PcGVuZWRFdmVudCBhcyBJU3R6aERldGFpbHNTdHpoQWNjb3JkaW9uSXRlbU9wZW5lZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQWNjb3JkaW9uSXRlbUNsb3NlRXZlbnQgYXMgSVN0emhEZXRhaWxzU3R6aEFjY29yZGlvbkl0ZW1DbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQWNjb3JkaW9uSXRlbUNsb3NlZEV2ZW50IGFzIElTdHpoRGV0YWlsc1N0emhBY2NvcmRpb25JdGVtQ2xvc2VkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRGV0YWlscyBleHRlbmRzIENvbXBvbmVudHMuU3R6aERldGFpbHMge1xuICAvKipcbiAgICogT3BlbiBldmVudFxuICAgKi9cbiAgc3R6aE9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERldGFpbHNTdHpoQWNjb3JkaW9uSXRlbU9wZW5FdmVudD4+O1xuICAvKipcbiAgICogT3BlbmVkIGV2ZW50IChhZnRlciBhbmltYXRpb24pXG4gICAqL1xuICBzdHpoT3BlbmVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEZXRhaWxzU3R6aEFjY29yZGlvbkl0ZW1PcGVuZWRFdmVudD4+O1xuICAvKipcbiAgICogQ2xvc2UgZXZlbnRcbiAgICovXG4gIHN0emhDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGV0YWlsc1N0emhBY2NvcmRpb25JdGVtQ2xvc2VFdmVudD4+O1xuICAvKipcbiAgICogQ2xvc2VkIGV2ZW50IChhZnRlciBhbmltYXRpb24pXG4gICAqL1xuICBzdHpoQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEZXRhaWxzU3R6aEFjY29yZGlvbkl0ZW1DbG9zZWRFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5TGFiZWwnLCAnYTExeVJvbGUnLCAnY2xvc2VBbmFseXRpY3NJZCcsICdjbG9zZU9uQmFja2Ryb3BDbGljaycsICdjbG9zZU9uRXNjYXBlS2V5JywgJ2hlYWRpbmcnLCAnaGlkZUNsb3NlJywgJ2xvY2FsaXphdGlvbicsICdvcGVuJywgJ3NpemUnLCAnc3RheSddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlMYWJlbCcsICdhMTF5Um9sZScsICdjbG9zZUFuYWx5dGljc0lkJywgJ2Nsb3NlT25CYWNrZHJvcENsaWNrJywgJ2Nsb3NlT25Fc2NhcGVLZXknLCAnaGVhZGluZycsICdoaWRlQ2xvc2UnLCAnbG9jYWxpemF0aW9uJywgJ29wZW4nLCAnc2l6ZScsICdzdGF5J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhEaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRGlhbG9nRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aE9wZW4nLCAnc3R6aENsb3NlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoRGlhbG9nT3BlbkV2ZW50IGFzIElTdHpoRGlhbG9nU3R6aERpYWxvZ09wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERpYWxvZ0Nsb3NlRXZlbnQgYXMgSVN0emhEaWFsb2dTdHpoRGlhbG9nQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhEaWFsb2cgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhEaWFsb2cge1xuICAvKipcbiAgICogRGlhbG9nIG9wZW4gZXZlbnRcbiAgICovXG4gIHN0emhPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEaWFsb2dTdHpoRGlhbG9nT3BlbkV2ZW50Pj47XG4gIC8qKlxuICAgKiBEaWFsb2cgY2xvc2UgZXZlbnRcbiAgICovXG4gIHN0emhDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGlhbG9nU3R6aERpYWxvZ0Nsb3NlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2VLZXknLCAnaGlkZUNsb3NlJywgJ2luaXRpYWxPcGVuQW5pbWF0aW9uJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICdvcGVuJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWRpc3R1cmJlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VLZXknLCAnaGlkZUNsb3NlJywgJ2luaXRpYWxPcGVuQW5pbWF0aW9uJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICdvcGVuJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhEaXN0dXJiZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRGlzdHVyYmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aE9wZW4nLCAnc3R6aE9wZW5lZCcsICdzdHpoQ2xvc2UnLCAnc3R6aENsb3NlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aERpc3R1cmJlck9wZW5FdmVudCBhcyBJU3R6aERpc3R1cmJlclN0emhEaXN0dXJiZXJPcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEaXN0dXJiZXJPcGVuZWRFdmVudCBhcyBJU3R6aERpc3R1cmJlclN0emhEaXN0dXJiZXJPcGVuZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERpc3R1cmJlckNsb3NlRXZlbnQgYXMgSVN0emhEaXN0dXJiZXJTdHpoRGlzdHVyYmVyQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERpc3R1cmJlckNsb3NlZEV2ZW50IGFzIElTdHpoRGlzdHVyYmVyU3R6aERpc3R1cmJlckNsb3NlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aERpc3R1cmJlciBleHRlbmRzIENvbXBvbmVudHMuU3R6aERpc3R1cmJlciB7XG4gIC8qKlxuICAgKiBEaXN0dXJiZXIgb3BlbiBldmVudFxuICAgKi9cbiAgc3R6aE9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERpc3R1cmJlclN0emhEaXN0dXJiZXJPcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERpc3R1cmJlciBvcGVuZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhPcGVuZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERpc3R1cmJlclN0emhEaXN0dXJiZXJPcGVuZWRFdmVudD4+O1xuICAvKipcbiAgICogRGlzdHVyYmVyIGNsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERpc3R1cmJlclN0emhEaXN0dXJiZXJDbG9zZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBEaXN0dXJiZXIgY2xvc2VkIGV2ZW50IChhZnRlciBhbmltYXRpb24pXG4gICAqL1xuICBzdHpoQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEaXN0dXJiZXJTdHpoRGlzdHVyYmVyQ2xvc2VkRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2FsbG93RW1wdHlPcHRpb24nLCAnY2xvc2VBZnRlclNlbGVjdCcsICdkZWZhdWx0SXRlbXMnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rlc2NyaXB0aW9uTG9uZ1RpdGxlJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpY29uJywgJ2ljb25BbmdsZScsICdpbmxpbmUnLCAnaW52YWxpZCcsICdpc09wZW4nLCAnaXRlbXMnLCAnbGFiZWwnLCAnbGFiZWxGaWVsZCcsICdsYWJlbEhpZGRlbicsICdsb2FkJywgJ2xvYWRUaHJvdHRsZScsICdsb2NhbGl6YXRpb24nLCAnbG9ja09wdGdyb3VwT3JkZXInLCAnbWF4T3B0aW9ucycsICdtaW5DaGFyYWN0ZXJzJywgJ211bHRpcGxlJywgJ25hbWUnLCAnbm9CYWNrc3BhY2VEZWxldGUnLCAnbm9MYWJlbFRydW5jYXRlJywgJ25vU2VhcmNoJywgJ25vV3JhcCcsICdvcGVuJywgJ29wZW5PbkZvY3VzJywgJ29wdGdyb3VwRmllbGQnLCAnb3B0Z3JvdXBMYWJlbEZpZWxkJywgJ29wdGdyb3VwVmFsdWVGaWVsZCcsICdvcHRncm91cHMnLCAnb3B0aW9ucycsICdwb3BvdmVyRnVsbHdpZHRoJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncHJlbG9hZCcsICdyZXF1aXJlZCcsICdzZWFyY2hDb25qdW5jdGlvbicsICdzZWFyY2hGaWVsZCcsICdzaXplJywgJ3NpemVMYXJnZScsICdzaXplTWVkaXVtJywgJ3NpemVTbWFsbCcsICdzaXplVWx0cmEnLCAndHJhbnNmb3JtTG9hZFF1ZXJ5JywgJ3ZhbHVlJywgJ3ZhbHVlRmllbGQnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ2dldFZhbHVlJywgJ3NldFZhbHVlJywgJ3Jlc2V0TG9hZGVkU2VhcmNoZXMnLCAnZ2V0TG9hZGVkU2VhcmNoZXMnLCAnZ2V0SXRlbXMnLCAnbG9hZEl0ZW1zJywgJ3Nob3cnLCAnaGlkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2FsbG93RW1wdHlPcHRpb24nLCAnY2xvc2VBZnRlclNlbGVjdCcsICdkZWZhdWx0SXRlbXMnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rlc2NyaXB0aW9uTG9uZ1RpdGxlJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpY29uJywgJ2ljb25BbmdsZScsICdpbmxpbmUnLCAnaW52YWxpZCcsICdpc09wZW4nLCAnaXRlbXMnLCAnbGFiZWwnLCAnbGFiZWxGaWVsZCcsICdsYWJlbEhpZGRlbicsICdsb2FkJywgJ2xvYWRUaHJvdHRsZScsICdsb2NhbGl6YXRpb24nLCAnbG9ja09wdGdyb3VwT3JkZXInLCAnbWF4T3B0aW9ucycsICdtaW5DaGFyYWN0ZXJzJywgJ211bHRpcGxlJywgJ25hbWUnLCAnbm9CYWNrc3BhY2VEZWxldGUnLCAnbm9MYWJlbFRydW5jYXRlJywgJ25vU2VhcmNoJywgJ25vV3JhcCcsICdvcGVuJywgJ29wZW5PbkZvY3VzJywgJ29wdGdyb3VwRmllbGQnLCAnb3B0Z3JvdXBMYWJlbEZpZWxkJywgJ29wdGdyb3VwVmFsdWVGaWVsZCcsICdvcHRncm91cHMnLCAnb3B0aW9ucycsICdwb3BvdmVyRnVsbHdpZHRoJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncHJlbG9hZCcsICdyZXF1aXJlZCcsICdzZWFyY2hDb25qdW5jdGlvbicsICdzZWFyY2hGaWVsZCcsICdzaXplJywgJ3NpemVMYXJnZScsICdzaXplTWVkaXVtJywgJ3NpemVTbWFsbCcsICdzaXplVWx0cmEnLCAndHJhbnNmb3JtTG9hZFF1ZXJ5JywgJ3ZhbHVlJywgJ3ZhbHVlRmllbGQnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRHJvcGRvd25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2hhbmdlJywgJ3N0emhJdGVtQWRkJywgJ3N0emhJdGVtUmVtb3ZlJywgJ3N0emhPcHRpb25BZGQnLCAnc3R6aE9wdGlvblJlbW92ZScsICdzdHpoT3BlbicsICdzdHpoQ2xvc2UnLCAnc3R6aEZvY3VzJywgJ3N0emhCbHVyJywgJ3N0emhJbml0J10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoRHJvcGRvd25DaGFuZ2VFdmVudCBhcyBJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEcm9wZG93bkl0ZW1BZGRFdmVudCBhcyBJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duSXRlbUFkZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRHJvcGRvd25JdGVtUmVtb3ZlRXZlbnQgYXMgSVN0emhEcm9wZG93blN0emhEcm9wZG93bkl0ZW1SZW1vdmVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERyb3Bkb3duT3B0aW9uQWRkRXZlbnQgYXMgSVN0emhEcm9wZG93blN0emhEcm9wZG93bk9wdGlvbkFkZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRHJvcGRvd25PcHRpb25SZW1vdmVFdmVudCBhcyBJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duT3B0aW9uUmVtb3ZlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEcm9wZG93bk9wZW5FdmVudCBhcyBJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duT3BlbkV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRHJvcGRvd0Nsb3NlRXZlbnQgYXMgSVN0emhEcm9wZG93blN0emhEcm9wZG93Q2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERyb3Bkb3duRm9jdXNFdmVudCBhcyBJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duRm9jdXNFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERyb3Bkb3duQmx1ckV2ZW50IGFzIElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25CbHVyRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEcm9wZG93SW5pdEV2ZW50IGFzIElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd0luaXRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuU3R6aERyb3Bkb3duIHtcbiAgLyoqXG4gICAqIERyb3Bkb3duIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25DaGFuZ2VFdmVudD4+O1xuICAvKipcbiAgICogRHJvcGRvd24gaXRlbSBhZGRlZCBldmVudFxuICAgKi9cbiAgc3R6aEl0ZW1BZGQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duSXRlbUFkZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBEcm9wZG93biBpdGVtIHJlbW92ZWQgZXZlbnRcbiAgICovXG4gIHN0emhJdGVtUmVtb3ZlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEcm9wZG93blN0emhEcm9wZG93bkl0ZW1SZW1vdmVFdmVudD4+O1xuICAvKipcbiAgICogRHJvcGRvd24gb3B0aW9uIGFkZGVkIGV2ZW50XG4gICAqL1xuICBzdHpoT3B0aW9uQWRkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEcm9wZG93blN0emhEcm9wZG93bk9wdGlvbkFkZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBEcm9wZG93biBvcHRpb24gcmVtb3ZlZCBldmVudFxuICAgKi9cbiAgc3R6aE9wdGlvblJlbW92ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25PcHRpb25SZW1vdmVFdmVudD4+O1xuICAvKipcbiAgICogRHJvcGRvd24gb3BlbiBldmVudFxuICAgKi9cbiAgc3R6aE9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duT3BlbkV2ZW50Pj47XG4gIC8qKlxuICAgKiBEcm9wZG93biBjbG9zZSBldmVudFxuICAgKi9cbiAgc3R6aENsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEcm9wZG93blN0emhEcm9wZG93Q2xvc2VFdmVudD4+O1xuICAvKipcbiAgICogRHJvcGRvd24gZm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25Gb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBEcm9wZG93biBibHVyIGV2ZW50XG4gICAqL1xuICBzdHpoQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25CbHVyRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERyb3Bkb3duIGZvY3VzIGV2ZW50XG4gICAqL1xuICBzdHpoSW5pdDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd0luaXRFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nJywgJ2l0ZW1zJywgJ2xvY2FsaXphdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1lZGl0b3InLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaXRlbXMnLCAnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhFZGl0b3Ige1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRWRpdG9yRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEVkaXRvciBleHRlbmRzIENvbXBvbmVudHMuU3R6aEVkaXRvciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1ldmVudGRhdGEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhFdmVudGRhdGEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRXZlbnRkYXRhRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEV2ZW50ZGF0YSBleHRlbmRzIENvbXBvbmVudHMuU3R6aEV2ZW50ZGF0YSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYWxlbmRhckxhYmVsJywgJ2NhbGVuZGFyVXJsJywgJ2RhdGVBZGFwdGVyJywgJ2VuZCcsICdpdGVtcycsICdpdGVtc1NvcnREaXJlY3Rpb24nLCAnbG9jYWxpemF0aW9uJywgJ21vbnRoSGVhZGluZ0xldmVsJywgJ3N0YXJ0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWV2ZW50aW5mbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FsZW5kYXJMYWJlbCcsICdjYWxlbmRhclVybCcsICdkYXRlQWRhcHRlcicsICdlbmQnLCAnaXRlbXMnLCAnaXRlbXNTb3J0RGlyZWN0aW9uJywgJ2xvY2FsaXphdGlvbicsICdtb250aEhlYWRpbmdMZXZlbCcsICdzdGFydCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRXZlbnRpbmZvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEV2ZW50aW5mb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhFdmVudGluZm8gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhFdmVudGluZm8ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnbG9jYWxpemF0aW9uJywgJ25vSXRlbXNMaW5rJywgJ25vSXRlbXNUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWZlZWRyZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2xvY2FsaXphdGlvbicsICdub0l0ZW1zTGluaycsICdub0l0ZW1zVGV4dCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRmVlZHJlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhGZWVkcmVhZGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEZlZWRyZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhGZWVkcmVhZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xpbmsnLCAndGFyZ2V0JywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZmVlZHJlYWRlci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsaW5rJywgJ3RhcmdldCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhGZWVkcmVhZGVySXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhGZWVkcmVhZGVySXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhGZWVkcmVhZGVySXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aEZlZWRyZWFkZXJJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGVMZWdlbmQnLCAnbGVnZW5kJywgJ2xlZ2VuZEN1cnZlJywgJ2xlZ2VuZExldmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWZpZWxkc2V0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRlTGVnZW5kJywgJ2xlZ2VuZCcsICdsZWdlbmRDdXJ2ZScsICdsZWdlbmRMZXZlbCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRmllbGRzZXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRmllbGRzZXRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRmllbGRzZXQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhGaWVsZHNldCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXB0aW9uJywgJ2NvcHlyaWdodCcsICdjb3VudGVyJywgJ2Z1bGx3aWR0aCcsICdoZWFkaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWZpZ3VyZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FwdGlvbicsICdjb3B5cmlnaHQnLCAnY291bnRlcicsICdmdWxsd2lkdGgnLCAnaGVhZGluZyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRmlndXJlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEZpZ3VyZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhGaWd1cmUgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhGaWd1cmUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbWluaW1hbEVkZ2VTcGFjZSddLFxuICBtZXRob2RzOiBbJ3JlcG9zaXRpb24nLCAnYWN0aXZhdGUnLCAnZGVhY3RpdmF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1mbHlpbmdmb2N1cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbWluaW1hbEVkZ2VTcGFjZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRmx5aW5nZm9jdXMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRmx5aW5nZm9jdXNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRmx5aW5nZm9jdXMgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhGbHlpbmdmb2N1cyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb3B5cmlnaHQnLCAnbG9jYWxpemF0aW9uJywgJ21haW5VcmwnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvcHlyaWdodCcsICdsb2NhbGl6YXRpb24nLCAnbWFpblVybCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRm9vdGVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEZvb3RlciBleHRlbmRzIENvbXBvbmVudHMuU3R6aEZvb3RlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjYXJvdXNlbEF1dG9wbGF5JywgJ2Nhcm91c2VsQXV0b3BsYXlUaW1lb3V0JywgJ2Nhcm91c2VsRGlzYWJsZWQnLCAnY2Fyb3VzZWxXaXRoVHJhY2snLCAnZXhjbHVkZUZpcnN0SW1hZ2UnLCAnaW1hZ2VzJywgJ2l0ZW1FbGVtZW50JywgJ2xvY2FsaXphdGlvbicsICdyYXRpbycsICdyYXRpb0xhcmdlJywgJ3JhdGlvTWVkaXVtJywgJ3JhdGlvU21hbGwnLCAncmF0aW9VbHRyYScsICdzaG93SXRlbXMnLCAnc3RlcEl0ZW1zJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWydvcGVuTGlnaHRib3gnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZ2FsbGVyeScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2Fyb3VzZWxBdXRvcGxheScsICdjYXJvdXNlbEF1dG9wbGF5VGltZW91dCcsICdjYXJvdXNlbERpc2FibGVkJywgJ2Nhcm91c2VsV2l0aFRyYWNrJywgJ2V4Y2x1ZGVGaXJzdEltYWdlJywgJ2ltYWdlcycsICdpdGVtRWxlbWVudCcsICdsb2NhbGl6YXRpb24nLCAncmF0aW8nLCAncmF0aW9MYXJnZScsICdyYXRpb01lZGl1bScsICdyYXRpb1NtYWxsJywgJ3JhdGlvVWx0cmEnLCAnc2hvd0l0ZW1zJywgJ3N0ZXBJdGVtcycsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhHYWxsZXJ5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEdhbGxlcnlFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoR2FsbGVyeSBleHRlbmRzIENvbXBvbmVudHMuU3R6aEdhbGxlcnkge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWwnLCAnYXZhaWxhYmxlVGFncycsICdiYXNlVXJsT3ZlcnJpZGUnLCAnaGVhZGluZycsICdtYXBEYXRhVXJsJywgJ3BvaURhdGFVcmwnLCAncmVzZXRUYWcnLCAnc2VhcmNoSW5kZXhGaWVsZHMnLCAnc2VhcmNoSW5kZXhJZEZpZWxkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWdlby1yZWYtZGF0YScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWwnLCAnYXZhaWxhYmxlVGFncycsICdiYXNlVXJsT3ZlcnJpZGUnLCAnaGVhZGluZycsICdtYXBEYXRhVXJsJywgJ3BvaURhdGFVcmwnLCAncmVzZXRUYWcnLCAnc2VhcmNoSW5kZXhGaWVsZHMnLCAnc2VhcmNoSW5kZXhJZEZpZWxkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhHZW9SZWZEYXRhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEdlb1JlZkRhdGFFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoT3ZlcmxheUNsb3NlQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhHZW9SZWZEYXRhT3ZlcmxheUNsb3NlQ2xpY2tFdmVudCBhcyBJU3R6aEdlb1JlZkRhdGFTdHpoR2VvUmVmRGF0YU92ZXJsYXlDbG9zZUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoR2VvUmVmRGF0YSBleHRlbmRzIENvbXBvbmVudHMuU3R6aEdlb1JlZkRhdGEge1xuICAvKipcbiAgICogT3ZlcmxheSBjbG9zZSBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aE92ZXJsYXlDbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhHZW9SZWZEYXRhU3R6aEdlb1JlZkRhdGFPdmVybGF5Q2xvc2VDbGlja0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2hpZGRlblRpdGxlJywgJ2hpZGVDbG9zZScsICdsb2NhbGl6YXRpb24nLCAnbWFpblRpdGxlJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWdoZXR0b2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnaGlkZGVuVGl0bGUnLCAnaGlkZUNsb3NlJywgJ2xvY2FsaXphdGlvbicsICdtYWluVGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEdoZXR0b2JveCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhHaGV0dG9ib3hFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoT3BlbicsICdzdHpoQ2xvc2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhHaGV0dG9ib3hPcGVuRXZlbnQgYXMgSVN0emhHaGV0dG9ib3hTdHpoR2hldHRvYm94T3BlbkV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoR2hldHRvYm94Q2xvc2VFdmVudCBhcyBJU3R6aEdoZXR0b2JveFN0emhHaGV0dG9ib3hDbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEdoZXR0b2JveCBleHRlbmRzIENvbXBvbmVudHMuU3R6aEdoZXR0b2JveCB7XG4gIC8qKlxuICAgKiBHaGV0dG9ib3ggb3BlbiBldmVudFxuICAgKi9cbiAgc3R6aE9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEdoZXR0b2JveFN0emhHaGV0dG9ib3hPcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEdoZXR0b2JveCBjbG9zZSBldmVudFxuICAgKi9cbiAgc3R6aENsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhHaGV0dG9ib3hTdHpoR2hldHRvYm94Q2xvc2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcHBOYXZJZCcsICdhcHBOYXZJdGVtcycsICdoaWRlTWV0YWJhcicsICdocmVmJywgJ2xhbmd1YWdlQWN0aXZlJywgJ2xhbmd1YWdlSWQnLCAnbGFuZ3VhZ2VQcmV2ZW50VXJsY2hhbmdlJywgJ2xhbmd1YWdlU3RheScsICdsYW5ndWFnZXMnLCAnbG9jYWxpemF0aW9uJywgJ2xvZ2luRXJyb3JNZXNzYWdlJywgJ2xvZ29BbmFseXRpY3NJZCcsICdsb2dvVHlwZScsICdtZW51QmFja0xhYmVsJywgJ21lbnVJZCcsICdtZW51SXRlbXMnLCAnbWV0YW5hdklkJywgJ21ldGFuYXZJdGVtcycsICdzZWFyY2hBY3Rpb24nLCAnc2VhcmNoRmllbGROYW1lJywgJ3NlYXJjaElkJywgJ3NlYXJjaFZhbHVlJywgJ3N0aWNreScsICd1c2VyU3BlY2lmaWNNZXRhbmF2SXRlbXNFbmRwb2ludCcsICd1c2VyU3BlY2lmaWNNZXRhbmF2SXRlbXNOb3RMb2dnZWRJbiddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZVBvc2l0aW9uJywgJ3JlcXVlc3RVc2VyU3BlY2lmaWNNZXRhbmF2SXRlbXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcHBOYXZJZCcsICdhcHBOYXZJdGVtcycsICdoaWRlTWV0YWJhcicsICdocmVmJywgJ2xhbmd1YWdlQWN0aXZlJywgJ2xhbmd1YWdlSWQnLCAnbGFuZ3VhZ2VQcmV2ZW50VXJsY2hhbmdlJywgJ2xhbmd1YWdlU3RheScsICdsYW5ndWFnZXMnLCAnbG9jYWxpemF0aW9uJywgJ2xvZ2luRXJyb3JNZXNzYWdlJywgJ2xvZ29BbmFseXRpY3NJZCcsICdsb2dvVHlwZScsICdtZW51QmFja0xhYmVsJywgJ21lbnVJZCcsICdtZW51SXRlbXMnLCAnbWV0YW5hdklkJywgJ21ldGFuYXZJdGVtcycsICdzZWFyY2hBY3Rpb24nLCAnc2VhcmNoRmllbGROYW1lJywgJ3NlYXJjaElkJywgJ3NlYXJjaFZhbHVlJywgJ3N0aWNreScsICd1c2VyU3BlY2lmaWNNZXRhbmF2SXRlbXNFbmRwb2ludCcsICd1c2VyU3BlY2lmaWNNZXRhbmF2SXRlbXNOb3RMb2dnZWRJbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEhlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhNZXRhbmF2SXRlbUNsaWNrJywgJ3N0emhNZXRhbmF2SXRlbUNoaWxkQ2xpY2snLCAnc3R6aE1ldGFuYXZJdGVtQnV0dG9uQ2xpY2snLCAnc3R6aE1lbnVJdGVtQ2xpY2snLCAnc3R6aExhbmd1YWdlQ2hhbmdlJywgJ3N0emhTZWFyY2hDaGFuZ2UnLCAnc3R6aFNlYXJjaENoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhIZWFkZXJNZXRhbmF2SXRlbUNsaWNrRXZlbnQgYXMgSVN0emhIZWFkZXJTdHpoSGVhZGVyTWV0YW5hdkl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoSGVhZGVyTWV0YW5hdkl0ZW1DaGlsZENsaWNrRXZlbnQgYXMgSVN0emhIZWFkZXJTdHpoSGVhZGVyTWV0YW5hdkl0ZW1DaGlsZENsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhIZWFkZXJNZXRhbmF2SXRlbUJ1dHRvbkNsaWNrRXZlbnQgYXMgSVN0emhIZWFkZXJTdHpoSGVhZGVyTWV0YW5hdkl0ZW1CdXR0b25DbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoSGVhZGVyTWVudUl0ZW1DbGlja0V2ZW50IGFzIElTdHpoSGVhZGVyU3R6aEhlYWRlck1lbnVJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEhlYWRlckxhbmd1YWdlQ2hhbmdlRXZlbnQgYXMgSVN0emhIZWFkZXJTdHpoSGVhZGVyTGFuZ3VhZ2VDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEhlYWRlclNlYXJjaENoYW5nZUV2ZW50IGFzIElTdHpoSGVhZGVyU3R6aEhlYWRlclNlYXJjaENoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoSGVhZGVyU2VhcmNoQ2hhbmdlZEV2ZW50IGFzIElTdHpoSGVhZGVyU3R6aEhlYWRlclNlYXJjaENoYW5nZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhIZWFkZXIge1xuICAvKipcbiAgICogTWV0YW5hdiBpdGVtIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoTWV0YW5hdkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSGVhZGVyU3R6aEhlYWRlck1ldGFuYXZJdGVtQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogTWV0YW5hdiBpdGVtIGNoaWxkIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoTWV0YW5hdkl0ZW1DaGlsZENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhIZWFkZXJTdHpoSGVhZGVyTWV0YW5hdkl0ZW1DaGlsZENsaWNrRXZlbnQ+PjtcbiAgLyoqXG4gICAqIE1ldGFuYXYgaXRlbSBidXR0b24gY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhNZXRhbmF2SXRlbUJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhIZWFkZXJTdHpoSGVhZGVyTWV0YW5hdkl0ZW1CdXR0b25DbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBNZXRhbmF2IGl0ZW0gY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhNZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhIZWFkZXJTdHpoSGVhZGVyTWVudUl0ZW1DbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBMYW5ndWFnZSBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhMYW5ndWFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSGVhZGVyU3R6aEhlYWRlckxhbmd1YWdlQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFNlYXJjaCBpbnB1dCBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhTZWFyY2hDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEhlYWRlclN0emhIZWFkZXJTZWFyY2hDaGFuZ2VFdmVudD4+O1xuICAvKipcbiAgICogU2VhcmNoIGlucHV0IGNoYW5nZWQgZXZlbnRcbiAgICovXG4gIHN0emhTZWFyY2hDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhIZWFkZXJTdHpoSGVhZGVyU2VhcmNoQ2hhbmdlZEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N1cnZlJywgJ2h0bWxDb250ZW50JywgJ2xldmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWhlYWRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2N1cnZlJywgJ2h0bWxDb250ZW50JywgJ2xldmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhIZWFkaW5nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEhlYWRpbmdFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoSGVhZGluZyBleHRlbmRzIENvbXBvbmVudHMuU3R6aEhlYWRpbmcge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncGxhY2Vob2xkZXInLCAnc2VhcmNoQWN0aW9uJywgJ3NlYXJjaEZpZWxkTmFtZScsICdzZWFyY2hJZCcsICdzZWFyY2hWYWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1ob21lcGFnZS1zZWFyY2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3BsYWNlaG9sZGVyJywgJ3NlYXJjaEFjdGlvbicsICdzZWFyY2hGaWVsZE5hbWUnLCAnc2VhcmNoSWQnLCAnc2VhcmNoVmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEhvbWVwYWdlU2VhcmNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEhvbWVwYWdlU2VhcmNoRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aFNlYXJjaENoYW5nZScsICdzdHpoU2VhcmNoQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEhvbWVwYWdlU2VhcmNoU2VhcmNoQ2hhbmdlRXZlbnQgYXMgSVN0emhIb21lcGFnZVNlYXJjaFN0emhIb21lcGFnZVNlYXJjaFNlYXJjaENoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoSG9tZXBhZ2VTZWFyY2hTZWFyY2hDaGFuZ2VkRXZlbnQgYXMgSVN0emhIb21lcGFnZVNlYXJjaFN0emhIb21lcGFnZVNlYXJjaFNlYXJjaENoYW5nZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhIb21lcGFnZVNlYXJjaCBleHRlbmRzIENvbXBvbmVudHMuU3R6aEhvbWVwYWdlU2VhcmNoIHtcbiAgLyoqXG4gICAqIFNlYXJjaCBpbnB1dCBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhTZWFyY2hDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEhvbWVwYWdlU2VhcmNoU3R6aEhvbWVwYWdlU2VhcmNoU2VhcmNoQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFNlYXJjaCBpbnB1dCBjaGFuZ2VkIGV2ZW50XG4gICAqL1xuICBzdHpoU2VhcmNoQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSG9tZXBhZ2VTZWFyY2hTdHpoSG9tZXBhZ2VTZWFyY2hTZWFyY2hDaGFuZ2VkRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbW9zdHNlYXJjaGVkSXRlbXMnLCAndG9wbmV3c0l0ZW1zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWhvbWVwYWdlLXNlcnZpY2UtaGlnaGxpZ2h0cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbW9zdHNlYXJjaGVkSXRlbXMnLCAndG9wbmV3c0l0ZW1zJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhIb21lcGFnZVNlcnZpY2VIaWdobGlnaHRzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEhvbWVwYWdlU2VydmljZUhpZ2hsaWdodHNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoSG9tZXBhZ2VTZXJ2aWNlSGlnaGxpZ2h0cyBleHRlbmRzIENvbXBvbmVudHMuU3R6aEhvbWVwYWdlU2VydmljZUhpZ2hsaWdodHMge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtaHInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEhyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEhyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEhyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoSHIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJvdW5kJywgJ2Fyb3VuZExlZnQnLCAnYXJvdW5kUmlnaHQnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWhzcGFjZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJvdW5kJywgJ2Fyb3VuZExlZnQnLCAnYXJvdW5kUmlnaHQnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhIc3BhY2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoSHNwYWNlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEhzcGFjZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aEhzcGFjZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdlcnJvcmNvZGUnLCAnaGVhZGluZycsICdocmVmQmFjaycsICdocmVmU3RhcnQnLCAnbG9jYWxpemF0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWh0dHAtZXJyb3InLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2Vycm9yY29kZScsICdoZWFkaW5nJywgJ2hyZWZCYWNrJywgJ2hyZWZTdGFydCcsICdsb2NhbGl6YXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEh0dHBFcnJvciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhIdHRwRXJyb3JFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoSHR0cEVycm9yIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoSHR0cEVycm9yIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlUaXRsZScsICduYW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlUaXRsZScsICduYW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEljb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoSWNvbiBleHRlbmRzIENvbXBvbmVudHMuU3R6aEljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3cnLCAnY29va2llJywgJ2Nvb2tpZUNvbmZpcm1JY29uJywgJ2Nvb2tpZUNvbmZpcm1MYWJlbCcsICdjb29raWVDb25maXJtVGV4dCcsICdjb29raWVFeHBpcmVzJywgJ2hlaWdodCcsICdpZnJhbWVFcnJvclRleHQnLCAnaWZyYW1lSWQnLCAnaWZyYW1lUmVzaXplckhlaWdodENvcnJlY3Rpb24nLCAnaWZyYW1lUmVzaXplclNlY29uZGxldmVsRG9tYWluJywgJ2lmcmFtZVJlc2l6ZXJWYXJpYW50JywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3ByZXZpZXdJY29uJywgJ3ByZXZpZXdMYWJlbCcsICdyZWZlcnJlcnBvbGljeScsICdzYW5kYm94JywgJ3NraXBQcmV2aWV3JywgJ3NraXBQcmV2aWV3SWZDb29raWVBY2NlcHRlZCcsICdzcmMnLCAnd2lkdGgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtaWZyYW1lJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvdycsICdjb29raWUnLCAnY29va2llQ29uZmlybUljb24nLCAnY29va2llQ29uZmlybUxhYmVsJywgJ2Nvb2tpZUNvbmZpcm1UZXh0JywgJ2Nvb2tpZUV4cGlyZXMnLCAnaGVpZ2h0JywgJ2lmcmFtZUVycm9yVGV4dCcsICdpZnJhbWVJZCcsICdpZnJhbWVSZXNpemVySGVpZ2h0Q29ycmVjdGlvbicsICdpZnJhbWVSZXNpemVyU2Vjb25kbGV2ZWxEb21haW4nLCAnaWZyYW1lUmVzaXplclZhcmlhbnQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAncHJldmlld0ljb24nLCAncHJldmlld0xhYmVsJywgJ3JlZmVycmVycG9saWN5JywgJ3NhbmRib3gnLCAnc2tpcFByZXZpZXcnLCAnc2tpcFByZXZpZXdJZkNvb2tpZUFjY2VwdGVkJywgJ3NyYycsICd3aWR0aCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoSWZyYW1lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aElmcmFtZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhQcmV2aWV3U2tpcCcsICdzdHpoVmlld0NoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aElmcmFtZVByZXZpZXdTa2lwRXZlbnQgYXMgSVN0emhJZnJhbWVTdHpoSWZyYW1lUHJldmlld1NraXBFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aElmcmFtZVZpZXdDaGFuZ2VFdmVudCBhcyBJU3R6aElmcmFtZVN0emhJZnJhbWVWaWV3Q2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoSWZyYW1lIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoSWZyYW1lIHtcbiAgLyoqXG4gICAqIFByZXZpZXcgc2tpcCAob25seSBnZXRzIGV4ZWN1dGVkIGlmIGl0IGdvZXMgZGlyZWN0bHkgdG8gaWZyYW1lIGFuZCBub3QgY29va2lld2FsbClcbiAgICovXG4gIHN0emhQcmV2aWV3U2tpcDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSWZyYW1lU3R6aElmcmFtZVByZXZpZXdTa2lwRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFZpZXcgY2hhbmdlXG4gICAqL1xuICBzdHpoVmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSWZyYW1lU3R6aElmcmFtZVZpZXdDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnaGludExlZnQnLCAnaGludFJpZ2h0JywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1pbWFnZWNvbXBhcmlzb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdoaW50TGVmdCcsICdoaW50UmlnaHQnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhJbWFnZWNvbXBhcmlzb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoSW1hZ2Vjb21wYXJpc29uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEltYWdlY29tcGFyaXNvbkNoYW5nZUV2ZW50IGFzIElTdHpoSW1hZ2Vjb21wYXJpc29uU3R6aEltYWdlY29tcGFyaXNvbkNoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEltYWdlY29tcGFyaXNvbiBleHRlbmRzIENvbXBvbmVudHMuU3R6aEltYWdlY29tcGFyaXNvbiB7XG5cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSW1hZ2Vjb21wYXJpc29uU3R6aEltYWdlY29tcGFyaXNvbkNoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhdXRvY29tcGxldGUnLCAnY2xlYXJhYmxlJywgJ2RlZmF1bHRWYWx1ZScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2lucHV0bW9kZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICdtYXgnLCAnbWF4bGVuZ3RoJywgJ21pbicsICdtaW5sZW5ndGgnLCAnbXVsdGlsaW5lJywgJ25hbWUnLCAnbm9BdXRvY29tcGxldGUnLCAnbm9MYWJlbFRydW5jYXRlJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Jvd3MnLCAnc2hvd1NwaW4nLCAnc2l6ZScsICdzdGVwJywgJ3R5cGUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhdXRvY29tcGxldGUnLCAnY2xlYXJhYmxlJywgJ2RlZmF1bHRWYWx1ZScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2lucHV0bW9kZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICdtYXgnLCAnbWF4bGVuZ3RoJywgJ21pbicsICdtaW5sZW5ndGgnLCAnbXVsdGlsaW5lJywgJ25hbWUnLCAnbm9BdXRvY29tcGxldGUnLCAnbm9MYWJlbFRydW5jYXRlJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Jvd3MnLCAnc2hvd1NwaW4nLCAnc2l6ZScsICdzdGVwJywgJ3R5cGUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aElucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aElucHV0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZScsICdzdHpoQ2hhbmdlZCcsICdzdHpoRm9jdXMnLCAnc3R6aEJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhJbnB1dENoYW5nZUV2ZW50IGFzIElTdHpoSW5wdXRTdHpoSW5wdXRDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aElucHV0Q2hhbmdlZEV2ZW50IGFzIElTdHpoSW5wdXRTdHpoSW5wdXRDaGFuZ2VkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhJbnB1dEZvY3VzRXZlbnQgYXMgSVN0emhJbnB1dFN0emhJbnB1dEZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhJbnB1dEJsdXJFdmVudCBhcyBJU3R6aElucHV0U3R6aElucHV0Qmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aElucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoSW5wdXQge1xuICAvKipcbiAgICogSW5wdXQgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhJbnB1dFN0emhJbnB1dENoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBJbnB1dCBjaGFuZ2VkIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSW5wdXRTdHpoSW5wdXRDaGFuZ2VkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGZvY3VzIGV2ZW50XG4gICAqL1xuICBzdHpoRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aElucHV0U3R6aElucHV0Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgYmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aElucHV0U3R6aElucHV0Qmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWludmVydCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoSW52ZXJ0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEludmVydEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhJbnZlcnQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhJbnZlcnQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeUNvbnRyb2xzJywgJ2ExMXlDdXJyZW50JywgJ2ExMXlEZXNjcmliZWRieScsICdhMTF5RGlzYWJsZWQnLCAnYTExeUV4cGFuZGVkJywgJ2ExMXlMYWJlbCcsICdhMTF5VGFiaW5kZXgnLCAnYWN0aXZlJywgJ2FuYWx5dGljc0lkJywgJ2JhZGdlJywgJ2JhZGdlRW1wdHknLCAnYmFkZ2VQb3NpdGlvbicsICdiYWRnZVR5cGUnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnZnVsbHdpZHRoJywgJ2hlaWdodCcsICdocmVmJywgJ2ljb24nLCAnaWNvbk9ubHknLCAnaWNvblBvc2l0aW9uJywgJ2xhYmVsJywgJ2xpbmtBY2Nlc3NrZXknLCAnbGlua0lkJywgJ2xvY2FsaXphdGlvbicsICdyZWwnLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJywgJ3RhcmdldCcsICd0ZXh0QWxpZ24nLCAndHlwZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWxpbmsnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlDb250cm9scycsICdhMTF5Q3VycmVudCcsICdhMTF5RGVzY3JpYmVkYnknLCAnYTExeURpc2FibGVkJywgJ2ExMXlFeHBhbmRlZCcsICdhMTF5TGFiZWwnLCAnYTExeVRhYmluZGV4JywgJ2FjdGl2ZScsICdhbmFseXRpY3NJZCcsICdiYWRnZScsICdiYWRnZUVtcHR5JywgJ2JhZGdlUG9zaXRpb24nLCAnYmFkZ2VUeXBlJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2Z1bGx3aWR0aCcsICdoZWlnaHQnLCAnaHJlZicsICdpY29uJywgJ2ljb25Pbmx5JywgJ2ljb25Qb3NpdGlvbicsICdsYWJlbCcsICdsaW5rQWNjZXNza2V5JywgJ2xpbmtJZCcsICdsb2NhbGl6YXRpb24nLCAncmVsJywgJ3NpemUnLCAnc2l6ZUxhcmdlJywgJ3NpemVNZWRpdW0nLCAnc2l6ZVNtYWxsJywgJ3NpemVVbHRyYScsICd0YXJnZXQnLCAndGV4dEFsaWduJywgJ3R5cGUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoTGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhMaW5rRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENsaWNrJywgJ3N0emhGb2N1cycsICdzdHpoQmx1ciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aExpbmtDbGlja0V2ZW50IGFzIElTdHpoTGlua1N0emhMaW5rQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aExpbmtGb2N1c0V2ZW50IGFzIElTdHpoTGlua1N0emhMaW5rRm9jdXNFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aExpbmtCbHVyRXZlbnQgYXMgSVN0emhMaW5rU3R6aExpbmtCbHVyRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoTGluayBleHRlbmRzIENvbXBvbmVudHMuU3R6aExpbmsge1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoTGlua1N0emhMaW5rQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoTGlua1N0emhMaW5rRm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgYmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aExpbmtTdHpoTGlua0JsdXJFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aExpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoTGlzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhMaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aExpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aExpc3RJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aExpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoTGlzdEl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUxhYmVsJywgJ2xhYmVsJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtbG9hZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRlTGFiZWwnLCAnbGFiZWwnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoTG9hZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aExvYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhMb2FkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhMb2FkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZVBlcmNlbnQnLCAnbGFiZWwnLCAncGVyY2VudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1sb2FkaW5nYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRlUGVyY2VudCcsICdsYWJlbCcsICdwZXJjZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhMb2FkaW5nYmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aExvYWRpbmdiYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoTG9hZGluZ2JhciBleHRlbmRzIENvbXBvbmVudHMuU3R6aExvYWRpbmdiYXIge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoTWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhNZW51RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aE1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhNZW51IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlMYWJlbCcsICdhY3RpdmUnLCAnYW5hbHl0aWNzSWQnLCAnYmFkZ2UnLCAnYmFkZ2VFbXB0eScsICdiYWRnZVR5cGUnLCAnY291bnRlcicsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnbGFiZWwnLCAnc2l6ZScsICd0YXJnZXQnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlMYWJlbCcsICdhY3RpdmUnLCAnYW5hbHl0aWNzSWQnLCAnYmFkZ2UnLCAnYmFkZ2VFbXB0eScsICdiYWRnZVR5cGUnLCAnY291bnRlcicsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnbGFiZWwnLCAnc2l6ZScsICd0YXJnZXQnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoTWVudUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoTWVudUl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoRm9jdXMnLCAnc3R6aEJsdXInLCAnc3R6aENsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoTWVudUl0ZW1Gb2N1c0V2ZW50IGFzIElTdHpoTWVudUl0ZW1TdHpoTWVudUl0ZW1Gb2N1c0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoTWVudUl0ZW1CbHVyRXZlbnQgYXMgSVN0emhNZW51SXRlbVN0emhNZW51SXRlbUJsdXJFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aE1lbnVJdGVtQ2xpY2tFdmVudCBhcyBJU3R6aE1lbnVJdGVtU3R6aE1lbnVJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhNZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aE1lbnVJdGVtIHtcbiAgLyoqXG4gICAqIEZvY3VzIGV2ZW50XG4gICAqL1xuICBzdHpoRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aE1lbnVJdGVtU3R6aE1lbnVJdGVtRm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogQmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aE1lbnVJdGVtU3R6aE1lbnVJdGVtQmx1ckV2ZW50Pj47XG4gIC8qKlxuICAgKiBDbGljayBldmVudFxuICAgKi9cbiAgc3R6aENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhNZW51SXRlbVN0emhNZW51SXRlbUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnaGlkZUNsb3NlJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLW1lc3NhZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2hpZGVDbG9zZScsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoTWVzc2FnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhNZXNzYWdlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aE9wZW4nLCAnc3R6aENsb3NlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoTWVzc2FnZU9wZW5FdmVudCBhcyBJU3R6aE1lc3NhZ2VTdHpoTWVzc2FnZU9wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aE1lc3NhZ2VDbG9zZUV2ZW50IGFzIElTdHpoTWVzc2FnZVN0emhNZXNzYWdlQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhNZXNzYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBNZXNzYWdlIG9wZW4gZXZlbnRcbiAgICovXG4gIHN0emhPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhNZXNzYWdlU3R6aE1lc3NhZ2VPcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIE1lc3NhZ2UgY2xvc2UgZXZlbnRcbiAgICovXG4gIHN0emhDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoTWVzc2FnZVN0emhNZXNzYWdlQ2xvc2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcGknLCAnbG9jYWxpemF0aW9uJywgJ3Nob3dJdGVtcycsICdzdGVwSXRlbXMnLCAndGFncyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1taWNyb3NpdGUtdGVhc2VybGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBpJywgJ2xvY2FsaXphdGlvbicsICdzaG93SXRlbXMnLCAnc3RlcEl0ZW1zJywgJ3RhZ3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aE1pY3Jvc2l0ZVRlYXNlcmxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoTWljcm9zaXRlVGVhc2VybGlzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhNaWNyb3NpdGVUZWFzZXJsaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoTWljcm9zaXRlVGVhc2VybGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnlNb250aCcsICdhMTF5RGVzY3JpYmVkYnlZZWFyJywgJ2Rlc2NyaXB0aW9uTG9uZ01vbnRoJywgJ2Rlc2NyaXB0aW9uTG9uZ1llYXInLCAnZGVzY3JpcHRpb25Nb250aCcsICdkZXNjcmlwdGlvblllYXInLCAnZGlzYWJsZWQnLCAnZXJyb3JNb250aCcsICdlcnJvclllYXInLCAnZm9ybWF0JywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkTW9udGgnLCAnaW52YWxpZFllYXInLCAnbG9jYWxpemF0aW9uJywgJ21heCcsICdtYXhZZWFyJywgJ21pbicsICdtaW5ZZWFyJywgJ21vbnRoTGFiZWwnLCAnbW9udGhPcGVuJywgJ21vbnRocycsICduYW1lJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWx1ZScsICd5ZWFyTGFiZWwnLCAneWVhck9wZW4nLCAneWVhclNvcnREaXJlY3Rpb24nLCAneWVhcnMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtbW9udGh5ZWFycGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnlNb250aCcsICdhMTF5RGVzY3JpYmVkYnlZZWFyJywgJ2Rlc2NyaXB0aW9uTG9uZ01vbnRoJywgJ2Rlc2NyaXB0aW9uTG9uZ1llYXInLCAnZGVzY3JpcHRpb25Nb250aCcsICdkZXNjcmlwdGlvblllYXInLCAnZGlzYWJsZWQnLCAnZXJyb3JNb250aCcsICdlcnJvclllYXInLCAnZm9ybWF0JywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkTW9udGgnLCAnaW52YWxpZFllYXInLCAnbG9jYWxpemF0aW9uJywgJ21heCcsICdtYXhZZWFyJywgJ21pbicsICdtaW5ZZWFyJywgJ21vbnRoTGFiZWwnLCAnbW9udGhPcGVuJywgJ21vbnRocycsICduYW1lJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWx1ZScsICd5ZWFyTGFiZWwnLCAneWVhck9wZW4nLCAneWVhclNvcnREaXJlY3Rpb24nLCAneWVhcnMnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aE1vbnRoeWVhcnBpY2tlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhNb250aHllYXJwaWNrZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoTW9udGh5ZWFycGlja2VyQ2hhbmdlRXZlbnQgYXMgSVN0emhNb250aHllYXJwaWNrZXJTdHpoTW9udGh5ZWFycGlja2VyQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoTW9udGh5ZWFycGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoTW9udGh5ZWFycGlja2VyIHtcbiAgLyoqXG4gICAqIE1vbnRoeWVhcnBpY2tlciBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aE1vbnRoeWVhcnBpY2tlclN0emhNb250aHllYXJwaWNrZXJDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsb2NhbGl6YXRpb24nXSxcbiAgbWV0aG9kczogWydhZGRUb2FzdCcsICdyZW1vdmVUb2FzdCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1vZmZsaW5lLWluZGljYXRvcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhPZmZsaW5lSW5kaWNhdG9yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aE9mZmxpbmVJbmRpY2F0b3JFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoT2ZmbGluZUluZGljYXRvciBleHRlbmRzIENvbXBvbmVudHMuU3R6aE9mZmxpbmVJbmRpY2F0b3Ige31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2VudGVyJywgJ2NlbnRlck1hcmtlcicsICdob3N0bmFtZScsICdsYXllcicsICdsYXllckNvbnRyb2wnLCAnbGF5ZXJzJywgJ2xvY2FsaXphdGlvbicsICdsb2NhdGlvbkNvbnRyb2wnLCAncGluY2hSb3RhdGVUaHJlc2hvbGQnLCAncHJpbnRDb250cm9sJywgJ3Jlc29sdXRpb25zJywgJ3NjYWxlQ29udHJvbCcsICd3cml0ZUV4dGVudFRvVXJsRW5hYmxlZCcsICd6b29tJywgJ3pvb21Mb2NhdGlvbiddLFxuICBtZXRob2RzOiBbJ2dldE1hcCcsICd3cml0ZUV4dGVudFRvVXJsJywgJ2dldFZpc2libGVNYXJrZXJzJywgJ2ZpbmRNYXJrZXJCeUlkJywgJ2FkZEljb25NYXJrZXInLCAnYWRkSWNvbk1hcmtlcnMnLCAndXBkYXRlVmlld1RvRml0TWFya2VycycsICdyZW1vdmVBbGxJY29uTWFya2VycycsICdyZW1vdmVJY29uTWFya2VyJywgJ3NldEljb25NYXJrZXJBY3RpdmUnLCAnc2V0SWNvbk1hcmtlckluYWN0aXZlJywgJ3NldEFsbEljb25NYXJrZXJzSW5hY3RpdmUnLCAnZW5hYmxlTG9jYXRpb25UcmFja2luZycsICdkaXNhYmxlTG9jYXRpb25UcmFja2luZycsICdnZXREaXN0YW5jZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1vbG1hcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2VudGVyJywgJ2NlbnRlck1hcmtlcicsICdob3N0bmFtZScsICdsYXllcicsICdsYXllckNvbnRyb2wnLCAnbGF5ZXJzJywgJ2xvY2FsaXphdGlvbicsICdsb2NhdGlvbkNvbnRyb2wnLCAncGluY2hSb3RhdGVUaHJlc2hvbGQnLCAncHJpbnRDb250cm9sJywgJ3Jlc29sdXRpb25zJywgJ3NjYWxlQ29udHJvbCcsICd3cml0ZUV4dGVudFRvVXJsRW5hYmxlZCcsICd6b29tJywgJ3pvb21Mb2NhdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoT2xtYXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoT2xtYXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoSW5pdGlhbGl6ZWQnLCAnc3R6aFBvc3RSZW5kZXInLCAnc3R6aE1vdmVTdGFydCcsICdzdHpoTW92ZUVuZCcsICdzdHpoTW92ZVBhblpvb20nXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhPbG1hcEluaXRpYWxpemVkRXZlbnQgYXMgSVN0emhPbG1hcFN0emhPbG1hcEluaXRpYWxpemVkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhPbG1hcFBvc3RSZW5kZXJFdmVudCBhcyBJU3R6aE9sbWFwU3R6aE9sbWFwUG9zdFJlbmRlckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoT2xtYXBNb3ZlU3RhcnRFdmVudCBhcyBJU3R6aE9sbWFwU3R6aE9sbWFwTW92ZVN0YXJ0RXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhPbG1hcE1vdmVFbmRFdmVudCBhcyBJU3R6aE9sbWFwU3R6aE9sbWFwTW92ZUVuZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoT2xtYXBNb3ZlUGFuWm9vbUV2ZW50IGFzIElTdHpoT2xtYXBTdHpoT2xtYXBNb3ZlUGFuWm9vbUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aE9sbWFwIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoT2xtYXAge1xuICAvKipcbiAgICogT2xtYXAgaW5pdGlhbGl6ZWQgZXZlbnRcbiAgICovXG4gIHN0emhJbml0aWFsaXplZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoT2xtYXBTdHpoT2xtYXBJbml0aWFsaXplZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBPbG1hcCBwb3N0cmVuZGVyIGV2ZW50XG4gICAqL1xuICBzdHpoUG9zdFJlbmRlcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoT2xtYXBTdHpoT2xtYXBQb3N0UmVuZGVyRXZlbnQ+PjtcbiAgLyoqXG4gICAqIE9sbWFwIG1vdmVzdGFydCBldmVudFxuICAgKi9cbiAgc3R6aE1vdmVTdGFydDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoT2xtYXBTdHpoT2xtYXBNb3ZlU3RhcnRFdmVudD4+O1xuICAvKipcbiAgICogT2xtYXAgbW92ZWVuZCBldmVudFxuICAgKi9cbiAgc3R6aE1vdmVFbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aE9sbWFwU3R6aE9sbWFwTW92ZUVuZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBPbG1hcCBtb3ZlIHBhbiB6b29tIGV2ZW50XG4gICAqL1xuICBzdHpoTW92ZVBhblpvb206IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aE9sbWFwU3R6aE9sbWFwTW92ZVBhblpvb21FdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5TGFiZWwnLCAnb3BlbicsICdzdGF5J10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLW92ZXJsYXknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlMYWJlbCcsICdvcGVuJywgJ3N0YXknXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aE92ZXJsYXkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoT3ZlcmxheUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhPcGVuJywgJ3N0emhDbG9zZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aE92ZXJsYXlPcGVuRXZlbnQgYXMgSVN0emhPdmVybGF5U3R6aE92ZXJsYXlPcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhPdmVybGF5Q2xvc2VFdmVudCBhcyBJU3R6aE92ZXJsYXlTdHpoT3ZlcmxheUNsb3NlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoT3ZlcmxheSBleHRlbmRzIENvbXBvbmVudHMuU3R6aE92ZXJsYXkge1xuICAvKipcbiAgICogRGlhbG9nIG9wZW4gZXZlbnRcbiAgICovXG4gIHN0emhPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhPdmVybGF5U3R6aE92ZXJsYXlPcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERpYWxvZyBjbG9zZSBldmVudFxuICAgKi9cbiAgc3R6aENsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhPdmVybGF5U3R6aE92ZXJsYXlDbG9zZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXBhZ2Utc2tpcGxpbmtzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhQYWdlU2tpcGxpbmtzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFBhZ2VTa2lwbGlua3NFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUGFnZVNraXBsaW5rcyBleHRlbmRzIENvbXBvbmVudHMuU3R6aFBhZ2VTa2lwbGlua3Mge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbG9jYWxpemF0aW9uJywgJ2xvZ29IcmVmJywgJ3ByaW50QW5hbHl0aWNzSWQnLCAnc2hhcmVEaXNhYmxlZCcsICdzaGFyZU1haWxCb2R5JywgJ3NoYXJlTWFpbFN1YmplY3QnLCAnc2hhcmVTZXJ2aWNlcycsICdzaGFyZVRpdGxlJywgJ3NoYXJlVXJsJywgJ3dpdGhQcmludCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wYWdlYm90dG9tJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsb2NhbGl6YXRpb24nLCAnbG9nb0hyZWYnLCAncHJpbnRBbmFseXRpY3NJZCcsICdzaGFyZURpc2FibGVkJywgJ3NoYXJlTWFpbEJvZHknLCAnc2hhcmVNYWlsU3ViamVjdCcsICdzaGFyZVNlcnZpY2VzJywgJ3NoYXJlVGl0bGUnLCAnc2hhcmVVcmwnLCAnd2l0aFByaW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhQYWdlYm90dG9tIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFBhZ2Vib3R0b21FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUGFnZWJvdHRvbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFBhZ2Vib3R0b20ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcGFnZWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFBhZ2Vjb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFBhZ2Vjb250ZW50RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFBhZ2Vjb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFnZWNvbnRlbnQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdkYXRlbGluZScsICdoeXBoZW5zRW5hYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wYWdldGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnZGF0ZWxpbmUnLCAnaHlwaGVuc0VuYWJsZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFBhZ2V0aXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhQYWdldGl0bGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUGFnZXRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFnZXRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaGVhZGluZ0lkJywgJ2xlYWRBdXRob3InLCAnc3VidGl0bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcGFnZXRpdGxlLWhlcm8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaGVhZGluZ0lkJywgJ2xlYWRBdXRob3InLCAnc3VidGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFBhZ2V0aXRsZUhlcm8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUGFnZXRpdGxlSGVyb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhQYWdldGl0bGVIZXJvIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFnZXRpdGxlSGVybyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoeXBoZW5zRW5hYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wYWdldGl0bGUtaG9tZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaHlwaGVuc0VuYWJsZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFBhZ2V0aXRsZUhvbWUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUGFnZXRpdGxlSG9tZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhQYWdldGl0bGVIb21lIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFnZXRpdGxlSG9tZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnYWxsb3dNYW51YWxJbnB1dCcsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW52YWxpZCcsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3RvdGFsJywgJ3ZhbHVlJywgJ3dpZHRoJ10sXG4gIG1ldGhvZHM6IFsncHJldicsICduZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXBhZ2luYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhbGxvd01hbnVhbElucHV0JywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkaXNhYmxlZCcsICdlcnJvcicsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndG90YWwnLCAndmFsdWUnLCAnd2lkdGgnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFBhZ2luYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUGFnaW5hdGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhQYWdpbmF0aW9uQ2hhbmdlRXZlbnQgYXMgSVN0emhQYWdpbmF0aW9uU3R6aFBhZ2luYXRpb25DaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhQYWdpbmF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFnaW5hdGlvbiB7XG4gIC8qKlxuICAgKiBQYWdpbmF0aW9uIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoUGFnaW5hdGlvblN0emhQYWdpbmF0aW9uQ2hhbmdlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2xvYWQnLCAnY2FwdGlvbicsICdjb3B5cmlnaHQnLCAnaGVhZGluZycsICdsb2NhbGl6YXRpb24nLCAnb3JpZW50YXRpb25PbkJ5RGVmYXVsdCcsICdzY2VuZScsICdzY2VuZUZhZGVEdXJhdGlvbicsICdzY2VuZXMnLCAnc2hvd0NvbnRyb2xzJywgJ3Nob3dIb3RzcG90cyddLFxuICBtZXRob2RzOiBbJ2dldFZpZXdlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wYW5vcmFtYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2xvYWQnLCAnY2FwdGlvbicsICdjb3B5cmlnaHQnLCAnaGVhZGluZycsICdsb2NhbGl6YXRpb24nLCAnb3JpZW50YXRpb25PbkJ5RGVmYXVsdCcsICdzY2VuZScsICdzY2VuZUZhZGVEdXJhdGlvbicsICdzY2VuZXMnLCAnc2hvd0NvbnRyb2xzJywgJ3Nob3dIb3RzcG90cyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUGFub3JhbWEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUGFub3JhbWFFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoTG9hZCcsICdzdHpoQ2hhbmdlJywgJ3N0emhGdWxsc2NyZWVuQ2hhbmdlJywgJ3N0emhTY2VuZUNoYW5nZScsICdzdHpoWm9vbUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aFBhbm9yYW1hTG9hZEV2ZW50IGFzIElTdHpoUGFub3JhbWFTdHpoUGFub3JhbWFMb2FkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhQYW5vcmFtYUNoYW5nZUV2ZW50IGFzIElTdHpoUGFub3JhbWFTdHpoUGFub3JhbWFDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFBhbm9yYW1hRnVsbHNjcmVlbkNoYW5nZUV2ZW50IGFzIElTdHpoUGFub3JhbWFTdHpoUGFub3JhbWFGdWxsc2NyZWVuQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhQYW5vcmFtYVNjZW5lQ2hhbmdlRXZlbnQgYXMgSVN0emhQYW5vcmFtYVN0emhQYW5vcmFtYVNjZW5lQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhQYW5vcmFtYVpvb21DaGFuZ2VFdmVudCBhcyBJU3R6aFBhbm9yYW1hU3R6aFBhbm9yYW1hWm9vbUNoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFBhbm9yYW1hIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFub3JhbWEge1xuICAvKipcbiAgICogTG9hZCBldmVudFxuICAgKi9cbiAgc3R6aExvYWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFBhbm9yYW1hU3R6aFBhbm9yYW1hTG9hZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBDaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFBhbm9yYW1hU3R6aFBhbm9yYW1hQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZ1bGxzY3JlZW4gY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoRnVsbHNjcmVlbkNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoUGFub3JhbWFTdHpoUGFub3JhbWFGdWxsc2NyZWVuQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFNjZW5lIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aFNjZW5lQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhQYW5vcmFtYVN0emhQYW5vcmFtYVNjZW5lQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFpvb20gY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoWm9vbUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoUGFub3JhbWFTdHpoUGFub3JhbWFab29tQ2hhbmdlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaXRlbSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wb2ljYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpdGVtJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhQb2ljYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFBvaWNhcmRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUG9pY2FyZCBleHRlbmRzIENvbXBvbmVudHMuU3R6aFBvaWNhcmQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBpJywgJ2xvY2FsaXphdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wb2lsaXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcGknLCAnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhQb2lsaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFBvaWxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUG9pbGlzdCBleHRlbmRzIENvbXBvbmVudHMuU3R6aFBvaWxpc3Qge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzdGFuY2UnLCAnZnVsbHdpZHRoJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICdvcGVuJywgJ3BsYWNlbWVudCcsICdzaXplJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9nZ2xlJywgJ3VwZGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wb3BvdmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXN0YW5jZScsICdmdWxsd2lkdGgnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ29wZW4nLCAncGxhY2VtZW50JywgJ3NpemUnLCAnc2tpZGRpbmcnLCAnc3RyYXRlZ3knLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUG9wb3ZlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhQb3BvdmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aE9wZW4nLCAnc3R6aE9wZW5lZCcsICdzdHpoQ2xvc2UnLCAnc3R6aENsb3NlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aFBvcG92ZXJPcGVuRXZlbnQgYXMgSVN0emhQb3BvdmVyU3R6aFBvcG92ZXJPcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhQb3BvdmVyT3BlbmVkRXZlbnQgYXMgSVN0emhQb3BvdmVyU3R6aFBvcG92ZXJPcGVuZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFBvcG92ZXJDbG9zZUV2ZW50IGFzIElTdHpoUG9wb3ZlclN0emhQb3BvdmVyQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFBvcG92ZXJDbG9zZWRFdmVudCBhcyBJU3R6aFBvcG92ZXJTdHpoUG9wb3ZlckNsb3NlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFBvcG92ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhQb3BvdmVyIHtcbiAgLyoqXG4gICAqIFBvcG92ZXIgb3BlbiBldmVudFxuICAgKi9cbiAgc3R6aE9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFBvcG92ZXJTdHpoUG9wb3Zlck9wZW5FdmVudD4+O1xuICAvKipcbiAgICogUG9wb3ZlciBvcGVuZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhPcGVuZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFBvcG92ZXJTdHpoUG9wb3Zlck9wZW5lZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBQb3BvdmVyIGNsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFBvcG92ZXJTdHpoUG9wb3ZlckNsb3NlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFBvcG92ZXIgY2xvc2VkIGV2ZW50IChhZnRlciBhbmltYXRpb24pXG4gICAqL1xuICBzdHpoQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhQb3BvdmVyU3R6aFBvcG92ZXJDbG9zZWRFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wcmludCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUHJpbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUHJpbnRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUHJpbnQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhQcmludCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGlja0Rpc2FibGVkJywgJ2RhdGEnLCAnaW5kZXgnLCAnbG9jYWxpemF0aW9uJywgJ3N0ZXBzJywgJ3N0ZXBzTGFyZ2UnLCAnc3RlcHNNZWRpdW0nLCAnc3RlcHNTbWFsbCcsICdzdGVwc1VsdHJhJ10sXG4gIG1ldGhvZHM6IFsnZ2V0SXRlbURhdGEnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcHJvZ3Jlc3NiYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NsaWNrRGlzYWJsZWQnLCAnZGF0YScsICdpbmRleCcsICdsb2NhbGl6YXRpb24nLCAnc3RlcHMnLCAnc3RlcHNMYXJnZScsICdzdGVwc01lZGl1bScsICdzdGVwc1NtYWxsJywgJ3N0ZXBzVWx0cmEnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFByb2dyZXNzYmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFByb2dyZXNzYmFyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFByb2dyZXNzYmFyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUHJvZ3Jlc3NiYXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnY2xpY2tEaXNhYmxlZCcsICdjdXJyZW50JywgJ2Rpc2FibGVkJywgJ2RvdHRlZCcsICdmaXJzdCcsICdoaWRlJywgJ2ljb24nLCAnaW5jb21wbGV0ZScsICdsYWJlbCcsICdsYXN0JywgJ3Bhc3NlZCcsICdzdGVwJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXByb2dyZXNzYmFyLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2NsaWNrRGlzYWJsZWQnLCAnY3VycmVudCcsICdkaXNhYmxlZCcsICdkb3R0ZWQnLCAnZmlyc3QnLCAnaGlkZScsICdpY29uJywgJ2luY29tcGxldGUnLCAnbGFiZWwnLCAnbGFzdCcsICdwYXNzZWQnLCAnc3RlcCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUHJvZ3Jlc3NiYXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFByb2dyZXNzYmFySXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDbGljaycsICdzdHpoRG90dGVkQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhQcm9ncmVzc2Jhckl0ZW1DbGlja0V2ZW50IGFzIElTdHpoUHJvZ3Jlc3NiYXJJdGVtU3R6aFByb2dyZXNzYmFySXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhQcm9ncmVzc2Jhckl0ZW1Eb3R0ZWRDbGlja0V2ZW50IGFzIElTdHpoUHJvZ3Jlc3NiYXJJdGVtU3R6aFByb2dyZXNzYmFySXRlbURvdHRlZENsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUHJvZ3Jlc3NiYXJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUHJvZ3Jlc3NiYXJJdGVtIHtcbiAgLyoqXG4gICAqIENsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFByb2dyZXNzYmFySXRlbVN0emhQcm9ncmVzc2Jhckl0ZW1DbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBEb3R0ZWQgY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhEb3R0ZWRDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoUHJvZ3Jlc3NiYXJJdGVtU3R6aFByb2dyZXNzYmFySXRlbURvdHRlZENsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0aG9yJywgJ3RleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcXVvdGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dGhvcicsICd0ZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhRdW90ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhRdW90ZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhRdW90ZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFF1b3RlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdjaGVja2VkJywgJ2RlZmF1bHRDaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2NoZWNrZWQnLCAnZGVmYXVsdENoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rlc2NyaXB0aW9uTG9uZ1RpdGxlJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhSYWRpbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhSYWRpb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnLCAnc3R6aEZvY3VzJywgJ3N0emhCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoUmFkaW9DaGFuZ2VFdmVudCBhcyBJU3R6aFJhZGlvU3R6aFJhZGlvQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhSYWRpb0ZvY3VzRXZlbnQgYXMgSVN0emhSYWRpb1N0emhSYWRpb0ZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhSYWRpb0JsdXJFdmVudCBhcyBJU3R6aFJhZGlvU3R6aFJhZGlvQmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUmFkaW8ge1xuICAvKipcbiAgICogSW5wdXQgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhSYWRpb1N0emhSYWRpb0NoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBJbnB1dCBmb2N1cyBldmVudFxuICAgKi9cbiAgc3R6aEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhSYWRpb1N0emhSYWRpb0ZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhSYWRpb1N0emhSYWRpb0JsdXJFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkUmFkaW8nLCAnZGVmYXVsdFZhbHVlJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXJlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZUxlZ2VuZCcsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsZWdlbmQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAncHJldmVudFVwZGF0ZVByb3BlcnRpZXMnLCAncmVxdWlyZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcmFkaW9ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZFJhZGlvJywgJ2RlZmF1bHRWYWx1ZScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlyZWN0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVMZWdlbmQnLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGVnZW5kJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3ByZXZlbnRVcGRhdGVQcm9wZXJ0aWVzJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhSYWRpb2dyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFJhZGlvZ3JvdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUmFkaW9ncm91cCBleHRlbmRzIENvbXBvbmVudHMuU3R6aFJhZGlvZ3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZml0JywgJ3BvcnRyYWl0JywgJ3JhdGlvJywgJ3JhdGlvTGFyZ2UnLCAncmF0aW9NZWRpdW0nLCAncmF0aW9TbWFsbCcsICdyYXRpb1VsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXJhdGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmaXQnLCAncG9ydHJhaXQnLCAncmF0aW8nLCAncmF0aW9MYXJnZScsICdyYXRpb01lZGl1bScsICdyYXRpb1NtYWxsJywgJ3JhdGlvVWx0cmEnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFJhdGlvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFJhdGlvRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFJhdGlvIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUmF0aW8ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaHJlZiddLFxuICBtZXRob2RzOiBbJ29wZW5QbGF5ZXInLCAnY2xvc2VQbGF5ZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcmVhZHNwZWFrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hyZWYnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFJlYWRzcGVha2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFJlYWRzcGVha2VyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFJlYWRzcGVha2VyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUmVhZHNwZWFrZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZXh0ZXJuYWxMaW5rSWNvbicsICdleHRlcm5hbExpbmtTZWxlY3RvcicsICdsb2NhbGl6YXRpb24nLCAncmVtb3ZlRmlyc3RNYXJnaW4nLCAncmVtb3ZlTGFzdE1hcmdpbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1yaWNodGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZXh0ZXJuYWxMaW5rSWNvbicsICdleHRlcm5hbExpbmtTZWxlY3RvcicsICdsb2NhbGl6YXRpb24nLCAncmVtb3ZlRmlyc3RNYXJnaW4nLCAncmVtb3ZlTGFzdE1hcmdpbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUmljaHRleHQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUmljaHRleHRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUmljaHRleHQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhSaWNodGV4dCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250ZW50JywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc3BhbicsICdzcGFuTGFyZ2UnLCAnc3Bhbk1lZGl1bScsICdzcGFuU21hbGwnLCAnc3BhblVsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXJvdycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGVudCcsICdpdGVtcycsICdqdXN0aWZ5JywgJ3NwYW4nLCAnc3BhbkxhcmdlJywgJ3NwYW5NZWRpdW0nLCAnc3BhblNtYWxsJywgJ3NwYW5VbHRyYSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUm93IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFJvd0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhSb3cgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhSb3cge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW52YWxpZCcsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdudW1iZXJzJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNhcHRjaGEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2ludmFsaWQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAnbnVtYmVycycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2FwdGNoYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTYXB0Y2hhRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aFNhcHRjaGFDaGFuZ2VFdmVudCBhcyBJU3R6aFNhcHRjaGFTdHpoU2FwdGNoYUNoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNhcHRjaGEgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTYXB0Y2hhIHtcbiAgLyoqXG4gICAqIFNhcHRjaGEgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhTYXB0Y2hhU3R6aFNhcHRjaGFDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1zY3JvbGx1cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2Nyb2xsdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoU2Nyb2xsdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoU2Nyb2xsdXAgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTY3JvbGx1cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcGknLCAnYXV0b2ZldGNoQXNpZGVGaWx0ZXJzJywgJ2F1dG9mZXRjaE1haW5GaWx0ZXJzJywgJ2RlYm91bmNlVGltZScsICdlbXB0eUxpbmtIcmVmJywgJ2VtcHR5TGlua0xhYmVsJywgJ2VtcHR5VGV4dCcsICdoZWFkaW5nJywgJ2hpZGVBc2lkZUZpbHRlcnMnLCAnaGlkZU1haW5GaWx0ZXJzJywgJ2hpZGVSZXN1bHRzSGVhZGluZycsICdoeXBoZW5zRW5hYmxlZCcsICdpbml0aWFsRmV0Y2gnLCAnbGltaXQnLCAnbG9jYWxpemF0aW9uJywgJ3ByZXZlbnRVcGRhdGVVcmwnLCAncmVzdWx0SGVhZGluZ0xldmVsJywgJ3NvcnRCeScsICdzb3J0T3B0aW9ucycsICdzdWJzY3JpYmVBZGRpdGlvbmFsUXVlcnlQYXJhbWV0ZXJzJywgJ3N1YnNjcmliZUxhYmVsJywgJ3N1YnNjcmliZVBhdGgnLCAndGVtcGxhdGVSZXN1bHQnLCAndGVtcGxhdGVSZXN1bHRXcmFwcGVyRWxlbWVudCcsICd0ZW1wbGF0ZVJlc3VsdFdyYXBwZXJQcm9wcycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNlYXJjaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBpJywgJ2F1dG9mZXRjaEFzaWRlRmlsdGVycycsICdhdXRvZmV0Y2hNYWluRmlsdGVycycsICdkZWJvdW5jZVRpbWUnLCAnZW1wdHlMaW5rSHJlZicsICdlbXB0eUxpbmtMYWJlbCcsICdlbXB0eVRleHQnLCAnaGVhZGluZycsICdoaWRlQXNpZGVGaWx0ZXJzJywgJ2hpZGVNYWluRmlsdGVycycsICdoaWRlUmVzdWx0c0hlYWRpbmcnLCAnaHlwaGVuc0VuYWJsZWQnLCAnaW5pdGlhbEZldGNoJywgJ2xpbWl0JywgJ2xvY2FsaXphdGlvbicsICdwcmV2ZW50VXBkYXRlVXJsJywgJ3Jlc3VsdEhlYWRpbmdMZXZlbCcsICdzb3J0QnknLCAnc29ydE9wdGlvbnMnLCAnc3Vic2NyaWJlQWRkaXRpb25hbFF1ZXJ5UGFyYW1ldGVycycsICdzdWJzY3JpYmVMYWJlbCcsICdzdWJzY3JpYmVQYXRoJywgJ3RlbXBsYXRlUmVzdWx0JywgJ3RlbXBsYXRlUmVzdWx0V3JhcHBlckVsZW1lbnQnLCAndGVtcGxhdGVSZXN1bHRXcmFwcGVyUHJvcHMnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2VhcmNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFNlYXJjaEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhPdmVybGF5Q2xvc2VDbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aFNlYXJjaE92ZXJsYXlDbG9zZUNsaWNrRXZlbnQgYXMgSVN0emhTZWFyY2hTdHpoU2VhcmNoT3ZlcmxheUNsb3NlQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhTZWFyY2ggZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTZWFyY2gge1xuICAvKipcbiAgICogU2VhcmNoIG92ZXJsYXkgY2xvc2UgY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhPdmVybGF5Q2xvc2VDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoU2VhcmNoU3R6aFNlYXJjaE92ZXJsYXlDbG9zZUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdicmVha291dCcsICdtYXJnaW5Cb3R0b20nLCAnbWFyZ2luVG9wJywgJ3BhZGRpbmdCb3R0b20nLCAncGFkZGluZ1RvcCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNlY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnYnJlYWtvdXQnLCAnbWFyZ2luQm90dG9tJywgJ21hcmdpblRvcCcsICdwYWRkaW5nQm90dG9tJywgJ3BhZGRpbmdUb3AnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2VjdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTZWN0aW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNlY3Rpb24gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTZWN0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xvY2FsaXphdGlvbicsICdtYWlsQm9keScsICdtYWlsU3ViamVjdCcsICdzZXJ2aWNlcycsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtc2hhcmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xvY2FsaXphdGlvbicsICdtYWlsQm9keScsICdtYWlsU3ViamVjdCcsICdzZXJ2aWNlcycsICd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFNoYXJlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFNoYXJlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNoYXJlIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoU2hhcmUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2VLZXknLCAnaGlkZUZyb21EYXRlJywgJ2xhcmdlJywgJ21lZGl1bScsICdtaWtybycsICdzaG93RnJvbURhdGUnLCAnc21hbGwnLCAndWx0cmEnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtc2hvdycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VLZXknLCAnaGlkZUZyb21EYXRlJywgJ2xhcmdlJywgJ21lZGl1bScsICdtaWtybycsICdzaG93RnJvbURhdGUnLCAnc21hbGwnLCAndWx0cmEnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFNob3cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoU2hvd0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhTaG93IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoU2hvdyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpdGVtcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1zaXRlbWFwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpdGVtcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2l0ZW1hcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTaXRlbWFwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNpdGVtYXAgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTaXRlbWFwIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNraW4tcG9ydGFsLW1pdHdpcmtlbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2tpblBvcnRhbE1pdHdpcmtlbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTa2luUG9ydGFsTWl0d2lya2VuRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNraW5Qb3J0YWxNaXR3aXJrZW4gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTa2luUG9ydGFsTWl0d2lya2VuIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNraW4tc3Rvcnlib29rLXByZXZpZXcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFNraW5TdG9yeWJvb2tQcmV2aWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFNraW5TdG9yeWJvb2tQcmV2aWV3RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNraW5TdG9yeWJvb2tQcmV2aWV3IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoU2tpblN0b3J5Ym9va1ByZXZpZXcge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnaHJlZicsICdsYWJlbCcsICdsaW5rQWNjZXNza2V5JywgJ2xpbmtUaXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1za2lwbGluaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnaHJlZicsICdsYWJlbCcsICdsaW5rQWNjZXNza2V5JywgJ2xpbmtUaXRsZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2tpcGxpbmsge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoU2tpcGxpbmtFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoRm9jdXMnLCAnc3R6aEJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhTa2lwbGlua0ZvY3VzRXZlbnQgYXMgSVN0emhTa2lwbGlua1N0emhTa2lwbGlua0ZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhTa2lwbGlua0JsdXJFdmVudCBhcyBJU3R6aFNraXBsaW5rU3R6aFNraXBsaW5rQmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNraXBsaW5rIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoU2tpcGxpbmsge1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoU2tpcGxpbmtTdHpoU2tpcGxpbmtGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBCbHVyIGV2ZW50XG4gICAqL1xuICBzdHpoQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoU2tpcGxpbmtTdHpoU2tpcGxpbmtCbHVyRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaXRlbXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtc29jaWFsbWVkaWFzdHJlYW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2l0ZW1zJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhTb2NpYWxtZWRpYXN0cmVhbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTb2NpYWxtZWRpYXN0cmVhbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhTb2NpYWxtZWRpYXN0cmVhbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFNvY2lhbG1lZGlhc3RyZWFtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGVBZGFwdGVyJywgJ2l0ZW0nLCAnbG9jYWxpemF0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNvY2lhbG1lZGlhc3RyZWFtLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGVBZGFwdGVyJywgJ2l0ZW0nLCAnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhTb2NpYWxtZWRpYXN0cmVhbUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoU29jaWFsbWVkaWFzdHJlYW1JdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNvY2lhbG1lZGlhc3RyZWFtSXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFNvY2lhbG1lZGlhc3RyZWFtSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWluZXInLCAnZGF0YUlkQXR0cmlidXRlJywgJ2Rpc2FibGVkJywgJ2ZpbHRlckVsZW1lbnRzJywgJ2dob3N0Q2xvbmUnLCAnbG9jYWxpemF0aW9uJ10sXG4gIG1ldGhvZHM6IFsndG9BcnJheScsICdzb3J0JywgJ21vdmVJdGVtJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNvcnRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250YWluZXInLCAnZGF0YUlkQXR0cmlidXRlJywgJ2Rpc2FibGVkJywgJ2ZpbHRlckVsZW1lbnRzJywgJ2dob3N0Q2xvbmUnLCAnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhTb3J0YWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTb3J0YWJsZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhVcGRhdGUnLCAnc3R6aERpc2FibGUnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhTb3J0YWJsZVVwZGF0ZUV2ZW50IGFzIElTdHpoU29ydGFibGVTdHpoU29ydGFibGVVcGRhdGVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFNvcnRhYmxlRGlzYWJsZUV2ZW50IGFzIElTdHpoU29ydGFibGVTdHpoU29ydGFibGVEaXNhYmxlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoU29ydGFibGUgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTb3J0YWJsZSB7XG4gIC8qKlxuICAgKiBVcGRhdGUgZXZlbnRcbiAgICovXG4gIHN0emhVcGRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFNvcnRhYmxlU3R6aFNvcnRhYmxlVXBkYXRlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERpc2FibGUgZXZlbnRcbiAgICovXG4gIHN0emhEaXNhYmxlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhTb3J0YWJsZVN0emhTb3J0YWJsZURpc2FibGVFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcm91bmQnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNwYWNlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcm91bmQnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhTcGFjZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTcGFjZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhTcGFjZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFNwYWNlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3BlcmNlbnQnLCAndHlwZScsICd3aXRoTG9hZGluZ2JhciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1zdGF0dXMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3BlcmNlbnQnLCAndHlwZScsICd3aXRoTG9hZGluZ2JhciddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU3RhdHVzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFN0YXR1c0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhTdGF0dXMgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTdGF0dXMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmxlZWRpbmcnLCAnZGlzYWJsZVN0aWNreUJvdHRvbScsICdkaXNhYmxlU3RpY2t5VG9wJywgJ25hbWUnLCAncG9zaXRpb24nLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1zdGlja3knLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JsZWVkaW5nJywgJ2Rpc2FibGVTdGlja3lCb3R0b20nLCAnZGlzYWJsZVN0aWNreVRvcCcsICduYW1lJywgJ3Bvc2l0aW9uJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFN0aWNreSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTdGlja3lFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoU3R1Y2tUb3AnLCAnc3R6aFN0dWNrQm90dG9tJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoU3RpY2t5U3R1Y2tUb3BFdmVudCBhcyBJU3R6aFN0aWNreVN0emhTdGlja3lTdHVja1RvcEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoU3RpY2t5U3R1Y2tCb3R0b21FdmVudCBhcyBJU3R6aFN0aWNreVN0emhTdGlja3lTdHVja0JvdHRvbUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFN0aWNreSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFN0aWNreSB7XG4gIC8qKlxuICAgKiBTdGlja3kgc3R1Y2sgdG9wIGV2ZW50XG4gICAqL1xuICBzdHpoU3R1Y2tUb3A6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFN0aWNreVN0emhTdGlja3lTdHVja1RvcEV2ZW50Pj47XG4gIC8qKlxuICAgKiBTdGlja3kgc3R1Y2sgYm90dG9tIGV2ZW50XG4gICAqL1xuICBzdHpoU3R1Y2tCb3R0b206IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFN0aWNreVN0emhTdGlja3lTdHVja0JvdHRvbUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3BhZ2V0aXRsZVF1ZXJ5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXN0aWNreS1hY3Rpb25zJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydwYWdldGl0bGVRdWVyeSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU3RpY2t5QWN0aW9ucyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTdGlja3lBY3Rpb25zRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFN0aWNreUFjdGlvbnMgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTdGlja3lBY3Rpb25zIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVNaW5XaWR0aCcsICdmaXhlZExlZnQnLCAnZml4ZWRSaWdodCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10YWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZU1pbldpZHRoJywgJ2ZpeGVkTGVmdCcsICdmaXhlZFJpZ2h0J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhUYWJsZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFRhYmxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhMTF5TGFiZWwnLCAnYTExeVRhYmluZGV4JywgJ2FuYWx5dGljc0lkJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnbGFiZWwnLCAnbm9uSW50ZXJhY3RpdmUnLCAncmVtb3ZlQW5hbHl0aWNzSWQnLCAnc2l6ZScsICd0YXJnZXQnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10YWcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhMTF5TGFiZWwnLCAnYTExeVRhYmluZGV4JywgJ2FuYWx5dGljc0lkJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnbGFiZWwnLCAnbm9uSW50ZXJhY3RpdmUnLCAncmVtb3ZlQW5hbHl0aWNzSWQnLCAnc2l6ZScsICd0YXJnZXQnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVGFnIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFRhZ0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDbGljaycsICdzdHpoRm9jdXMnLCAnc3R6aEJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhUYWdDbGlja0V2ZW50IGFzIElTdHpoVGFnU3R6aFRhZ0NsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhUYWdGb2N1c0V2ZW50IGFzIElTdHpoVGFnU3R6aFRhZ0ZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhUYWdCbHVyRXZlbnQgYXMgSVN0emhUYWdTdHpoVGFnQmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFRhZyBleHRlbmRzIENvbXBvbmVudHMuU3R6aFRhZyB7XG4gIC8qKlxuICAgKiBDbGljayBldmVudFxuICAgKi9cbiAgc3R6aENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUYWdTdHpoVGFnQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVGFnU3R6aFRhZ0ZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUYWdTdHpoVGFnQmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2N1cnZlJywgJ2ZvbnQnLCAnbGVhZCcsICdzaXplJywgJ3NpemVMYXJnZScsICdzaXplTWVkaXVtJywgJ3NpemVTbWFsbCcsICdzaXplVWx0cmEnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnY3VydmUnLCAnZm9udCcsICdsZWFkJywgJ3NpemUnLCAnc2l6ZUxhcmdlJywgJ3NpemVNZWRpdW0nLCAnc2l6ZVNtYWxsJywgJ3NpemVVbHRyYSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVGV4dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhUZXh0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFRleHQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhUZXh0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ltYWdlUG9zaXRpb24nLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10ZXh0YW5kaW1hZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ltYWdlUG9zaXRpb24nLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVGV4dGFuZGltYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFRleHRhbmRpbWFnZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhUZXh0YW5kaW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhUZXh0YW5kaW1hZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sbGFwc2libGUnLCAnZm9sZGFibGUnLCAnbXVsdGlzZWxlY3RhYmxlJ10sXG4gIG1ldGhvZHM6IFsnc2V0SXRlbUZvY3VzJywgJ3VwZGF0ZVN0ZXBzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXRpbWVsaW5lJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xsYXBzaWJsZScsICdmb2xkYWJsZScsICdtdWx0aXNlbGVjdGFibGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFRpbWVsaW5lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFRpbWVsaW5lRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEZvbGRhYmxlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVGltZWxpbmVGb2xkYWJsZUNoYW5nZUV2ZW50IGFzIElTdHpoVGltZWxpbmVTdHpoVGltZWxpbmVGb2xkYWJsZUNoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFRpbWVsaW5lIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoVGltZWxpbmUge1xuICAvKipcbiAgICogRm9sZGFibGUgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoRm9sZGFibGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRpbWVsaW5lU3R6aFRpbWVsaW5lRm9sZGFibGVDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmFseXRpY3NJZCcsICdiYWRnZScsICdiYWRnZUVtcHR5JywgJ2JhZGdlVHlwZScsICdjb2xsYXBzaWJsZScsICdjb21wbGV0ZWQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZm9sZGFibGUnLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaWNvbicsICdvcGVuJywgJ3N0ZXAnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9nZ2xlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXRpbWVsaW5lLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2JhZGdlJywgJ2JhZGdlRW1wdHknLCAnYmFkZ2VUeXBlJywgJ2NvbGxhcHNpYmxlJywgJ2NvbXBsZXRlZCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdmb2xkYWJsZScsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdpY29uJywgJ29wZW4nLCAnc3RlcCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVGltZWxpbmVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFRpbWVsaW5lSXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhPcGVuJywgJ3N0emhPcGVuZWQnLCAnc3R6aENsb3NlJywgJ3N0emhDbG9zZWQnLCAnc3R6aEZvY3VzJywgJ3N0emhCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVGltZWxpbmVJdGVtT3BlbkV2ZW50IGFzIElTdHpoVGltZWxpbmVJdGVtU3R6aFRpbWVsaW5lSXRlbU9wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRpbWVsaW5lSXRlbU9wZW5lZEV2ZW50IGFzIElTdHpoVGltZWxpbmVJdGVtU3R6aFRpbWVsaW5lSXRlbU9wZW5lZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVGltZWxpbmVJdGVtQ2xvc2VFdmVudCBhcyBJU3R6aFRpbWVsaW5lSXRlbVN0emhUaW1lbGluZUl0ZW1DbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVGltZWxpbmVJdGVtQ2xvc2VkRXZlbnQgYXMgSVN0emhUaW1lbGluZUl0ZW1TdHpoVGltZWxpbmVJdGVtQ2xvc2VkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhUaW1lbGluZUl0ZW1Gb2N1c0V2ZW50IGFzIElTdHpoVGltZWxpbmVJdGVtU3R6aFRpbWVsaW5lSXRlbUZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhUaW1lbGluZUl0ZW1CbHVyRXZlbnQgYXMgSVN0emhUaW1lbGluZUl0ZW1TdHpoVGltZWxpbmVJdGVtQmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFRpbWVsaW5lSXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFRpbWVsaW5lSXRlbSB7XG4gIC8qKlxuICAgKiBPcGVuIGV2ZW50XG4gICAqL1xuICBzdHpoT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVGltZWxpbmVJdGVtU3R6aFRpbWVsaW5lSXRlbU9wZW5FdmVudD4+O1xuICAvKipcbiAgICogT3BlbmVkIGV2ZW50IChhZnRlciBhbmltYXRpb24pXG4gICAqL1xuICBzdHpoT3BlbmVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUaW1lbGluZUl0ZW1TdHpoVGltZWxpbmVJdGVtT3BlbmVkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRpbWVsaW5lSXRlbVN0emhUaW1lbGluZUl0ZW1DbG9zZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBDbG9zZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhDbG9zZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRpbWVsaW5lSXRlbVN0emhUaW1lbGluZUl0ZW1DbG9zZWRFdmVudD4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVGltZWxpbmVJdGVtU3R6aFRpbWVsaW5lSXRlbUZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUaW1lbGluZUl0ZW1TdHpoVGltZWxpbmVJdGVtQmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdvcGVuJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzdGVwJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXRpbWVwaWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdvcGVuJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzdGVwJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhUaW1lcGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFRpbWVwaWNrZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVGltZXBpY2tlckNoYW5nZUV2ZW50IGFzIElTdHpoVGltZXBpY2tlclN0emhUaW1lcGlja2VyQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVGltZXBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuU3R6aFRpbWVwaWNrZXIge1xuICAvKipcbiAgICogVGltZXBpY2tlciBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRpbWVwaWNrZXJTdHpoVGltZXBpY2tlckNoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGVDbG9zZScsICdpbml0aWFsT3BlbkFuaW1hdGlvbicsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAnb3BlbicsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXRvYXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRlQ2xvc2UnLCAnaW5pdGlhbE9wZW5BbmltYXRpb24nLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ29wZW4nLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVG9hc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVG9hc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoT3BlbicsICdzdHpoT3BlbmVkJywgJ3N0emhDbG9zZScsICdzdHpoQ2xvc2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVG9hc3RPcGVuRXZlbnQgYXMgSVN0emhUb2FzdFN0emhUb2FzdE9wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRvYXN0T3BlbmVkRXZlbnQgYXMgSVN0emhUb2FzdFN0emhUb2FzdE9wZW5lZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVG9hc3RDbG9zZUV2ZW50IGFzIElTdHpoVG9hc3RTdHpoVG9hc3RDbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVG9hc3RDbG9zZWRFdmVudCBhcyBJU3R6aFRvYXN0U3R6aFRvYXN0Q2xvc2VkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVG9hc3QgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhUb2FzdCB7XG4gIC8qKlxuICAgKiBUb2FzdCBvcGVuIGV2ZW50XG4gICAqL1xuICBzdHpoT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVG9hc3RTdHpoVG9hc3RPcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFRvYXN0IG9wZW5lZCBldmVudCAoYWZ0ZXIgYW5pbWF0aW9uKVxuICAgKi9cbiAgc3R6aE9wZW5lZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVG9hc3RTdHpoVG9hc3RPcGVuZWRFdmVudD4+O1xuICAvKipcbiAgICogVG9hc3QgY2xvc2UgZXZlbnRcbiAgICovXG4gIHN0emhDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVG9hc3RTdHpoVG9hc3RDbG9zZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBUb2FzdCBjbG9zZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhDbG9zZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRvYXN0U3R6aFRvYXN0Q2xvc2VkRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUFmdGVyJywgJ2luaXRpYWxUb2FzdHMnLCAnbWF4J10sXG4gIG1ldGhvZHM6IFsndG9hc3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdG9hc3RiYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGVBZnRlcicsICdpbml0aWFsVG9hc3RzJywgJ21heCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVG9hc3RiYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVG9hc3RiYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVG9hc3RiYXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhUb2FzdGJhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnY2hlY2tlZCcsICdkZWZhdWx0Q2hlY2tlZCcsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbGFiZWxQb3NpdGlvbicsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10b2dnbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdjaGVja2VkJywgJ2RlZmF1bHRDaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhUb2dnbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVG9nZ2xlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZScsICdzdHpoRm9jdXMnLCAnc3R6aEJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhUb2dnbGVDaGFuZ2VFdmVudCBhcyBJU3R6aFRvZ2dsZVN0emhUb2dnbGVDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRvZ2dsZUZvY3VzRXZlbnQgYXMgSVN0emhUb2dnbGVTdHpoVG9nZ2xlRm9jdXNFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRvZ2dsZUJsdXJFdmVudCBhcyBJU3R6aFRvZ2dsZVN0emhUb2dnbGVCbHVyRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVG9nZ2xlIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoVG9nZ2xlIHtcbiAgLyoqXG4gICAqIENoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVG9nZ2xlU3R6aFRvZ2dsZUNoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudFxuICAgKi9cbiAgc3R6aEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUb2dnbGVTdHpoVG9nZ2xlRm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgYmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRvZ2dsZVN0emhUb2dnbGVCbHVyRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGVudCcsICdkaXN0YW5jZScsICdpbnRlcmFjdGl2ZScsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2l6ZScsICdza2lkZGluZycsICdzdHJhdGVneScsICd0cmlnZ2VyJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9nZ2xlJywgJ3VwZGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250ZW50JywgJ2Rpc3RhbmNlJywgJ2ludGVyYWN0aXZlJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICdvcGVuJywgJ3BsYWNlbWVudCcsICdzaXplJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3RyaWdnZXInLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhUb29sdGlwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aE9wZW4nLCAnc3R6aE9wZW5lZCcsICdzdHpoQ2xvc2UnLCAnc3R6aENsb3NlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aFRvb2x0aXBPcGVuRXZlbnQgYXMgSVN0emhUb29sdGlwU3R6aFRvb2x0aXBPcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhUb29sdGlwT3BlbmVkRXZlbnQgYXMgSVN0emhUb29sdGlwU3R6aFRvb2x0aXBPcGVuZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRvb2x0aXBDbG9zZUV2ZW50IGFzIElTdHpoVG9vbHRpcFN0emhUb29sdGlwQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRvb2x0aXBDbG9zZWRFdmVudCBhcyBJU3R6aFRvb2x0aXBTdHpoVG9vbHRpcENsb3NlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhUb29sdGlwIHtcbiAgLyoqXG4gICAqIFRvb2x0aXAgb3BlbiBldmVudFxuICAgKi9cbiAgc3R6aE9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRvb2x0aXBTdHpoVG9vbHRpcE9wZW5FdmVudD4+O1xuICAvKipcbiAgICogVG9vbHRpcCBvcGVuZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhPcGVuZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRvb2x0aXBTdHpoVG9vbHRpcE9wZW5lZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBUb29sdGlwIGNsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRvb2x0aXBTdHpoVG9vbHRpcENsb3NlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFRvb2x0aXAgY2xvc2VkIGV2ZW50IChhZnRlciBhbmltYXRpb24pXG4gICAqL1xuICBzdHpoQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUb29sdGlwU3R6aFRvb2x0aXBDbG9zZWRFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10d29jb2x1bW5zJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhUd29jb2x1bW5zIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFR3b2NvbHVtbnNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVHdvY29sdW1ucyBleHRlbmRzIENvbXBvbmVudHMuU3R6aFR3b2NvbHVtbnMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2FjY2VwdGVkRmlsZXMnLCAnYXV0b1Byb2Nlc3NRdWV1ZScsICdidXR0b24nLCAnYnV0dG9uU2NhbicsICdjaHVua1NpemUnLCAnY2h1bmtpbmcnLCAnY2h1bmtzVXBsb2FkZWQnLCAnZGVmYXVsdEhlYWRlcnMnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZVRvYXN0cycsICdkaXNhYmxlZCcsICdkb3dubG9hZERpc2FibGVkJywgJ2Rvd25sb2FkRGlzYWJsZWRXaGlsZVByb2Nlc3NpbmcnLCAnZXJyb3InLCAnZXhpc3RpbmdGaWxlcycsICdmaWxlc2l6ZUJhc2UnLCAnZm9yY2VDaHVua2luZycsICdoZWFkZXJzJywgJ2hlYWRlcnNBc3luYycsICdoZWFkaW5nJywgJ2hpZGRlbklucHV0Q29udGFpbmVyJywgJ2hpZGVQcm9ncmVzcycsICdoaWRlUHJvZ3Jlc3NXaGlsZUlkbGUnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAnbWF4RmlsZXMnLCAnbWF4RmlsZXNpemUnLCAnbWF4RmlsZXNpemVUb3RhbCcsICdtZXRob2QnLCAnbmFtZScsICdwYXJhbGxlbENodW5rVXBsb2FkcycsICdwYXJhbGxlbFVwbG9hZHMnLCAncGhvdG9ncmFwaGluZ0VuYWJsZWQnLCAncHJldmVudER1cGxpY2F0ZUZpbGVOYW1lcycsICdwcmV2ZW50SGlkZGVuSW5wdXRDbGVhcicsICdyZXRyeUNodW5rcycsICdyZXRyeUNodW5rc0xpbWl0JywgJ3VwbG9hZE11bHRpcGxlJywgJ3VybCcsICd3aXRoQ3JlZGVudGlhbHMnXSxcbiAgbWV0aG9kczogWydwcm9jZXNzUXVldWUnLCAncmVtb3ZlRmlsZScsICdyZW1vdmVBbGxGaWxlcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC11cGxvYWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2VwdCcsICdhY2NlcHRlZEZpbGVzJywgJ2F1dG9Qcm9jZXNzUXVldWUnLCAnYnV0dG9uJywgJ2J1dHRvblNjYW4nLCAnY2h1bmtTaXplJywgJ2NodW5raW5nJywgJ2NodW5rc1VwbG9hZGVkJywgJ2RlZmF1bHRIZWFkZXJzJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVUb2FzdHMnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWREaXNhYmxlZCcsICdkb3dubG9hZERpc2FibGVkV2hpbGVQcm9jZXNzaW5nJywgJ2Vycm9yJywgJ2V4aXN0aW5nRmlsZXMnLCAnZmlsZXNpemVCYXNlJywgJ2ZvcmNlQ2h1bmtpbmcnLCAnaGVhZGVycycsICdoZWFkZXJzQXN5bmMnLCAnaGVhZGluZycsICdoaWRkZW5JbnB1dENvbnRhaW5lcicsICdoaWRlUHJvZ3Jlc3MnLCAnaGlkZVByb2dyZXNzV2hpbGVJZGxlJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ21heEZpbGVzJywgJ21heEZpbGVzaXplJywgJ21heEZpbGVzaXplVG90YWwnLCAnbWV0aG9kJywgJ25hbWUnLCAncGFyYWxsZWxDaHVua1VwbG9hZHMnLCAncGFyYWxsZWxVcGxvYWRzJywgJ3Bob3RvZ3JhcGhpbmdFbmFibGVkJywgJ3ByZXZlbnREdXBsaWNhdGVGaWxlTmFtZXMnLCAncHJldmVudEhpZGRlbklucHV0Q2xlYXInLCAncmV0cnlDaHVua3MnLCAncmV0cnlDaHVua3NMaW1pdCcsICd1cGxvYWRNdWx0aXBsZScsICd1cmwnLCAnd2l0aENyZWRlbnRpYWxzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhVcGxvYWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVXBsb2FkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEZpbGVBZGRlZCcsICdzdHpoRmlsZXNBZGRlZCcsICdzdHpoRmlsZVJlbW92ZScsICdzdHpoRmlsZVJlbW92ZWQnLCAnc3R6aFNlbmRpbmcnLCAnc3R6aFNlbmRpbmdNdWx0aXBsZScsICdzdHpoUHJvY2Vzc2luZycsICdzdHpoUHJvY2Vzc2luZ011bHRpcGxlJywgJ3N0emhQcm9ncmVzcycsICdzdHpoUHJvZ3Jlc3NUb3RhbCcsICdzdHpoRXJyb3InLCAnc3R6aEVycm9yTXVsdGlwbGUnLCAnc3R6aFN1Y2Nlc3MnLCAnc3R6aFN1Y2Nlc3NNdWx0aXBsZScsICdzdHpoQ2FuY2VsZWQnLCAnc3R6aENhbmNlbGVkTXVsdGlwbGUnLCAnc3R6aENvbXBsZXRlJywgJ3N0emhDb21wbGV0ZU11bHRpcGxlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVXBsb2FkRmlsZUFkZGVkRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkRmlsZUFkZGVkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhVcGxvYWRGaWxlc0FkZGVkRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkRmlsZXNBZGRlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVXBsb2FkRmlsZVJlbW92ZUV2ZW50IGFzIElTdHpoVXBsb2FkU3R6aFVwbG9hZEZpbGVSZW1vdmVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZEZpbGVSZW1vdmVkRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkRmlsZVJlbW92ZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZFNlbmRpbmdFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRTZW5kaW5nRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhVcGxvYWRTZW5kaW5nTXVsdGlwbGVFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRTZW5kaW5nTXVsdGlwbGVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZFByb2Nlc3NpbmdFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRQcm9jZXNzaW5nRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhVcGxvYWRQcm9jZXNzaW5nTXVsdGlwbGVFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRQcm9jZXNzaW5nTXVsdGlwbGVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZFByb2dyZXNzRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkUHJvZ3Jlc3NFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZFByb2dyZXNzVG90YWxFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRQcm9ncmVzc1RvdGFsRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhVcGxvYWRFcnJvckV2ZW50IGFzIElTdHpoVXBsb2FkU3R6aFVwbG9hZEVycm9yRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhVcGxvYWRFcnJvck11bHRpcGxlRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkRXJyb3JNdWx0aXBsZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVXBsb2FkU3VjY2Vzc0V2ZW50IGFzIElTdHpoVXBsb2FkU3R6aFVwbG9hZFN1Y2Nlc3NFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZFN1Y2Nlc3NNdWx0aXBsZUV2ZW50IGFzIElTdHpoVXBsb2FkU3R6aFVwbG9hZFN1Y2Nlc3NNdWx0aXBsZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVXBsb2FkQ2FuY2VsZWRFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRDYW5jZWxlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVXBsb2FkQ2FuY2VsZWRNdWx0aXBsZUV2ZW50IGFzIElTdHpoVXBsb2FkU3R6aFVwbG9hZENhbmNlbGVkTXVsdGlwbGVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZENvbXBsZXRlRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkQ29tcGxldGVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZENvbXBsZXRlTXVsdGlwbGVFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRDb21wbGV0ZU11bHRpcGxlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVXBsb2FkIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoVXBsb2FkIHtcbiAgLyoqXG4gICAqIEZpbGUgYWRkZWRcbiAgICovXG4gIHN0emhGaWxlQWRkZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRGaWxlQWRkZWRFdmVudD4+O1xuICAvKipcbiAgICogRmlsZXMgYWRkZWQgKG11bHRpcGxlKVxuICAgKi9cbiAgc3R6aEZpbGVzQWRkZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRGaWxlc0FkZGVkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpbGUgcmVtb3ZlIChiZWZvcmUsIGNhbmNlbGFibGUpXG4gICAqL1xuICBzdHpoRmlsZVJlbW92ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVXBsb2FkU3R6aFVwbG9hZEZpbGVSZW1vdmVFdmVudD4+O1xuICAvKipcbiAgICogRmlsZSByZW1vdmVkXG4gICAqL1xuICBzdHpoRmlsZVJlbW92ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRGaWxlUmVtb3ZlZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBCZWZvcmUgc2VuZGluZyBmaWxlIChhZGQgYWRkaXRpb25hbCBkYXRhIGJlZm9yZSByZXF1ZXN0IGlmIG5lY2Vzc2FyeSlcbiAgICovXG4gIHN0emhTZW5kaW5nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkU2VuZGluZ0V2ZW50Pj47XG4gIC8qKlxuICAgKiBCZWZvcmUgc2VuZGluZyBtdWx0aXBsZSBmaWxlcyAoYWRkIGFkZGl0aW9uYWwgZGF0YSBiZWZvcmUgcmVxdWVzdCBpZiBuZWNlc3NhcnkpXG4gICAqL1xuICBzdHpoU2VuZGluZ011bHRpcGxlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkU2VuZGluZ011bHRpcGxlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpbGVzIHN0YXJ0aW5nIHRvIGdldCBwcm9jZXNzZWRcbiAgICovXG4gIHN0emhQcm9jZXNzaW5nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkUHJvY2Vzc2luZ0V2ZW50Pj47XG4gIC8qKlxuICAgKiBGaWxlcyBzdGFydGluZyB0byBnZXQgcHJvY2Vzc2VkIChtdWx0aXBsZSlcbiAgICovXG4gIHN0emhQcm9jZXNzaW5nTXVsdGlwbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRQcm9jZXNzaW5nTXVsdGlwbGVFdmVudD4+O1xuICAvKipcbiAgICogVXBsb2FkIGZpbGUgcHJvZ3Jlc3MgZHVyaW5nIHVwbG9hZFxuICAgKi9cbiAgc3R6aFByb2dyZXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkUHJvZ3Jlc3NFdmVudD4+O1xuICAvKipcbiAgICogVXBsb2FkIHRvdGFsIGZpbGUgcHJvZ3Jlc3MgZHVyaW5nIHVwbG9hZFxuICAgKi9cbiAgc3R6aFByb2dyZXNzVG90YWw6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRQcm9ncmVzc1RvdGFsRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpbGUgZXJyb3JcbiAgICovXG4gIHN0emhFcnJvcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVXBsb2FkU3R6aFVwbG9hZEVycm9yRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpbGVzIGVycm9yIChtdWx0aXBsZSBmaWxlcylcbiAgICovXG4gIHN0emhFcnJvck11bHRpcGxlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkRXJyb3JNdWx0aXBsZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBGaWxlIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZFxuICAgKi9cbiAgc3R6aFN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRTdWNjZXNzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpbGVzIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZCAobXVsdGlwbGUgZmlsZXMpXG4gICAqL1xuICBzdHpoU3VjY2Vzc011bHRpcGxlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkU3VjY2Vzc011bHRpcGxlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENhbmNlbGVkIGZpbGUgdXBsb2FkXG4gICAqL1xuICBzdHpoQ2FuY2VsZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRDYW5jZWxlZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBDYW5jZWxlZCBmaWxlIHVwbG9hZCAobXVsdGlwbGUgZmlsZXMpXG4gICAqL1xuICBzdHpoQ2FuY2VsZWRNdWx0aXBsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVXBsb2FkU3R6aFVwbG9hZENhbmNlbGVkTXVsdGlwbGVFdmVudD4+O1xuICAvKipcbiAgICogQ29tcGxldGVkIHVwbG9hZCAoc3VjY2Vzc2Z1bGx5IG9yIHdpdGggZXJyb3IpXG4gICAqL1xuICBzdHpoQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRDb21wbGV0ZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBDb21wbGV0ZWQgdXBsb2FkIChzdWNjZXNzZnVsbHkgb3Igd2l0aCBlcnJvciwgbXVsdGlwbGUgZmlsZXMpXG4gICAqL1xuICBzdHpoQ29tcGxldGVNdWx0aXBsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVXBsb2FkU3R6aFVwbG9hZENvbXBsZXRlTXVsdGlwbGVFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvcGxheVRpbWVvdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmJ6LWNhcm91c2VsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvcGxheVRpbWVvdXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFZiekNhcm91c2VsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFZiekNhcm91c2VsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFZiekNhcm91c2VsIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoVmJ6Q2Fyb3VzZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnenZ2U2NyaXB0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXZiei1jb25uZWN0aW9uLWZpbmRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnenZ2U2NyaXB0J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhWYnpDb25uZWN0aW9uRmluZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFZiekNvbm5lY3Rpb25GaW5kZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVmJ6Q29ubmVjdGlvbkZpbmRlciBleHRlbmRzIENvbXBvbmVudHMuU3R6aFZiekNvbm5lY3Rpb25GaW5kZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbG9jYWxpemF0aW9uJywgJ3F1aWNrbGlua3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmJ6LWludHJvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsb2NhbGl6YXRpb24nLCAncXVpY2tsaW5rcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVmJ6SW50cm8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVmJ6SW50cm9FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVmJ6SW50cm8gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhWYnpJbnRybyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYWxlcnQnLCAnYW5hbHl0aWNzSWQnLCAnZGlzYWJsZWQnLCAnZ2xvYmFsJywgJ2xpbmUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmJ6LWxpbmVjaGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnYWxlcnQnLCAnYW5hbHl0aWNzSWQnLCAnZGlzYWJsZWQnLCAnZ2xvYmFsJywgJ2xpbmUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFZiekxpbmVjaGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFZiekxpbmVjaGlwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEZvY3VzJywgJ3N0emhCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVmJ6TGluZWNoaXBGb2N1c0V2ZW50IGFzIElTdHpoVmJ6TGluZWNoaXBTdHpoVmJ6TGluZWNoaXBGb2N1c0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVmJ6TGluZWNoaXBCbHVyRXZlbnQgYXMgSVN0emhWYnpMaW5lY2hpcFN0emhWYnpMaW5lY2hpcEJsdXJFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhWYnpMaW5lY2hpcCBleHRlbmRzIENvbXBvbmVudHMuU3R6aFZiekxpbmVjaGlwIHtcbiAgLyoqXG4gICAqIEZvY3VzIGV2ZW50XG4gICAqL1xuICBzdHpoRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFZiekxpbmVjaGlwU3R6aFZiekxpbmVjaGlwRm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgYmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFZiekxpbmVjaGlwU3R6aFZiekxpbmVjaGlwQmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwaScsICdkYXRhJywgJ2RhdGVBZGFwdGVyJywgJ2xvY2FsaXphdGlvbicsICdtb3JlSW5mb0xpbmsnLCAnc2hvd0Nsb3NlS2V5J10sXG4gIG1ldGhvZHM6IFsnZ2V0R2hldHRvYm94U2hvd24nLCAnZ2V0RGlzdHVyYmFuY2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmJ6LW1ham9ydGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcGknLCAnZGF0YScsICdkYXRlQWRhcHRlcicsICdsb2NhbGl6YXRpb24nLCAnbW9yZUluZm9MaW5rJywgJ3Nob3dDbG9zZUtleSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVmJ6TWFqb3J0aWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVmJ6TWFqb3J0aWNrZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoRGlzdHVyYmFuY2VGZXRjaGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVmJ6TWFqb3J0aWNrZXJEaXN0dXJiYW5jZUZldGNoZWRFdmVudCBhcyBJU3R6aFZiek1ham9ydGlja2VyU3R6aFZiek1ham9ydGlja2VyRGlzdHVyYmFuY2VGZXRjaGVkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVmJ6TWFqb3J0aWNrZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhWYnpNYWpvcnRpY2tlciB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIG1ham9yIGRpc3R1cmJhbmNlIHdhcyBmZXRjaGVkXG4gICAqL1xuICBzdHpoRGlzdHVyYmFuY2VGZXRjaGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhWYnpNYWpvcnRpY2tlclN0emhWYnpNYWpvcnRpY2tlckRpc3R1cmJhbmNlRmV0Y2hlZEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwaScsICdkYXRhJywgJ2RhdGVBZGFwdGVyJywgJ2xvY2FsaXphdGlvbicsICdtb3JlSW5mb0xpbmsnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmJ6LXRpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBpJywgJ2RhdGEnLCAnZGF0ZUFkYXB0ZXInLCAnbG9jYWxpemF0aW9uJywgJ21vcmVJbmZvTGluayddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVmJ6VGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFZielRpY2tlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhWYnpUaWNrZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhWYnpUaWNrZXIge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmlzdWFsbHloaWRkZW4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFZpc3VhbGx5aGlkZGVuIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFZpc3VhbGx5aGlkZGVuRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFZpc3VhbGx5aGlkZGVuIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoVmlzdWFsbHloaWRkZW4ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJvdW5kJywgJ2Fyb3VuZEJvdHRvbScsICdhcm91bmRUb3AnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXZzcGFjZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJvdW5kJywgJ2Fyb3VuZEJvdHRvbScsICdhcm91bmRUb3AnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhWc3BhY2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVnNwYWNlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFZzcGFjZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFZzcGFjZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb29raWUnLCAnY29va2llRXhwaXJlcycsICdsb2NhbGl6YXRpb24nLCAnc2tpcFByZXZpZXcnLCAnc2tpcFByZXZpZXdJZkNvb2tpZUFjY2VwdGVkJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC15b3V0dWJlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb29raWUnLCAnY29va2llRXhwaXJlcycsICdsb2NhbGl6YXRpb24nLCAnc2tpcFByZXZpZXcnLCAnc2tpcFByZXZpZXdJZkNvb2tpZUFjY2VwdGVkJywgJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoWW91dHViZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhZb3V0dWJlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFlvdXR1YmUgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhZb3V0dWJlIHt9XG5cblxuIl19
|
|
3605
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0emgtY29tcG9uZW50cy1hbmd1bGFyL3NyYy9saWIvc3RlbmNpbC1nZW5lcmF0ZWQvcHJveGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFnQmhFLFdBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWE7SUFFeEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0dBTlUsYUFBYTttR0FBYixhQUFhLDBLQUpkLDJCQUEyQjs7QUFJMUIsYUFBYTtJQVh6QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsQ0FBQztRQUNoRSxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7S0FDMUIsQ0FBQztHQVFXLGFBQWEsQ0FPekI7NEZBUFksYUFBYTtrQkFQekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUs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QUxVLFdBQVc7bUdBQVgsV0FBVyxvUEFKWiwyQkFBMkI7O0FBSTFCLFdBQVc7SUFWdkIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLDZCQUE2QixFQUFFLEtBQUssQ0FBQztLQUN6RyxDQUFDO0dBUVcsV0FBVyxDQU12Qjs0RkFOWSxXQUFXO2tCQVB2QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsNkJBQTZCLEVBQUUsS0FBSyxDQUFDO2lCQUN6RyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sbGFwc2libGUnLCAnaGVhZGluZycsICdtdWx0aXNlbGVjdGFibGUnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ3NldEl0ZW1Gb2N1cyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbGxhcHNpYmxlJywgJ2hlYWRpbmcnLCAnbXVsdGlzZWxlY3RhYmxlJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEFjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhBY2NvcmRpb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoVmFyaWFudENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEFjY29yZGlvblZhcmlhbnRDaGFuZ2VFdmVudCBhcyBJU3R6aEFjY29yZGlvblN0emhBY2NvcmRpb25WYXJpYW50Q2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQWNjb3JkaW9uIHtcbiAgLyoqXG4gICAqIFZhcmlhbnQgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoVmFyaWFudENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQWNjb3JkaW9uU3R6aEFjY29yZGlvblZhcmlhbnRDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmFseXRpY3NJZCcsICdiYWRnZScsICdiYWRnZUVtcHR5JywgJ2JhZGdlVHlwZScsICdjb2xsYXBzaWJsZScsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdpY29uJywgJ29wZW4nLCAnc3VidGl0bGUnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZScsICd0b2dnbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYWNjb3JkaW9uLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2JhZGdlJywgJ2JhZGdlRW1wdHknLCAnYmFkZ2VUeXBlJywgJ2NvbGxhcHNpYmxlJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVkJywgJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2ljb24nLCAnb3BlbicsICdzdWJ0aXRsZScsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhBY2NvcmRpb25JdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEFjY29yZGlvbkl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoT3BlbicsICdzdHpoT3BlbmVkJywgJ3N0emhDbG9zZScsICdzdHpoQ2xvc2VkJywgJ3N0emhGb2N1cycsICdzdHpoQmx1ciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEFjY29yZGlvbkl0ZW1PcGVuRXZlbnQgYXMgSVN0emhBY2NvcmRpb25JdGVtU3R6aEFjY29yZGlvbkl0ZW1PcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhBY2NvcmRpb25JdGVtT3BlbmVkRXZlbnQgYXMgSVN0emhBY2NvcmRpb25JdGVtU3R6aEFjY29yZGlvbkl0ZW1PcGVuZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEFjY29yZGlvbkl0ZW1DbG9zZUV2ZW50IGFzIElTdHpoQWNjb3JkaW9uSXRlbVN0emhBY2NvcmRpb25JdGVtQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEFjY29yZGlvbkl0ZW1DbG9zZWRFdmVudCBhcyBJU3R6aEFjY29yZGlvbkl0ZW1TdHpoQWNjb3JkaW9uSXRlbUNsb3NlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQWNjb3JkaW9uSXRlbUZvY3VzRXZlbnQgYXMgSVN0emhBY2NvcmRpb25JdGVtU3R6aEFjY29yZGlvbkl0ZW1Gb2N1c0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQWNjb3JkaW9uSXRlbUJsdXJFdmVudCBhcyBJU3R6aEFjY29yZGlvbkl0ZW1TdHpoQWNjb3JkaW9uSXRlbUJsdXJFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBY2NvcmRpb25JdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQWNjb3JkaW9uSXRlbSB7XG4gIC8qKlxuICAgKiBPcGVuIGV2ZW50XG4gICAqL1xuICBzdHpoT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQWNjb3JkaW9uSXRlbVN0emhBY2NvcmRpb25JdGVtT3BlbkV2ZW50Pj47XG4gIC8qKlxuICAgKiBPcGVuZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhPcGVuZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEFjY29yZGlvbkl0ZW1TdHpoQWNjb3JkaW9uSXRlbU9wZW5lZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBDbG9zZSBldmVudFxuICAgKi9cbiAgc3R6aENsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBY2NvcmRpb25JdGVtU3R6aEFjY29yZGlvbkl0ZW1DbG9zZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBDbG9zZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhDbG9zZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEFjY29yZGlvbkl0ZW1TdHpoQWNjb3JkaW9uSXRlbUNsb3NlZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudFxuICAgKi9cbiAgc3R6aEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBY2NvcmRpb25JdGVtU3R6aEFjY29yZGlvbkl0ZW1Gb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBJbnB1dCBibHVyIGV2ZW50XG4gICAqL1xuICBzdHpoQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQWNjb3JkaW9uSXRlbVN0emhBY2NvcmRpb25JdGVtQmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NwYWNlQmV0d2VlbicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWFjdGlvbnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NwYWNlQmV0d2VlbicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhBY3Rpb25zIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEFjdGlvbnNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQWN0aW9ucyBleHRlbmRzIENvbXBvbmVudHMuU3R6aEFjdGlvbnMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aW9ucycsICdsb2NhbGl6YXRpb24nLCAncG9wb3ZlckJ1dHRvblNpemUnLCAncG9wb3ZlckJ1dHRvblZhcmlhbnQnLCAncG9wb3ZlclBsYWNlbWVudCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWFjdGlvbnNldCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aW9ucycsICdsb2NhbGl6YXRpb24nLCAncG9wb3ZlckJ1dHRvblNpemUnLCAncG9wb3ZlckJ1dHRvblZhcmlhbnQnLCAncG9wb3ZlclBsYWNlbWVudCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhBY3Rpb25zZXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQWN0aW9uc2V0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEFjdGlvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQWN0aW9uc2V0SXRlbUNsaWNrRXZlbnQgYXMgSVN0emhBY3Rpb25zZXRTdHpoQWN0aW9uc2V0SXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQWN0aW9uc2V0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQWN0aW9uc2V0IHtcbiAgLyoqXG4gICAqIEhlYWRlciBhY3Rpb24gY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhBY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQWN0aW9uc2V0U3R6aEFjdGlvbnNldEl0ZW1DbGlja0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdjbGVhcmFibGUnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICdtYXhWYWx1ZScsICdtYXhWYWx1ZURyb3Bkb3duJywgJ21pblZhbHVlJywgJ21pblZhbHVlRHJvcGRvd24nLCAnbmFtZScsICdwb3BvdmVyUGxhY2VtZW50JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAnc3RlcCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1hbW91bnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdjbGVhcmFibGUnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICdtYXhWYWx1ZScsICdtYXhWYWx1ZURyb3Bkb3duJywgJ21pblZhbHVlJywgJ21pblZhbHVlRHJvcGRvd24nLCAnbmFtZScsICdwb3BvdmVyUGxhY2VtZW50JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAnc3RlcCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQW1vdW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEFtb3VudEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhBbW91bnRDaGFuZ2VFdmVudCBhcyBJU3R6aEFtb3VudFN0emhBbW91bnRDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBbW91bnQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhBbW91bnQge1xuICAvKipcbiAgICogQW1vdW50IGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQW1vdW50U3R6aEFtb3VudENoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2l0ZW1zJywgJ2xvY2FsaXphdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1hbmNob3JuYXYnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2l0ZW1zJywgJ2xvY2FsaXphdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQW5jaG9ybmF2IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEFuY2hvcm5hdkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhJdGVtQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhBbmNob3JuYXZJdGVtQ2xpY2tFdmVudCBhcyBJU3R6aEFuY2hvcm5hdlN0emhBbmNob3JuYXZJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBbmNob3JuYXYgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhBbmNob3JuYXYge1xuICAvKipcbiAgICogSXRlbSBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aEl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQW5jaG9ybmF2U3R6aEFuY2hvcm5hdkl0ZW1DbGlja0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwcE5hdklkJywgJ2l0ZW1zJywgJ2xvY2FsaXphdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1hcHAtbmF2JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcHBOYXZJZCcsICdpdGVtcycsICdsb2NhbGl6YXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEFwcE5hdiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhBcHBOYXZFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQXBwTmF2SXRlbUNsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQXBwTmF2SXRlbUNsaWNrRXZlbnQgYXMgSVN0emhBcHBOYXZTdHpoQXBwTmF2SXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQXBwTmF2IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQXBwTmF2IHtcbiAgLyoqXG4gICAqIEFwcE5hdiBpdGVtIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoQXBwTmF2SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBcHBOYXZTdHpoQXBwTmF2SXRlbUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBwb2ludG1lbnRzJywgJ2FwcG9pbnRtZW50c1RpdGxlJywgJ2NhbGVuZGFyVGl0bGUnLCAnY3VycmVudERhdGUnLCAnZGF0ZUFkYXB0ZXInLCAnZGlzYWJsZVNvcnQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAnc2hvd0l0ZW1zJywgJ3NvcnRCeScsICdzdGVwSXRlbXMnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYXBwb2ludG1lbnRzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcHBvaW50bWVudHMnLCAnYXBwb2ludG1lbnRzVGl0bGUnLCAnY2FsZW5kYXJUaXRsZScsICdjdXJyZW50RGF0ZScsICdkYXRlQWRhcHRlcicsICdkaXNhYmxlU29ydCcsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdzaG93SXRlbXMnLCAnc29ydEJ5JywgJ3N0ZXBJdGVtcycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQXBwb2ludG1lbnRzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEFwcG9pbnRtZW50c0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhBcHBvaW50bWVudHNDaGFuZ2VFdmVudCBhcyBJU3R6aEFwcG9pbnRtZW50c1N0emhBcHBvaW50bWVudHNDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhBcHBvaW50bWVudHMgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhBcHBvaW50bWVudHMge1xuICAvKipcbiAgICogQXBwb2ludG1lbnRzIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQXBwb2ludG1lbnRzU3R6aEFwcG9pbnRtZW50c0NoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2l0ZW1zJywgJ2xvY2FsaXphdGlvbicsICdzaG93SXRlbXMnLCAnc3RlcEl0ZW1zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWFyY2hpdmVsaXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdpdGVtcycsICdsb2NhbGl6YXRpb24nLCAnc2hvd0l0ZW1zJywgJ3N0ZXBJdGVtcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQXJjaGl2ZWxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQXJjaGl2ZWxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoSXRlbUNsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQXJjaGl2ZWxpc3RJdGVtQ2xpY2tFdmVudCBhcyBJU3R6aEFyY2hpdmVsaXN0U3R6aEFyY2hpdmVsaXN0SXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQXJjaGl2ZWxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhBcmNoaXZlbGlzdCB7XG4gIC8qKlxuICAgKiBJdGVtIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoSXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBcmNoaXZlbGlzdFN0emhBcmNoaXZlbGlzdEl0ZW1DbGlja0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rvd25sb2FkQW5hbHl0aWNzSWQnLCAnbG9jYWxpemF0aW9uJywgJ3ByZWxvYWQnLCAnc3JjJywgJ3RyYW5zY3JpcHQnLCAndHJhbnNjcmlwdEFuYWx5dGljc0lkJywgJ3RyYW5zY3JpcHRTaG93biddLFxuICBtZXRob2RzOiBbJ3BsYXknLCAncGF1c2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYXVkaW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rvd25sb2FkQW5hbHl0aWNzSWQnLCAnbG9jYWxpemF0aW9uJywgJ3ByZWxvYWQnLCAnc3JjJywgJ3RyYW5zY3JpcHQnLCAndHJhbnNjcmlwdEFuYWx5dGljc0lkJywgJ3RyYW5zY3JpcHRTaG93biddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQXVkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQXVkaW9FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoUGxheScsICdzdHpoUGxheWluZycsICdzdHpoUGF1c2UnLCAnc3R6aFJlcGxheScsICdzdHpoRW5kJywgJ3N0emhFbmRlZCcsICdzdHpoRXJyb3InXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhBdWRpb1BsYXlFdmVudCBhcyBJU3R6aEF1ZGlvU3R6aEF1ZGlvUGxheUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQXVkaW9QbGF5aW5nRXZlbnQgYXMgSVN0emhBdWRpb1N0emhBdWRpb1BsYXlpbmdFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEF1ZGlvUGF1c2VFdmVudCBhcyBJU3R6aEF1ZGlvU3R6aEF1ZGlvUGF1c2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEF1ZGlvUmVwbGF5RXZlbnQgYXMgSVN0emhBdWRpb1N0emhBdWRpb1JlcGxheUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQXVkaW9FbmRFdmVudCBhcyBJU3R6aEF1ZGlvU3R6aEF1ZGlvRW5kRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhBdWRpb0VuZGVkRXZlbnQgYXMgSVN0emhBdWRpb1N0emhBdWRpb0VuZGVkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhBdWRpb0Vycm9yRXZlbnQgYXMgSVN0emhBdWRpb1N0emhBdWRpb0Vycm9yRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQXVkaW8gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhBdWRpbyB7XG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHRoZSBwYXVzZWQgcHJvcGVydHkgaXMgY2hhbmdlZCBmcm9tIHRydWUgdG8gZmFsc2UsIGFzIGEgcmVzdWx0IG9mIHRoZSBwbGF5KCkgbWV0aG9kLCBvciB0aGUgYXV0b3BsYXkgYXR0cmlidXRlLlxuICAgKi9cbiAgc3R6aFBsYXk6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEF1ZGlvU3R6aEF1ZGlvUGxheUV2ZW50Pj47XG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHBsYXliYWNrIGlzIHJlYWR5IHRvIHN0YXJ0IGFmdGVyIGhhdmluZyBiZWVuIHBhdXNlZCBvciBkZWxheWVkIGR1ZSB0byBsYWNrIG9mIGRhdGEuXG4gICAqL1xuICBzdHpoUGxheWluZzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQXVkaW9TdHpoQXVkaW9QbGF5aW5nRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gYSByZXF1ZXN0IHRvIHBhdXNlIGFuIGFjdGl2aXR5IGlzIGhhbmRsZWQgYW5kIHRoZSBhY3Rpdml0eSBoYXMgZW50ZXJlZCBpdHMgcGF1c2VkIHN0YXRlLCBtb3N0IGNvbW1vbmx5IGFmdGVyIHRoZSBtZWRpYSBoYXMgYmVlbiBwYXVzZWQgdGhyb3VnaCBhIGNhbGwgdG8gdGhlIHBhdXNlKCkgbWV0aG9kLlxuICAgKi9cbiAgc3R6aFBhdXNlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBdWRpb1N0emhBdWRpb1BhdXNlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gbWVkaWEgcGxheWJhY2sgc3RhcnRzIGFnYWluIGFmdGVyIGJlaW5nIGluIGFuIGVuZGVkIHN0YXRlLiBUaGlzIGlzIGZpcmVkIHdoZW4gdGhlIGxvb3AgcHJvcGVydHkgaXMgdHJ1ZSBhbmQgbWVkaWEgbG9vcHMsIHdoZXJlYXMgdGhlIHZkcy1wbGF5IGV2ZW50IGlzIG5vdC5cbiAgICovXG4gIHN0emhSZXBsYXk6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEF1ZGlvU3R6aEF1ZGlvUmVwbGF5RXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpcmVkIGVhY2ggdGltZSBtZWRpYSBwbGF5YmFjayBoYXMgcmVhY2hlZCB0aGUgZW5kLiBUaGlzIGlzIGZpcmVkIGV2ZW4gaWYgdGhlIGxvb3AgcHJvcGVydHkgaXMgdHJ1ZSwgd2hpY2ggaXMgZ2VuZXJhbGx5IHdoZW4geW91J2QgcmVhY2ggZm9yIHRoaXMgZXZlbnQgb3ZlciB0aGUgTWVkaWFFbmRlZEV2ZW50IGlmIHlvdSB3YW50IHRvIGJlIG5vdGlmaWVkIG9mIG1lZGlhIGxvb3BpbmcuXG4gICAqL1xuICBzdHpoRW5kOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBdWRpb1N0emhBdWRpb0VuZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHBsYXliYWNrIG9yIHN0cmVhbWluZyBoYXMgc3RvcHBlZCBiZWNhdXNlIHRoZSBlbmQgb2YgdGhlIG1lZGlhIHdhcyByZWFjaGVkIG9yIGJlY2F1c2Ugbm8gZnVydGhlciBkYXRhIGlzIGF2YWlsYWJsZS4gVGhpcyBpcyBub3QgZmlyZWQgaWYgcGxheWJhY2sgd2lsbCBzdGFydCBmcm9tIHRoZSBiZWdpbm5pbmcgYWdhaW4gZHVlIHRvIHRoZSBsb29wIHByb3BlcnR5IGJlaW5nIHRydWUgKHNlZSBNZWRpYVJlcGxheUV2ZW50IGFuZCBNZWRpYUVuZEV2ZW50KS5cbiAgICovXG4gIHN0emhFbmRlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQXVkaW9TdHpoQXVkaW9FbmRlZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIG1lZGlhIGxvYWRpbmcgb3IgcGxheWJhY2sgaGFzIGVuY291bnRlcmVkIGFueSBpc3N1ZXMgKGZvciBleGFtcGxlLCBhIG5ldHdvcmsgY29ubmVjdGl2aXR5IHByb2JsZW0pLiBUaGUgZXZlbnQgZGV0YWlsIGNvbnRhaW5zIGEgcG90ZW50aWFsIG1lc3NhZ2UgY29udGFpbmluZyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBlcnJvciAoZW1wdHkgc3RyaW5nIGlmIG5vdGhpbmcgYXZhaWxhYmxlKSwgYW5kIGEgY29kZSB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyYWwgdHlwZSBvZiBlcnJvciB0aGF0IG9jY3VycmVkLlxuICAgKi9cbiAgc3R6aEVycm9yOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhBdWRpb1N0emhBdWRpb0Vycm9yRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFiZWwnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1iYWRnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQmFkZ2VFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQmFkZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhCYWRnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaWRlQ2xvc2UnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWJhbm5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGlkZUNsb3NlJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQmFubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEJhbm5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhPcGVuJywgJ3N0emhDbG9zZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEJhbm5lck9wZW5FdmVudCBhcyBJU3R6aEJhbm5lclN0emhCYW5uZXJPcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhCYW5uZXJDbG9zZUV2ZW50IGFzIElTdHpoQmFubmVyU3R6aEJhbm5lckNsb3NlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQmFubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQmFubmVyIHtcbiAgLyoqXG4gICAqIEJhbm5lciBvcGVuIGV2ZW50XG4gICAqL1xuICBzdHpoT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQmFubmVyU3R6aEJhbm5lck9wZW5FdmVudD4+O1xuICAvKipcbiAgICogQmFubmVyIGNsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEJhbm5lclN0emhCYW5uZXJDbG9zZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGVBZGFwdGVyJywgJ2l0ZW0nLCAnbG9jYWxpemF0aW9uJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYmF0aHN0YXR1cy1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXRlQWRhcHRlcicsICdpdGVtJywgJ2xvY2FsaXphdGlvbicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhCYXRoc3RhdHVzSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhCYXRoc3RhdHVzSXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhCYXRoc3RhdHVzSXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aEJhdGhzdGF0dXNJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwaScsICdsb2NhbGl6YXRpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYmF0aHN0YXR1cy1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcGknLCAnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhCYXRoc3RhdHVzTGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhCYXRoc3RhdHVzTGlzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhCYXRoc3RhdHVzTGlzdCBleHRlbmRzIENvbXBvbmVudHMuU3R6aEJhdGhzdGF0dXNMaXN0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2V4cGFuZGVkJywgJ2l0ZW1zJywgJ2xvY2FsaXphdGlvbicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWJyZWFkY3J1bWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2V4cGFuZGVkJywgJ2l0ZW1zJywgJ2xvY2FsaXphdGlvbicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhCcmVhZGNydW1iIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEJyZWFkY3J1bWJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoSXRlbUNsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQnJlYWRjcnVtYkl0ZW1DbGlja0V2ZW50IGFzIElTdHpoQnJlYWRjcnVtYlN0emhCcmVhZGNydW1iSXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQnJlYWRjcnVtYiBleHRlbmRzIENvbXBvbmVudHMuU3R6aEJyZWFkY3J1bWIge1xuICAvKipcbiAgICogSXRlbSBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aEl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQnJlYWRjcnVtYlN0emhCcmVhZGNydW1iSXRlbUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeUNvbnRyb2xzJywgJ2ExMXlDdXJyZW50JywgJ2ExMXlEZXNjcmliZWRieScsICdhMTF5RGlzYWJsZWQnLCAnYTExeUV4cGFuZGVkJywgJ2ExMXlMYWJlbCcsICdhMTF5VGFiaW5kZXgnLCAnYWN0aXZlJywgJ2FuYWx5dGljc0lkJywgJ2JhZGdlJywgJ2JhZGdlRW1wdHknLCAnYmFkZ2VQb3NpdGlvbicsICdiYWRnZVR5cGUnLCAnYnV0dG9uQWNjZXNza2V5JywgJ2J1dHRvbklkJywgJ2NoZWNrZWQnLCAnZGVmYXVsdENoZWNrZWQnLCAnZGlzYWJsZU9uQ2xpY2snLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnZWZmZWN0JywgJ2Z1bGx3aWR0aCcsICdocmVmJywgJ2ljb24nLCAnaWNvbk9ubHknLCAnaWNvblBvc2l0aW9uJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ25vSHlwaGVuYXRpb24nLCAnbm9QYWRkaW5nTGVmdCcsICdub1BhZGRpbmdSaWdodCcsICdyZWwnLCAncm91bmRlZCcsICdzaG93VG9nZ2xlSWNvbicsICdzaXplJywgJ3NpemVMYXJnZScsICdzaXplTWVkaXVtJywgJ3NpemVTbWFsbCcsICdzaXplVWx0cmEnLCAndGFyZ2V0JywgJ3RleHRBbGlnbicsICd0eXBlJywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5Q29udHJvbHMnLCAnYTExeUN1cnJlbnQnLCAnYTExeURlc2NyaWJlZGJ5JywgJ2ExMXlEaXNhYmxlZCcsICdhMTF5RXhwYW5kZWQnLCAnYTExeUxhYmVsJywgJ2ExMXlUYWJpbmRleCcsICdhY3RpdmUnLCAnYW5hbHl0aWNzSWQnLCAnYmFkZ2UnLCAnYmFkZ2VFbXB0eScsICdiYWRnZVBvc2l0aW9uJywgJ2JhZGdlVHlwZScsICdidXR0b25BY2Nlc3NrZXknLCAnYnV0dG9uSWQnLCAnY2hlY2tlZCcsICdkZWZhdWx0Q2hlY2tlZCcsICdkaXNhYmxlT25DbGljaycsICdkaXNhYmxlZCcsICdkb3dubG9hZCcsICdlZmZlY3QnLCAnZnVsbHdpZHRoJywgJ2hyZWYnLCAnaWNvbicsICdpY29uT25seScsICdpY29uUG9zaXRpb24nLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAnbm9IeXBoZW5hdGlvbicsICdub1BhZGRpbmdMZWZ0JywgJ25vUGFkZGluZ1JpZ2h0JywgJ3JlbCcsICdyb3VuZGVkJywgJ3Nob3dUb2dnbGVJY29uJywgJ3NpemUnLCAnc2l6ZUxhcmdlJywgJ3NpemVNZWRpdW0nLCAnc2l6ZVNtYWxsJywgJ3NpemVVbHRyYScsICd0YXJnZXQnLCAndGV4dEFsaWduJywgJ3R5cGUnLCAndmFsdWUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEJ1dHRvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhGb2N1cycsICdzdHpoQmx1cicsICdzdHpoQ2hhbmdlJywgJ3N0emhDbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEJ1dHRvbkZvY3VzRXZlbnQgYXMgSVN0emhCdXR0b25TdHpoQnV0dG9uRm9jdXNFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEJ1dHRvbkJsdXJFdmVudCBhcyBJU3R6aEJ1dHRvblN0emhCdXR0b25CbHVyRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhCdXR0b25DaGFuZ2VFdmVudCBhcyBJU3R6aEJ1dHRvblN0emhCdXR0b25DaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEJ1dHRvbkNsaWNrRXZlbnQgYXMgSVN0emhCdXR0b25TdHpoQnV0dG9uQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhCdXR0b24ge1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQnV0dG9uU3R6aEJ1dHRvbkZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhCdXR0b25TdHpoQnV0dG9uQmx1ckV2ZW50Pj47XG4gIC8qKlxuICAgKiBDaGFuZ2UgZXZlbnQgKG9ubHkgY2FsbGVkIGlmIHR5cGUgaXMgcmFkaW8pXG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhCdXR0b25TdHpoQnV0dG9uQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEJ1dHRvblN0emhCdXR0b25DbGlja0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWJ1dHRvbmdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhCdXR0b25ncm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhCdXR0b25ncm91cEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhCdXR0b25ncm91cCBleHRlbmRzIENvbXBvbmVudHMuU3R6aEJ1dHRvbmdyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ZpcnN0RGF5T2ZXZWVrJywgJ2lzRGF0ZURpc2FibGVkJywgJ2xvY2FsaXphdGlvbicsICdtYXgnLCAnbWluJywgJ25leHRNb250aEFuYWx5dGljc0lkJywgJ3ByZXZNb250aEFuYWx5dGljc0lkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXNlZERheScsICdzZXREYXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNhbGVuZGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmaXJzdERheU9mV2VlaycsICdpc0RhdGVEaXNhYmxlZCcsICdsb2NhbGl6YXRpb24nLCAnbWF4JywgJ21pbicsICduZXh0TW9udGhBbmFseXRpY3NJZCcsICdwcmV2TW9udGhBbmFseXRpY3NJZCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ2FsZW5kYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ2FsZW5kYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQ2FsZW5kYXJDaGFuZ2VFdmVudCBhcyBJU3R6aENhbGVuZGFyU3R6aENhbGVuZGFyQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2FsZW5kYXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDYWxlbmRhciB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBkYXRlIGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2FsZW5kYXJTdHpoQ2FsZW5kYXJDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmFseXRpY3NJZCcsICdjaGVja2VkJywgJ2NvbGxhcHNlZCcsICdjb2xsYXBzaWJsZScsICdkaXNhYmxlZCcsICdmb290ZXJBY3Rpb25zJywgJ2hlYWRlckFjdGlvbnMnLCAnaGVhZGVyQWN0aW9uc0JhZGdlJywgJ2hlYWRlckFjdGlvbnNCYWRnZVR5cGUnLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaGlkZU1vdmVtZW50QWN0aW9ucycsICdocmVmJywgJ2h5cGhlbnNFbmFibGVkJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3NlbGVjdGFibGUnLCAnc29ydGFibGVEaXNhYmxlZCcsICdzdGFycmFibGUnLCAnc3RhcnJlZCcsICdzdWJ0aXRsZScsICdzdWJ0aXRsZUludGVyYWN0aXZlJywgJ3RhcmdldCcsICd2YWx1ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2NoZWNrZWQnLCAnY29sbGFwc2VkJywgJ2NvbGxhcHNpYmxlJywgJ2Rpc2FibGVkJywgJ2Zvb3RlckFjdGlvbnMnLCAnaGVhZGVyQWN0aW9ucycsICdoZWFkZXJBY3Rpb25zQmFkZ2UnLCAnaGVhZGVyQWN0aW9uc0JhZGdlVHlwZScsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdoaWRlTW92ZW1lbnRBY3Rpb25zJywgJ2hyZWYnLCAnaHlwaGVuc0VuYWJsZWQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAnc2VsZWN0YWJsZScsICdzb3J0YWJsZURpc2FibGVkJywgJ3N0YXJyYWJsZScsICdzdGFycmVkJywgJ3N1YnRpdGxlJywgJ3N1YnRpdGxlSW50ZXJhY3RpdmUnLCAndGFyZ2V0JywgJ3ZhbHVlJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ2FyZEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDbGljaycsICdzdHpoQ29sbGFwc2UnLCAnc3R6aFN1YnRpdGxlQ2xpY2snLCAnc3R6aFN0YXJDbGljaycsICdzdHpoSGVhZGVyQWN0aW9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhDYXJkQ2xpY2tFdmVudCBhcyBJU3R6aENhcmRTdHpoQ2FyZENsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhDYXJkQ29sbGFwc2VFdmVudCBhcyBJU3R6aENhcmRTdHpoQ2FyZENvbGxhcHNlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhDYXJkU3VidGl0bGVDbGlja0V2ZW50IGFzIElTdHpoQ2FyZFN0emhDYXJkU3VidGl0bGVDbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQ2FyZFN0YXJDbGlja0V2ZW50IGFzIElTdHpoQ2FyZFN0emhDYXJkU3RhckNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhDYXJkSGVhZGVyQWN0aW9uQ2xpY2tFdmVudCBhcyBJU3R6aENhcmRTdHpoQ2FyZEhlYWRlckFjdGlvbkNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuU3R6aENhcmQge1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnQgKGlmIGhyZWYgaXMgdXNlZClcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2FyZFN0emhDYXJkQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogQ29sbGFwc2UgZXZlbnRcbiAgICovXG4gIHN0emhDb2xsYXBzZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2FyZFN0emhDYXJkQ29sbGFwc2VFdmVudD4+O1xuICAvKipcbiAgICogU3VidGl0bGUgY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhTdWJ0aXRsZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDYXJkU3R6aENhcmRTdWJ0aXRsZUNsaWNrRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFN0YXIgY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhTdGFyQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENhcmRTdHpoQ2FyZFN0YXJDbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBIZWFkZXIgYWN0aW9uIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoSGVhZGVyQWN0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENhcmRTdHpoQ2FyZEhlYWRlckFjdGlvbkNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaHJlZicsICdoeXBoZW5zRW5hYmxlZCcsICdsZWFkJywgJ3RhcmdldCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jYXJkLW5hdmlnYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2hyZWYnLCAnaHlwaGVuc0VuYWJsZWQnLCAnbGVhZCcsICd0YXJnZXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENhcmROYXZpZ2F0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENhcmROYXZpZ2F0aW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQ2FyZE5hdmlnYXRpb25DbGlja0V2ZW50IGFzIElTdHpoQ2FyZE5hdmlnYXRpb25TdHpoQ2FyZE5hdmlnYXRpb25DbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aENhcmROYXZpZ2F0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2FyZE5hdmlnYXRpb24ge1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnQgKGlmIGhyZWYgaXMgdXNlZClcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2FyZE5hdmlnYXRpb25TdHpoQ2FyZE5hdmlnYXRpb25DbGlja0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2JyZWFkY3J1bWJJdGVtcycsICdkYXRhbGlzdEl0ZW1zJywgJ2RhdGVBZGFwdGVyJywgJ2RhdGVsaW5lJywgJ2Rlc2NyaXB0aW9uJywgJ2Rvd25sb2FkJywgJ2Rvd25sb2FkSGVhZGluZycsICdkb3dubG9hZE1ldGEnLCAnZXZlbnREYXRlRW5kJywgJ2V2ZW50RGF0ZVN0YXJ0JywgJ2V2ZW50TG9jYXRpb24nLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaHJlZicsICdoeXBoZW5zRW5hYmxlZCcsICdpbWFnZVBvc2l0aW9uJywgJ2xvY2FsaXphdGlvbicsICdtZXRhJywgJ3BsYWNlaG9sZGVySW1hZ2VFbmFibGVkJywgJ3NlcnZpY2UnLCAndGFnJywgJ3RhcmdldCcsICd0b3BpYyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jYXJkLXNlYXJjaHJlc3VsdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnYnJlYWRjcnVtYkl0ZW1zJywgJ2RhdGFsaXN0SXRlbXMnLCAnZGF0ZUFkYXB0ZXInLCAnZGF0ZWxpbmUnLCAnZGVzY3JpcHRpb24nLCAnZG93bmxvYWQnLCAnZG93bmxvYWRIZWFkaW5nJywgJ2Rvd25sb2FkTWV0YScsICdldmVudERhdGVFbmQnLCAnZXZlbnREYXRlU3RhcnQnLCAnZXZlbnRMb2NhdGlvbicsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdocmVmJywgJ2h5cGhlbnNFbmFibGVkJywgJ2ltYWdlUG9zaXRpb24nLCAnbG9jYWxpemF0aW9uJywgJ21ldGEnLCAncGxhY2Vob2xkZXJJbWFnZUVuYWJsZWQnLCAnc2VydmljZScsICd0YWcnLCAndGFyZ2V0JywgJ3RvcGljJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDYXJkU2VhcmNocmVzdWx0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENhcmRTZWFyY2hyZXN1bHRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhDYXJkU2VhcmNocmVzdWx0Q2xpY2tFdmVudCBhcyBJU3R6aENhcmRTZWFyY2hyZXN1bHRTdHpoQ2FyZFNlYXJjaHJlc3VsdENsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2FyZFNlYXJjaHJlc3VsdCBleHRlbmRzIENvbXBvbmVudHMuU3R6aENhcmRTZWFyY2hyZXN1bHQge1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnQgKGlmIGhyZWYgaXMgdXNlZClcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2FyZFNlYXJjaHJlc3VsdFN0emhDYXJkU2VhcmNocmVzdWx0Q2xpY2tFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmFseXRpY3NJZCcsICdicmVhZGNydW1iSXRlbXMnLCAnZGF0YWxpc3RJdGVtcycsICdkYXRlQWRhcHRlcicsICdkYXRlbGluZScsICdkZXNjcmlwdGlvbicsICdkb3dubG9hZCcsICdkb3dubG9hZEhlYWRpbmcnLCAnZG93bmxvYWRNZXRhJywgJ2V2ZW50RGF0ZUVuZCcsICdldmVudERhdGVTdGFydCcsICdldmVudExvY2F0aW9uJywgJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2hyZWYnLCAnaHlwaGVuc0VuYWJsZWQnLCAnaW1hZ2VQb3NpdGlvbicsICdpc09uSG9tZXBhZ2UnLCAnbG9jYWxpemF0aW9uJywgJ21ldGEnLCAncGxhY2Vob2xkZXJJbWFnZUVuYWJsZWQnLCAnc2VydmljZScsICd0YWcnLCAndGFyZ2V0JywgJ3RvcGljJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNhcmQtc3VwZXJ0ZWFzZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2JyZWFkY3J1bWJJdGVtcycsICdkYXRhbGlzdEl0ZW1zJywgJ2RhdGVBZGFwdGVyJywgJ2RhdGVsaW5lJywgJ2Rlc2NyaXB0aW9uJywgJ2Rvd25sb2FkJywgJ2Rvd25sb2FkSGVhZGluZycsICdkb3dubG9hZE1ldGEnLCAnZXZlbnREYXRlRW5kJywgJ2V2ZW50RGF0ZVN0YXJ0JywgJ2V2ZW50TG9jYXRpb24nLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaHJlZicsICdoeXBoZW5zRW5hYmxlZCcsICdpbWFnZVBvc2l0aW9uJywgJ2lzT25Ib21lcGFnZScsICdsb2NhbGl6YXRpb24nLCAnbWV0YScsICdwbGFjZWhvbGRlckltYWdlRW5hYmxlZCcsICdzZXJ2aWNlJywgJ3RhZycsICd0YXJnZXQnLCAndG9waWMnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENhcmRTdXBlcnRlYXNlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDYXJkU3VwZXJ0ZWFzZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhDYXJkU3VwZXJ0ZWFzZXJDbGlja0V2ZW50IGFzIElTdHpoQ2FyZFN1cGVydGVhc2VyU3R6aENhcmRTdXBlcnRlYXNlckNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2FyZFN1cGVydGVhc2VyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2FyZFN1cGVydGVhc2VyIHtcbiAgLyoqXG4gICAqIENsaWNrIGV2ZW50IChpZiBocmVmIGlzIHVzZWQpXG4gICAqL1xuICBzdHpoQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENhcmRTdXBlcnRlYXNlclN0emhDYXJkU3VwZXJ0ZWFzZXJDbGlja0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2xheW91dCcsICdsb2NhbGl6YXRpb24nLCAnbWF4M0NvbHVtbnMnLCAnc2hvd1RvZ2dsZUxpbmsnLCAnc29ydGFibGVEYXRhSWRBdHRyaWJ1dGUnLCAnc29ydGFibGVFbmFibGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNhcmRsaXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdsYXlvdXQnLCAnbG9jYWxpemF0aW9uJywgJ21heDNDb2x1bW5zJywgJ3Nob3dUb2dnbGVMaW5rJywgJ3NvcnRhYmxlRGF0YUlkQXR0cmlidXRlJywgJ3NvcnRhYmxlRW5hYmxlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ2FyZGxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ2FyZGxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ29sbGFwc2VBbGwnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhDYXJkbGlzdENvbGxhcHNlQWxsRXZlbnQgYXMgSVN0emhDYXJkbGlzdFN0emhDYXJkbGlzdENvbGxhcHNlQWxsRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2FyZGxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDYXJkbGlzdCB7XG4gIC8qKlxuICAgKiBDb2xsYXBzZSBhbGwgZXZlbnRcbiAgICovXG4gIHN0emhDb2xsYXBzZUFsbDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2FyZGxpc3RTdHpoQ2FyZGxpc3RDb2xsYXBzZUFsbEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9wbGF5JywgJ2F1dG9wbGF5VGltZW91dCcsICdkaXNhYmxlZCcsICdsb2NhbGl6YXRpb24nLCAnbm9QZWVrJywgJ25vbkludGVyYWN0aXZlJywgJ3ByZXZlbnRBdXRvcGxheVBhdXNlJywgJ3ByZXZlbnRBdXRvcGxheVN0b3AnLCAncHJldmVudE1vdXNlRHJhZycsICdzbGlkZScsICdzbGlkZXMnLCAnc2xpZGVzTGFyZ2UnLCAnc2xpZGVzTWVkaXVtJywgJ3NsaWRlc1NtYWxsJywgJ3NsaWRlc1VsdHJhJywgJ3RhYlRocm91Z2gnLCAndmFyaWFudCcsICd3aXRoVHJhY2snXSxcbiAgbWV0aG9kczogWydzbGlkZVRvJywgJ3NsaWRlVG9QcmV2aW91cycsICdzbGlkZVRvTmV4dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jYXJvdXNlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b3BsYXknLCAnYXV0b3BsYXlUaW1lb3V0JywgJ2Rpc2FibGVkJywgJ2xvY2FsaXphdGlvbicsICdub1BlZWsnLCAnbm9uSW50ZXJhY3RpdmUnLCAncHJldmVudEF1dG9wbGF5UGF1c2UnLCAncHJldmVudEF1dG9wbGF5U3RvcCcsICdwcmV2ZW50TW91c2VEcmFnJywgJ3NsaWRlJywgJ3NsaWRlcycsICdzbGlkZXNMYXJnZScsICdzbGlkZXNNZWRpdW0nLCAnc2xpZGVzU21hbGwnLCAnc2xpZGVzVWx0cmEnLCAndGFiVGhyb3VnaCcsICd2YXJpYW50JywgJ3dpdGhUcmFjayddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ2Fyb3VzZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ2Fyb3VzZWxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoU2xpZGVTdGFydCcsICdzdHpoU2xpZGVQYXNzZWQnLCAnc3R6aFNsaWRlRW5kJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQ2Fyb3VzZWxTbGlkZVN0YXJ0RXZlbnQgYXMgSVN0emhDYXJvdXNlbFN0emhDYXJvdXNlbFNsaWRlU3RhcnRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aENhcm91c2VsU2xpZGVQYXNzZWRFdmVudCBhcyBJU3R6aENhcm91c2VsU3R6aENhcm91c2VsU2xpZGVQYXNzZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aENhcm91c2VsU2xpZGVFbmRFdmVudCBhcyBJU3R6aENhcm91c2VsU3R6aENhcm91c2VsU2xpZGVFbmRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDYXJvdXNlbCBleHRlbmRzIENvbXBvbmVudHMuU3R6aENhcm91c2VsIHtcbiAgLyoqXG4gICAqIFNsaWRlIHN0YXJ0IGV2ZW50XG4gICAqL1xuICBzdHpoU2xpZGVTdGFydDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2Fyb3VzZWxTdHpoQ2Fyb3VzZWxTbGlkZVN0YXJ0RXZlbnQ+PjtcbiAgLyoqXG4gICAqIFNsaWRlIHBhc3NlZCBldmVudFxuICAgKi9cbiAgc3R6aFNsaWRlUGFzc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDYXJvdXNlbFN0emhDYXJvdXNlbFNsaWRlUGFzc2VkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFNsaWRlIGVuZCBldmVudFxuICAgKi9cbiAgc3R6aFNsaWRlRW5kOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDYXJvdXNlbFN0emhDYXJvdXNlbFNsaWRlRW5kRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxpZ24nLCAnYWxpZ25TZWxmJywgJ3NwYW4nLCAnc3BhbkxhcmdlJywgJ3NwYW5NZWRpdW0nLCAnc3BhblNtYWxsJywgJ3NwYW5VbHRyYSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jZWxsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGlnbicsICdhbGlnblNlbGYnLCAnc3BhbicsICdzcGFuTGFyZ2UnLCAnc3Bhbk1lZGl1bScsICdzcGFuU21hbGwnLCAnc3BhblVsdHJhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDZWxsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENlbGxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2VsbCBleHRlbmRzIENvbXBvbmVudHMuU3R6aENlbGwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hhcnRJZCcsICdjcmVhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY2hhcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoYXJ0SWQnLCAnY3JlYXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDaGFydCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDaGFydEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDaGFydCBleHRlbmRzIENvbXBvbmVudHMuU3R6aENoYXJ0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdjaGVja2VkJywgJ2RlZmF1bHRDaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2NoZWNrZWQnLCAnZGVmYXVsdENoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rlc2NyaXB0aW9uTG9uZ1RpdGxlJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDaGVja2JveCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDaGVja2JveEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnLCAnc3R6aEZvY3VzJywgJ3N0emhCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQ2hlY2tib3hDaGFuZ2VFdmVudCBhcyBJU3R6aENoZWNrYm94U3R6aENoZWNrYm94Q2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhDaGVja2JveEZvY3VzRXZlbnQgYXMgSVN0emhDaGVja2JveFN0emhDaGVja2JveEZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhDaGVja2JveEJsdXJFdmVudCBhcyBJU3R6aENoZWNrYm94U3R6aENoZWNrYm94Qmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aENoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2hlY2tib3gge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDaGVja2JveFN0emhDaGVja2JveENoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudFxuICAgKi9cbiAgc3R6aEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDaGVja2JveFN0emhDaGVja2JveEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDaGVja2JveFN0emhDaGVja2JveEJsdXJFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkQ2hlY2tib3gnLCAnZGVmYXVsdFZhbHVlJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXJlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZUxlZ2VuZCcsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsZWdlbmQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAncHJldmVudFVwZGF0ZVByb3BlcnRpZXMnLCAncmVxdWlyZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY2hlY2tib3hncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZENoZWNrYm94JywgJ2RlZmF1bHRWYWx1ZScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlyZWN0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVMZWdlbmQnLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGVnZW5kJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3ByZXZlbnRVcGRhdGVQcm9wZXJ0aWVzJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDaGVja2JveGdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENoZWNrYm94Z3JvdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQ2hlY2tib3hncm91cENoYW5nZUV2ZW50IGFzIElTdHpoQ2hlY2tib3hncm91cFN0emhDaGVja2JveGdyb3VwQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2hlY2tib3hncm91cCBleHRlbmRzIENvbXBvbmVudHMuU3R6aENoZWNrYm94Z3JvdXAge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDaGVja2JveGdyb3VwU3R6aENoZWNrYm94Z3JvdXBDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnYTExeUxhYmVsJywgJ2ExMXlUYWJpbmRleCcsICdhY3RpdmUnLCAnYW5hbHl0aWNzSWQnLCAnY291bnRlcicsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnaW52ZXJ0ZWQnLCAnbGFiZWwnLCAnbm9uSW50ZXJhY3RpdmUnLCAncmVtb3ZhYmxlJywgJ3JlbW92ZUFuYWx5dGljc0lkJywgJ3JlbW92ZUxhYmVsJywgJ3NpemUnLCAnc2l6ZUxhcmdlJywgJ3NpemVNZWRpdW0nLCAnc2l6ZVNtYWxsJywgJ3NpemVVbHRyYScsICd0YXJnZXQnLCAndHlwZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNoaXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhMTF5TGFiZWwnLCAnYTExeVRhYmluZGV4JywgJ2FjdGl2ZScsICdhbmFseXRpY3NJZCcsICdjb3VudGVyJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnaWNvbicsICdpbnZlcnRlZCcsICdsYWJlbCcsICdub25JbnRlcmFjdGl2ZScsICdyZW1vdmFibGUnLCAncmVtb3ZlQW5hbHl0aWNzSWQnLCAncmVtb3ZlTGFiZWwnLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJywgJ3RhcmdldCcsICd0eXBlJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENoaXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ2hpcEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDbGljaycsICdzdHpoUmVtb3ZlJywgJ3N0emhGb2N1cycsICdzdHpoQmx1ciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aENoaXBDbGlja0V2ZW50IGFzIElTdHpoQ2hpcFN0emhDaGlwQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aENoaXBSZW1vdmVFdmVudCBhcyBJU3R6aENoaXBTdHpoQ2hpcFJlbW92ZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQ2hpcEZvY3VzRXZlbnQgYXMgSVN0emhDaGlwU3R6aENoaXBGb2N1c0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQ2hpcEJsdXJFdmVudCBhcyBJU3R6aENoaXBTdHpoQ2hpcEJsdXJFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDaGlwIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2hpcCB7XG4gIC8qKlxuICAgKiBDaGlwIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENoaXBTdHpoQ2hpcENsaWNrRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENoaXAgcmVtb3ZlIGV2ZW50XG4gICAqL1xuICBzdHpoUmVtb3ZlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDaGlwU3R6aENoaXBSZW1vdmVFdmVudD4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2hpcFN0emhDaGlwRm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgYmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aENoaXBTdHpoQ2hpcEJsdXJFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jaGlwZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENoaXBncm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDaGlwZ3JvdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2hpcGdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ2hpcGdyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdkYXRhJywgJ2RlZmF1bHRWYWx1ZScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbGFiZWxIaWRkZW4nLCAnbG9jYWxpemF0aW9uJywgJ211bHRpcGxlJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY2hpcHNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2RhdGEnLCAnZGVmYXVsdFZhbHVlJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdsb2NhbGl6YXRpb24nLCAnbXVsdGlwbGUnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ2hpcHNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDaGlwc2VsZWN0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aENoaXBzZWxlY3RDaGFuZ2VFdmVudCBhcyBJU3R6aENoaXBzZWxlY3RTdHpoQ2hpcHNlbGVjdENoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aENoaXBzZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDaGlwc2VsZWN0IHtcbiAgLyoqXG4gICAqIENoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2hpcHNlbGVjdFN0emhDaGlwc2VsZWN0Q2hhbmdlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xhbXBlZCcsICdleHBhbmRlZCcsICdsaW5lcycsICdsaW5lc0xhcmdlJywgJ2xpbmVzTWVkaXVtJywgJ2xpbmVzU21hbGwnLCAnbGluZXNVbHRyYScsICdsb2NhbGl6YXRpb24nLCAnc2hvd0V4cGFuZExpbmsnXSxcbiAgbWV0aG9kczogWyd1cGRhdGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY2xhbXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NsYW1wZWQnLCAnZXhwYW5kZWQnLCAnbGluZXMnLCAnbGluZXNMYXJnZScsICdsaW5lc01lZGl1bScsICdsaW5lc1NtYWxsJywgJ2xpbmVzVWx0cmEnLCAnbG9jYWxpemF0aW9uJywgJ3Nob3dFeHBhbmRMaW5rJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDbGFtcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhDbGFtcEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDbGFtcCcsICdzdHpoRXhwYW5kJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoQ2xhbXBDbGFtcEV2ZW50IGFzIElTdHpoQ2xhbXBTdHpoQ2xhbXBDbGFtcEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoQ2xhbXBFeHBhbmRFdmVudCBhcyBJU3R6aENsYW1wU3R6aENsYW1wRXhwYW5kRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ2xhbXAgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDbGFtcCB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIGNsYW1waW5nIHN0YXRlIGNoYW5nZWRcbiAgICovXG4gIHN0emhDbGFtcDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ2xhbXBTdHpoQ2xhbXBDbGFtcEV2ZW50Pj47XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIGV4cGFuZGluZyBzdGF0ZSBjaGFuZ2VkXG4gICAqL1xuICBzdHpoRXhwYW5kOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhDbGFtcFN0emhDbGFtcEV4cGFuZEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNvbXBhbnktbG9nbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ29tcGFueUxvZ28ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ29tcGFueUxvZ29FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ29tcGFueUxvZ28gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDb21wYW55TG9nbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhZGRyZXNzJywgJ2F2YWlsYWJpbGl0eScsICdhdmFpbGFiaWxpdHlUaXRsZScsICdhdmFpbGFiaWxpdHlUaXRsZUxldmVsJywgJ2VtYWlscycsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdpbWFnZVBvc2l0aW9uJywgJ2xvY2F0aW9uJywgJ21haW5IZWFkaW5nJywgJ21haW5IZWFkaW5nTGV2ZWwnLCAnbmFtZScsICduYW1lSGVhZGluZ0xldmVsJywgJ251bWJlcnMnLCAncG9ib3gnLCAncG9ib3hIZWFkaW5nJywgJ3BvYm94TG9jYXRpb24nLCAncG9ib3hQb3N0YWxDb2RlJywgJ3BvYm94VGl0bGUnLCAncG9zdGFsQ29kZScsICdzdHJlZXQnLCAnc3RyZWV0SW5mbycsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNvbnRhY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FkZHJlc3MnLCAnYXZhaWxhYmlsaXR5JywgJ2F2YWlsYWJpbGl0eVRpdGxlJywgJ2F2YWlsYWJpbGl0eVRpdGxlTGV2ZWwnLCAnZW1haWxzJywgJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2ltYWdlUG9zaXRpb24nLCAnbG9jYXRpb24nLCAnbWFpbkhlYWRpbmcnLCAnbWFpbkhlYWRpbmdMZXZlbCcsICduYW1lJywgJ25hbWVIZWFkaW5nTGV2ZWwnLCAnbnVtYmVycycsICdwb2JveCcsICdwb2JveEhlYWRpbmcnLCAncG9ib3hMb2NhdGlvbicsICdwb2JveFBvc3RhbENvZGUnLCAncG9ib3hUaXRsZScsICdwb3N0YWxDb2RlJywgJ3N0cmVldCcsICdzdHJlZXRJbmZvJywgJ3R5cGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aENvbnRhY3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ29udGFjdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDb250YWN0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ29udGFjdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydob2JiaWVzJywgJ2pvYnRpdGxlJywgJ2xvY2FsaXphdGlvbicsICdyZXNwb25zaWJpbGl0aWVzJywgJ3RyYWluaW5ncyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jb250YWN0LWN2JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydob2JiaWVzJywgJ2pvYnRpdGxlJywgJ2xvY2FsaXphdGlvbicsICdyZXNwb25zaWJpbGl0aWVzJywgJ3RyYWluaW5ncyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ29udGFjdEN2IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENvbnRhY3RDdkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDb250YWN0Q3YgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDb250YWN0Q3Yge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbm9NYXJnaW4nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtY29udGFpbmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydub01hcmdpbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoQ29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENvbnRhaW5lckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhDb250YWluZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhDb250YWluZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncHJldmVudEVsZW1lbnRMYXlvdXQnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydwcmV2ZW50RWxlbWVudExheW91dCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aENvbnRlbnRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuU3R6aENvbnRlbnQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncHJldmVudFJlbW92ZU5lc3RlZCcsICdyZW1vdmVGaXJzdE1hcmdpbicsICdyZW1vdmVMYXN0TWFyZ2luJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWNzcGFjZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsncHJldmVudFJlbW92ZU5lc3RlZCcsICdyZW1vdmVGaXJzdE1hcmdpbicsICdyZW1vdmVMYXN0TWFyZ2luJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDc3BhY2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ3NwYWNlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aENzcGFjZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aENzcGFjZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nJywgJ2hyZWYnLCAnbGFiZWwnLCAnbGVhZCcsICdzdGlja3lEaXNhYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1jdGEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaHJlZicsICdsYWJlbCcsICdsZWFkJywgJ3N0aWNreURpc2FibGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhDdGEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoQ3RhRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEZvY3VzJywgJ3N0emhCbHVyJywgJ3N0emhDbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEN0YUZvY3VzRXZlbnQgYXMgSVN0emhDdGFTdHpoQ3RhRm9jdXNFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEN0YUJsdXJFdmVudCBhcyBJU3R6aEN0YVN0emhDdGFCbHVyRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhDdGFDbGlja0V2ZW50IGFzIElTdHpoQ3RhU3R6aEN0YUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoQ3RhIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoQ3RhIHtcbiAgLyoqXG4gICAqIEZvY3VzIGV2ZW50XG4gICAqL1xuICBzdHpoRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEN0YVN0emhDdGFGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBCbHVyIGV2ZW50XG4gICAqL1xuICBzdHpoQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ3RhU3R6aEN0YUJsdXJFdmVudD4+O1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoQ3RhU3R6aEN0YUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmlnTGFiZWwnLCAnY29sdW1ucycsICdjb2x1bW5zTGFyZ2UnLCAnY29sdW1uc01lZGl1bScsICdjb2x1bW5zU21hbGwnLCAnY29sdW1uc1VsdHJhJywgJ2RpcmVjdGlvbicsICdkaXJlY3Rpb25MYXJnZScsICdkaXJlY3Rpb25NZWRpdW0nLCAnZGlyZWN0aW9uU21hbGwnLCAnZGlyZWN0aW9uVWx0cmEnLCAnaXRlbXMnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ2dldEN1cnJlbnREaXJlY3Rpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZGF0YWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JpZ0xhYmVsJywgJ2NvbHVtbnMnLCAnY29sdW1uc0xhcmdlJywgJ2NvbHVtbnNNZWRpdW0nLCAnY29sdW1uc1NtYWxsJywgJ2NvbHVtbnNVbHRyYScsICdkaXJlY3Rpb24nLCAnZGlyZWN0aW9uTGFyZ2UnLCAnZGlyZWN0aW9uTWVkaXVtJywgJ2RpcmVjdGlvblNtYWxsJywgJ2RpcmVjdGlvblVsdHJhJywgJ2l0ZW1zJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aERhdGFsaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aERhdGFsaXN0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aFZhcmlhbnRDaGFuZ2UnLCAnc3R6aEJpZ0xhYmVsQ2hhbmdlJywgJ3N0emhEaXJlY3Rpb25DaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhEYXRhbGlzdFZhcmlhbnRDaGFuZ2VFdmVudCBhcyBJU3R6aERhdGFsaXN0U3R6aERhdGFsaXN0VmFyaWFudENoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRGF0YWxpc3RCaWdMYWJlbENoYW5nZUV2ZW50IGFzIElTdHpoRGF0YWxpc3RTdHpoRGF0YWxpc3RCaWdMYWJlbENoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRGF0YWxpc3REaXJlY3Rpb25DaGFuZ2VFdmVudCBhcyBJU3R6aERhdGFsaXN0U3R6aERhdGFsaXN0RGlyZWN0aW9uQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRGF0YWxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhEYXRhbGlzdCB7XG4gIC8qKlxuICAgKiBWYXJpYW50IGF0dHJpYnV0ZSBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhWYXJpYW50Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEYXRhbGlzdFN0emhEYXRhbGlzdFZhcmlhbnRDaGFuZ2VFdmVudD4+O1xuICAvKipcbiAgICogQmlnIGxhYmVsIGF0dHJpYnV0ZSBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhCaWdMYWJlbENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0YWxpc3RTdHpoRGF0YWxpc3RCaWdMYWJlbENoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBEaXJlY3Rpb24gYXR0cmlidXRlIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aERpcmVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0YWxpc3RTdHpoRGF0YWxpc3REaXJlY3Rpb25DaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5Q29udHJvbHMnLCAnYTExeUV4cGFuZGVkJywgJ2Rvd25sb2FkJywgJ2hyZWYnLCAnaWNvbicsICdpY29uSHJlZicsICdpY29uTGFiZWwnLCAnaWNvblBvc2l0aW9uJywgJ2ljb25Ub29sdGlwJywgJ2xhYmVsJywgJ2xlYWRpbmdJY29uJywgJ2xvY2FsaXphdGlvbicsICdtZXRhJywgJ25vVGV4dFRydW5jYXRlJywgJ3JlYWRzcGVha2VySHJlZicsICdyZWFkc3BlYWtlckxhYmVsJywgJ3JlbCcsICdzdGF0dXNMYWJlbCcsICdzdGF0dXNUeXBlJywgJ3RhcmdldCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1kYXRhbGlzdC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5Q29udHJvbHMnLCAnYTExeUV4cGFuZGVkJywgJ2Rvd25sb2FkJywgJ2hyZWYnLCAnaWNvbicsICdpY29uSHJlZicsICdpY29uTGFiZWwnLCAnaWNvblBvc2l0aW9uJywgJ2ljb25Ub29sdGlwJywgJ2xhYmVsJywgJ2xlYWRpbmdJY29uJywgJ2xvY2FsaXphdGlvbicsICdtZXRhJywgJ25vVGV4dFRydW5jYXRlJywgJ3JlYWRzcGVha2VySHJlZicsICdyZWFkc3BlYWtlckxhYmVsJywgJ3JlbCcsICdzdGF0dXNMYWJlbCcsICdzdGF0dXNUeXBlJywgJ3RhcmdldCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRGF0YWxpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aERhdGFsaXN0SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhJdGVtQWN0aW9uQ2xpY2snLCAnc3R6aENsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoRGF0YWxpc3RJdGVtQWN0aW9uQ2xpY2tFdmVudCBhcyBJU3R6aERhdGFsaXN0SXRlbVN0emhEYXRhbGlzdEl0ZW1BY3Rpb25DbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRGF0YWxpc3RJdGVtQ2xpY2tFdmVudCBhcyBJU3R6aERhdGFsaXN0SXRlbVN0emhEYXRhbGlzdEl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aERhdGFsaXN0SXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aERhdGFsaXN0SXRlbSB7XG4gIC8qKlxuICAgKiBJdGVtIGFjdGlvbiBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aEl0ZW1BY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0YWxpc3RJdGVtU3R6aERhdGFsaXN0SXRlbUFjdGlvbkNsaWNrRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEl0ZW0gY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0YWxpc3RJdGVtU3R6aERhdGFsaXN0SXRlbUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZGF0YW1lc3NhZ2VsaXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhEYXRhbWVzc2FnZWxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRGF0YW1lc3NhZ2VsaXN0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aERhdGFtZXNzYWdlbGlzdCBleHRlbmRzIENvbXBvbmVudHMuU3R6aERhdGFtZXNzYWdlbGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3Rpb25zJywgJ2FuYWx5dGljc0lkJywgJ2Rlc2NyaXB0aW9uJywgJ2hlYWRpbmcnLCAnaHJlZicsICdpY29uJywgJ2xvYWRpbmdTdGF0dXMnLCAnbG9jYWxpemF0aW9uJywgJ21ldGEnLCAnbm9uSW50ZXJhY3RpdmUnLCAncmVsJywgJ3RhZ3MnLCAndGFyZ2V0JywgJ3VucmVhZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1kYXRhbWVzc2FnZWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aW9ucycsICdhbmFseXRpY3NJZCcsICdkZXNjcmlwdGlvbicsICdoZWFkaW5nJywgJ2hyZWYnLCAnaWNvbicsICdsb2FkaW5nU3RhdHVzJywgJ2xvY2FsaXphdGlvbicsICdtZXRhJywgJ25vbkludGVyYWN0aXZlJywgJ3JlbCcsICd0YWdzJywgJ3RhcmdldCcsICd1bnJlYWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aERhdGFtZXNzYWdlbGlzdEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDbGljaycsICdzdHpoQWN0aW9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhEYXRhbWVzc2FnZWxpc3RJdGVtQ2xpY2tFdmVudCBhcyBJU3R6aERhdGFtZXNzYWdlbGlzdEl0ZW1TdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEYXRhbWVzc2FnZWxpc3RJdGVtQWN0aW9uQ2xpY2tFdmVudCBhcyBJU3R6aERhdGFtZXNzYWdlbGlzdEl0ZW1TdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbUFjdGlvbkNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aERhdGFtZXNzYWdlbGlzdEl0ZW0ge1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbVN0emhEYXRhbWVzc2FnZWxpc3RJdGVtQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogQWN0aW9uIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoQWN0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERhdGFtZXNzYWdlbGlzdEl0ZW1TdHpoRGF0YW1lc3NhZ2VsaXN0SXRlbUFjdGlvbkNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2FwdGlvbicsICdjb2x1bW5zJywgJ2NzdkR5bmFtaWNUeXBpbmcnLCAnY3N2SGVhZGVyJywgJ2NzdlVybCcsICdkaXNhYmxlTWluV2lkdGgnLCAnaGlkZUNvbHVtbkhlYWRpbmdzJywgJ2hpZGVTZWFyY2gnLCAnaWRGaWVsZCcsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAncGFnZScsICdwYWdlU2l6ZScsICdyb3dIZWFkZXJGaWVsZCcsICdyb3dzJywgJ3Nob3dMaXN0JywgJ3NvcnRCeScsICdzb3J0RGlyZWN0aW9uJywgJ3RhYmxlTGF5b3V0J10sXG4gIG1ldGhvZHM6IFsndG9nZ2xlU29ydCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1kYXRhdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NhcHRpb24nLCAnY29sdW1ucycsICdjc3ZEeW5hbWljVHlwaW5nJywgJ2NzdkhlYWRlcicsICdjc3ZVcmwnLCAnZGlzYWJsZU1pbldpZHRoJywgJ2hpZGVDb2x1bW5IZWFkaW5ncycsICdoaWRlU2VhcmNoJywgJ2lkRmllbGQnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ3BhZ2UnLCAncGFnZVNpemUnLCAncm93SGVhZGVyRmllbGQnLCAncm93cycsICdzaG93TGlzdCcsICdzb3J0QnknLCAnc29ydERpcmVjdGlvbicsICd0YWJsZUxheW91dCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRGF0YXRhYmxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aERhdGF0YWJsZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhSb3dDbGljaycsICdzdHpoQ2VsbENsaWNrJywgJ3N0emhIZWFkaW5nQ2VsbENsaWNrJywgJ3N0emhTb3J0Q2xpY2snLCAnc3R6aFNvcnRCeUNoYW5nZScsICdzdHpoU29ydERpcmVjdGlvbkNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aERhdGF0YWJsZVJvd0NsaWNrRXZlbnQgYXMgSVN0emhEYXRhdGFibGVTdHpoRGF0YXRhYmxlUm93Q2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERhdGF0YWJsZUNlbGxDbGlja0V2ZW50IGFzIElTdHpoRGF0YXRhYmxlU3R6aERhdGF0YWJsZUNlbGxDbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRGF0YXRhYmxlSGVhZGluZ0NlbGxDbGlja0V2ZW50IGFzIElTdHpoRGF0YXRhYmxlU3R6aERhdGF0YWJsZUhlYWRpbmdDZWxsQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERhdGF0YWJsZVNvcnRDbGlja0V2ZW50IGFzIElTdHpoRGF0YXRhYmxlU3R6aERhdGF0YWJsZVNvcnRDbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRGF0YXRhYmxlU29ydEJ5Q2hhbmdlRXZlbnQgYXMgSVN0emhEYXRhdGFibGVTdHpoRGF0YXRhYmxlU29ydEJ5Q2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEYXRhdGFibGVTb3J0RGlyZWN0aW9uQ2hhbmdlRXZlbnQgYXMgSVN0emhEYXRhdGFibGVTdHpoRGF0YXRhYmxlU29ydERpcmVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aERhdGF0YWJsZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aERhdGF0YWJsZSB7XG4gIC8qKlxuICAgKiBEYXRhdGFibGUgcm93IGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoUm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERhdGF0YWJsZVN0emhEYXRhdGFibGVSb3dDbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBEYXRhdGFibGUgY2VsbCBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aENlbGxDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0YXRhYmxlU3R6aERhdGF0YWJsZUNlbGxDbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBEYXRhdGFibGUgaGVhZGluZyBjZWxsIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoSGVhZGluZ0NlbGxDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGF0YXRhYmxlU3R6aERhdGF0YWJsZUhlYWRpbmdDZWxsQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogRGF0YXRhYmxlIHNvcnQgY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhTb3J0Q2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERhdGF0YWJsZVN0emhEYXRhdGFibGVTb3J0Q2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogRGF0YXRhYmxlIHNvcnQgYnkgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoU29ydEJ5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEYXRhdGFibGVTdHpoRGF0YXRhYmxlU29ydEJ5Q2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERhdGF0YWJsZSBzb3J0IGRpcmVjdGlvbiBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhTb3J0RGlyZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEYXRhdGFibGVTdHpoRGF0YXRhYmxlU29ydERpcmVjdGlvbkNoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NhbGVuZGFySXNEYXRlRGlzYWJsZWQnLCAnY2FsZW5kYXJNYXgnLCAnY2FsZW5kYXJNaW4nLCAnZGF0ZUFkYXB0ZXInLCAnZGVmYXVsdFZhbHVlJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaWRlT3B0aW9uYWwnLCAnaW5saW5lJywgJ2ludGVybmFsRGF0ZUFkYXB0ZXInLCAnaW52YWxpZCcsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0RGF0ZScsICdnZXRQb3BvdmVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWRhdGVwaWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NhbGVuZGFySXNEYXRlRGlzYWJsZWQnLCAnY2FsZW5kYXJNYXgnLCAnY2FsZW5kYXJNaW4nLCAnZGF0ZUFkYXB0ZXInLCAnZGVmYXVsdFZhbHVlJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaWRlT3B0aW9uYWwnLCAnaW5saW5lJywgJ2ludGVybmFsRGF0ZUFkYXB0ZXInLCAnaW52YWxpZCcsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhEYXRlcGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aERhdGVwaWNrZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoRGF0ZXBpY2tlckNoYW5nZUV2ZW50IGFzIElTdHpoRGF0ZXBpY2tlclN0emhEYXRlcGlja2VyQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRGF0ZXBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuU3R6aERhdGVwaWNrZXIge1xuICAvKipcbiAgICogRGF0ZXBpY2tlciBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERhdGVwaWNrZXJTdHpoRGF0ZXBpY2tlckNoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xlZ2VuZCcsICdsb2NhbGl6YXRpb24nLCAncmFuZ2VMaW5rcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1kYXRlcmFuZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xlZ2VuZCcsICdsb2NhbGl6YXRpb24nLCAncmFuZ2VMaW5rcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRGF0ZXJhbmdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aERhdGVyYW5nZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhEYXRlcmFuZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhEYXRlcmFuZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnb3BlbiddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZScsICd0b2dnbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZGV0YWlscycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnb3BlbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoRGV0YWlscyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhEZXRhaWxzRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aE9wZW4nLCAnc3R6aE9wZW5lZCcsICdzdHpoQ2xvc2UnLCAnc3R6aENsb3NlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEFjY29yZGlvbkl0ZW1PcGVuRXZlbnQgYXMgSVN0emhEZXRhaWxzU3R6aEFjY29yZGlvbkl0ZW1PcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhBY2NvcmRpb25JdGVtT3BlbmVkRXZlbnQgYXMgSVN0emhEZXRhaWxzU3R6aEFjY29yZGlvbkl0ZW1PcGVuZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEFjY29yZGlvbkl0ZW1DbG9zZUV2ZW50IGFzIElTdHpoRGV0YWlsc1N0emhBY2NvcmRpb25JdGVtQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEFjY29yZGlvbkl0ZW1DbG9zZWRFdmVudCBhcyBJU3R6aERldGFpbHNTdHpoQWNjb3JkaW9uSXRlbUNsb3NlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aERldGFpbHMgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhEZXRhaWxzIHtcbiAgLyoqXG4gICAqIE9wZW4gZXZlbnRcbiAgICovXG4gIHN0emhPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEZXRhaWxzU3R6aEFjY29yZGlvbkl0ZW1PcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIE9wZW5lZCBldmVudCAoYWZ0ZXIgYW5pbWF0aW9uKVxuICAgKi9cbiAgc3R6aE9wZW5lZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGV0YWlsc1N0emhBY2NvcmRpb25JdGVtT3BlbmVkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERldGFpbHNTdHpoQWNjb3JkaW9uSXRlbUNsb3NlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENsb3NlZCBldmVudCAoYWZ0ZXIgYW5pbWF0aW9uKVxuICAgKi9cbiAgc3R6aENsb3NlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGV0YWlsc1N0emhBY2NvcmRpb25JdGVtQ2xvc2VkRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeVJvbGUnLCAnY2xvc2VBbmFseXRpY3NJZCcsICdjbG9zZU9uQmFja2Ryb3BDbGljaycsICdjbG9zZU9uRXNjYXBlS2V5JywgJ2hlYWRpbmcnLCAnaGlkZUNsb3NlJywgJ2xvY2FsaXphdGlvbicsICdvcGVuJywgJ3NpemUnLCAnc3RheSddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlSb2xlJywgJ2Nsb3NlQW5hbHl0aWNzSWQnLCAnY2xvc2VPbkJhY2tkcm9wQ2xpY2snLCAnY2xvc2VPbkVzY2FwZUtleScsICdoZWFkaW5nJywgJ2hpZGVDbG9zZScsICdsb2NhbGl6YXRpb24nLCAnb3BlbicsICdzaXplJywgJ3N0YXknXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aERpYWxvZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhEaWFsb2dFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoT3BlbicsICdzdHpoQ2xvc2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhEaWFsb2dPcGVuRXZlbnQgYXMgSVN0emhEaWFsb2dTdHpoRGlhbG9nT3BlbkV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRGlhbG9nQ2xvc2VFdmVudCBhcyBJU3R6aERpYWxvZ1N0emhEaWFsb2dDbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aERpYWxvZyBleHRlbmRzIENvbXBvbmVudHMuU3R6aERpYWxvZyB7XG4gIC8qKlxuICAgKiBEaWFsb2cgb3BlbiBldmVudFxuICAgKi9cbiAgc3R6aE9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERpYWxvZ1N0emhEaWFsb2dPcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERpYWxvZyBjbG9zZSBldmVudFxuICAgKi9cbiAgc3R6aENsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEaWFsb2dTdHpoRGlhbG9nQ2xvc2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zZUtleScsICdoaWRlQ2xvc2UnLCAnaW5pdGlhbE9wZW5BbmltYXRpb24nLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ29wZW4nXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZGlzdHVyYmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbG9zZUtleScsICdoaWRlQ2xvc2UnLCAnaW5pdGlhbE9wZW5BbmltYXRpb24nLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ29wZW4nXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aERpc3R1cmJlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhEaXN0dXJiZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoT3BlbicsICdzdHpoT3BlbmVkJywgJ3N0emhDbG9zZScsICdzdHpoQ2xvc2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoRGlzdHVyYmVyT3BlbkV2ZW50IGFzIElTdHpoRGlzdHVyYmVyU3R6aERpc3R1cmJlck9wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERpc3R1cmJlck9wZW5lZEV2ZW50IGFzIElTdHpoRGlzdHVyYmVyU3R6aERpc3R1cmJlck9wZW5lZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRGlzdHVyYmVyQ2xvc2VFdmVudCBhcyBJU3R6aERpc3R1cmJlclN0emhEaXN0dXJiZXJDbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRGlzdHVyYmVyQ2xvc2VkRXZlbnQgYXMgSVN0emhEaXN0dXJiZXJTdHpoRGlzdHVyYmVyQ2xvc2VkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRGlzdHVyYmVyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRGlzdHVyYmVyIHtcbiAgLyoqXG4gICAqIERpc3R1cmJlciBvcGVuIGV2ZW50XG4gICAqL1xuICBzdHpoT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGlzdHVyYmVyU3R6aERpc3R1cmJlck9wZW5FdmVudD4+O1xuICAvKipcbiAgICogRGlzdHVyYmVyIG9wZW5lZCBldmVudCAoYWZ0ZXIgYW5pbWF0aW9uKVxuICAgKi9cbiAgc3R6aE9wZW5lZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGlzdHVyYmVyU3R6aERpc3R1cmJlck9wZW5lZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBEaXN0dXJiZXIgY2xvc2UgZXZlbnRcbiAgICovXG4gIHN0emhDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRGlzdHVyYmVyU3R6aERpc3R1cmJlckNsb3NlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERpc3R1cmJlciBjbG9zZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhDbG9zZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERpc3R1cmJlclN0emhEaXN0dXJiZXJDbG9zZWRFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnYWxsb3dFbXB0eU9wdGlvbicsICdjbG9zZUFmdGVyU2VsZWN0JywgJ2RlZmF1bHRJdGVtcycsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ljb24nLCAnaWNvbkFuZ2xlJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2lzT3BlbicsICdpdGVtcycsICdsYWJlbCcsICdsYWJlbEZpZWxkJywgJ2xhYmVsSGlkZGVuJywgJ2xvYWQnLCAnbG9hZFRocm90dGxlJywgJ2xvY2FsaXphdGlvbicsICdsb2NrT3B0Z3JvdXBPcmRlcicsICdtYXhPcHRpb25zJywgJ21pbkNoYXJhY3RlcnMnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdub0JhY2tzcGFjZURlbGV0ZScsICdub0xhYmVsVHJ1bmNhdGUnLCAnbm9TZWFyY2gnLCAnbm9XcmFwJywgJ29wZW4nLCAnb3Blbk9uRm9jdXMnLCAnb3B0Z3JvdXBGaWVsZCcsICdvcHRncm91cExhYmVsRmllbGQnLCAnb3B0Z3JvdXBWYWx1ZUZpZWxkJywgJ29wdGdyb3VwcycsICdvcHRpb25zJywgJ3BvcG92ZXJGdWxsd2lkdGgnLCAncG9wb3ZlclBsYWNlbWVudCcsICdwcmVsb2FkJywgJ3JlcXVpcmVkJywgJ3NlYXJjaENvbmp1bmN0aW9uJywgJ3NlYXJjaEZpZWxkJywgJ3NpemUnLCAnc2l6ZUxhcmdlJywgJ3NpemVNZWRpdW0nLCAnc2l6ZVNtYWxsJywgJ3NpemVVbHRyYScsICd0cmFuc2Zvcm1Mb2FkUXVlcnknLCAndmFsdWUnLCAndmFsdWVGaWVsZCcsICd2YXJpYW50J10sXG4gIG1ldGhvZHM6IFsnZ2V0VmFsdWUnLCAnc2V0VmFsdWUnLCAncmVzZXRMb2FkZWRTZWFyY2hlcycsICdnZXRMb2FkZWRTZWFyY2hlcycsICdnZXRJdGVtcycsICdsb2FkSXRlbXMnLCAnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnYWxsb3dFbXB0eU9wdGlvbicsICdjbG9zZUFmdGVyU2VsZWN0JywgJ2RlZmF1bHRJdGVtcycsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ljb24nLCAnaWNvbkFuZ2xlJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2lzT3BlbicsICdpdGVtcycsICdsYWJlbCcsICdsYWJlbEZpZWxkJywgJ2xhYmVsSGlkZGVuJywgJ2xvYWQnLCAnbG9hZFRocm90dGxlJywgJ2xvY2FsaXphdGlvbicsICdsb2NrT3B0Z3JvdXBPcmRlcicsICdtYXhPcHRpb25zJywgJ21pbkNoYXJhY3RlcnMnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdub0JhY2tzcGFjZURlbGV0ZScsICdub0xhYmVsVHJ1bmNhdGUnLCAnbm9TZWFyY2gnLCAnbm9XcmFwJywgJ29wZW4nLCAnb3Blbk9uRm9jdXMnLCAnb3B0Z3JvdXBGaWVsZCcsICdvcHRncm91cExhYmVsRmllbGQnLCAnb3B0Z3JvdXBWYWx1ZUZpZWxkJywgJ29wdGdyb3VwcycsICdvcHRpb25zJywgJ3BvcG92ZXJGdWxsd2lkdGgnLCAncG9wb3ZlclBsYWNlbWVudCcsICdwcmVsb2FkJywgJ3JlcXVpcmVkJywgJ3NlYXJjaENvbmp1bmN0aW9uJywgJ3NlYXJjaEZpZWxkJywgJ3NpemUnLCAnc2l6ZUxhcmdlJywgJ3NpemVNZWRpdW0nLCAnc2l6ZVNtYWxsJywgJ3NpemVVbHRyYScsICd0cmFuc2Zvcm1Mb2FkUXVlcnknLCAndmFsdWUnLCAndmFsdWVGaWVsZCcsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhEcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhEcm9wZG93bkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnLCAnc3R6aEl0ZW1BZGQnLCAnc3R6aEl0ZW1SZW1vdmUnLCAnc3R6aE9wdGlvbkFkZCcsICdzdHpoT3B0aW9uUmVtb3ZlJywgJ3N0emhPcGVuJywgJ3N0emhDbG9zZScsICdzdHpoRm9jdXMnLCAnc3R6aEJsdXInLCAnc3R6aEluaXQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhEcm9wZG93bkNoYW5nZUV2ZW50IGFzIElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25DaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERyb3Bkb3duSXRlbUFkZEV2ZW50IGFzIElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25JdGVtQWRkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEcm9wZG93bkl0ZW1SZW1vdmVFdmVudCBhcyBJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duSXRlbVJlbW92ZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRHJvcGRvd25PcHRpb25BZGRFdmVudCBhcyBJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duT3B0aW9uQWRkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEcm9wZG93bk9wdGlvblJlbW92ZUV2ZW50IGFzIElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25PcHRpb25SZW1vdmVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERyb3Bkb3duT3BlbkV2ZW50IGFzIElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25PcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhEcm9wZG93Q2xvc2VFdmVudCBhcyBJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3dDbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRHJvcGRvd25Gb2N1c0V2ZW50IGFzIElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25Gb2N1c0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoRHJvcGRvd25CbHVyRXZlbnQgYXMgSVN0emhEcm9wZG93blN0emhEcm9wZG93bkJsdXJFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aERyb3Bkb3dJbml0RXZlbnQgYXMgSVN0emhEcm9wZG93blN0emhEcm9wZG93SW5pdEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aERyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRHJvcGRvd24ge1xuICAvKipcbiAgICogRHJvcGRvd24gY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEcm9wZG93blN0emhEcm9wZG93bkNoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBEcm9wZG93biBpdGVtIGFkZGVkIGV2ZW50XG4gICAqL1xuICBzdHpoSXRlbUFkZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25JdGVtQWRkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERyb3Bkb3duIGl0ZW0gcmVtb3ZlZCBldmVudFxuICAgKi9cbiAgc3R6aEl0ZW1SZW1vdmU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duSXRlbVJlbW92ZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBEcm9wZG93biBvcHRpb24gYWRkZWQgZXZlbnRcbiAgICovXG4gIHN0emhPcHRpb25BZGQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3duT3B0aW9uQWRkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERyb3Bkb3duIG9wdGlvbiByZW1vdmVkIGV2ZW50XG4gICAqL1xuICBzdHpoT3B0aW9uUmVtb3ZlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEcm9wZG93blN0emhEcm9wZG93bk9wdGlvblJlbW92ZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBEcm9wZG93biBvcGVuIGV2ZW50XG4gICAqL1xuICBzdHpoT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoRHJvcGRvd25TdHpoRHJvcGRvd25PcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERyb3Bkb3duIGNsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aERyb3Bkb3duU3R6aERyb3Bkb3dDbG9zZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBEcm9wZG93biBmb2N1cyBldmVudFxuICAgKi9cbiAgc3R6aEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEcm9wZG93blN0emhEcm9wZG93bkZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERyb3Bkb3duIGJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEcm9wZG93blN0emhEcm9wZG93bkJsdXJFdmVudD4+O1xuICAvKipcbiAgICogRHJvcGRvd24gZm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhJbml0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhEcm9wZG93blN0emhEcm9wZG93SW5pdEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaXRlbXMnLCAnbG9jYWxpemF0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWVkaXRvcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZycsICdpdGVtcycsICdsb2NhbGl6YXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEVkaXRvciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhFZGl0b3JFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRWRpdG9yIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRWRpdG9yIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWV2ZW50ZGF0YScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEV2ZW50ZGF0YSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhFdmVudGRhdGFFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRXZlbnRkYXRhIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRXZlbnRkYXRhIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NhbGVuZGFyTGFiZWwnLCAnY2FsZW5kYXJVcmwnLCAnZGF0ZUFkYXB0ZXInLCAnZW5kJywgJ2l0ZW1zJywgJ2l0ZW1zU29ydERpcmVjdGlvbicsICdsb2NhbGl6YXRpb24nLCAnbW9udGhIZWFkaW5nTGV2ZWwnLCAnc3RhcnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZXZlbnRpbmZvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYWxlbmRhckxhYmVsJywgJ2NhbGVuZGFyVXJsJywgJ2RhdGVBZGFwdGVyJywgJ2VuZCcsICdpdGVtcycsICdpdGVtc1NvcnREaXJlY3Rpb24nLCAnbG9jYWxpemF0aW9uJywgJ21vbnRoSGVhZGluZ0xldmVsJywgJ3N0YXJ0J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhFdmVudGluZm8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRXZlbnRpbmZvRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEV2ZW50aW5mbyBleHRlbmRzIENvbXBvbmVudHMuU3R6aEV2ZW50aW5mbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdsb2NhbGl6YXRpb24nLCAnbm9JdGVtc0xpbmsnLCAnbm9JdGVtc1RleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZmVlZHJlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnbG9jYWxpemF0aW9uJywgJ25vSXRlbXNMaW5rJywgJ25vSXRlbXNUZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhGZWVkcmVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEZlZWRyZWFkZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRmVlZHJlYWRlciBleHRlbmRzIENvbXBvbmVudHMuU3R6aEZlZWRyZWFkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGluaycsICd0YXJnZXQnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1mZWVkcmVhZGVyLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xpbmsnLCAndGFyZ2V0JywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEZlZWRyZWFkZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEZlZWRyZWFkZXJJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEZlZWRyZWFkZXJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRmVlZHJlYWRlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUxlZ2VuZCcsICdsZWdlbmQnLCAnbGVnZW5kQ3VydmUnLCAnbGVnZW5kTGV2ZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZmllbGRzZXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGVMZWdlbmQnLCAnbGVnZW5kJywgJ2xlZ2VuZEN1cnZlJywgJ2xlZ2VuZExldmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhGaWVsZHNldCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhGaWVsZHNldEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhGaWVsZHNldCBleHRlbmRzIENvbXBvbmVudHMuU3R6aEZpZWxkc2V0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NhcHRpb24nLCAnY29weXJpZ2h0JywgJ2NvdW50ZXInLCAnZnVsbHdpZHRoJywgJ2hlYWRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtZmlndXJlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYXB0aW9uJywgJ2NvcHlyaWdodCcsICdjb3VudGVyJywgJ2Z1bGx3aWR0aCcsICdoZWFkaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhGaWd1cmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoRmlndXJlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEZpZ3VyZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aEZpZ3VyZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydtaW5pbWFsRWRnZVNwYWNlJ10sXG4gIG1ldGhvZHM6IFsncmVwb3NpdGlvbicsICdhY3RpdmF0ZScsICdkZWFjdGl2YXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWZseWluZ2ZvY3VzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydtaW5pbWFsRWRnZVNwYWNlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhGbHlpbmdmb2N1cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhGbHlpbmdmb2N1c0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhGbHlpbmdmb2N1cyBleHRlbmRzIENvbXBvbmVudHMuU3R6aEZseWluZ2ZvY3VzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvcHlyaWdodCcsICdsb2NhbGl6YXRpb24nLCAnbWFpblVybCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29weXJpZ2h0JywgJ2xvY2FsaXphdGlvbicsICdtYWluVXJsJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhGb290ZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoRm9vdGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nhcm91c2VsQXV0b3BsYXknLCAnY2Fyb3VzZWxBdXRvcGxheVRpbWVvdXQnLCAnY2Fyb3VzZWxEaXNhYmxlZCcsICdjYXJvdXNlbFdpdGhUcmFjaycsICdleGNsdWRlRmlyc3RJbWFnZScsICdpbWFnZXMnLCAnaXRlbUVsZW1lbnQnLCAnbG9jYWxpemF0aW9uJywgJ3JhdGlvJywgJ3JhdGlvTGFyZ2UnLCAncmF0aW9NZWRpdW0nLCAncmF0aW9TbWFsbCcsICdyYXRpb1VsdHJhJywgJ3Nob3dJdGVtcycsICdzdGVwSXRlbXMnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ29wZW5MaWdodGJveCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1nYWxsZXJ5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjYXJvdXNlbEF1dG9wbGF5JywgJ2Nhcm91c2VsQXV0b3BsYXlUaW1lb3V0JywgJ2Nhcm91c2VsRGlzYWJsZWQnLCAnY2Fyb3VzZWxXaXRoVHJhY2snLCAnZXhjbHVkZUZpcnN0SW1hZ2UnLCAnaW1hZ2VzJywgJ2l0ZW1FbGVtZW50JywgJ2xvY2FsaXphdGlvbicsICdyYXRpbycsICdyYXRpb0xhcmdlJywgJ3JhdGlvTWVkaXVtJywgJ3JhdGlvU21hbGwnLCAncmF0aW9VbHRyYScsICdzaG93SXRlbXMnLCAnc3RlcEl0ZW1zJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEdhbGxlcnkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoR2FsbGVyeUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhHYWxsZXJ5IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoR2FsbGVyeSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbCcsICdhdmFpbGFibGVUYWdzJywgJ2Jhc2VVcmxPdmVycmlkZScsICdjZW50ZXJNYXJrZXInLCAnaGVhZGluZycsICdsb2NhdGlvbkNvbnRyb2wnLCAnbWFwRGF0YVVybCcsICdwaW5jaFJvdGF0ZVRocmVzaG9sZCcsICdwb2lEYXRhVXJsJywgJ3Jlc2V0VGFnJywgJ3NlYXJjaEluZGV4RmllbGRzJywgJ3NlYXJjaEluZGV4SWRGaWVsZCcsICd6b29tJywgJ3pvb21Mb2NhdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1nZW8tcmVmLWRhdGEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsJywgJ2F2YWlsYWJsZVRhZ3MnLCAnYmFzZVVybE92ZXJyaWRlJywgJ2NlbnRlck1hcmtlcicsICdoZWFkaW5nJywgJ2xvY2F0aW9uQ29udHJvbCcsICdtYXBEYXRhVXJsJywgJ3BpbmNoUm90YXRlVGhyZXNob2xkJywgJ3BvaURhdGFVcmwnLCAncmVzZXRUYWcnLCAnc2VhcmNoSW5kZXhGaWVsZHMnLCAnc2VhcmNoSW5kZXhJZEZpZWxkJywgJ3pvb20nLCAnem9vbUxvY2F0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhHZW9SZWZEYXRhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEdlb1JlZkRhdGFFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoT3ZlcmxheUNsb3NlQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhHZW9SZWZEYXRhT3ZlcmxheUNsb3NlQ2xpY2tFdmVudCBhcyBJU3R6aEdlb1JlZkRhdGFTdHpoR2VvUmVmRGF0YU92ZXJsYXlDbG9zZUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoR2VvUmVmRGF0YSBleHRlbmRzIENvbXBvbmVudHMuU3R6aEdlb1JlZkRhdGEge1xuICAvKipcbiAgICogT3ZlcmxheSBjbG9zZSBjbGljayBldmVudFxuICAgKi9cbiAgc3R6aE92ZXJsYXlDbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhHZW9SZWZEYXRhU3R6aEdlb1JlZkRhdGFPdmVybGF5Q2xvc2VDbGlja0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2hpZGRlblRpdGxlJywgJ2hpZGVDbG9zZScsICdsb2NhbGl6YXRpb24nLCAnbWFpblRpdGxlJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWdoZXR0b2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnaGlkZGVuVGl0bGUnLCAnaGlkZUNsb3NlJywgJ2xvY2FsaXphdGlvbicsICdtYWluVGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEdoZXR0b2JveCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhHaGV0dG9ib3hFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoT3BlbicsICdzdHpoQ2xvc2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhHaGV0dG9ib3hPcGVuRXZlbnQgYXMgSVN0emhHaGV0dG9ib3hTdHpoR2hldHRvYm94T3BlbkV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoR2hldHRvYm94Q2xvc2VFdmVudCBhcyBJU3R6aEdoZXR0b2JveFN0emhHaGV0dG9ib3hDbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEdoZXR0b2JveCBleHRlbmRzIENvbXBvbmVudHMuU3R6aEdoZXR0b2JveCB7XG4gIC8qKlxuICAgKiBHaGV0dG9ib3ggb3BlbiBldmVudFxuICAgKi9cbiAgc3R6aE9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEdoZXR0b2JveFN0emhHaGV0dG9ib3hPcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEdoZXR0b2JveCBjbG9zZSBldmVudFxuICAgKi9cbiAgc3R6aENsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhHaGV0dG9ib3hTdHpoR2hldHRvYm94Q2xvc2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcHBOYXZJZCcsICdhcHBOYXZJdGVtcycsICdoaWRlTWV0YWJhcicsICdocmVmJywgJ2xhbmd1YWdlQWN0aXZlJywgJ2xhbmd1YWdlSWQnLCAnbGFuZ3VhZ2VQcmV2ZW50VXJsY2hhbmdlJywgJ2xhbmd1YWdlU3RheScsICdsYW5ndWFnZXMnLCAnbG9jYWxpemF0aW9uJywgJ2xvZ2luRXJyb3JNZXNzYWdlJywgJ2xvZ29BbmFseXRpY3NJZCcsICdsb2dvVHlwZScsICdtZW51QmFja0xhYmVsJywgJ21lbnVJZCcsICdtZW51SXRlbXMnLCAnbWV0YW5hdklkJywgJ21ldGFuYXZJdGVtcycsICdzZWFyY2hBY3Rpb24nLCAnc2VhcmNoRmllbGROYW1lJywgJ3NlYXJjaElkJywgJ3NlYXJjaFZhbHVlJywgJ3N0aWNreScsICd1c2VyU3BlY2lmaWNNZXRhbmF2SXRlbXNFbmRwb2ludCcsICd1c2VyU3BlY2lmaWNNZXRhbmF2SXRlbXNOb3RMb2dnZWRJbiddLFxuICBtZXRob2RzOiBbJ3VwZGF0ZVBvc2l0aW9uJywgJ3JlcXVlc3RVc2VyU3BlY2lmaWNNZXRhbmF2SXRlbXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcHBOYXZJZCcsICdhcHBOYXZJdGVtcycsICdoaWRlTWV0YWJhcicsICdocmVmJywgJ2xhbmd1YWdlQWN0aXZlJywgJ2xhbmd1YWdlSWQnLCAnbGFuZ3VhZ2VQcmV2ZW50VXJsY2hhbmdlJywgJ2xhbmd1YWdlU3RheScsICdsYW5ndWFnZXMnLCAnbG9jYWxpemF0aW9uJywgJ2xvZ2luRXJyb3JNZXNzYWdlJywgJ2xvZ29BbmFseXRpY3NJZCcsICdsb2dvVHlwZScsICdtZW51QmFja0xhYmVsJywgJ21lbnVJZCcsICdtZW51SXRlbXMnLCAnbWV0YW5hdklkJywgJ21ldGFuYXZJdGVtcycsICdzZWFyY2hBY3Rpb24nLCAnc2VhcmNoRmllbGROYW1lJywgJ3NlYXJjaElkJywgJ3NlYXJjaFZhbHVlJywgJ3N0aWNreScsICd1c2VyU3BlY2lmaWNNZXRhbmF2SXRlbXNFbmRwb2ludCcsICd1c2VyU3BlY2lmaWNNZXRhbmF2SXRlbXNOb3RMb2dnZWRJbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEhlYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhNZXRhbmF2SXRlbUNsaWNrJywgJ3N0emhNZXRhbmF2SXRlbUNoaWxkQ2xpY2snLCAnc3R6aE1ldGFuYXZJdGVtQnV0dG9uQ2xpY2snLCAnc3R6aE1lbnVJdGVtQ2xpY2snLCAnc3R6aExhbmd1YWdlQ2hhbmdlJywgJ3N0emhTZWFyY2hDaGFuZ2UnLCAnc3R6aFNlYXJjaENoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhIZWFkZXJNZXRhbmF2SXRlbUNsaWNrRXZlbnQgYXMgSVN0emhIZWFkZXJTdHpoSGVhZGVyTWV0YW5hdkl0ZW1DbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoSGVhZGVyTWV0YW5hdkl0ZW1DaGlsZENsaWNrRXZlbnQgYXMgSVN0emhIZWFkZXJTdHpoSGVhZGVyTWV0YW5hdkl0ZW1DaGlsZENsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhIZWFkZXJNZXRhbmF2SXRlbUJ1dHRvbkNsaWNrRXZlbnQgYXMgSVN0emhIZWFkZXJTdHpoSGVhZGVyTWV0YW5hdkl0ZW1CdXR0b25DbGlja0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoSGVhZGVyTWVudUl0ZW1DbGlja0V2ZW50IGFzIElTdHpoSGVhZGVyU3R6aEhlYWRlck1lbnVJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEhlYWRlckxhbmd1YWdlQ2hhbmdlRXZlbnQgYXMgSVN0emhIZWFkZXJTdHpoSGVhZGVyTGFuZ3VhZ2VDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aEhlYWRlclNlYXJjaENoYW5nZUV2ZW50IGFzIElTdHpoSGVhZGVyU3R6aEhlYWRlclNlYXJjaENoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoSGVhZGVyU2VhcmNoQ2hhbmdlZEV2ZW50IGFzIElTdHpoSGVhZGVyU3R6aEhlYWRlclNlYXJjaENoYW5nZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhIZWFkZXIge1xuICAvKipcbiAgICogTWV0YW5hdiBpdGVtIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoTWV0YW5hdkl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSGVhZGVyU3R6aEhlYWRlck1ldGFuYXZJdGVtQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogTWV0YW5hdiBpdGVtIGNoaWxkIGNsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoTWV0YW5hdkl0ZW1DaGlsZENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhIZWFkZXJTdHpoSGVhZGVyTWV0YW5hdkl0ZW1DaGlsZENsaWNrRXZlbnQ+PjtcbiAgLyoqXG4gICAqIE1ldGFuYXYgaXRlbSBidXR0b24gY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhNZXRhbmF2SXRlbUJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhIZWFkZXJTdHpoSGVhZGVyTWV0YW5hdkl0ZW1CdXR0b25DbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBNZXRhbmF2IGl0ZW0gY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhNZW51SXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhIZWFkZXJTdHpoSGVhZGVyTWVudUl0ZW1DbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBMYW5ndWFnZSBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhMYW5ndWFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSGVhZGVyU3R6aEhlYWRlckxhbmd1YWdlQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFNlYXJjaCBpbnB1dCBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhTZWFyY2hDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEhlYWRlclN0emhIZWFkZXJTZWFyY2hDaGFuZ2VFdmVudD4+O1xuICAvKipcbiAgICogU2VhcmNoIGlucHV0IGNoYW5nZWQgZXZlbnRcbiAgICovXG4gIHN0emhTZWFyY2hDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhIZWFkZXJTdHpoSGVhZGVyU2VhcmNoQ2hhbmdlZEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2N1cnZlJywgJ2h0bWxDb250ZW50JywgJ2xldmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWhlYWRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2N1cnZlJywgJ2h0bWxDb250ZW50JywgJ2xldmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhIZWFkaW5nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEhlYWRpbmdFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoSGVhZGluZyBleHRlbmRzIENvbXBvbmVudHMuU3R6aEhlYWRpbmcge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncGxhY2Vob2xkZXInLCAnc2VhcmNoQWN0aW9uJywgJ3NlYXJjaEZpZWxkTmFtZScsICdzZWFyY2hJZCcsICdzZWFyY2hWYWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1ob21lcGFnZS1zZWFyY2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3BsYWNlaG9sZGVyJywgJ3NlYXJjaEFjdGlvbicsICdzZWFyY2hGaWVsZE5hbWUnLCAnc2VhcmNoSWQnLCAnc2VhcmNoVmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEhvbWVwYWdlU2VhcmNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEhvbWVwYWdlU2VhcmNoRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aFNlYXJjaENoYW5nZScsICdzdHpoU2VhcmNoQ2hhbmdlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEhvbWVwYWdlU2VhcmNoU2VhcmNoQ2hhbmdlRXZlbnQgYXMgSVN0emhIb21lcGFnZVNlYXJjaFN0emhIb21lcGFnZVNlYXJjaFNlYXJjaENoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoSG9tZXBhZ2VTZWFyY2hTZWFyY2hDaGFuZ2VkRXZlbnQgYXMgSVN0emhIb21lcGFnZVNlYXJjaFN0emhIb21lcGFnZVNlYXJjaFNlYXJjaENoYW5nZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhIb21lcGFnZVNlYXJjaCBleHRlbmRzIENvbXBvbmVudHMuU3R6aEhvbWVwYWdlU2VhcmNoIHtcbiAgLyoqXG4gICAqIFNlYXJjaCBpbnB1dCBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhTZWFyY2hDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aEhvbWVwYWdlU2VhcmNoU3R6aEhvbWVwYWdlU2VhcmNoU2VhcmNoQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFNlYXJjaCBpbnB1dCBjaGFuZ2VkIGV2ZW50XG4gICAqL1xuICBzdHpoU2VhcmNoQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSG9tZXBhZ2VTZWFyY2hTdHpoSG9tZXBhZ2VTZWFyY2hTZWFyY2hDaGFuZ2VkRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbW9zdHNlYXJjaGVkSXRlbXMnLCAndG9wbmV3c0l0ZW1zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWhvbWVwYWdlLXNlcnZpY2UtaGlnaGxpZ2h0cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbW9zdHNlYXJjaGVkSXRlbXMnLCAndG9wbmV3c0l0ZW1zJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhIb21lcGFnZVNlcnZpY2VIaWdobGlnaHRzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEhvbWVwYWdlU2VydmljZUhpZ2hsaWdodHNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoSG9tZXBhZ2VTZXJ2aWNlSGlnaGxpZ2h0cyBleHRlbmRzIENvbXBvbmVudHMuU3R6aEhvbWVwYWdlU2VydmljZUhpZ2hsaWdodHMge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtaHInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEhyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEhyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEhyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoSHIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJvdW5kJywgJ2Fyb3VuZExlZnQnLCAnYXJvdW5kUmlnaHQnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWhzcGFjZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJvdW5kJywgJ2Fyb3VuZExlZnQnLCAnYXJvdW5kUmlnaHQnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhIc3BhY2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoSHNwYWNlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEhzcGFjZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aEhzcGFjZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZXNjcmlwdGlvbicsICdlcnJvcmNvZGUnLCAnaGVhZGluZycsICdocmVmQmFjaycsICdocmVmU3RhcnQnLCAnbG9jYWxpemF0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWh0dHAtZXJyb3InLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2Vycm9yY29kZScsICdoZWFkaW5nJywgJ2hyZWZCYWNrJywgJ2hyZWZTdGFydCcsICdsb2NhbGl6YXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aEh0dHBFcnJvciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhIdHRwRXJyb3JFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoSHR0cEVycm9yIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoSHR0cEVycm9yIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlUaXRsZScsICduYW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlUaXRsZScsICduYW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEljb25FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoSWNvbiBleHRlbmRzIENvbXBvbmVudHMuU3R6aEljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3cnLCAnY29va2llJywgJ2Nvb2tpZUNvbmZpcm1JY29uJywgJ2Nvb2tpZUNvbmZpcm1MYWJlbCcsICdjb29raWVDb25maXJtVGV4dCcsICdjb29raWVFeHBpcmVzJywgJ2hlaWdodCcsICdpZnJhbWVFcnJvclRleHQnLCAnaWZyYW1lSWQnLCAnaWZyYW1lUmVzaXplckhlaWdodENvcnJlY3Rpb24nLCAnaWZyYW1lUmVzaXplclNlY29uZGxldmVsRG9tYWluJywgJ2lmcmFtZVJlc2l6ZXJWYXJpYW50JywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3ByZXZpZXdJY29uJywgJ3ByZXZpZXdMYWJlbCcsICdyZWZlcnJlcnBvbGljeScsICdzYW5kYm94JywgJ3NraXBQcmV2aWV3JywgJ3NraXBQcmV2aWV3SWZDb29raWVBY2NlcHRlZCcsICdzcmMnLCAnd2lkdGgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtaWZyYW1lJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbGxvdycsICdjb29raWUnLCAnY29va2llQ29uZmlybUljb24nLCAnY29va2llQ29uZmlybUxhYmVsJywgJ2Nvb2tpZUNvbmZpcm1UZXh0JywgJ2Nvb2tpZUV4cGlyZXMnLCAnaGVpZ2h0JywgJ2lmcmFtZUVycm9yVGV4dCcsICdpZnJhbWVJZCcsICdpZnJhbWVSZXNpemVySGVpZ2h0Q29ycmVjdGlvbicsICdpZnJhbWVSZXNpemVyU2Vjb25kbGV2ZWxEb21haW4nLCAnaWZyYW1lUmVzaXplclZhcmlhbnQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAncHJldmlld0ljb24nLCAncHJldmlld0xhYmVsJywgJ3JlZmVycmVycG9saWN5JywgJ3NhbmRib3gnLCAnc2tpcFByZXZpZXcnLCAnc2tpcFByZXZpZXdJZkNvb2tpZUFjY2VwdGVkJywgJ3NyYycsICd3aWR0aCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoSWZyYW1lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aElmcmFtZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhQcmV2aWV3U2tpcCcsICdzdHpoVmlld0NoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aElmcmFtZVByZXZpZXdTa2lwRXZlbnQgYXMgSVN0emhJZnJhbWVTdHpoSWZyYW1lUHJldmlld1NraXBFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aElmcmFtZVZpZXdDaGFuZ2VFdmVudCBhcyBJU3R6aElmcmFtZVN0emhJZnJhbWVWaWV3Q2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoSWZyYW1lIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoSWZyYW1lIHtcbiAgLyoqXG4gICAqIFByZXZpZXcgc2tpcCAob25seSBnZXRzIGV4ZWN1dGVkIGlmIGl0IGdvZXMgZGlyZWN0bHkgdG8gaWZyYW1lIGFuZCBub3QgY29va2lld2FsbClcbiAgICovXG4gIHN0emhQcmV2aWV3U2tpcDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSWZyYW1lU3R6aElmcmFtZVByZXZpZXdTa2lwRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFZpZXcgY2hhbmdlXG4gICAqL1xuICBzdHpoVmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSWZyYW1lU3R6aElmcmFtZVZpZXdDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnaGludExlZnQnLCAnaGludFJpZ2h0JywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1pbWFnZWNvbXBhcmlzb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdoaW50TGVmdCcsICdoaW50UmlnaHQnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhJbWFnZWNvbXBhcmlzb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoSW1hZ2Vjb21wYXJpc29uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aEltYWdlY29tcGFyaXNvbkNoYW5nZUV2ZW50IGFzIElTdHpoSW1hZ2Vjb21wYXJpc29uU3R6aEltYWdlY29tcGFyaXNvbkNoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aEltYWdlY29tcGFyaXNvbiBleHRlbmRzIENvbXBvbmVudHMuU3R6aEltYWdlY29tcGFyaXNvbiB7XG5cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSW1hZ2Vjb21wYXJpc29uU3R6aEltYWdlY29tcGFyaXNvbkNoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhdXRvY29tcGxldGUnLCAnY2xlYXJhYmxlJywgJ2RlZmF1bHRWYWx1ZScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2lucHV0bW9kZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICdtYXgnLCAnbWF4bGVuZ3RoJywgJ21pbicsICdtaW5sZW5ndGgnLCAnbXVsdGlsaW5lJywgJ25hbWUnLCAnbm9BdXRvY29tcGxldGUnLCAnbm9MYWJlbFRydW5jYXRlJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Jvd3MnLCAnc2hvd1NwaW4nLCAnc2l6ZScsICdzdGVwJywgJ3R5cGUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhdXRvY29tcGxldGUnLCAnY2xlYXJhYmxlJywgJ2RlZmF1bHRWYWx1ZScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2lucHV0bW9kZScsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICdtYXgnLCAnbWF4bGVuZ3RoJywgJ21pbicsICdtaW5sZW5ndGgnLCAnbXVsdGlsaW5lJywgJ25hbWUnLCAnbm9BdXRvY29tcGxldGUnLCAnbm9MYWJlbFRydW5jYXRlJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3Jvd3MnLCAnc2hvd1NwaW4nLCAnc2l6ZScsICdzdGVwJywgJ3R5cGUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aElucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aElucHV0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZScsICdzdHpoQ2hhbmdlZCcsICdzdHpoRm9jdXMnLCAnc3R6aEJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhJbnB1dENoYW5nZUV2ZW50IGFzIElTdHpoSW5wdXRTdHpoSW5wdXRDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aElucHV0Q2hhbmdlZEV2ZW50IGFzIElTdHpoSW5wdXRTdHpoSW5wdXRDaGFuZ2VkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhJbnB1dEZvY3VzRXZlbnQgYXMgSVN0emhJbnB1dFN0emhJbnB1dEZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhJbnB1dEJsdXJFdmVudCBhcyBJU3R6aElucHV0U3R6aElucHV0Qmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aElucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoSW5wdXQge1xuICAvKipcbiAgICogSW5wdXQgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhJbnB1dFN0emhJbnB1dENoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBJbnB1dCBjaGFuZ2VkIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoSW5wdXRTdHpoSW5wdXRDaGFuZ2VkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGZvY3VzIGV2ZW50XG4gICAqL1xuICBzdHpoRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aElucHV0U3R6aElucHV0Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgYmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aElucHV0U3R6aElucHV0Qmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWludmVydCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoSW52ZXJ0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aEludmVydEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhJbnZlcnQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhJbnZlcnQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYTExeUNvbnRyb2xzJywgJ2ExMXlDdXJyZW50JywgJ2ExMXlEZXNjcmliZWRieScsICdhMTF5RGlzYWJsZWQnLCAnYTExeUV4cGFuZGVkJywgJ2ExMXlMYWJlbCcsICdhMTF5VGFiaW5kZXgnLCAnYWN0aXZlJywgJ2FuYWx5dGljc0lkJywgJ2JhZGdlJywgJ2JhZGdlRW1wdHknLCAnYmFkZ2VQb3NpdGlvbicsICdiYWRnZVR5cGUnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnZnVsbHdpZHRoJywgJ2hlaWdodCcsICdocmVmJywgJ2ljb24nLCAnaWNvbk9ubHknLCAnaWNvblBvc2l0aW9uJywgJ2xhYmVsJywgJ2xpbmtBY2Nlc3NrZXknLCAnbGlua0lkJywgJ2xvY2FsaXphdGlvbicsICdyZWwnLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJywgJ3RhcmdldCcsICd0ZXh0QWxpZ24nLCAndHlwZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWxpbmsnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlDb250cm9scycsICdhMTF5Q3VycmVudCcsICdhMTF5RGVzY3JpYmVkYnknLCAnYTExeURpc2FibGVkJywgJ2ExMXlFeHBhbmRlZCcsICdhMTF5TGFiZWwnLCAnYTExeVRhYmluZGV4JywgJ2FjdGl2ZScsICdhbmFseXRpY3NJZCcsICdiYWRnZScsICdiYWRnZUVtcHR5JywgJ2JhZGdlUG9zaXRpb24nLCAnYmFkZ2VUeXBlJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2Z1bGx3aWR0aCcsICdoZWlnaHQnLCAnaHJlZicsICdpY29uJywgJ2ljb25Pbmx5JywgJ2ljb25Qb3NpdGlvbicsICdsYWJlbCcsICdsaW5rQWNjZXNza2V5JywgJ2xpbmtJZCcsICdsb2NhbGl6YXRpb24nLCAncmVsJywgJ3NpemUnLCAnc2l6ZUxhcmdlJywgJ3NpemVNZWRpdW0nLCAnc2l6ZVNtYWxsJywgJ3NpemVVbHRyYScsICd0YXJnZXQnLCAndGV4dEFsaWduJywgJ3R5cGUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoTGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhMaW5rRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENsaWNrJywgJ3N0emhGb2N1cycsICdzdHpoQmx1ciddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aExpbmtDbGlja0V2ZW50IGFzIElTdHpoTGlua1N0emhMaW5rQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aExpbmtGb2N1c0V2ZW50IGFzIElTdHpoTGlua1N0emhMaW5rRm9jdXNFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aExpbmtCbHVyRXZlbnQgYXMgSVN0emhMaW5rU3R6aExpbmtCbHVyRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoTGluayBleHRlbmRzIENvbXBvbmVudHMuU3R6aExpbmsge1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoTGlua1N0emhMaW5rQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoTGlua1N0emhMaW5rRm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgYmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aExpbmtTdHpoTGlua0JsdXJFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aExpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoTGlzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhMaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aExpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aExpc3RJdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aExpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoTGlzdEl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUxhYmVsJywgJ2xhYmVsJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtbG9hZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRlTGFiZWwnLCAnbGFiZWwnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoTG9hZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aExvYWRlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhMb2FkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhMb2FkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZVBlcmNlbnQnLCAnbGFiZWwnLCAncGVyY2VudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1sb2FkaW5nYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRlUGVyY2VudCcsICdsYWJlbCcsICdwZXJjZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhMb2FkaW5nYmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aExvYWRpbmdiYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoTG9hZGluZ2JhciBleHRlbmRzIENvbXBvbmVudHMuU3R6aExvYWRpbmdiYXIge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoTWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhNZW51RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aE1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhNZW51IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlMYWJlbCcsICdhY3RpdmUnLCAnYW5hbHl0aWNzSWQnLCAnYmFkZ2UnLCAnYmFkZ2VFbXB0eScsICdiYWRnZVR5cGUnLCAnY291bnRlcicsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnbGFiZWwnLCAnc2l6ZScsICd0YXJnZXQnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlMYWJlbCcsICdhY3RpdmUnLCAnYW5hbHl0aWNzSWQnLCAnYmFkZ2UnLCAnYmFkZ2VFbXB0eScsICdiYWRnZVR5cGUnLCAnY291bnRlcicsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnbGFiZWwnLCAnc2l6ZScsICd0YXJnZXQnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoTWVudUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoTWVudUl0ZW1FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoRm9jdXMnLCAnc3R6aEJsdXInLCAnc3R6aENsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoTWVudUl0ZW1Gb2N1c0V2ZW50IGFzIElTdHpoTWVudUl0ZW1TdHpoTWVudUl0ZW1Gb2N1c0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoTWVudUl0ZW1CbHVyRXZlbnQgYXMgSVN0emhNZW51SXRlbVN0emhNZW51SXRlbUJsdXJFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aE1lbnVJdGVtQ2xpY2tFdmVudCBhcyBJU3R6aE1lbnVJdGVtU3R6aE1lbnVJdGVtQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhNZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aE1lbnVJdGVtIHtcbiAgLyoqXG4gICAqIEZvY3VzIGV2ZW50XG4gICAqL1xuICBzdHpoRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aE1lbnVJdGVtU3R6aE1lbnVJdGVtRm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogQmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aE1lbnVJdGVtU3R6aE1lbnVJdGVtQmx1ckV2ZW50Pj47XG4gIC8qKlxuICAgKiBDbGljayBldmVudFxuICAgKi9cbiAgc3R6aENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhNZW51SXRlbVN0emhNZW51SXRlbUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVzY3JpcHRpb24nLCAnaGlkZUNsb3NlJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLW1lc3NhZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rlc2NyaXB0aW9uJywgJ2hpZGVDbG9zZScsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoTWVzc2FnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhNZXNzYWdlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aE9wZW4nLCAnc3R6aENsb3NlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoTWVzc2FnZU9wZW5FdmVudCBhcyBJU3R6aE1lc3NhZ2VTdHpoTWVzc2FnZU9wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aE1lc3NhZ2VDbG9zZUV2ZW50IGFzIElTdHpoTWVzc2FnZVN0emhNZXNzYWdlQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhNZXNzYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBNZXNzYWdlIG9wZW4gZXZlbnRcbiAgICovXG4gIHN0emhPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhNZXNzYWdlU3R6aE1lc3NhZ2VPcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIE1lc3NhZ2UgY2xvc2UgZXZlbnRcbiAgICovXG4gIHN0emhDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoTWVzc2FnZVN0emhNZXNzYWdlQ2xvc2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcGknLCAnbG9jYWxpemF0aW9uJywgJ3Nob3dJdGVtcycsICdzdGVwSXRlbXMnLCAndGFncyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1taWNyb3NpdGUtdGVhc2VybGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBpJywgJ2xvY2FsaXphdGlvbicsICdzaG93SXRlbXMnLCAnc3RlcEl0ZW1zJywgJ3RhZ3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aE1pY3Jvc2l0ZVRlYXNlcmxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoTWljcm9zaXRlVGVhc2VybGlzdEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhNaWNyb3NpdGVUZWFzZXJsaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoTWljcm9zaXRlVGVhc2VybGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnlNb250aCcsICdhMTF5RGVzY3JpYmVkYnlZZWFyJywgJ2Rlc2NyaXB0aW9uTG9uZ01vbnRoJywgJ2Rlc2NyaXB0aW9uTG9uZ1llYXInLCAnZGVzY3JpcHRpb25Nb250aCcsICdkZXNjcmlwdGlvblllYXInLCAnZGlzYWJsZWQnLCAnZXJyb3JNb250aCcsICdlcnJvclllYXInLCAnZm9ybWF0JywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkTW9udGgnLCAnaW52YWxpZFllYXInLCAnbG9jYWxpemF0aW9uJywgJ21heCcsICdtYXhZZWFyJywgJ21pbicsICdtaW5ZZWFyJywgJ21vbnRoTGFiZWwnLCAnbW9udGhPcGVuJywgJ21vbnRocycsICduYW1lJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWx1ZScsICd5ZWFyTGFiZWwnLCAneWVhck9wZW4nLCAneWVhclNvcnREaXJlY3Rpb24nLCAneWVhcnMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtbW9udGh5ZWFycGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnlNb250aCcsICdhMTF5RGVzY3JpYmVkYnlZZWFyJywgJ2Rlc2NyaXB0aW9uTG9uZ01vbnRoJywgJ2Rlc2NyaXB0aW9uTG9uZ1llYXInLCAnZGVzY3JpcHRpb25Nb250aCcsICdkZXNjcmlwdGlvblllYXInLCAnZGlzYWJsZWQnLCAnZXJyb3JNb250aCcsICdlcnJvclllYXInLCAnZm9ybWF0JywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkTW9udGgnLCAnaW52YWxpZFllYXInLCAnbG9jYWxpemF0aW9uJywgJ21heCcsICdtYXhZZWFyJywgJ21pbicsICdtaW5ZZWFyJywgJ21vbnRoTGFiZWwnLCAnbW9udGhPcGVuJywgJ21vbnRocycsICduYW1lJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWx1ZScsICd5ZWFyTGFiZWwnLCAneWVhck9wZW4nLCAneWVhclNvcnREaXJlY3Rpb24nLCAneWVhcnMnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aE1vbnRoeWVhcnBpY2tlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhNb250aHllYXJwaWNrZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoTW9udGh5ZWFycGlja2VyQ2hhbmdlRXZlbnQgYXMgSVN0emhNb250aHllYXJwaWNrZXJTdHpoTW9udGh5ZWFycGlja2VyQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoTW9udGh5ZWFycGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoTW9udGh5ZWFycGlja2VyIHtcbiAgLyoqXG4gICAqIE1vbnRoeWVhcnBpY2tlciBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aE1vbnRoeWVhcnBpY2tlclN0emhNb250aHllYXJwaWNrZXJDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsb2NhbGl6YXRpb24nXSxcbiAgbWV0aG9kczogWydhZGRUb2FzdCcsICdyZW1vdmVUb2FzdCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1vZmZsaW5lLWluZGljYXRvcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhPZmZsaW5lSW5kaWNhdG9yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aE9mZmxpbmVJbmRpY2F0b3JFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoT2ZmbGluZUluZGljYXRvciBleHRlbmRzIENvbXBvbmVudHMuU3R6aE9mZmxpbmVJbmRpY2F0b3Ige31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2VudGVyJywgJ2NlbnRlck1hcmtlcicsICdob3N0bmFtZScsICdsYXllcicsICdsYXllckNvbnRyb2wnLCAnbGF5ZXJzJywgJ2xvY2FsaXphdGlvbicsICdsb2NhdGlvbkNvbnRyb2wnLCAncGluY2hSb3RhdGVUaHJlc2hvbGQnLCAncHJpbnRDb250cm9sJywgJ3Jlc29sdXRpb25zJywgJ3NjYWxlQ29udHJvbCcsICd3cml0ZUV4dGVudFRvVXJsRW5hYmxlZCcsICd6b29tJywgJ3pvb21Mb2NhdGlvbiddLFxuICBtZXRob2RzOiBbJ2dldE1hcCcsICd3cml0ZUV4dGVudFRvVXJsJywgJ2dldFZpc2libGVNYXJrZXJzJywgJ2ZpbmRNYXJrZXJCeUlkJywgJ2FkZEljb25NYXJrZXInLCAnYWRkSWNvbk1hcmtlcnMnLCAndXBkYXRlVmlld1RvRml0TWFya2VycycsICdyZW1vdmVBbGxJY29uTWFya2VycycsICdyZW1vdmVJY29uTWFya2VyJywgJ3NldEljb25NYXJrZXJBY3RpdmUnLCAnc2V0SWNvbk1hcmtlckluYWN0aXZlJywgJ3NldEFsbEljb25NYXJrZXJzSW5hY3RpdmUnLCAnZW5hYmxlTG9jYXRpb25UcmFja2luZycsICdkaXNhYmxlTG9jYXRpb25UcmFja2luZycsICdnZXREaXN0YW5jZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1vbG1hcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2VudGVyJywgJ2NlbnRlck1hcmtlcicsICdob3N0bmFtZScsICdsYXllcicsICdsYXllckNvbnRyb2wnLCAnbGF5ZXJzJywgJ2xvY2FsaXphdGlvbicsICdsb2NhdGlvbkNvbnRyb2wnLCAncGluY2hSb3RhdGVUaHJlc2hvbGQnLCAncHJpbnRDb250cm9sJywgJ3Jlc29sdXRpb25zJywgJ3NjYWxlQ29udHJvbCcsICd3cml0ZUV4dGVudFRvVXJsRW5hYmxlZCcsICd6b29tJywgJ3pvb21Mb2NhdGlvbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoT2xtYXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoT2xtYXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoSW5pdGlhbGl6ZWQnLCAnc3R6aFBvc3RSZW5kZXInLCAnc3R6aE1vdmVTdGFydCcsICdzdHpoTW92ZUVuZCcsICdzdHpoTW92ZVBhblpvb20nXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhPbG1hcEluaXRpYWxpemVkRXZlbnQgYXMgSVN0emhPbG1hcFN0emhPbG1hcEluaXRpYWxpemVkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhPbG1hcFBvc3RSZW5kZXJFdmVudCBhcyBJU3R6aE9sbWFwU3R6aE9sbWFwUG9zdFJlbmRlckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoT2xtYXBNb3ZlU3RhcnRFdmVudCBhcyBJU3R6aE9sbWFwU3R6aE9sbWFwTW92ZVN0YXJ0RXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhPbG1hcE1vdmVFbmRFdmVudCBhcyBJU3R6aE9sbWFwU3R6aE9sbWFwTW92ZUVuZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoT2xtYXBNb3ZlUGFuWm9vbUV2ZW50IGFzIElTdHpoT2xtYXBTdHpoT2xtYXBNb3ZlUGFuWm9vbUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aE9sbWFwIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoT2xtYXAge1xuICAvKipcbiAgICogT2xtYXAgaW5pdGlhbGl6ZWQgZXZlbnRcbiAgICovXG4gIHN0emhJbml0aWFsaXplZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoT2xtYXBTdHpoT2xtYXBJbml0aWFsaXplZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBPbG1hcCBwb3N0cmVuZGVyIGV2ZW50XG4gICAqL1xuICBzdHpoUG9zdFJlbmRlcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoT2xtYXBTdHpoT2xtYXBQb3N0UmVuZGVyRXZlbnQ+PjtcbiAgLyoqXG4gICAqIE9sbWFwIG1vdmVzdGFydCBldmVudFxuICAgKi9cbiAgc3R6aE1vdmVTdGFydDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoT2xtYXBTdHpoT2xtYXBNb3ZlU3RhcnRFdmVudD4+O1xuICAvKipcbiAgICogT2xtYXAgbW92ZWVuZCBldmVudFxuICAgKi9cbiAgc3R6aE1vdmVFbmQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aE9sbWFwU3R6aE9sbWFwTW92ZUVuZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBPbG1hcCBtb3ZlIHBhbiB6b29tIGV2ZW50XG4gICAqL1xuICBzdHpoTW92ZVBhblpvb206IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aE9sbWFwU3R6aE9sbWFwTW92ZVBhblpvb21FdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5TGFiZWwnLCAnb3BlbicsICdzdGF5J10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLW92ZXJsYXknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlMYWJlbCcsICdvcGVuJywgJ3N0YXknXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aE92ZXJsYXkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoT3ZlcmxheUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhPcGVuJywgJ3N0emhDbG9zZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aE92ZXJsYXlPcGVuRXZlbnQgYXMgSVN0emhPdmVybGF5U3R6aE92ZXJsYXlPcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhPdmVybGF5Q2xvc2VFdmVudCBhcyBJU3R6aE92ZXJsYXlTdHpoT3ZlcmxheUNsb3NlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoT3ZlcmxheSBleHRlbmRzIENvbXBvbmVudHMuU3R6aE92ZXJsYXkge1xuICAvKipcbiAgICogRGlhbG9nIG9wZW4gZXZlbnRcbiAgICovXG4gIHN0emhPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhPdmVybGF5U3R6aE92ZXJsYXlPcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERpYWxvZyBjbG9zZSBldmVudFxuICAgKi9cbiAgc3R6aENsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhPdmVybGF5U3R6aE92ZXJsYXlDbG9zZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXBhZ2Utc2tpcGxpbmtzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhQYWdlU2tpcGxpbmtzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFBhZ2VTa2lwbGlua3NFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUGFnZVNraXBsaW5rcyBleHRlbmRzIENvbXBvbmVudHMuU3R6aFBhZ2VTa2lwbGlua3Mge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbG9jYWxpemF0aW9uJywgJ2xvZ29IcmVmJywgJ3ByaW50QW5hbHl0aWNzSWQnLCAnc2hhcmVEaXNhYmxlZCcsICdzaGFyZU1haWxCb2R5JywgJ3NoYXJlTWFpbFN1YmplY3QnLCAnc2hhcmVTZXJ2aWNlcycsICdzaGFyZVRpdGxlJywgJ3NoYXJlVXJsJywgJ3dpdGhQcmludCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wYWdlYm90dG9tJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsb2NhbGl6YXRpb24nLCAnbG9nb0hyZWYnLCAncHJpbnRBbmFseXRpY3NJZCcsICdzaGFyZURpc2FibGVkJywgJ3NoYXJlTWFpbEJvZHknLCAnc2hhcmVNYWlsU3ViamVjdCcsICdzaGFyZVNlcnZpY2VzJywgJ3NoYXJlVGl0bGUnLCAnc2hhcmVVcmwnLCAnd2l0aFByaW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhQYWdlYm90dG9tIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFBhZ2Vib3R0b21FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUGFnZWJvdHRvbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFBhZ2Vib3R0b20ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcGFnZWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFBhZ2Vjb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFBhZ2Vjb250ZW50RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFBhZ2Vjb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFnZWNvbnRlbnQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdkYXRlbGluZScsICdoeXBoZW5zRW5hYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wYWdldGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnZGF0ZWxpbmUnLCAnaHlwaGVuc0VuYWJsZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFBhZ2V0aXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhQYWdldGl0bGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUGFnZXRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFnZXRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaGVhZGluZ0lkJywgJ2xlYWRBdXRob3InLCAnc3VidGl0bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcGFnZXRpdGxlLWhlcm8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaGVhZGluZ0lkJywgJ2xlYWRBdXRob3InLCAnc3VidGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFBhZ2V0aXRsZUhlcm8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUGFnZXRpdGxlSGVyb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhQYWdldGl0bGVIZXJvIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFnZXRpdGxlSGVybyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoeXBoZW5zRW5hYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wYWdldGl0bGUtaG9tZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaHlwaGVuc0VuYWJsZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFBhZ2V0aXRsZUhvbWUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUGFnZXRpdGxlSG9tZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhQYWdldGl0bGVIb21lIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFnZXRpdGxlSG9tZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnYWxsb3dNYW51YWxJbnB1dCcsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW52YWxpZCcsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3RvdGFsJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsncHJldicsICduZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXBhZ2luYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhbGxvd01hbnVhbElucHV0JywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkaXNhYmxlZCcsICdlcnJvcicsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndG90YWwnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFBhZ2luYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUGFnaW5hdGlvbkVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhQYWdpbmF0aW9uQ2hhbmdlRXZlbnQgYXMgSVN0emhQYWdpbmF0aW9uU3R6aFBhZ2luYXRpb25DaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhQYWdpbmF0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFnaW5hdGlvbiB7XG4gIC8qKlxuICAgKiBQYWdpbmF0aW9uIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoUGFnaW5hdGlvblN0emhQYWdpbmF0aW9uQ2hhbmdlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2xvYWQnLCAnY2FwdGlvbicsICdjb3B5cmlnaHQnLCAnaGVhZGluZycsICdsb2NhbGl6YXRpb24nLCAnb3JpZW50YXRpb25PbkJ5RGVmYXVsdCcsICdzY2VuZScsICdzY2VuZUZhZGVEdXJhdGlvbicsICdzY2VuZXMnLCAnc2hvd0NvbnRyb2xzJywgJ3Nob3dIb3RzcG90cyddLFxuICBtZXRob2RzOiBbJ2dldFZpZXdlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wYW5vcmFtYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2xvYWQnLCAnY2FwdGlvbicsICdjb3B5cmlnaHQnLCAnaGVhZGluZycsICdsb2NhbGl6YXRpb24nLCAnb3JpZW50YXRpb25PbkJ5RGVmYXVsdCcsICdzY2VuZScsICdzY2VuZUZhZGVEdXJhdGlvbicsICdzY2VuZXMnLCAnc2hvd0NvbnRyb2xzJywgJ3Nob3dIb3RzcG90cyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUGFub3JhbWEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUGFub3JhbWFFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoTG9hZCcsICdzdHpoQ2hhbmdlJywgJ3N0emhGdWxsc2NyZWVuQ2hhbmdlJywgJ3N0emhTY2VuZUNoYW5nZScsICdzdHpoWm9vbUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aFBhbm9yYW1hTG9hZEV2ZW50IGFzIElTdHpoUGFub3JhbWFTdHpoUGFub3JhbWFMb2FkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhQYW5vcmFtYUNoYW5nZUV2ZW50IGFzIElTdHpoUGFub3JhbWFTdHpoUGFub3JhbWFDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFBhbm9yYW1hRnVsbHNjcmVlbkNoYW5nZUV2ZW50IGFzIElTdHpoUGFub3JhbWFTdHpoUGFub3JhbWFGdWxsc2NyZWVuQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhQYW5vcmFtYVNjZW5lQ2hhbmdlRXZlbnQgYXMgSVN0emhQYW5vcmFtYVN0emhQYW5vcmFtYVNjZW5lQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhQYW5vcmFtYVpvb21DaGFuZ2VFdmVudCBhcyBJU3R6aFBhbm9yYW1hU3R6aFBhbm9yYW1hWm9vbUNoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFBhbm9yYW1hIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUGFub3JhbWEge1xuICAvKipcbiAgICogTG9hZCBldmVudFxuICAgKi9cbiAgc3R6aExvYWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFBhbm9yYW1hU3R6aFBhbm9yYW1hTG9hZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBDaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFBhbm9yYW1hU3R6aFBhbm9yYW1hQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZ1bGxzY3JlZW4gY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoRnVsbHNjcmVlbkNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoUGFub3JhbWFTdHpoUGFub3JhbWFGdWxsc2NyZWVuQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFNjZW5lIGNoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aFNjZW5lQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhQYW5vcmFtYVN0emhQYW5vcmFtYVNjZW5lQ2hhbmdlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFpvb20gY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoWm9vbUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoUGFub3JhbWFTdHpoUGFub3JhbWFab29tQ2hhbmdlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaXRlbSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wb2ljYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpdGVtJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhQb2ljYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFBvaWNhcmRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUG9pY2FyZCBleHRlbmRzIENvbXBvbmVudHMuU3R6aFBvaWNhcmQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXBpJywgJ2xvY2FsaXphdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wb2lsaXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcGknLCAnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhQb2lsaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFBvaWxpc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUG9pbGlzdCBleHRlbmRzIENvbXBvbmVudHMuU3R6aFBvaWxpc3Qge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzdGFuY2UnLCAnZnVsbHdpZHRoJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICdvcGVuJywgJ3BsYWNlbWVudCcsICdzaXplJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9nZ2xlJywgJ3VwZGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wb3BvdmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXN0YW5jZScsICdmdWxsd2lkdGgnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ29wZW4nLCAncGxhY2VtZW50JywgJ3NpemUnLCAnc2tpZGRpbmcnLCAnc3RyYXRlZ3knLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUG9wb3ZlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhQb3BvdmVyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aE9wZW4nLCAnc3R6aE9wZW5lZCcsICdzdHpoQ2xvc2UnLCAnc3R6aENsb3NlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aFBvcG92ZXJPcGVuRXZlbnQgYXMgSVN0emhQb3BvdmVyU3R6aFBvcG92ZXJPcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhQb3BvdmVyT3BlbmVkRXZlbnQgYXMgSVN0emhQb3BvdmVyU3R6aFBvcG92ZXJPcGVuZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFBvcG92ZXJDbG9zZUV2ZW50IGFzIElTdHpoUG9wb3ZlclN0emhQb3BvdmVyQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFBvcG92ZXJDbG9zZWRFdmVudCBhcyBJU3R6aFBvcG92ZXJTdHpoUG9wb3ZlckNsb3NlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFBvcG92ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhQb3BvdmVyIHtcbiAgLyoqXG4gICAqIFBvcG92ZXIgb3BlbiBldmVudFxuICAgKi9cbiAgc3R6aE9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFBvcG92ZXJTdHpoUG9wb3Zlck9wZW5FdmVudD4+O1xuICAvKipcbiAgICogUG9wb3ZlciBvcGVuZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhPcGVuZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFBvcG92ZXJTdHpoUG9wb3Zlck9wZW5lZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBQb3BvdmVyIGNsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFBvcG92ZXJTdHpoUG9wb3ZlckNsb3NlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFBvcG92ZXIgY2xvc2VkIGV2ZW50IChhZnRlciBhbmltYXRpb24pXG4gICAqL1xuICBzdHpoQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhQb3BvdmVyU3R6aFBvcG92ZXJDbG9zZWRFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1wcmludCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUHJpbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUHJpbnRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUHJpbnQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhQcmludCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGlja0Rpc2FibGVkJywgJ2RhdGEnLCAnaW5kZXgnLCAnbG9jYWxpemF0aW9uJywgJ3N0ZXBzJywgJ3N0ZXBzTGFyZ2UnLCAnc3RlcHNNZWRpdW0nLCAnc3RlcHNTbWFsbCcsICdzdGVwc1VsdHJhJ10sXG4gIG1ldGhvZHM6IFsnZ2V0SXRlbURhdGEnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcHJvZ3Jlc3NiYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NsaWNrRGlzYWJsZWQnLCAnZGF0YScsICdpbmRleCcsICdsb2NhbGl6YXRpb24nLCAnc3RlcHMnLCAnc3RlcHNMYXJnZScsICdzdGVwc01lZGl1bScsICdzdGVwc1NtYWxsJywgJ3N0ZXBzVWx0cmEnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFByb2dyZXNzYmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFByb2dyZXNzYmFyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFByb2dyZXNzYmFyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUHJvZ3Jlc3NiYXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnY2xpY2tEaXNhYmxlZCcsICdjdXJyZW50JywgJ2Rpc2FibGVkJywgJ2RvdHRlZCcsICdmaXJzdCcsICdoaWRlJywgJ2ljb24nLCAnaW5jb21wbGV0ZScsICdsYWJlbCcsICdsYXN0JywgJ3Bhc3NlZCcsICdzdGVwJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXByb2dyZXNzYmFyLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2NsaWNrRGlzYWJsZWQnLCAnY3VycmVudCcsICdkaXNhYmxlZCcsICdkb3R0ZWQnLCAnZmlyc3QnLCAnaGlkZScsICdpY29uJywgJ2luY29tcGxldGUnLCAnbGFiZWwnLCAnbGFzdCcsICdwYXNzZWQnLCAnc3RlcCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUHJvZ3Jlc3NiYXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFByb2dyZXNzYmFySXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDbGljaycsICdzdHpoRG90dGVkQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhQcm9ncmVzc2Jhckl0ZW1DbGlja0V2ZW50IGFzIElTdHpoUHJvZ3Jlc3NiYXJJdGVtU3R6aFByb2dyZXNzYmFySXRlbUNsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhQcm9ncmVzc2Jhckl0ZW1Eb3R0ZWRDbGlja0V2ZW50IGFzIElTdHpoUHJvZ3Jlc3NiYXJJdGVtU3R6aFByb2dyZXNzYmFySXRlbURvdHRlZENsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUHJvZ3Jlc3NiYXJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUHJvZ3Jlc3NiYXJJdGVtIHtcbiAgLyoqXG4gICAqIENsaWNrIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFByb2dyZXNzYmFySXRlbVN0emhQcm9ncmVzc2Jhckl0ZW1DbGlja0V2ZW50Pj47XG4gIC8qKlxuICAgKiBEb3R0ZWQgY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhEb3R0ZWRDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoUHJvZ3Jlc3NiYXJJdGVtU3R6aFByb2dyZXNzYmFySXRlbURvdHRlZENsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0aG9yJywgJ3RleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcXVvdGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dGhvcicsICd0ZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhRdW90ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhRdW90ZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhRdW90ZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFF1b3RlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdjaGVja2VkJywgJ2RlZmF1bHRDaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYTExeURlc2NyaWJlZGJ5JywgJ2NoZWNrZWQnLCAnZGVmYXVsdENoZWNrZWQnLCAnZGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb25Mb25nJywgJ2Rlc2NyaXB0aW9uTG9uZ1RpdGxlJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVPcHRpb25hbCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhSYWRpbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhSYWRpb0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDaGFuZ2UnLCAnc3R6aEZvY3VzJywgJ3N0emhCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoUmFkaW9DaGFuZ2VFdmVudCBhcyBJU3R6aFJhZGlvU3R6aFJhZGlvQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhSYWRpb0ZvY3VzRXZlbnQgYXMgSVN0emhSYWRpb1N0emhSYWRpb0ZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhSYWRpb0JsdXJFdmVudCBhcyBJU3R6aFJhZGlvU3R6aFJhZGlvQmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUmFkaW8ge1xuICAvKipcbiAgICogSW5wdXQgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhSYWRpb1N0emhSYWRpb0NoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBJbnB1dCBmb2N1cyBldmVudFxuICAgKi9cbiAgc3R6aEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhSYWRpb1N0emhSYWRpb0ZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhSYWRpb1N0emhSYWRpb0JsdXJFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjaGVja2VkUmFkaW8nLCAnZGVmYXVsdFZhbHVlJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXJlY3Rpb24nLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZUxlZ2VuZCcsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsZWdlbmQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAncHJldmVudFVwZGF0ZVByb3BlcnRpZXMnLCAncmVxdWlyZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcmFkaW9ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZFJhZGlvJywgJ2RlZmF1bHRWYWx1ZScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlyZWN0aW9uJywgJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2hpZGVMZWdlbmQnLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGVnZW5kJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3ByZXZlbnRVcGRhdGVQcm9wZXJ0aWVzJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhSYWRpb2dyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFJhZGlvZ3JvdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUmFkaW9ncm91cCBleHRlbmRzIENvbXBvbmVudHMuU3R6aFJhZGlvZ3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZml0JywgJ3BvcnRyYWl0JywgJ3JhdGlvJywgJ3JhdGlvTGFyZ2UnLCAncmF0aW9NZWRpdW0nLCAncmF0aW9TbWFsbCcsICdyYXRpb1VsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXJhdGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmaXQnLCAncG9ydHJhaXQnLCAncmF0aW8nLCAncmF0aW9MYXJnZScsICdyYXRpb01lZGl1bScsICdyYXRpb1NtYWxsJywgJ3JhdGlvVWx0cmEnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFJhdGlvIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFJhdGlvRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFJhdGlvIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUmF0aW8ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaHJlZiddLFxuICBtZXRob2RzOiBbJ29wZW5QbGF5ZXInLCAnY2xvc2VQbGF5ZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtcmVhZHNwZWFrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hyZWYnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFJlYWRzcGVha2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFJlYWRzcGVha2VyRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFJlYWRzcGVha2VyIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoUmVhZHNwZWFrZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZXh0ZXJuYWxMaW5rSWNvbicsICdleHRlcm5hbExpbmtTZWxlY3RvcicsICdsb2NhbGl6YXRpb24nLCAncmVtb3ZlRmlyc3RNYXJnaW4nLCAncmVtb3ZlTGFzdE1hcmdpbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1yaWNodGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZXh0ZXJuYWxMaW5rSWNvbicsICdleHRlcm5hbExpbmtTZWxlY3RvcicsICdsb2NhbGl6YXRpb24nLCAncmVtb3ZlRmlyc3RNYXJnaW4nLCAncmVtb3ZlTGFzdE1hcmdpbiddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUmljaHRleHQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoUmljaHRleHRFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoUmljaHRleHQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhSaWNodGV4dCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250ZW50JywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc3BhbicsICdzcGFuTGFyZ2UnLCAnc3Bhbk1lZGl1bScsICdzcGFuU21hbGwnLCAnc3BhblVsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXJvdycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29udGVudCcsICdpdGVtcycsICdqdXN0aWZ5JywgJ3NwYW4nLCAnc3BhbkxhcmdlJywgJ3NwYW5NZWRpdW0nLCAnc3BhblNtYWxsJywgJ3NwYW5VbHRyYSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoUm93IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFJvd0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhSb3cgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhSb3cge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZXJyb3InLCAnaW52YWxpZCcsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdudW1iZXJzJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNhcHRjaGEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Vycm9yJywgJ2ludmFsaWQnLCAnbG9jYWxpemF0aW9uJywgJ25hbWUnLCAnbnVtYmVycycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2FwdGNoYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTYXB0Y2hhRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aFNhcHRjaGFDaGFuZ2VFdmVudCBhcyBJU3R6aFNhcHRjaGFTdHpoU2FwdGNoYUNoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNhcHRjaGEgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTYXB0Y2hhIHtcbiAgLyoqXG4gICAqIFNhcHRjaGEgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhTYXB0Y2hhU3R6aFNhcHRjaGFDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1zY3JvbGx1cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2Nyb2xsdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoU2Nyb2xsdXBFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoU2Nyb2xsdXAgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTY3JvbGx1cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcGknLCAnYXV0b2ZldGNoQXNpZGVGaWx0ZXJzJywgJ2F1dG9mZXRjaE1haW5GaWx0ZXJzJywgJ2RlYm91bmNlVGltZScsICdlbXB0eUxpbmtIcmVmJywgJ2VtcHR5TGlua0xhYmVsJywgJ2VtcHR5VGV4dCcsICdoZWFkaW5nJywgJ2hpZGVBc2lkZUZpbHRlcnMnLCAnaGlkZU1haW5GaWx0ZXJzJywgJ2hpZGVSZXN1bHRzSGVhZGluZycsICdoeXBoZW5zRW5hYmxlZCcsICdpbml0aWFsRmV0Y2gnLCAnbGltaXQnLCAnbG9jYWxpemF0aW9uJywgJ3ByZXZlbnRVcGRhdGVVcmwnLCAncmVzdWx0SGVhZGluZ0xldmVsJywgJ3NvcnRCeScsICdzb3J0T3B0aW9ucycsICdzdWJzY3JpYmVBZGRpdGlvbmFsUXVlcnlQYXJhbWV0ZXJzJywgJ3N1YnNjcmliZUxhYmVsJywgJ3N1YnNjcmliZVBhdGgnLCAndGVtcGxhdGVSZXN1bHQnLCAndGVtcGxhdGVSZXN1bHRXcmFwcGVyRWxlbWVudCcsICd0ZW1wbGF0ZVJlc3VsdFdyYXBwZXJQcm9wcycsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNlYXJjaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBpJywgJ2F1dG9mZXRjaEFzaWRlRmlsdGVycycsICdhdXRvZmV0Y2hNYWluRmlsdGVycycsICdkZWJvdW5jZVRpbWUnLCAnZW1wdHlMaW5rSHJlZicsICdlbXB0eUxpbmtMYWJlbCcsICdlbXB0eVRleHQnLCAnaGVhZGluZycsICdoaWRlQXNpZGVGaWx0ZXJzJywgJ2hpZGVNYWluRmlsdGVycycsICdoaWRlUmVzdWx0c0hlYWRpbmcnLCAnaHlwaGVuc0VuYWJsZWQnLCAnaW5pdGlhbEZldGNoJywgJ2xpbWl0JywgJ2xvY2FsaXphdGlvbicsICdwcmV2ZW50VXBkYXRlVXJsJywgJ3Jlc3VsdEhlYWRpbmdMZXZlbCcsICdzb3J0QnknLCAnc29ydE9wdGlvbnMnLCAnc3Vic2NyaWJlQWRkaXRpb25hbFF1ZXJ5UGFyYW1ldGVycycsICdzdWJzY3JpYmVMYWJlbCcsICdzdWJzY3JpYmVQYXRoJywgJ3RlbXBsYXRlUmVzdWx0JywgJ3RlbXBsYXRlUmVzdWx0V3JhcHBlckVsZW1lbnQnLCAndGVtcGxhdGVSZXN1bHRXcmFwcGVyUHJvcHMnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2VhcmNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFNlYXJjaEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhPdmVybGF5Q2xvc2VDbGljayddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aFNlYXJjaE92ZXJsYXlDbG9zZUNsaWNrRXZlbnQgYXMgSVN0emhTZWFyY2hTdHpoU2VhcmNoT3ZlcmxheUNsb3NlQ2xpY2tFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhTZWFyY2ggZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTZWFyY2gge1xuICAvKipcbiAgICogU2VhcmNoIG92ZXJsYXkgY2xvc2UgY2xpY2sgZXZlbnRcbiAgICovXG4gIHN0emhPdmVybGF5Q2xvc2VDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoU2VhcmNoU3R6aFNlYXJjaE92ZXJsYXlDbG9zZUNsaWNrRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdicmVha291dCcsICdtYXJnaW5Cb3R0b20nLCAnbWFyZ2luVG9wJywgJ3BhZGRpbmdCb3R0b20nLCAncGFkZGluZ1RvcCcsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNlY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnYnJlYWtvdXQnLCAnbWFyZ2luQm90dG9tJywgJ21hcmdpblRvcCcsICdwYWRkaW5nQm90dG9tJywgJ3BhZGRpbmdUb3AnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2VjdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTZWN0aW9uRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNlY3Rpb24gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTZWN0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xvY2FsaXphdGlvbicsICdtYWlsQm9keScsICdtYWlsU3ViamVjdCcsICdzZXJ2aWNlcycsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtc2hhcmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xvY2FsaXphdGlvbicsICdtYWlsQm9keScsICdtYWlsU3ViamVjdCcsICdzZXJ2aWNlcycsICd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFNoYXJlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFNoYXJlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNoYXJlIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoU2hhcmUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2VLZXknLCAnaGlkZUZyb21EYXRlJywgJ2xhcmdlJywgJ21lZGl1bScsICdtaWtybycsICdzaG93RnJvbURhdGUnLCAnc21hbGwnLCAndWx0cmEnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtc2hvdycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2VLZXknLCAnaGlkZUZyb21EYXRlJywgJ2xhcmdlJywgJ21lZGl1bScsICdtaWtybycsICdzaG93RnJvbURhdGUnLCAnc21hbGwnLCAndWx0cmEnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFNob3cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoU2hvd0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhTaG93IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoU2hvdyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpdGVtcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1zaXRlbWFwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpdGVtcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2l0ZW1hcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTaXRlbWFwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNpdGVtYXAgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTaXRlbWFwIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNraW4tcG9ydGFsLW1pdHdpcmtlbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2tpblBvcnRhbE1pdHdpcmtlbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTa2luUG9ydGFsTWl0d2lya2VuRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNraW5Qb3J0YWxNaXR3aXJrZW4gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTa2luUG9ydGFsTWl0d2lya2VuIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNraW4tc3Rvcnlib29rLXByZXZpZXcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFNraW5TdG9yeWJvb2tQcmV2aWV3IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFNraW5TdG9yeWJvb2tQcmV2aWV3RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNraW5TdG9yeWJvb2tQcmV2aWV3IGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoU2tpblN0b3J5Ym9va1ByZXZpZXcge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnaHJlZicsICdsYWJlbCcsICdsaW5rQWNjZXNza2V5JywgJ2xpbmtUaXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1za2lwbGluaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5hbHl0aWNzSWQnLCAnaHJlZicsICdsYWJlbCcsICdsaW5rQWNjZXNza2V5JywgJ2xpbmtUaXRsZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU2tpcGxpbmsge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoU2tpcGxpbmtFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoRm9jdXMnLCAnc3R6aEJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhTa2lwbGlua0ZvY3VzRXZlbnQgYXMgSVN0emhTa2lwbGlua1N0emhTa2lwbGlua0ZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhTa2lwbGlua0JsdXJFdmVudCBhcyBJU3R6aFNraXBsaW5rU3R6aFNraXBsaW5rQmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNraXBsaW5rIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoU2tpcGxpbmsge1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoU2tpcGxpbmtTdHpoU2tpcGxpbmtGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBCbHVyIGV2ZW50XG4gICAqL1xuICBzdHpoQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoU2tpcGxpbmtTdHpoU2tpcGxpbmtCbHVyRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaXRlbXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtc29jaWFsbWVkaWFzdHJlYW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaGVhZGluZ0xldmVsJywgJ2l0ZW1zJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhTb2NpYWxtZWRpYXN0cmVhbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTb2NpYWxtZWRpYXN0cmVhbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhTb2NpYWxtZWRpYXN0cmVhbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFNvY2lhbG1lZGlhc3RyZWFtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RhdGVBZGFwdGVyJywgJ2l0ZW0nLCAnbG9jYWxpemF0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNvY2lhbG1lZGlhc3RyZWFtLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGVBZGFwdGVyJywgJ2l0ZW0nLCAnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhTb2NpYWxtZWRpYXN0cmVhbUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoU29jaWFsbWVkaWFzdHJlYW1JdGVtRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFNvY2lhbG1lZGlhc3RyZWFtSXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFNvY2lhbG1lZGlhc3RyZWFtSXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250YWluZXInLCAnZGF0YUlkQXR0cmlidXRlJywgJ2Rpc2FibGVkJywgJ2ZpbHRlckVsZW1lbnRzJywgJ2dob3N0Q2xvbmUnLCAnbG9jYWxpemF0aW9uJ10sXG4gIG1ldGhvZHM6IFsndG9BcnJheScsICdzb3J0JywgJ21vdmVJdGVtJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNvcnRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250YWluZXInLCAnZGF0YUlkQXR0cmlidXRlJywgJ2Rpc2FibGVkJywgJ2ZpbHRlckVsZW1lbnRzJywgJ2dob3N0Q2xvbmUnLCAnbG9jYWxpemF0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhTb3J0YWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTb3J0YWJsZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhVcGRhdGUnLCAnc3R6aERpc2FibGUnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhTb3J0YWJsZVVwZGF0ZUV2ZW50IGFzIElTdHpoU29ydGFibGVTdHpoU29ydGFibGVVcGRhdGVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFNvcnRhYmxlRGlzYWJsZUV2ZW50IGFzIElTdHpoU29ydGFibGVTdHpoU29ydGFibGVEaXNhYmxlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoU29ydGFibGUgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTb3J0YWJsZSB7XG4gIC8qKlxuICAgKiBVcGRhdGUgZXZlbnRcbiAgICovXG4gIHN0emhVcGRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFNvcnRhYmxlU3R6aFNvcnRhYmxlVXBkYXRlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIERpc2FibGUgZXZlbnRcbiAgICovXG4gIHN0emhEaXNhYmxlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhTb3J0YWJsZVN0emhTb3J0YWJsZURpc2FibGVFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcm91bmQnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXNwYWNlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcm91bmQnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhTcGFjZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTcGFjZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhTcGFjZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFNwYWNlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3BlcmNlbnQnLCAndHlwZScsICd3aXRoTG9hZGluZ2JhciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1zdGF0dXMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3BlcmNlbnQnLCAndHlwZScsICd3aXRoTG9hZGluZ2JhciddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU3RhdHVzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFN0YXR1c0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhTdGF0dXMgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTdGF0dXMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmxlZWRpbmcnLCAnZGlzYWJsZVN0aWNreUJvdHRvbScsICdkaXNhYmxlU3RpY2t5VG9wJywgJ25hbWUnLCAncG9zaXRpb24nLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC1zdGlja3knLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JsZWVkaW5nJywgJ2Rpc2FibGVTdGlja3lCb3R0b20nLCAnZGlzYWJsZVN0aWNreVRvcCcsICduYW1lJywgJ3Bvc2l0aW9uJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFN0aWNreSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTdGlja3lFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoU3R1Y2tUb3AnLCAnc3R6aFN0dWNrQm90dG9tJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoU3RpY2t5U3R1Y2tUb3BFdmVudCBhcyBJU3R6aFN0aWNreVN0emhTdGlja3lTdHVja1RvcEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoU3RpY2t5U3R1Y2tCb3R0b21FdmVudCBhcyBJU3R6aFN0aWNreVN0emhTdGlja3lTdHVja0JvdHRvbUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFN0aWNreSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFN0aWNreSB7XG4gIC8qKlxuICAgKiBTdGlja3kgc3R1Y2sgdG9wIGV2ZW50XG4gICAqL1xuICBzdHpoU3R1Y2tUb3A6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFN0aWNreVN0emhTdGlja3lTdHVja1RvcEV2ZW50Pj47XG4gIC8qKlxuICAgKiBTdGlja3kgc3R1Y2sgYm90dG9tIGV2ZW50XG4gICAqL1xuICBzdHpoU3R1Y2tCb3R0b206IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFN0aWNreVN0emhTdGlja3lTdHVja0JvdHRvbUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3BhZ2V0aXRsZVF1ZXJ5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXN0aWNreS1hY3Rpb25zJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydwYWdldGl0bGVRdWVyeSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoU3RpY2t5QWN0aW9ucyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhTdGlja3lBY3Rpb25zRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFN0aWNreUFjdGlvbnMgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhTdGlja3lBY3Rpb25zIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVNaW5XaWR0aCcsICdmaXhlZExlZnQnLCAnZml4ZWRSaWdodCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10YWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZU1pbldpZHRoJywgJ2ZpeGVkTGVmdCcsICdmaXhlZFJpZ2h0J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhUYWJsZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFRhYmxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhMTF5TGFiZWwnLCAnYTExeVRhYmluZGV4JywgJ2FuYWx5dGljc0lkJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnbGFiZWwnLCAnbm9uSW50ZXJhY3RpdmUnLCAncmVtb3ZlQW5hbHl0aWNzSWQnLCAnc2l6ZScsICd0YXJnZXQnLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10YWcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdhMTF5TGFiZWwnLCAnYTExeVRhYmluZGV4JywgJ2FuYWx5dGljc0lkJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnbGFiZWwnLCAnbm9uSW50ZXJhY3RpdmUnLCAncmVtb3ZlQW5hbHl0aWNzSWQnLCAnc2l6ZScsICd0YXJnZXQnLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVGFnIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFRhZ0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhDbGljaycsICdzdHpoRm9jdXMnLCAnc3R6aEJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhUYWdDbGlja0V2ZW50IGFzIElTdHpoVGFnU3R6aFRhZ0NsaWNrRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhUYWdGb2N1c0V2ZW50IGFzIElTdHpoVGFnU3R6aFRhZ0ZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhUYWdCbHVyRXZlbnQgYXMgSVN0emhUYWdTdHpoVGFnQmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFRhZyBleHRlbmRzIENvbXBvbmVudHMuU3R6aFRhZyB7XG4gIC8qKlxuICAgKiBDbGljayBldmVudFxuICAgKi9cbiAgc3R6aENsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUYWdTdHpoVGFnQ2xpY2tFdmVudD4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVGFnU3R6aFRhZ0ZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUYWdTdHpoVGFnQmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2N1cnZlJywgJ2ZvbnQnLCAnbGVhZCcsICdzaXplJywgJ3NpemVMYXJnZScsICdzaXplTWVkaXVtJywgJ3NpemVTbWFsbCcsICdzaXplVWx0cmEnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnY3VydmUnLCAnZm9udCcsICdsZWFkJywgJ3NpemUnLCAnc2l6ZUxhcmdlJywgJ3NpemVNZWRpdW0nLCAnc2l6ZVNtYWxsJywgJ3NpemVVbHRyYSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVGV4dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhUZXh0RWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFRleHQgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhUZXh0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ltYWdlUG9zaXRpb24nLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10ZXh0YW5kaW1hZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ltYWdlUG9zaXRpb24nLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVGV4dGFuZGltYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFRleHRhbmRpbWFnZUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhUZXh0YW5kaW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhUZXh0YW5kaW1hZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sbGFwc2libGUnLCAnZm9sZGFibGUnLCAnbXVsdGlzZWxlY3RhYmxlJ10sXG4gIG1ldGhvZHM6IFsnc2V0SXRlbUZvY3VzJywgJ3VwZGF0ZVN0ZXBzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXRpbWVsaW5lJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xsYXBzaWJsZScsICdmb2xkYWJsZScsICdtdWx0aXNlbGVjdGFibGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFRpbWVsaW5lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFRpbWVsaW5lRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEZvbGRhYmxlQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVGltZWxpbmVGb2xkYWJsZUNoYW5nZUV2ZW50IGFzIElTdHpoVGltZWxpbmVTdHpoVGltZWxpbmVGb2xkYWJsZUNoYW5nZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFRpbWVsaW5lIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoVGltZWxpbmUge1xuICAvKipcbiAgICogRm9sZGFibGUgY2hhbmdlIGV2ZW50XG4gICAqL1xuICBzdHpoRm9sZGFibGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRpbWVsaW5lU3R6aFRpbWVsaW5lRm9sZGFibGVDaGFuZ2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmFseXRpY3NJZCcsICdiYWRnZScsICdiYWRnZUVtcHR5JywgJ2JhZGdlVHlwZScsICdjb2xsYXBzaWJsZScsICdjb21wbGV0ZWQnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZWQnLCAnZm9sZGFibGUnLCAnaGVhZGluZycsICdoZWFkaW5nTGV2ZWwnLCAnaWNvbicsICdvcGVuJywgJ3N0ZXAnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9nZ2xlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXRpbWVsaW5lLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuYWx5dGljc0lkJywgJ2JhZGdlJywgJ2JhZGdlRW1wdHknLCAnYmFkZ2VUeXBlJywgJ2NvbGxhcHNpYmxlJywgJ2NvbXBsZXRlZCcsICdkZXNjcmlwdGlvbicsICdkaXNhYmxlZCcsICdmb2xkYWJsZScsICdoZWFkaW5nJywgJ2hlYWRpbmdMZXZlbCcsICdpY29uJywgJ29wZW4nLCAnc3RlcCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVGltZWxpbmVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFRpbWVsaW5lSXRlbUVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3N0emhPcGVuJywgJ3N0emhPcGVuZWQnLCAnc3R6aENsb3NlJywgJ3N0emhDbG9zZWQnLCAnc3R6aEZvY3VzJywgJ3N0emhCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVGltZWxpbmVJdGVtT3BlbkV2ZW50IGFzIElTdHpoVGltZWxpbmVJdGVtU3R6aFRpbWVsaW5lSXRlbU9wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRpbWVsaW5lSXRlbU9wZW5lZEV2ZW50IGFzIElTdHpoVGltZWxpbmVJdGVtU3R6aFRpbWVsaW5lSXRlbU9wZW5lZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVGltZWxpbmVJdGVtQ2xvc2VFdmVudCBhcyBJU3R6aFRpbWVsaW5lSXRlbVN0emhUaW1lbGluZUl0ZW1DbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVGltZWxpbmVJdGVtQ2xvc2VkRXZlbnQgYXMgSVN0emhUaW1lbGluZUl0ZW1TdHpoVGltZWxpbmVJdGVtQ2xvc2VkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhUaW1lbGluZUl0ZW1Gb2N1c0V2ZW50IGFzIElTdHpoVGltZWxpbmVJdGVtU3R6aFRpbWVsaW5lSXRlbUZvY3VzRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhUaW1lbGluZUl0ZW1CbHVyRXZlbnQgYXMgSVN0emhUaW1lbGluZUl0ZW1TdHpoVGltZWxpbmVJdGVtQmx1ckV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFRpbWVsaW5lSXRlbSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFRpbWVsaW5lSXRlbSB7XG4gIC8qKlxuICAgKiBPcGVuIGV2ZW50XG4gICAqL1xuICBzdHpoT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVGltZWxpbmVJdGVtU3R6aFRpbWVsaW5lSXRlbU9wZW5FdmVudD4+O1xuICAvKipcbiAgICogT3BlbmVkIGV2ZW50IChhZnRlciBhbmltYXRpb24pXG4gICAqL1xuICBzdHpoT3BlbmVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUaW1lbGluZUl0ZW1TdHpoVGltZWxpbmVJdGVtT3BlbmVkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRpbWVsaW5lSXRlbVN0emhUaW1lbGluZUl0ZW1DbG9zZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBDbG9zZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhDbG9zZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRpbWVsaW5lSXRlbVN0emhUaW1lbGluZUl0ZW1DbG9zZWRFdmVudD4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnRcbiAgICovXG4gIHN0emhGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVGltZWxpbmVJdGVtU3R6aFRpbWVsaW5lSXRlbUZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGJsdXIgZXZlbnRcbiAgICovXG4gIHN0emhCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUaW1lbGluZUl0ZW1TdHpoVGltZWxpbmVJdGVtQmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdvcGVuJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzdGVwJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXRpbWVwaWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdvcGVuJywgJ3BvcG92ZXJQbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICdzdGVwJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhUaW1lcGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFRpbWVwaWNrZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVGltZXBpY2tlckNoYW5nZUV2ZW50IGFzIElTdHpoVGltZXBpY2tlclN0emhUaW1lcGlja2VyQ2hhbmdlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVGltZXBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuU3R6aFRpbWVwaWNrZXIge1xuICAvKipcbiAgICogVGltZXBpY2tlciBjaGFuZ2UgZXZlbnRcbiAgICovXG4gIHN0emhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRpbWVwaWNrZXJTdHpoVGltZXBpY2tlckNoYW5nZUV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGVDbG9zZScsICdpbml0aWFsT3BlbkFuaW1hdGlvbicsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAnb3BlbicsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXRvYXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoaWRlQ2xvc2UnLCAnaW5pdGlhbE9wZW5BbmltYXRpb24nLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ29wZW4nLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVG9hc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVG9hc3RFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoT3BlbicsICdzdHpoT3BlbmVkJywgJ3N0emhDbG9zZScsICdzdHpoQ2xvc2VkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVG9hc3RPcGVuRXZlbnQgYXMgSVN0emhUb2FzdFN0emhUb2FzdE9wZW5FdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRvYXN0T3BlbmVkRXZlbnQgYXMgSVN0emhUb2FzdFN0emhUb2FzdE9wZW5lZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVG9hc3RDbG9zZUV2ZW50IGFzIElTdHpoVG9hc3RTdHpoVG9hc3RDbG9zZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVG9hc3RDbG9zZWRFdmVudCBhcyBJU3R6aFRvYXN0U3R6aFRvYXN0Q2xvc2VkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVG9hc3QgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhUb2FzdCB7XG4gIC8qKlxuICAgKiBUb2FzdCBvcGVuIGV2ZW50XG4gICAqL1xuICBzdHpoT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVG9hc3RTdHpoVG9hc3RPcGVuRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFRvYXN0IG9wZW5lZCBldmVudCAoYWZ0ZXIgYW5pbWF0aW9uKVxuICAgKi9cbiAgc3R6aE9wZW5lZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVG9hc3RTdHpoVG9hc3RPcGVuZWRFdmVudD4+O1xuICAvKipcbiAgICogVG9hc3QgY2xvc2UgZXZlbnRcbiAgICovXG4gIHN0emhDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVG9hc3RTdHpoVG9hc3RDbG9zZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBUb2FzdCBjbG9zZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhDbG9zZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRvYXN0U3R6aFRvYXN0Q2xvc2VkRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGlkZUFmdGVyJywgJ2luaXRpYWxUb2FzdHMnLCAnbWF4J10sXG4gIG1ldGhvZHM6IFsndG9hc3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdG9hc3RiYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGVBZnRlcicsICdpbml0aWFsVG9hc3RzJywgJ21heCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVG9hc3RiYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVG9hc3RiYXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVG9hc3RiYXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhUb2FzdGJhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhMTF5RGVzY3JpYmVkYnknLCAnY2hlY2tlZCcsICdkZWZhdWx0Q2hlY2tlZCcsICdkZXNjcmlwdGlvbicsICdkZXNjcmlwdGlvbkxvbmcnLCAnZGVzY3JpcHRpb25Mb25nVGl0bGUnLCAnZGlzYWJsZWQnLCAnZXJyb3InLCAnaGlkZU9wdGlvbmFsJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbGFiZWxQb3NpdGlvbicsICdsb2NhbGl6YXRpb24nLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10b2dnbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2ExMXlEZXNjcmliZWRieScsICdjaGVja2VkJywgJ2RlZmF1bHRDaGVja2VkJywgJ2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uTG9uZycsICdkZXNjcmlwdGlvbkxvbmdUaXRsZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdoaWRlT3B0aW9uYWwnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ2xvY2FsaXphdGlvbicsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhUb2dnbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVG9nZ2xlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aENoYW5nZScsICdzdHpoRm9jdXMnLCAnc3R6aEJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFN0emhUb2dnbGVDaGFuZ2VFdmVudCBhcyBJU3R6aFRvZ2dsZVN0emhUb2dnbGVDaGFuZ2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRvZ2dsZUZvY3VzRXZlbnQgYXMgSVN0emhUb2dnbGVTdHpoVG9nZ2xlRm9jdXNFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRvZ2dsZUJsdXJFdmVudCBhcyBJU3R6aFRvZ2dsZVN0emhUb2dnbGVCbHVyRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVG9nZ2xlIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoVG9nZ2xlIHtcbiAgLyoqXG4gICAqIENoYW5nZSBldmVudFxuICAgKi9cbiAgc3R6aENoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVG9nZ2xlU3R6aFRvZ2dsZUNoYW5nZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudFxuICAgKi9cbiAgc3R6aEZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUb2dnbGVTdHpoVG9nZ2xlRm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgYmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRvZ2dsZVN0emhUb2dnbGVCbHVyRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGVudCcsICdkaXN0YW5jZScsICdpbnRlcmFjdGl2ZScsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2l6ZScsICdza2lkZGluZycsICdzdHJhdGVneScsICd0cmlnZ2VyJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9nZ2xlJywgJ3VwZGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250ZW50JywgJ2Rpc3RhbmNlJywgJ2ludGVyYWN0aXZlJywgJ2xhYmVsJywgJ2xvY2FsaXphdGlvbicsICdvcGVuJywgJ3BsYWNlbWVudCcsICdzaXplJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3RyaWdnZXInLCAndHlwZSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVG9vbHRpcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhUb29sdGlwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aE9wZW4nLCAnc3R6aE9wZW5lZCcsICdzdHpoQ2xvc2UnLCAnc3R6aENsb3NlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgU3R6aFRvb2x0aXBPcGVuRXZlbnQgYXMgSVN0emhUb29sdGlwU3R6aFRvb2x0aXBPcGVuRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhUb29sdGlwT3BlbmVkRXZlbnQgYXMgSVN0emhUb29sdGlwU3R6aFRvb2x0aXBPcGVuZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRvb2x0aXBDbG9zZUV2ZW50IGFzIElTdHpoVG9vbHRpcFN0emhUb29sdGlwQ2xvc2VFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFRvb2x0aXBDbG9zZWRFdmVudCBhcyBJU3R6aFRvb2x0aXBTdHpoVG9vbHRpcENsb3NlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhUb29sdGlwIHtcbiAgLyoqXG4gICAqIFRvb2x0aXAgb3BlbiBldmVudFxuICAgKi9cbiAgc3R6aE9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRvb2x0aXBTdHpoVG9vbHRpcE9wZW5FdmVudD4+O1xuICAvKipcbiAgICogVG9vbHRpcCBvcGVuZWQgZXZlbnQgKGFmdGVyIGFuaW1hdGlvbilcbiAgICovXG4gIHN0emhPcGVuZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRvb2x0aXBTdHpoVG9vbHRpcE9wZW5lZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBUb29sdGlwIGNsb3NlIGV2ZW50XG4gICAqL1xuICBzdHpoQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFRvb2x0aXBTdHpoVG9vbHRpcENsb3NlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIFRvb2x0aXAgY2xvc2VkIGV2ZW50IChhZnRlciBhbmltYXRpb24pXG4gICAqL1xuICBzdHpoQ2xvc2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhUb29sdGlwU3R6aFRvb2x0aXBDbG9zZWRFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC10d29jb2x1bW5zJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhUd29jb2x1bW5zIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFR3b2NvbHVtbnNFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVHdvY29sdW1ucyBleHRlbmRzIENvbXBvbmVudHMuU3R6aFR3b2NvbHVtbnMge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjZXB0JywgJ2FjY2VwdGVkRmlsZXMnLCAnYXV0b1Byb2Nlc3NRdWV1ZScsICdidXR0b24nLCAnYnV0dG9uU2NhbicsICdjaHVua1NpemUnLCAnY2h1bmtpbmcnLCAnY2h1bmtzVXBsb2FkZWQnLCAnZGVmYXVsdEhlYWRlcnMnLCAnZGVzY3JpcHRpb24nLCAnZGlzYWJsZVRvYXN0cycsICdkaXNhYmxlZCcsICdkb3dubG9hZERpc2FibGVkJywgJ2Rvd25sb2FkRGlzYWJsZWRXaGlsZVByb2Nlc3NpbmcnLCAnZXJyb3InLCAnZXhpc3RpbmdGaWxlcycsICdmaWxlc2l6ZUJhc2UnLCAnZm9yY2VDaHVua2luZycsICdoZWFkZXJzJywgJ2hlYWRlcnNBc3luYycsICdoZWFkaW5nJywgJ2hpZGRlbklucHV0Q29udGFpbmVyJywgJ2hpZGVQcm9ncmVzcycsICdoaWRlUHJvZ3Jlc3NXaGlsZUlkbGUnLCAnaW52YWxpZCcsICdsYWJlbCcsICdsb2NhbGl6YXRpb24nLCAnbWF4RmlsZXMnLCAnbWF4RmlsZXNpemUnLCAnbWF4RmlsZXNpemVUb3RhbCcsICdtZXRob2QnLCAnbmFtZScsICdwYXJhbGxlbENodW5rVXBsb2FkcycsICdwYXJhbGxlbFVwbG9hZHMnLCAncGhvdG9ncmFwaGluZ0VuYWJsZWQnLCAncHJldmVudER1cGxpY2F0ZUZpbGVOYW1lcycsICdwcmV2ZW50SGlkZGVuSW5wdXRDbGVhcicsICdyZXRyeUNodW5rcycsICdyZXRyeUNodW5rc0xpbWl0JywgJ3VwbG9hZE11bHRpcGxlJywgJ3VybCcsICd3aXRoQ3JlZGVudGlhbHMnXSxcbiAgbWV0aG9kczogWydwcm9jZXNzUXVldWUnLCAncmVtb3ZlRmlsZScsICdyZW1vdmVBbGxGaWxlcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC11cGxvYWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjY2VwdCcsICdhY2NlcHRlZEZpbGVzJywgJ2F1dG9Qcm9jZXNzUXVldWUnLCAnYnV0dG9uJywgJ2J1dHRvblNjYW4nLCAnY2h1bmtTaXplJywgJ2NodW5raW5nJywgJ2NodW5rc1VwbG9hZGVkJywgJ2RlZmF1bHRIZWFkZXJzJywgJ2Rlc2NyaXB0aW9uJywgJ2Rpc2FibGVUb2FzdHMnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWREaXNhYmxlZCcsICdkb3dubG9hZERpc2FibGVkV2hpbGVQcm9jZXNzaW5nJywgJ2Vycm9yJywgJ2V4aXN0aW5nRmlsZXMnLCAnZmlsZXNpemVCYXNlJywgJ2ZvcmNlQ2h1bmtpbmcnLCAnaGVhZGVycycsICdoZWFkZXJzQXN5bmMnLCAnaGVhZGluZycsICdoaWRkZW5JbnB1dENvbnRhaW5lcicsICdoaWRlUHJvZ3Jlc3MnLCAnaGlkZVByb2dyZXNzV2hpbGVJZGxlJywgJ2ludmFsaWQnLCAnbGFiZWwnLCAnbG9jYWxpemF0aW9uJywgJ21heEZpbGVzJywgJ21heEZpbGVzaXplJywgJ21heEZpbGVzaXplVG90YWwnLCAnbWV0aG9kJywgJ25hbWUnLCAncGFyYWxsZWxDaHVua1VwbG9hZHMnLCAncGFyYWxsZWxVcGxvYWRzJywgJ3Bob3RvZ3JhcGhpbmdFbmFibGVkJywgJ3ByZXZlbnREdXBsaWNhdGVGaWxlTmFtZXMnLCAncHJldmVudEhpZGRlbklucHV0Q2xlYXInLCAncmV0cnlDaHVua3MnLCAncmV0cnlDaHVua3NMaW1pdCcsICd1cGxvYWRNdWx0aXBsZScsICd1cmwnLCAnd2l0aENyZWRlbnRpYWxzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhVcGxvYWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVXBsb2FkRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEZpbGVBZGRlZCcsICdzdHpoRmlsZXNBZGRlZCcsICdzdHpoRmlsZVJlbW92ZScsICdzdHpoRmlsZVJlbW92ZWQnLCAnc3R6aFNlbmRpbmcnLCAnc3R6aFNlbmRpbmdNdWx0aXBsZScsICdzdHpoUHJvY2Vzc2luZycsICdzdHpoUHJvY2Vzc2luZ011bHRpcGxlJywgJ3N0emhQcm9ncmVzcycsICdzdHpoUHJvZ3Jlc3NUb3RhbCcsICdzdHpoRXJyb3InLCAnc3R6aEVycm9yTXVsdGlwbGUnLCAnc3R6aFN1Y2Nlc3MnLCAnc3R6aFN1Y2Nlc3NNdWx0aXBsZScsICdzdHpoQ2FuY2VsZWQnLCAnc3R6aENhbmNlbGVkTXVsdGlwbGUnLCAnc3R6aENvbXBsZXRlJywgJ3N0emhDb21wbGV0ZU11bHRpcGxlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVXBsb2FkRmlsZUFkZGVkRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkRmlsZUFkZGVkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhVcGxvYWRGaWxlc0FkZGVkRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkRmlsZXNBZGRlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVXBsb2FkRmlsZVJlbW92ZUV2ZW50IGFzIElTdHpoVXBsb2FkU3R6aFVwbG9hZEZpbGVSZW1vdmVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZEZpbGVSZW1vdmVkRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkRmlsZVJlbW92ZWRFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZFNlbmRpbmdFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRTZW5kaW5nRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhVcGxvYWRTZW5kaW5nTXVsdGlwbGVFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRTZW5kaW5nTXVsdGlwbGVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZFByb2Nlc3NpbmdFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRQcm9jZXNzaW5nRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhVcGxvYWRQcm9jZXNzaW5nTXVsdGlwbGVFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRQcm9jZXNzaW5nTXVsdGlwbGVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZFByb2dyZXNzRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkUHJvZ3Jlc3NFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZFByb2dyZXNzVG90YWxFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRQcm9ncmVzc1RvdGFsRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhVcGxvYWRFcnJvckV2ZW50IGFzIElTdHpoVXBsb2FkU3R6aFVwbG9hZEVycm9yRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IFN0emhVcGxvYWRFcnJvck11bHRpcGxlRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkRXJyb3JNdWx0aXBsZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVXBsb2FkU3VjY2Vzc0V2ZW50IGFzIElTdHpoVXBsb2FkU3R6aFVwbG9hZFN1Y2Nlc3NFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZFN1Y2Nlc3NNdWx0aXBsZUV2ZW50IGFzIElTdHpoVXBsb2FkU3R6aFVwbG9hZFN1Y2Nlc3NNdWx0aXBsZUV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVXBsb2FkQ2FuY2VsZWRFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRDYW5jZWxlZEV2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVXBsb2FkQ2FuY2VsZWRNdWx0aXBsZUV2ZW50IGFzIElTdHpoVXBsb2FkU3R6aFVwbG9hZENhbmNlbGVkTXVsdGlwbGVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZENvbXBsZXRlRXZlbnQgYXMgSVN0emhVcGxvYWRTdHpoVXBsb2FkQ29tcGxldGVFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcbmltcG9ydCB0eXBlIHsgU3R6aFVwbG9hZENvbXBsZXRlTXVsdGlwbGVFdmVudCBhcyBJU3R6aFVwbG9hZFN0emhVcGxvYWRDb21wbGV0ZU11bHRpcGxlRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVXBsb2FkIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoVXBsb2FkIHtcbiAgLyoqXG4gICAqIEZpbGUgYWRkZWRcbiAgICovXG4gIHN0emhGaWxlQWRkZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRGaWxlQWRkZWRFdmVudD4+O1xuICAvKipcbiAgICogRmlsZXMgYWRkZWQgKG11bHRpcGxlKVxuICAgKi9cbiAgc3R6aEZpbGVzQWRkZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRGaWxlc0FkZGVkRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpbGUgcmVtb3ZlIChiZWZvcmUsIGNhbmNlbGFibGUpXG4gICAqL1xuICBzdHpoRmlsZVJlbW92ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVXBsb2FkU3R6aFVwbG9hZEZpbGVSZW1vdmVFdmVudD4+O1xuICAvKipcbiAgICogRmlsZSByZW1vdmVkXG4gICAqL1xuICBzdHpoRmlsZVJlbW92ZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRGaWxlUmVtb3ZlZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBCZWZvcmUgc2VuZGluZyBmaWxlIChhZGQgYWRkaXRpb25hbCBkYXRhIGJlZm9yZSByZXF1ZXN0IGlmIG5lY2Vzc2FyeSlcbiAgICovXG4gIHN0emhTZW5kaW5nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkU2VuZGluZ0V2ZW50Pj47XG4gIC8qKlxuICAgKiBCZWZvcmUgc2VuZGluZyBtdWx0aXBsZSBmaWxlcyAoYWRkIGFkZGl0aW9uYWwgZGF0YSBiZWZvcmUgcmVxdWVzdCBpZiBuZWNlc3NhcnkpXG4gICAqL1xuICBzdHpoU2VuZGluZ011bHRpcGxlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkU2VuZGluZ011bHRpcGxlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpbGVzIHN0YXJ0aW5nIHRvIGdldCBwcm9jZXNzZWRcbiAgICovXG4gIHN0emhQcm9jZXNzaW5nOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkUHJvY2Vzc2luZ0V2ZW50Pj47XG4gIC8qKlxuICAgKiBGaWxlcyBzdGFydGluZyB0byBnZXQgcHJvY2Vzc2VkIChtdWx0aXBsZSlcbiAgICovXG4gIHN0emhQcm9jZXNzaW5nTXVsdGlwbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRQcm9jZXNzaW5nTXVsdGlwbGVFdmVudD4+O1xuICAvKipcbiAgICogVXBsb2FkIGZpbGUgcHJvZ3Jlc3MgZHVyaW5nIHVwbG9hZFxuICAgKi9cbiAgc3R6aFByb2dyZXNzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkUHJvZ3Jlc3NFdmVudD4+O1xuICAvKipcbiAgICogVXBsb2FkIHRvdGFsIGZpbGUgcHJvZ3Jlc3MgZHVyaW5nIHVwbG9hZFxuICAgKi9cbiAgc3R6aFByb2dyZXNzVG90YWw6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRQcm9ncmVzc1RvdGFsRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpbGUgZXJyb3JcbiAgICovXG4gIHN0emhFcnJvcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVXBsb2FkU3R6aFVwbG9hZEVycm9yRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpbGVzIGVycm9yIChtdWx0aXBsZSBmaWxlcylcbiAgICovXG4gIHN0emhFcnJvck11bHRpcGxlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkRXJyb3JNdWx0aXBsZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBGaWxlIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZFxuICAgKi9cbiAgc3R6aFN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRTdWNjZXNzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZpbGVzIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZCAobXVsdGlwbGUgZmlsZXMpXG4gICAqL1xuICBzdHpoU3VjY2Vzc011bHRpcGxlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhVcGxvYWRTdHpoVXBsb2FkU3VjY2Vzc011bHRpcGxlRXZlbnQ+PjtcbiAgLyoqXG4gICAqIENhbmNlbGVkIGZpbGUgdXBsb2FkXG4gICAqL1xuICBzdHpoQ2FuY2VsZWQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRDYW5jZWxlZEV2ZW50Pj47XG4gIC8qKlxuICAgKiBDYW5jZWxlZCBmaWxlIHVwbG9hZCAobXVsdGlwbGUgZmlsZXMpXG4gICAqL1xuICBzdHpoQ2FuY2VsZWRNdWx0aXBsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVXBsb2FkU3R6aFVwbG9hZENhbmNlbGVkTXVsdGlwbGVFdmVudD4+O1xuICAvKipcbiAgICogQ29tcGxldGVkIHVwbG9hZCAoc3VjY2Vzc2Z1bGx5IG9yIHdpdGggZXJyb3IpXG4gICAqL1xuICBzdHpoQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFVwbG9hZFN0emhVcGxvYWRDb21wbGV0ZUV2ZW50Pj47XG4gIC8qKlxuICAgKiBDb21wbGV0ZWQgdXBsb2FkIChzdWNjZXNzZnVsbHkgb3Igd2l0aCBlcnJvciwgbXVsdGlwbGUgZmlsZXMpXG4gICAqL1xuICBzdHpoQ29tcGxldGVNdWx0aXBsZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElTdHpoVXBsb2FkU3R6aFVwbG9hZENvbXBsZXRlTXVsdGlwbGVFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvcGxheVRpbWVvdXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmJ6LWNhcm91c2VsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvcGxheVRpbWVvdXQnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFZiekNhcm91c2VsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFZiekNhcm91c2VsRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFZiekNhcm91c2VsIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoVmJ6Q2Fyb3VzZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnenZ2U2NyaXB0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXZiei1jb25uZWN0aW9uLWZpbmRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnenZ2U2NyaXB0J10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhWYnpDb25uZWN0aW9uRmluZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFZiekNvbm5lY3Rpb25GaW5kZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVmJ6Q29ubmVjdGlvbkZpbmRlciBleHRlbmRzIENvbXBvbmVudHMuU3R6aFZiekNvbm5lY3Rpb25GaW5kZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbG9jYWxpemF0aW9uJywgJ3F1aWNrbGlua3MnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmJ6LWludHJvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydsb2NhbGl6YXRpb24nLCAncXVpY2tsaW5rcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVmJ6SW50cm8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVmJ6SW50cm9FbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVmJ6SW50cm8gZXh0ZW5kcyBDb21wb25lbnRzLlN0emhWYnpJbnRybyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYWxlcnQnLCAnYW5hbHl0aWNzSWQnLCAnZGlzYWJsZWQnLCAnZ2xvYmFsJywgJ2xpbmUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmJ6LWxpbmVjaGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnYWxlcnQnLCAnYW5hbHl0aWNzSWQnLCAnZGlzYWJsZWQnLCAnZ2xvYmFsJywgJ2xpbmUnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFZiekxpbmVjaGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFZiekxpbmVjaGlwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnc3R6aEZvY3VzJywgJ3N0emhCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVmJ6TGluZWNoaXBGb2N1c0V2ZW50IGFzIElTdHpoVmJ6TGluZWNoaXBTdHpoVmJ6TGluZWNoaXBGb2N1c0V2ZW50IH0gZnJvbSAnQG9pei9zdHpoLWNvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBTdHpoVmJ6TGluZWNoaXBCbHVyRXZlbnQgYXMgSVN0emhWYnpMaW5lY2hpcFN0emhWYnpMaW5lY2hpcEJsdXJFdmVudCB9IGZyb20gJ0BvaXovc3R6aC1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhWYnpMaW5lY2hpcCBleHRlbmRzIENvbXBvbmVudHMuU3R6aFZiekxpbmVjaGlwIHtcbiAgLyoqXG4gICAqIEZvY3VzIGV2ZW50XG4gICAqL1xuICBzdHpoRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFZiekxpbmVjaGlwU3R6aFZiekxpbmVjaGlwRm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgYmx1ciBldmVudFxuICAgKi9cbiAgc3R6aEJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJU3R6aFZiekxpbmVjaGlwU3R6aFZiekxpbmVjaGlwQmx1ckV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwaScsICdkYXRhJywgJ2RhdGVBZGFwdGVyJywgJ2xvY2FsaXphdGlvbicsICdtb3JlSW5mb0xpbmsnLCAnc2hvd0Nsb3NlS2V5J10sXG4gIG1ldGhvZHM6IFsnZ2V0R2hldHRvYm94U2hvd24nLCAnZ2V0RGlzdHVyYmFuY2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmJ6LW1ham9ydGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcGknLCAnZGF0YScsICdkYXRlQWRhcHRlcicsICdsb2NhbGl6YXRpb24nLCAnbW9yZUluZm9MaW5rJywgJ3Nob3dDbG9zZUtleSddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVmJ6TWFqb3J0aWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVmJ6TWFqb3J0aWNrZXJFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdHpoRGlzdHVyYmFuY2VGZXRjaGVkJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTdHpoVmJ6TWFqb3J0aWNrZXJEaXN0dXJiYW5jZUZldGNoZWRFdmVudCBhcyBJU3R6aFZiek1ham9ydGlja2VyU3R6aFZiek1ham9ydGlja2VyRGlzdHVyYmFuY2VGZXRjaGVkRXZlbnQgfSBmcm9tICdAb2l6L3N0emgtY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTdHpoVmJ6TWFqb3J0aWNrZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhWYnpNYWpvcnRpY2tlciB7XG4gIC8qKlxuICAgKiBFdmVudCB3aGVuIG1ham9yIGRpc3R1cmJhbmNlIHdhcyBmZXRjaGVkXG4gICAqL1xuICBzdHpoRGlzdHVyYmFuY2VGZXRjaGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVN0emhWYnpNYWpvcnRpY2tlclN0emhWYnpNYWpvcnRpY2tlckRpc3R1cmJhbmNlRmV0Y2hlZEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwaScsICdkYXRhJywgJ2RhdGVBZGFwdGVyJywgJ2xvY2FsaXphdGlvbicsICdtb3JlSW5mb0xpbmsnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmJ6LXRpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBpJywgJ2RhdGEnLCAnZGF0ZUFkYXB0ZXInLCAnbG9jYWxpemF0aW9uJywgJ21vcmVJbmZvTGluayddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoVmJ6VGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFZielRpY2tlckVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFN0emhWYnpUaWNrZXIgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhWYnpUaWNrZXIge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0emgtdmlzdWFsbHloaWRkZW4nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3R6aFZpc3VhbGx5aGlkZGVuIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MU3R6aFZpc3VhbGx5aGlkZGVuRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFZpc3VhbGx5aGlkZGVuIGV4dGVuZHMgQ29tcG9uZW50cy5TdHpoVmlzdWFsbHloaWRkZW4ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJvdW5kJywgJ2Fyb3VuZEJvdHRvbScsICdhcm91bmRUb3AnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHpoLXZzcGFjZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJvdW5kJywgJ2Fyb3VuZEJvdHRvbScsICdhcm91bmRUb3AnLCAnYm9yZGVyJywgJ2N1cnZlJywgJ2l0ZW1zJywgJ2p1c3RpZnknLCAnc2l6ZScsICdzaXplTGFyZ2UnLCAnc2l6ZU1lZGl1bScsICdzaXplU21hbGwnLCAnc2l6ZVVsdHJhJ10sXG59KVxuZXhwb3J0IGNsYXNzIFN0emhWc3BhY2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxTdHpoVnNwYWNlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFZzcGFjZSBleHRlbmRzIENvbXBvbmVudHMuU3R6aFZzcGFjZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb29raWUnLCAnY29va2llRXhwaXJlcycsICdsb2NhbGl6YXRpb24nLCAnc2tpcFByZXZpZXcnLCAnc2tpcFByZXZpZXdJZkNvb2tpZUFjY2VwdGVkJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3R6aC15b3V0dWJlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb29raWUnLCAnY29va2llRXhwaXJlcycsICdsb2NhbGl6YXRpb24nLCAnc2tpcFByZXZpZXcnLCAnc2tpcFByZXZpZXdJZkNvb2tpZUFjY2VwdGVkJywgJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBTdHpoWW91dHViZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTFN0emhZb3V0dWJlRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgU3R6aFlvdXR1YmUgZXh0ZW5kcyBDb21wb25lbnRzLlN0emhZb3V0dWJlIHt9XG5cblxuIl19
|