@scania/tegel-angular-17 1.25.0-tooltip-beta.0 → 1.26.0-onTdsChange-gets-triggered-unexpectedly-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components.module.mjs +3 -3
- package/esm2022/lib/stencil-generated/components.mjs +16 -41
- package/esm2022/lib/stencil-generated/index.mjs +2 -3
- package/fesm2022/scania-tegel-angular-17.mjs +19 -44
- package/fesm2022/scania-tegel-angular-17.mjs.map +1 -1
- package/lib/components.module.d.ts +1 -1
- package/lib/stencil-generated/components.d.ts +5 -14
- package/lib/stencil-generated/index.d.ts +1 -1
- package/package.json +2 -2
|
@@ -267,11 +267,11 @@ let TdsCheckbox = class TdsCheckbox {
|
|
|
267
267
|
proxyOutputs(this, this.el, ['tdsChange', 'tdsFocus', 'tdsBlur']);
|
|
268
268
|
}
|
|
269
269
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TdsCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
270
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsCheckbox, selector: "tds-checkbox", inputs: { checkboxId: "checkboxId", checked: "checked", disabled: "disabled", indeterminate: "indeterminate", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
270
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsCheckbox, selector: "tds-checkbox", inputs: { checkboxId: "checkboxId", checked: "checked", disabled: "disabled", indeterminate: "indeterminate", name: "name", required: "required", tdsAriaDescribedby: "tdsAriaDescribedby", tdsAriaLabel: "tdsAriaLabel", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
271
271
|
};
|
|
272
272
|
TdsCheckbox = __decorate([
|
|
273
273
|
ProxyCmp({
|
|
274
|
-
inputs: ['checkboxId', 'checked', 'disabled', 'indeterminate', 'name', 'required', 'value'],
|
|
274
|
+
inputs: ['checkboxId', 'checked', 'disabled', 'indeterminate', 'name', 'required', 'tdsAriaDescribedby', 'tdsAriaLabel', 'value'],
|
|
275
275
|
methods: ['toggleCheckbox']
|
|
276
276
|
})
|
|
277
277
|
], TdsCheckbox);
|
|
@@ -283,7 +283,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
283
283
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
284
284
|
template: '<ng-content></ng-content>',
|
|
285
285
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
286
|
-
inputs: ['checkboxId', 'checked', 'disabled', 'indeterminate', 'name', 'required', 'value'],
|
|
286
|
+
inputs: ['checkboxId', 'checked', 'disabled', 'indeterminate', 'name', 'required', 'tdsAriaDescribedby', 'tdsAriaLabel', 'value'],
|
|
287
287
|
}]
|
|
288
288
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
289
289
|
let TdsChip = class TdsChip {
|
|
@@ -294,11 +294,11 @@ let TdsChip = class TdsChip {
|
|
|
294
294
|
proxyOutputs(this, this.el, ['tdsChange', 'tdsClick']);
|
|
295
295
|
}
|
|
296
296
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TdsChip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
297
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsChip, selector: "tds-chip", inputs: { checked: "checked", chipId: "chipId", disabled: "disabled", name: "name", size: "size", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
297
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsChip, selector: "tds-chip", inputs: { checked: "checked", chipId: "chipId", disabled: "disabled", name: "name", size: "size", tdsAriaLabel: "tdsAriaLabel", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
298
298
|
};
|
|
299
299
|
TdsChip = __decorate([
|
|
300
300
|
ProxyCmp({
|
|
301
|
-
inputs: ['checked', 'chipId', 'disabled', 'name', 'size', 'type', 'value']
|
|
301
|
+
inputs: ['checked', 'chipId', 'disabled', 'name', 'size', 'tdsAriaLabel', 'type', 'value']
|
|
302
302
|
})
|
|
303
303
|
], TdsChip);
|
|
304
304
|
export { TdsChip };
|
|
@@ -309,7 +309,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
309
309
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
310
310
|
template: '<ng-content></ng-content>',
|
|
311
311
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
312
|
-
inputs: ['checked', 'chipId', 'disabled', 'name', 'size', 'type', 'value'],
|
|
312
|
+
inputs: ['checked', 'chipId', 'disabled', 'name', 'size', 'tdsAriaLabel', 'type', 'value'],
|
|
313
313
|
}]
|
|
314
314
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
315
315
|
let TdsCoreHeaderItem = class TdsCoreHeaderItem {
|
|
@@ -474,11 +474,11 @@ let TdsFolderTabs = class TdsFolderTabs {
|
|
|
474
474
|
proxyOutputs(this, this.el, ['tdsChange']);
|
|
475
475
|
}
|
|
476
476
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TdsFolderTabs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
477
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsFolderTabs, selector: "tds-folder-tabs", inputs: { defaultSelectedIndex: "defaultSelectedIndex", modeVariant: "modeVariant", selectedIndex: "selectedIndex" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
477
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsFolderTabs, selector: "tds-folder-tabs", inputs: { defaultSelectedIndex: "defaultSelectedIndex", modeVariant: "modeVariant", selectedIndex: "selectedIndex", tdsScrollLeftAriaLabel: "tdsScrollLeftAriaLabel", tdsScrollRightAriaLabel: "tdsScrollRightAriaLabel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
478
478
|
};
|
|
479
479
|
TdsFolderTabs = __decorate([
|
|
480
480
|
ProxyCmp({
|
|
481
|
-
inputs: ['defaultSelectedIndex', 'modeVariant', 'selectedIndex'],
|
|
481
|
+
inputs: ['defaultSelectedIndex', 'modeVariant', 'selectedIndex', 'tdsScrollLeftAriaLabel', 'tdsScrollRightAriaLabel'],
|
|
482
482
|
methods: ['selectTab', 'reinitialize']
|
|
483
483
|
})
|
|
484
484
|
], TdsFolderTabs);
|
|
@@ -490,7 +490,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
490
490
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
491
491
|
template: '<ng-content></ng-content>',
|
|
492
492
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
493
|
-
inputs: ['defaultSelectedIndex', 'modeVariant', 'selectedIndex'],
|
|
493
|
+
inputs: ['defaultSelectedIndex', 'modeVariant', 'selectedIndex', 'tdsScrollLeftAriaLabel', 'tdsScrollRightAriaLabel'],
|
|
494
494
|
}]
|
|
495
495
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
496
496
|
let TdsFooter = class TdsFooter {
|
|
@@ -1053,11 +1053,11 @@ let TdsInlineTabs = class TdsInlineTabs {
|
|
|
1053
1053
|
proxyOutputs(this, this.el, ['tdsChange']);
|
|
1054
1054
|
}
|
|
1055
1055
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TdsInlineTabs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1056
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsInlineTabs, selector: "tds-inline-tabs", inputs: { defaultSelectedIndex: "defaultSelectedIndex", leftPadding: "leftPadding", modeVariant: "modeVariant", selectedIndex: "selectedIndex" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1056
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsInlineTabs, selector: "tds-inline-tabs", inputs: { defaultSelectedIndex: "defaultSelectedIndex", leftPadding: "leftPadding", modeVariant: "modeVariant", selectedIndex: "selectedIndex", tdsScrollLeftAriaLabel: "tdsScrollLeftAriaLabel", tdsScrollRightAriaLabel: "tdsScrollRightAriaLabel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1057
1057
|
};
|
|
1058
1058
|
TdsInlineTabs = __decorate([
|
|
1059
1059
|
ProxyCmp({
|
|
1060
|
-
inputs: ['defaultSelectedIndex', 'leftPadding', 'modeVariant', 'selectedIndex'],
|
|
1060
|
+
inputs: ['defaultSelectedIndex', 'leftPadding', 'modeVariant', 'selectedIndex', 'tdsScrollLeftAriaLabel', 'tdsScrollRightAriaLabel'],
|
|
1061
1061
|
methods: ['selectTab', 'reinitialize']
|
|
1062
1062
|
})
|
|
1063
1063
|
], TdsInlineTabs);
|
|
@@ -1069,7 +1069,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1069
1069
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1070
1070
|
template: '<ng-content></ng-content>',
|
|
1071
1071
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1072
|
-
inputs: ['defaultSelectedIndex', 'leftPadding', 'modeVariant', 'selectedIndex'],
|
|
1072
|
+
inputs: ['defaultSelectedIndex', 'leftPadding', 'modeVariant', 'selectedIndex', 'tdsScrollLeftAriaLabel', 'tdsScrollRightAriaLabel'],
|
|
1073
1073
|
}]
|
|
1074
1074
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1075
1075
|
let TdsLink = class TdsLink {
|
|
@@ -1182,11 +1182,11 @@ let TdsNavigationTabs = class TdsNavigationTabs {
|
|
|
1182
1182
|
proxyOutputs(this, this.el, ['tdsChange']);
|
|
1183
1183
|
}
|
|
1184
1184
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TdsNavigationTabs, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1185
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsNavigationTabs, selector: "tds-navigation-tabs", inputs: { defaultSelectedIndex: "defaultSelectedIndex", leftPadding: "leftPadding", modeVariant: "modeVariant", selectedIndex: "selectedIndex" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1185
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsNavigationTabs, selector: "tds-navigation-tabs", inputs: { defaultSelectedIndex: "defaultSelectedIndex", leftPadding: "leftPadding", modeVariant: "modeVariant", selectedIndex: "selectedIndex", tdsScrollLeftAriaLabel: "tdsScrollLeftAriaLabel", tdsScrollRightAriaLabel: "tdsScrollRightAriaLabel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1186
1186
|
};
|
|
1187
1187
|
TdsNavigationTabs = __decorate([
|
|
1188
1188
|
ProxyCmp({
|
|
1189
|
-
inputs: ['defaultSelectedIndex', 'leftPadding', 'modeVariant', 'selectedIndex'],
|
|
1189
|
+
inputs: ['defaultSelectedIndex', 'leftPadding', 'modeVariant', 'selectedIndex', 'tdsScrollLeftAriaLabel', 'tdsScrollRightAriaLabel'],
|
|
1190
1190
|
methods: ['selectTab', 'reinitialize']
|
|
1191
1191
|
})
|
|
1192
1192
|
], TdsNavigationTabs);
|
|
@@ -1198,7 +1198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1198
1198
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1199
1199
|
template: '<ng-content></ng-content>',
|
|
1200
1200
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
1201
|
-
inputs: ['defaultSelectedIndex', 'leftPadding', 'modeVariant', 'selectedIndex'],
|
|
1201
|
+
inputs: ['defaultSelectedIndex', 'leftPadding', 'modeVariant', 'selectedIndex', 'tdsScrollLeftAriaLabel', 'tdsScrollRightAriaLabel'],
|
|
1202
1202
|
}]
|
|
1203
1203
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
1204
1204
|
let TdsPopoverCanvas = class TdsPopoverCanvas {
|
|
@@ -2063,29 +2063,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
2063
2063
|
inputs: ['defaultShow', 'mouseOverTooltip', 'offsetDistance', 'offsetSkidding', 'placement', 'referenceEl', 'selector', 'show', 'text', 'trigger'],
|
|
2064
2064
|
}]
|
|
2065
2065
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2066
|
-
let TdsTooltipBeta = class TdsTooltipBeta {
|
|
2067
|
-
constructor(c, r, z) {
|
|
2068
|
-
this.z = z;
|
|
2069
|
-
c.detach();
|
|
2070
|
-
this.el = r.nativeElement;
|
|
2071
|
-
}
|
|
2072
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TdsTooltipBeta, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2073
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TdsTooltipBeta, selector: "tds-tooltip-beta", inputs: { defaultShow: "defaultShow", mouseOverTooltip: "mouseOverTooltip", offsetDistance: "offsetDistance", offsetSkidding: "offsetSkidding", placement: "placement", referenceEl: "referenceEl", selector: "selector", show: "show", text: "text", trigger: "trigger" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2074
|
-
};
|
|
2075
|
-
TdsTooltipBeta = __decorate([
|
|
2076
|
-
ProxyCmp({
|
|
2077
|
-
inputs: ['defaultShow', 'mouseOverTooltip', 'offsetDistance', 'offsetSkidding', 'placement', 'referenceEl', 'selector', 'show', 'text', 'trigger']
|
|
2078
|
-
})
|
|
2079
|
-
], TdsTooltipBeta);
|
|
2080
|
-
export { TdsTooltipBeta };
|
|
2081
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TdsTooltipBeta, decorators: [{
|
|
2082
|
-
type: Component,
|
|
2083
|
-
args: [{
|
|
2084
|
-
selector: 'tds-tooltip-beta',
|
|
2085
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2086
|
-
template: '<ng-content></ng-content>',
|
|
2087
|
-
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
2088
|
-
inputs: ['defaultShow', 'mouseOverTooltip', 'offsetDistance', 'offsetSkidding', 'placement', 'referenceEl', 'selector', 'show', 'text', 'trigger'],
|
|
2089
|
-
}]
|
|
2090
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2091
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWVoRSxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBRXZCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7K0dBTFUsWUFBWTttR0FBWixZQUFZLCtIQUpiLDJCQUEyQjs7QUFJMUIsWUFBWTtJQVZ4QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUM7S0FDMUMsQ0FBQztHQVFXLFlBQVksQ0FNeEI7OzRGQU5ZLFlBQVk7a0JBUHhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQztpQkFDMUM7O0FBd0JNLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBRTNCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFD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U0FBUyxDQUFDO2lCQUNuSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BzY2FuaWEvdGVnZWwnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaWRlTGFzdEJvcmRlcicsICdtb2RlVmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGlkZUxhc3RCb3JkZXInLCAnbW9kZVZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzQWNjb3JkaW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNBY2NvcmRpb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxldmVsVmFsdWUnLCAnZGlzYWJsZWQnLCAnZXhwYW5kSWNvblBvc2l0aW9uJywgJ2V4cGFuZGVkJywgJ2hlYWRlcicsICdwYWRkaW5nUmVzZXQnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVBY2NvcmRpb25JdGVtJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtYWNjb3JkaW9uLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMZXZlbFZhbHVlJywgJ2Rpc2FibGVkJywgJ2V4cGFuZEljb25Qb3NpdGlvbicsICdleHBhbmRlZCcsICdoZWFkZXInLCAncGFkZGluZ1Jlc2V0J10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0FjY29yZGlvbkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNUb2dnbGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQWNjb3JkaW9uSXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzQWNjb3JkaW9uSXRlbSB7XG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBBY2NvcmRpb24gSXRlbSBpcyBjbGlja2VkLCBidXQgYmVmb3JlIGl0IGlzIGNsb3NlZCBvciBvcGVuZWQuXG4gICAqL1xuICB0ZHNUb2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV4cGFuZGVkOiBib29sZWFuOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGRlbicsICdzaXplJywgJ3Rkc0FyaWFMaXZlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtYmFkZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGRlbicsICdzaXplJywgJ3Rkc0FyaWFMaXZlJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0JhZGdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQmFkZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0JhZGdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Jhbm5lcklkJywgJ2hlYWRlcicsICdoaWRkZW4nLCAnaWNvbicsICdyb2xlVHlwZScsICdzdWJoZWFkZXInLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ2hpZGVCYW5uZXInLCAnc2hvd0Jhbm5lciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWJhbm5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFubmVySWQnLCAnaGVhZGVyJywgJ2hpZGRlbicsICdpY29uJywgJ3JvbGVUeXBlJywgJ3N1YmhlYWRlcicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Jhbm5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0Nsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0Jhbm5lciBleHRlbmRzIENvbXBvbmVudHMuVGRzQmFubmVyIHtcbiAgLyoqXG4gICAqIFNlbmRzIGEgdW5pcXVlIEJhbm5lciBpZGVudGlmaWVyIHdoZW4gdGhlIGNsb3NlIGJ1dHRvbiBpcyBwcmVzc2VkLlxuICAgKi9cbiAgdGRzQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGJhbm5lcklkOiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29tcG9uZW50VGFnJywgJ21vZGVWYXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtYmxvY2snLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbXBvbmVudFRhZycsICdtb2RlVmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNCbG9jayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0Jsb2NrIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCbG9jayB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjZWxsS2V5JywgJ2NlbGxWYWx1ZScsICdkaXNhYmxlUGFkZGluZycsICd0ZXh0QWxpZ24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1ib2R5LWNlbGwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NlbGxLZXknLCAnY2VsbFZhbHVlJywgJ2Rpc2FibGVQYWRkaW5nJywgJ3RleHRBbGlnbiddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNCb2R5Q2VsbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0JvZHlDZWxsIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCb2R5Q2VsbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjdXJyZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtYnJlYWRjcnVtYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3VycmVudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNCcmVhZGNydW1iIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQnJlYWRjcnVtYiBleHRlbmRzIENvbXBvbmVudHMuVGRzQnJlYWRjcnVtYiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd0ZHNBcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1icmVhZGNydW1icycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndGRzQXJpYUxhYmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0JyZWFkY3J1bWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQnJlYWRjcnVtYnMgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0JyZWFkY3J1bWJzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkaXNhYmxlZCcsICdmdWxsYmxlZWQnLCAnbW9kZVZhcmlhbnQnLCAnc2l6ZScsICd0ZHNBcmlhTGFiZWwnLCAndGV4dCcsICd0eXBlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkaXNhYmxlZCcsICdmdWxsYmxlZWQnLCAnbW9kZVZhcmlhbnQnLCAnc2l6ZScsICd0ZHNBcmlhTGFiZWwnLCAndGV4dCcsICd0eXBlJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9keURpdmlkZXInLCAnYm9keUltZycsICdib2R5SW1nQWx0JywgJ2NhcmRJZCcsICdjbGlja2FibGUnLCAnaGVhZGVyJywgJ2ltYWdlUGxhY2VtZW50JywgJ21vZGVWYXJpYW50JywgJ3N0cmV0Y2gnLCAnc3ViaGVhZGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYm9keURpdmlkZXInLCAnYm9keUltZycsICdib2R5SW1nQWx0JywgJ2NhcmRJZCcsICdjbGlja2FibGUnLCAnaGVhZGVyJywgJ2ltYWdlUGxhY2VtZW50JywgJ21vZGVWYXJpYW50JywgJ3N0cmV0Y2gnLCAnc3ViaGVhZGVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0NhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNDYXJkIHtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBDYXJkIGlkZW50aWZpZXIgd2hlbiB0aGUgQ2FyZCBpcyBjbGlja2VkLCBpZiBjbGlja2FibGU9dHJ1ZVxuICAgKi9cbiAgdGRzQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNhcmRJZDogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrYm94SWQnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbmRldGVybWluYXRlJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVDaGVja2JveCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWNoZWNrYm94JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2JveElkJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaW5kZXRlcm1pbmF0ZScsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0NoZWNrYm94IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJywgJ3Rkc0ZvY3VzJywgJ3Rkc0JsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQ2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLlRkc0NoZWNrYm94IHtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBDaGVja2JveCBpZGVudGlmaWVyIGFuZCBjaGVja2VkIHN0YXR1cyB3aGVuIGl0IGlzIGNoZWNrZWQvdW5jaGVja2VkLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGVja2JveElkOiBzdHJpbmc7IGNoZWNrZWQ6IGJvb2xlYW47IGluZGV0ZXJtaW5hdGU6IGJvb2xlYW47IHZhbHVlPzogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIENoZWNrYm94XG4gICAqL1xuICB0ZHNGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEJsdXIgZXZlbnQgZm9yIHRoZSBDaGVja2JveFxuICAgKi9cbiAgdGRzQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdjaGlwSWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICdzaXplJywgJ3R5cGUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1jaGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjaGVja2VkJywgJ2NoaXBJZCcsICdkaXNhYmxlZCcsICduYW1lJywgJ3NpemUnLCAndHlwZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNDaGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJywgJ3Rkc0NsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0NoaXAgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0NoaXAge1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIENoaXAgaWRlbnRpZmllciBhbmQgdmFsdWUgd2hlbiBpdCBpcyBjaGFuZ2VkIChjaGVja2VkL3VuY2hlY2tlZCkuXG5WYWxpZCBvbmx5IGZvciB0eXBlIGNoZWNrYm94IGFuZCByYWRpby5cbklmIG5vIElEIGlzIHNwZWNpZmllZCwgYSByYW5kb20gb25lIHdpbGwgYmUgZ2VuZXJhdGVkLlxuVG8gdXNlIHRoaXMgbGlzdGVuZXIsIGRvbid0IHVzZSB0aGUgcmFuZG9taXplZCBJRCwgdXNlIGEgc3BlY2lmaWMgb25lIG9mIHlvdXIgY2hvb3NpbmcuXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNoaXBJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nOyBjaGVja2VkPzogYm9vbGVhbjsgfT4+O1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIENoaXAgaWRlbnRpZmllciB3aGVuIENoaXAgaXMgY2xpY2tlZC5cblZhbGlkIG9ubHkgZm9yIHR5cGUgYnV0dG9uLlxuSWYgbm8gSUQgaXMgc3BlY2lmaWVkLCBhIHJhbmRvbSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG5UbyB1c2UgdGhpcyBsaXN0ZW5lciwgZG9uJ3QgdXNlIHRoZSByYW5kb21pemVkIElELCB1c2UgYSBzcGVjaWZpYyBvbmUgb2YgeW91ciBjaG9vc2luZy5cbiAgICovXG4gIHRkc0NsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGlwSWQ6IHN0cmluZzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWNvcmUtaGVhZGVyLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzQ29yZUhlYWRlckl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNDb3JlSGVhZGVySXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzQ29yZUhlYWRlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNhYmxlZCcsICdoZWxwZXInLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ25vTWluV2lkdGgnLCAnc2l6ZScsICdzdGF0ZScsICd0eXBlJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsncmVzZXQnLCAnc2V0VmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1kYXRldGltZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNhYmxlZCcsICdoZWxwZXInLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ25vTWluV2lkdGgnLCAnc2l6ZScsICdzdGF0ZScsICd0eXBlJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0RhdGV0aW1lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJywgJ3Rkc0JsdXInLCAndGRzRm9jdXMnLCAndGRzSW5wdXQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRGF0ZXRpbWUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0RhdGV0aW1lIHtcbiAgLyoqXG4gICAqIENoYW5nZSBldmVudCBmb3IgdGhlIERhdGV0aW1lXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEJsdXIgZXZlbnQgZm9yIHRoZSBEYXRldGltZVxuICAgKi9cbiAgdGRzQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZvY3VzIGV2ZW50IGZvciB0aGUgRGF0ZXRpbWVcbiAgICovXG4gIHRkc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgZXZlbnQgZm9yIHRoZSBEYXRldGltZVxuICAgKi9cbiAgdGRzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJbnB1dEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ29yaWVudGF0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtZGl2aWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnb3JpZW50YXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0RpdmlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0RpdmlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdmaWx0ZXInLCAnaGVscGVyJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAnbW9kZVZhcmlhbnQnLCAnbXVsdGlzZWxlY3QnLCAnbmFtZScsICdub1Jlc3VsdFRleHQnLCAnbm9ybWFsaXplVGV4dCcsICdvcGVuRGlyZWN0aW9uJywgJ3BsYWNlaG9sZGVyJywgJ3NpemUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRWYWx1ZScsICdyZXNldCcsICdyZW1vdmVWYWx1ZScsICdmb2N1c0VsZW1lbnQnLCAnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdmaWx0ZXInLCAnaGVscGVyJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAnbW9kZVZhcmlhbnQnLCAnbXVsdGlzZWxlY3QnLCAnbmFtZScsICdub1Jlc3VsdFRleHQnLCAnbm9ybWFsaXplVGV4dCcsICdvcGVuRGlyZWN0aW9uJywgJ3BsYWNlaG9sZGVyJywgJ3NpemUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNDaGFuZ2UnLCAndGRzRm9jdXMnLCAndGRzQmx1cicsICd0ZHNJbnB1dCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuVGRzRHJvcGRvd24ge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50IGZvciB0aGUgRHJvcGRvd24uXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZzsgfT4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnQgZm9yIHRoZSBEcm9wZG93bi5cbiAgICovXG4gIHRkc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIERyb3Bkb3duLlxuICAgKi9cbiAgdGRzQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGV2ZW50IGZvciB0aGUgRHJvcGRvd24uXG4gICAqL1xuICB0ZHNJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElucHV0RXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRTZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWRyb3Bkb3duLW9wdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRHJvcGRvd25PcHRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNTZWxlY3QnLCAndGRzRm9jdXMnLCAndGRzQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNEcm9wZG93bk9wdGlvbiBleHRlbmRzIENvbXBvbmVudHMuVGRzRHJvcGRvd25PcHRpb24ge1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnQgZm9yIHRoZSBEcm9wZG93biBvcHRpb24uXG4gICAqL1xuICB0ZHNTZWxlY3Q6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHNlbGVjdGVkOiBib29sZWFuOyB2YWx1ZTogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIERyb3Bkb3duIG9wdGlvbi5cbiAgICovXG4gIHRkc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIERyb3Bkb3duIG9wdGlvbi5cbiAgICovXG4gIHRkc0JsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtZm9sZGVyLXRhYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRm9sZGVyVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRm9sZGVyVGFiIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNGb2xkZXJUYWIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCddLFxuICBtZXRob2RzOiBbJ3NlbGVjdFRhYicsICdyZWluaXRpYWxpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1mb2xkZXItdGFicycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNGb2xkZXJUYWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0ZvbGRlclRhYnMgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0ZvbGRlclRhYnMge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBUYWIgaXMgY2hhbmdlZC5cbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc2VsZWN0ZWRUYWJJbmRleDogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ21vZGVWYXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydtb2RlVmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0Zvb3RlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd0aXRsZVRleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1mb290ZXItZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3RpdGxlVGV4dCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNGb290ZXJHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0Zvb3Rlckdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNGb290ZXJHcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWZvb3Rlci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Zvb3Rlckl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNGb290ZXJJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNGb290ZXJJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWJyYW5kLXN5bWJvbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJCcmFuZFN5bWJvbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckJyYW5kU3ltYm9sIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJCcmFuZFN5bWJvbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjZWxsS2V5JywgJ2NlbGxWYWx1ZScsICdjdXN0b21XaWR0aCcsICdkaXNhYmxlUGFkZGluZycsICdzb3J0YWJsZScsICd0ZXh0QWxpZ24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItY2VsbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2VsbEtleScsICdjZWxsVmFsdWUnLCAnY3VzdG9tV2lkdGgnLCAnZGlzYWJsZVBhZGRpbmcnLCAnc29ydGFibGUnLCAndGV4dEFsaWduJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckNlbGwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNTb3J0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckNlbGwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckNlbGwge1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIFRhYmxlIGlkZW50aWZpZXIsIGNvbHVtbiBrZXkgYW5kIHNvcnRpbmcgZGlyZWN0aW9uIHRvIHRoZSB0ZHMtdGFibGUtYm9keSBjb21wb25lbnQsXG5jYW4gYWxzbyBiZSBsaXN0ZW5lZCB0byBpbXBsZW1lbnQgY3VzdG9tLXNvcnRpbmcgbG9naWMuXG4gICAqL1xuICB0ZHNTb3J0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmc7IGNvbHVtbktleTogc3RyaW5nOyBzb3J0aW5nRGlyZWN0aW9uOiAnYXNjJyB8ICdkZXNjJzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsYWJlbCcsICdub0Ryb3Bkb3duSWNvbicsICdzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnLCAnbm9Ecm9wZG93bkljb24nLCAnc2VsZWN0ZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyRHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyRHJvcGRvd24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1kcm9wZG93bi1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaXplJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckRyb3Bkb3duTGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckRyb3Bkb3duTGlzdCBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyRHJvcGRvd25MaXN0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NlbGVjdGVkJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItZHJvcGRvd24tbGlzdC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzZWxlY3RlZCcsICdzaXplJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckRyb3Bkb3duTGlzdEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJEcm9wZG93bkxpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJEcm9wZG93bkxpc3RJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRlcicsICdpbWdBbHQnLCAnaW1nVXJsJywgJ3N1YmhlYWRlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1kcm9wZG93bi1saXN0LXVzZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRlcicsICdpbWdBbHQnLCAnaW1nVXJsJywgJ3N1YmhlYWRlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJEcm9wZG93bkxpc3RVc2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyRHJvcGRvd25MaXN0VXNlciBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyRHJvcGRvd25MaXN0VXNlciB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1oYW1idXJnZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVySGFtYnVyZ2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVySGFtYnVyZ2VyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJIYW1idXJnZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ3NlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdzZWxlY3RlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVySXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVySXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1sYXVuY2hlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJMYXVuY2hlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckxhdW5jaGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXItYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyTGF1bmNoZXJCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXItZ3JpZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJMYXVuY2hlckdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckdyaWQgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckxhdW5jaGVyR3JpZCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1sYXVuY2hlci1ncmlkLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJHcmlkSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckxhdW5jaGVyR3JpZEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckxhdW5jaGVyR3JpZEl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXItZ3JpZC10aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJMYXVuY2hlckdyaWRUaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckxhdW5jaGVyR3JpZFRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlckdyaWRUaXRsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1sYXVuY2hlci1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckxhdW5jaGVyTGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckxhdW5jaGVyTGlzdCBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyTGF1bmNoZXJMaXN0IHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyLWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJMYXVuY2hlckxpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyTGF1bmNoZXJMaXN0SXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyTGF1bmNoZXJMaXN0SXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1sYXVuY2hlci1saXN0LXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckxhdW5jaGVyTGlzdFRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyTGF1bmNoZXJMaXN0VGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckxhdW5jaGVyTGlzdFRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlclRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyVGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlclRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ25hbWUnLCAnc2l6ZScsICdzdmdEZXNjcmlwdGlvbicsICdzdmdUaXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ25hbWUnLCAnc2l6ZScsICdzdmdEZXNjcmlwdGlvbicsICdzdmdUaXRsZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSWNvbiBleHRlbmRzIENvbXBvbmVudHMuVGRzSWNvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWlubGluZS10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0lubGluZVRhYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0lubGluZVRhYiBleHRlbmRzIENvbXBvbmVudHMuVGRzSW5saW5lVGFiIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RlZmF1bHRTZWxlY3RlZEluZGV4JywgJ2xlZnRQYWRkaW5nJywgJ21vZGVWYXJpYW50JywgJ3NlbGVjdGVkSW5kZXgnXSxcbiAgbWV0aG9kczogWydzZWxlY3RUYWInLCAncmVpbml0aWFsaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaW5saW5lLXRhYnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlZmF1bHRTZWxlY3RlZEluZGV4JywgJ2xlZnRQYWRkaW5nJywgJ21vZGVWYXJpYW50JywgJ3NlbGVjdGVkSW5kZXgnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSW5saW5lVGFicyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0NoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNJbmxpbmVUYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNJbmxpbmVUYWJzIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgVGFiIGlzIGNoYW5nZWQuXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdzdGFuZGFsb25lJywgJ3VuZGVybGluZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWxpbmsnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3N0YW5kYWxvbmUnLCAndW5kZXJsaW5lJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0xpbmsge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNMaW5rIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNMaW5rIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRlcicsICdtaW5pbWFsJywgJ21vZGVWYXJpYW50JywgJ25vSWNvbicsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtbWVzc2FnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGVyJywgJ21pbmltYWwnLCAnbW9kZVZhcmlhbnQnLCAnbm9JY29uJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzTWVzc2FnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc01lc3NhZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlRkc01lc3NhZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aW9uc1Bvc2l0aW9uJywgJ2Nsb3NhYmxlJywgJ2hlYWRlcicsICdwcmV2ZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAnc2l6ZSddLFxuICBtZXRob2RzOiBbJ3Nob3dNb2RhbCcsICdjbG9zZU1vZGFsJywgJ2luaXRpYWxpemVNb2RhbCcsICdjbGVhbnVwTW9kYWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1tb2RhbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aW9uc1Bvc2l0aW9uJywgJ2Nsb3NhYmxlJywgJ2hlYWRlcicsICdwcmV2ZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNNb2RhbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0Nsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc01vZGFsIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNNb2RhbCB7XG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBNb2RhbCBpcyBjbG9zZWQuXG4gICAqL1xuICB0ZHNDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLW5hdmlnYXRpb24tdGFiJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNOYXZpZ2F0aW9uVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzTmF2aWdhdGlvblRhYiBleHRlbmRzIENvbXBvbmVudHMuVGRzTmF2aWdhdGlvblRhYiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWZhdWx0U2VsZWN0ZWRJbmRleCcsICdsZWZ0UGFkZGluZycsICdtb2RlVmFyaWFudCcsICdzZWxlY3RlZEluZGV4J10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0VGFiJywgJ3JlaW5pdGlhbGl6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLW5hdmlnYXRpb24tdGFicycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbGVmdFBhZGRpbmcnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNOYXZpZ2F0aW9uVGFicyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0NoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNOYXZpZ2F0aW9uVGFicyBleHRlbmRzIENvbXBvbmVudHMuVGRzTmF2aWdhdGlvblRhYnMge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBUYWIgaXMgY2hhbmdlZC5cbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc2VsZWN0ZWRUYWJJbmRleDogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkZWZhdWx0U2hvdycsICdtb2RpZmllcnMnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnXSxcbiAgbWV0aG9kczogWydjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXBvcG92ZXItY2FudmFzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnZGVmYXVsdFNob3cnLCAnbW9kaWZpZXJzJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93J10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1BvcG92ZXJDYW52YXMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNQb3BvdmVyQ2FudmFzIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNQb3BvdmVyQ2FudmFzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdhdXRvSGlkZScsICdkZWZhdWx0U2hvdycsICdtb2RpZmllcnMnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAndHJpZ2dlciddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtcG9wb3Zlci1jb3JlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnYXV0b0hpZGUnLCAnZGVmYXVsdFNob3cnLCAnbW9kaWZpZXJzJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3RyaWdnZXInXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzUG9wb3ZlckNvcmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNQb3BvdmVyQ29yZSBleHRlbmRzIENvbXBvbmVudHMuVGRzUG9wb3ZlckNvcmUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2RlZmF1bHRTaG93JywgJ2ZsdWlkV2lkdGgnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnXSxcbiAgbWV0aG9kczogWydjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXBvcG92ZXItbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2RlZmF1bHRTaG93JywgJ2ZsdWlkV2lkdGgnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzUG9wb3Zlck1lbnUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNQb3BvdmVyTWVudSBleHRlbmRzIENvbXBvbmVudHMuVGRzUG9wb3Zlck1lbnUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1wb3BvdmVyLW1lbnUtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzUG9wb3Zlck1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzUG9wb3Zlck1lbnVJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNQb3BvdmVyTWVudUl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICduYW1lJywgJ3JhZGlvSWQnLCAncmVxdWlyZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1yYWRpby1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICdyYWRpb0lkJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1JhZGlvQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1JhZGlvQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNSYWRpb0J1dHRvbiB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgUmFkaW8gQnV0dG9uIGlkZW50aWZpZXIgYW5kIHN0YXR1cyB3aGVuIGl0IGlzIGNoZWNrZWQuXG5JZiBubyBJRCBpcyBzcGVjaWZpZWQsIGEgcmFuZG9tIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cblRvIHVzZSB0aGlzIGxpc3RlbmVyLCBkb24ndCB1c2UgdGhlIHJhbmRvbWl6ZWQgSUQsIHVzZSBhIHNwZWNpZmljIG9uZSBvZiB5b3VyIGNob29zaW5nLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyByYWRpb0lkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ29wZW4nLCAncGVyc2lzdGVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ29wZW4nLCAncGVyc2lzdGVudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0NvbGxhcHNlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDb2xsYXBzZUV2ZW50IGFzIElUZHNTaWRlTWVudUNvbGxhcHNlRXZlbnQgfSBmcm9tICdAc2NhbmlhL3RlZ2VsJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudSB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgU2lkZSBNZW51IGlzIGNvbGxhcHNlZC5cbiAgICovXG4gIHRkc0NvbGxhcHNlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRkc1NpZGVNZW51Q29sbGFwc2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1jbG9zZS1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2lkZU1lbnVDbG9zZUJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51Q2xvc2VCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51Q2xvc2VCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtY29sbGFwc2UtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNDb2xsYXBzZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQ29sbGFwc2VFdmVudCBhcyBJVGRzU2lkZU1lbnVDb2xsYXBzZUJ1dHRvbkNvbGxhcHNlRXZlbnQgfSBmcm9tICdAc2NhbmlhL3RlZ2VsJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b24ge1xuICAvKipcbiAgICogRXZlbnQgdGhhdCBpcyBicm9hZGNhc3Qgd2hlbiB0aGUgY29sbGFwc2UgYnV0dG9uIGlzIGNsaWNrZWQuXG5QcmV2ZW50IGl0IGZyb20gZGlzYWJsaW5nIGF1dG9tYXRpYyBjb2xsYXBzaW5nLCBhbmQgc2V0IHRoZSBjb2xsYXBzZWQgcHJvcCBvbiB0aGUgU2lkZSBNZW51IHlvdXJzZWxmLlxuICAgKi9cbiAgdGRzQ29sbGFwc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGRzU2lkZU1lbnVDb2xsYXBzZUJ1dHRvbkNvbGxhcHNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYnV0dG9uTGFiZWwnLCAnZGVmYXVsdE9wZW4nLCAnb3BlbicsICdzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uTGFiZWwnLCAnZGVmYXVsdE9wZW4nLCAnb3BlbicsICdzZWxlY3RlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudURyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVEcm9wZG93biB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1kcm9wZG93bi1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51RHJvcGRvd25MaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVEcm9wZG93bkxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51RHJvcGRvd25MaXN0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtc2lkZS1tZW51LWRyb3Bkb3duLWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2VsZWN0ZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2lkZU1lbnVEcm9wZG93bkxpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVEcm9wZG93bkxpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudURyb3Bkb3duTGlzdEl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ3NlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtc2lkZS1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdzZWxlY3RlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTaWRlTWVudUl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51SXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1vdmVybGF5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51T3ZlcmxheSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51T3ZlcmxheSBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVPdmVybGF5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaW1nQWx0JywgJ2ltZ1NyYycsICdzdWJoZWFkaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtc2lkZS1tZW51LXVzZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaW1nQWx0JywgJ2ltZ1NyYycsICdzdWJoZWFkaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51VXNlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51VXNlciBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVVc2VyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsdCcsICdzcmMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtdXNlci1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWx0JywgJ3NyYyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudVVzZXJJbWFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51VXNlckltYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudVVzZXJJbWFnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nJywgJ3N1YmhlYWRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtdXNlci1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZycsICdzdWJoZWFkaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51VXNlckxhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVVc2VyTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51VXNlckxhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRyb2xzJywgJ2Rpc2FibGVkJywgJ2lucHV0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZWFkT25seScsICdzaG93VGlja051bWJlcnMnLCAnc2xpZGVySWQnLCAnc25hcCcsICdzdGVwJywgJ3RodW1iU2l6ZScsICd0aWNrcycsICd0b29sdGlwJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsncmVzZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zbGlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRyb2xzJywgJ2Rpc2FibGVkJywgJ2lucHV0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZWFkT25seScsICdzaG93VGlja051bWJlcnMnLCAnc2xpZGVySWQnLCAnc25hcCcsICdzdGVwJywgJ3RodW1iU2l6ZScsICd0aWNrcycsICd0b29sdGlwJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0NoYW5nZScsICd0ZHNJbnB1dCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NsaWRlciB7XG4gIC8qKlxuICAgKiBTZW5kcyB0aGUgdmFsdWUgb2YgdGhlIHNsaWRlciB3aGVuIGNoYW5nZWQuIEZpcmVzIGFmdGVyIG1vdXNlIHVwIGFuZCB0b3VjaCBlbmQgZXZlbnRzLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBTZW5kcyB0aGUgdmFsdWUgb2YgdGhlIHNsaWRlciB3aGlsZSBtb3ZpbmcgdGhlIHRodW1iLiBGaXJlcyBvbiBtb3VzZSBtb3ZlIGFuZCB0b3VjaCBtb3ZlIGV2ZW50cy5cbiAgICovXG4gIHRkc0lucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNwaW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU3Bpbm5lciBleHRlbmRzIENvbXBvbmVudHMuVGRzU3Bpbm5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbmRleCcsICdzdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXN0ZXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2luZGV4JywgJ3N0YXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1N0ZXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTdGVwIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTdGVwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGVMYWJlbHMnLCAnbGFiZWxQb3NpdGlvbicsICdvcmllbnRhdGlvbicsICdzaXplJywgJ3N0ZXBwZXJJZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGVMYWJlbHMnLCAnbGFiZWxQb3NpdGlvbicsICdvcmllbnRhdGlvbicsICdzaXplJywgJ3N0ZXBwZXJJZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU3RlcHBlciBleHRlbmRzIENvbXBvbmVudHMuVGRzU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb21wYWN0RGVzaWduJywgJ2V4cGFuZGFibGVSb3dzJywgJ2hvcml6b250YWxTY3JvbGxXaWR0aCcsICdtb2RlVmFyaWFudCcsICdtdWx0aXNlbGVjdCcsICdub01pbldpZHRoJywgJ3Jlc3BvbnNpdmUnLCAndGFibGVJZCcsICd2ZXJ0aWNhbERpdmlkZXJzJywgJ3plYnJhTW9kZSddLFxuICBtZXRob2RzOiBbJ2dldFNlbGVjdGVkUm93cyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb21wYWN0RGVzaWduJywgJ2V4cGFuZGFibGVSb3dzJywgJ2hvcml6b250YWxTY3JvbGxXaWR0aCcsICdtb2RlVmFyaWFudCcsICdtdWx0aXNlbGVjdCcsICdub01pbldpZHRoJywgJ3Jlc3BvbnNpdmUnLCAndGFibGVJZCcsICd2ZXJ0aWNhbERpdmlkZXJzJywgJ3plYnJhTW9kZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUYWJsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlLWJvZHknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVCb2R5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVCb2R5IGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUYWJsZUJvZHkge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2hvd0ljb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1ib2R5LWlucHV0LXdyYXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3Nob3dJY29uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RhYmxlQm9keUlucHV0V3JhcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlQm9keUlucHV0V3JhcHBlciBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVCb2R5SW5wdXRXcmFwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsaWNrYWJsZScsICdkaXNhYmxlZCcsICdzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlLWJvZHktcm93JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnc2VsZWN0ZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVCb2R5Um93IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzU2VsZWN0JywgJ3Rkc0NsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlQm9keVJvdyBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVCb2R5Um93IHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvdyBpcyBzZWxlY3RlZC9kZXNlbGVjdGVkLlxuICAgKi9cbiAgdGRzU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmc7IGNoZWNrZWQ6IGJvb2xlYW47IHNlbGVjdGVkUm93czogYW55W107IH0+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvdyBpcyBjbGlja2VkLlxuICAgKi9cbiAgdGRzQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV2ZW50OiBNb3VzZUV2ZW50OyB0YWJsZUlkOiBzdHJpbmc7IHJvd0luZGV4OiBudW1iZXI7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b0NvbGxhcHNlJywgJ2NvbFNwYW4nLCAnZXhwYW5kZWQnLCAnb3ZlcmZsb3cnLCAncm93SWQnXSxcbiAgbWV0aG9kczogWydleHBhbmQnLCAnY29sbGFwc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1ib2R5LXJvdy1leHBhbmRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvQ29sbGFwc2UnLCAnY29sU3BhbicsICdleHBhbmRlZCcsICdvdmVyZmxvdycsICdyb3dJZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZUJvZHlSb3dFeHBhbmRhYmxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlQm9keVJvd0V4cGFuZGFibGUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlQm9keVJvd0V4cGFuZGFibGUge1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIHRhYmxlIHJvdyBpZGVudGlmaWVyIGFuZCBpc0V4cGFuZGVkIHN0YXR1cyB3aGVuIGl0IGlzIGV4cGFuZGVkL2NvbGxhcHNlZC5cbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgcm93SWQ6IHN0cmluZzsgaXNFeHBhbmRlZDogYm9vbGVhbjsgdGFibGVJZDogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbHMnLCAncGFnZXMnLCAncGFnaW5hdGlvbicsICdwYWdpbmF0aW9uVmFsdWUnLCAncm93c1BlclBhZ2VWYWx1ZXMnLCAncm93c3BlcnBhZ2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbHMnLCAncGFnZXMnLCAncGFnaW5hdGlvbicsICdwYWdpbmF0aW9uVmFsdWUnLCAncm93c1BlclBhZ2VWYWx1ZXMnLCAncm93c3BlcnBhZ2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNQYWdpbmF0aW9uJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUYWJsZUZvb3RlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0byBzZW5kIGN1cnJlbnQgcGFnZSB2YWx1ZSB0byB0ZHMtdGFibGUtYm9keSBjb21wb25lbnQsIGNhbiBhbHNvIGJlIGxpc3RlbmVkIHRvIGluIG9yZGVyIHRvIGltcGxlbWVudCBjdXN0b20gcGFnaW5hdGlvbiBsb2dpYy5cbiAgICovXG4gIHRkc1BhZ2luYXRpb246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYmxlSWQ6IHN0cmluZzsgcGFnaW5hdGlvblZhbHVlOiBudW1iZXI7IHJvd3NQZXJQYWdlPzogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbFNlbGVjdGVkJywgJ2Rpc2FibGVkJywgJ2luZGV0ZXJtaW5hdGUnLCAnc2VsZWN0ZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsbFNlbGVjdGVkJywgJ2Rpc2FibGVkJywgJ2luZGV0ZXJtaW5hdGUnLCAnc2VsZWN0ZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNTZWxlY3RBbGwnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlSGVhZGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc3RhdHVzIG9mIHRoZSBzZWxlY3QgYWxsIGNoZWNrYm94IGNoYW5nZXMuXG4gICAqL1xuICB0ZHNTZWxlY3RBbGw6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYmxlSWQ6IHN0cmluZzsgY2hlY2tlZDogYm9vbGVhbjsgc2VsZWN0ZWRSb3dzOiBhbnlbXTsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb21wYWN0RGVzaWduJywgJ3Nob3dJY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGFibGUtaGVhZGVyLWlucHV0LXdyYXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbXBhY3REZXNpZ24nLCAnc2hvd0ljb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVIZWFkZXJJbnB1dFdyYXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWJsZUhlYWRlcklucHV0V3JhcHBlciBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVIZWFkZXJJbnB1dFdyYXBwZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZmlsdGVyJywgJ3RhYmxlVGl0bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS10b29sYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmaWx0ZXInLCAndGFibGVUaXRsZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZVRvb2xiYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNGaWx0ZXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVUb29sYmFyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUYWJsZVRvb2xiYXIge1xuICAvKipcbiAgICogVXNlZCBmb3Igc2VuZGluZyB1c2VycycgaW5wdXQgdG8gdGhlIG1haW4gcGFyZW50IHRkcy10YWJsZSB0aGUgY29tcG9uZW50LFxuY2FuIGFsc28gYmUgbGlzdGVuZWQgdG8gaW4gb3JkZXIgdG8gaW1wbGVtZW50IGN1c3RvbSBzb3J0aW5nIGxvZ2ljLlxuICAgKi9cbiAgdGRzRmlsdGVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmc7IHF1ZXJ5OiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2Rpc2FibGVkJywgJ2hlbHBlcicsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21heCcsICdtYXhMZW5ndGgnLCAnbWluJywgJ21vZGVWYXJpYW50JywgJ25hbWUnLCAnbm9NaW5XaWR0aCcsICdwbGFjZWhvbGRlcicsICdyZWFkT25seScsICdzaXplJywgJ3N0YXRlJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydmb2N1c0VsZW1lbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10ZXh0LWZpZWxkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnZGlzYWJsZWQnLCAnaGVscGVyJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4JywgJ21heExlbmd0aCcsICdtaW4nLCAnbW9kZVZhcmlhbnQnLCAnbmFtZScsICdub01pbldpZHRoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRPbmx5JywgJ3NpemUnLCAnc3RhdGUnLCAndHlwZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUZXh0RmllbGQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNDaGFuZ2UnLCAndGRzSW5wdXQnLCAndGRzRm9jdXMnLCAndGRzQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUZXh0RmllbGQgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RleHRGaWVsZCB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgZXZlbnQgZm9yIHRoZSBUZXh0IEZpZWxkXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIElucHV0IGV2ZW50IGZvciB0aGUgVGV4dCBGaWVsZFxuICAgKi9cbiAgdGRzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJbnB1dEV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIFRleHQgRmllbGRcbiAgICovXG4gIHRkc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIFRleHQgRmllbGRcbiAgICovXG4gIHRkc0JsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjb2xzJywgJ2Rpc2FibGVkJywgJ2hlbHBlcicsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21heExlbmd0aCcsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ25vTWluV2lkdGgnLCAncGxhY2Vob2xkZXInLCAncmVhZE9ubHknLCAncm93cycsICdzdGF0ZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRleHRhcmVhJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnY29scycsICdkaXNhYmxlZCcsICdoZWxwZXInLCAnbGFiZWwnLCAnbGFiZWxQb3NpdGlvbicsICdtYXhMZW5ndGgnLCAnbW9kZVZhcmlhbnQnLCAnbmFtZScsICdub01pbldpZHRoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRPbmx5JywgJ3Jvd3MnLCAnc3RhdGUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGV4dGFyZWEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNDaGFuZ2UnLCAndGRzQmx1cicsICd0ZHNJbnB1dCcsICd0ZHNGb2N1cyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUZXh0YXJlYSBleHRlbmRzIENvbXBvbmVudHMuVGRzVGV4dGFyZWEge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50IGZvciB0aGUgVGV4dGFyZWFcbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIFRleHRhcmVhXG4gICAqL1xuICB0ZHNCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgZXZlbnQgZm9yIHRoZSBUZXh0YXJlYVxuICAgKi9cbiAgdGRzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJbnB1dEV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIFRleHRhcmVhXG4gICAqL1xuICB0ZHNGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnaGVhZGVyJywgJ2hpZGRlbicsICdzdWJoZWFkZXInLCAndG9hc3RJZCcsICd0b2FzdFJvbGUnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ2hpZGVUb2FzdCcsICdzaG93VG9hc3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10b2FzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnaGVhZGVyJywgJ2hpZGRlbicsICdzdWJoZWFkZXInLCAndG9hc3RJZCcsICd0b2FzdFJvbGUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUb2FzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0Nsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RvYXN0IGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUb2FzdCB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgVG9hc3QgaWRlbnRpZmllciB3aGVuIGNvbXBvbmVudCBpcyBjbG9zZWQuXG4gICAqL1xuICB0ZHNDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdG9hc3RJZDogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaGVhZGxpbmUnLCAnbmFtZScsICdyZXF1aXJlZCcsICdzaXplJywgJ3Rkc0FyaWFMYWJlbCcsICd0b2dnbGVJZCddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRvZ2dsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdoZWFkbGluZScsICduYW1lJywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndGRzQXJpYUxhYmVsJywgJ3RvZ2dsZUlkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RvZ2dsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc1RvZ2dsZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUb2dnbGUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RvZ2dsZSB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgVG9nZ2xlIGlkZW50aWZpZXIgYW5kIHN0YXR1cyB3aGVuIGl0IGlzIHRvZ2dsZWQuXG4gICAqL1xuICB0ZHNUb2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRvZ2dsZUlkOiBzdHJpbmc7IGNoZWNrZWQ6IGJvb2xlYW47IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdFNob3cnLCAnbW91c2VPdmVyVG9vbHRpcCcsICdvZmZzZXREaXN0YW5jZScsICdvZmZzZXRTa2lkZGluZycsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdycsICd0ZXh0JywgJ3RyaWdnZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWZhdWx0U2hvdycsICdtb3VzZU92ZXJUb29sdGlwJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3RleHQnLCAndHJpZ2dlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVG9vbHRpcCBleHRlbmRzIENvbXBvbmVudHMuVGRzVG9vbHRpcCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWZhdWx0U2hvdycsICdtb3VzZU92ZXJUb29sdGlwJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3RleHQnLCAndHJpZ2dlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRvb2x0aXAtYmV0YScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdFNob3cnLCAnbW91c2VPdmVyVG9vbHRpcCcsICdvZmZzZXREaXN0YW5jZScsICdvZmZzZXRTa2lkZGluZycsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdycsICd0ZXh0JywgJ3RyaWdnZXInXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVG9vbHRpcEJldGEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUb29sdGlwQmV0YSBleHRlbmRzIENvbXBvbmVudHMuVGRzVG9vbHRpcEJldGEge31cblxuXG4iXX0=
|
|
2066
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWVoRSxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFZO0lBRXZCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7K0dBTFUsWUFBWTttR0FBWixZQUFZLCtIQUpiLDJCQUEyQjs7QUFJMUIsWUFBWTtJQVZ4QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUM7S0FDMUMsQ0FBQztHQVFXLFlBQVksQ0FNeEI7OzRGQU5ZLFlBQVk7a0JBUHhCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsQ0FBQztpQkFDMUM7O0FBd0JNLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBRTNCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFD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QUFVO21HQUFWLFVBQVUsK1RBSlgsMkJBQTJCOztBQUkxQixVQUFVO0lBVnRCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztLQUNuSixDQUFDO0dBUVcsVUFBVSxDQU10Qjs7NEZBTlksVUFBVTtrQkFQdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO2lCQUNuSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BzY2FuaWEvdGVnZWwnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaWRlTGFzdEJvcmRlcicsICdtb2RlVmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGlkZUxhc3RCb3JkZXInLCAnbW9kZVZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzQWNjb3JkaW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNBY2NvcmRpb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYUxldmVsVmFsdWUnLCAnZGlzYWJsZWQnLCAnZXhwYW5kSWNvblBvc2l0aW9uJywgJ2V4cGFuZGVkJywgJ2hlYWRlcicsICdwYWRkaW5nUmVzZXQnXSxcbiAgbWV0aG9kczogWyd0b2dnbGVBY2NvcmRpb25JdGVtJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtYWNjb3JkaW9uLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMZXZlbFZhbHVlJywgJ2Rpc2FibGVkJywgJ2V4cGFuZEljb25Qb3NpdGlvbicsICdleHBhbmRlZCcsICdoZWFkZXInLCAncGFkZGluZ1Jlc2V0J10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0FjY29yZGlvbkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNUb2dnbGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQWNjb3JkaW9uSXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzQWNjb3JkaW9uSXRlbSB7XG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBBY2NvcmRpb24gSXRlbSBpcyBjbGlja2VkLCBidXQgYmVmb3JlIGl0IGlzIGNsb3NlZCBvciBvcGVuZWQuXG4gICAqL1xuICB0ZHNUb2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV4cGFuZGVkOiBib29sZWFuOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGRlbicsICdzaXplJywgJ3Rkc0FyaWFMaXZlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtYmFkZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGRlbicsICdzaXplJywgJ3Rkc0FyaWFMaXZlJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0JhZGdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQmFkZ2UgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0JhZGdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Jhbm5lcklkJywgJ2hlYWRlcicsICdoaWRkZW4nLCAnaWNvbicsICdyb2xlVHlwZScsICdzdWJoZWFkZXInLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ2hpZGVCYW5uZXInLCAnc2hvd0Jhbm5lciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWJhbm5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFubmVySWQnLCAnaGVhZGVyJywgJ2hpZGRlbicsICdpY29uJywgJ3JvbGVUeXBlJywgJ3N1YmhlYWRlcicsICd2YXJpYW50J10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0Jhbm5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0Nsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0Jhbm5lciBleHRlbmRzIENvbXBvbmVudHMuVGRzQmFubmVyIHtcbiAgLyoqXG4gICAqIFNlbmRzIGEgdW5pcXVlIEJhbm5lciBpZGVudGlmaWVyIHdoZW4gdGhlIGNsb3NlIGJ1dHRvbiBpcyBwcmVzc2VkLlxuICAgKi9cbiAgdGRzQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGJhbm5lcklkOiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29tcG9uZW50VGFnJywgJ21vZGVWYXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtYmxvY2snLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbXBvbmVudFRhZycsICdtb2RlVmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNCbG9jayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0Jsb2NrIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCbG9jayB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjZWxsS2V5JywgJ2NlbGxWYWx1ZScsICdkaXNhYmxlUGFkZGluZycsICd0ZXh0QWxpZ24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1ib2R5LWNlbGwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NlbGxLZXknLCAnY2VsbFZhbHVlJywgJ2Rpc2FibGVQYWRkaW5nJywgJ3RleHRBbGlnbiddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNCb2R5Q2VsbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0JvZHlDZWxsIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCb2R5Q2VsbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjdXJyZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtYnJlYWRjcnVtYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3VycmVudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNCcmVhZGNydW1iIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQnJlYWRjcnVtYiBleHRlbmRzIENvbXBvbmVudHMuVGRzQnJlYWRjcnVtYiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyd0ZHNBcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1icmVhZGNydW1icycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndGRzQXJpYUxhYmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0JyZWFkY3J1bWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQnJlYWRjcnVtYnMgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0JyZWFkY3J1bWJzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkaXNhYmxlZCcsICdmdWxsYmxlZWQnLCAnbW9kZVZhcmlhbnQnLCAnc2l6ZScsICd0ZHNBcmlhTGFiZWwnLCAndGV4dCcsICd0eXBlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkaXNhYmxlZCcsICdmdWxsYmxlZWQnLCAnbW9kZVZhcmlhbnQnLCAnc2l6ZScsICd0ZHNBcmlhTGFiZWwnLCAndGV4dCcsICd0eXBlJywgJ3ZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9keURpdmlkZXInLCAnYm9keUltZycsICdib2R5SW1nQWx0JywgJ2NhcmRJZCcsICdjbGlja2FibGUnLCAnaGVhZGVyJywgJ2ltYWdlUGxhY2VtZW50JywgJ21vZGVWYXJpYW50JywgJ3N0cmV0Y2gnLCAnc3ViaGVhZGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYm9keURpdmlkZXInLCAnYm9keUltZycsICdib2R5SW1nQWx0JywgJ2NhcmRJZCcsICdjbGlja2FibGUnLCAnaGVhZGVyJywgJ2ltYWdlUGxhY2VtZW50JywgJ21vZGVWYXJpYW50JywgJ3N0cmV0Y2gnLCAnc3ViaGVhZGVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0NhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNDYXJkIHtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBDYXJkIGlkZW50aWZpZXIgd2hlbiB0aGUgQ2FyZCBpcyBjbGlja2VkLCBpZiBjbGlja2FibGU9dHJ1ZVxuICAgKi9cbiAgdGRzQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNhcmRJZDogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrYm94SWQnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbmRldGVybWluYXRlJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndGRzQXJpYURlc2NyaWJlZGJ5JywgJ3Rkc0FyaWFMYWJlbCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZUNoZWNrYm94J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtY2hlY2tib3gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrYm94SWQnLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdpbmRldGVybWluYXRlJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndGRzQXJpYURlc2NyaWJlZGJ5JywgJ3Rkc0FyaWFMYWJlbCcsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNDaGVja2JveCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0NoYW5nZScsICd0ZHNGb2N1cycsICd0ZHNCbHVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0NoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50cy5UZHNDaGVja2JveCB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgQ2hlY2tib3ggaWRlbnRpZmllciBhbmQgY2hlY2tlZCBzdGF0dXMgd2hlbiBpdCBpcyBjaGVja2VkL3VuY2hlY2tlZC5cbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hlY2tib3hJZDogc3RyaW5nOyBjaGVja2VkOiBib29sZWFuOyBpbmRldGVybWluYXRlOiBib29sZWFuOyB2YWx1ZT86IHN0cmluZzsgfT4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnQgZm9yIHRoZSBDaGVja2JveFxuICAgKi9cbiAgdGRzRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBCbHVyIGV2ZW50IGZvciB0aGUgQ2hlY2tib3hcbiAgICovXG4gIHRkc0JsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnY2hpcElkJywgJ2Rpc2FibGVkJywgJ25hbWUnLCAnc2l6ZScsICd0ZHNBcmlhTGFiZWwnLCAndHlwZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWNoaXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnY2hpcElkJywgJ2Rpc2FibGVkJywgJ25hbWUnLCAnc2l6ZScsICd0ZHNBcmlhTGFiZWwnLCAndHlwZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNDaGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJywgJ3Rkc0NsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0NoaXAgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0NoaXAge1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIENoaXAgaWRlbnRpZmllciBhbmQgdmFsdWUgd2hlbiBpdCBpcyBjaGFuZ2VkIChjaGVja2VkL3VuY2hlY2tlZCkuXG5WYWxpZCBvbmx5IGZvciB0eXBlIGNoZWNrYm94IGFuZCByYWRpby5cbklmIG5vIElEIGlzIHNwZWNpZmllZCwgYSByYW5kb20gb25lIHdpbGwgYmUgZ2VuZXJhdGVkLlxuVG8gdXNlIHRoaXMgbGlzdGVuZXIsIGRvbid0IHVzZSB0aGUgcmFuZG9taXplZCBJRCwgdXNlIGEgc3BlY2lmaWMgb25lIG9mIHlvdXIgY2hvb3NpbmcuXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNoaXBJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nOyBjaGVja2VkPzogYm9vbGVhbjsgfT4+O1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIENoaXAgaWRlbnRpZmllciB3aGVuIENoaXAgaXMgY2xpY2tlZC5cblZhbGlkIG9ubHkgZm9yIHR5cGUgYnV0dG9uLlxuSWYgbm8gSUQgaXMgc3BlY2lmaWVkLCBhIHJhbmRvbSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG5UbyB1c2UgdGhpcyBsaXN0ZW5lciwgZG9uJ3QgdXNlIHRoZSByYW5kb21pemVkIElELCB1c2UgYSBzcGVjaWZpYyBvbmUgb2YgeW91ciBjaG9vc2luZy5cbiAgICovXG4gIHRkc0NsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGlwSWQ6IHN0cmluZzsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWNvcmUtaGVhZGVyLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzQ29yZUhlYWRlckl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNDb3JlSGVhZGVySXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzQ29yZUhlYWRlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNhYmxlZCcsICdoZWxwZXInLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ25vTWluV2lkdGgnLCAnc2l6ZScsICdzdGF0ZScsICd0eXBlJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsncmVzZXQnLCAnc2V0VmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1kYXRldGltZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNhYmxlZCcsICdoZWxwZXInLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ25vTWluV2lkdGgnLCAnc2l6ZScsICdzdGF0ZScsICd0eXBlJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0RhdGV0aW1lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJywgJ3Rkc0JsdXInLCAndGRzRm9jdXMnLCAndGRzSW5wdXQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRGF0ZXRpbWUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0RhdGV0aW1lIHtcbiAgLyoqXG4gICAqIENoYW5nZSBldmVudCBmb3IgdGhlIERhdGV0aW1lXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEJsdXIgZXZlbnQgZm9yIHRoZSBEYXRldGltZVxuICAgKi9cbiAgdGRzQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIEZvY3VzIGV2ZW50IGZvciB0aGUgRGF0ZXRpbWVcbiAgICovXG4gIHRkc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgZXZlbnQgZm9yIHRoZSBEYXRldGltZVxuICAgKi9cbiAgdGRzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJbnB1dEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ29yaWVudGF0aW9uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtZGl2aWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnb3JpZW50YXRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0RpdmlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0RpdmlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdmaWx0ZXInLCAnaGVscGVyJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAnbW9kZVZhcmlhbnQnLCAnbXVsdGlzZWxlY3QnLCAnbmFtZScsICdub1Jlc3VsdFRleHQnLCAnbm9ybWFsaXplVGV4dCcsICdvcGVuRGlyZWN0aW9uJywgJ3BsYWNlaG9sZGVyJywgJ3NpemUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRWYWx1ZScsICdyZXNldCcsICdyZW1vdmVWYWx1ZScsICdmb2N1c0VsZW1lbnQnLCAnY2xvc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2RlZmF1bHRWYWx1ZScsICdkaXNhYmxlZCcsICdlcnJvcicsICdmaWx0ZXInLCAnaGVscGVyJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAnbW9kZVZhcmlhbnQnLCAnbXVsdGlzZWxlY3QnLCAnbmFtZScsICdub1Jlc3VsdFRleHQnLCAnbm9ybWFsaXplVGV4dCcsICdvcGVuRGlyZWN0aW9uJywgJ3BsYWNlaG9sZGVyJywgJ3NpemUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNDaGFuZ2UnLCAndGRzRm9jdXMnLCAndGRzQmx1cicsICd0ZHNJbnB1dCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuVGRzRHJvcGRvd24ge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50IGZvciB0aGUgRHJvcGRvd24uXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZzsgfT4+O1xuICAvKipcbiAgICogRm9jdXMgZXZlbnQgZm9yIHRoZSBEcm9wZG93bi5cbiAgICovXG4gIHRkc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIERyb3Bkb3duLlxuICAgKi9cbiAgdGRzQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqXG4gICAqIElucHV0IGV2ZW50IGZvciB0aGUgRHJvcGRvd24uXG4gICAqL1xuICB0ZHNJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElucHV0RXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRTZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWRyb3Bkb3duLW9wdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRHJvcGRvd25PcHRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNTZWxlY3QnLCAndGRzRm9jdXMnLCAndGRzQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNEcm9wZG93bk9wdGlvbiBleHRlbmRzIENvbXBvbmVudHMuVGRzRHJvcGRvd25PcHRpb24ge1xuICAvKipcbiAgICogQ2xpY2sgZXZlbnQgZm9yIHRoZSBEcm9wZG93biBvcHRpb24uXG4gICAqL1xuICB0ZHNTZWxlY3Q6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHNlbGVjdGVkOiBib29sZWFuOyB2YWx1ZTogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIERyb3Bkb3duIG9wdGlvbi5cbiAgICovXG4gIHRkc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIERyb3Bkb3duIG9wdGlvbi5cbiAgICovXG4gIHRkc0JsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtZm9sZGVyLXRhYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRm9sZGVyVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRm9sZGVyVGFiIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNGb2xkZXJUYWIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdFNlbGVjdGVkSW5kZXgnLCAnbW9kZVZhcmlhbnQnLCAnc2VsZWN0ZWRJbmRleCcsICd0ZHNTY3JvbGxMZWZ0QXJpYUxhYmVsJywgJ3Rkc1Njcm9sbFJpZ2h0QXJpYUxhYmVsJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0VGFiJywgJ3JlaW5pdGlhbGl6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWZvbGRlci10YWJzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWZhdWx0U2VsZWN0ZWRJbmRleCcsICdtb2RlVmFyaWFudCcsICdzZWxlY3RlZEluZGV4JywgJ3Rkc1Njcm9sbExlZnRBcmlhTGFiZWwnLCAndGRzU2Nyb2xsUmlnaHRBcmlhTGFiZWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRm9sZGVyVGFicyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0NoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNGb2xkZXJUYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNGb2xkZXJUYWJzIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgVGFiIGlzIGNoYW5nZWQuXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydtb2RlVmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbW9kZVZhcmlhbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNGb290ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndGl0bGVUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtZm9vdGVyLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0aXRsZVRleHQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzRm9vdGVyR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNGb290ZXJHcm91cCBleHRlbmRzIENvbXBvbmVudHMuVGRzRm9vdGVyR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1mb290ZXItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNGb290ZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzRm9vdGVySXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzRm9vdGVySXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlciB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1icmFuZC1zeW1ib2wnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyQnJhbmRTeW1ib2wge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJCcmFuZFN5bWJvbCBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyQnJhbmRTeW1ib2wge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2VsbEtleScsICdjZWxsVmFsdWUnLCAnY3VzdG9tV2lkdGgnLCAnZGlzYWJsZVBhZGRpbmcnLCAnc29ydGFibGUnLCAndGV4dEFsaWduJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWNlbGwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NlbGxLZXknLCAnY2VsbFZhbHVlJywgJ2N1c3RvbVdpZHRoJywgJ2Rpc2FibGVQYWRkaW5nJywgJ3NvcnRhYmxlJywgJ3RleHRBbGlnbiddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJDZWxsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzU29ydCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJDZWxsIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJDZWxsIHtcbiAgLyoqXG4gICAqIFNlbmRzIHVuaXF1ZSBUYWJsZSBpZGVudGlmaWVyLCBjb2x1bW4ga2V5IGFuZCBzb3J0aW5nIGRpcmVjdGlvbiB0byB0aGUgdGRzLXRhYmxlLWJvZHkgY29tcG9uZW50LFxuY2FuIGFsc28gYmUgbGlzdGVuZWQgdG8gaW1wbGVtZW50IGN1c3RvbS1zb3J0aW5nIGxvZ2ljLlxuICAgKi9cbiAgdGRzU29ydDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFibGVJZDogc3RyaW5nOyBjb2x1bW5LZXk6IHN0cmluZzsgc29ydGluZ0RpcmVjdGlvbjogJ2FzYycgfCAnZGVzYyc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFiZWwnLCAnbm9Ecm9wZG93bkljb24nLCAnc2VsZWN0ZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ25vRHJvcGRvd25JY29uJywgJ3NlbGVjdGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckRyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyRHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckRyb3Bkb3duIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItZHJvcGRvd24tbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJEcm9wZG93bkxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJEcm9wZG93bkxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckRyb3Bkb3duTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzZWxlY3RlZCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWRyb3Bkb3duLWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2VsZWN0ZWQnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJEcm9wZG93bkxpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyRHJvcGRvd25MaXN0SXRlbSBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyRHJvcGRvd25MaXN0SXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkZXInLCAnaW1nQWx0JywgJ2ltZ1VybCcsICdzdWJoZWFkZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItZHJvcGRvd24tbGlzdC11c2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWFkZXInLCAnaW1nQWx0JywgJ2ltZ1VybCcsICdzdWJoZWFkZXInXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyRHJvcGRvd25MaXN0VXNlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckRyb3Bkb3duTGlzdFVzZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckRyb3Bkb3duTGlzdFVzZXIge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItaGFtYnVyZ2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckhhbWJ1cmdlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckhhbWJ1cmdlciBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVySGFtYnVyZ2VyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnc2VsZWN0ZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVySXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlciBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyTGF1bmNoZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWN0aXZlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckxhdW5jaGVyQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyTGF1bmNoZXJCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckxhdW5jaGVyQnV0dG9uIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyLWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzSGVhZGVyTGF1bmNoZXJHcmlkIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlckdyaWQge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXItZ3JpZC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc0hlYWRlckxhdW5jaGVyR3JpZEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckdyaWRJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlckdyaWRJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaGVhZGVyLWxhdW5jaGVyLWdyaWQtdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJHcmlkVGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckdyaWRUaXRsZSBleHRlbmRzIENvbXBvbmVudHMuVGRzSGVhZGVyTGF1bmNoZXJHcmlkVGl0bGUge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXItbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJMYXVuY2hlckxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNIZWFkZXJMYXVuY2hlckxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckxhdW5jaGVyTGlzdCB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci1sYXVuY2hlci1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSGVhZGVyTGF1bmNoZXJMaXN0SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckxhdW5jaGVyTGlzdEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0hlYWRlckxhdW5jaGVyTGlzdEl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1oZWFkZXItbGF1bmNoZXItbGlzdC10aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJMYXVuY2hlckxpc3RUaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlckxhdW5jaGVyTGlzdFRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJMYXVuY2hlckxpc3RUaXRsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLWhlYWRlci10aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNIZWFkZXJUaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0hlYWRlclRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNIZWFkZXJUaXRsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyduYW1lJywgJ3NpemUnLCAnc3ZnRGVzY3JpcHRpb24nLCAnc3ZnVGl0bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyduYW1lJywgJ3NpemUnLCAnc3ZnRGVzY3JpcHRpb24nLCAnc3ZnVGl0bGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0ljb24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc0ljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1pbmxpbmUtdGFiJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXNhYmxlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNJbmxpbmVUYWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNJbmxpbmVUYWIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0lubGluZVRhYiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkZWZhdWx0U2VsZWN0ZWRJbmRleCcsICdsZWZ0UGFkZGluZycsICdtb2RlVmFyaWFudCcsICdzZWxlY3RlZEluZGV4JywgJ3Rkc1Njcm9sbExlZnRBcmlhTGFiZWwnLCAndGRzU2Nyb2xsUmlnaHRBcmlhTGFiZWwnXSxcbiAgbWV0aG9kczogWydzZWxlY3RUYWInLCAncmVpbml0aWFsaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtaW5saW5lLXRhYnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlZmF1bHRTZWxlY3RlZEluZGV4JywgJ2xlZnRQYWRkaW5nJywgJ21vZGVWYXJpYW50JywgJ3NlbGVjdGVkSW5kZXgnLCAndGRzU2Nyb2xsTGVmdEFyaWFMYWJlbCcsICd0ZHNTY3JvbGxSaWdodEFyaWFMYWJlbCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNJbmxpbmVUYWJzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0lubGluZVRhYnMgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0lubGluZVRhYnMge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBUYWIgaXMgY2hhbmdlZC5cbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc2VsZWN0ZWRUYWJJbmRleDogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ3N0YW5kYWxvbmUnLCAndW5kZXJsaW5lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtbGluaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnc3RhbmRhbG9uZScsICd1bmRlcmxpbmUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzTGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc0xpbmsgZXh0ZW5kcyBDb21wb25lbnRzLlRkc0xpbmsge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaGVhZGVyJywgJ21pbmltYWwnLCAnbW9kZVZhcmlhbnQnLCAnbm9JY29uJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1tZXNzYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWFkZXInLCAnbWluaW1hbCcsICdtb2RlVmFyaWFudCcsICdub0ljb24nLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNNZXNzYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzTWVzc2FnZSBleHRlbmRzIENvbXBvbmVudHMuVGRzTWVzc2FnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3Rpb25zUG9zaXRpb24nLCAnY2xvc2FibGUnLCAnaGVhZGVyJywgJ3ByZXZlbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdycsICdzaXplJ10sXG4gIG1ldGhvZHM6IFsnc2hvd01vZGFsJywgJ2Nsb3NlTW9kYWwnLCAnaW5pdGlhbGl6ZU1vZGFsJywgJ2NsZWFudXBNb2RhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLW1vZGFsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3Rpb25zUG9zaXRpb24nLCAnY2xvc2FibGUnLCAnaGVhZGVyJywgJ3ByZXZlbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdycsICdzaXplJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc01vZGFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2xvc2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzTW9kYWwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc01vZGFsIHtcbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIE1vZGFsIGlzIGNsb3NlZC5cbiAgICovXG4gIHRkc0Nsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtbmF2aWdhdGlvbi10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc05hdmlnYXRpb25UYWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNOYXZpZ2F0aW9uVGFiIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNOYXZpZ2F0aW9uVGFiIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RlZmF1bHRTZWxlY3RlZEluZGV4JywgJ2xlZnRQYWRkaW5nJywgJ21vZGVWYXJpYW50JywgJ3NlbGVjdGVkSW5kZXgnLCAndGRzU2Nyb2xsTGVmdEFyaWFMYWJlbCcsICd0ZHNTY3JvbGxSaWdodEFyaWFMYWJlbCddLFxuICBtZXRob2RzOiBbJ3NlbGVjdFRhYicsICdyZWluaXRpYWxpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1uYXZpZ2F0aW9uLXRhYnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlZmF1bHRTZWxlY3RlZEluZGV4JywgJ2xlZnRQYWRkaW5nJywgJ21vZGVWYXJpYW50JywgJ3NlbGVjdGVkSW5kZXgnLCAndGRzU2Nyb2xsTGVmdEFyaWFMYWJlbCcsICd0ZHNTY3JvbGxSaWdodEFyaWFMYWJlbCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNOYXZpZ2F0aW9uVGFicyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0NoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNOYXZpZ2F0aW9uVGFicyBleHRlbmRzIENvbXBvbmVudHMuVGRzTmF2aWdhdGlvblRhYnMge1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBUYWIgaXMgY2hhbmdlZC5cbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc2VsZWN0ZWRUYWJJbmRleDogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdkZWZhdWx0U2hvdycsICdtb2RpZmllcnMnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnXSxcbiAgbWV0aG9kczogWydjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXBvcG92ZXItY2FudmFzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnZGVmYXVsdFNob3cnLCAnbW9kaWZpZXJzJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93J10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1BvcG92ZXJDYW52YXMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNQb3BvdmVyQ2FudmFzIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNQb3BvdmVyQ2FudmFzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdhdXRvSGlkZScsICdkZWZhdWx0U2hvdycsICdtb2RpZmllcnMnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnLCAndHJpZ2dlciddLFxuICBtZXRob2RzOiBbJ2Nsb3NlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtcG9wb3Zlci1jb3JlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbmltYXRpb24nLCAnYXV0b0hpZGUnLCAnZGVmYXVsdFNob3cnLCAnbW9kaWZpZXJzJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3RyaWdnZXInXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzUG9wb3ZlckNvcmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNQb3BvdmVyQ29yZSBleHRlbmRzIENvbXBvbmVudHMuVGRzUG9wb3ZlckNvcmUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2RlZmF1bHRTaG93JywgJ2ZsdWlkV2lkdGgnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnXSxcbiAgbWV0aG9kczogWydjbG9zZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXBvcG92ZXItbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ2RlZmF1bHRTaG93JywgJ2ZsdWlkV2lkdGgnLCAnb2Zmc2V0RGlzdGFuY2UnLCAnb2Zmc2V0U2tpZGRpbmcnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZUVsJywgJ3NlbGVjdG9yJywgJ3Nob3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzUG9wb3Zlck1lbnUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNQb3BvdmVyTWVudSBleHRlbmRzIENvbXBvbmVudHMuVGRzUG9wb3Zlck1lbnUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1wb3BvdmVyLW1lbnUtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzUG9wb3Zlck1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzUG9wb3Zlck1lbnVJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNQb3BvdmVyTWVudUl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICduYW1lJywgJ3JhZGlvSWQnLCAncmVxdWlyZWQnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1yYWRpby1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICdyYWRpb0lkJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1JhZGlvQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1JhZGlvQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNSYWRpb0J1dHRvbiB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgUmFkaW8gQnV0dG9uIGlkZW50aWZpZXIgYW5kIHN0YXR1cyB3aGVuIGl0IGlzIGNoZWNrZWQuXG5JZiBubyBJRCBpcyBzcGVjaWZpZWQsIGEgcmFuZG9tIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cblRvIHVzZSB0aGlzIGxpc3RlbmVyLCBkb24ndCB1c2UgdGhlIHJhbmRvbWl6ZWQgSUQsIHVzZSBhIHNwZWNpZmljIG9uZSBvZiB5b3VyIGNob29zaW5nLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyByYWRpb0lkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ29wZW4nLCAncGVyc2lzdGVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sbGFwc2VkJywgJ29wZW4nLCAncGVyc2lzdGVudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0NvbGxhcHNlJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDb2xsYXBzZUV2ZW50IGFzIElUZHNTaWRlTWVudUNvbGxhcHNlRXZlbnQgfSBmcm9tICdAc2NhbmlhL3RlZ2VsJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudSB7XG4gIC8qKlxuICAgKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiB0aGUgU2lkZSBNZW51IGlzIGNvbGxhcHNlZC5cbiAgICovXG4gIHRkc0NvbGxhcHNlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVRkc1NpZGVNZW51Q29sbGFwc2VFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1jbG9zZS1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2lkZU1lbnVDbG9zZUJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51Q2xvc2VCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51Q2xvc2VCdXR0b24ge31cblxuXG5AUHJveHlDbXAoe1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtY29sbGFwc2UtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNDb2xsYXBzZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQ29sbGFwc2VFdmVudCBhcyBJVGRzU2lkZU1lbnVDb2xsYXBzZUJ1dHRvbkNvbGxhcHNlRXZlbnQgfSBmcm9tICdAc2NhbmlhL3RlZ2VsJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51Q29sbGFwc2VCdXR0b24ge1xuICAvKipcbiAgICogRXZlbnQgdGhhdCBpcyBicm9hZGNhc3Qgd2hlbiB0aGUgY29sbGFwc2UgYnV0dG9uIGlzIGNsaWNrZWQuXG5QcmV2ZW50IGl0IGZyb20gZGlzYWJsaW5nIGF1dG9tYXRpYyBjb2xsYXBzaW5nLCBhbmQgc2V0IHRoZSBjb2xsYXBzZWQgcHJvcCBvbiB0aGUgU2lkZSBNZW51IHlvdXJzZWxmLlxuICAgKi9cbiAgdGRzQ29sbGFwc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJVGRzU2lkZU1lbnVDb2xsYXBzZUJ1dHRvbkNvbGxhcHNlRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYnV0dG9uTGFiZWwnLCAnZGVmYXVsdE9wZW4nLCAnb3BlbicsICdzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uTGFiZWwnLCAnZGVmYXVsdE9wZW4nLCAnb3BlbicsICdzZWxlY3RlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudURyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVEcm9wZG93biB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1kcm9wZG93bi1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51RHJvcGRvd25MaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVEcm9wZG93bkxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51RHJvcGRvd25MaXN0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtc2lkZS1tZW51LWRyb3Bkb3duLWxpc3QtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2VsZWN0ZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzU2lkZU1lbnVEcm9wZG93bkxpc3RJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVEcm9wZG93bkxpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudURyb3Bkb3duTGlzdEl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ3NlbGVjdGVkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtc2lkZS1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdzZWxlY3RlZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTaWRlTWVudUl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51SXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNpZGUtbWVudS1vdmVybGF5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51T3ZlcmxheSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51T3ZlcmxheSBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVPdmVybGF5IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaW1nQWx0JywgJ2ltZ1NyYycsICdzdWJoZWFkaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtc2lkZS1tZW51LXVzZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnLCAnaW1nQWx0JywgJ2ltZ1NyYycsICdzdWJoZWFkaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51VXNlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51VXNlciBleHRlbmRzIENvbXBvbmVudHMuVGRzU2lkZU1lbnVVc2VyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsdCcsICdzcmMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtdXNlci1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWx0JywgJ3NyYyddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTaWRlTWVudVVzZXJJbWFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1NpZGVNZW51VXNlckltYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTaWRlTWVudVVzZXJJbWFnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoZWFkaW5nJywgJ3N1YmhlYWRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zaWRlLW1lbnUtdXNlci1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZycsICdzdWJoZWFkaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NpZGVNZW51VXNlckxhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU2lkZU1lbnVVc2VyTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NpZGVNZW51VXNlckxhYmVsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRyb2xzJywgJ2Rpc2FibGVkJywgJ2lucHV0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZWFkT25seScsICdzaG93VGlja051bWJlcnMnLCAnc2xpZGVySWQnLCAnc25hcCcsICdzdGVwJywgJ3RodW1iU2l6ZScsICd0aWNrcycsICd0b29sdGlwJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsncmVzZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy1zbGlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbnRyb2xzJywgJ2Rpc2FibGVkJywgJ2lucHV0JywgJ2xhYmVsJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdyZWFkT25seScsICdzaG93VGlja051bWJlcnMnLCAnc2xpZGVySWQnLCAnc25hcCcsICdzdGVwJywgJ3RodW1iU2l6ZScsICd0aWNrcycsICd0b29sdGlwJywgJ3ZhbHVlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1NsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0NoYW5nZScsICd0ZHNJbnB1dCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1NsaWRlciB7XG4gIC8qKlxuICAgKiBTZW5kcyB0aGUgdmFsdWUgb2YgdGhlIHNsaWRlciB3aGVuIGNoYW5nZWQuIEZpcmVzIGFmdGVyIG1vdXNlIHVwIGFuZCB0b3VjaCBlbmQgZXZlbnRzLlxuICAgKi9cbiAgdGRzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB9Pj47XG4gIC8qKlxuICAgKiBTZW5kcyB0aGUgdmFsdWUgb2YgdGhlIHNsaWRlciB3aGlsZSBtb3ZpbmcgdGhlIHRodW1iLiBGaXJlcyBvbiBtb3VzZSBtb3ZlIGFuZCB0b3VjaCBtb3ZlIGV2ZW50cy5cbiAgICovXG4gIHRkc0lucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXNwaW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU3Bpbm5lciBleHRlbmRzIENvbXBvbmVudHMuVGRzU3Bpbm5lciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbmRleCcsICdzdGF0ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXN0ZXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2luZGV4JywgJ3N0YXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1N0ZXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNTdGVwIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNTdGVwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGVMYWJlbHMnLCAnbGFiZWxQb3NpdGlvbicsICdvcmllbnRhdGlvbicsICdzaXplJywgJ3N0ZXBwZXJJZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hpZGVMYWJlbHMnLCAnbGFiZWxQb3NpdGlvbicsICdvcmllbnRhdGlvbicsICdzaXplJywgJ3N0ZXBwZXJJZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzU3RlcHBlciBleHRlbmRzIENvbXBvbmVudHMuVGRzU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb21wYWN0RGVzaWduJywgJ2V4cGFuZGFibGVSb3dzJywgJ2hvcml6b250YWxTY3JvbGxXaWR0aCcsICdtb2RlVmFyaWFudCcsICdtdWx0aXNlbGVjdCcsICdub01pbldpZHRoJywgJ3Jlc3BvbnNpdmUnLCAndGFibGVJZCcsICd2ZXJ0aWNhbERpdmlkZXJzJywgJ3plYnJhTW9kZSddLFxuICBtZXRob2RzOiBbJ2dldFNlbGVjdGVkUm93cyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb21wYWN0RGVzaWduJywgJ2V4cGFuZGFibGVSb3dzJywgJ2hvcml6b250YWxTY3JvbGxXaWR0aCcsICdtb2RlVmFyaWFudCcsICdtdWx0aXNlbGVjdCcsICdub01pbldpZHRoJywgJ3Jlc3BvbnNpdmUnLCAndGFibGVJZCcsICd2ZXJ0aWNhbERpdmlkZXJzJywgJ3plYnJhTW9kZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUYWJsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlLWJvZHknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVCb2R5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVCb2R5IGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUYWJsZUJvZHkge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2hvd0ljb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1ib2R5LWlucHV0LXdyYXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3Nob3dJY29uJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RhYmxlQm9keUlucHV0V3JhcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlQm9keUlucHV0V3JhcHBlciBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVCb2R5SW5wdXRXcmFwcGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NsaWNrYWJsZScsICdkaXNhYmxlZCcsICdzZWxlY3RlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRhYmxlLWJvZHktcm93JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnc2VsZWN0ZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVCb2R5Um93IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzU2VsZWN0JywgJ3Rkc0NsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlQm9keVJvdyBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVCb2R5Um93IHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvdyBpcyBzZWxlY3RlZC9kZXNlbGVjdGVkLlxuICAgKi9cbiAgdGRzU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmc7IGNoZWNrZWQ6IGJvb2xlYW47IHNlbGVjdGVkUm93czogYW55W107IH0+PjtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvdyBpcyBjbGlja2VkLlxuICAgKi9cbiAgdGRzQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV2ZW50OiBNb3VzZUV2ZW50OyB0YWJsZUlkOiBzdHJpbmc7IHJvd0luZGV4OiBudW1iZXI7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b0NvbGxhcHNlJywgJ2NvbFNwYW4nLCAnZXhwYW5kZWQnLCAnb3ZlcmZsb3cnLCAncm93SWQnXSxcbiAgbWV0aG9kczogWydleHBhbmQnLCAnY29sbGFwc2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1ib2R5LXJvdy1leHBhbmRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvQ29sbGFwc2UnLCAnY29sU3BhbicsICdleHBhbmRlZCcsICdvdmVyZmxvdycsICdyb3dJZCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZUJvZHlSb3dFeHBhbmRhYmxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndGRzQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlQm9keVJvd0V4cGFuZGFibGUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlQm9keVJvd0V4cGFuZGFibGUge1xuICAvKipcbiAgICogU2VuZHMgdW5pcXVlIHRhYmxlIHJvdyBpZGVudGlmaWVyIGFuZCBpc0V4cGFuZGVkIHN0YXR1cyB3aGVuIGl0IGlzIGV4cGFuZGVkL2NvbGxhcHNlZC5cbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgcm93SWQ6IHN0cmluZzsgaXNFeHBhbmRlZDogYm9vbGVhbjsgdGFibGVJZDogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbHMnLCAncGFnZXMnLCAncGFnaW5hdGlvbicsICdwYWdpbmF0aW9uVmFsdWUnLCAncm93c1BlclBhZ2VWYWx1ZXMnLCAncm93c3BlcnBhZ2UnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbHMnLCAncGFnZXMnLCAncGFnaW5hdGlvbicsICdwYWdpbmF0aW9uVmFsdWUnLCAncm93c1BlclBhZ2VWYWx1ZXMnLCAncm93c3BlcnBhZ2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNQYWdpbmF0aW9uJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RhYmxlRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUYWJsZUZvb3RlciB7XG4gIC8qKlxuICAgKiBFdmVudCB0byBzZW5kIGN1cnJlbnQgcGFnZSB2YWx1ZSB0byB0ZHMtdGFibGUtYm9keSBjb21wb25lbnQsIGNhbiBhbHNvIGJlIGxpc3RlbmVkIHRvIGluIG9yZGVyIHRvIGltcGxlbWVudCBjdXN0b20gcGFnaW5hdGlvbiBsb2dpYy5cbiAgICovXG4gIHRkc1BhZ2luYXRpb246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYmxlSWQ6IHN0cmluZzsgcGFnaW5hdGlvblZhbHVlOiBudW1iZXI7IHJvd3NQZXJQYWdlPzogbnVtYmVyOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsbFNlbGVjdGVkJywgJ2Rpc2FibGVkJywgJ2luZGV0ZXJtaW5hdGUnLCAnc2VsZWN0ZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsbFNlbGVjdGVkJywgJ2Rpc2FibGVkJywgJ2luZGV0ZXJtaW5hdGUnLCAnc2VsZWN0ZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNTZWxlY3RBbGwnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RhYmxlSGVhZGVyIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc3RhdHVzIG9mIHRoZSBzZWxlY3QgYWxsIGNoZWNrYm94IGNoYW5nZXMuXG4gICAqL1xuICB0ZHNTZWxlY3RBbGw6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhYmxlSWQ6IHN0cmluZzsgY2hlY2tlZDogYm9vbGVhbjsgc2VsZWN0ZWRSb3dzOiBhbnlbXTsgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb21wYWN0RGVzaWduJywgJ3Nob3dJY29uJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZHMtdGFibGUtaGVhZGVyLWlucHV0LXdyYXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbXBhY3REZXNpZ24nLCAnc2hvd0ljb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGFibGVIZWFkZXJJbnB1dFdyYXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUYWJsZUhlYWRlcklucHV0V3JhcHBlciBleHRlbmRzIENvbXBvbmVudHMuVGRzVGFibGVIZWFkZXJJbnB1dFdyYXBwZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZmlsdGVyJywgJ3RhYmxlVGl0bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10YWJsZS10b29sYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmaWx0ZXInLCAndGFibGVUaXRsZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUYWJsZVRvb2xiYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNGaWx0ZXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVGFibGVUb29sYmFyIGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUYWJsZVRvb2xiYXIge1xuICAvKipcbiAgICogVXNlZCBmb3Igc2VuZGluZyB1c2VycycgaW5wdXQgdG8gdGhlIG1haW4gcGFyZW50IHRkcy10YWJsZSB0aGUgY29tcG9uZW50LFxuY2FuIGFsc28gYmUgbGlzdGVuZWQgdG8gaW4gb3JkZXIgdG8gaW1wbGVtZW50IGN1c3RvbSBzb3J0aW5nIGxvZ2ljLlxuICAgKi9cbiAgdGRzRmlsdGVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB0YWJsZUlkOiBzdHJpbmc7IHF1ZXJ5OiBzdHJpbmc7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2Rpc2FibGVkJywgJ2hlbHBlcicsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21heCcsICdtYXhMZW5ndGgnLCAnbWluJywgJ21vZGVWYXJpYW50JywgJ25hbWUnLCAnbm9NaW5XaWR0aCcsICdwbGFjZWhvbGRlcicsICdyZWFkT25seScsICdzaXplJywgJ3N0YXRlJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydmb2N1c0VsZW1lbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10ZXh0LWZpZWxkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnZGlzYWJsZWQnLCAnaGVscGVyJywgJ2xhYmVsJywgJ2xhYmVsUG9zaXRpb24nLCAnbWF4JywgJ21heExlbmd0aCcsICdtaW4nLCAnbW9kZVZhcmlhbnQnLCAnbmFtZScsICdub01pbldpZHRoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRPbmx5JywgJ3NpemUnLCAnc3RhdGUnLCAndHlwZScsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUZXh0RmllbGQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNDaGFuZ2UnLCAndGRzSW5wdXQnLCAndGRzRm9jdXMnLCAndGRzQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUZXh0RmllbGQgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RleHRGaWVsZCB7XG4gIC8qKlxuICAgKiBDaGFuZ2UgZXZlbnQgZm9yIHRoZSBUZXh0IEZpZWxkXG4gICAqL1xuICB0ZHNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIElucHV0IGV2ZW50IGZvciB0aGUgVGV4dCBGaWVsZFxuICAgKi9cbiAgdGRzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJbnB1dEV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIFRleHQgRmllbGRcbiAgICovXG4gIHRkc0ZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIFRleHQgRmllbGRcbiAgICovXG4gIHRkc0JsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjb2xzJywgJ2Rpc2FibGVkJywgJ2hlbHBlcicsICdsYWJlbCcsICdsYWJlbFBvc2l0aW9uJywgJ21heExlbmd0aCcsICdtb2RlVmFyaWFudCcsICduYW1lJywgJ25vTWluV2lkdGgnLCAncGxhY2Vob2xkZXInLCAncmVhZE9ubHknLCAncm93cycsICdzdGF0ZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRleHRhcmVhJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnY29scycsICdkaXNhYmxlZCcsICdoZWxwZXInLCAnbGFiZWwnLCAnbGFiZWxQb3NpdGlvbicsICdtYXhMZW5ndGgnLCAnbW9kZVZhcmlhbnQnLCAnbmFtZScsICdub01pbldpZHRoJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRPbmx5JywgJ3Jvd3MnLCAnc3RhdGUnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRzVGV4dGFyZWEge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd0ZHNDaGFuZ2UnLCAndGRzQmx1cicsICd0ZHNJbnB1dCcsICd0ZHNGb2N1cyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUZXh0YXJlYSBleHRlbmRzIENvbXBvbmVudHMuVGRzVGV4dGFyZWEge1xuICAvKipcbiAgICogQ2hhbmdlIGV2ZW50IGZvciB0aGUgVGV4dGFyZWFcbiAgICovXG4gIHRkc0NoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQmx1ciBldmVudCBmb3IgdGhlIFRleHRhcmVhXG4gICAqL1xuICB0ZHNCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogSW5wdXQgZXZlbnQgZm9yIHRoZSBUZXh0YXJlYVxuICAgKi9cbiAgdGRzSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJbnB1dEV2ZW50Pj47XG4gIC8qKlxuICAgKiBGb2N1cyBldmVudCBmb3IgdGhlIFRleHRhcmVhXG4gICAqL1xuICB0ZHNGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnaGVhZGVyJywgJ2hpZGRlbicsICdzdWJoZWFkZXInLCAndG9hc3RJZCcsICd0b2FzdFJvbGUnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ2hpZGVUb2FzdCcsICdzaG93VG9hc3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10b2FzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2xvc2FibGUnLCAnaGVhZGVyJywgJ2hpZGRlbicsICdzdWJoZWFkZXInLCAndG9hc3RJZCcsICd0b2FzdFJvbGUnLCAndmFyaWFudCddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUb2FzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc0Nsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFRkc1RvYXN0IGV4dGVuZHMgQ29tcG9uZW50cy5UZHNUb2FzdCB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgVG9hc3QgaWRlbnRpZmllciB3aGVuIGNvbXBvbmVudCBpcyBjbG9zZWQuXG4gICAqL1xuICB0ZHNDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdG9hc3RJZDogc3RyaW5nOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaGVhZGxpbmUnLCAnbmFtZScsICdyZXF1aXJlZCcsICdzaXplJywgJ3Rkc0FyaWFMYWJlbCcsICd0b2dnbGVJZCddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGRzLXRvZ2dsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdoZWFkbGluZScsICduYW1lJywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndGRzQXJpYUxhYmVsJywgJ3RvZ2dsZUlkJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRkc1RvZ2dsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3Rkc1RvZ2dsZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZHNUb2dnbGUgZXh0ZW5kcyBDb21wb25lbnRzLlRkc1RvZ2dsZSB7XG4gIC8qKlxuICAgKiBTZW5kcyB1bmlxdWUgVG9nZ2xlIGlkZW50aWZpZXIgYW5kIHN0YXR1cyB3aGVuIGl0IGlzIHRvZ2dsZWQuXG4gICAqL1xuICB0ZHNUb2dnbGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRvZ2dsZUlkOiBzdHJpbmc7IGNoZWNrZWQ6IGJvb2xlYW47IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVmYXVsdFNob3cnLCAnbW91c2VPdmVyVG9vbHRpcCcsICdvZmZzZXREaXN0YW5jZScsICdvZmZzZXRTa2lkZGluZycsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlRWwnLCAnc2VsZWN0b3InLCAnc2hvdycsICd0ZXh0JywgJ3RyaWdnZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Rkcy10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWZhdWx0U2hvdycsICdtb3VzZU92ZXJUb29sdGlwJywgJ29mZnNldERpc3RhbmNlJywgJ29mZnNldFNraWRkaW5nJywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2VFbCcsICdzZWxlY3RvcicsICdzaG93JywgJ3RleHQnLCAndHJpZ2dlciddLFxufSlcbmV4cG9ydCBjbGFzcyBUZHNUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGRzVG9vbHRpcCBleHRlbmRzIENvbXBvbmVudHMuVGRzVG9vbHRpcCB7fVxuXG5cbiJdfQ==
|