valtech-components 4.0.1005 → 4.0.1007
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/organisms/field-schema-editor/field-schema-editor.component.mjs +14 -3
- package/esm2022/lib/components/organisms/field-schema-editor/field-schema-editor.i18n.mjs +5 -1
- package/esm2022/lib/components/organisms/field-schema-editor/types.mjs +1 -1
- package/esm2022/lib/components/organisms/survey-builder/survey-builder.component.mjs +88 -13
- package/esm2022/lib/components/organisms/survey-builder/survey-builder.i18n.mjs +15 -1
- package/esm2022/lib/components/organisms/survey-builder/survey-preview-modal.component.mjs +129 -0
- package/esm2022/lib/components/organisms/survey-response/survey-response.component.mjs +135 -5
- package/esm2022/lib/components/organisms/survey-response/survey-response.i18n.mjs +7 -1
- package/esm2022/lib/services/forms/form-schema-builder.service.mjs +18 -4
- package/esm2022/lib/services/forms/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +396 -21
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/field-schema-editor/field-schema-editor.component.d.ts +1 -0
- package/lib/components/organisms/field-schema-editor/types.d.ts +2 -0
- package/lib/components/organisms/survey-builder/survey-builder.component.d.ts +7 -0
- package/lib/components/organisms/survey-builder/survey-preview-modal.component.d.ts +28 -0
- package/lib/components/organisms/survey-response/survey-response.component.d.ts +11 -1
- package/lib/services/forms/types.d.ts +6 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
package/esm2022/lib/components/organisms/field-schema-editor/field-schema-editor.component.mjs
CHANGED
|
@@ -56,6 +56,7 @@ export class FieldSchemaEditorComponent {
|
|
|
56
56
|
this.labelControl = new FormControl('', { nonNullable: true });
|
|
57
57
|
this.placeholderControl = new FormControl('', { nonNullable: true });
|
|
58
58
|
this.hintControl = new FormControl('', { nonNullable: true });
|
|
59
|
+
this.sectionControl = new FormControl('', { nonNullable: true });
|
|
59
60
|
this.requiredControl = new FormControl(true, { nonNullable: true });
|
|
60
61
|
this.typeControl = new FormControl('TEXT', { nonNullable: true });
|
|
61
62
|
this.options = signal([]);
|
|
@@ -111,6 +112,7 @@ export class FieldSchemaEditorComponent {
|
|
|
111
112
|
});
|
|
112
113
|
this.placeholderControl.valueChanges.subscribe(() => this.emitChange());
|
|
113
114
|
this.hintControl.valueChanges.subscribe(() => this.emitChange());
|
|
115
|
+
this.sectionControl.valueChanges.subscribe(() => this.emitChange());
|
|
114
116
|
this.requiredControl.valueChanges.subscribe(() => this.emitChange());
|
|
115
117
|
}
|
|
116
118
|
ngOnInit() {
|
|
@@ -122,6 +124,7 @@ export class FieldSchemaEditorComponent {
|
|
|
122
124
|
this.labelControl.setValue(initial.label ?? '');
|
|
123
125
|
this.placeholderControl.setValue(initial.placeholderText ?? '');
|
|
124
126
|
this.hintControl.setValue(initial.hintText ?? '');
|
|
127
|
+
this.sectionControl.setValue(initial.sectionLabel ?? '');
|
|
125
128
|
this.requiredControl.setValue(!!initial.required);
|
|
126
129
|
this.typeControl.setValue(this.coerceType(initial.type));
|
|
127
130
|
this.options.set(initial.options ?? []);
|
|
@@ -169,6 +172,7 @@ export class FieldSchemaEditorComponent {
|
|
|
169
172
|
this.labelControl.setValue(value.label ?? '');
|
|
170
173
|
this.placeholderControl.setValue(value.placeholderText ?? '');
|
|
171
174
|
this.hintControl.setValue(value.hintText ?? '');
|
|
175
|
+
this.sectionControl.setValue(value.sectionLabel ?? '');
|
|
172
176
|
this.requiredControl.setValue(!!value.required);
|
|
173
177
|
this.typeControl.setValue(this.coerceType(value.type));
|
|
174
178
|
this.options.set(value.options ?? []);
|
|
@@ -203,6 +207,7 @@ export class FieldSchemaEditorComponent {
|
|
|
203
207
|
hintText: (this.hintControl.value || '').trim(),
|
|
204
208
|
type: this.coerceType(this.typeControl.value),
|
|
205
209
|
required: this.requiredControl.value,
|
|
210
|
+
sectionLabel: (this.sectionControl.value || '').trim(),
|
|
206
211
|
options: this.needsOptions() ? this.options().map((option, index) => ({ ...option, order: index })) : undefined,
|
|
207
212
|
};
|
|
208
213
|
}
|
|
@@ -263,11 +268,14 @@ export class FieldSchemaEditorComponent {
|
|
|
263
268
|
</val-form-field>
|
|
264
269
|
}
|
|
265
270
|
|
|
271
|
+
<val-form-field [label]="t('sectionLabel')">
|
|
272
|
+
<val-text-input [props]="{ control: sectionControl, placeholder: t('sectionPlaceholder'), state: state() }" />
|
|
273
|
+
</val-form-field>
|
|
274
|
+
|
|
266
275
|
<val-toggle-input
|
|
267
276
|
[props]="{
|
|
268
277
|
control: requiredControl,
|
|
269
278
|
label: t('requiredLabel'),
|
|
270
|
-
justify: 'space-between',
|
|
271
279
|
state: state(),
|
|
272
280
|
}"
|
|
273
281
|
/>
|
|
@@ -336,11 +344,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
336
344
|
</val-form-field>
|
|
337
345
|
}
|
|
338
346
|
|
|
347
|
+
<val-form-field [label]="t('sectionLabel')">
|
|
348
|
+
<val-text-input [props]="{ control: sectionControl, placeholder: t('sectionPlaceholder'), state: state() }" />
|
|
349
|
+
</val-form-field>
|
|
350
|
+
|
|
339
351
|
<val-toggle-input
|
|
340
352
|
[props]="{
|
|
341
353
|
control: requiredControl,
|
|
342
354
|
label: t('requiredLabel'),
|
|
343
|
-
justify: 'space-between',
|
|
344
355
|
state: state(),
|
|
345
356
|
}"
|
|
346
357
|
/>
|
|
@@ -361,4 +372,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
361
372
|
}], changed: [{
|
|
362
373
|
type: Output
|
|
363
374
|
}] } });
|
|
364
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2NoZW1hLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2ZpZWxkLXNjaGVtYS1lZGl0b3IvZmllbGQtc2NoZW1hLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsZUFBZSxFQUFpQixTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFFbEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRXRFLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDO0FB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QUMsQ0FBQztJQUNwRCxDQUFDOytHQW5NVSwwQkFBMEI7bUdBQTFCLDBCQUEwQiw4SkF6SDNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RFQsNHZDQXJFQyxZQUFZLDhCQUNaLG1CQUFtQiwrQkFDbkIsa0JBQWtCLDhFQUNsQixrQkFBa0Isd0ZBQ2xCLHNCQUFzQiw0RkFDdEIsdUJBQXVCLDBGQUN2QixvQkFBb0IsMEZBQ3BCLDJCQUEyQjs7NEZBMkhsQiwwQkFBMEI7a0JBdEl0QyxTQUFTOytCQUNFLHlCQUF5QixjQUN2QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQiwyQkFBMkI7cUJBQzVCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTREVDt3REE4RFEsS0FBSztzQkFBYixLQUFLO2dCQUNhLElBQUk7c0JBQXRCLE1BQU07Z0JBT1ksT0FBTztzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybXMvZm9ybS1zY2hlbWEtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZpZWxkT3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybXMvdHlwZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RhdGVzLCBJbnB1dE1ldGFkYXRhLCBJbnB1dFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0YXJlYUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3RleHRhcmVhLWlucHV0L3RleHRhcmVhLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9zZWxlY3QtaW5wdXQvc2VsZWN0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2dnbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90b2dnbGUtaW5wdXQvdG9nZ2xlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZE9wdGlvbnNFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZmllbGQtb3B0aW9ucy1lZGl0b3IvZmllbGQtb3B0aW9ucy1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEVkaXRhYmxlRmllbGREZWYsIEZpZWxkU2NoZW1hRWRpdG9yTWV0YWRhdGEsIEZpZWxkU2NoZW1hRWRpdG9yUHJlc2V0IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBGSUVMRF9TQ0hFTUFfRURJVE9SX0kxOE4gfSBmcm9tICcuL2ZpZWxkLXNjaGVtYS1lZGl0b3IuaTE4bic7XG5cbmNvbnN0IE5BTUVTUEFDRSA9ICdGaWVsZFNjaGVtYUVkaXRvcic7XG5cbi8qKlxuICogVGlwb3MgY3V5byB2YWxvciBzYWxlIGRlIHVuYSBsaXN0YSBjZXJyYWRhIHF1ZSBkZWZpbmUgcXVpZW4gYXJtYSBlbFxuICogZm9ybXVsYXJpbyDigJQgc2luIGFsIG1lbm9zIHVuYSBvcGNpw7NuLCBlbCBjYW1wbyBubyBzZSBwdWVkZSByZXNwb25kZXIuXG4gKiBFc3Blam8gZGUgYGZpZWxkUmVxdWlyZXNPcHRpb25zYCBxdWUgdml2w61hIGR1cGxpY2FkbyBlbiBiaW5nby5cbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX1RZUEVTX1dJVEhfT1BUSU9OUyA9IFsnU0VMRUNUJywgJ1JBRElPJywgJ01VTFRJX1NFTEVDVCddO1xuXG5sZXQgZmllbGRVaWQgPSAwO1xuXG4vKipcbiAqIHZhbC1maWVsZC1zY2hlbWEtZWRpdG9yXG4gKlxuICogRWRpdGEgVU4gY2FtcG8gZGUgdW4gZm9ybXVsYXJpbyBkaW7DoW1pY286IHRleHRvLCB0aXBvLCBwbGFjZWhvbGRlciwgbm90YSxcbiAqIG9ibGlnYXRvcmllZGFkIHkgb3BjaW9uZXMuIEVzIGxhIHBpZXphIHF1ZSBmYWx0YWJhIGVuIGxhIGxpYiDigJQgaGFzdGEgYWhvcmFcbiAqIGVsIMO6bmljbyBlZGl0b3IgZGUgY2FtcG9zIGNvbiBlc3RlIG5pdmVsIHZpdsOtYSBkZW50cm8gZGUgYmluZ29cbiAqIChgY2hlY2tvdXQtZmllbGQtbW9kYWwuY29tcG9uZW50LnRzYCksIGludmlzaWJsZSBwYXJhIGVsIHJlc3RvIGRlbCBmYWN0b3J5LFxuICogeSBgdmFsLXN1cnZleS1idWlsZGVyYCBoYWLDrWEgdGVybWluYWRvIGNvbiB1bmEgdmVyc2nDs24gcG9icmUgZGUgbG8gbWlzbW9cbiAqIChkb3MgdGlwb3MgZmlqb3MsIHNpbiBwbGFjZWhvbGRlciBuaSBvcGNpb25lcykuXG4gKlxuICogRXMgYWduw7NzdGljbyBkZSBkb21pbmlvIGEgcHJvcMOzc2l0bzpcbiAqIC0gZWwgKipjYXTDoWxvZ28gZGUgdGlwb3MqKiAoYGFsbG93ZWRUeXBlc2ApIGxvIGRlY2lkZSBlbCBjb25zdW1lciwgcG9ycXVlIGVzXG4gKiAgIMOpbCBxdWllbiBzYWJlIHF1w6kgc2FiZSByZW5kZXJpemFyIHN1IGZvcm11bGFyaW87XG4gKiAtIGxvcyAqKnByZXNldHMqKiBsb3MgcGFzYSBlbCBjb25zdW1lciwgcG9ycXVlIFwiY29ycmVvIGRlbCBjb21wcmFkb3JcIiBlcyBkZVxuICogICBjaGVja291dCB5IG5vIHNpZ25pZmljYSBuYWRhIGVuIHVuYSBlbmN1ZXN0YS5cbiAqXG4gKiBObyB0cmFlIGPDoXNjYXJhIGRlIG1vZGFsOiBlbCBjb25zdW1lciBsbyBlbnZ1ZWx2ZSBlbiBgdmFsLW1vZGFsLWxheW91dGAgKG9cbiAqIGVuIGxvIHF1ZSBxdWllcmEpIHkgZGlzcGFyYSBgc3VibWl0KClgIGRlc2RlIHN1IHByb3BpbyBib3TDs24sIGlndWFsIHF1ZSBoYWNlXG4gKiBgc3VydmV5LWNyZWF0ZS1tb2RhbGAgY29uIGB2YWwtc3VydmV5LWJ1aWxkZXJgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZmllbGQtc2NoZW1hLWVkaXRvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3JtRmllbGRDb21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIFRleHRhcmVhSW5wdXRDb21wb25lbnQsXG4gICAgU2VhcmNoU2VsZWN0b3JDb21wb25lbnQsXG4gICAgVG9nZ2xlSW5wdXRDb21wb25lbnQsXG4gICAgRmllbGRPcHRpb25zRWRpdG9yQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yXCI+XG4gICAgICBAaWYgKHNob3dQcmVzZXRzKCkpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXRzXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19zZWN0aW9uLWxhYmVsXCI+e3sgcHJvcHMucHJlc2V0c1RpdGxlIHx8IHQoJ3ByZXNldHNUaXRsZScpIH19PC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQtZ3JpZFwiPlxuICAgICAgICAgICAgQGZvciAocHJlc2V0IG9mIHByb3BzLnByZXNldHM7IHRyYWNrIHByZXNldC5pZCkge1xuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5maWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQtLXNlbGVjdGVkXT1cInNlbGVjdGVkUHJlc2V0SWQoKSA9PT0gcHJlc2V0LmlkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UHJlc2V0KHByZXNldClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz57eyBwcmVzZXQubGFiZWwgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICBAaWYgKHByZXNldC5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgcHJlc2V0LmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIH1cblxuICAgICAgPHZhbC1mb3JtLWZpZWxkIFtsYWJlbF09XCJ0KCdsYWJlbExhYmVsJylcIj5cbiAgICAgICAgPHZhbC10ZXh0LWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IGxhYmVsQ29udHJvbCwgcGxhY2Vob2xkZXI6IHQoJ2xhYmVsUGxhY2Vob2xkZXInKSwgc3RhdGU6IHN0YXRlKCkgfVwiIC8+XG4gICAgICA8L3ZhbC1mb3JtLWZpZWxkPlxuXG4gICAgICA8dmFsLWZvcm0tZmllbGQgW2xhYmVsXT1cInQoJ3R5cGVMYWJlbCcpXCI+XG4gICAgICAgIDx2YWwtc2VsZWN0LWlucHV0IFtwcm9wc109XCJ0eXBlU2VsZWN0UHJvcHMoKVwiIC8+XG4gICAgICA8L3ZhbC1mb3JtLWZpZWxkPlxuXG4gICAgICBAaWYgKHByb3BzLnNob3dQbGFjZWhvbGRlciAhPT0gZmFsc2UpIHtcbiAgICAgICAgPHZhbC1mb3JtLWZpZWxkIFtsYWJlbF09XCJ0KCdwbGFjZWhvbGRlckxhYmVsJylcIj5cbiAgICAgICAgICA8dmFsLXRleHRhcmVhLWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IHBsYWNlaG9sZGVyQ29udHJvbCwgYXV0b0dyb3c6IHRydWUsIHN0YXRlOiBzdGF0ZSgpIH1cIiAvPlxuICAgICAgICA8L3ZhbC1mb3JtLWZpZWxkPlxuICAgICAgfVxuXG4gICAgICBAaWYgKHByb3BzLnNob3dIaW50ICE9PSBmYWxzZSkge1xuICAgICAgICA8dmFsLWZvcm0tZmllbGQgW2xhYmVsXT1cInQoJ2hpbnRMYWJlbCcpXCI+XG4gICAgICAgICAgPHZhbC10ZXh0YXJlYS1pbnB1dCBbcHJvcHNdPVwieyBjb250cm9sOiBoaW50Q29udHJvbCwgYXV0b0dyb3c6IHRydWUsIHN0YXRlOiBzdGF0ZSgpIH1cIiAvPlxuICAgICAgICA8L3ZhbC1mb3JtLWZpZWxkPlxuICAgICAgfVxuXG4gICAgICA8dmFsLXRvZ2dsZS1pbnB1dFxuICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgIGNvbnRyb2w6IHJlcXVpcmVkQ29udHJvbCxcbiAgICAgICAgICBsYWJlbDogdCgncmVxdWlyZWRMYWJlbCcpLFxuICAgICAgICAgIGp1c3RpZnk6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBzdGF0ZTogc3RhdGUoKSxcbiAgICAgICAgfVwiXG4gICAgICAvPlxuXG4gICAgICBAaWYgKG5lZWRzT3B0aW9ucygpKSB7XG4gICAgICAgICAgICA8dmFsLWZpZWxkLW9wdGlvbnMtZWRpdG9yIFtwcm9wc109XCJvcHRpb25zRWRpdG9yUHJvcHMoKVwiIChvcHRpb25zQ2hhbmdlKT1cInNldE9wdGlvbnMoJGV2ZW50KVwiIC8+XG4gICAgICB9XG5cbiAgICAgIEBpZiAodmFsaWRhdGlvbkVycm9yKCkpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19lcnJvclwiPnt7IHZhbGlkYXRpb25FcnJvcigpIH19PC9wPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3NlY3Rpb24tbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM5Mjk0OWMpO1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldC1ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNjBweCwgMWZyKSk7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cbiAgICAgIC5maWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQge1xuICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12YWwtYm9yZGVyLWNvbG9yLCB2YXIoLS1pb24tYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMSkpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdmFsLXJhZGl1cy1tZCwgMTJweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jYXJkLWJhY2tncm91bmQsIHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvcik7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICAgIC5maWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQgc3Ryb25nLFxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldCBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0IHNwYW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0LS1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pb24tY29sb3ItcHJpbWFyeS1yZ2IsIDI1NSwgMCwgMTc4KSwgMC4xNCk7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFNjaGVtYUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBGaWVsZFNjaGVtYUVkaXRvck1ldGFkYXRhID0geyBhbGxvd2VkVHlwZXM6IFsnVEVYVCddIH07XG4gIEBPdXRwdXQoKSByZWFkb25seSBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0YWJsZUZpZWxkRGVmPigpO1xuICAvKipcbiAgICogRW1pdGUgZW4gY2FkYSB0ZWNsYSwgc2luIHZhbGlkYXIuIEV4aXN0ZSBwb3JxdWUgZWwgY29uc3VtZXIgbmVjZXNpdGEgZWxcbiAgICogYm9ycmFkb3IgZW4gdml2bzogc2kgc29sbyB0dXZpZXJhIGBzYXZlYCwgbG8gZXNjcml0byBhY8OhIG5vIGV4aXN0aXLDrWEgcGFyYVxuICAgKiDDqWwgaGFzdGEgcXVlIGFsZ3VpZW4gdG9xdWUgc3UgYm90w7NuIOKAlCB5IGxvIGVzY3JpdG8gRVMgbGEgaW50ZW5jacOzbiBkZWxcbiAgICogdXN1YXJpbywgbm8gdW4gYm9ycmFkb3IgcXVlIGhheWEgcXVlIGNvbmZpcm1hci5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0YWJsZUZpZWxkRGVmPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNjaGVtYXMgPSBpbmplY3QoRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlKTtcblxuICByZWFkb25seSBsYWJlbENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgaGludENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHJlcXVpcmVkQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0cnVlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICByZWFkb25seSB0eXBlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnVEVYVCcsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG5cbiAgcmVhZG9ubHkgb3B0aW9ucyA9IHNpZ25hbDxGaWVsZE9wdGlvbltdPihbXSk7XG4gIHJlYWRvbmx5IHZhbGlkYXRpb25FcnJvciA9IHNpZ25hbCgnJyk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkUHJlc2V0SWQgPSBzaWduYWwoJycpO1xuICAvKiogU2UgcmVmcmVzY2EgY29uIGNhZGEgY2FtYmlvIGRlIHRpcG8g4oCUIGBuZWVkc09wdGlvbnNgIG5vIHB1ZWRlIGxlZXIgZWwgY29udHJvbCBkaXJlY3RvLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGN1cnJlbnRUeXBlID0gc2lnbmFsKCdURVhUJyk7XG4gIC8qKiBVbmEgdmV6IHF1ZSBzZSB0b2NhIGVsIHRva2VuIGEgbWFubyAobyBzZSBlZGl0YSB1biBjYW1wbyB5YSBndWFyZGFkbykgZGVqYSBkZSBkZXJpdmFyc2UgZGVsIGxhYmVsLiAqL1xuICBwcml2YXRlIG5hbWVMb2NrZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBuYW1lID0gJyc7XG4gIHByaXZhdGUgZmllbGRJZCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShOQU1FU1BBQ0UpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJEZWZhdWx0cyhOQU1FU1BBQ0UsIEZJRUxEX1NDSEVNQV9FRElUT1JfSTE4Tik7XG4gICAgfVxuICAgIHRoaXMudHlwZUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRUeXBlLnNldCh2YWx1ZSB8fCAnVEVYVCcpO1xuICAgICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gICAgfSk7XG4gICAgdGhpcy5sYWJlbENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICBpZiAoIXRoaXMubmFtZUxvY2tlZCkgdGhpcy5uYW1lID0gdGhpcy5mb3JtU2NoZW1hcy50b1Rva2VuKHZhbHVlIHx8ICcnKTtcbiAgICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICAgIH0pO1xuICAgIHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbWl0Q2hhbmdlKCkpO1xuICAgIHRoaXMuaGludENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRDaGFuZ2UoKSk7XG4gICAgdGhpcy5yZXF1aXJlZENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRDaGFuZ2UoKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbml0aWFsID0gdGhpcy5wcm9wcy5maWVsZDtcbiAgICBpZiAoaW5pdGlhbCkge1xuICAgICAgdGhpcy5maWVsZElkID0gaW5pdGlhbC5pZDtcbiAgICAgIHRoaXMubmFtZUxvY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLm5hbWUgPSBpbml0aWFsLm5hbWU7XG4gICAgICB0aGlzLmxhYmVsQ29udHJvbC5zZXRWYWx1ZShpbml0aWFsLmxhYmVsID8/ICcnKTtcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnNldFZhbHVlKGluaXRpYWwucGxhY2Vob2xkZXJUZXh0ID8/ICcnKTtcbiAgICAgIHRoaXMuaGludENvbnRyb2wuc2V0VmFsdWUoaW5pdGlhbC5oaW50VGV4dCA/PyAnJyk7XG4gICAgICB0aGlzLnJlcXVpcmVkQ29udHJvbC5zZXRWYWx1ZSghIWluaXRpYWwucmVxdWlyZWQpO1xuICAgICAgdGhpcy50eXBlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNvZXJjZVR5cGUoaW5pdGlhbC50eXBlKSk7XG4gICAgICB0aGlzLm9wdGlvbnMuc2V0KGluaXRpYWwub3B0aW9ucyA/PyBbXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5maWVsZElkID0gYGZpZWxkLSR7KytmaWVsZFVpZH1gO1xuICAgIHRoaXMudHlwZUNvbnRyb2wuc2V0VmFsdWUodGhpcy5jb2VyY2VUeXBlKHRoaXMudHlwZUNvbnRyb2wudmFsdWUpKTtcbiAgICBjb25zdCBmaXJzdCA9IHRoaXMucHJvcHMucHJlc2V0cz8uWzBdO1xuICAgIGlmIChmaXJzdCkgdGhpcy5zZWxlY3RQcmVzZXQoZmlyc3QpO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCBOQU1FU1BBQ0UpO1xuICB9XG5cbiAgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuc3RhdGUgPz8gQ29tcG9uZW50U3RhdGVzLkVOQUJMRUQ7XG4gIH1cblxuICBzaG93UHJlc2V0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5tb2RlICE9PSAnZWRpdCcgJiYgISF0aGlzLnByb3BzLnByZXNldHM/Lmxlbmd0aDtcbiAgfVxuXG4gIG5lZWRzT3B0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRklFTERfVFlQRVNfV0lUSF9PUFRJT05TLmluY2x1ZGVzKHRoaXMuY3VycmVudFR5cGUoKSk7XG4gIH1cblxuICB0eXBlTGFiZWwodHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy50eXBlTGFiZWxzPy5bdHlwZV0gfHwgdGhpcy50KGB0eXBlJHt0eXBlfWApO1xuICB9XG5cbiAgcmVhZG9ubHkgdHlwZVNlbGVjdFByb3BzID0gY29tcHV0ZWQ8UGFydGlhbDxJbnB1dE1ldGFkYXRhPj4oKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRyb2w6IHRoaXMudHlwZUNvbnRyb2wsXG4gICAgICB0eXBlOiBJbnB1dFR5cGUuU0VMRUNULFxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGUoKSxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnQoJ3R5cGVMYWJlbCcpLFxuICAgICAgLy8gYWN0aW9uLXNoZWV0IHkgbm8gZWwgcG9wb3ZlciBkZWZhdWx0IGRlIElvbmljOiBlbCBwb3BvdmVyIHNlIGFuY2xhIGFsXG4gICAgICAvLyBjYW1wbywgeSBjb24gZWwgY2FtcG8gY2VyY2EgZGVsIGJvcmRlIGluZmVyaW9yIHkgdW4gY2F0w6Fsb2dvIGxhcmdvXG4gICAgICAvLyBJb25pYyBsbyByZWNvcnRhIGFycmliYSBZIGFiYWpvIOKAlCBxdWVkYWJhbiB0aXBvcyBpbXBvc2libGVzIGRlIGVsZWdpci5cbiAgICAgIC8vIExhIGhvamEgdXNhIGVsIGFsdG8gY29tcGxldG8geSBzY3JvbGxlYSBzb2xhLlxuICAgICAgc2VsZWN0SW50ZXJmYWNlOiAnYWN0aW9uLXNoZWV0JyxcbiAgICAgIG9wdGlvbnM6IHRoaXMuYWxsb3dlZFR5cGVzKCkubWFwKCh0eXBlLCBvcmRlcikgPT4gKHsgaWQ6IHR5cGUsIG5hbWU6IHRoaXMudHlwZUxhYmVsKHR5cGUpLCBvcmRlciB9KSksXG4gICAgfTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgb3B0aW9uc0VkaXRvclByb3BzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHRoaXMuaTE4bi5sYW5nKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0aGlzLnQoJ29wdGlvbnNUaXRsZScpLFxuICAgICAgaGludDogdGhpcy50KCdvcHRpb25zSGludCcpLFxuICAgICAgYWRkTGFiZWw6IHRoaXMudCgnb3B0aW9uc0FkZCcpLFxuICAgICAgb3B0aW9uc0xhYmVsOiB0aGlzLnQoJ29wdGlvbnNMaXN0JyksXG4gICAgICBwbGFjZWhvbGRlcjogdGhpcy50KCdvcHRpb25zUGxhY2Vob2xkZXInKSxcbiAgICAgIGVtcHR5VGV4dDogdGhpcy50KCdvcHRpb25zRW1wdHknKSxcbiAgICAgIHJlbW92ZU9wdGlvbkxhYmVsOiB0aGlzLnQoJ29wdGlvbnNSZW1vdmUnKSxcbiAgICAgIHJlb3JkZXJPcHRpb25MYWJlbDogdGhpcy50KCdvcHRpb25zUmVvcmRlcicpLFxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGUoKSxcbiAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucygpLFxuICAgIH07XG4gIH0pO1xuXG4gIHNldE9wdGlvbnMob3B0aW9uczogRmllbGRPcHRpb25bXSk6IHZvaWQge1xuICAgIHRoaXMub3B0aW9ucy5zZXQob3B0aW9ucyk7XG4gICAgdGhpcy5lbWl0Q2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gQW50ZXMgZGUgbmdPbkluaXQgbm8gaGF5IGlkOiBlbWl0aXIgYWjDrSBkYXLDrWEgdW4gY2FtcG8gc2luIGlkZW50aWRhZCwgcXVlXG4gICAgLy8gZWwgY29uc3VtZXIgbm8gc2FicsOtYSBhIHF1w6kgZmlsYSBhcGxpY2FyLlxuICAgIGlmICh0aGlzLmZpZWxkSWQpIHRoaXMuY2hhbmdlZC5lbWl0KHRoaXMudmFsdWUoKSk7XG4gIH1cblxuICBzZWxlY3RQcmVzZXQocHJlc2V0OiBGaWVsZFNjaGVtYUVkaXRvclByZXNldCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRQcmVzZXRJZC5zZXQocHJlc2V0LmlkKTtcbiAgICBjb25zdCB2YWx1ZSA9IHByZXNldC5maWVsZDtcbiAgICAvLyBFbCBwcmVzZXQgZmlqYSBlbCB0b2tlbjogXCJjb3JyZW8gZGVsIGNvbXByYWRvclwiIHRpZW5lIHF1ZSBsbGFtYXJzZVxuICAgIC8vIGBlbWFpbGAgYXVucXVlIGRlc3B1w6lzIGxlIGNhbWJpZW4gZWwgdGV4dG8gdmlzaWJsZS5cbiAgICB0aGlzLm5hbWVMb2NrZWQgPSAhIXZhbHVlLm5hbWU7XG4gICAgdGhpcy5uYW1lID0gdmFsdWUubmFtZSB8fCB0aGlzLmZvcm1TY2hlbWFzLnRvVG9rZW4odmFsdWUubGFiZWwgfHwgJycpO1xuICAgIHRoaXMubGFiZWxDb250cm9sLnNldFZhbHVlKHZhbHVlLmxhYmVsID8/ICcnKTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5wbGFjZWhvbGRlclRleHQgPz8gJycpO1xuICAgIHRoaXMuaGludENvbnRyb2wuc2V0VmFsdWUodmFsdWUuaGludFRleHQgPz8gJycpO1xuICAgIHRoaXMucmVxdWlyZWRDb250cm9sLnNldFZhbHVlKCEhdmFsdWUucmVxdWlyZWQpO1xuICAgIHRoaXMudHlwZUNvbnRyb2wuc2V0VmFsdWUodGhpcy5jb2VyY2VUeXBlKHZhbHVlLnR5cGUpKTtcbiAgICB0aGlzLm9wdGlvbnMuc2V0KHZhbHVlLm9wdGlvbnMgPz8gW10pO1xuICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYSB5IGVtaXRlLiBQw7pibGljbyBhIHByb3DDs3NpdG86IGxvIGxsYW1hIGVsIGNvbnN1bWVyIGRlc2RlIGVsIGJvdMOzblxuICAgKiBkZSBzdSBwcm9waWEgY8Ohc2NhcmEgKG1vZGFsLCBww6FnaW5hIG8gYWNvcmRlw7NuKS5cbiAgICovXG4gIHN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMudmFsdWUoKTtcbiAgICBpZiAoIWZpZWxkLmxhYmVsIHx8ICFmaWVsZC5uYW1lIHx8ICFmaWVsZC50eXBlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5zZXQodGhpcy50KCdlcnJvckluY29tcGxldGUnKSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLm5lZWRzT3B0aW9ucygpICYmICEoZmllbGQub3B0aW9ucz8ubGVuZ3RoID8/IDApKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5zZXQodGhpcy50KCdlcnJvck9wdGlvbnNSZXF1aXJlZCcpKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3Iuc2V0KCcnKTtcbiAgICB0aGlzLnNhdmUuZW1pdChmaWVsZCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogRWwgY2FtcG8gdGFsIGNvbW8gZXN0w6EgZW4gcGFudGFsbGEsIHNpbiB2YWxpZGFyLiAqL1xuICB2YWx1ZSgpOiBFZGl0YWJsZUZpZWxkRGVmIHtcbiAgICBjb25zdCBsYWJlbCA9ICh0aGlzLmxhYmVsQ29udHJvbC52YWx1ZSB8fCAnJykudHJpbSgpO1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5maWVsZElkLFxuICAgICAgbmFtZTogdGhpcy5mb3JtU2NoZW1hcy50b1Rva2VuKHRoaXMubmFtZSB8fCBsYWJlbCksXG4gICAgICBsYWJlbCxcbiAgICAgIHBsYWNlaG9sZGVyVGV4dDogKHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnZhbHVlIHx8ICcnKS50cmltKCksXG4gICAgICBoaW50VGV4dDogKHRoaXMuaGludENvbnRyb2wudmFsdWUgfHwgJycpLnRyaW0oKSxcbiAgICAgIHR5cGU6IHRoaXMuY29lcmNlVHlwZSh0aGlzLnR5cGVDb250cm9sLnZhbHVlKSxcbiAgICAgIHJlcXVpcmVkOiB0aGlzLnJlcXVpcmVkQ29udHJvbC52YWx1ZSxcbiAgICAgIG9wdGlvbnM6IHRoaXMubmVlZHNPcHRpb25zKCkgPyB0aGlzLm9wdGlvbnMoKS5tYXAoKG9wdGlvbiwgaW5kZXgpID0+ICh7IC4uLm9wdGlvbiwgb3JkZXI6IGluZGV4IH0pKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkVHlwZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmFsbG93ZWRUeXBlcz8ubGVuZ3RoID8gdGhpcy5wcm9wcy5hbGxvd2VkVHlwZXMgOiBbJ1RFWFQnXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbiB0aXBvIGZ1ZXJhIGRlbCBjYXTDoWxvZ28gZGVsIGNvbnN1bWVyIGNhZSBhbCBwcmltZXJvIHBlcm1pdGlkby4gUGFzYSBhbFxuICAgKiBlZGl0YXIgdW4gY2FtcG8gZ3VhcmRhZG8gY29uIHVuIHRpcG8gcXVlIGxhIGFwcCB5YSBubyBvZnJlY2UgKGJpbmdvIGxvXG4gICAqIGhhY8OtYSBjb24gQVRUQUNITUVOVCBjdWFuZG8gZWwgbWVkaW8gZGUgcGFnbyBubyBsbyBhZG1pdGUpOiBzaW4gZXN0bywgZWxcbiAgICogc2VsZWN0IHF1ZWRhIGVuIHVuIHZhbG9yIHF1ZSBubyBlc3TDoSBlbiBzdSBsaXN0YSB5IHNlIHZlIHZhY8Otby5cbiAgICovXG4gIHByaXZhdGUgY29lcmNlVHlwZSh0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsbG93ZWQgPSB0aGlzLmFsbG93ZWRUeXBlcygpO1xuICAgIHJldHVybiBhbGxvd2VkLmluY2x1ZGVzKHR5cGUpID8gdHlwZSA6IGFsbG93ZWRbMF07XG4gIH1cbn1cbiJdfQ==
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2NoZW1hLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2ZpZWxkLXNjaGVtYS1lZGl0b3IvZmllbGQtc2NoZW1hLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsZUFBZSxFQUFpQixTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDckYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDakcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFFbEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRXRFLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDO0FB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QkFBdEIsTUFBTTtnQkFPWSxPQUFPO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBGb3JtU2NoZW1hQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3Jtcy9mb3JtLXNjaGVtYS1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3Jtcy90eXBlcyc7XG5pbXBvcnQgeyBDb21wb25lbnRTdGF0ZXMsIElucHV0TWV0YWRhdGEsIElucHV0VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRhcmVhSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdGV4dGFyZWEtaW5wdXQvdGV4dGFyZWEtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3NlbGVjdC1pbnB1dC9zZWxlY3QtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IFRvZ2dsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3RvZ2dsZS1pbnB1dC90b2dnbGUtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkT3B0aW9uc0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9maWVsZC1vcHRpb25zLWVkaXRvci9maWVsZC1vcHRpb25zLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRpdGFibGVGaWVsZERlZiwgRmllbGRTY2hlbWFFZGl0b3JNZXRhZGF0YSwgRmllbGRTY2hlbWFFZGl0b3JQcmVzZXQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZJRUxEX1NDSEVNQV9FRElUT1JfSTE4TiB9IGZyb20gJy4vZmllbGQtc2NoZW1hLWVkaXRvci5pMThuJztcblxuY29uc3QgTkFNRVNQQUNFID0gJ0ZpZWxkU2NoZW1hRWRpdG9yJztcblxuLyoqXG4gKiBUaXBvcyBjdXlvIHZhbG9yIHNhbGUgZGUgdW5hIGxpc3RhIGNlcnJhZGEgcXVlIGRlZmluZSBxdWllbiBhcm1hIGVsXG4gKiBmb3JtdWxhcmlvIOKAlCBzaW4gYWwgbWVub3MgdW5hIG9wY2nDs24sIGVsIGNhbXBvIG5vIHNlIHB1ZWRlIHJlc3BvbmRlci5cbiAqIEVzcGVqbyBkZSBgZmllbGRSZXF1aXJlc09wdGlvbnNgIHF1ZSB2aXbDrWEgZHVwbGljYWRvIGVuIGJpbmdvLlxuICovXG5leHBvcnQgY29uc3QgRklFTERfVFlQRVNfV0lUSF9PUFRJT05TID0gWydTRUxFQ1QnLCAnUkFESU8nLCAnTVVMVElfU0VMRUNUJ107XG5cbmxldCBmaWVsZFVpZCA9IDA7XG5cbi8qKlxuICogdmFsLWZpZWxkLXNjaGVtYS1lZGl0b3JcbiAqXG4gKiBFZGl0YSBVTiBjYW1wbyBkZSB1biBmb3JtdWxhcmlvIGRpbsOhbWljbzogdGV4dG8sIHRpcG8sIHBsYWNlaG9sZGVyLCBub3RhLFxuICogb2JsaWdhdG9yaWVkYWQgeSBvcGNpb25lcy4gRXMgbGEgcGllemEgcXVlIGZhbHRhYmEgZW4gbGEgbGliIOKAlCBoYXN0YSBhaG9yYVxuICogZWwgw7puaWNvIGVkaXRvciBkZSBjYW1wb3MgY29uIGVzdGUgbml2ZWwgdml2w61hIGRlbnRybyBkZSBiaW5nb1xuICogKGBjaGVja291dC1maWVsZC1tb2RhbC5jb21wb25lbnQudHNgKSwgaW52aXNpYmxlIHBhcmEgZWwgcmVzdG8gZGVsIGZhY3RvcnksXG4gKiB5IGB2YWwtc3VydmV5LWJ1aWxkZXJgIGhhYsOtYSB0ZXJtaW5hZG8gY29uIHVuYSB2ZXJzacOzbiBwb2JyZSBkZSBsbyBtaXNtb1xuICogKGRvcyB0aXBvcyBmaWpvcywgc2luIHBsYWNlaG9sZGVyIG5pIG9wY2lvbmVzKS5cbiAqXG4gKiBFcyBhZ27Ds3N0aWNvIGRlIGRvbWluaW8gYSBwcm9ww7NzaXRvOlxuICogLSBlbCAqKmNhdMOhbG9nbyBkZSB0aXBvcyoqIChgYWxsb3dlZFR5cGVzYCkgbG8gZGVjaWRlIGVsIGNvbnN1bWVyLCBwb3JxdWUgZXNcbiAqICAgw6lsIHF1aWVuIHNhYmUgcXXDqSBzYWJlIHJlbmRlcml6YXIgc3UgZm9ybXVsYXJpbztcbiAqIC0gbG9zICoqcHJlc2V0cyoqIGxvcyBwYXNhIGVsIGNvbnN1bWVyLCBwb3JxdWUgXCJjb3JyZW8gZGVsIGNvbXByYWRvclwiIGVzIGRlXG4gKiAgIGNoZWNrb3V0IHkgbm8gc2lnbmlmaWNhIG5hZGEgZW4gdW5hIGVuY3Vlc3RhLlxuICpcbiAqIE5vIHRyYWUgY8Ohc2NhcmEgZGUgbW9kYWw6IGVsIGNvbnN1bWVyIGxvIGVudnVlbHZlIGVuIGB2YWwtbW9kYWwtbGF5b3V0YCAob1xuICogZW4gbG8gcXVlIHF1aWVyYSkgeSBkaXNwYXJhIGBzdWJtaXQoKWAgZGVzZGUgc3UgcHJvcGlvIGJvdMOzbiwgaWd1YWwgcXVlIGhhY2VcbiAqIGBzdXJ2ZXktY3JlYXRlLW1vZGFsYCBjb24gYHZhbC1zdXJ2ZXktYnVpbGRlcmAuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1maWVsZC1zY2hlbWEtZWRpdG9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1GaWVsZENvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgVGV4dGFyZWFJbnB1dENvbXBvbmVudCxcbiAgICBTZWFyY2hTZWxlY3RvckNvbXBvbmVudCxcbiAgICBUb2dnbGVJbnB1dENvbXBvbmVudCxcbiAgICBGaWVsZE9wdGlvbnNFZGl0b3JDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZpZWxkLXNjaGVtYS1lZGl0b3JcIj5cbiAgICAgIEBpZiAoc2hvd1ByZXNldHMoKSkge1xuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldHNcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpZWxkLXNjaGVtYS1lZGl0b3JfX3NlY3Rpb24tbGFiZWxcIj57eyBwcm9wcy5wcmVzZXRzVGl0bGUgfHwgdCgncHJlc2V0c1RpdGxlJykgfX08L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldC1ncmlkXCI+XG4gICAgICAgICAgICBAZm9yIChwcmVzZXQgb2YgcHJvcHMucHJlc2V0czsgdHJhY2sgcHJlc2V0LmlkKSB7XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldC0tc2VsZWN0ZWRdPVwic2VsZWN0ZWRQcmVzZXRJZCgpID09PSBwcmVzZXQuaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RQcmVzZXQocHJlc2V0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHByZXNldC5sYWJlbCB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIEBpZiAocHJlc2V0LmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBwcmVzZXQuZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfVxuXG4gICAgICA8dmFsLWZvcm0tZmllbGQgW2xhYmVsXT1cInQoJ2xhYmVsTGFiZWwnKVwiPlxuICAgICAgICA8dmFsLXRleHQtaW5wdXQgW3Byb3BzXT1cInsgY29udHJvbDogbGFiZWxDb250cm9sLCBwbGFjZWhvbGRlcjogdCgnbGFiZWxQbGFjZWhvbGRlcicpLCBzdGF0ZTogc3RhdGUoKSB9XCIgLz5cbiAgICAgIDwvdmFsLWZvcm0tZmllbGQ+XG5cbiAgICAgIDx2YWwtZm9ybS1maWVsZCBbbGFiZWxdPVwidCgndHlwZUxhYmVsJylcIj5cbiAgICAgICAgPHZhbC1zZWxlY3QtaW5wdXQgW3Byb3BzXT1cInR5cGVTZWxlY3RQcm9wcygpXCIgLz5cbiAgICAgIDwvdmFsLWZvcm0tZmllbGQ+XG5cbiAgICAgIEBpZiAocHJvcHMuc2hvd1BsYWNlaG9sZGVyICE9PSBmYWxzZSkge1xuICAgICAgICA8dmFsLWZvcm0tZmllbGQgW2xhYmVsXT1cInQoJ3BsYWNlaG9sZGVyTGFiZWwnKVwiPlxuICAgICAgICAgIDx2YWwtdGV4dGFyZWEtaW5wdXQgW3Byb3BzXT1cInsgY29udHJvbDogcGxhY2Vob2xkZXJDb250cm9sLCBhdXRvR3JvdzogdHJ1ZSwgc3RhdGU6IHN0YXRlKCkgfVwiIC8+XG4gICAgICAgIDwvdmFsLWZvcm0tZmllbGQ+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMuc2hvd0hpbnQgIT09IGZhbHNlKSB7XG4gICAgICAgIDx2YWwtZm9ybS1maWVsZCBbbGFiZWxdPVwidCgnaGludExhYmVsJylcIj5cbiAgICAgICAgICA8dmFsLXRleHRhcmVhLWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IGhpbnRDb250cm9sLCBhdXRvR3JvdzogdHJ1ZSwgc3RhdGU6IHN0YXRlKCkgfVwiIC8+XG4gICAgICAgIDwvdmFsLWZvcm0tZmllbGQ+XG4gICAgICB9XG5cbiAgICAgIDx2YWwtZm9ybS1maWVsZCBbbGFiZWxdPVwidCgnc2VjdGlvbkxhYmVsJylcIj5cbiAgICAgICAgPHZhbC10ZXh0LWlucHV0IFtwcm9wc109XCJ7IGNvbnRyb2w6IHNlY3Rpb25Db250cm9sLCBwbGFjZWhvbGRlcjogdCgnc2VjdGlvblBsYWNlaG9sZGVyJyksIHN0YXRlOiBzdGF0ZSgpIH1cIiAvPlxuICAgICAgPC92YWwtZm9ybS1maWVsZD5cblxuICAgICAgPHZhbC10b2dnbGUtaW5wdXRcbiAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICBjb250cm9sOiByZXF1aXJlZENvbnRyb2wsXG4gICAgICAgICAgbGFiZWw6IHQoJ3JlcXVpcmVkTGFiZWwnKSxcbiAgICAgICAgICBzdGF0ZTogc3RhdGUoKSxcbiAgICAgICAgfVwiXG4gICAgICAvPlxuXG4gICAgICBAaWYgKG5lZWRzT3B0aW9ucygpKSB7XG4gICAgICAgICAgICA8dmFsLWZpZWxkLW9wdGlvbnMtZWRpdG9yIFtwcm9wc109XCJvcHRpb25zRWRpdG9yUHJvcHMoKVwiIChvcHRpb25zQ2hhbmdlKT1cInNldE9wdGlvbnMoJGV2ZW50KVwiIC8+XG4gICAgICB9XG5cbiAgICAgIEBpZiAodmFsaWRhdGlvbkVycm9yKCkpIHtcbiAgICAgICAgPHAgY2xhc3M9XCJmaWVsZC1zY2hlbWEtZWRpdG9yX19lcnJvclwiPnt7IHZhbGlkYXRpb25FcnJvcigpIH19PC9wPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3NlY3Rpb24tbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1tZWRpdW0sICM5Mjk0OWMpO1xuICAgICAgfVxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldC1ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNjBweCwgMWZyKSk7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cbiAgICAgIC5maWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQge1xuICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS12YWwtYm9yZGVyLWNvbG9yLCB2YXIoLS1pb24tYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMSkpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tdmFsLXJhZGl1cy1tZCwgMTJweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jYXJkLWJhY2tncm91bmQsIHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvcik7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICAgIC5maWVsZC1zY2hlbWEtZWRpdG9yX19wcmVzZXQgc3Ryb25nLFxuICAgICAgLmZpZWxkLXNjaGVtYS1lZGl0b3JfX3ByZXNldCBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0IHNwYW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fcHJlc2V0LS1zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSh2YXIoLS1pb24tY29sb3ItcHJpbWFyeS1yZ2IsIDI1NSwgMCwgMTc4KSwgMC4xNCk7XG4gICAgICB9XG4gICAgICAuZmllbGQtc2NoZW1hLWVkaXRvcl9fZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFuZ2VyKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFNjaGVtYUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBGaWVsZFNjaGVtYUVkaXRvck1ldGFkYXRhID0geyBhbGxvd2VkVHlwZXM6IFsnVEVYVCddIH07XG4gIEBPdXRwdXQoKSByZWFkb25seSBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0YWJsZUZpZWxkRGVmPigpO1xuICAvKipcbiAgICogRW1pdGUgZW4gY2FkYSB0ZWNsYSwgc2luIHZhbGlkYXIuIEV4aXN0ZSBwb3JxdWUgZWwgY29uc3VtZXIgbmVjZXNpdGEgZWxcbiAgICogYm9ycmFkb3IgZW4gdml2bzogc2kgc29sbyB0dXZpZXJhIGBzYXZlYCwgbG8gZXNjcml0byBhY8OhIG5vIGV4aXN0aXLDrWEgcGFyYVxuICAgKiDDqWwgaGFzdGEgcXVlIGFsZ3VpZW4gdG9xdWUgc3UgYm90w7NuIOKAlCB5IGxvIGVzY3JpdG8gRVMgbGEgaW50ZW5jacOzbiBkZWxcbiAgICogdXN1YXJpbywgbm8gdW4gYm9ycmFkb3IgcXVlIGhheWEgcXVlIGNvbmZpcm1hci5cbiAgICovXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0YWJsZUZpZWxkRGVmPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVNjaGVtYXMgPSBpbmplY3QoRm9ybVNjaGVtYUJ1aWxkZXJTZXJ2aWNlKTtcblxuICByZWFkb25seSBsYWJlbENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgaGludENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHNlY3Rpb25Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICByZWFkb25seSByZXF1aXJlZENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodHJ1ZSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KTtcbiAgcmVhZG9ubHkgdHlwZUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJ1RFWFQnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuXG4gIHJlYWRvbmx5IG9wdGlvbnMgPSBzaWduYWw8RmllbGRPcHRpb25bXT4oW10pO1xuICByZWFkb25seSB2YWxpZGF0aW9uRXJyb3IgPSBzaWduYWwoJycpO1xuICByZWFkb25seSBzZWxlY3RlZFByZXNldElkID0gc2lnbmFsKCcnKTtcbiAgLyoqIFNlIHJlZnJlc2NhIGNvbiBjYWRhIGNhbWJpbyBkZSB0aXBvIOKAlCBgbmVlZHNPcHRpb25zYCBubyBwdWVkZSBsZWVyIGVsIGNvbnRyb2wgZGlyZWN0by4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBjdXJyZW50VHlwZSA9IHNpZ25hbCgnVEVYVCcpO1xuICAvKiogVW5hIHZleiBxdWUgc2UgdG9jYSBlbCB0b2tlbiBhIG1hbm8gKG8gc2UgZWRpdGEgdW4gY2FtcG8geWEgZ3VhcmRhZG8pIGRlamEgZGUgZGVyaXZhcnNlIGRlbCBsYWJlbC4gKi9cbiAgcHJpdmF0ZSBuYW1lTG9ja2VkID0gZmFsc2U7XG4gIHByaXZhdGUgbmFtZSA9ICcnO1xuICBwcml2YXRlIGZpZWxkSWQgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UoTkFNRVNQQUNFKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyRGVmYXVsdHMoTkFNRVNQQUNFLCBGSUVMRF9TQ0hFTUFfRURJVE9SX0kxOE4pO1xuICAgIH1cbiAgICB0aGlzLnR5cGVDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50VHlwZS5zZXQodmFsdWUgfHwgJ1RFWFQnKTtcbiAgICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICAgIH0pO1xuICAgIHRoaXMubGFiZWxDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgaWYgKCF0aGlzLm5hbWVMb2NrZWQpIHRoaXMubmFtZSA9IHRoaXMuZm9ybVNjaGVtYXMudG9Ub2tlbih2YWx1ZSB8fCAnJyk7XG4gICAgICB0aGlzLmVtaXRDaGFuZ2UoKTtcbiAgICB9KTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuZW1pdENoYW5nZSgpKTtcbiAgICB0aGlzLmhpbnRDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbWl0Q2hhbmdlKCkpO1xuICAgIHRoaXMuc2VjdGlvbkNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRDaGFuZ2UoKSk7XG4gICAgdGhpcy5yZXF1aXJlZENvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVtaXRDaGFuZ2UoKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbml0aWFsID0gdGhpcy5wcm9wcy5maWVsZDtcbiAgICBpZiAoaW5pdGlhbCkge1xuICAgICAgdGhpcy5maWVsZElkID0gaW5pdGlhbC5pZDtcbiAgICAgIHRoaXMubmFtZUxvY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLm5hbWUgPSBpbml0aWFsLm5hbWU7XG4gICAgICB0aGlzLmxhYmVsQ29udHJvbC5zZXRWYWx1ZShpbml0aWFsLmxhYmVsID8/ICcnKTtcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnNldFZhbHVlKGluaXRpYWwucGxhY2Vob2xkZXJUZXh0ID8/ICcnKTtcbiAgICAgIHRoaXMuaGludENvbnRyb2wuc2V0VmFsdWUoaW5pdGlhbC5oaW50VGV4dCA/PyAnJyk7XG4gICAgICB0aGlzLnNlY3Rpb25Db250cm9sLnNldFZhbHVlKGluaXRpYWwuc2VjdGlvbkxhYmVsID8/ICcnKTtcbiAgICAgIHRoaXMucmVxdWlyZWRDb250cm9sLnNldFZhbHVlKCEhaW5pdGlhbC5yZXF1aXJlZCk7XG4gICAgICB0aGlzLnR5cGVDb250cm9sLnNldFZhbHVlKHRoaXMuY29lcmNlVHlwZShpbml0aWFsLnR5cGUpKTtcbiAgICAgIHRoaXMub3B0aW9ucy5zZXQoaW5pdGlhbC5vcHRpb25zID8/IFtdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZpZWxkSWQgPSBgZmllbGQtJHsrK2ZpZWxkVWlkfWA7XG4gICAgdGhpcy50eXBlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNvZXJjZVR5cGUodGhpcy50eXBlQ29udHJvbC52YWx1ZSkpO1xuICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5wcm9wcy5wcmVzZXRzPy5bMF07XG4gICAgaWYgKGZpcnN0KSB0aGlzLnNlbGVjdFByZXNldChmaXJzdCk7XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0aGlzLmkxOG4ubGFuZygpO1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIE5BTUVTUEFDRSk7XG4gIH1cblxuICBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5zdGF0ZSA/PyBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRDtcbiAgfVxuXG4gIHNob3dQcmVzZXRzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLm1vZGUgIT09ICdlZGl0JyAmJiAhIXRoaXMucHJvcHMucHJlc2V0cz8ubGVuZ3RoO1xuICB9XG5cbiAgbmVlZHNPcHRpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBGSUVMRF9UWVBFU19XSVRIX09QVElPTlMuaW5jbHVkZXModGhpcy5jdXJyZW50VHlwZSgpKTtcbiAgfVxuXG4gIHR5cGVMYWJlbCh0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnR5cGVMYWJlbHM/Llt0eXBlXSB8fCB0aGlzLnQoYHR5cGUke3R5cGV9YCk7XG4gIH1cblxuICByZWFkb25seSB0eXBlU2VsZWN0UHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPElucHV0TWV0YWRhdGE+PigoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4ge1xuICAgICAgY29udHJvbDogdGhpcy50eXBlQ29udHJvbCxcbiAgICAgIHR5cGU6IElucHV0VHlwZS5TRUxFQ1QsXG4gICAgICBzdGF0ZTogdGhpcy5zdGF0ZSgpLFxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudCgndHlwZUxhYmVsJyksXG4gICAgICAvLyBhY3Rpb24tc2hlZXQgeSBubyBlbCBwb3BvdmVyIGRlZmF1bHQgZGUgSW9uaWM6IGVsIHBvcG92ZXIgc2UgYW5jbGEgYWxcbiAgICAgIC8vIGNhbXBvLCB5IGNvbiBlbCBjYW1wbyBjZXJjYSBkZWwgYm9yZGUgaW5mZXJpb3IgeSB1biBjYXTDoWxvZ28gbGFyZ29cbiAgICAgIC8vIElvbmljIGxvIHJlY29ydGEgYXJyaWJhIFkgYWJham8g4oCUIHF1ZWRhYmFuIHRpcG9zIGltcG9zaWJsZXMgZGUgZWxlZ2lyLlxuICAgICAgLy8gTGEgaG9qYSB1c2EgZWwgYWx0byBjb21wbGV0byB5IHNjcm9sbGVhIHNvbGEuXG4gICAgICBzZWxlY3RJbnRlcmZhY2U6ICdhY3Rpb24tc2hlZXQnLFxuICAgICAgb3B0aW9uczogdGhpcy5hbGxvd2VkVHlwZXMoKS5tYXAoKHR5cGUsIG9yZGVyKSA9PiAoeyBpZDogdHlwZSwgbmFtZTogdGhpcy50eXBlTGFiZWwodHlwZSksIG9yZGVyIH0pKSxcbiAgICB9O1xuICB9KTtcblxuICByZWFkb25seSBvcHRpb25zRWRpdG9yUHJvcHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgdGhpcy5pMThuLmxhbmcoKTtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IHRoaXMudCgnb3B0aW9uc1RpdGxlJyksXG4gICAgICBoaW50OiB0aGlzLnQoJ29wdGlvbnNIaW50JyksXG4gICAgICBhZGRMYWJlbDogdGhpcy50KCdvcHRpb25zQWRkJyksXG4gICAgICBvcHRpb25zTGFiZWw6IHRoaXMudCgnb3B0aW9uc0xpc3QnKSxcbiAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnQoJ29wdGlvbnNQbGFjZWhvbGRlcicpLFxuICAgICAgZW1wdHlUZXh0OiB0aGlzLnQoJ29wdGlvbnNFbXB0eScpLFxuICAgICAgcmVtb3ZlT3B0aW9uTGFiZWw6IHRoaXMudCgnb3B0aW9uc1JlbW92ZScpLFxuICAgICAgcmVvcmRlck9wdGlvbkxhYmVsOiB0aGlzLnQoJ29wdGlvbnNSZW9yZGVyJyksXG4gICAgICBzdGF0ZTogdGhpcy5zdGF0ZSgpLFxuICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zKCksXG4gICAgfTtcbiAgfSk7XG5cbiAgc2V0T3B0aW9ucyhvcHRpb25zOiBGaWVsZE9wdGlvbltdKTogdm9pZCB7XG4gICAgdGhpcy5vcHRpb25zLnNldChvcHRpb25zKTtcbiAgICB0aGlzLmVtaXRDaGFuZ2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdENoYW5nZSgpOiB2b2lkIHtcbiAgICAvLyBBbnRlcyBkZSBuZ09uSW5pdCBubyBoYXkgaWQ6IGVtaXRpciBhaMOtIGRhcsOtYSB1biBjYW1wbyBzaW4gaWRlbnRpZGFkLCBxdWVcbiAgICAvLyBlbCBjb25zdW1lciBubyBzYWJyw61hIGEgcXXDqSBmaWxhIGFwbGljYXIuXG4gICAgaWYgKHRoaXMuZmllbGRJZCkgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy52YWx1ZSgpKTtcbiAgfVxuXG4gIHNlbGVjdFByZXNldChwcmVzZXQ6IEZpZWxkU2NoZW1hRWRpdG9yUHJlc2V0KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFByZXNldElkLnNldChwcmVzZXQuaWQpO1xuICAgIGNvbnN0IHZhbHVlID0gcHJlc2V0LmZpZWxkO1xuICAgIC8vIEVsIHByZXNldCBmaWphIGVsIHRva2VuOiBcImNvcnJlbyBkZWwgY29tcHJhZG9yXCIgdGllbmUgcXVlIGxsYW1hcnNlXG4gICAgLy8gYGVtYWlsYCBhdW5xdWUgZGVzcHXDqXMgbGUgY2FtYmllbiBlbCB0ZXh0byB2aXNpYmxlLlxuICAgIHRoaXMubmFtZUxvY2tlZCA9ICEhdmFsdWUubmFtZTtcbiAgICB0aGlzLm5hbWUgPSB2YWx1ZS5uYW1lIHx8IHRoaXMuZm9ybVNjaGVtYXMudG9Ub2tlbih2YWx1ZS5sYWJlbCB8fCAnJyk7XG4gICAgdGhpcy5sYWJlbENvbnRyb2wuc2V0VmFsdWUodmFsdWUubGFiZWwgPz8gJycpO1xuICAgIHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnNldFZhbHVlKHZhbHVlLnBsYWNlaG9sZGVyVGV4dCA/PyAnJyk7XG4gICAgdGhpcy5oaW50Q29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5oaW50VGV4dCA/PyAnJyk7XG4gICAgdGhpcy5zZWN0aW9uQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZS5zZWN0aW9uTGFiZWwgPz8gJycpO1xuICAgIHRoaXMucmVxdWlyZWRDb250cm9sLnNldFZhbHVlKCEhdmFsdWUucmVxdWlyZWQpO1xuICAgIHRoaXMudHlwZUNvbnRyb2wuc2V0VmFsdWUodGhpcy5jb2VyY2VUeXBlKHZhbHVlLnR5cGUpKTtcbiAgICB0aGlzLm9wdGlvbnMuc2V0KHZhbHVlLm9wdGlvbnMgPz8gW10pO1xuICAgIHRoaXMuZW1pdENoYW5nZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYSB5IGVtaXRlLiBQw7pibGljbyBhIHByb3DDs3NpdG86IGxvIGxsYW1hIGVsIGNvbnN1bWVyIGRlc2RlIGVsIGJvdMOzblxuICAgKiBkZSBzdSBwcm9waWEgY8Ohc2NhcmEgKG1vZGFsLCBww6FnaW5hIG8gYWNvcmRlw7NuKS5cbiAgICovXG4gIHN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMudmFsdWUoKTtcbiAgICBpZiAoIWZpZWxkLmxhYmVsIHx8ICFmaWVsZC5uYW1lIHx8ICFmaWVsZC50eXBlKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5zZXQodGhpcy50KCdlcnJvckluY29tcGxldGUnKSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLm5lZWRzT3B0aW9ucygpICYmICEoZmllbGQub3B0aW9ucz8ubGVuZ3RoID8/IDApKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5zZXQodGhpcy50KCdlcnJvck9wdGlvbnNSZXF1aXJlZCcpKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3Iuc2V0KCcnKTtcbiAgICB0aGlzLnNhdmUuZW1pdChmaWVsZCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiogRWwgY2FtcG8gdGFsIGNvbW8gZXN0w6EgZW4gcGFudGFsbGEsIHNpbiB2YWxpZGFyLiAqL1xuICB2YWx1ZSgpOiBFZGl0YWJsZUZpZWxkRGVmIHtcbiAgICBjb25zdCBsYWJlbCA9ICh0aGlzLmxhYmVsQ29udHJvbC52YWx1ZSB8fCAnJykudHJpbSgpO1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5maWVsZElkLFxuICAgICAgbmFtZTogdGhpcy5mb3JtU2NoZW1hcy50b1Rva2VuKHRoaXMubmFtZSB8fCBsYWJlbCksXG4gICAgICBsYWJlbCxcbiAgICAgIHBsYWNlaG9sZGVyVGV4dDogKHRoaXMucGxhY2Vob2xkZXJDb250cm9sLnZhbHVlIHx8ICcnKS50cmltKCksXG4gICAgICBoaW50VGV4dDogKHRoaXMuaGludENvbnRyb2wudmFsdWUgfHwgJycpLnRyaW0oKSxcbiAgICAgIHR5cGU6IHRoaXMuY29lcmNlVHlwZSh0aGlzLnR5cGVDb250cm9sLnZhbHVlKSxcbiAgICAgIHJlcXVpcmVkOiB0aGlzLnJlcXVpcmVkQ29udHJvbC52YWx1ZSxcbiAgICAgIHNlY3Rpb25MYWJlbDogKHRoaXMuc2VjdGlvbkNvbnRyb2wudmFsdWUgfHwgJycpLnRyaW0oKSxcbiAgICAgIG9wdGlvbnM6IHRoaXMubmVlZHNPcHRpb25zKCkgPyB0aGlzLm9wdGlvbnMoKS5tYXAoKG9wdGlvbiwgaW5kZXgpID0+ICh7IC4uLm9wdGlvbiwgb3JkZXI6IGluZGV4IH0pKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkVHlwZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmFsbG93ZWRUeXBlcz8ubGVuZ3RoID8gdGhpcy5wcm9wcy5hbGxvd2VkVHlwZXMgOiBbJ1RFWFQnXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbiB0aXBvIGZ1ZXJhIGRlbCBjYXTDoWxvZ28gZGVsIGNvbnN1bWVyIGNhZSBhbCBwcmltZXJvIHBlcm1pdGlkby4gUGFzYSBhbFxuICAgKiBlZGl0YXIgdW4gY2FtcG8gZ3VhcmRhZG8gY29uIHVuIHRpcG8gcXVlIGxhIGFwcCB5YSBubyBvZnJlY2UgKGJpbmdvIGxvXG4gICAqIGhhY8OtYSBjb24gQVRUQUNITUVOVCBjdWFuZG8gZWwgbWVkaW8gZGUgcGFnbyBubyBsbyBhZG1pdGUpOiBzaW4gZXN0bywgZWxcbiAgICogc2VsZWN0IHF1ZWRhIGVuIHVuIHZhbG9yIHF1ZSBubyBlc3TDoSBlbiBzdSBsaXN0YSB5IHNlIHZlIHZhY8Otby5cbiAgICovXG4gIHByaXZhdGUgY29lcmNlVHlwZSh0eXBlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsbG93ZWQgPSB0aGlzLmFsbG93ZWRUeXBlcygpO1xuICAgIHJldHVybiBhbGxvd2VkLmluY2x1ZGVzKHR5cGUpID8gdHlwZSA6IGFsbG93ZWRbMF07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,6 +6,8 @@ export const FIELD_SCHEMA_EDITOR_I18N = {
|
|
|
6
6
|
typeLabel: 'Tipo de campo',
|
|
7
7
|
placeholderLabel: 'Texto de ayuda dentro del campo',
|
|
8
8
|
hintLabel: 'Nota bajo el campo',
|
|
9
|
+
sectionLabel: 'Sección',
|
|
10
|
+
sectionPlaceholder: 'Ej: Información personal',
|
|
9
11
|
requiredLabel: 'Obligatorio',
|
|
10
12
|
optionsTitle: 'Opciones',
|
|
11
13
|
optionsHint: 'Estas son las alternativas que puede elegir quien responde.',
|
|
@@ -41,6 +43,8 @@ export const FIELD_SCHEMA_EDITOR_I18N = {
|
|
|
41
43
|
typeLabel: 'Field type',
|
|
42
44
|
placeholderLabel: 'Helper text inside the field',
|
|
43
45
|
hintLabel: 'Note below the field',
|
|
46
|
+
sectionLabel: 'Section',
|
|
47
|
+
sectionPlaceholder: 'E.g: Personal information',
|
|
44
48
|
requiredLabel: 'Required',
|
|
45
49
|
optionsTitle: 'Options',
|
|
46
50
|
optionsHint: 'These are the choices the person can pick.',
|
|
@@ -70,4 +74,4 @@ export const FIELD_SCHEMA_EDITOR_I18N = {
|
|
|
70
74
|
typeEMOJI_RATING: 'Emoji rating',
|
|
71
75
|
},
|
|
72
76
|
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtc2NoZW1hLWVkaXRvci5pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9maWVsZC1zY2hlbWEtZWRpdG9yL2ZpZWxkLXNjaGVtYS1lZGl0b3IuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBcUI7SUFDeEQsRUFBRSxFQUFFO1FBQ0YsWUFBWSxFQUFFLGVBQWU7UUFDN0IsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixnQkFBZ0IsRUFBRSxvQ0FBb0M7UUFDdEQsU0FBUyxFQUFFLGVBQWU7UUFDMUIsZ0JBQWdCLEVBQUUsaUNBQWlDO1FBQ25ELFNBQVMsRUFBRSxvQkFBb0I7UUFDL0IsWUFBWSxFQUFFLFNBQVM7UUFDdkIsa0JBQWtCLEVBQUUsMEJBQTBCO1FBQzlDLGFBQWEsRUFBRSxhQUFhO1FBQzVCLFlBQVksRUFBRSxVQUFVO1FBQ3hCLFdBQVcsRUFBRSw2REFBNkQ7UUFDMUUsVUFBVSxFQUFFLGdCQUFnQjtRQUM1QixXQUFXLEVBQUUsVUFBVTtRQUN2QixrQkFBa0IsRUFBRSxvQkFBb0I7UUFDeEMsWUFBWSxFQUFFLDBCQUEwQjtRQUN4QyxhQUFhLEVBQUUsZUFBZTtRQUM5QixjQUFjLEVBQUUsa0JBQWtCO1FBQ2xDLGVBQWUsRUFBRSwwQ0FBMEM7UUFDM0Qsb0JBQW9CLEVBQUUsa0RBQWtEO1FBQ3hFLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFlBQVksRUFBRSxhQUFhO1FBQzNCLFNBQVMsRUFBRSxRQUFRO1FBQ25CLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLGlCQUFpQixFQUFFLG9CQUFvQjtRQUN2QyxRQUFRLEVBQUUsT0FBTztRQUNqQixVQUFVLEVBQUUsbUJBQW1CO1FBQy9CLFNBQVMsRUFBRSxpQkFBaUI7UUFDNUIsZ0JBQWdCLEVBQUUsaUJBQWlCO1FBQ25DLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLFVBQVUsRUFBRSxTQUFTO1FBQ3JCLFlBQVksRUFBRSxPQUFPO1FBQ3JCLGNBQWMsRUFBRSxpQkFBaUI7UUFDakMsUUFBUSxFQUFFLFNBQVM7UUFDbkIsZ0JBQWdCLEVBQUUsd0JBQXdCO0tBQzNDO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsWUFBWSxFQUFFLFlBQVk7UUFDMUIsVUFBVSxFQUFFLFlBQVk7UUFDeEIsZ0JBQWdCLEVBQUUsZ0NBQWdDO1FBQ2xELFNBQVMsRUFBRSxZQUFZO1FBQ3ZCLGdCQUFnQixFQUFFLDhCQUE4QjtRQUNoRCxTQUFTLEVBQUUsc0JBQXNCO1FBQ2pDLFlBQVksRUFBRSxTQUFTO1FBQ3ZCLGtCQUFrQixFQUFFLDJCQUEyQjtRQUMvQyxhQUFhLEVBQUUsVUFBVTtRQUN6QixZQUFZLEVBQUUsU0FBUztRQUN2QixXQUFXLEVBQUUsNENBQTRDO1FBQ3pELFVBQVUsRUFBRSxZQUFZO1FBQ3hCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGtCQUFrQixFQUFFLGlCQUFpQjtRQUNyQyxZQUFZLEVBQUUsaUJBQWlCO1FBQy9CLGFBQWEsRUFBRSxlQUFlO1FBQzlCLGNBQWMsRUFBRSxnQkFBZ0I7UUFDaEMsZUFBZSxFQUFFLDBDQUEwQztRQUMzRCxvQkFBb0IsRUFBRSw0Q0FBNEM7UUFDbEUsUUFBUSxFQUFFLFlBQVk7UUFDdEIsWUFBWSxFQUFFLFdBQVc7UUFDekIsU0FBUyxFQUFFLE9BQU87UUFDbEIsU0FBUyxFQUFFLE9BQU87UUFDbEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsaUJBQWlCLEVBQUUscUJBQXFCO1FBQ3hDLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLFNBQVMsRUFBRSxlQUFlO1FBQzFCLGdCQUFnQixFQUFFLGlCQUFpQjtRQUNuQyxTQUFTLEVBQUUsVUFBVTtRQUNyQixVQUFVLEVBQUUsV0FBVztRQUN2QixZQUFZLEVBQUUsUUFBUTtRQUN0QixjQUFjLEVBQUUsWUFBWTtRQUM1QixRQUFRLEVBQUUsTUFBTTtRQUNoQixnQkFBZ0IsRUFBRSxjQUFjO0tBQ2pDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcblxuZXhwb3J0IGNvbnN0IEZJRUxEX1NDSEVNQV9FRElUT1JfSTE4TjogTGFuZ3VhZ2VzQ29udGVudCA9IHtcbiAgZXM6IHtcbiAgICBwcmVzZXRzVGl0bGU6ICdFbXBpZXphIGRlc2RlJyxcbiAgICBsYWJlbExhYmVsOiAnVGV4dG8gZGVsIGNhbXBvJyxcbiAgICBsYWJlbFBsYWNlaG9sZGVyOiAnRXNjcmliZSBsbyBxdWUgdmVyw6EgcXVpZW4gcmVzcG9uZGUnLFxuICAgIHR5cGVMYWJlbDogJ1RpcG8gZGUgY2FtcG8nLFxuICAgIHBsYWNlaG9sZGVyTGFiZWw6ICdUZXh0byBkZSBheXVkYSBkZW50cm8gZGVsIGNhbXBvJyxcbiAgICBoaW50TGFiZWw6ICdOb3RhIGJham8gZWwgY2FtcG8nLFxuICAgIHNlY3Rpb25MYWJlbDogJ1NlY2Npw7NuJyxcbiAgICBzZWN0aW9uUGxhY2Vob2xkZXI6ICdFajogSW5mb3JtYWNpw7NuIHBlcnNvbmFsJyxcbiAgICByZXF1aXJlZExhYmVsOiAnT2JsaWdhdG9yaW8nLFxuICAgIG9wdGlvbnNUaXRsZTogJ09wY2lvbmVzJyxcbiAgICBvcHRpb25zSGludDogJ0VzdGFzIHNvbiBsYXMgYWx0ZXJuYXRpdmFzIHF1ZSBwdWVkZSBlbGVnaXIgcXVpZW4gcmVzcG9uZGUuJyxcbiAgICBvcHRpb25zQWRkOiAnQWdyZWdhciBvcGNpw7NuJyxcbiAgICBvcHRpb25zTGlzdDogJ09wY2lvbmVzJyxcbiAgICBvcHRpb25zUGxhY2Vob2xkZXI6ICdFc2NyaWJlIHVuYSBvcGNpw7NuJyxcbiAgICBvcHRpb25zRW1wdHk6ICdUb2RhdsOtYSBubyBoYXkgb3BjaW9uZXMuJyxcbiAgICBvcHRpb25zUmVtb3ZlOiAnUXVpdGFyIG9wY2nDs24nLFxuICAgIG9wdGlvbnNSZW9yZGVyOiAnUmVvcmRlbmFyIG9wY2nDs24nLFxuICAgIGVycm9ySW5jb21wbGV0ZTogJ1BvbmxlIHVuIHRleHRvIGFsIGNhbXBvIHkgZWxpZ2Ugc3UgdGlwby4nLFxuICAgIGVycm9yT3B0aW9uc1JlcXVpcmVkOiAnRXN0ZSB0aXBvIGRlIGNhbXBvIG5lY2VzaXRhIGFsIG1lbm9zIHVuYSBvcGNpw7NuLicsXG4gICAgdHlwZVRFWFQ6ICdUZXh0byBjb3J0bycsXG4gICAgdHlwZVRFWFRBUkVBOiAnVGV4dG8gbGFyZ28nLFxuICAgIHR5cGVFTUFJTDogJ0NvcnJlbycsXG4gICAgdHlwZVBIT05FOiAnVGVsw6lmb25vJyxcbiAgICB0eXBlTlVNQkVSOiAnTsO6bWVybycsXG4gICAgdHlwZU5VTUJFUl9QSUNLRVI6ICdOw7ptZXJvIGNvbiBib3RvbmVzJyxcbiAgICB0eXBlREFURTogJ0ZlY2hhJyxcbiAgICB0eXBlU0VMRUNUOiAnTGlzdGEgZGVzcGxlZ2FibGUnLFxuICAgIHR5cGVSQURJTzogJ1VuYSBzb2xhIG9wY2nDs24nLFxuICAgIHR5cGVNVUxUSV9TRUxFQ1Q6ICdWYXJpYXMgb3BjaW9uZXMnLFxuICAgIHR5cGVDSEVDSzogJ0Nhc2lsbGEnLFxuICAgIHR5cGVUT0dHTEU6ICdTw60gbyBubycsXG4gICAgdHlwZUNVUlJFTkNZOiAnTW9udG8nLFxuICAgIHR5cGVBVFRBQ0hNRU5UOiAnQXJjaGl2byBhZGp1bnRvJyxcbiAgICB0eXBlRklMRTogJ0FyY2hpdm8nLFxuICAgIHR5cGVFTU9KSV9SQVRJTkc6ICdDYWxpZmljYWNpw7NuIGNvbiBlbW9qaScsXG4gIH0sXG4gIGVuOiB7XG4gICAgcHJlc2V0c1RpdGxlOiAnU3RhcnQgZnJvbScsXG4gICAgbGFiZWxMYWJlbDogJ0ZpZWxkIHRleHQnLFxuICAgIGxhYmVsUGxhY2Vob2xkZXI6ICdXcml0ZSB3aGF0IHRoZSBwZXJzb24gd2lsbCBzZWUnLFxuICAgIHR5cGVMYWJlbDogJ0ZpZWxkIHR5cGUnLFxuICAgIHBsYWNlaG9sZGVyTGFiZWw6ICdIZWxwZXIgdGV4dCBpbnNpZGUgdGhlIGZpZWxkJyxcbiAgICBoaW50TGFiZWw6ICdOb3RlIGJlbG93IHRoZSBmaWVsZCcsXG4gICAgc2VjdGlvbkxhYmVsOiAnU2VjdGlvbicsXG4gICAgc2VjdGlvblBsYWNlaG9sZGVyOiAnRS5nOiBQZXJzb25hbCBpbmZvcm1hdGlvbicsXG4gICAgcmVxdWlyZWRMYWJlbDogJ1JlcXVpcmVkJyxcbiAgICBvcHRpb25zVGl0bGU6ICdPcHRpb25zJyxcbiAgICBvcHRpb25zSGludDogJ1RoZXNlIGFyZSB0aGUgY2hvaWNlcyB0aGUgcGVyc29uIGNhbiBwaWNrLicsXG4gICAgb3B0aW9uc0FkZDogJ0FkZCBvcHRpb24nLFxuICAgIG9wdGlvbnNMaXN0OiAnT3B0aW9ucycsXG4gICAgb3B0aW9uc1BsYWNlaG9sZGVyOiAnV3JpdGUgYW4gb3B0aW9uJyxcbiAgICBvcHRpb25zRW1wdHk6ICdObyBvcHRpb25zIHlldC4nLFxuICAgIG9wdGlvbnNSZW1vdmU6ICdSZW1vdmUgb3B0aW9uJyxcbiAgICBvcHRpb25zUmVvcmRlcjogJ1Jlb3JkZXIgb3B0aW9uJyxcbiAgICBlcnJvckluY29tcGxldGU6ICdHaXZlIHRoZSBmaWVsZCBhIHRleHQgYW5kIHBpY2sgaXRzIHR5cGUuJyxcbiAgICBlcnJvck9wdGlvbnNSZXF1aXJlZDogJ1RoaXMgZmllbGQgdHlwZSBuZWVkcyBhdCBsZWFzdCBvbmUgb3B0aW9uLicsXG4gICAgdHlwZVRFWFQ6ICdTaG9ydCB0ZXh0JyxcbiAgICB0eXBlVEVYVEFSRUE6ICdMb25nIHRleHQnLFxuICAgIHR5cGVFTUFJTDogJ0VtYWlsJyxcbiAgICB0eXBlUEhPTkU6ICdQaG9uZScsXG4gICAgdHlwZU5VTUJFUjogJ051bWJlcicsXG4gICAgdHlwZU5VTUJFUl9QSUNLRVI6ICdOdW1iZXIgd2l0aCBidXR0b25zJyxcbiAgICB0eXBlREFURTogJ0RhdGUnLFxuICAgIHR5cGVTRUxFQ1Q6ICdEcm9wZG93bicsXG4gICAgdHlwZVJBRElPOiAnU2luZ2xlIGNob2ljZScsXG4gICAgdHlwZU1VTFRJX1NFTEVDVDogJ011bHRpcGxlIGNob2ljZScsXG4gICAgdHlwZUNIRUNLOiAnQ2hlY2tib3gnLFxuICAgIHR5cGVUT0dHTEU6ICdZZXMgb3Igbm8nLFxuICAgIHR5cGVDVVJSRU5DWTogJ0Ftb3VudCcsXG4gICAgdHlwZUFUVEFDSE1FTlQ6ICdBdHRhY2htZW50JyxcbiAgICB0eXBlRklMRTogJ0ZpbGUnLFxuICAgIHR5cGVFTU9KSV9SQVRJTkc6ICdFbW9qaSByYXRpbmcnLFxuICB9LFxufTtcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2ZpZWxkLXNjaGVtYS1lZGl0b3IvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFN0YXRlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRmllbGRPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3Jtcy90eXBlcyc7XG5cbi8qKlxuICogVW4gY2FtcG8gZW4gZWRpY2nDs24g4oCUIGxhIGZvcm1hIG11dGFibGUgY29uIGxhIHF1ZSB0cmFiYWphIGVsIGVkaXRvciBhbnRlcyBkZVxuICogY29udmVydGlyc2UgZW4gYEZpZWxkU2NoZW1hRGVmYCB2w61hIGBGb3JtU2NoZW1hQnVpbGRlclNlcnZpY2UuY3JlYXRlRmllbGRTY2hlbWFgLlxuICpcbiAqIE5vIGVzIGBGaWVsZFNjaGVtYURlZmAgYSBwcm9ww7NzaXRvOiBlc2UgdGlwbyBjYXJnYSBgbGFiZWxLZXlgLCBgb3JkZXJgLFxuICogYHZhbGlkYXRvcnNgIHkgbG9zIGAqRXMvKkVuYCBkZSBjb21wYXRpYmlsaWRhZCwgbmluZ3VubyBkZSBsb3MgY3VhbGVzIGVkaXRhXG4gKiB1bmEgcGVyc29uYS4gRWwgZWRpdG9yIHRyYWJhamEgY29uIGxvIHF1ZSBzZSBlc2NyaWJlIGVuIHBhbnRhbGxhIHkgZGVqYSBxdWVcbiAqIGVsIGJ1aWxkZXIgZGVyaXZlIGVsIHJlc3RvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRhYmxlRmllbGREZWYge1xuICAvKiogSWQgbG9jYWwgZXN0YWJsZSDigJQgc2lydmUgcGFyYSBgdHJhY2tgIHkgcGFyYSByZWVtcGxhemFyIGVuIGxhIGxpc3RhIGFsIGVkaXRhci4gKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFRva2VuIGRlbCBjYW1wbyAoZGVyaXZhZG8gZGVsIGxhYmVsIG1pZW50cmFzIG5vIHNlIGVkaXRlIGEgbWFubykuICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFRleHRvIHF1ZSBlc2NyaWJlIGxhIG9yZ2FuaXphY2nDs24uIE5vIHNlIHRyYWR1Y2UgKHJlZ2xhICM0IGRlIENMQVVERS5tZCkuICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyVGV4dDogc3RyaW5nO1xuICBoaW50VGV4dDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBzZWN0aW9uTGFiZWw/OiBzdHJpbmc7XG4gIHNlY3Rpb25PcmRlcj86IG51bWJlcjtcbiAgb3B0aW9ucz86IEZpZWxkT3B0aW9uW107XG59XG5cbi8qKlxuICogVW4gcHVudG8gZGUgcGFydGlkYSBvZnJlY2lkbyBhbCBjcmVhciB1biBjYW1wby4gTG9zIGRlZmluZSBlbCBjb25zdW1lciwgbm9cbiAqIGVsIGVkaXRvcjogbG9zIHByZXNldHMgZGUgdW4gY2hlY2tvdXQgKGNvcnJlbywgdGVsw6lmb25vLCBjdXJzbykgbm8gdGllbmVuXG4gKiBuYWRhIHF1ZSB2ZXIgY29uIGxvcyBkZSB1bmEgZW5jdWVzdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTY2hlbWFFZGl0b3JQcmVzZXQge1xuICBpZDogc3RyaW5nO1xuICAvKiogVMOtdHVsbyBkZSBsYSB0YXJqZXRhIGRlbCBwcmVzZXQuICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKiBCYWphZGEgZGUgbGEgdGFyamV0YS4gT3BjaW9uYWwuICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKiogVmFsb3JlcyBjb24gbG9zIHF1ZSBzZSByZWxsZW5hIGVsIGVkaXRvciBhbCBlbGVnaXJsby4gKi9cbiAgZmllbGQ6IE9taXQ8RWRpdGFibGVGaWVsZERlZiwgJ2lkJz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTY2hlbWFFZGl0b3JNZXRhZGF0YSB7XG4gIC8qKiAnZWRpdCcgb2N1bHRhIGxvcyBwcmVzZXRzIHkgbm8gcmUtZGVyaXZhIGVsIGBuYW1lYCBkZXNkZSBlbCBsYWJlbC4gKi9cbiAgbW9kZT86ICduZXcnIHwgJ2VkaXQnO1xuICAvKiogQ2FtcG8gYSBlZGl0YXIuIEF1c2VudGUgPSBjYW1wbyBudWV2by4gKi9cbiAgZmllbGQ/OiBFZGl0YWJsZUZpZWxkRGVmIHwgbnVsbDtcbiAgLyoqXG4gICAqIENhdMOhbG9nbyBkZSB0aXBvcyBxdWUgZXN0ZSBjb25zdW1lciBvZnJlY2UuIE9ibGlnYXRvcmlvIHkgYWNvdGFkbyBhXG4gICAqIHByb3DDs3NpdG86IHF1aWVuIHVzYSBlbCBlZGl0b3IgZGVjaWRlIHF1w6kgdGlwb3MgdGllbmVuIHNlbnRpZG8gZW4gc3VcbiAgICogZG9taW5pbyAodW5hIGVuY3Vlc3RhIHDDumJsaWNhIG5vIG9mcmVjZSBBVFRBQ0hNRU5ULCB1biBjaGVja291dCBubyBvZnJlY2VcbiAgICogRU1PSklfUkFUSU5HKSB5LCBzb2JyZSB0b2RvLCBnYXJhbnRpemEgcXVlIHN1IHJlbmRlcmVyIHNlcGEgZGlidWphcmxvcy5cbiAgICovXG4gIGFsbG93ZWRUeXBlczogc3RyaW5nW107XG4gIC8qKiBFdGlxdWV0YSB2aXNpYmxlIHBvciB0aXBvLiBTaSBmYWx0YSB1bmEsIGNhZSBhbCBkZWZhdWx0IGkxOG4gZGVsIGVkaXRvci4gKi9cbiAgdHlwZUxhYmVscz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHByZXNldHM/OiBGaWVsZFNjaGVtYUVkaXRvclByZXNldFtdO1xuICBwcmVzZXRzVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBEZWZhdWx0IHRydWUuICovXG4gIHNob3dQbGFjZWhvbGRlcj86IGJvb2xlYW47XG4gIC8qKiBEZWZhdWx0IHRydWUuICovXG4gIHNob3dIaW50PzogYm9vbGVhbjtcbiAgc3RhdGU/OiBDb21wb25lbnRTdGF0ZTtcbn1cbiJdfQ==
|