@unipin/angular-applet 17.3.1 → 17.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/approval/detail/approval-detail.component.mjs +8 -6
- package/esm2022/lib/components/approval/form/approval-form.component.mjs +5 -5
- package/esm2022/lib/components/approval/list/approval-list.component.mjs +14 -8
- package/esm2022/lib/components/approval/services/approval.service.mjs +4 -4
- package/esm2022/lib/components/audit/detail/audit-detail.component.mjs +4 -4
- package/esm2022/lib/components/audit/list/audit-list.component.mjs +4 -4
- package/esm2022/lib/components/audit/service/audit.service.mjs +4 -4
- package/esm2022/lib/components/buttons/group/btn-group.component.mjs +5 -5
- package/esm2022/lib/components/buttons/loading/btn-loading.component.mjs +4 -4
- package/esm2022/lib/components/containers/applet-container/applet-container.component.mjs +21 -8
- package/esm2022/lib/components/containers/colum-header-container/column-header-container.component.mjs +5 -5
- package/esm2022/lib/components/containers/column-container/column-container.component.mjs +25 -9
- package/esm2022/lib/components/containers/column-container/directives/lazy-route.directive.mjs +4 -4
- package/esm2022/lib/components/containers/list-container/interfaces/list-container-config.interface.mjs +1 -1
- package/esm2022/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.mjs +8 -7
- package/esm2022/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.mjs +8 -7
- package/esm2022/lib/components/containers/modal-container/modal-container.component.mjs +9 -8
- package/esm2022/lib/components/filter/filter.component.mjs +5 -5
- package/esm2022/lib/components/forms/currency-input/form-currency-input.component.mjs +153 -0
- package/esm2022/lib/components/forms/date/form-date.component.mjs +6 -6
- package/esm2022/lib/components/forms/image-picker/directives/drag-n-drop.directive.mjs +4 -4
- package/esm2022/lib/components/forms/image-picker/form-image-picker.component.mjs +4 -4
- package/esm2022/lib/components/forms/index.mjs +2 -1
- package/esm2022/lib/components/forms/input/form-input.component.mjs +4 -4
- package/esm2022/lib/components/forms/number/form-number.component.mjs +4 -4
- package/esm2022/lib/components/forms/number/pipes/locale-number.pipe.mjs +4 -4
- package/esm2022/lib/components/forms/password/form-password.component.mjs +4 -4
- package/esm2022/lib/components/forms/searchable-select/form-searchable-select.component.mjs +4 -4
- package/esm2022/lib/components/forms/select/form-select.component.mjs +4 -4
- package/esm2022/lib/components/forms/textarea/form-textarea.component.mjs +4 -4
- package/esm2022/lib/components/grids/grid-pagination/grid-pagination.component.mjs +4 -4
- package/esm2022/lib/components/grids/grid-snapshot/grid-snapshot.component.mjs +4 -4
- package/esm2022/lib/components/grids/services/grid.service.mjs +9 -5
- package/esm2022/lib/components/index.mjs +2 -2
- package/esm2022/lib/components/tabs/tab-content/tab-content.component.mjs +4 -4
- package/esm2022/lib/components/tabs/tab-group/tab-group.component.mjs +4 -4
- package/esm2022/lib/components/tabs/tabs.component.module.mjs +5 -5
- package/esm2022/lib/interceptors/header/header.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/refresh-token/refresh-token.interceptor.mjs +4 -4
- package/esm2022/lib/modules/permission/directive/permission.directive.mjs +4 -4
- package/esm2022/lib/modules/permission/pages/401/unauthorized.page.mjs +4 -4
- package/esm2022/lib/modules/permission/pages/loading/loading.page.mjs +4 -4
- package/esm2022/lib/modules/permission/permission.module.mjs +5 -5
- package/esm2022/lib/modules/permission/services/permission.service.mjs +4 -4
- package/esm2022/lib/resolvers/auth/auth.resolver.mjs +4 -4
- package/esm2022/lib/services/auth/auth.service.mjs +11 -9
- package/esm2022/lib/services/country/country.service.mjs +4 -4
- package/esm2022/lib/services/currency/currency.service.mjs +9 -13
- package/esm2022/lib/services/profile/profile.service.mjs +4 -4
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/unipin-angular-applet.mjs +1520 -1337
- package/fesm2022/unipin-angular-applet.mjs.map +1 -1
- package/lib/components/containers/applet-container/applet-container.component.d.ts +6 -2
- package/lib/components/containers/column-container/column-container.component.d.ts +2 -0
- package/lib/components/containers/list-container/interfaces/list-container-config.interface.d.ts +2 -3
- package/lib/components/containers/modal-container/modal-container.component.d.ts +2 -1
- package/lib/components/forms/currency-input/form-currency-input.component.d.ts +55 -0
- package/lib/components/forms/index.d.ts +1 -0
- package/lib/components/grids/services/grid.service.d.ts +1 -1
- package/lib/components/index.d.ts +1 -1
- package/lib/services/currency/currency.service.d.ts +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +1 -1
- package/src/assets/scss/grid.scss +9 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Attribute, ChangeDetectionStrategy, Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { Subject, catchError, concat, debounceTime, distinctUntilChanged, map, of, switchMap, tap } from 'rxjs';
|
|
5
|
+
import { NgSelectModule } from '@ng-select/ng-select';
|
|
6
|
+
import { getFormErrorMessage } from '../../../utils';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../../services";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
import * as i3 from "@angular/forms";
|
|
11
|
+
import * as i4 from "@ng-select/ng-select";
|
|
12
|
+
export class FormCurrencyInputComponent {
|
|
13
|
+
constructor(numberPlaceholder, ch, currencyService) {
|
|
14
|
+
this.numberPlaceholder = numberPlaceholder;
|
|
15
|
+
this.ch = ch;
|
|
16
|
+
this.currencyService = currencyService;
|
|
17
|
+
this.clearable = true;
|
|
18
|
+
this.isInputNumber = false;
|
|
19
|
+
this.initialItems = [];
|
|
20
|
+
this.numberValue = null;
|
|
21
|
+
this.isNumberDisabled = false;
|
|
22
|
+
this.required = false;
|
|
23
|
+
this.disabled = false;
|
|
24
|
+
this.bindLabel = 'label';
|
|
25
|
+
this.bindValue = 'value';
|
|
26
|
+
this.onChange = new EventEmitter();
|
|
27
|
+
this.typeahead = new Subject();
|
|
28
|
+
this.query$ = this.typeahead.pipe(distinctUntilChanged(), debounceTime(300), tap(() => this.isLoading = true), switchMap((k) => this.queryFunc(k).pipe(map((result) => result.length === 0 ? this.initialItems : result), catchError(() => of(this.initialItems)))), tap(() => this.isLoading = false));
|
|
29
|
+
this.items$ = this.query$;
|
|
30
|
+
this.isLoading = false;
|
|
31
|
+
this.isTouched = false;
|
|
32
|
+
this.value = null;
|
|
33
|
+
this.decimalLimiter = 0;
|
|
34
|
+
this.changed = (_val) => { };
|
|
35
|
+
this.onTouched = () => { };
|
|
36
|
+
}
|
|
37
|
+
ngOnChanges(changes) {
|
|
38
|
+
if (changes['initialItems']) {
|
|
39
|
+
this.items$ = concat(of(this.initialItems), this.query$);
|
|
40
|
+
this.decimalLimiter = this.initialItems[0]?.magnifyValue === 1 ? 0 : Math.floor(Math.log10(this.initialItems[0]?.magnifyValue ?? 1));
|
|
41
|
+
this.numberValue = this.numberValue / this.initialItems[0]?.magnifyValue;
|
|
42
|
+
}
|
|
43
|
+
if (this.isInputNumber)
|
|
44
|
+
this.bindLabel = 'value';
|
|
45
|
+
}
|
|
46
|
+
registerOnChange(fn) { this.changed = fn; }
|
|
47
|
+
registerOnTouched(fn) { this.onTouched = fn; }
|
|
48
|
+
writeValue(val) {
|
|
49
|
+
this.value = val;
|
|
50
|
+
this.ch.markForCheck();
|
|
51
|
+
}
|
|
52
|
+
setDisabledState(d) {
|
|
53
|
+
this.disabled = d;
|
|
54
|
+
this.ch.markForCheck();
|
|
55
|
+
}
|
|
56
|
+
validate(control) {
|
|
57
|
+
this.formControl = control;
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
change(e) {
|
|
61
|
+
if (this.isInputNumber)
|
|
62
|
+
this.numberValue = null;
|
|
63
|
+
this.onChange.emit({ ccy: e, number: this.numberValue });
|
|
64
|
+
this.initialItems = e;
|
|
65
|
+
if (!this.isTouched) {
|
|
66
|
+
this.onTouched();
|
|
67
|
+
this.isTouched = true;
|
|
68
|
+
}
|
|
69
|
+
if (!this.disabled) {
|
|
70
|
+
if (!e)
|
|
71
|
+
this.value = null;
|
|
72
|
+
else
|
|
73
|
+
this.value = e[this.bindValue];
|
|
74
|
+
this.changed(this.value);
|
|
75
|
+
this.errorMsg = getFormErrorMessage(this.formControl.errors, 'Currency');
|
|
76
|
+
}
|
|
77
|
+
if (e?.magnifyValue === 1)
|
|
78
|
+
this.decimalLimiter = 0;
|
|
79
|
+
else
|
|
80
|
+
this.decimalLimiter = Math.floor(Math.log10(e?.magnifyValue));
|
|
81
|
+
}
|
|
82
|
+
numberInput({ value }) {
|
|
83
|
+
this.numberValue = value;
|
|
84
|
+
this.onChange.emit({ ccy: this.initialItems, number: value });
|
|
85
|
+
}
|
|
86
|
+
limitDecimal({ charCode, preventDefault, target: { value } }) {
|
|
87
|
+
const reg = this.decimalLimiter > 0 ? new RegExp(`^\\d*(\\.\\d{0,${this.decimalLimiter}})?$`) : /^\d+$/;
|
|
88
|
+
if (!reg.test(value + String.fromCharCode(charCode)))
|
|
89
|
+
preventDefault();
|
|
90
|
+
}
|
|
91
|
+
queryFunc(keyword) {
|
|
92
|
+
return this.currencyService.query(keyword).pipe(map(({ data: { webConfigMsCurrency: { data } } }) => data.map(({ code, name, magnifyValue }) => ({ label: `[${code}] ${name}`, value: code, magnifyValue }))));
|
|
93
|
+
}
|
|
94
|
+
;
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormCurrencyInputComponent, deps: [{ token: 'numberPlaceholder', attribute: true }, { token: i0.ChangeDetectorRef }, { token: i1.CurrencyService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FormCurrencyInputComponent, isStandalone: true, selector: "up-currency-input", inputs: { clearable: "clearable", isInputNumber: "isInputNumber", initialItems: "initialItems", numberValue: "numberValue", isNumberDisabled: "isNumberDisabled", required: "required", disabled: "disabled", bindLabel: "bindLabel", bindValue: "bindValue" }, outputs: { onChange: "onChange" }, host: { classAttribute: "d-block" }, providers: [
|
|
97
|
+
{
|
|
98
|
+
multi: true,
|
|
99
|
+
provide: NG_VALUE_ACCESSOR,
|
|
100
|
+
useExisting: FormCurrencyInputComponent
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
multi: true,
|
|
104
|
+
provide: NG_VALIDATORS,
|
|
105
|
+
useExisting: FormCurrencyInputComponent
|
|
106
|
+
}
|
|
107
|
+
], usesOnChanges: true, ngImport: i0, template: "<label class=\"form-label\" [class.required]=\"required\">Currency</label>\n\n<ng-template #selectForm>\n <ng-select \n class=\"flex-shrink-0\"\n [class.number]=\"isInputNumber\"\n appendTo=\"body\"\n typeToSearchText=\"Please enter 3 or more characters\"\n placeholder=\"Currency\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [minTermLength]=\"3\"\n [virtualScroll]=\"true\"\n [editableSearchTerm]=\"true\"\n [ngModel]=\"value\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n [typeahead]=\"typeahead\"\n [items]=\"items$ | async\"\n (change)=\"change($event);\"\n >\n <ng-template ng-option-tmp let-i=\"item\">\n <span>{{ isInputNumber? i.value : i.label }}</span>\n </ng-template>\n </ng-select>\n</ng-template>\n\n<ng-template #inputNumber>\n <div class=\"d-flex justify-content-between gap-1 align-items-center\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n\n <input type=\"number\" [placeholder]=\"numberPlaceholder\" class=\"form-control flex-grow-1\" [disabled]=\"isNumberDisabled\" [value]=\"numberValue\" (keypress)=\"limitDecimal($event)\" (input)=\"numberInput($event.target)\">\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!isInputNumber else inputNumber\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n</ng-container>\n\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ng-select.number{min-width:105px;max-width:105px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i4.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
108
|
+
}
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormCurrencyInputComponent, decorators: [{
|
|
110
|
+
type: Component,
|
|
111
|
+
args: [{ standalone: true, selector: 'up-currency-input', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
112
|
+
class: 'd-block'
|
|
113
|
+
}, imports: [
|
|
114
|
+
CommonModule,
|
|
115
|
+
FormsModule,
|
|
116
|
+
NgSelectModule
|
|
117
|
+
], providers: [
|
|
118
|
+
{
|
|
119
|
+
multi: true,
|
|
120
|
+
provide: NG_VALUE_ACCESSOR,
|
|
121
|
+
useExisting: FormCurrencyInputComponent
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
multi: true,
|
|
125
|
+
provide: NG_VALIDATORS,
|
|
126
|
+
useExisting: FormCurrencyInputComponent
|
|
127
|
+
}
|
|
128
|
+
], template: "<label class=\"form-label\" [class.required]=\"required\">Currency</label>\n\n<ng-template #selectForm>\n <ng-select \n class=\"flex-shrink-0\"\n [class.number]=\"isInputNumber\"\n appendTo=\"body\"\n typeToSearchText=\"Please enter 3 or more characters\"\n placeholder=\"Currency\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [minTermLength]=\"3\"\n [virtualScroll]=\"true\"\n [editableSearchTerm]=\"true\"\n [ngModel]=\"value\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n [typeahead]=\"typeahead\"\n [items]=\"items$ | async\"\n (change)=\"change($event);\"\n >\n <ng-template ng-option-tmp let-i=\"item\">\n <span>{{ isInputNumber? i.value : i.label }}</span>\n </ng-template>\n </ng-select>\n</ng-template>\n\n<ng-template #inputNumber>\n <div class=\"d-flex justify-content-between gap-1 align-items-center\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n\n <input type=\"number\" [placeholder]=\"numberPlaceholder\" class=\"form-control flex-grow-1\" [disabled]=\"isNumberDisabled\" [value]=\"numberValue\" (keypress)=\"limitDecimal($event)\" (input)=\"numberInput($event.target)\">\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!isInputNumber else inputNumber\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n</ng-container>\n\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ng-select.number{min-width:105px;max-width:105px}\n"] }]
|
|
129
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
130
|
+
type: Attribute,
|
|
131
|
+
args: ['numberPlaceholder']
|
|
132
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: i1.CurrencyService }], propDecorators: { clearable: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], isInputNumber: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], initialItems: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], numberValue: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], isNumberDisabled: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], required: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], disabled: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], bindLabel: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], bindValue: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], onChange: [{
|
|
151
|
+
type: Output
|
|
152
|
+
}] } });
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY3VycmVuY3ktaW5wdXQvZm9ybS1jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY3VycmVuY3ktaW5wdXQvZm9ybS1jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hKLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXlDLFdBQVcsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkosT0FBTyxFQUFjLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUE4QnJELE1BQU0sT0FBTywwQkFBMEI7SUF1SnJDLFlBQ3lDLGlCQUF5QixFQUM3QyxFQUFxQixFQUNyQixlQUFnQztRQUZaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUM3QyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixv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QkFPVSxRQUFRO3NCQUF2QixLQUFLO2dCQU9VLFNBQVM7c0JBQXhCLEtBQUs7Z0JBT1UsU0FBUztzQkFBeEIsS0FBSztnQkFNVyxRQUFRO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGNhdGNoRXJyb3IsIGNvbmNhdCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBvZiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHsgZ2V0Rm9ybUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEN1cnJlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtY3VycmVuY3ktaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tY3VycmVuY3ktaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgXG4gICAgY2xhc3M6ICdkLWJsb2NrJyBcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ1NlbGVjdE1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IEZvcm1DdXJyZW5jeUlucHV0Q29tcG9uZW50XG4gICAgfSxcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybUN1cnJlbmN5SW5wdXRDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUN1cnJlbmN5SW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xuICBcbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBzZWxlY3QgaW5wdXQgaXMgY2xlYXJhYmxlLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQge3RydWV9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG51bWJlciBpbnB1dCBmb3JtIGlzIGhpZGUgb3Igc2hvdy5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IHtmYWxzZX1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0lucHV0TnVtYmVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIGZvciB0aGUgaW5pdGlhbCBpdGVtcyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHNlbGVjdCBpbnB1dC5cbiAgICogQHR5cGUge3sgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZywgbWFnbmlmeVZhbHVlOiBudW1iZXIgfVtdfVxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGluaXRpYWxJdGVtczogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBtYWduaWZ5VmFsdWU6IG51bWJlciB9W10gPSBbXTtcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgdG8gc2V0IHRoZSB2YWx1ZSBvZiBpbnB1dCBudW1iZXIgZmllbGQuXG4gICAqIEB0eXBlIHtudW1iZXIgfCBudWxsfVxuICAgKiBAZGVmYXVsdCB7bnVsbH1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBudW1iZXJWYWx1ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBudW1iZXIgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCB7ZmFsc2V9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaXNOdW1iZXJEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgc2VsZWN0IGlucHV0IGlzIHJlcXVpcmVkLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQge2ZhbHNlfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBzZWxlY3QgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCB7ZmFsc2V9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgc3BlY2lmeWluZyB0aGUgcHJvcGVydHkgdG8gYmluZCBhcyB0aGUgbGFiZWwgZm9yIGl0ZW1zIGluIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHsnbGFiZWwnfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGJpbmRMYWJlbDogc3RyaW5nID0gJ2xhYmVsJztcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgc3BlY2lmeWluZyB0aGUgcHJvcGVydHkgdG8gYmluZCBhcyB0aGUgdmFsdWUgZm9yIGl0ZW1zIGluIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHsndmFsdWUnfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGJpbmRWYWx1ZTogc3RyaW5nID0gJ3ZhbHVlJztcblxuICAvKipcbiAgICogT3V0cHV0IHZhcmlhYmxlIHRvIGVtaXQgY2hhbmdlcyB3aGVuIHRoZSBzZWxlY3QgaW5wdXQgdmFsdWUgY2hhbmdlcy5cbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxhbnk+fVxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPHsgY2N5OiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG1hZ25pZnlWYWx1ZTogbnVtYmVyIH0gfCBhbnksIG51bWJlcjogbnVtYmVyIHwgbnVsbCB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjY3k6IHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZywgbWFnbmlmeVZhbHVlOiBudW1iZXIgfSB8IGFueSwgbnVtYmVyOiBudW1iZXIgfCBudWxsIH0+KCk7XG4gIFxuICAvKipcbiAgICogU3ViamVjdCBmb3IgaGFuZGxpbmcgdHlwZWFoZWFkIGV2ZW50cyB0byB0cmlnZ2VyIGl0ZW0gcXVlcmllcyBiYXNlZCBvbiB0aGUgc2VhcmNoIGtleXdvcmQuXG4gICAqIEB0eXBlIHtTdWJqZWN0PHN0cmluZz59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZWFoZWFkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgZm9yIGhhbmRsaW5nIGl0ZW0gcXVlcmllcyBiYXNlZCBvbiB0aGUgc2VhcmNoIGtleXdvcmQuXG4gICAqIEB0eXBlIHtPYnNlcnZhYmxlPGFueVtdPn1cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBxdWVyeSQ6IE9ic2VydmFibGU8YW55W10+ID0gdGhpcy50eXBlYWhlYWQucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgIHRhcCgoKSA9PiB0aGlzLmlzTG9hZGluZyA9IHRydWUpLFxuICAgIHN3aXRjaE1hcCgoazogc3RyaW5nKSA9PiB0aGlzLnF1ZXJ5RnVuYyhrKS5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IGFueVtdKSA9PiByZXN1bHQubGVuZ3RoID09PSAwPyB0aGlzLmluaXRpYWxJdGVtcyA6IHJlc3VsdCksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKHRoaXMuaW5pdGlhbEl0ZW1zKSlcbiAgICApKSxcbiAgICB0YXAoKCkgPT4gdGhpcy5pc0xvYWRpbmcgPSBmYWxzZSlcbiAgKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBmb3IgZGlzcGxheWluZyBpdGVtcyBpbiB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxhbnlbXT59XG4gICAqL1xuICBwdWJsaWMgaXRlbXMkOiBPYnNlcnZhYmxlPGFueVtdPiA9IHRoaXMucXVlcnkkO1xuXG4gIC8qKlxuICAgKiBCb29sZWFuIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzZWxlY3QgaW5wdXQgaXMgbG9hZGluZy5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IHtmYWxzZX1cbiAgICovXG4gIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQm9vbGVhbiBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgc2VsZWN0IGlucHV0IGhhcyBiZWVuIHRvdWNoZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCB7ZmFsc2V9XG4gICAqL1xuICBwdWJsaWMgaXNUb3VjaGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAdHlwZSB7YW55IHwgbnVsbH1cbiAgICogQGRlZmF1bHQge251bGx9XG4gICAqL1xuICBwdWJsaWMgdmFsdWU6IGFueSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBFcnJvciBtZXNzYWdlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCB7dW5kZWZpbmVkfVxuICAgKi9cbiAgcHVibGljIGVycm9yTXNnITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybSBjb250cm9sIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAdHlwZSB7QWJzdHJhY3RDb250cm9sfVxuICAgKi9cbiAgcHJvdGVjdGVkIGZvcm1Db250cm9sITogQWJzdHJhY3RDb250cm9sO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIG1heGltdW0gZGlnaXRzIGFsbG93ZWQgYmVoaW5kIHRoZSBjb21tYS5cbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQGRlZmF1bHQgezB9XG4gICAqL1xuICBwcm90ZWN0ZWQgZGVjaW1hbExpbWl0ZXI6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSB2YWx1ZSBjaGFuZ2VzIGluIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEB0eXBlIHsoX3ZhbDogYW55KSA9PiB2b2lkfVxuICAgKi9cbiAgcHJvdGVjdGVkIGNoYW5nZWQ6IChfdmFsOiBhbnkpID0+IHZvaWQgPSAoX3ZhbDogYW55KSA9PiB7fTtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIHRvdWNoIGV2ZW50cyBpbiB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAdHlwZSB7KCkgPT4gdm9pZH1cbiAgICovXG4gIHByb3RlY3RlZCBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAQXR0cmlidXRlKCdudW1iZXJQbGFjZWhvbGRlcicpIHB1YmxpYyBudW1iZXJQbGFjZWhvbGRlcjogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBjaDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbmN5U2VydmljZTogQ3VycmVuY3lTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogTGlmZWN5Y2xlIGhvb2sgY2FsbGVkIHdoZW4gY2hhbmdlcyBvY2N1ciB0byBpbnB1dCBwcm9wZXJ0aWVzLlxuICAgKiBVcGRhdGVzIHRoZSBpdGVtcyQgb2JzZXJ2YWJsZSB3aGVuIHRoZSBpbml0aWFsSXRlbXMgaW5wdXQgY2hhbmdlcy5cbiAgICogVXBkYXRlcyB0aGUgZGVjaW1hbExpbWl0ZXIgdGhhdCBpcyB0aGUgbWF4aW11bSBkaWdpdHMgYmVoaW5kIGNvbW1hLlxuICAgKiBDYWxjdWxhdGUgdGhlIHZhbHVlIG9mIGlucHV0IG51bWJlciwgdGhpcyBpcyB0byBjYWxjdWxhdGUgdGhlIGFjdHVhbCB2YWx1ZSBkaXZpZGVkIGJ5IG1hZ25pZnlWYWx1ZS5cbiAgICogQHBhcmFtIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzIC0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNoYW5nZWQgcHJvcGVydGllcy5cbiAgICovXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZHtcbiAgICBpZiAoY2hhbmdlc1snaW5pdGlhbEl0ZW1zJ10pIHtcbiAgICAgIHRoaXMuaXRlbXMkID0gY29uY2F0KG9mKHRoaXMuaW5pdGlhbEl0ZW1zKSwgdGhpcy5xdWVyeSQpO1xuICAgICAgdGhpcy5kZWNpbWFsTGltaXRlciA9IHRoaXMuaW5pdGlhbEl0ZW1zWzBdPy5tYWduaWZ5VmFsdWUgPT09IDE/IDAgOiBNYXRoLmZsb29yKE1hdGgubG9nMTAodGhpcy5pbml0aWFsSXRlbXNbMF0/Lm1hZ25pZnlWYWx1ZT8/IDEpKTtcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSA8bnVtYmVyPiB0aGlzLm51bWJlclZhbHVlIC8gdGhpcy5pbml0aWFsSXRlbXNbMF0/Lm1hZ25pZnlWYWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0lucHV0TnVtYmVyKSB0aGlzLmJpbmRMYWJlbCA9ICd2YWx1ZSc7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgc2VsZWN0IGlucHV0IHZhbHVlIGNoYW5nZXMuXG4gICAqIEBwYXJhbSB7KF92YWw6IGFueSkgPT4gdm9pZH0gZm4gLSBDYWxsYmFjayBmdW5jdGlvbiBmb3IgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkeyB0aGlzLmNoYW5nZWQgPSBmbjsgfVxuICBcbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBzZWxlY3QgaW5wdXQgaXMgdG91Y2hlZC5cbiAgICogQHBhcmFtIHsoKSA9PiB2b2lkfSBmbiAtIENhbGxiYWNrIGZ1bmN0aW9uIGZvciB0b3VjaCBldmVudHMuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWR7IHRoaXMub25Ub3VjaGVkID0gZm47IH0gXG4gIFxuICAvKipcbiAgICogV3JpdGVzIGEgbmV3IHZhbHVlIHRvIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEBwYXJhbSB7Kn0gdmFsIC0gVGhlIG5ldyB2YWx1ZSB0byBiZSBzZXQuXG4gICAqL1xuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWR7XG4gICAgdGhpcy52YWx1ZSA9IHZhbDtcbiAgICB0aGlzLmNoLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIFxuICAgLyoqXG4gICAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZCAtIFRoZSBuZXcgZGlzYWJsZWQgc3RhdGUuXG4gICAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oZDogYm9vbGVhbik6IHZvaWR7IFxuICAgIHRoaXMuZGlzYWJsZWQgPSBkOyBcbiAgICB0aGlzLmNoLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAcGFyYW0ge0Fic3RyYWN0Q29udHJvbH0gY29udHJvbCAtIFRoZSBhYnN0cmFjdCBjb250cm9sIHJlcHJlc2VudGluZyB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAcmV0dXJucyB7KFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKX0gLSBWYWxpZGF0aW9uIGVycm9ycyBpZiBhbnksIG90aGVyd2lzZSBudWxsLlxuICAgKi9cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxseyAgICBcbiAgICB0aGlzLmZvcm1Db250cm9sID0gY29udHJvbDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgZm9yIGNoYW5nZXMgaW4gdGhlIHNlbGVjdCBpbnB1dC5cbiAgICogU2V0IHRoZSBudW1iZXIgYXMgbnVsbCBpZiBjdXJyZW5jeSBjaGFuZ2VkIHRvIHByZXZlbnQgbWlzbWF0Y2ggYmV0d2VlbiBzZWxlY3RlZCBjdXJyZW5jeSBhbmQgdGhlIG51bWJlciBjb21tYSBhbGxvd2VkIGxpbWl0LlxuICAgKiBFbWl0cyB0aGUgb25DaGFuZ2UgZXZlbnQsIHVwZGF0ZXMgdGhlIGluaXRpYWxJdGVtcywgYW5kIGhhbmRsZXMgdmFsaWRhdGlvbiBiYXNlZCBvbiBmb3JtIGNvbnRyb2wgZXJyb3JzIGFuZCBsYWJlbC5cbiAgICogU2V0IHRoZSBkZWNpbWFsTGltaXRlciBiYXNlZCBvbiBzZWxlY3RlZCBtYWduaWZ5VmFsdWVcbiAgICogQHBhcmFtIHthbnl9IGUgLSBUaGUgZXZlbnQgY29udGFpbmluZyB0aGUgbmV3IHNlbGVjdCBpbnB1dCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2UoZT86IGFueSk6IHZvaWR7XG4gICAgaWYgKHRoaXMuaXNJbnB1dE51bWJlcikgdGhpcy5udW1iZXJWYWx1ZSA9IG51bGw7XG4gICAgXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgY2N5OiBlLCBudW1iZXI6IHRoaXMubnVtYmVyVmFsdWUgfSk7XG4gICAgdGhpcy5pbml0aWFsSXRlbXMgPSBlO1xuXG4gICAgaWYgKCF0aGlzLmlzVG91Y2hlZCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuaXNUb3VjaGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAoIWUpIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgZWxzZSB0aGlzLnZhbHVlID0gZVt0aGlzLmJpbmRWYWx1ZV07XG5cbiAgICAgIHRoaXMuY2hhbmdlZCh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuZXJyb3JNc2cgPSBnZXRGb3JtRXJyb3JNZXNzYWdlKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzLCAnQ3VycmVuY3knKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKGU/Lm1hZ25pZnlWYWx1ZSA9PT0gMSkgdGhpcy5kZWNpbWFsTGltaXRlciA9IDA7XG4gICAgZWxzZSB0aGlzLmRlY2ltYWxMaW1pdGVyID0gTWF0aC5mbG9vcihNYXRoLmxvZzEwKGU/Lm1hZ25pZnlWYWx1ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCBvbiBmb3JtIG51bWJlciBpbnB1dC5cbiAgICogU2V0IHRoZSBudW1iZXJWYWx1ZSB3aXRoIGN1cnJlbnQgdmFsdWUuXG4gICAqIEVtaXQgdGhlIHNlbGVjdGVkIGN1cnJlbmN5IGFuZCB0aGUgbnVtYmVyIHZhbHVlIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50LlxuICAgKiBAcGFyYW0ge2FueX0gLSBDb250YWluIGB2YWx1ZWAgdGhlIHZhbHVlIG9mIGlucHV0ZWQgbnVtYmVyLlxuICAgKi9cbiAgcHVibGljIG51bWJlcklucHV0KHsgdmFsdWUgfTogYW55KTogdm9pZHtcbiAgICB0aGlzLm51bWJlclZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgY2N5OiB0aGlzLmluaXRpYWxJdGVtcywgbnVtYmVyOiB2YWx1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgb24gZm9ybSBudW1iZXIga2V5cHJlc3MuXG4gICAqIENvbnRyb2xsaW5nIGlucHV0IGluIGEgbnVtYmVyIGZpZWxkLCByZXN0cmljdGluZyB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIGFsbG93ZWQuXG4gICAqIEBwYXJhbSB7YW55fSAtIENvbnRhaW5cbiAgICogY2hhckNvZGUgLSB0aGUgY2hhcmFjdGVyIGNvZGUgb2YgdGhlIGtleSBwcmVzc2VkLlxuICAgKiBwcmV2ZW50RGVmYXVsdCAtIHRoZSBmdW5jdGlvbiB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW91ciBvZiB0aGUgZXZlbnQuXG4gICAqIHRhcmdldC52YWx1ZSAtIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBsaW1pdERlY2ltYWwoeyBjaGFyQ29kZSwgcHJldmVudERlZmF1bHQsIHRhcmdldDogeyB2YWx1ZSB9fTogYW55KTogdm9pZHtcbiAgICBjb25zdCByZWcgPSB0aGlzLmRlY2ltYWxMaW1pdGVyID4gMD8gbmV3IFJlZ0V4cChgXlxcXFxkKihcXFxcLlxcXFxkezAsJHsgdGhpcy5kZWNpbWFsTGltaXRlciB9fSk/JGApIDogL15cXGQrJC87XG4gICAgaWYgKCFyZWcudGVzdCh2YWx1ZSArIFN0cmluZy5mcm9tQ2hhckNvZGUoY2hhckNvZGUpKSkgcHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtcyBhIHF1ZXJ5IG9wZXJhdGlvbiB0byByZXRyaWV2ZSBjdXJyZW5jeSBkYXRhIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBrZXl3b3JkLlxuICAgKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcXVlcmllZCBjdXJyZW5jeSBkYXRhLlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5d29yZCAtIFRoZSBrZXl3b3JkIHVzZWQgZm9yIHF1ZXJ5aW5nIGN1cnJlbmN5IGRhdGEuXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueT59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcXVlcmllZCBjdXJyZW5jeSBkYXRhLlxuICAgKi9cbiAgcHJvdGVjdGVkIHF1ZXJ5RnVuYyhrZXl3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgcmV0dXJuIHRoaXMuY3VycmVuY3lTZXJ2aWNlLnF1ZXJ5KGtleXdvcmQpLnBpcGUoXG4gICAgICBtYXAoKHsgZGF0YTogeyB3ZWJDb25maWdNc0N1cnJlbmN5OiB7IGRhdGEgfX19KSA9PiBkYXRhLm1hcCgoeyBjb2RlLCBuYW1lLCBtYWduaWZ5VmFsdWUgfTogYW55KSA9PiAoeyBsYWJlbDogYFskeyBjb2RlIH1dICR7IG5hbWUgfWAsIHZhbHVlOiBjb2RlLCBtYWduaWZ5VmFsdWUgfSkpKVxuICAgICk7XG4gIH07XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCI+Q3VycmVuY3k8L2xhYmVsPlxuXG48bmctdGVtcGxhdGUgI3NlbGVjdEZvcm0+XG4gICAgPG5nLXNlbGVjdCBcbiAgICAgICAgY2xhc3M9XCJmbGV4LXNocmluay0wXCJcbiAgICAgICAgW2NsYXNzLm51bWJlcl09XCJpc0lucHV0TnVtYmVyXCJcbiAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgdHlwZVRvU2VhcmNoVGV4dD1cIlBsZWFzZSBlbnRlciAzIG9yIG1vcmUgY2hhcmFjdGVyc1wiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiQ3VycmVuY3lcIlxuICAgICAgICBbYmluZExhYmVsXT1cImJpbmRMYWJlbFwiXG4gICAgICAgIFtiaW5kVmFsdWVdPVwiYmluZFZhbHVlXCJcbiAgICAgICAgW21pblRlcm1MZW5ndGhdPVwiM1wiXG4gICAgICAgIFt2aXJ0dWFsU2Nyb2xsXT1cInRydWVcIlxuICAgICAgICBbZWRpdGFibGVTZWFyY2hUZXJtXT1cInRydWVcIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgIFtyZWFkb25seV09XCJkaXNhYmxlZFwiIFxuICAgICAgICBbbG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgICAgICBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG4gICAgICAgIFt0eXBlYWhlYWRdPVwidHlwZWFoZWFkXCJcbiAgICAgICAgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KTtcIlxuICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWk9XCJpdGVtXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBpc0lucHV0TnVtYmVyPyBpLnZhbHVlIDogaS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXNlbGVjdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXROdW1iZXI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMSBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdEZvcm1cIiAvPlxuXG4gICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgW3BsYWNlaG9sZGVyXT1cIm51bWJlclBsYWNlaG9sZGVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1ncm93LTFcIiBbZGlzYWJsZWRdPVwiaXNOdW1iZXJEaXNhYmxlZFwiIFt2YWx1ZV09XCJudW1iZXJWYWx1ZVwiIChrZXlwcmVzcyk9XCJsaW1pdERlY2ltYWwoJGV2ZW50KVwiIChpbnB1dCk9XCJudW1iZXJJbnB1dCgkZXZlbnQudGFyZ2V0KVwiPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0lucHV0TnVtYmVyIGVsc2UgaW5wdXROdW1iZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0Rm9ybVwiIC8+XG48L25nLWNvbnRhaW5lcj5cblxuPGxhYmVsICpuZ0lmPVwiZXJyb3JNc2dcIiBjbGFzcz1cImlzLWludmFsaWRcIj57eyBlcnJvck1zZyB9fTwvbGFiZWw+XG4iXX0=
|
|
@@ -54,8 +54,8 @@ export class FormDateComponent {
|
|
|
54
54
|
this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormDateComponent, deps: [{ token: 'name', attribute: true }, { token: 'placeholder', attribute: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FormDateComponent, isStandalone: true, selector: "up-date", inputs: { label: "label", required: "required", disabled: "disabled", presentation: "presentation" }, host: { classAttribute: "d-block position-relative" }, providers: [
|
|
59
59
|
{
|
|
60
60
|
multi: true,
|
|
61
61
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -66,9 +66,9 @@ export class FormDateComponent {
|
|
|
66
66
|
provide: NG_VALIDATORS,
|
|
67
67
|
useExisting: FormDateComponent
|
|
68
68
|
}
|
|
69
|
-
], ngImport: i0, template: "<label class=\"form-label d-flex align-items-center\">\n <ng-content select=\"[icon]\" />\n <span>{{ label }}</span>\n</label>\n\n<input readonly type=\"text\" id=\"{{ name }}-date\" placeholder=\"{{ placeholder }}\" class=\"form-control cursor-pointer\" [disabled]=\"disabled\" [required]=\"required\" [value]=\"value | date:dateFormat \">\n<ion-icon name=\"calendar\" class=\"position-absolute fs-4 cursor-pointer\" />\n\n<ion-modal trigger=\"{{ name }}-date\">\n <ng-template>\n <ion-datetime mode=\"md\" [presentation]=\"presentation\" value=\"{{ localValue }}\" [showDefaultButtons]=\"true\" (ionChange)=\"changeDate($event)\" />\n </ng-template>\n</ion-modal>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ion-datetime{--background: white}ion-modal{--width: 290px;--height: auto}ion-icon{top:32px;right:16px;color:#616161}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "formatOptions", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
69
|
+
], ngImport: i0, template: "<label class=\"form-label d-flex align-items-center\">\n <ng-content select=\"[icon]\" />\n <span>{{ label }}</span>\n</label>\n\n<input readonly type=\"text\" id=\"{{ name }}-date\" placeholder=\"{{ placeholder }}\" class=\"form-control cursor-pointer\" [disabled]=\"disabled\" [required]=\"required\" [value]=\"value | date:dateFormat \">\n<ion-icon name=\"calendar\" class=\"position-absolute fs-4 cursor-pointer\" />\n\n<ion-modal trigger=\"{{ name }}-date\">\n <ng-template>\n <ion-datetime mode=\"md\" hourCycle=\"h23\" [presentation]=\"presentation\" value=\"{{ localValue }}\" [showDefaultButtons]=\"true\" (ionChange)=\"changeDate($event)\" />\n </ng-template>\n</ion-modal>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ion-datetime{--background: white}ion-modal{--width: 290px;--height: auto}ion-icon{top:32px;right:16px;color:#616161}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "formatOptions", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonModal, selector: "ion-modal" }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
70
70
|
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormDateComponent, decorators: [{
|
|
72
72
|
type: Component,
|
|
73
73
|
args: [{ standalone: true, selector: 'up-date', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
74
74
|
class: 'd-block position-relative'
|
|
@@ -86,7 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
86
86
|
provide: NG_VALIDATORS,
|
|
87
87
|
useExisting: FormDateComponent
|
|
88
88
|
}
|
|
89
|
-
], template: "<label class=\"form-label d-flex align-items-center\">\n <ng-content select=\"[icon]\" />\n <span>{{ label }}</span>\n</label>\n\n<input readonly type=\"text\" id=\"{{ name }}-date\" placeholder=\"{{ placeholder }}\" class=\"form-control cursor-pointer\" [disabled]=\"disabled\" [required]=\"required\" [value]=\"value | date:dateFormat \">\n<ion-icon name=\"calendar\" class=\"position-absolute fs-4 cursor-pointer\" />\n\n<ion-modal trigger=\"{{ name }}-date\">\n <ng-template>\n <ion-datetime mode=\"md\" [presentation]=\"presentation\" value=\"{{ localValue }}\" [showDefaultButtons]=\"true\" (ionChange)=\"changeDate($event)\" />\n </ng-template>\n</ion-modal>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ion-datetime{--background: white}ion-modal{--width: 290px;--height: auto}ion-icon{top:32px;right:16px;color:#616161}\n"] }]
|
|
89
|
+
], template: "<label class=\"form-label d-flex align-items-center\">\n <ng-content select=\"[icon]\" />\n <span>{{ label }}</span>\n</label>\n\n<input readonly type=\"text\" id=\"{{ name }}-date\" placeholder=\"{{ placeholder }}\" class=\"form-control cursor-pointer\" [disabled]=\"disabled\" [required]=\"required\" [value]=\"value | date:dateFormat \">\n<ion-icon name=\"calendar\" class=\"position-absolute fs-4 cursor-pointer\" />\n\n<ion-modal trigger=\"{{ name }}-date\">\n <ng-template>\n <ion-datetime mode=\"md\" hourCycle=\"h23\" [presentation]=\"presentation\" value=\"{{ localValue }}\" [showDefaultButtons]=\"true\" (ionChange)=\"changeDate($event)\" />\n </ng-template>\n</ion-modal>\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ion-datetime{--background: white}ion-modal{--width: 290px;--height: auto}ion-icon{top:32px;right:16px;color:#616161}\n"] }]
|
|
90
90
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
91
91
|
type: Attribute,
|
|
92
92
|
args: ['name']
|
|
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
102
102
|
}], presentation: [{
|
|
103
103
|
type: Input
|
|
104
104
|
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kYXRlL2Zvcm0tZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGF0ZS9mb3JtLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF5QyxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBNEJyRCxNQUFNLE9BQU8saUJBQWlCO0lBa0Y1QixZQUM0QixJQUFZLEVBQ0wsV0FBbUIsRUFDakMsRUFBcUI7UUFGZCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ0wsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDakMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUF4RTFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFPMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU8xQixpQkFBWSxHQUF5QixNQUFNLENBQUM7UUFPckQsY0FBUyxHQUFZLEtBQUssQ0FBQztRQU8zQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBT25CLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFPdkIsZUFBVSxHQUFXLGFBQWEsQ0FBQztRQW1CaEMsYUFB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QkFDL0I7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLElBQUk7NEJBQ1gsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsbUJBQW1CO3lCQUMvQjtxQkFDRjs7MEJBcUZFLFNBQVM7MkJBQUMsTUFBTTs7MEJBQ2hCLFNBQVM7MkJBQUMsYUFBYTt5RUE5RVYsS0FBSztzQkFBcEIsS0FBSztnQkFPVSxRQUFRO3NCQUF2QixLQUFLO2dCQU9VLFFBQVE7c0JBQXZCLEtBQUs7Z0JBT1UsWUFBWTtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBnZXRGb3JtRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZC1ibG9jayBwb3NpdGlvbi1yZWxhdGl2ZSdcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIElvbmljTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IEZvcm1EYXRlQ29tcG9uZW50XG4gICAgfSxcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybURhdGVDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybURhdGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQge1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSBmb3IgdGhlIGxhYmVsIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0ZSBpbnB1dC5cbiAgICogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGRhdGUgaW5wdXQgaXMgcmVxdWlyZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBkYXRlIGlucHV0IGlzIGRpc2FibGVkLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgZGF0ZSBwaWNrZXIgaXMgZGF0ZSBvbmx5IG9yIGRhdGUgYW5kIHRpbWUuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0ICdkYXRlJ1xuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHByZXNlbnRhdGlvbjogJ2RhdGUnIHwgJ2RhdGUtdGltZScgPSAnZGF0ZSc7XG5cbiAgLyoqXG4gICAqIEJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGRhdGUgaW5wdXQgaGFzIGJlZW4gdG91Y2hlZC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBwdWJsaWMgaXNUb3VjaGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgZGF0ZSBpbnB1dC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgJydcbiAgICovXG4gIHB1YmxpYyB2YWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgbG9jYWxpemF0aW9uIGRhdGUuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0ICcnXG4gICAqL1xuICBwdWJsaWMgbG9jYWxWYWx1ZTogc3RyaW5nPSAnJztcblxuICAvKipcbiAgICogVGhlIGZvcm1hdCBvZiBkYXRlLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCAnZGQgTExMIHl5eXknXG4gICAqL1xuICBwdWJsaWMgZGF0ZUZvcm1hdDogc3RyaW5nID0gJ2RkIExMTCB5eXl5JztcblxuICAvKipcbiAgICogRXJyb3IgbWVzc2FnZSBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGUgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcHVibGljIGVycm9yTXNnITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybSBjb250cm9sIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0ZSBpbnB1dC5cbiAgICogQHR5cGUge0Fic3RyYWN0Q29udHJvbH1cbiAgICovXG4gIHByb3RlY3RlZCBmb3JtQ29udHJvbCE6IEFic3RyYWN0Q29udHJvbDtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIHZhbHVlIGNoYW5nZXMgaW4gdGhlIGRhdGUgaW5wdXQuXG4gICAqIEB0eXBlIHsoX3ZhbDogYW55KSA9PiB2b2lkfVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlOiAoX3ZhbDogYW55KSA9PiB2b2lkID0gKF92YWw6IGFueSkgPT4ge307XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSB0b3VjaCBldmVudHMgaW4gdGhlIGRhdGUgaW5wdXQuXG4gICAqIEB0eXBlIHsoKSA9PiB2b2lkfVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBBdHRyaWJ1dGUoJ25hbWUnKSBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgIEBBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJykgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBob29rIGNhbGxlZCBhIG1vbWVudCBiZWZvcmUgdGhlIGNvbXBvbmVudCBpcyBjcmVhdGVkLlxuICAgKiBDaGVjayBpZiB0aGUgcHJlc2VudGF0aW9uIGlzICdkYXRlLXRpbWUnIHRoZW4gdGhlIGRhdGUgZm9ybWF0IHNob3VsZCBiZSBjaGFuZ2VkIHRvIGRkIExMTCB5eXl5IEhIOm1tLlxuICAgKi9cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWR7XG4gICAgaWYgKHRoaXMucHJlc2VudGF0aW9uID09PSAnZGF0ZS10aW1lJykgdGhpcy5kYXRlRm9ybWF0ID0gYCR7IHRoaXMuZGF0ZUZvcm1hdCB9IEhIOm1tYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgZGF0ZSBpbnB1dCB2YWx1ZSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0geyhfdmFsOiBhbnkpID0+IHZvaWR9IGZuIC0gQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBkYXRlIGlucHV0IGlzIHRvdWNoZWQuXG4gICAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gZm4gLSBDYWxsYmFjayBmdW5jdGlvbiBmb3IgdG91Y2ggZXZlbnRzLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XG5cbiAgLyoqXG4gICAqIFdyaXRlcyBhIG5ldyB2YWx1ZSB0byB0aGUgZGF0ZSBpbnB1dC5cbiAgICogQ2FsY3VsYXRlIGFuZCB3cml0ZXMgdGhlIGxvY2FsIHZhbHVlIGZvciBpb25pYyBkYXRldGltZSBwaWNrZXIuXG4gICAqIEBwYXJhbSB7Kn0gdmFsIC0gVGhlIG5ldyB2YWx1ZSB0byBiZSBzZXQuXG4gICAqL1xuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWR7IFxuICAgIHRoaXMudmFsdWUgPSB2YWw7XG4gICAgXG4gICAgbGV0IGxvY2FsVGltZSA9IG5ldyBEYXRlKHZhbCk7XG5cbiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWUuZ2V0VGltZSgpIC0gKGxvY2FsVGltZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDApKTtcbiAgICB0aGlzLmxvY2FsVmFsdWUgPSBsb2NhbFRpbWUudG9JU09TdHJpbmcoKTtcblxuICAgIHRoaXMuY2gubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGRhdGUgaW5wdXQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZCAtIFdoZXRoZXIgdGhlIGRhdGUgaW5wdXQgc2hvdWxkIGJlIGRpc2FibGVkIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlPyhkOiBib29sZWFuKTogdm9pZHsgXG4gICAgdGhpcy5kaXNhYmxlZCA9IGQ7IFxuICAgIHRoaXMuY2gubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBkYXRlIGlucHV0LlxuICAgKiBAcGFyYW0ge0Fic3RyYWN0Q29udHJvbH0gY29udHJvbCAtIFRoZSBhYnN0cmFjdCBjb250cm9sIHJlcHJlc2VudGluZyB0aGUgZGF0ZSBpbnB1dC5cbiAgICogQHJldHVybnMgeyhWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCl9IC0gVmFsaWRhdGlvbiBlcnJvcnMgaWYgYW55LCBvdGhlcndpc2UgbnVsbC5cbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbHtcbiAgICB0aGlzLmZvcm1Db250cm9sID0gY29udHJvbDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGZvciBkYXRlIGNoYW5nZXMgaW4gdGhlIGRhdGUgaW5wdXQuXG4gICAqIElmIG5vdCB0b3VjaGVkLCBtYXJrcyB0aGUgaW5wdXQgYXMgdG91Y2hlZC5cbiAgICogSWYgbm90IGRpc2FibGVkLCB1cGRhdGVzIHRoZSB2YWx1ZSwgdHJpZ2dlcnMgY2hhbmdlIGRldGVjdGlvbiwgYW5kIGVtaXRzIHRoZSBjaGFuZ2UgZXZlbnQuXG4gICAqIFVwZGF0ZXMgdGhlIGVycm9yIG1lc3NhZ2UgYmFzZWQgb24gZm9ybSBjb250cm9sIGVycm9ycyBhbmQgbGFiZWwuXG4gICAqIEBwYXJhbSB7YW55fSBwYXJhbTAgLSBFdmVudCBkZXRhaWwgY29udGFpbmluZyB0aGUgbmV3IGRhdGUgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlRGF0ZSh7IGRldGFpbDogeyB2YWx1ZSB9fTogYW55KTogdm9pZHtcbiAgICBpZiAoIXRoaXMuaXNUb3VjaGVkKSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5pc1RvdWNoZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubG9jYWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5jaC5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuZXJyb3JNc2cgPSBnZXRGb3JtRXJyb3JNZXNzYWdlKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzLCB0aGlzLmxhYmVsKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpY29uXVwiIC8+XG4gICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG48L2xhYmVsPlxuXG48aW5wdXQgcmVhZG9ubHkgdHlwZT1cInRleHRcIiBpZD1cInt7IG5hbWUgfX0tZGF0ZVwiIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIiBjbGFzcz1cImZvcm0tY29udHJvbCBjdXJzb3ItcG9pbnRlclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFt2YWx1ZV09XCJ2YWx1ZSB8IGRhdGU6ZGF0ZUZvcm1hdCBcIj5cbjxpb24taWNvbiBuYW1lPVwiY2FsZW5kYXJcIiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGZzLTQgY3Vyc29yLXBvaW50ZXJcIiAvPlxuXG48aW9uLW1vZGFsIHRyaWdnZXI9XCJ7eyBuYW1lIH19LWRhdGVcIj5cbiAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgIDxpb24tZGF0ZXRpbWUgbW9kZT1cIm1kXCIgW3ByZXNlbnRhdGlvbl09XCJwcmVzZW50YXRpb25cIiB2YWx1ZT1cInt7IGxvY2FsVmFsdWUgfX1cIiBbc2hvd0RlZmF1bHRCdXR0b25zXT1cInRydWVcIiAoaW9uQ2hhbmdlKT1cImNoYW5nZURhdGUoJGV2ZW50KVwiIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvaW9uLW1vZGFsPlxuPGxhYmVsICpuZ0lmPVwiZXJyb3JNc2dcIiBjbGFzcz1cImlzLWludmFsaWRcIj57eyBlcnJvck1zZyB9fTwvbGFiZWw+XG4iXX0=
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9kYXRlL2Zvcm0tZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGF0ZS9mb3JtLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF5QyxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBNEJyRCxNQUFNLE9BQU8saUJBQWlCO0lBa0Y1QixZQUM0QixJQUFZLEVBQ0wsV0FBbUIsRUFDakMsRUFBcUI7UUFGZCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ0wsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDakMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUF4RTFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFPMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU8xQixpQkFBWSxHQUF5QixNQUFNLENBQUM7UUFPckQsY0FBUyxHQUFZLEtBQUssQ0FBQztRQU8zQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBT25CLGVBQVUsR0FBVSxFQUFFLENBQUM7UUFPdkIsZUFBVSxHQUFXLGFBQWEsQ0FBQztRQW1CaEMsYUFB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QkFDL0I7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLElBQUk7NEJBQ1gsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsbUJBQW1CO3lCQUMvQjtxQkFDRjs7MEJBcUZFLFNBQVM7MkJBQUMsTUFBTTs7MEJBQ2hCLFNBQVM7MkJBQUMsYUFBYTt5RUE5RVYsS0FBSztzQkFBcEIsS0FBSztnQkFPVSxRQUFRO3NCQUF2QixLQUFLO2dCQU9VLFFBQVE7c0JBQXZCLEtBQUs7Z0JBT1UsWUFBWTtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBnZXRGb3JtRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZC1ibG9jayBwb3NpdGlvbi1yZWxhdGl2ZSdcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIElvbmljTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IEZvcm1EYXRlQ29tcG9uZW50XG4gICAgfSxcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybURhdGVDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybURhdGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQge1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSBmb3IgdGhlIGxhYmVsIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0ZSBpbnB1dC5cbiAgICogQHR5cGUge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGRhdGUgaW5wdXQgaXMgcmVxdWlyZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBkYXRlIGlucHV0IGlzIGRpc2FibGVkLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgZGF0ZSBwaWNrZXIgaXMgZGF0ZSBvbmx5IG9yIGRhdGUgYW5kIHRpbWUuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0ICdkYXRlJ1xuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHByZXNlbnRhdGlvbjogJ2RhdGUnIHwgJ2RhdGUtdGltZScgPSAnZGF0ZSc7XG5cbiAgLyoqXG4gICAqIEJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGRhdGUgaW5wdXQgaGFzIGJlZW4gdG91Y2hlZC5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBwdWJsaWMgaXNUb3VjaGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgZGF0ZSBpbnB1dC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgJydcbiAgICovXG4gIHB1YmxpYyB2YWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgbG9jYWxpemF0aW9uIGRhdGUuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0ICcnXG4gICAqL1xuICBwdWJsaWMgbG9jYWxWYWx1ZTogc3RyaW5nPSAnJztcblxuICAvKipcbiAgICogVGhlIGZvcm1hdCBvZiBkYXRlLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCAnZGQgTExMIHl5eXknXG4gICAqL1xuICBwdWJsaWMgZGF0ZUZvcm1hdDogc3RyaW5nID0gJ2RkIExMTCB5eXl5JztcblxuICAvKipcbiAgICogRXJyb3IgbWVzc2FnZSBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGUgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcHVibGljIGVycm9yTXNnITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybSBjb250cm9sIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0ZSBpbnB1dC5cbiAgICogQHR5cGUge0Fic3RyYWN0Q29udHJvbH1cbiAgICovXG4gIHByb3RlY3RlZCBmb3JtQ29udHJvbCE6IEFic3RyYWN0Q29udHJvbDtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIHZhbHVlIGNoYW5nZXMgaW4gdGhlIGRhdGUgaW5wdXQuXG4gICAqIEB0eXBlIHsoX3ZhbDogYW55KSA9PiB2b2lkfVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlOiAoX3ZhbDogYW55KSA9PiB2b2lkID0gKF92YWw6IGFueSkgPT4ge307XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSB0b3VjaCBldmVudHMgaW4gdGhlIGRhdGUgaW5wdXQuXG4gICAqIEB0eXBlIHsoKSA9PiB2b2lkfVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBBdHRyaWJ1dGUoJ25hbWUnKSBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgIEBBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJykgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBob29rIGNhbGxlZCBhIG1vbWVudCBiZWZvcmUgdGhlIGNvbXBvbmVudCBpcyBjcmVhdGVkLlxuICAgKiBDaGVjayBpZiB0aGUgcHJlc2VudGF0aW9uIGlzICdkYXRlLXRpbWUnIHRoZW4gdGhlIGRhdGUgZm9ybWF0IHNob3VsZCBiZSBjaGFuZ2VkIHRvIGRkIExMTCB5eXl5IEhIOm1tLlxuICAgKi9cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWR7XG4gICAgaWYgKHRoaXMucHJlc2VudGF0aW9uID09PSAnZGF0ZS10aW1lJykgdGhpcy5kYXRlRm9ybWF0ID0gYCR7IHRoaXMuZGF0ZUZvcm1hdCB9IEhIOm1tYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgZGF0ZSBpbnB1dCB2YWx1ZSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0geyhfdmFsOiBhbnkpID0+IHZvaWR9IGZuIC0gQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBkYXRlIGlucHV0IGlzIHRvdWNoZWQuXG4gICAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gZm4gLSBDYWxsYmFjayBmdW5jdGlvbiBmb3IgdG91Y2ggZXZlbnRzLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XG5cbiAgLyoqXG4gICAqIFdyaXRlcyBhIG5ldyB2YWx1ZSB0byB0aGUgZGF0ZSBpbnB1dC5cbiAgICogQ2FsY3VsYXRlIGFuZCB3cml0ZXMgdGhlIGxvY2FsIHZhbHVlIGZvciBpb25pYyBkYXRldGltZSBwaWNrZXIuXG4gICAqIEBwYXJhbSB7Kn0gdmFsIC0gVGhlIG5ldyB2YWx1ZSB0byBiZSBzZXQuXG4gICAqL1xuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWR7IFxuICAgIHRoaXMudmFsdWUgPSB2YWw7XG4gICAgXG4gICAgbGV0IGxvY2FsVGltZSA9IG5ldyBEYXRlKHZhbCk7XG5cbiAgICBsb2NhbFRpbWUgPSBuZXcgRGF0ZShsb2NhbFRpbWUuZ2V0VGltZSgpIC0gKGxvY2FsVGltZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDApKTtcbiAgICB0aGlzLmxvY2FsVmFsdWUgPSBsb2NhbFRpbWUudG9JU09TdHJpbmcoKTtcblxuICAgIHRoaXMuY2gubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGRhdGUgaW5wdXQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZCAtIFdoZXRoZXIgdGhlIGRhdGUgaW5wdXQgc2hvdWxkIGJlIGRpc2FibGVkIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlPyhkOiBib29sZWFuKTogdm9pZHsgXG4gICAgdGhpcy5kaXNhYmxlZCA9IGQ7IFxuICAgIHRoaXMuY2gubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBkYXRlIGlucHV0LlxuICAgKiBAcGFyYW0ge0Fic3RyYWN0Q29udHJvbH0gY29udHJvbCAtIFRoZSBhYnN0cmFjdCBjb250cm9sIHJlcHJlc2VudGluZyB0aGUgZGF0ZSBpbnB1dC5cbiAgICogQHJldHVybnMgeyhWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCl9IC0gVmFsaWRhdGlvbiBlcnJvcnMgaWYgYW55LCBvdGhlcndpc2UgbnVsbC5cbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbHtcbiAgICB0aGlzLmZvcm1Db250cm9sID0gY29udHJvbDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGZvciBkYXRlIGNoYW5nZXMgaW4gdGhlIGRhdGUgaW5wdXQuXG4gICAqIElmIG5vdCB0b3VjaGVkLCBtYXJrcyB0aGUgaW5wdXQgYXMgdG91Y2hlZC5cbiAgICogSWYgbm90IGRpc2FibGVkLCB1cGRhdGVzIHRoZSB2YWx1ZSwgdHJpZ2dlcnMgY2hhbmdlIGRldGVjdGlvbiwgYW5kIGVtaXRzIHRoZSBjaGFuZ2UgZXZlbnQuXG4gICAqIFVwZGF0ZXMgdGhlIGVycm9yIG1lc3NhZ2UgYmFzZWQgb24gZm9ybSBjb250cm9sIGVycm9ycyBhbmQgbGFiZWwuXG4gICAqIEBwYXJhbSB7YW55fSBwYXJhbTAgLSBFdmVudCBkZXRhaWwgY29udGFpbmluZyB0aGUgbmV3IGRhdGUgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlRGF0ZSh7IGRldGFpbDogeyB2YWx1ZSB9fTogYW55KTogdm9pZHtcbiAgICBpZiAoIXRoaXMuaXNUb3VjaGVkKSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5pc1RvdWNoZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubG9jYWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5jaC5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuZXJyb3JNc2cgPSBnZXRGb3JtRXJyb3JNZXNzYWdlKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzLCB0aGlzLmxhYmVsKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpY29uXVwiIC8+XG4gICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG48L2xhYmVsPlxuXG48aW5wdXQgcmVhZG9ubHkgdHlwZT1cInRleHRcIiBpZD1cInt7IG5hbWUgfX0tZGF0ZVwiIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIiBjbGFzcz1cImZvcm0tY29udHJvbCBjdXJzb3ItcG9pbnRlclwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFt2YWx1ZV09XCJ2YWx1ZSB8IGRhdGU6ZGF0ZUZvcm1hdCBcIj5cbjxpb24taWNvbiBuYW1lPVwiY2FsZW5kYXJcIiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGZzLTQgY3Vyc29yLXBvaW50ZXJcIiAvPlxuXG48aW9uLW1vZGFsIHRyaWdnZXI9XCJ7eyBuYW1lIH19LWRhdGVcIj5cbiAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgIDxpb24tZGF0ZXRpbWUgbW9kZT1cIm1kXCIgaG91ckN5Y2xlPVwiaDIzXCIgW3ByZXNlbnRhdGlvbl09XCJwcmVzZW50YXRpb25cIiB2YWx1ZT1cInt7IGxvY2FsVmFsdWUgfX1cIiBbc2hvd0RlZmF1bHRCdXR0b25zXT1cInRydWVcIiAoaW9uQ2hhbmdlKT1cImNoYW5nZURhdGUoJGV2ZW50KVwiIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvaW9uLW1vZGFsPlxuPGxhYmVsICpuZ0lmPVwiZXJyb3JNc2dcIiBjbGFzcz1cImlzLWludmFsaWRcIj57eyBlcnJvck1zZyB9fTwvbGFiZWw+XG4iXX0=
|
|
@@ -25,10 +25,10 @@ export class DragNDropDirective {
|
|
|
25
25
|
if (files.length > 0)
|
|
26
26
|
this.fileDropped.emit(files);
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
29
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DragNDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: DragNDropDirective, isStandalone: true, selector: "[upDragNDrop]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" } }, ngImport: i0 }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DragNDropDirective, decorators: [{
|
|
32
32
|
type: Directive,
|
|
33
33
|
args: [{
|
|
34
34
|
standalone: true,
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
46
46
|
type: HostListener,
|
|
47
47
|
args: ['drop', ['$event']]
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1uLWRyb3AuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2ltYWdlLXBpY2tlci9kaXJlY3RpdmVzL2RyYWctbi1kcm9wLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU05RSxNQUFNLE9BQU8sa0JBQWtCO0lBSi9CO1FBTW1CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQStCeEQ7SUE1QlEsVUFBVSxDQUFDLEdBQVE7UUFDeEIsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV0QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBMEIsQ0FBQztRQUM5QyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBR00sV0FBVyxDQUFDLEdBQVE7UUFDekIsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV0QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBMEIsQ0FBQztRQUM5QyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBR00sTUFBTSxDQUFDLEdBQVE7UUFDcEIsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV0QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBMEIsQ0FBQztRQUM5QyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVwQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUNyQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0dBaENVLGtCQUFrQjttR0FBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7OEJBR2tCLFdBQVc7c0JBQTNCLE1BQU07Z0JBR0EsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBRSxRQUFRLENBQUU7Z0JBVS9CLFdBQVc7c0JBRGpCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUUsUUFBUSxDQUFFO2dCQVVoQyxNQUFNO3NCQURaLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUUsUUFBUSxDQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1t1cERyYWdORHJvcF0nXG59KVxuZXhwb3J0IGNsYXNzIERyYWdORHJvcERpcmVjdGl2ZSB7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBmaWxlRHJvcHBlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyAnJGV2ZW50JyBdKSBcbiAgcHVibGljIG9uRHJhZ092ZXIoZXZ0OiBhbnkpOiB2b2lke1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IHRhcmdldCA9IGV2dC50YXJnZXQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZCgnZHJhZ2dpbmcnKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsgJyRldmVudCcgXSkgXG4gIHB1YmxpYyBvbkRyYWdMZWF2ZShldnQ6IGFueSk6IHZvaWR7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZ0LnRhcmdldCBhcyBIVE1MSW1hZ2VFbGVtZW50O1xuICAgIHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCdkcmFnZ2luZycpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsgJyRldmVudCcgXSkgXG4gIHB1YmxpYyBvbkRyb3AoZXZ0OiBhbnkpOiB2b2lke1xuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IHRhcmdldCA9IGV2dC50YXJnZXQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICB0YXJnZXQuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZ2dpbmcnKTtcblxuICAgIGNvbnN0IGZpbGVzID0gZXZ0LmRhdGFUcmFuc2Zlci5maWxlcztcbiAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCkgdGhpcy5maWxlRHJvcHBlZC5lbWl0KGZpbGVzKTtcbiAgfVxufVxuIl19
|
|
@@ -33,8 +33,8 @@ export class FormImagePickerComponent {
|
|
|
33
33
|
this.onChange.emit(files[0]);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormImagePickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FormImagePickerComponent, isStandalone: true, selector: "up-image-picker", inputs: { ratio: "ratio", label: "label", required: "required" }, outputs: { onChange: "onChange" }, host: { classAttribute: "d-block" }, providers: [
|
|
38
38
|
{
|
|
39
39
|
multi: true,
|
|
40
40
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -42,7 +42,7 @@ export class FormImagePickerComponent {
|
|
|
42
42
|
},
|
|
43
43
|
], ngImport: i0, template: "<div class=\"flex-shrink-0 mb-4\">\n <label class=\"mb-2 d-flex align-items-center form-label\">\n <span class=\"text-danger me-2\" *ngIf=\"required\">*</span>\n \n <ng-content select=\"[icon]\"/>\n <span>{{ label }}</span>\n </label>\n \n <div class=\"img-container position-relative border rounded\" [ngStyle]=\"{ 'aspect-ratio': ratio }\" upDragNDrop (fileDropped)=\"selectPhoto($event)\"> \n <img *ngIf=\"imgSrc\" alt=\"{{ label }}\" class=\"rounded\" width=\"100%\" height=\"100%\" src=\"{{ imgSrc }}\" />\n \n <div class=\"upload-icon rounded position-absolute text-white align-items-center justify-content-center px-3 py-2 w-100\" [ngStyle]=\"{ 'aspect-ratio': ratio }\" (click)=\"file.click();\">\n <ion-icon class=\"upload-icon\" name=\"cloud-upload\" title=\"Drop file or click to browse\" *ngIf=\"!imgSrc; else deleteIcon\" />\n \n <ng-template #deleteIcon>\n <div class=\"position-absolute display-flex justify-content-center rounded p-1 d-btn\">\n <ion-icon name=\"trash\" class=\"text-red-600\" title=\"Clear Image\" (click)=\"clear($event)\" />\n </div>\n </ng-template>\n </div>\n \n <input type=\"file\" hidden accept=\"image/png, image/jpeg, image/jpg\" multiple=\"false\" (change)=\"selectPhoto($event)\" #file />\n </div>\n</div>\n", styles: ["ion-icon{font-size:24px}.img-container{width:250px;border-style:dashed!important}.img-container:hover .upload-icon{display:flex}.img-container:not(:has(img)):before{content:\"Choose file or Drag here.\";top:50%;left:50%;font-size:12px;position:absolute;color:gray;text-align:center;transform:translate(-50%,-50%)}.upload-icon:not(ion-icon){background:#00000050}.upload-icon{top:0;left:0;display:none;cursor:pointer}.d-btn{right:10px;bottom:10px;width:32px;height:32px;background-color:#fee2e2}.d-btn ion-icon{color:#dc2626}.dragging{border:2px dashed #ED6B26!important}.dragging:not(:has(img)):before{content:\"Drop\";font-size:32px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: DragNDropDirective, selector: "[upDragNDrop]", outputs: ["fileDropped"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormImagePickerComponent, decorators: [{
|
|
46
46
|
type: Component,
|
|
47
47
|
args: [{ standalone: true, selector: 'up-image-picker', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
48
48
|
class: 'd-block'
|
|
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
66
66
|
}], onChange: [{
|
|
67
67
|
type: Output
|
|
68
68
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbWFnZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2ltYWdlLXBpY2tlci9mb3JtLWltYWdlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvaW1hZ2UtcGlja2VyL2Zvcm0taW1hZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7O0FBd0J4RSxNQUFNLE9BQU8sd0JBQXdCO0lBdUNuQyxZQUNxQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQWhDMUIsVUFBSyxHQUFXLE1BQU0sQ0FBQztRQWF2QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBS3pCLGFBQVEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVUvRCxjQUFTLEdBQXdCLENBQUMsSUFBUyxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDbkQsY0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUl2QyxDQUFDO0lBS0UsZ0JBQWdCLENBQUMsRUFBTyxJQUFTLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV2RCxpQkFBaUIsQ0FBQyxFQUFPLElBQVMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBS3hELEtBQUssQ0FBQyxFQUFVO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEIsRUFBRSxFQUFFLGVBQWUsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFPTSxVQUFVLENBQUMsR0FBUTtRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUNsQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFNTSxXQUFXLENBQUMsS0FBVTtRQUMzQixJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSztZQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUVyRCxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDOytHQS9FVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qix3TUFSeEI7WUFDVDtnQkFDRSxLQUFLLEVBQUUsSUFBSTtnQkFDWCxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsd0JBQXdCO2FBQ3RDO1NBQ0YsMEJDMUJILG00Q0F3QkEsb3JCRFJJLFlBQVksd05BQ1osa0JBQWtCLG1GQUNsQixXQUFXOzs0RkFVRix3QkFBd0I7a0JBdEJwQyxTQUFTO2lDQUNJLElBQUksWUFDTixpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsU0FBUztxQkFDakIsV0FDUTt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsV0FBVztxQkFDWixhQUNVO3dCQUNUOzRCQUNFLEtBQUssRUFBRSxJQUFJOzRCQUNYLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsMEJBQTBCO3lCQUN0QztxQkFDRjtzRkFVZSxLQUFLO3NCQUFwQixLQUFLO2dCQU1VLEtBQUs7c0JBQXBCLEtBQUs7Z0JBT1UsUUFBUTtzQkFBdkIsS0FBSztnQkFLVyxRQUFRO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgRHJhZ05Ecm9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RyYWctbi1kcm9wLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3VwLWltYWdlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWltYWdlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0taW1hZ2UtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkLWJsb2NrJ1xuICB9LFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyYWdORHJvcERpcmVjdGl2ZSxcbiAgICBJb25pY01vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IEZvcm1JbWFnZVBpY2tlckNvbXBvbmVudFxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUltYWdlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIC8qKlxuICAgKiBBIHB1YmxpYyBpbnB1dCB2YXJpYWJsZSB0byBhZGp1c3QgaW1hZ2UgY29udGFpbmVyIGFzcGVjdCByYXRpbyBieSBjc3MsIHRvIGtlZXAgdGhlIGltYWdlIHdpZHRoIGFuZCBoZWlnaHQgcHJvcG9ydGlvbmFsLlxuICAgKiBUaGUgY29tbW9uIGFzcGVjdCByYXRpbyBuYW1lbHkgMS8xLCA0LzMsIDE2LzkgZXRjLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCBgMTYvOWBcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyByYXRpbzogc3RyaW5nID0gJzE2LzknO1xuICAvKipcbiAgICogQSBwdWJsaWMgaW5wdXQgdmFyaWFibGUgdG8gc2V0IHRoZSBmb3JtIGxhYmVsLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIEEgcHVibGljIGlucHV0IHZhcmlhYmxlIHRvIHNob3cgb3IgaGlkZSBhc3RyICgqKSBzaWduLlxuICAgKiBJdCB3aWxsIHNob3cgaWYgdGhlIHZhbHVlIGlzIHRydWUgbWVhbiB0aGUgZmllbGQgaXMgY2FuIG5vdCBiZSBlbXB0eSBhbmQgaGlkZSBpZiB0aGUgdmFsdWUgaXMgZmFsc2UuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG4gICAvKipcbiAgICogQSBwdWJsaWMgb3V0cHV0IHZhcmlhYmxlIHRvIGVtaXQgdGhlIEZpbGUgdG8gdGhlIHBhcmVudCBjb21wb25lbnQuXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8RmlsZT59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RmlsZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGU+KCk7XG4gICAvKipcbiAgICogQSBwdWJsaWMgdmFyaWFibGUgY29udGFpbiB0ZW1wb3JhcnkgaW1hZ2UgdXJsIHNob3duIG9uIHRoZSBwcmV2aWV3LlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHB1YmxpYyBpbWdTcmMhOiBzdHJpbmc7XG4gICAvKipcbiAgICogQm90aCB0d28gbWV0aG9kcyBhcmUgbWFuZGF0b3J5IGFzIGltcGxlbWVudGF0aW9uIG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlZDogKF92YWw6IGFueSkgPT4gdm9pZCA9IChfdmFsOiBhbnkpID0+IHt9O1xuICBwcm90ZWN0ZWQgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHsgfVxuXG4gIC8qKlxuICAgKiBCb3RoIHR3byBtZXRob2RzIGFyZSBtYW5kYXRvcnkgYXMgaW1wbGVtZW50YXRpb24gb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZHsgdGhpcy5vbkNoYW5nZWQgPSBmbjsgfVxuICBcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkeyB0aGlzLm9uVG91Y2hlZCA9IGZuOyB9XG5cbiAgLyoqXG4gICAqIEEgcHJvY2VkdXJlIGNhbGxlZCB0byBjbGVhciB0aGUgaW1hZ2UgcHJldmlldy5cbiAgICovXG4gIHB1YmxpYyBjbGVhcihldj86IEV2ZW50KTogdm9pZHtcbiAgICB0aGlzLndyaXRlVmFsdWUoJycpO1xuICAgIGV2Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHByb2NlZHVyZSBjYWxsZWQgd2hlbiB0aGUgaW1hZ2Ugd2FzIHNldCBwcmV2aW91c2x5IGluIHRoZSBwYXJlbnQgZm9ybUNvbnRyb2xOYW1lIGNvbXBvbmVudCBhbmQgdGhlIHVzZXIgd2FudCB0byBjaGFuZ2Ugd2l0aCBhbm90aGVyIG9uZS5cbiAgICogSXQgaXMgbWFuZGF0b3J5IGFzIGFuIGltcGxlbWVudGF0aW9uIG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAcGFyYW0ge2FueX0gdmFsIC0gY29udGFpbiBpbWFnZSB1cmwuXG4gICAqL1xuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWR7XG4gICAgdGhpcy5pbWdTcmMgPSB2YWw7XG4gICAgdGhpcy5jaC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHByb2NlZHVyZSBjYWxsZWQgd2hlbiB1c2VyIHBpY2sgb3IgZHJhZyBhbmQgZHJvcCBpbWFnZS5cbiAgICogQHBhcmFtIHthbnl9IGZpbGVzIC0gZmlsZXM/LnRhcmdldD8uZmlsZXMgdG8gY2hlY2sgaWYgaW1hZ2UgY29tZSBmcm9tIGRyYWcgYW5kIGRyb3AgYW5kIGZpbGVzWzBdIGZyb20gbm9ybWFsIHBpY2sgaW1hZ2UuXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0UGhvdG8oZmlsZXM6IGFueSk6IHZvaWR7XG4gICAgaWYgKGZpbGVzPy50YXJnZXQ/LmZpbGVzKSBmaWxlcyA9IGZpbGVzLnRhcmdldC5maWxlcztcblxuICAgIGlmIChmaWxlcyAmJiBmaWxlc1swXSkge1xuICAgICAgdGhpcy5pbWdTcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKChmaWxlc1swXSkpO1xuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KGZpbGVzWzBdKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIG1iLTRcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJtYi0yIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZm9ybS1sYWJlbFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyIG1lLTJcIiAqbmdJZj1cInJlcXVpcmVkXCI+JmFzdDs8L3NwYW4+XG4gICAgICAgIFxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWNvbl1cIi8+XG4gICAgICAgIDxzcGFuPnt7IGxhYmVsIH19PC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gICAgXG4gICAgPGRpdiBjbGFzcz1cImltZy1jb250YWluZXIgcG9zaXRpb24tcmVsYXRpdmUgYm9yZGVyIHJvdW5kZWRcIiBbbmdTdHlsZV09XCJ7ICdhc3BlY3QtcmF0aW8nOiByYXRpbyB9XCIgdXBEcmFnTkRyb3AgKGZpbGVEcm9wcGVkKT1cInNlbGVjdFBob3RvKCRldmVudClcIj4gXG4gICAgICAgIDxpbWcgKm5nSWY9XCJpbWdTcmNcIiBhbHQ9XCJ7eyBsYWJlbCB9fVwiIGNsYXNzPVwicm91bmRlZFwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiBzcmM9XCJ7eyBpbWdTcmMgfX1cIiAvPlxuICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWljb24gcm91bmRlZCBwb3NpdGlvbi1hYnNvbHV0ZSB0ZXh0LXdoaXRlIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHB4LTMgcHktMiB3LTEwMFwiIFtuZ1N0eWxlXT1cInsgJ2FzcGVjdC1yYXRpbyc6IHJhdGlvIH1cIiAoY2xpY2spPVwiZmlsZS5jbGljaygpO1wiPlxuICAgICAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwidXBsb2FkLWljb25cIiBuYW1lPVwiY2xvdWQtdXBsb2FkXCIgdGl0bGU9XCJEcm9wIGZpbGUgb3IgY2xpY2sgdG8gYnJvd3NlXCIgKm5nSWY9XCIhaW1nU3JjOyBlbHNlIGRlbGV0ZUljb25cIiAvPlxuICAgIFxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWxldGVJY29uPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBkaXNwbGF5LWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciByb3VuZGVkIHAtMSBkLWJ0blwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwidHJhc2hcIiBjbGFzcz1cInRleHQtcmVkLTYwMFwiIHRpdGxlPVwiQ2xlYXIgSW1hZ2VcIiAoY2xpY2spPVwiY2xlYXIoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIFxuICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBoaWRkZW4gYWNjZXB0PVwiaW1hZ2UvcG5nLCBpbWFnZS9qcGVnLCBpbWFnZS9qcGdcIiBtdWx0aXBsZT1cImZhbHNlXCIgKGNoYW5nZSk9XCJzZWxlY3RQaG90bygkZXZlbnQpXCIgI2ZpbGUgLz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -6,4 +6,5 @@ export { FormSearchableSelectComponent } from './searchable-select/form-searchab
|
|
|
6
6
|
export { FormSelectComponent } from './select/form-select.component';
|
|
7
7
|
export { FormTextareaComponent } from './textarea/form-textarea.component';
|
|
8
8
|
export { FormImagePickerComponent } from './image-picker/form-image-picker.component';
|
|
9
|
-
|
|
9
|
+
export { FormCurrencyInputComponent } from './currency-input/form-currency-input.component';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0RBQWdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JtRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS9mb3JtLWRhdGUuY29tcG9uZW50JztcbmV4cG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0IHsgRm9ybU51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vbnVtYmVyL2Zvcm0tbnVtYmVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGb3JtUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3Bhc3N3b3JkL2Zvcm0tcGFzc3dvcmQuY29tcG9uZW50JztcbmV4cG9ydCB7IEZvcm1TZWFyY2hhYmxlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2hhYmxlLXNlbGVjdC9mb3JtLXNlYXJjaGFibGUtc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBGb3JtU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7IEZvcm1UZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vdGV4dGFyZWEvZm9ybS10ZXh0YXJlYS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRm9ybUltYWdlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS1waWNrZXIvZm9ybS1pbWFnZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IEZvcm1DdXJyZW5jeUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jdXJyZW5jeS1pbnB1dC9mb3JtLWN1cnJlbmN5LWlucHV0LmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -43,8 +43,8 @@ export class FormInputComponent {
|
|
|
43
43
|
this.errorMsg = getFormErrorMessage(this.formControl.errors, this.label);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormInputComponent, deps: [{ token: 'placeholder', attribute: true }, { token: 'type', attribute: true }, { token: 'autocomplete', attribute: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FormInputComponent, isStandalone: true, selector: "up-input", inputs: { label: "label", value: "value", required: "required", disabled: "disabled" }, outputs: { onInput: "onInput" }, host: { classAttribute: "d-block" }, providers: [
|
|
48
48
|
{
|
|
49
49
|
multi: true,
|
|
50
50
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -57,7 +57,7 @@ export class FormInputComponent {
|
|
|
57
57
|
}
|
|
58
58
|
], ngImport: i0, template: "<label class=\"form-label d-flex align-items-center\">\n <ng-content select=\"[icon]\" />\n <span>{{ label }}</span>\n</label>\n\n<input type=\"{{ type }}\" autocomplete=\"{{ autocomplete }}\" placeholder=\"{{ placeholder }}\" class=\"form-control\" [required]=\"required\" [disabled]=\"disabled\" [value]=\"value\" (change)=\"change($event.target)\" (input)=\"input($event)\" />\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormInputComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
62
|
args: [{ standalone: true, selector: 'up-input', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
63
63
|
class: 'd-block'
|
|
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
93
93
|
}], onInput: [{
|
|
94
94
|
type: Output
|
|
95
95
|
}] } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvaW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvaW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBeUMsYUFBYSxFQUFFLGlCQUFpQixFQUErQixNQUFNLGdCQUFnQixDQUFDO0FBQ3RJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUF5QnJELE1BQU0sT0FBTyxrQkFBa0I7SUFrRTdCLFlBQ21DLFdBQW1CLEVBQzFCLElBQXVFLEVBQy9ELFlBQXl4QixFQUN4eUIsRUFBcUI7UUFIUCxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFtRTtRQUMvRCxpQkFBWSxHQUFaLFlBQVksQ0FBNndCO1FBQ3h5QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQW5EMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU8xQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBTXpCLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQU8vRCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBbUJ4QixhQUFRLEdBQXdCLENBQUMsSUFBUyxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFNbEQsY0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQU92QyxDQUFDO0lBTUUsZ0JBQWdCLENBQUMsRUFBTyxJQUFTLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQU10RCxpQkFBaUIsQ0FBQyxFQUFPLElBQVMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBTXhELEtBQUssQ0FBQyxHQUFRLElBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBTWhELFVBQVUsQ0FBQyxHQUFRO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQU1NLGdCQUFnQixDQUFFLENBQVU7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBT00sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVNNLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBTztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQzs4R0F6SVUsa0JBQWtCLGtCQW1FaEIsYUFBYSw4QkFDYixNQUFNLDhCQUNOLGNBQWM7a0dBckVoQixrQkFBa0IscU5BYmxCO1lBQ1Q7Z0JBQ0UsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLGtCQUFrQjthQUNoQztZQUNEO2dCQUNFLEtBQUssRUFBRSxJQUFJO2dCQUNYLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsa0JBQWtCO2FBQ2hDO1NBQ0YsMEJDMUJILDRjQU9BLHlERE9hLFlBQVk7OzJGQWNaLGtCQUFrQjtrQkF2QjlCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsU0FBUztxQkFDakIsV0FDUSxDQUFFLFlBQVksQ0FBRSxhQUNkO3dCQUNUOzRCQUNFLEtBQUssRUFBRSxJQUFJOzRCQUNYLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsb0JBQW9CO3lCQUNoQzt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsSUFBSTs0QkFDWCxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxvQkFBb0I7eUJBQ2hDO3FCQUNGOzswQkFxRUUsU0FBUzsyQkFBQyxhQUFhOzswQkFDdkIsU0FBUzsyQkFBQyxNQUFNOzswQkFDaEIsU0FBUzsyQkFBQyxjQUFjO3lFQS9EWCxLQUFLO3NCQUFwQixLQUFLO2dCQU1VLEtBQUs7c0JBQXBCLEtBQUs7Z0JBT1UsUUFBUTtzQkFBdkIsS0FBSztnQkFPVSxRQUFRO3NCQUF2QixLQUFLO2dCQU1XLE9BQU87c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUsIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0Rm9ybUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2QtYmxvY2snXG4gIH0sXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybUlucHV0Q29tcG9uZW50XG4gICAgfSxcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybUlucHV0Q29tcG9uZW50XG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSBmb3IgdGhlIGxhYmVsIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIGZvciB0aGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHZhbHVlPzogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGlucHV0IGlzIHJlcXVpcmVkLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE91dHB1dCB2YXJpYWJsZSBmb3IgZW1pdHRpbmcgaW5wdXQgZXZlbnRzLlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPGFueT59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIG9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGlucHV0IGhhcyBiZWVuIHRvdWNoZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHVibGljIGlzVG91Y2hlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFcnJvciBtZXNzYWdlIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcHVibGljIGVycm9yTXNnITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybSBjb250cm9sIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW5wdXQuXG4gICAqIEB0eXBlIHtBYnN0cmFjdENvbnRyb2x9XG4gICAqL1xuICBwcm90ZWN0ZWQgZm9ybUNvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSB2YWx1ZSBjaGFuZ2VzIGluIHRoZSBpbnB1dC5cbiAgICogQHR5cGUgeyhfdmFsOiBhbnkpID0+IHZvaWR9XG4gICAqL1xuICBwcm90ZWN0ZWQgb25DaGFuZ2U6IChfdmFsOiBhbnkpID0+IHZvaWQgPSAoX3ZhbDogYW55KSA9PiB7fTtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIHRvdWNoIGV2ZW50cyBpbiB0aGUgaW5wdXQuXG4gICAqIEB0eXBlIHsoKSA9PiB2b2lkfVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJykgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcsXG4gICAgQEF0dHJpYnV0ZSgndHlwZScpIHB1YmxpYyB0eXBlOiAnZW1haWwnIHwgJ2hpZGRlbicgfCAnbnVtYmVyJyB8ICdzZWFyY2gnIHwgJ3RlbCcgfCAndGV4dCcgfCAndXJsJyxcbiAgICBAQXR0cmlidXRlKCdhdXRvY29tcGxldGUnKSBwdWJsaWMgYXV0b2NvbXBsZXRlOiAnbmFtZScgfCAnZW1haWwnIHwgJ3RlbCcgfCAndXJsJyB8ICdvbicgfCAnb2ZmJyB8ICdob25vcmlmaWMtcHJlZml4JyB8ICdnaXZlbi1uYW1lJyB8ICdhZGRpdGlvbmFsLW5hbWUnIHwgJ2ZhbWlseS1uYW1lJyB8ICdob25vcmlmaWMtc3VmZml4JyB8ICduaWNrbmFtZScgfCAndXNlcm5hbWUnIHwgJ29uZS10aW1lLWNvZGUnIHwgJ29yZ2FuaXphdGlvbi10aXRsZScgfCAnb3JnYW5pemF0aW9uJyB8ICdzdHJlZXQtYWRkcmVzcycgfCAnYWRkcmVzcy1saW5lMScgfCAnYWRkcmVzcy1saW5lMicgfCAnYWRkcmVzcy1saW5lMycgfCAnYWRkcmVzcy1sZXZlbDQnIHwgJ2FkZHJlc3MtbGV2ZWwzJyB8ICdhZGRyZXNzLWxldmVsMicgfCAnYWRkcmVzcy1sZXZlbDEnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnktbmFtZScgfCAncG9zdGFsLWNvZGUnIHwgJ2NjLW5hbWUnIHwgJ2NjLWdpdmVuLW5hbWUnIHwgJ2NjLWFkZGl0aW9uYWwtbmFtZScgfCAnY2MtZmFtaWx5LW5hbWUnIHwgJ2NjLW51bWJlcicgfCAnY2MtZXhwJyB8ICdjYy1leHAtbW9udGgnIHwgJ2NjLWV4cC15ZWFyJyB8ICdjYy1jc2MnIHwgJ2NjLXR5cGUnIHwgJ3RyYW5zYWN0aW9uLWN1cnJlbmN5JyB8ICd0cmFuc2FjdGlvbi1hbW91bnQnIHwgJ2xhbmd1YWdlJyB8ICdiZGF5JyB8ICdiZGF5LWRheScgfCAnYmRheS1tb250aCcgfCAnYmRheS15ZWFyJyB8ICdzZXgnIHwgJ3RlbC1jb3VudHJ5LWNvZGUnIHwgJ3RlbC1uYXRpb25hbCcgfCAndGVsLWFyZWEtY29kZScgfCAndGVsLWxvY2FsJyB8ICd0ZWwtZXh0ZW5zaW9uJyxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2g6IENoYW5nZURldGVjdG9yUmVmXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0geyhfdmFsOiBhbnkpID0+IHZvaWR9IGZuIC0gQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBpbnB1dCBpcyB0b3VjaGVkLlxuICAgKiBAcGFyYW0geygpID0+IHZvaWR9IGZuIC0gQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHRvdWNoIGV2ZW50cy5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfSBcblxuICAvKipcbiAgICogRW1pdHMgYW4gaW5wdXQgZXZlbnQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgY2hhbmdlcy5cbiAgICogQHBhcmFtIHthbnl9IHZhbCAtIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGlucHV0KHZhbDogYW55KTogdm9pZHsgdGhpcy5vbklucHV0LmVtaXQodmFsKTsgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgYSBuZXcgdmFsdWUgdG8gdGhlIGlucHV0LlxuICAgKiBAcGFyYW0geyp9IHZhbCAtIFRoZSBuZXcgdmFsdWUgdG8gYmUgc2V0LlxuICAgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsOiBhbnkpOiB2b2lke1xuICAgIHRoaXMudmFsdWUgPSB2YWw7IFxuICAgIHRoaXMuY2gubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGlucHV0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGQgLSBXaGV0aGVyIHRoZSBpbnB1dCBzaG91bGQgYmUgZGlzYWJsZWQgb3Igbm90LlxuICAgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGQ6IGJvb2xlYW4pOiB2b2lkeyBcbiAgICB0aGlzLmRpc2FibGVkID0gZDsgXG4gICAgdGhpcy5jaC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGlucHV0LlxuICAgKiBAcGFyYW0ge0Fic3RyYWN0Q29udHJvbH0gY29udHJvbCAtIFRoZSBhYnN0cmFjdCBjb250cm9sIHJlcHJlc2VudGluZyB0aGUgaW5wdXQuXG4gICAqIEByZXR1cm5zIHsoVmFsaWRhdGlvbkVycm9ycyB8IG51bGwpfSAtIFZhbGlkYXRpb24gZXJyb3JzIGlmIGFueSwgb3RoZXJ3aXNlIG51bGwuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGx7XG4gICAgdGhpcy5mb3JtQ29udHJvbCA9IGNvbnRyb2w7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBmb3IgaW5wdXQgY2hhbmdlcyBpbiB0aGUgaW5wdXQuXG4gICAqIElmIG5vdCB0b3VjaGVkLCBtYXJrcyB0aGUgaW5wdXQgYXMgdG91Y2hlZC5cbiAgICogSWYgbm90IGRpc2FibGVkLCB1cGRhdGVzIHRoZSB2YWx1ZSwgdHJpZ2dlcnMgY2hhbmdlIGRldGVjdGlvbiwgYW5kIGVtaXRzIHRoZSBpbnB1dCBldmVudC5cbiAgICogVXBkYXRlcyB0aGUgZXJyb3IgbWVzc2FnZSBiYXNlZCBvbiBmb3JtIGNvbnRyb2wgZXJyb3JzIGFuZCBsYWJlbC5cbiAgICogQHBhcmFtIHthbnl9IHBhcmFtMCAtIEV2ZW50IGRldGFpbCBjb250YWluaW5nIHRoZSBuZXcgaW5wdXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlKHsgdmFsdWUgfTogYW55KTogdm9pZHtcbiAgICBpZiAoIXRoaXMuaXNUb3VjaGVkKSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5pc1RvdWNoZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuZXJyb3JNc2cgPSBnZXRGb3JtRXJyb3JNZXNzYWdlKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzLCB0aGlzLmxhYmVsKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpY29uXVwiIC8+XG4gICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG48L2xhYmVsPlxuXG48aW5wdXQgdHlwZT1cInt7IHR5cGUgfX1cIiBhdXRvY29tcGxldGU9XCJ7eyBhdXRvY29tcGxldGUgfX1cIiBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdmFsdWVdPVwidmFsdWVcIiAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQudGFyZ2V0KVwiIChpbnB1dCk9XCJpbnB1dCgkZXZlbnQpXCIgLz5cbjxsYWJlbCAqbmdJZj1cImVycm9yTXNnXCIgY2xhc3M9XCJpcy1pbnZhbGlkXCI+e3sgZXJyb3JNc2cgfX08L2xhYmVsPlxuIl19
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvaW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvaW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBeUMsYUFBYSxFQUFFLGlCQUFpQixFQUErQixNQUFNLGdCQUFnQixDQUFDO0FBQ3RJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUF5QnJELE1BQU0sT0FBTyxrQkFBa0I7SUFrRTdCLFlBQ21DLFdBQW1CLEVBQzFCLElBQXVFLEVBQy9ELFlBQXl4QixFQUN4eUIsRUFBcUI7UUFIUCxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFtRTtRQUMvRCxpQkFBWSxHQUFaLFlBQVksQ0FBNndCO1FBQ3h5QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQW5EMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU8xQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBTXpCLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQU8vRCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBbUJ4QixhQUFRLEdBQXdCLENBQUMsSUFBUyxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFNbEQsY0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQU92QyxDQUFDO0lBTUUsZ0JBQWdCLENBQUMsRUFBTyxJQUFTLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQU10RCxpQkFBaUIsQ0FBQyxFQUFPLElBQVMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBTXhELEtBQUssQ0FBQyxHQUFRLElBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBTWhELFVBQVUsQ0FBQyxHQUFRO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQU1NLGdCQUFnQixDQUFFLENBQVU7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBT00sUUFBUSxDQUFDLE9BQXdCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVNNLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBTztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQzsrR0F6SVUsa0JBQWtCLGtCQW1FaEIsYUFBYSw4QkFDYixNQUFNLDhCQUNOLGNBQWM7bUdBckVoQixrQkFBa0IscU5BYmxCO1lBQ1Q7Z0JBQ0UsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLGtCQUFrQjthQUNoQztZQUNEO2dCQUNFLEtBQUssRUFBRSxJQUFJO2dCQUNYLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsa0JBQWtCO2FBQ2hDO1NBQ0YsMEJDMUJILDRjQU9BLHlERE9hLFlBQVk7OzRGQWNaLGtCQUFrQjtrQkF2QjlCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsU0FBUztxQkFDakIsV0FDUSxDQUFFLFlBQVksQ0FBRSxhQUNkO3dCQUNUOzRCQUNFLEtBQUssRUFBRSxJQUFJOzRCQUNYLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsb0JBQW9CO3lCQUNoQzt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsSUFBSTs0QkFDWCxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxvQkFBb0I7eUJBQ2hDO3FCQUNGOzswQkFxRUUsU0FBUzsyQkFBQyxhQUFhOzswQkFDdkIsU0FBUzsyQkFBQyxNQUFNOzswQkFDaEIsU0FBUzsyQkFBQyxjQUFjO3lFQS9EWCxLQUFLO3NCQUFwQixLQUFLO2dCQU1VLEtBQUs7c0JBQXBCLEtBQUs7Z0JBT1UsUUFBUTtzQkFBdkIsS0FBSztnQkFPVSxRQUFRO3NCQUF2QixLQUFLO2dCQU1XLE9BQU87c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUsIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0Rm9ybUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2QtYmxvY2snXG4gIH0sXG4gIGltcG9ydHM6IFsgQ29tbW9uTW9kdWxlIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybUlucHV0Q29tcG9uZW50XG4gICAgfSxcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybUlucHV0Q29tcG9uZW50XG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3Ige1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSBmb3IgdGhlIGxhYmVsIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIGZvciB0aGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGUgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHZhbHVlPzogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGlucHV0IGlzIHJlcXVpcmVkLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE91dHB1dCB2YXJpYWJsZSBmb3IgZW1pdHRpbmcgaW5wdXQgZXZlbnRzLlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPGFueT59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIG9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEJvb2xlYW4gZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGlucHV0IGhhcyBiZWVuIHRvdWNoZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHVibGljIGlzVG91Y2hlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFcnJvciBtZXNzYWdlIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcHVibGljIGVycm9yTXNnITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybSBjb250cm9sIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW5wdXQuXG4gICAqIEB0eXBlIHtBYnN0cmFjdENvbnRyb2x9XG4gICAqL1xuICBwcm90ZWN0ZWQgZm9ybUNvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSB2YWx1ZSBjaGFuZ2VzIGluIHRoZSBpbnB1dC5cbiAgICogQHR5cGUgeyhfdmFsOiBhbnkpID0+IHZvaWR9XG4gICAqL1xuICBwcm90ZWN0ZWQgb25DaGFuZ2U6IChfdmFsOiBhbnkpID0+IHZvaWQgPSAoX3ZhbDogYW55KSA9PiB7fTtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIHRvdWNoIGV2ZW50cyBpbiB0aGUgaW5wdXQuXG4gICAqIEB0eXBlIHsoKSA9PiB2b2lkfVxuICAgKi9cbiAgcHJvdGVjdGVkIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJykgcHVibGljIHBsYWNlaG9sZGVyOiBzdHJpbmcsXG4gICAgQEF0dHJpYnV0ZSgndHlwZScpIHB1YmxpYyB0eXBlOiAnZW1haWwnIHwgJ2hpZGRlbicgfCAnbnVtYmVyJyB8ICdzZWFyY2gnIHwgJ3RlbCcgfCAndGV4dCcgfCAndXJsJyxcbiAgICBAQXR0cmlidXRlKCdhdXRvY29tcGxldGUnKSBwdWJsaWMgYXV0b2NvbXBsZXRlOiAnbmFtZScgfCAnZW1haWwnIHwgJ3RlbCcgfCAndXJsJyB8ICdvbicgfCAnb2ZmJyB8ICdob25vcmlmaWMtcHJlZml4JyB8ICdnaXZlbi1uYW1lJyB8ICdhZGRpdGlvbmFsLW5hbWUnIHwgJ2ZhbWlseS1uYW1lJyB8ICdob25vcmlmaWMtc3VmZml4JyB8ICduaWNrbmFtZScgfCAndXNlcm5hbWUnIHwgJ29uZS10aW1lLWNvZGUnIHwgJ29yZ2FuaXphdGlvbi10aXRsZScgfCAnb3JnYW5pemF0aW9uJyB8ICdzdHJlZXQtYWRkcmVzcycgfCAnYWRkcmVzcy1saW5lMScgfCAnYWRkcmVzcy1saW5lMicgfCAnYWRkcmVzcy1saW5lMycgfCAnYWRkcmVzcy1sZXZlbDQnIHwgJ2FkZHJlc3MtbGV2ZWwzJyB8ICdhZGRyZXNzLWxldmVsMicgfCAnYWRkcmVzcy1sZXZlbDEnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnktbmFtZScgfCAncG9zdGFsLWNvZGUnIHwgJ2NjLW5hbWUnIHwgJ2NjLWdpdmVuLW5hbWUnIHwgJ2NjLWFkZGl0aW9uYWwtbmFtZScgfCAnY2MtZmFtaWx5LW5hbWUnIHwgJ2NjLW51bWJlcicgfCAnY2MtZXhwJyB8ICdjYy1leHAtbW9udGgnIHwgJ2NjLWV4cC15ZWFyJyB8ICdjYy1jc2MnIHwgJ2NjLXR5cGUnIHwgJ3RyYW5zYWN0aW9uLWN1cnJlbmN5JyB8ICd0cmFuc2FjdGlvbi1hbW91bnQnIHwgJ2xhbmd1YWdlJyB8ICdiZGF5JyB8ICdiZGF5LWRheScgfCAnYmRheS1tb250aCcgfCAnYmRheS15ZWFyJyB8ICdzZXgnIHwgJ3RlbC1jb3VudHJ5LWNvZGUnIHwgJ3RlbC1uYXRpb25hbCcgfCAndGVsLWFyZWEtY29kZScgfCAndGVsLWxvY2FsJyB8ICd0ZWwtZXh0ZW5zaW9uJyxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2g6IENoYW5nZURldGVjdG9yUmVmXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0geyhfdmFsOiBhbnkpID0+IHZvaWR9IGZuIC0gQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZHsgdGhpcy5vbkNoYW5nZSA9IGZuOyB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBpbnB1dCBpcyB0b3VjaGVkLlxuICAgKiBAcGFyYW0geygpID0+IHZvaWR9IGZuIC0gQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHRvdWNoIGV2ZW50cy5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZHsgdGhpcy5vblRvdWNoZWQgPSBmbjsgfSBcblxuICAvKipcbiAgICogRW1pdHMgYW4gaW5wdXQgZXZlbnQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgY2hhbmdlcy5cbiAgICogQHBhcmFtIHthbnl9IHZhbCAtIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGlucHV0LlxuICAgKi9cbiAgcHVibGljIGlucHV0KHZhbDogYW55KTogdm9pZHsgdGhpcy5vbklucHV0LmVtaXQodmFsKTsgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgYSBuZXcgdmFsdWUgdG8gdGhlIGlucHV0LlxuICAgKiBAcGFyYW0geyp9IHZhbCAtIFRoZSBuZXcgdmFsdWUgdG8gYmUgc2V0LlxuICAgKi9cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsOiBhbnkpOiB2b2lke1xuICAgIHRoaXMudmFsdWUgPSB2YWw7IFxuICAgIHRoaXMuY2gubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGlucHV0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGQgLSBXaGV0aGVyIHRoZSBpbnB1dCBzaG91bGQgYmUgZGlzYWJsZWQgb3Igbm90LlxuICAgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGQ6IGJvb2xlYW4pOiB2b2lkeyBcbiAgICB0aGlzLmRpc2FibGVkID0gZDsgXG4gICAgdGhpcy5jaC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGlucHV0LlxuICAgKiBAcGFyYW0ge0Fic3RyYWN0Q29udHJvbH0gY29udHJvbCAtIFRoZSBhYnN0cmFjdCBjb250cm9sIHJlcHJlc2VudGluZyB0aGUgaW5wdXQuXG4gICAqIEByZXR1cm5zIHsoVmFsaWRhdGlvbkVycm9ycyB8IG51bGwpfSAtIFZhbGlkYXRpb24gZXJyb3JzIGlmIGFueSwgb3RoZXJ3aXNlIG51bGwuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGx7XG4gICAgdGhpcy5mb3JtQ29udHJvbCA9IGNvbnRyb2w7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgaGFuZGxlciBmb3IgaW5wdXQgY2hhbmdlcyBpbiB0aGUgaW5wdXQuXG4gICAqIElmIG5vdCB0b3VjaGVkLCBtYXJrcyB0aGUgaW5wdXQgYXMgdG91Y2hlZC5cbiAgICogSWYgbm90IGRpc2FibGVkLCB1cGRhdGVzIHRoZSB2YWx1ZSwgdHJpZ2dlcnMgY2hhbmdlIGRldGVjdGlvbiwgYW5kIGVtaXRzIHRoZSBpbnB1dCBldmVudC5cbiAgICogVXBkYXRlcyB0aGUgZXJyb3IgbWVzc2FnZSBiYXNlZCBvbiBmb3JtIGNvbnRyb2wgZXJyb3JzIGFuZCBsYWJlbC5cbiAgICogQHBhcmFtIHthbnl9IHBhcmFtMCAtIEV2ZW50IGRldGFpbCBjb250YWluaW5nIHRoZSBuZXcgaW5wdXQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlKHsgdmFsdWUgfTogYW55KTogdm9pZHtcbiAgICBpZiAoIXRoaXMuaXNUb3VjaGVkKSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5pc1RvdWNoZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuZXJyb3JNc2cgPSBnZXRGb3JtRXJyb3JNZXNzYWdlKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzLCB0aGlzLmxhYmVsKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpY29uXVwiIC8+XG4gICAgPHNwYW4+e3sgbGFiZWwgfX08L3NwYW4+XG48L2xhYmVsPlxuXG48aW5wdXQgdHlwZT1cInt7IHR5cGUgfX1cIiBhdXRvY29tcGxldGU9XCJ7eyBhdXRvY29tcGxldGUgfX1cIiBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdmFsdWVdPVwidmFsdWVcIiAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQudGFyZ2V0KVwiIChpbnB1dCk9XCJpbnB1dCgkZXZlbnQpXCIgLz5cbjxsYWJlbCAqbmdJZj1cImVycm9yTXNnXCIgY2xhc3M9XCJpcy1pbnZhbGlkXCI+e3sgZXJyb3JNc2cgfX08L2xhYmVsPlxuIl19
|