verben-authentication-ui 1.0.8 → 1.0.10

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.
@@ -1,4 +1,5 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Status } from '../../../models/status';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/forms";
4
5
  import * as i2 from "verben-ng-ui";
@@ -15,7 +16,7 @@ export class UserManagementFormComponent {
15
16
  // Address: value.data.Address || '',
16
17
  RoleID: value.data.RoleID || '',
17
18
  Tags: value.data.Tags || [],
18
- Status: value.data.Status || '',
19
+ Status: value.data.Status || Status.Active,
19
20
  });
20
21
  }
21
22
  else {
@@ -27,6 +28,7 @@ export class UserManagementFormComponent {
27
28
  switchView = new EventEmitter();
28
29
  onFormSave = new EventEmitter();
29
30
  form;
31
+ statusOptions = Object.values(Status);
30
32
  constructor(fb) {
31
33
  this.fb = fb;
32
34
  this.form = this.fb.group({
@@ -52,11 +54,11 @@ export class UserManagementFormComponent {
52
54
  console.log('Delete requested');
53
55
  }
54
56
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserManagementFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
55
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserManagementFormComponent, selector: "lib-user-request-form", inputs: { currentData: "currentData", roles: "roles", tags: "tags" }, outputs: { switchView: "switchView", onFormSave: "onFormSave" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4 \"\n>\n\n <verbena-input\n label=\"Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n />\n <verbena-input\n name=\"MailAddress\"\n label=\"E-Mail Address:\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n />\n <!-- <verbena-input\n label=\"Address\"\n name=\"Address\"\n type=\"text\"\n formControlName=\"Address\"\n /> -->\n \n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleID\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"tags\">Tags</label>\n\n <verben-drop-down\n label=\"Tags\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"true\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"tags\"\n id=\"tags\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"Tags\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i2.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }] });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserManagementFormComponent, selector: "lib-user-request-form", inputs: { currentData: "currentData", roles: "roles", tags: "tags" }, outputs: { switchView: "switchView", onFormSave: "onFormSave" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n label=\"Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n />\n <verbena-input\n name=\"MailAddress\"\n label=\"E-Mail Address:\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n />\n <!-- <verbena-input\n label=\"Address\"\n name=\"Address\"\n type=\"text\"\n formControlName=\"Address\"\n /> -->\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleID\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"tags\">Tags</label>\n\n <verben-drop-down\n label=\"Tags\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"true\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"tags\"\n id=\"tags\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"Tags\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"false\"\n [showClear]=\"false\"\n placeholder=\"\"\n [(options)]=\"statusOptions\"\n id=\"status\"\n formControlName=\"Status\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i2.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }] });
56
58
  }
57
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserManagementFormComponent, decorators: [{
58
60
  type: Component,
59
- args: [{ selector: 'lib-user-request-form', template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4 \"\n>\n\n <verbena-input\n label=\"Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n />\n <verbena-input\n name=\"MailAddress\"\n label=\"E-Mail Address:\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n />\n <!-- <verbena-input\n label=\"Address\"\n name=\"Address\"\n type=\"text\"\n formControlName=\"Address\"\n /> -->\n \n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleID\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"tags\">Tags</label>\n\n <verben-drop-down\n label=\"Tags\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"true\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"tags\"\n id=\"tags\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"Tags\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n</form>\n" }]
61
+ args: [{ selector: 'lib-user-request-form', template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n label=\"Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n />\n <verbena-input\n name=\"MailAddress\"\n label=\"E-Mail Address:\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n />\n <!-- <verbena-input\n label=\"Address\"\n name=\"Address\"\n type=\"text\"\n formControlName=\"Address\"\n /> -->\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleID\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"tags\">Tags</label>\n\n <verben-drop-down\n label=\"Tags\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"true\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"tags\"\n id=\"tags\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"Tags\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"false\"\n [showClear]=\"false\"\n placeholder=\"\"\n [(options)]=\"statusOptions\"\n id=\"status\"\n formControlName=\"Status\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n</form>\n" }]
60
62
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { currentData: [{
61
63
  type: Input
62
64
  }], roles: [{
@@ -68,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
68
70
  }], onFormSave: [{
69
71
  type: Output
70
72
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1hbmFnZW1lbnQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItbWFuYWdlbWVudC91c2VyLW1hbmFnZW1lbnQtZm9ybS91c2UtbWFuYWdlbWVudC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1tYW5hZ2VtZW50L3VzZXItbWFuYWdlbWVudC1mb3JtL3VzZXItbWFuYWdlbWVudC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFtQnZFLE1BQU0sT0FBTywyQkFBMkI7SUEyQmxCO0lBMUJwQiwrQkFBK0I7SUFDL0Isa0NBQWtDO0lBRWxDLElBQWEsV0FBVyxDQUFDLEtBQXNCO1FBQzdDLElBQUksS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNuQixXQUFXLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRTtnQkFDekMsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUU7Z0JBQ3JDLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFO2dCQUN6QyxxQ0FBcUM7Z0JBQ3JDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFO2dCQUMvQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDM0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUU7YUFDaEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBQ1EsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixJQUFJLEdBQVUsRUFBRSxDQUFDO0lBRWhCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQzNDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUV6RCxJQUFJLENBQVk7SUFFaEIsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ25DLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxxQ0FBcUM7WUFDckMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLGtDQUFrQztZQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sb0JBQW9CO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQXBEVSwyQkFBMkI7NEZBQTNCLDJCQUEyQixvTUNuQnhDLGtsREF3RUE7OzRGRHJEYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsdUJBQXVCO2dGQVFwQixXQUFXO3NCQUF2QixLQUFLO2dCQWVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYXJkRGF0YSB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL1JvbGUnO1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL1RhZyc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc3RhdHVzJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlcic7XG5cbmludGVyZmFjZSBVc2VyRm9ybURhdGEge1xuICBNYWlsQWRkcmVzczogc3RyaW5nO1xuICBGaXJzdE5hbWU6IHN0cmluZztcbiAgUGhvbmVOdW1iZXI6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXVzZXItcmVxdWVzdC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbWFuYWdlbWVudC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3VzZXItbWFuYWdlbWVudC1mb3JtLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyTWFuYWdlbWVudEZvcm1Db21wb25lbnQge1xuICAvLyBASW5wdXQoKSByb2xlczogUm9sZVtdID0gW107XG4gIC8vIEBJbnB1dCgpIHN0YXR1czogU3RhdHVzW10gPSBbXTtcblxuICBASW5wdXQoKSBzZXQgY3VycmVudERhdGEodmFsdWU6IENhcmREYXRhIHwgbnVsbCkge1xuICAgIGlmICh2YWx1ZT8uZGF0YSkge1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBNYWlsQWRkcmVzczogdmFsdWUuZGF0YS5NYWlsQWRkcmVzcyB8fCAnJyxcbiAgICAgICAgRmlyc3ROYW1lOiB2YWx1ZS5kYXRhLkZpcnN0TmFtZSB8fCAnJyxcbiAgICAgICAgUGhvbmVOdW1iZXI6IHZhbHVlLmRhdGEuUGhvbmVOdW1iZXIgfHwgJycsXG4gICAgICAgIC8vIEFkZHJlc3M6IHZhbHVlLmRhdGEuQWRkcmVzcyB8fCAnJyxcbiAgICAgICAgUm9sZUlEOiB2YWx1ZS5kYXRhLlJvbGVJRCB8fCAnJyxcbiAgICAgICAgVGFnczogdmFsdWUuZGF0YS5UYWdzIHx8IFtdLFxuICAgICAgICBTdGF0dXM6IHZhbHVlLmRhdGEuU3RhdHVzIHx8ICcnLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSByb2xlczogUm9sZVtdID0gW107XG4gIEBJbnB1dCgpIHRhZ3M6IFRhZ1tdID0gW107XG5cbiAgQE91dHB1dCgpIHN3aXRjaFZpZXcgPSBuZXcgRXZlbnRFbWl0dGVyPHVuZGVmaW5lZD4oKTtcbiAgQE91dHB1dCgpIG9uRm9ybVNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcnRpYWw8VXNlcj4+KCk7XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBNYWlsQWRkcmVzczogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgRmlyc3ROYW1lOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBQaG9uZU51bWJlcjogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgLy8gQWRkcmVzczogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgU3RhdHVzOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBSb2xlSUQ6IFsnJ10sXG4gICAgICBUYWdzOiBbW11dLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG9uU2F2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICAvLyBFbWl0IHNhdmUgZXZlbnQgd2l0aCBmb3JtIHZhbHVlXG4gICAgICBjb25zb2xlLmxvZygnRm9ybSBzYXZlZDonLCB0aGlzLmZvcm0udmFsdWUpO1xuICAgICAgdGhpcy5vbkZvcm1TYXZlLmVtaXQodGhpcy5mb3JtLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvbkRlbGV0ZSgpOiB2b2lkIHtcbiAgICAvLyBFbWl0IGRlbGV0ZSBldmVudFxuICAgIGNvbnNvbGUubG9nKCdEZWxldGUgcmVxdWVzdGVkJyk7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBweC0zIHBiLTMgcm91bmRlZC14bCBoLWZ1bGwgdy1mdWxsIHJlbGF0aXZlIHNwYWNlLXktNCBcIlxuPlxuXG4gIDx2ZXJiZW5hLWlucHV0XG4gIGxhYmVsPVwiTmFtZTpcIlxuICBuYW1lPVwiRmlyc3ROYW1lXCJcbiAgdHlwZT1cInRleHRcIlxuICBmb3JtQ29udHJvbE5hbWU9XCJGaXJzdE5hbWVcIlxuICAvPlxuICA8dmVyYmVuYS1pbnB1dFxuICAgIGxhYmVsPVwiUGhvbmUgTnVtYmVyOlwiXG4gICAgbmFtZT1cIlBob25lTnVtYmVyXCJcbiAgICB0eXBlPVwidGVsXCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJQaG9uZU51bWJlclwiXG4gIC8+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbmFtZT1cIk1haWxBZGRyZXNzXCJcbiAgICBsYWJlbD1cIkUtTWFpbCBBZGRyZXNzOlwiXG4gICAgW3R5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiTWFpbEFkZHJlc3NcIlxuICAvPlxuICA8IS0tIDx2ZXJiZW5hLWlucHV0XG4gICAgbGFiZWw9XCJBZGRyZXNzXCJcbiAgICBuYW1lPVwiQWRkcmVzc1wiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIkFkZHJlc3NcIlxuICAvPiAtLT5cbiAgXG4gIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICA8bGFiZWwgZm9yPVwicm9sZVwiPlJvbGU8L2xhYmVsPlxuXG4gICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgIGxhYmVsPVwiUm9sZVwiXG4gICAgICBzdHlsZUNsYXNzPVwidy1mdWxsXCJcbiAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcbiAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICBbKG9wdGlvbnMpXT1cInJvbGVzXCJcbiAgICAgIGlkPVwicm9sZVwiXG4gICAgICBvcHRpb25MYWJlbD1cIk5hbWVcIlxuICAgICAgb3B0aW9uVmFsdWU9XCJDb2RlXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIlJvbGVJRFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgPlxuICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgIDxsYWJlbCBmb3I9XCJ0YWdzXCI+VGFnczwvbGFiZWw+XG5cbiAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgbGFiZWw9XCJUYWdzXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIFttdWx0aXNlbGVjdF09XCJ0cnVlXCJcbiAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgWyhvcHRpb25zKV09XCJ0YWdzXCJcbiAgICAgIGlkPVwidGFnc1wiXG4gICAgICBvcHRpb25MYWJlbD1cIk5hbWVcIlxuICAgICAgb3B0aW9uVmFsdWU9XCJDb2RlXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIlRhZ3NcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgID5cbiAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLW1hbmFnZW1lbnQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItbWFuYWdlbWVudC91c2VyLW1hbmFnZW1lbnQtZm9ybS91c2UtbWFuYWdlbWVudC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1tYW5hZ2VtZW50L3VzZXItbWFuYWdlbWVudC1mb3JtL3VzZXItbWFuYWdlbWVudC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBY2hELE1BQU0sT0FBTywyQkFBMkI7SUE0QmxCO0lBM0JwQiwrQkFBK0I7SUFDL0Isa0NBQWtDO0lBRWxDLElBQWEsV0FBVyxDQUFDLEtBQXNCO1FBQzdDLElBQUksS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNuQixXQUFXLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRTtnQkFDekMsU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUU7Z0JBQ3JDLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFO2dCQUN6QyxxQ0FBcUM7Z0JBQ3JDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFO2dCQUMvQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDM0IsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNO2FBQzNDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUNRLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsSUFBSSxHQUFVLEVBQUUsQ0FBQztJQUVoQixVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQUMzQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFFekQsSUFBSSxDQUFZO0lBQ2hCLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXRDLFlBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3JDLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNuQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckMscUNBQXFDO1lBQ3JDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNoQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDWixJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixrQ0FBa0M7WUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLG9CQUFvQjtRQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbEMsQ0FBQzt3R0FyRFUsMkJBQTJCOzRGQUEzQiwyQkFBMkIsb01DbkJ4Qyw0L0RBeUZBOzs0RkR0RWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHVCQUF1QjtnRkFRcEIsV0FBVztzQkFBdkIsS0FBSztnQkFlRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2FyZERhdGEgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9Sb2xlJztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9UYWcnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3N0YXR1cyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3VzZXInO1xuXG5pbnRlcmZhY2UgVXNlckZvcm1EYXRhIHtcbiAgTWFpbEFkZHJlc3M6IHN0cmluZztcbiAgRmlyc3ROYW1lOiBzdHJpbmc7XG4gIFBob25lTnVtYmVyOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi11c2VyLXJlcXVlc3QtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLW1hbmFnZW1lbnQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi91c2VyLW1hbmFnZW1lbnQtZm9ybS5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlck1hbmFnZW1lbnRGb3JtQ29tcG9uZW50IHtcbiAgLy8gQElucHV0KCkgcm9sZXM6IFJvbGVbXSA9IFtdO1xuICAvLyBASW5wdXQoKSBzdGF0dXM6IFN0YXR1c1tdID0gW107XG5cbiAgQElucHV0KCkgc2V0IGN1cnJlbnREYXRhKHZhbHVlOiBDYXJkRGF0YSB8IG51bGwpIHtcbiAgICBpZiAodmFsdWU/LmRhdGEpIHtcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgTWFpbEFkZHJlc3M6IHZhbHVlLmRhdGEuTWFpbEFkZHJlc3MgfHwgJycsXG4gICAgICAgIEZpcnN0TmFtZTogdmFsdWUuZGF0YS5GaXJzdE5hbWUgfHwgJycsXG4gICAgICAgIFBob25lTnVtYmVyOiB2YWx1ZS5kYXRhLlBob25lTnVtYmVyIHx8ICcnLFxuICAgICAgICAvLyBBZGRyZXNzOiB2YWx1ZS5kYXRhLkFkZHJlc3MgfHwgJycsXG4gICAgICAgIFJvbGVJRDogdmFsdWUuZGF0YS5Sb2xlSUQgfHwgJycsXG4gICAgICAgIFRhZ3M6IHZhbHVlLmRhdGEuVGFncyB8fCBbXSxcbiAgICAgICAgU3RhdHVzOiB2YWx1ZS5kYXRhLlN0YXR1cyB8fCBTdGF0dXMuQWN0aXZlLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSByb2xlczogUm9sZVtdID0gW107XG4gIEBJbnB1dCgpIHRhZ3M6IFRhZ1tdID0gW107XG5cbiAgQE91dHB1dCgpIHN3aXRjaFZpZXcgPSBuZXcgRXZlbnRFbWl0dGVyPHVuZGVmaW5lZD4oKTtcbiAgQE91dHB1dCgpIG9uRm9ybVNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcnRpYWw8VXNlcj4+KCk7XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuICBzdGF0dXNPcHRpb25zID0gT2JqZWN0LnZhbHVlcyhTdGF0dXMpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBNYWlsQWRkcmVzczogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgRmlyc3ROYW1lOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBQaG9uZU51bWJlcjogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgLy8gQWRkcmVzczogWycnLCB7IHJlYWRvbmx5OiB0cnVlIH1dLFxuICAgICAgU3RhdHVzOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBSb2xlSUQ6IFsnJ10sXG4gICAgICBUYWdzOiBbW11dLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIG9uU2F2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICAvLyBFbWl0IHNhdmUgZXZlbnQgd2l0aCBmb3JtIHZhbHVlXG4gICAgICBjb25zb2xlLmxvZygnRm9ybSBzYXZlZDonLCB0aGlzLmZvcm0udmFsdWUpO1xuICAgICAgdGhpcy5vbkZvcm1TYXZlLmVtaXQodGhpcy5mb3JtLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBvbkRlbGV0ZSgpOiB2b2lkIHtcbiAgICAvLyBFbWl0IGRlbGV0ZSBldmVudFxuICAgIGNvbnNvbGUubG9nKCdEZWxldGUgcmVxdWVzdGVkJyk7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBweC0zIHBiLTMgcm91bmRlZC14bCBoLWZ1bGwgdy1mdWxsIHJlbGF0aXZlIHNwYWNlLXktNFwiXG4+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbGFiZWw9XCJOYW1lOlwiXG4gICAgbmFtZT1cIkZpcnN0TmFtZVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIkZpcnN0TmFtZVwiXG4gIC8+XG4gIDx2ZXJiZW5hLWlucHV0XG4gICAgbGFiZWw9XCJQaG9uZSBOdW1iZXI6XCJcbiAgICBuYW1lPVwiUGhvbmVOdW1iZXJcIlxuICAgIHR5cGU9XCJ0ZWxcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIlBob25lTnVtYmVyXCJcbiAgLz5cbiAgPHZlcmJlbmEtaW5wdXRcbiAgICBuYW1lPVwiTWFpbEFkZHJlc3NcIlxuICAgIGxhYmVsPVwiRS1NYWlsIEFkZHJlc3M6XCJcbiAgICBbdHlwZV09XCInZW1haWwnXCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJNYWlsQWRkcmVzc1wiXG4gIC8+XG4gIDwhLS0gPHZlcmJlbmEtaW5wdXRcbiAgICBsYWJlbD1cIkFkZHJlc3NcIlxuICAgIG5hbWU9XCJBZGRyZXNzXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiQWRkcmVzc1wiXG4gIC8+IC0tPlxuXG4gIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICA8bGFiZWwgZm9yPVwicm9sZVwiPlJvbGU8L2xhYmVsPlxuXG4gICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgIGxhYmVsPVwiUm9sZVwiXG4gICAgICBzdHlsZUNsYXNzPVwidy1mdWxsXCJcbiAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcbiAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICBbKG9wdGlvbnMpXT1cInJvbGVzXCJcbiAgICAgIGlkPVwicm9sZVwiXG4gICAgICBvcHRpb25MYWJlbD1cIk5hbWVcIlxuICAgICAgb3B0aW9uVmFsdWU9XCJDb2RlXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIlJvbGVJRFwiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgPlxuICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgIDxsYWJlbCBmb3I9XCJ0YWdzXCI+VGFnczwvbGFiZWw+XG5cbiAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgbGFiZWw9XCJUYWdzXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIFttdWx0aXNlbGVjdF09XCJ0cnVlXCJcbiAgICAgIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgWyhvcHRpb25zKV09XCJ0YWdzXCJcbiAgICAgIGlkPVwidGFnc1wiXG4gICAgICBvcHRpb25MYWJlbD1cIk5hbWVcIlxuICAgICAgb3B0aW9uVmFsdWU9XCJDb2RlXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIlRhZ3NcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgID5cbiAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICA8bGFiZWwgZm9yPVwic3RhdHVzXCI+U3RhdHVzPC9sYWJlbD5cblxuICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICBzdHlsZUNsYXNzPVwidy1mdWxsXCJcbiAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgW2ZpbHRlcl09XCJmYWxzZVwiXG4gICAgICBbc2hvd0NsZWFyXT1cImZhbHNlXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiXCJcbiAgICAgIFsob3B0aW9ucyldPVwic3RhdHVzT3B0aW9uc1wiXG4gICAgICBpZD1cInN0YXR1c1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJTdGF0dXNcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgID5cbiAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19