@yuuvis/client-framework 0.7.4 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/lib/actions/delete-action/delete-action.d.ts +1 -0
- package/common/index.d.ts +1 -0
- package/common/lib/services/error-messages/error-messages.service.d.ts +7 -0
- package/common/lib/services/index.d.ts +1 -0
- package/esm2022/actions/lib/actions/delete-action/delete-action.mjs +4 -10
- package/esm2022/actions/lib/components/contextmenu/contextmenu.component.mjs +2 -2
- package/esm2022/common/index.mjs +2 -1
- package/esm2022/common/lib/directives/drag-select.directive.mjs +2 -2
- package/esm2022/common/lib/services/error-messages/error-messages.service.mjs +68 -0
- package/esm2022/common/lib/services/index.mjs +2 -0
- package/esm2022/forms/index.mjs +13 -8
- package/esm2022/forms/lib/elements/data-grid/data-grid/data-grid.component.mjs +172 -0
- package/esm2022/forms/lib/elements/data-grid/edit-table-data/edit-data.component.mjs +95 -0
- package/esm2022/forms/lib/elements/data-grid/model/data-grid.interface.mjs +9 -0
- package/esm2022/forms/lib/elements/datetime-range/datetime-range.component.mjs +32 -32
- package/esm2022/forms/lib/elements/index.mjs +11 -0
- package/esm2022/forms/lib/elements/number/number.component.mjs +3 -3
- package/esm2022/forms/lib/elements/number-range/number-range.component.mjs +3 -3
- package/esm2022/forms/lib/elements/organization/organization.component.mjs +47 -29
- package/esm2022/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.mjs +38 -0
- package/esm2022/forms/lib/elements/range-select-date/range-select-date.component.mjs +181 -0
- package/esm2022/forms/lib/elements/range-select-date/range-select-date.interface.mjs +2 -0
- package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.component.mjs +98 -0
- package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.interface.mjs +2 -0
- package/esm2022/forms/lib/elements/string/string.component.mjs +10 -3
- package/esm2022/icons/lib/icons.mjs +3 -2
- package/esm2022/list/lib/list.component.mjs +6 -4
- package/esm2022/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.mjs +5 -4
- package/esm2022/metadata-form/lib/metadata-form-element-registry.service.mjs +1 -1
- package/esm2022/metadata-form/lib/metadata-form-field/metadata-form-field.component.mjs +9 -52
- package/esm2022/object-details/index.mjs +2 -1
- package/esm2022/object-details/lib/object-audit/object-audit.component.mjs +3 -3
- package/esm2022/object-details/lib/object-metadata/object-metadata.component.mjs +5 -4
- package/esm2022/object-details/lib/retention-badge/retention-badge.component.mjs +27 -0
- package/esm2022/object-flavor/lib/object-flavor/object-flavor.component.mjs +2 -2
- package/esm2022/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.mjs +2 -2
- package/esm2022/object-form/index.mjs +1 -1
- package/esm2022/object-form/lib/object-form.component.mjs +2 -1
- package/esm2022/object-form/lib/object-form.service.mjs +5 -2
- package/esm2022/object-summary/lib/object-summary/object-summary.component.mjs +15 -13
- package/esm2022/pagination/lib/pagination.component.mjs +4 -6
- package/esm2022/sequence-list/index.mjs +1 -3
- package/esm2022/sequence-list/lib/sequence-list.component.mjs +11 -16
- package/esm2022/sequence-list/lib/sequence-list.interface.mjs +1 -1
- package/esm2022/tile-list/lib/tile/tile.component.mjs +3 -3
- package/esm2022/tile-list/lib/tile-config/tile-config.component.mjs +2 -2
- package/esm2022/tile-list/lib/tile-extension/extensions/email.extension.mjs +1 -1
- package/fesm2022/yuuvis-client-framework-actions.mjs +4 -10
- package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-common.mjs +69 -4
- package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-forms.mjs +1335 -755
- package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-icons.mjs +2 -1
- package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-list.mjs +5 -3
- package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs +12 -55
- package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-details.mjs +28 -7
- package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs +2 -2
- package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs +5 -1
- package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-object-summary.mjs +14 -12
- package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-pagination.mjs +3 -5
- package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs +17 -296
- package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
- package/fesm2022/yuuvis-client-framework-tile-list.mjs +3 -3
- package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
- package/forms/index.d.ts +5 -7
- package/forms/lib/elements/data-grid/data-grid/data-grid.component.d.ts +38 -0
- package/forms/lib/elements/data-grid/edit-table-data/edit-data.component.d.ts +21 -0
- package/forms/lib/elements/data-grid/model/data-grid.interface.d.ts +14 -0
- package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +2 -1
- package/forms/lib/elements/index.d.ts +10 -0
- package/forms/lib/elements/organization/organization.component.d.ts +13 -4
- package/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.d.ts +13 -0
- package/forms/lib/elements/range-select-date/range-select-date.component.d.ts +33 -0
- package/forms/lib/elements/range-select-date/range-select-date.interface.d.ts +5 -0
- package/forms/lib/elements/range-select-filesize/range-select-filesize.component.d.ts +28 -0
- package/forms/lib/elements/range-select-filesize/range-select-filesize.interface.d.ts +5 -0
- package/list/lib/list.component.d.ts +2 -1
- package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +1 -1
- package/object-details/index.d.ts +1 -0
- package/object-details/lib/retention-badge/retention-badge.component.d.ts +12 -0
- package/package.json +10 -10
- package/sequence-list/index.d.ts +0 -2
- package/sequence-list/lib/sequence-list.component.d.ts +2 -2
- package/sequence-list/lib/sequence-list.interface.d.ts +5 -4
- package/styles/client-framework.scss +55 -18
- package/esm2022/sequence-list/lib/sequence-list-template-manage/sequence-list-template-manage.component.mjs +0 -183
- package/esm2022/sequence-list/lib/sequence-list-templates/sequence-list-templates.component.mjs +0 -114
- package/sequence-list/lib/sequence-list-template-manage/sequence-list-template-manage.component.d.ts +0 -52
- package/sequence-list/lib/sequence-list-templates/sequence-list-templates.component.d.ts +0 -36
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, forwardRef, inject, input, signal } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { FormBuilder, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { marker } from '@colsen1991/ngx-translate-extract-marker';
|
|
6
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
7
|
+
import { SearchUtils } from '@yuuvis/client-core';
|
|
8
|
+
import { YvcDropdownModule } from '@yuuvis/components/dropdown';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@yuuvis/components/dropdown";
|
|
11
|
+
import * as i2 from "@angular/forms";
|
|
12
|
+
// marker for extracting translations for the available filesize range options
|
|
13
|
+
marker('yuv.form.element.range-select-filesize.option.any');
|
|
14
|
+
marker('yuv.form.element.range-select-filesize.option.small');
|
|
15
|
+
marker('yuv.form.element.range-select-filesize.option.medium');
|
|
16
|
+
marker('yuv.form.element.range-select-filesize.option.large');
|
|
17
|
+
marker('yuv.form.element.range-select-filesize.option.verylarge');
|
|
18
|
+
/**
|
|
19
|
+
* Component for selecting a range of filesizes based on pre-defined ranges like
|
|
20
|
+
* 'today', 'this week', 'this month', etc.
|
|
21
|
+
*/
|
|
22
|
+
export class RangeSelectFilesizeComponent {
|
|
23
|
+
#fb;
|
|
24
|
+
#ANY_OPTION;
|
|
25
|
+
constructor() {
|
|
26
|
+
this.translate = inject(TranslateService);
|
|
27
|
+
this.#fb = inject(FormBuilder);
|
|
28
|
+
this.#ANY_OPTION = 'any';
|
|
29
|
+
this.options = signal([]);
|
|
30
|
+
this.innerForm = this.#fb.nonNullable.group({
|
|
31
|
+
range: [this.#ANY_OPTION]
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* Range values to be used in the dropdown.
|
|
35
|
+
*/
|
|
36
|
+
this.ranges = input(['small', 'medium', 'large', 'verylarge']);
|
|
37
|
+
// ControlValueAccessor implementation
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
39
|
+
this.propagateChange = (_) => { };
|
|
40
|
+
this.translate.onLangChange.pipe(takeUntilDestroyed()).subscribe((_) => this.#setupOptions());
|
|
41
|
+
this.#setupOptions();
|
|
42
|
+
this.innerForm.valueChanges.pipe(takeUntilDestroyed()).subscribe((v) => this.#onFormValueChange(v));
|
|
43
|
+
}
|
|
44
|
+
#onFormValueChange(v) {
|
|
45
|
+
const rangeValue = v.range !== this.#ANY_OPTION ? SearchUtils.filesizeRangeToRangeValue(v.range) : undefined;
|
|
46
|
+
const res = rangeValue && {
|
|
47
|
+
rangeValue,
|
|
48
|
+
label: this.translate.instant(`yuv.form.element.range-select-filesize.option.${v.range}`)
|
|
49
|
+
};
|
|
50
|
+
this.propagateChange(res);
|
|
51
|
+
}
|
|
52
|
+
#setupOptions() {
|
|
53
|
+
const options = this.ranges().map((value) => ({
|
|
54
|
+
label: this.translate.instant(`yuv.form.element.range-select-filesize.option.${value}`),
|
|
55
|
+
value
|
|
56
|
+
}));
|
|
57
|
+
this.options.set([
|
|
58
|
+
{
|
|
59
|
+
label: this.translate.instant('yuv.form.element.range-select-filesize.option.any'),
|
|
60
|
+
value: this.#ANY_OPTION
|
|
61
|
+
},
|
|
62
|
+
...options
|
|
63
|
+
]);
|
|
64
|
+
}
|
|
65
|
+
writeValue(value) {
|
|
66
|
+
const patch = { range: this.#ANY_OPTION };
|
|
67
|
+
if (value?.rangeValue?.operator && value?.rangeValue?.firstValue) {
|
|
68
|
+
const range = SearchUtils.getMatchingFilesizeRange(value.rangeValue);
|
|
69
|
+
if (range)
|
|
70
|
+
patch.range = range;
|
|
71
|
+
}
|
|
72
|
+
this.innerForm.patchValue(patch);
|
|
73
|
+
}
|
|
74
|
+
registerOnChange(fn) {
|
|
75
|
+
this.propagateChange = fn;
|
|
76
|
+
}
|
|
77
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
78
|
+
registerOnTouched(fn) { }
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeSelectFilesizeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: RangeSelectFilesizeComponent, isStandalone: true, selector: "yuv-range-select-filesize", inputs: { ranges: { classPropertyName: "ranges", publicName: "ranges", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
81
|
+
{
|
|
82
|
+
provide: NG_VALUE_ACCESSOR,
|
|
83
|
+
useExisting: forwardRef(() => RangeSelectFilesizeComponent),
|
|
84
|
+
multi: true
|
|
85
|
+
}
|
|
86
|
+
], ngImport: i0, template: "<form [formGroup]=\"innerForm\">\n <yvc-dropdown formControlName=\"range\" [options]=\"options()\" [disableClearButton]=\"true\"></yvc-dropdown>\n</form>\n", styles: [":host form{display:flex}:host form yvc-dropdown{flex:1;outline-offset:0px;color:currentColor}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: YvcDropdownModule }, { kind: "component", type: i1.Dropdown, selector: "yvc-dropdown", inputs: ["options", "filter", "disabled", "multiple", "disableClearButton"], outputs: ["onDropdownOptionsClose"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
87
|
+
}
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RangeSelectFilesizeComponent, decorators: [{
|
|
89
|
+
type: Component,
|
|
90
|
+
args: [{ selector: 'yuv-range-select-filesize', standalone: true, imports: [CommonModule, YvcDropdownModule, ReactiveFormsModule], providers: [
|
|
91
|
+
{
|
|
92
|
+
provide: NG_VALUE_ACCESSOR,
|
|
93
|
+
useExisting: forwardRef(() => RangeSelectFilesizeComponent),
|
|
94
|
+
multi: true
|
|
95
|
+
}
|
|
96
|
+
], template: "<form [formGroup]=\"innerForm\">\n <yvc-dropdown formControlName=\"range\" [options]=\"options()\" [disableClearButton]=\"true\"></yvc-dropdown>\n</form>\n", styles: [":host form{display:flex}:host form yvc-dropdown{flex:1;outline-offset:0px;color:currentColor}\n"] }]
|
|
97
|
+
}], ctorParameters: () => [] });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2VsZWN0LWZpbGVzaXplLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9yYW5nZS1zZWxlY3QtZmlsZXNpemUvcmFuZ2Utc2VsZWN0LWZpbGVzaXplLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9yYW5nZS1zZWxlY3QtZmlsZXNpemUvcmFuZ2Utc2VsZWN0LWZpbGVzaXplLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQTZCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUdoRiw4RUFBOEU7QUFDOUUsTUFBTSxDQUFDLG1EQUFtRCxDQUFDLENBQUM7QUFDNUQsTUFBTSxDQUFDLHFEQUFxRCxDQUFDLENBQUM7QUFDOUQsTUFBTSxDQUFDLHNE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QUE4QixXQUFXLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2hHLElBQUksS0FBSztnQkFBRSxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQWM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxpQkFBaUIsQ0FBQyxFQUFjLElBQVMsQ0FBQzsrR0FqRS9CLDRCQUE0QjttR0FBNUIsNEJBQTRCLCtNQVI1QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7Z0JBQzNELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkNoQ0gsZ0tBR0Esd0pEb0JZLFlBQVksOEJBQUUsaUJBQWlCLG9OQUFFLG1CQUFtQjs7NEZBV25ELDRCQUE0QjtrQkFkeEMsU0FBUzsrQkFDRSwyQkFBMkIsY0FDekIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixDQUFDLGFBR3BEO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDZCQUE2QixDQUFDOzRCQUMzRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0Bjb2xzZW4xOTkxL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRmlsZXNpemVSYW5nZSwgUmFuZ2VWYWx1ZSwgU2VhcmNoVXRpbHMgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IERyb3Bkb3duT3B0aW9uLCBZdmNEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBSYW5nZVNlbGVjdEZpbGVzaXplVmFsdWUgfSBmcm9tICcuL3JhbmdlLXNlbGVjdC1maWxlc2l6ZS5pbnRlcmZhY2UnO1xuXG4vLyBtYXJrZXIgZm9yIGV4dHJhY3RpbmcgdHJhbnNsYXRpb25zIGZvciB0aGUgYXZhaWxhYmxlIGZpbGVzaXplIHJhbmdlIG9wdGlvbnNcbm1hcmtlcigneXV2LmZvcm0uZWxlbWVudC5yYW5nZS1zZWxlY3QtZmlsZXNpemUub3B0aW9uLmFueScpO1xubWFya2VyKCd5dXYuZm9ybS5lbGVtZW50LnJhbmdlLXNlbGVjdC1maWxlc2l6ZS5vcHRpb24uc21hbGwnKTtcbm1hcmtlcigneXV2LmZvcm0uZWxlbWVudC5yYW5nZS1zZWxlY3QtZmlsZXNpemUub3B0aW9uLm1lZGl1bScpO1xubWFya2VyKCd5dXYuZm9ybS5lbGVtZW50LnJhbmdlLXNlbGVjdC1maWxlc2l6ZS5vcHRpb24ubGFyZ2UnKTtcbm1hcmtlcigneXV2LmZvcm0uZWxlbWVudC5yYW5nZS1zZWxlY3QtZmlsZXNpemUub3B0aW9uLnZlcnlsYXJnZScpO1xuLyoqXG4gKiBDb21wb25lbnQgZm9yIHNlbGVjdGluZyBhIHJhbmdlIG9mIGZpbGVzaXplcyBiYXNlZCBvbiBwcmUtZGVmaW5lZCByYW5nZXMgbGlrZVxuICogJ3RvZGF5JywgJ3RoaXMgd2VlaycsICd0aGlzIG1vbnRoJywgZXRjLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtcmFuZ2Utc2VsZWN0LWZpbGVzaXplJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgWXZjRHJvcGRvd25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmFuZ2Utc2VsZWN0LWZpbGVzaXplLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3JhbmdlLXNlbGVjdC1maWxlc2l6ZS5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFuZ2VTZWxlY3RGaWxlc2l6ZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSYW5nZVNlbGVjdEZpbGVzaXplQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgI2ZiID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcblxuICAjQU5ZX09QVElPTiA9ICdhbnknO1xuXG4gIG9wdGlvbnMgPSBzaWduYWw8RHJvcGRvd25PcHRpb25bXT4oW10pO1xuICBpbm5lckZvcm0gPSB0aGlzLiNmYi5ub25OdWxsYWJsZS5ncm91cCh7XG4gICAgcmFuZ2U6IFt0aGlzLiNBTllfT1BUSU9OXVxuICB9KTtcblxuICAvKipcbiAgICogUmFuZ2UgdmFsdWVzIHRvIGJlIHVzZWQgaW4gdGhlIGRyb3Bkb3duLlxuICAgKi9cbiAgcmFuZ2VzID0gaW5wdXQ8RmlsZXNpemVSYW5nZVtdPihbJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZScsICd2ZXJ5bGFyZ2UnXSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoXykgPT4gdGhpcy4jc2V0dXBPcHRpb25zKCkpO1xuICAgIHRoaXMuI3NldHVwT3B0aW9ucygpO1xuICAgIHRoaXMuaW5uZXJGb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKHYpID0+IHRoaXMuI29uRm9ybVZhbHVlQ2hhbmdlKHYpKTtcbiAgfVxuXG4gICNvbkZvcm1WYWx1ZUNoYW5nZSh2OiBhbnkpIHtcbiAgICBjb25zdCByYW5nZVZhbHVlOiBSYW5nZVZhbHVlIHwgdW5kZWZpbmVkID0gdi5yYW5nZSAhPT0gdGhpcy4jQU5ZX09QVElPTiA/IFNlYXJjaFV0aWxzLmZpbGVzaXplUmFuZ2VUb1JhbmdlVmFsdWUodi5yYW5nZSkgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcmVzOiBSYW5nZVNlbGVjdEZpbGVzaXplVmFsdWUgfCB1bmRlZmluZWQgPSByYW5nZVZhbHVlICYmIHtcbiAgICAgIHJhbmdlVmFsdWUsXG4gICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChgeXV2LmZvcm0uZWxlbWVudC5yYW5nZS1zZWxlY3QtZmlsZXNpemUub3B0aW9uLiR7di5yYW5nZX1gKVxuICAgIH07XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UocmVzKTtcbiAgfVxuXG4gICNzZXR1cE9wdGlvbnMoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucmFuZ2VzKCkubWFwKCh2YWx1ZSkgPT4gKHtcbiAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGB5dXYuZm9ybS5lbGVtZW50LnJhbmdlLXNlbGVjdC1maWxlc2l6ZS5vcHRpb24uJHt2YWx1ZX1gKSxcbiAgICAgIHZhbHVlXG4gICAgfSkpO1xuXG4gICAgdGhpcy5vcHRpb25zLnNldChbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuZm9ybS5lbGVtZW50LnJhbmdlLXNlbGVjdC1maWxlc2l6ZS5vcHRpb24uYW55JyksXG4gICAgICAgIHZhbHVlOiB0aGlzLiNBTllfT1BUSU9OXG4gICAgICB9LFxuICAgICAgLi4ub3B0aW9uc1xuICAgIF0pO1xuICB9XG5cbiAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50YXRpb25cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU/OiBSYW5nZVNlbGVjdEZpbGVzaXplVmFsdWUpOiB2b2lkIHtcbiAgICBjb25zdCBwYXRjaCA9IHsgcmFuZ2U6IHRoaXMuI0FOWV9PUFRJT04gfTtcbiAgICBpZiAodmFsdWU/LnJhbmdlVmFsdWU/Lm9wZXJhdG9yICYmIHZhbHVlPy5yYW5nZVZhbHVlPy5maXJzdFZhbHVlKSB7XG4gICAgICBjb25zdCByYW5nZTogRmlsZXNpemVSYW5nZSB8IHVuZGVmaW5lZCA9IFNlYXJjaFV0aWxzLmdldE1hdGNoaW5nRmlsZXNpemVSYW5nZSh2YWx1ZS5yYW5nZVZhbHVlKTtcbiAgICAgIGlmIChyYW5nZSkgcGF0Y2gucmFuZ2UgPSByYW5nZTtcbiAgICB9XG4gICAgdGhpcy5pbm5lckZvcm0ucGF0Y2hWYWx1ZShwYXRjaCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHt9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImlubmVyRm9ybVwiPlxuICAgIDx5dmMtZHJvcGRvd24gZm9ybUNvbnRyb2xOYW1lPVwicmFuZ2VcIiBbb3B0aW9uc109XCJvcHRpb25zKClcIiBbZGlzYWJsZUNsZWFyQnV0dG9uXT1cInRydWVcIj48L3l2Yy1kcm9wZG93bj5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2VsZWN0LWZpbGVzaXplLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9yYW5nZS1zZWxlY3QtZmlsZXNpemUvcmFuZ2Utc2VsZWN0LWZpbGVzaXplLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmFuZ2VWYWx1ZSB9IGZyb20gXCJAeXV1dmlzL2NsaWVudC1jb3JlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmFuZ2VTZWxlY3RGaWxlc2l6ZVZhbHVlIHtcbiAgICByYW5nZVZhbHVlOiBSYW5nZVZhbHVlO1xuICAgIGxhYmVsPzogc3RyaW5nO1xufSJdfQ==
|
|
@@ -90,6 +90,9 @@ export class StringComponent {
|
|
|
90
90
|
this.propagateChange(this.value);
|
|
91
91
|
}
|
|
92
92
|
writeValue(value) {
|
|
93
|
+
if (Array.isArray(value)) {
|
|
94
|
+
value = value.filter((v) => typeof v === 'string' && v.trim().length > 0);
|
|
95
|
+
}
|
|
93
96
|
this.formatedValue = Utils.formatMailTo(value, this.classify?.hrefPrefix === ClassificationPrefix.EMAIL);
|
|
94
97
|
this.value = value || null;
|
|
95
98
|
}
|
|
@@ -138,6 +141,10 @@ export class StringComponent {
|
|
|
138
141
|
this.propagate();
|
|
139
142
|
}
|
|
140
143
|
onBlur() {
|
|
144
|
+
if (this.multiselect) {
|
|
145
|
+
// add on blur
|
|
146
|
+
this.value.push('');
|
|
147
|
+
}
|
|
141
148
|
if (this.trimValue()) {
|
|
142
149
|
this.propagate();
|
|
143
150
|
}
|
|
@@ -213,7 +220,7 @@ export class StringComponent {
|
|
|
213
220
|
useExisting: forwardRef(() => StringComponent),
|
|
214
221
|
multi: true
|
|
215
222
|
}
|
|
216
|
-
], ngImport: i0, template: "@if ((!rows || rows <= 1) && !multiselect) {\n <input type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\" />\n}\n@else if ((!rows || rows <= 1) && multiselect) {\n <!-- single line input with multiselect-->\n <yvc-chips\n [(ngModel)]=\"value\"\n [disabled]=\"readonly\"\n [max]=\"maxEntryCountIfInvalid\"\n (onBlur)=\"onBlur()\"\n (ngModelChange)=\"onValueChange($event)\"\n [ngClass]=\"{ invalid: validationErrors.length }\"\n >\n <ng-template let-item #chipTemplate>\n <span class=\"p-autocomplete-token-label\">\n @if (classify && !validationErrors.length) {\n <div class=\"classify inchip\">\n <a href=\"{{ classify.hrefPrefix + item }}\">\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n </a>\n </div>\n }\n <div class=\"label\">\n {{ item }}\n </div>\n </span>\n </ng-template>\n </yvc-chips>\n} @else if (rows && rows > 1) {\n <!-- multi line text inputs -->\n <textarea\n class=\"input-textarea\"\n pInputTextarea\n (blur)=\"onBlur()\"\n [(ngModel)]=\"value\"\n [rows]=\"rows\"\n [readonly]=\"readonly\"\n (ngModelChange)=\"onValueChange($event)\"\n ></textarea>\n}\n\n@if (classify) {\n <div class=\"classify\">\n @if (value && !validationErrors.length && (classify.hrefPrefix !== '' || !multiselect || value.length <= 1)) {\n <a href=\"{{ classify.hrefPrefix + formatedValue }}\">\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n </a>\n } @else {\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n }\n </div>\n}\n", styles: [":host{
|
|
223
|
+
], ngImport: i0, template: "@if ((!rows || rows <= 1) && !multiselect) {\n <input type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\" />\n}\n@else if ((!rows || rows <= 1) && multiselect) {\n <!-- single line input with multiselect-->\n <yvc-chips\n [(ngModel)]=\"value\"\n [disabled]=\"readonly\"\n [max]=\"maxEntryCountIfInvalid\"\n [addOnBlur]=\"true\"\n (onBlur)=\"onBlur()\"\n (ngModelChange)=\"onValueChange($event)\"\n [ngClass]=\"{ invalid: validationErrors.length }\"\n >\n <ng-template let-item #chipTemplate>\n <span class=\"p-autocomplete-token-label\">\n @if (classify && !validationErrors.length) {\n <div class=\"classify inchip\">\n <a href=\"{{ classify.hrefPrefix + item }}\">\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n </a>\n </div>\n }\n <div class=\"label\">\n {{ item }}\n </div>\n </span>\n </ng-template>\n </yvc-chips>\n} @else if (rows && rows > 1) {\n <!-- multi line text inputs -->\n <textarea\n class=\"input-textarea\"\n pInputTextarea\n (blur)=\"onBlur()\"\n [(ngModel)]=\"value\"\n [rows]=\"rows\"\n [readonly]=\"readonly\"\n (ngModelChange)=\"onValueChange($event)\"\n ></textarea>\n}\n\n@if (classify) {\n <div class=\"classify\">\n @if (value && !validationErrors.length && (classify.hrefPrefix !== '' || !multiselect || value.length <= 1)) {\n <a href=\"{{ classify.hrefPrefix + formatedValue }}\">\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n </a>\n } @else {\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-flow:row nowrap;align-items:center}:host .yvc-chips-list li.chip{--yvc-form-element-border-color: var(--text-color-hint)}:host .classify{color:var(--text-color-hint)}:host .classify a{color:var(--text-color-hint);display:block;border-radius:2px}:host .classify a:hover,:host .classify a:focus{background-color:var(--color-accent);color:#fff}:host .classify yvc-icon{width:18px;height:18px;padding:calc(var(--app-pane-padding) / 8)}:host textarea.input-textarea{width:100%;resize:vertical;background-color:transparent;color:var(--text-color-body);border:1px solid var(--yvc-form-element-border-color)}:host yvc-chips{width:100%}:host input{color:var(--text-color-body);padding:0;border:1px solid var(--yvc-form-element-border-color);display:flex;flex-wrap:wrap;align-items:center;width:100%;background:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: YvcChipsModule }, { kind: "component", type: i2.Chips, selector: "yvc-chips", inputs: ["field", "placeholder", "max", "disabled", "addOnBlur"] }, { kind: "ngmodule", type: YvcIconModule }, { kind: "component", type: i3.Icon, selector: "yvc-icon", inputs: ["label", "svg", "svgSrc"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
217
224
|
}
|
|
218
225
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StringComponent, decorators: [{
|
|
219
226
|
type: Component,
|
|
@@ -228,7 +235,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
228
235
|
useExisting: forwardRef(() => StringComponent),
|
|
229
236
|
multi: true
|
|
230
237
|
}
|
|
231
|
-
], template: "@if ((!rows || rows <= 1) && !multiselect) {\n <input type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\" />\n}\n@else if ((!rows || rows <= 1) && multiselect) {\n <!-- single line input with multiselect-->\n <yvc-chips\n [(ngModel)]=\"value\"\n [disabled]=\"readonly\"\n [max]=\"maxEntryCountIfInvalid\"\n (onBlur)=\"onBlur()\"\n (ngModelChange)=\"onValueChange($event)\"\n [ngClass]=\"{ invalid: validationErrors.length }\"\n >\n <ng-template let-item #chipTemplate>\n <span class=\"p-autocomplete-token-label\">\n @if (classify && !validationErrors.length) {\n <div class=\"classify inchip\">\n <a href=\"{{ classify.hrefPrefix + item }}\">\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n </a>\n </div>\n }\n <div class=\"label\">\n {{ item }}\n </div>\n </span>\n </ng-template>\n </yvc-chips>\n} @else if (rows && rows > 1) {\n <!-- multi line text inputs -->\n <textarea\n class=\"input-textarea\"\n pInputTextarea\n (blur)=\"onBlur()\"\n [(ngModel)]=\"value\"\n [rows]=\"rows\"\n [readonly]=\"readonly\"\n (ngModelChange)=\"onValueChange($event)\"\n ></textarea>\n}\n\n@if (classify) {\n <div class=\"classify\">\n @if (value && !validationErrors.length && (classify.hrefPrefix !== '' || !multiselect || value.length <= 1)) {\n <a href=\"{{ classify.hrefPrefix + formatedValue }}\">\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n </a>\n } @else {\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n }\n </div>\n}\n", styles: [":host{
|
|
238
|
+
], template: "@if ((!rows || rows <= 1) && !multiselect) {\n <input type=\"text\" (blur)=\"onBlur()\" [readonly]=\"readonly\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\" />\n}\n@else if ((!rows || rows <= 1) && multiselect) {\n <!-- single line input with multiselect-->\n <yvc-chips\n [(ngModel)]=\"value\"\n [disabled]=\"readonly\"\n [max]=\"maxEntryCountIfInvalid\"\n [addOnBlur]=\"true\"\n (onBlur)=\"onBlur()\"\n (ngModelChange)=\"onValueChange($event)\"\n [ngClass]=\"{ invalid: validationErrors.length }\"\n >\n <ng-template let-item #chipTemplate>\n <span class=\"p-autocomplete-token-label\">\n @if (classify && !validationErrors.length) {\n <div class=\"classify inchip\">\n <a href=\"{{ classify.hrefPrefix + item }}\">\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n </a>\n </div>\n }\n <div class=\"label\">\n {{ item }}\n </div>\n </span>\n </ng-template>\n </yvc-chips>\n} @else if (rows && rows > 1) {\n <!-- multi line text inputs -->\n <textarea\n class=\"input-textarea\"\n pInputTextarea\n (blur)=\"onBlur()\"\n [(ngModel)]=\"value\"\n [rows]=\"rows\"\n [readonly]=\"readonly\"\n (ngModelChange)=\"onValueChange($event)\"\n ></textarea>\n}\n\n@if (classify) {\n <div class=\"classify\">\n @if (value && !validationErrors.length && (classify.hrefPrefix !== '' || !multiselect || value.length <= 1)) {\n <a href=\"{{ classify.hrefPrefix + formatedValue }}\">\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n </a>\n } @else {\n <yvc-icon [svg]=\"classify.icon!\"></yvc-icon>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-flow:row nowrap;align-items:center}:host .yvc-chips-list li.chip{--yvc-form-element-border-color: var(--text-color-hint)}:host .classify{color:var(--text-color-hint)}:host .classify a{color:var(--text-color-hint);display:block;border-radius:2px}:host .classify a:hover,:host .classify a:focus{background-color:var(--color-accent);color:#fff}:host .classify yvc-icon{width:18px;height:18px;padding:calc(var(--app-pane-padding) / 8)}:host textarea.input-textarea{width:100%;resize:vertical;background-color:transparent;color:var(--text-color-body);border:1px solid var(--yvc-form-element-border-color)}:host yvc-chips{width:100%}:host input{color:var(--text-color-body);padding:0;border:1px solid var(--yvc-form-element-border-color);display:flex;flex-wrap:wrap;align-items:center;width:100%;background:transparent}\n"] }]
|
|
232
239
|
}], propDecorators: { fe: [{
|
|
233
240
|
type: HostBinding,
|
|
234
241
|
args: ['class.yvc-form-element']
|
|
@@ -251,4 +258,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
251
258
|
}], maxLength: [{
|
|
252
259
|
type: Input
|
|
253
260
|
}] } });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9zdHJpbmcvc3RyaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9zdHJpbmcvc3RyaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBbUQsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0SixPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFtQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUV4RDs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFvQkgsTUFBTSxPQUFPLGVBQWU7SUFuQjVCO1FBb0JVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25DLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEMsdUJBQWtCLEdBQUc7WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FB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QUFJO3lCQUNaO3FCQUNGOzhCQWNzQyxFQUFFO3NCQUF4QyxXQUFXO3VCQUFDLHdCQUF3QjtnQkFLNUIsV0FBVztzQkFBbkIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFGLGVBQWU7c0JBRGxCLEtBQUs7Z0JBNkJHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENsYXNzaWZpY2F0aW9uLCBDbGFzc2lmaWNhdGlvblByZWZpeCwgRm9ybWF0dGVkTWFpbFRvLCBTaXR1YXRpb24sIFV0aWxzIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWZyYW1ld29yay9pY29ucyc7XG5pbXBvcnQgeyBZdmNDaGlwc01vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9jaGlwcyc7XG5pbXBvcnQgeyBZdmNJY29uTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2ljb24nO1xuXG4vKipcbiAqIENyZWF0ZXMgZm9ybSBpbnB1dCBmb3Igc3RyaW5ncy4gQmFzZWQgb24gdGhlIGlucHV0IHZhbHVlcyBkaWZmZXJlbnQga2luZHMgb2YgaW5wdXRzIHdpbGwgYmUgZ2VuZXJhdGVkLlxuICpcbiAqIEltcGxlbWVudHMgYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoaW4gQW5ndWxhciBmb3Jtcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPCEtLSBzdHJpbmcgaW5wdXQgdmFsaWRhdGluZyBpbnB1dCB0byBiZSBiZXR3ZWVuIDUgYW5kIDEwIGNoYXJhY3RlcnMgLS0+XG4gKiA8eXV2LXN0cmluZyBbbWluTGVuZ3RoXT1cIjVcIiBbbWF4TGVuZ3RoXT1cIjEwXCI+PC95dXYtc3RyaW5nPlxuICpcbiAqIDwhLS0gc3RyaW5nIGlucHV0IHRoYXQgb25seSBhbGxvdyBkaWdpdHMgLS0+XG4gKiA8eXV2LXN0cmluZyAgW3JlZ2V4XT1cIlswLTldKlwiPjwveXV2LXN0cmluZz5cbiAqXG4gKiA8IS0tIHN0cmluZyBpbnB1dCByZW5kZXJpbmcgYSBsYXJnZSB0ZXh0YXJlYSAtLT5cbiAqIDx5dXYtc3RyaW5nIFtyb3dzXT1cIjEwXCI+PC95dXYtc3RyaW5nPlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LXN0cmluZycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFl2Y0NoaXBzTW9kdWxlLCBZdmNJY29uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zdHJpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHJpbmcuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdHJpbmdDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTdHJpbmdDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgaWNvbnNTZXJ2aWNlID0gaW5qZWN0KEljb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIGNsYXNzaWZpeXRpb25JY29ucyA9IHtcbiAgICBlbWFpbDogdGhpcy5pY29uc1NlcnZpY2UuZ2V0SWNvbihDbGFzc2lmaWNhdGlvblByZWZpeC5FTUFJTF9JQ09OKSB8fCAnJyxcbiAgICB1cmw6IHRoaXMuaWNvbnNTZXJ2aWNlLmdldEljb24oQ2xhc3NpZmljYXRpb25QcmVmaXguVVJMX0lDT04pIHx8ICcnLFxuICAgIHBob25lOiB0aGlzLmljb25zU2VydmljZS5nZXRJY29uKENsYXNzaWZpY2F0aW9uUHJlZml4LlBIT05FX0lDT04pIHx8ICcnXG4gIH07XG4gIG1heEVudHJ5Q291bnRJZkludmFsaWQ/OiBudW1iZXI7XG5cbiAgLy8gcHJvdmlkZXMgYWxsIGNzcyB2YXJpYWJsZXMgZGVmaW5lZCBieSB8eXV1dmlzL2NvbW9uZW50c1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnl2Yy1mb3JtLWVsZW1lbnQnKSBmZSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciB0aGF0IG11bHRpcGxlIHN0cmluZ3MgY291bGQgYmUgaW5zZXJ0ZWQsIHRoZXkgd2lsbCBiZSByZW5kZXJlZCBhcyBjaGlwcyAoZGVmYXVsdDogZmFsc2UpLlxuICAgKi9cbiAgQElucHV0KCkgbXVsdGlzZWxlY3QgPSBmYWxzZTtcbiAgLyoqXG4gICAqIFNldHRpbmcgcm93cyB0byBtb3JlIHRoYW4gMSB3aWxsIGdlbmVyYXRlIGEgdGV4dGFyZWEgaW5zdGVhZCBvZiBhbiBpbnB1dCB0YWdcbiAgICogYW5kIGFwcGx5IHRoZSByb3dzIHByb3BlcnR5IHRvIGl0XG4gICAqL1xuICBASW5wdXQoKSByb3dzPzogbnVtYmVyO1xuICAvKipcbiAgICogV2lsbCBwcmV2ZW50IHRoZSBpbnB1dCBmcm9tIGJlaW5nIGNoYW5nZWQgKGRlZmF1bHQ6IGZhbHNlKVxuICAgKi9cbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEVuYWJsZSBhdXRvZnVjdXMgZm9yIHRoZSBpbnB1dCAoZGVmYXVsdDogZmFsc2UpXG4gICAqL1xuICBASW5wdXQoKSBhdXRvZm9jdXMgPSBmYWxzZTtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgc2VtYW50aWNzIGZvciB0aGUgZm9ybSBlbGVtZW50LiBQb3NzaWJsZSB2YWx1ZXMgYXJlXG4gICAqIGBlbWFpbGAgKHZhbGlkYXRlcyBhbmQgY3JlYXRlcyBhIGxpbmsgdG8gc2VuZCBhbiBlbWFpbCBvbmNlIHRoZXJlXG4gICAqIGlzIGEgdmFsaWQgZW1haWwgYWRkcmVzcykgYW5kIGB1cmxgICh2YWxpZGF0ZXMgYW5kIGNyZWF0ZXMgYSBsaW5rXG4gICAqIHRvIGFuIFVSTCB0eXBlZCBpbnRvIHRoZSBmb3JtIGVsZW1lbnQpLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNsYXNzaWZpY2F0aW9ucyhjOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2NsYXNzaWZpY2F0aW9ucyA9IGM7XG4gICAgaWYgKGMgJiYgYy5sZW5ndGgpIHtcbiAgICAgIGlmIChjLmluY2x1ZGVzKENsYXNzaWZpY2F0aW9uLlNUUklOR19FTUFJTCkpIHtcbiAgICAgICAgdGhpcy5jbGFzc2lmeSA9IHtcbiAgICAgICAgICBocmVmUHJlZml4OiBDbGFzc2lmaWNhdGlvblByZWZpeC5FTUFJTCxcbiAgICAgICAgICBpY29uOiB0aGlzLmNsYXNzaWZpeXRpb25JY29ucy5lbWFpbFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChjLmluY2x1ZGVzKENsYXNzaWZpY2F0aW9uLlNUUklOR19VUkwpKSB7XG4gICAgICAgIHRoaXMuY2xhc3NpZnkgPSB7XG4gICAgICAgICAgaHJlZlByZWZpeDogQ2xhc3NpZmljYXRpb25QcmVmaXguVVJMLFxuICAgICAgICAgIGljb246IHRoaXMuY2xhc3NpZml5dGlvbkljb25zLnVybFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChjLmluY2x1ZGVzKENsYXNzaWZpY2F0aW9uLlNUUklOR19QSE9ORSkpIHtcbiAgICAgICAgdGhpcy5jbGFzc2lmeSA9IHtcbiAgICAgICAgICBocmVmUHJlZml4OiBDbGFzc2lmaWNhdGlvblByZWZpeC5QSE9ORSxcbiAgICAgICAgICBpY29uOiB0aGlzLmNsYXNzaWZpeXRpb25JY29ucy5waG9uZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBjbGFzc2lmaWNhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NsYXNzaWZpY2F0aW9ucztcbiAgfVxuICAvKipcbiAgICogUG9zc2libGVzIHZhbHVlcyBhcmUgYEVESVRgIChkZWZhdWx0KSxgU0VBUkNIYCxgQ1JFQVRFYC4gSW4gc2VhcmNoIHNpdHVhdGlvbiB2YWxpZGF0aW9uIG9mIHRoZSBmb3JtIGVsZW1lbnQgd2lsbCBiZSB0dXJuZWQgb2ZmLCBzbyB5b3UgYXJlIGFibGUgdG8gZW50ZXIgc2VhcmNoIHRlcm1zIHRoYXQgZG8gbm90IG1lZXQgdGhlIGVsZW1lbnRzIHZhbGlkYXRvcnMuXG4gICAqL1xuICBASW5wdXQoKSBzaXR1YXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZ3VsYXIgZXhwcmVzc2lvbiB0byB2YWxpZGF0ZSB0aGUgaW5wdXQgdmFsdWUgYWdhaW5zdFxuICAgKi9cbiAgQElucHV0KCkgcmVnZXg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNaW5pbWFsIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4gICAqL1xuICBASW5wdXQoKSBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBNYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4gICAqL1xuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG5cbiAgLy8gbW9kZWwgdmFsdWVcbiAgdmFsdWU6IGFueTtcbiAgZm9ybWF0ZWRWYWx1ZT86IEZvcm1hdHRlZE1haWxUbztcbiAgdmFsaWQgPSBmYWxzZTtcbiAgdmFsaWRhdGlvbkVycm9yczogeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdID0gW107XG4gIGNsYXNzaWZ5PzogeyBocmVmUHJlZml4OiBzdHJpbmc7IGljb246IHN0cmluZyB8IHVuZGVmaW5lZCB9O1xuICBwcml2YXRlIF9jbGFzc2lmaWNhdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG5cbiAgcHJpdmF0ZSBwcm9wYWdhdGUoKSB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1hdGVkVmFsdWUgPSBVdGlscy5mb3JtYXRNYWlsVG8odmFsdWUsIHRoaXMuY2xhc3NpZnk/LmhyZWZQcmVmaXggPT09IENsYXNzaWZpY2F0aW9uUHJlZml4LkVNQUlMKTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgbnVsbDtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZCgpOiB2b2lkIHt9XG5cbiAgb25WYWx1ZUNoYW5nZSh2YWw6IGFueSkge1xuICAgIHRoaXMubWF4RW50cnlDb3VudElmSW52YWxpZCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMgPSBbXTtcblxuICAgIGlmIChVdGlscy5pc0VtcHR5KHZhbCkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5wcm9wYWdhdGUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG11bHRpQ2hlY2sgPSAoY2hlY2s6IChzOiBzdHJpbmcpID0+IGJvb2xlYW4pID0+ICEhKHRoaXMubXVsdGlzZWxlY3QgPyB2YWwgOiBbdmFsXSkuZmluZCgodjogc3RyaW5nKSA9PiBjaGVjayh2KSk7XG5cbiAgICAvLyB2YWxpZGF0ZSByZWd1bGFyIGV4cHJlc3Npb25cbiAgICBpZiAodGhpcy5yZWdleCAmJiBtdWx0aUNoZWNrKCh2OiBzdHJpbmcpID0+ICFSZWdFeHAodGhpcy5yZWdleCEpLnRlc3QodikpKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGtleTogJ3JlZ2V4JyB9KTtcbiAgICB9XG5cbiAgICAvLyB2YWxpZGF0ZSBjbGFzc2lmaWNhdGlvbiBzZXR0aW5nc1xuICAgIGlmICh0aGlzLmNsYXNzaWZpY2F0aW9ucyAmJiB0aGlzLmNsYXNzaWZpY2F0aW9ucy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY2xhc3NpZmljYXRpb25zLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgaWYgKG11bHRpQ2hlY2soKHYpID0+ICF0aGlzLnZhbGlkYXRlQ2xhc3NpZmljYXRpb24odiwgYykpKSB7XG4gICAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzLnB1c2goeyBrZXk6ICdjbGFzc2lmaWNhdGlvbicgKyBjIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gdmFsaWRhdGUgbWluIGxlbmd0aFxuICAgIGlmICghVXRpbHMuaXNFbXB0eSh0aGlzLm1pbkxlbmd0aCkgJiYgbXVsdGlDaGVjaygodikgPT4gdi5sZW5ndGggPCB0aGlzLm1pbkxlbmd0aCEpKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGtleTogJ21pbmxlbmd0aCcsIHBhcmFtczogeyBtaW5MZW5ndGg6IHRoaXMubWluTGVuZ3RoIH0gfSk7XG4gICAgfVxuXG4gICAgLy8gdmFsaWRhdGUgbWF4IGxlbmd0aFxuICAgIGlmICghVXRpbHMuaXNFbXB0eSh0aGlzLm1heExlbmd0aCkgJiYgbXVsdGlDaGVjaygodikgPT4gdi5sZW5ndGggPiB0aGlzLm1heExlbmd0aCEpKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGtleTogJ21heGxlbmd0aCcsIHBhcmFtczogeyBtYXhMZW5ndGg6IHRoaXMubWF4TGVuZ3RoIH0gfSk7XG4gICAgfVxuXG4gICAgLy8gdmFsaWRhdGUgaW52YWxpZCBpZiBvbmx5IHdoaXRlc3BhY2VzXG4gICAgaWYgKG11bHRpQ2hlY2soKHYpID0+IHYubGVuZ3RoID4gMCAmJiAhdi50cmltKCkubGVuZ3RoKSkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzLnB1c2goeyBrZXk6ICdvbmx5V2hpdGVzcGFjZXMnIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhbGlkYXRpb25FcnJvcnMubGVuZ3RoICYmIHRoaXMubXVsdGlzZWxlY3QgJiYgdGhpcy52YWx1ZSkge1xuICAgICAgLy8gU2V0dGluZyBtYXhFbnRyeUNvdW50SWZJbnZhbGlkIHRvIHRoZSBhY3R1YWwgbGVuZ3RoIG9mIHRoZSB2YWx1ZSBhcnJheSB0byBwcmV2ZW50IHRoZSB1c2VyIHRvIGFkZCBtb3JlIGVudHJpZXMuXG4gICAgICB0aGlzLm1heEVudHJ5Q291bnRJZkludmFsaWQgPSB0aGlzLnZhbHVlLmxlbmd0aDtcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1hdGVkVmFsdWUgPSBVdGlscy5mb3JtYXRNYWlsVG8odmFsLCB0aGlzLmNsYXNzaWZ5Py5ocmVmUHJlZml4ID09PSBDbGFzc2lmaWNhdGlvblByZWZpeC5FTUFJTCk7XG4gICAgdGhpcy5wcm9wYWdhdGUoKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy50cmltVmFsdWUoKSkge1xuICAgICAgdGhpcy5wcm9wYWdhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpbXMgdGhlIGN1cnJlbnQgdmFsdWUgYW5kIHJldHVybnMgd2V0aGVyIG9yIG5vdCBpdCBoYXMgYmVlbiB0cmltbWVkXG4gICAqL1xuICBwcml2YXRlIHRyaW1WYWx1ZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoQmVmb3JlID0gdGhpcy52YWx1ZS5qb2luKCcnKS5sZW5ndGg7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLm1hcCgodjogc3RyaW5nKSA9PiB2LnRyaW0oKSk7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmpvaW4oJycpLmxlbmd0aCAhPT0gbGVuZ3RoQmVmb3JlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoQmVmb3JlID0gdGhpcy52YWx1ZS5sZW5ndGg7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnRyaW0oKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoICE9PSBsZW5ndGhCZWZvcmU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVDbGFzc2lmaWNhdGlvbihzdHJpbmc6IHN0cmluZywgY2xhc3NpZmljYXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnNpdHVhdGlvbiA9PT0gU2l0dWF0aW9uLlNFQVJDSCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBwYXR0ZXJuO1xuICAgICAgaWYgKGNsYXNzaWZpY2F0aW9uID09PSBDbGFzc2lmaWNhdGlvbi5TVFJJTkdfRU1BSUwpIHtcbiAgICAgICAgcGF0dGVybiA9XG4gICAgICAgICAgL14oKFtePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XG4gICAgICB9IGVsc2UgaWYgKGNsYXNzaWZpY2F0aW9uID09PSBDbGFzc2lmaWNhdGlvbi5TVFJJTkdfVVJMKSB7XG4gICAgICAgIHBhdHRlcm4gPSAvKGh0dHB8ZnRwfGh0dHBzKTpcXC9cXC9bXFx3LV0rKFxcLltcXHctXSspPyhbXFx3LixAP149JSZhbXA7OlxcL34rIy1dKltcXHdAP149JSZhbXA7XFwvfisjLV0pPy87XG4gICAgICB9IGVsc2UgaWYgKGNsYXNzaWZpY2F0aW9uID09PSBDbGFzc2lmaWNhdGlvbi5TVFJJTkdfUEhPTkUpIHtcbiAgICAgICAgcGF0dGVybiA9IC9eWytdKlsoXXswLDF9WzAtOV17MSw0fVspXXswLDF9Wy14XFxzXFwuLzAtOV0qJC9nO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhdHRlcm4gPyBwYXR0ZXJuLnRlc3Qoc3RyaW5nKSA6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybnMgbnVsbCB3aGVuIHZhbGlkIGVsc2UgdGhlIHZhbGlkYXRpb24gb2JqZWN0XG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoKSB7XG4gICAgaWYgKHRoaXMudmFsaWRhdGlvbkVycm9ycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudmFsaWQgPSBmYWxzZTtcbiAgICAgIHJldHVybiBVdGlscy5hcnJheVRvT2JqZWN0KHRoaXMudmFsaWRhdGlvbkVycm9ycywgJ2tleScsIChlcnIpID0+ICh7IHZhbGlkOiBmYWxzZSwgLi4uZXJyIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWxpZCA9IHRydWU7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b2ZvY3VzKSB7XG4gICAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKHRoaXMucm93cyAmJiB0aGlzLnJvd3MgPiAxID8gJ3RleHRhcmVhJyA6ICdpbnB1dCcpO1xuICAgICAgICBpZiAoZWwpIGVsLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKCghcm93cyB8fCByb3dzIDw9IDEpICYmICFtdWx0aXNlbGVjdCkge1xuICA8aW5wdXQgdHlwZT1cInRleHRcIiAoYmx1cik9XCJvbkJsdXIoKVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIiAvPlxufVxuQGVsc2UgaWYgKCghcm93cyB8fCByb3dzIDw9IDEpICYmIG11bHRpc2VsZWN0KSB7XG4gIDwhLS0gc2luZ2xlIGxpbmUgaW5wdXQgd2l0aCBtdWx0aXNlbGVjdC0tPlxuICA8eXZjLWNoaXBzXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICBbbWF4XT1cIm1heEVudHJ5Q291bnRJZkludmFsaWRcIlxuICAgIChvbkJsdXIpPVwib25CbHVyKClcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW25nQ2xhc3NdPVwieyBpbnZhbGlkOiB2YWxpZGF0aW9uRXJyb3JzLmxlbmd0aCB9XCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSAjY2hpcFRlbXBsYXRlPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwLWF1dG9jb21wbGV0ZS10b2tlbi1sYWJlbFwiPlxuICAgICAgICBAaWYgKGNsYXNzaWZ5ICYmICF2YWxpZGF0aW9uRXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGFzc2lmeSBpbmNoaXBcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJ7eyBjbGFzc2lmeS5ocmVmUHJlZml4ICsgaXRlbSB9fVwiPlxuICAgICAgICAgICAgICA8eXZjLWljb24gW3N2Z109XCJjbGFzc2lmeS5pY29uIVwiPjwveXZjLWljb24+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAge3sgaXRlbSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3l2Yy1jaGlwcz5cbn0gQGVsc2UgaWYgKHJvd3MgJiYgcm93cyA+IDEpIHtcbiAgPCEtLSBtdWx0aSBsaW5lIHRleHQgaW5wdXRzIC0tPlxuICA8dGV4dGFyZWFcbiAgICBjbGFzcz1cImlucHV0LXRleHRhcmVhXCJcbiAgICBwSW5wdXRUZXh0YXJlYVxuICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbcm93c109XCJyb3dzXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gID48L3RleHRhcmVhPlxufVxuXG5AaWYgKGNsYXNzaWZ5KSB7XG4gIDxkaXYgY2xhc3M9XCJjbGFzc2lmeVwiPlxuICAgIEBpZiAodmFsdWUgJiYgIXZhbGlkYXRpb25FcnJvcnMubGVuZ3RoICYmIChjbGFzc2lmeS5ocmVmUHJlZml4ICE9PSAnJyB8fCAhbXVsdGlzZWxlY3QgfHwgdmFsdWUubGVuZ3RoIDw9IDEpKSB7XG4gICAgICA8YSBocmVmPVwie3sgY2xhc3NpZnkuaHJlZlByZWZpeCArIGZvcm1hdGVkVmFsdWUgfX1cIj5cbiAgICAgICAgPHl2Yy1pY29uIFtzdmddPVwiY2xhc3NpZnkuaWNvbiFcIj48L3l2Yy1pY29uPlxuICAgICAgPC9hPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPHl2Yy1pY29uIFtzdmddPVwiY2xhc3NpZnkuaWNvbiFcIj48L3l2Yy1pY29uPlxuICAgIH1cbiAgPC9kaXY+XG59XG4iXX0=
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9zdHJpbmcvc3RyaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9zdHJpbmcvc3RyaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBbUQsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0SixPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFtQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQUV4RDs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFvQkgsTUFBTSxPQUFPLGVBQWU7SUFuQjVCO1FBb0JVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25DLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEMsdUJBQWtCLEdBQUc7WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FB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OzRGQWdCdkQsZUFBZTtrQkFuQjNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxhQUd4RDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFjc0MsRUFBRTtzQkFBeEMsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBSzVCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFRRixlQUFlO3NCQURsQixLQUFLO2dCQTZCRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDbGFzc2lmaWNhdGlvbiwgQ2xhc3NpZmljYXRpb25QcmVmaXgsIEZvcm1hdHRlZE1haWxUbywgU2l0dWF0aW9uLCBVdGlscyB9IGZyb20gJ0B5dXV2aXMvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvaWNvbnMnO1xuaW1wb3J0IHsgWXZjQ2hpcHNNb2R1bGUgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvY2hpcHMnO1xuaW1wb3J0IHsgWXZjSWNvbk1vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9pY29uJztcblxuLyoqXG4gKiBDcmVhdGVzIGZvcm0gaW5wdXQgZm9yIHN0cmluZ3MuIEJhc2VkIG9uIHRoZSBpbnB1dCB2YWx1ZXMgZGlmZmVyZW50IGtpbmRzIG9mIGlucHV0cyB3aWxsIGJlIGdlbmVyYXRlZC5cbiAqXG4gKiBJbXBsZW1lbnRzIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgc28gaXQgY2FuIGJlIHVzZWQgd2l0aGluIEFuZ3VsYXIgZm9ybXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDwhLS0gc3RyaW5nIGlucHV0IHZhbGlkYXRpbmcgaW5wdXQgdG8gYmUgYmV0d2VlbiA1IGFuZCAxMCBjaGFyYWN0ZXJzIC0tPlxuICogPHl1di1zdHJpbmcgW21pbkxlbmd0aF09XCI1XCIgW21heExlbmd0aF09XCIxMFwiPjwveXV2LXN0cmluZz5cbiAqXG4gKiA8IS0tIHN0cmluZyBpbnB1dCB0aGF0IG9ubHkgYWxsb3cgZGlnaXRzIC0tPlxuICogPHl1di1zdHJpbmcgIFtyZWdleF09XCJbMC05XSpcIj48L3l1di1zdHJpbmc+XG4gKlxuICogPCEtLSBzdHJpbmcgaW5wdXQgcmVuZGVyaW5nIGEgbGFyZ2UgdGV4dGFyZWEgLS0+XG4gKiA8eXV2LXN0cmluZyBbcm93c109XCIxMFwiPjwveXV2LXN0cmluZz5cbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1zdHJpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBZdmNDaGlwc01vZHVsZSwgWXZjSWNvbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RyaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3RyaW5nLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3RyaW5nQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3RyaW5nQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFN0cmluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIGljb25zU2VydmljZSA9IGluamVjdChJY29uU2VydmljZSk7XG4gIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBjbGFzc2lmaXl0aW9uSWNvbnMgPSB7XG4gICAgZW1haWw6IHRoaXMuaWNvbnNTZXJ2aWNlLmdldEljb24oQ2xhc3NpZmljYXRpb25QcmVmaXguRU1BSUxfSUNPTikgfHwgJycsXG4gICAgdXJsOiB0aGlzLmljb25zU2VydmljZS5nZXRJY29uKENsYXNzaWZpY2F0aW9uUHJlZml4LlVSTF9JQ09OKSB8fCAnJyxcbiAgICBwaG9uZTogdGhpcy5pY29uc1NlcnZpY2UuZ2V0SWNvbihDbGFzc2lmaWNhdGlvblByZWZpeC5QSE9ORV9JQ09OKSB8fCAnJ1xuICB9O1xuICBtYXhFbnRyeUNvdW50SWZJbnZhbGlkPzogbnVtYmVyO1xuXG4gIC8vIHByb3ZpZGVzIGFsbCBjc3MgdmFyaWFibGVzIGRlZmluZWQgYnkgfHl1dXZpcy9jb21vbmVudHNcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy55dmMtZm9ybS1lbGVtZW50JykgZmUgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3IgdGhhdCBtdWx0aXBsZSBzdHJpbmdzIGNvdWxkIGJlIGluc2VydGVkLCB0aGV5IHdpbGwgYmUgcmVuZGVyZWQgYXMgY2hpcHMgKGRlZmF1bHQ6IGZhbHNlKS5cbiAgICovXG4gIEBJbnB1dCgpIG11bHRpc2VsZWN0ID0gZmFsc2U7XG4gIC8qKlxuICAgKiBTZXR0aW5nIHJvd3MgdG8gbW9yZSB0aGFuIDEgd2lsbCBnZW5lcmF0ZSBhIHRleHRhcmVhIGluc3RlYWQgb2YgYW4gaW5wdXQgdGFnXG4gICAqIGFuZCBhcHBseSB0aGUgcm93cyBwcm9wZXJ0eSB0byBpdFxuICAgKi9cbiAgQElucHV0KCkgcm93cz86IG51bWJlcjtcbiAgLyoqXG4gICAqIFdpbGwgcHJldmVudCB0aGUgaW5wdXQgZnJvbSBiZWluZyBjaGFuZ2VkIChkZWZhdWx0OiBmYWxzZSlcbiAgICovXG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gIC8qKlxuICAgKiBFbmFibGUgYXV0b2Z1Y3VzIGZvciB0aGUgaW5wdXQgKGRlZmF1bHQ6IGZhbHNlKVxuICAgKi9cbiAgQElucHV0KCkgYXV0b2ZvY3VzID0gZmFsc2U7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIHNlbWFudGljcyBmb3IgdGhlIGZvcm0gZWxlbWVudC4gUG9zc2libGUgdmFsdWVzIGFyZVxuICAgKiBgZW1haWxgICh2YWxpZGF0ZXMgYW5kIGNyZWF0ZXMgYSBsaW5rIHRvIHNlbmQgYW4gZW1haWwgb25jZSB0aGVyZVxuICAgKiBpcyBhIHZhbGlkIGVtYWlsIGFkZHJlc3MpIGFuZCBgdXJsYCAodmFsaWRhdGVzIGFuZCBjcmVhdGVzIGEgbGlua1xuICAgKiB0byBhbiBVUkwgdHlwZWQgaW50byB0aGUgZm9ybSBlbGVtZW50KS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBjbGFzc2lmaWNhdGlvbnMoYzogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9jbGFzc2lmaWNhdGlvbnMgPSBjO1xuICAgIGlmIChjICYmIGMubGVuZ3RoKSB7XG4gICAgICBpZiAoYy5pbmNsdWRlcyhDbGFzc2lmaWNhdGlvbi5TVFJJTkdfRU1BSUwpKSB7XG4gICAgICAgIHRoaXMuY2xhc3NpZnkgPSB7XG4gICAgICAgICAgaHJlZlByZWZpeDogQ2xhc3NpZmljYXRpb25QcmVmaXguRU1BSUwsXG4gICAgICAgICAgaWNvbjogdGhpcy5jbGFzc2lmaXl0aW9uSWNvbnMuZW1haWxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoYy5pbmNsdWRlcyhDbGFzc2lmaWNhdGlvbi5TVFJJTkdfVVJMKSkge1xuICAgICAgICB0aGlzLmNsYXNzaWZ5ID0ge1xuICAgICAgICAgIGhyZWZQcmVmaXg6IENsYXNzaWZpY2F0aW9uUHJlZml4LlVSTCxcbiAgICAgICAgICBpY29uOiB0aGlzLmNsYXNzaWZpeXRpb25JY29ucy51cmxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoYy5pbmNsdWRlcyhDbGFzc2lmaWNhdGlvbi5TVFJJTkdfUEhPTkUpKSB7XG4gICAgICAgIHRoaXMuY2xhc3NpZnkgPSB7XG4gICAgICAgICAgaHJlZlByZWZpeDogQ2xhc3NpZmljYXRpb25QcmVmaXguUEhPTkUsXG4gICAgICAgICAgaWNvbjogdGhpcy5jbGFzc2lmaXl0aW9uSWNvbnMucGhvbmVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgY2xhc3NpZmljYXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9jbGFzc2lmaWNhdGlvbnM7XG4gIH1cbiAgLyoqXG4gICAqIFBvc3NpYmxlcyB2YWx1ZXMgYXJlIGBFRElUYCAoZGVmYXVsdCksYFNFQVJDSGAsYENSRUFURWAuIEluIHNlYXJjaCBzaXR1YXRpb24gdmFsaWRhdGlvbiBvZiB0aGUgZm9ybSBlbGVtZW50IHdpbGwgYmUgdHVybmVkIG9mZiwgc28geW91IGFyZSBhYmxlIHRvIGVudGVyIHNlYXJjaCB0ZXJtcyB0aGF0IGRvIG5vdCBtZWV0IHRoZSBlbGVtZW50cyB2YWxpZGF0b3JzLlxuICAgKi9cbiAgQElucHV0KCkgc2l0dWF0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZWd1bGFyIGV4cHJlc3Npb24gdG8gdmFsaWRhdGUgdGhlIGlucHV0IHZhbHVlIGFnYWluc3RcbiAgICovXG4gIEBJbnB1dCgpIHJlZ2V4Pzogc3RyaW5nO1xuICAvKipcbiAgICogTWluaW1hbCBudW1iZXIgb2YgY2hhcmFjdGVyc1xuICAgKi9cbiAgQElucHV0KCkgbWluTGVuZ3RoPzogbnVtYmVyO1xuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVyc1xuICAgKi9cbiAgQElucHV0KCkgbWF4TGVuZ3RoPzogbnVtYmVyO1xuXG4gIC8vIG1vZGVsIHZhbHVlXG4gIHZhbHVlOiBhbnk7XG4gIGZvcm1hdGVkVmFsdWU/OiBGb3JtYXR0ZWRNYWlsVG87XG4gIHZhbGlkID0gZmFsc2U7XG4gIHZhbGlkYXRpb25FcnJvcnM6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSA9IFtdO1xuICBjbGFzc2lmeT86IHsgaHJlZlByZWZpeDogc3RyaW5nOyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQgfTtcbiAgcHJpdmF0ZSBfY2xhc3NpZmljYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIHByaXZhdGUgcHJvcGFnYXRlKCkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLmZpbHRlcigodikgPT4gdHlwZW9mIHYgPT09ICdzdHJpbmcnICYmIHYudHJpbSgpLmxlbmd0aCA+IDApO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybWF0ZWRWYWx1ZSA9IFV0aWxzLmZvcm1hdE1haWxUbyh2YWx1ZSwgdGhpcy5jbGFzc2lmeT8uaHJlZlByZWZpeCA9PT0gQ2xhc3NpZmljYXRpb25QcmVmaXguRU1BSUwpO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCBudWxsO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge31cblxuICBvblZhbHVlQ2hhbmdlKHZhbDogYW55KSB7XG4gICAgdGhpcy5tYXhFbnRyeUNvdW50SWZJbnZhbGlkID0gdW5kZWZpbmVkO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycyA9IFtdO1xuXG4gICAgaWYgKFV0aWxzLmlzRW1wdHkodmFsKSkge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLnByb3BhZ2F0ZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbXVsdGlDaGVjayA9IChjaGVjazogKHM6IHN0cmluZykgPT4gYm9vbGVhbikgPT4gISEodGhpcy5tdWx0aXNlbGVjdCA/IHZhbCA6IFt2YWxdKS5maW5kKCh2OiBzdHJpbmcpID0+IGNoZWNrKHYpKTtcblxuICAgIC8vIHZhbGlkYXRlIHJlZ3VsYXIgZXhwcmVzc2lvblxuICAgIGlmICh0aGlzLnJlZ2V4ICYmIG11bHRpQ2hlY2soKHY6IHN0cmluZykgPT4gIVJlZ0V4cCh0aGlzLnJlZ2V4ISkudGVzdCh2KSkpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycy5wdXNoKHsga2V5OiAncmVnZXgnIH0pO1xuICAgIH1cblxuICAgIC8vIHZhbGlkYXRlIGNsYXNzaWZpY2F0aW9uIHNldHRpbmdzXG4gICAgaWYgKHRoaXMuY2xhc3NpZmljYXRpb25zICYmIHRoaXMuY2xhc3NpZmljYXRpb25zLmxlbmd0aCkge1xuICAgICAgdGhpcy5jbGFzc2lmaWNhdGlvbnMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICBpZiAobXVsdGlDaGVjaygodikgPT4gIXRoaXMudmFsaWRhdGVDbGFzc2lmaWNhdGlvbih2LCBjKSkpIHtcbiAgICAgICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGtleTogJ2NsYXNzaWZpY2F0aW9uJyArIGMgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyB2YWxpZGF0ZSBtaW4gbGVuZ3RoXG4gICAgaWYgKCFVdGlscy5pc0VtcHR5KHRoaXMubWluTGVuZ3RoKSAmJiBtdWx0aUNoZWNrKCh2KSA9PiB2Lmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoISkpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycy5wdXNoKHsga2V5OiAnbWlubGVuZ3RoJywgcGFyYW1zOiB7IG1pbkxlbmd0aDogdGhpcy5taW5MZW5ndGggfSB9KTtcbiAgICB9XG5cbiAgICAvLyB2YWxpZGF0ZSBtYXggbGVuZ3RoXG4gICAgaWYgKCFVdGlscy5pc0VtcHR5KHRoaXMubWF4TGVuZ3RoKSAmJiBtdWx0aUNoZWNrKCh2KSA9PiB2Lmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoISkpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycy5wdXNoKHsga2V5OiAnbWF4bGVuZ3RoJywgcGFyYW1zOiB7IG1heExlbmd0aDogdGhpcy5tYXhMZW5ndGggfSB9KTtcbiAgICB9XG5cbiAgICAvLyB2YWxpZGF0ZSBpbnZhbGlkIGlmIG9ubHkgd2hpdGVzcGFjZXNcbiAgICBpZiAobXVsdGlDaGVjaygodikgPT4gdi5sZW5ndGggPiAwICYmICF2LnRyaW0oKS5sZW5ndGgpKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGtleTogJ29ubHlXaGl0ZXNwYWNlcycgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudmFsaWRhdGlvbkVycm9ycy5sZW5ndGggJiYgdGhpcy5tdWx0aXNlbGVjdCAmJiB0aGlzLnZhbHVlKSB7XG4gICAgICAvLyBTZXR0aW5nIG1heEVudHJ5Q291bnRJZkludmFsaWQgdG8gdGhlIGFjdHVhbCBsZW5ndGggb2YgdGhlIHZhbHVlIGFycmF5IHRvIHByZXZlbnQgdGhlIHVzZXIgdG8gYWRkIG1vcmUgZW50cmllcy5cbiAgICAgIHRoaXMubWF4RW50cnlDb3VudElmSW52YWxpZCA9IHRoaXMudmFsdWUubGVuZ3RoO1xuICAgIH1cblxuICAgIHRoaXMuZm9ybWF0ZWRWYWx1ZSA9IFV0aWxzLmZvcm1hdE1haWxUbyh2YWwsIHRoaXMuY2xhc3NpZnk/LmhyZWZQcmVmaXggPT09IENsYXNzaWZpY2F0aW9uUHJlZml4LkVNQUlMKTtcbiAgICB0aGlzLnByb3BhZ2F0ZSgpO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIC8vIGFkZCBvbiBibHVyXG4gICAgICB0aGlzLnZhbHVlLnB1c2goJycpO1xuICAgIH1cbiAgICBpZiAodGhpcy50cmltVmFsdWUoKSkge1xuICAgICAgdGhpcy5wcm9wYWdhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpbXMgdGhlIGN1cnJlbnQgdmFsdWUgYW5kIHJldHVybnMgd2V0aGVyIG9yIG5vdCBpdCBoYXMgYmVlbiB0cmltbWVkXG4gICAqL1xuICBwcml2YXRlIHRyaW1WYWx1ZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoQmVmb3JlID0gdGhpcy52YWx1ZS5qb2luKCcnKS5sZW5ndGg7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLm1hcCgodjogc3RyaW5nKSA9PiB2LnRyaW0oKSk7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmpvaW4oJycpLmxlbmd0aCAhPT0gbGVuZ3RoQmVmb3JlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoQmVmb3JlID0gdGhpcy52YWx1ZS5sZW5ndGg7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnRyaW0oKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoICE9PSBsZW5ndGhCZWZvcmU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVDbGFzc2lmaWNhdGlvbihzdHJpbmc6IHN0cmluZywgY2xhc3NpZmljYXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnNpdHVhdGlvbiA9PT0gU2l0dWF0aW9uLlNFQVJDSCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBwYXR0ZXJuO1xuICAgICAgaWYgKGNsYXNzaWZpY2F0aW9uID09PSBDbGFzc2lmaWNhdGlvbi5TVFJJTkdfRU1BSUwpIHtcbiAgICAgICAgcGF0dGVybiA9XG4gICAgICAgICAgL14oKFtePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XG4gICAgICB9IGVsc2UgaWYgKGNsYXNzaWZpY2F0aW9uID09PSBDbGFzc2lmaWNhdGlvbi5TVFJJTkdfVVJMKSB7XG4gICAgICAgIHBhdHRlcm4gPSAvKGh0dHB8ZnRwfGh0dHBzKTpcXC9cXC9bXFx3LV0rKFxcLltcXHctXSspPyhbXFx3LixAP149JSZhbXA7OlxcL34rIy1dKltcXHdAP149JSZhbXA7XFwvfisjLV0pPy87XG4gICAgICB9IGVsc2UgaWYgKGNsYXNzaWZpY2F0aW9uID09PSBDbGFzc2lmaWNhdGlvbi5TVFJJTkdfUEhPTkUpIHtcbiAgICAgICAgcGF0dGVybiA9IC9eWytdKlsoXXswLDF9WzAtOV17MSw0fVspXXswLDF9Wy14XFxzXFwuLzAtOV0qJC9nO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhdHRlcm4gPyBwYXR0ZXJuLnRlc3Qoc3RyaW5nKSA6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybnMgbnVsbCB3aGVuIHZhbGlkIGVsc2UgdGhlIHZhbGlkYXRpb24gb2JqZWN0XG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoKSB7XG4gICAgaWYgKHRoaXMudmFsaWRhdGlvbkVycm9ycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudmFsaWQgPSBmYWxzZTtcbiAgICAgIHJldHVybiBVdGlscy5hcnJheVRvT2JqZWN0KHRoaXMudmFsaWRhdGlvbkVycm9ycywgJ2tleScsIChlcnIpID0+ICh7IHZhbGlkOiBmYWxzZSwgLi4uZXJyIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWxpZCA9IHRydWU7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXV0b2ZvY3VzKSB7XG4gICAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKHRoaXMucm93cyAmJiB0aGlzLnJvd3MgPiAxID8gJ3RleHRhcmVhJyA6ICdpbnB1dCcpO1xuICAgICAgICBpZiAoZWwpIGVsLmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKCghcm93cyB8fCByb3dzIDw9IDEpICYmICFtdWx0aXNlbGVjdCkge1xuICA8aW5wdXQgdHlwZT1cInRleHRcIiAoYmx1cik9XCJvbkJsdXIoKVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIiAvPlxufVxuQGVsc2UgaWYgKCghcm93cyB8fCByb3dzIDw9IDEpICYmIG11bHRpc2VsZWN0KSB7XG4gIDwhLS0gc2luZ2xlIGxpbmUgaW5wdXQgd2l0aCBtdWx0aXNlbGVjdC0tPlxuICA8eXZjLWNoaXBzXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICBbbWF4XT1cIm1heEVudHJ5Q291bnRJZkludmFsaWRcIlxuICAgIFthZGRPbkJsdXJdPVwidHJ1ZVwiXG4gICAgKG9uQmx1cik9XCJvbkJsdXIoKVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbbmdDbGFzc109XCJ7IGludmFsaWQ6IHZhbGlkYXRpb25FcnJvcnMubGVuZ3RoIH1cIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtICNjaGlwVGVtcGxhdGU+XG4gICAgICA8c3BhbiBjbGFzcz1cInAtYXV0b2NvbXBsZXRlLXRva2VuLWxhYmVsXCI+XG4gICAgICAgIEBpZiAoY2xhc3NpZnkgJiYgIXZhbGlkYXRpb25FcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNsYXNzaWZ5IGluY2hpcFwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cInt7IGNsYXNzaWZ5LmhyZWZQcmVmaXggKyBpdGVtIH19XCI+XG4gICAgICAgICAgICAgIDx5dmMtaWNvbiBbc3ZnXT1cImNsYXNzaWZ5Lmljb24hXCI+PC95dmMtaWNvbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj5cbiAgICAgICAgICB7eyBpdGVtIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwveXZjLWNoaXBzPlxufSBAZWxzZSBpZiAocm93cyAmJiByb3dzID4gMSkge1xuICA8IS0tIG11bHRpIGxpbmUgdGV4dCBpbnB1dHMgLS0+XG4gIDx0ZXh0YXJlYVxuICAgIGNsYXNzPVwiaW5wdXQtdGV4dGFyZWFcIlxuICAgIHBJbnB1dFRleHRhcmVhXG4gICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgIFtyb3dzXT1cInJvd3NcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgPjwvdGV4dGFyZWE+XG59XG5cbkBpZiAoY2xhc3NpZnkpIHtcbiAgPGRpdiBjbGFzcz1cImNsYXNzaWZ5XCI+XG4gICAgQGlmICh2YWx1ZSAmJiAhdmFsaWRhdGlvbkVycm9ycy5sZW5ndGggJiYgKGNsYXNzaWZ5LmhyZWZQcmVmaXggIT09ICcnIHx8ICFtdWx0aXNlbGVjdCB8fCB2YWx1ZS5sZW5ndGggPD0gMSkpIHtcbiAgICAgIDxhIGhyZWY9XCJ7eyBjbGFzc2lmeS5ocmVmUHJlZml4ICsgZm9ybWF0ZWRWYWx1ZSB9fVwiPlxuICAgICAgICA8eXZjLWljb24gW3N2Z109XCJjbGFzc2lmeS5pY29uIVwiPjwveXZjLWljb24+XG4gICAgICA8L2E+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8eXZjLWljb24gW3N2Z109XCJjbGFzc2lmeS5pY29uIVwiPjwveXZjLWljb24+XG4gICAgfVxuICA8L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -26,6 +26,7 @@ export const YUV_ICONS = {
|
|
|
26
26
|
trash: '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"/></svg>',
|
|
27
27
|
user: '<svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" width="20"><path d="M480-480q-60 0-102-42t-42-102q0-60 42-102t102-42q60 0 102 42t42 102q0 60-42 102t-102 42ZM192-192v-96q0-23 12.5-43.5T239-366q55-32 116.5-49T480-432q63 0 124.5 17T721-366q22 13 34.5 34t12.5 44v96H192Z"/></svg>',
|
|
28
28
|
warning: '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e8eaed"><path d="m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z"/></svg>',
|
|
29
|
-
info: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#5f6368" viewBox="0 -960 960 960"><path d="M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>'
|
|
29
|
+
info: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#5f6368" viewBox="0 -960 960 960"><path d="M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>',
|
|
30
|
+
more: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="#5f6368" viewBox="0 -960 960 960"><path d="M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z"/></svg>'
|
|
30
31
|
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2ljb25zL3NyYy9saWIvaWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBUTtJQUM1QixHQUFHLEVBQUUsNkpBQTZKO0lBQ2xLLFNBQVMsRUFDUCx3TUFBd007SUFDMU0sU0FBUyxFQUNQLDBMQUEwTDtJQUM1TCxTQUFTLEVBQ1Asc0pBQXNKO0lBQ3hKLFNBQVMsRUFDUCx1ZkFBdWY7SUFDemYsSUFBSSxFQUFFLCtMQUErTDtJQUNyTSxLQUFLLEVBQ0gsb0xBQW9MO0lBQ3RMLElBQUksRUFBRSwyVUFBMlU7SUFDalYsVUFBVSxFQUNSLDZ0QkFBNnRCO0lBQy90QixRQUFRLEVBQ04sc1FBQXNRO0lBQ3hRLFFBQVEsRUFDTix3UkFBd1I7SUFDMVIsTUFBTSxFQUNKLCtiQUErYjtJQUNqYyxNQUFNLEVBQ0osZ1NBQWdTO0lBQ2xTLEtBQUssRUFDSCxxN0JBQXE3QjtJQUN2N0IsS0FBSyxFQUNILDJnQkFBMmdCO0lBQzdnQixZQUFZLEVBQ1Ysa1hBQWtYO0lBQ3BYLEtBQUssRUFDSCx5YUFBeWE7SUFDM2EsR0FBRyxFQUFFLG9RQUFvUTtJQUN6USxPQUFPLEVBQ0wsK1VBQStVO0lBQ2pWLE1BQU0sRUFDSixpVkFBaVY7SUFDblYsUUFBUSxFQUNOLGloQ0FBaWhDO0lBQ25oQyxJQUFJLEVBQUUsNFJBQTRSO0lBQ2xTLFVBQVUsRUFDUix3TkFBd047SUFDMU4sS0FBSyxFQUNILGlVQUFpVTtJQUNuVSxJQUFJLEVBQUUsa1RBQWtUO0lBQ3hULE9BQU8sRUFBRSw0VEFBNFQ7SUFDclUsSUFBSSxFQUFFLHFoQkFBcWhCO0NBQzVoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gIFNldmVyYWwgJ2dlbmVyYWwgcHVycG9zZScgaWNvbnNcbmV4cG9ydCBjb25zdCBZVVZfSUNPTlM6IGFueSA9IHtcbiAgYWRkOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlx0PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIgLz5cdDxwYXRoIGQ9XCJNMTMgN2gtMnY0SDd2Mmg0djRoMnYtNGg0di0yaC00Vjd6XCIgLz48L3N2Zz4nLFxuICBhcnJvd0xhc3Q6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTUuNTkgNy40MUwxMC4xOCAxMmwtNC41OSA0LjU5TDcgMThsNi02LTYtNnpNMTYgNmgydjEyaC0yelwiLz48cGF0aCBmaWxsPVwibm9uZVwiIGQ9XCJNMCAwaDI0djI0SDBWMHpcIi8+PC9zdmc+JyxcbiAgYXJyb3dOZXh0OlxuICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0xMCA2TDguNTkgNy40MSAxMy4xNyAxMmwtNC41OCA0LjU5TDEwIDE4bDYtNnpcIi8+PHBhdGggZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nLFxuICBhcnJvd0Rvd246XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTcuNDEgNy44NEwxMiAxMi40Mmw0LjU5LTQuNThMMTggOS4yNWwtNiA2LTYtNnpcIi8+PC9zdmc+JyxcbiAgYXR0ZW50aW9uOlxuICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiNlOGVhZWRcIj48cGF0aCBkPVwiTTQ4MC03OXEtMTYgMC0zMC41LTZUNDIzLTEwMkwxMDItNDIzcS0xMS0xMi0xNy0yNi41VDc5LTQ4MHEwLTE2IDYtMzF0MTctMjZsMzIxLTMyMXExMi0xMiAyNi41LTE3LjVUNDgwLTg4MXExNiAwIDMxIDUuNXQyNiAxNy41bDMyMSAzMjFxMTIgMTEgMTcuNSAyNnQ1LjUgMzFxMCAxNi01LjUgMzAuNVQ4NTgtNDIzTDUzNy0xMDJxLTExIDExLTI2IDE3dC0zMSA2Wm0wLTgwIDMyMS0zMjEtMzIxLTMyMS0zMjEgMzIxIDMyMSAzMjFabS00MC0yODFoODB2LTI0MGgtODB2MjQwWm00MCAxMjBxMTcgMCAyOC41LTExLjVUNTIwLTM2MHEwLTE3LTExLjUtMjguNVQ0ODAtNDAwcS0xNyAwLTI4LjUgMTEuNVQ0NDAtMzYwcTAgMTcgMTEuNSAyOC41VDQ4MC0zMjBabTAtMTYwWlwiLz48L3N2Zz4nLFxuICBiYWNrOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjZThlYWVkXCI+PHBhdGggZD1cIm0zMTMtNDQwIDIyNCAyMjQtNTcgNTYtMzIwLTMyMCAzMjAtMzIwIDU3IDU2LTIyNCAyMjRoNDg3djgwSDMxM1pcIi8+PC9zdmc+JyxcbiAgY2hlY2s6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI2U4ZWFlZFwiPjxwYXRoIGQ9XCJNMzgyLTI0MCAxNTQtNDY4bDU3LTU3IDE3MSAxNzEgMzY3LTM2NyA1NyA1Ny00MjQgNDI0WlwiLz48L3N2Zz4nLFxuICBlZGl0OiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjZThlYWVkXCI+PHBhdGggZD1cIk0yMDAtMjAwaDU3bDM5MS0zOTEtNTctNTctMzkxIDM5MXY1N1ptLTgwIDgwdi0xNzBsNTI4LTUyN3ExMi0xMSAyNi41LTE3dDMwLjUtNnExNiAwIDMxIDZ0MjYgMThsNTUgNTZxMTIgMTEgMTcuNSAyNnQ1LjUgMzBxMCAxNi01LjUgMzAuNVQ4MTctNjQ3TDI5MC0xMjBIMTIwWm02NDAtNTg0LTU2LTU2IDU2IDU2Wm0tMTQxIDg1LTI4LTI5IDU3IDU3LTI5LTI4WlwiLz48L3N2Zz4nLFxuICBkcmFnSGFuZGxlOlxuICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiNlOGVhZWRcIj48cGF0aCBkPVwiTTM2MC0xNjBxLTMzIDAtNTYuNS0yMy41VDI4MC0yNDBxMC0zMyAyMy41LTU2LjVUMzYwLTMyMHEzMyAwIDU2LjUgMjMuNVQ0NDAtMjQwcTAgMzMtMjMuNSA1Ni41VDM2MC0xNjBabTI0MCAwcS0zMyAwLTU2LjUtMjMuNVQ1MjAtMjQwcTAtMzMgMjMuNS01Ni41VDYwMC0zMjBxMzMgMCA1Ni41IDIzLjVUNjgwLTI0MHEwIDMzLTIzLjUgNTYuNVQ2MDAtMTYwWk0zNjAtNDAwcS0zMyAwLTU2LjUtMjMuNVQyODAtNDgwcTAtMzMgMjMuNS01Ni41VDM2MC01NjBxMzMgMCA1Ni41IDIzLjVUNDQwLTQ4MHEwIDMzLTIzLjUgNTYuNVQzNjAtNDAwWm0yNDAgMHEtMzMgMC01Ni41LTIzLjVUNTIwLTQ4MHEwLTMzIDIzLjUtNTYuNVQ2MDAtNTYwcTMzIDAgNTYuNSAyMy41VDY4MC00ODBxMCAzMy0yMy41IDU2LjVUNjAwLTQwMFpNMzYwLTY0MHEtMzMgMC01Ni41LTIzLjVUMjgwLTcyMHEwLTMzIDIzLjUtNTYuNVQzNjAtODAwcTMzIDAgNTYuNSAyMy41VDQ0MC03MjBxMCAzMy0yMy41IDU2LjVUMzYwLTY0MFptMjQwIDBxLTMzIDAtNTYuNS0yMy41VDUyMC03MjBxMC0zMyAyMy41LTU2LjVUNjAwLTgwMHEzMyAwIDU2LjUgMjMuNVQ2ODAtNzIwcTAgMzMtMjMuNSA1Ni41VDYwMC02NDBaXCIvPjwvc3ZnPicsXG4gIGVudmVsb3BlOlxuICAgICc8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZmlsbD1cIm5vbmVcIiBkPVwiTTAgMGgyNHYyNEgwelwiLz48cGF0aCBkPVwiTTIwIDRINGMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDE4YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCAxNEg0VjhsOCA1IDgtNXYxMHptLTgtN0w0IDZoMTZsLTggNXpcIi8+PC9zdmc+JyxcbiAgZmF2b3JpdGU6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNFwiPjxwYXRoIGQ9XCJtMzU0LTI4NyAxMjYtNzYgMTI2IDc3LTMzLTE0NCAxMTEtOTYtMTQ2LTEzLTU4LTEzNi01OCAxMzUtMTQ2IDEzIDExMSA5Ny0zMyAxNDNaTTIzMy0xMjBsNjUtMjgxTDgwLTU5MGwyODgtMjUgMTEyLTI2NSAxMTIgMjY1IDI4OCAyNS0yMTggMTg5IDY1IDI4MS0yNDctMTQ5LTI0NyAxNDlabTI0Ny0zNTBaXCIvPjwvc3ZnPicsXG4gIGZpbHRlcjpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGZpbGw9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMFYwem0wIDBoMjR2MjRIMFYwelwiLz48cGF0aCBkPVwiTTE3LjAxIDE0aC0uOGwtLjI3LS4yN2MuOTgtMS4xNCAxLjU3LTIuNjEgMS41Ny00LjIzIDAtMy41OS0yLjkxLTYuNS02LjUtNi41cy02LjUgMy02LjUgNi41SDJsMy44NCA0IDQuMTYtNEg2LjUxQzYuNTEgNyA4LjUzIDUgMTEuMDEgNXM0LjUgMi4wMSA0LjUgNC41YzAgMi40OC0yLjAyIDQuNS00LjUgNC41LS42NSAwLTEuMjYtLjE0LTEuODItLjM4TDcuNzEgMTUuMWMuOTcuNTcgMi4wOS45IDMuMy45IDEuNjEgMCAzLjA4LS41OSA0LjIyLTEuNTdsLjI3LjI3di43OWw1LjAxIDQuOTlMMjIgMTlsLTQuOTktNXpcIi8+PC9zdmc+JyxcbiAgZm9sZGVyOlxuICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNHB4XCI+PHBhdGggZD1cIk0xNjAtMTYwcS0zMyAwLTU2LjUtMjMuNVQ4MC0yNDB2LTQ4MHEwLTMzIDIzLjUtNTYuNVQxNjAtODAwaDI0MGw4MCA4MGgzMjBxMzMgMCA1Ni41IDIzLjVUODgwLTY0MHY0MDBxMCAzMy0yMy41IDU2LjVUODAwLTE2MEgxNjBabTAtODBoNjQwdi00MDBINDQ3bC04MC04MEgxNjB2NDgwWm0wIDB2LTQ4MCA0ODBaXCIvPjwvc3ZnPicsXG4gIGdsb2JlOlxuICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTExLjk5IDJDNi40NyAyIDIgNi40OCAyIDEyczQuNDcgMTAgOS45OSAxMEMxNy41MiAyMiAyMiAxNy41MiAyMiAxMlMxNy41MiAyIDExLjk5IDJ6bTYuOTMgNmgtMi45NWMtLjMyLTEuMjUtLjc4LTIuNDUtMS4zOC0zLjU2IDEuODQuNjMgMy4zNyAxLjkxIDQuMzMgMy41NnpNMTIgNC4wNGMuODMgMS4yIDEuNDggMi41MyAxLjkxIDMuOTZoLTMuODJjLjQzLTEuNDMgMS4wOC0yLjc2IDEuOTEtMy45NnpNNC4yNiAxNEM0LjEgMTMuMzYgNCAxMi42OSA0IDEycy4xLTEuMzYuMjYtMmgzLjM4Yy0uMDguNjYtLjE0IDEuMzItLjE0IDIgMCAuNjguMDYgMS4zNC4xNCAySDQuMjZ6bS44MiAyaDIuOTVjLjMyIDEuMjUuNzggMi40NSAxLjM4IDMuNTYtMS44NC0uNjMtMy4zNy0xLjktNC4zMy0zLjU2em0yLjk1LThINS4wOGMuOTYtMS42NiAyLjQ5LTIuOTMgNC4zMy0zLjU2QzguODEgNS41NSA4LjM1IDYuNzUgOC4wMyA4ek0xMiAxOS45NmMtLjgzLTEuMi0xLjQ4LTIuNTMtMS45MS0zLjk2aDMuODJjLS40MyAxLjQzLTEuMDggMi43Ni0xLjkxIDMuOTZ6TTE0LjM0IDE0SDkuNjZjLS4wOS0uNjYtLjE2LTEuMzItLjE2LTIgMC0uNjguMDctMS4zNS4xNi0yaDQuNjhjLjA5LjY1LjE2IDEuMzIuMTYgMiAwIC42OC0uMDcgMS4zNC0uMTYgMnptLjI1IDUuNTZjLjYtMS4xMSAxLjA2LTIuMzEgMS4zOC0zLjU2aDIuOTVjLS45NiAxLjY1LTIuNDkgMi45My00LjMzIDMuNTZ6TTE2LjM2IDE0Yy4wOC0uNjYuMTQtMS4zMi4xNC0yIDAtLjY4LS4wNi0xLjM0LS4xNC0yaDMuMzhjLjE2LjY0LjI2IDEuMzEuMjYgMnMtLjEgMS4zNi0uMjYgMmgtMy4zOHpcIi8+PC9zdmc+JyxcbiAgZ3JvdXA6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyMFwiPjxwYXRoIGQ9XCJNOTYtMTkydi05MnEwLTI2IDEyLjUtNDcuNVQxNDMtMzY2cTU0LTMyIDExNC41LTQ5VDM4NC00MzJxNjYgMCAxMjYuNSAxN1Q2MjUtMzY2cTIyIDEzIDM0LjUgMzQuNVQ2NzItMjg0djkySDk2Wm02NDggMHYtOTJxMC00Mi0xOS41LTc4VDY3Mi00MjFxMzkgOCA3NS41IDIxLjVUODE3LTM2NnEyMiAxMyAzNC41IDM0LjVUODY0LTI4NHY5Mkg3NDRaTTM4NC00ODBxLTYwIDAtMTAyLTQydC00Mi0xMDJxMC02MCA0Mi0xMDJ0MTAyLTQycTYwIDAgMTAyIDQydDQyIDEwMnEwIDYwLTQyIDEwMnQtMTAyIDQyWm0zMzYtMTQ0cTAgNjAtNDIgMTAydC0xMDIgNDJxLTggMC0xNS0uNXQtMTUtMi41cTI1LTI5IDM5LjUtNjQuNVQ2MDAtNjI0cTAtNDEtMTQuNS03Ni41VDU0Ni03NjVxOC0yIDE1LTIuNXQxNS0uNXE2MCAwIDEwMiA0MnQ0MiAxMDJaXCIvPjwvc3ZnPicsXG4gIG5vdGlmaWNhdGlvbjpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0XCI+PHBhdGggZD1cIk0xNjAtMjAwdi04MGg4MHYtMjgwcTAtODMgNTAtMTQ3LjVUNDIwLTc5MnYtMjhxMC0yNSAxNy41LTQyLjVUNDgwLTg4MHEyNSAwIDQyLjUgMTcuNVQ1NDAtODIwdjI4cTgwIDIwIDEzMCA4NC41VDcyMC01NjB2MjgwaDgwdjgwSDE2MFptMzIwLTMwMFptMCA0MjBxLTMzIDAtNTYuNS0yMy41VDQwMC0xNjBoMTYwcTAgMzMtMjMuNSA1Ni41VDQ4MC04MFpNMzIwLTI4MGgzMjB2LTI4MHEwLTY2LTQ3LTExM3QtMTEzLTQ3cS02NiAwLTExMyA0N3QtNDcgMTEzdjI4MFpcIi8+PC9zdmc+JyxcbiAgcGhvbmU6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMjAuMDEgMTUuMzhjLTEuMjMgMC0yLjQyLS4yLTMuNTMtLjU2YS45NzcuOTc3IDAgMCAwLTEuMDEuMjRsLTEuNTcgMS45N2MtMi44My0xLjM1LTUuNDgtMy45LTYuODktNi44M2wxLjk1LTEuNjZjLjI3LS4yOC4zNS0uNjcuMjQtMS4wMi0uMzctMS4xMS0uNTYtMi4zLS41Ni0zLjUzIDAtLjU0LS40NS0uOTktLjk5LS45OUg0LjE5QzMuNjUgMyAzIDMuMjQgMyAzLjk5IDMgMTMuMjggMTAuNzMgMjEgMjAuMDEgMjFjLjcxIDAgLjk5LS42My45OS0xLjE4di0zLjQ1YzAtLjU0LS40NS0uOTktLjk5LS45OXpcIi8+PC9zdmc+JyxcbiAgcGluOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjZThlYWVkXCI+PHBhdGggZD1cIm02NDAtNDgwIDgwIDgwdjgwSDUyMHYyNDBsLTQwIDQwLTQwLTQwdi0yNDBIMjQwdi04MGw4MC04MHYtMjgwaC00MHYtODBoNDAwdjgwaC00MHYyODBabS0yODYgODBoMjUybC00Ni00NnYtMzE0SDQwMHYzMTRsLTQ2IDQ2Wm0xMjYgMFpcIi8+PC9zdmc+JyxcbiAgcmVmcmVzaDpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjZThlYWVkXCI+PHBhdGggZD1cIk00ODAtMTYwcS0xMzQgMC0yMjctOTN0LTkzLTIyN3EwLTEzNCA5My0yMjd0MjI3LTkzcTY5IDAgMTMyIDI4LjVUNzIwLTY5MHYtMTEwaDgwdjI4MEg1MjB2LTgwaDE2OHEtMzItNTYtODcuNS04OFQ0ODAtNzIwcS0xMDAgMC0xNzAgNzB0LTcwIDE3MHEwIDEwMCA3MCAxNzB0MTcwIDcwcTc3IDAgMTM5LTQ0dDg3LTExNmg4NHEtMjggMTA2LTExNCAxNzN0LTE5NiA2N1pcIi8+PC9zdmc+JyxcbiAgc2VhcmNoOlxuICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0xNS41IDE0aC0uNzlsLS4yOC0uMjdDMTUuNDEgMTIuNTkgMTYgMTEuMTEgMTYgOS41IDE2IDUuOTEgMTMuMDkgMyA5LjUgM1MzIDUuOTEgMyA5LjUgNS45MSAxNiA5LjUgMTZjMS42MSAwIDMuMDktLjU5IDQuMjMtMS41N2wuMjcuMjh2Ljc5bDUgNC45OUwyMC40OSAxOWwtNC45OS01em0tNiAwQzcuMDEgMTQgNSAxMS45OSA1IDkuNVM3LjAxIDUgOS41IDUgMTQgNy4wMSAxNCA5LjUgMTEuOTkgMTQgOS41IDE0elwiLz48L3N2Zz4nLFxuICBzZXR0aW5nczpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZW5hYmxlLWJhY2tncm91bmQ9XCJuZXcgMCAwIDI0IDI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNFwiPjxnPjxwYXRoIGQ9XCJNMCwwaDI0djI0SDBWMHpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTE5LjE0LDEyLjk0YzAuMDQtMC4zLDAuMDYtMC42MSwwLjA2LTAuOTRjMC0wLjMyLTAuMDItMC42NC0wLjA3LTAuOTRsMi4wMy0xLjU4YzAuMTgtMC4xNCwwLjIzLTAuNDEsMC4xMi0wLjYxIGwtMS45Mi0zLjMyYy0wLjEyLTAuMjItMC4zNy0wLjI5LTAuNTktMC4yMmwtMi4zOSwwLjk2Yy0wLjUtMC4zOC0xLjAzLTAuNy0xLjYyLTAuOTRMMTQuNCwyLjgxYy0wLjA0LTAuMjQtMC4yNC0wLjQxLTAuNDgtMC40MSBoLTMuODRjLTAuMjQsMC0wLjQzLDAuMTctMC40NywwLjQxTDkuMjUsNS4zNUM4LjY2LDUuNTksOC4xMiw1LjkyLDcuNjMsNi4yOUw1LjI0LDUuMzNjLTAuMjItMC4wOC0wLjQ3LDAtMC41OSwwLjIyTDIuNzQsOC44NyBDMi42Miw5LjA4LDIuNjYsOS4zNCwyLjg2LDkuNDhsMi4wMywxLjU4QzQuODQsMTEuMzYsNC44LDExLjY5LDQuOCwxMnMwLjAyLDAuNjQsMC4wNywwLjk0bC0yLjAzLDEuNTggYy0wLjE4LDAuMTQtMC4yMywwLjQxLTAuMTIsMC42MWwxLjkyLDMuMzJjMC4xMiwwLjIyLDAuMzcsMC4yOSwwLjU5LDAuMjJsMi4zOS0wLjk2YzAuNSwwLjM4LDEuMDMsMC43LDEuNjIsMC45NGwwLjM2LDIuNTQgYzAuMDUsMC4yNCwwLjI0LDAuNDEsMC40OCwwLjQxaDMuODRjMC4yNCwwLDAuNDQtMC4xNywwLjQ3LTAuNDFsMC4zNi0yLjU0YzAuNTktMC4yNCwxLjEzLTAuNTYsMS42Mi0wLjk0bDIuMzksMC45NiBjMC4yMiwwLjA4LDAuNDcsMCwwLjU5LTAuMjJsMS45Mi0zLjMyYzAuMTItMC4yMiwwLjA3LTAuNDctMC4xMi0wLjYxTDE5LjE0LDEyLjk0eiBNMTIsMTUuNmMtMS45OCwwLTMuNi0xLjYyLTMuNi0zLjYgczEuNjItMy42LDMuNi0zLjZzMy42LDEuNjIsMy42LDMuNlMxMy45OCwxNS42LDEyLDE1LjZ6XCIvPjwvZz48L3N2Zz4nLFxuICBzdGFyOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRweFwiPjxwYXRoIGQ9XCJtMzU0LTI4NyAxMjYtNzYgMTI2IDc3LTMzLTE0NCAxMTEtOTYtMTQ2LTEzLTU4LTEzNi01OCAxMzUtMTQ2IDEzIDExMSA5Ny0zMyAxNDNaTTIzMy0xMjBsNjUtMjgxTDgwLTU5MGwyODgtMjUgMTEyLTI2NSAxMTIgMjY1IDI4OCAyNS0yMTggMTg5IDY1IDI4MS0yNDctMTQ5LTI0NyAxNDlabTI0Ny0zNTBaXCIvPjwvc3ZnPicsXG4gIHN0YXJGaWxsZWQ6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI0IDI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJtNS44IDIxIDEuNi03TDIgOS4ybDcuMi0uNkwxMiAybDIuOCA2LjYgNy4yLjYtNS40IDQuOCAxLjYgNy02LjItMy43TDUuOCAyMXpcIi8+PC9zdmc+JyxcbiAgdHJhc2g6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI2U4ZWFlZFwiPjxwYXRoIGQ9XCJNMjgwLTEyMHEtMzMgMC01Ni41LTIzLjVUMjAwLTIwMHYtNTIwaC00MHYtODBoMjAwdi00MGgyNDB2NDBoMjAwdjgwaC00MHY1MjBxMCAzMy0yMy41IDU2LjVUNjgwLTEyMEgyODBabTQwMC02MDBIMjgwdjUyMGg0MDB2LTUyMFpNMzYwLTI4MGg4MHYtMzYwaC04MHYzNjBabTE2MCAwaDgwdi0zNjBoLTgwdjM2MFpNMjgwLTcyMHY1MjAtNTIwWlwiLz48L3N2Zz4nLFxuICB1c2VyOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjIwXCI+PHBhdGggZD1cIk00ODAtNDgwcS02MCAwLTEwMi00MnQtNDItMTAycTAtNjAgNDItMTAydDEwMi00MnE2MCAwIDEwMiA0MnQ0MiAxMDJxMCA2MC00MiAxMDJ0LTEwMiA0MlpNMTkyLTE5MnYtOTZxMC0yMyAxMi41LTQzLjVUMjM5LTM2NnE1NS0zMiAxMTYuNS00OVQ0ODAtNDMycTYzIDAgMTI0LjUgMTdUNzIxLTM2NnEyMiAxMyAzNC41IDM0dDEyLjUgNDR2OTZIMTkyWlwiLz48L3N2Zz4nLFxuICB3YXJuaW5nOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjZThlYWVkXCI+PHBhdGggZD1cIm00MC0xMjAgNDQwLTc2MCA0NDAgNzYwSDQwWm0xMzgtODBoNjA0TDQ4MC03MjAgMTc4LTIwMFptMzAyLTQwcTE3IDAgMjguNS0xMS41VDUyMC0yODBxMC0xNy0xMS41LTI4LjVUNDgwLTMyMHEtMTcgMC0yOC41IDExLjVUNDQwLTI4MHEwIDE3IDExLjUgMjguNVQ0ODAtMjQwWm0tNDAtMTIwaDgwdi0yMDBoLTgwdjIwMFptNDAtMTAwWlwiLz48L3N2Zz4nLFxuICBpbmZvOiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiM1ZjYzNjhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIj48cGF0aCBkPVwiTTQ0MC0yODBoODB2LTI0MGgtODB2MjQwWm00MC0zMjBxMTcgMCAyOC41LTExLjVUNTIwLTY0MHEwLTE3LTExLjUtMjguNVQ0ODAtNjgwcS0xNyAwLTI4LjUgMTEuNVQ0NDAtNjQwcTAgMTcgMTEuNSAyOC41VDQ4MC02MDBabTAgNTIwcS04MyAwLTE1Ni0zMS41VDE5Ny0xOTdxLTU0LTU0LTg1LjUtMTI3VDgwLTQ4MHEwLTgzIDMxLjUtMTU2VDE5Ny03NjNxNTQtNTQgMTI3LTg1LjVUNDgwLTg4MHE4MyAwIDE1NiAzMS41VDc2My03NjNxNTQgNTQgODUuNSAxMjdUODgwLTQ4MHEwIDgzLTMxLjUgMTU2VDc2My0xOTdxLTU0IDU0LTEyNyA4NS41VDQ4MC04MFptMC04MHExMzQgMCAyMjctOTN0OTMtMjI3cTAtMTM0LTkzLTIyN3QtMjI3LTkzcS0xMzQgMC0yMjcgOTN0LTkzIDIyN3EwIDEzNCA5MyAyMjd0MjI3IDkzWm0wLTMyMFpcIi8+PC9zdmc+J1xufTtcbiJdfQ==
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2ljb25zL3NyYy9saWIvaWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUNBQW1DO0FBQ25DLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBUTtJQUM1QixHQUFHLEVBQUUsNkpBQTZKO0lBQ2xLLFNBQVMsRUFDUCx3TUFBd007SUFDMU0sU0FBUyxFQUNQLDBMQUEwTDtJQUM1TCxTQUFTLEVBQ1Asc0pBQXNKO0lBQ3hKLFNBQVMsRUFDUCx1ZkFBdWY7SUFDemYsSUFBSSxFQUFFLCtMQUErTDtJQUNyTSxLQUFLLEVBQ0gsb0xBQW9MO0lBQ3RMLElBQUksRUFBRSwyVUFBMlU7SUFDalYsVUFBVSxFQUNSLDZ0QkFBNnRCO0lBQy90QixRQUFRLEVBQ04sc1FBQXNRO0lBQ3hRLFFBQVEsRUFDTix3UkFBd1I7SUFDMVIsTUFBTSxFQUNKLCtiQUErYjtJQUNqYyxNQUFNLEVBQ0osZ1NBQWdTO0lBQ2xTLEtBQUssRUFDSCxxN0JBQXE3QjtJQUN2N0IsS0FBSyxFQUNILDJnQkFBMmdCO0lBQzdnQixZQUFZLEVBQ1Ysa1hBQWtYO0lBQ3BYLEtBQUssRUFDSCx5YUFBeWE7SUFDM2EsR0FBRyxFQUFFLG9RQUFvUTtJQUN6USxPQUFPLEVBQ0wsK1VBQStVO0lBQ2pWLE1BQU0sRUFDSixpVkFBaVY7SUFDblYsUUFBUSxFQUNOLGloQ0FBaWhDO0lBQ25oQyxJQUFJLEVBQUUsNFJBQTRSO0lBQ2xTLFVBQVUsRUFDUix3TkFBd047SUFDMU4sS0FBSyxFQUNILGlVQUFpVTtJQUNuVSxJQUFJLEVBQUUsa1RBQWtUO0lBQ3hULE9BQU8sRUFDTCw0VEFBNFQ7SUFDOVQsSUFBSSxFQUFFLHFoQkFBcWhCO0lBQzNoQixJQUFJLEVBQUUseWFBQXlhO0NBQ2hiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAgU2V2ZXJhbCAnZ2VuZXJhbCBwdXJwb3NlJyBpY29uc1xuZXhwb3J0IGNvbnN0IFlVVl9JQ09OUzogYW55ID0ge1xuICBhZGQ6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XHQ8cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIiAvPlx0PHBhdGggZD1cIk0xMyA3aC0ydjRIN3YyaDR2NGgydi00aDR2LTJoLTRWN3pcIiAvPjwvc3ZnPicsXG4gIGFycm93TGFzdDpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNNS41OSA3LjQxTDEwLjE4IDEybC00LjU5IDQuNTlMNyAxOGw2LTYtNi02ek0xNiA2aDJ2MTJoLTJ6XCIvPjxwYXRoIGZpbGw9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMFYwelwiLz48L3N2Zz4nLFxuICBhcnJvd05leHQ6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTEwIDZMOC41OSA3LjQxIDEzLjE3IDEybC00LjU4IDQuNTlMMTAgMThsNi02elwiLz48cGF0aCBkPVwiTTAgMGgyNHYyNEgwelwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicsXG4gIGFycm93RG93bjpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNNy40MSA3Ljg0TDEyIDEyLjQybDQuNTktNC41OEwxOCA5LjI1bC02IDYtNi02elwiLz48L3N2Zz4nLFxuICBhdHRlbnRpb246XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI2U4ZWFlZFwiPjxwYXRoIGQ9XCJNNDgwLTc5cS0xNiAwLTMwLjUtNlQ0MjMtMTAyTDEwMi00MjNxLTExLTEyLTE3LTI2LjVUNzktNDgwcTAtMTYgNi0zMXQxNy0yNmwzMjEtMzIxcTEyLTEyIDI2LjUtMTcuNVQ0ODAtODgxcTE2IDAgMzEgNS41dDI2IDE3LjVsMzIxIDMyMXExMiAxMSAxNy41IDI2dDUuNSAzMXEwIDE2LTUuNSAzMC41VDg1OC00MjNMNTM3LTEwMnEtMTEgMTEtMjYgMTd0LTMxIDZabTAtODAgMzIxLTMyMS0zMjEtMzIxLTMyMSAzMjEgMzIxIDMyMVptLTQwLTI4MWg4MHYtMjQwaC04MHYyNDBabTQwIDEyMHExNyAwIDI4LjUtMTEuNVQ1MjAtMzYwcTAtMTctMTEuNS0yOC41VDQ4MC00MDBxLTE3IDAtMjguNSAxMS41VDQ0MC0zNjBxMCAxNyAxMS41IDI4LjVUNDgwLTMyMFptMC0xNjBaXCIvPjwvc3ZnPicsXG4gIGJhY2s6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiNlOGVhZWRcIj48cGF0aCBkPVwibTMxMy00NDAgMjI0IDIyNC01NyA1Ni0zMjAtMzIwIDMyMC0zMjAgNTcgNTYtMjI0IDIyNGg0ODd2ODBIMzEzWlwiLz48L3N2Zz4nLFxuICBjaGVjazpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjZThlYWVkXCI+PHBhdGggZD1cIk0zODItMjQwIDE1NC00NjhsNTctNTcgMTcxIDE3MSAzNjctMzY3IDU3IDU3LTQyNCA0MjRaXCIvPjwvc3ZnPicsXG4gIGVkaXQ6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiNlOGVhZWRcIj48cGF0aCBkPVwiTTIwMC0yMDBoNTdsMzkxLTM5MS01Ny01Ny0zOTEgMzkxdjU3Wm0tODAgODB2LTE3MGw1MjgtNTI3cTEyLTExIDI2LjUtMTd0MzAuNS02cTE2IDAgMzEgNnQyNiAxOGw1NSA1NnExMiAxMSAxNy41IDI2dDUuNSAzMHEwIDE2LTUuNSAzMC41VDgxNy02NDdMMjkwLTEyMEgxMjBabTY0MC01ODQtNTYtNTYgNTYgNTZabS0xNDEgODUtMjgtMjkgNTcgNTctMjktMjhaXCIvPjwvc3ZnPicsXG4gIGRyYWdIYW5kbGU6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI2U4ZWFlZFwiPjxwYXRoIGQ9XCJNMzYwLTE2MHEtMzMgMC01Ni41LTIzLjVUMjgwLTI0MHEwLTMzIDIzLjUtNTYuNVQzNjAtMzIwcTMzIDAgNTYuNSAyMy41VDQ0MC0yNDBxMCAzMy0yMy41IDU2LjVUMzYwLTE2MFptMjQwIDBxLTMzIDAtNTYuNS0yMy41VDUyMC0yNDBxMC0zMyAyMy41LTU2LjVUNjAwLTMyMHEzMyAwIDU2LjUgMjMuNVQ2ODAtMjQwcTAgMzMtMjMuNSA1Ni41VDYwMC0xNjBaTTM2MC00MDBxLTMzIDAtNTYuNS0yMy41VDI4MC00ODBxMC0zMyAyMy41LTU2LjVUMzYwLTU2MHEzMyAwIDU2LjUgMjMuNVQ0NDAtNDgwcTAgMzMtMjMuNSA1Ni41VDM2MC00MDBabTI0MCAwcS0zMyAwLTU2LjUtMjMuNVQ1MjAtNDgwcTAtMzMgMjMuNS01Ni41VDYwMC01NjBxMzMgMCA1Ni41IDIzLjVUNjgwLTQ4MHEwIDMzLTIzLjUgNTYuNVQ2MDAtNDAwWk0zNjAtNjQwcS0zMyAwLTU2LjUtMjMuNVQyODAtNzIwcTAtMzMgMjMuNS01Ni41VDM2MC04MDBxMzMgMCA1Ni41IDIzLjVUNDQwLTcyMHEwIDMzLTIzLjUgNTYuNVQzNjAtNjQwWm0yNDAgMHEtMzMgMC01Ni41LTIzLjVUNTIwLTcyMHEwLTMzIDIzLjUtNTYuNVQ2MDAtODAwcTMzIDAgNTYuNSAyMy41VDY4MC03MjBxMCAzMy0yMy41IDU2LjVUNjAwLTY0MFpcIi8+PC9zdmc+JyxcbiAgZW52ZWxvcGU6XG4gICAgJzxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBmaWxsPVwibm9uZVwiIGQ9XCJNMCAwaDI0djI0SDB6XCIvPjxwYXRoIGQ9XCJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0wIDE0SDRWOGw4IDUgOC01djEwem0tOC03TDQgNmgxNmwtOCA1elwiLz48L3N2Zz4nLFxuICBmYXZvcml0ZTpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0XCI+PHBhdGggZD1cIm0zNTQtMjg3IDEyNi03NiAxMjYgNzctMzMtMTQ0IDExMS05Ni0xNDYtMTMtNTgtMTM2LTU4IDEzNS0xNDYgMTMgMTExIDk3LTMzIDE0M1pNMjMzLTEyMGw2NS0yODFMODAtNTkwbDI4OC0yNSAxMTItMjY1IDExMiAyNjUgMjg4IDI1LTIxOCAxODkgNjUgMjgxLTI0Ny0xNDktMjQ3IDE0OVptMjQ3LTM1MFpcIi8+PC9zdmc+JyxcbiAgZmlsdGVyOlxuICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZmlsbD1cIm5vbmVcIiBkPVwiTTAgMGgyNHYyNEgwVjB6bTAgMGgyNHYyNEgwVjB6XCIvPjxwYXRoIGQ9XCJNMTcuMDEgMTRoLS44bC0uMjctLjI3Yy45OC0xLjE0IDEuNTctMi42MSAxLjU3LTQuMjMgMC0zLjU5LTIuOTEtNi41LTYuNS02LjVzLTYuNSAzLTYuNSA2LjVIMmwzLjg0IDQgNC4xNi00SDYuNTFDNi41MSA3IDguNTMgNSAxMS4wMSA1czQuNSAyLjAxIDQuNSA0LjVjMCAyLjQ4LTIuMDIgNC41LTQuNSA0LjUtLjY1IDAtMS4yNi0uMTQtMS44Mi0uMzhMNy43MSAxNS4xYy45Ny41NyAyLjA5LjkgMy4zLjkgMS42MSAwIDMuMDgtLjU5IDQuMjItMS41N2wuMjcuMjd2Ljc5bDUuMDEgNC45OUwyMiAxOWwtNC45OS01elwiLz48L3N2Zz4nLFxuICBmb2xkZXI6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0cHhcIj48cGF0aCBkPVwiTTE2MC0xNjBxLTMzIDAtNTYuNS0yMy41VDgwLTI0MHYtNDgwcTAtMzMgMjMuNS01Ni41VDE2MC04MDBoMjQwbDgwIDgwaDMyMHEzMyAwIDU2LjUgMjMuNVQ4ODAtNjQwdjQwMHEwIDMzLTIzLjUgNTYuNVQ4MDAtMTYwSDE2MFptMC04MGg2NDB2LTQwMEg0NDdsLTgwLTgwSDE2MHY0ODBabTAgMHYtNDgwIDQ4MFpcIi8+PC9zdmc+JyxcbiAgZ2xvYmU6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4elwiLz48L3N2Zz4nLFxuICBncm91cDpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjIwXCI+PHBhdGggZD1cIk05Ni0xOTJ2LTkycTAtMjYgMTIuNS00Ny41VDE0My0zNjZxNTQtMzIgMTE0LjUtNDlUMzg0LTQzMnE2NiAwIDEyNi41IDE3VDYyNS0zNjZxMjIgMTMgMzQuNSAzNC41VDY3Mi0yODR2OTJIOTZabTY0OCAwdi05MnEwLTQyLTE5LjUtNzhUNjcyLTQyMXEzOSA4IDc1LjUgMjEuNVQ4MTctMzY2cTIyIDEzIDM0LjUgMzQuNVQ4NjQtMjg0djkySDc0NFpNMzg0LTQ4MHEtNjAgMC0xMDItNDJ0LTQyLTEwMnEwLTYwIDQyLTEwMnQxMDItNDJxNjAgMCAxMDIgNDJ0NDIgMTAycTAgNjAtNDIgMTAydC0xMDIgNDJabTMzNi0xNDRxMCA2MC00MiAxMDJ0LTEwMiA0MnEtOCAwLTE1LS41dC0xNS0yLjVxMjUtMjkgMzkuNS02NC41VDYwMC02MjRxMC00MS0xNC41LTc2LjVUNTQ2LTc2NXE4LTIgMTUtMi41dDE1LS41cTYwIDAgMTAyIDQydDQyIDEwMlpcIi8+PC9zdmc+JyxcbiAgbm90aWZpY2F0aW9uOlxuICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRcIj48cGF0aCBkPVwiTTE2MC0yMDB2LTgwaDgwdi0yODBxMC04MyA1MC0xNDcuNVQ0MjAtNzkydi0yOHEwLTI1IDE3LjUtNDIuNVQ0ODAtODgwcTI1IDAgNDIuNSAxNy41VDU0MC04MjB2MjhxODAgMjAgMTMwIDg0LjVUNzIwLTU2MHYyODBoODB2ODBIMTYwWm0zMjAtMzAwWm0wIDQyMHEtMzMgMC01Ni41LTIzLjVUNDAwLTE2MGgxNjBxMCAzMy0yMy41IDU2LjVUNDgwLTgwWk0zMjAtMjgwaDMyMHYtMjgwcTAtNjYtNDctMTEzdC0xMTMtNDdxLTY2IDAtMTEzIDQ3dC00NyAxMTN2MjgwWlwiLz48L3N2Zz4nLFxuICBwaG9uZTpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiPjxwYXRoIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0yMC4wMSAxNS4zOGMtMS4yMyAwLTIuNDItLjItMy41My0uNTZhLjk3Ny45NzcgMCAwIDAtMS4wMS4yNGwtMS41NyAxLjk3Yy0yLjgzLTEuMzUtNS40OC0zLjktNi44OS02LjgzbDEuOTUtMS42NmMuMjctLjI4LjM1LS42Ny4yNC0xLjAyLS4zNy0xLjExLS41Ni0yLjMtLjU2LTMuNTMgMC0uNTQtLjQ1LS45OS0uOTktLjk5SDQuMTlDMy42NSAzIDMgMy4yNCAzIDMuOTkgMyAxMy4yOCAxMC43MyAyMSAyMC4wMSAyMWMuNzEgMCAuOTktLjYzLjk5LTEuMTh2LTMuNDVjMC0uNTQtLjQ1LS45OS0uOTktLjk5elwiLz48L3N2Zz4nLFxuICBwaW46ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiNlOGVhZWRcIj48cGF0aCBkPVwibTY0MC00ODAgODAgODB2ODBINTIwdjI0MGwtNDAgNDAtNDAtNDB2LTI0MEgyNDB2LTgwbDgwLTgwdi0yODBoLTQwdi04MGg0MDB2ODBoLTQwdjI4MFptLTI4NiA4MGgyNTJsLTQ2LTQ2di0zMTRINDAwdjMxNGwtNDYgNDZabTEyNiAwWlwiLz48L3N2Zz4nLFxuICByZWZyZXNoOlxuICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiNlOGVhZWRcIj48cGF0aCBkPVwiTTQ4MC0xNjBxLTEzNCAwLTIyNy05M3QtOTMtMjI3cTAtMTM0IDkzLTIyN3QyMjctOTNxNjkgMCAxMzIgMjguNVQ3MjAtNjkwdi0xMTBoODB2MjgwSDUyMHYtODBoMTY4cS0zMi01Ni04Ny41LTg4VDQ4MC03MjBxLTEwMCAwLTE3MCA3MHQtNzAgMTcwcTAgMTAwIDcwIDE3MHQxNzAgNzBxNzcgMCAxMzktNDR0ODctMTE2aDg0cS0yOCAxMDYtMTE0IDE3M3QtMTk2IDY3WlwiLz48L3N2Zz4nLFxuICBzZWFyY2g6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTE1LjUgMTRoLS43OWwtLjI4LS4yN0MxNS40MSAxMi41OSAxNiAxMS4xMSAxNiA5LjUgMTYgNS45MSAxMy4wOSAzIDkuNSAzUzMgNS45MSAzIDkuNSA1LjkxIDE2IDkuNSAxNmMxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDIwLjQ5IDE5bC00Ljk5LTV6bS02IDBDNy4wMSAxNCA1IDExLjk5IDUgOS41UzcuMDEgNSA5LjUgNSAxNCA3LjAxIDE0IDkuNSAxMS45OSAxNCA5LjUgMTR6XCIvPjwvc3ZnPicsXG4gIHNldHRpbmdzOlxuICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBlbmFibGUtYmFja2dyb3VuZD1cIm5ldyAwIDAgMjQgMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0XCI+PGc+PHBhdGggZD1cIk0wLDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTkuMTQsMTIuOTRjMC4wNC0wLjMsMC4wNi0wLjYxLDAuMDYtMC45NGMwLTAuMzItMC4wMi0wLjY0LTAuMDctMC45NGwyLjAzLTEuNThjMC4xOC0wLjE0LDAuMjMtMC40MSwwLjEyLTAuNjEgbC0xLjkyLTMuMzJjLTAuMTItMC4yMi0wLjM3LTAuMjktMC41OS0wLjIybC0yLjM5LDAuOTZjLTAuNS0wLjM4LTEuMDMtMC43LTEuNjItMC45NEwxNC40LDIuODFjLTAuMDQtMC4yNC0wLjI0LTAuNDEtMC40OC0wLjQxIGgtMy44NGMtMC4yNCwwLTAuNDMsMC4xNy0wLjQ3LDAuNDFMOS4yNSw1LjM1QzguNjYsNS41OSw4LjEyLDUuOTIsNy42Myw2LjI5TDUuMjQsNS4zM2MtMC4yMi0wLjA4LTAuNDcsMC0wLjU5LDAuMjJMMi43NCw4Ljg3IEMyLjYyLDkuMDgsMi42Niw5LjM0LDIuODYsOS40OGwyLjAzLDEuNThDNC44NCwxMS4zNiw0LjgsMTEuNjksNC44LDEyczAuMDIsMC42NCwwLjA3LDAuOTRsLTIuMDMsMS41OCBjLTAuMTgsMC4xNC0wLjIzLDAuNDEtMC4xMiwwLjYxbDEuOTIsMy4zMmMwLjEyLDAuMjIsMC4zNywwLjI5LDAuNTksMC4yMmwyLjM5LTAuOTZjMC41LDAuMzgsMS4wMywwLjcsMS42MiwwLjk0bDAuMzYsMi41NCBjMC4wNSwwLjI0LDAuMjQsMC40MSwwLjQ4LDAuNDFoMy44NGMwLjI0LDAsMC40NC0wLjE3LDAuNDctMC40MWwwLjM2LTIuNTRjMC41OS0wLjI0LDEuMTMtMC41NiwxLjYyLTAuOTRsMi4zOSwwLjk2IGMwLjIyLDAuMDgsMC40NywwLDAuNTktMC4yMmwxLjkyLTMuMzJjMC4xMi0wLjIyLDAuMDctMC40Ny0wLjEyLTAuNjFMMTkuMTQsMTIuOTR6IE0xMiwxNS42Yy0xLjk4LDAtMy42LTEuNjItMy42LTMuNiBzMS42Mi0zLjYsMy42LTMuNnMzLjYsMS42MiwzLjYsMy42UzEzLjk4LDE1LjYsMTIsMTUuNnpcIi8+PC9nPjwvc3ZnPicsXG4gIHN0YXI6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCIgd2lkdGg9XCIyNHB4XCI+PHBhdGggZD1cIm0zNTQtMjg3IDEyNi03NiAxMjYgNzctMzMtMTQ0IDExMS05Ni0xNDYtMTMtNTgtMTM2LTU4IDEzNS0xNDYgMTMgMTExIDk3LTMzIDE0M1pNMjMzLTEyMGw2NS0yODFMODAtNTkwbDI4OC0yNSAxMTItMjY1IDExMiAyNjUgMjg4IDI1LTIxOCAxODkgNjUgMjgxLTI0Ny0xNDktMjQ3IDE0OVptMjQ3LTM1MFpcIi8+PC9zdmc+JyxcbiAgc3RhckZpbGxlZDpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIiBzdHlsZT1cImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjQgMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIm01LjggMjEgMS42LTdMMiA5LjJsNy4yLS42TDEyIDJsMi44IDYuNiA3LjIuNi01LjQgNC44IDEuNiA3LTYuMi0zLjdMNS44IDIxelwiLz48L3N2Zz4nLFxuICB0cmFzaDpcbiAgICAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjZThlYWVkXCI+PHBhdGggZD1cIk0yODAtMTIwcS0zMyAwLTU2LjUtMjMuNVQyMDAtMjAwdi01MjBoLTQwdi04MGgyMDB2LTQwaDI0MHY0MGgyMDB2ODBoLTQwdjUyMHEwIDMzLTIzLjUgNTYuNVQ2ODAtMTIwSDI4MFptNDAwLTYwMEgyODB2NTIwaDQwMHYtNTIwWk0zNjAtMjgwaDgwdi0zNjBoLTgwdjM2MFptMTYwIDBoODB2LTM2MGgtODB2MzYwWk0yODAtNzIwdjUyMC01MjBaXCIvPjwvc3ZnPicsXG4gIHVzZXI6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiIHdpZHRoPVwiMjBcIj48cGF0aCBkPVwiTTQ4MC00ODBxLTYwIDAtMTAyLTQydC00Mi0xMDJxMC02MCA0Mi0xMDJ0MTAyLTQycTYwIDAgMTAyIDQydDQyIDEwMnEwIDYwLTQyIDEwMnQtMTAyIDQyWk0xOTItMTkydi05NnEwLTIzIDEyLjUtNDMuNVQyMzktMzY2cTU1LTMyIDExNi41LTQ5VDQ4MC00MzJxNjMgMCAxMjQuNSAxN1Q3MjEtMzY2cTIyIDEzIDM0LjUgMzR0MTIuNSA0NHY5NkgxOTJaXCIvPjwvc3ZnPicsXG4gIHdhcm5pbmc6XG4gICAgJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAtOTYwIDk2MCA5NjBcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI2U4ZWFlZFwiPjxwYXRoIGQ9XCJtNDAtMTIwIDQ0MC03NjAgNDQwIDc2MEg0MFptMTM4LTgwaDYwNEw0ODAtNzIwIDE3OC0yMDBabTMwMi00MHExNyAwIDI4LjUtMTEuNVQ1MjAtMjgwcTAtMTctMTEuNS0yOC41VDQ4MC0zMjBxLTE3IDAtMjguNSAxMS41VDQ0MC0yODBxMCAxNyAxMS41IDI4LjVUNDgwLTI0MFptLTQwLTEyMGg4MHYtMjAwaC04MHYyMDBabTQwLTEwMFpcIi8+PC9zdmc+JyxcbiAgaW5mbzogJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjNWY2MzY4XCIgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCI+PHBhdGggZD1cIk00NDAtMjgwaDgwdi0yNDBoLTgwdjI0MFptNDAtMzIwcTE3IDAgMjguNS0xMS41VDUyMC02NDBxMC0xNy0xMS41LTI4LjVUNDgwLTY4MHEtMTcgMC0yOC41IDExLjVUNDQwLTY0MHEwIDE3IDExLjUgMjguNVQ0ODAtNjAwWm0wIDUyMHEtODMgMC0xNTYtMzEuNVQxOTctMTk3cS01NC01NC04NS41LTEyN1Q4MC00ODBxMC04MyAzMS41LTE1NlQxOTctNzYzcTU0LTU0IDEyNy04NS41VDQ4MC04ODBxODMgMCAxNTYgMzEuNVQ3NjMtNzYzcTU0IDU0IDg1LjUgMTI3VDg4MC00ODBxMCA4My0zMS41IDE1NlQ3NjMtMTk3cS01NCA1NC0xMjcgODUuNVQ0ODAtODBabTAtODBxMTM0IDAgMjI3LTkzdDkzLTIyN3EwLTEzNC05My0yMjd0LTIyNy05M3EtMTM0IDAtMjI3IDkzdC05MyAyMjdxMCAxMzQgOTMgMjI3dDIyNyA5M1ptMC0zMjBaXCIvPjwvc3ZnPicsXG4gIG1vcmU6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiIzVmNjM2OFwiIHZpZXdCb3g9XCIwIC05NjAgOTYwIDk2MFwiPjxwYXRoIGQ9XCJNNDgwLTE2MHEtMzMgMC01Ni41LTIzLjVUNDAwLTI0MHEwLTMzIDIzLjUtNTYuNVQ0ODAtMzIwcTMzIDAgNTYuNSAyMy41VDU2MC0yNDBxMCAzMy0yMy41IDU2LjVUNDgwLTE2MFptMC0yNDBxLTMzIDAtNTYuNS0yMy41VDQwMC00ODBxMC0zMyAyMy41LTU2LjVUNDgwLTU2MHEzMyAwIDU2LjUgMjMuNVQ1NjAtNDgwcTAgMzMtMjMuNSA1Ni41VDQ4MC00MDBabTAtMjQwcS0zMyAwLTU2LjUtMjMuNVQ0MDAtNzIwcTAtMzMgMjMuNS01Ni41VDQ4MC04MDBxMzMgMCA1Ni41IDIzLjVUNTYwLTcyMHEwIDMzLTIzLjUgNTYuNVQ0ODAtNjQwWlwiLz48L3N2Zz4nXG59O1xuIl19
|
|
@@ -38,6 +38,7 @@ export class ListComponent {
|
|
|
38
38
|
});
|
|
39
39
|
this._selection = [];
|
|
40
40
|
this.multiselect = input(false);
|
|
41
|
+
this.selfHandleSelection = input(false);
|
|
41
42
|
this.itemSelect = output();
|
|
42
43
|
this.itemFocus = output();
|
|
43
44
|
// autoselectFirst: boolean = (inject(new HostAttributeToken('autoselectFirst'), { optional: true }) || 'false') === 'true';
|
|
@@ -118,16 +119,17 @@ export class ListComponent {
|
|
|
118
119
|
this._keyManager?.destroy();
|
|
119
120
|
}
|
|
120
121
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
121
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: ListComponent, isStandalone: true, selector: "yuv-list", inputs: { multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, disableSelection: { classPropertyName: "disableSelection", publicName: "disableSelection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelect: "itemSelect", itemFocus: "itemFocus" }, host: { attributes: { "role": "listbox", "tabindex": "0" }, listeners: { "keydown": "onKeydown($event)" } }, queries: [{ propertyName: "items", predicate: ListItemDirective, isSignal: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["yuv-list{--_list-item-border-color: var(--list-item-border-color, var(--panel-divider-color));--_list-item-selected-background: var(--list-item-selected-background, var(--item-selected-background-color));--_list-item-selected-border-color: var(--list-item-selected-border-color, var(--color-accent));--_list-item-current-background: var(--list-item-current-background, var(--item-focus-background-color));--_list-item-current-border-color: var(--list-item-current-border-color, var(--panel-divider-color));display:block;max-height:100%;overflow-y:auto}yuv-list [yuvListItem][aria-current=true]{background-color:var(--_list-item-current-background);border-color:var(--_list-item-current-border-color)}yuv-list [yuvListItem][aria-selected=true]{background-color:var(--_list-item-selected-background);border-color:var(--_list-item-selected-border-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: A11yModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
122
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: ListComponent, isStandalone: true, selector: "yuv-list", inputs: { multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, selfHandleSelection: { classPropertyName: "selfHandleSelection", publicName: "selfHandleSelection", isSignal: true, isRequired: false, transformFunction: null }, disableSelection: { classPropertyName: "disableSelection", publicName: "disableSelection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemSelect: "itemSelect", itemFocus: "itemFocus" }, host: { attributes: { "role": "listbox", "tabindex": "0" }, listeners: { "keydown": "onKeydown($event)" }, properties: { "class.self-handle-selection": "selfHandleSelection()" } }, queries: [{ propertyName: "items", predicate: ListItemDirective, isSignal: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["yuv-list{--_list-item-border-color: var(--list-item-border-color, var(--panel-divider-color));--_list-item-selected-background: var(--list-item-selected-background, var(--item-selected-background-color));--_list-item-selected-border-color: var(--list-item-selected-border-color, var(--color-accent));--_list-item-current-background: var(--list-item-current-background, var(--item-focus-background-color));--_list-item-current-border-color: var(--list-item-current-border-color, var(--panel-divider-color));display:block;max-height:100%;overflow-y:auto}yuv-list :not(.self-handle-selection) [yuvListItem][aria-current=true]{background-color:var(--_list-item-current-background);border-color:var(--_list-item-current-border-color)}yuv-list :not(.self-handle-selection) [yuvListItem][aria-selected=true]{background-color:var(--_list-item-selected-background);border-color:var(--_list-item-selected-border-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: A11yModule }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
122
123
|
}
|
|
123
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ListComponent, decorators: [{
|
|
124
125
|
type: Component,
|
|
125
126
|
args: [{ selector: 'yuv-list', standalone: true, imports: [CommonModule, A11yModule], template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, host: {
|
|
126
127
|
role: 'listbox',
|
|
127
|
-
tabindex: '0'
|
|
128
|
-
|
|
128
|
+
tabindex: '0',
|
|
129
|
+
'[class.self-handle-selection]': 'selfHandleSelection()',
|
|
130
|
+
}, styles: ["yuv-list{--_list-item-border-color: var(--list-item-border-color, var(--panel-divider-color));--_list-item-selected-background: var(--list-item-selected-background, var(--item-selected-background-color));--_list-item-selected-border-color: var(--list-item-selected-border-color, var(--color-accent));--_list-item-current-background: var(--list-item-current-background, var(--item-focus-background-color));--_list-item-current-border-color: var(--list-item-current-border-color, var(--panel-divider-color));display:block;max-height:100%;overflow-y:auto}yuv-list :not(.self-handle-selection) [yuvListItem][aria-current=true]{background-color:var(--_list-item-current-background);border-color:var(--_list-item-current-border-color)}yuv-list :not(.self-handle-selection) [yuvListItem][aria-selected=true]{background-color:var(--_list-item-selected-background);border-color:var(--_list-item-selected-border-color)}\n"] }]
|
|
129
131
|
}], propDecorators: { onKeydown: [{
|
|
130
132
|
type: HostListener,
|
|
131
133
|
args: ['keydown', ['$event']]
|
|
132
134
|
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2xpc3Qvc3JjL2xpYi9saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBYSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUxRDs7Ozs7Ozs7Ozs7R0FXRztBQWFILE1BQU0sT0FBTyxhQUFhO0lBWjFCO1FBYUUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQWU5QixVQUFLLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0MsaUJBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVO2dCQUNoQyxDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDcEcsQ0FBQyxDQUFDLElB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NEZBU3ZCLGFBQWE7a0JBWnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsWUFDekIsMkJBQTJCLGlCQUV0QixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLElBQUksRUFBRSxTQUFTO3dCQUNmLFFBQVEsRUFBRSxHQUFHO3FCQUNkOzhCQUtvQyxTQUFTO3NCQUE3QyxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEExMXlNb2R1bGUsIEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QXR0cmlidXRlVG9rZW4sIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiwgY29udGVudENoaWxkcmVuLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2xpc3QtaXRlbS5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIENvbXBvbmVudCByZW5kZXJpbmcgYSBzaW1wbGUgbGlzdCBvZiBpdGVtcy4gSXQgc3VwcG9ydHMga2V5Ym9hcmRcbiAqIG5hdmlnYXRpb24gYXMgd2VsbCBhcyBhY2Nlc3NhYmlsaXR5LiBUbyBjcmVhdGUgYSBsaXN0IGp1c3Qgd3JhcHBcbiAqIGB5dXZMaXN0SXRlbWAgZWxlbWVudHMgaW50byB0aGlzIGNvbXBvbmVudDpcbiAqXG4gKiBgYGB0c1xuICogPHl1di1saXN0IChpdGVtU2VsZWN0KT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQpXCI+XG4gKiAgIDxkaXYgeXV2TGlzdEl0ZW0+RW50cnkgIzE8L2Rpdj5cbiAqICAgPGRpdiB5dXZMaXN0SXRlbT5FbnRyeSAjMjwvZGl2PlxuICogPC95dXYtbGlzdD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd5dXYtbGlzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEExMXlNb2R1bGVdLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybDogJy4vbGlzdC5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnbGlzdGJveCcsXG4gICAgdGFiaW5kZXg6ICcwJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAjZGlyID0gaW5qZWN0KERpcmVjdGlvbmFsaXR5KTtcblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZVNlbGVjdGlvbigpKSByZXR1cm47XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxuICAgIGlmIChldmVudC5jb2RlID09PSAnU3BhY2UnIHx8ICh0aGlzLnNlbGVjdE9uRW50ZXIgJiYgZXZlbnQuY29kZSA9PT0gJ0VudGVyJykpIHtcbiAgICAgIGNvbnN0IGFpaTogbnVtYmVyID0gdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggIT09IG51bGwgPyB0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCA6IC0xO1xuICAgICAgaWYgKGFpaSA+PSAwKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdChhaWkpO1xuICAgICAgICB0aGlzLl9lbWl0U2VsZWN0aW9uKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHRoaXMuX2tleU1hbmFnZXI/Lm9uS2V5ZG93bihldmVudCk7XG4gIH1cbiAgaXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oTGlzdEl0ZW1EaXJlY3RpdmUpO1xuICAjaXRlbXNFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyKSB0aGlzLl9rZXlNYW5hZ2VyLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9rZXlNYW5hZ2VyID0gdGhpcy5ob3Jpem9udGFsXG4gICAgICA/IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcih0aGlzLml0ZW1zKCkpLndpdGhXcmFwKCkud2l0aEhvcml6b250YWxPcmllbnRhdGlvbih0aGlzLiNkaXIudmFsdWUpXG4gICAgICA6IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcih0aGlzLml0ZW1zKCkpLndpdGhXcmFwKCk7XG5cbiAgICB0aGlzLml0ZW1zKCkuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGl0ZW0ub25DbGljayA9IChldnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3QoaW5kZXgsIGV2dC5zaGlmdEtleSwgZXZ0LmN0cmxLZXkpO1xuICAgICAgfTtcbiAgICAgIGl0ZW0uYWN0aXZlID0gZmFsc2U7XG4gICAgfSk7XG4gICAgaWYgKHRoaXMuX2xhc3RTZWxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9sYXN0U2VsZWN0aW9uIDw9IHRoaXMuaXRlbXMoKS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VsZWN0KHRoaXMuX2xhc3RTZWxlY3Rpb24pO1xuICAgIH1cbiAgfSk7XG4gIHByaXZhdGUgX2tleU1hbmFnZXIhOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxMaXN0SXRlbURpcmVjdGl2ZT47XG4gIHByaXZhdGUgX3NlbGVjdGlvbjogbnVtYmVyW10gPSBbXTtcbiAgcHJpdmF0ZSBfbGFzdFNlbGVjdGlvbj86IG51bWJlcjtcblxuICBtdWx0aXNlbGVjdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBpdGVtU2VsZWN0ID0gb3V0cHV0PG51bWJlcltdPigpO1xuICBpdGVtRm9jdXMgPSBvdXRwdXQ8bnVtYmVyPigpO1xuXG4gIC8vIGF1dG9zZWxlY3RGaXJzdDogYm9vbGVhbiA9IChpbmplY3QobmV3IEhvc3RBdHRyaWJ1dGVUb2tlbignYXV0b3NlbGVjdEZpcnN0JyksIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgJ2ZhbHNlJykgPT09ICd0cnVlJztcbiAgc2VsZWN0T25FbnRlcjogYm9vbGVhbiA9IChpbmplY3QobmV3IEhvc3RBdHRyaWJ1dGVUb2tlbignc2VsZWN0T25FbnRlcicpLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8ICdmYWxzZScpID09PSAndHJ1ZSc7XG4gIGhvcml6b250YWw6IGJvb2xlYW4gPSAoaW5qZWN0KG5ldyBIb3N0QXR0cmlidXRlVG9rZW4oJ2hvcml6b250YWwnKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCAnZmFsc2UnKSA9PT0gJ3RydWUnO1xuICBkaXNhYmxlU2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHNlbGVjdChpbmRleDogbnVtYmVyLCBzaGlmdEtleSA9IGZhbHNlLCBjdHJsS2V5ID0gZmFsc2UpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlU2VsZWN0aW9uKCkpIHJldHVybjtcbiAgICBpZiAodGhpcy5fa2V5TWFuYWdlcikge1xuICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGluZGV4KTtcbiAgICB9XG4gICAgdGhpcy5fc2VsZWN0KGluZGV4LCBzaGlmdEtleSwgY3RybEtleSk7XG4gICAgdGhpcy5fZW1pdFNlbGVjdGlvbigpO1xuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGlvbi5sZW5ndGggIT09IDApIHtcbiAgICAgIHRoaXMuX3NlbGVjdCgtMSk7XG4gICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oLTEpO1xuICAgICAgdGhpcy5fZW1pdFNlbGVjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NlbGVjdChpbmRleDogbnVtYmVyLCBzaGlmdEtleSA9IGZhbHNlLCBjdHJsS2V5ID0gZmFsc2UpIHtcbiAgICBpZiAoaW5kZXggPT09IC0xKSB0aGlzLl9zZWxlY3Rpb24gPSBbXTtcbiAgICBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KCkpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uID0gdGhpcy5fc2VsZWN0aW9uLmZpbHRlcigoaSkgPT4gaSAhPT0gaW5kZXgpO1xuICAgICAgICBpZiAoY3RybEtleSkge1xuICAgICAgICAgIC8vIGlmIGN0cmwga2V5IGFkZCB0byBzZWxlY3Rpb25cbiAgICAgICAgICB0aGlzLl9zZWxlY3Rpb24ucHVzaChpbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoc2hpZnRLZXkpIHtcbiAgICAgICAgICAvLyBhZGQgcmFuZ2VcbiAgICAgICAgICBpZiAodGhpcy5fbGFzdFNlbGVjdGlvbikge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuX2xhc3RTZWxlY3Rpb24gPCBpbmRleCA/IHRoaXMuX2xhc3RTZWxlY3Rpb24gOiBpbmRleDsgaSA8ICh0aGlzLl9sYXN0U2VsZWN0aW9uID4gaW5kZXggPyB0aGlzLl9sYXN0U2VsZWN0aW9uIDogaW5kZXgpOyBpKyspIHtcbiAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uLnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbiA9IFtpbmRleF07XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbiA9IFtpbmRleF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB0aGlzLl9zZWxlY3Rpb24gPSBbaW5kZXhdO1xuICAgIH1cbiAgICB0aGlzLl9sYXN0U2VsZWN0aW9uID0gdGhpcy5fc2VsZWN0aW9uLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IGluZGV4O1xuICAgIHRoaXMuX3NlbGVjdGlvbi5zb3J0KCk7XG5cbiAgICB0aGlzLml0ZW1zKCkuZm9yRWFjaCgoaXRlbTogTGlzdEl0ZW1EaXJlY3RpdmUsIGk6IG51bWJlcikgPT4gKGl0ZW0uc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3Rpb24uaW5jbHVkZXMoaSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5pdGVtU2VsZWN0LmVtaXQodGhpcy5fc2VsZWN0aW9uKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2tleU1hbmFnZXI/LmRlc3Ryb3koKTtcbiAgfVxufVxuIl19
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2xpc3Qvc3JjL2xpYi9saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBYSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUxRDs7Ozs7Ozs7Ozs7R0FXRztBQWNILE1BQU0sT0FBTyxhQUFhO0lBYjFCO1FBY0UsU0FBSSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQWU5QixVQUFLLEdBQUcsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0MsaUJBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVc7Z0JBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVO2dCQUNoQyxDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDcEcsQ0FBQyxDQUFDLElB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QWlCLDZDQXpCL0IsMkJBQTJCLHc5QkFEM0IsWUFBWSw4QkFBRSxVQUFVOzs0RkFVdkIsYUFBYTtrQkFiekIsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxZQUN6QiwyQkFBMkIsaUJBRXRCLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osSUFBSSxFQUFFLFNBQVM7d0JBQ2YsUUFBUSxFQUFFLEdBQUc7d0JBQ2IsK0JBQStCLEVBQUUsdUJBQXVCO3FCQUN6RDs4QkFLb0MsU0FBUztzQkFBN0MsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlLCBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEF0dHJpYnV0ZVRva2VuLCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgVmlld0VuY2Fwc3VsYXRpb24sIGNvbnRlbnRDaGlsZHJlbiwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0LWl0ZW0uZGlyZWN0aXZlJztcblxuLyoqXG4gKiBDb21wb25lbnQgcmVuZGVyaW5nIGEgc2ltcGxlIGxpc3Qgb2YgaXRlbXMuIEl0IHN1cHBvcnRzIGtleWJvYXJkXG4gKiBuYXZpZ2F0aW9uIGFzIHdlbGwgYXMgYWNjZXNzYWJpbGl0eS4gVG8gY3JlYXRlIGEgbGlzdCBqdXN0IHdyYXBwXG4gKiBgeXV2TGlzdEl0ZW1gIGVsZW1lbnRzIGludG8gdGhpcyBjb21wb25lbnQ6XG4gKlxuICogYGBgdHNcbiAqIDx5dXYtbGlzdCAoaXRlbVNlbGVjdCk9XCJpdGVtU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICogICA8ZGl2IHl1dkxpc3RJdGVtPkVudHJ5ICMxPC9kaXY+XG4gKiAgIDxkaXYgeXV2TGlzdEl0ZW0+RW50cnkgIzI8L2Rpdj5cbiAqIDwveXV2LWxpc3Q+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LWxpc3QnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBMTF5TW9kdWxlXSxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3R5bGVVcmw6ICcuL2xpc3QuY29tcG9uZW50LnNjc3MnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2xpc3Rib3gnLFxuICAgIHRhYmluZGV4OiAnMCcsXG4gICAgJ1tjbGFzcy5zZWxmLWhhbmRsZS1zZWxlY3Rpb25dJzogJ3NlbGZIYW5kbGVTZWxlY3Rpb24oKScsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICNkaXIgPSBpbmplY3QoRGlyZWN0aW9uYWxpdHkpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKSBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlU2VsZWN0aW9uKCkpIHJldHVybjtcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmNvZGUgPT09ICdTcGFjZScgfHwgKHRoaXMuc2VsZWN0T25FbnRlciAmJiBldmVudC5jb2RlID09PSAnRW50ZXInKSkge1xuICAgICAgY29uc3QgYWlpOiBudW1iZXIgPSB0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCAhPT0gbnVsbCA/IHRoaXMuX2tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4IDogLTE7XG4gICAgICBpZiAoYWlpID49IDApIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0KGFpaSk7XG4gICAgICAgIHRoaXMuX2VtaXRTZWxlY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgdGhpcy5fa2V5TWFuYWdlcj8ub25LZXlkb3duKGV2ZW50KTtcbiAgfVxuICBpdGVtcyA9IGNvbnRlbnRDaGlsZHJlbihMaXN0SXRlbURpcmVjdGl2ZSk7XG4gICNpdGVtc0VmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuX2tleU1hbmFnZXIpIHRoaXMuX2tleU1hbmFnZXIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2tleU1hbmFnZXIgPSB0aGlzLmhvcml6b250YWxcbiAgICAgID8gbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyKHRoaXMuaXRlbXMoKSkud2l0aFdyYXAoKS53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuI2Rpci52YWx1ZSlcbiAgICAgIDogbmV3IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyKHRoaXMuaXRlbXMoKSkud2l0aFdyYXAoKTtcblxuICAgIHRoaXMuaXRlbXMoKS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgaXRlbS5vbkNsaWNrID0gKGV2dDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdChpbmRleCwgZXZ0LnNoaWZ0S2V5LCBldnQuY3RybEtleSk7XG4gICAgICB9O1xuICAgICAgaXRlbS5hY3RpdmUgPSBmYWxzZTtcbiAgICB9KTtcbiAgICBpZiAodGhpcy5fbGFzdFNlbGVjdGlvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX2xhc3RTZWxlY3Rpb24gPD0gdGhpcy5pdGVtcygpLmxlbmd0aCkge1xuICAgICAgdGhpcy5zZWxlY3QodGhpcy5fbGFzdFNlbGVjdGlvbik7XG4gICAgfVxuICB9KTtcbiAgcHJpdmF0ZSBfa2V5TWFuYWdlciE6IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPExpc3RJdGVtRGlyZWN0aXZlPjtcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uOiBudW1iZXJbXSA9IFtdO1xuICBwcml2YXRlIF9sYXN0U2VsZWN0aW9uPzogbnVtYmVyO1xuXG4gIG11bHRpc2VsZWN0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBzZWxmSGFuZGxlU2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGl0ZW1TZWxlY3QgPSBvdXRwdXQ8bnVtYmVyW10+KCk7XG4gIGl0ZW1Gb2N1cyA9IG91dHB1dDxudW1iZXI+KCk7XG5cbiAgLy8gYXV0b3NlbGVjdEZpcnN0OiBib29sZWFuID0gKGluamVjdChuZXcgSG9zdEF0dHJpYnV0ZVRva2VuKCdhdXRvc2VsZWN0Rmlyc3QnKSwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCAnZmFsc2UnKSA9PT0gJ3RydWUnO1xuICBzZWxlY3RPbkVudGVyOiBib29sZWFuID0gKGluamVjdChuZXcgSG9zdEF0dHJpYnV0ZVRva2VuKCdzZWxlY3RPbkVudGVyJyksIHsgb3B0aW9uYWw6IHRydWUgfSkgfHwgJ2ZhbHNlJykgPT09ICd0cnVlJztcbiAgaG9yaXpvbnRhbDogYm9vbGVhbiA9IChpbmplY3QobmV3IEhvc3RBdHRyaWJ1dGVUb2tlbignaG9yaXpvbnRhbCcpLCB7IG9wdGlvbmFsOiB0cnVlIH0pIHx8ICdmYWxzZScpID09PSAndHJ1ZSc7XG4gIGRpc2FibGVTZWxlY3Rpb24gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbiAgc2VsZWN0KGluZGV4OiBudW1iZXIsIHNoaWZ0S2V5ID0gZmFsc2UsIGN0cmxLZXkgPSBmYWxzZSkge1xuICAgIGlmICh0aGlzLmRpc2FibGVTZWxlY3Rpb24oKSkgcmV0dXJuO1xuICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyKSB7XG4gICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oaW5kZXgpO1xuICAgIH1cbiAgICB0aGlzLl9zZWxlY3QoaW5kZXgsIHNoaWZ0S2V5LCBjdHJsS2V5KTtcbiAgICB0aGlzLl9lbWl0U2VsZWN0aW9uKCk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0aW9uLmxlbmd0aCAhPT0gMCkge1xuICAgICAgdGhpcy5fc2VsZWN0KC0xKTtcbiAgICAgIHRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgtMSk7XG4gICAgICB0aGlzLl9lbWl0U2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2VsZWN0KGluZGV4OiBudW1iZXIsIHNoaWZ0S2V5ID0gZmFsc2UsIGN0cmxLZXkgPSBmYWxzZSkge1xuICAgIGlmIChpbmRleCA9PT0gLTEpIHRoaXMuX3NlbGVjdGlvbiA9IFtdO1xuICAgIGVsc2Uge1xuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QoKSkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb24gPSB0aGlzLl9zZWxlY3Rpb24uZmlsdGVyKChpKSA9PiBpICE9PSBpbmRleCk7XG4gICAgICAgIGlmIChjdHJsS2V5KSB7XG4gICAgICAgICAgLy8gaWYgY3RybCBrZXkgYWRkIHRvIHNlbGVjdGlvblxuICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbi5wdXNoKGluZGV4KTtcbiAgICAgICAgfSBlbHNlIGlmIChzaGlmdEtleSkge1xuICAgICAgICAgIC8vIGFkZCByYW5nZVxuICAgICAgICAgIGlmICh0aGlzLl9sYXN0U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5fbGFzdFNlbGVjdGlvbiA8IGluZGV4ID8gdGhpcy5fbGFzdFNlbGVjdGlvbiA6IGluZGV4OyBpIDwgKHRoaXMuX2xhc3RTZWxlY3Rpb24gPiBpbmRleCA/IHRoaXMuX2xhc3RTZWxlY3Rpb24gOiBpbmRleCk7IGkrKykge1xuICAgICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb24ucHVzaChpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uID0gW2luZGV4XTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fc2VsZWN0aW9uID0gW2luZGV4XTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHRoaXMuX3NlbGVjdGlvbiA9IFtpbmRleF07XG4gICAgfVxuICAgIHRoaXMuX2xhc3RTZWxlY3Rpb24gPSB0aGlzLl9zZWxlY3Rpb24ubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogaW5kZXg7XG4gICAgdGhpcy5fc2VsZWN0aW9uLnNvcnQoKTtcblxuICAgIHRoaXMuaXRlbXMoKS5mb3JFYWNoKChpdGVtOiBMaXN0SXRlbURpcmVjdGl2ZSwgaTogbnVtYmVyKSA9PiAoaXRlbS5zZWxlY3RlZCA9IHRoaXMuX3NlbGVjdGlvbi5pbmNsdWRlcyhpKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdFNlbGVjdGlvbigpIHtcbiAgICB0aGlzLml0ZW1TZWxlY3QuZW1pdCh0aGlzLl9zZWxlY3Rpb24pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fa2V5TWFuYWdlcj8uZGVzdHJveSgpO1xuICB9XG59XG4iXX0=
|