ngx-vector-components 4.80.0 → 4.82.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.82.0] (28/06/2023)
4
+
5
+ ### Feature
6
+
7
+ - Updated `DropdownFieldComponent add parameter isNgContent` in `dropdown-field.component.ts`.
8
+ - Updated `Add new <p-autocomplete> with <ng-template> when isNgContent is true` in `dropdown-field.component.html`.
9
+
10
+ ## [4.81.0] (27/06/2023)
11
+
12
+ ### Feature
13
+
14
+ - Added `permission` in `profile.model.ts`.
15
+
3
16
  ## [4.80.0] (23/06/2023)
4
17
 
5
18
  ### Feature
@@ -8,9 +8,11 @@ import * as i3 from "../button/button.component";
8
8
  import * as i4 from "../field-error-message/field-error-message.component";
9
9
  import * as i5 from "@angular/common";
10
10
  import * as i6 from "@angular/forms";
11
+ import * as i7 from "primeng/api";
11
12
  export class DropdownFieldComponent {
12
13
  constructor(renderer) {
13
14
  this.renderer = renderer;
15
+ this.isNgContent = false;
14
16
  this.isRequired = false;
15
17
  this.label = '';
16
18
  this.paged = true;
@@ -162,12 +164,14 @@ export class DropdownFieldComponent {
162
164
  }
163
165
  }
164
166
  DropdownFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
165
- DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage", dynamicFilters: "dynamicFilters", minLengthToService: "minLengthToService", initialLoad: "initialLoad", disabled: "disabled" }, outputs: { onFocus: "onFocus", onChange: "onChange" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"], components: [{ type: i1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: i3.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i4.FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
167
+ DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isNgContent: "isNgContent", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage", dynamicFilters: "dynamicFilters", minLengthToService: "minLengthToService", initialLoad: "initialLoad", disabled: "disabled" }, outputs: { onFocus: "onFocus", onChange: "onChange" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\" *ngIf=\"!isNgContent\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n\r\n <div class=\"input-inner-container\" *ngIf=\"isNgContent\">\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"nameCustom\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"option-content\">\r\n <span class=\"option-label\">{{ option.name }}</span>\r\n <br />\r\n <span class=\"option-sublabel\">{{ option.code }}</span>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"], components: [{ type: i1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: i3.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i4.FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] });
166
168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, decorators: [{
167
169
  type: Component,
168
- args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"] }]
170
+ args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\" *ngIf=\"!isNgContent\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n\r\n <div class=\"input-inner-container\" *ngIf=\"isNgContent\">\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"nameCustom\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"option-content\">\r\n <span class=\"option-label\">{{ option.name }}</span>\r\n <br />\r\n <span class=\"option-sublabel\">{{ option.code }}</span>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"] }]
169
171
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { options: [{
170
172
  type: Input
173
+ }], isNgContent: [{
174
+ type: Input
171
175
  }], isRequired: [{
172
176
  type: Input
173
177
  }], control: [{
@@ -197,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
197
201
  }], onChange: [{
198
202
  type: Output
199
203
  }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBWTVDLE1BQU0sT0FBTyxzQkFBc0I7SUFzRWpDLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUEvRGhDLGVBQVUsR0FBd0IsS0FBSyxDQUFDO1FBYXhDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFJbkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQU1iLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUlwQyx1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUFFL0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWlCOUIscUJBQWdCLEdBQWUsRUFBRSxDQUFDO1FBQ2xDLHNDQUFpQyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM3QywwQkFBcUIsR0FBUSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRzFGLGFBQVEsR0FBVSxFQUFFLENBQUM7UUFDckIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxFQUFFLENBQUM7SUFFVSxDQUFDO0lBckUzQyxJQUNJLE9BQU8sQ0FBQyxRQUFvQjtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUdELElBQ0ksT0FBTyxDQUFDLFFBQWE7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBMEJELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFlRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLGlDQUFpQyxFQUFFO1lBQzFDLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNyQyxPQUFPLG1CQUFtQixDQUFDO2FBQzVCO1lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLFFBQVE7Z0JBQy9FLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztTQUN0QjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFZLEVBQUUsV0FBVyxHQUFHLEtBQUs7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTSx1QkFBdUI7UUFDNUIsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDMUUsSUFBSSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ2hHLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbkcsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO2dCQUVoRixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxXQUFXLEVBQUU7b0JBQ3JELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDcEI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztTQUMxQztJQUNILENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTztpQkFDVCxRQUFRLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDO2lCQUNwRyxTQUFTLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQzFHLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO29CQUN0QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDNUIsQ0FBQztnQkFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFFLENBQUM7YUFDbkIsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNMLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3BHLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFL0UsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO2FBQ3hEO1lBRUQsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRU8sOEJBQThCO1FBQ3BDLE1BQU0sSUFBSSxHQUNSLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRTtZQUN2RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDdkMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRTtnQkFDeEIsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDM0I7WUFDRCxNQUFNLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3pHLElBQUksbUJBQW1CLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDbEU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3hELENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFO1lBQy9ELElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRTtZQUNqQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztTQUMxQzthQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsT0FBbUIsRUFBRSxFQUFFLEtBQWE7UUFDNUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQ2xHLENBQUM7SUFDSixDQUFDOzttSEE5TFUsc0JBQXNCO3VHQUF0QixzQkFBc0IsMGRDaEJuQywrOENBeUNBOzJGRHpCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsdUJBQXVCO2dHQU03QixPQUFPO3NCQURWLEtBQUs7Z0JBTUMsVUFBVTtzQkFEaEIsS0FBSztnQkFHRixPQUFPO3NCQURWLEtBQUs7Z0JBWUMsS0FBSztzQkFEWCxLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxLQUFLO3NCQURYLEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsS0FBSztnQkFHQyxZQUFZO3NCQURsQixLQUFLO2dCQUdDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLO2dCQUdDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxPQUFPO3NCQURiLE1BQU07Z0JBR0EsUUFBUTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQmFzZURyb3Bkb3duIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgRHJvcGRvd25CdXR0b25BY3Rpb24gPSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvbkNsaWNrOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLWRyb3Bkb3duLWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG9wdGlvbnMoX29wdGlvbnM6IExpc3RJdGVtW10pIHtcclxuICAgIHRoaXMuX29wdGlvbnMgPSBfb3B0aW9ucztcclxuICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IHRoaXMub3B0aW9ucyB8fCBbXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNvbnRyb2woX2NvbnRyb2w6IGFueSkge1xyXG4gICAgdGhpcy5fY29udHJvbCA9IF9jb250cm9sO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VydmljZTogQmFzZURyb3Bkb3duIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhZ2VkID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBidXR0b25BY3Rpb246IERyb3Bkb3duQnV0dG9uQWN0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRlcGVuZGVuY2llczogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhpZGRlbkVycm9yTWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGR5bmFtaWNGaWx0ZXJzPzogTGlzdEl0ZW1bXTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtaW5MZW5ndGhUb1NlcnZpY2U6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5pdGlhbExvYWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBnZXQgY29udHJvbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9wdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcclxuICB9XHJcblxyXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcclxuICAgIGlmICghdGhpcy5sYWJlbCkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhpcy5sYWJlbH0ke3RoaXMuaXNSZXF1aXJlZCA/ICcqJyA6ICcnfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFnZWRTdWdnZXN0aW9uczogTGlzdEl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyB1bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwgPSAoKSA9PiB7fTtcclxuICBwdWJsaWMgc2VsZWN0ZWREeW5hbWljRmlsdGVyOiBhbnkgPSB0aGlzLmR5bmFtaWNGaWx0ZXJzID8gdGhpcy5keW5hbWljRmlsdGVyc1swXS5jb2RlIDogdW5kZWZpbmVkO1xyXG5cclxuICBwcml2YXRlIF9jb250cm9sOiBhbnk7XHJcbiAgcHJpdmF0ZSBfb3B0aW9uczogYW55W10gPSBbXTtcclxuICBwcml2YXRlIGN1cnJlbnRTY3JvbGxQYWdlID0gLTE7XHJcbiAgcHJpdmF0ZSBjdXJyZW50U2Nyb2xsSW5kZXggPSAwO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIHByaXZhdGUgY3VycmVudFNlYXJjaFF1ZXJ5ID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbml0aWFsTG9hZCkge1xyXG4gICAgICB0aGlzLnNlYXJjaChudWxsLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIGlmICh0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpZWxkRXJyb3JMYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbD8uaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xyXG4gICAgICBpZiAodGhpcy5jb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XHJcbiAgICAgICAgcmV0dXJuICdDYW1wbyBvYnJpZ2F0w7NyaW8nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5jb250cm9sPy5lcnJvcnMgJiYgdHlwZW9mIHRoaXMuY29udHJvbC5lcnJvcnNbJ2ludmFsaWQnXSA9PT0gJ3N0cmluZydcclxuICAgICAgICA/IHRoaXMuY29udHJvbD8uZXJyb3JzWydpbnZhbGlkJ11cclxuICAgICAgICA6ICdDYW1wbyBpbnbDoWxpZG8nO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWFyY2goJGV2ZW50PzogYW55LCBmb3JjZVNlYXJjaCA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSA9ICRldmVudD8ucXVlcnkudG9VcHBlckNhc2UoKSB8fCAnJztcclxuICAgIHRoaXMuY3VycmVudFNjcm9sbFBhZ2UgPSAtMTtcclxuICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gMDtcclxuICAgIGlmIChmb3JjZVNlYXJjaCB8fCB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS5sZW5ndGggPj0gdGhpcy5taW5MZW5ndGhUb1NlcnZpY2UpIHtcclxuICAgICAgdGhpcy5wYWdlUmVzdWx0cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25PcGVuQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhdXRvY29tcGxldGVQYW5lbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLWF1dG9jb21wbGV0ZS1wYW5lbCcpO1xyXG4gICAgaWYgKGF1dG9jb21wbGV0ZVBhbmVsICYmIHRoaXMucGFnZWQgJiYgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoVG9TZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oYXV0b2NvbXBsZXRlUGFuZWwsICdzY3JvbGwnLCAoZXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCBldmVudEhlaWdodCA9IGV2ZW50LnRhcmdldC5zY3JvbGxIZWlnaHQgLSBldmVudC50YXJnZXQuY2xpZW50SGVpZ2h0IC0gMTUwO1xyXG5cclxuICAgICAgICBpZiAoTWF0aC5yb3VuZChldmVudC50YXJnZXQuc2Nyb2xsVG9wKSA+PSBldmVudEhlaWdodCkge1xyXG4gICAgICAgICAgdGhpcy5wYWdlUmVzdWx0cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYWdlZCkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYWdlUmVzdWx0cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSsrO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0UGFnZWQoZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5KSwgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSwgMjAsIHRoaXMuZGVwZW5kZW5jaWVzKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IHRoaXMuY3VycmVudFNjcm9sbFBhZ2UgPT09IDAgPyByZXNwb25zZSA6IHRoaXMucGFnZWRTdWdnZXN0aW9ucz8uY29uY2F0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVTZWFyY2hFcnJvcnMoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4ge30sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZpbHRlckxpc3RCeVF1ZXJ5KHRoaXMub3B0aW9ucywgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkudG9VcHBlckNhc2UoKSk7XHJcbiAgICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IGZpbHRlcmVkT3B0aW9ucy5zbGljZSgwLCB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCArIDIwKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnM/Lmxlbmd0aCAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMjApIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCA9IHRoaXMuY3VycmVudFNjcm9sbEluZGV4ICsgMjA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCk7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2VhcmNoRXJyb3JzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpIHtcclxuICAgIGNvbnN0IGNvZGUgPVxyXG4gICAgICAoT2JqZWN0VXRpbC5pc1ZhbGlkKHRoaXMuY29udHJvbC52YWx1ZT8uY29kZSkgJiYgYCR7dGhpcy5jb250cm9sLnZhbHVlPy5jb2RlfWApIHx8IGAke3RoaXMuY29udHJvbC52YWx1ZX1gO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSAmJiB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICBsZXQgaXRlbXNBcnJheSA9IHRoaXMucGFnZWRTdWdnZXN0aW9ucztcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgaXRlbXNBcnJheSA9IHRoaXMub3B0aW9ucztcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBpdGVtRnJvbVN1Z2dlc3Rpb25zID0gaXRlbXNBcnJheS5maW5kKChvcHQpID0+IGAke29wdC5jb2RlfWAudG9VcHBlckNhc2UoKSA9PT0gY29kZS50b1VwcGVyQ2FzZSgpKTtcclxuICAgICAgaWYgKGl0ZW1Gcm9tU3VnZ2VzdGlvbnMpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoaXRlbUZyb21TdWdnZXN0aW9ucywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VydmljZT8uZ2V0QnlJZCgrY29kZSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHJlc3BvbnNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb250cm9sLnZhbHVlICYmICF0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNlcnZpY2U/LmdldEJ5SWQoK2NvZGUpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUocmVzcG9uc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVNlYXJjaEVycm9ycygpIHtcclxuICAgIGlmICh0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICBkZWxldGUgdGhpcy5jb250cm9sLmVycm9ycz8uaXRlbU5vdEZvdW5kO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0RXJyb3JzKHsgaXRlbU5vdEZvdW5kOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWx0ZXJMaXN0QnlRdWVyeShsaXN0OiBMaXN0SXRlbVtdID0gW10sIHF1ZXJ5OiBzdHJpbmcpOiBMaXN0SXRlbVtdIHtcclxuICAgIHJldHVybiBsaXN0LmZpbHRlcihcclxuICAgICAgKG9wdCkgPT4gU3RyaW5nKG9wdC5jb2RlKS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KSB8fCBvcHQubmFtZS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWlubmVyLWNvbnRhaW5lclwiPlxyXG4gICAgICA8cC1kcm9wZG93blxyXG4gICAgICAgICpuZ0lmPVwiZHluYW1pY0ZpbHRlcnNcIlxyXG4gICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgb3B0aW9uTGFiZWw9XCJuYW1lXCJcclxuICAgICAgICBvcHRpb25WYWx1ZT1cImNvZGVcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWREeW5hbWljRmlsdGVyXCJcclxuICAgICAgICBbb3B0aW9uc109XCJkeW5hbWljRmlsdGVyc1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgPlxyXG4gICAgICA8L3AtZHJvcGRvd24+XHJcbiAgICAgIDxwLWF1dG9Db21wbGV0ZVxyXG4gICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgZmllbGQ9XCJuYW1lXCJcclxuICAgICAgICBkYXRhS2V5PVwiY29kZVwiXHJcbiAgICAgICAgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIlxyXG4gICAgICAgIFtkcm9wZG93bl09XCJ0cnVlXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbc3VnZ2VzdGlvbnNdPVwicGFnZWRTdWdnZXN0aW9uc1wiXHJcbiAgICAgICAgW2Ryb3Bkb3duSWNvbl09XCJkeW5hbWljRmlsdGVycyA/ICdwaSBwaS1zZWFyY2gnIDogJ3BpIHBpLWNoZXZyb24tZG93bidcIlxyXG4gICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uU2hvdyk9XCJvbk9wZW5BdXRvY29tcGxldGVQYW5lbCgpXCJcclxuICAgICAgICAob25IaWRlKT1cIm9uSGlkZUF1dG9jb21wbGV0ZVBhbmVsKClcIlxyXG4gICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAob25DaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvcC1hdXRvQ29tcGxldGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx2ZWN0b3ItYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiYnV0dG9uQWN0aW9uXCJcclxuICAgICAgW2xhYmVsXT1cImJ1dHRvbkFjdGlvbi5sYWJlbFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIhY29udHJvbC52YWx1ZVwiXHJcbiAgICAgIChvbkNsaWNrKT1cImJ1dHRvbkFjdGlvbi5vbkNsaWNrKGNvbnRyb2wudmFsdWUpXCJcclxuICAgID48L3ZlY3Rvci1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPHZlY3Rvci1maWVsZC1lcnJvci1tZXNzYWdlICpuZ0lmPVwiIWhpZGRlbkVycm9yTWVzc2FnZVwiIFtjb250cm9sXT1cImNvbnRyb2xcIj48L3ZlY3Rvci1maWVsZC1lcnJvci1tZXNzYWdlPlxyXG48L2Rpdj5cclxuIl19
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVk1QyxNQUFNLE9BQU8sc0JBQXNCO0lBeUVqQyxZQUFvQixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBbEVoQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUdwQixlQUFVLEdBQXdCLEtBQUssQ0FBQztRQWF4QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBSW5CLFVBQUssR0FBRyxJQUFJLENBQUM7UUFNYix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFJcEMsdUJBQWtCLEdBQVcsQ0FBQyxDQUFDO1FBRS9CLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0IsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFpQjlCLHFCQUFnQixHQUFlLEVBQUUsQ0FBQztRQUNs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QkFHQyxLQUFLO3NCQURYLEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsS0FBSztnQkFHQyxZQUFZO3NCQURsQixLQUFLO2dCQUdDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLO2dCQUdDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxPQUFPO3NCQURiLE1BQU07Z0JBR0EsUUFBUTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQmFzZURyb3Bkb3duIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBPYmplY3RVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgRHJvcGRvd25CdXR0b25BY3Rpb24gPSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvbkNsaWNrOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLWRyb3Bkb3duLWZpZWxkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG9wdGlvbnMoX29wdGlvbnM6IExpc3RJdGVtW10pIHtcclxuICAgIHRoaXMuX29wdGlvbnMgPSBfb3B0aW9ucztcclxuICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IHRoaXMub3B0aW9ucyB8fCBbXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNOZ0NvbnRlbnQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNvbnRyb2woX2NvbnRyb2w6IGFueSkge1xyXG4gICAgdGhpcy5fY29udHJvbCA9IF9jb250cm9sO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VydmljZTogQmFzZURyb3Bkb3duIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhZ2VkID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBidXR0b25BY3Rpb246IERyb3Bkb3duQnV0dG9uQWN0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRlcGVuZGVuY2llczogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGhpZGRlbkVycm9yTWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGR5bmFtaWNGaWx0ZXJzPzogTGlzdEl0ZW1bXTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtaW5MZW5ndGhUb1NlcnZpY2U6IG51bWJlciA9IDA7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5pdGlhbExvYWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBnZXQgY29udHJvbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9wdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcclxuICB9XHJcblxyXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcclxuICAgIGlmICghdGhpcy5sYWJlbCkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhpcy5sYWJlbH0ke3RoaXMuaXNSZXF1aXJlZCA/ICcqJyA6ICcnfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFnZWRTdWdnZXN0aW9uczogTGlzdEl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyB1bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwgPSAoKSA9PiB7fTtcclxuICBwdWJsaWMgc2VsZWN0ZWREeW5hbWljRmlsdGVyOiBhbnkgPSB0aGlzLmR5bmFtaWNGaWx0ZXJzID8gdGhpcy5keW5hbWljRmlsdGVyc1swXS5jb2RlIDogdW5kZWZpbmVkO1xyXG5cclxuICBwcml2YXRlIF9jb250cm9sOiBhbnk7XHJcbiAgcHJpdmF0ZSBfb3B0aW9uczogYW55W10gPSBbXTtcclxuICBwcml2YXRlIGN1cnJlbnRTY3JvbGxQYWdlID0gLTE7XHJcbiAgcHJpdmF0ZSBjdXJyZW50U2Nyb2xsSW5kZXggPSAwO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIHByaXZhdGUgY3VycmVudFNlYXJjaFF1ZXJ5ID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbml0aWFsTG9hZCkge1xyXG4gICAgICB0aGlzLnNlYXJjaChudWxsLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIGlmICh0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpZWxkRXJyb3JMYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuY29udHJvbD8uaW52YWxpZCAmJiB0aGlzLmNvbnRyb2wudG91Y2hlZCkge1xyXG4gICAgICBpZiAodGhpcy5jb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XHJcbiAgICAgICAgcmV0dXJuICdDYW1wbyBvYnJpZ2F0w7NyaW8nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5jb250cm9sPy5lcnJvcnMgJiYgdHlwZW9mIHRoaXMuY29udHJvbC5lcnJvcnNbJ2ludmFsaWQnXSA9PT0gJ3N0cmluZydcclxuICAgICAgICA/IHRoaXMuY29udHJvbD8uZXJyb3JzWydpbnZhbGlkJ11cclxuICAgICAgICA6ICdDYW1wbyBpbnbDoWxpZG8nO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWFyY2goJGV2ZW50PzogYW55LCBmb3JjZVNlYXJjaCA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSA9ICRldmVudD8ucXVlcnkudG9VcHBlckNhc2UoKSB8fCAnJztcclxuICAgIHRoaXMuY3VycmVudFNjcm9sbFBhZ2UgPSAtMTtcclxuICAgIHRoaXMuY3VycmVudFNjcm9sbEluZGV4ID0gMDtcclxuICAgIGlmIChmb3JjZVNlYXJjaCB8fCB0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeS5sZW5ndGggPj0gdGhpcy5taW5MZW5ndGhUb1NlcnZpY2UpIHtcclxuICAgICAgdGhpcy5wYWdlUmVzdWx0cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25PcGVuQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhdXRvY29tcGxldGVQYW5lbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLWF1dG9jb21wbGV0ZS1wYW5lbCcpO1xyXG4gICAgaWYgKGF1dG9jb21wbGV0ZVBhbmVsICYmIHRoaXMucGFnZWQgJiYgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkubGVuZ3RoID49IHRoaXMubWluTGVuZ3RoVG9TZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oYXV0b2NvbXBsZXRlUGFuZWwsICdzY3JvbGwnLCAoZXZlbnQpID0+IHtcclxuICAgICAgICBjb25zdCBldmVudEhlaWdodCA9IGV2ZW50LnRhcmdldC5zY3JvbGxIZWlnaHQgLSBldmVudC50YXJnZXQuY2xpZW50SGVpZ2h0IC0gMTUwO1xyXG5cclxuICAgICAgICBpZiAoTWF0aC5yb3VuZChldmVudC50YXJnZXQuc2Nyb2xsVG9wKSA+PSBldmVudEhlaWdodCkge1xyXG4gICAgICAgICAgdGhpcy5wYWdlUmVzdWx0cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYWdlZCkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYWdlUmVzdWx0cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSsrO1xyXG4gICAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgICAuZ2V0UGFnZWQoZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5KSwgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSwgMjAsIHRoaXMuZGVwZW5kZW5jaWVzKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IHRoaXMuY3VycmVudFNjcm9sbFBhZ2UgPT09IDAgPyByZXNwb25zZSA6IHRoaXMucGFnZWRTdWdnZXN0aW9ucz8uY29uY2F0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKTtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVTZWFyY2hFcnJvcnMoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4ge30sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZpbHRlckxpc3RCeVF1ZXJ5KHRoaXMub3B0aW9ucywgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkudG9VcHBlckNhc2UoKSk7XHJcbiAgICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IGZpbHRlcmVkT3B0aW9ucy5zbGljZSgwLCB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCArIDIwKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnM/Lmxlbmd0aCAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMjApIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCA9IHRoaXMuY3VycmVudFNjcm9sbEluZGV4ICsgMjA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCk7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2VhcmNoRXJyb3JzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpIHtcclxuICAgIGNvbnN0IGNvZGUgPVxyXG4gICAgICAoT2JqZWN0VXRpbC5pc1ZhbGlkKHRoaXMuY29udHJvbC52YWx1ZT8uY29kZSkgJiYgYCR7dGhpcy5jb250cm9sLnZhbHVlPy5jb2RlfWApIHx8IGAke3RoaXMuY29udHJvbC52YWx1ZX1gO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbC52YWx1ZSAmJiB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICBsZXQgaXRlbXNBcnJheSA9IHRoaXMucGFnZWRTdWdnZXN0aW9ucztcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgaXRlbXNBcnJheSA9IHRoaXMub3B0aW9ucztcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBpdGVtRnJvbVN1Z2dlc3Rpb25zID0gaXRlbXNBcnJheS5maW5kKChvcHQpID0+IGAke29wdC5jb2RlfWAudG9VcHBlckNhc2UoKSA9PT0gY29kZS50b1VwcGVyQ2FzZSgpKTtcclxuICAgICAgaWYgKGl0ZW1Gcm9tU3VnZ2VzdGlvbnMpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoaXRlbUZyb21TdWdnZXN0aW9ucywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VydmljZT8uZ2V0QnlJZCgrY29kZSkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHJlc3BvbnNlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb250cm9sLnZhbHVlICYmICF0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLnNlcnZpY2U/LmdldEJ5SWQoK2NvZGUpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUocmVzcG9uc2UsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVNlYXJjaEVycm9ycygpIHtcclxuICAgIGlmICh0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICBkZWxldGUgdGhpcy5jb250cm9sLmVycm9ycz8uaXRlbU5vdEZvdW5kO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0RXJyb3JzKHsgaXRlbU5vdEZvdW5kOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWx0ZXJMaXN0QnlRdWVyeShsaXN0OiBMaXN0SXRlbVtdID0gW10sIHF1ZXJ5OiBzdHJpbmcpOiBMaXN0SXRlbVtdIHtcclxuICAgIHJldHVybiBsaXN0LmZpbHRlcihcclxuICAgICAgKG9wdCkgPT4gU3RyaW5nKG9wdC5jb2RlKS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KSB8fCBvcHQubmFtZS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aXZlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWlubmVyLWNvbnRhaW5lclwiICpuZ0lmPVwiIWlzTmdDb250ZW50XCI+XHJcbiAgICAgIDxwLWRyb3Bkb3duXHJcbiAgICAgICAgKm5nSWY9XCJkeW5hbWljRmlsdGVyc1wiXHJcbiAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICBvcHRpb25MYWJlbD1cIm5hbWVcIlxyXG4gICAgICAgIG9wdGlvblZhbHVlPVwiY29kZVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZER5bmFtaWNGaWx0ZXJcIlxyXG4gICAgICAgIFtvcHRpb25zXT1cImR5bmFtaWNGaWx0ZXJzXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvcC1kcm9wZG93bj5cclxuICAgICAgPHAtYXV0b0NvbXBsZXRlXHJcbiAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICBmaWVsZD1cIm5hbWVcIlxyXG4gICAgICAgIGRhdGFLZXk9XCJjb2RlXCJcclxuICAgICAgICBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgW2Ryb3Bkb3duXT1cInRydWVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIFtzdWdnZXN0aW9uc109XCJwYWdlZFN1Z2dlc3Rpb25zXCJcclxuICAgICAgICBbZHJvcGRvd25JY29uXT1cImR5bmFtaWNGaWx0ZXJzID8gJ3BpIHBpLXNlYXJjaCcgOiAncGkgcGktY2hldnJvbi1kb3duJ1wiXHJcbiAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cInNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgICAob25TaG93KT1cIm9uT3BlbkF1dG9jb21wbGV0ZVBhbmVsKClcIlxyXG4gICAgICAgIChvbkhpZGUpPVwib25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKVwiXHJcbiAgICAgICAgKG9uRm9jdXMpPVwib25Gb2N1cy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChvbkNoYW5nZSk9XCJvbkNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgID5cclxuICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1pbm5lci1jb250YWluZXJcIiAqbmdJZj1cImlzTmdDb250ZW50XCI+XHJcbiAgICAgIDxwLWF1dG9Db21wbGV0ZVxyXG4gICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgZmllbGQ9XCJuYW1lQ3VzdG9tXCJcclxuICAgICAgICBkYXRhS2V5PVwiY29kZVwiXHJcbiAgICAgICAgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIlxyXG4gICAgICAgIFtkcm9wZG93bl09XCJ0cnVlXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbc3VnZ2VzdGlvbnNdPVwicGFnZWRTdWdnZXN0aW9uc1wiXHJcbiAgICAgICAgW2Ryb3Bkb3duSWNvbl09XCJkeW5hbWljRmlsdGVycyA/ICdwaSBwaS1zZWFyY2gnIDogJ3BpIHBpLWNoZXZyb24tZG93bidcIlxyXG4gICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uU2hvdyk9XCJvbk9wZW5BdXRvY29tcGxldGVQYW5lbCgpXCJcclxuICAgICAgICAob25IaWRlKT1cIm9uSGlkZUF1dG9jb21wbGV0ZVBhbmVsKClcIlxyXG4gICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAob25DaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1vcHRpb24gcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbi1jb250ZW50XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3B0aW9uLWxhYmVsXCI+e3sgb3B0aW9uLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9wdGlvbi1zdWJsYWJlbFwiPnt7IG9wdGlvbi5jb2RlIH19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDx2ZWN0b3ItYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiYnV0dG9uQWN0aW9uXCJcclxuICAgICAgW2xhYmVsXT1cImJ1dHRvbkFjdGlvbi5sYWJlbFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCIhY29udHJvbC52YWx1ZVwiXHJcbiAgICAgIChvbkNsaWNrKT1cImJ1dHRvbkFjdGlvbi5vbkNsaWNrKGNvbnRyb2wudmFsdWUpXCJcclxuICAgID48L3ZlY3Rvci1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPHZlY3Rvci1maWVsZC1lcnJvci1tZXNzYWdlICpuZ0lmPVwiIWhpZGRlbkVycm9yTWVzc2FnZVwiIFtjb250cm9sXT1cImNvbnRyb2xcIj48L3ZlY3Rvci1maWVsZC1lcnJvci1tZXNzYWdlPlxyXG48L2Rpdj5cclxuIl19
@@ -189,7 +189,7 @@ export class FiltersComponent {
189
189
  }
190
190
  }
191
191
  FiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
192
- FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch", formBuilded: "formBuilded" }, ngImport: i0, template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [disabled]=\"field.disabled\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [minLengthToService]=\"field.minLengthToService || 0\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n [initialLoad]=\"field.initiateValue\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n (click)=\"search()\"\r\n >\r\n </vector-select-button-field>\r\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.startDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n At\u00E9\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.endDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n </div>\r\n <vector-multiselect-field\r\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options || []\"\r\n >\r\n </vector-multiselect-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n [label]=\"'app.label.search' | translate\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px;display:flex;justify-content:flex-end}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.filter-container .range-date-container{display:flex;align-items:center;gap:10px}.display-none{display:none!important}\n"], components: [{ type: i2.TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "decimal", "onlyText", "alphaNumeric", "alphaNumericAndWhitespace", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "hiddenErrorMessage", "leftLabel", "control"], outputs: ["blurEvent", "enterKeyPress", "focusEvent", "onDocumentTypeChange"] }, { type: i3.DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies", "hiddenErrorMessage", "dynamicFilters", "minLengthToService", "initialLoad", "disabled"], outputs: ["onFocus", "onChange"] }, { type: i4.CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["minValue", "maxValue", "placeholder", "numberOfDecimals", "control", "outlined", "rounded", "label", "isBankingField", "inputClassName", "localePrefix", "currencyPrefix", "disabled"] }, { type: i5.CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled", "defaultDate", "hiddenErrorMessage"] }, { type: i6.SelectButtonFieldComponent, selector: "vector-select-button-field", inputs: ["options", "control"] }, { type: i7.MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: ["isRequired", "control", "label", "options", "filter"], outputs: ["onChange"] }, { type: i8.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }], directives: [{ type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "notHidden": i11.NotHiddenPipe, "translate": i12.TranslatePipe } });
192
+ FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch", formBuilded: "formBuilded" }, ngImport: i0, template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [disabled]=\"field.disabled\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [minLengthToService]=\"field.minLengthToService || 0\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n [initialLoad]=\"field.initiateValue\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n (click)=\"search()\"\r\n >\r\n </vector-select-button-field>\r\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.startDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n At\u00E9\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.endDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n </div>\r\n <vector-multiselect-field\r\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options || []\"\r\n >\r\n </vector-multiselect-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n [label]=\"'app.label.search' | translate\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px;display:flex;justify-content:flex-end}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.filter-container .range-date-container{display:flex;align-items:center;gap:10px}.display-none{display:none!important}\n"], components: [{ type: i2.TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "decimal", "onlyText", "alphaNumeric", "alphaNumericAndWhitespace", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "hiddenErrorMessage", "leftLabel", "control"], outputs: ["blurEvent", "enterKeyPress", "focusEvent", "onDocumentTypeChange"] }, { type: i3.DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isNgContent", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies", "hiddenErrorMessage", "dynamicFilters", "minLengthToService", "initialLoad", "disabled"], outputs: ["onFocus", "onChange"] }, { type: i4.CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["minValue", "maxValue", "placeholder", "numberOfDecimals", "control", "outlined", "rounded", "label", "isBankingField", "inputClassName", "localePrefix", "currencyPrefix", "disabled"] }, { type: i5.CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled", "defaultDate", "hiddenErrorMessage"] }, { type: i6.SelectButtonFieldComponent, selector: "vector-select-button-field", inputs: ["options", "control"] }, { type: i7.MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: ["isRequired", "control", "label", "options", "filter"], outputs: ["onChange"] }, { type: i8.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }], directives: [{ type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "notHidden": i11.NotHiddenPipe, "translate": i12.TranslatePipe } });
193
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, decorators: [{
194
194
  type: Component,
195
195
  args: [{ selector: 'vector-filters', template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [disabled]=\"field.disabled\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [minLengthToService]=\"field.minLengthToService || 0\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n [initialLoad]=\"field.initiateValue\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n (click)=\"search()\"\r\n >\r\n </vector-select-button-field>\r\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.startDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n At\u00E9\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.endDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n </div>\r\n <vector-multiselect-field\r\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options || []\"\r\n >\r\n </vector-multiselect-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n [label]=\"'app.label.search' | translate\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px;display:flex;justify-content:flex-end}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.filter-container .range-date-container{display:flex;align-items:center;gap:10px}.display-none{display:none!important}\n"] }]
@@ -251,5 +251,6 @@ export var ProfileModuleActionType;
251
251
  ProfileModuleActionType["CANCEL_FRIENDLY_TRIP"] = "Cancelar Viagem Amiga";
252
252
  ProfileModuleActionType["SHOW_FRIENDLY_TRIP"] = "Visualizar Viagem Amiga";
253
253
  ProfileModuleActionType["CREATE_FRIENDLY_TRIP"] = "Solicitar Viagem Amiga";
254
+ ProfileModuleActionType["SEND_NFS_ETCD"] = "Send NFs ETCD";
254
255
  })(ProfileModuleActionType || (ProfileModuleActionType = {}));
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9wcm9maWxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThCQSxNQUFNLENBQU4sSUFBWSxpQkFPWDtBQVBELFdBQVksaUJBQWlCO0lBQzNCLHFFQUFnRCxDQUFBO0lBQ2hELG1EQUE4QixDQUFBO0lBQzlCLHFFQUFzQyxDQUFBO0lBQ3RDLDZEQUF3QyxDQUFBO0lBQ3hDLDBEQUFxQyxDQUFBO0lBQ3JDLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFQVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBTzVCO0FBRUQsTUFBTSxDQUFOLElBQVksdUJBbVBYO0FBblBELFdBQVksdUJBQXVCO0lBQ2pDLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLG9EQUF5QixDQUFBO0lBQ3pCLHNEQUEyQixDQUFBO0lBQzNCLDBEQUErQixDQUFBO0lBQy9CLHNEQUEyQixDQUFBO0lBQzNCLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLDBFQUErQyxDQUFBO0lBQy9DLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLG9GQUF5RCxDQUFBO0lBQ3pELGtGQUF1RCxDQUFBO0lBQ3ZELG9GQUF5RCxDQUFBO0lBQ3pELDhFQUFtRCxDQUFBO0lBQ25ELDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDZEQUFrQyxDQUFBO0lBQ2xDLDhFQUFtRCxDQUFBO0lBQ25ELDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLGtFQUF1QyxDQUFBO0lBQ3ZDLHNFQUEyQyxDQUFBO0lBQzNDLDhEQUFtQyxDQUFBO0lBQ25DLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLDhEQUFtQyxDQUFBO0lBQ25DLHdEQUE2QixDQUFBO0lBQzdCLDhDQUFtQixDQUFBO0lBQ25CLGdEQUFxQixDQUFBO0lBQ3JCLG9EQUF5QixDQUFBO0lBQ3pCLGdEQUFxQixDQUFBO0lBQ3JCLDBEQUErQixDQUFBO0lBQy9CLHNEQUEyQixDQUFBO0lBQzNCLGtGQUF1RCxDQUFBO0lBQ3ZELG9GQUF5RCxDQUFBO0lBQ3pELG9GQUF5RCxDQUFBO0lBQ3pELDREQUFpQyxDQUFBO0lBQ2pDLDhEQUFtQyxDQUFBO0lBQ25DLGtFQUF1QyxDQUFBO0lBQ3ZDLGtHQUF1RSxDQUFBO0lBQ3ZFLG9HQUF5RSxDQUFBO0lBQ3pFLG9HQUF5RSxDQUFBO0lBQ3pFLDhEQUFtQyxDQUFBO0lBQ25DLDhEQUFtQyxDQUFBO0lBQ25DLG9HQUF5RSxDQUFBO0lBQ3pFLG9HQUF5RSxDQUFBO0lBQ3pFLG9GQUF5RCxDQUFBO0lBQ3pELHNGQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGdFQUFxQyxDQUFBO0lBQ3JDLDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDhGQUFtRSxDQUFBO0lBQ25FLDRGQUFpRSxDQUFBO0lBQ2pFLDRGQUFpRSxDQUFBO0lBQ2pFLDBGQUErRCxDQUFBO0lBQy9ELDRGQUFpRSxDQUFBO0lBQ2pFLGdHQUFxRSxDQUFBO0lBQ3JFLDBGQUErRCxDQUFBO0lBQy9ELHdGQUE2RCxDQUFBO0lBQzdELDBGQUErRCxDQUFBO0lBQy9ELDhGQUFtRSxDQUFBO0lBQ25FLHdGQUE2RCxDQUFBO0lBQzdELHNGQUEyRCxDQUFBO0lBQzNELHdGQUE2RCxDQUFBO0lBQzdELDRGQUFpRSxDQUFBO0lBQ2pFLDRGQUFpRSxDQUFBO0lBQ2pFLDBGQUErRCxDQUFBO0lBQy9ELDRGQUFpRSxDQUFBO0lBQ2pFLGdHQUFxRSxDQUFBO0lBQ3JFLDhFQUFtRCxDQUFBO0lBQ25ELDRFQUFpRCxDQUFBO0lBQ2pELGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLHdFQUE2QyxDQUFBO0lBQzdDLDhFQUFtRCxDQUFBO0lBQ25ELDRFQUFpRCxDQUFBO0lBQ2pELDhFQUFtRCxDQUFBO0lBQ25ELHNFQUEyQyxDQUFBO0lBQzNDLG9FQUF5QyxDQUFBO0lBQ3pDLHNFQUEyQyxDQUFBO0lBQzNDLDBFQUErQyxDQUFBO0lBQy9DLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLHdFQUE2QyxDQUFBO0lBQzdDLHNFQUEyQyxDQUFBO0lBQzNDLGtHQUF1RSxDQUFBO0lBQ3ZFLHdIQUE2RixDQUFBO0lBQzdGLGtIQUF1RixDQUFBO0lBQ3ZGLGdFQUFxQyxDQUFBO0lBQ3JDLDhEQUFtQyxDQUFBO0lBQ25DLDhEQUFtQyxDQUFBO0lBQ25DLHdEQUE2QixDQUFBO0lBQzdCLGtEQUF1QixDQUFBO0lBQ3ZCLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLG9EQUF5QixDQUFBO0lBQ3pCLHNEQUEyQixDQUFBO0lBQzNCLHNEQUEyQixDQUFBO0lBQzNCLHVFQUE0QyxDQUFBO0lBQzVDLHlFQUE4QyxDQUFBO0lBQzlDLHlFQUE4QyxDQUFBO0lBQzlDLDZFQUFrRCxDQUFBO0lBQ2xELHdEQUE2QixDQUFBO0lBQzdCLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLDRFQUFpRCxDQUFBO0lBQ2pELGdGQUFxRCxDQUFBO0lBQ3JELDhFQUFtRCxDQUFBO0lBQ25ELGdFQUFxQyxDQUFBO0lBQ3JDLGtEQUF1QixDQUFBO0lBQ3ZCLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLDhFQUFtRCxDQUFBO0lBQ25ELDBHQUErRSxDQUFBO0lBQy9FLDRHQUFpRixDQUFBO0lBQ2pGLDRHQUFpRixDQUFBO0lBQ2pGLGdIQUFxRixDQUFBO0lBQ3JGLG1IQUF3RixDQUFBO0lBQ3hGLHFIQUEwRixDQUFBO0lBQzFGLHFIQUEwRixDQUFBO0lBQzFGLHlIQUE4RixDQUFBO0lBQzlGLDJEQUFnQyxDQUFBO0lBQ2hDLHVEQUE0QixDQUFBO0lBQzVCLHVFQUE0QyxDQUFBO0lBQzVDLDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELGdGQUFxRCxDQUFBO0lBQ3JELDBFQUErQyxDQUFBO0lBQy9DLDRFQUFpRCxDQUFBO0lBQ2pELHdGQUE2RCxDQUFBO0lBQzdELGtEQUF1QixDQUFBO0lBQ3ZCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLGdEQUFxQixDQUFBO0lBQ3JCLG9FQUF5QyxDQUFBO0lBQ3pDLHNFQUEyQyxDQUFBO0lBQzNDLHNFQUEyQyxDQUFBO0lBQzNDLG9FQUF5QyxDQUFBO0lBQ3pDLDBFQUErQyxDQUFBO0lBQy9DLHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLHNFQUEyQyxDQUFBO0lBQzNDLDRFQUFpRCxDQUFBO0lBQ2pELG9FQUF5QyxDQUFBO0lBQ3pDLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLGtFQUF1QyxDQUFBO0lBQ3ZDLHNFQUEyQyxDQUFBO0lBQzNDLHNFQUEyQyxDQUFBO0lBQzNDLHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELDhFQUFtRCxDQUFBO0lBQ25ELGtGQUF1RCxDQUFBO0lBQ3ZELHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLGtFQUF1QyxDQUFBO0lBQ3ZDLDBFQUErQyxDQUFBO0lBQy9DLHNEQUEyQixDQUFBO0lBQzNCLCtEQUFvQyxDQUFBO0lBQ3BDLDBFQUErQyxDQUFBO0lBQy9DLHlFQUE4QyxDQUFBO0lBQzlDLDJFQUFnRCxDQUFBO0lBQ2hELGdGQUFxRCxDQUFBO0lBQ3JELDZEQUFrQyxDQUFBO0lBQ2xDLGdGQUFxRCxDQUFBO0lBQ3JELGtGQUF1RCxDQUFBO0lBQ3ZELDRFQUFpRCxDQUFBO0lBQ2pELHNEQUEyQixDQUFBO0lBQzNCLDBEQUErQixDQUFBO0lBQy9CLHNEQUEyQixDQUFBO0lBQzNCLG9EQUF5QixDQUFBO0lBQ3pCLHNFQUEyQyxDQUFBO0lBQzNDLDBEQUErQixDQUFBO0lBQy9CLGtFQUF1QyxDQUFBO0lBQ3ZDLHNGQUEyRCxDQUFBO0lBQzNELDhEQUFtQyxDQUFBO0lBQ25DLDhFQUFtRCxDQUFBO0lBQ25ELGtFQUF1QyxDQUFBO0lBQ3ZDLDRGQUFpRSxDQUFBO0lBQ2pFLDhEQUFtQyxDQUFBO0lBQ25DLHdFQUE2QyxDQUFBO0lBQzdDLHNFQUEyQyxDQUFBO0lBQzNDLHdFQUE2QyxDQUFBO0lBQzdDLDRFQUFpRCxDQUFBO0lBQ2pELHVGQUE0RCxDQUFBO0lBQzVELDhGQUFtRSxDQUFBO0lBQ25FLGdIQUFxRixDQUFBO0lBQ3JGLGtHQUF1RSxDQUFBO0lBQ3ZFLG9IQUF5RixDQUFBO0lBQ3pGLHdHQUE2RSxDQUFBO0lBQzdFLHVHQUE0RSxDQUFBO0lBQzVFLHVFQUE0QyxDQUFBO0lBQzVDLDJFQUFnRCxDQUFBO0lBQ2hELHFFQUEwQyxDQUFBO0lBQzFDLHVFQUE0QyxDQUFBO0lBQzVDLHdGQUE2RCxDQUFBO0lBQzdELDZDQUFrQixDQUFBO0lBQ2xCLCtEQUFvQyxDQUFBO0lBQ3BDLHlFQUE4QyxDQUFBO0lBQzlDLG9FQUF5QyxDQUFBO0lBQ3pDLHNFQUEyQyxDQUFBO0lBQzNDLHdFQUE2QyxDQUFBO0lBQzdDLHlFQUE4QyxDQUFBO0lBQzlDLG9FQUF5QyxDQUFBO0lBQ3pDLG9GQUF5RCxDQUFBO0lBQ3pELG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGtEQUF1QixDQUFBO0lBQ3ZCLDBEQUErQixDQUFBO0lBQy9CLHlFQUE4QyxDQUFBO0lBQzlDLHlFQUE4QyxDQUFBO0lBQzlDLDBFQUErQyxDQUFBO0FBQ2pELENBQUMsRUFuUFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQW1QbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVGFibGVCYXNlSXRlbSB9IGZyb20gJy4vZGF0YS10YWJsZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHByb2ZpbGVUeXBlSWQ6IG51bWJlcjtcclxuICBQcm9maWxlVHlwZU5hbWU6IHN0cmluZztcclxuICBtb2R1bGVzOiBQcm9maWxlTW9kdWxlW107XHJcbiAgYWN0aXZlOiBib29sZWFuO1xyXG59ICYgRGF0YVRhYmxlQmFzZUl0ZW07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlTW9kdWxlID0ge1xyXG4gIG1lbnU6IHN0cmluZztcclxuICBhY3Rpb25zOiBQcm9maWxlTW9kdWxlQWN0aW9uW107XHJcbn0gJiBQcm9maWxlTW9kdWxlQmFzZTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2ZpbGVNb2R1bGVHcm91cGVkQnlNZW51ID0ge1xyXG4gIG1lbnU6IHN0cmluZztcclxuICBtb2R1bGVzOiBQcm9maWxlTW9kdWxlW107XHJcbiAgY2hpbGRyZW4/OiBQcm9maWxlTW9kdWxlR3JvdXBlZEJ5TWVudVtdO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZmlsZU1vZHVsZUFjdGlvbiA9IHt9ICYgUHJvZmlsZU1vZHVsZUJhc2U7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlTW9kdWxlQmFzZSA9IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBpc0F2YWlsYWJsZT86IGJvb2xlYW47XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBQcm9maWxlTW9kdWxlVHlwZSB7XHJcbiAgT1BFUkFUSU9OQUxfRVZBTFVBVElPTiA9ICdPcGVyYXRpb25hbEV2YWx1YXRpb24nLFxyXG4gIEFETUlOX1NVUlZFWVMgPSAnQWRtaW5TdXJ2ZXlzJyxcclxuICBESUdJVEFMX0RJU0NIQVJHRSA9ICdRdWl0YcOnw6NvIERpZ2l0YWwnLFxyXG4gIFJFR0lTVEVSX09QRVJBVElPTiA9ICdSZWdpc3Rlck9wZXJhdGlvbicsXHJcbiAgUkVHSVNURVJfUFJPRFVDVFMgPSAnUmVnaXN0ZXJQcm9kdWN0JyxcclxuICBBRE1JTl9OUFMgPSAnTlBTJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUHJvZmlsZU1vZHVsZUFjdGlvblR5cGUge1xyXG4gIEFERF9WRUhJQ0xFID0gJ0FkZCBWZWhpY2xlJyxcclxuICBFRElUX1ZFSElDTEUgPSAnRWRpdCBWZWhpY2xlJyxcclxuICBERUxFVEVfVkVISUNMRSA9ICdEZWxldGUgVmVoaWNsZScsXHJcbiAgU0hPV19WRUhJQ0xFID0gJ1Nob3cgVmVoaWNsZScsXHJcbiAgQUREX0RSSVZFUiA9ICdBZGQgRHJpdmVyJyxcclxuICBFRElUX0RSSVZFUiA9ICdFZGl0IERyaXZlcicsXHJcbiAgREVMRVRFX0RSSVZFUiA9ICdEZWxldGUgRHJpdmVyJyxcclxuICBTSE9XX0RSSVZFUiA9ICdTaG93IERyaXZlcicsXHJcbiAgQUREX0NBUlJJRVIgPSAnQWRkIENhcnJpZXInLFxyXG4gIEVESVRfQ0FSUklFUiA9ICdFZGl0IENhcnJpZXInLFxyXG4gIERFTEVURV9DQVJSSUVSID0gJ0RlbGV0ZSBDYXJyaWVyJyxcclxuICBTSE9XX0NBUlJJRVIgPSAnU2hvdyBDYXJyaWVyJyxcclxuICBBRERfUFJPRklMRSA9ICdBZGQgUHJvZmlsZScsXHJcbiAgRURJVF9QUk9GSUxFID0gJ0VkaXQgUHJvZmlsZScsXHJcbiAgREVMRVRFX1BST0ZJTEUgPSAnRGVsZXRlIFByb2ZpbGUnLFxyXG4gIFNIT1dfUFJPRklMRSA9ICdTaG93IFByb2ZpbGUnLFxyXG4gIEVESVRfQlJPQURDQVNUX1ZBTFVFUyA9ICdFZGl0IEJyb2FkY2FzdCBWYWx1ZXMnLFxyXG4gIEFERF9XQVZFID0gJ0FkZCBXYXZlJyxcclxuICBFRElUX1dBVkUgPSAnRWRpdCBXYXZlJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfVkVISUNMRSA9ICdIaXN0b3JpY2FsIENoYW5nZXMgVmVoaWNsZScsXHJcbiAgSElTVE9SSUNBTF9DSEFOR0VTX0RSSVZFUiA9ICdIaXN0b3JpY2FsIENoYW5nZXMgRHJpdmVyJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfQ0FSUklFUiA9ICdIaXN0b3JpY2FsIENoYW5nZXMgQ2FycmllcicsXHJcbiAgSElTVE9SSUNBTF9DSEFOR0VTX1RSSVAgPSAnSGlzdG9yaWNhbCBDaGFuZ2VzIFRyaXAnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19VU0VSID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBVc2VyJyxcclxuICBDQU5DRUxfVFJJUFMgPSAnQ2FuY2VsIFRyaXBzJyxcclxuICBDQU5DRUxfVFJJUFNQQSA9ICdDYW5jZWwgVHJpcHMgUEEnLFxyXG4gIE1BTlVBTF9VUExPQURfRE9DVU1FTlRTID0gJ01hbnVhbCBVcGxvYWQgRG9jdW1lbnRzJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfTE9UUyA9ICdIaXN0b3JpY2FsIENoYW5nZXMgTG90cycsXHJcbiAgQUREX0xPQ0FUSU9OID0gJ0FkZCBMb2NhdGlvbicsXHJcbiAgRURJVF9MT0NBVElPTiA9ICdFZGl0IExvY2F0aW9uJyxcclxuICBTSE9XX0xPQ0FUSU9OID0gJ1Nob3cgTG9jYXRpb24nLFxyXG4gIEFERF9SRVNUUklDVElPTlMgPSAnQWRkIFJlc3RyaWN0aW9ucycsXHJcbiAgRURJVF9SRVNUUklDVElPTlMgPSAnRWRpdCBSZXN0cmljdGlvbnMnLFxyXG4gIFNIT1dfUkVTVFJJQ1RJT05TID0gJ1Nob3cgUmVzdHJpY3Rpb25zJyxcclxuICBERUxFVEVfUkVTVFJJQ1RJT05TID0gJ0RlbGV0ZSBSZXN0cmljdGlvbnMnLFxyXG4gIERFTEVURV9MT0NBVElPTiA9ICdEZWxldGUgTG9jYXRpb24nLFxyXG4gIFNIT1dfTUVTU0FHRVMgPSAnU2hvdyBNZXNzYWdlcycsXHJcbiAgRURJVF9NRVNTQUdFUyA9ICdFZGl0IE1lc3NhZ2VzJyxcclxuICBERUxFVEVfTUVTU0FHRVMgPSAnRGVsZXRlIE1lc3NhZ2VzJyxcclxuICBBRERfTUVTU0FHRVMgPSAnQWRkIE1lc3NhZ2VzJyxcclxuICBBRERfTE9UID0gJ0FkZCBMb3QnLFxyXG4gIEVESVRfTE9UID0gJ0VkaXQgTG90JyxcclxuICBERUxFVEVfTE9UID0gJ0RlbGV0ZSBMb3QnLFxyXG4gIFNIT1dfTE9UID0gJ1Nob3cgTG90JyxcclxuICBBQ0NFUFRfQ1JFRElUID0gJ0FjY2VwdCBDcmVkaXQnLFxyXG4gIFNIT1dfQ1JFRElUID0gJ1Nob3cgQ3JlZGl0JyxcclxuICBBRERfVkVISUNMRV9DT05GSUdVUkFUSU9OID0gJ0FkZCBWZWhpY2xlIENvbmZpZ3VyYXRpb24nLFxyXG4gIEVESVRfVkVISUNMRV9DT05GSUdVUkFUSU9OID0gJ0VkaXQgVmVoaWNsZSBDb25maWd1cmF0aW9uJyxcclxuICBTSE9XX1ZFSElDTEVfQ09ORklHVVJBVElPTiA9ICdTaG93IFZlaGljbGUgQ29uZmlndXJhdGlvbicsXHJcbiAgQUREX1NDSEVEVUxJTkcgPSAnQWRkIFNjaGVkdWxpbmcnLFxyXG4gIEVESVRfU0NIRURVTElORyA9ICdFZGl0IFNjaGVkdWxpbmcnLFxyXG4gIERFTEVURV9TQ0hFRFVMSU5HID0gJ0RlbGV0ZSBTY2hlZHVsaW5nJyxcclxuICBBRERfVkVISUNMRV9DT05GSUdVUkFUSU9OX1NISVBQRVIgPSAnQWRkIFZlaGljbGUgQ29uZmlndXJhdGlvbiBTaGlwcGVyJyxcclxuICBFRElUX1ZFSElDTEVfQ09ORklHVVJBVElPTl9TSElQUEVSID0gJ0VkaXQgVmVoaWNsZSBDb25maWd1cmF0aW9uIFNoaXBwZXInLFxyXG4gIFNIT1dfVkVISUNMRV9DT05GSUdVUkFUSU9OX1NISVBQRVIgPSAnU2hvdyBWZWhpY2xlIENvbmZpZ3VyYXRpb24gU2hpcHBlcicsXHJcbiAgRURJVF9UUklQX0JVTkdFID0gJ0VkaXQgdHJpcCBCdW5nZScsXHJcbiAgRURJVF9UUklQX0NPRkNPID0gJ0VkaXQgdHJpcCBDb2ZjbycsXHJcbiAgU0hPV19NSU5JTVVNX1RSQU5TUE9SVF9QUklDRV9UQUJMRSA9ICdTaG93IE1pbmltdW0gVHJhbnNwb3J0IFByaWNlIFRhYmxlJyxcclxuICBFRElUX01JTklNVU1fVFJBTlNQT1JUX1BSSUNFX1RBQkxFID0gJ0VkaXQgTWluaW11bSBUcmFuc3BvcnQgUHJpY2UgVGFibGUnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19DUkVESVRTID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBDcmVkaXRzJyxcclxuICBJTlRFR1JBw4fDg09fUEFHQkVNID0gJ0ludGVncmHDp8OjbyBQYWdiZW0nLFxyXG4gIFZBTElEQVRJT05fQ0FSUklFUiA9ICdWYWxpZGF0aW9uIENhcnJpZXInLFxyXG4gIFZBTElEQVRJT05fRFJJVkVSID0gJ1ZhbGlkYXRpb24gRHJpdmVyJyxcclxuICBWQUxJREFUSU9OX1ZFSElDTEUgPSAnVmFsaWRhdGlvbiBWZWhpY2xlJyxcclxuICBFRElUX1RSSVBfU1RBVFVTID0gJ0VkaXQgdHJpcCBzdGF0dXMnLFxyXG4gIFJFR0lTVFJBVElPTl9WQUxJREFUSU9OID0gJ1JlZ2lzdHJhdGlvbiBWYWxpZGF0aW9uJyxcclxuICBCM19PUEVSQVRJT04gPSAnQjMgT3BlcmF0aW9uJyxcclxuICBTSE9XX0NBUlJJRVJfREVUQUlMX0lOVEVHUkFUSU9OID0gJ1Nob3cgQ2FycmllciBEZXRhaWwgSW50ZWdyYXRpb24nLFxyXG4gIFNIT1dfRFJJVkVSX0RFVEFJTF9JTlRFR1JBVElPTiA9ICdTaG93IERyaXZlciBEZXRhaWwgSW50ZWdyYXRpb24nLFxyXG4gIEZVRUxTX1NIT1dfRElTVFJJQlVUSU9OX0NFTlRFUiA9ICdGdWVscyBzaG93IGRpc3RyaWJ1dGlvbiBjZW50ZXInLFxyXG4gIEZVRUxTX0FERF9ESVNUUklCVVRJT05fQ0VOVEVSID0gJ0Z1ZWxzIGFkZCBkaXN0cmlidXRpb24gY2VudGVyJyxcclxuICBGVUVMU19FRElUX0RJU1RSSUJVVElPTl9DRU5URVIgPSAnRnVlbHMgZWRpdCBkaXN0cmlidXRpb24gY2VudGVyJyxcclxuICBGVUVMU19ERUxFVEVfRElTVFJJQlVUSU9OX0NFTlRFUiA9ICdGdWVscyBkZWxldGUgZGlzdHJpYnV0aW9uIGNlbnRlcicsXHJcbiAgRlVFTFNfU0hPV19ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgc2hvdyBkaXN0cmlidXRpb24gcG9pbnQnLFxyXG4gIEZVRUxTX0FERF9ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgYWRkIGRpc3RyaWJ1dGlvbiBwb2ludCcsXHJcbiAgRlVFTFNfRURJVF9ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgZWRpdCBkaXN0cmlidXRpb24gcG9pbnQnLFxyXG4gIEZVRUxTX0RFTEVURV9ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgZGVsZXRlIGRpc3RyaWJ1dGlvbiBwb2ludCcsXHJcbiAgRlVFTFNfU0hPV19ESVNUUklCVVRJT05fUE9TVCA9ICdGdWVscyBzaG93IGRpc3RyaWJ1dGlvbiBwb3N0JyxcclxuICBGVUVMU19BRERfRElTVFJJQlVUSU9OX1BPU1QgPSAnRnVlbHMgYWRkIGRpc3RyaWJ1dGlvbiBwb3N0JyxcclxuICBGVUVMU19FRElUX0RJU1RSSUJVVElPTl9QT1NUID0gJ0Z1ZWxzIGVkaXQgZGlzdHJpYnV0aW9uIHBvc3QnLFxyXG4gIEZVRUxTX0RFTEVURV9ESVNUUklCVVRJT05fUE9TVCA9ICdGdWVscyBkZWxldGUgZGlzdHJpYnV0aW9uIHBvc3QnLFxyXG4gIEZVRUxTX1NIT1dfTUFSS0VUUExBQ0VfUFJPRFVDVCA9ICdGdWVscyBzaG93IG1hcmtldHBsYWNlIHByb2R1Y3QnLFxyXG4gIEZVRUxTX0FERF9NQVJLRVRQTEFDRV9QUk9EVUNUID0gJ0Z1ZWxzIGFkZCBtYXJrZXRwbGFjZSBwcm9kdWN0JyxcclxuICBGVUVMU19FRElUX01BUktFVFBMQUNFX1BST0RVQ1QgPSAnRnVlbHMgZWRpdCBtYXJrZXRwbGFjZSBwcm9kdWN0JyxcclxuICBGVUVMU19ERUxFVEVfTUFSS0VUUExBQ0VfUFJPRFVDVCA9ICdGdWVscyBkZWxldGUgbWFya2V0cGxhY2UgcHJvZHVjdCcsXHJcbiAgRlVFTFNfU0hPV19TVE9DS19VUERBVEUgPSAnRnVlbHMgc2hvdyBzdG9jayB1cGRhdGUnLFxyXG4gIEZVRUxTX0FERF9TVE9DS19VUERBVEUgPSAnRnVlbHMgYWRkIHN0b2NrIHVwZGF0ZScsXHJcbiAgU0hPV19NQVJLRVRQTEFDRVMgPSAnU2hvdyBtYXJrZXRwbGFjZXMnLFxyXG4gIEZVRUxTX1NIT1dfREVQT1NJVCA9ICdGdWVscyBzaG93IGRlcG9zaXQnLFxyXG4gIEZVRUxTX0FERF9ERVBPU0lUID0gJ0Z1ZWxzIGFkZCBkZXBvc2l0JyxcclxuICBGVUVMU19FRElUX0RFUE9TSVQgPSAnRnVlbHMgZWRpdCBkZXBvc2l0JyxcclxuICBGVUVMU19ERUxFVEVfREVQT1NJVCA9ICdGdWVscyBkZWxldGUgZGVwb3NpdCcsXHJcbiAgRlVFTFNfU0hPV19TVVBQTFlfT0ZGRVIgPSAnRnVlbHMgc2hvdyBzdXBwbHkgb2ZmZXInLFxyXG4gIEZVRUxTX0FERF9TVVBQTFlfT0ZGRVIgPSAnRnVlbHMgYWRkIHN1cHBseSBvZmZlcicsXHJcbiAgRlVFTFNfRURJVF9TVVBQTFlfT0ZGRVIgPSAnRnVlbHMgZWRpdCBzdXBwbHkgb2ZmZXInLFxyXG4gIEZVRUxTX1NIT1dfT1BFUkFUT1IgPSAnRnVlbHMgc2hvdyBvcGVyYXRvcicsXHJcbiAgRlVFTFNfQUREX09QRVJBVE9SID0gJ0Z1ZWxzIGFkZCBvcGVyYXRvcicsXHJcbiAgRlVFTFNfRURJVF9PUEVSQVRPUiA9ICdGdWVscyBlZGl0IG9wZXJhdG9yJyxcclxuICBGVUVMU19ERUxFVEVfT1BFUkFUT1IgPSAnRnVlbHMgZGVsZXRlIG9wZXJhdG9yJyxcclxuICBGSU5URUNIX0JBTktfQURNSU4gPSAnRmludGVjaCBCYW5rIEFkbWluJyxcclxuICBGSU5URUNIX0JBTktfVVNFUiA9ICdGaW50ZWNoIEJhbmsgVXNlcicsXHJcbiAgRklOVEVDSF9DUkVESVRfQURNSU4gPSAnRmludGVjaCBDcmVkaXQgQWRtaW4nLFxyXG4gIEZJTlRFQ0hfQ1JFRElUX1VTRVIgPSAnRmludGVjaCBDcmVkaXQgVXNlcicsXHJcbiAgRklOVEVDSF9CQU5LX0FETUlOX0FDQ09VTlRTX1ZJRVcgPSAnRmludGVjaCBCYW5rIEFkbWluIC0gQWNjb3VudHMgVmlldycsXHJcbiAgRklOVEVDSF9DUkVESVRfQURNSU5fUFJPUE9TQUxfTk9UX0NPTkZJUk1FRCA9ICdGaW50ZWNoIENyZWRpdCBBZG1pbiAtIFByb3Bvc2FsIE5vdCBDb25maXJtZWQnLFxyXG4gIEZJTlRFQ0hfQ1JFRElUX0FETUlOX0NPTlRSQUNUU19GT0xMT1dfVVAgPSAnRmludGVjaCBDcmVkaXQgQWRtaW4gLSBDb250cmFjdHMgRm9sbG93LVVwJyxcclxuICBBRE1JTl9NQVJLRVBMQUNFID0gJ0FkbWluIE1hcmtlcGxhY2UnLFxyXG4gIEFQUFJPVkVfUkVRVUVTVCA9ICdBcHByb3ZlIFJlcXVlc3QnLFxyXG4gIFJFUFJPVkVfUkVRVUVTVCA9ICdSZXByb3ZlIFJlcXVlc3QnLFxyXG4gIFNIT1dfUkVRVUVTVCA9ICdTaG93IFJlcXVlc3QnLFxyXG4gIFNIT1dfVVNFUiA9ICdTaG93IFVzZXInLFxyXG4gIEFERF9VU0VSID0gJ0FkZCBVc2VyJyxcclxuICBFRElUX1VTRVIgPSAnRWRpdCBVc2VyJyxcclxuICBERUxFVEVfVVNFUiA9ICdEZWxldGUgVXNlcicsXHJcbiAgQUREX1JFR0lPTiA9ICdBZGQgUmVnaW9uJyxcclxuICBTSE9XX1JFR0lPTiA9ICdTaG93IFJlZ2lvbicsXHJcbiAgRURJVF9SRUdJT04gPSAnRWRpdCBSZWdpb24nLFxyXG4gIEFERF9MT0NBVElPTl9TSElQUEVSID0gJ0FkZCBMb2NhdGlvblNoaXBwZXInLFxyXG4gIEVESVRfTE9DQVRJT05fU0hJUFBFUiA9ICdFZGl0IExvY2F0aW9uU2hpcHBlcicsXHJcbiAgU0hPV19MT0NBVElPTl9TSElQUEVSID0gJ1Nob3cgTG9jYXRpb25TaGlwcGVyJyxcclxuICBERUxFVEVfTE9DQVRJT05fU0hJUFBFUiA9ICdEZWxldGUgTG9jYXRpb25TaGlwcGVyJyxcclxuICBBRERfU0NIRURVTEUgPSAnQWRkIFNjaGVkdWxlJyxcclxuICBFRElUX1NDSEVEVUxFID0gJ0VkaXQgU2NoZWR1bGUnLFxyXG4gIFNIT1dfU0NIRURVTEUgPSAnU2hvdyBTY2hlZHVsZScsXHJcbiAgQUREX1ZBQ0FOQ0lFU19MT0dJU1RJQyA9ICdBZGQgVmFjYW5jaWVzIExvZ2lzdGljJyxcclxuICBBRERfVkFDQU5DSUVTX0NPTU1FUkNJQUwgPSAnQWRkIFZhY2FuY2llcyBDb21tZXJjaWFsJyxcclxuICBTSE9XX1ZBQ0FOQ0lFU19DT01QTEVURSA9ICdTaG93IFZhY2FuY2llcyBDb21wbGV0ZScsXHJcbiAgQUREX1NDSEVEVUxFX09GRiA9ICdBZGQgU2NoZWR1bGUgT2ZmJyxcclxuICBTSE9XX05FV1MgPSAnU2hvdyBOZXdzJyxcclxuICBBRERfTkVXUyA9ICdBZGQgTmV3cycsXHJcbiAgRURJVF9ORVdTID0gJ0VkaXQgTmV3cycsXHJcbiAgREVMRVRFX05FV1MgPSAnRGVsZXRlIE5ld3MnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19ORVdTID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBOZXdzJyxcclxuICBBRERfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVCA9ICdBZGQgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlDcmVkaXQnLFxyXG4gIEVESVRfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVCA9ICdFZGl0IERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55Q3JlZGl0JyxcclxuICBTSE9XX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVQgPSAnU2hvdyBEaXN0cmlidXRpb25DZW50ZXJzQ29tcGFueUNyZWRpdCcsXHJcbiAgREVMRVRFX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVQgPSAnRGVsZXRlIERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55Q3JlZGl0JyxcclxuICBBRERfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVF9VTklUID0gJ0FkZCBEaXN0cmlidXRpb25DZW50ZXJzQ29tcGFueVVuaXRDcmVkaXQnLFxyXG4gIEVESVRfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVF9VTklUID0gJ0VkaXQgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlVbml0Q3JlZGl0JyxcclxuICBTSE9XX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVRfVU5JVCA9ICdTaG93IERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55VW5pdENyZWRpdCcsXHJcbiAgREVMRVRFX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVRfVU5JVCA9ICdEZWxldGUgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlVbml0Q3JlZGl0JyxcclxuICBBUFBST1ZFX1ZFQ1RPUiA9ICdBcHByb3ZlVmVjdG9yJyxcclxuICBBUFBST1ZFX0VUQ0QgPSAnQXBwcm92ZUVUQ0QnLFxyXG4gIERFTEVURV9QQVJBTUVURVJTX0VUQ0QgPSAnRGVsZXRlIFBhcmFtZXRlcnMnLFxyXG4gIFNIT1dfUkVDRVBUSU9OX1BST0RVQ1QgPSAnU2hvdyBSZWNlcHRpb24gUHJvZHVjdCcsXHJcbiAgRURJVF9SRUNFUFRJT05fUFJPRFVDVCA9ICdFZGl0IFJlY2VwdGlvbiBQcm9kdWN0JyxcclxuICBERUxFVEVfUkVDRVBUSU9OX1BST0RVQ1QgPSAnRGVsZXRlIFJlY2VwdGlvbiBQcm9kdWN0JyxcclxuICBBRERfUkVDRVBUSU9OX1BST0RVQ1QgPSAnQWRkIFJlY2VwdGlvbiBQcm9kdWN0JyxcclxuICBTSE9XX0RJR0lUQUxfRElTQ0hBUkdFID0gJ1Nob3cgRGlnaXRhbCBEaXNjaGFyZ2UnLFxyXG4gIFNIT1dfRElHSVRBTF9ESVNDSEFSR0VfRklMRVMgPSAnU2hvdyBEaWdpdGFsIERpc2NoYXJnZSBGaWxlcycsXHJcbiAgU0hPV19FVENEID0gJ1Nob3cgRVRDRCcsXHJcbiAgRURJVF9FVENEID0gJ0VkaXQgRVRDRCcsXHJcbiAgREVMRVRFX0VUQ0QgPSAnRGVsZXRlIEVUQ0QnLFxyXG4gIEFERF9FVENEID0gJ0FkZCBFVENEJyxcclxuICBTSE9XX1JFR0lPTkFMX0VUQ0QgPSAnU2hvdyBSZWdpb25hbCBFVENEJyxcclxuICBTSE9XX1ZJUlRVQUxfQlJBTkNIID0gJ1Nob3cgVmlydHVhbCBCcmFuY2gnLFxyXG4gIEVESVRfVklSVFVBTF9CUkFOQ0ggPSAnRWRpdCBWaXJ0dWFsIEJyYW5jaCcsXHJcbiAgQUREX1ZJUlRVQUxfQlJBTkNIID0gJ0FkZCBWaXJ0dWFsIEJyYW5jaCcsXHJcbiAgREVMRVRFX1ZJUlRVQUxfQlJBTkNIID0gJ0RlbGV0ZSBWaXJ0dWFsIEJyYW5jaCcsXHJcbiAgU0hPV19QSFlTSUNBTF9CUkFOQ0ggPSAnU2hvdyBQaHlzaWNhbCBCcmFuY2gnLFxyXG4gIEVESVRfUEhZU0lDQUxfQlJBTkNIID0gJ0VkaXQgUGh5c2ljYWwgQnJhbmNoJyxcclxuICBBRERfUEhZU0lDQUxfQlJBTkNIID0gJ0FkZCBQaHlzaWNhbCBCcmFuY2gnLFxyXG4gIERFTEVURV9QSFlTSUNBTF9CUkFOQ0ggPSAnRGVsZXRlIFBoeXNpY2FsIEJyYW5jaCcsXHJcbiAgU0hPV19GSVNDQUxfQlJBTkNIID0gJ1Nob3cgRmlzY2FsIEJyYW5jaCcsXHJcbiAgRURJVF9GSVNDQUxfQlJBTkNIID0gJ0VkaXQgRmlzY2FsIEJyYW5jaCcsXHJcbiAgQUREX0ZJU0NBTF9CUkFOQ0ggPSAnQWRkIEZpc2NhbCBCcmFuY2gnLFxyXG4gIERFTEVURV9GSVNDQUxfQlJBTkNIID0gJ0RlbGV0ZSBGaXNjYWwgQnJhbmNoJyxcclxuICBTSE9XX01PTklUT1JJTkdfRVRDRCA9ICdTaG93IE1vbml0b3JpbmcgRVRDRCcsXHJcbiAgQUREX1BST0RVQ1RfRVRDRCA9ICdBZGQgUHJvZHVjdCBFVENEJyxcclxuICBFRElUX1BST0RVQ1RfRVRDRCA9ICdFZGl0IFByb2R1Y3QgRVRDRCcsXHJcbiAgU0hPV19QUk9EVUNUX0VUQ0QgPSAnU2hvdyBQcm9kdWN0IEVUQ0QnLFxyXG4gIERFTEVURV9QUk9EVUNUX0VUQ0QgPSAnRGVsZXRlIFByb2R1Y3QgRVRDRCcsXHJcbiAgQUREX1BBUkFNRVRFUlNfRVRDRCA9ICdBZGQgUGFyYW1ldGVycyBFVENEJyxcclxuICBFRElUX1BBUkFNRVRFUlNfRVRDRCA9ICdFZGl0IFBhcmFtZXRlcnMgRVRDRCcsXHJcbiAgU0hPV19QQVJBTUVURVJTX0VUQ0QgPSAnU2hvdyBQYXJhbWV0ZXJzIEVUQ0QnLFxyXG4gIEFERF9GUkVJR0hUX0VUQ0QgPSAnQWRkIEZyZWlnaHQgRVRDRCcsXHJcbiAgU0hPV19GUkVJR0hUX0VUQ0QgPSAnU2hvdyBGcmVpZ2h0IEVUQ0QnLFxyXG4gIEFQUFJPVkVfQURKVVNNRU5UX0VUQ0QgPSAnQXBwcm92ZSBBZGp1c21lbnQgRVRDRCcsXHJcbiAgUkVQUk9WRV9BREpVU01FTlRfRVRDRCA9ICdSZXByb3ZlIEFkanVzbWVudCBFVENEJyxcclxuICBBRERfSlVTVElGSUNBVElWRV9FVENEID0gJ0FkZCBKdXN0aWZpY2F0aXZlIEVUQ0QnLFxyXG4gIEVESVRfSlVTVElGSUNBVElWRV9FVENEID0gJ0VkaXQgSnVzdGlmaWNhdGl2ZSBFVENEJyxcclxuICBERUxFVEVfSlVTVElGSUNBVElWRV9FVENEID0gJ0RlbGV0ZSBKdXN0aWZpY2F0aXZlIEVUQ0QnLFxyXG4gIEFQUFJPVkVfUkVMRUFTRV9FVENEID0gJ0FwcHJvdmUgUmVsZWFzZSBFVENEJyxcclxuICBSRVBST1ZFX1JFTEVBU0VfRVRDRCA9ICdSZXByb3ZlIFJlbGVhc2UgRVRDRCcsXHJcbiAgU0hPV19BRFZBTkNFX0VUQ0QgPSAnU2hvdyBBZHZhbmNlIEVUQ0QnLFxyXG4gIEFQUFJPVkVfUkVRVUVTVFNfRVRDRCA9ICdBcHByb3ZlIFJlcXVlc3RzIEVUQ0QnLFxyXG4gIFNIT1dfU1VQUExZID0gJ1Nob3cgU3VwcGx5JyxcclxuICBTSE9XX1RSSVBfT0ZGRVJUID0gJ1RyaXAgT2ZmZXIgU2hvdycsXHJcbiAgQUREX0xBU1ROQU1FX0xPQ0FUSU9OID0gJ0FkZCBMYXN0TmFtZSBMb2NhdGlvbicsXHJcbiAgQVBQUk9WRV9ESVNDSEFSR0VfUEFZTUVOVCA9ICdBcHJvdmFyIHF1aXRhY2FvJyxcclxuICBBUFBST1ZFX0FEVkFOQ0VfUEFZTUVOVCA9ICdBcHJvdmFyIGFkaWFudGFtZW50bycsXHJcbiAgQVBQUk9WRV9FTkdJTkVfUEFZTUVOVCA9ICdBcHJvdmFyIG1vdG9yIGRlIHBhZ2FtZW50bycsXHJcbiAgRVhUUkFDVF9USElSRCA9ICdFeHRyYXRvIHRlcmNlaXJvJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfR1JPVVBTID0gJ0hpc3RvcmljYWxDaGFuZ2VzR3JvdXBzJyxcclxuICBERUxFVEVfT05MWV9NRU1CRVJfR1JPVVBTID0gJ0RlbGV0ZSBPbmx5IE1lbWJlciBHcm91cHMnLFxyXG4gIEFERF9PTkxZX01FTUJFUl9HUk9VUFMgPSAnQWRkIE9ubHkgTWVtYmVyIEdyb3VwcycsXHJcbiAgU0hPV19HUk9VUFMgPSAnU2hvdyBHcm91cHMnLFxyXG4gIERFTEVURV9HUk9VUFMgPSAnRGVsZXRlIEdyb3VwcycsXHJcbiAgRURJVF9HUk9VUFMgPSAnRWRpdCBHcm91cHMnLFxyXG4gIEFERF9HUk9VUFMgPSAnQWRkIEdyb3VwcycsXHJcbiAgQUREX1VQREFURV9HRU9GRU5DRSA9ICdBZGQgVXBkYXRlIEdlb2ZlbmNlJyxcclxuICBTSE9XX0dFT0ZFTkNFID0gJ1Nob3cgR2VvZmVuY2UnLFxyXG4gIFNIT1dfR0VPRkVOQ0VfTE9HID0gJ1Nob3cgR2VvZmVuY2UgTG9nJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfR0VPRkVOQ0UgPSAnSGlzdG9yaWNhbCBDaGFuZ2VzIEdlb2ZlbmNlJyxcclxuICBTSE9XX0RSSVZFUl9MT0cgPSAnU2hvdyBEcml2ZXIgTG9nJyxcclxuICBVUERBVEVfQ0hFQ0tJTl9DSEVDS09VVCA9ICdVcGRhdGUgQ2hlY2tJbiBDaGVja091dCcsXHJcbiAgQVVUT01BVElDX0NIRUNLSU4gPSAnQXV0b21hdGljIENoZWNrSW4nLFxyXG4gIFNIT1dfRklMVEVSU19NT05USExZX1JFQ0VQVElPTiA9ICdTaG93IEZpbHRlcnMgTW9udGhseSBSZWNlcHRpb24nLFxyXG4gIFZJRVdfUk9VVEVfVFJJUCA9ICdWaWV3IFJvdXRlIFRyaXAnLFxyXG4gIFNIT1dfUklTS19NQU5BR0VNRU5UID0gJ1Nob3cgUmlzayBNYW5hZ2VtZW50JyxcclxuICBBRERfUklTS19NQU5BR0VNRU5UID0gJ0FkZCBSaXNrIE1hbmFnZW1lbnQnLFxyXG4gIEVESVRfUklTS19NQU5BR0VNRU5UID0gJ0VkaXQgUmlzayBNYW5hZ2VtZW50JyxcclxuICBERUxFVEVfUklTS19NQU5BR0VNRU5UID0gJ0RlbGV0ZSBSaXNrIE1hbmFnZW1lbnQnLFxyXG4gIERJR0lUQUxfRElTQ0hBUkdFX0JBU0lDX0RBVEEgPSAnUXVpdGFjYW8gRGlnaXRhbCBCYXNpYyBEYXRhJyxcclxuICBESUdJVEFMX0RJU0NIQVJHRV9FVENEX0FQUFJPVkVSID0gJ1F1aXRhY2FvIERpZ2l0YWwgRVRDRCBBcHJvdmFkb3InLFxyXG4gIERJR0lUQUxfRElTQ0hBUkdFX0VUQ0RfQVBQUk9WRVJfTUFOQUdFTUVOVCA9ICdRdWl0YWNhbyBEaWdpdGFsIEVUQ0QgQXByb3ZhZG9yIEdlc3RvcicsXHJcbiAgRElHSVRBTF9ESVNDSEFSR0VfVkVDVE9SX0FQUFJPVkVSID0gJ1F1aXRhY2FvIERpZ2l0YWwgVmVjdG9yIEFwcm92YWRvcicsXHJcbiAgRElHSVRBTF9ESVNDSEFSR0VfVkVDVE9SX0FQUFJPVkVSX01BTkFHRU1FTlQgPSAnUXVpdGFjYW8gRGlnaXRhbCBWZWN0b3IgQXByb3ZhZG9yIEdlc3RvcicsXHJcbiAgRElHSVRBTF9ESVNDSEFSR0VfQVBQUk9WRV9TQVAgPSAnUXVpdGFjYW8gRGlnaXRhbCBBcHJvdmFkb3IgQ29udGluZ2VuY2lhIFNhcCcsXHJcbiAgUEFZTUVOVF9GUkVJR0hUX0FESlVTVF9GUkVJR0hUX1ZBTFVFID0gJ1BhZ2FtZW50byBGcmV0ZSBBanVzdGFyIFZhbG9yIEZyZXRlJyxcclxuICBTSE9XX01FU1NBR0VfQ1VTVE9NID0gJ1Nob3cgTWVzc2FnZXMgQ3VzdG9tJyxcclxuICBERUxFVEVfTUVTU0FHRV9DVVNUT00gPSAnRGVsZXRlIE1lc3NhZ2VzIEN1c3RvbScsXHJcbiAgQUREX01FU1NBR0VfQ1VTVE9NID0gJ0FkZCBNZXNzYWdlcyBDdXN0b20nLFxyXG4gIEVESVRfTUVTU0FHRV9DVVNUT00gPSAnRWRpdCBNZXNzYWdlcyBDdXN0b20nLFxyXG4gIFJFQ0VQVElPTl9XSVRIT1VUX1NDSEVEVUxJTkcgPSAnUmVjZXB0aW9uIFdpdGhvdXQgU2NoZWR1bGluZycsXHJcbiAgQkFOS19FRElUID0gJ0VkaXQnLFxyXG4gIEJBTktfUkVHSVNURVJfRlVMTCA9ICdDYWRhc3RybyBGdWxsJyxcclxuICBTRUFSQ0hfQ0FMRU5EQVJfRlVMTCA9ICdQZXNxdWlzYXIgQWdlbmRhIEZ1bGwnLFxyXG4gIFNIT1dfTU9WRU1FTlRfRVRDRCA9ICdTaG93IE1vdmVtZW50IEV0Y2QnLFxyXG4gIENSRUFURV9BTkRfRURJVF9OUFMgPSAnQ3JlYXRlIGFuZCBlZGl0IE5QUycsXHJcbiAgUkVBRF9OUFNfSU5GT1JNQVRJT04gPSAnUmVhZCBOUFMgaW5mb3JtYXRpb24nLFxyXG4gIFRFWF9PTkJPQVJESU5HX1RSQUNLSU5HID0gJ09uYm9hcmRpbmdUcmFja2luZycsXHJcbiAgQklERElOR19QQVJBTUVURVJTID0gJ0JpZGRpbmcgUGFyYW1ldGVycycsXHJcbiAgRFJJVkVSX1NDT1JFX01FVFJJQ1NfQURNSU4gPSAnRHJpdmVyIFNjb3JlIE1ldHJpY3MgQWRtaW4nLFxyXG4gIFNIT1dfRE9DS19CVUlMRElORyA9ICdTaG93IERvY2sgQnVpbGRpbmcnLFxyXG4gIEFERF9ET0NLX0JVSUxESU5HID0gJ0FkZCBEb2NrIEJ1aWxkaW5nJyxcclxuICBFRElUX0RPQ0tfQlVJTERJTkcgPSAnRWRpdCBEb2NrIEJ1aWxkaW5nJyxcclxuICBFRElUX0RPQ0sgPSAnRWRpdCBEb2NrJyxcclxuICBGUklFTkRMWV9UUklQID0gJ0ZyaWVuZGx5IFRyaXAnLFxyXG4gIENBTkNFTF9GUklFTkRMWV9UUklQID0gJ0NhbmNlbGFyIFZpYWdlbSBBbWlnYScsXHJcbiAgU0hPV19GUklFTkRMWV9UUklQID0gJ1Zpc3VhbGl6YXIgVmlhZ2VtIEFtaWdhJyxcclxuICBDUkVBVEVfRlJJRU5ETFlfVFJJUCA9ICdTb2xpY2l0YXIgVmlhZ2VtIEFtaWdhJyxcclxufVxyXG4iXX0=
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9wcm9maWxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThCQSxNQUFNLENBQU4sSUFBWSxpQkFPWDtBQVBELFdBQVksaUJBQWlCO0lBQzNCLHFFQUFnRCxDQUFBO0lBQ2hELG1EQUE4QixDQUFBO0lBQzlCLHFFQUFzQyxDQUFBO0lBQ3RDLDZEQUF3QyxDQUFBO0lBQ3hDLDBEQUFxQyxDQUFBO0lBQ3JDLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFQVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBTzVCO0FBRUQsTUFBTSxDQUFOLElBQVksdUJBb1BYO0FBcFBELFdBQVksdUJBQXVCO0lBQ2pDLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLG9EQUF5QixDQUFBO0lBQ3pCLHNEQUEyQixDQUFBO0lBQzNCLDBEQUErQixDQUFBO0lBQy9CLHNEQUEyQixDQUFBO0lBQzNCLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLDBFQUErQyxDQUFBO0lBQy9DLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLG9GQUF5RCxDQUFBO0lBQ3pELGtGQUF1RCxDQUFBO0lBQ3ZELG9GQUF5RCxDQUFBO0lBQ3pELDhFQUFtRCxDQUFBO0lBQ25ELDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDZEQUFrQyxDQUFBO0lBQ2xDLDhFQUFtRCxDQUFBO0lBQ25ELDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLGtFQUF1QyxDQUFBO0lBQ3ZDLHNFQUEyQyxDQUFBO0lBQzNDLDhEQUFtQyxDQUFBO0lBQ25DLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLDhEQUFtQyxDQUFBO0lBQ25DLHdEQUE2QixDQUFBO0lBQzdCLDhDQUFtQixDQUFBO0lBQ25CLGdEQUFxQixDQUFBO0lBQ3JCLG9EQUF5QixDQUFBO0lBQ3pCLGdEQUFxQixDQUFBO0lBQ3JCLDBEQUErQixDQUFBO0lBQy9CLHNEQUEyQixDQUFBO0lBQzNCLGtGQUF1RCxDQUFBO0lBQ3ZELG9GQUF5RCxDQUFBO0lBQ3pELG9GQUF5RCxDQUFBO0lBQ3pELDREQUFpQyxDQUFBO0lBQ2pDLDhEQUFtQyxDQUFBO0lBQ25DLGtFQUF1QyxDQUFBO0lBQ3ZDLGtHQUF1RSxDQUFBO0lBQ3ZFLG9HQUF5RSxDQUFBO0lBQ3pFLG9HQUF5RSxDQUFBO0lBQ3pFLDhEQUFtQyxDQUFBO0lBQ25DLDhEQUFtQyxDQUFBO0lBQ25DLG9HQUF5RSxDQUFBO0lBQ3pFLG9HQUF5RSxDQUFBO0lBQ3pFLG9GQUF5RCxDQUFBO0lBQ3pELHNGQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGdFQUFxQyxDQUFBO0lBQ3JDLDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDhGQUFtRSxDQUFBO0lBQ25FLDRGQUFpRSxDQUFBO0lBQ2pFLDRGQUFpRSxDQUFBO0lBQ2pFLDBGQUErRCxDQUFBO0lBQy9ELDRGQUFpRSxDQUFBO0lBQ2pFLGdHQUFxRSxDQUFBO0lBQ3JFLDBGQUErRCxDQUFBO0lBQy9ELHdGQUE2RCxDQUFBO0lBQzdELDBGQUErRCxDQUFBO0lBQy9ELDhGQUFtRSxDQUFBO0lBQ25FLHdGQUE2RCxDQUFBO0lBQzdELHNGQUEyRCxDQUFBO0lBQzNELHdGQUE2RCxDQUFBO0lBQzdELDRGQUFpRSxDQUFBO0lBQ2pFLDRGQUFpRSxDQUFBO0lBQ2pFLDBGQUErRCxDQUFBO0lBQy9ELDRGQUFpRSxDQUFBO0lBQ2pFLGdHQUFxRSxDQUFBO0lBQ3JFLDhFQUFtRCxDQUFBO0lBQ25ELDRFQUFpRCxDQUFBO0lBQ2pELGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLHdFQUE2QyxDQUFBO0lBQzdDLDhFQUFtRCxDQUFBO0lBQ25ELDRFQUFpRCxDQUFBO0lBQ2pELDhFQUFtRCxDQUFBO0lBQ25ELHNFQUEyQyxDQUFBO0lBQzNDLG9FQUF5QyxDQUFBO0lBQ3pDLHNFQUEyQyxDQUFBO0lBQzNDLDBFQUErQyxDQUFBO0lBQy9DLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLHdFQUE2QyxDQUFBO0lBQzdDLHNFQUEyQyxDQUFBO0lBQzNDLGtHQUF1RSxDQUFBO0lBQ3ZFLHdIQUE2RixDQUFBO0lBQzdGLGtIQUF1RixDQUFBO0lBQ3ZGLGdFQUFxQyxDQUFBO0lBQ3JDLDhEQUFtQyxDQUFBO0lBQ25DLDhEQUFtQyxDQUFBO0lBQ25DLHdEQUE2QixDQUFBO0lBQzdCLGtEQUF1QixDQUFBO0lBQ3ZCLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLG9EQUF5QixDQUFBO0lBQ3pCLHNEQUEyQixDQUFBO0lBQzNCLHNEQUEyQixDQUFBO0lBQzNCLHVFQUE0QyxDQUFBO0lBQzVDLHlFQUE4QyxDQUFBO0lBQzlDLHlFQUE4QyxDQUFBO0lBQzlDLDZFQUFrRCxDQUFBO0lBQ2xELHdEQUE2QixDQUFBO0lBQzdCLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLDRFQUFpRCxDQUFBO0lBQ2pELGdGQUFxRCxDQUFBO0lBQ3JELDhFQUFtRCxDQUFBO0lBQ25ELGdFQUFxQyxDQUFBO0lBQ3JDLGtEQUF1QixDQUFBO0lBQ3ZCLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLDhFQUFtRCxDQUFBO0lBQ25ELDBHQUErRSxDQUFBO0lBQy9FLDRHQUFpRixDQUFBO0lBQ2pGLDRHQUFpRixDQUFBO0lBQ2pGLGdIQUFxRixDQUFBO0lBQ3JGLG1IQUF3RixDQUFBO0lBQ3hGLHFIQUEwRixDQUFBO0lBQzFGLHFIQUEwRixDQUFBO0lBQzFGLHlIQUE4RixDQUFBO0lBQzlGLDJEQUFnQyxDQUFBO0lBQ2hDLHVEQUE0QixDQUFBO0lBQzVCLHVFQUE0QyxDQUFBO0lBQzVDLDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELGdGQUFxRCxDQUFBO0lBQ3JELDBFQUErQyxDQUFBO0lBQy9DLDRFQUFpRCxDQUFBO0lBQ2pELHdGQUE2RCxDQUFBO0lBQzdELGtEQUF1QixDQUFBO0lBQ3ZCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLGdEQUFxQixDQUFBO0lBQ3JCLG9FQUF5QyxDQUFBO0lBQ3pDLHNFQUEyQyxDQUFBO0lBQzNDLHNFQUEyQyxDQUFBO0lBQzNDLG9FQUF5QyxDQUFBO0lBQ3pDLDBFQUErQyxDQUFBO0lBQy9DLHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLHNFQUEyQyxDQUFBO0lBQzNDLDRFQUFpRCxDQUFBO0lBQ2pELG9FQUF5QyxDQUFBO0lBQ3pDLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLGtFQUF1QyxDQUFBO0lBQ3ZDLHNFQUEyQyxDQUFBO0lBQzNDLHNFQUEyQyxDQUFBO0lBQzNDLHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELDhFQUFtRCxDQUFBO0lBQ25ELGtGQUF1RCxDQUFBO0lBQ3ZELHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLGtFQUF1QyxDQUFBO0lBQ3ZDLDBFQUErQyxDQUFBO0lBQy9DLHNEQUEyQixDQUFBO0lBQzNCLCtEQUFvQyxDQUFBO0lBQ3BDLDBFQUErQyxDQUFBO0lBQy9DLHlFQUE4QyxDQUFBO0lBQzlDLDJFQUFnRCxDQUFBO0lBQ2hELGdGQUFxRCxDQUFBO0lBQ3JELDZEQUFrQyxDQUFBO0lBQ2xDLGdGQUFxRCxDQUFBO0lBQ3JELGtGQUF1RCxDQUFBO0lBQ3ZELDRFQUFpRCxDQUFBO0lBQ2pELHNEQUEyQixDQUFBO0lBQzNCLDBEQUErQixDQUFBO0lBQy9CLHNEQUEyQixDQUFBO0lBQzNCLG9EQUF5QixDQUFBO0lBQ3pCLHNFQUEyQyxDQUFBO0lBQzNDLDBEQUErQixDQUFBO0lBQy9CLGtFQUF1QyxDQUFBO0lBQ3ZDLHNGQUEyRCxDQUFBO0lBQzNELDhEQUFtQyxDQUFBO0lBQ25DLDhFQUFtRCxDQUFBO0lBQ25ELGtFQUF1QyxDQUFBO0lBQ3ZDLDRGQUFpRSxDQUFBO0lBQ2pFLDhEQUFtQyxDQUFBO0lBQ25DLHdFQUE2QyxDQUFBO0lBQzdDLHNFQUEyQyxDQUFBO0lBQzNDLHdFQUE2QyxDQUFBO0lBQzdDLDRFQUFpRCxDQUFBO0lBQ2pELHVGQUE0RCxDQUFBO0lBQzVELDhGQUFtRSxDQUFBO0lBQ25FLGdIQUFxRixDQUFBO0lBQ3JGLGtHQUF1RSxDQUFBO0lBQ3ZFLG9IQUF5RixDQUFBO0lBQ3pGLHdHQUE2RSxDQUFBO0lBQzdFLHVHQUE0RSxDQUFBO0lBQzVFLHVFQUE0QyxDQUFBO0lBQzVDLDJFQUFnRCxDQUFBO0lBQ2hELHFFQUEwQyxDQUFBO0lBQzFDLHVFQUE0QyxDQUFBO0lBQzVDLHdGQUE2RCxDQUFBO0lBQzdELDZDQUFrQixDQUFBO0lBQ2xCLCtEQUFvQyxDQUFBO0lBQ3BDLHlFQUE4QyxDQUFBO0lBQzlDLG9FQUF5QyxDQUFBO0lBQ3pDLHNFQUEyQyxDQUFBO0lBQzNDLHdFQUE2QyxDQUFBO0lBQzdDLHlFQUE4QyxDQUFBO0lBQzlDLG9FQUF5QyxDQUFBO0lBQ3pDLG9GQUF5RCxDQUFBO0lBQ3pELG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGtEQUF1QixDQUFBO0lBQ3ZCLDBEQUErQixDQUFBO0lBQy9CLHlFQUE4QyxDQUFBO0lBQzlDLHlFQUE4QyxDQUFBO0lBQzlDLDBFQUErQyxDQUFBO0lBQy9DLDBEQUErQixDQUFBO0FBQ2pDLENBQUMsRUFwUFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQW9QbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVGFibGVCYXNlSXRlbSB9IGZyb20gJy4vZGF0YS10YWJsZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHByb2ZpbGVUeXBlSWQ6IG51bWJlcjtcclxuICBQcm9maWxlVHlwZU5hbWU6IHN0cmluZztcclxuICBtb2R1bGVzOiBQcm9maWxlTW9kdWxlW107XHJcbiAgYWN0aXZlOiBib29sZWFuO1xyXG59ICYgRGF0YVRhYmxlQmFzZUl0ZW07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlTW9kdWxlID0ge1xyXG4gIG1lbnU6IHN0cmluZztcclxuICBhY3Rpb25zOiBQcm9maWxlTW9kdWxlQWN0aW9uW107XHJcbn0gJiBQcm9maWxlTW9kdWxlQmFzZTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2ZpbGVNb2R1bGVHcm91cGVkQnlNZW51ID0ge1xyXG4gIG1lbnU6IHN0cmluZztcclxuICBtb2R1bGVzOiBQcm9maWxlTW9kdWxlW107XHJcbiAgY2hpbGRyZW4/OiBQcm9maWxlTW9kdWxlR3JvdXBlZEJ5TWVudVtdO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZmlsZU1vZHVsZUFjdGlvbiA9IHt9ICYgUHJvZmlsZU1vZHVsZUJhc2U7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlTW9kdWxlQmFzZSA9IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBpc0F2YWlsYWJsZT86IGJvb2xlYW47XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBQcm9maWxlTW9kdWxlVHlwZSB7XHJcbiAgT1BFUkFUSU9OQUxfRVZBTFVBVElPTiA9ICdPcGVyYXRpb25hbEV2YWx1YXRpb24nLFxyXG4gIEFETUlOX1NVUlZFWVMgPSAnQWRtaW5TdXJ2ZXlzJyxcclxuICBESUdJVEFMX0RJU0NIQVJHRSA9ICdRdWl0YcOnw6NvIERpZ2l0YWwnLFxyXG4gIFJFR0lTVEVSX09QRVJBVElPTiA9ICdSZWdpc3Rlck9wZXJhdGlvbicsXHJcbiAgUkVHSVNURVJfUFJPRFVDVFMgPSAnUmVnaXN0ZXJQcm9kdWN0JyxcclxuICBBRE1JTl9OUFMgPSAnTlBTJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUHJvZmlsZU1vZHVsZUFjdGlvblR5cGUge1xyXG4gIEFERF9WRUhJQ0xFID0gJ0FkZCBWZWhpY2xlJyxcclxuICBFRElUX1ZFSElDTEUgPSAnRWRpdCBWZWhpY2xlJyxcclxuICBERUxFVEVfVkVISUNMRSA9ICdEZWxldGUgVmVoaWNsZScsXHJcbiAgU0hPV19WRUhJQ0xFID0gJ1Nob3cgVmVoaWNsZScsXHJcbiAgQUREX0RSSVZFUiA9ICdBZGQgRHJpdmVyJyxcclxuICBFRElUX0RSSVZFUiA9ICdFZGl0IERyaXZlcicsXHJcbiAgREVMRVRFX0RSSVZFUiA9ICdEZWxldGUgRHJpdmVyJyxcclxuICBTSE9XX0RSSVZFUiA9ICdTaG93IERyaXZlcicsXHJcbiAgQUREX0NBUlJJRVIgPSAnQWRkIENhcnJpZXInLFxyXG4gIEVESVRfQ0FSUklFUiA9ICdFZGl0IENhcnJpZXInLFxyXG4gIERFTEVURV9DQVJSSUVSID0gJ0RlbGV0ZSBDYXJyaWVyJyxcclxuICBTSE9XX0NBUlJJRVIgPSAnU2hvdyBDYXJyaWVyJyxcclxuICBBRERfUFJPRklMRSA9ICdBZGQgUHJvZmlsZScsXHJcbiAgRURJVF9QUk9GSUxFID0gJ0VkaXQgUHJvZmlsZScsXHJcbiAgREVMRVRFX1BST0ZJTEUgPSAnRGVsZXRlIFByb2ZpbGUnLFxyXG4gIFNIT1dfUFJPRklMRSA9ICdTaG93IFByb2ZpbGUnLFxyXG4gIEVESVRfQlJPQURDQVNUX1ZBTFVFUyA9ICdFZGl0IEJyb2FkY2FzdCBWYWx1ZXMnLFxyXG4gIEFERF9XQVZFID0gJ0FkZCBXYXZlJyxcclxuICBFRElUX1dBVkUgPSAnRWRpdCBXYXZlJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfVkVISUNMRSA9ICdIaXN0b3JpY2FsIENoYW5nZXMgVmVoaWNsZScsXHJcbiAgSElTVE9SSUNBTF9DSEFOR0VTX0RSSVZFUiA9ICdIaXN0b3JpY2FsIENoYW5nZXMgRHJpdmVyJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfQ0FSUklFUiA9ICdIaXN0b3JpY2FsIENoYW5nZXMgQ2FycmllcicsXHJcbiAgSElTVE9SSUNBTF9DSEFOR0VTX1RSSVAgPSAnSGlzdG9yaWNhbCBDaGFuZ2VzIFRyaXAnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19VU0VSID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBVc2VyJyxcclxuICBDQU5DRUxfVFJJUFMgPSAnQ2FuY2VsIFRyaXBzJyxcclxuICBDQU5DRUxfVFJJUFNQQSA9ICdDYW5jZWwgVHJpcHMgUEEnLFxyXG4gIE1BTlVBTF9VUExPQURfRE9DVU1FTlRTID0gJ01hbnVhbCBVcGxvYWQgRG9jdW1lbnRzJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfTE9UUyA9ICdIaXN0b3JpY2FsIENoYW5nZXMgTG90cycsXHJcbiAgQUREX0xPQ0FUSU9OID0gJ0FkZCBMb2NhdGlvbicsXHJcbiAgRURJVF9MT0NBVElPTiA9ICdFZGl0IExvY2F0aW9uJyxcclxuICBTSE9XX0xPQ0FUSU9OID0gJ1Nob3cgTG9jYXRpb24nLFxyXG4gIEFERF9SRVNUUklDVElPTlMgPSAnQWRkIFJlc3RyaWN0aW9ucycsXHJcbiAgRURJVF9SRVNUUklDVElPTlMgPSAnRWRpdCBSZXN0cmljdGlvbnMnLFxyXG4gIFNIT1dfUkVTVFJJQ1RJT05TID0gJ1Nob3cgUmVzdHJpY3Rpb25zJyxcclxuICBERUxFVEVfUkVTVFJJQ1RJT05TID0gJ0RlbGV0ZSBSZXN0cmljdGlvbnMnLFxyXG4gIERFTEVURV9MT0NBVElPTiA9ICdEZWxldGUgTG9jYXRpb24nLFxyXG4gIFNIT1dfTUVTU0FHRVMgPSAnU2hvdyBNZXNzYWdlcycsXHJcbiAgRURJVF9NRVNTQUdFUyA9ICdFZGl0IE1lc3NhZ2VzJyxcclxuICBERUxFVEVfTUVTU0FHRVMgPSAnRGVsZXRlIE1lc3NhZ2VzJyxcclxuICBBRERfTUVTU0FHRVMgPSAnQWRkIE1lc3NhZ2VzJyxcclxuICBBRERfTE9UID0gJ0FkZCBMb3QnLFxyXG4gIEVESVRfTE9UID0gJ0VkaXQgTG90JyxcclxuICBERUxFVEVfTE9UID0gJ0RlbGV0ZSBMb3QnLFxyXG4gIFNIT1dfTE9UID0gJ1Nob3cgTG90JyxcclxuICBBQ0NFUFRfQ1JFRElUID0gJ0FjY2VwdCBDcmVkaXQnLFxyXG4gIFNIT1dfQ1JFRElUID0gJ1Nob3cgQ3JlZGl0JyxcclxuICBBRERfVkVISUNMRV9DT05GSUdVUkFUSU9OID0gJ0FkZCBWZWhpY2xlIENvbmZpZ3VyYXRpb24nLFxyXG4gIEVESVRfVkVISUNMRV9DT05GSUdVUkFUSU9OID0gJ0VkaXQgVmVoaWNsZSBDb25maWd1cmF0aW9uJyxcclxuICBTSE9XX1ZFSElDTEVfQ09ORklHVVJBVElPTiA9ICdTaG93IFZlaGljbGUgQ29uZmlndXJhdGlvbicsXHJcbiAgQUREX1NDSEVEVUxJTkcgPSAnQWRkIFNjaGVkdWxpbmcnLFxyXG4gIEVESVRfU0NIRURVTElORyA9ICdFZGl0IFNjaGVkdWxpbmcnLFxyXG4gIERFTEVURV9TQ0hFRFVMSU5HID0gJ0RlbGV0ZSBTY2hlZHVsaW5nJyxcclxuICBBRERfVkVISUNMRV9DT05GSUdVUkFUSU9OX1NISVBQRVIgPSAnQWRkIFZlaGljbGUgQ29uZmlndXJhdGlvbiBTaGlwcGVyJyxcclxuICBFRElUX1ZFSElDTEVfQ09ORklHVVJBVElPTl9TSElQUEVSID0gJ0VkaXQgVmVoaWNsZSBDb25maWd1cmF0aW9uIFNoaXBwZXInLFxyXG4gIFNIT1dfVkVISUNMRV9DT05GSUdVUkFUSU9OX1NISVBQRVIgPSAnU2hvdyBWZWhpY2xlIENvbmZpZ3VyYXRpb24gU2hpcHBlcicsXHJcbiAgRURJVF9UUklQX0JVTkdFID0gJ0VkaXQgdHJpcCBCdW5nZScsXHJcbiAgRURJVF9UUklQX0NPRkNPID0gJ0VkaXQgdHJpcCBDb2ZjbycsXHJcbiAgU0hPV19NSU5JTVVNX1RSQU5TUE9SVF9QUklDRV9UQUJMRSA9ICdTaG93IE1pbmltdW0gVHJhbnNwb3J0IFByaWNlIFRhYmxlJyxcclxuICBFRElUX01JTklNVU1fVFJBTlNQT1JUX1BSSUNFX1RBQkxFID0gJ0VkaXQgTWluaW11bSBUcmFuc3BvcnQgUHJpY2UgVGFibGUnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19DUkVESVRTID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBDcmVkaXRzJyxcclxuICBJTlRFR1JBw4fDg09fUEFHQkVNID0gJ0ludGVncmHDp8OjbyBQYWdiZW0nLFxyXG4gIFZBTElEQVRJT05fQ0FSUklFUiA9ICdWYWxpZGF0aW9uIENhcnJpZXInLFxyXG4gIFZBTElEQVRJT05fRFJJVkVSID0gJ1ZhbGlkYXRpb24gRHJpdmVyJyxcclxuICBWQUxJREFUSU9OX1ZFSElDTEUgPSAnVmFsaWRhdGlvbiBWZWhpY2xlJyxcclxuICBFRElUX1RSSVBfU1RBVFVTID0gJ0VkaXQgdHJpcCBzdGF0dXMnLFxyXG4gIFJFR0lTVFJBVElPTl9WQUxJREFUSU9OID0gJ1JlZ2lzdHJhdGlvbiBWYWxpZGF0aW9uJyxcclxuICBCM19PUEVSQVRJT04gPSAnQjMgT3BlcmF0aW9uJyxcclxuICBTSE9XX0NBUlJJRVJfREVUQUlMX0lOVEVHUkFUSU9OID0gJ1Nob3cgQ2FycmllciBEZXRhaWwgSW50ZWdyYXRpb24nLFxyXG4gIFNIT1dfRFJJVkVSX0RFVEFJTF9JTlRFR1JBVElPTiA9ICdTaG93IERyaXZlciBEZXRhaWwgSW50ZWdyYXRpb24nLFxyXG4gIEZVRUxTX1NIT1dfRElTVFJJQlVUSU9OX0NFTlRFUiA9ICdGdWVscyBzaG93IGRpc3RyaWJ1dGlvbiBjZW50ZXInLFxyXG4gIEZVRUxTX0FERF9ESVNUUklCVVRJT05fQ0VOVEVSID0gJ0Z1ZWxzIGFkZCBkaXN0cmlidXRpb24gY2VudGVyJyxcclxuICBGVUVMU19FRElUX0RJU1RSSUJVVElPTl9DRU5URVIgPSAnRnVlbHMgZWRpdCBkaXN0cmlidXRpb24gY2VudGVyJyxcclxuICBGVUVMU19ERUxFVEVfRElTVFJJQlVUSU9OX0NFTlRFUiA9ICdGdWVscyBkZWxldGUgZGlzdHJpYnV0aW9uIGNlbnRlcicsXHJcbiAgRlVFTFNfU0hPV19ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgc2hvdyBkaXN0cmlidXRpb24gcG9pbnQnLFxyXG4gIEZVRUxTX0FERF9ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgYWRkIGRpc3RyaWJ1dGlvbiBwb2ludCcsXHJcbiAgRlVFTFNfRURJVF9ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgZWRpdCBkaXN0cmlidXRpb24gcG9pbnQnLFxyXG4gIEZVRUxTX0RFTEVURV9ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgZGVsZXRlIGRpc3RyaWJ1dGlvbiBwb2ludCcsXHJcbiAgRlVFTFNfU0hPV19ESVNUUklCVVRJT05fUE9TVCA9ICdGdWVscyBzaG93IGRpc3RyaWJ1dGlvbiBwb3N0JyxcclxuICBGVUVMU19BRERfRElTVFJJQlVUSU9OX1BPU1QgPSAnRnVlbHMgYWRkIGRpc3RyaWJ1dGlvbiBwb3N0JyxcclxuICBGVUVMU19FRElUX0RJU1RSSUJVVElPTl9QT1NUID0gJ0Z1ZWxzIGVkaXQgZGlzdHJpYnV0aW9uIHBvc3QnLFxyXG4gIEZVRUxTX0RFTEVURV9ESVNUUklCVVRJT05fUE9TVCA9ICdGdWVscyBkZWxldGUgZGlzdHJpYnV0aW9uIHBvc3QnLFxyXG4gIEZVRUxTX1NIT1dfTUFSS0VUUExBQ0VfUFJPRFVDVCA9ICdGdWVscyBzaG93IG1hcmtldHBsYWNlIHByb2R1Y3QnLFxyXG4gIEZVRUxTX0FERF9NQVJLRVRQTEFDRV9QUk9EVUNUID0gJ0Z1ZWxzIGFkZCBtYXJrZXRwbGFjZSBwcm9kdWN0JyxcclxuICBGVUVMU19FRElUX01BUktFVFBMQUNFX1BST0RVQ1QgPSAnRnVlbHMgZWRpdCBtYXJrZXRwbGFjZSBwcm9kdWN0JyxcclxuICBGVUVMU19ERUxFVEVfTUFSS0VUUExBQ0VfUFJPRFVDVCA9ICdGdWVscyBkZWxldGUgbWFya2V0cGxhY2UgcHJvZHVjdCcsXHJcbiAgRlVFTFNfU0hPV19TVE9DS19VUERBVEUgPSAnRnVlbHMgc2hvdyBzdG9jayB1cGRhdGUnLFxyXG4gIEZVRUxTX0FERF9TVE9DS19VUERBVEUgPSAnRnVlbHMgYWRkIHN0b2NrIHVwZGF0ZScsXHJcbiAgU0hPV19NQVJLRVRQTEFDRVMgPSAnU2hvdyBtYXJrZXRwbGFjZXMnLFxyXG4gIEZVRUxTX1NIT1dfREVQT1NJVCA9ICdGdWVscyBzaG93IGRlcG9zaXQnLFxyXG4gIEZVRUxTX0FERF9ERVBPU0lUID0gJ0Z1ZWxzIGFkZCBkZXBvc2l0JyxcclxuICBGVUVMU19FRElUX0RFUE9TSVQgPSAnRnVlbHMgZWRpdCBkZXBvc2l0JyxcclxuICBGVUVMU19ERUxFVEVfREVQT1NJVCA9ICdGdWVscyBkZWxldGUgZGVwb3NpdCcsXHJcbiAgRlVFTFNfU0hPV19TVVBQTFlfT0ZGRVIgPSAnRnVlbHMgc2hvdyBzdXBwbHkgb2ZmZXInLFxyXG4gIEZVRUxTX0FERF9TVVBQTFlfT0ZGRVIgPSAnRnVlbHMgYWRkIHN1cHBseSBvZmZlcicsXHJcbiAgRlVFTFNfRURJVF9TVVBQTFlfT0ZGRVIgPSAnRnVlbHMgZWRpdCBzdXBwbHkgb2ZmZXInLFxyXG4gIEZVRUxTX1NIT1dfT1BFUkFUT1IgPSAnRnVlbHMgc2hvdyBvcGVyYXRvcicsXHJcbiAgRlVFTFNfQUREX09QRVJBVE9SID0gJ0Z1ZWxzIGFkZCBvcGVyYXRvcicsXHJcbiAgRlVFTFNfRURJVF9PUEVSQVRPUiA9ICdGdWVscyBlZGl0IG9wZXJhdG9yJyxcclxuICBGVUVMU19ERUxFVEVfT1BFUkFUT1IgPSAnRnVlbHMgZGVsZXRlIG9wZXJhdG9yJyxcclxuICBGSU5URUNIX0JBTktfQURNSU4gPSAnRmludGVjaCBCYW5rIEFkbWluJyxcclxuICBGSU5URUNIX0JBTktfVVNFUiA9ICdGaW50ZWNoIEJhbmsgVXNlcicsXHJcbiAgRklOVEVDSF9DUkVESVRfQURNSU4gPSAnRmludGVjaCBDcmVkaXQgQWRtaW4nLFxyXG4gIEZJTlRFQ0hfQ1JFRElUX1VTRVIgPSAnRmludGVjaCBDcmVkaXQgVXNlcicsXHJcbiAgRklOVEVDSF9CQU5LX0FETUlOX0FDQ09VTlRTX1ZJRVcgPSAnRmludGVjaCBCYW5rIEFkbWluIC0gQWNjb3VudHMgVmlldycsXHJcbiAgRklOVEVDSF9DUkVESVRfQURNSU5fUFJPUE9TQUxfTk9UX0NPTkZJUk1FRCA9ICdGaW50ZWNoIENyZWRpdCBBZG1pbiAtIFByb3Bvc2FsIE5vdCBDb25maXJtZWQnLFxyXG4gIEZJTlRFQ0hfQ1JFRElUX0FETUlOX0NPTlRSQUNUU19GT0xMT1dfVVAgPSAnRmludGVjaCBDcmVkaXQgQWRtaW4gLSBDb250cmFjdHMgRm9sbG93LVVwJyxcclxuICBBRE1JTl9NQVJLRVBMQUNFID0gJ0FkbWluIE1hcmtlcGxhY2UnLFxyXG4gIEFQUFJPVkVfUkVRVUVTVCA9ICdBcHByb3ZlIFJlcXVlc3QnLFxyXG4gIFJFUFJPVkVfUkVRVUVTVCA9ICdSZXByb3ZlIFJlcXVlc3QnLFxyXG4gIFNIT1dfUkVRVUVTVCA9ICdTaG93IFJlcXVlc3QnLFxyXG4gIFNIT1dfVVNFUiA9ICdTaG93IFVzZXInLFxyXG4gIEFERF9VU0VSID0gJ0FkZCBVc2VyJyxcclxuICBFRElUX1VTRVIgPSAnRWRpdCBVc2VyJyxcclxuICBERUxFVEVfVVNFUiA9ICdEZWxldGUgVXNlcicsXHJcbiAgQUREX1JFR0lPTiA9ICdBZGQgUmVnaW9uJyxcclxuICBTSE9XX1JFR0lPTiA9ICdTaG93IFJlZ2lvbicsXHJcbiAgRURJVF9SRUdJT04gPSAnRWRpdCBSZWdpb24nLFxyXG4gIEFERF9MT0NBVElPTl9TSElQUEVSID0gJ0FkZCBMb2NhdGlvblNoaXBwZXInLFxyXG4gIEVESVRfTE9DQVRJT05fU0hJUFBFUiA9ICdFZGl0IExvY2F0aW9uU2hpcHBlcicsXHJcbiAgU0hPV19MT0NBVElPTl9TSElQUEVSID0gJ1Nob3cgTG9jYXRpb25TaGlwcGVyJyxcclxuICBERUxFVEVfTE9DQVRJT05fU0hJUFBFUiA9ICdEZWxldGUgTG9jYXRpb25TaGlwcGVyJyxcclxuICBBRERfU0NIRURVTEUgPSAnQWRkIFNjaGVkdWxlJyxcclxuICBFRElUX1NDSEVEVUxFID0gJ0VkaXQgU2NoZWR1bGUnLFxyXG4gIFNIT1dfU0NIRURVTEUgPSAnU2hvdyBTY2hlZHVsZScsXHJcbiAgQUREX1ZBQ0FOQ0lFU19MT0dJU1RJQyA9ICdBZGQgVmFjYW5jaWVzIExvZ2lzdGljJyxcclxuICBBRERfVkFDQU5DSUVTX0NPTU1FUkNJQUwgPSAnQWRkIFZhY2FuY2llcyBDb21tZXJjaWFsJyxcclxuICBTSE9XX1ZBQ0FOQ0lFU19DT01QTEVURSA9ICdTaG93IFZhY2FuY2llcyBDb21wbGV0ZScsXHJcbiAgQUREX1NDSEVEVUxFX09GRiA9ICdBZGQgU2NoZWR1bGUgT2ZmJyxcclxuICBTSE9XX05FV1MgPSAnU2hvdyBOZXdzJyxcclxuICBBRERfTkVXUyA9ICdBZGQgTmV3cycsXHJcbiAgRURJVF9ORVdTID0gJ0VkaXQgTmV3cycsXHJcbiAgREVMRVRFX05FV1MgPSAnRGVsZXRlIE5ld3MnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19ORVdTID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBOZXdzJyxcclxuICBBRERfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVCA9ICdBZGQgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlDcmVkaXQnLFxyXG4gIEVESVRfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVCA9ICdFZGl0IERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55Q3JlZGl0JyxcclxuICBTSE9XX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVQgPSAnU2hvdyBEaXN0cmlidXRpb25DZW50ZXJzQ29tcGFueUNyZWRpdCcsXHJcbiAgREVMRVRFX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVQgPSAnRGVsZXRlIERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55Q3JlZGl0JyxcclxuICBBRERfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVF9VTklUID0gJ0FkZCBEaXN0cmlidXRpb25DZW50ZXJzQ29tcGFueVVuaXRDcmVkaXQnLFxyXG4gIEVESVRfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVF9VTklUID0gJ0VkaXQgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlVbml0Q3JlZGl0JyxcclxuICBTSE9XX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVRfVU5JVCA9ICdTaG93IERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55VW5pdENyZWRpdCcsXHJcbiAgREVMRVRFX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVRfVU5JVCA9ICdEZWxldGUgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlVbml0Q3JlZGl0JyxcclxuICBBUFBST1ZFX1ZFQ1RPUiA9ICdBcHByb3ZlVmVjdG9yJyxcclxuICBBUFBST1ZFX0VUQ0QgPSAnQXBwcm92ZUVUQ0QnLFxyXG4gIERFTEVURV9QQVJBTUVURVJTX0VUQ0QgPSAnRGVsZXRlIFBhcmFtZXRlcnMnLFxyXG4gIFNIT1dfUkVDRVBUSU9OX1BST0RVQ1QgPSAnU2hvdyBSZWNlcHRpb24gUHJvZHVjdCcsXHJcbiAgRURJVF9SRUNFUFRJT05fUFJPRFVDVCA9ICdFZGl0IFJlY2VwdGlvbiBQcm9kdWN0JyxcclxuICBERUxFVEVfUkVDRVBUSU9OX1BST0RVQ1QgPSAnRGVsZXRlIFJlY2VwdGlvbiBQcm9kdWN0JyxcclxuICBBRERfUkVDRVBUSU9OX1BST0RVQ1QgPSAnQWRkIFJlY2VwdGlvbiBQcm9kdWN0JyxcclxuICBTSE9XX0RJR0lUQUxfRElTQ0hBUkdFID0gJ1Nob3cgRGlnaXRhbCBEaXNjaGFyZ2UnLFxyXG4gIFNIT1dfRElHSVRBTF9ESVNDSEFSR0VfRklMRVMgPSAnU2hvdyBEaWdpdGFsIERpc2NoYXJnZSBGaWxlcycsXHJcbiAgU0hPV19FVENEID0gJ1Nob3cgRVRDRCcsXHJcbiAgRURJVF9FVENEID0gJ0VkaXQgRVRDRCcsXHJcbiAgREVMRVRFX0VUQ0QgPSAnRGVsZXRlIEVUQ0QnLFxyXG4gIEFERF9FVENEID0gJ0FkZCBFVENEJyxcclxuICBTSE9XX1JFR0lPTkFMX0VUQ0QgPSAnU2hvdyBSZWdpb25hbCBFVENEJyxcclxuICBTSE9XX1ZJUlRVQUxfQlJBTkNIID0gJ1Nob3cgVmlydHVhbCBCcmFuY2gnLFxyXG4gIEVESVRfVklSVFVBTF9CUkFOQ0ggPSAnRWRpdCBWaXJ0dWFsIEJyYW5jaCcsXHJcbiAgQUREX1ZJUlRVQUxfQlJBTkNIID0gJ0FkZCBWaXJ0dWFsIEJyYW5jaCcsXHJcbiAgREVMRVRFX1ZJUlRVQUxfQlJBTkNIID0gJ0RlbGV0ZSBWaXJ0dWFsIEJyYW5jaCcsXHJcbiAgU0hPV19QSFlTSUNBTF9CUkFOQ0ggPSAnU2hvdyBQaHlzaWNhbCBCcmFuY2gnLFxyXG4gIEVESVRfUEhZU0lDQUxfQlJBTkNIID0gJ0VkaXQgUGh5c2ljYWwgQnJhbmNoJyxcclxuICBBRERfUEhZU0lDQUxfQlJBTkNIID0gJ0FkZCBQaHlzaWNhbCBCcmFuY2gnLFxyXG4gIERFTEVURV9QSFlTSUNBTF9CUkFOQ0ggPSAnRGVsZXRlIFBoeXNpY2FsIEJyYW5jaCcsXHJcbiAgU0hPV19GSVNDQUxfQlJBTkNIID0gJ1Nob3cgRmlzY2FsIEJyYW5jaCcsXHJcbiAgRURJVF9GSVNDQUxfQlJBTkNIID0gJ0VkaXQgRmlzY2FsIEJyYW5jaCcsXHJcbiAgQUREX0ZJU0NBTF9CUkFOQ0ggPSAnQWRkIEZpc2NhbCBCcmFuY2gnLFxyXG4gIERFTEVURV9GSVNDQUxfQlJBTkNIID0gJ0RlbGV0ZSBGaXNjYWwgQnJhbmNoJyxcclxuICBTSE9XX01PTklUT1JJTkdfRVRDRCA9ICdTaG93IE1vbml0b3JpbmcgRVRDRCcsXHJcbiAgQUREX1BST0RVQ1RfRVRDRCA9ICdBZGQgUHJvZHVjdCBFVENEJyxcclxuICBFRElUX1BST0RVQ1RfRVRDRCA9ICdFZGl0IFByb2R1Y3QgRVRDRCcsXHJcbiAgU0hPV19QUk9EVUNUX0VUQ0QgPSAnU2hvdyBQcm9kdWN0IEVUQ0QnLFxyXG4gIERFTEVURV9QUk9EVUNUX0VUQ0QgPSAnRGVsZXRlIFByb2R1Y3QgRVRDRCcsXHJcbiAgQUREX1BBUkFNRVRFUlNfRVRDRCA9ICdBZGQgUGFyYW1ldGVycyBFVENEJyxcclxuICBFRElUX1BBUkFNRVRFUlNfRVRDRCA9ICdFZGl0IFBhcmFtZXRlcnMgRVRDRCcsXHJcbiAgU0hPV19QQVJBTUVURVJTX0VUQ0QgPSAnU2hvdyBQYXJhbWV0ZXJzIEVUQ0QnLFxyXG4gIEFERF9GUkVJR0hUX0VUQ0QgPSAnQWRkIEZyZWlnaHQgRVRDRCcsXHJcbiAgU0hPV19GUkVJR0hUX0VUQ0QgPSAnU2hvdyBGcmVpZ2h0IEVUQ0QnLFxyXG4gIEFQUFJPVkVfQURKVVNNRU5UX0VUQ0QgPSAnQXBwcm92ZSBBZGp1c21lbnQgRVRDRCcsXHJcbiAgUkVQUk9WRV9BREpVU01FTlRfRVRDRCA9ICdSZXByb3ZlIEFkanVzbWVudCBFVENEJyxcclxuICBBRERfSlVTVElGSUNBVElWRV9FVENEID0gJ0FkZCBKdXN0aWZpY2F0aXZlIEVUQ0QnLFxyXG4gIEVESVRfSlVTVElGSUNBVElWRV9FVENEID0gJ0VkaXQgSnVzdGlmaWNhdGl2ZSBFVENEJyxcclxuICBERUxFVEVfSlVTVElGSUNBVElWRV9FVENEID0gJ0RlbGV0ZSBKdXN0aWZpY2F0aXZlIEVUQ0QnLFxyXG4gIEFQUFJPVkVfUkVMRUFTRV9FVENEID0gJ0FwcHJvdmUgUmVsZWFzZSBFVENEJyxcclxuICBSRVBST1ZFX1JFTEVBU0VfRVRDRCA9ICdSZXByb3ZlIFJlbGVhc2UgRVRDRCcsXHJcbiAgU0hPV19BRFZBTkNFX0VUQ0QgPSAnU2hvdyBBZHZhbmNlIEVUQ0QnLFxyXG4gIEFQUFJPVkVfUkVRVUVTVFNfRVRDRCA9ICdBcHByb3ZlIFJlcXVlc3RzIEVUQ0QnLFxyXG4gIFNIT1dfU1VQUExZID0gJ1Nob3cgU3VwcGx5JyxcclxuICBTSE9XX1RSSVBfT0ZGRVJUID0gJ1RyaXAgT2ZmZXIgU2hvdycsXHJcbiAgQUREX0xBU1ROQU1FX0xPQ0FUSU9OID0gJ0FkZCBMYXN0TmFtZSBMb2NhdGlvbicsXHJcbiAgQVBQUk9WRV9ESVNDSEFSR0VfUEFZTUVOVCA9ICdBcHJvdmFyIHF1aXRhY2FvJyxcclxuICBBUFBST1ZFX0FEVkFOQ0VfUEFZTUVOVCA9ICdBcHJvdmFyIGFkaWFudGFtZW50bycsXHJcbiAgQVBQUk9WRV9FTkdJTkVfUEFZTUVOVCA9ICdBcHJvdmFyIG1vdG9yIGRlIHBhZ2FtZW50bycsXHJcbiAgRVhUUkFDVF9USElSRCA9ICdFeHRyYXRvIHRlcmNlaXJvJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfR1JPVVBTID0gJ0hpc3RvcmljYWxDaGFuZ2VzR3JvdXBzJyxcclxuICBERUxFVEVfT05MWV9NRU1CRVJfR1JPVVBTID0gJ0RlbGV0ZSBPbmx5IE1lbWJlciBHcm91cHMnLFxyXG4gIEFERF9PTkxZX01FTUJFUl9HUk9VUFMgPSAnQWRkIE9ubHkgTWVtYmVyIEdyb3VwcycsXHJcbiAgU0hPV19HUk9VUFMgPSAnU2hvdyBHcm91cHMnLFxyXG4gIERFTEVURV9HUk9VUFMgPSAnRGVsZXRlIEdyb3VwcycsXHJcbiAgRURJVF9HUk9VUFMgPSAnRWRpdCBHcm91cHMnLFxyXG4gIEFERF9HUk9VUFMgPSAnQWRkIEdyb3VwcycsXHJcbiAgQUREX1VQREFURV9HRU9GRU5DRSA9ICdBZGQgVXBkYXRlIEdlb2ZlbmNlJyxcclxuICBTSE9XX0dFT0ZFTkNFID0gJ1Nob3cgR2VvZmVuY2UnLFxyXG4gIFNIT1dfR0VPRkVOQ0VfTE9HID0gJ1Nob3cgR2VvZmVuY2UgTG9nJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfR0VPRkVOQ0UgPSAnSGlzdG9yaWNhbCBDaGFuZ2VzIEdlb2ZlbmNlJyxcclxuICBTSE9XX0RSSVZFUl9MT0cgPSAnU2hvdyBEcml2ZXIgTG9nJyxcclxuICBVUERBVEVfQ0hFQ0tJTl9DSEVDS09VVCA9ICdVcGRhdGUgQ2hlY2tJbiBDaGVja091dCcsXHJcbiAgQVVUT01BVElDX0NIRUNLSU4gPSAnQXV0b21hdGljIENoZWNrSW4nLFxyXG4gIFNIT1dfRklMVEVSU19NT05USExZX1JFQ0VQVElPTiA9ICdTaG93IEZpbHRlcnMgTW9udGhseSBSZWNlcHRpb24nLFxyXG4gIFZJRVdfUk9VVEVfVFJJUCA9ICdWaWV3IFJvdXRlIFRyaXAnLFxyXG4gIFNIT1dfUklTS19NQU5BR0VNRU5UID0gJ1Nob3cgUmlzayBNYW5hZ2VtZW50JyxcclxuICBBRERfUklTS19NQU5BR0VNRU5UID0gJ0FkZCBSaXNrIE1hbmFnZW1lbnQnLFxyXG4gIEVESVRfUklTS19NQU5BR0VNRU5UID0gJ0VkaXQgUmlzayBNYW5hZ2VtZW50JyxcclxuICBERUxFVEVfUklTS19NQU5BR0VNRU5UID0gJ0RlbGV0ZSBSaXNrIE1hbmFnZW1lbnQnLFxyXG4gIERJR0lUQUxfRElTQ0hBUkdFX0JBU0lDX0RBVEEgPSAnUXVpdGFjYW8gRGlnaXRhbCBCYXNpYyBEYXRhJyxcclxuICBESUdJVEFMX0RJU0NIQVJHRV9FVENEX0FQUFJPVkVSID0gJ1F1aXRhY2FvIERpZ2l0YWwgRVRDRCBBcHJvdmFkb3InLFxyXG4gIERJR0lUQUxfRElTQ0hBUkdFX0VUQ0RfQVBQUk9WRVJfTUFOQUdFTUVOVCA9ICdRdWl0YWNhbyBEaWdpdGFsIEVUQ0QgQXByb3ZhZG9yIEdlc3RvcicsXHJcbiAgRElHSVRBTF9ESVNDSEFSR0VfVkVDVE9SX0FQUFJPVkVSID0gJ1F1aXRhY2FvIERpZ2l0YWwgVmVjdG9yIEFwcm92YWRvcicsXHJcbiAgRElHSVRBTF9ESVNDSEFSR0VfVkVDVE9SX0FQUFJPVkVSX01BTkFHRU1FTlQgPSAnUXVpdGFjYW8gRGlnaXRhbCBWZWN0b3IgQXByb3ZhZG9yIEdlc3RvcicsXHJcbiAgRElHSVRBTF9ESVNDSEFSR0VfQVBQUk9WRV9TQVAgPSAnUXVpdGFjYW8gRGlnaXRhbCBBcHJvdmFkb3IgQ29udGluZ2VuY2lhIFNhcCcsXHJcbiAgUEFZTUVOVF9GUkVJR0hUX0FESlVTVF9GUkVJR0hUX1ZBTFVFID0gJ1BhZ2FtZW50byBGcmV0ZSBBanVzdGFyIFZhbG9yIEZyZXRlJyxcclxuICBTSE9XX01FU1NBR0VfQ1VTVE9NID0gJ1Nob3cgTWVzc2FnZXMgQ3VzdG9tJyxcclxuICBERUxFVEVfTUVTU0FHRV9DVVNUT00gPSAnRGVsZXRlIE1lc3NhZ2VzIEN1c3RvbScsXHJcbiAgQUREX01FU1NBR0VfQ1VTVE9NID0gJ0FkZCBNZXNzYWdlcyBDdXN0b20nLFxyXG4gIEVESVRfTUVTU0FHRV9DVVNUT00gPSAnRWRpdCBNZXNzYWdlcyBDdXN0b20nLFxyXG4gIFJFQ0VQVElPTl9XSVRIT1VUX1NDSEVEVUxJTkcgPSAnUmVjZXB0aW9uIFdpdGhvdXQgU2NoZWR1bGluZycsXHJcbiAgQkFOS19FRElUID0gJ0VkaXQnLFxyXG4gIEJBTktfUkVHSVNURVJfRlVMTCA9ICdDYWRhc3RybyBGdWxsJyxcclxuICBTRUFSQ0hfQ0FMRU5EQVJfRlVMTCA9ICdQZXNxdWlzYXIgQWdlbmRhIEZ1bGwnLFxyXG4gIFNIT1dfTU9WRU1FTlRfRVRDRCA9ICdTaG93IE1vdmVtZW50IEV0Y2QnLFxyXG4gIENSRUFURV9BTkRfRURJVF9OUFMgPSAnQ3JlYXRlIGFuZCBlZGl0IE5QUycsXHJcbiAgUkVBRF9OUFNfSU5GT1JNQVRJT04gPSAnUmVhZCBOUFMgaW5mb3JtYXRpb24nLFxyXG4gIFRFWF9PTkJPQVJESU5HX1RSQUNLSU5HID0gJ09uYm9hcmRpbmdUcmFja2luZycsXHJcbiAgQklERElOR19QQVJBTUVURVJTID0gJ0JpZGRpbmcgUGFyYW1ldGVycycsXHJcbiAgRFJJVkVSX1NDT1JFX01FVFJJQ1NfQURNSU4gPSAnRHJpdmVyIFNjb3JlIE1ldHJpY3MgQWRtaW4nLFxyXG4gIFNIT1dfRE9DS19CVUlMRElORyA9ICdTaG93IERvY2sgQnVpbGRpbmcnLFxyXG4gIEFERF9ET0NLX0JVSUxESU5HID0gJ0FkZCBEb2NrIEJ1aWxkaW5nJyxcclxuICBFRElUX0RPQ0tfQlVJTERJTkcgPSAnRWRpdCBEb2NrIEJ1aWxkaW5nJyxcclxuICBFRElUX0RPQ0sgPSAnRWRpdCBEb2NrJyxcclxuICBGUklFTkRMWV9UUklQID0gJ0ZyaWVuZGx5IFRyaXAnLFxyXG4gIENBTkNFTF9GUklFTkRMWV9UUklQID0gJ0NhbmNlbGFyIFZpYWdlbSBBbWlnYScsXHJcbiAgU0hPV19GUklFTkRMWV9UUklQID0gJ1Zpc3VhbGl6YXIgVmlhZ2VtIEFtaWdhJyxcclxuICBDUkVBVEVfRlJJRU5ETFlfVFJJUCA9ICdTb2xpY2l0YXIgVmlhZ2VtIEFtaWdhJyxcclxuICBTRU5EX05GU19FVENEID0gJ1NlbmQgTkZzIEVUQ0QnLFxyXG59XHJcbiJdfQ==
@@ -378,6 +378,7 @@ var ProfileModuleActionType;
378
378
  ProfileModuleActionType["CANCEL_FRIENDLY_TRIP"] = "Cancelar Viagem Amiga";
