UNPKG

ng-apexcharts-gogo

Version:
639 lines 49.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ // export declare class ApexCharts { // constructor(el: any, options: ApexOptions); // static exec(chartID: string, fn: () => void, options: any): any; // static initOnLoad(): void; // render(): Promise<void>; // updateOptions(options: any, redrawPaths: boolean, animate: boolean): Promise<void>; // updateSeries(newSeries: ApexAxisChartSeries | ApexNonAxisChartSeries, animate: boolean): void; // toggleSeries(seriesName: string): void; // destroy(): void; // addXaxisAnnotation(options: any, pushToMemory?: boolean, context?: any): void; // addYaxisAnnotation(options: any, pushToMemory?: boolean, context?: any): void; // addPointAnnotation(options: any, pushToMemory?: boolean, context?: any): void; // addText(options: any, pushToMemory?: boolean, context?: any): void; // dataURI(): void; // } /** * @record */ export function ApexOptions() { } if (false) { /** @type {?|undefined} */ ApexOptions.prototype.annotations; /** @type {?|undefined} */ ApexOptions.prototype.chart; /** @type {?|undefined} */ ApexOptions.prototype.colors; /** @type {?|undefined} */ ApexOptions.prototype.dataLabels; /** @type {?|undefined} */ ApexOptions.prototype.series; /** @type {?|undefined} */ ApexOptions.prototype.stroke; /** @type {?|undefined} */ ApexOptions.prototype.labels; /** @type {?|undefined} */ ApexOptions.prototype.legend; /** @type {?|undefined} */ ApexOptions.prototype.fill; /** @type {?|undefined} */ ApexOptions.prototype.tooltip; /** @type {?|undefined} */ ApexOptions.prototype.plotOptions; /** @type {?|undefined} */ ApexOptions.prototype.responsive; /** @type {?|undefined} */ ApexOptions.prototype.xaxis; /** @type {?|undefined} */ ApexOptions.prototype.yaxis; /** @type {?|undefined} */ ApexOptions.prototype.grid; /** @type {?|undefined} */ ApexOptions.prototype.states; /** @type {?|undefined} */ ApexOptions.prototype.title; /** @type {?|undefined} */ ApexOptions.prototype.subtitle; /** @type {?|undefined} */ ApexOptions.prototype.theme; } /** * Main Chart options * See https://apexcharts.com/docs/options/chart/ * @record */ export function ApexChart() { } if (false) { /** @type {?|undefined} */ ApexChart.prototype.width; /** @type {?|undefined} */ ApexChart.prototype.height; /** @type {?} */ ApexChart.prototype.type; /** @type {?|undefined} */ ApexChart.prototype.foreColor; /** @type {?|undefined} */ ApexChart.prototype.fontFamily; /** @type {?|undefined} */ ApexChart.prototype.background; /** @type {?|undefined} */ ApexChart.prototype.offsetX; /** @type {?|undefined} */ ApexChart.prototype.offsetY; /** @type {?|undefined} */ ApexChart.prototype.dropShadow; /** @type {?|undefined} */ ApexChart.prototype.events; /** @type {?|undefined} */ ApexChart.prototype.brush; /** @type {?|undefined} */ ApexChart.prototype.id; /** @type {?|undefined} */ ApexChart.prototype.locales; /** @type {?|undefined} */ ApexChart.prototype.defaultLocale; /** @type {?|undefined} */ ApexChart.prototype.sparkline; /** @type {?|undefined} */ ApexChart.prototype.stacked; /** @type {?|undefined} */ ApexChart.prototype.stackType; /** @type {?|undefined} */ ApexChart.prototype.toolbar; /** @type {?|undefined} */ ApexChart.prototype.zoom; /** @type {?|undefined} */ ApexChart.prototype.selection; /** @type {?|undefined} */ ApexChart.prototype.animations; } /** * @record */ export function ApexStates() { } if (false) { /** @type {?|undefined} */ ApexStates.prototype.normal; /** @type {?|undefined} */ ApexStates.prototype.hover; /** @type {?|undefined} */ ApexStates.prototype.active; } /** * Chart Title options * See https://apexcharts.com/docs/options/title/ * @record */ export function ApexTitleSubtitle() { } if (false) { /** @type {?|undefined} */ ApexTitleSubtitle.prototype.text; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.align; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.margin; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.offsetX; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.offsetY; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.floating; /** @type {?|undefined} */ ApexTitleSubtitle.prototype.style; } /** * Options for the line drawn on line and area charts. * See https://apexcharts.com/docs/options/stroke/ * @record */ export function ApexStroke() { } if (false) { /** @type {?|undefined} */ ApexStroke.prototype.show; /** @type {?|undefined} */ ApexStroke.prototype.curve; /** @type {?|undefined} */ ApexStroke.prototype.lineCap; /** @type {?|undefined} */ ApexStroke.prototype.colors; /** @type {?|undefined} */ ApexStroke.prototype.width; /** @type {?|undefined} */ ApexStroke.prototype.dashArray; } /** * @record */ export function ApexAnnotations() { } if (false) { /** @type {?|undefined} */ ApexAnnotations.prototype.position; /** @type {?|undefined} */ ApexAnnotations.prototype.yaxis; /** @type {?|undefined} */ ApexAnnotations.prototype.xaxis; /** @type {?|undefined} */ ApexAnnotations.prototype.points; } /** * @record */ export function AnnotationLabel() { } if (false) { /** @type {?|undefined} */ AnnotationLabel.prototype.borderColor; /** @type {?|undefined} */ AnnotationLabel.prototype.borderWidth; /** @type {?|undefined} */ AnnotationLabel.prototype.text; /** @type {?|undefined} */ AnnotationLabel.prototype.textAnchor; /** @type {?|undefined} */ AnnotationLabel.prototype.offsetX; /** @type {?|undefined} */ AnnotationLabel.prototype.offsetY; /** @type {?|undefined} */ AnnotationLabel.prototype.style; /** @type {?|undefined} */ AnnotationLabel.prototype.position; /** @type {?|undefined} */ AnnotationLabel.prototype.orientation; } /** * @record */ export function AnnotationStyle() { } if (false) { /** @type {?|undefined} */ AnnotationStyle.prototype.background; /** @type {?|undefined} */ AnnotationStyle.prototype.color; /** @type {?|undefined} */ AnnotationStyle.prototype.fontSize; /** @type {?|undefined} */ AnnotationStyle.prototype.cssClass; /** @type {?|undefined} */ AnnotationStyle.prototype.padding; } /** * @record */ export function XAxisAnnotations() { } if (false) { /** @type {?|undefined} */ XAxisAnnotations.prototype.x; /** @type {?|undefined} */ XAxisAnnotations.prototype.strokeDashArray; /** @type {?|undefined} */ XAxisAnnotations.prototype.borderColor; /** @type {?|undefined} */ XAxisAnnotations.prototype.offsetX; /** @type {?|undefined} */ XAxisAnnotations.prototype.offsetY; /** @type {?|undefined} */ XAxisAnnotations.prototype.label; } /** * @record */ export function YAxisAnnotations() { } if (false) { /** @type {?|undefined} */ YAxisAnnotations.prototype.y; /** @type {?|undefined} */ YAxisAnnotations.prototype.strokeDashArray; /** @type {?|undefined} */ YAxisAnnotations.prototype.borderColor; /** @type {?|undefined} */ YAxisAnnotations.prototype.offsetX; /** @type {?|undefined} */ YAxisAnnotations.prototype.offsetY; /** @type {?|undefined} */ YAxisAnnotations.prototype.yAxisIndex; /** @type {?|undefined} */ YAxisAnnotations.prototype.label; } /** * @record */ export function PointAnnotations() { } if (false) { /** @type {?|undefined} */ PointAnnotations.prototype.x; /** @type {?|undefined} */ PointAnnotations.prototype.y; /** @type {?|undefined} */ PointAnnotations.prototype.yAxisIndex; /** @type {?|undefined} */ PointAnnotations.prototype.seriesIndex; /** @type {?|undefined} */ PointAnnotations.prototype.marker; /** @type {?|undefined} */ PointAnnotations.prototype.label; } /** * Options for localization. * See https://apexcharts.com/docs/options/chart/locales * @record */ export function ApexLocale() { } if (false) { /** @type {?|undefined} */ ApexLocale.prototype.name; /** @type {?|undefined} */ ApexLocale.prototype.options; } /** * PlotOptions for specifying chart-type-specific configuration. * See https://apexcharts.com/docs/options/plotoptions/bar/ * @record */ export function ApexPlotOptions() { } if (false) { /** @type {?|undefined} */ ApexPlotOptions.prototype.bar; /** @type {?|undefined} */ ApexPlotOptions.prototype.candlestick; /** @type {?|undefined} */ ApexPlotOptions.prototype.heatmap; /** @type {?|undefined} */ ApexPlotOptions.prototype.pie; /** @type {?|undefined} */ ApexPlotOptions.prototype.radar; /** @type {?|undefined} */ ApexPlotOptions.prototype.radialBar; } /** * @record */ export function ApexFill() { } if (false) { /** @type {?|undefined} */ ApexFill.prototype.colors; /** @type {?|undefined} */ ApexFill.prototype.opacity; /** @type {?|undefined} */ ApexFill.prototype.type; /** @type {?|undefined} */ ApexFill.prototype.gradient; /** @type {?|undefined} */ ApexFill.prototype.image; /** @type {?|undefined} */ ApexFill.prototype.pattern; } /** * Chart Legend configuration options. * See https://apexcharts.com/docs/options/legend/ * @record */ export function ApexLegend() { } if (false) { /** @type {?|undefined} */ ApexLegend.prototype.show; /** @type {?|undefined} */ ApexLegend.prototype.showForSingleSeries; /** @type {?|undefined} */ ApexLegend.prototype.showForNullSeries; /** @type {?|undefined} */ ApexLegend.prototype.showForZeroSeries; /** @type {?|undefined} */ ApexLegend.prototype.floating; /** @type {?|undefined} */ ApexLegend.prototype.position; /** @type {?|undefined} */ ApexLegend.prototype.horizontalAlign; /** @type {?|undefined} */ ApexLegend.prototype.fontSize; /** @type {?|undefined} */ ApexLegend.prototype.fontFamily; /** @type {?|undefined} */ ApexLegend.prototype.width; /** @type {?|undefined} */ ApexLegend.prototype.height; /** @type {?|undefined} */ ApexLegend.prototype.offsetX; /** @type {?|undefined} */ ApexLegend.prototype.offsetY; /** @type {?|undefined} */ ApexLegend.prototype.textAnchor; /** @type {?|undefined} */ ApexLegend.prototype.labels; /** @type {?|undefined} */ ApexLegend.prototype.markers; /** @type {?|undefined} */ ApexLegend.prototype.itemMargin; /** @type {?|undefined} */ ApexLegend.prototype.containerMargin; /** @type {?|undefined} */ ApexLegend.prototype.onItemClick; /** @type {?|undefined} */ ApexLegend.prototype.onItemHover; /** * @param {?} val * @param {?} opts * @return {?} */ ApexLegend.prototype.formatter = function (val, opts) { }; } /** * Chart Datalabels options * See https://apexcharts.com/docs/options/datalabels/ * @record */ export function ApexDataLabels() { } if (false) { /** @type {?|undefined} */ ApexDataLabels.prototype.enabled; /** @type {?|undefined} */ ApexDataLabels.prototype.textAnchor; /** @type {?|undefined} */ ApexDataLabels.prototype.offsetX; /** @type {?|undefined} */ ApexDataLabels.prototype.offsetY; /** @type {?|undefined} */ ApexDataLabels.prototype.style; /** @type {?|undefined} */ ApexDataLabels.prototype.dropShadow; /** * @param {?} val * @param {?} opts * @return {?} */ ApexDataLabels.prototype.formatter = function (val, opts) { }; } /** * @record */ export function ApexResponsive() { } if (false) { /** @type {?|undefined} */ ApexResponsive.prototype.breakpoint; /** @type {?|undefined} */ ApexResponsive.prototype.options; } /** * Chart Tooltip options * See https://apexcharts.com/docs/options/tooltip/ * @record */ export function ApexTooltip() { } if (false) { /** @type {?|undefined} */ ApexTooltip.prototype.enabled; /** @type {?|undefined} */ ApexTooltip.prototype.shared; /** @type {?|undefined} */ ApexTooltip.prototype.followCursor; /** @type {?|undefined} */ ApexTooltip.prototype.intersect; /** @type {?|undefined} */ ApexTooltip.prototype.inverseOrder; /** @type {?|undefined} */ ApexTooltip.prototype.theme; /** @type {?|undefined} */ ApexTooltip.prototype.style; /** @type {?|undefined} */ ApexTooltip.prototype.fillSeriesColor; /** @type {?|undefined} */ ApexTooltip.prototype.onDatasetHover; /** @type {?|undefined} */ ApexTooltip.prototype.x; /** @type {?|undefined} */ ApexTooltip.prototype.y; /** @type {?|undefined} */ ApexTooltip.prototype.z; /** @type {?|undefined} */ ApexTooltip.prototype.marker; /** @type {?|undefined} */ ApexTooltip.prototype.items; /** @type {?|undefined} */ ApexTooltip.prototype.fixed; /** * @param {?} options * @return {?} */ ApexTooltip.prototype.custom = function (options) { }; } /** * X Axis options * See https://apexcharts.com/docs/options/xaxis/ * @record */ export function ApexXAxis() { } if (false) { /** @type {?|undefined} */ ApexXAxis.prototype.type; /** @type {?|undefined} */ ApexXAxis.prototype.categories; /** @type {?|undefined} */ ApexXAxis.prototype.labels; /** @type {?|undefined} */ ApexXAxis.prototype.axisBorder; /** @type {?|undefined} */ ApexXAxis.prototype.axisTicks; /** @type {?|undefined} */ ApexXAxis.prototype.tickAmount; /** @type {?|undefined} */ ApexXAxis.prototype.min; /** @type {?|undefined} */ ApexXAxis.prototype.max; /** @type {?|undefined} */ ApexXAxis.prototype.range; /** @type {?|undefined} */ ApexXAxis.prototype.floating; /** @type {?|undefined} */ ApexXAxis.prototype.position; /** @type {?|undefined} */ ApexXAxis.prototype.title; /** @type {?|undefined} */ ApexXAxis.prototype.crosshairs; /** @type {?|undefined} */ ApexXAxis.prototype.tooltip; } /** * Y Axis options * See https://apexcharts.com/docs/options/yaxis/ * @record */ export function ApexYAxis() { } if (false) { /** @type {?|undefined} */ ApexYAxis.prototype.show; /** @type {?|undefined} */ ApexYAxis.prototype.showAlways; /** @type {?|undefined} */ ApexYAxis.prototype.seriesName; /** @type {?|undefined} */ ApexYAxis.prototype.opposite; /** @type {?|undefined} */ ApexYAxis.prototype.logarithmic; /** @type {?|undefined} */ ApexYAxis.prototype.tickAmount; /** @type {?|undefined} */ ApexYAxis.prototype.forceNiceScale; /** @type {?|undefined} */ ApexYAxis.prototype.min; /** @type {?|undefined} */ ApexYAxis.prototype.max; /** @type {?|undefined} */ ApexYAxis.prototype.floating; /** @type {?|undefined} */ ApexYAxis.prototype.decimalsInFloat; /** @type {?|undefined} */ ApexYAxis.prototype.labels; /** @type {?|undefined} */ ApexYAxis.prototype.axisBorder; /** @type {?|undefined} */ ApexYAxis.prototype.axisTicks; /** @type {?|undefined} */ ApexYAxis.prototype.title; /** @type {?|undefined} */ ApexYAxis.prototype.crosshairs; /** @type {?|undefined} */ ApexYAxis.prototype.tooltip; } /** * Plot X and Y grid options * See https://apexcharts.com/docs/options/grid/ * @record */ export function ApexGrid() { } if (false) { /** @type {?|undefined} */ ApexGrid.prototype.show; /** @type {?|undefined} */ ApexGrid.prototype.borderColor; /** @type {?|undefined} */ ApexGrid.prototype.strokeDashArray; /** @type {?|undefined} */ ApexGrid.prototype.position; /** @type {?|undefined} */ ApexGrid.prototype.xaxis; /** @type {?|undefined} */ ApexGrid.prototype.yaxis; /** @type {?|undefined} */ ApexGrid.prototype.row; /** @type {?|undefined} */ ApexGrid.prototype.column; /** @type {?|undefined} */ ApexGrid.prototype.padding; } /** * @record */ export function ApexTheme() { } if (false) { /** @type {?|undefined} */ ApexTheme.prototype.palette; /** @type {?|undefined} */ ApexTheme.prototype.monochrome; } /** * @record */ function ApexDiscretePoint() { } if (false) { /** @type {?|undefined} */ ApexDiscretePoint.prototype.seriesIndex; /** @type {?|undefined} */ ApexDiscretePoint.prototype.dataPointIndex; /** @type {?|undefined} */ ApexDiscretePoint.prototype.fillColor; /** @type {?|undefined} */ ApexDiscretePoint.prototype.strokeColor; /** @type {?|undefined} */ ApexDiscretePoint.prototype.size; } /** * @record */ export function ApexMarkers() { } if (false) { /** @type {?|undefined} */ ApexMarkers.prototype.size; /** @type {?|undefined} */ ApexMarkers.prototype.colors; /** @type {?|undefined} */ ApexMarkers.prototype.strokeColor; /** @type {?|undefined} */ ApexMarkers.prototype.strokeWidth; /** @type {?|undefined} */ ApexMarkers.prototype.strokeOpacity; /** @type {?|undefined} */ ApexMarkers.prototype.fillOpacity; /** @type {?|undefined} */ ApexMarkers.prototype.discrete; /** @type {?|undefined} */ ApexMarkers.prototype.shape; /** @type {?|undefined} */ ApexMarkers.prototype.radius; /** @type {?|undefined} */ ApexMarkers.prototype.offsetX; /** @type {?|undefined} */ ApexMarkers.prototype.offsetY; /** @type {?|undefined} */ ApexMarkers.prototype.hover; } /** * @record */ export function ApexNoData() { } if (false) { /** @type {?|undefined} */ ApexNoData.prototype.text; /** @type {?|undefined} */ ApexNoData.prototype.align; /** @type {?|undefined} */ ApexNoData.prototype.verticalAlign; /** @type {?|undefined} */ ApexNoData.prototype.offsetX; /** @type {?|undefined} */ ApexNoData.prototype.offsetY; /** @type {?|undefined} */ ApexNoData.prototype.style; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBleC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWFwZXhjaGFydHMvIiwic291cmNlcyI6WyJsaWIvbW9kZWwvYXBleC10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLGlDQW9CQzs7O0lBbkJDLGtDQUE4Qjs7SUFDOUIsNEJBQWtCOztJQUNsQiw2QkFBa0I7O0lBQ2xCLGlDQUE0Qjs7SUFDNUIsNkJBQXNEOztJQUN0RCw2QkFBb0I7O0lBQ3BCLDZCQUFrQjs7SUFDbEIsNkJBQW9COztJQUNwQiwyQkFBZ0I7O0lBQ2hCLDhCQUFzQjs7SUFDdEIsa0NBQThCOztJQUM5QixpQ0FBOEI7O0lBQzlCLDRCQUFrQjs7SUFDbEIsNEJBQWdDOztJQUNoQywyQkFBZ0I7O0lBQ2hCLDZCQUFvQjs7SUFDcEIsNEJBQTBCOztJQUMxQiwrQkFBNkI7O0lBQzdCLDRCQUFrQjs7Ozs7OztBQU9wQiwrQkEyR0M7OztJQTFHQywwQkFBd0I7O0lBQ3hCLDJCQUF5Qjs7SUFDekIseUJBQWdCOztJQUNoQiw4QkFBbUI7O0lBQ25CLCtCQUFvQjs7SUFDcEIsK0JBQW9COztJQUNwQiw0QkFBaUI7O0lBQ2pCLDRCQUFpQjs7SUFDakIsK0JBTUU7O0lBQ0YsMkJBY0U7O0lBQ0YsMEJBSUU7O0lBQ0YsdUJBQVk7O0lBQ1osNEJBQXVCOztJQUN2QixrQ0FBdUI7O0lBQ3ZCLDhCQUVFOztJQUNGLDRCQUFrQjs7SUFDbEIsOEJBQThCOztJQUM5Qiw0QkFZRTs7SUFDRix5QkFjRTs7SUFDRiw4QkFxQkU7O0lBQ0YsK0JBWUU7Ozs7O0FBR0osZ0NBb0JDOzs7SUFuQkMsNEJBS0U7O0lBQ0YsMkJBS0U7O0lBQ0YsNEJBTUU7Ozs7Ozs7QUFPSix1Q0FXQzs7O0lBVkMsaUNBQWM7O0lBQ2Qsa0NBQW9DOztJQUNwQyxtQ0FBZ0I7O0lBQ2hCLG9DQUFpQjs7SUFDakIsb0NBQWlCOztJQUNqQixxQ0FBa0I7O0lBQ2xCLGtDQUdFOzs7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RiwrQkE0QkU7O0lBQ0YsNEJBR0U7Ozs7Ozs7QUFPSiwrQkFtRUM7OztJQWxFQyx5QkFBZTs7SUFDZiwrQkFBcUI7O0lBQ3JCLCtCQUFvQjs7SUFDcEIsNkJBQW1COztJQUNuQixnQ0FBc0I7O0lBQ3RCLCtCQUFvQjs7SUFDcEIsbUNBQXlCOztJQUN6Qix3QkFBYTs7SUFDYix3QkFBYTs7SUFDYiw2QkFBbUI7O0lBQ25CLG9DQUF5Qjs7SUFDekIsMkJBZ0JFOztJQUNGLCtCQUtFOztJQUNGLDhCQU1FOztJQUNGLDBCQVdFOztJQUNGLCtCQVFFOztJQUNGLDRCQUdFOzs7Ozs7O0FBT0osOEJBaUNDOzs7SUFoQ0Msd0JBQWU7O0lBQ2YsK0JBQXFCOztJQUNyQixtQ0FBeUI7O0lBQ3pCLDRCQUE0Qjs7SUFDNUIseUJBTUU7O0lBQ0YseUJBTUU7O0lBQ0YsdUJBR0U7O0lBQ0YsMEJBR0U7O0lBQ0YsMkJBS0U7Ozs7O0FBR0osK0JBUUM7OztJQVBDLDRCQUFpQjs7SUFDakIsK0JBS0U7Ozs7O0FBR0osZ0NBTUM7OztJQUxDLHdDQUFxQjs7SUFDckIsMkNBQXdCOztJQUN4QixzQ0FBbUI7O0lBQ25CLHdDQUFxQjs7SUFDckIsaUNBQWM7Ozs7O0FBR2hCLGlDQWdCQzs7O0lBZkMsMkJBQWM7O0lBQ2QsNkJBQWtCOztJQUNsQixrQ0FBcUI7O0lBQ3JCLGtDQUFxQjs7SUFDckIsb0NBQXVCOztJQUN2QixrQ0FBcUI7O0lBQ3JCLCtCQUErQjs7SUFDL0IsNEJBQTRCOztJQUM1Qiw2QkFBZ0I7O0lBQ2hCLDhCQUFpQjs7SUFDakIsOEJBQWlCOztJQUNqQiw0QkFHRTs7Ozs7QUFJSixnQ0FXQzs7O0lBVkMsMEJBQWM7O0lBQ2QsMkJBQW9DOztJQUNwQyxtQ0FBNEM7O0lBQzVDLDZCQUFpQjs7SUFDakIsNkJBQWlCOztJQUNqQiwyQkFJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGV4cG9ydCBkZWNsYXJlIGNsYXNzIEFwZXhDaGFydHMge1xuLy8gICBjb25zdHJ1Y3RvcihlbDogYW55LCBvcHRpb25zOiBBcGV4T3B0aW9ucyk7XG4vLyAgIHN0YXRpYyBleGVjKGNoYXJ0SUQ6IHN0cmluZywgZm46ICgpID0+IHZvaWQsIG9wdGlvbnM6IGFueSk6IGFueTtcbi8vICAgc3RhdGljIGluaXRPbkxvYWQoKTogdm9pZDtcbi8vICAgcmVuZGVyKCk6IFByb21pc2U8dm9pZD47XG4vLyAgIHVwZGF0ZU9wdGlvbnMob3B0aW9uczogYW55LCByZWRyYXdQYXRoczogYm9vbGVhbiwgYW5pbWF0ZTogYm9vbGVhbik6IFByb21pc2U8dm9pZD47XG4vLyAgIHVwZGF0ZVNlcmllcyhuZXdTZXJpZXM6IEFwZXhBeGlzQ2hhcnRTZXJpZXMgfCBBcGV4Tm9uQXhpc0NoYXJ0U2VyaWVzLCBhbmltYXRlOiBib29sZWFuKTogdm9pZDtcbi8vICAgdG9nZ2xlU2VyaWVzKHNlcmllc05hbWU6IHN0cmluZyk6IHZvaWQ7XG4vLyAgIGRlc3Ryb3koKTogdm9pZDtcbi8vICAgYWRkWGF4aXNBbm5vdGF0aW9uKG9wdGlvbnM6IGFueSwgcHVzaFRvTWVtb3J5PzogYm9vbGVhbiwgY29udGV4dD86IGFueSk6IHZvaWQ7XG4vLyAgIGFkZFlheGlzQW5ub3RhdGlvbihvcHRpb25zOiBhbnksIHB1c2hUb01lbW9yeT86IGJvb2xlYW4sIGNvbnRleHQ/OiBhbnkpOiB2b2lkO1xuLy8gICBhZGRQb2ludEFubm90YXRpb24ob3B0aW9uczogYW55LCBwdXNoVG9NZW1vcnk/OiBib29sZWFuLCBjb250ZXh0PzogYW55KTogdm9pZDtcbi8vICAgYWRkVGV4dChvcHRpb25zOiBhbnksIHB1c2hUb01lbW9yeT86IGJvb2xlYW4sIGNvbnRleHQ/OiBhbnkpOiB2b2lkO1xuLy8gICBkYXRhVVJJKCk6IHZvaWQ7XG4vLyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBleE9wdGlvbnMge1xuICBhbm5vdGF0aW9ucz86IEFwZXhBbm5vdGF0aW9ucztcbiAgY2hhcnQ/OiBBcGV4Q2hhcnQ7XG4gIGNvbG9ycz86IHN0cmluZ1tdO1xuICBkYXRhTGFiZWxzPzogQXBleERhdGFMYWJlbHM7XG4gIHNlcmllcz86IEFwZXhBeGlzQ2hhcnRTZXJpZXMgfCBBcGV4Tm9uQXhpc0NoYXJ0U2VyaWVzO1xuICBzdHJva2U/OiBBcGV4U3Ryb2tlO1xuICBsYWJlbHM/OiBzdHJpbmdbXTtcbiAgbGVnZW5kPzogQXBleExlZ2VuZDtcbiAgZmlsbD86IEFwZXhGaWxsO1xuICB0b29sdGlwPzogQXBleFRvb2x0aXA7XG4gIHBsb3RPcHRpb25zPzogQXBleFBsb3RPcHRpb25zO1xuICByZXNwb25zaXZlPzogQXBleFJlc3BvbnNpdmVbXTtcbiAgeGF4aXM/OiBBcGV4WEF4aXM7XG4gIHlheGlzPzogQXBleFlBeGlzIHwgQXBleFlBeGlzW107XG4gIGdyaWQ/OiBBcGV4R3JpZDtcbiAgc3RhdGVzPzogQXBleFN0YXRlcztcbiAgdGl0bGU/OiBBcGV4VGl0bGVTdWJ0aXRsZTtcbiAgc3VidGl0bGU/OiBBcGV4VGl0bGVTdWJ0aXRsZTtcbiAgdGhlbWU/OiBBcGV4VGhlbWU7XG59XG5cbi8qKlxuICogTWFpbiBDaGFydCBvcHRpb25zXG4gKiBTZWUgaHR0cHM6Ly9hcGV4Y2hhcnRzLmNvbS9kb2NzL29wdGlvbnMvY2hhcnQvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBleENoYXJ0IHtcbiAgd2lkdGg/OiBzdHJpbmcgfCBudW1iZXI7XG4gIGhlaWdodD86IHN0cmluZyB8IG51bWJlcjtcbiAgdHlwZTogQ2hhcnRUeXBlO1xuICBmb3JlQ29sb3I/OiBzdHJpbmc7XG4gIGZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIG9mZnNldFg/OiBudW1iZXI7XG4gIG9mZnNldFk/OiBudW1iZXI7XG4gIGRyb3BTaGFkb3c/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgdG9wPzogbnVtYmVyO1xuICAgIGxlZnQ/OiBudW1iZXI7XG4gICAgYmx1cj86IG51bWJlcjtcbiAgICBvcGFjaXR5PzogbnVtYmVyO1xuICB9O1xuICBldmVudHM/OiB7XG4gICAgYW5pbWF0aW9uRW5kPyhjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIGJlZm9yZU1vdW50PyhjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIG1vdW50ZWQ/KGNoYXJ0OiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQ7XG4gICAgdXBkYXRlZD8oY2hhcnQ6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgICBjbGljaz8oZTogYW55LCBjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIGxlZ2VuZENsaWNrPyhjaGFydDogYW55LCBzZXJpZXNJbmRleDogbnVtYmVyLCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIHNlbGVjdGlvbj8oY2hhcnQ6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgICBkYXRhUG9pbnRTZWxlY3Rpb24/KGU6IGFueSwgY2hhcnQ6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgICBkYXRhUG9pbnRNb3VzZUVudGVyPyhlOiBhbnksIGNoYXJ0OiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQ7XG4gICAgZGF0YVBvaW50TW91c2VMZWF2ZT8oZTogYW55LCBjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIGJlZm9yZVpvb20/KGNoYXJ0OiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQ7XG4gICAgem9vbWVkPyhjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICAgIHNjcm9sbGVkPyhjaGFydDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICB9O1xuICBicnVzaD86IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICBhdXRvU2NhbGVZYXhpcz86IGJvb2xlYW4sXG4gICAgdGFyZ2V0Pzogc3RyaW5nO1xuICB9O1xuICBpZD86IHN0cmluZztcbiAgbG9jYWxlcz86IEFwZXhMb2NhbGVbXTtcbiAgZGVmYXVsdExvY2FsZT86IHN0cmluZztcbiAgc3BhcmtsaW5lPzoge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICB9O1xuICBzdGFja2VkPzogYm9vbGVhbjtcbiAgc3RhY2tUeXBlPzogJ25vcm1hbCcgfCAnMTAwJSc7XG4gIHRvb2xiYXI/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgdG9vbHM/OiB7XG4gICAgICBkb3dubG9hZD86IGJvb2xlYW47XG4gICAgICBzZWxlY3Rpb24/OiBib29sZWFuO1xuICAgICAgem9vbT86IGJvb2xlYW47XG4gICAgICB6b29taW4/OiBib29sZWFuO1xuICAgICAgem9vbW91dD86IGJvb2xlYW47XG4gICAgICBwYW4/OiBib29sZWFuO1xuICAgICAgcmVzZXQ/OiBib29sZWFuO1xuICAgIH07XG4gICAgYXV0b1NlbGVjdGVkPzogJ3pvb20nIHwgJ3NlbGVjdGlvbicgfCAncGFuJztcbiAgfTtcbiAgem9vbT86IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICB0eXBlPzogJ3gnIHwgJ3knIHwgJ3h5JztcbiAgICB6b29tZWRBcmVhPzoge1xuICAgICAgZmlsbD86IHtcbiAgICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICAgIG9wYWNpdHk/OiBudW1iZXJcbiAgICAgIH07XG4gICAgICBzdHJva2U/OiB7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICBvcGFjaXR5PzogbnVtYmVyO1xuICAgICAgICB3aWR0aD86IG51bWJlclxuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgc2VsZWN0aW9uPzoge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgZmlsbD86IHtcbiAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgb3BhY2l0eT86IG51bWJlcjtcbiAgICB9O1xuICAgIHN0cm9rZT86IHtcbiAgICAgIHdpZHRoPzogbnVtYmVyO1xuICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICBvcGFjaXR5PzogbnVtYmVyO1xuICAgICAgZGFzaEFycmF5PzogbnVtYmVyXG4gICAgfTtcbiAgICB4YXhpcz86IHtcbiAgICAgIG1pbj86IG51bWJlcjtcbiAgICAgIG1heD86IG51bWJlcjtcbiAgICB9O1xuICAgIHlheGlzPzoge1xuICAgICAgbWluPzogbnVtYmVyO1xuICAgICAgbWF4PzogbnVtYmVyXG4gICAgfTtcbiAgfTtcbiAgYW5pbWF0aW9ucz86IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICBlYXNpbmc/OiAnbGluZWFyJyB8ICdlYXNlaW4nIHwgJ2Vhc2VvdXQnIHwgJ2Vhc2Vpbm91dCc7XG4gICAgc3BlZWQ/OiBudW1iZXI7XG4gICAgYW5pbWF0ZUdyYWR1YWxseT86IHtcbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgZGVsYXk/OiBudW1iZXI7XG4gICAgfTtcbiAgICBkeW5hbWljQW5pbWF0aW9uPzoge1xuICAgICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgICBzcGVlZD86IG51bWJlcjtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBleFN0YXRlcyB7XG4gIG5vcm1hbD86IHtcbiAgICBmaWx0ZXI/OiB7XG4gICAgICB0eXBlPzogc3RyaW5nLFxuICAgICAgdmFsdWU/OiBudW1iZXJcbiAgICB9XG4gIH07XG4gIGhvdmVyPzoge1xuICAgIGZpbHRlcj86IHtcbiAgICAgIHR5cGU/OiBzdHJpbmcsXG4gICAgICB2YWx1ZT86IG51bWJlclxuICAgIH1cbiAgfTtcbiAgYWN0aXZlPzoge1xuICAgIGFsbG93TXVsdGlwbGVEYXRhUG9pbnRzU2VsZWN0aW9uPzogYm9vbGVhbixcbiAgICBmaWx0ZXI/OiB7XG4gICAgICB0eXBlPzogc3RyaW5nLFxuICAgICAgdmFsdWU/OiBudW1iZXJcbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogQ2hhcnQgVGl0bGUgb3B0aW9uc1xuICogU2VlIGh0dHBzOi8vYXBleGNoYXJ0cy5jb20vZG9jcy9vcHRpb25zL3RpdGxlL1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhUaXRsZVN1YnRpdGxlIHtcbiAgdGV4dD86IHN0cmluZztcbiAgYWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIG1hcmdpbj86IG51bWJlcjtcbiAgb2Zmc2V0WD86IG51bWJlcjtcbiAgb2Zmc2V0WT86IG51bWJlcjtcbiAgZmxvYXRpbmc/OiBudW1iZXI7XG4gIHN0eWxlPzoge1xuICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIENoYXJ0IFNlcmllcyBvcHRpb25zLlxuICogVXNlIEFwZXhOb25BeGlzQ2hhcnRTZXJpZXMgZm9yIFBpZSBhbmQgRG9udXQgY2hhcnRzLlxuICogU2VlIGh0dHBzOi8vYXBleGNoYXJ0cy5jb20vZG9jcy9vcHRpb25zL3Nlcmllcy9cbiAqL1xuZXhwb3J0IHR5cGUgQXBleEF4aXNDaGFydFNlcmllcyA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBkYXRhOiBudW1iZXJbXSB8IHsgeDogc3RyaW5nOyB5OiBudW1iZXIgfVtdO1xufVtdO1xuXG5leHBvcnQgdHlwZSBBcGV4Tm9uQXhpc0NoYXJ0U2VyaWVzID0gbnVtYmVyW107XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGxpbmUgZHJhd24gb24gbGluZSBhbmQgYXJlYSBjaGFydHMuXG4gKiBTZWUgaHR0cHM6Ly9hcGV4Y2hhcnRzLmNvbS9kb2NzL29wdGlvbnMvc3Ryb2tlL1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhTdHJva2Uge1xuICBzaG93PzogYm9vbGVhbjtcbiAgY3VydmU/OiAnc21vb3RoJyB8ICdzdHJhaWdodCcgfCAnc3RlcGxpbmUnO1xuICBsaW5lQ2FwPzogJ2J1dHQnIHwgJ3NxdWFyZScgfCAncm91bmQnO1xuICBjb2xvcnM/OiBzdHJpbmc7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBkYXNoQXJyYXk/OiBudW1iZXIgfCBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGV4QW5ub3RhdGlvbnMge1xuICBwb3NpdGlvbj86IHN0cmluZztcbiAgeWF4aXM/OiBZQXhpc0Fubm90YXRpb25zW107XG4gIHhheGlzPzogWEF4aXNBbm5vdGF0aW9uc1tdO1xuICBwb2ludHM/OiBQb2ludEFubm90YXRpb25zW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5ub3RhdGlvbkxhYmVsIHtcbiAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGJvcmRlcldpZHRoPzogbnVtYmVyO1xuICB0ZXh0Pzogc3RyaW5nO1xuICB0ZXh0QW5jaG9yPzogc3RyaW5nO1xuICBvZmZzZXRYPzogbnVtYmVyO1xuICBvZmZzZXRZPzogbnVtYmVyO1xuICBzdHlsZT86IEFubm90YXRpb25TdHlsZTtcbiAgcG9zaXRpb24/OiBzdHJpbmc7XG4gIG9yaWVudGF0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFubm90YXRpb25TdHlsZSB7XG4gIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBmb250U2l6ZT86IHN0cmluZztcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIHBhZGRpbmc/OiB7XG4gICAgbGVmdD86IG51bWJlcjtcbiAgICByaWdodD86IG51bWJlcjtcbiAgICB0b3A/OiBudW1iZXI7XG4gICAgYm90dG9tPzogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFhBeGlzQW5ub3RhdGlvbnMge1xuICB4PzogbnVtYmVyO1xuICBzdHJva2VEYXNoQXJyYXk/OiBudW1iZXI7XG4gIGJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBvZmZzZXRYPzogbnVtYmVyO1xuICBvZmZzZXRZPzogbnVtYmVyO1xuICBsYWJlbD86IHtcbiAgICBib3JkZXJDb2xvcj86IHN0cmluZztcbiAgICBib3JkZXJXaWR0aD86IG51bWJlcjtcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIHRleHRBbmNob3I/OiBzdHJpbmc7XG4gICAgcG9zaXRpb24/OiBzdHJpbmc7XG4gICAgb3JpZW50YXRpb24/OiBzdHJpbmc7XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgIHN0eWxlPzogQW5ub3RhdGlvblN0eWxlO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFlBeGlzQW5ub3RhdGlvbnMge1xuICB5PzogbnVtYmVyO1xuICBzdHJva2VEYXNoQXJyYXk/OiBudW1iZXI7XG4gIGJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBvZmZzZXRYPzogbnVtYmVyO1xuICBvZmZzZXRZPzogbnVtYmVyO1xuICB5QXhpc0luZGV4PzogbnVtYmVyO1xuICBsYWJlbD86IEFubm90YXRpb25MYWJlbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2ludEFubm90YXRpb25zIHtcbiAgeD86IG51bWJlcjtcbiAgeT86IG51bGw7XG4gIHlBeGlzSW5kZXg/OiBudW1iZXI7XG4gIHNlcmllc0luZGV4PzogbnVtYmVyO1xuICBtYXJrZXI/OiB7XG4gICAgc2l6ZT86IG51bWJlcjtcbiAgICBmaWxsQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgc2hhcGU/OiBzdHJpbmc7XG4gICAgcmFkaXVzPzogbnVtYmVyO1xuICB9O1xuICBsYWJlbD86IEFubm90YXRpb25MYWJlbDtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBsb2NhbGl6YXRpb24uXG4gKiBTZWUgaHR0cHM6Ly9hcGV4Y2hhcnRzLmNvbS9kb2NzL29wdGlvbnMvY2hhcnQvbG9jYWxlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhMb2NhbGUge1xuICBuYW1lPzogc3RyaW5nO1xuICBvcHRpb25zPzoge1xuICAgIG1vbnRocz86IHN0cmluZ1tdO1xuICAgIHNob3J0TW9udGhzPzogc3RyaW5nW107XG4gICAgZGF5cz86IHN0cmluZ1tdO1xuICAgIHNob3J0RGF5cz86IHN0cmluZ1tdO1xuICAgIHRvb2xiYXI/OiB7XG4gICAgICBkb3dubG9hZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGlvbj86IHN0cmluZztcbiAgICAgIHNlbGVjdGlvblpvb20/OiBzdHJpbmc7XG4gICAgICB6b29tSW4/OiBzdHJpbmc7XG4gICAgICB6b29tT3V0Pzogc3RyaW5nO1xuICAgICAgcGFuPzogc3RyaW5nO1xuICAgICAgcmVzZXQ/OiBzdHJpbmc7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIFBsb3RPcHRpb25zIGZvciBzcGVjaWZ5aW5nIGNoYXJ0LXR5cGUtc3BlY2lmaWMgY29uZmlndXJhdGlvbi5cbiAqIFNlZSBodHRwczovL2FwZXhjaGFydHMuY29tL2RvY3Mvb3B0aW9ucy9wbG90b3B0aW9ucy9iYXIvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBleFBsb3RPcHRpb25zIHtcbiAgYmFyPzoge1xuICAgIGhvcml6b250YWw/OiBib29sZWFuO1xuICAgIGVuZGluZ1NoYXBlPzogJ2ZsYXQnIHwgJ3JvdW5kZWQnIHwgJ2Fycm93JztcbiAgICBjb2x1bW5XaWR0aD86IHN0cmluZztcbiAgICBiYXJIZWlnaHQ/OiBzdHJpbmc7XG4gICAgZGlzdHJpYnV0ZWQ/OiBib29sZWFuO1xuICAgIGNvbG9ycz86IHtcbiAgICAgIHJhbmdlcz86IHtcbiAgICAgICAgZnJvbT86IG51bWJlcjtcbiAgICAgICAgdG8/OiBudW1iZXI7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgICAgYmFja2dyb3VuZEJhckNvbG9ycz86IHN0cmluZ1tdO1xuICAgICAgYmFja2dyb3VuZEJhck9wYWNpdHk/OiBudW1iZXI7XG4gICAgfTtcbiAgICBkYXRhTGFiZWxzPzoge1xuICAgICAgcG9zaXRpb24/OiBzdHJpbmc7XG4gICAgfVxuICB9O1xuICBjYW5kbGVzdGljaz86IHtcbiAgICBjb2xvcnM/OiB7XG4gICAgICB1cHdhcmQ/OiBzdHJpbmc7XG4gICAgICBkb3dud2FyZD86IHN0cmluZztcbiAgICB9O1xuICAgIHdpY2s/OiB7XG4gICAgICB1c2VGaWxsQ29sb3I/OiBib29sZWFuXG4gICAgfVxuICB9O1xuICBoZWF0bWFwPzoge1xuICAgIHJhZGl1cz86IG51bWJlcjtcbiAgICBlbmFibGVTaGFkZXM/OiBib29sZWFuO1xuICAgIHNoYWRlSW50ZW5zaXR5PzogbnVtYmVyO1xuICAgIGRpc3RyaWJ1dGVkPzogYm9vbGVhbjtcbiAgICBjb2xvclNjYWxlPzoge1xuICAgICAgcmFuZ2VzPzoge1xuICAgICAgICBmcm9tPzogbnVtYmVyO1xuICAgICAgICB0bz86IG51bWJlcjtcbiAgICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgICBpbnZlcnNlPzogYm9vbGVhbjtcbiAgICAgIG1pbj86IG51bWJlcjtcbiAgICAgIG1heD86IG51bWJlcjtcbiAgICB9XG4gIH07XG4gIHBpZT86IHtcbiAgICBzaXplPzogbnVtYmVyO1xuICAgIGN1c3RvbVNjYWxlPzogbnVtYmVyO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICBleHBhbmRPbkNsaWNrPzogYm9vbGVhbjtcbiAgICBkYXRhTGFiZWxzPzoge1xuICAgICAgb2Zmc2V0PzogbnVtYmVyO1xuICAgIH07XG4gICAgZG9udXQ/OiB7XG4gICAgICBzaXplPzogc3RyaW5nO1xuICAgICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgICAgIGxhYmVsczoge1xuICAgICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgICAgbmFtZT86IHtcbiAgICAgICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgICAgICBmb250U2l6ZT86IHN0cmluZztcbiAgICAgICAgICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICAgICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICAgIG9mZnNldFk/OiBudW1iZXJcbiAgICAgICAgfTtcbiAgICAgICAgdmFsdWU/OiB7XG4gICAgICAgICAgc2hvdz86IGJvb2xlYW47XG4gICAgICAgICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgICAgICAgZm9udEZhbWlseT86IHN0cmluZztcbiAgICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgICAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgICAgICAgIGZvcm1hdHRlcj8odmFsOiBzdHJpbmcpOiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIHRvdGFsPzoge1xuICAgICAgICAgIHNob3c/OiBib29sZWFuO1xuICAgICAgICAgIGxhYmVsPzogc3RyaW5nO1xuICAgICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgICAgIGZvcm1hdHRlcj8odzogYW55KTogc3RyaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfTtcbiAgcmFkYXI/OiB7XG4gICAgc2l6ZT86IG51bWJlcjtcbiAgICBvZmZzZXRYPzogbnVtYmVyO1xuICAgIG9mZnNldFk/OiBudW1iZXI7XG4gICAgcG9seWdvbnM/OiB7XG4gICAgICBzdHJva2VDb2xvcj86IHN0cmluZztcbiAgICAgIGNvbm5lY3RvckNvbG9ycz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgICAgZmlsbD86IHtcbiAgICAgICAgY29sb3JzPzogc3RyaW5nW11cbiAgICAgIH1cbiAgICB9XG4gIH07XG4gIHJhZGlhbEJhcj86IHtcbiAgICBzaXplPzogbnVtYmVyO1xuICAgIGludmVyc2VPcmRlcj86IGJvb2xlYW47XG4gICAgc3RhcnRBbmdsZT86IG51bWJlcjtcbiAgICBlbmRBbmdsZT86IG51bWJlcjtcbiAgICBvZmZzZXRYPzogbnVtYmVyO1xuICAgIG9mZnNldFk/OiBudW1iZXI7XG4gICAgaG9sbG93Pzoge1xuICAgICAgbWFyZ2luPzogbnVtYmVyO1xuICAgICAgc2l6ZT86IHN0cmluZztcbiAgICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgICBpbWFnZT86IHN0cmluZztcbiAgICAgIHdpZHRoPzogbnVtYmVyO1xuICAgICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICAgIG9mZnNldFk/OiBudW1iZXI7XG4gICAgICBjbGlwcGVkPzogYm9vbGVhbjtcbiAgICAgIHBvc2l0aW9uPzogJ2Zyb250JyB8ICdiYWNrJztcbiAgICB9O1xuICAgIHRyYWNrPzoge1xuICAgICAgc2hvdz86IGJvb2xlYW47XG4gICAgICBzdGFydEFuZ2xlPzogbnVtYmVyO1xuICAgICAgZW5kQW5nbGU/OiBudW1iZXI7XG4gICAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICAgICAgc3Ryb2tlV2lkdGg/OiBzdHJpbmc7XG4gICAgICBvcGFjaXR5PzogbnVtYmVyO1xuICAgICAgbWFyZ2luPzogbnVtYmVyO1xuICAgICAgZHJvcFNoYWRvdz86IHtcbiAgICAgICAgZW5hYmxlZD86IGJvb2xlYW47XG4gICAgICAgIHRvcD86IG51bWJlcjtcbiAgICAgICAgbGVmdD86IG51bWJlcjtcbiAgICAgICAgYmx1cj86IG51bWJlcjtcbiAgICAgICAgb3BhY2l0eT86IG51bWJlclxuICAgICAgfVxuICAgIH07XG4gICAgZGF0YUxhYmVscz86IHtcbiAgICAgIHNob3c/OiBib29sZWFuO1xuICAgICAgbmFtZT86IHtcbiAgICAgICAgc2hvdz86IGJvb2xlYW47XG4gICAgICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICAgIH07XG4gICAgICB2YWx1ZT86IHtcbiAgICAgICAgc2hvdz86IGJvb2xlYW47XG4gICAgICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICAgICAgZm9ybWF0dGVyPyh2YWw6IG51bWJlcik6IHN0cmluZztcbiAgICAgIH07XG4gICAgICB0b3RhbD86IHtcbiAgICAgICAgc2hvdz86IGJvb2xlYW47XG4gICAgICAgIGxhYmVsPzogc3RyaW5nO1xuICAgICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgICAgZm9ybWF0dGVyPyhvcHRzOiBhbnkpOiBzdHJpbmc7XG4gICAgICB9O1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGV4RmlsbCB7XG4gIGNvbG9ycz86IHN0cmluZ1tdO1xuICBvcGFjaXR5PzogbnVtYmVyO1xuICB0eXBlPzogc3RyaW5nO1xuICBncmFkaWVudD86IHtcbiAgICBzaGFkZT86IHN0cmluZztcbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIHNoYWRlSW50ZW5zaXR5PzogbnVtYmVyO1xuICAgIGdyYWRpZW50VG9Db2xvcnM/OiBzdHJpbmdbXTtcbiAgICBpbnZlcnNlQ29sb3JzPzogYm9vbGVhbjtcbiAgICBvcGFjaXR5RnJvbT86IG51bWJlcjtcbiAgICBvcGFjaXR5VG8/OiBudW1iZXI7XG4gICAgc3RvcHM/OiBudW1iZXJbXVxuICB9O1xuICBpbWFnZT86IHtcbiAgICBzcmM/OiBzdHJpbmdbXTtcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXJcbiAgfTtcbiAgcGF0dGVybj86IHtcbiAgICBzdHlsZT86IHN0cmluZztcbiAgICB3aWR0aD86IG51bWJlcjtcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gIH07XG59XG5cbi8qKlxuICogQ2hhcnQgTGVnZW5kIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqIFNlZSBodHRwczovL2FwZXhjaGFydHMuY29tL2RvY3Mvb3B0aW9ucy9sZWdlbmQvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBleExlZ2VuZCB7XG4gIHNob3c/OiBib29sZWFuO1xuICBzaG93Rm9yU2luZ2xlU2VyaWVzPzogYm9vbGVhbjtcbiAgc2hvd0Zvck51bGxTZXJpZXM/OiBib29sZWFuO1xuICBzaG93Rm9yWmVyb1Nlcmllcz86IGJvb2xlYW47XG4gIGZsb2F0aW5nPzogYm9vbGVhbjtcbiAgcG9zaXRpb24/OiAndG9wJyB8ICdyaWdodCcgfCAnYm90dG9tJyB8ICdsZWZ0JztcbiAgaG9yaXpvbnRhbEFsaWduPzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuICBmb250U2l6ZT86IHN0cmluZztcbiAgZm9udEZhbWlseT86IHN0cmluZztcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgb2Zmc2V0WD86IG51bWJlcjtcbiAgb2Zmc2V0WT86IG51bWJlcjtcbiAgdGV4dEFuY2hvcj86IHN0cmluZztcbiAgbGFiZWxzPzoge1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIHVzZVNlcmllc0NvbG9ycz86IGJvb2xlYW47XG4gIH07XG4gIG1hcmtlcnM/OiB7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICByYWRpdXM/OiBudW1iZXI7XG4gICAgc2hhcGU/OiAnY2lyY2xlJyB8ICdzcXVhcmUnO1xuICAgIGN1c3RvbUhUTUw/KCk6IHN0cmluZztcbiAgICBvbkNsaWNrPygpOiB2b2lkO1xuICB9O1xuICBpdGVtTWFyZ2luPzoge1xuICAgIGhvcml6b250YWw/OiBudW1iZXI7XG4gICAgdmVydGljYWw/OiBudW1iZXI7XG4gIH07XG4gIGNvbnRhaW5lck1hcmdpbj86IHtcbiAgICBsZWZ0PzogbnVtYmVyO1xuICAgIHRvcD86IG51bWJlcjtcbiAgfTtcbiAgb25JdGVtQ2xpY2s/OiB7XG4gICAgdG9nZ2xlRGF0YVNlcmllcz86IGJvb2xlYW47XG4gIH07XG4gIG9uSXRlbUhvdmVyPzoge1xuICAgIGhpZ2hsaWdodERhdGFTZXJpZXM/OiBib29sZWFuO1xuICB9O1xuICBmb3JtYXR0ZXI/KHZhbDogc3RyaW5nLCBvcHRzOiBhbnkpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ2hhcnQgRGF0YWxhYmVscyBvcHRpb25zXG4gKiBTZWUgaHR0cHM6Ly9hcGV4Y2hhcnRzLmNvbS9kb2NzL29wdGlvbnMvZGF0YWxhYmVscy9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGV4RGF0YUxhYmVscyB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICB0ZXh0QW5jaG9yPzogJ3N0YXJ0JyB8ICdtaWRkbGUnIHwgJ2VuZCc7XG4gIG9mZnNldFg/OiBudW1iZXI7XG4gIG9mZnNldFk/OiBudW1iZXI7XG4gIHN0eWxlPzoge1xuICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgIGZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgY29sb3JzPzogc3RyaW5nW107XG4gIH07XG4gIGRyb3BTaGFkb3c/OiB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICB0b3A/OiBudW1iZXI7XG4gICAgbGVmdD86IG51bWJlcjtcbiAgICBibHVyPzogbnVtYmVyO1xuICAgIG9wYWNpdHk/OiBudW1iZXI7XG4gIH07XG4gIGZvcm1hdHRlcj8odmFsOiBudW1iZXIsIG9wdHM6IGFueSk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGV4UmVzcG9uc2l2ZSB7XG4gIGJyZWFrcG9pbnQ/OiBudW1iZXI7XG4gIG9wdGlvbnM/OiBhbnk7XG59XG5cbi8qKlxuICogQ2hhcnQgVG9vbHRpcCBvcHRpb25zXG4gKiBTZWUgaHR0cHM6Ly9hcGV4Y2hhcnRzLmNvbS9kb2NzL29wdGlvbnMvdG9vbHRpcC9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGV4VG9vbHRpcCB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBzaGFyZWQ/OiBib29sZWFuO1xuICBmb2xsb3dDdXJzb3I/OiBib29sZWFuO1xuICBpbnRlcnNlY3Q/OiBib29sZWFuO1xuICBpbnZlcnNlT3JkZXI/OiBib29sZWFuO1xuICB0aGVtZT86IHN0cmluZztcbiAgc3R5bGU/OiB7XG4gICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgZm9udEZhbWlseT86IHN0cmluZztcbiAgfTtcbiAgZmlsbFNlcmllc0NvbG9yPzogYm9vbGVhbjtcbiAgb25EYXRhc2V0SG92ZXI/OiB7XG4gICAgaGlnaGxpZ2h0REF0YVNlcmllcz86IGJvb2xlYW47XG4gIH07XG4gIHg/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgZm9ybWF0Pzogc3RyaW5nO1xuICAgIGZvcm1hdHRlcj8odmFsOiBudW1iZXIpOiBzdHJpbmc7XG4gIH07XG4gIHk/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgdGl0bGU/OiB7XG4gICAgICBmb3JtYXR0ZXI/KHNlcmllc05hbWU6IHN0cmluZyk6IHN0cmluZztcbiAgICB9XG4gICAgZm9ybWF0dGVyPyh2YWw6IG51bWJlcik6IHN0cmluZztcbiAgfTtcbiAgej86IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBmb3JtYXR0ZXI/KHZhbDogbnVtYmVyKTogc3RyaW5nO1xuICB9O1xuICBtYXJrZXI/OiB7XG4gICAgc2hvdz86IGJvb2xlYW5cbiAgfTtcbiAgaXRlbXM/OiB7XG4gICAgZGlzcGxheT86IHN0cmluZ1xuICB9O1xuICBmaXhlZD86IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICBwb3NpdGlvbj86IHN0cmluZzsgLy8gdG9wUmlnaHQ7IHRvcExlZnQ7IGJvdHRvbVJpZ2h0OyBib3R0b21MZWZ0XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyXG4gIH07XG4gIGN1c3RvbT8ob3B0aW9uczogYW55KTogdm9pZDtcbn1cblxuLyoqXG4gKiBYIEF4aXMgb3B0aW9uc1xuICogU2VlIGh0dHBzOi8vYXBleGNoYXJ0cy5jb20vZG9jcy9vcHRpb25zL3hheGlzL1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhYQXhpcyB7XG4gIHR5cGU/OiAnY2F0ZWdvcmllcycgfCAnZGF0ZXRpbWUnIHwgJ251bWVyaWMnO1xuICBjYXRlZ29yaWVzPzogc3RyaW5nW10gfCBudW1iZXJbXTtcbiAgbGFiZWxzPzoge1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIHJvdGF0ZT86IG51bWJlcjtcbiAgICByb3RhdGVBbHdheXM/OiBib29sZWFuO1xuICAgIGhpZGVPdmVybGFwcGluZ0xhYmVscz86IGJvb2xlYW47XG4gICAgc2hvd0R1cGxpY2F0ZXM/OiBib29sZWFuO1xuICAgIHRyaW0/OiBib29sZWFuO1xuICAgIG1pbkhlaWdodD86IG51bWJlcjtcbiAgICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gICAgc3R5bGU/OiB7XG4gICAgICBjb2xvcnM/OiBzdHJpbmdbXTtcbiAgICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgICAgZm9udEZhbWlseT86IHN0cmluZztcbiAgICAgIGNzc0NsYXNzPzogc3RyaW5nO1xuICAgIH07XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgIGZvcm1hdD86IHN0cmluZztcbiAgICBkYXRldGltZUZvcm1hdHRlcj86IHtcbiAgICAgIHllYXI/OiBzdHJpbmc7XG4gICAgICBtb250aD86IHN0cmluZztcbiAgICAgIGRheT86IHN0cmluZztcbiAgICAgIGhvdXI/OiBzdHJpbmc7XG4gICAgICBtaW51dGU/OiBzdHJpbmc7XG4gICAgfTtcbiAgICBmb3JtYXR0ZXI/KHZhbHVlOiBzdHJpbmcsIHRpbWVzdGFtcDogbnVtYmVyKTogc3RyaW5nO1xuICB9O1xuICBheGlzQm9yZGVyPzoge1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgfTtcbiAgYXhpc1RpY2tzPzoge1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIGJvcmRlclR5cGU/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgfTtcbiAgdGlja0Ftb3VudD86IG51bWJlcjtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG4gIHJhbmdlPzogbnVtYmVyO1xuICBmbG9hdGluZz86IGJvb2xlYW47XG4gIHBvc2l0aW9uPzogc3RyaW5nO1xuICB0aXRsZT86IHtcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICBzdHlsZT86IHtcbiAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgICBjc3NDbGFzcz86IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBjcm9zc2hhaXJzPzoge1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIHdpZHRoPzogbnVtYmVyIHwgc3RyaW5nO1xuICAgIHBvc2l0aW9uPzogc3RyaW5nO1xuICAgIG9wYWNpdHk/OiBudW1iZXI7XG4gICAgc3Ryb2tlPzoge1xuICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICB3aWR0aD86IG51bWJlcjtcbiAgICAgIGRhc2hBcnJheT86IG51bWJlcjtcbiAgICB9O1xuICAgIGZpbGw/OiB7XG4gICAgICB0eXBlPzogc3RyaW5nO1xuICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICBncmFkaWVudD86IHtcbiAgICAgICAgY29sb3JGcm9tPzogc3RyaW5nO1xuICAgICAgICBjb2xvclRvPzogc3RyaW5nO1xuICAgICAgICBzdG9wcz86IG51bWJlcltdO1xuICAgICAgICBvcGFjaXR5RnJvbT86IG51bWJlcjtcbiAgICAgICAgb3BhY2l0eVRvPzogbnVtYmVyO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGRyb3BTaGFkb3c/OiB7XG4gICAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICAgIHRvcD86IG51bWJlcjtcbiAgICAgIGxlZnQ/OiBudW1iZXI7XG4gICAgICBibHVyPzogbnVtYmVyO1xuICAgICAgb3BhY2l0eT86IG51bWJlcjtcbiAgICB9O1xuICB9O1xuICB0b29sdGlwPzoge1xuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIG9mZnNldFk/OiBudW1iZXI7XG4gIH07XG59XG5cbi8qKlxuICogWSBBeGlzIG9wdGlvbnNcbiAqIFNlZSBodHRwczovL2FwZXhjaGFydHMuY29tL2RvY3Mvb3B0aW9ucy95YXhpcy9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGV4WUF4aXMge1xuICBzaG93PzogYm9vbGVhbjtcbiAgc2hvd0Fsd2F5cz86IGJvb2xlYW47XG4gIHNlcmllc05hbWU/OiBzdHJpbmc7XG4gIG9wcG9zaXRlPzogYm9vbGVhbjtcbiAgbG9nYXJpdGhtaWM/OiBib29sZWFuO1xuICB0aWNrQW1vdW50PzogbnVtYmVyO1xuICBmb3JjZU5pY2VTY2FsZT86IGJvb2xlYW4sXG4gIG1pbj86IG51bWJlcjtcbiAgbWF4PzogbnVtYmVyO1xuICBmbG9hdGluZz86IGJvb2xlYW47XG4gIGRlY2ltYWxzSW5GbG9hdD86IG51bWJlcjtcbiAgbGFiZWxzPzoge1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIG1pbldpZHRoPzogbnVtYmVyO1xuICAgIG1heFdpZHRoPzogbnVtYmVyO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICByb3RhdGU/OiBudW1iZXI7XG4gICAgYWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gICAgcGFkZGluZz86IG51bWJlcixcbiAgICBzdHlsZT86IHtcbiAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICAgICAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gICAgfTtcbiAgICBmb3JtYXR0ZXI/KHZhbDogbnVtYmVyKTogc3RyaW5nO1xuICB9O1xuICBheGlzQm9yZGVyPzoge1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WT86IG51bWJlclxuICB9O1xuICBheGlzVGlja3M/OiB7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WD86IG51bWJlcjtcbiAgICBvZmZzZXRZPzogbnVtYmVyXG4gIH07XG4gIHRpdGxlPzoge1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgcm90YXRlPzogbnVtYmVyO1xuICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgb2Zmc2V0WT86IG51bWJlcjtcbiAgICBzdHlsZT86IHtcbiAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgICAgZm9udFNpemU/OiBzdHJpbmc7XG4gICAgICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICAgICAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgY3Jvc3NoYWlycz86IHtcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICBwb3NpdGlvbj86IHN0cmluZztcbiAgICBzdHJva2U/OiB7XG4gICAgICBjb2xvcj86IHN0cmluZztcbiAgICAgIHdpZHRoPzogbnVtYmVyO1xuICAgICAgZGFzaEFycmF5PzogbnVtYmVyXG4gICAgfTtcbiAgfTtcbiAgdG9vbHRpcD86IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICBvZmZzZXRYPzogbnVtYmVyO1xuICB9O1xufVxuXG4vKipcbiAqIFBsb3QgWCBhbmQgWSBncmlkIG9wdGlvbnNcbiAqIFNlZSBodHRwczovL2FwZXhjaGFydHMuY29tL2RvY3Mvb3B0aW9ucy9ncmlkL1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhHcmlkIHtcbiAgc2hvdz86IGJvb2xlYW47XG4gIGJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBzdHJva2VEYXNoQXJyYXk/OiBudW1iZXI7XG4gIHBvc2l0aW9uPzogJ2Zyb250JyB8ICdiYWNrJztcbiAgeGF4aXM/OiB7XG4gICAgbGluZXM/OiB7XG4gICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgIH1cbiAgfTtcbiAgeWF4aXM/OiB7XG4gICAgbGluZXM/OiB7XG4gICAgICBzaG93PzogYm9vbGVhbjtcbiAgICAgIG9mZnNldFg/OiBudW1iZXI7XG4gICAgICBvZmZzZXRZPzogbnVtYmVyO1xuICAgIH1cbiAgfTtcbiAgcm93Pzoge1xuICAgIGNvbG9ycz86IHN0cmluZ1tdO1xuICAgIG9wYWNpdHk/OiBudW1iZXJcbiAgfTtcbiAgY29sdW1uPzoge1xuICAgIGNvbG9ycz86IHN0cmluZ1tdO1xuICAgIG9wYWNpdHk/OiBudW1iZXI7XG4gIH07XG4gIHBhZGRpbmc/OiB7XG4gICAgdG9wPzogbnVtYmVyO1xuICAgIHJpZ2h0PzogbnVtYmVyO1xuICAgIGJvdHRvbT86IG51bWJlcjtcbiAgICBsZWZ0PzogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhUaGVtZSB7XG4gIHBhbGV0dGU/OiBzdHJpbmc7XG4gIG1vbm9jaHJvbWU/OiB7XG4gICAgZW5hYmxlZD86IGJvb2xlYW4sXG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgc2hhZGVUbz86ICdsaWdodCcgfCAnZGFyayc7XG4gICAgc2hhZGVJbnRlbnNpdHk/OiBudW1iZXJcbiAgfTtcbn1cblxuaW50ZXJmYWNlIEFwZXhEaXNjcmV0ZVBvaW50IHtcbiAgc2VyaWVzSW5kZXg/OiBudW1iZXI7XG4gIGRhdGFQb2ludEluZGV4PzogbnVtYmVyO1xuICBmaWxsQ29sb3I/OiBzdHJpbmc7XG4gIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICBzaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhNYXJrZXJzIHtcbiAgc2l6ZT86IG51bWJlcjtcbiAgY29sb3JzPzogc3RyaW5nW107XG4gIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgc3Ryb2tlT3BhY2l0eT86IG51bWJlcjtcbiAgZmlsbE9wYWNpdHk/OiBudW1iZXI7XG4gIGRpc2NyZXRlPzogQXBleERpc2NyZXRlUG9pbnRbXTtcbiAgc2hhcGU/OiAnY2lyY2xlJyB8ICdzcXVhcmUnO1xuICByYWRpdXM/OiBudW1iZXI7XG4gIG9mZnNldFg/OiBudW1iZXI7XG4gIG9mZnNldFk/OiBudW1iZXI7XG4gIGhvdmVyPzoge1xuICAgIHNpemU/OiBudW1iZXI7XG4gICAgc2l6ZU9mZnNldD86IG51bWJlcjtcbiAgfTtcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIEFwZXhOb0RhdGEge1xuICB0ZXh0Pzogc3RyaW5nLFxuICBhbGlnbj86ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyxcbiAgdmVydGljYWxBbGlnbj86ICd0b3AnIHwgJ21pZGRsZScgfCAnYm90dG9tJyxcbiAgb2Zmc2V0WD86IG51bWJlcixcbiAgb2Zmc2V0WT86IG51bWJlcixcbiAgc3R5bGU/OiB7XG4gICAgY29sb3I/OiBzdHJpbmcsXG4gICAgZm9udFNpemU/OiBzdHJpbmcsXG4gICAgZm9udEZhbWlseT86IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIENoYXJ0VHlwZSA9ICdsaW5lJyB8ICdhcmVhJyB8ICdiYXInIHwgJ2hpc3RvZ3JhbScgfCAncGllJyB8ICdkb251dCcgfFxuICAncmFkaWFsQmFyJyB8ICdzY2F0dGVyJyB8ICdidWJibGUnIHwgJ2hlYXRtYXAnIHwgJ2NhbmRsZXN0aWNrJyB8ICdyYWRhcic7XG4iXX0=