@heartlandone/vega-angular 1.9.0 → 1.9.2
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/dist/esm2020/lib/components-module.mjs +2 -2
- package/dist/esm2020/lib/stencil-generated/components.mjs +60 -7
- package/dist/fesm2015/heartlandone-vega-angular.mjs +59 -8
- package/dist/fesm2015/heartlandone-vega-angular.mjs.map +1 -1
- package/dist/fesm2020/heartlandone-vega-angular.mjs +59 -8
- package/dist/fesm2020/heartlandone-vega-angular.mjs.map +1 -1
- package/dist/lib/components-module.d.ts +1 -1
- package/dist/lib/stencil-generated/components.d.ts +25 -3
- package/dist/package.json +2 -2
- package/package.json +2 -2
- package/src/lib/stencil-generated/components.ts +56 -5
|
@@ -11,7 +11,7 @@ export class VegaComponentModule {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
VegaComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
-
VegaComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaComponentModule, declarations: [i1.VegaAccordion, i1.VegaAppFooter, i1.VegaBadge, i1.VegaButton, i1.VegaButtonCircle, i1.VegaButtonLink, i1.VegaCard, i1.VegaCarousel, i1.VegaCheckbox, i1.VegaCheckboxGroup, i1.VegaDatePicker, i1.VegaDropdown, i1.VegaFlex, i1.VegaFooter, i1.VegaForm, i1.VegaGrid, i1.VegaHeader, i1.VegaIcon, i1.VegaInput, i1.VegaInputSelect, i1.VegaItemToggle, i1.VegaModal, i1.VegaOption, i1.VegaPagination, i1.VegaProgressTracker, i1.VegaRadio, i1.VegaRadioGroup, i1.VegaSidenav, i1.VegaSidenavGroup, i1.VegaSidenavLink, i1.VegaStepper, i1.VegaTabGroup, i1.VegaTable, i1.VegaToggleSwitch, i1.VegaTooltip, TextValueAccessor, ValueAccessor], exports: [i1.VegaAccordion, i1.VegaAppFooter, i1.VegaBadge, i1.VegaButton, i1.VegaButtonCircle, i1.VegaButtonLink, i1.VegaCard, i1.VegaCarousel, i1.VegaCheckbox, i1.VegaCheckboxGroup, i1.VegaDatePicker, i1.VegaDropdown, i1.VegaFlex, i1.VegaFooter, i1.VegaForm, i1.VegaGrid, i1.VegaHeader, i1.VegaIcon, i1.VegaInput, i1.VegaInputSelect, i1.VegaItemToggle, i1.VegaModal, i1.VegaOption, i1.VegaPagination, i1.VegaProgressTracker, i1.VegaRadio, i1.VegaRadioGroup, i1.VegaSidenav, i1.VegaSidenavGroup, i1.VegaSidenavLink, i1.VegaStepper, i1.VegaTabGroup, i1.VegaTable, i1.VegaToggleSwitch, i1.VegaTooltip, TextValueAccessor, ValueAccessor] });
|
|
14
|
+
VegaComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaComponentModule, declarations: [i1.VegaAccordion, i1.VegaAppFooter, i1.VegaBadge, i1.VegaBanner, i1.VegaButton, i1.VegaButtonCircle, i1.VegaButtonLink, i1.VegaCard, i1.VegaCarousel, i1.VegaCheckbox, i1.VegaCheckboxGroup, i1.VegaDatePicker, i1.VegaDropdown, i1.VegaFlex, i1.VegaFooter, i1.VegaForm, i1.VegaGrid, i1.VegaHeader, i1.VegaIcon, i1.VegaInput, i1.VegaInputSelect, i1.VegaItemToggle, i1.VegaModal, i1.VegaOption, i1.VegaPagination, i1.VegaProgressTracker, i1.VegaRadio, i1.VegaRadioGroup, i1.VegaSidenav, i1.VegaSidenavGroup, i1.VegaSidenavLink, i1.VegaStepper, i1.VegaTabGroup, i1.VegaTable, i1.VegaText, i1.VegaToggleSwitch, i1.VegaTooltip, TextValueAccessor, ValueAccessor], exports: [i1.VegaAccordion, i1.VegaAppFooter, i1.VegaBadge, i1.VegaBanner, i1.VegaButton, i1.VegaButtonCircle, i1.VegaButtonLink, i1.VegaCard, i1.VegaCarousel, i1.VegaCheckbox, i1.VegaCheckboxGroup, i1.VegaDatePicker, i1.VegaDropdown, i1.VegaFlex, i1.VegaFooter, i1.VegaForm, i1.VegaGrid, i1.VegaHeader, i1.VegaIcon, i1.VegaInput, i1.VegaInputSelect, i1.VegaItemToggle, i1.VegaModal, i1.VegaOption, i1.VegaPagination, i1.VegaProgressTracker, i1.VegaRadio, i1.VegaRadioGroup, i1.VegaSidenav, i1.VegaSidenavGroup, i1.VegaSidenavLink, i1.VegaStepper, i1.VegaTabGroup, i1.VegaTable, i1.VegaText, i1.VegaToggleSwitch, i1.VegaTooltip, TextValueAccessor, ValueAccessor] });
|
|
15
15
|
VegaComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaComponentModule, imports: [[]] });
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaComponentModule, decorators: [{
|
|
17
17
|
type: NgModule,
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
21
21
|
exports: [...VegaComponents, TextValueAccessor, ValueAccessor],
|
|
22
22
|
}]
|
|
23
23
|
}], ctorParameters: function () { return []; } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxjQUFjLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFPbkUsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QjtRQUNFLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7O2dIQUhVLG1CQUFtQjtpSEFBbkIsbUJBQW1CLDRuQkFKSSxpQkFBaUIsRUFBRSxhQUFhLHduQkFFckMsaUJBQWlCLEVBQUUsYUFBYTtpSEFFbEQsbUJBQW1CLFlBSHJCLEVBQUU7MkZBR0EsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLEdBQUcsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsQ0FBQztvQkFDbkUsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsR0FBRyxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDO2lCQUMvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50cyB9IGZyb20gJ0BoZWFydGxhbmRvbmUvdmVnYS9sb2FkZXInO1xuaW1wb3J0IFZlZ2FDb21wb25lbnRzIGZyb20gJy4vc3RlbmNpbC1nZW5lcmF0ZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUZXh0VmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vc3RlbmNpbC1nZW5lcmF0ZWQvdGV4dC12YWx1ZS1hY2Nlc3Nvcic7XG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9zdGVuY2lsLWdlbmVyYXRlZC92YWx1ZS1hY2Nlc3Nvcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogWy4uLlZlZ2FDb21wb25lbnRzLCBUZXh0VmFsdWVBY2Nlc3NvciwgVmFsdWVBY2Nlc3Nvcl0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbLi4uVmVnYUNvbXBvbmVudHMsIFRleHRWYWx1ZUFjY2Vzc29yLCBWYWx1ZUFjY2Vzc29yXSxcbn0pXG5leHBvcnQgY2xhc3MgVmVnYUNvbXBvbmVudE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGRlZmluZUN1c3RvbUVsZW1lbnRzKHdpbmRvdykudGhlbigpO1xuICB9XG59XG4iXX0=
|
|
@@ -80,6 +80,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
80
80
|
inputs: ['bgColor', 'size', 'text', 'textColor']
|
|
81
81
|
}]
|
|
82
82
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
83
|
+
let VegaBanner = class VegaBanner {
|
|
84
|
+
constructor(c, r, z) {
|
|
85
|
+
this.z = z;
|
|
86
|
+
c.detach();
|
|
87
|
+
this.el = r.nativeElement;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
VegaBanner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaBanner, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
+
VegaBanner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: VegaBanner, selector: "vega-banner", inputs: { audienceEmail: "audienceEmail" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
92
|
+
VegaBanner = __decorate([
|
|
93
|
+
ProxyCmp({
|
|
94
|
+
defineCustomElementFn: undefined,
|
|
95
|
+
inputs: ['audienceEmail']
|
|
96
|
+
})
|
|
97
|
+
], VegaBanner);
|
|
98
|
+
export { VegaBanner };
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaBanner, decorators: [{
|
|
100
|
+
type: Component,
|
|
101
|
+
args: [{
|
|
102
|
+
selector: 'vega-banner',
|
|
103
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
104
|
+
template: '<ng-content></ng-content>',
|
|
105
|
+
inputs: ['audienceEmail']
|
|
106
|
+
}]
|
|
107
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
83
108
|
let VegaButton = class VegaButton {
|
|
84
109
|
constructor(c, r, z) {
|
|
85
110
|
this.z = z;
|
|
@@ -372,6 +397,7 @@ let VegaForm = class VegaForm {
|
|
|
372
397
|
this.z = z;
|
|
373
398
|
c.detach();
|
|
374
399
|
this.el = r.nativeElement;
|
|
400
|
+
proxyOutputs(this, this.el, ['vegaValidate']);
|
|
375
401
|
}
|
|
376
402
|
};
|
|
377
403
|
VegaForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaForm, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -660,11 +686,11 @@ let VegaRadio = class VegaRadio {
|
|
|
660
686
|
}
|
|
661
687
|
};
|
|
662
688
|
VegaRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
663
|
-
VegaRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: VegaRadio, selector: "vega-radio", inputs: { checked: "checked", disabled: "disabled", name: "name", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
689
|
+
VegaRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: VegaRadio, selector: "vega-radio", inputs: { checked: "checked", disabled: "disabled", name: "name", size: "size", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
664
690
|
VegaRadio = __decorate([
|
|
665
691
|
ProxyCmp({
|
|
666
692
|
defineCustomElementFn: undefined,
|
|
667
|
-
inputs: ['checked', 'disabled', 'name', 'value']
|
|
693
|
+
inputs: ['checked', 'disabled', 'name', 'size', 'value']
|
|
668
694
|
})
|
|
669
695
|
], VegaRadio);
|
|
670
696
|
export { VegaRadio };
|
|
@@ -674,7 +700,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
674
700
|
selector: 'vega-radio',
|
|
675
701
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
676
702
|
template: '<ng-content></ng-content>',
|
|
677
|
-
inputs: ['checked', 'disabled', 'name', 'value']
|
|
703
|
+
inputs: ['checked', 'disabled', 'name', 'size', 'value']
|
|
678
704
|
}]
|
|
679
705
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
680
706
|
let VegaRadioGroup = class VegaRadioGroup {
|
|
@@ -844,11 +870,11 @@ let VegaTable = class VegaTable {
|
|
|
844
870
|
}
|
|
845
871
|
};
|
|
846
872
|
VegaTable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
847
|
-
VegaTable.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: VegaTable, selector: "vega-table", inputs: { columnDivider: "columnDivider", columns: "columns", dataSource: "dataSource", density: "density", emptyDescription: "emptyDescription", paddingX: "paddingX", pagination: "pagination", rowClickable: "rowClickable", rowDivider: "rowDivider", rowExpandable: "rowExpandable", rowSelection: "rowSelection", showHeader: "showHeader", striped: "striped" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
873
|
+
VegaTable.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: VegaTable, selector: "vega-table", inputs: { columnDivider: "columnDivider", columns: "columns", dataSource: "dataSource", density: "density", emptyDescription: "emptyDescription", paddingX: "paddingX", pagination: "pagination", rowClickable: "rowClickable", rowDivider: "rowDivider", rowExpandable: "rowExpandable", rowKey: "rowKey", rowSelection: "rowSelection", showHeader: "showHeader", striped: "striped" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
848
874
|
VegaTable = __decorate([
|
|
849
875
|
ProxyCmp({
|
|
850
876
|
defineCustomElementFn: undefined,
|
|
851
|
-
inputs: ['columnDivider', 'columns', 'dataSource', 'density', 'emptyDescription', 'paddingX', 'pagination', 'rowClickable', 'rowDivider', 'rowExpandable', 'rowSelection', 'showHeader', 'striped'],
|
|
877
|
+
inputs: ['columnDivider', 'columns', 'dataSource', 'density', 'emptyDescription', 'paddingX', 'pagination', 'rowClickable', 'rowDivider', 'rowExpandable', 'rowKey', 'rowSelection', 'showHeader', 'striped'],
|
|
852
878
|
methods: ['openExpandRow', 'closeExpandRow', 'closeAllExpandRow', 'toggleExpandRow', 'clearSelection', 'getSelection', 'setSelection']
|
|
853
879
|
})
|
|
854
880
|
], VegaTable);
|
|
@@ -859,7 +885,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
859
885
|
selector: 'vega-table',
|
|
860
886
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
861
887
|
template: '<ng-content></ng-content>',
|
|
862
|
-
inputs: ['columnDivider', 'columns', 'dataSource', 'density', 'emptyDescription', 'paddingX', 'pagination', 'rowClickable', 'rowDivider', 'rowExpandable', 'rowSelection', 'showHeader', 'striped']
|
|
888
|
+
inputs: ['columnDivider', 'columns', 'dataSource', 'density', 'emptyDescription', 'paddingX', 'pagination', 'rowClickable', 'rowDivider', 'rowExpandable', 'rowKey', 'rowSelection', 'showHeader', 'striped']
|
|
889
|
+
}]
|
|
890
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
891
|
+
let VegaText = class VegaText {
|
|
892
|
+
constructor(c, r, z) {
|
|
893
|
+
this.z = z;
|
|
894
|
+
c.detach();
|
|
895
|
+
this.el = r.nativeElement;
|
|
896
|
+
}
|
|
897
|
+
};
|
|
898
|
+
VegaText.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
899
|
+
VegaText.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: VegaText, selector: "vega-text", inputs: { content: "content", displayRule: "displayRule" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
900
|
+
VegaText = __decorate([
|
|
901
|
+
ProxyCmp({
|
|
902
|
+
defineCustomElementFn: undefined,
|
|
903
|
+
inputs: ['content', 'displayRule']
|
|
904
|
+
})
|
|
905
|
+
], VegaText);
|
|
906
|
+
export { VegaText };
|
|
907
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: VegaText, decorators: [{
|
|
908
|
+
type: Component,
|
|
909
|
+
args: [{
|
|
910
|
+
selector: 'vega-text',
|
|
911
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
912
|
+
template: '<ng-content></ng-content>',
|
|
913
|
+
inputs: ['content', 'displayRule']
|
|
863
914
|
}]
|
|
864
915
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
|
|
865
916
|
let VegaToggleSwitch = class VegaToggleSwitch {
|
|
@@ -917,6 +968,7 @@ export default [
|
|
|
917
968
|
VegaAccordion,
|
|
918
969
|
VegaAppFooter,
|
|
919
970
|
VegaBadge,
|
|
971
|
+
VegaBanner,
|
|
920
972
|
VegaButton,
|
|
921
973
|
VegaButtonCircle,
|
|
922
974
|
VegaButtonLink,
|
|
@@ -947,7 +999,8 @@ export default [
|
|
|
947
999
|
VegaStepper,
|
|
948
1000
|
VegaTabGroup,
|
|
949
1001
|
VegaTable,
|
|
1002
|
+
VegaText,
|
|
950
1003
|
VegaToggleSwitch,
|
|
951
1004
|
VegaTooltip,
|
|
952
1005
|
];
|
|
953
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc3RlbmNpbC1nZW5lcmF0ZWQvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7SUF5QjFELGFBQWEsU0FBYixhQUFhO0lBRXhCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGLENBQUE7MEdBUFksYUFBYTs4RkFBYixhQUFhLDRTQUhkLDJCQUEyQjtBQUcxQixhQUFhO0lBVnpCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDO0tBQ3RJLENBQUM7R0FPVyxhQUFhLENBT3pCO1NBUFksYUFBYTsyRkFBYixhQUFhO2tCQU56QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxnQkFBZ0IsRUFB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RUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO2lCQUMxRTs7QUFTRCxlQUFlO0lBQ2IsYUFBYTtJQUNiLGFBQWE7SUFDYixTQUFTO0lBQ1QsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsUUFBUTtJQUNSLFlBQVk7SUFDWixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxZQUFZO0lBQ1osUUFBUTtJQUNSLFVBQVU7SUFDVixRQUFRO0lBQ1IsUUFBUTtJQUNSLFVBQVU7SUFDVixRQUFRO0lBQ1IsU0FBUztJQUNULGVBQWU7SUFDZixjQUFjO0lBQ2QsU0FBUztJQUNULFVBQVU7SUFDVixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLFdBQVc7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BoZWFydGxhbmRvbmUvdmVnYSc7XG5cblxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhQWNjb3JkaW9uIHtcbiAgLyoqXG4gICAqIGV4cGFuZCBldmVudCwgaXQgcmV0dXJuIGEgYm9vbGVhbi4gXG4gICAqL1xuICB2ZWdhRXhwYW5kOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYWNjb3JkaW9uVGl0bGUnLCAnZHJhd3NCYWNrZ3JvdW5kJywgJ2V4cGFuZCcsICdleHBhbmRJY29uQWxpZ24nLCAnZ3JvdXBJZCcsICdpY29uUG9zaXRpb24nLCAncHJlZml4SWNvbicsICdzaG93RXhwYW5kSWNvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FjY29yZGlvblRpdGxlJywgJ2RyYXdzQmFja2dyb3VuZCcsICdleHBhbmQnLCAnZXhwYW5kSWNvbkFsaWduJywgJ2dyb3VwSWQnLCAnaWNvblBvc2l0aW9uJywgJ3ByZWZpeEljb24nLCAnc2hvd0V4cGFuZEljb24nXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhQWNjb3JkaW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUV4cGFuZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhQXBwRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhQXBwRm9vdGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsncHJpdmFjeVVybCcsICdzaG93RGlzY2xhaW1lcicsICd0b3NVcmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtYXBwLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsncHJpdmFjeVVybCcsICdzaG93RGlzY2xhaW1lcicsICd0b3NVcmwnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhQXBwRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUJhZGdlIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhQmFkZ2Uge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydiZ0NvbG9yJywgJ3NpemUnLCAndGV4dCcsICd0ZXh0Q29sb3InXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtYmFkZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JnQ29sb3InLCAnc2l6ZScsICd0ZXh0JywgJ3RleHRDb2xvciddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FCYWRnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FCdXR0b24ge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBidXR0b24gaXMgY2xpY2tlZCBcbiAgICovXG4gIHZlZ2FDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYmxvY2snLCAnZGFuZ2VyJywgJ2Rpc2FibGVkJywgJ2ljb24nLCAnaWNvbkFsaWduJywgJ2xhYmVsJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Jsb2NrJywgJ2RhbmdlcicsICdkaXNhYmxlZCcsICdpY29uJywgJ2ljb25BbGlnbicsICdsYWJlbCcsICdzaXplJywgJ3ZhcmlhbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FCdXR0b25DaXJjbGUgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FCdXR0b25DaXJjbGUge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBidXR0b24gaXMgY2xpY2tlZCBcbiAgICovXG4gIHZlZ2FDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnZGFuZ2VyJywgJ2Rpc2FibGVkJywgJ2ljb24nLCAnbGFiZWwnLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWJ1dHRvbi1jaXJjbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2RhbmdlcicsICdkaXNhYmxlZCcsICdpY29uJywgJ2xhYmVsJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FCdXR0b25DaXJjbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUJ1dHRvbkxpbmsgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FCdXR0b25MaW5rIHtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgY2xpY2sgZXZlbnQgXG4gICAqL1xuICB2ZWdhQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2RhbmdlcicsICdkaXNhYmxlZCcsICdldmVudGZ1bCcsICdpY29uJywgJ2ljb25BbGlnbicsICdpY29uVHlwZScsICdsYWJlbCcsICdsaW5rJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtYnV0dG9uLWxpbmsnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2RhbmdlcicsICdkaXNhYmxlZCcsICdldmVudGZ1bCcsICdpY29uJywgJ2ljb25BbGlnbicsICdpY29uVHlwZScsICdsYWJlbCcsICdsaW5rJywgJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhQnV0dG9uTGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuVmVnYUNhcmQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3InLCAnbWFyZ2luJywgJ3BhZGRpbmcnLCAnc2hhZG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvcicsICdtYXJnaW4nLCAncGFkZGluZycsICdzaGFkb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhQ2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FDYXJvdXNlbCBleHRlbmRzIENvbXBvbmVudHMuVmVnYUNhcm91c2VsIHtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgcGFnZSB1cGRhdGUgZXZlbnQgYW5kIHRoZSBwYWdlIGlzIDEgZGVmYXVsdC4gXG4gICAqL1xuICB2ZWdhUGFnZVVwZGF0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsncGVyUGFnZScsICdzaG93U2xpZGVyJywgJ3NwYWNpbmcnXSxcbiAgbWV0aG9kczogWyduZXh0UGFnZScsICdwcmV2UGFnZScsICdnb1RvUGFnZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1jYXJvdXNlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsncGVyUGFnZScsICdzaG93U2xpZGVyJywgJ3NwYWNpbmcnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhQ2Fyb3VzZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhUGFnZVVwZGF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhQ2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FDaGVja2JveCB7XG4gIC8qKlxuICAgKiBUaGUgYmVsb3cgbWV0aG9kIGlzIGUyZS10ZXN0IGNvdmVyZWQgaW4gQHNlZSB7bW9kdWxlIDp2ZWdhLWNoZWNrYm94LWNoYW5nZX1cbiAgICovXG4gIHZlZ2FDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ25hbWUnLCAnc2l6ZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICduYW1lJywgJ3NpemUnLCAndmFsdWUnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhQ2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FDaGVja2JveEdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhQ2hlY2tib3hHcm91cCB7XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgYW55IG9mIGNoZWNrYm94IHZhbHVlIGNoYW5nZSBldmVudCBcbiAgICovXG4gIHZlZ2FDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmdbXT4+O1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2YWxpZGF0aW9uIHJlc3VsdCBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICB2ZWdhVmFsaWRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbicsICdoaW50JywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZScsICd2ZWdhRmxleFByb3AnXSxcbiAgbWV0aG9kczogWyd2YWxpZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1jaGVja2JveC1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZm9ybVZhbGlkYXRpb24nLCAnaGludCcsICdpc1ZhbGlkJywgJ2xhYmVsJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnLCAndmVnYUZsZXhQcm9wJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUNoZWNrYm94R3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhQ2hhbmdlJywgJ3ZlZ2FWYWxpZGF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhRGF0ZVBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuVmVnYURhdGVQaWNrZXIge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBkYXRlIHBpY2tlciB2YWx1ZSBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICB2ZWdhQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nIHwgc3RyaW5nW10+PjtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgdmFsaWRhdGlvbiByZXN1bHQgY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgdmVnYVZhbGlkYXRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYWxsb3dSZXBpY2snLCAnYXV0b1ZhbGlkYXRpb24nLCAnY2xlYXJCdXR0b24nLCAnZGlzYWJsZWQnLCAnZHJvcGRvd25Db25maWcnLCAnZm9ybVZhbGlkYXRpb24nLCAnZm9ybWF0JywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAncmVhZE9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWxpZGF0aW9uUnVsZXMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd2YWxpZCcsICdkb0Nsb3NlJywgJ2RvT3BlbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1kYXRlLXBpY2tlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWxsb3dSZXBpY2snLCAnYXV0b1ZhbGlkYXRpb24nLCAnY2xlYXJCdXR0b24nLCAnZGlzYWJsZWQnLCAnZHJvcGRvd25Db25maWcnLCAnZm9ybVZhbGlkYXRpb24nLCAnZm9ybWF0JywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAnbWF4RGF0ZScsICdtaW5EYXRlJywgJ21vZGUnLCAncGxhY2Vob2xkZXInLCAncmVhZE9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWxpZGF0aW9uUnVsZXMnLCAndmFsdWUnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhRGF0ZVBpY2tlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDaGFuZ2UnLCAndmVnYVZhbGlkYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FEcm9wZG93biBleHRlbmRzIENvbXBvbmVudHMuVmVnYURyb3Bkb3duIHtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB3aGljaCB0aGUgZHJvcGRvd24gaXRlbSBpcyBjbGlja2VkIFxuICAgKi9cbiAgdmVnYUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIGRyb3Bkb3duIGhhdmUgc2hvdyBcbiAgICovXG4gIHZlZ2FTaG93OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIGRyb3Bkb3duIGhhdmUgaGlkZSBcbiAgICovXG4gIHZlZ2FIaWRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjYXNlU2Vuc2l0aXZlJywgJ21hdGNoQ29udGFpbmVySGVpZ2h0JywgJ21hdGNoVGFyZ2V0V2lkdGgnLCAnbWF4SGVpZ2h0JywgJ3Bvc2l0aW9uUmVsYXRpdmVUbycsICdzZWFyY2hhYmxlJywgJ3NlbGVjdFR5cGUnLCAnc2VsZWN0ZWRTb3VyY2VLZXknLCAnc2l6ZScsICdzb3VyY2UnLCAndHJhbnNsb2NhdGlvbicsICd0cmlnZ2VyJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWRyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjYXNlU2Vuc2l0aXZlJywgJ21hdGNoQ29udGFpbmVySGVpZ2h0JywgJ21hdGNoVGFyZ2V0V2lkdGgnLCAnbWF4SGVpZ2h0JywgJ3Bvc2l0aW9uUmVsYXRpdmVUbycsICdzZWFyY2hhYmxlJywgJ3NlbGVjdFR5cGUnLCAnc2VsZWN0ZWRTb3VyY2VLZXknLCAnc2l6ZScsICdzb3VyY2UnLCAndHJhbnNsb2NhdGlvbicsICd0cmlnZ2VyJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYURyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNsaWNrJywgJ3ZlZ2FTaG93JywgJ3ZlZ2FIaWRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FGbGV4IGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhRmxleCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FsaWduSXRlbScsICdicmVha3BvaW50JywgJ2RpcmVjdGlvbicsICdnYXAnLCAnanVzdGlmeUNvbnRlbnQnLCAnbWFyZ2luJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWZsZXgnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FsaWduSXRlbScsICdicmVha3BvaW50JywgJ2RpcmVjdGlvbicsICdnYXAnLCAnanVzdGlmeUNvbnRlbnQnLCAnbWFyZ2luJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUZsZXgge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhRm9vdGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsncHJpdmFjeVVybCcsICd0b3NVcmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydwcml2YWN5VXJsJywgJ3Rvc1VybCddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhRm9ybSBleHRlbmRzIENvbXBvbmVudHMuVmVnYUZvcm0ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydpc1RvdWNoZWQnLCAnaXNWYWxpZCddLFxuICBtZXRob2RzOiBbJ3ZhbGlkJywgJ2dldFZhbHVlJywgJ3NldFZhbHVlJywgJ3Jlc2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWZvcm0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2lzVG91Y2hlZCcsICdpc1ZhbGlkJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUZvcm0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhR3JpZCBleHRlbmRzIENvbXBvbmVudHMuVmVnYUdyaWQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjb2x1bW4nLCAnZ2FwJywgJ3JvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjb2x1bW4nLCAnZ2FwJywgJ3JvdyddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVmVnYUhlYWRlciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgVmVnYUhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhSWNvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2ljb24nLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydpY29uJywgJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVmVnYUlucHV0IHtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgdmFsdWUgY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2YWxpZGF0aW9uIHJlc3VsdCBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICB2ZWdhVmFsaWRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGlubmVyIGlucHV0IGVsZW1lbnQgaXMgYmx1cnJlZCBcbiAgICovXG4gIHZlZ2FCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dW5kZWZpbmVkPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhdXRvVmFsaWRhdGlvbicsICdhdXRvY29tcGxldGUnLCAnZGlzYWJsZWQnLCAnZW1haWwnLCAnZm9ybVZhbGlkYXRpb24nLCAnaGludCcsICdpbnB1dElkJywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAnbWFza0NvbmZpZycsICdtYXgnLCAnbWF4TGVuZ3RoJywgJ21pbicsICdtaW5MZW5ndGgnLCAncGxhY2Vob2xkZXInLCAncHJlZml4SWNvbicsICdyZXF1aXJlZCcsICdzaG93Q2xlYXJJY29uJywgJ3NpemUnLCAndHlwZScsICd2YWxpZGF0aW9uUnVsZXMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd2YWxpZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYXV0b1ZhbGlkYXRpb24nLCAnYXV0b2NvbXBsZXRlJywgJ2Rpc2FibGVkJywgJ2VtYWlsJywgJ2Zvcm1WYWxpZGF0aW9uJywgJ2hpbnQnLCAnaW5wdXRJZCcsICdpc1ZhbGlkJywgJ2xhYmVsJywgJ21hc2tDb25maWcnLCAnbWF4JywgJ21heExlbmd0aCcsICdtaW4nLCAnbWluTGVuZ3RoJywgJ3BsYWNlaG9sZGVyJywgJ3ByZWZpeEljb24nLCAncmVxdWlyZWQnLCAnc2hvd0NsZWFySWNvbicsICdzaXplJywgJ3R5cGUnLCAndmFsaWRhdGlvblJ1bGVzJywgJ3ZhbHVlJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUlucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNoYW5nZScsICd2ZWdhVmFsaWRhdGUnLCAndmVnYUJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUlucHV0U2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhSW5wdXRTZWxlY3Qge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBzZWxlY3QgdmFsdWUgY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2YWxpZGF0aW9uIHJlc3VsdCBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICB2ZWdhVmFsaWRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhdXRvVmFsaWRhdGlvbicsICdkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbicsICdoaW50JywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAncGxhY2Vob2xkZXInLCAncHJlZml4SWNvbicsICdyZXF1aXJlZCcsICdzb3VyY2UnLCAndmFsaWRhdGlvblJ1bGVzJywgJ3ZhbHVlJywgJ3ZlZ2FEcm9wZG93blByb3BzJ10sXG4gIG1ldGhvZHM6IFsnZG9DbG9zZScsICdkb09wZW4nLCAnZG9DaGFuZ2UnLCAndmFsaWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtaW5wdXQtc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydhdXRvVmFsaWRhdGlvbicsICdkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbicsICdoaW50JywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAncGxhY2Vob2xkZXInLCAncHJlZml4SWNvbicsICdyZXF1aXJlZCcsICdzb3VyY2UnLCAndmFsaWRhdGlvblJ1bGVzJywgJ3ZhbHVlJywgJ3ZlZ2FEcm9wZG93blByb3BzJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUlucHV0U2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNoYW5nZScsICd2ZWdhVmFsaWRhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUl0ZW1Ub2dnbGUgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FJdGVtVG9nZ2xlIHtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgaXRlbSBpcyB0b2dnbGVkIFxuICAgKi9cbiAgdmVnYVRvZ2dsZVN0YXR1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2lzRXJyb3InLCAnaXNUb2dnbGVkJywgJ2l0ZW1Ub2dnbGVTdGF0dXNNYXAnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtaXRlbS10b2dnbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2lzRXJyb3InLCAnaXNUb2dnbGVkJywgJ2l0ZW1Ub2dnbGVTdGF0dXNNYXAnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhSXRlbVRvZ2dsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FUb2dnbGVTdGF0dXMnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYU1vZGFsIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhTW9kYWwge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBtb2RhbCBpcyBjbG9zZWQgXG4gICAqL1xuICB2ZWdhQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgbW9kYWwgaXMgb3BlbmVkIFxuICAgKi9cbiAgdmVnYU9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdiYWNrZHJvcCcsICdiYWNrZHJvcENvbG9yJywgJ2NvbnRlbnRNYXhIZWlnaHQnLCAnaXNWZXJ0aWNhbGx5Q2VudGVyJywgJ21vZGFsVGl0bGUnLCAnb3BlbicsICdwYWRkaW5nJywgJ3Nob3dDbG9zZUJ1dHRvbicsICdzaXplJ10sXG4gIG1ldGhvZHM6IFsnbW9kYWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtbW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdiYWNrZHJvcCcsICdiYWNrZHJvcENvbG9yJywgJ2NvbnRlbnRNYXhIZWlnaHQnLCAnaXNWZXJ0aWNhbGx5Q2VudGVyJywgJ21vZGFsVGl0bGUnLCAnb3BlbicsICdwYWRkaW5nJywgJ3Nob3dDbG9zZUJ1dHRvbicsICdzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYU1vZGFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNsb3NlJywgJ3ZlZ2FPcGVuJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FPcHRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FPcHRpb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydpY29uJywgJ2xhYmVsJywgJ3N1YkxhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLW9wdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCcsICdzdWJMYWJlbCddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FPcHRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhUGFnaW5hdGlvbiBleHRlbmRzIENvbXBvbmVudHMuVmVnYVBhZ2luYXRpb24ge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2ZWdhLXBhZ2luYXRpb24gY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY3VycmVudCcsICdwYWdlU2l6ZScsICd0b3RhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjdXJyZW50JywgJ3BhZ2VTaXplJywgJ3RvdGFsJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYVBhZ2luYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FQcm9ncmVzc1RyYWNrZXIgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FQcm9ncmVzc1RyYWNrZXIge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBjdXJyZW50IHVwZGF0ZSBldmVudC4gXG4gICAqL1xuICB2ZWdhQ3VycmVudFN0ZXBVcGRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2NhbkNsaWNrU3RlcCcsICdjb21wbGV0ZWRTdGVwQXJyYXknLCAnZGlyZWN0aW9uJywgJ3N0ZXBzJ10sXG4gIG1ldGhvZHM6IFsnbmV4dFN0ZXAnLCAncHJldlN0ZXAnLCAnc2V0Q3VycmVudCcsICdnZXRDdXJyZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLXByb2dyZXNzLXRyYWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NhbkNsaWNrU3RlcCcsICdjb21wbGV0ZWRTdGVwQXJyYXknLCAnZGlyZWN0aW9uJywgJ3N0ZXBzJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYVByb2dyZXNzVHJhY2tlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDdXJyZW50U3RlcFVwZGF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhUmFkaW8gZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FSYWRpbyB7XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIHJhZGlvIGlucHV0IGlzIGZvY3VzZWQgXG4gICAqL1xuICB2ZWdhRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgcmFkaW8gaW5wdXQgaXMgYmx1cnJlZCBcbiAgICovXG4gIHZlZ2FCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIGNoZWNrIHN0YXR1cyBvZiB0aGUgcmFkaW8gaW5wdXQgaXMgY2hhbmdlZCBcbiAgICovXG4gIHZlZ2FDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ25hbWUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtcmFkaW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICd2YWx1ZSddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FSYWRpbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FGb2N1cycsICd2ZWdhQmx1cicsICd2ZWdhQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FSYWRpb0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhUmFkaW9Hcm91cCB7XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIGNoZWNrZWQgcmFkaW8gYnV0dG9uIGluIGdyb3VwIGlzIGNoYW5nZWQgXG4gICAqL1xuICB2ZWdhQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIHZhbGlkYXRpb24gcmVzdWx0IGNoYW5nZSBldmVudCBcbiAgICovXG4gIHZlZ2FWYWxpZGF0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Zvcm1WYWxpZGF0aW9uJywgJ2hpbnQnLCAnaXNWYWxpZCcsICdsYWJlbCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJywgJ3ZlZ2FGbGV4UHJvcCddLFxuICBtZXRob2RzOiBbJ3ZhbGlkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLXJhZGlvLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbicsICdoaW50JywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZScsICd2ZWdhRmxleFByb3AnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhUmFkaW9Hcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDaGFuZ2UnLCAndmVnYVZhbGlkYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FTaWRlbmF2IGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhU2lkZW5hdiB7XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIG5hdiBtZW51IGNsb3NlIGV2ZW50XG5UaGUgYmVsb3cgbWV0aG9kIGlzIGUyZS10ZXN0IGNvdmVyZWQgaW4gQHNlZSB7bW9kdWxlIDp2ZWdhLXNpZGVuYXYtdG9nZ2xlLWFuZC12ZWdhU3RhdGVVcGRhdGV9XG4gICAqL1xuICB2ZWdhU3RhdGVVcGRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2Zvb3Rub3RlJywgJ2hlYWRlckNvbmZpZycsICdvcGVuQnlEZWZhdWx0JywgJ3NvdXJjZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1zaWRlbmF2JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydmb290bm90ZScsICdoZWFkZXJDb25maWcnLCAnb3BlbkJ5RGVmYXVsdCcsICdzb3VyY2UnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhU2lkZW5hdiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FTdGF0ZVVwZGF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhU2lkZW5hdkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhU2lkZW5hdkdyb3VwIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1zaWRlbmF2LWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydpY29uJywgJ2xhYmVsJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYVNpZGVuYXZHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FTaWRlbmF2TGluayBleHRlbmRzIENvbXBvbmVudHMuVmVnYVNpZGVuYXZMaW5rIHtcbiAgLyoqXG4gICAqIFRoZSBiZWxvdyBtZXRob2QgaXMgZTJlLXRlc3QgY292ZXJlZCBpbiBAc2VlIHttb2R1bGUgOnZlZ2Etc2lkZW5hdi1saW5rLWNsaWNrLWV2ZW50fVxuICAgKi9cbiAgdmVnYUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydpY29uJywgJ3NlbGVjdGVkJywgJ3Nob3dTaWRlQmFyT25DbGlja0xpbmsnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLXNpZGVuYXYtbGluaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaWNvbicsICdzZWxlY3RlZCcsICdzaG93U2lkZUJhck9uQ2xpY2tMaW5rJywgJ3VybCddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FTaWRlbmF2TGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhU3RlcHBlciBleHRlbmRzIENvbXBvbmVudHMuVmVnYVN0ZXBwZXIge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBzdGVwcGVyIHZhbHVlIGlzIGNoYW5nZWQgXG4gICAqL1xuICB2ZWdhQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIHZhbGlkYXRpb24gcmVzdWx0IGNoYW5nZSBldmVudCBcbiAgICovXG4gIHZlZ2FWYWxpZGF0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Zvcm1WYWxpZGF0aW9uJywgJ2lucHV0RWRpdGFibGUnLCAnaXNWYWxpZCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ3JlcXVpcmVkJywgJ3N0ZXBwZXJJZCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3ZhbGlkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Zvcm1WYWxpZGF0aW9uJywgJ2lucHV0RWRpdGFibGUnLCAnaXNWYWxpZCcsICdsYWJlbCcsICdtYXgnLCAnbWluJywgJ3JlcXVpcmVkJywgJ3N0ZXBwZXJJZCcsICd2YWx1ZSddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNoYW5nZScsICd2ZWdhVmFsaWRhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYVRhYkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhVGFiR3JvdXAge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB0YWIgaXMgY2xpY2tlZCBcbiAgICovXG4gIHZlZ2FDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnZ2FwJywgJ3Bvc2l0aW9uUmVsYXRpdmVUbycsICdzZWxlY3RlZFRhYkRhdGFUYXJnZXQnLCAnc2hvd0Nsb3NlQnV0dG9uJywgJ3RhYkl0ZW1zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLXRhYi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZ2FwJywgJ3Bvc2l0aW9uUmVsYXRpdmVUbycsICdzZWxlY3RlZFRhYkRhdGFUYXJnZXQnLCAnc2hvd0Nsb3NlQnV0dG9uJywgJ3RhYkl0ZW1zJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYVRhYkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNsaWNrJ10pO1xuICB9XG59XG5cbmltcG9ydCB0eXBlIHsgVmVnYVRhYmxlQ2hhbmdlUHJvcFR5cGUgYXMgSVZlZ2FUYWJsZVZlZ2FUYWJsZUNoYW5nZVByb3BUeXBlIH0gZnJvbSAnQGhlYXJ0bGFuZG9uZS92ZWdhL2Rpc3QvdHlwZXMvY29tcG9uZW50cy92ZWdhLXRhYmxlL3ZlZ2EtdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBWZWdhVGFibGVSb3dDbGlja1Byb3BUeXBlIGFzIElWZWdhVGFibGVWZWdhVGFibGVSb3dDbGlja1Byb3BUeXBlIH0gZnJvbSAnQGhlYXJ0bGFuZG9uZS92ZWdhL2Rpc3QvdHlwZXMvY29tcG9uZW50cy92ZWdhLXRhYmxlL3ZlZ2EtdGFibGUnO1xuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuVmVnYVRhYmxlIHtcbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgdmVnYS10YWJsZSBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICB2ZWdhQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVZlZ2FUYWJsZVZlZ2FUYWJsZUNoYW5nZVByb3BUeXBlPj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIHZlZ2EtdGFibGUgcm93IGNsaWNrIGV2ZW50IFxuICAgKi9cbiAgdmVnYVJvd0NsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SVZlZ2FUYWJsZVZlZ2FUYWJsZVJvd0NsaWNrUHJvcFR5cGU+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2NvbHVtbkRpdmlkZXInLCAnY29sdW1ucycsICdkYXRhU291cmNlJywgJ2RlbnNpdHknLCAnZW1wdHlEZXNjcmlwdGlvbicsICdwYWRkaW5nWCcsICdwYWdpbmF0aW9uJywgJ3Jvd0NsaWNrYWJsZScsICdyb3dEaXZpZGVyJywgJ3Jvd0V4cGFuZGFibGUnLCAncm93U2VsZWN0aW9uJywgJ3Nob3dIZWFkZXInLCAnc3RyaXBlZCddLFxuICBtZXRob2RzOiBbJ29wZW5FeHBhbmRSb3cnLCAnY2xvc2VFeHBhbmRSb3cnLCAnY2xvc2VBbGxFeHBhbmRSb3cnLCAndG9nZ2xlRXhwYW5kUm93JywgJ2NsZWFyU2VsZWN0aW9uJywgJ2dldFNlbGVjdGlvbicsICdzZXRTZWxlY3Rpb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NvbHVtbkRpdmlkZXInLCAnY29sdW1ucycsICdkYXRhU291cmNlJywgJ2RlbnNpdHknLCAnZW1wdHlEZXNjcmlwdGlvbicsICdwYWRkaW5nWCcsICdwYWdpbmF0aW9uJywgJ3Jvd0NsaWNrYWJsZScsICdyb3dEaXZpZGVyJywgJ3Jvd0V4cGFuZGFibGUnLCAncm93U2VsZWN0aW9uJywgJ3Nob3dIZWFkZXInLCAnc3RyaXBlZCddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDaGFuZ2UnLCAndmVnYVJvd0NsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FUb2dnbGVTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FUb2dnbGVTd2l0Y2gge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB0b2dnbGUgc3dpdGNoIGlzIGNoYW5nZWQgXG4gICAqL1xuICB2ZWdhQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLXRvZ2dsZS1zd2l0Y2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbGFiZWwnLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FUb2dnbGVTd2l0Y2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhVG9vbHRpcCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAncGxhY2VtZW50JywgJ3Bvc2l0aW9uUmVsYXRpdmVUbycsICdzaXplJywgJ3RyaWdnZXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtdG9vbHRpcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY29udGVudCcsICdwbGFjZW1lbnQnLCAncG9zaXRpb25SZWxhdGl2ZVRvJywgJ3NpemUnLCAndHJpZ2dlciddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgW1xuICBWZWdhQWNjb3JkaW9uLFxuICBWZWdhQXBwRm9vdGVyLFxuICBWZWdhQmFkZ2UsXG4gIFZlZ2FCdXR0b24sXG4gIFZlZ2FCdXR0b25DaXJjbGUsXG4gIFZlZ2FCdXR0b25MaW5rLFxuICBWZWdhQ2FyZCxcbiAgVmVnYUNhcm91c2VsLFxuICBWZWdhQ2hlY2tib3gsXG4gIFZlZ2FDaGVja2JveEdyb3VwLFxuICBWZWdhRGF0ZVBpY2tlcixcbiAgVmVnYURyb3Bkb3duLFxuICBWZWdhRmxleCxcbiAgVmVnYUZvb3RlcixcbiAgVmVnYUZvcm0sXG4gIFZlZ2FHcmlkLFxuICBWZWdhSGVhZGVyLFxuICBWZWdhSWNvbixcbiAgVmVnYUlucHV0LFxuICBWZWdhSW5wdXRTZWxlY3QsXG4gIFZlZ2FJdGVtVG9nZ2xlLFxuICBWZWdhTW9kYWwsXG4gIFZlZ2FPcHRpb24sXG4gIFZlZ2FQYWdpbmF0aW9uLFxuICBWZWdhUHJvZ3Jlc3NUcmFja2VyLFxuICBWZWdhUmFkaW8sXG4gIFZlZ2FSYWRpb0dyb3VwLFxuICBWZWdhU2lkZW5hdixcbiAgVmVnYVNpZGVuYXZHcm91cCxcbiAgVmVnYVNpZGVuYXZMaW5rLFxuICBWZWdhU3RlcHBlcixcbiAgVmVnYVRhYkdyb3VwLFxuICBWZWdhVGFibGUsXG4gIFZlZ2FUb2dnbGVTd2l0Y2gsXG4gIFZlZ2FUb29sdGlwLFxuXTsiXX0=
|
|
1006
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc3RlbmNpbC1nZW5lcmF0ZWQvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7SUF5QjFELGFBQWEsU0FBYixhQUFhO0lBRXhCLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGLENBQUE7MEdBUFksYUFBYTs4RkFBYixhQUFhLDRTQUhkLDJCQUEyQjtBQUcxQixhQUFhO0lBVnpCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLFNBQVM7UUFDaEMsTUFBTSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDO0tBQ3RJLENBQUM7R0FPVyxhQUFhLENBT3pCO1NBUFksYUFBYTsyRkFBYixhQUFhO2tCQU56QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxnQkFBZ0IsRUFB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MUUsQ0FBQztHQU9XLFdBQVcsQ0FNdkI7U0FOWSxXQUFXOzJGQUFYLFdBQVc7a0JBTnZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7aUJBQzFFOztBQVNELGVBQWU7SUFDYixhQUFhO0lBQ2IsYUFBYTtJQUNiLFNBQVM7SUFDVCxVQUFVO0lBQ1YsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsUUFBUTtJQUNSLFlBQVk7SUFDWixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxZQUFZO0lBQ1osUUFBUTtJQUNSLFVBQVU7SUFDVixRQUFRO0lBQ1IsUUFBUTtJQUNSLFVBQVU7SUFDVixRQUFRO0lBQ1IsU0FBUztJQUNULGVBQWU7SUFDZixjQUFjO0lBQ2QsU0FBUztJQUNULFVBQVU7SUFDVixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsV0FBVztJQUNYLFlBQVk7SUFDWixTQUFTO0lBQ1QsUUFBUTtJQUNSLGdCQUFnQjtJQUNoQixXQUFXO0NBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAaGVhcnRsYW5kb25lL3ZlZ2EnO1xuXG5cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUFjY29yZGlvbiBleHRlbmRzIENvbXBvbmVudHMuVmVnYUFjY29yZGlvbiB7XG4gIC8qKlxuICAgKiBleHBhbmQgZXZlbnQsIGl0IHJldHVybiBhIGJvb2xlYW4uIFxuICAgKi9cbiAgdmVnYUV4cGFuZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FjY29yZGlvblRpdGxlJywgJ2RyYXdzQmFja2dyb3VuZCcsICdleHBhbmQnLCAnZXhwYW5kSWNvbkFsaWduJywgJ2dyb3VwSWQnLCAnaWNvblBvc2l0aW9uJywgJ3ByZWZpeEljb24nLCAnc2hvd0V4cGFuZEljb24nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydhY2NvcmRpb25UaXRsZScsICdkcmF3c0JhY2tncm91bmQnLCAnZXhwYW5kJywgJ2V4cGFuZEljb25BbGlnbicsICdncm91cElkJywgJ2ljb25Qb3NpdGlvbicsICdwcmVmaXhJY29uJywgJ3Nob3dFeHBhbmRJY29uJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUFjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FFeHBhbmQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUFwcEZvb3RlciBleHRlbmRzIENvbXBvbmVudHMuVmVnYUFwcEZvb3RlciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ3ByaXZhY3lVcmwnLCAnc2hvd0Rpc2NsYWltZXInLCAndG9zVXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWFwcC1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ3ByaXZhY3lVcmwnLCAnc2hvd0Rpc2NsYWltZXInLCAndG9zVXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUFwcEZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FCYWRnZSBleHRlbmRzIENvbXBvbmVudHMuVmVnYUJhZGdlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYmdDb2xvcicsICdzaXplJywgJ3RleHQnLCAndGV4dENvbG9yJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWJhZGdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydiZ0NvbG9yJywgJ3NpemUnLCAndGV4dCcsICd0ZXh0Q29sb3InXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhQmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhQmFubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhQmFubmVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYXVkaWVuY2VFbWFpbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1iYW5uZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2F1ZGllbmNlRW1haWwnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhQmFubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuVmVnYUJ1dHRvbiB7XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIGJ1dHRvbiBpcyBjbGlja2VkIFxuICAgKi9cbiAgdmVnYUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydibG9jaycsICdkYW5nZXInLCAnZGlzYWJsZWQnLCAnaWNvbicsICdpY29uQWxpZ24nLCAnbGFiZWwnLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmxvY2snLCAnZGFuZ2VyJywgJ2Rpc2FibGVkJywgJ2ljb24nLCAnaWNvbkFsaWduJywgJ2xhYmVsJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUJ1dHRvbkNpcmNsZSBleHRlbmRzIENvbXBvbmVudHMuVmVnYUJ1dHRvbkNpcmNsZSB7XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIGJ1dHRvbiBpcyBjbGlja2VkIFxuICAgKi9cbiAgdmVnYUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydkYW5nZXInLCAnZGlzYWJsZWQnLCAnaWNvbicsICdsYWJlbCcsICdzaXplJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtYnV0dG9uLWNpcmNsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZGFuZ2VyJywgJ2Rpc2FibGVkJywgJ2ljb24nLCAnbGFiZWwnLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUJ1dHRvbkNpcmNsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhQnV0dG9uTGluayBleHRlbmRzIENvbXBvbmVudHMuVmVnYUJ1dHRvbkxpbmsge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBjbGljayBldmVudCBcbiAgICovXG4gIHZlZ2FDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnZGFuZ2VyJywgJ2Rpc2FibGVkJywgJ2V2ZW50ZnVsJywgJ2ljb24nLCAnaWNvbkFsaWduJywgJ2ljb25UeXBlJywgJ2xhYmVsJywgJ2xpbmsnLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1idXR0b24tbGluaycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZGFuZ2VyJywgJ2Rpc2FibGVkJywgJ2V2ZW50ZnVsJywgJ2ljb24nLCAnaWNvbkFsaWduJywgJ2ljb25UeXBlJywgJ2xhYmVsJywgJ2xpbmsnLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FCdXR0b25MaW5rIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhQ2FyZCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvcicsICdtYXJnaW4nLCAncGFkZGluZycsICdzaGFkb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG9yJywgJ21hcmdpbicsICdwYWRkaW5nJywgJ3NoYWRvdyddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FDYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUNhcm91c2VsIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhQ2Fyb3VzZWwge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBwYWdlIHVwZGF0ZSBldmVudCBhbmQgdGhlIHBhZ2UgaXMgMSBkZWZhdWx0LiBcbiAgICovXG4gIHZlZ2FQYWdlVXBkYXRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydwZXJQYWdlJywgJ3Nob3dTbGlkZXInLCAnc3BhY2luZyddLFxuICBtZXRob2RzOiBbJ25leHRQYWdlJywgJ3ByZXZQYWdlJywgJ2dvVG9QYWdlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWNhcm91c2VsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydwZXJQYWdlJywgJ3Nob3dTbGlkZXInLCAnc3BhY2luZyddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FDYXJvdXNlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FQYWdlVXBkYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FDaGVja2JveCBleHRlbmRzIENvbXBvbmVudHMuVmVnYUNoZWNrYm94IHtcbiAgLyoqXG4gICAqIFRoZSBiZWxvdyBtZXRob2QgaXMgZTJlLXRlc3QgY292ZXJlZCBpbiBAc2VlIHttb2R1bGUgOnZlZ2EtY2hlY2tib3gtY2hhbmdlfVxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnbmFtZScsICdzaXplJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWNoZWNrYm94JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ25hbWUnLCAnc2l6ZScsICd2YWx1ZSddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FDaGVja2JveCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUNoZWNrYm94R3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FDaGVja2JveEdyb3VwIHtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyBhbnkgb2YgY2hlY2tib3ggdmFsdWUgY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZ1tdPj47XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIHZhbGlkYXRpb24gcmVzdWx0IGNoYW5nZSBldmVudCBcbiAgICovXG4gIHZlZ2FWYWxpZGF0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Zvcm1WYWxpZGF0aW9uJywgJ2hpbnQnLCAnaXNWYWxpZCcsICdsYWJlbCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJywgJ3ZlZ2FGbGV4UHJvcCddLFxuICBtZXRob2RzOiBbJ3ZhbGlkJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWNoZWNrYm94LWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbicsICdoaW50JywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZScsICd2ZWdhRmxleFByb3AnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhQ2hlY2tib3hHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDaGFuZ2UnLCAndmVnYVZhbGlkYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FEYXRlUGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhRGF0ZVBpY2tlciB7XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIGRhdGUgcGlja2VyIHZhbHVlIGNoYW5nZSBldmVudCBcbiAgICovXG4gIHZlZ2FDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmcgfCBzdHJpbmdbXT4+O1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2YWxpZGF0aW9uIHJlc3VsdCBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICB2ZWdhVmFsaWRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhbGxvd1JlcGljaycsICdhdXRvVmFsaWRhdGlvbicsICdjbGVhckJ1dHRvbicsICdkaXNhYmxlZCcsICdkcm9wZG93bkNvbmZpZycsICdmb3JtVmFsaWRhdGlvbicsICdmb3JtYXQnLCAnaXNWYWxpZCcsICdsYWJlbCcsICdtYXhEYXRlJywgJ21pbkRhdGUnLCAnbW9kZScsICdwbGFjZWhvbGRlcicsICdyZWFkT25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3ZhbGlkYXRpb25SdWxlcycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3ZhbGlkJywgJ2RvQ2xvc2UnLCAnZG9PcGVuJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLWRhdGUtcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydhbGxvd1JlcGljaycsICdhdXRvVmFsaWRhdGlvbicsICdjbGVhckJ1dHRvbicsICdkaXNhYmxlZCcsICdkcm9wZG93bkNvbmZpZycsICdmb3JtVmFsaWRhdGlvbicsICdmb3JtYXQnLCAnaXNWYWxpZCcsICdsYWJlbCcsICdtYXhEYXRlJywgJ21pbkRhdGUnLCAnbW9kZScsICdwbGFjZWhvbGRlcicsICdyZWFkT25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3ZhbGlkYXRpb25SdWxlcycsICd2YWx1ZSddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FEYXRlUGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNoYW5nZScsICd2ZWdhVmFsaWRhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYURyb3Bkb3duIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhRHJvcGRvd24ge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHdoaWNoIHRoZSBkcm9wZG93biBpdGVtIGlzIGNsaWNrZWQgXG4gICAqL1xuICB2ZWdhQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgZHJvcGRvd24gaGF2ZSBzaG93IFxuICAgKi9cbiAgdmVnYVNob3c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgZHJvcGRvd24gaGF2ZSBoaWRlIFxuICAgKi9cbiAgdmVnYUhpZGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2Nhc2VTZW5zaXRpdmUnLCAnbWF0Y2hDb250YWluZXJIZWlnaHQnLCAnbWF0Y2hUYXJnZXRXaWR0aCcsICdtYXhIZWlnaHQnLCAncG9zaXRpb25SZWxhdGl2ZVRvJywgJ3NlYXJjaGFibGUnLCAnc2VsZWN0VHlwZScsICdzZWxlY3RlZFNvdXJjZUtleScsICdzaXplJywgJ3NvdXJjZScsICd0cmFuc2xvY2F0aW9uJywgJ3RyaWdnZXInXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtZHJvcGRvd24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2Nhc2VTZW5zaXRpdmUnLCAnbWF0Y2hDb250YWluZXJIZWlnaHQnLCAnbWF0Y2hUYXJnZXRXaWR0aCcsICdtYXhIZWlnaHQnLCAncG9zaXRpb25SZWxhdGl2ZVRvJywgJ3NlYXJjaGFibGUnLCAnc2VsZWN0VHlwZScsICdzZWxlY3RlZFNvdXJjZUtleScsICdzaXplJywgJ3NvdXJjZScsICd0cmFuc2xvY2F0aW9uJywgJ3RyaWdnZXInXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhRHJvcGRvd24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhQ2xpY2snLCAndmVnYVNob3cnLCAndmVnYUhpZGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUZsZXggZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FGbGV4IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnYWxpZ25JdGVtJywgJ2JyZWFrcG9pbnQnLCAnZGlyZWN0aW9uJywgJ2dhcCcsICdqdXN0aWZ5Q29udGVudCcsICdtYXJnaW4nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtZmxleCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWxpZ25JdGVtJywgJ2JyZWFrcG9pbnQnLCAnZGlyZWN0aW9uJywgJ2dhcCcsICdqdXN0aWZ5Q29udGVudCcsICdtYXJnaW4nXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhRmxleCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FGb290ZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydwcml2YWN5VXJsJywgJ3Rvc1VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ3ByaXZhY3lVcmwnLCAndG9zVXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhRm9ybSB7XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIHZhbGlkYXRpb24gcmVzdWx0IGNoYW5nZSBldmVudCBcbiAgICovXG4gIHZlZ2FWYWxpZGF0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2lzVG91Y2hlZCcsICdpc1ZhbGlkJ10sXG4gIG1ldGhvZHM6IFsndmFsaWQnLCAnZ2V0VmFsdWUnLCAnc2V0VmFsdWUnLCAncmVzZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtZm9ybScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaXNUb3VjaGVkJywgJ2lzVmFsaWQnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhRm9ybSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FWYWxpZGF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhR3JpZCBleHRlbmRzIENvbXBvbmVudHMuVmVnYUdyaWQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjb2x1bW4nLCAnZ2FwJywgJ3JvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjb2x1bW4nLCAnZ2FwJywgJ3JvdyddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuVmVnYUhlYWRlciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgVmVnYUhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhSWNvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2ljb24nLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydpY29uJywgJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuVmVnYUlucHV0IHtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgdmFsdWUgY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2YWxpZGF0aW9uIHJlc3VsdCBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICB2ZWdhVmFsaWRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGlubmVyIGlucHV0IGVsZW1lbnQgaXMgYmx1cnJlZCBcbiAgICovXG4gIHZlZ2FCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dW5kZWZpbmVkPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhdXRvVmFsaWRhdGlvbicsICdhdXRvY29tcGxldGUnLCAnZGlzYWJsZWQnLCAnZW1haWwnLCAnZm9ybVZhbGlkYXRpb24nLCAnaGludCcsICdpbnB1dElkJywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAnbWFza0NvbmZpZycsICdtYXgnLCAnbWF4TGVuZ3RoJywgJ21pbicsICdtaW5MZW5ndGgnLCAncGxhY2Vob2xkZXInLCAncHJlZml4SWNvbicsICdyZXF1aXJlZCcsICdzaG93Q2xlYXJJY29uJywgJ3NpemUnLCAndHlwZScsICd2YWxpZGF0aW9uUnVsZXMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd2YWxpZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYXV0b1ZhbGlkYXRpb24nLCAnYXV0b2NvbXBsZXRlJywgJ2Rpc2FibGVkJywgJ2VtYWlsJywgJ2Zvcm1WYWxpZGF0aW9uJywgJ2hpbnQnLCAnaW5wdXRJZCcsICdpc1ZhbGlkJywgJ2xhYmVsJywgJ21hc2tDb25maWcnLCAnbWF4JywgJ21heExlbmd0aCcsICdtaW4nLCAnbWluTGVuZ3RoJywgJ3BsYWNlaG9sZGVyJywgJ3ByZWZpeEljb24nLCAncmVxdWlyZWQnLCAnc2hvd0NsZWFySWNvbicsICdzaXplJywgJ3R5cGUnLCAndmFsaWRhdGlvblJ1bGVzJywgJ3ZhbHVlJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUlucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNoYW5nZScsICd2ZWdhVmFsaWRhdGUnLCAndmVnYUJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUlucHV0U2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhSW5wdXRTZWxlY3Qge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBzZWxlY3QgdmFsdWUgY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2YWxpZGF0aW9uIHJlc3VsdCBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICB2ZWdhVmFsaWRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydhdXRvVmFsaWRhdGlvbicsICdkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbicsICdoaW50JywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAncGxhY2Vob2xkZXInLCAncHJlZml4SWNvbicsICdyZXF1aXJlZCcsICdzb3VyY2UnLCAndmFsaWRhdGlvblJ1bGVzJywgJ3ZhbHVlJywgJ3ZlZ2FEcm9wZG93blByb3BzJ10sXG4gIG1ldGhvZHM6IFsnZG9DbG9zZScsICdkb09wZW4nLCAnZG9DaGFuZ2UnLCAndmFsaWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtaW5wdXQtc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydhdXRvVmFsaWRhdGlvbicsICdkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbicsICdoaW50JywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAncGxhY2Vob2xkZXInLCAncHJlZml4SWNvbicsICdyZXF1aXJlZCcsICdzb3VyY2UnLCAndmFsaWRhdGlvblJ1bGVzJywgJ3ZhbHVlJywgJ3ZlZ2FEcm9wZG93blByb3BzJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYUlucHV0U2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNoYW5nZScsICd2ZWdhVmFsaWRhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYUl0ZW1Ub2dnbGUgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FJdGVtVG9nZ2xlIHtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgaXRlbSBpcyB0b2dnbGVkIFxuICAgKi9cbiAgdmVnYVRvZ2dsZVN0YXR1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2lzRXJyb3InLCAnaXNUb2dnbGVkJywgJ2l0ZW1Ub2dnbGVTdGF0dXNNYXAnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtaXRlbS10b2dnbGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2lzRXJyb3InLCAnaXNUb2dnbGVkJywgJ2l0ZW1Ub2dnbGVTdGF0dXNNYXAnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhSXRlbVRvZ2dsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FUb2dnbGVTdGF0dXMnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYU1vZGFsIGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhTW9kYWwge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBtb2RhbCBpcyBjbG9zZWQgXG4gICAqL1xuICB2ZWdhQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgbW9kYWwgaXMgb3BlbmVkIFxuICAgKi9cbiAgdmVnYU9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdiYWNrZHJvcCcsICdiYWNrZHJvcENvbG9yJywgJ2NvbnRlbnRNYXhIZWlnaHQnLCAnaXNWZXJ0aWNhbGx5Q2VudGVyJywgJ21vZGFsVGl0bGUnLCAnb3BlbicsICdwYWRkaW5nJywgJ3Nob3dDbG9zZUJ1dHRvbicsICdzaXplJ10sXG4gIG1ldGhvZHM6IFsnbW9kYWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtbW9kYWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdiYWNrZHJvcCcsICdiYWNrZHJvcENvbG9yJywgJ2NvbnRlbnRNYXhIZWlnaHQnLCAnaXNWZXJ0aWNhbGx5Q2VudGVyJywgJ21vZGFsVGl0bGUnLCAnb3BlbicsICdwYWRkaW5nJywgJ3Nob3dDbG9zZUJ1dHRvbicsICdzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYU1vZGFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsndmVnYUNsb3NlJywgJ3ZlZ2FPcGVuJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FPcHRpb24gZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FPcHRpb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydpY29uJywgJ2xhYmVsJywgJ3N1YkxhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLW9wdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCcsICdzdWJMYWJlbCddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FPcHRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhUGFnaW5hdGlvbiBleHRlbmRzIENvbXBvbmVudHMuVmVnYVBhZ2luYXRpb24ge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2ZWdhLXBhZ2luYXRpb24gY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY3VycmVudCcsICdwYWdlU2l6ZScsICd0b3RhbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjdXJyZW50JywgJ3BhZ2VTaXplJywgJ3RvdGFsJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYVBhZ2luYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FQcm9ncmVzc1RyYWNrZXIgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FQcm9ncmVzc1RyYWNrZXIge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBjdXJyZW50IHVwZGF0ZSBldmVudC4gXG4gICAqL1xuICB2ZWdhQ3VycmVudFN0ZXBVcGRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2NhbkNsaWNrU3RlcCcsICdjb21wbGV0ZWRTdGVwQXJyYXknLCAnZGlyZWN0aW9uJywgJ3N0ZXBzJ10sXG4gIG1ldGhvZHM6IFsnbmV4dFN0ZXAnLCAncHJldlN0ZXAnLCAnc2V0Q3VycmVudCcsICdnZXRDdXJyZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZWdhLXByb2dyZXNzLXRyYWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NhbkNsaWNrU3RlcCcsICdjb21wbGV0ZWRTdGVwQXJyYXknLCAnZGlyZWN0aW9uJywgJ3N0ZXBzJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYVByb2dyZXNzVHJhY2tlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDdXJyZW50U3RlcFVwZGF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhUmFkaW8gZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FSYWRpbyB7XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIHJhZGlvIGlucHV0IGlzIGZvY3VzZWQgXG4gICAqL1xuICB2ZWdhRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgcmFkaW8gaW5wdXQgaXMgYmx1cnJlZCBcbiAgICovXG4gIHZlZ2FCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIGNoZWNrIHN0YXR1cyBvZiB0aGUgcmFkaW8gaW5wdXQgaXMgY2hhbmdlZCBcbiAgICovXG4gIHZlZ2FDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ25hbWUnLCAnc2l6ZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICduYW1lJywgJ3NpemUnLCAndmFsdWUnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhUmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhRm9jdXMnLCAndmVnYUJsdXInLCAndmVnYUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhUmFkaW9Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuVmVnYVJhZGlvR3JvdXAge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBjaGVja2VkIHJhZGlvIGJ1dHRvbiBpbiBncm91cCBpcyBjaGFuZ2VkIFxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2YWxpZGF0aW9uIHJlc3VsdCBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICB2ZWdhVmFsaWRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbicsICdoaW50JywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZScsICd2ZWdhRmxleFByb3AnXSxcbiAgbWV0aG9kczogWyd2YWxpZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1yYWRpby1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZm9ybVZhbGlkYXRpb24nLCAnaGludCcsICdpc1ZhbGlkJywgJ2xhYmVsJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnLCAndmVnYUZsZXhQcm9wJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYVJhZGlvR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhQ2hhbmdlJywgJ3ZlZ2FWYWxpZGF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhU2lkZW5hdiBleHRlbmRzIENvbXBvbmVudHMuVmVnYVNpZGVuYXYge1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSBuYXYgbWVudSBjbG9zZSBldmVudFxuVGhlIGJlbG93IG1ldGhvZCBpcyBlMmUtdGVzdCBjb3ZlcmVkIGluIEBzZWUge21vZHVsZSA6dmVnYS1zaWRlbmF2LXRvZ2dsZS1hbmQtdmVnYVN0YXRlVXBkYXRlfVxuICAgKi9cbiAgdmVnYVN0YXRlVXBkYXRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydmb290bm90ZScsICdoZWFkZXJDb25maWcnLCAnb3BlbkJ5RGVmYXVsdCcsICdzb3VyY2UnXSxcbiAgbWV0aG9kczogWyd0b2dnbGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2Etc2lkZW5hdicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZm9vdG5vdGUnLCAnaGVhZGVyQ29uZmlnJywgJ29wZW5CeURlZmF1bHQnLCAnc291cmNlJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYVNpZGVuYXYge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhU3RhdGVVcGRhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYVNpZGVuYXZHcm91cCBleHRlbmRzIENvbXBvbmVudHMuVmVnYVNpZGVuYXZHcm91cCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2ljb24nLCAnbGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2Etc2lkZW5hdi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaWNvbicsICdsYWJlbCddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FTaWRlbmF2R3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhU2lkZW5hdkxpbmsgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FTaWRlbmF2TGluayB7XG4gIC8qKlxuICAgKiBUaGUgYmVsb3cgbWV0aG9kIGlzIGUyZS10ZXN0IGNvdmVyZWQgaW4gQHNlZSB7bW9kdWxlIDp2ZWdhLXNpZGVuYXYtbGluay1jbGljay1ldmVudH1cbiAgICovXG4gIHZlZ2FDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnaWNvbicsICdzZWxlY3RlZCcsICdzaG93U2lkZUJhck9uQ2xpY2tMaW5rJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1zaWRlbmF2LWxpbmsnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2ljb24nLCAnc2VsZWN0ZWQnLCAnc2hvd1NpZGVCYXJPbkNsaWNrTGluaycsICd1cmwnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhU2lkZW5hdkxpbmsge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWyd2ZWdhQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYVN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FTdGVwcGVyIHtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgc3RlcHBlciB2YWx1ZSBpcyBjaGFuZ2VkIFxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICAvKipcbiAgICogZXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2YWxpZGF0aW9uIHJlc3VsdCBjaGFuZ2UgZXZlbnQgXG4gICAqL1xuICB2ZWdhVmFsaWRhdGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbicsICdpbnB1dEVkaXRhYmxlJywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdyZXF1aXJlZCcsICdzdGVwcGVySWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd2YWxpZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS1zdGVwcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbicsICdpbnB1dEVkaXRhYmxlJywgJ2lzVmFsaWQnLCAnbGFiZWwnLCAnbWF4JywgJ21pbicsICdyZXF1aXJlZCcsICdzdGVwcGVySWQnLCAndmFsdWUnXVxufSlcbmV4cG9ydCBjbGFzcyBWZWdhU3RlcHBlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDaGFuZ2UnLCAndmVnYVZhbGlkYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FUYWJHcm91cCBleHRlbmRzIENvbXBvbmVudHMuVmVnYVRhYkdyb3VwIHtcbiAgLyoqXG4gICAqIGV2ZW50IGVtaXR0ZXIgdXNlZCBmb3Igbm90aWZ5aW5nIGNvbnN1bWVycyB0aGUgdGFiIGlzIGNsaWNrZWQgXG4gICAqL1xuICB2ZWdhQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxzdHJpbmc+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2dhcCcsICdwb3NpdGlvblJlbGF0aXZlVG8nLCAnc2VsZWN0ZWRUYWJEYXRhVGFyZ2V0JywgJ3Nob3dDbG9zZUJ1dHRvbicsICd0YWJJdGVtcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS10YWItZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2dhcCcsICdwb3NpdGlvblJlbGF0aXZlVG8nLCAnc2VsZWN0ZWRUYWJEYXRhVGFyZ2V0JywgJ3Nob3dDbG9zZUJ1dHRvbicsICd0YWJJdGVtcyddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FUYWJHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDbGljayddKTtcbiAgfVxufVxuXG5pbXBvcnQgdHlwZSB7IFZlZ2FUYWJsZUNoYW5nZVByb3BUeXBlIGFzIElWZWdhVGFibGVWZWdhVGFibGVDaGFuZ2VQcm9wVHlwZSB9IGZyb20gJ0BoZWFydGxhbmRvbmUvdmVnYS9kaXN0L3R5cGVzL2NvbXBvbmVudHMvdmVnYS10YWJsZS92ZWdhLXRhYmxlJztcbmltcG9ydCB0eXBlIHsgVmVnYVRhYmxlUm93Q2xpY2tQcm9wVHlwZSBhcyBJVmVnYVRhYmxlVmVnYVRhYmxlUm93Q2xpY2tQcm9wVHlwZSB9IGZyb20gJ0BoZWFydGxhbmRvbmUvdmVnYS9kaXN0L3R5cGVzL2NvbXBvbmVudHMvdmVnYS10YWJsZS92ZWdhLXRhYmxlJztcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBWZWdhVGFibGUgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FUYWJsZSB7XG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIHZlZ2EtdGFibGUgY2hhbmdlIGV2ZW50IFxuICAgKi9cbiAgdmVnYUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElWZWdhVGFibGVWZWdhVGFibGVDaGFuZ2VQcm9wVHlwZT4+O1xuICAvKipcbiAgICogRXZlbnQgZW1pdHRlciB1c2VkIGZvciBub3RpZnlpbmcgY29uc3VtZXJzIHRoZSB2ZWdhLXRhYmxlIHJvdyBjbGljayBldmVudCBcbiAgICovXG4gIHZlZ2FSb3dDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElWZWdhVGFibGVWZWdhVGFibGVSb3dDbGlja1Byb3BUeXBlPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjb2x1bW5EaXZpZGVyJywgJ2NvbHVtbnMnLCAnZGF0YVNvdXJjZScsICdkZW5zaXR5JywgJ2VtcHR5RGVzY3JpcHRpb24nLCAncGFkZGluZ1gnLCAncGFnaW5hdGlvbicsICdyb3dDbGlja2FibGUnLCAncm93RGl2aWRlcicsICdyb3dFeHBhbmRhYmxlJywgJ3Jvd0tleScsICdyb3dTZWxlY3Rpb24nLCAnc2hvd0hlYWRlcicsICdzdHJpcGVkJ10sXG4gIG1ldGhvZHM6IFsnb3BlbkV4cGFuZFJvdycsICdjbG9zZUV4cGFuZFJvdycsICdjbG9zZUFsbEV4cGFuZFJvdycsICd0b2dnbGVFeHBhbmRSb3cnLCAnY2xlYXJTZWxlY3Rpb24nLCAnZ2V0U2VsZWN0aW9uJywgJ3NldFNlbGVjdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS10YWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY29sdW1uRGl2aWRlcicsICdjb2x1bW5zJywgJ2RhdGFTb3VyY2UnLCAnZGVuc2l0eScsICdlbXB0eURlc2NyaXB0aW9uJywgJ3BhZGRpbmdYJywgJ3BhZ2luYXRpb24nLCAncm93Q2xpY2thYmxlJywgJ3Jvd0RpdmlkZXInLCAncm93RXhwYW5kYWJsZScsICdyb3dLZXknLCAncm93U2VsZWN0aW9uJywgJ3Nob3dIZWFkZXInLCAnc3RyaXBlZCddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDaGFuZ2UnLCAndmVnYVJvd0NsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFZlZ2FUZXh0IGV4dGVuZHMgQ29tcG9uZW50cy5WZWdhVGV4dCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IHVuZGVmaW5lZCxcbiAgaW5wdXRzOiBbJ2NvbnRlbnQnLCAnZGlzcGxheVJ1bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtdGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY29udGVudCcsICdkaXNwbGF5UnVsZSddXG59KVxuZXhwb3J0IGNsYXNzIFZlZ2FUZXh0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYVRvZ2dsZVN3aXRjaCBleHRlbmRzIENvbXBvbmVudHMuVmVnYVRvZ2dsZVN3aXRjaCB7XG4gIC8qKlxuICAgKiBldmVudCBlbWl0dGVyIHVzZWQgZm9yIG5vdGlmeWluZyBjb25zdW1lcnMgdGhlIHRvZ2dsZSBzd2l0Y2ggaXMgY2hhbmdlZCBcbiAgICovXG4gIHZlZ2FDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxib29sZWFuPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiB1bmRlZmluZWQsXG4gIGlucHV0czogWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlZ2EtdG9nZ2xlLXN3aXRjaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdsYWJlbCcsICdzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYVRvZ2dsZVN3aXRjaCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ3ZlZ2FDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVmVnYVRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLlZlZ2FUb29sdGlwIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogdW5kZWZpbmVkLFxuICBpbnB1dHM6IFsnY29udGVudCcsICdwbGFjZW1lbnQnLCAncG9zaXRpb25SZWxhdGl2ZVRvJywgJ3NpemUnLCAndHJpZ2dlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVnYS10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjb250ZW50JywgJ3BsYWNlbWVudCcsICdwb3NpdGlvblJlbGF0aXZlVG8nLCAnc2l6ZScsICd0cmlnZ2VyJ11cbn0pXG5leHBvcnQgY2xhc3MgVmVnYVRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBbXG4gIFZlZ2FBY2NvcmRpb24sXG4gIFZlZ2FBcHBGb290ZXIsXG4gIFZlZ2FCYWRnZSxcbiAgVmVnYUJhbm5lcixcbiAgVmVnYUJ1dHRvbixcbiAgVmVnYUJ1dHRvbkNpcmNsZSxcbiAgVmVnYUJ1dHRvbkxpbmssXG4gIFZlZ2FDYXJkLFxuICBWZWdhQ2Fyb3VzZWwsXG4gIFZlZ2FDaGVja2JveCxcbiAgVmVnYUNoZWNrYm94R3JvdXAsXG4gIFZlZ2FEYXRlUGlja2VyLFxuICBWZWdhRHJvcGRvd24sXG4gIFZlZ2FGbGV4LFxuICBWZWdhRm9vdGVyLFxuICBWZWdhRm9ybSxcbiAgVmVnYUdyaWQsXG4gIFZlZ2FIZWFkZXIsXG4gIFZlZ2FJY29uLFxuICBWZWdhSW5wdXQsXG4gIFZlZ2FJbnB1dFNlbGVjdCxcbiAgVmVnYUl0ZW1Ub2dnbGUsXG4gIFZlZ2FNb2RhbCxcbiAgVmVnYU9wdGlvbixcbiAgVmVnYVBhZ2luYXRpb24sXG4gIFZlZ2FQcm9ncmVzc1RyYWNrZXIsXG4gIFZlZ2FSYWRpbyxcbiAgVmVnYVJhZGlvR3JvdXAsXG4gIFZlZ2FTaWRlbmF2LFxuICBWZWdhU2lkZW5hdkdyb3VwLFxuICBWZWdhU2lkZW5hdkxpbmssXG4gIFZlZ2FTdGVwcGVyLFxuICBWZWdhVGFiR3JvdXAsXG4gIFZlZ2FUYWJsZSxcbiAgVmVnYVRleHQsXG4gIFZlZ2FUb2dnbGVTd2l0Y2gsXG4gIFZlZ2FUb29sdGlwLFxuXTsiXX0=
|