379
379
  ProfileModuleActionType["SHOW_FRIENDLY_TRIP"] = "Visualizar Viagem Amiga";
380
380
  ProfileModuleActionType["CREATE_FRIENDLY_TRIP"] = "Solicitar Viagem Amiga";
381
+ ProfileModuleActionType["SEND_NFS_ETCD"] = "Send NFs ETCD";
381
382
  })(ProfileModuleActionType || (ProfileModuleActionType = {}));
382
383
 
383
384
  var Role;
@@ -2370,6 +2371,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
2370
2371
  class DropdownFieldComponent {
2371
2372
  constructor(renderer) {
2372
2373
  this.renderer = renderer;
2374
+ this.isNgContent = false;
2373
2375
  this.isRequired = false;
2374
2376
  this.label = '';
2375
2377
  this.paged = true;
@@ -2526,12 +2528,14 @@ class DropdownFieldComponent {
2526
2528
  }
2527
2529
  }
2528
2530
  DropdownFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2529
- DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage", dynamicFilters: "dynamicFilters", minLengthToService: "minLengthToService", initialLoad: "initialLoad", disabled: "disabled" }, outputs: { onFocus: "onFocus", onChange: "onChange" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"], components: [{ type: i1$6.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2$7.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
2531
+ DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isNgContent: "isNgContent", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage", dynamicFilters: "dynamicFilters", minLengthToService: "minLengthToService", initialLoad: "initialLoad", disabled: "disabled" }, outputs: { onFocus: "onFocus", onChange: "onChange" }, ngImport: i0, template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\" *ngIf=\"!isNgContent\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n\r\n <div class=\"input-inner-container\" *ngIf=\"isNgContent\">\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"nameCustom\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"option-content\">\r\n <span class=\"option-label\">{{ option.name }}</span>\r\n <br />\r\n <span class=\"option-sublabel\">{{ option.code }}</span>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"], components: [{ type: i1$6.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2$7.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] });
2530
2532
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, decorators: [{
2531
2533
  type: Component,
2532
- args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"] }]
2534
+ args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\" *ngIf=\"!isNgContent\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n\r\n <div class=\"input-inner-container\" *ngIf=\"isNgContent\">\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"nameCustom\"\r\n dataKey=\"code\"\r\n [forceSelection]=\"true\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n >\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"option-content\">\r\n <span class=\"option-label\">{{ option.name }}</span>\r\n <br />\r\n <span class=\"option-sublabel\">{{ option.code }}</span>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"!control.value\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"] }]
2533
2535
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { options: [{
2534
2536
  type: Input
2537
+ }], isNgContent: [{
2538
+ type: Input
2535
2539
  }], isRequired: [{
2536
2540
  type: Input
2537
2541
  }], control: [{
@@ -2798,7 +2802,7 @@ class FiltersComponent {
2798
2802
  }
2799
2803
  }
2800
2804
  FiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, deps: [{ token: i2$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
2801
- FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch", formBuilded: "formBuilded" }, ngImport: i0, template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [disabled]=\"field.disabled\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [minLengthToService]=\"field.minLengthToService || 0\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n [initialLoad]=\"field.initiateValue\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n (click)=\"search()\"\r\n >\r\n </vector-select-button-field>\r\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.startDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n At\u00E9\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.endDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n </div>\r\n <vector-multiselect-field\r\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options || []\"\r\n >\r\n </vector-multiselect-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n [label]=\"'app.label.search' | translate\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px;display:flex;justify-content:flex-end}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.filter-container .range-date-container{display:flex;align-items:center;gap:10px}.display-none{display:none!important}\n"], components: [{ type: TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "decimal", "onlyText", "alphaNumeric", "alphaNumericAndWhitespace", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "hiddenErrorMessage", "leftLabel", "control"], outputs: ["blurEvent", "enterKeyPress", "focusEvent", "onDocumentTypeChange"] }, { type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies", "hiddenErrorMessage", "dynamicFilters", "minLengthToService", "initialLoad", "disabled"], outputs: ["onFocus", "onChange"] }, { type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["minValue", "maxValue", "placeholder", "numberOfDecimals", "control", "outlined", "rounded", "label", "isBankingField", "inputClassName", "localePrefix", "currencyPrefix", "disabled"] }, { type: CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled", "defaultDate", "hiddenErrorMessage"] }, { type: SelectButtonFieldComponent, selector: "vector-select-button-field", inputs: ["options", "control"] }, { type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: ["isRequired", "control", "label", "options", "filter"], outputs: ["onChange"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "notHidden": NotHiddenPipe, "translate": i1$1.TranslatePipe } });
2805
+ FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch", formBuilded: "formBuilded" }, ngImport: i0, template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [disabled]=\"field.disabled\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [minLengthToService]=\"field.minLengthToService || 0\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n [initialLoad]=\"field.initiateValue\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n (click)=\"search()\"\r\n >\r\n </vector-select-button-field>\r\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.startDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n At\u00E9\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.endDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n </div>\r\n <vector-multiselect-field\r\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options || []\"\r\n >\r\n </vector-multiselect-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n [label]=\"'app.label.search' | translate\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px;display:flex;justify-content:flex-end}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.filter-container .range-date-container{display:flex;align-items:center;gap:10px}.display-none{display:none!important}\n"], components: [{ type: TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "decimal", "onlyText", "alphaNumeric", "alphaNumericAndWhitespace", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "hiddenErrorMessage", "leftLabel", "control"], outputs: ["blurEvent", "enterKeyPress", "focusEvent", "onDocumentTypeChange"] }, { type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isNgContent", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies", "hiddenErrorMessage", "dynamicFilters", "minLengthToService", "initialLoad", "disabled"], outputs: ["onFocus", "onChange"] }, { type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["minValue", "maxValue", "placeholder", "numberOfDecimals", "control", "outlined", "rounded", "label", "isBankingField", "inputClassName", "localePrefix", "currencyPrefix", "disabled"] }, { type: CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled", "defaultDate", "hiddenErrorMessage"] }, { type: SelectButtonFieldComponent, selector: "vector-select-button-field", inputs: ["options", "control"] }, { type: MultiselectFieldComponent, selector: "vector-multiselect-field", inputs: ["isRequired", "control", "label", "options", "filter"], outputs: ["onChange"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "notHidden": NotHiddenPipe, "translate": i1$1.TranslatePipe } });
2802
2806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, decorators: [{
2803
2807
  type: Component,
2804
2808
  args: [{ selector: 'vector-filters', template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [disabled]=\"field.disabled\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [minLengthToService]=\"field.minLengthToService || 0\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n [initialLoad]=\"field.initiateValue\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n (click)=\"search()\"\r\n >\r\n </vector-select-button-field>\r\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.startDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n At\u00E9\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.endDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n </div>\r\n <vector-multiselect-field\r\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options || []\"\r\n >\r\n </vector-multiselect-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n [label]=\"'app.label.search' | translate\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px;display:flex;justify-content:flex-end}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.filter-container .range-date-container{display:flex;align-items:center;gap:10px}.display-none{display:none!important}\n"] }]