UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

202 lines 19.9 kB
export function IONIC_ICON_SCHEMA(infos) { return { title: 'Ionic icon', ...infos, type: 'string', 'x-input': { type: 'ion-icon', }, }; } export function SVG_INPUT_SCHEMA(infos) { return { 'x-input': { type: 'svg-input', }, title: 'SVG', type: 'string', description: infos.description, examples: [ '<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><path d="M384 0h-288c-17.6 0-32 14.399-32 32v448c0 17.6 14.399 32 32 32h288c17.6 0 32-14.4 32-32v-448c0-17.601-14.4-32-32-32zM240 488.891c-13.746 0-24.891-11.145-24.891-24.891s11.145-24.891 24.891-24.891 24.891 11.145 24.891 24.891-11.145 24.891-24.891 24.891zM384 416h-288v-352h288v352z"></path></svg>', ], }; } export function ICON_OR_SVG_SCHEMA(infos) { return { oneOf: [IONIC_ICON_SCHEMA(infos), SVG_INPUT_SCHEMA(infos)], }; } export function TAP_VARIABLE_SCHEMA() { return { 'x-input': { type: 'tap-variable', }, type: 'string', }; } export function VALUE_STREAM_SCHEMA(schema) { return { title: schema.title, description: schema.description, 'x-input': { type: 'value-stream', settings: { schema, }, }, // oneOf: [ // { // title: 'Data stream', // type: 'object', // }, // schema, // ], }; } export function VALUE_STREAM_FIELD(schema) { return { schema: VALUE_STREAM_SCHEMA(schema), }; } export function EVENT_STREAM_FIELD(infos = {}) { return { schema: EVENT_STREAM_SCHEMA(infos), }; } export function EVENT_STREAM_SCHEMA(infos = {}) { return { ...infos, 'x-input': { type: 'event-stream', settings: {}, }, }; } export function IONIC_COLOR_SCHEMA(infos) { return { ...infos, type: 'string', 'x-input': { type: 'ionic-color', }, }; } export function IONIC_COLOR_SCHEME_SCHEMA(infos) { return { ...infos, $ref: './theme.schema.json#/definitions/ColorScheme', }; } export const COLOR_SCHEME_SCHEMA = IONIC_COLOR_SCHEME_SCHEMA({}); export const CHART_ORIENTATION_SCHEMA = { type: 'string', enum: ['horizontal', 'vertical'], default: 'vertical', description: 'Change chart orientation, horizontal or vertical', }; export const SHOW_X_AXIS_SCHEMA = { type: 'boolean', default: true, description: 'Show x-axis', title: 'Show x-axis', // tsType: 'boolean' }; export const Y_SCALE_MIN_SCHEMA = { type: 'number', default: true, description: 'Min y-value', title: 'Min y-value', }; export const Y_SCALE_MAX_SCHEMA = { type: 'number', default: true, description: 'Max y-value', title: 'Max y-value', }; export const X_AXIS_LABEL_SCHEMA = { type: 'string', maxLength: 50, title: 'X-axis label', description: 'X-axis label', }; export const SHOW_X_AXIS_LABEL_SCHEMA = { type: 'boolean', default: true, description: 'Show x-axis label', title: 'Show x-axis label', }; export const SHOW_Y_AXIS_SCHEMA = { type: 'boolean', default: true, description: 'Show y-axis', title: 'Show y-axis', }; export const SHOW_Y_AXIS_LABEL_SCHEMA = { type: 'boolean', default: true, description: 'Show y-axis label', title: 'Show y-axis label', }; export const Y_AXIS_LABEL_SCHEMA = { type: 'string', maxLength: 50, title: 'Y-axis label', description: 'Y-axis label', }; export const EXPORT_DATA_FILE_NAME_SCHEMA = { type: 'string', description: 'Exported file name', maxLength: 50, }; export const SHOW_EXPORT_DATA_BUTTON_SCHEMA = { title: 'Export data button', type: 'boolean', default: false, description: 'Show export data button. Use will be able to export monitoring data to CSV or JSON files.', }; export const EDITABLE_SCHEMA = { type: 'boolean', default: true, description: 'Whether or not you want to authorize the user to edit the value', }; export const LEGEND_POSITION_SCHEMA = { type: 'string', default: 'below', enum: ['right', 'below'], description: 'Legend position, right or below', }; export const SHOW_LEGEND_SCHEMA = { type: 'boolean', default: true, description: 'Show legend', }; export const LEGEND_TITLE_SCHEMA = { type: 'string', maxLength: 50, description: 'Legend title to be displayed (if legend options is enabled)', }; export const SHOW_VALUE_DETAIL_SCHEMA = { type: 'boolean', title: 'Show value detail', default: false, description: 'When clicking on a value, a popup is displayed with the current value and additional informations.', }; export function HEX_COLOR_SCHEMA(info) { return { type: 'string', format: 'color', ...info, }; } export const DIGITS_INFO_SCHEMA = { type: 'string', pattern: '\\d+\\.\\d+(-\\d+)?', maxLength: 30, description: '{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n' + ' minIntegerDigits: The minimum number of integer digits before the decimal point. Default is 1. \n' + ' minFractionDigits: The minimum number of digits after the decimal point. Default is 0. \n' + ' maxFractionDigits: The maximum number of digits after the decimal point. \n' + '\n' + 'For example: "2.3-3" will format number 1.7 as 01.700', }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9tb25pdG9yaW5nL3NyYy9saWIvdWktY29tcG9uZW50cy9zaGFyZWQtc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUdqQztJQUNDLE9BQU87UUFDTCxLQUFLLEVBQUUsWUFBWTtRQUNuQixHQUFHLEtBQUs7UUFDUixJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxVQUFVO1NBQ2pCO0tBQ2EsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQStCO0lBQzlELE9BQU87UUFDTCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsV0FBVztTQUNsQjtRQUNELEtBQUssRUFBRSxLQUFLO1FBQ1osSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7UUFDOUIsUUFBUSxFQUFFO1lBQ1IscVpBQXFaO1NBQ3RaO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FHbEM7SUFDQyxPQUFPO1FBQ0wsS0FBSyxFQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDM0QsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE9BQU87UUFDTCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsY0FBYztTQUNyQjtRQUNELElBQUksRUFBRSxRQUFRO0tBQ0EsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQW1CO0lBQ3JELE9BQU87UUFDTCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7UUFDbkIsV0FBVyxFQUFFLE1B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REFBNkQ7Q0FDM0UsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixPQUFPLEVBQUUsS0FBSztJQUNkLFdBQVcsRUFDVCxvR0FBb0c7Q0FDdkcsQ0FBQztBQUVGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUdoQztJQUNDLE9BQU87UUFDTCxJQUFJLEVBQUUsUUFBUTtRQUNkLE1BQU0sRUFBRSxPQUFPO1FBQ2YsR0FBRyxJQUFJO0tBQ1IsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBZ0I7SUFDN0MsSUFBSSxFQUFFLFFBQVE7SUFDZCxPQUFPLEVBQUUscUJBQXFCO0lBQzlCLFNBQVMsRUFBRSxFQUFFO0lBQ2IsV0FBVyxFQUNULCtEQUErRDtRQUMvRCxvR0FBb0c7UUFDcEcsNEZBQTRGO1FBQzVGLDhFQUE4RTtRQUM5RSxJQUFJO1FBQ0osdURBQXVEO0NBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKU09OU2NoZW1hNyB9IGZyb20gJ2pzb24tc2NoZW1hJztcbmltcG9ydCB7IEFwcEdlbkZpZWxkUGFyYW0gfSBmcm9tICcuLi9tZXRhZGF0YS9kZWZpbml0aW9ucyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBJT05JQ19JQ09OX1NDSEVNQShpbmZvczoge1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZGVmYXVsdD86IHN0cmluZztcbn0pOiBKU09OU2NoZW1hNyB7XG4gIHJldHVybiB7XG4gICAgdGl0bGU6ICdJb25pYyBpY29uJyxcbiAgICAuLi5pbmZvcyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAneC1pbnB1dCc6IHtcbiAgICAgIHR5cGU6ICdpb24taWNvbicsXG4gICAgfSxcbiAgfSBhcyBKU09OU2NoZW1hNztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNWR19JTlBVVF9TQ0hFTUEoaW5mb3M6IHsgZGVzY3JpcHRpb24/OiBzdHJpbmcgfSkge1xuICByZXR1cm4ge1xuICAgICd4LWlucHV0Jzoge1xuICAgICAgdHlwZTogJ3N2Zy1pbnB1dCcsXG4gICAgfSxcbiAgICB0aXRsZTogJ1NWRycsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgZGVzY3JpcHRpb246IGluZm9zLmRlc2NyaXB0aW9uLFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICAnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNTEyXCIgaGVpZ2h0PVwiNTEyXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCI+PHBhdGggZD1cIk0zODQgMGgtMjg4Yy0xNy42IDAtMzIgMTQuMzk5LTMyIDMydjQ0OGMwIDE3LjYgMTQuMzk5IDMyIDMyIDMyaDI4OGMxNy42IDAgMzItMTQuNCAzMi0zMnYtNDQ4YzAtMTcuNjAxLTE0LjQtMzItMzItMzJ6TTI0MCA0ODguODkxYy0xMy43NDYgMC0yNC44OTEtMTEuMTQ1LTI0Ljg5MS0yNC44OTFzMTEuMTQ1LTI0Ljg5MSAyNC44OTEtMjQuODkxIDI0Ljg5MSAxMS4xNDUgMjQuODkxIDI0Ljg5MS0xMS4xNDUgMjQuODkxLTI0Ljg5MSAyNC44OTF6TTM4NCA0MTZoLTI4OHYtMzUyaDI4OHYzNTJ6XCI+PC9wYXRoPjwvc3ZnPicsXG4gICAgXSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElDT05fT1JfU1ZHX1NDSEVNQShpbmZvczoge1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZGVmYXVsdD86IHN0cmluZztcbn0pIHtcbiAgcmV0dXJuIHtcbiAgICBvbmVPZjogW0lPTklDX0lDT05fU0NIRU1BKGluZm9zKSwgU1ZHX0lOUFVUX1NDSEVNQShpbmZvcyldLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVEFQX1ZBUklBQkxFX1NDSEVNQSgpOiBKU09OU2NoZW1hNyB7XG4gIHJldHVybiB7XG4gICAgJ3gtaW5wdXQnOiB7XG4gICAgICB0eXBlOiAndGFwLXZhcmlhYmxlJyxcbiAgICB9LFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICB9IGFzIEpTT05TY2hlbWE3O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVkFMVUVfU1RSRUFNX1NDSEVNQShzY2hlbWE6IEpTT05TY2hlbWE3KSB7XG4gIHJldHVybiB7XG4gICAgdGl0bGU6IHNjaGVtYS50aXRsZSxcbiAgICBkZXNjcmlwdGlvbjogc2NoZW1hLmRlc2NyaXB0aW9uLFxuICAgICd4LWlucHV0Jzoge1xuICAgICAgdHlwZTogJ3ZhbHVlLXN0cmVhbScsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBzY2hlbWEsXG4gICAgICB9LFxuICAgIH0sXG4gICAgLy8gb25lT2Y6IFtcbiAgICAvLyAgIHtcbiAgICAvLyAgICAgdGl0bGU6ICdEYXRhIHN0cmVhbScsXG4gICAgLy8gICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIC8vICAgfSxcbiAgICAvLyAgIHNjaGVtYSxcbiAgICAvLyBdLFxuICB9IGFzIEpTT05TY2hlbWE3O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVkFMVUVfU1RSRUFNX0ZJRUxEKHNjaGVtYTogSlNPTlNjaGVtYTcpOiBBcHBHZW5GaWVsZFBhcmFtIHtcbiAgcmV0dXJuIHtcbiAgICBzY2hlbWE6IFZBTFVFX1NUUkVBTV9TQ0hFTUEoc2NoZW1hKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEVWRU5UX1NUUkVBTV9GSUVMRChcbiAgaW5mb3M6IHtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBkZWZhdWx0Pzogc3RyaW5nO1xuICB9ID0ge31cbikge1xuICByZXR1cm4ge1xuICAgIHNjaGVtYTogRVZFTlRfU1RSRUFNX1NDSEVNQShpbmZvcyksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFVkVOVF9TVFJFQU1fU0NIRU1BKFxuICBpbmZvczoge1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGRlZmF1bHQ/OiBzdHJpbmc7XG4gIH0gPSB7fVxuKSB7XG4gIHJldHVybiB7XG4gICAgLi4uaW5mb3MsXG4gICAgJ3gtaW5wdXQnOiB7XG4gICAgICB0eXBlOiAnZXZlbnQtc3RyZWFtJyxcbiAgICAgIHNldHRpbmdzOiB7fSxcbiAgICB9LFxuICB9IGFzIEpTT05TY2hlbWE3O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSU9OSUNfQ09MT1JfU0NIRU1BKGluZm9zOiB7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkZWZhdWx0Pzogc3RyaW5nO1xufSk6IEpTT05TY2hlbWE3IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbmZvcyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAneC1pbnB1dCc6IHtcbiAgICAgIHR5cGU6ICdpb25pYy1jb2xvcicsXG4gICAgfSxcbiAgfSBhcyBKU09OU2NoZW1hNztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElPTklDX0NPTE9SX1NDSEVNRV9TQ0hFTUEoaW5mb3M6IHtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGRlZmF1bHQ/OiBzdHJpbmc7XG59KTogSlNPTlNjaGVtYTcge1xuICByZXR1cm4ge1xuICAgIC4uLmluZm9zLFxuICAgICRyZWY6ICcuL3RoZW1lLnNjaGVtYS5qc29uIy9kZWZpbml0aW9ucy9Db2xvclNjaGVtZScsXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBDT0xPUl9TQ0hFTUVfU0NIRU1BOiBKU09OU2NoZW1hNyA9IElPTklDX0NPTE9SX1NDSEVNRV9TQ0hFTUEoe30pO1xuXG5leHBvcnQgY29uc3QgQ0hBUlRfT1JJRU5UQVRJT05fU0NIRU1BOiBKU09OU2NoZW1hNyA9IHtcbiAgdHlwZTogJ3N0cmluZycsXG4gIGVudW06IFsnaG9yaXpvbnRhbCcsICd2ZXJ0aWNhbCddLFxuICBkZWZhdWx0OiAndmVydGljYWwnLFxuICBkZXNjcmlwdGlvbjogJ0NoYW5nZSBjaGFydCBvcmllbnRhdGlvbiwgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCcsXG59O1xuXG5leHBvcnQgY29uc3QgU0hPV19YX0FYSVNfU0NIRU1BOiBKU09OU2NoZW1hNyA9IHtcbiAgdHlwZTogJ2Jvb2xlYW4nLFxuICBkZWZhdWx0OiB0cnVlLFxuICBkZXNjcmlwdGlvbjogJ1Nob3cgeC1heGlzJyxcbiAgdGl0bGU6ICdTaG93IHgtYXhpcycsXG4gIC8vIHRzVHlwZTogJ2Jvb2xlYW4nXG59O1xuXG5leHBvcnQgY29uc3QgWV9TQ0FMRV9NSU5fU0NIRU1BOiBKU09OU2NoZW1hNyA9IHtcbiAgdHlwZTogJ251bWJlcicsXG4gIGRlZmF1bHQ6IHRydWUsXG4gIGRlc2NyaXB0aW9uOiAnTWluIHktdmFsdWUnLFxuICB0aXRsZTogJ01pbiB5LXZhbHVlJyxcbn07XG5leHBvcnQgY29uc3QgWV9TQ0FMRV9NQVhfU0NIRU1BOiBKU09OU2NoZW1hNyA9IHtcbiAgdHlwZTogJ251bWJlcicsXG4gIGRlZmF1bHQ6IHRydWUsXG4gIGRlc2NyaXB0aW9uOiAnTWF4IHktdmFsdWUnLFxuICB0aXRsZTogJ01heCB5LXZhbHVlJyxcbn07XG5cbmV4cG9ydCBjb25zdCBYX0FYSVNfTEFCRUxfU0NIRU1BOiBKU09OU2NoZW1hNyA9IHtcbiAgdHlwZTogJ3N0cmluZycsXG4gIG1heExlbmd0aDogNTAsXG4gIHRpdGxlOiAnWC1heGlzIGxhYmVsJyxcbiAgZGVzY3JpcHRpb246ICdYLWF4aXMgbGFiZWwnLFxufTtcblxuZXhwb3J0IGNvbnN0IFNIT1dfWF9BWElTX0xBQkVMX1NDSEVNQTogSlNPTlNjaGVtYTcgPSB7XG4gIHR5cGU6ICdib29sZWFuJyxcbiAgZGVmYXVsdDogdHJ1ZSxcbiAgZGVzY3JpcHRpb246ICdTaG93IHgtYXhpcyBsYWJlbCcsXG4gIHRpdGxlOiAnU2hvdyB4LWF4aXMgbGFiZWwnLFxufTtcblxuZXhwb3J0IGNvbnN0IFNIT1dfWV9BWElTX1NDSEVNQTogSlNPTlNjaGVtYTcgPSB7XG4gIHR5cGU6ICdib29sZWFuJyxcbiAgZGVmYXVsdDogdHJ1ZSxcbiAgZGVzY3JpcHRpb246ICdTaG93IHktYXhpcycsXG4gIHRpdGxlOiAnU2hvdyB5LWF4aXMnLFxufTtcblxuZXhwb3J0IGNvbnN0IFNIT1dfWV9BWElTX0xBQkVMX1NDSEVNQTogSlNPTlNjaGVtYTcgPSB7XG4gIHR5cGU6ICdib29sZWFuJyxcbiAgZGVmYXVsdDogdHJ1ZSxcbiAgZGVzY3JpcHRpb246ICdTaG93IHktYXhpcyBsYWJlbCcsXG4gIHRpdGxlOiAnU2hvdyB5LWF4aXMgbGFiZWwnLFxufTtcblxuZXhwb3J0IGNvbnN0IFlfQVhJU19MQUJFTF9TQ0hFTUE6IEpTT05TY2hlbWE3ID0ge1xuICB0eXBlOiAnc3RyaW5nJyxcbiAgbWF4TGVuZ3RoOiA1MCxcbiAgdGl0bGU6ICdZLWF4aXMgbGFiZWwnLFxuICBkZXNjcmlwdGlvbjogJ1ktYXhpcyBsYWJlbCcsXG59O1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfRklMRV9OQU1FX1NDSEVNQTogSlNPTlNjaGVtYTcgPSB7XG4gIHR5cGU6ICdzdHJpbmcnLFxuICBkZXNjcmlwdGlvbjogJ0V4cG9ydGVkIGZpbGUgbmFtZScsXG4gIG1heExlbmd0aDogNTAsXG59O1xuXG5leHBvcnQgY29uc3QgU0hPV19FWFBPUlRfREFUQV9CVVRUT05fU0NIRU1BOiBKU09OU2NoZW1hNyA9IHtcbiAgdGl0bGU6ICdFeHBvcnQgZGF0YSBidXR0b24nLFxuICB0eXBlOiAnYm9vbGVhbicsXG4gIGRlZmF1bHQ6IGZhbHNlLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnU2hvdyBleHBvcnQgZGF0YSBidXR0b24uIFVzZSB3aWxsIGJlIGFibGUgdG8gZXhwb3J0IG1vbml0b3JpbmcgZGF0YSB0byBDU1Ygb3IgSlNPTiBmaWxlcy4nLFxufTtcblxuZXhwb3J0IGNvbnN0IEVESVRBQkxFX1NDSEVNQTogSlNPTlNjaGVtYTcgPSB7XG4gIHR5cGU6ICdib29sZWFuJyxcbiAgZGVmYXVsdDogdHJ1ZSxcbiAgZGVzY3JpcHRpb246XG4gICAgJ1doZXRoZXIgb3Igbm90IHlvdSB3YW50IHRvIGF1dGhvcml6ZSB0aGUgdXNlciB0byBlZGl0IHRoZSB2YWx1ZScsXG59O1xuXG5leHBvcnQgY29uc3QgTEVHRU5EX1BPU0lUSU9OX1NDSEVNQTogSlNPTlNjaGVtYTcgPSB7XG4gIHR5cGU6ICdzdHJpbmcnLFxuICBkZWZhdWx0OiAnYmVsb3cnLFxuICBlbnVtOiBbJ3JpZ2h0JywgJ2JlbG93J10sXG4gIGRlc2NyaXB0aW9uOiAnTGVnZW5kIHBvc2l0aW9uLCByaWdodCBvciBiZWxvdycsXG59O1xuXG5leHBvcnQgY29uc3QgU0hPV19MRUdFTkRfU0NIRU1BID0ge1xuICB0eXBlOiAnYm9vbGVhbicsXG4gIGRlZmF1bHQ6IHRydWUsXG4gIGRlc2NyaXB0aW9uOiAnU2hvdyBsZWdlbmQnLFxufTtcblxuZXhwb3J0IGNvbnN0IExFR0VORF9USVRMRV9TQ0hFTUEgPSB7XG4gIHR5cGU6ICdzdHJpbmcnLFxuICBtYXhMZW5ndGg6IDUwLFxuICBkZXNjcmlwdGlvbjogJ0xlZ2VuZCB0aXRsZSB0byBiZSBkaXNwbGF5ZWQgKGlmIGxlZ2VuZCBvcHRpb25zIGlzIGVuYWJsZWQpJyxcbn07XG5cbmV4cG9ydCBjb25zdCBTSE9XX1ZBTFVFX0RFVEFJTF9TQ0hFTUEgPSB7XG4gIHR5cGU6ICdib29sZWFuJyxcbiAgdGl0bGU6ICdTaG93IHZhbHVlIGRldGFpbCcsXG4gIGRlZmF1bHQ6IGZhbHNlLFxuICBkZXNjcmlwdGlvbjpcbiAgICAnV2hlbiBjbGlja2luZyBvbiBhIHZhbHVlLCBhIHBvcHVwIGlzIGRpc3BsYXllZCB3aXRoIHRoZSBjdXJyZW50IHZhbHVlIGFuZCBhZGRpdGlvbmFsIGluZm9ybWF0aW9ucy4nLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIEhFWF9DT0xPUl9TQ0hFTUEoaW5mbzoge1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG59KTogSlNPTlNjaGVtYTcge1xuICByZXR1cm4ge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGZvcm1hdDogJ2NvbG9yJyxcbiAgICAuLi5pbmZvLFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgRElHSVRTX0lORk9fU0NIRU1BOiBKU09OU2NoZW1hNyA9IHtcbiAgdHlwZTogJ3N0cmluZycsXG4gIHBhdHRlcm46ICdcXFxcZCtcXFxcLlxcXFxkKygtXFxcXGQrKT8nLFxuICBtYXhMZW5ndGg6IDMwLFxuICBkZXNjcmlwdGlvbjpcbiAgICAne21pbkludGVnZXJEaWdpdHN9LnttaW5GcmFjdGlvbkRpZ2l0c30te21heEZyYWN0aW9uRGlnaXRzfS5cXG4nICtcbiAgICAnIG1pbkludGVnZXJEaWdpdHM6IFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnRlZ2VyIGRpZ2l0cyBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQuIERlZmF1bHQgaXMgMS4gXFxuJyArXG4gICAgJyBtaW5GcmFjdGlvbkRpZ2l0czogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludC4gRGVmYXVsdCBpcyAwLiBcXG4nICtcbiAgICAnIG1heEZyYWN0aW9uRGlnaXRzOiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50LiBcXG4nICtcbiAgICAnXFxuJyArXG4gICAgJ0ZvciBleGFtcGxlOiBcIjIuMy0zXCIgd2lsbCBmb3JtYXQgbnVtYmVyIDEuNyBhcyAwMS43MDAnLFxufTtcbiJdfQ==