@skireal/form-builder
Version:
Form builder for Angular apps
273 lines • 34.3 kB
JavaScript
var _a, _b;
import { __read, __spread } from "tslib";
export var FormFieldType;
(function (FormFieldType) {
FormFieldType["Text"] = "text";
FormFieldType["Textarea"] = "textarea";
FormFieldType["Date"] = "date";
FormFieldType["Select"] = "select";
FormFieldType["Number"] = "number";
FormFieldType["Checkbox"] = "checkbox";
FormFieldType["CheckboxGroup"] = "checkbox-group";
FormFieldType["Radio"] = "radio";
FormFieldType["NeedContact"] = "need-contact";
FormFieldType["File"] = "file";
FormFieldType["Password"] = "password";
FormFieldType["Email"] = "email";
FormFieldType["Phone"] = "phone";
FormFieldType["Likert"] = "likert";
FormFieldType["Csat"] = "csat";
FormFieldType["CES"] = "ces";
FormFieldType["NPS"] = "nps";
FormFieldType["QE"] = "qe";
FormFieldType["ContactName"] = "contact-name";
FormFieldType["ContactSurname"] = "contact-surname";
FormFieldType["ContactEmail"] = "contact-email";
FormFieldType["ContactPhone"] = "contact-phone";
FormFieldType["CountryDropdown"] = "country-dropdown";
})(FormFieldType || (FormFieldType = {}));
export var ValidatorType;
(function (ValidatorType) {
ValidatorType["Required"] = "required";
ValidatorType["MinLength"] = "minlength";
ValidatorType["MaxLength"] = "maxlength";
ValidatorType["Pattern"] = "pattern";
ValidatorType["Email"] = "email";
ValidatorType["Min"] = "min";
ValidatorType["Max"] = "max";
ValidatorType["RequiredTrue"] = "requiredTrue";
})(ValidatorType || (ValidatorType = {}));
export var formFieldTypes = [
FormFieldType.Text,
FormFieldType.Textarea,
FormFieldType.Date,
FormFieldType.Select,
FormFieldType.Number,
FormFieldType.Checkbox,
FormFieldType.CheckboxGroup,
FormFieldType.Radio,
FormFieldType.NeedContact,
FormFieldType.File,
FormFieldType.Password,
FormFieldType.Email,
FormFieldType.Phone,
FormFieldType.Likert,
FormFieldType.Csat,
FormFieldType.CES,
FormFieldType.NPS,
FormFieldType.QE
];
export var surveyFieldTypes = [
FormFieldType.CountryDropdown,
FormFieldType.Text,
FormFieldType.Textarea,
FormFieldType.Date,
FormFieldType.Select,
FormFieldType.Checkbox,
FormFieldType.CheckboxGroup,
FormFieldType.Radio,
FormFieldType.Likert,
FormFieldType.Csat,
FormFieldType.CES,
FormFieldType.NPS,
FormFieldType.QE,
FormFieldType.NeedContact,
FormFieldType.ContactName,
FormFieldType.ContactSurname,
FormFieldType.ContactEmail,
FormFieldType.ContactPhone
];
export var fieldTypesNames = (_a = {},
_a[FormFieldType.CountryDropdown] = 'Country',
_a[FormFieldType.Text] = 'Text Input',
_a[FormFieldType.Textarea] = 'Text Area',
_a[FormFieldType.Date] = 'Date',
_a[FormFieldType.Select] = 'Select',
_a[FormFieldType.Number] = 'Number',
_a[FormFieldType.Checkbox] = 'Checkbox',
_a[FormFieldType.CheckboxGroup] = 'Checkboxes',
_a[FormFieldType.Radio] = 'Radio',
_a[FormFieldType.File] = 'File Attachment',
_a[FormFieldType.Password] = 'Password',
_a[FormFieldType.Email] = 'Email',
_a[FormFieldType.Phone] = 'Phone Number',
_a[FormFieldType.Likert] = 'Likert Scale',
_a[FormFieldType.Csat] = 'CSAT Scale',
_a[FormFieldType.CES] = 'CES Scale',
_a[FormFieldType.NPS] = 'NPS Scale',
_a[FormFieldType.QE] = 'QE Group',
_a[FormFieldType.NeedContact] = 'Need Contact',
_a[FormFieldType.ContactName] = 'Contact Name',
_a[FormFieldType.ContactSurname] = 'Contact Surname',
_a[FormFieldType.ContactEmail] = 'Contact Email',
_a[FormFieldType.ContactPhone] = 'Contact Phone',
_a);
export var uniqueFieldTypes = [
FormFieldType.NeedContact,
FormFieldType.ContactName,
FormFieldType.ContactSurname,
FormFieldType.ContactEmail,
FormFieldType.ContactPhone
];
export var validatorTypes = [
ValidatorType.Required,
ValidatorType.MinLength,
ValidatorType.MaxLength,
ValidatorType.Pattern,
ValidatorType.Email,
ValidatorType.Min,
ValidatorType.Max,
ValidatorType.RequiredTrue
];
export var commonFields = [
{ id: 'active', name: 'Active', isArray: false },
{ id: 'classes', name: 'Classes', isArray: false, placeholder: 'e.g., class1 class2' },
{ id: 'placeholder', name: 'Placeholder', isArray: false },
{ id: 'title', name: 'Title', isArray: false },
{ id: 'description', name: 'Description', isArray: false },
{ id: 'validators', name: 'Validators', isArray: true },
{ id: 'required', name: 'Required', isArray: false },
{ id: 'warningMessage', name: 'Warning message', isArray: false },
{ id: 'analyticsTitle', name: 'Analytics title', isArray: false },
{ id: 'step', name: 'Move to step', isArray: false }
];
export var fieldsByType = (_b = {},
_b[FormFieldType.Text] = __spread(commonFields, [
{ id: 'feedBackText', name: 'Use this field when creating feedback text', isArray: false }
]),
_b[FormFieldType.Textarea] = __spread(commonFields, [
{ id: 'feedBackText', name: 'Use this field when creating feedback text', isArray: false }
]),
_b[FormFieldType.Date] = __spread(commonFields),
_b[FormFieldType.Select] = __spread(commonFields, [
{ id: 'options', name: 'Options', isArray: true },
{ id: 'hasOther', name: 'Has other', isArray: false }
]),
_b[FormFieldType.Number] = __spread(commonFields),
_b[FormFieldType.Checkbox] = __spread(commonFields),
_b[FormFieldType.CheckboxGroup] = __spread(commonFields, [
{ id: 'options', name: 'Options', isArray: true },
{ id: 'hasOther', name: 'Has other', isArray: false }
]),
_b[FormFieldType.Radio] = __spread(commonFields, [
{ id: 'options', name: 'Options', isArray: true },
{ id: 'hasOther', name: 'Has other', isArray: false }
]),
_b[FormFieldType.NeedContact] = __spread(commonFields, [
{ id: 'options', name: 'Options', isArray: true },
{ id: 'defaultValue', name: 'Default value', isArray: false }
]),
_b[FormFieldType.File] = __spread(commonFields),
_b[FormFieldType.Password] = __spread(commonFields),
_b[FormFieldType.Email] = __spread(commonFields),
_b[FormFieldType.Phone] = __spread(commonFields),
_b[FormFieldType.Likert] = __spread(commonFields, [
{ id: 'optionsTitle', name: 'Options title', isArray: false },
{ id: 'options', name: 'Options', isArray: true },
{ id: 'rows', name: 'Rows', isArray: true }
]),
_b[FormFieldType.Csat] = __spread(commonFields, [
{ id: 'firstAnswer', name: 'First answer', isArray: false },
{ id: 'lastAnswer', name: 'Last answer', isArray: false },
{ id: 'hasNA', name: 'Has N/A', isArray: false }
]),
_b[FormFieldType.CES] = __spread(commonFields, [{ id: 'hasNA', name: 'Has N/A', isArray: false }]),
_b[FormFieldType.NPS] = __spread(commonFields, [
{
id: 'comment',
name: 'Comment',
isArray: false,
isObject: true,
objectFields: [
{ id: 'commentTitle', name: 'Comment Title', isArray: false },
{ id: 'commentSubtitle', name: 'Comment Subtitle', isArray: false },
{ id: 'commentWarningMessage', name: 'Comment Warning Message', isArray: false }
]
},
{ id: 'firstAnswer', name: 'First answer', isArray: false },
{ id: 'lastAnswer', name: 'Last answer', isArray: false }
]),
_b[FormFieldType.QE] = __spread(commonFields, [
{ id: 'firstAnswer', name: 'First answer', isArray: false },
{ id: 'lastAnswer', name: 'Last answer', isArray: false },
{
id: 'qeScales',
name: 'QE scales',
isArray: true,
children: [
{
id: 'qeScaleChildren',
name: 'QE Scale Children',
isArray: true,
parentArray: 'qeScales'
}
]
}
]),
_b[FormFieldType.ContactName] = __spread(commonFields),
_b[FormFieldType.ContactSurname] = __spread(commonFields),
_b[FormFieldType.ContactEmail] = __spread(commonFields),
_b[FormFieldType.ContactPhone] = __spread(commonFields),
_b[FormFieldType.CountryDropdown] = __spread(commonFields),
_b);
export var defaultOptionValues = [];
export var controlsMap = {
validators: ['type', 'value', 'errormsg'],
options: ['name', 'value', 'country'],
rows: ['title'],
qeScales: ['title', 'subtitle', 'qeScaleChildren'],
qeScaleChildren: ['title']
};
export var defaultConditionalLogicBlock = {
selectedField: {
type: '',
id: '',
name: ''
},
selectedCondition: '',
conditionValue: '',
selectedAction: '',
selectedTargetField: '',
type: 'conditionalLogicBlock'
};
export var conditionOptions = {
text: ['equals', 'contains', 'is empty', 'is not empty'],
checkbox: ['is empty', 'is not empty'],
number: [
'equals',
'not equals',
'greater',
'less',
'greater or equals',
'less or equals',
'is empty',
'is not empty'
]
};
export var haveOptionsFieldTypes = [
'select',
'checkbox-group',
'radio',
'likert',
'need-contact'
];
export var withoutValueValidatorTypes = ['required', 'requiredTrue', 'email'];
export var booleanFields = ['active', 'required', 'hasOther', 'hasNA'];
export var arrayProperties = ['validators', 'options', 'rows', 'qeScales'];
export var defaultValuesMap = {
options: {
country: 'ZZ'
}
};
export var maxLengthMap = {
placeholder: 250,
title: 1000,
warningMessage: 1000,
analyticsTitle: 250
};
export var requiredSubfieldsMap = {
options: ['name', 'value'],
rows: ['title'],
qeScales: ['title']
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNraXJlYWwvZm9ybS1idWlsZGVyLyIsInNvdXJjZXMiOlsibGliL2NvbnN0YW50cy91aS1jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFPQSxNQUFNLENBQU4sSUFBWSxhQXdCWDtBQXhCRCxXQUFZLGFBQWE7SUFDdkIsOEJBQWEsQ0FBQTtJQUNiLHNDQUFxQixDQUFBO0lBQ3JCLDhCQUFhLENBQUE7SUFDYixrQ0FBaUIsQ0FBQTtJQUNqQixrQ0FBaUIsQ0FBQTtJQUNqQixzQ0FBcUIsQ0FBQTtJQUNyQixpREFBZ0MsQ0FBQTtJQUNoQyxnQ0FBZSxDQUFBO0lBQ2YsNkNBQTRCLENBQUE7SUFDNUIsOEJBQWEsQ0FBQTtJQUNiLHNDQUFxQixDQUFBO0lBQ3JCLGdDQUFlLENBQUE7SUFDZixnQ0FBZSxDQUFBO0lBQ2Ysa0NBQWlCLENBQUE7SUFDakIsOEJBQWEsQ0FBQTtJQUNiLDRCQUFXLENBQUE7SUFDWCw0QkFBVyxDQUFBO0lBQ1gsMEJBQVMsQ0FBQTtJQUNULDZDQUE0QixDQUFBO0lBQzVCLG1EQUFrQyxDQUFBO0lBQ2xDLCtDQUE4QixDQUFBO0lBQzlCLCtDQUE4QixDQUFBO0lBQzlCLHFEQUFvQyxDQUFBO0FBQ3RDLENBQUMsRUF4QlcsYUFBYSxLQUFiLGFBQWEsUUF3QnhCO0FBRUQsTUFBTSxDQUFOLElBQVksYUFTWDtBQVRELFdBQVksYUFBYTtJQUN2QixzQ0FBcUIsQ0FBQTtJQUNyQix3Q0FBdUIsQ0FBQTtJQUN2Qix3Q0FBdUIsQ0FBQTtJQUN2QixvQ0FBbUIsQ0FBQTtJQUNuQixnQ0FBZSxDQUFBO0lBQ2YsNEJBQVcsQ0FBQTtJQUNYLDRCQUFXLENBQUE7SUFDWCw4Q0FBNkIsQ0FBQTtBQUMvQixDQUFDLEVBVFcsYUFBYSxLQUFiLGFBQWEsUUFTeEI7QUFFRCxNQUFNLENBQUMsSUFBTSxjQUFjLEdBQW9CO0lBQzdDLGFBQWEsQ0FBQyxJQUFJO0lBQ2xCLGFB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SSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ2YsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbmRpdGlvbmFsTG9naWNCbG9jayxcclxuICBGaWVsZCxcclxuICBGb3JtRmllbGQsXHJcbiAgRm9ybUZpZWxkQm9vbGVhbktleXNcclxufSBmcm9tICcuLi9tb2RlbHMvZm9ybS1jb25zdHJ1Y3Rvci5tb2RlbCc7XHJcblxyXG5leHBvcnQgZW51bSBGb3JtRmllbGRUeXBlIHtcclxuICBUZXh0ID0gJ3RleHQnLFxyXG4gIFRleHRhcmVhID0gJ3RleHRhcmVhJyxcclxuICBEYXRlID0gJ2RhdGUnLFxyXG4gIFNlbGVjdCA9ICdzZWxlY3QnLFxyXG4gIE51bWJlciA9ICdudW1iZXInLFxyXG4gIENoZWNrYm94ID0gJ2NoZWNrYm94JyxcclxuICBDaGVja2JveEdyb3VwID0gJ2NoZWNrYm94LWdyb3VwJyxcclxuICBSYWRpbyA9ICdyYWRpbycsXHJcbiAgTmVlZENvbnRhY3QgPSAnbmVlZC1jb250YWN0JyxcclxuICBGaWxlID0gJ2ZpbGUnLFxyXG4gIFBhc3N3b3JkID0gJ3Bhc3N3b3JkJyxcclxuICBFbWFpbCA9ICdlbWFpbCcsXHJcbiAgUGhvbmUgPSAncGhvbmUnLFxyXG4gIExpa2VydCA9ICdsaWtlcnQnLFxyXG4gIENzYXQgPSAnY3NhdCcsXHJcbiAgQ0VTID0gJ2NlcycsXHJcbiAgTlBTID0gJ25wcycsXHJcbiAgUUUgPSAncWUnLFxyXG4gIENvbnRhY3ROYW1lID0gJ2NvbnRhY3QtbmFtZScsXHJcbiAgQ29udGFjdFN1cm5hbWUgPSAnY29udGFjdC1zdXJuYW1lJyxcclxuICBDb250YWN0RW1haWwgPSAnY29udGFjdC1lbWFpbCcsXHJcbiAgQ29udGFjdFBob25lID0gJ2NvbnRhY3QtcGhvbmUnLFxyXG4gIENvdW50cnlEcm9wZG93biA9ICdjb3VudHJ5LWRyb3Bkb3duJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBWYWxpZGF0b3JUeXBlIHtcclxuICBSZXF1aXJlZCA9ICdyZXF1aXJlZCcsXHJcbiAgTWluTGVuZ3RoID0gJ21pbmxlbmd0aCcsXHJcbiAgTWF4TGVuZ3RoID0gJ21heGxlbmd0aCcsXHJcbiAgUGF0dGVybiA9ICdwYXR0ZXJuJyxcclxuICBFbWFpbCA9ICdlbWFpbCcsXHJcbiAgTWluID0gJ21pbicsXHJcbiAgTWF4ID0gJ21heCcsXHJcbiAgUmVxdWlyZWRUcnVlID0gJ3JlcXVpcmVkVHJ1ZSdcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGZvcm1GaWVsZFR5cGVzOiBGb3JtRmllbGRUeXBlW10gPSBbXHJcbiAgRm9ybUZpZWxkVHlwZS5UZXh0LFxyXG4gIEZvcm1GaWVsZFR5cGUuVGV4dGFyZWEsXHJcbiAgRm9ybUZpZWxkVHlwZS5EYXRlLFxyXG4gIEZvcm1GaWVsZFR5cGUuU2VsZWN0LFxyXG4gIEZvcm1GaWVsZFR5cGUuTnVtYmVyLFxyXG4gIEZvcm1GaWVsZFR5cGUuQ2hlY2tib3gsXHJcbiAgRm9ybUZpZWxkVHlwZS5DaGVja2JveEdyb3VwLFxyXG4gIEZvcm1GaWVsZFR5cGUuUmFkaW8sXHJcbiAgRm9ybUZpZWxkVHlwZS5OZWVkQ29udGFjdCxcclxuICBGb3JtRmllbGRUeXBlLkZpbGUsXHJcbiAgRm9ybUZpZWxkVHlwZS5QYXNzd29yZCxcclxuICBGb3JtRmllbGRUeXBlLkVtYWlsLFxyXG4gIEZvcm1GaWVsZFR5cGUuUGhvbmUsXHJcbiAgRm9ybUZpZWxkVHlwZS5MaWtlcnQsXHJcbiAgRm9ybUZpZWxkVHlwZS5Dc2F0LFxyXG4gIEZvcm1GaWVsZFR5cGUuQ0VTLFxyXG4gIEZvcm1GaWVsZFR5cGUuTlBTLFxyXG4gIEZvcm1GaWVsZFR5cGUuUUVcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBzdXJ2ZXlGaWVsZFR5cGVzOiBGb3JtRmllbGRUeXBlW10gPSBbXHJcbiAgRm9ybUZpZWxkVHlwZS5Db3VudHJ5RHJvcGRvd24sXHJcbiAgRm9ybUZpZWxkVHlwZS5UZXh0LFxyXG4gIEZvcm1GaWVsZFR5cGUuVGV4dGFyZWEsXHJcbiAgRm9ybUZpZWxkVHlwZS5EYXRlLFxyXG4gIEZvcm1GaWVsZFR5cGUuU2VsZWN0LFxyXG4gIEZvcm1GaWVsZFR5cGUuQ2hlY2tib3gsXHJcbiAgRm9ybUZpZWxkVHlwZS5DaGVja2JveEdyb3VwLFxyXG4gIEZvcm1GaWVsZFR5cGUuUmFkaW8sXHJcbiAgRm9ybUZpZWxkVHlwZS5MaWtlcnQsXHJcbiAgRm9ybUZpZWxkVHlwZS5Dc2F0LFxyXG4gIEZvcm1GaWVsZFR5cGUuQ0VTLFxyXG4gIEZvcm1GaWVsZFR5cGUuTlBTLFxyXG4gIEZvcm1GaWVsZFR5cGUuUUUsXHJcbiAgRm9ybUZpZWxkVHlwZS5OZWVkQ29udGFjdCxcclxuICBGb3JtRmllbGRUeXBlLkNvbnRhY3ROYW1lLFxyXG4gIEZvcm1GaWVsZFR5cGUuQ29udGFjdFN1cm5hbWUsXHJcbiAgRm9ybUZpZWxkVHlwZS5Db250YWN0RW1haWwsXHJcbiAgRm9ybUZpZWxkVHlwZS5Db250YWN0UGhvbmVcclxuXTtcclxuXHJcbmV4cG9ydCBjb25zdCBmaWVsZFR5cGVzTmFtZXM6IEZpZWxkVHlwZXNOYW1lcyA9IHtcclxuICBbRm9ybUZpZWxkVHlwZS5Db3VudHJ5RHJvcGRvd25dOiAnQ291bnRyeScsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuVGV4dF06ICdUZXh0IElucHV0JyxcclxuICBbRm9ybUZpZWxkVHlwZS5UZXh0YXJlYV06ICdUZXh0IEFyZWEnLFxyXG4gIFtGb3JtRmllbGRUeXBlLkRhdGVdOiAnRGF0ZScsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuU2VsZWN0XTogJ1NlbGVjdCcsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuTnVtYmVyXTogJ051bWJlcicsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ2hlY2tib3hdOiAnQ2hlY2tib3gnLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNoZWNrYm94R3JvdXBdOiAnQ2hlY2tib3hlcycsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuUmFkaW9dOiAnUmFkaW8nLFxyXG4gIFtGb3JtRmllbGRUeXBlLkZpbGVdOiAnRmlsZSBBdHRhY2htZW50JyxcclxuICBbRm9ybUZpZWxkVHlwZS5QYXNzd29yZF06ICdQYXNzd29yZCcsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuRW1haWxdOiAnRW1haWwnLFxyXG4gIFtGb3JtRmllbGRUeXBlLlBob25lXTogJ1Bob25lIE51bWJlcicsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuTGlrZXJ0XTogJ0xpa2VydCBTY2FsZScsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ3NhdF06ICdDU0FUIFNjYWxlJyxcclxuICBbRm9ybUZpZWxkVHlwZS5DRVNdOiAnQ0VTIFNjYWxlJyxcclxuICBbRm9ybUZpZWxkVHlwZS5OUFNdOiAnTlBTIFNjYWxlJyxcclxuICBbRm9ybUZpZWxkVHlwZS5RRV06ICdRRSBHcm91cCcsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuTmVlZENvbnRhY3RdOiAnTmVlZCBDb250YWN0JyxcclxuICBbRm9ybUZpZWxkVHlwZS5Db250YWN0TmFtZV06ICdDb250YWN0IE5hbWUnLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNvbnRhY3RTdXJuYW1lXTogJ0NvbnRhY3QgU3VybmFtZScsXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ29udGFjdEVtYWlsXTogJ0NvbnRhY3QgRW1haWwnLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNvbnRhY3RQaG9uZV06ICdDb250YWN0IFBob25lJ1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHVuaXF1ZUZpZWxkVHlwZXM6IEZvcm1GaWVsZFR5cGVbXSA9IFtcclxuICBGb3JtRmllbGRUeXBlLk5lZWRDb250YWN0LFxyXG4gIEZvcm1GaWVsZFR5cGUuQ29udGFjdE5hbWUsXHJcbiAgRm9ybUZpZWxkVHlwZS5Db250YWN0U3VybmFtZSxcclxuICBGb3JtRmllbGRUeXBlLkNvbnRhY3RFbWFpbCxcclxuICBGb3JtRmllbGRUeXBlLkNvbnRhY3RQaG9uZVxyXG5dO1xyXG5cclxuZXhwb3J0IHR5cGUgRmllbGRUeXBlc05hbWVzID0gUmVjb3JkPEZvcm1GaWVsZFR5cGUsIHN0cmluZz47XHJcblxyXG5leHBvcnQgY29uc3QgdmFsaWRhdG9yVHlwZXM6IFZhbGlkYXRvclR5cGVbXSA9IFtcclxuICBWYWxpZGF0b3JUeXBlLlJlcXVpcmVkLFxyXG4gIFZhbGlkYXRvclR5cGUuTWluTGVuZ3RoLFxyXG4gIFZhbGlkYXRvclR5cGUuTWF4TGVuZ3RoLFxyXG4gIFZhbGlkYXRvclR5cGUuUGF0dGVybixcclxuICBWYWxpZGF0b3JUeXBlLkVtYWlsLFxyXG4gIFZhbGlkYXRvclR5cGUuTWluLFxyXG4gIFZhbGlkYXRvclR5cGUuTWF4LFxyXG4gIFZhbGlkYXRvclR5cGUuUmVxdWlyZWRUcnVlXHJcbl07XHJcblxyXG5leHBvcnQgY29uc3QgY29tbW9uRmllbGRzOiBGaWVsZFtdID0gW1xyXG4gIHsgaWQ6ICdhY3RpdmUnLCBuYW1lOiAnQWN0aXZlJywgaXNBcnJheTogZmFsc2UgfSxcclxuICB7IGlkOiAnY2xhc3NlcycsIG5hbWU6ICdDbGFzc2VzJywgaXNBcnJheTogZmFsc2UsIHBsYWNlaG9sZGVyOiAnZS5nLiwgY2xhc3MxIGNsYXNzMicgfSxcclxuICB7IGlkOiAncGxhY2Vob2xkZXInLCBuYW1lOiAnUGxhY2Vob2xkZXInLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gIHsgaWQ6ICd0aXRsZScsIG5hbWU6ICdUaXRsZScsIGlzQXJyYXk6IGZhbHNlIH0sXHJcbiAgeyBpZDogJ2Rlc2NyaXB0aW9uJywgbmFtZTogJ0Rlc2NyaXB0aW9uJywgaXNBcnJheTogZmFsc2UgfSxcclxuICB7IGlkOiAndmFsaWRhdG9ycycsIG5hbWU6ICdWYWxpZGF0b3JzJywgaXNBcnJheTogdHJ1ZSB9LFxyXG4gIHsgaWQ6ICdyZXF1aXJlZCcsIG5hbWU6ICdSZXF1aXJlZCcsIGlzQXJyYXk6IGZhbHNlIH0sXHJcbiAgeyBpZDogJ3dhcm5pbmdNZXNzYWdlJywgbmFtZTogJ1dhcm5pbmcgbWVzc2FnZScsIGlzQXJyYXk6IGZhbHNlIH0sXHJcbiAgeyBpZDogJ2FuYWx5dGljc1RpdGxlJywgbmFtZTogJ0FuYWx5dGljcyB0aXRsZScsIGlzQXJyYXk6IGZhbHNlIH0sXHJcbiAgeyBpZDogJ3N0ZXAnLCBuYW1lOiAnTW92ZSB0byBzdGVwJywgaXNBcnJheTogZmFsc2UgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IGZpZWxkc0J5VHlwZTogUmVjb3JkPHN0cmluZywgRmllbGRbXT4gPSB7XHJcbiAgW0Zvcm1GaWVsZFR5cGUuVGV4dF06IFtcclxuICAgIC4uLmNvbW1vbkZpZWxkcyxcclxuICAgIHsgaWQ6ICdmZWVkQmFja1RleHQnLCBuYW1lOiAnVXNlIHRoaXMgZmllbGQgd2hlbiBjcmVhdGluZyBmZWVkYmFjayB0ZXh0JywgaXNBcnJheTogZmFsc2UgfVxyXG4gIF0sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuVGV4dGFyZWFdOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7IGlkOiAnZmVlZEJhY2tUZXh0JywgbmFtZTogJ1VzZSB0aGlzIGZpZWxkIHdoZW4gY3JlYXRpbmcgZmVlZGJhY2sgdGV4dCcsIGlzQXJyYXk6IGZhbHNlIH1cclxuICBdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkRhdGVdOiBbLi4uY29tbW9uRmllbGRzXSxcclxuICBbRm9ybUZpZWxkVHlwZS5TZWxlY3RdOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7IGlkOiAnb3B0aW9ucycsIG5hbWU6ICdPcHRpb25zJywgaXNBcnJheTogdHJ1ZSB9LFxyXG4gICAgeyBpZDogJ2hhc090aGVyJywgbmFtZTogJ0hhcyBvdGhlcicsIGlzQXJyYXk6IGZhbHNlIH1cclxuICBdLFxyXG4gIFtGb3JtRmllbGRUeXBlLk51bWJlcl06IFsuLi5jb21tb25GaWVsZHNdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNoZWNrYm94XTogWy4uLmNvbW1vbkZpZWxkc10sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ2hlY2tib3hHcm91cF06IFtcclxuICAgIC4uLmNvbW1vbkZpZWxkcyxcclxuICAgIHsgaWQ6ICdvcHRpb25zJywgbmFtZTogJ09wdGlvbnMnLCBpc0FycmF5OiB0cnVlIH0sXHJcbiAgICB7IGlkOiAnaGFzT3RoZXInLCBuYW1lOiAnSGFzIG90aGVyJywgaXNBcnJheTogZmFsc2UgfVxyXG4gIF0sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuUmFkaW9dOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7IGlkOiAnb3B0aW9ucycsIG5hbWU6ICdPcHRpb25zJywgaXNBcnJheTogdHJ1ZSB9LFxyXG4gICAgeyBpZDogJ2hhc090aGVyJywgbmFtZTogJ0hhcyBvdGhlcicsIGlzQXJyYXk6IGZhbHNlIH1cclxuICBdLFxyXG4gIFtGb3JtRmllbGRUeXBlLk5lZWRDb250YWN0XTogW1xyXG4gICAgLi4uY29tbW9uRmllbGRzLFxyXG4gICAgeyBpZDogJ29wdGlvbnMnLCBuYW1lOiAnT3B0aW9ucycsIGlzQXJyYXk6IHRydWUgfSxcclxuICAgIHsgaWQ6ICdkZWZhdWx0VmFsdWUnLCBuYW1lOiAnRGVmYXVsdCB2YWx1ZScsIGlzQXJyYXk6IGZhbHNlIH1cclxuICBdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkZpbGVdOiBbLi4uY29tbW9uRmllbGRzXSxcclxuICBbRm9ybUZpZWxkVHlwZS5QYXNzd29yZF06IFsuLi5jb21tb25GaWVsZHNdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkVtYWlsXTogWy4uLmNvbW1vbkZpZWxkc10sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuUGhvbmVdOiBbLi4uY29tbW9uRmllbGRzXSxcclxuICBbRm9ybUZpZWxkVHlwZS5MaWtlcnRdOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7IGlkOiAnb3B0aW9uc1RpdGxlJywgbmFtZTogJ09wdGlvbnMgdGl0bGUnLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gICAgeyBpZDogJ29wdGlvbnMnLCBuYW1lOiAnT3B0aW9ucycsIGlzQXJyYXk6IHRydWUgfSxcclxuICAgIHsgaWQ6ICdyb3dzJywgbmFtZTogJ1Jvd3MnLCBpc0FycmF5OiB0cnVlIH1cclxuICBdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNzYXRdOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7IGlkOiAnZmlyc3RBbnN3ZXInLCBuYW1lOiAnRmlyc3QgYW5zd2VyJywgaXNBcnJheTogZmFsc2UgfSxcclxuICAgIHsgaWQ6ICdsYXN0QW5zd2VyJywgbmFtZTogJ0xhc3QgYW5zd2VyJywgaXNBcnJheTogZmFsc2UgfSxcclxuICAgIHsgaWQ6ICdoYXNOQScsIG5hbWU6ICdIYXMgTi9BJywgaXNBcnJheTogZmFsc2UgfVxyXG4gIF0sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ0VTXTogWy4uLmNvbW1vbkZpZWxkcywgeyBpZDogJ2hhc05BJywgbmFtZTogJ0hhcyBOL0EnLCBpc0FycmF5OiBmYWxzZSB9XSxcclxuICBbRm9ybUZpZWxkVHlwZS5OUFNdOiBbXHJcbiAgICAuLi5jb21tb25GaWVsZHMsXHJcbiAgICB7XHJcbiAgICAgIGlkOiAnY29tbWVudCcsXHJcbiAgICAgIG5hbWU6ICdDb21tZW50JyxcclxuICAgICAgaXNBcnJheTogZmFsc2UsXHJcbiAgICAgIGlzT2JqZWN0OiB0cnVlLFxyXG4gICAgICBvYmplY3RGaWVsZHM6IFtcclxuICAgICAgICB7IGlkOiAnY29tbWVudFRpdGxlJywgbmFtZTogJ0NvbW1lbnQgVGl0bGUnLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gICAgICAgIHsgaWQ6ICdjb21tZW50U3VidGl0bGUnLCBuYW1lOiAnQ29tbWVudCBTdWJ0aXRsZScsIGlzQXJyYXk6IGZhbHNlIH0sXHJcbiAgICAgICAgeyBpZDogJ2NvbW1lbnRXYXJuaW5nTWVzc2FnZScsIG5hbWU6ICdDb21tZW50IFdhcm5pbmcgTWVzc2FnZScsIGlzQXJyYXk6IGZhbHNlIH1cclxuICAgICAgXVxyXG4gICAgfSxcclxuICAgIHsgaWQ6ICdmaXJzdEFuc3dlcicsIG5hbWU6ICdGaXJzdCBhbnN3ZXInLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gICAgeyBpZDogJ2xhc3RBbnN3ZXInLCBuYW1lOiAnTGFzdCBhbnN3ZXInLCBpc0FycmF5OiBmYWxzZSB9XHJcbiAgXSxcclxuICBbRm9ybUZpZWxkVHlwZS5RRV06IFtcclxuICAgIC4uLmNvbW1vbkZpZWxkcyxcclxuICAgIHsgaWQ6ICdmaXJzdEFuc3dlcicsIG5hbWU6ICdGaXJzdCBhbnN3ZXInLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gICAgeyBpZDogJ2xhc3RBbnN3ZXInLCBuYW1lOiAnTGFzdCBhbnN3ZXInLCBpc0FycmF5OiBmYWxzZSB9LFxyXG4gICAge1xyXG4gICAgICBpZDogJ3FlU2NhbGVzJyxcclxuICAgICAgbmFtZTogJ1FFIHNjYWxlcycsXHJcbiAgICAgIGlzQXJyYXk6IHRydWUsXHJcbiAgICAgIGNoaWxkcmVuOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWQ6ICdxZVNjYWxlQ2hpbGRyZW4nLFxyXG4gICAgICAgICAgbmFtZTogJ1FFIFNjYWxlIENoaWxkcmVuJyxcclxuICAgICAgICAgIGlzQXJyYXk6IHRydWUsXHJcbiAgICAgICAgICBwYXJlbnRBcnJheTogJ3FlU2NhbGVzJ1xyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfVxyXG4gIF0sXHJcbiAgW0Zvcm1GaWVsZFR5cGUuQ29udGFjdE5hbWVdOiBbLi4uY29tbW9uRmllbGRzXSxcclxuICBbRm9ybUZpZWxkVHlwZS5Db250YWN0U3VybmFtZV06IFsuLi5jb21tb25GaWVsZHNdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNvbnRhY3RFbWFpbF06IFsuLi5jb21tb25GaWVsZHNdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNvbnRhY3RQaG9uZV06IFsuLi5jb21tb25GaWVsZHNdLFxyXG4gIFtGb3JtRmllbGRUeXBlLkNvdW50cnlEcm9wZG93bl06IFsuLi5jb21tb25GaWVsZHNdXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgZGVmYXVsdE9wdGlvblZhbHVlczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdID0gW107XHJcblxyXG5leHBvcnQgY29uc3QgY29udHJvbHNNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcclxuICB2YWxpZGF0b3JzOiBbJ3R5cGUnLCAndmFsdWUnLCAnZXJyb3Jtc2cnXSxcclxuICBvcHRpb25zOiBbJ25hbWUnLCAndmFsdWUnLCAnY291bnRyeSddLFxyXG4gIHJvd3M6IFsndGl0bGUnXSxcclxuICBxZVNjYWxlczogWyd0aXRsZScsICdzdWJ0aXRsZScsICdxZVNjYWxlQ2hpbGRyZW4nXSxcclxuICBxZVNjYWxlQ2hpbGRyZW46IFsndGl0bGUnXVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb25kaXRpb25hbExvZ2ljQmxvY2s6IENvbmRpdGlvbmFsTG9naWNCbG9jayA9IHtcclxuICBzZWxlY3RlZEZpZWxkOiB7XHJcbiAgICB0eXBlOiAnJyxcclxuICAgIGlkOiAnJyxcclxuICAgIG5hbWU6ICcnXHJcbiAgfSxcclxuICBzZWxlY3RlZENvbmRpdGlvbjogJycsXHJcbiAgY29uZGl0aW9uVmFsdWU6ICcnLFxyXG4gIHNlbGVjdGVkQWN0aW9uOiAnJyxcclxuICBzZWxlY3RlZFRhcmdldEZpZWxkOiAnJyxcclxuICB0eXBlOiAnY29uZGl0aW9uYWxMb2dpY0Jsb2NrJ1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbmRpdGlvbk9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcclxuICB0ZXh0OiBbJ2VxdWFscycsICdjb250YWlucycsICdpcyBlbXB0eScsICdpcyBub3QgZW1wdHknXSxcclxuICBjaGVja2JveDogWydpcyBlbXB0eScsICdpcyBub3QgZW1wdHknXSxcclxuICBudW1iZXI6IFtcclxuICAgICdlcXVhbHMnLFxyXG4gICAgJ25vdCBlcXVhbHMnLFxyXG4gICAgJ2dyZWF0ZXInLFxyXG4gICAgJ2xlc3MnLFxyXG4gICAgJ2dyZWF0ZXIgb3IgZXF1YWxzJyxcclxuICAgICdsZXNzIG9yIGVxdWFscycsXHJcbiAgICAnaXMgZW1wdHknLFxyXG4gICAgJ2lzIG5vdCBlbXB0eSdcclxuICBdXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgaGF2ZU9wdGlvbnNGaWVsZFR5cGVzID0gW1xyXG4gICdzZWxlY3QnLFxyXG4gICdjaGVja2JveC1ncm91cCcsXHJcbiAgJ3JhZGlvJyxcclxuICAnbGlrZXJ0JyxcclxuICAnbmVlZC1jb250YWN0J1xyXG5dO1xyXG5cclxuZXhwb3J0IGNvbnN0IHdpdGhvdXRWYWx1ZVZhbGlkYXRvclR5cGVzID0gWydyZXF1aXJlZCcsICdyZXF1aXJlZFRydWUnLCAnZW1haWwnXTtcclxuXHJcbmV4cG9ydCBjb25zdCBib29sZWFuRmllbGRzOiBGb3JtRmllbGRCb29sZWFuS2V5c1tdID0gWydhY3RpdmUnLCAncmVxdWlyZWQnLCAnaGFzT3RoZXInLCAnaGFzTkEnXTtcclxuXHJcbmV4cG9ydCBjb25zdCBhcnJheVByb3BlcnRpZXM6IChrZXlvZiBGb3JtRmllbGQpW10gPSBbJ3ZhbGlkYXRvcnMnLCAnb3B0aW9ucycsICdyb3dzJywgJ3FlU2NhbGVzJ107XHJcblxyXG5leHBvcnQgY29uc3QgZGVmYXVsdFZhbHVlc01hcDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj4gPSB7XHJcbiAgb3B0aW9uczoge1xyXG4gICAgY291bnRyeTogJ1paJ1xyXG4gIH1cclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBtYXhMZW5ndGhNYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XHJcbiAgcGxhY2Vob2xkZXI6IDI1MCxcclxuICB0aXRsZTogMTAwMCxcclxuICB3YXJuaW5nTWVzc2FnZTogMTAwMCxcclxuICBhbmFseXRpY3NUaXRsZTogMjUwXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcmVxdWlyZWRTdWJmaWVsZHNNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcclxuICBvcHRpb25zOiBbJ25hbWUnLCAndmFsdWUnXSxcclxuICByb3dzOiBbJ3RpdGxlJ10sXHJcbiAgcWVTY2FsZXM6IFsndGl0bGUnXVxyXG59O1xyXG4iXX0=