@kre-form/survey
Version:
179 lines (177 loc) • 21.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, ViewContainerRef, ViewChild, ChangeDetectorRef, ComponentFactoryResolver } from "@angular/core";
import { KreSurveySettingCascader } from "./basic/setting_cascader";
import { KreSurveySettingCheckBox } from "./basic/setting_checkbox";
import { KreSurveySettingDropdown } from "./basic/setting_dropdown";
import { KreSurveySettingInput } from "./basic/setting_input";
import { KreSurveySettingLine } from "./basic/setting_line";
import { KreSurveySettingRadio } from "./basic/setting_radio";
import { KreSurveySettingRemark } from "./basic/setting_remark";
import { KreSurveySettingScaler } from "./basic/setting_scaler";
import { KreSurveySettingScore } from "./basic/setting_score";
import { KreSurveySettingDate } from "./basic/setting_date";
import { KreSurveySettingTime } from "./basic/setting_time";
import { KreSurveySettingNPS } from "./basic/setting_nps";
import { KreSurveySettingProportion } from "./basic/setting_proportion";
import { KreSurveySettingEvaluation } from "./basic/setting_evaluation";
import { KreSurveySettingMatrixRadio } from "./basic/setting_matrix_radio";
import { KreSurveySettingMatrixCheckBox } from "./basic/setting_matrix_checkbox";
import { KreSurveySettingMatrixScore } from "./basic/setting_matrix_score";
import { KreSurveySettingMatrixInput } from "./basic/setting_matrix_input";
import { KreSurveySettingInputGroup } from "./basic/setting_input_group";
export class KreSurveySettingTemplate {
/**
* @param {?} componentFactoryResolver
* @param {?} changeDetectorRef
*/
constructor(componentFactoryResolver, changeDetectorRef) {
this.componentFactoryResolver = componentFactoryResolver;
this.changeDetectorRef = changeDetectorRef;
this.dynamicComponents = {
"radio": KreSurveySettingRadio,
"checkbox": KreSurveySettingCheckBox,
"dropdown": KreSurveySettingDropdown,
"input": KreSurveySettingInput,
"line": KreSurveySettingLine,
"remark": KreSurveySettingRemark,
"cascader": KreSurveySettingCascader,
"scaler": KreSurveySettingScaler,
"score": KreSurveySettingScore,
"date": KreSurveySettingDate,
"time": KreSurveySettingTime,
"nps": KreSurveySettingNPS,
"proportion": KreSurveySettingProportion,
"evaluation": KreSurveySettingEvaluation,
"matrix_radio": KreSurveySettingMatrixRadio,
"matrix_checkbox": KreSurveySettingMatrixCheckBox,
"matrix_score": KreSurveySettingMatrixScore,
"matrix_input": KreSurveySettingMatrixInput,
"input_group": KreSurveySettingInputGroup
// "select_single": KreSettingSelectSingle,
// "select_multiple": KreSettingSelectMultiple,
// "select_image": KreSettingSelectImage,
// "select_voteimage": KreSettingSelectVoteImage,
// "select_votefont": KreSettingSelectVoteFont,
// "select_dropdown": KreSettingSelectDropdown,
// "select_cascader": KreSettingSelectCascader,
// "select_scaler": KreSettingSelectScaler,
// "select_classification": KreSettingSelectClassification,
// "blank": KreSettingBlank,
// "blank_multiple": KreSettingBlankMultiple,
// "blank_horizontal": KreSettingBlankHorizontal,
// "blank_table": KreSettingBlankTable,
// //"score": KreSettingScore,
// "score_sort": KreSettingScoreSort,
// "score_nps": KreSettingScoreNPS,
// "score_proportion": KreSettingScoreProportion,
// "score_evaluation": KreSettingScoreEvaluation,
// "other_page": KreSettingOtherPage,
// "other_line": KreSettingOtherLine,
// "other_upload": KreSettingOtherUpload,
// "other_remark": KreSettingOtherRemark,
// "emp_name": KreSettingEmpName,
// "emp_mobile": KreSettingEmpMobile,
// "emp_email": KreSettingEmpEmail,
// "emp_gender": KreSettingEmpGender,
// "emp_date": KreSettingEmpDate,
// "emp_time": KreSettingEmpTime,
// "emp_age": KreSettingEmpAge,
// "emp_education": KreSettingEmpEducation,
// "emp_major": KreSettingEmpmajor,
// "emp_university": KreSettingEmpUniversity,
// "emp_industry": KreSettingIndustry,
// "emp_occupation": KreSettingEmpOccupation,
// "emp_address": KreSettingEmpAddress,
// "emp_geography": KreSettingEmpGeography,
// "matrix_select": KreSettingMatrixSelect,
// "matrix_score": KreSettingMatrixScore,
// "matrix_blank": KreSettingMatrixBlank,
// "matrix_scale": KreSettingMatrixScale
};
this.questionField = {
key: "",
type: "radio",
templateOptions: {
label: "",
description: "",
maxLength: 500,
minLength: 0,
max: 0,
min: 0,
precision: 0,
placeholder: "",
required: false,
tips: "",
pattern: "",
options: []
},
origin: {
refdatasourcetype: "",
datatype: ""
}
};
}
/**
* @param {?} value
* @return {?}
*/
set field(value) {
if (value != null && value != undefined) {
this.questionField = value;
}
if (this.componentHost) {
this.componentHost.clear();
if (this.questionField != undefined && this.questionField != null && this.questionField.type != undefined && this.questionField.type != null) {
/** @type {?} */
const compFactory = this.componentFactoryResolver.resolveComponentFactory(this.dynamicComponents[this.questionField.type]);
this.component = this.componentHost.createComponent(compFactory);
this.component.instance.field = this.questionField;
}
}
}
/**
* @return {?}
*/
ngOnInit() {
}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) { }
}
KreSurveySettingTemplate.decorators = [
{ type: Component, args: [{
selector: "setting-template",
template: `
<ng-container #componentHost></ng-container>
`
}] }
];
/** @nocollapse */
KreSurveySettingTemplate.ctorParameters = () => [
{ type: ComponentFactoryResolver },
{ type: ChangeDetectorRef }
];
KreSurveySettingTemplate.propDecorators = {
componentHost: [{ type: ViewChild, args: ['componentHost', { read: ViewContainerRef, static: true },] }],
field: [{ type: Input }]
};
if (false) {
/** @type {?} */
KreSurveySettingTemplate.prototype.dynamicComponents;
/** @type {?} */
KreSurveySettingTemplate.prototype.component;
/** @type {?} */
KreSurveySettingTemplate.prototype.componentHost;
/** @type {?} */
KreSurveySettingTemplate.prototype.questionField;
/** @type {?} */
KreSurveySettingTemplate.prototype.componentFactoryResolver;
/** @type {?} */
KreSurveySettingTemplate.prototype.changeDetectorRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy50ZXBsYXRlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGtyZS1mb3JtL3N1cnZleS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3NldHRpbmcudGVwbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBS0wsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFHVCxpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSwy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dGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBDb21wb25lbnRSZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBLcmVGb3JtRmllbGRDb25maWcgfSBmcm9tIFwiQGtyZS1mb3JtL2NvcmVcIjtcclxuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XHJcblxyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nQ2FzY2FkZXIgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX2Nhc2NhZGVyXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdDaGVja0JveCB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfY2hlY2tib3hcIjtcclxuaW1wb3J0IHsgS3JlU3VydmV5U2V0dGluZ0Ryb3Bkb3duIH0gZnJvbSBcIi4vYmFzaWMvc2V0dGluZ19kcm9wZG93blwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nSW5wdXQgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX2lucHV0XCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdMaW5lIH0gZnJvbSBcIi4vYmFzaWMvc2V0dGluZ19saW5lXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdSYWRpbyB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfcmFkaW9cIjtcclxuaW1wb3J0IHsgS3JlU3VydmV5U2V0dGluZ1JlbWFyayB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfcmVtYXJrXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdTY2FsZXIgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX3NjYWxlclwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nU2NvcmUgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX3Njb3JlXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdEYXRlIH0gZnJvbSBcIi4vYmFzaWMvc2V0dGluZ19kYXRlXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdUaW1lIH0gZnJvbSBcIi4vYmFzaWMvc2V0dGluZ190aW1lXCI7XHJcbmltcG9ydCB7IEtyZVN1cnZleVNldHRpbmdOUFMgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX25wc1wiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nUHJvcG9ydGlvbiB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfcHJvcG9ydGlvblwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nRXZhbHVhdGlvbiB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfZXZhbHVhdGlvblwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nTWF0cml4UmFkaW8gfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX21hdHJpeF9yYWRpb1wiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nTWF0cml4Q2hlY2tCb3ggfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX21hdHJpeF9jaGVja2JveFwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nTWF0cml4U2NvcmUgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX21hdHJpeF9zY29yZVwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nTWF0cml4SW5wdXQgfSBmcm9tIFwiLi9iYXNpYy9zZXR0aW5nX21hdHJpeF9pbnB1dFwiO1xyXG5pbXBvcnQgeyBLcmVTdXJ2ZXlTZXR0aW5nSW5wdXRHcm91cCB9IGZyb20gXCIuL2Jhc2ljL3NldHRpbmdfaW5wdXRfZ3JvdXBcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNldHRpbmctdGVtcGxhdGVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgXHJcbiAgXHJcbiAgPG5nLWNvbnRhaW5lciAjY29tcG9uZW50SG9zdD48L25nLWNvbnRhaW5lcj5cclxuICBgXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3JlU3VydmV5U2V0dGluZ1RlbXBsYXRlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBkeW5hbWljQ29tcG9uZW50czogYW55ID0ge1xyXG4gICAgXCJyYWRpb1wiOiBLcmVTdXJ2ZXlTZXR0aW5nUmFkaW8sXHJcbiAgICBcImNoZWNrYm94XCI6IEtyZVN1cnZleVNldHRpbmdDaGVja0JveCxcclxuICAgIFwiZHJvcGRvd25cIjogS3JlU3VydmV5U2V0dGluZ0Ryb3Bkb3duLFxyXG4gICAgXCJpbnB1dFwiOiBLcmVTdXJ2ZXlTZXR0aW5nSW5wdXQsXHJcbiAgICBcImxpbmVcIjogS3JlU3VydmV5U2V0dGluZ0xpbmUsXHJcbiAgICBcInJlbWFya1wiOiBLcmVTdXJ2ZXlTZXR0aW5nUmVtYXJrLFxyXG4gICAgXCJjYXNjYWRlclwiOiBLcmVTdXJ2ZXlTZXR0aW5nQ2FzY2FkZXIsXHJcbiAgICBcInNjYWxlclwiOiBLcmVTdXJ2ZXlTZXR0aW5nU2NhbGVyLFxyXG4gICAgXCJzY29yZVwiOiBLcmVTdXJ2ZXlTZXR0aW5nU2NvcmUsXHJcbiAgICBcImRhdGVcIjogS3JlU3VydmV5U2V0dGluZ0RhdGUsXHJcbiAgICBcInRpbWVcIjogS3JlU3VydmV5U2V0dGluZ1RpbWUsXHJcbiAgICBcIm5wc1wiOiBLcmVTdXJ2ZXlTZXR0aW5nTlBTLFxyXG4gICAgXCJwcm9wb3J0aW9uXCI6IEtyZVN1cnZleVNldHRpbmdQcm9wb3J0aW9uLFxyXG4gICAgXCJldmFsdWF0aW9uXCI6IEtyZVN1cnZleVNldHRpbmdFdmFsdWF0aW9uLFxyXG4gICAgXCJtYXRyaXhfcmFkaW9cIjogS3JlU3VydmV5U2V0dGluZ01hdHJpeFJhZGlvLFxyXG4gICAgXCJtYXRyaXhfY2hlY2tib3hcIjogS3JlU3VydmV5U2V0dGluZ01hdHJpeENoZWNrQm94LFxyXG4gICAgXCJtYXRyaXhfc2NvcmVcIjogS3JlU3VydmV5U2V0dGluZ01hdHJpeFNjb3JlLFxyXG4gICAgXCJtYXRyaXhfaW5wdXRcIjogS3JlU3VydmV5U2V0dGluZ01hdHJpeElucHV0LFxyXG4gICAgXCJpbnB1dF9ncm91cFwiOiBLcmVTdXJ2ZXlTZXR0aW5nSW5wdXRHcm91cFxyXG4gICAgLy8gXCJzZWxlY3Rfc2luZ2xlXCI6IEtyZVNldHRpbmdTZWxlY3RTaW5nbGUsXHJcbiAgICAvLyBcInNlbGVjdF9tdWx0aXBsZVwiOiBLcmVTZXR0aW5nU2VsZWN0TXVsdGlwbGUsXHJcbiAgICAvLyBcInNlbGVjdF9pbWFnZVwiOiBLcmVTZXR0aW5nU2VsZWN0SW1hZ2UsXHJcbiAgICAvLyBcInNlbGVjdF92b3RlaW1hZ2VcIjogS3JlU2V0dGluZ1NlbGVjdFZvdGVJbWFnZSxcclxuICAgIC8vIFwic2VsZWN0X3ZvdGVmb250XCI6IEtyZVNldHRpbmdTZWxlY3RWb3RlRm9udCxcclxuICAgIC8vIFwic2VsZWN0X2Ryb3Bkb3duXCI6IEtyZVNldHRpbmdTZWxlY3REcm9wZG93bixcclxuICAgIC8vIFwic2VsZWN0X2Nhc2NhZGVyXCI6IEtyZVNldHRpbmdTZWxlY3RDYXNjYWRlcixcclxuICAgIC8vIFwic2VsZWN0X3NjYWxlclwiOiBLcmVTZXR0aW5nU2VsZWN0U2NhbGVyLFxyXG4gICAgLy8gXCJzZWxlY3RfY2xhc3NpZmljYXRpb25cIjogS3JlU2V0dGluZ1NlbGVjdENsYXNzaWZpY2F0aW9uLFxyXG5cclxuICAgIC8vIFwiYmxhbmtcIjogS3JlU2V0dGluZ0JsYW5rLFxyXG4gICAgLy8gXCJibGFua19tdWx0aXBsZVwiOiBLcmVTZXR0aW5nQmxhbmtNdWx0aXBsZSxcclxuICAgIC8vIFwiYmxhbmtfaG9yaXpvbnRhbFwiOiBLcmVTZXR0aW5nQmxhbmtIb3Jpem9udGFsLFxyXG4gICAgLy8gXCJibGFua190YWJsZVwiOiBLcmVTZXR0aW5nQmxhbmtUYWJsZSxcclxuICAgIC8vIC8vXCJzY29yZVwiOiBLcmVTZXR0aW5nU2NvcmUsXHJcbiAgICAvLyBcInNjb3JlX3NvcnRcIjogS3JlU2V0dGluZ1Njb3JlU29ydCxcclxuICAgIC8vIFwic2NvcmVfbnBzXCI6IEtyZVNldHRpbmdTY29yZU5QUyxcclxuICAgIC8vIFwic2NvcmVfcHJvcG9ydGlvblwiOiBLcmVTZXR0aW5nU2NvcmVQcm9wb3J0aW9uLFxyXG4gICAgLy8gXCJzY29yZV9ldmFsdWF0aW9uXCI6IEtyZVNldHRpbmdTY29yZUV2YWx1YXRpb24sXHJcbiAgICAvLyBcIm90aGVyX3BhZ2VcIjogS3JlU2V0dGluZ090aGVyUGFnZSxcclxuICAgIC8vIFwib3RoZXJfbGluZVwiOiBLcmVTZXR0aW5nT3RoZXJMaW5lLFxyXG4gICAgLy8gXCJvdGhlcl91cGxvYWRcIjogS3JlU2V0dGluZ090aGVyVXBsb2FkLFxyXG4gICAgLy8gXCJvdGhlcl9yZW1hcmtcIjogS3JlU2V0dGluZ090aGVyUmVtYXJrLFxyXG4gICAgLy8gXCJlbXBfbmFtZVwiOiBLcmVTZXR0aW5nRW1wTmFtZSxcclxuICAgIC8vIFwiZW1wX21vYmlsZVwiOiBLcmVTZXR0aW5nRW1wTW9iaWxlLFxyXG4gICAgLy8gXCJlbXBfZW1haWxcIjogS3JlU2V0dGluZ0VtcEVtYWlsLFxyXG4gICAgLy8gXCJlbXBfZ2VuZGVyXCI6IEtyZVNldHRpbmdFbXBHZW5kZXIsXHJcbiAgICAvLyBcImVtcF9kYXRlXCI6IEtyZVNldHRpbmdFbXBEYXRlLFxyXG4gICAgLy8gXCJlbXBfdGltZVwiOiBLcmVTZXR0aW5nRW1wVGltZSxcclxuICAgIC8vIFwiZW1wX2FnZVwiOiBLcmVTZXR0aW5nRW1wQWdlLFxyXG4gICAgLy8gXCJlbXBfZWR1Y2F0aW9uXCI6IEtyZVNldHRpbmdFbXBFZHVjYXRpb24sXHJcbiAgICAvLyBcImVtcF9tYWpvclwiOiBLcmVTZXR0aW5nRW1wbWFqb3IsXHJcbiAgICAvLyBcImVtcF91bml2ZXJzaXR5XCI6IEtyZVNldHRpbmdFbXBVbml2ZXJzaXR5LFxyXG4gICAgLy8gXCJlbXBfaW5kdXN0cnlcIjogS3JlU2V0dGluZ0luZHVzdHJ5LFxyXG4gICAgLy8gXCJlbXBfb2NjdXBhdGlvblwiOiBLcmVTZXR0aW5nRW1wT2NjdXBhdGlvbixcclxuICAgIC8vIFwiZW1wX2FkZHJlc3NcIjogS3JlU2V0dGluZ0VtcEFkZHJlc3MsXHJcbiAgICAvLyBcImVtcF9nZW9ncmFwaHlcIjogS3JlU2V0dGluZ0VtcEdlb2dyYXBoeSxcclxuICAgIC8vIFwibWF0cml4X3NlbGVjdFwiOiBLcmVTZXR0aW5nTWF0cml4U2VsZWN0LFxyXG4gICAgLy8gXCJtYXRyaXhfc2NvcmVcIjogS3JlU2V0dGluZ01hdHJpeFNjb3JlLFxyXG4gICAgLy8gXCJtYXRyaXhfYmxhbmtcIjogS3JlU2V0dGluZ01hdHJpeEJsYW5rLFxyXG4gICAgLy8gXCJtYXRyaXhfc2NhbGVcIjogS3JlU2V0dGluZ01hdHJpeFNjYWxlXHJcbiAgfTtcclxuXHJcbiAgY29tcG9uZW50OiBDb21wb25lbnRSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29tcG9uZW50SG9zdCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIGNvbXBvbmVudEhvc3Q6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XHJcbiAgcXVlc3Rpb25GaWVsZDogYW55ID0ge1xyXG4gICAga2V5OiBcIlwiLFxyXG4gICAgdHlwZTogXCJyYWRpb1wiLFxyXG4gICAgdGVtcGxhdGVPcHRpb25zOiB7XHJcbiAgICAgIGxhYmVsOiBcIlwiLFxyXG4gICAgICBkZXNjcmlwdGlvbjogXCJcIixcclxuICAgICAgbWF4TGVuZ3RoOiA1MDAsXHJcbiAgICAgIG1pbkxlbmd0aDogMCxcclxuICAgICAgbWF4OiAwLFxyXG4gICAgICBtaW46IDAsXHJcbiAgICAgIHByZWNpc2lvbjogMCxcclxuICAgICAgcGxhY2Vob2xkZXI6IFwiXCIsXHJcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgdGlwczogXCJcIixcclxuICAgICAgcGF0dGVybjogXCJcIixcclxuICAgICAgb3B0aW9uczogW11cclxuICAgIH0sXHJcbiAgICBvcmlnaW46IHtcclxuICAgICAgcmVmZGF0YXNvdXJjZXR5cGU6IFwiXCIsXHJcbiAgICAgIGRhdGF0eXBlOiBcIlwiXHJcbiAgICB9XHJcbiAgfTtcclxuICBASW5wdXQoKSBzZXQgZmllbGQodmFsdWU6IEtyZUZvcm1GaWVsZENvbmZpZykge1xyXG5cclxuICAgIGlmICh2YWx1ZSAhPSBudWxsICYmIHZhbHVlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnF1ZXN0aW9uRmllbGQgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmNvbXBvbmVudEhvc3QpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRIb3N0LmNsZWFyKCk7XHJcbiAgICAgIGlmICh0aGlzLnF1ZXN0aW9uRmllbGQgIT0gdW5kZWZpbmVkICYmIHRoaXMucXVlc3Rpb25GaWVsZCAhPSBudWxsICYmIHRoaXMucXVlc3Rpb25GaWVsZC50eXBlICE9IHVuZGVmaW5lZCAmJiB0aGlzLnF1ZXN0aW9uRmllbGQudHlwZSAhPSBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgY29tcEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8YW55PiA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxyXG4gICAgICAgICAgdGhpcy5keW5hbWljQ29tcG9uZW50c1t0aGlzLnF1ZXN0aW9uRmllbGQudHlwZV0sXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50SG9zdC5jcmVhdGVDb21wb25lbnQoY29tcEZhY3RvcnkpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpZWxkID0gdGhpcy5xdWVzdGlvbkZpZWxkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHsgfVxyXG59XHJcbiJdfQ==