com.phloxui
Version:
PhloxUI Ng2+ Framework
237 lines (236 loc) • 18.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core';
import { WizardModel } from '../model/WizardModel';
import { PhloxAppService } from '../../service/PhloxAppService.service';
import { AbstractWizardPane } from './AbstractWizardPane';
import { Option } from '../../decorator/Option.decorator';
import { I18N } from '../../decorator/I18N.decorator';
const /** @type {?} */ TYPE_NAME = "phx-pagination-wizard-pane";
export class PaginationWizardPane extends AbstractWizardPane {
/**
* @param {?} appSvc
* @param {?} elementRef
*/
constructor(appSvc, elementRef) {
super(appSvc, elementRef);
}
/**
* @return {?}
*/
ngOnInit() {
super.ngOnInit();
}
/**
* @param {?} index
* @return {?}
*/
showStepContent(index) { }
/**
* @param {?} index
* @return {?}
*/
getStepInstance(index) { }
}
PaginationWizardPane.TYPE_NAME = TYPE_NAME;
PaginationWizardPane.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: `<div class="phx-pagination-wizard-pane">
<div class="left" [style.padding-top]="getHeaderHeight() + 'pt'" [style.padding-bottom]="getFooterHeight() + 'pt'">
<div class="header" [style.height]="getHeaderHeight() + 'pt'">
<ng-template [ngIf]="getModel() !== null && getModel().header !== null">
<ng-template [ngIf]="getModel().header.type === null">
<div *ngIf="getModel().header.imageURL !== null && getModel().header.imageURL !== ''" class="header-image">
<img src="{{getModel().header.imageURL}}">
</div>
<div class="header-label">{{getModel().header.label}}</div>
</ng-template>
<ng-template [ngIf]="getModel().header.type !== null">
<phx-component-wrapper [type]="getModel().header.type" [data]="getModel().header.model"></phx-component-wrapper>
</ng-template>
</ng-template>
</div>
<div class="body">
<ng-template [ngIf]="getModel() !== null && getModel().steps !== null">
<div *ngFor="let item of getModel().steps; let i = index;" class="step" [class.active]="isStepSelected(i)" >
<ng-template [ngIf]="item.type === null">
<div (click)="stepSelected(i)"> {{item.label}} </div>
</ng-template>
<ng-template [ngIf]="item.type !== null">
<phx-component-wrapper [type]="item.type" [data]="item.model" (click)="stepSelected(i)"></phx-component-wrapper>
</ng-template>
</div>
</ng-template>
</div>
<div class="footer" [style.height]="getFooterHeight() + 'pt'">
<ng-template [ngIf]="getModel() !== null && getModel().footer !== null">
<ng-template [ngIf]="getModel().footer.type === null">
{{getModel().footer.label}}
</ng-template>
<ng-template [ngIf]="getModel().footer.type !== null">
<phx-component-wrapper [type]="getModel().footer.type" [data]="getModel().footer.model"></phx-component-wrapper>
</ng-template>
</ng-template>
</div>
</div>
<div class="right">
<ng-template [ngIf]="getModel() !== null && getModel().steps !== null">
<!-- <phx-component-wrapper *ngFor="let item of model.steps; let i = index;" [class.active]="isStepSelected(i)" [type]="item.componentType"
[data]="data" [model]="item.componentModel" [dataParent]="this" [handler]="stepsComponentHandler"></phx-component-wrapper> -->
<phx-component-wrapper *ngFor="let item of getModel().steps; let i = index;" [class.active]="isStepSelected(i)" [type]="item.componentType"
[data]="getData()" [model]="item.componentModel" [options]="item.componentOptions" [dataParent]="this"></phx-component-wrapper>
</ng-template>
</div>
</div>
`
},] },
];
/** @nocollapse */
PaginationWizardPane.ctorParameters = () => [
{ type: PhloxAppService, },
{ type: ElementRef, },
];
PaginationWizardPane.propDecorators = {
"help": [{ type: Input },],
"dataParent": [{ type: Input },],
"ignoreParentData": [{ type: Input },],
"data": [{ type: Input },],
"ignoreParentDisabled": [{ type: Input },],
"delegateHistory": [{ type: Input },],
"onDisabled": [{ type: Input },],
"onEnabled": [{ type: Input },],
"loadingEnabled": [{ type: Input },],
"i18nKey": [{ type: Input },],
"bypass": [{ type: Input, args: ['i18nBypass',] },],
"options": [{ type: Input },],
"disabled": [{ type: Input },],
"model": [{ type: Input },],
"field": [{ type: Input },],
"loadEvent": [{ type: Output, args: ['phxLoad',] },],
"changeEvent": [{ type: Output, args: ['phxChange',] },],
"beforeChangeEvent": [{ type: Output, args: ['phxBeforeChange',] },],
};
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Object)
], PaginationWizardPane.prototype, "help", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], PaginationWizardPane.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], PaginationWizardPane.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], PaginationWizardPane.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], PaginationWizardPane.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], PaginationWizardPane.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], PaginationWizardPane.prototype, "disabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", WizardModel)
], PaginationWizardPane.prototype, "model", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], PaginationWizardPane.prototype, "field", void 0);
tslib_1.__decorate([
Option('load'),
tslib_1.__metadata("design:type", EventEmitter)
], PaginationWizardPane.prototype, "loadEvent", void 0);
tslib_1.__decorate([
Option('change'),
tslib_1.__metadata("design:type", EventEmitter)
], PaginationWizardPane.prototype, "changeEvent", void 0);
tslib_1.__decorate([
Option('beforeChange'),
tslib_1.__metadata("design:type", EventEmitter)
], PaginationWizardPane.prototype, "beforeChangeEvent", void 0);
function PaginationWizardPane_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
PaginationWizardPane.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
PaginationWizardPane.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
PaginationWizardPane.propDecorators;
/** @type {?} */
PaginationWizardPane.TYPE_NAME;
/** @type {?} */
PaginationWizardPane.prototype.help;
/** @type {?} */
PaginationWizardPane.prototype.dataParent;
/** @type {?} */
PaginationWizardPane.prototype.ignoreParentData;
/** @type {?} */
PaginationWizardPane.prototype.data;
/** @type {?} */
PaginationWizardPane.prototype.ignoreParentDisabled;
/** @type {?} */
PaginationWizardPane.prototype.delegateHistory;
/** @type {?} */
PaginationWizardPane.prototype.onDisabled;
/** @type {?} */
PaginationWizardPane.prototype.onEnabled;
/** @type {?} */
PaginationWizardPane.prototype.loadingEnabled;
/** @type {?} */
PaginationWizardPane.prototype.i18nKey;
/** @type {?} */
PaginationWizardPane.prototype.bypass;
/** @type {?} */
PaginationWizardPane.prototype.options;
/** @type {?} */
PaginationWizardPane.prototype.disabled;
/** @type {?} */
PaginationWizardPane.prototype.model;
/** @type {?} */
PaginationWizardPane.prototype.field;
/** @type {?} */
PaginationWizardPane.prototype.loadEvent;
/** @type {?} */
PaginationWizardPane.prototype.changeEvent;
/** @type {?} */
PaginationWizardPane.prototype.beforeChangeEvent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnaW5hdGlvbldpemFyZFBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L2RhdGF2aWV3L1BhZ2luYXRpb25XaXphcmRQYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl0RCx1QkFBTSxTQUFTLEdBQVcsNEJBQTRCLENBQUM7QUFzRHZELE1BQU0sMkJBQTRCLFNBQVEsa0JBQWtCOzs7OztJQW9FMUQsWUFBWSxNQUF1QixFQUFFLFVBQXNCO1FBQ3pELEtBQUssQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDM0I7Ozs7SUFFTSxRQUFRO1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDOzs7Ozs7SUFHWixlQUFlLENBQUMsS0FBYTs7Ozs7SUFFN0IsZUFBZSxDQUFDLEtBQWE7O2lDQTVFTyxTQUFTOztZQXREckQsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDbkIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQ1g7YUFDQTs7OztZQWhFUSxlQUFlO1lBRkksVUFBVTs7O3FCQXlFbkMsS0FBSzsyQkFLTCxLQUFLO2lDQUdMLEtBQUs7cUJBR0wsS0FBSztxQ0FHTCxLQUFLO2dDQUdMLEtBQUs7MkJBR0wsS0FBSzswQkFHTCxLQUFLOytCQUdMLEtBQUs7d0JBR0wsS0FBSzt1QkFHTCxLQUFLLFNBQUMsWUFBWTt3QkFHbEIsS0FBSzt5QkFFTCxLQUFLO3NCQUlMLEtBQUs7c0JBSUwsS0FBSzswQkFNTCxNQUFNLFNBQUMsU0FBUzs0QkFJaEIsTUFBTSxTQUFDLFdBQVc7a0NBR2xCLE1BQU0sU0FBQyxpQkFBaUI7OztJQXpEeEIsSUFBSSxFQUFFO0lBQ04sTUFBTSxFQUFFOzs7O0lBSVIsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFO3NDQUNhLFFBQVE7OztJQUU3QixNQUFNLEVBQUU7c0NBQ1ksUUFBUTs7O0lBRTVCLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sQ0FBQyxZQUFZLENBQUM7Ozs7SUFLcEIsTUFBTSxFQUFFOzs7O0lBSVIsTUFBTSxFQUFFO3NDQUNRLFdBQVc7OztJQUczQixNQUFNLEVBQUU7Ozs7SUFNUixNQUFNLENBQUMsTUFBTSxDQUFDO3NDQUNNLFlBQVk7OztJQUdoQyxNQUFNLENBQUMsUUFBUSxDQUFDO3NDQUNNLFlBQVk7OztJQUVsQyxNQUFNLENBQUMsY0FBYyxDQUFDO3NDQUNNLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgRWxlbWVudFJlZiwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpemFyZE1vZGVsIH0gZnJvbSAnLi4vbW9kZWwvV2l6YXJkTW9kZWwnO1xuaW1wb3J0IHsgUGhsb3hBcHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9QaGxveEFwcFNlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBJSGFzTW9kZWwgfSBmcm9tICcuLi9JSGFzTW9kZWwnO1xuaW1wb3J0IHsgSUhhc0RhdGEgfSBmcm9tICcuLi9JSGFzRGF0YSc7XG5pbXBvcnQgeyBQaGxveEFwcCB9IGZyb20gJy4uL1BobG94QXBwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdFdpemFyZFBhbmUgfSBmcm9tICcuL0Fic3RyYWN0V2l6YXJkUGFuZSc7XG5pbXBvcnQgeyBJQ2hhbmdlYWJsZSB9IGZyb20gJy4uL0lDaGFuZ2VhYmxlJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uLy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcbmltcG9ydCB7IEkxOE4gfSBmcm9tICcuLi8uLi9kZWNvcmF0b3IvSTE4Ti5kZWNvcmF0b3InO1xuXG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbmNvbnN0IFRZUEVfTkFNRTogc3RyaW5nID0gXCJwaHgtcGFnaW5hdGlvbi13aXphcmQtcGFuZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgbW9kdWxlSWQ6IG1vZHVsZS5pZCxcbiAgc2VsZWN0b3I6IFRZUEVfTkFNRSxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicGh4LXBhZ2luYXRpb24td2l6YXJkLXBhbmVcIj5cblx0PGRpdiBjbGFzcz1cImxlZnRcIiBbc3R5bGUucGFkZGluZy10b3BdPVwiZ2V0SGVhZGVySGVpZ2h0KCkgKyAncHQnXCIgW3N0eWxlLnBhZGRpbmctYm90dG9tXT1cImdldEZvb3RlckhlaWdodCgpICsgJ3B0J1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJoZWFkZXJcIiBbc3R5bGUuaGVpZ2h0XT1cImdldEhlYWRlckhlaWdodCgpICsgJ3B0J1wiPlxuXHRcdFx0PG5nLXRlbXBsYXRlIFtuZ0lmXT1cImdldE1vZGVsKCkgIT09IG51bGwgJiYgZ2V0TW9kZWwoKS5oZWFkZXIgIT09IG51bGxcIj5cblx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ0lmXT1cImdldE1vZGVsKCkuaGVhZGVyLnR5cGUgPT09IG51bGxcIj5cblx0XHRcdFx0XHQ8ZGl2ICpuZ0lmPVwiZ2V0TW9kZWwoKS5oZWFkZXIuaW1hZ2VVUkwgIT09IG51bGwgJiYgZ2V0TW9kZWwoKS5oZWFkZXIuaW1hZ2VVUkwgIT09ICcnXCIgY2xhc3M9XCJoZWFkZXItaW1hZ2VcIj5cblx0XHRcdFx0XHRcdDxpbWcgc3JjPVwie3tnZXRNb2RlbCgpLmhlYWRlci5pbWFnZVVSTH19XCI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImhlYWRlci1sYWJlbFwiPnt7Z2V0TW9kZWwoKS5oZWFkZXIubGFiZWx9fTwvZGl2PlxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKS5oZWFkZXIudHlwZSAhPT0gbnVsbFwiPlxuXHRcdFx0XHRcdDxwaHgtY29tcG9uZW50LXdyYXBwZXIgW3R5cGVdPVwiZ2V0TW9kZWwoKS5oZWFkZXIudHlwZVwiIFtkYXRhXT1cImdldE1vZGVsKCkuaGVhZGVyLm1vZGVsXCI+PC9waHgtY29tcG9uZW50LXdyYXBwZXI+XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJib2R5XCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKSAhPT0gbnVsbCAmJiBnZXRNb2RlbCgpLnN0ZXBzICE9PSBudWxsXCI+XG5cdFx0XHRcdDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0TW9kZWwoKS5zdGVwczsgbGV0IGkgPSBpbmRleDtcIiBjbGFzcz1cInN0ZXBcIiBbY2xhc3MuYWN0aXZlXT1cImlzU3RlcFNlbGVjdGVkKGkpXCIgPlxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpdGVtLnR5cGUgPT09IG51bGxcIj5cblx0XHRcdFx0XHRcdDxkaXYgKGNsaWNrKT1cInN0ZXBTZWxlY3RlZChpKVwiPiB7e2l0ZW0ubGFiZWx9fSA8L2Rpdj5cblx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpdGVtLnR5cGUgIT09IG51bGxcIj5cblx0XHRcdFx0XHRcdDxwaHgtY29tcG9uZW50LXdyYXBwZXIgW3R5cGVdPVwiaXRlbS50eXBlXCIgW2RhdGFdPVwiaXRlbS5tb2RlbFwiIChjbGljayk9XCJzdGVwU2VsZWN0ZWQoaSlcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImZvb3RlclwiIFtzdHlsZS5oZWlnaHRdPVwiZ2V0Rm9vdGVySGVpZ2h0KCkgKyAncHQnXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKSAhPT0gbnVsbCAmJiBnZXRNb2RlbCgpLmZvb3RlciAhPT0gbnVsbFwiPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKS5mb290ZXIudHlwZSA9PT0gbnVsbFwiPlxuXHRcdFx0XHRcdHt7Z2V0TW9kZWwoKS5mb290ZXIubGFiZWx9fVxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nSWZdPVwiZ2V0TW9kZWwoKS5mb290ZXIudHlwZSAhPT0gbnVsbFwiPlxuXHRcdFx0XHRcdDxwaHgtY29tcG9uZW50LXdyYXBwZXIgW3R5cGVdPVwiZ2V0TW9kZWwoKS5mb290ZXIudHlwZVwiIFtkYXRhXT1cImdldE1vZGVsKCkuZm9vdGVyLm1vZGVsXCI+PC9waHgtY29tcG9uZW50LXdyYXBwZXI+XG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cInJpZ2h0XCI+XG5cdFx0PG5nLXRlbXBsYXRlIFtuZ0lmXT1cImdldE1vZGVsKCkgIT09IG51bGwgJiYgZ2V0TW9kZWwoKS5zdGVwcyAhPT0gbnVsbFwiPlxuXHRcdFx0PCEtLSA8cGh4LWNvbXBvbmVudC13cmFwcGVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vZGVsLnN0ZXBzOyBsZXQgaSA9IGluZGV4O1wiIFtjbGFzcy5hY3RpdmVdPVwiaXNTdGVwU2VsZWN0ZWQoaSlcIiBbdHlwZV09XCJpdGVtLmNvbXBvbmVudFR5cGVcIlxuXHRcdFx0XHRbZGF0YV09XCJkYXRhXCIgW21vZGVsXT1cIml0ZW0uY29tcG9uZW50TW9kZWxcIiBbZGF0YVBhcmVudF09XCJ0aGlzXCIgW2hhbmRsZXJdPVwic3RlcHNDb21wb25lbnRIYW5kbGVyXCI+PC9waHgtY29tcG9uZW50LXdyYXBwZXI+IC0tPlxuXHRcdFx0XHQ8cGh4LWNvbXBvbmVudC13cmFwcGVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldE1vZGVsKCkuc3RlcHM7IGxldCBpID0gaW5kZXg7XCIgW2NsYXNzLmFjdGl2ZV09XCJpc1N0ZXBTZWxlY3RlZChpKVwiIFt0eXBlXT1cIml0ZW0uY29tcG9uZW50VHlwZVwiXG5cdFx0XHRcdFx0W2RhdGFdPVwiZ2V0RGF0YSgpXCIgW21vZGVsXT1cIml0ZW0uY29tcG9uZW50TW9kZWxcIiBbb3B0aW9uc109XCJpdGVtLmNvbXBvbmVudE9wdGlvbnNcIiBbZGF0YVBhcmVudF09XCJ0aGlzXCI+PC9waHgtY29tcG9uZW50LXdyYXBwZXI+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0PC9kaXY+XG48L2Rpdj5cbmBcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbldpemFyZFBhbmUgZXh0ZW5kcyBBYnN0cmFjdFdpemFyZFBhbmUgaW1wbGVtZW50cyBPbkluaXQsIElIYXNNb2RlbCwgSUNoYW5nZWFibGUge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFlQRV9OQU1FOiBzdHJpbmcgPSBUWVBFX05BTUU7XG5cbiAgLy8gUmUtZGVjbGFyZSBmaWVsZCB0byBkZWNsYXJlIG5nIEBJbnB1dC5cbiAgLy8gLS0tIGZyb20gQWJzdHJhY3RIYXNEYXRhSGVscFxuICBASW5wdXQoKVxuICBASTE4TigpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgaGVscDogYW55O1xuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkYXRhUGFyZW50OiBJSGFzRGF0YTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREYXRhOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRhdGE6IGFueTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkZWxlZ2F0ZUhpc3Rvcnk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25EaXNhYmxlZDogRnVuY3Rpb247XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25FbmFibGVkOiBGdW5jdGlvbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBsb2FkaW5nRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpMThuS2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgnaTE4bkJ5cGFzcycpXG4gIEBPcHRpb24oJ2kxOG5CeXBhc3MnKVxuICBwcm90ZWN0ZWQgYnlwYXNzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgb3B0aW9uczogYW55O1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRpc2FibGVkOiBib29sZWFuO1xuICAvLyAtLS0gZnJvbSBBYnN0cmFjdFdpemFyZFBhbmVcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBtb2RlbDogV2l6YXJkTW9kZWw7XG4gIC8vIC0tLSBmcm9tIEFic3RyYWN0RGF0YVZpZXdcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBmaWVsZDogc3RyaW5nO1xuXG4gIC8vIFJlLWRlY2xhcmUgZmllbGQgdG8gZGVjbGFyZSBuZyBAT3V0cHV0LlxuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFcbiAgQE91dHB1dCgncGh4TG9hZCcpXG4gIEBPcHRpb24oJ2xvYWQnKVxuICBwcm90ZWN0ZWQgbG9hZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgLy8gLS0tIGZyb20gQWJzdHJhY3RXaXphcmRQYW5lXG4gIEBPdXRwdXQoJ3BoeENoYW5nZScpXG4gIEBPcHRpb24oJ2NoYW5nZScpXG4gIHByb3RlY3RlZCBjaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeEJlZm9yZUNoYW5nZScpXG4gIEBPcHRpb24oJ2JlZm9yZUNoYW5nZScpXG4gIHByb3RlY3RlZCBiZWZvcmVDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgY29uc3RydWN0b3IoYXBwU3ZjOiBQaGxveEFwcFNlcnZpY2UsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihhcHBTdmMsIGVsZW1lbnRSZWYpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1N0ZXBDb250ZW50KGluZGV4OiBudW1iZXIpOiB2b2lkIHsgfVxuXG4gIHB1YmxpYyBnZXRTdGVwSW5zdGFuY2UoaW5kZXg6IG51bWJlcik6IGFueSB7IH1cbn1cbiJdfQ==