@seniorsistemas/angular-components 19.7.6 → 19.8.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/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +5 -5
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +5 -5
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +5 -5
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +10 -10
- package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +11 -11
- package/esm2022/global-search/lib/global-search/global-search.component.mjs +5 -3
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +5 -5
- package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +3 -3
- package/esm2022/input-text/lib/input-text/input-text.directive.mjs +36 -0
- package/esm2022/input-text/lib/input-text/input-text.module.mjs +16 -0
- package/esm2022/input-text/public-api.mjs +3 -0
- package/esm2022/input-text/seniorsistemas-angular-components-input-text.mjs +5 -0
- package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +4 -4
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +14 -14
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs +4 -2
- package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +7 -6
- package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
- package/fesm2022/seniorsistemas-angular-components-input-text.mjs +56 -0
- package/fesm2022/seniorsistemas-angular-components-input-text.mjs.map +1 -0
- package/fesm2022/seniorsistemas-angular-components-tree.mjs +3 -3
- package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
- package/input-text/index.d.ts +5 -0
- package/input-text/lib/input-text/input-text.directive.d.ts +5 -0
- package/input-text/lib/input-text/input-text.module.d.ts +7 -0
- package/input-text/public-api.d.ts +2 -0
- package/package.json +7 -1
package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/* eslint-disable @angular-eslint/no-output-on-prefix */
|
|
2
|
+
import { NgClass, NgStyle } from '@angular/common';
|
|
2
3
|
import { ChangeDetectorRef, Component, EventEmitter, inject, input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
3
4
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { ButtonComponent } from '@seniorsistemas/angular-components/button';
|
|
6
|
+
import { InputTextModule } from '@seniorsistemas/angular-components/input-text';
|
|
7
|
+
import { PasswordStrengthModule } from '@seniorsistemas/angular-components/password-strength';
|
|
8
|
+
import { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';
|
|
4
9
|
import { Subject } from 'rxjs';
|
|
5
10
|
import { takeUntil } from 'rxjs/operators';
|
|
6
|
-
import { FormFieldUtilsService } from '../../../services/form-field-utils.service';
|
|
7
11
|
import { FieldLabelComponent } from '../../../components/field-label/field-label.component';
|
|
8
|
-
import {
|
|
9
|
-
import { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';
|
|
10
|
-
import { PasswordStrengthModule } from '@seniorsistemas/angular-components/password-strength';
|
|
11
|
-
import { ButtonComponent } from '@seniorsistemas/angular-components/button';
|
|
12
|
-
import { InputTextModule } from 'primeng/inputtext';
|
|
12
|
+
import { FormFieldUtilsService } from '../../../services/form-field-utils.service';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "@angular/forms";
|
|
15
15
|
import * as i2 from "@seniorsistemas/angular-components/password-strength";
|
|
16
|
-
import * as i3 from "
|
|
16
|
+
import * as i3 from "@seniorsistemas/angular-components/input-text";
|
|
17
17
|
export class PasswordFieldComponent {
|
|
18
18
|
changeDetectorRef = inject(ChangeDetectorRef);
|
|
19
19
|
field = input.required();
|
|
@@ -55,7 +55,7 @@ export class PasswordFieldComponent {
|
|
|
55
55
|
this.changeDetectorRef.detectChanges();
|
|
56
56
|
}
|
|
57
57
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PasswordFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div\n class=\"password-field\"\n [ngClass]=\"{ 'password-field--toggle': _field.showToggle }\"\n>\n <input\n #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"_field.id || _field.name\"\n class=\"password-input\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n
|
|
58
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PasswordFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div\n class=\"password-field\"\n [ngClass]=\"{ 'password-field--toggle': _field.showToggle }\"\n>\n <input\n #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"_field.id || _field.name\"\n class=\"password-input\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [sPasswordStrength]=\"_field.passwordStrength ? _field.passwordStrength : false\"\n [passwordStrengthDescription]=\"\n _field.passwordStrengthOptions?.description ? _field.passwordStrengthOptions!.description : ''\n \"\n [passwordStrengthWeakTitle]=\"\n _field.passwordStrengthOptions?.weakTitle ? _field.passwordStrengthOptions?.weakTitle : ''\n \"\n [passwordStrengthMediumTitle]=\"\n _field.passwordStrengthOptions?.mediumTitle ? _field.passwordStrengthOptions?.mediumTitle : ''\n \"\n [passwordStrengthStrongTitle]=\"\n _field.passwordStrengthOptions?.strongTitle ? _field.passwordStrengthOptions?.strongTitle : ''\n \"\n [passwordStrengthValidation]=\"_field.passwordStrengthOptions?.validation\"\n />\n @if (_field.showToggle) {\n <span class=\"toggle-button\">\n <s-button\n [iconClass]=\"passwordVisible ? 'fas fa-eye-slash' : 'fas fa-eye'\"\n priority=\"default\"\n (clicked)=\"onChangeVisible()\"\n >\n </s-button>\n </span>\n }\n</div>\n\n", styles: ["s-text-field.ng-dirty.ng-invalid .password-input{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .password-input:hover{border-color:highlight(#c13018)}.password-field{display:flex}.password-field--toggle .password-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.password-field--toggle .toggle-button s-button button{border-bottom-left-radius:0;border-top-left-radius:0}.password-field:has(.password-input.ng-invalid.ng-dirty) s-button button{border:1px solid #c13018}.password-field:has(.password-input:focus) s-button button{border:1px solid #428bca}.password-field:has(.password-input:focus):has(button) .password-input{border-right:none}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PasswordStrengthModule }, { kind: "directive", type: i2.PasswordStrengthDirective, selector: "[sPasswordStrength]", inputs: ["sPasswordStrength", "passwordStrengthValidation", "passwordStrengthPosition", "passwordStrengthWeakTitle", "passwordStrengthMediumTitle", "passwordStrengthStrongTitle", "passwordStrengthDescription"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputTextDirective, selector: "input[sInputText]" }], encapsulation: i0.ViewEncapsulation.None });
|
|
59
59
|
}
|
|
60
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordFieldComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
@@ -68,7 +68,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
68
68
|
PasswordStrengthModule,
|
|
69
69
|
ButtonComponent,
|
|
70
70
|
InputTextModule,
|
|
71
|
-
], template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div\n class=\"password-field\"\n [ngClass]=\"{ 'password-field--toggle': _field.showToggle }\"\n>\n <input\n #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"_field.id || _field.name\"\n class=\"password-input\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n
|
|
71
|
+
], template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div\n class=\"password-field\"\n [ngClass]=\"{ 'password-field--toggle': _field.showToggle }\"\n>\n <input\n #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"_field.id || _field.name\"\n class=\"password-input\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [sPasswordStrength]=\"_field.passwordStrength ? _field.passwordStrength : false\"\n [passwordStrengthDescription]=\"\n _field.passwordStrengthOptions?.description ? _field.passwordStrengthOptions!.description : ''\n \"\n [passwordStrengthWeakTitle]=\"\n _field.passwordStrengthOptions?.weakTitle ? _field.passwordStrengthOptions?.weakTitle : ''\n \"\n [passwordStrengthMediumTitle]=\"\n _field.passwordStrengthOptions?.mediumTitle ? _field.passwordStrengthOptions?.mediumTitle : ''\n \"\n [passwordStrengthStrongTitle]=\"\n _field.passwordStrengthOptions?.strongTitle ? _field.passwordStrengthOptions?.strongTitle : ''\n \"\n [passwordStrengthValidation]=\"_field.passwordStrengthOptions?.validation\"\n />\n @if (_field.showToggle) {\n <span class=\"toggle-button\">\n <s-button\n [iconClass]=\"passwordVisible ? 'fas fa-eye-slash' : 'fas fa-eye'\"\n priority=\"default\"\n (clicked)=\"onChangeVisible()\"\n >\n </s-button>\n </span>\n }\n</div>\n\n", styles: ["s-text-field.ng-dirty.ng-invalid .password-input{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .password-input:hover{border-color:highlight(#c13018)}.password-field{display:flex}.password-field--toggle .password-input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.password-field--toggle .toggle-button s-button button{border-bottom-left-radius:0;border-top-left-radius:0}.password-field:has(.password-input.ng-invalid.ng-dirty) s-button button{border:1px solid #c13018}.password-field:has(.password-input:focus) s-button button{border:1px solid #428bca}.password-field:has(.password-input:focus):has(button) .password-input{border-right:none}\n"] }]
|
|
72
72
|
}], propDecorators: { onInput: [{
|
|
73
73
|
type: Output
|
|
74
74
|
}], onFocus: [{
|
|
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
79
79
|
type: ViewChild,
|
|
80
80
|
args: ['inputRef']
|
|
81
81
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9wYXNzd29yZC9wYXNzd29yZC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3Bhc3N3b3JkL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdEQUF3RDtBQUN4RCxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUduRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBa0JwRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2QsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFL0QsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7SUFDOUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQztJQUdyQyxPQUFPLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7SUFHekQsT0FBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBR2hELFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVuQyxRQUFRLEdBQXNCLElBQUksQ0FBQztJQUVsRCxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNyQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRWQsU0FBUyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRXBELFFBQVE7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0UsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDN0UsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pFLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUN6RSxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sZUFBZTtRQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNqRCxDQUFDO0lBRU0sZUFBZTtRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0MsQ0FBQzt3R0FyRFEsc0JBQXNCOzRGQUF0QixzQkFBc0IseWdCQzlDbkMsdWtFQXlEQSxrdUJEckJRLG1CQUFtQixrR0FDbkIsT0FBTyxvRkFDUCxnQkFBZ0IsMk5BQ2hCLG1CQUFtQiwwa0JBQ25CLE9BQU8sMEVBQ1Asc0JBQXNCLDhVQUN0QixlQUFlLG1WQUNmLGVBQWU7OzRGQUdWLHNCQUFzQjtrQkFoQmxDLFNBQVM7b0NBR1MsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1A7d0JBQ0wsbUJBQW1CO3dCQUNuQixPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixPQUFPO3dCQUNQLHNCQUFzQjt3QkFDdEIsZUFBZTt3QkFDZixlQUFlO3FCQUNsQjs4QkFTTSxPQUFPO3NCQURiLE1BQU07Z0JBSUEsT0FBTztzQkFEYixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU07Z0JBR2dCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4ICovXG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRm9ybUZpZWxkVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1maWVsZC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFBhc3N3b3JkRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvcGFzc3dvcmQtZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZmllbGQtbGFiZWwvZmllbGQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBQYXNzd29yZFN0cmVuZ3RoTW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9wYXNzd29yZC1zdHJlbmd0aCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBJbnB1dFRleHRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9wYXNzd29yZC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGaWVsZExhYmVsQ29tcG9uZW50LFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBUb29sdGlwRGlyZWN0aXZlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBOZ1N0eWxlLFxuICAgICAgICBQYXNzd29yZFN0cmVuZ3RoTW9kdWxlLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZEZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBmaWVsZCA9IGlucHV0LnJlcXVpcmVkPFBhc3N3b3JkRmllbGRDb25maWc+KCk7XG4gICAgZm9ybUNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQ29udHJvbD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbklucHV0OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNvbXBsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJykgaW5wdXRSZWY6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHVibGljIHBhc3N3b3JkVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtVXRpbHMgPSBpbmplY3QoRm9ybUZpZWxkVXRpbHNTZXJ2aWNlKTtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtVXRpbHMuc3dpdGNoRW1wdHlTdHJpbmdUb051bGwodGhpcy5mb3JtQ29udHJvbCgpLCB0aGlzLm5nVW5zdWJzY3JpYmUpO1xuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQoKTtcbiAgICAgICAgdGhpcy5vbkZvY3VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5vbkZvY3VzKSB7XG4gICAgICAgICAgICAgICAgZmllbGQub25Gb2N1cyhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uSW5wdXQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLm9uSW5wdXQpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5vbklucHV0KGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25Db21wbGV0ZS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5vbkNvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgZmllbGQub25Db21wbGV0ZShldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlVmlzaWJsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXNzd29yZFZpc2libGUgPSAhdGhpcy5wYXNzd29yZFZpc2libGU7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxufVxuXG4iLCJAbGV0IF9maWVsZCA9IGZpZWxkKCk7XG5AaWYgKGlucHV0UmVmKSB7XG4gICAgPHMtZmllbGQtbGFiZWxcbiAgICAgICAgW2ZpZWxkXT1cIl9maWVsZFwiXG4gICAgICAgIFtmaWVsZENvbnRhaW5lclJlZl09XCJpbnB1dFJlZlwiXG4gICAgPjwvcy1maWVsZC1sYWJlbD5cbn1cblxuPGRpdlxuICAgIGNsYXNzPVwicGFzc3dvcmQtZmllbGRcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3Bhc3N3b3JkLWZpZWxkLS10b2dnbGUnOiBfZmllbGQuc2hvd1RvZ2dsZSB9XCJcbj5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0UmVmXG4gICAgICAgIFt0eXBlXT1cInBhc3N3b3JkVmlzaWJsZSA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIlxuICAgICAgICBbaWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcbiAgICAgICAgY2xhc3M9XCJwYXNzd29yZC1pbnB1dFwiXG4gICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgW21heExlbmd0aF09XCJfZmllbGQubWF4TGVuZ3RoID8/IDk5OTk5OTlcIlxuICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgIFtuZ0NsYXNzXT1cIidtb3VzZXRyYXAnXCJcbiAgICAgICAgKGJsdXIpPVwiX2ZpZWxkLm9uQmx1ciA/IF9maWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cy5uZXh0KCRldmVudClcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dC5uZXh0KCRldmVudClcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIl9maWVsZC5zdHlsZVwiXG4gICAgICAgIFtzUGFzc3dvcmRTdHJlbmd0aF09XCJfZmllbGQucGFzc3dvcmRTdHJlbmd0aCA/IF9maWVsZC5wYXNzd29yZFN0cmVuZ3RoIDogZmFsc2VcIlxuICAgICAgICBbcGFzc3dvcmRTdHJlbmd0aERlc2NyaXB0aW9uXT1cIlxuICAgICAgICAgICAgX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy5kZXNjcmlwdGlvbiA/IF9maWVsZC5wYXNzd29yZFN0cmVuZ3RoT3B0aW9ucyEuZGVzY3JpcHRpb24gOiAnJ1xuICAgICAgICBcIlxuICAgICAgICBbcGFzc3dvcmRTdHJlbmd0aFdlYWtUaXRsZV09XCJcbiAgICAgICAgICAgIF9maWVsZC5wYXNzd29yZFN0cmVuZ3RoT3B0aW9ucz8ud2Vha1RpdGxlID8gX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy53ZWFrVGl0bGUgOiAnJ1xuICAgICAgICBcIlxuICAgICAgICBbcGFzc3dvcmRTdHJlbmd0aE1lZGl1bVRpdGxlXT1cIlxuICAgICAgICAgICAgX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy5tZWRpdW1UaXRsZSA/IF9maWVsZC5wYXNzd29yZFN0cmVuZ3RoT3B0aW9ucz8ubWVkaXVtVGl0bGUgOiAnJ1xuICAgICAgICBcIlxuICAgICAgICBbcGFzc3dvcmRTdHJlbmd0aFN0cm9uZ1RpdGxlXT1cIlxuICAgICAgICAgICAgX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy5zdHJvbmdUaXRsZSA/IF9maWVsZC5wYXNzd29yZFN0cmVuZ3RoT3B0aW9ucz8uc3Ryb25nVGl0bGUgOiAnJ1xuICAgICAgICBcIlxuICAgICAgICBbcGFzc3dvcmRTdHJlbmd0aFZhbGlkYXRpb25dPVwiX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGhPcHRpb25zPy52YWxpZGF0aW9uXCJcbiAgICAvPlxuICAgIEBpZiAoX2ZpZWxkLnNob3dUb2dnbGUpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGUtYnV0dG9uXCI+XG4gICAgICAgICAgICA8cy1idXR0b25cbiAgICAgICAgICAgICAgICBbaWNvbkNsYXNzXT1cInBhc3N3b3JkVmlzaWJsZSA/ICdmYXMgZmEtZXllLXNsYXNoJyA6ICdmYXMgZmEtZXllJ1wiXG4gICAgICAgICAgICAgICAgcHJpb3JpdHk9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNoYW5nZVZpc2libGUoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3MtYnV0dG9uPlxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuPC9kaXY+XG5cbiJdfQ==
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9wYXNzd29yZC9wYXNzd29yZC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3Bhc3N3b3JkL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdEQUF3RDtBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1B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ZixlQUFlO3FCQUNsQjs4QkFTTSxPQUFPO3NCQURiLE1BQU07Z0JBSUEsT0FBTztzQkFEYixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU07Z0JBR2dCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4ICovXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9pbnB1dC10ZXh0JztcbmltcG9ydCB7IFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Bhc3N3b3JkLXN0cmVuZ3RoJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1maWVsZC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFBhc3N3b3JkRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvcGFzc3dvcmQtZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRmllbGRMYWJlbENvbXBvbmVudCxcbiAgICAgICAgTmdDbGFzcyxcbiAgICAgICAgVG9vbHRpcERpcmVjdGl2ZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdTdHlsZSxcbiAgICAgICAgUGFzc3dvcmRTdHJlbmd0aE1vZHVsZSxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBJbnB1dFRleHRNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxQYXNzd29yZEZpZWxkQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25JbnB1dDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dFJlZicpIGlucHV0UmVmOiBFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBwYXNzd29yZFZpc2libGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybVV0aWxzID0gaW5qZWN0KEZvcm1GaWVsZFV0aWxzU2VydmljZSk7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybVV0aWxzLnN3aXRjaEVtcHR5U3RyaW5nVG9OdWxsKHRoaXMuZm9ybUNvbnRyb2woKSwgdGhpcy5uZ1Vuc3Vic2NyaWJlKTtcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkKCk7XG4gICAgICAgIHRoaXMub25Gb2N1cy5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGQub25Gb2N1cykge1xuICAgICAgICAgICAgICAgIGZpZWxkLm9uRm9jdXMoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbklucHV0LnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5vbklucHV0KSB7XG4gICAgICAgICAgICAgICAgZmllbGQub25JbnB1dChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uQ29tcGxldGUucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGQub25Db21wbGV0ZSkge1xuICAgICAgICAgICAgICAgIGZpZWxkLm9uQ29tcGxldGUoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZVZpc2libGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFzc3dvcmRWaXNpYmxlID0gIXRoaXMucGFzc3dvcmRWaXNpYmxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cblxuIiwiQGxldCBfZmllbGQgPSBmaWVsZCgpO1xuQGlmIChpbnB1dFJlZikge1xuICAgIDxzLWZpZWxkLWxhYmVsXG4gICAgICAgIFtmaWVsZF09XCJfZmllbGRcIlxuICAgICAgICBbZmllbGRDb250YWluZXJSZWZdPVwiaW5wdXRSZWZcIlxuICAgID48L3MtZmllbGQtbGFiZWw+XG59XG5cbjxkaXZcbiAgICBjbGFzcz1cInBhc3N3b3JkLWZpZWxkXCJcbiAgICBbbmdDbGFzc109XCJ7ICdwYXNzd29yZC1maWVsZC0tdG9nZ2xlJzogX2ZpZWxkLnNob3dUb2dnbGUgfVwiXG4+XG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFJlZlxuICAgICAgICBbdHlwZV09XCJwYXNzd29yZFZpc2libGUgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcbiAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgIGNsYXNzPVwicGFzc3dvcmQtaW5wdXRcIlxuICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgIFtzVG9vbHRpcF09XCJfZmllbGQudG9vbHRpcFwiXG4gICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGQucGxhY2Vob2xkZXIgPz8gJydcIlxuICAgICAgICBbc2hvd0RlbGF5XT1cIjUwMFwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiX2ZpZWxkLm1heExlbmd0aCA/PyA5OTk5OTk5XCJcbiAgICAgICAgc0lucHV0VGV4dFxuICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgIChibHVyKT1cIl9maWVsZC5vbkJsdXIgPyBfZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICBbbmdTdHlsZV09XCJfZmllbGQuc3R5bGVcIlxuICAgICAgICBbc1Bhc3N3b3JkU3RyZW5ndGhdPVwiX2ZpZWxkLnBhc3N3b3JkU3RyZW5ndGggPyBfZmllbGQucGFzc3dvcmRTdHJlbmd0aCA6IGZhbHNlXCJcbiAgICAgICAgW3Bhc3N3b3JkU3RyZW5ndGhEZXNjcmlwdGlvbl09XCJcbiAgICAgICAgICAgIF9maWVsZC5wYXNzd29yZFN0cmVuZ3RoT3B0aW9ucz8uZGVzY3JpcHRpb24gPyBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnMhLmRlc2NyaXB0aW9uIDogJydcbiAgICAgICAgXCJcbiAgICAgICAgW3Bhc3N3b3JkU3RyZW5ndGhXZWFrVGl0bGVdPVwiXG4gICAgICAgICAgICBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LndlYWtUaXRsZSA/IF9maWVsZC5wYXNzd29yZFN0cmVuZ3RoT3B0aW9ucz8ud2Vha1RpdGxlIDogJydcbiAgICAgICAgXCJcbiAgICAgICAgW3Bhc3N3b3JkU3RyZW5ndGhNZWRpdW1UaXRsZV09XCJcbiAgICAgICAgICAgIF9maWVsZC5wYXNzd29yZFN0cmVuZ3RoT3B0aW9ucz8ubWVkaXVtVGl0bGUgPyBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/Lm1lZGl1bVRpdGxlIDogJydcbiAgICAgICAgXCJcbiAgICAgICAgW3Bhc3N3b3JkU3RyZW5ndGhTdHJvbmdUaXRsZV09XCJcbiAgICAgICAgICAgIF9maWVsZC5wYXNzd29yZFN0cmVuZ3RoT3B0aW9ucz8uc3Ryb25nVGl0bGUgPyBfZmllbGQucGFzc3dvcmRTdHJlbmd0aE9wdGlvbnM/LnN0cm9uZ1RpdGxlIDogJydcbiAgICAgICAgXCJcbiAgICAgICAgW3Bhc3N3b3JkU3RyZW5ndGhWYWxpZGF0aW9uXT1cIl9maWVsZC5wYXNzd29yZFN0cmVuZ3RoT3B0aW9ucz8udmFsaWRhdGlvblwiXG4gICAgLz5cbiAgICBAaWYgKF9maWVsZC5zaG93VG9nZ2xlKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlLWJ1dHRvblwiPlxuICAgICAgICAgICAgPHMtYnV0dG9uXG4gICAgICAgICAgICAgICAgW2ljb25DbGFzc109XCJwYXNzd29yZFZpc2libGUgPyAnZmFzIGZhLWV5ZS1zbGFzaCcgOiAnZmFzIGZhLWV5ZSdcIlxuICAgICAgICAgICAgICAgIHByaW9yaXR5PVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DaGFuZ2VWaXNpYmxlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zLWJ1dHRvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgIH1cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/* eslint-disable @angular-eslint/no-output-on-prefix */
|
|
2
|
+
import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
|
|
2
3
|
import { ChangeDetectorRef, Component, EventEmitter, inject, input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
3
4
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import {
|
|
5
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { ButtonComponent } from '@seniorsistemas/angular-components/button';
|
|
6
6
|
import { InputMaskDirective } from '@seniorsistemas/angular-components/input-mask';
|
|
7
|
-
import {
|
|
8
|
-
import { FieldLabelComponent } from '../../../components/field-label/field-label.component';
|
|
7
|
+
import { InputTextDirective } from '@seniorsistemas/angular-components/input-text';
|
|
9
8
|
import { TooltipModule } from '@seniorsistemas/angular-components/tooltip';
|
|
10
|
-
import { ButtonComponent } from '@seniorsistemas/angular-components/button';
|
|
11
|
-
import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
|
|
12
9
|
import { KeyFilterModule } from 'primeng/keyfilter';
|
|
13
|
-
import {
|
|
10
|
+
import { Subject } from 'rxjs';
|
|
11
|
+
import { takeUntil } from 'rxjs/operators';
|
|
12
|
+
import { FieldLabelComponent } from '../../../components/field-label/field-label.component';
|
|
13
|
+
import { FormFieldUtilsService } from '../../../services/form-field-utils.service';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
import * as i1 from "@seniorsistemas/angular-components/tooltip";
|
|
16
16
|
import * as i2 from "@angular/forms";
|
|
@@ -55,7 +55,7 @@ export class TextFieldComponent {
|
|
|
55
55
|
return this.inputRef?.nativeElement;
|
|
56
56
|
}
|
|
57
57
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TextFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n\n@if (inputElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputElement\"\n />\n}\n\n@if (_field.mask) {\n <input\n #inputRef\n
|
|
58
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TextFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n\n@if (inputElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputElement\"\n />\n}\n\n@if (_field.mask) {\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [characterPattern]=\"fieldUtils.getFieldProperty(_field.characterPattern ?? '[A-Za-z]')\"\n [unmask]=\"fieldUtils.getFieldProperty(_field.unmask ?? false)\"\n slotChar=\"_\"\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n} @else {\n <div class=\"text-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n\n <ng-container *ngTemplateOutlet=\"_field.keyFilter ? inputKeyFilter : input\"></ng-container>\n\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n<ng-template #input>\n <input\n #inputRef\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n class=\"input-text\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n</ng-template>\n<ng-template #inputKeyFilter>\n <input\n #inputText\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n class=\"input-text\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [pKeyFilter]=\"_field.keyFilter\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n</ng-template>\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button.leftAddon)\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n\n", styles: [".text-field{display:flex;width:100%}.text-field .input-text{width:auto;flex-grow:1}.text-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.text-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.text-field:has(input:focus) .button-left button{border-color:#428bca!important}.text-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.text-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.text-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.text-field:has(input:focus) .button-right button{border-color:#428bca!important}.text-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: KeyFilterModule }, { kind: "directive", type: i3.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: InputTextDirective, selector: "input[sInputText]" }], encapsulation: i0.ViewEncapsulation.None });
|
|
59
59
|
}
|
|
60
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextFieldComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
@@ -69,8 +69,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
69
69
|
KeyFilterModule,
|
|
70
70
|
NgStyle,
|
|
71
71
|
NgTemplateOutlet,
|
|
72
|
-
|
|
73
|
-
], template: "@let _field = field();\n\n@if (inputElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputElement\"\n />\n}\n\n@if (_field.mask) {\n <input\n #inputRef\n
|
|
72
|
+
InputTextDirective,
|
|
73
|
+
], template: "@let _field = field();\n\n@if (inputElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputElement\"\n />\n}\n\n@if (_field.mask) {\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [characterPattern]=\"fieldUtils.getFieldProperty(_field.characterPattern ?? '[A-Za-z]')\"\n [unmask]=\"fieldUtils.getFieldProperty(_field.unmask ?? false)\"\n slotChar=\"_\"\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n} @else {\n <div class=\"text-field\">\n @if (_field.leftAddon) {\n <div class=\"button-left\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.leftAddon }\"></ng-container>\n </div>\n }\n\n <ng-container *ngTemplateOutlet=\"_field.keyFilter ? inputKeyFilter : input\"></ng-container>\n\n @if (_field.rightAddon) {\n <div class=\"button-right\">\n <ng-container *ngTemplateOutlet=\"addonRender; context: { button: _field.rightAddon }\"></ng-container>\n </div>\n }\n </div>\n}\n<ng-template #input>\n <input\n #inputRef\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n class=\"input-text\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n</ng-template>\n<ng-template #inputKeyFilter>\n <input\n #inputText\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n class=\"input-text\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [pKeyFilter]=\"_field.keyFilter\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n</ng-template>\n\n<ng-template\n #addonRender\n let-button=\"button\"\n>\n <s-button\n [label]=\"button.label\"\n [priority]=\"button.priority ?? 'default'\"\n [iconClass]=\"button.icon\"\n [disabled]=\"fieldUtils.fieldPropertyIsDisabled(button.leftAddon)\"\n [auxiliary]=\"false\"\n (clicked)=\"button.callback?.()\"\n />\n</ng-template>\n\n", styles: [".text-field{display:flex;width:100%}.text-field .input-text{width:auto;flex-grow:1}.text-field:has(.button-left) .input-text{border-top-left-radius:0;border-bottom-left-radius:0}.text-field:has(.button-left) .button-left button{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.text-field:has(input:focus) .button-left button{border-color:#428bca!important}.text-field:has(input.ng-invalid.ng-dirty) .button-left button{border-color:#c13018!important}.text-field:has(.button-right) .input-text{border-top-right-radius:0;border-bottom-right-radius:0}.text-field:has(.button-right) .button-right button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.text-field:has(input:focus) .button-right button{border-color:#428bca!important}.text-field:has(input.ng-invalid.ng-dirty) .button-right button{border-color:#c13018!important}\n"] }]
|
|
74
74
|
}], propDecorators: { onInput: [{
|
|
75
75
|
type: Output
|
|
76
76
|
}], onFocus: [{
|
|
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
81
81
|
type: ViewChild,
|
|
82
82
|
args: ['inputRef']
|
|
83
83
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3REFBd0Q7QUFDeEQsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBRVQsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHbkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDNUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFp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LE9BQU87d0JBQ1AsZUFBZTt3QkFDZixPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsU0FBUztxQkFDWjs4QkFXTSxPQUFPO3NCQURiLE1BQU07Z0JBSUEsT0FBTztzQkFEYixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU07Z0JBSUEsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeCAqL1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElucHV0TWFza0RpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvaW5wdXQtbWFzayc7XG5pbXBvcnQgeyBGb3JtRmllbGRVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9mb3JtLWZpZWxkLXV0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGV4dEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL3RleHQtZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZmllbGQtbGFiZWwvZmllbGQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBLZXlGaWx0ZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2tleWZpbHRlcic7XG5pbXBvcnQgeyBJbnB1dFRleHQgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAndGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZpZWxkTGFiZWxDb21wb25lbnQsXG4gICAgICAgIElucHV0TWFza0RpcmVjdGl2ZSxcbiAgICAgICAgVG9vbHRpcE1vZHVsZSxcbiAgICAgICAgQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBLZXlGaWx0ZXJNb2R1bGUsXG4gICAgICAgIE5nU3R5bGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIElucHV0VGV4dCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8VGV4dEZpZWxkQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBmaWVsZFV0aWxzID0gaW5qZWN0KEZvcm1GaWVsZFV0aWxzU2VydmljZSk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25JbnB1dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dFJlZicpXG4gICAgcHVibGljIGlucHV0UmVmOiBFbGVtZW50UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZpZWxkVXRpbHMuc3dpdGNoRW1wdHlTdHJpbmdUb051bGwodGhpcy5mb3JtQ29udHJvbCgpLCB0aGlzLm5nVW5zdWJzY3JpYmUpO1xuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQoKTtcbiAgICAgICAgdGhpcy5vbkZvY3VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IEZvY3VzRXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5vbkZvY3VzKSB7XG4gICAgICAgICAgICAgICAgZmllbGQub25Gb2N1cyhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uSW5wdXQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGQub25JbnB1dCkge1xuICAgICAgICAgICAgICAgIGZpZWxkLm9uSW5wdXQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vbkNvbXBsZXRlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLm9uQ29tcGxldGUpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5vbkNvbXBsZXRlKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudDtcbiAgICB9XG59XG5cbiIsIkBsZXQgX2ZpZWxkID0gZmllbGQoKTtcblxuQGlmIChpbnB1dEVsZW1lbnQpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0RWxlbWVudFwiXG4gICAgLz5cbn1cblxuQGlmIChfZmllbGQubWFzaykge1xuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRSZWZcbiAgICAgICAgcElucHV0VGV4dFxuICAgICAgICBjbGFzcz1cImlucHV0LXRleHQgbW91c2V0cmFwXCJcbiAgICAgICAgW3NJbnB1dE1hc2tdPVwiZmllbGRVdGlscy5nZXRGaWVsZFByb3BlcnR5TWFzayhfZmllbGQubWFzaylcIlxuICAgICAgICBbY2hhcmFjdGVyUGF0dGVybl09XCJmaWVsZFV0aWxzLmdldEZpZWxkUHJvcGVydHkoX2ZpZWxkLmNoYXJhY3RlclBhdHRlcm4gPz8gJ1tBLVphLXpdJylcIlxuICAgICAgICBbdW5tYXNrXT1cImZpZWxkVXRpbHMuZ2V0RmllbGRQcm9wZXJ0eShfZmllbGQudW5tYXNrID8/IGZhbHNlKVwiXG4gICAgICAgIHNsb3RDaGFyPVwiX1wiXG4gICAgICAgIFt0eXBlXT1cIl9maWVsZC5pbnB1dFR5cGUgfHwgJ3RleHQnXCJcbiAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgIFtzVG9vbHRpcF09XCJfZmllbGQudG9vbHRpcFwiXG4gICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJfZmllbGQuYnJvd3NlckF1dG9jb21wbGV0ZSA/ICdvbicgOiAnb2ZmJ1wiXG4gICAgICAgIFtyZWFkT25seV09XCJfZmllbGQucmVhZG9ubHkgPyBfZmllbGQucmVhZG9ubHkoKSA6IGZhbHNlXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAoYmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIChtYXNrQ29tcGxldGUpPVwib25Db21wbGV0ZS5uZXh0KCRldmVudClcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dC5uZXh0KCRldmVudClcIlxuICAgIC8+XG59IEBlbHNlIHtcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1maWVsZFwiPlxuICAgICAgICBAaWYgKF9maWVsZC5sZWZ0QWRkb24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tbGVmdFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhZGRvblJlbmRlcjsgY29udGV4dDogeyBidXR0b246IF9maWVsZC5sZWZ0QWRkb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiX2ZpZWxkLmtleUZpbHRlciA/IGlucHV0S2V5RmlsdGVyIDogaW5wdXRcIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICBAaWYgKF9maWVsZC5yaWdodEFkZG9uKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFkZG9uUmVuZGVyOyBjb250ZXh0OiB7IGJ1dHRvbjogX2ZpZWxkLnJpZ2h0QWRkb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn1cbjxuZy10ZW1wbGF0ZSAjaW5wdXQ+XG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFJlZlxuICAgICAgICBbdHlwZV09XCJfZmllbGQuaW5wdXRUeXBlIHx8ICd0ZXh0J1wiXG4gICAgICAgIFtpZF09XCJfZmllbGQuaWQgfHwgX2ZpZWxkLm5hbWVcIlxuICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgIFtzVG9vbHRpcF09XCJfZmllbGQudG9vbHRpcFwiXG4gICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGQucGxhY2Vob2xkZXIgPz8gJydcIlxuICAgICAgICBbc2hvd0RlbGF5XT1cIjUwMFwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiX2ZpZWxkLm1heExlbmd0aCA/PyA5OTk5OTk5XCJcbiAgICAgICAgcElucHV0VGV4dFxuICAgICAgICBjbGFzcz1cImlucHV0LXRleHRcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIl9maWVsZC5icm93c2VyQXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiJ21vdXNldHJhcCdcIlxuICAgICAgICAoYmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgW25nU3R5bGVdPVwiX2ZpZWxkLnN0eWxlXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cIl9maWVsZC5yZWFkb25seSA/IF9maWVsZC5yZWFkb25seSgpIDogZmFsc2VcIlxuICAgIC8+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNpbnB1dEtleUZpbHRlcj5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0VGV4dFxuICAgICAgICBbdHlwZV09XCJfZmllbGQuaW5wdXRUeXBlIHx8ICd0ZXh0J1wiXG4gICAgICAgIFtpZF09XCJfZmllbGQuaWQgfHwgX2ZpZWxkLm5hbWVcIlxuICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgIFtzVG9vbHRpcF09XCJfZmllbGQudG9vbHRpcFwiXG4gICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGQucGxhY2Vob2xkZXIgPz8gJydcIlxuICAgICAgICBbc2hvd0RlbGF5XT1cIjUwMFwiXG4gICAgICAgIFttYXhMZW5ndGhdPVwiX2ZpZWxkLm1heExlbmd0aCA/PyA5OTk5OTk5XCJcbiAgICAgICAgcElucHV0VGV4dFxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIl9maWVsZC5icm93c2VyQXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcbiAgICAgICAgY2xhc3M9XCJpbnB1dC10ZXh0XCJcbiAgICAgICAgW25nQ2xhc3NdPVwiJ21vdXNldHJhcCdcIlxuICAgICAgICAoYmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgICAgIFtwS2V5RmlsdGVyXT1cIl9maWVsZC5rZXlGaWx0ZXJcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIl9maWVsZC5zdHlsZVwiXG4gICAgICAgIFtyZWFkT25seV09XCJfZmllbGQucmVhZG9ubHkgPyBfZmllbGQucmVhZG9ubHkoKSA6IGZhbHNlXCJcbiAgICAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICAgI2FkZG9uUmVuZGVyXG4gICAgbGV0LWJ1dHRvbj1cImJ1dHRvblwiXG4+XG4gICAgPHMtYnV0dG9uXG4gICAgICAgIFtsYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICBbcHJpb3JpdHldPVwiYnV0dG9uLnByaW9yaXR5ID8/ICdkZWZhdWx0J1wiXG4gICAgICAgIFtpY29uQ2xhc3NdPVwiYnV0dG9uLmljb25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZmllbGRVdGlscy5maWVsZFByb3BlcnR5SXNEaXNhYmxlZChidXR0b24ubGVmdEFkZG9uKVwiXG4gICAgICAgIFthdXhpbGlhcnldPVwiZmFsc2VcIlxuICAgICAgICAoY2xpY2tlZCk9XCJidXR0b24uY2FsbGJhY2s/LigpXCJcbiAgICAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuIl19
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQvdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3REFBd0Q7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0Is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QUNuQixPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsT0FBTzt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGtCQUFrQjtxQkFDckI7OEJBV00sT0FBTztzQkFEYixNQUFNO2dCQUlBLE9BQU87c0JBRGIsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNO2dCQUlBLFFBQVE7c0JBRGQsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXggKi9cbmltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBJbnB1dE1hc2tEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2lucHV0LW1hc2snO1xuaW1wb3J0IHsgSW5wdXRUZXh0RGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9pbnB1dC10ZXh0JztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgS2V5RmlsdGVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9rZXlmaWx0ZXInO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1maWVsZC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFRleHRGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy90ZXh0LWZpZWxkJztcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL2Jhc2UtZmllbGQtY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICd0ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90ZXh0LWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRmllbGRMYWJlbENvbXBvbmVudCxcbiAgICAgICAgSW5wdXRNYXNrRGlyZWN0aXZlLFxuICAgICAgICBUb29sdGlwTW9kdWxlLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEtleUZpbHRlck1vZHVsZSxcbiAgICAgICAgTmdTdHlsZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgSW5wdXRUZXh0RGlyZWN0aXZlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxUZXh0RmllbGRDb25maWc+KCk7XG4gICAgZm9ybUNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQ29udHJvbD4oKTtcblxuICAgIGZpZWxkVXRpbHMgPSBpbmplY3QoRm9ybUZpZWxkVXRpbHNTZXJ2aWNlKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbklucHV0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvbkNvbXBsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJylcbiAgICBwdWJsaWMgaW5wdXRSZWY6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZmllbGRVdGlscy5zd2l0Y2hFbXB0eVN0cmluZ1RvTnVsbCh0aGlzLmZvcm1Db250cm9sKCksIHRoaXMubmdVbnN1YnNjcmliZSk7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZCgpO1xuICAgICAgICB0aGlzLm9uRm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLm9uRm9jdXMpIHtcbiAgICAgICAgICAgICAgICBmaWVsZC5vbkZvY3VzKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub25JbnB1dC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5vbklucHV0KSB7XG4gICAgICAgICAgICAgICAgZmllbGQub25JbnB1dChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9uQ29tcGxldGUucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGQub25Db21wbGV0ZSkge1xuICAgICAgICAgICAgICAgIGZpZWxkLm9uQ29tcGxldGUoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGdldCBpbnB1dEVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50O1xuICAgIH1cbn1cblxuIiwiQGxldCBfZmllbGQgPSBmaWVsZCgpO1xuXG5AaWYgKGlucHV0RWxlbWVudCkge1xuICAgIDxzLWZpZWxkLWxhYmVsXG4gICAgICAgIFtmaWVsZF09XCJfZmllbGRcIlxuICAgICAgICBbZmllbGRDb250YWluZXJSZWZdPVwiaW5wdXRFbGVtZW50XCJcbiAgICAvPlxufVxuXG5AaWYgKF9maWVsZC5tYXNrKSB7XG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFJlZlxuICAgICAgICBzSW5wdXRUZXh0XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtdGV4dCBtb3VzZXRyYXBcIlxuICAgICAgICBbc0lucHV0TWFza109XCJmaWVsZFV0aWxzLmdldEZpZWxkUHJvcGVydHlNYXNrKF9maWVsZC5tYXNrKVwiXG4gICAgICAgIFtjaGFyYWN0ZXJQYXR0ZXJuXT1cImZpZWxkVXRpbHMuZ2V0RmllbGRQcm9wZXJ0eShfZmllbGQuY2hhcmFjdGVyUGF0dGVybiA/PyAnW0EtWmEtel0nKVwiXG4gICAgICAgIFt1bm1hc2tdPVwiZmllbGRVdGlscy5nZXRGaWVsZFByb3BlcnR5KF9maWVsZC51bm1hc2sgPz8gZmFsc2UpXCJcbiAgICAgICAgc2xvdENoYXI9XCJfXCJcbiAgICAgICAgW3R5cGVdPVwiX2ZpZWxkLmlucHV0VHlwZSB8fCAndGV4dCdcIlxuICAgICAgICBbaWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcbiAgICAgICAgW25hbWVdPVwiX2ZpZWxkLm5hbWVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIl9maWVsZC5icm93c2VyQXV0b2NvbXBsZXRlID8gJ29uJyA6ICdvZmYnXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cIl9maWVsZC5yZWFkb25seSA/IF9maWVsZC5yZWFkb25seSgpIDogZmFsc2VcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgIChibHVyKT1cIl9maWVsZC5vbkJsdXIgPyBfZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKG1hc2tDb21wbGV0ZSk9XCJvbkNvbXBsZXRlLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0Lm5leHQoJGV2ZW50KVwiXG4gICAgLz5cbn0gQGVsc2Uge1xuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWZpZWxkXCI+XG4gICAgICAgIEBpZiAoX2ZpZWxkLmxlZnRBZGRvbikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFkZG9uUmVuZGVyOyBjb250ZXh0OiB7IGJ1dHRvbjogX2ZpZWxkLmxlZnRBZGRvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJfZmllbGQua2V5RmlsdGVyID8gaW5wdXRLZXlGaWx0ZXIgOiBpbnB1dFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIEBpZiAoX2ZpZWxkLnJpZ2h0QWRkb24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWRkb25SZW5kZXI7IGNvbnRleHQ6IHsgYnV0dG9uOiBfZmllbGQucmlnaHRBZGRvbiB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuPG5nLXRlbXBsYXRlICNpbnB1dD5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0UmVmXG4gICAgICAgIFt0eXBlXT1cIl9maWVsZC5pbnB1dFR5cGUgfHwgJ3RleHQnXCJcbiAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgW21heExlbmd0aF09XCJfZmllbGQubWF4TGVuZ3RoID8/IDk5OTk5OTlcIlxuICAgICAgICBzSW5wdXRUZXh0XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtdGV4dFwiXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwiX2ZpZWxkLmJyb3dzZXJBdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIlxuICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgIChibHVyKT1cIl9maWVsZC5vbkJsdXIgPyBfZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICBbbmdTdHlsZV09XCJfZmllbGQuc3R5bGVcIlxuICAgICAgICBbcmVhZE9ubHldPVwiX2ZpZWxkLnJlYWRvbmx5ID8gX2ZpZWxkLnJlYWRvbmx5KCkgOiBmYWxzZVwiXG4gICAgLz5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2lucHV0S2V5RmlsdGVyPlxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRUZXh0XG4gICAgICAgIFt0eXBlXT1cIl9maWVsZC5pbnB1dFR5cGUgfHwgJ3RleHQnXCJcbiAgICAgICAgW2lkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlciA/PyAnJ1wiXG4gICAgICAgIFtzaG93RGVsYXldPVwiNTAwXCJcbiAgICAgICAgW21heExlbmd0aF09XCJfZmllbGQubWF4TGVuZ3RoID8/IDk5OTk5OTlcIlxuICAgICAgICBzSW5wdXRUZXh0XG4gICAgICAgIFthdXRvY29tcGxldGVdPVwiX2ZpZWxkLmJyb3dzZXJBdXRvY29tcGxldGUgPyAnb24nIDogJ29mZidcIlxuICAgICAgICBjbGFzcz1cImlucHV0LXRleHRcIlxuICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgIChibHVyKT1cIl9maWVsZC5vbkJsdXIgPyBfZmllbGQub25CbHVyKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgW3BLZXlGaWx0ZXJdPVwiX2ZpZWxkLmtleUZpbHRlclwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgW25nU3R5bGVdPVwiX2ZpZWxkLnN0eWxlXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cIl9maWVsZC5yZWFkb25seSA/IF9maWVsZC5yZWFkb25seSgpIDogZmFsc2VcIlxuICAgIC8+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjYWRkb25SZW5kZXJcbiAgICBsZXQtYnV0dG9uPVwiYnV0dG9uXCJcbj5cbiAgICA8cy1idXR0b25cbiAgICAgICAgW2xhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgIFtwcmlvcml0eV09XCJidXR0b24ucHJpb3JpdHkgPz8gJ2RlZmF1bHQnXCJcbiAgICAgICAgW2ljb25DbGFzc109XCJidXR0b24uaWNvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZFV0aWxzLmZpZWxkUHJvcGVydHlJc0Rpc2FibGVkKGJ1dHRvbi5sZWZ0QWRkb24pXCJcbiAgICAgICAgW2F1eGlsaWFyeV09XCJmYWxzZVwiXG4gICAgICAgIChjbGlja2VkKT1cImJ1dHRvbi5jYWxsYmFjaz8uKClcIlxuICAgIC8+XG48L25nLXRlbXBsYXRlPlxuXG4iXX0=
|
|
@@ -3,6 +3,7 @@ import { ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Out
|
|
|
3
3
|
import { GlobalSearchDropdownItemComponent } from './components/dropdown/global-search-dropdown-item.component';
|
|
4
4
|
import { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';
|
|
5
5
|
import { FormsModule } from '@angular/forms';
|
|
6
|
+
import { InputTextDirective } from '@seniorsistemas/angular-components/input-text';
|
|
6
7
|
import { LoadingStateDirective } from '@seniorsistemas/angular-components/loading-state';
|
|
7
8
|
import { NgTemplateOutlet, NgClass } from '@angular/common';
|
|
8
9
|
import { ButtonComponent } from '@seniorsistemas/angular-components/button';
|
|
@@ -105,7 +106,7 @@ export class GlobalSearchComponent {
|
|
|
105
106
|
this._cdr.detectChanges();
|
|
106
107
|
}
|
|
107
108
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GlobalSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
108
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GlobalSearchComponent, isStandalone: true, selector: "s-global-search", inputs: { id: "id", delay: "delay", totalItensLabel: "totalItensLabel", showMoreLabel: "showMoreLabel", placeholder: "placeholder", isLoading: "isLoading", totalElements: "totalElements", emptyTitle: "emptyTitle", emptyDescription: "emptyDescription", emptyIcon: "emptyIcon", showFooter: "showFooter" }, outputs: { searched: "searched", focused: "focused", moreShown: "moreShown" }, queries: [{ propertyName: "dropdownItens", predicate: GlobalSearchDropdownItemComponent }], viewQueries: [{ propertyName: "globalSearch", first: true, predicate: ["globalSearch"], descendants: true }], ngImport: i0, template: "<div class=\"group flex max-w-full\">\r\n <input\r\n #globalSearch\r\n class=\"global-search__input rounded-tl-[20px] rounded-bl-[20px] rounded-tr-none rounded-br-none border border-solid border-grayscale-30 border-r-0 cursor-pointer h-[25px] min-h-[25px] pl-[15px] text-sm font-open-sans outline-none bg-grayscale-0 transition-all duration-300 w-[136px]\"\r\n [(ngModel)]=\"search\"\r\n (ngModelChange)=\"onChange()\"\r\n [placeholder]=\"placeholder\"\r\n (focus)=\"focusIn()\"\r\n (blur)=\"focusOut()\"\r\n />\r\n <span class=\"global-search__span items-center bg-transparent border border-solid border-grayscale-30 border-l-0 rounded-tr-[20px] rounded-br-[20px] flex h-[25px] justify-center px-2 transition-all duration-300\">\r\n <em class=\"fas fa-search\"></em>\r\n </span>\r\n\r\n @if (wasSearched) {\r\n <div class=\"bg-grayscale-0 rounded-[5px] shadow-[0_2px_8px_0_rgba(0,0,0,0.4)] mt-[60px] min-h-[50px] absolute w-[500px] z-[6]\">\r\n <div\r\n *sLoadingState=\"isLoading && !isModalLoading\"\r\n class=\"global-search__loader\"\r\n >\r\n @if ((dropdownItens && dropdownItens.length > 0) || isLoading) {\r\n <div class=\"min-h-[50px] w-full\">\r\n @if (dropdownItens && dropdownItens.length > 0) {\r\n <div>\r\n <div class=\"border-b border-solid border-grayscale-30 text-grayscale-90 font-semibold h-[50px] p-[15px] flex items-center justify-between\">\r\n <span class=\"m-0 p-0\">{{ totalItensLabel }}</span>\r\n <span\r\n class=\"m-0 p-0 cursor-pointer text-right\"\r\n (click)=\"close()\"\r\n >\r\n <em class=\"fas fa-times\"></em>\r\n </span>\r\n </div>\r\n <div\r\n class=\"max-h-[510px] overflow-auto\"\r\n [@expandableContent]=\"expanded\"\r\n >\r\n @for (item of dropdownItens; track item.id) {\r\n <div\r\n class=\"s-object-card-field hover:bg-[#dbe0e4]\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"item.content\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (showFooter) {\r\n <div class=\"border-t border-solid border-grayscale-30 h-[50px]\">\r\n <s-button\r\n class=\"flex flex-col\"\r\n (click)=\"showMore()\"\r\n priority=\"link\"\r\n >\r\n {{ showMoreLabel }}\r\n </s-button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if ((!dropdownItens || !dropdownItens.length) && !isLoading) {\r\n <s-empty-state\r\n [title]=\"emptyTitle ?? ''\"\r\n [description]=\"emptyDescription\"\r\n ngClass=\"global-search__empty-state--icon\"\r\n [iconClass]=\"emptyIcon ? emptyIcon : 'fas fa-search'\"\r\n >\r\n </s-empty-state>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (wasSearched) {\r\n <div\r\n class=\"bg-[rgba(0,0,0,0.4)] cursor-pointer h-[calc(100vh-70px)] left-0 mt-[50px] absolute w-full z-[5]\"\r\n (click)=\"close()\"\r\n ></div>\r\n }\r\n</div>\r\n", styles: [".global-search__input:active,.global-search__input:focus,.global-search__input-active{border-bottom:solid 1px #428bca;border-left:solid 1px #428bca;border-top:solid 1px #428bca;cursor:default;width:466px}.global-search__input:focus+.global-search__span,.global-search__input:active+.global-search__span{border-bottom:solid 1px #428bca;border-right:solid 1px #428bca;border-top:solid 1px #428bca}::ng-deep s-global-search{width:100%}::ng-deep s-global-search .global-search__loader{border-radius:5px!important;width:100%}::ng-deep s-global-search .global-search__empty-state--icon .empty-state .icon{font-size:40px}::ng-deep s-global-search .s-button-priority-link{color:#428bca}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: LoadingStateDirective, selector: "[sLoadingState]", inputs: ["sLoadingState"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked"] }, { kind: "component", type: EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
|
109
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GlobalSearchComponent, isStandalone: true, selector: "s-global-search", inputs: { id: "id", delay: "delay", totalItensLabel: "totalItensLabel", showMoreLabel: "showMoreLabel", placeholder: "placeholder", isLoading: "isLoading", totalElements: "totalElements", emptyTitle: "emptyTitle", emptyDescription: "emptyDescription", emptyIcon: "emptyIcon", showFooter: "showFooter" }, outputs: { searched: "searched", focused: "focused", moreShown: "moreShown" }, queries: [{ propertyName: "dropdownItens", predicate: GlobalSearchDropdownItemComponent }], viewQueries: [{ propertyName: "globalSearch", first: true, predicate: ["globalSearch"], descendants: true }], ngImport: i0, template: "<div class=\"group flex max-w-full\">\r\n <input\r\n #globalSearch\r\n sInputText\r\n class=\"global-search__input rounded-tl-[20px] rounded-bl-[20px] rounded-tr-none rounded-br-none border border-solid border-grayscale-30 border-r-0 cursor-pointer h-[25px] min-h-[25px] pl-[15px] text-sm font-open-sans outline-none bg-grayscale-0 transition-all duration-300 w-[136px]\"\r\n [(ngModel)]=\"search\"\r\n (ngModelChange)=\"onChange()\"\r\n [placeholder]=\"placeholder\"\r\n (focus)=\"focusIn()\"\r\n (blur)=\"focusOut()\"\r\n />\r\n <span class=\"global-search__span items-center bg-transparent border border-solid border-grayscale-30 border-l-0 rounded-tr-[20px] rounded-br-[20px] flex h-[25px] justify-center px-2 transition-all duration-300\">\r\n <em class=\"fas fa-search\"></em>\r\n </span>\r\n\r\n @if (wasSearched) {\r\n <div class=\"bg-grayscale-0 rounded-[5px] shadow-[0_2px_8px_0_rgba(0,0,0,0.4)] mt-[60px] min-h-[50px] absolute w-[500px] z-[6]\">\r\n <div\r\n *sLoadingState=\"isLoading && !isModalLoading\"\r\n class=\"global-search__loader\"\r\n >\r\n @if ((dropdownItens && dropdownItens.length > 0) || isLoading) {\r\n <div class=\"min-h-[50px] w-full\">\r\n @if (dropdownItens && dropdownItens.length > 0) {\r\n <div>\r\n <div class=\"border-b border-solid border-grayscale-30 text-grayscale-90 font-semibold h-[50px] p-[15px] flex items-center justify-between\">\r\n <span class=\"m-0 p-0\">{{ totalItensLabel }}</span>\r\n <span\r\n class=\"m-0 p-0 cursor-pointer text-right\"\r\n (click)=\"close()\"\r\n >\r\n <em class=\"fas fa-times\"></em>\r\n </span>\r\n </div>\r\n <div\r\n class=\"max-h-[510px] overflow-auto\"\r\n [@expandableContent]=\"expanded\"\r\n >\r\n @for (item of dropdownItens; track item.id) {\r\n <div\r\n class=\"s-object-card-field hover:bg-[#dbe0e4]\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"item.content\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (showFooter) {\r\n <div class=\"border-t border-solid border-grayscale-30 h-[50px]\">\r\n <s-button\r\n class=\"flex flex-col\"\r\n (click)=\"showMore()\"\r\n priority=\"link\"\r\n >\r\n {{ showMoreLabel }}\r\n </s-button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if ((!dropdownItens || !dropdownItens.length) && !isLoading) {\r\n <s-empty-state\r\n [title]=\"emptyTitle ?? ''\"\r\n [description]=\"emptyDescription\"\r\n ngClass=\"global-search__empty-state--icon\"\r\n [iconClass]=\"emptyIcon ? emptyIcon : 'fas fa-search'\"\r\n >\r\n </s-empty-state>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (wasSearched) {\r\n <div\r\n class=\"bg-[rgba(0,0,0,0.4)] cursor-pointer h-[calc(100vh-70px)] left-0 mt-[50px] absolute w-full z-[5]\"\r\n (click)=\"close()\"\r\n ></div>\r\n }\r\n</div>\r\n", styles: [".global-search__input:active,.global-search__input:focus,.global-search__input-active{border-bottom:solid 1px #428bca;border-left:solid 1px #428bca;border-top:solid 1px #428bca;cursor:default;width:466px}.global-search__input:focus+.global-search__span,.global-search__input:active+.global-search__span{border-bottom:solid 1px #428bca;border-right:solid 1px #428bca;border-top:solid 1px #428bca}::ng-deep s-global-search{width:100%}::ng-deep s-global-search .global-search__loader{border-radius:5px!important;width:100%}::ng-deep s-global-search .global-search__empty-state--icon .empty-state .icon{font-size:40px}::ng-deep s-global-search .s-button-priority-link{color:#428bca}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: InputTextDirective, selector: "input[sInputText]" }, { kind: "directive", type: LoadingStateDirective, selector: "[sLoadingState]", inputs: ["sLoadingState"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked"] }, { kind: "component", type: EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
|
109
110
|
trigger('expandableContent', [
|
|
110
111
|
state('*', style({ height: '0' })),
|
|
111
112
|
state('false', style({ height: '0' })),
|
|
@@ -127,12 +128,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
127
128
|
]),
|
|
128
129
|
], standalone: true, imports: [
|
|
129
130
|
FormsModule,
|
|
131
|
+
InputTextDirective,
|
|
130
132
|
LoadingStateDirective,
|
|
131
133
|
NgTemplateOutlet,
|
|
132
134
|
ButtonComponent,
|
|
133
135
|
EmptyStateComponent,
|
|
134
136
|
NgClass,
|
|
135
|
-
], template: "<div class=\"group flex max-w-full\">\r\n <input\r\n #globalSearch\r\n class=\"global-search__input rounded-tl-[20px] rounded-bl-[20px] rounded-tr-none rounded-br-none border border-solid border-grayscale-30 border-r-0 cursor-pointer h-[25px] min-h-[25px] pl-[15px] text-sm font-open-sans outline-none bg-grayscale-0 transition-all duration-300 w-[136px]\"\r\n [(ngModel)]=\"search\"\r\n (ngModelChange)=\"onChange()\"\r\n [placeholder]=\"placeholder\"\r\n (focus)=\"focusIn()\"\r\n (blur)=\"focusOut()\"\r\n />\r\n <span class=\"global-search__span items-center bg-transparent border border-solid border-grayscale-30 border-l-0 rounded-tr-[20px] rounded-br-[20px] flex h-[25px] justify-center px-2 transition-all duration-300\">\r\n <em class=\"fas fa-search\"></em>\r\n </span>\r\n\r\n @if (wasSearched) {\r\n <div class=\"bg-grayscale-0 rounded-[5px] shadow-[0_2px_8px_0_rgba(0,0,0,0.4)] mt-[60px] min-h-[50px] absolute w-[500px] z-[6]\">\r\n <div\r\n *sLoadingState=\"isLoading && !isModalLoading\"\r\n class=\"global-search__loader\"\r\n >\r\n @if ((dropdownItens && dropdownItens.length > 0) || isLoading) {\r\n <div class=\"min-h-[50px] w-full\">\r\n @if (dropdownItens && dropdownItens.length > 0) {\r\n <div>\r\n <div class=\"border-b border-solid border-grayscale-30 text-grayscale-90 font-semibold h-[50px] p-[15px] flex items-center justify-between\">\r\n <span class=\"m-0 p-0\">{{ totalItensLabel }}</span>\r\n <span\r\n class=\"m-0 p-0 cursor-pointer text-right\"\r\n (click)=\"close()\"\r\n >\r\n <em class=\"fas fa-times\"></em>\r\n </span>\r\n </div>\r\n <div\r\n class=\"max-h-[510px] overflow-auto\"\r\n [@expandableContent]=\"expanded\"\r\n >\r\n @for (item of dropdownItens; track item.id) {\r\n <div\r\n class=\"s-object-card-field hover:bg-[#dbe0e4]\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"item.content\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (showFooter) {\r\n <div class=\"border-t border-solid border-grayscale-30 h-[50px]\">\r\n <s-button\r\n class=\"flex flex-col\"\r\n (click)=\"showMore()\"\r\n priority=\"link\"\r\n >\r\n {{ showMoreLabel }}\r\n </s-button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if ((!dropdownItens || !dropdownItens.length) && !isLoading) {\r\n <s-empty-state\r\n [title]=\"emptyTitle ?? ''\"\r\n [description]=\"emptyDescription\"\r\n ngClass=\"global-search__empty-state--icon\"\r\n [iconClass]=\"emptyIcon ? emptyIcon : 'fas fa-search'\"\r\n >\r\n </s-empty-state>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (wasSearched) {\r\n <div\r\n class=\"bg-[rgba(0,0,0,0.4)] cursor-pointer h-[calc(100vh-70px)] left-0 mt-[50px] absolute w-full z-[5]\"\r\n (click)=\"close()\"\r\n ></div>\r\n }\r\n</div>\r\n", styles: [".global-search__input:active,.global-search__input:focus,.global-search__input-active{border-bottom:solid 1px #428bca;border-left:solid 1px #428bca;border-top:solid 1px #428bca;cursor:default;width:466px}.global-search__input:focus+.global-search__span,.global-search__input:active+.global-search__span{border-bottom:solid 1px #428bca;border-right:solid 1px #428bca;border-top:solid 1px #428bca}::ng-deep s-global-search{width:100%}::ng-deep s-global-search .global-search__loader{border-radius:5px!important;width:100%}::ng-deep s-global-search .global-search__empty-state--icon .empty-state .icon{font-size:40px}::ng-deep s-global-search .s-button-priority-link{color:#428bca}\n"] }]
|
|
137
|
+
], template: "<div class=\"group flex max-w-full\">\r\n <input\r\n #globalSearch\r\n sInputText\r\n class=\"global-search__input rounded-tl-[20px] rounded-bl-[20px] rounded-tr-none rounded-br-none border border-solid border-grayscale-30 border-r-0 cursor-pointer h-[25px] min-h-[25px] pl-[15px] text-sm font-open-sans outline-none bg-grayscale-0 transition-all duration-300 w-[136px]\"\r\n [(ngModel)]=\"search\"\r\n (ngModelChange)=\"onChange()\"\r\n [placeholder]=\"placeholder\"\r\n (focus)=\"focusIn()\"\r\n (blur)=\"focusOut()\"\r\n />\r\n <span class=\"global-search__span items-center bg-transparent border border-solid border-grayscale-30 border-l-0 rounded-tr-[20px] rounded-br-[20px] flex h-[25px] justify-center px-2 transition-all duration-300\">\r\n <em class=\"fas fa-search\"></em>\r\n </span>\r\n\r\n @if (wasSearched) {\r\n <div class=\"bg-grayscale-0 rounded-[5px] shadow-[0_2px_8px_0_rgba(0,0,0,0.4)] mt-[60px] min-h-[50px] absolute w-[500px] z-[6]\">\r\n <div\r\n *sLoadingState=\"isLoading && !isModalLoading\"\r\n class=\"global-search__loader\"\r\n >\r\n @if ((dropdownItens && dropdownItens.length > 0) || isLoading) {\r\n <div class=\"min-h-[50px] w-full\">\r\n @if (dropdownItens && dropdownItens.length > 0) {\r\n <div>\r\n <div class=\"border-b border-solid border-grayscale-30 text-grayscale-90 font-semibold h-[50px] p-[15px] flex items-center justify-between\">\r\n <span class=\"m-0 p-0\">{{ totalItensLabel }}</span>\r\n <span\r\n class=\"m-0 p-0 cursor-pointer text-right\"\r\n (click)=\"close()\"\r\n >\r\n <em class=\"fas fa-times\"></em>\r\n </span>\r\n </div>\r\n <div\r\n class=\"max-h-[510px] overflow-auto\"\r\n [@expandableContent]=\"expanded\"\r\n >\r\n @for (item of dropdownItens; track item.id) {\r\n <div\r\n class=\"s-object-card-field hover:bg-[#dbe0e4]\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"item.content\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (showFooter) {\r\n <div class=\"border-t border-solid border-grayscale-30 h-[50px]\">\r\n <s-button\r\n class=\"flex flex-col\"\r\n (click)=\"showMore()\"\r\n priority=\"link\"\r\n >\r\n {{ showMoreLabel }}\r\n </s-button>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n @if ((!dropdownItens || !dropdownItens.length) && !isLoading) {\r\n <s-empty-state\r\n [title]=\"emptyTitle ?? ''\"\r\n [description]=\"emptyDescription\"\r\n ngClass=\"global-search__empty-state--icon\"\r\n [iconClass]=\"emptyIcon ? emptyIcon : 'fas fa-search'\"\r\n >\r\n </s-empty-state>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n @if (wasSearched) {\r\n <div\r\n class=\"bg-[rgba(0,0,0,0.4)] cursor-pointer h-[calc(100vh-70px)] left-0 mt-[50px] absolute w-full z-[5]\"\r\n (click)=\"close()\"\r\n ></div>\r\n }\r\n</div>\r\n", styles: [".global-search__input:active,.global-search__input:focus,.global-search__input-active{border-bottom:solid 1px #428bca;border-left:solid 1px #428bca;border-top:solid 1px #428bca;cursor:default;width:466px}.global-search__input:focus+.global-search__span,.global-search__input:active+.global-search__span{border-bottom:solid 1px #428bca;border-right:solid 1px #428bca;border-top:solid 1px #428bca}::ng-deep s-global-search{width:100%}::ng-deep s-global-search .global-search__loader{border-radius:5px!important;width:100%}::ng-deep s-global-search .global-search__empty-state--icon .empty-state .icon{font-size:40px}::ng-deep s-global-search .s-button-priority-link{color:#428bca}\n"] }]
|
|
136
138
|
}], propDecorators: { globalSearch: [{
|
|
137
139
|
type: ViewChild,
|
|
138
140
|
args: ['globalSearch', { static: false }]
|
|
@@ -170,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
170
172
|
}], moreShown: [{
|
|
171
173
|
type: Output
|
|
172
174
|
}] } });
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZ2xvYmFsLXNlYXJjaC9zcmMvbGliL2dsb2JhbC1zZWFyY2gvZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZ2xvYmFsLXNlYXJjaC9zcmMvbGliL2dsb2JhbC1zZWFyY2gvZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFFckY7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUF3QkgsTUFBTSxPQUFPLHFCQUFxQjtJQUNiLElBQUksR0FBRyxN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Qzs0QkFDdEMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzs0QkFDckMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzs0QkFDbEQsVUFBVSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3lCQUMxRCxDQUFDO3FCQUNMLGNBQ1csSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixPQUFPO3FCQUNWOzhCQVFNLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFLckMsRUFBRTtzQkFEUixLQUFLO2dCQUtDLEtBQUs7c0JBRFgsS0FBSztnQkFLQyxlQUFlO3NCQURyQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLbEIsYUFBYTtzQkFEbkIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2xCLFdBQVc7c0JBRGpCLEtBQUs7Z0JBS0MsU0FBUztzQkFEZixLQUFLO2dCQUtDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBS0MsVUFBVTtzQkFEaEIsS0FBSztnQkFLQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBS0MsU0FBUztzQkFEZixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0MsYUFBYTtzQkFEbkIsZUFBZTt1QkFBQyxpQ0FBaUM7Z0JBSzNDLFFBQVE7c0JBRGQsTUFBTTtnQkFLQSxPQUFPO3NCQURiLE1BQU07Z0JBS0EsU0FBUztzQkFEZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbnRlbnRDaGlsZHJlbixcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE91dHB1dCxcclxuICAgIFF1ZXJ5TGlzdCxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIGluamVjdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEdsb2JhbFNlYXJjaERyb3Bkb3duSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9nbG9iYWwtc2VhcmNoLWRyb3Bkb3duLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExvYWRpbmdTdGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvbG9hZGluZy1zdGF0ZSc7XHJcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2J1dHRvbic7XHJcbmltcG9ydCB7IEVtcHR5U3RhdGVDb21wb25lbnQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2VtcHR5LXN0YXRlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb24gQ29tcG9uZW50ZSBkZSBidXNjYSBnbG9iYWwgY29tIGlucHV0LCBkcm9wZG93biBkZSByZXN1bHRhZG9zLCBlc3RhZG9cclxuICogZGUgY2FycmVnYW1lbnRvLCBlbXB0eSBzdGF0ZSBlIHN1cG9ydGUgYSBpdGVucyBjdXN0b21pesOhdmVpcyB2aWEgYEdsb2JhbFNlYXJjaERyb3Bkb3duSXRlbUNvbXBvbmVudGAuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPHMtZ2xvYmFsLXNlYXJjaFxyXG4gKiAgIHRvdGFsSXRlbnNMYWJlbD1cInJlc3VsdGFkb3NcIlxyXG4gKiAgIHNob3dNb3JlTGFiZWw9XCJWZXIgbWFpc1wiXHJcbiAqICAgW3RvdGFsRWxlbWVudHNdPVwidG90YWxcIlxyXG4gKiAgIChzZWFyY2gpPVwib25CdXNjYSgkZXZlbnQpXCIgLz5cclxuICogYGBgXHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBTdHJ1Y3R1cmVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzLWdsb2JhbC1zZWFyY2gnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dsb2JhbC1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgYW5pbWF0aW9uczogW1xyXG4gICAgICAgIHRyaWdnZXIoJ2V4cGFuZGFibGVDb250ZW50JywgW1xyXG4gICAgICAgICAgICBzdGF0ZSgnKicsIHN0eWxlKHsgaGVpZ2h0OiAnMCcgfSkpLFxyXG4gICAgICAgICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGhlaWdodDogJzAnIH0pKSxcclxuICAgICAgICAgICAgc3RhdGUoJ3RydWUnLCBzdHlsZSh7IGhlaWdodDogJyonIH0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbignKiA9PiB0cnVlJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnKSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2ZhbHNlIDw9PiB0cnVlJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnKSksXHJcbiAgICAgICAgXSksXHJcbiAgICBdLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBMb2FkaW5nU3RhdGVEaXJlY3RpdmUsXHJcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcclxuICAgICAgICBCdXR0b25Db21wb25lbnQsXHJcbiAgICAgICAgRW1wdHlTdGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBOZ0NsYXNzLFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdsb2JhbFNlYXJjaENvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgbmV4dElkID0gMDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdnbG9iYWxTZWFyY2gnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICAgIHB1YmxpYyBnbG9iYWxTZWFyY2g6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIElkZW50aWZpY2Fkb3Igw7puaWNvIGRvIGNvbXBvbmVudGUgbm8gRE9NLiBHZXJhZG8gYXV0b21hdGljYW1lbnRlIHNlIG7Do28gaW5mb3JtYWRvLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpZCA9IGBzLWdsb2JhbC1zZWFyY2gtJHtHbG9iYWxTZWFyY2hEcm9wZG93bkl0ZW1Db21wb25lbnQubmV4dElkKyt9YDtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFRlbXBvIGRlIGRlYm91bmNlIGVtIG1zIGFudGVzIGRlIGVtaXRpciBvIGV2ZW50byBkZSBidXNjYS4gQGRlZmF1bHQgNTAwICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRlbGF5ID0gNTAwO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gTGFiZWwgcXVlIGFjb21wYW5oYSBvIHRvdGFsIGRlIHJlc3VsdGFkb3MuIENhbXBvIG9icmlnYXTDs3Jpby4gKi9cclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXHJcbiAgICBwdWJsaWMgdG90YWxJdGVuc0xhYmVsITogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gUsOzdHVsbyBkbyBsaW5rIHBhcmEgZXhpYmlyIG1haXMgcmVzdWx0YWRvcy4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyBzaG93TW9yZUxhYmVsITogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gUGxhY2Vob2xkZXIgZG8gaW5wdXQgZGUgYnVzY2EuICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXhpYmUgaW5kaWNhZG9yIGRlIGNhcnJlZ2FtZW50byBubyBkcm9wZG93bi4gQGRlZmF1bHQgZmFsc2UgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBOw7ptZXJvIHRvdGFsIGRlIHJlc3VsdGFkb3MgZW5jb250cmFkb3MuICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRvdGFsRWxlbWVudHM/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBUw610dWxvIGRvIGVtcHR5IHN0YXRlIHF1YW5kbyBuw6NvIGjDoSByZXN1bHRhZG9zLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBlbXB0eVRpdGxlPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRGVzY3Jpw6fDo28gZG8gZW1wdHkgc3RhdGUgZXhpYmlkYSBhYmFpeG8gZG8gdMOtdHVsby4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZW1wdHlEZXNjcmlwdGlvbj86IHN0cmluZztcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIENsYXNzZSBkbyDDrWNvbmUgZXhpYmlkbyBubyBlbXB0eSBzdGF0ZS4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZW1wdHlJY29uPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRXhpYmUgbyByb2RhcMOpIGNvbSBvIGxpbmsgXCJ2ZXIgbWFpc1wiIGUgY29udGFnZW0gZGUgcmVzdWx0YWRvcy4gQGRlZmF1bHQgdHJ1ZSAqL1xyXG4gICAgQElucHV0KCkgc2hvd0Zvb3RlciA9IHRydWU7XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihHbG9iYWxTZWFyY2hEcm9wZG93bkl0ZW1Db21wb25lbnQpXHJcbiAgICBwdWJsaWMgZHJvcGRvd25JdGVuczogUXVlcnlMaXN0PEdsb2JhbFNlYXJjaERyb3Bkb3duSXRlbUNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gYW8gZGlnaXRhciBubyBjYW1wbyBkZSBidXNjYSwgY29tIG8gdmFsb3IgYXR1YWwgZGEgcGVzcXVpc2EuICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBzZWFyY2hlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBxdWFuZG8gbyBjYW1wbyBkZSBidXNjYSBnYW5oYSBvdSBwZXJkZSBmb2NvIChgdHJ1ZWAgPSBmb2NhZG8pLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRpZG8gYW8gY2xpY2FyIG5vIGxpbmsgcGFyYSBleGliaXIgbWFpcyByZXN1bHRhZG9zLiAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgbW9yZVNob3duID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIHB1YmxpYyBzZWFyY2g6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gICAgcHVibGljIHdhc1NlYXJjaGVkID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaXNNb2RhbExvYWRpbmcgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBleHBhbmRlZCA9IHRydWU7XHJcblxyXG4gICAgcHVibGljIG9uQ2hhbmdlKCkge1xyXG4gICAgICAgIGNvbnN0IHNlYXJjaCA9IHRoaXMuc2VhcmNoO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zZWFyY2ggPT09IHNlYXJjaCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY2FuU2hvd0dsb2JhbFNlYXJjaEFjdGl2ZSgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hlZC5lbWl0KHRoaXMuc2VhcmNoID8/ICcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIHRoaXMuZGVsYXkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBmb2N1c0luKCkge1xyXG4gICAgICAgIHRoaXMuZm9jdXNlZC5lbWl0KHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBmb2N1c091dCgpIHtcclxuICAgICAgICB0aGlzLmZvY3VzZWQuZW1pdChmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNob3dNb3JlKCkge1xyXG4gICAgICAgIHRoaXMubW9yZVNob3duLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2ggPSBudWxsO1xyXG4gICAgICAgIHRoaXMud2FzU2VhcmNoZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRyb3Bkb3duSXRlbnMgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaXNNb2RhbExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9yZW1vdmVBY3RpdmVDbGFzc0J5R2xvYmFsU2VhcmNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVtb3ZlQWN0aXZlQ2xhc3NCeUdsb2JhbFNlYXJjaCgpIHtcclxuICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5nbG9iYWxTZWFyY2gpKSByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuZ2xvYmFsU2VhcmNoLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnZ2xvYmFsLXNlYXJjaF9faW5wdXQtYWN0aXZlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfY2FuU2hvd0dsb2JhbFNlYXJjaEFjdGl2ZSgpIHtcclxuICAgICAgICB0aGlzLndhc1NlYXJjaGVkID0gISF0aGlzLnNlYXJjaDtcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2gpIHtcclxuICAgICAgICAgICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuZ2xvYmFsU2VhcmNoKSkgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5nbG9iYWxTZWFyY2gubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdnbG9iYWwtc2VhcmNoX19pbnB1dC1hY3RpdmUnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9yZW1vdmVBY3RpdmVDbGFzc0J5R2xvYmFsU2VhcmNoKCk7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZ3JvdXAgZmxleCBtYXgtdy1mdWxsXCI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgICAjZ2xvYmFsU2VhcmNoXHJcbiAgICAgICAgY2xhc3M9XCJnbG9iYWwtc2VhcmNoX19pbnB1dCByb3VuZGVkLXRsLVsyMHB4XSByb3VuZGVkLWJsLVsyMHB4XSByb3VuZGVkLXRyLW5vbmUgcm91bmRlZC1ici1ub25lIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWdyYXlzY2FsZS0zMCBib3JkZXItci0wIGN1cnNvci1wb2ludGVyIGgtWzI1cHhdIG1pbi1oLVsyNXB4XSBwbC1bMTVweF0gdGV4dC1zbSBmb250LW9wZW4tc2FucyBvdXRsaW5lLW5vbmUgYmctZ3JheXNjYWxlLTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIHctWzEzNnB4XVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKClcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgKGZvY3VzKT1cImZvY3VzSW4oKVwiXHJcbiAgICAgICAgKGJsdXIpPVwiZm9jdXNPdXQoKVwiXHJcbiAgICAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJnbG9iYWwtc2VhcmNoX19zcGFuIGl0ZW1zLWNlbnRlciBiZy10cmFuc3BhcmVudCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1ncmF5c2NhbGUtMzAgYm9yZGVyLWwtMCByb3VuZGVkLXRyLVsyMHB4XSByb3VuZGVkLWJyLVsyMHB4XSBmbGV4IGgtWzI1cHhdIGp1c3RpZnktY2VudGVyIHB4LTIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwXCI+XHJcbiAgICAgICAgPGVtIGNsYXNzPVwiZmFzIGZhLXNlYXJjaFwiPjwvZW0+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgQGlmICh3YXNTZWFyY2hlZCkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJiZy1ncmF5c2NhbGUtMCByb3VuZGVkLVs1cHhdIHNoYWRvdy1bMF8ycHhfOHB4XzBfcmdiYSgwLDAsMCwwLjQpXSBtdC1bNjBweF0gbWluLWgtWzUwcHhdIGFic29sdXRlIHctWzUwMHB4XSB6LVs2XVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAqc0xvYWRpbmdTdGF0ZT1cImlzTG9hZGluZyAmJiAhaXNNb2RhbExvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJnbG9iYWwtc2VhcmNoX19sb2FkZXJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBAaWYgKChkcm9wZG93bkl0ZW5zICYmIGRyb3Bkb3duSXRlbnMubGVuZ3RoID4gMCkgfHwgaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbi1oLVs1MHB4XSB3LWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChkcm9wZG93bkl0ZW5zICYmIGRyb3Bkb3duSXRlbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWIgYm9yZGVyLXNvbGlkIGJvcmRlci1ncmF5c2NhbGUtMzAgdGV4dC1ncmF5c2NhbGUtOTAgZm9udC1zZW1pYm9sZCBoLVs1MHB4XSBwLVsxNXB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLTAgcC0wXCI+e3sgdG90YWxJdGVuc0xhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLTAgcC0wIGN1cnNvci1wb2ludGVyIHRleHQtcmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0gY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L2VtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1heC1oLVs1MTBweF0gb3ZlcmZsb3ctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtAZXhwYW5kYWJsZUNvbnRlbnRdPVwiZXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBkcm9wZG93bkl0ZW5zOyB0cmFjayBpdGVtLmlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzLW9iamVjdC1jYXJkLWZpZWxkIGhvdmVyOmJnLVsjZGJlMGU0XVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW0uY29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93Rm9vdGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItdCBib3JkZXItc29saWQgYm9yZGVyLWdyYXlzY2FsZS0zMCBoLVs1MHB4XVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd01vcmUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk9XCJsaW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzaG93TW9yZUxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3MtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpZiAoKCFkcm9wZG93bkl0ZW5zIHx8ICFkcm9wZG93bkl0ZW5zLmxlbmd0aCkgJiYgIWlzTG9hZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgIDxzLWVtcHR5LXN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJlbXB0eVRpdGxlID8/ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImVtcHR5RGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuZ0NsYXNzPVwiZ2xvYmFsLXNlYXJjaF9fZW1wdHktc3RhdGUtLWljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkNsYXNzXT1cImVtcHR5SWNvbiA/IGVtcHR5SWNvbiA6ICdmYXMgZmEtc2VhcmNoJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcy1lbXB0eS1zdGF0ZT5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICh3YXNTZWFyY2hlZCkge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJiZy1bcmdiYSgwLDAsMCwwLjQpXSBjdXJzb3ItcG9pbnRlciBoLVtjYWxjKDEwMHZoLTcwcHgpXSBsZWZ0LTAgbXQtWzUwcHhdIGFic29sdXRlIHctZnVsbCB6LVs1XVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZ2xvYmFsLXNlYXJjaC9zcmMvbGliL2dsb2JhbC1zZWFyY2gvZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZ2xvYmFsLXNlYXJjaC9zcmMvbGliL2dsb2JhbC1zZWFyY2gvZ2xvYmFsLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1QsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7QUFFckY7Ozs7Ozs7Ozs7Ozs7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dHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBpbmplY3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBHbG9iYWxTZWFyY2hEcm9wZG93bkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJvcGRvd24vZ2xvYmFsLXNlYXJjaC1kcm9wZG93bi1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy91dGlscyc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHREaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2lucHV0LXRleHQnO1xyXG5pbXBvcnQgeyBMb2FkaW5nU3RhdGVEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2xvYWRpbmctc3RhdGUnO1xyXG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9idXR0b24nO1xyXG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy9lbXB0eS1zdGF0ZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uIENvbXBvbmVudGUgZGUgYnVzY2EgZ2xvYmFsIGNvbSBpbnB1dCwgZHJvcGRvd24gZGUgcmVzdWx0YWRvcywgZXN0YWRvXHJcbiAqIGRlIGNhcnJlZ2FtZW50bywgZW1wdHkgc3RhdGUgZSBzdXBvcnRlIGEgaXRlbnMgY3VzdG9taXrDoXZlaXMgdmlhIGBHbG9iYWxTZWFyY2hEcm9wZG93bkl0ZW1Db21wb25lbnRgLlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDxzLWdsb2JhbC1zZWFyY2hcclxuICogICB0b3RhbEl0ZW5zTGFiZWw9XCJyZXN1bHRhZG9zXCJcclxuICogICBzaG93TW9yZUxhYmVsPVwiVmVyIG1haXNcIlxyXG4gKiAgIFt0b3RhbEVsZW1lbnRzXT1cInRvdGFsXCJcclxuICogICAoc2VhcmNoKT1cIm9uQnVzY2EoJGV2ZW50KVwiIC8+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgU3RydWN0dXJlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncy1nbG9iYWwtc2VhcmNoJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9nbG9iYWwtc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2dsb2JhbC1zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGFuaW1hdGlvbnM6IFtcclxuICAgICAgICB0cmlnZ2VyKCdleHBhbmRhYmxlQ29udGVudCcsIFtcclxuICAgICAgICAgICAgc3RhdGUoJyonLCBzdHlsZSh7IGhlaWdodDogJzAnIH0pKSxcclxuICAgICAgICAgICAgc3RhdGUoJ2ZhbHNlJywgc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKCd0cnVlJywgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJyogPT4gdHJ1ZScsIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0JykpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdmYWxzZSA8PT4gdHJ1ZScsIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0JykpLFxyXG4gICAgICAgIF0pLFxyXG4gICAgXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0RGlyZWN0aXZlLFxyXG4gICAgICAgIExvYWRpbmdTdGF0ZURpcmVjdGl2ZSxcclxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcclxuICAgICAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxyXG4gICAgICAgIE5nQ2xhc3MsXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2xvYmFsU2VhcmNoQ29tcG9uZW50IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2dsb2JhbFNlYXJjaCcsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gICAgcHVibGljIGdsb2JhbFNlYXJjaDogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gSWRlbnRpZmljYWRvciDDum5pY28gZG8gY29tcG9uZW50ZSBubyBET00uIEdlcmFkbyBhdXRvbWF0aWNhbWVudGUgc2UgbsOjbyBpbmZvcm1hZG8uICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGlkID0gYHMtZ2xvYmFsLXNlYXJjaC0ke0dsb2JhbFNlYXJjaERyb3Bkb3duSXRlbUNvbXBvbmVudC5uZXh0SWQrK31gO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gVGVtcG8gZGUgZGVib3VuY2UgZW0gbXMgYW50ZXMgZGUgZW1pdGlyIG8gZXZlbnRvIGRlIGJ1c2NhLiBAZGVmYXVsdCA1MDAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZGVsYXkgPSA1MDA7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBMYWJlbCBxdWUgYWNvbXBhbmhhIG8gdG90YWwgZGUgcmVzdWx0YWRvcy4gQ2FtcG8gb2JyaWdhdMOzcmlvLiAqL1xyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICAgIHB1YmxpYyB0b3RhbEl0ZW5zTGFiZWwhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBSw7N0dWxvIGRvIGxpbmsgcGFyYSBleGliaXIgbWFpcyByZXN1bHRhZG9zLiBDYW1wbyBvYnJpZ2F0w7NyaW8uICovXHJcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxyXG4gICAgcHVibGljIHNob3dNb3JlTGFiZWwhOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBQbGFjZWhvbGRlciBkbyBpbnB1dCBkZSBidXNjYS4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFeGliZSBpbmRpY2Fkb3IgZGUgY2FycmVnYW1lbnRvIG5vIGRyb3Bkb3duLiBAZGVmYXVsdCBmYWxzZSAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIE7Dum1lcm8gdG90YWwgZGUgcmVzdWx0YWRvcyBlbmNvbnRyYWRvcy4gKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdG90YWxFbGVtZW50cz86IG51bWJlcjtcclxuXHJcbiAgICAvKiogQGRlc2NyaXB0aW9uIFTDrXR1bG8gZG8gZW1wdHkgc3RhdGUgcXVhbmRvIG7Do28gaMOhIHJlc3VsdGFkb3MuICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGVtcHR5VGl0bGU/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBEZXNjcmnDp8OjbyBkbyBlbXB0eSBzdGF0ZSBleGliaWRhIGFiYWl4byBkbyB0w610dWxvLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBlbXB0eURlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gQ2xhc3NlIGRvIMOtY29uZSBleGliaWRvIG5vIGVtcHR5IHN0YXRlLiAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBlbXB0eUljb24/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFeGliZSBvIHJvZGFww6kgY29tIG8gbGluayBcInZlciBtYWlzXCIgZSBjb250YWdlbSBkZSByZXN1bHRhZG9zLiBAZGVmYXVsdCB0cnVlICovXHJcbiAgICBASW5wdXQoKSBzaG93Rm9vdGVyID0gdHJ1ZTtcclxuXHJcbiAgICBAQ29udGVudENoaWxkcmVuKEdsb2JhbFNlYXJjaERyb3Bkb3duSXRlbUNvbXBvbmVudClcclxuICAgIHB1YmxpYyBkcm9wZG93bkl0ZW5zOiBRdWVyeUxpc3Q8R2xvYmFsU2VhcmNoRHJvcGRvd25JdGVtQ29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBhbyBkaWdpdGFyIG5vIGNhbXBvIGRlIGJ1c2NhLCBjb20gbyB2YWxvciBhdHVhbCBkYSBwZXNxdWlzYS4gKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHNlYXJjaGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gICAgLyoqIEBkZXNjcmlwdGlvbiBFbWl0aWRvIHF1YW5kbyBvIGNhbXBvIGRlIGJ1c2NhIGdhbmhhIG91IHBlcmRlIGZvY28gKGB0cnVlYCA9IGZvY2FkbykuICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBmb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdGlkbyBhbyBjbGljYXIgbm8gbGluayBwYXJhIGV4aWJpciBtYWlzIHJlc3VsdGFkb3MuICovXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBtb3JlU2hvd24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgcHVibGljIHNlYXJjaDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgICBwdWJsaWMgd2FzU2VhcmNoZWQgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc01vZGFsTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgcHVibGljIGV4cGFuZGVkID0gdHJ1ZTtcclxuXHJcbiAgICBwdWJsaWMgb25DaGFuZ2UoKSB7XHJcbiAgICAgICAgY29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2g7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaCA9PT0gc2VhcmNoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jYW5TaG93R2xvYmFsU2VhcmNoQWN0aXZlKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaGVkLmVtaXQodGhpcy5zZWFyY2ggPz8gJycpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgdGhpcy5kZWxheSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGZvY3VzSW4oKSB7XHJcbiAgICAgICAgdGhpcy5mb2N1c2VkLmVtaXQodHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGZvY3VzT3V0KCkge1xyXG4gICAgICAgIHRoaXMuZm9jdXNlZC5lbWl0KGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2hvd01vcmUoKSB7XHJcbiAgICAgICAgdGhpcy5tb3JlU2hvd24uZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbG9zZSgpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy53YXNTZWFyY2hlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd25JdGVucyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5pc01vZGFsTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzQnlHbG9iYWxTZWFyY2goKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9yZW1vdmVBY3RpdmVDbGFzc0J5R2xvYmFsU2VhcmNoKCkge1xyXG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLmdsb2JhbFNlYXJjaCkpIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5nbG9iYWxTZWFyY2gubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdnbG9iYWwtc2VhcmNoX19pbnB1dC1hY3RpdmUnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9jYW5TaG93R2xvYmFsU2VhcmNoQWN0aXZlKCkge1xyXG4gICAgICAgIHRoaXMud2FzU2VhcmNoZWQgPSAhIXRoaXMuc2VhcmNoO1xyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaCkge1xyXG4gICAgICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5nbG9iYWxTZWFyY2gpKSByZXR1cm47XHJcblxyXG4gICAgICAgICAgICB0aGlzLmdsb2JhbFNlYXJjaC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2dsb2JhbC1zZWFyY2hfX2lucHV0LWFjdGl2ZScpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzQnlHbG9iYWxTZWFyY2goKTtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJncm91cCBmbGV4IG1heC13LWZ1bGxcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICAgICNnbG9iYWxTZWFyY2hcclxuICAgICAgICBzSW5wdXRUZXh0XHJcbiAgICAgICAgY2xhc3M9XCJnbG9iYWwtc2VhcmNoX19pbnB1dCByb3VuZGVkLXRsLVsyMHB4XSByb3VuZGVkLWJsLVsyMHB4XSByb3VuZGVkLXRyLW5vbmUgcm91bmRlZC1ici1ub25lIGJvcmRlciBib3JkZXItc29saWQgYm9yZGVyLWdyYXlzY2FsZS0zMCBib3JkZXItci0wIGN1cnNvci1wb2ludGVyIGgtWzI1cHhdIG1pbi1oLVsyNXB4XSBwbC1bMTVweF0gdGV4dC1zbSBmb250LW9wZW4tc2FucyBvdXRsaW5lLW5vbmUgYmctZ3JheXNjYWxlLTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIHctWzEzNnB4XVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2hcIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKClcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgKGZvY3VzKT1cImZvY3VzSW4oKVwiXHJcbiAgICAgICAgKGJsdXIpPVwiZm9jdXNPdXQoKVwiXHJcbiAgICAvPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJnbG9iYWwtc2VhcmNoX19zcGFuIGl0ZW1zLWNlbnRlciBiZy10cmFuc3BhcmVudCBib3JkZXIgYm9yZGVyLXNvbGlkIGJvcmRlci1ncmF5c2NhbGUtMzAgYm9yZGVyLWwtMCByb3VuZGVkLXRyLVsyMHB4XSByb3VuZGVkLWJyLVsyMHB4XSBmbGV4IGgtWzI1cHhdIGp1c3RpZnktY2VudGVyIHB4LTIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwXCI+XHJcbiAgICAgICAgPGVtIGNsYXNzPVwiZmFzIGZhLXNlYXJjaFwiPjwvZW0+XHJcbiAgICA8L3NwYW4+XHJcblxyXG4gICAgQGlmICh3YXNTZWFyY2hlZCkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJiZy1ncmF5c2NhbGUtMCByb3VuZGVkLVs1cHhdIHNoYWRvdy1bMF8ycHhfOHB4XzBfcmdiYSgwLDAsMCwwLjQpXSBtdC1bNjBweF0gbWluLWgtWzUwcHhdIGFic29sdXRlIHctWzUwMHB4XSB6LVs2XVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAqc0xvYWRpbmdTdGF0ZT1cImlzTG9hZGluZyAmJiAhaXNNb2RhbExvYWRpbmdcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJnbG9iYWwtc2VhcmNoX19sb2FkZXJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBAaWYgKChkcm9wZG93bkl0ZW5zICYmIGRyb3Bkb3duSXRlbnMubGVuZ3RoID4gMCkgfHwgaXNMb2FkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pbi1oLVs1MHB4XSB3LWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChkcm9wZG93bkl0ZW5zICYmIGRyb3Bkb3duSXRlbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWIgYm9yZGVyLXNvbGlkIGJvcmRlci1ncmF5c2NhbGUtMzAgdGV4dC1ncmF5c2NhbGUtOTAgZm9udC1zZW1pYm9sZCBoLVs1MHB4XSBwLVsxNXB4XSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLTAgcC0wXCI+e3sgdG90YWxJdGVuc0xhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtLTAgcC0wIGN1cnNvci1wb2ludGVyIHRleHQtcmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZW0gY2xhc3M9XCJmYXMgZmEtdGltZXNcIj48L2VtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1heC1oLVs1MTBweF0gb3ZlcmZsb3ctYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtAZXhwYW5kYWJsZUNvbnRlbnRdPVwiZXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBkcm9wZG93bkl0ZW5zOyB0cmFjayBpdGVtLmlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzLW9iamVjdC1jYXJkLWZpZWxkIGhvdmVyOmJnLVsjZGJlMGU0XVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW0uY29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93Rm9vdGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItdCBib3JkZXItc29saWQgYm9yZGVyLWdyYXlzY2FsZS0zMCBoLVs1MHB4XVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHMtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd01vcmUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk9XCJsaW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzaG93TW9yZUxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3MtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpZiAoKCFkcm9wZG93bkl0ZW5zIHx8ICFkcm9wZG93bkl0ZW5zLmxlbmd0aCkgJiYgIWlzTG9hZGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgIDxzLWVtcHR5LXN0YXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJlbXB0eVRpdGxlID8/ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImVtcHR5RGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuZ0NsYXNzPVwiZ2xvYmFsLXNlYXJjaF9fZW1wdHktc3RhdGUtLWljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkNsYXNzXT1cImVtcHR5SWNvbiA/IGVtcHR5SWNvbiA6ICdmYXMgZmEtc2VhcmNoJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcy1lbXB0eS1zdGF0ZT5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICh3YXNTZWFyY2hlZCkge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJiZy1bcmdiYSgwLDAsMCwwLjQpXSBjdXJzb3ItcG9pbnRlciBoLVtjYWxjKDEwMHZoLTcwcHgpXSBsZWZ0LTAgbXQtWzUwcHhdIGFic29sdXRlIHctZnVsbCB6LVs1XVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICB9XHJcbjwvZGl2PlxyXG4iXX0=
|