@kre-form/ant
Version:
215 lines • 22 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input } from "@angular/core";
import { FormBuilder, Validators } from "@angular/forms";
/**
* @record
*/
function Item() { }
if (false) {
/** @type {?} */
Item.prototype.value;
/** @type {?} */
Item.prototype.label;
}
var EventComponent = /** @class */ (function () {
function EventComponent(fb) {
this.fb = fb;
this.data = {};
this.fields = [];
this.options = [];
this.triggerJson = [];
this.validateForm = this.fb.group({});
this.validateForm.addControl("eventList", this.fb.array([]));
}
Object.defineProperty(EventComponent.prototype, "eventList", {
get: /**
* @return {?}
*/
function () {
return (/** @type {?} */ (this.validateForm.get("eventList")));
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
EventComponent.prototype.save = /**
* @return {?}
*/
function () {
(/** @type {?} */ (((/** @type {?} */ ((/** @type {?} */ ((/** @type {?} */ ((/** @type {?} */ (((/** @type {?} */ (this.validateForm))))).controls)).eventList))["controls"]))))).forEach((/**
* @param {?} element
* @return {?}
*/
function (element) {
for (var i in element.controls) {
element.controls[i].markAsDirty();
element.controls[i].updateValueAndValidity();
}
}));
};
/**
* @return {?}
*/
EventComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
this.fields = this.fields.filter((/**
* @param {?} el
* @return {?}
*/
function (el) { return el.type !== "datetime"; }));
if (!!this.triggerJson && this.triggerJson.length > 0) {
this.triggerJson.forEach((/**
* @param {?} el
* @return {?}
*/
function (el) {
_this.eventList.push(_this.addEventList(el));
}));
}
};
/**
* @return {?}
*/
EventComponent.prototype.ngOnChanges = /**
* @return {?}
*/
function () { };
/**
* @return {?}
*/
EventComponent.prototype.add = /**
* @return {?}
*/
function () {
// console.log(this.validateForm);
this.save();
if (!this.validateForm.valid) {
return;
}
this.eventList.push(this.addEventList());
};
/**
* @param {?=} element
* @return {?}
*/
EventComponent.prototype.addEventList = /**
* @param {?=} element
* @return {?}
*/
function (element) {
return this.fb.group({
selected: [
element ? (/** @type {?} */ (element)).selected || null : null,
[Validators.required],
],
fieldType: [this.data.type, [Validators.required]],
secondType: [(/** @type {?} */ ((/** @type {?} */ (this.data)).templateOptions)).type],
required: [(/** @type {?} */ ((/** @type {?} */ (this.data)).templateOptions)).required || false],
fieldName: [(/** @type {?} */ ((/** @type {?} */ (this.data)).templateOptions)).label],
selectItem: [element ? (/** @type {?} */ (element)).selectItem || null : null],
selectItems: [element ? (/** @type {?} */ (element)).selectItems || null : null],
fieldKey: [
element ? (/** @type {?} */ (element)).fieldKey || null : null,
[Validators.required],
],
changeFieldName: [element ? (/** @type {?} */ (element)).changeFieldName || null : null, []],
changeFieldType: [
element ? (/** @type {?} */ (element)).changeFieldType || null : null,
[Validators.required],
],
changeAction: [
element ? (/** @type {?} */ (element)).changeAction || null : null,
[Validators.required],
],
changeActions: [
element ? (/** @type {?} */ (element)).changeActions || null : null,
[Validators.required],
],
changeToItem: [
element ? (/** @type {?} */ (element)).changeToItem || null : null,
[Validators.required],
],
changeToItems: [
element ? (/** @type {?} */ (element)).changeToItems || null : null,
[Validators.required],
],
maxLength: [element ? (/** @type {?} */ (element)).maxLength : null],
maxLengthIncludes: [element ? (/** @type {?} */ (element)).maxLengthIncludes || null : null],
minLength: [element ? (/** @type {?} */ (element)).minLength : null],
minLengthIncludes: [element ? (/** @type {?} */ (element)).minLengthIncludes || null : null],
maxIncludes: [element ? (/** @type {?} */ (element)).maxIncludes || null : null],
max: [element ? (/** @type {?} */ (element)).max : null],
minIncludes: [element ? (/** @type {?} */ (element)).minIncludes || null : null],
min: [element ? (/** @type {?} */ (element)).min : null],
// maxDateTime: [element ? element!.maxDateTime : null],
// maxDateTimeIncludes: [
// element ? element!.maxDateTimeIncludes || null : null,
// ],
// minDateTime: [element ? element!.minDateTime : null],
// minDateTimeIncludes: [
// element ? element!.minDateTimeIncludes || null : null,
// ],
specValue: [element ? (/** @type {?} */ (element)).specValue || null : null],
// specDateTime: [element ? element!.specValue || null : null],
fixedValue: [element ? (/** @type {?} */ (element)).fixedValue || null : null],
// fixedDateTime: [element ? element!.fixedValue || null : null],
code: [element ? (/** @type {?} */ (element)).code || Math.random() : Math.random()],
});
};
/**
* @param {?} i
* @return {?}
*/
EventComponent.prototype.removeEventList = /**
* @param {?} i
* @return {?}
*/
function (i) {
this.eventList.removeAt(i);
};
EventComponent.decorators = [
{ type: Component, args: [{
selector: "demo-event",
template: "<div class=\"w-100 p-3 flex-h\">\n <div class=\"new-flex-1\">\n <div>\n <button nz-button nzType=\"primary\" (click)=\"add()\" nzSize=\"small\">\n \u65B0\u589E\n </button>\n <div class=\"event-boxs\">\n <form\n nz-form\n [formGroup]=\"validateForm\"\n class=\"form-wrap form-box h-100 flex-v\"\n >\n <ng-container *ngIf=\"eventList.value.length > 0; else cardEmpty\">\n <div\n formArrayName=\"eventList\"\n class=\"flex-h dynamic-from\"\n *ngFor=\"let lateAnalysis of eventList.controls; let i = index\"\n nz-row\n >\n <ng-container [formGroupName]=\"i\">\n <div class=\"new-flex-1 p-0\">\n <demo-event-item\n [myForm]=\"eventList.controls[i]\"\n [index]=\"i\"\n [options]=\"options\"\n [field]=\"data\"\n [fields]=\"fields\"\n >\n </demo-event-item>\n </div>\n <div style=\"width: 36px\">\n <div\n class=\"\n btn-close btn-close-show\n flex-h flex-align-center flex-justify-center\n h-100\n \"\n (click)=\"removeEventList(i)\"\n >\n <i class=\"icon-N_delete\"> </i>\n </div>\n </div>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #cardEmpty>\n <div class=\"repeat-card-empty\">\n <div class=\"repeat-empty-image\"></div>\n <p class=\"ant-empty-description\">\u6682\u65E0\u6570\u636E</p>\n </div>\n </ng-template>\n </form>\n </div>\n </div>\n </div>\n</div>",
styles: [""]
}] }
];
/** @nocollapse */
EventComponent.ctorParameters = function () { return [
{ type: FormBuilder }
]; };
EventComponent.propDecorators = {
data: [{ type: Input }],
fields: [{ type: Input }],
options: [{ type: Input }],
triggerJson: [{ type: Input }]
};
return EventComponent;
}());
export { EventComponent };
if (false) {
/** @type {?} */
EventComponent.prototype.data;
/** @type {?} */
EventComponent.prototype.fields;
/** @type {?} */
EventComponent.prototype.options;
/** @type {?} */
EventComponent.prototype.triggerJson;
/** @type {?} */
EventComponent.prototype.validateForm;
/**
* @type {?}
* @private
*/
EventComponent.prototype.fb;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL2FudC8iLCJzb3VyY2VzIjpbImxpYi9kZXNpZ24vZXZlbnQvZXZlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUUvRSxtQkFHQzs7O0lBRkMscUJBQWM7O0lBQ2QscUJBQWM7O0FBRWhCO0lBaUJFLHdCQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQVgxQixTQUFJLEdBQXVCLEVBQUUsQ0FBQztRQUM5QixXQUFNLEdBQXlCLEVBQUUsQ0FBQztRQUNsQyxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBUy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQVBELHNCQUFJLHFDQUFTOzs7O1FBQWI7WUFDRSxPQUFPLG1CQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFhLENBQUM7UUFDekQsQ0FBQzs7O09BQUE7Ozs7SUFPRCw2QkFBSTs7O0lBQUo7UUFDRSxtQkFBQSxDQUFDLG1CQUFBLG1CQUFBLG1CQUFBLG1CQUFBLENBQUMsbUJBQUEsSUFBSSxDQUFDLFlBQVksRUFBTyxDQUFDLEVBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FDL0MsVUFBVSxDQUNYLEVBQWUsQ0FBQyxFQUFDLENBQUMsT0FBTzs7OztRQUFDLFVBQUMsT0FBa0I7WUFDNUMsS0FBSyxJQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixFQUFFLENBQUM7YUFDOUM7UUFDSCxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFFRCxpQ0FBUTs7O0lBQVI7UUFBQSxpQkFPQztRQU5DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQyxFQUFFLElBQUssT0FBQSxFQUFFLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBdEIsQ0FBc0IsRUFBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTzs7OztZQUFDLFVBQUMsRUFBRTtnQkFDMUIsS0FBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdDLENBQUMsRUFBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7O0lBQ0Qsb0NBQVc7OztJQUFYLGNBQWUsQ0FBQzs7OztJQUNoQiw0QkFBRzs7O0lBQUg7UUFDRSxrQ0FBa0M7UUFFbEMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Ozs7O0lBRUQscUNBQVk7Ozs7SUFBWixVQUFhLE9BQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNuQixRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxPQUFPLEVBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUMxQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7YUFDdEI7WUFDRCxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUVsRCxVQUFVLEVBQUUsQ0FBQyxtQkFBQSxtQkFBQSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsZUFBZSxFQUFDLENBQUMsSUFBSSxDQUFDO1lBQzlDLFFBQVEsRUFBRSxDQUFDLG1CQUFBLG1CQUFBLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO1lBRXpELFNBQVMsRUFBRSxDQUFDLG1CQUFBLG1CQUFBLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxLQUFLLENBQUM7WUFFOUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxPQUFPLEVBQUMsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDMUQsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxPQUFPLEVBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFFNUQsUUFBUSxFQUFFO2dCQUNSLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQUEsT0FBTyxFQUFDLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDMUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO2FBQ3RCO1lBRUQsZUFBZSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxPQUFPLEVBQUMsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBRXhFLGVBQWUsRUFBRTtnQkFDZixPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFBLE9BQU8sRUFBQyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ2pELENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUN0QjtZQUVELFlBQVksRUFBRTtnQkFDWixPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFBLE9BQU8sRUFBQyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQzlDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUN0QjtZQUNELGFBQWEsRUFBRTtnQkFDYixPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFBLE9BQU8sRUFBQyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQy9DLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUN0QjtZQUVELFlBQVksRUFBRTtnQkFDWixPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFBLE9BQU8sRUFBQyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQzlDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUN0QjtZQUNELGFBQWEsRUFBRTtnQkFDYixPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFBLE9BQU8sRUFBQyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQy9DLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUN0QjtZQUVELFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQUEsT0FBTyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDaEQsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFBLE9BQU8sRUFBQyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3hFLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQUEsT0FBTyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDaEQsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFBLE9BQU8sRUFBQyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBRXhFLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQUEsT0FBTyxFQUFDLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzVELEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQUEsT0FBTyxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDcEMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxPQUFPLEVBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDNUQsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxPQUFPLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs7Ozs7Ozs7O1lBV3BDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsbUJBQUEsT0FBTyxFQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDOztZQUd4RCxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLG1CQUFBLE9BQU8sRUFBQyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs7WUFHMUQsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBQSxPQUFPLEVBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFDRCx3Q0FBZTs7OztJQUFmLFVBQWdCLENBQVM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7Z0JBaElGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsczZEQUFxQzs7aUJBRXRDOzs7O2dCQVZRLFdBQVc7Ozt1QkFZakIsS0FBSzt5QkFDTCxLQUFLOzBCQUNMLEtBQUs7OEJBQ0wsS0FBSzs7SUF3SFIscUJBQUM7Q0FBQSxBQWpJRCxJQWlJQztTQTVIWSxjQUFjOzs7SUFDekIsOEJBQXVDOztJQUN2QyxnQ0FBMkM7O0lBQzNDLGlDQUE4Qjs7SUFDOUIscUNBQWlDOztJQUVqQyxzQ0FBd0I7Ozs7O0lBTVosNEJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgS3JlRm9ybUZpZWxkQ29uZmlnIH0gZnJvbSBcIkBrcmUtZm9ybS9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuaW50ZXJmYWNlIEl0ZW0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImRlbW8tZXZlbnRcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9ldmVudC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZXZlbnQuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhOiBLcmVGb3JtRmllbGRDb25maWcgPSB7fTtcbiAgQElucHV0KCkgZmllbGRzOiBLcmVGb3JtRmllbGRDb25maWdbXSA9IFtdO1xuICBASW5wdXQoKSBvcHRpb25zOiBJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgdHJpZ2dlckpzb246IGFueVtdID0gW107XG5cbiAgdmFsaWRhdGVGb3JtOiBGb3JtR3JvdXA7XG5cbiAgZ2V0IGV2ZW50TGlzdCgpIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUZvcm0uZ2V0KFwiZXZlbnRMaXN0XCIpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy52YWxpZGF0ZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHt9KTtcbiAgICB0aGlzLnZhbGlkYXRlRm9ybS5hZGRDb250cm9sKFwiZXZlbnRMaXN0XCIsIHRoaXMuZmIuYXJyYXkoW10pKTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgKCh0aGlzLnZhbGlkYXRlRm9ybSBhcyBhbnkpIS5jb250cm9scyEuZXZlbnRMaXN0IVtcbiAgICAgIFwiY29udHJvbHNcIlxuICAgIF0gYXMgRm9ybUdyb3VwW10pIS5mb3JFYWNoKChlbGVtZW50OiBGb3JtR3JvdXApID0+IHtcbiAgICAgIGZvciAoY29uc3QgaSBpbiBlbGVtZW50LmNvbnRyb2xzKSB7XG4gICAgICAgIGVsZW1lbnQuY29udHJvbHNbaV0ubWFya0FzRGlydHkoKTtcbiAgICAgICAgZWxlbWVudC5jb250cm9sc1tpXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZpZWxkcyA9IHRoaXMuZmllbGRzLmZpbHRlcigoZWwpID0+IGVsLnR5cGUgIT09IFwiZGF0ZXRpbWVcIik7XG4gICAgaWYgKCEhdGhpcy50cmlnZ2VySnNvbiAmJiB0aGlzLnRyaWdnZXJKc29uLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudHJpZ2dlckpzb24uZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgdGhpcy5ldmVudExpc3QucHVzaCh0aGlzLmFkZEV2ZW50TGlzdChlbCkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG5nT25DaGFuZ2VzKCkge31cbiAgYWRkKCkge1xuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMudmFsaWRhdGVGb3JtKTtcblxuICAgIHRoaXMuc2F2ZSgpO1xuICAgIGlmICghdGhpcy52YWxpZGF0ZUZvcm0udmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5ldmVudExpc3QucHVzaCh0aGlzLmFkZEV2ZW50TGlzdCgpKTtcbiAgfVxuXG4gIGFkZEV2ZW50TGlzdChlbGVtZW50PzogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VsZWN0ZWQ6IFtcbiAgICAgICAgZWxlbWVudCA/IGVsZW1lbnQhLnNlbGVjdGVkIHx8IG51bGwgOiBudWxsLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBdLFxuICAgICAgZmllbGRUeXBlOiBbdGhpcy5kYXRhLnR5cGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG5cbiAgICAgIHNlY29uZFR5cGU6IFt0aGlzLmRhdGEhLnRlbXBsYXRlT3B0aW9ucyEudHlwZV0sXG4gICAgICByZXF1aXJlZDogW3RoaXMuZGF0YSEudGVtcGxhdGVPcHRpb25zIS5yZXF1aXJlZCB8fCBmYWxzZV0sXG5cbiAgICAgIGZpZWxkTmFtZTogW3RoaXMuZGF0YSEudGVtcGxhdGVPcHRpb25zIS5sYWJlbF0sXG5cbiAgICAgIHNlbGVjdEl0ZW06IFtlbGVtZW50ID8gZWxlbWVudCEuc2VsZWN0SXRlbSB8fCBudWxsIDogbnVsbF0sXG4gICAgICBzZWxlY3RJdGVtczogW2VsZW1lbnQgPyBlbGVtZW50IS5zZWxlY3RJdGVtcyB8fCBudWxsIDogbnVsbF0sXG5cbiAgICAgIGZpZWxkS2V5OiBbXG4gICAgICAgIGVsZW1lbnQgPyBlbGVtZW50IS5maWVsZEtleSB8fCBudWxsIDogbnVsbCxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgXSxcblxuICAgICAgY2hhbmdlRmllbGROYW1lOiBbZWxlbWVudCA/IGVsZW1lbnQhLmNoYW5nZUZpZWxkTmFtZSB8fCBudWxsIDogbnVsbCwgW11dLFxuXG4gICAgICBjaGFuZ2VGaWVsZFR5cGU6IFtcbiAgICAgICAgZWxlbWVudCA/IGVsZW1lbnQhLmNoYW5nZUZpZWxkVHlwZSB8fCBudWxsIDogbnVsbCxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgXSxcblxuICAgICAgY2hhbmdlQWN0aW9uOiBbXG4gICAgICAgIGVsZW1lbnQgPyBlbGVtZW50IS5jaGFuZ2VBY3Rpb24gfHwgbnVsbCA6IG51bGwsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIF0sXG4gICAgICBjaGFuZ2VBY3Rpb25zOiBbXG4gICAgICAgIGVsZW1lbnQgPyBlbGVtZW50IS5jaGFuZ2VBY3Rpb25zIHx8IG51bGwgOiBudWxsLFxuICAgICAgICBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBdLFxuXG4gICAgICBjaGFuZ2VUb0l0ZW06IFtcbiAgICAgICAgZWxlbWVudCA/IGVsZW1lbnQhLmNoYW5nZVRvSXRlbSB8fCBudWxsIDogbnVsbCxcbiAgICAgICAgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgXSxcbiAgICAgIGNoYW5nZVRvSXRlbXM6IFtcbiAgICAgICAgZWxlbWVudCA/IGVsZW1lbnQhLmNoYW5nZVRvSXRlbXMgfHwgbnVsbCA6IG51bGwsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIF0sXG5cbiAgICAgIG1heExlbmd0aDogW2VsZW1lbnQgPyBlbGVtZW50IS5tYXhMZW5ndGggOiBudWxsXSxcbiAgICAgIG1heExlbmd0aEluY2x1ZGVzOiBbZWxlbWVudCA/IGVsZW1lbnQhLm1heExlbmd0aEluY2x1ZGVzIHx8IG51bGwgOiBudWxsXSxcbiAgICAgIG1pbkxlbmd0aDogW2VsZW1lbnQgPyBlbGVtZW50IS5taW5MZW5ndGggOiBudWxsXSxcbiAgICAgIG1pbkxlbmd0aEluY2x1ZGVzOiBbZWxlbWVudCA/IGVsZW1lbnQhLm1pbkxlbmd0aEluY2x1ZGVzIHx8IG51bGwgOiBudWxsXSxcblxuICAgICAgbWF4SW5jbHVkZXM6IFtlbGVtZW50ID8gZWxlbWVudCEubWF4SW5jbHVkZXMgfHwgbnVsbCA6IG51bGxdLFxuICAgICAgbWF4OiBbZWxlbWVudCA/IGVsZW1lbnQhLm1heCA6IG51bGxdLFxuICAgICAgbWluSW5jbHVkZXM6IFtlbGVtZW50ID8gZWxlbWVudCEubWluSW5jbHVkZXMgfHwgbnVsbCA6IG51bGxdLFxuICAgICAgbWluOiBbZWxlbWVudCA/IGVsZW1lbnQhLm1pbiA6IG51bGxdLFxuXG4gICAgICAvLyBtYXhEYXRlVGltZTogW2VsZW1lbnQgPyBlbGVtZW50IS5tYXhEYXRlVGltZSA6IG51bGxdLFxuICAgICAgLy8gbWF4RGF0ZVRpbWVJbmNsdWRlczogW1xuICAgICAgLy8gICBlbGVtZW50ID8gZWxlbWVudCEubWF4RGF0ZVRpbWVJbmNsdWRlcyB8fCBudWxsIDogbnVsbCxcbiAgICAgIC8vIF0sXG4gICAgICAvLyBtaW5EYXRlVGltZTogW2VsZW1lbnQgPyBlbGVtZW50IS5taW5EYXRlVGltZSA6IG51bGxdLFxuICAgICAgLy8gbWluRGF0ZVRpbWVJbmNsdWRlczogW1xuICAgICAgLy8gICBlbGVtZW50ID8gZWxlbWVudCEubWluRGF0ZVRpbWVJbmNsdWRlcyB8fCBudWxsIDogbnVsbCxcbiAgICAgIC8vIF0sXG5cbiAgICAgIHNwZWNWYWx1ZTogW2VsZW1lbnQgPyBlbGVtZW50IS5zcGVjVmFsdWUgfHwgbnVsbCA6IG51bGxdLFxuICAgICAgLy8gc3BlY0RhdGVUaW1lOiBbZWxlbWVudCA/IGVsZW1lbnQhLnNwZWNWYWx1ZSB8fCBudWxsIDogbnVsbF0sXG5cbiAgICAgIGZpeGVkVmFsdWU6IFtlbGVtZW50ID8gZWxlbWVudCEuZml4ZWRWYWx1ZSB8fCBudWxsIDogbnVsbF0sXG4gICAgICAvLyBmaXhlZERhdGVUaW1lOiBbZWxlbWVudCA/IGVsZW1lbnQhLmZpeGVkVmFsdWUgfHwgbnVsbCA6IG51bGxdLFxuXG4gICAgICBjb2RlOiBbZWxlbWVudCA/IGVsZW1lbnQhLmNvZGUgfHwgTWF0aC5yYW5kb20oKSA6IE1hdGgucmFuZG9tKCldLFxuICAgIH0pO1xuICB9XG4gIHJlbW92ZUV2ZW50TGlzdChpOiBudW1iZXIpIHtcbiAgICB0aGlzLmV2ZW50TGlzdC5yZW1vdmVBdChpKTtcbiAgfVxufVxuIl19