@energinet/watt 4.0.21 → 4.0.22
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/core/styles/@energinet-datahub/watt/_index.scss +7 -0
- package/core/styles/@energinet-datahub/watt/theme/material-overwrites/_expansion-panel.scss +21 -0
- package/core/styles/_radius.scss +19 -0
- package/core/styles/_transitions.scss +31 -0
- package/core/styles/_variables.scss +2 -1
- package/core/styles/typography/_typography.import.scss +0 -1
- package/empty-state/icons/not-found.d.ts +5 -0
- package/empty-state/index.d.ts +1 -0
- package/esm2022/badge/watt-badge.component.js +2 -2
- package/esm2022/card/watt-card.component.js +4 -4
- package/esm2022/chip/watt-date-chip.component.js +2 -2
- package/esm2022/chip/watt-date-range-chip.component.js +2 -2
- package/esm2022/data/watt-data-table.component.js +2 -2
- package/esm2022/datetime-field/watt-datetime-field.component.js +1 -1
- package/esm2022/dropdown/watt-dropdown.component.js +2 -2
- package/esm2022/dropzone/watt-dropzone.js +2 -2
- package/esm2022/empty-state/icons/not-found.js +54 -0
- package/esm2022/empty-state/index.js +2 -1
- package/esm2022/empty-state/watt-empty-state.component.js +3 -3
- package/esm2022/field/watt-field.component.js +28 -9
- package/esm2022/file-field/watt-file-field.component.js +1 -1
- package/esm2022/phone-field/watt-phone-field.component.js +2 -2
- package/esm2022/picker/datepicker/watt-datepicker.component.js +2 -2
- package/esm2022/picker/timepicker/watt-timepicker.component.js +2 -2
- package/esm2022/shell/nav-list/watt-nav-list.component.js +3 -3
- package/esm2022/table/watt-table.component.js +3 -3
- package/esm2022/text-field/watt-text-field.component.js +12 -10
- package/esm2022/textarea-field/watt-textarea-field.component.js +1 -1
- package/esm2022/validation-message/watt-validation-message.component.js +3 -3
- package/esm2022/year-field/watt-year-field.component.js +1 -1
- package/esm2022/yearmonth-field/watt-yearmonth-field.component.js +1 -1
- package/field/watt-field.component.d.ts +9 -1
- package/package.json +1 -5
- package/text-field/watt-text-field.component.d.ts +7 -4
- package/esm2022/expansion/energinet-watt-expansion.js +0 -5
- package/esm2022/expansion/expansion.component.js +0 -52
- package/esm2022/expansion/index.js +0 -20
- package/expansion/energinet-watt-expansion.d.ts +0 -5
- package/expansion/expansion.component.d.ts +0 -18
- package/expansion/index.d.ts +0 -17
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
//#endregion
|
|
19
|
-
import { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation, computed, inject, input, signal, viewChild, } from '@angular/core';
|
|
19
|
+
import { ChangeDetectionStrategy, Component, ElementRef, ViewEncapsulation, computed, effect, inject, input, signal, viewChild, } from '@angular/core';
|
|
20
20
|
import { Validators } from '@angular/forms';
|
|
21
21
|
import { filter, map, startWith, switchMap, tap } from 'rxjs/operators';
|
|
22
22
|
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
@@ -38,6 +38,13 @@ export class WattFieldComponent {
|
|
|
38
38
|
tooltip = input(...(ngDevMode ? [undefined, { debugName: "tooltip" }] : []));
|
|
39
39
|
placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
40
40
|
anchorName = input(...(ngDevMode ? [undefined, { debugName: "anchorName" }] : []));
|
|
41
|
+
/**
|
|
42
|
+
* Whether the input should receive focus when the component is rendered.
|
|
43
|
+
*/
|
|
44
|
+
autoFocus = input(false, ...(ngDevMode ? [{ debugName: "autoFocus" }] : []));
|
|
45
|
+
/** @ignore */
|
|
46
|
+
labelElement = viewChild.required('label');
|
|
47
|
+
wattLabelElement = viewChild.required('wattLabel');
|
|
41
48
|
value = signal('', ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
42
49
|
filler = computed(() => this.placeholder().slice(this.value().length), ...(ngDevMode ? [{ debugName: "filler" }] : []));
|
|
43
50
|
ghost = computed(() => this.value().slice(0, this.placeholder().length), ...(ngDevMode ? [{ debugName: "ghost" }] : []));
|
|
@@ -45,6 +52,7 @@ export class WattFieldComponent {
|
|
|
45
52
|
errors = signal(null, ...(ngDevMode ? [{ debugName: "errors" }] : []));
|
|
46
53
|
isRequired = signal(false, ...(ngDevMode ? [{ debugName: "isRequired" }] : []));
|
|
47
54
|
isEmpty = computed(() => this.errors()?.['required'] || this.errors()?.['rangeRequired'], ...(ngDevMode ? [{ debugName: "isEmpty" }] : []));
|
|
55
|
+
showErrors = input(true, ...(ngDevMode ? [{ debugName: "showErrors" }] : []));
|
|
48
56
|
// Used for text fields with autocomplete
|
|
49
57
|
wrapper = viewChild('wrapper', ...(ngDevMode ? [{ debugName: "wrapper" }] : []));
|
|
50
58
|
constructor() {
|
|
@@ -56,19 +64,29 @@ export class WattFieldComponent {
|
|
|
56
64
|
// Subscribe for side effects
|
|
57
65
|
value$.subscribe();
|
|
58
66
|
status$.subscribe();
|
|
67
|
+
effect(() => {
|
|
68
|
+
if (this.autoFocus()) {
|
|
69
|
+
if (this.chipMode()) {
|
|
70
|
+
this.wattLabelElement().nativeElement.focus();
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.labelElement().nativeElement.focus();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
59
77
|
}
|
|
60
78
|
isRequiredControl(control) {
|
|
61
79
|
const validators = [Validators.required, WattRangeValidators.required];
|
|
62
80
|
return validators.some((validator) => control.hasValidator(validator));
|
|
63
81
|
}
|
|
64
82
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: WattFieldComponent, isStandalone: true, selector: "watt-field", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, chipMode: { classPropertyName: "chipMode", publicName: "chipMode", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, anchorName: { classPropertyName: "anchorName", publicName: "anchorName", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.watt-field--chip": "chipMode()", "class.watt-field--unlabelled": "unlabelled()", "class.watt-field--disabled": "control()?.disabled" } }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
83
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: WattFieldComponent, isStandalone: true, selector: "watt-field", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, chipMode: { classPropertyName: "chipMode", publicName: "chipMode", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, anchorName: { classPropertyName: "anchorName", publicName: "anchorName", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null }, showErrors: { classPropertyName: "showErrors", publicName: "showErrors", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.watt-field--chip": "chipMode()", "class.watt-field--unlabelled": "unlabelled()", "class.watt-field--disabled": "control()?.disabled", "class.watt-field--show-errors": "showErrors()" } }, viewQueries: [{ propertyName: "labelElement", first: true, predicate: ["label"], descendants: true, isSignal: true }, { propertyName: "wattLabelElement", first: true, predicate: ["wattLabel"], descendants: true, isSignal: true }, { propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
66
84
|
@if (chipMode()) {
|
|
67
|
-
<span class="watt-label">
|
|
85
|
+
<span [attr.autofocus]="autoFocus() || null" class="watt-label" #wattLabel>
|
|
68
86
|
<ng-container *ngTemplateOutlet="template" />
|
|
69
87
|
</span>
|
|
70
88
|
} @else {
|
|
71
|
-
<label [attr.for]="id()">
|
|
89
|
+
<label [attr.autofocus]="autoFocus() || null" [attr.for]="id()" #label>
|
|
72
90
|
<ng-container *ngTemplateOutlet="template" />
|
|
73
91
|
</label>
|
|
74
92
|
}
|
|
@@ -109,7 +127,7 @@ export class WattFieldComponent {
|
|
|
109
127
|
<watt-field-error>{{ intl.required }}</watt-field-error>
|
|
110
128
|
}
|
|
111
129
|
</ng-template>
|
|
112
|
-
`, isInline: true, styles: ["[watt-field-disabled=true] watt-field .label,.watt-field--disabled .label{color:var(--watt-disabled-text-label-color)}[watt-field-disabled=true] .watt-field-wrapper,.watt-field--disabled .watt-field-wrapper{background-color:var(--watt-field-disabled-background-color)}watt-field watt-field-hint{display:block}watt-field :is(watt-field-error,watt-field-warning),.ng-valid watt-field :is(watt-field-error,watt-field-warning){display:none}form.ng-submitted .ng-invalid watt-field watt-field-hint,:not(form).ng-touched.ng-invalid watt-field watt-field-hint{display:none}form.ng-submitted .ng-invalid watt-field :is(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field :is(watt-field-error,watt-field-warning){display:block}form.ng-submitted .ng-invalid watt-field .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field .watt-field-wrapper{border-color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field .label,:not(form).ng-touched.ng-invalid watt-field .label{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field .label.required:after,:not(form).ng-touched.ng-invalid watt-field .label.required:after{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .label,:not(form).ng-touched.ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .label{color:var(--watt-text-color)}form.ng-submitted .ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper{border-color:var(--watt-color-state-warning)}.watt-field-wrapper input{width:100%;border:none;outline:none;background-color:transparent}.watt-field-placeholder{position:absolute;padding:1px 2px;pointer-events:none;white-space:nowrap}.watt-field--has-placeholder input,.watt-field-placeholder{font-family:Droid Sans Mono,monospace;letter-spacing:-.03em}.watt-field-filler{color:var(--watt-on-light-low-emphasis)}.watt-field-ghost{color:transparent}watt-field{--watt-text-color: var(--watt-on-light-high-emphasis);--watt-disabled-text-label-color: var(--watt-on-light-low-emphasis);--watt-field-disabled-background-color: var(--watt-color-neutral-grey-100);--watt-input-border-radius: 4px;--watt-border-color: var(--watt-on-light-low-emphasis);--watt-label-text-color: var(--watt-text-color);width:100%;display:block}watt-field:not(.watt-field--chip){min-height:93px}watt-field:not(.watt-field--chip).watt-field--unlabelled{min-height:66px}watt-field .label{min-height:27px;display:flex;align-items:center}watt-field .label watt-icon{margin-left:var(--watt-space-s)}watt-field .label watt-tooltip{max-width:250px}watt-field .label.required:after{content:\"*\";margin-left:var(--watt-space-s);color:var(--watt-color-primary)}watt-field label,watt-field .watt-label{color:var(--watt-label-text-color);display:block;width:100%}watt-field label .watt-field-wrapper,watt-field .watt-label .watt-field-wrapper{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;display:flex;position:relative;width:100%;padding-left:var(--watt-space-s);border-radius:var(--watt-input-border-radius);border:1px solid var(--watt-border-color);overflow:hidden;color:var(--watt-text-color);align-items:center;gap:var(--watt-space-m);background-color:var(--watt-color-neutral-white)}watt-field label .watt-field-wrapper:focus-within,watt-field .watt-label .watt-field-wrapper:focus-within{--watt-border-color: var(--watt-color-primary)}watt-field label watt-field-hint,watt-field label watt-field-error,watt-field label watt-field-warning,watt-field .watt-label watt-field-hint,watt-field .watt-label watt-field-error,watt-field .watt-label watt-field-warning{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}watt-field label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning),watt-field .watt-label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning){padding-left:var(--watt-space-s)}watt-field.watt-field--chip .watt-field-wrapper{border:none;padding-left:0}watt-field.watt-field--chip watt-field-hint,watt-field.watt-field--chip watt-field-error,watt-field.watt-field--chip watt-field-warning{margin-top:var(--watt-space-xs)}watt-field:not(.watt-field--chip) .watt-field-wrapper{min-height:46px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "directive", type: WattTooltipDirective, selector: "[wattTooltip]", inputs: ["wattTooltip", "wattTooltipPosition", "wattTooltipVariant"], exportAs: ["wattTooltip"] }, { kind: "component", type: WattFieldErrorComponent, selector: "watt-field-error" }, { kind: "component", type: VaterFlexComponent, selector: "vater-flex, [vater-flex]", inputs: ["autoSize"] }, { kind: "directive", type: VaterUtilityDirective, selector: "[vater]", inputs: ["center", "fill", "inset", "scrollable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
130
|
+
`, isInline: true, styles: ["[watt-field-disabled=true] watt-field .label,.watt-field--disabled .label{color:var(--watt-disabled-text-label-color)}[watt-field-disabled=true] .watt-field-wrapper,.watt-field--disabled .watt-field-wrapper{background-color:var(--watt-field-disabled-background-color)}watt-field watt-field-hint{display:block}watt-field :is(watt-field-error,watt-field-warning),.ng-valid watt-field :is(watt-field-error,watt-field-warning){display:none}form.ng-submitted .ng-invalid watt-field watt-field-hint,:not(form).ng-touched.ng-invalid watt-field watt-field-hint{display:none}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning){display:block}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper{border-color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label.required:after,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label.required:after{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .label,:not(form).ng-touched.ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .label{color:var(--watt-text-color)}form.ng-submitted .ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper{border-color:var(--watt-color-state-warning)}.watt-field-wrapper input{width:100%;border:none;outline:none;background-color:transparent}.watt-field-placeholder{position:absolute;padding:1px 2px;pointer-events:none;white-space:nowrap}.watt-field--has-placeholder input,.watt-field-placeholder{font-family:Droid Sans Mono,monospace;letter-spacing:-.03em}.watt-field-filler{color:var(--watt-on-light-low-emphasis)}.watt-field-ghost{color:transparent}watt-field{--watt-text-color: var(--watt-on-light-high-emphasis);--watt-disabled-text-label-color: var(--watt-on-light-low-emphasis);--watt-field-disabled-background-color: var(--watt-color-neutral-grey-100);--watt-input-border-radius: 4px;--watt-border-color: var(--watt-on-light-low-emphasis);--watt-label-text-color: var(--watt-text-color);width:100%;display:block}watt-field:not(.watt-field--chip){min-height:93px}watt-field:not(.watt-field--chip).watt-field--unlabelled{min-height:66px}watt-field .label{min-height:27px;display:flex;align-items:center}watt-field .label watt-icon{margin-left:var(--watt-space-s)}watt-field .label watt-tooltip{max-width:250px}watt-field .label.required:after{content:\"*\";margin-left:var(--watt-space-s);color:var(--watt-color-primary)}watt-field label,watt-field .watt-label{color:var(--watt-label-text-color);display:block;width:100%}watt-field label .watt-field-wrapper,watt-field .watt-label .watt-field-wrapper{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;display:flex;position:relative;width:100%;padding-left:var(--watt-space-s);border-radius:var(--watt-input-border-radius);border:1px solid var(--watt-border-color);overflow:hidden;color:var(--watt-text-color);align-items:center;gap:var(--watt-space-m);background-color:var(--watt-color-neutral-white)}watt-field label .watt-field-wrapper:focus-within,watt-field .watt-label .watt-field-wrapper:focus-within{--watt-border-color: var(--watt-color-primary)}watt-field label watt-field-hint,watt-field label watt-field-error,watt-field label watt-field-warning,watt-field .watt-label watt-field-hint,watt-field .watt-label watt-field-error,watt-field .watt-label watt-field-warning{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}watt-field label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning),watt-field .watt-label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning){padding-left:var(--watt-space-s)}watt-field.watt-field--chip .watt-field-wrapper{border:none;padding-left:0}watt-field.watt-field--chip watt-field-hint,watt-field.watt-field--chip watt-field-error,watt-field.watt-field--chip watt-field-warning{margin-top:var(--watt-space-xs)}watt-field:not(.watt-field--chip) .watt-field-wrapper{min-height:46px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "directive", type: WattTooltipDirective, selector: "[wattTooltip]", inputs: ["wattTooltip", "wattTooltipPosition", "wattTooltipVariant"], exportAs: ["wattTooltip"] }, { kind: "component", type: WattFieldErrorComponent, selector: "watt-field-error" }, { kind: "component", type: VaterFlexComponent, selector: "vater-flex, [vater-flex]", inputs: ["autoSize"] }, { kind: "directive", type: VaterUtilityDirective, selector: "[vater]", inputs: ["center", "fill", "inset", "scrollable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
113
131
|
}
|
|
114
132
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattFieldComponent, decorators: [{
|
|
115
133
|
type: Component,
|
|
@@ -122,11 +140,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
122
140
|
VaterUtilityDirective,
|
|
123
141
|
], template: `
|
|
124
142
|
@if (chipMode()) {
|
|
125
|
-
<span class="watt-label">
|
|
143
|
+
<span [attr.autofocus]="autoFocus() || null" class="watt-label" #wattLabel>
|
|
126
144
|
<ng-container *ngTemplateOutlet="template" />
|
|
127
145
|
</span>
|
|
128
146
|
} @else {
|
|
129
|
-
<label [attr.for]="id()">
|
|
147
|
+
<label [attr.autofocus]="autoFocus() || null" [attr.for]="id()" #label>
|
|
130
148
|
<ng-container *ngTemplateOutlet="template" />
|
|
131
149
|
</label>
|
|
132
150
|
}
|
|
@@ -171,6 +189,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
171
189
|
'[class.watt-field--chip]': 'chipMode()',
|
|
172
190
|
'[class.watt-field--unlabelled]': 'unlabelled()',
|
|
173
191
|
'[class.watt-field--disabled]': 'control()?.disabled',
|
|
174
|
-
|
|
192
|
+
'[class.watt-field--show-errors]': 'showErrors()',
|
|
193
|
+
}, styles: ["[watt-field-disabled=true] watt-field .label,.watt-field--disabled .label{color:var(--watt-disabled-text-label-color)}[watt-field-disabled=true] .watt-field-wrapper,.watt-field--disabled .watt-field-wrapper{background-color:var(--watt-field-disabled-background-color)}watt-field watt-field-hint{display:block}watt-field :is(watt-field-error,watt-field-warning),.ng-valid watt-field :is(watt-field-error,watt-field-warning){display:none}form.ng-submitted .ng-invalid watt-field watt-field-hint,:not(form).ng-touched.ng-invalid watt-field watt-field-hint{display:none}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning){display:block}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper{border-color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label.required:after,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label.required:after{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .label,:not(form).ng-touched.ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .label{color:var(--watt-text-color)}form.ng-submitted .ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper{border-color:var(--watt-color-state-warning)}.watt-field-wrapper input{width:100%;border:none;outline:none;background-color:transparent}.watt-field-placeholder{position:absolute;padding:1px 2px;pointer-events:none;white-space:nowrap}.watt-field--has-placeholder input,.watt-field-placeholder{font-family:Droid Sans Mono,monospace;letter-spacing:-.03em}.watt-field-filler{color:var(--watt-on-light-low-emphasis)}.watt-field-ghost{color:transparent}watt-field{--watt-text-color: var(--watt-on-light-high-emphasis);--watt-disabled-text-label-color: var(--watt-on-light-low-emphasis);--watt-field-disabled-background-color: var(--watt-color-neutral-grey-100);--watt-input-border-radius: 4px;--watt-border-color: var(--watt-on-light-low-emphasis);--watt-label-text-color: var(--watt-text-color);width:100%;display:block}watt-field:not(.watt-field--chip){min-height:93px}watt-field:not(.watt-field--chip).watt-field--unlabelled{min-height:66px}watt-field .label{min-height:27px;display:flex;align-items:center}watt-field .label watt-icon{margin-left:var(--watt-space-s)}watt-field .label watt-tooltip{max-width:250px}watt-field .label.required:after{content:\"*\";margin-left:var(--watt-space-s);color:var(--watt-color-primary)}watt-field label,watt-field .watt-label{color:var(--watt-label-text-color);display:block;width:100%}watt-field label .watt-field-wrapper,watt-field .watt-label .watt-field-wrapper{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;display:flex;position:relative;width:100%;padding-left:var(--watt-space-s);border-radius:var(--watt-input-border-radius);border:1px solid var(--watt-border-color);overflow:hidden;color:var(--watt-text-color);align-items:center;gap:var(--watt-space-m);background-color:var(--watt-color-neutral-white)}watt-field label .watt-field-wrapper:focus-within,watt-field .watt-label .watt-field-wrapper:focus-within{--watt-border-color: var(--watt-color-primary)}watt-field label watt-field-hint,watt-field label watt-field-error,watt-field label watt-field-warning,watt-field .watt-label watt-field-hint,watt-field .watt-label watt-field-error,watt-field .watt-label watt-field-warning{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}watt-field label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning),watt-field .watt-label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning){padding-left:var(--watt-space-s)}watt-field.watt-field--chip .watt-field-wrapper{border:none;padding-left:0}watt-field.watt-field--chip watt-field-hint,watt-field.watt-field--chip watt-field-error,watt-field.watt-field--chip watt-field-warning{margin-top:var(--watt-space-xs)}watt-field:not(.watt-field--chip) .watt-field-wrapper{min-height:46px}\n"] }]
|
|
175
194
|
}], ctorParameters: () => [] });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9maWVsZC93YXR0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWlDLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQXFFbkQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixJQUFJLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixD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LyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHsgV2F0dEljb25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvaWNvbic7XG5pbXBvcnQgeyBXYXR0VG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC90b29sdGlwJztcbmltcG9ydCB7IFZhdGVyRmxleENvbXBvbmVudCwgVmF0ZXJVdGlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L3ZhdGVyJztcbmltcG9ydCB7IFdhdHRSYW5nZVZhbGlkYXRvcnMgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvdmFsaWRhdG9ycyc7XG5cbmltcG9ydCB7IFdhdHRGaWVsZEludGxTZXJ2aWNlIH0gZnJvbSAnLi93YXR0LWZpZWxkLWludGwuc2VydmljZSc7XG5pbXBvcnQgeyBXYXR0RmllbGRFcnJvckNvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1maWVsZC1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhdHQtZmllbGQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgV2F0dEljb25Db21wb25lbnQsXG4gICAgV2F0dFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgV2F0dEZpZWxkRXJyb3JDb21wb25lbnQsXG4gICAgVmF0ZXJGbGV4Q29tcG9uZW50LFxuICAgIFZhdGVyVXRpbGl0eURpcmVjdGl2ZSxcbiAgXSxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoY2hpcE1vZGUoKSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJ3YXR0LWxhYmVsXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVwiIC8+XG4gICAgICA8L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImlkKClcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlXCIgLz5cbiAgICAgIDwvbGFiZWw+XG4gICAgfVxuXG4gICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICAgIEBpZiAobGFiZWwoKSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW2NsYXNzLnJlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiPlxuICAgICAgICAgIHt7IGxhYmVsKCkgfX1cbiAgICAgICAgICBAaWYgKHRvb2x0aXAoKTsgYXMgdG9vbHRpcCkge1xuICAgICAgICAgICAgPHdhdHQtaWNvbiBuYW1lPVwiaW5mb1wiIHdhdHRUb29sdGlwUG9zaXRpb249XCJ0b3BcIiBbd2F0dFRvb2x0aXBdPVwidG9vbHRpcFwiIC8+XG4gICAgICAgICAgfVxuICAgICAgICA8L3NwYW4+XG4gICAgICB9XG4gICAgICA8dmF0ZXItZmxleCBkaXJlY3Rpb249XCJyb3dcIiBnYXA9XCJzXCIgYWxpZ249XCJjZW50ZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHZhdGVyXG4gICAgICAgICAgZmlsbD1cImhvcml6b250YWxcIlxuICAgICAgICAgICN3cmFwcGVyXG4gICAgICAgICAgY2xhc3M9XCJ3YXR0LWZpZWxkLXdyYXBwZXJcIlxuICAgICAgICAgIFtjbGFzcy53YXR0LWZpZWxkLS1oYXMtcGxhY2Vob2xkZXJdPVwiISFwbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICBbc3R5bGUuYW5jaG9yLW5hbWVdPVwiYW5jaG9yTmFtZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIEBpZiAocGxhY2Vob2xkZXIoKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndhdHQtZmllbGQtcGxhY2Vob2xkZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3YXR0LWZpZWxkLWdob3N0XCI+e3sgZ2hvc3QoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3YXR0LWZpZWxkLWZpbGxlclwiPnt7IGZpbGxlcigpIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWRlc2NyaXB0b3JcIiAvPlxuICAgICAgPC92YXRlci1mbGV4PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BvcG92ZXJdXCIgLz5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZmllbGQtaGludFwiIC8+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWVycm9yXCIgLz5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZmllbGQtd2FybmluZ1wiIC8+XG4gICAgICBAaWYgKGlzRW1wdHkoKSkge1xuICAgICAgICA8d2F0dC1maWVsZC1lcnJvcj57eyBpbnRsLnJlcXVpcmVkIH19PC93YXR0LWZpZWxkLWVycm9yPlxuICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLndhdHQtZmllbGQtLWNoaXBdJzogJ2NoaXBNb2RlKCknLFxuICAgICdbY2xhc3Mud2F0dC1maWVsZC0tdW5sYWJlbGxlZF0nOiAndW5sYWJlbGxlZCgpJyxcbiAgICAnW2NsYXNzLndhdHQtZmllbGQtLWRpc2FibGVkXSc6ICdjb250cm9sKCk/LmRpc2FibGVkJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dEZpZWxkQ29tcG9uZW50IHtcbiAgaW50bCA9IGluamVjdChXYXR0RmllbGRJbnRsU2VydmljZSk7XG4gIGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZj4oRWxlbWVudFJlZik7XG5cbiAgY29udHJvbCA9IGlucHV0PEZvcm1Db250cm9sIHwgbnVsbD4obnVsbCk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICBpZCA9IGlucHV0PHN0cmluZz4oKTtcbiAgY2hpcE1vZGUgPSBpbnB1dChmYWxzZSk7XG4gIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHBsYWNlaG9sZGVyID0gaW5wdXQoJycpO1xuICBhbmNob3JOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIHZhbHVlID0gc2lnbmFsKCcnKTtcbiAgZmlsbGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wbGFjZWhvbGRlcigpLnNsaWNlKHRoaXMudmFsdWUoKS5sZW5ndGgpKTtcbiAgZ2hvc3QgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZhbHVlKCkuc2xpY2UoMCwgdGhpcy5wbGFjZWhvbGRlcigpLmxlbmd0aCkpO1xuXG4gIHVubGFiZWxsZWQgPSBjb21wdXRlZCgoKSA9PiAhdGhpcy5sYWJlbCgpKTtcblxuICBlcnJvcnMgPSBzaWduYWw8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+KG51bGwpO1xuICBpc1JlcXVpcmVkID0gc2lnbmFsKGZhbHNlKTtcbiAgaXNFbXB0eSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZXJyb3JzKCk/LlsncmVxdWlyZWQnXSB8fCB0aGlzLmVycm9ycygpPy5bJ3JhbmdlUmVxdWlyZWQnXSk7XG5cbiAgLy8gVXNlZCBmb3IgdGV4dCBmaWVsZHMgd2l0aCBhdXRvY29tcGxldGVcbiAgd3JhcHBlciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignd3JhcHBlcicpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IGNvbnRyb2wkID0gdG9PYnNlcnZhYmxlKHRoaXMuY29udHJvbCkucGlwZShmaWx0ZXIoKGNvbnRyb2wpID0+IGNvbnRyb2wgIT09IG51bGwpKTtcblxuICAgIC8vIFRyYWNrIHZhbHVlIGluIG9yZGVyIHRvIHVwZGF0ZSBnaG9zdCBhbmQgZmlsbGVyXG4gICAgY29uc3QgdmFsdWUkID0gY29udHJvbCQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoY29udHJvbCkgPT5cbiAgICAgICAgY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgoY29udHJvbC52YWx1ZSksXG4gICAgICAgICAgbWFwKCh2YWx1ZSkgPT4gKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgPyAnJyA6IHZhbHVlLnRvU3RyaW5nKCkpKSxcbiAgICAgICAgICB0YXAoKHZhbHVlKSA9PiB0aGlzLnZhbHVlLnNldCh2YWx1ZSkpXG4gICAgICAgIClcbiAgICAgICksXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKVxuICAgICk7XG5cbiAgICAvLyBUcmFjayBzdGF0dXMgaW4gb3JkZXIgdG8gdXBkYXRlIHJlcXVpcmVkIHN0YXRlIGFuZCBzaG93IGVycm9yc1xuICAgIGNvbnN0IHN0YXR1cyQgPSBjb250cm9sJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjb250cm9sKSA9PlxuICAgICAgICBjb250cm9sLnN0YXR1c0NoYW5nZXMucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgoY29udHJvbC5zdGF0dXMpLFxuICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmlzUmVxdWlyZWQuc2V0KHRoaXMuaXNSZXF1aXJlZENvbnRyb2woY29udHJvbCkpKSxcbiAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5lcnJvcnMuc2V0KGNvbnRyb2wuZXJyb3JzKSlcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgKTtcblxuICAgIC8vIFN1YnNjcmliZSBmb3Igc2lkZSBlZmZlY3RzXG4gICAgdmFsdWUkLnN1YnNjcmliZSgpO1xuICAgIHN0YXR1cyQuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBpc1JlcXVpcmVkQ29udHJvbChjb250cm9sOiBGb3JtQ29udHJvbCkge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgV2F0dFJhbmdlVmFsaWRhdG9ycy5yZXF1aXJlZF07XG4gICAgcmV0dXJuIHZhbGlkYXRvcnMuc29tZSgodmFsaWRhdG9yKSA9PiBjb250cm9sLmhhc1ZhbGlkYXRvcih2YWxpZGF0b3IpKTtcbiAgfVxufVxuIl19
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9maWVsZC93YXR0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFpQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFzRW5ELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsSUFBSSxHQUFHLE1BQU0sQ0FB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a0I7MkZBQWxCLGtCQUFrQixzdkRBdkRuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ1Qsb3BKQXZEQyxnQkFBZ0Isb0pBQ2hCLGlCQUFpQixrR0FDakIsb0JBQW9CLDJKQUNwQix1QkFBdUIsNkRBQ3ZCLGtCQUFrQiwyRkFDbEIscUJBQXFCOzsyRkEwRFosa0JBQWtCO2tCQXBFOUIsU0FBUzsrQkFDRSxZQUFZLG1CQUNMLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksV0FDNUI7d0JBQ1AsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLHFCQUFxQjtxQkFDdEIsWUFFUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQ1QsUUFDSzt3QkFDSiwwQkFBMEIsRUFBRSxZQUFZO3dCQUN4QyxnQ0FBZ0MsRUFBRSxjQUFjO3dCQUNoRCw4QkFBOEIsRUFBRSxxQkFBcUI7d0JBQ3JELGlDQUFpQyxFQUFFLGNBQWM7cUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHsgV2F0dEljb25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvaWNvbic7XG5pbXBvcnQgeyBXYXR0VG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC90b29sdGlwJztcbmltcG9ydCB7IFZhdGVyRmxleENvbXBvbmVudCwgVmF0ZXJVdGlsaXR5RGlyZWN0aXZlIH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L3ZhdGVyJztcbmltcG9ydCB7IFdhdHRSYW5nZVZhbGlkYXRvcnMgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvdmFsaWRhdG9ycyc7XG5cbmltcG9ydCB7IFdhdHRGaWVsZEludGxTZXJ2aWNlIH0gZnJvbSAnLi93YXR0LWZpZWxkLWludGwuc2VydmljZSc7XG5pbXBvcnQgeyBXYXR0RmllbGRFcnJvckNvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1maWVsZC1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhdHQtZmllbGQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgV2F0dEljb25Db21wb25lbnQsXG4gICAgV2F0dFRvb2x0aXBEaXJlY3RpdmUsXG4gICAgV2F0dEZpZWxkRXJyb3JDb21wb25lbnQsXG4gICAgVmF0ZXJGbGV4Q29tcG9uZW50LFxuICAgIFZhdGVyVXRpbGl0eURpcmVjdGl2ZSxcbiAgXSxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoY2hpcE1vZGUoKSkge1xuICAgICAgPHNwYW4gW2F0dHIuYXV0b2ZvY3VzXT1cImF1dG9Gb2N1cygpIHx8IG51bGxcIiBjbGFzcz1cIndhdHQtbGFiZWxcIiAjd2F0dExhYmVsPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVcIiAvPlxuICAgICAgPC9zcGFuPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPGxhYmVsIFthdHRyLmF1dG9mb2N1c109XCJhdXRvRm9jdXMoKSB8fCBudWxsXCIgW2F0dHIuZm9yXT1cImlkKClcIiAjbGFiZWw+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVwiIC8+XG4gICAgICA8L2xhYmVsPlxuICAgIH1cblxuICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gICAgICBAaWYgKGxhYmVsKCkpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFtjbGFzcy5yZXF1aXJlZF09XCJpc1JlcXVpcmVkKClcIj5cbiAgICAgICAgICB7eyBsYWJlbCgpIH19XG4gICAgICAgICAgQGlmICh0b29sdGlwKCk7IGFzIHRvb2x0aXApIHtcbiAgICAgICAgICAgIDx3YXR0LWljb24gbmFtZT1cImluZm9cIiB3YXR0VG9vbHRpcFBvc2l0aW9uPVwidG9wXCIgW3dhdHRUb29sdGlwXT1cInRvb2x0aXBcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgfVxuICAgICAgPHZhdGVyLWZsZXggZGlyZWN0aW9uPVwicm93XCIgZ2FwPVwic1wiIGFsaWduPVwiY2VudGVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICB2YXRlclxuICAgICAgICAgIGZpbGw9XCJob3Jpem9udGFsXCJcbiAgICAgICAgICAjd3JhcHBlclxuICAgICAgICAgIGNsYXNzPVwid2F0dC1maWVsZC13cmFwcGVyXCJcbiAgICAgICAgICBbY2xhc3Mud2F0dC1maWVsZC0taGFzLXBsYWNlaG9sZGVyXT1cIiEhcGxhY2Vob2xkZXIoKVwiXG4gICAgICAgICAgW3N0eWxlLmFuY2hvci1uYW1lXT1cImFuY2hvck5hbWUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICBAaWYgKHBsYWNlaG9sZGVyKCkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3YXR0LWZpZWxkLXBsYWNlaG9sZGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2F0dC1maWVsZC1naG9zdFwiPnt7IGdob3N0KCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2F0dC1maWVsZC1maWxsZXJcIj57eyBmaWxsZXIoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1maWVsZC1kZXNjcmlwdG9yXCIgLz5cbiAgICAgIDwvdmF0ZXItZmxleD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwb3BvdmVyXVwiIC8+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWhpbnRcIiAvPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1maWVsZC1lcnJvclwiIC8+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ3YXR0LWZpZWxkLXdhcm5pbmdcIiAvPlxuICAgICAgQGlmIChpc0VtcHR5KCkpIHtcbiAgICAgICAgPHdhdHQtZmllbGQtZXJyb3I+e3sgaW50bC5yZXF1aXJlZCB9fTwvd2F0dC1maWVsZC1lcnJvcj5cbiAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy53YXR0LWZpZWxkLS1jaGlwXSc6ICdjaGlwTW9kZSgpJyxcbiAgICAnW2NsYXNzLndhdHQtZmllbGQtLXVubGFiZWxsZWRdJzogJ3VubGFiZWxsZWQoKScsXG4gICAgJ1tjbGFzcy53YXR0LWZpZWxkLS1kaXNhYmxlZF0nOiAnY29udHJvbCgpPy5kaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy53YXR0LWZpZWxkLS1zaG93LWVycm9yc10nOiAnc2hvd0Vycm9ycygpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dEZpZWxkQ29tcG9uZW50IHtcbiAgaW50bCA9IGluamVjdChXYXR0RmllbGRJbnRsU2VydmljZSk7XG4gIGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZj4oRWxlbWVudFJlZik7XG5cbiAgY29udHJvbCA9IGlucHV0PEZvcm1Db250cm9sIHwgbnVsbD4obnVsbCk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuICBpZCA9IGlucHV0PHN0cmluZz4oKTtcbiAgY2hpcE1vZGUgPSBpbnB1dChmYWxzZSk7XG4gIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHBsYWNlaG9sZGVyID0gaW5wdXQoJycpO1xuICBhbmNob3JOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBpbnB1dCBzaG91bGQgcmVjZWl2ZSBmb2N1cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgcmVuZGVyZWQuXG4gICAqL1xuICBhdXRvRm9jdXMgPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbGFiZWxFbGVtZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTExhYmVsRWxlbWVudD4+KCdsYWJlbCcpO1xuICB3YXR0TGFiZWxFbGVtZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTFNwYW5FbGVtZW50Pj4oJ3dhdHRMYWJlbCcpO1xuXG4gIHZhbHVlID0gc2lnbmFsKCcnKTtcbiAgZmlsbGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wbGFjZWhvbGRlcigpLnNsaWNlKHRoaXMudmFsdWUoKS5sZW5ndGgpKTtcbiAgZ2hvc3QgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnZhbHVlKCkuc2xpY2UoMCwgdGhpcy5wbGFjZWhvbGRlcigpLmxlbmd0aCkpO1xuXG4gIHVubGFiZWxsZWQgPSBjb21wdXRlZCgoKSA9PiAhdGhpcy5sYWJlbCgpKTtcblxuICBlcnJvcnMgPSBzaWduYWw8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+KG51bGwpO1xuICBpc1JlcXVpcmVkID0gc2lnbmFsKGZhbHNlKTtcbiAgaXNFbXB0eSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZXJyb3JzKCk/LlsncmVxdWlyZWQnXSB8fCB0aGlzLmVycm9ycygpPy5bJ3JhbmdlUmVxdWlyZWQnXSk7XG4gIHNob3dFcnJvcnMgPSBpbnB1dCh0cnVlKTtcblxuICAvLyBVc2VkIGZvciB0ZXh0IGZpZWxkcyB3aXRoIGF1dG9jb21wbGV0ZVxuICB3cmFwcGVyID0gdmlld0NoaWxkPEVsZW1lbnRSZWY+KCd3cmFwcGVyJyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgY29udHJvbCQgPSB0b09ic2VydmFibGUodGhpcy5jb250cm9sKS5waXBlKGZpbHRlcigoY29udHJvbCkgPT4gY29udHJvbCAhPT0gbnVsbCkpO1xuXG4gICAgLy8gVHJhY2sgdmFsdWUgaW4gb3JkZXIgdG8gdXBkYXRlIGdob3N0IGFuZCBmaWxsZXJcbiAgICBjb25zdCB2YWx1ZSQgPSBjb250cm9sJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjb250cm9sKSA9PlxuICAgICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgIHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSxcbiAgICAgICAgICBtYXAoKHZhbHVlKSA9PiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCA/ICcnIDogdmFsdWUudG9TdHJpbmcoKSkpLFxuICAgICAgICAgIHRhcCgodmFsdWUpID0+IHRoaXMudmFsdWUuc2V0KHZhbHVlKSlcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgKTtcblxuICAgIC8vIFRyYWNrIHN0YXR1cyBpbiBvcmRlciB0byB1cGRhdGUgcmVxdWlyZWQgc3RhdGUgYW5kIHNob3cgZXJyb3JzXG4gICAgY29uc3Qgc3RhdHVzJCA9IGNvbnRyb2wkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNvbnRyb2wpID0+XG4gICAgICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgICAgIHN0YXJ0V2l0aChjb250cm9sLnN0YXR1cyksXG4gICAgICAgICAgdGFwKCgpID0+IHRoaXMuaXNSZXF1aXJlZC5zZXQodGhpcy5pc1JlcXVpcmVkQ29udHJvbChjb250cm9sKSkpLFxuICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmVycm9ycy5zZXQoY29udHJvbC5lcnJvcnMpKVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKClcbiAgICApO1xuXG4gICAgLy8gU3Vic2NyaWJlIGZvciBzaWRlIGVmZmVjdHNcbiAgICB2YWx1ZSQuc3Vic2NyaWJlKCk7XG4gICAgc3RhdHVzJC5zdWJzY3JpYmUoKTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hdXRvRm9jdXMoKSkge1xuICAgICAgICBpZiAodGhpcy5jaGlwTW9kZSgpKSB7XG4gICAgICAgICAgdGhpcy53YXR0TGFiZWxFbGVtZW50KCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubGFiZWxFbGVtZW50KCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpc1JlcXVpcmVkQ29udHJvbChjb250cm9sOiBGb3JtQ29udHJvbCkge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgV2F0dFJhbmdlVmFsaWRhdG9ycy5yZXF1aXJlZF07XG4gICAgcmV0dXJuIHZhbGlkYXRvcnMuc29tZSgodmFsaWRhdG9yKSA9PiBjb250cm9sLmhhc1ZhbGlkYXRvcih2YWxpZGF0b3IpKTtcbiAgfVxufVxuIl19
|
|
@@ -44,7 +44,7 @@ export class WattFileField {
|
|
|
44
44
|
}
|
|
45
45
|
<ng-content />
|
|
46
46
|
</watt-field>
|
|
47
|
-
`, isInline: true, styles: [".watt-file-field-text{color:var(--watt-color-primary)}.watt-file-field-text:placeholder-shown{color:var(--watt-input-placeholder-color)}\n"], dependencies: [{ kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
47
|
+
`, isInline: true, styles: [".watt-file-field-text{color:var(--watt-color-primary)}.watt-file-field-text:placeholder-shown{color:var(--watt-input-placeholder-color)}\n"], dependencies: [{ kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName", "autoFocus", "showErrors"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
48
48
|
}
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattFileField, decorators: [{
|
|
50
50
|
type: Component,
|
|
@@ -196,7 +196,7 @@ export class WattPhoneFieldComponent {
|
|
|
196
196
|
<watt-field-error> {{ intl.invalidPhoneNumber }} </watt-field-error>
|
|
197
197
|
}
|
|
198
198
|
</watt-field>
|
|
199
|
-
`, isInline: true, styles: [".watt-phone-field__select.mat-mdc-select-panel{--mat-option-label-text-size: 14px;overflow-y:scroll}.watt-phone-field__select.mat-mdc-select-panel watt-icon{margin-right:var(--watt-space-s)}.watt-phone-field__select.mat-mdc-select-panel watt-icon .mat-icon{margin-right:0}.watt-phone-field__select.mat-mdc-select-panel .mat-mdc-option.mdc-list-item .mdc-list-item__primary-text{display:flex;width:100%;align-items:center;gap:var(--watt-space-xs)}watt-phone-field{display:block}watt-phone-field .watt-phone-field__prefix-container{width:100%;display:flex;align-items:center;gap:var(--watt-space-xs)}watt-phone-field input{width:100%;border:none}watt-phone-field input:focus-visible,watt-phone-field input:focus-within{border:none;outline:none}watt-phone-field .mat-mdc-select{width:auto;height:24px}watt-phone-field .mat-mdc-select .mat-mdc-select-arrow-wrapper{width:24px;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName"] }, { kind: "component", type: WattFieldErrorComponent, selector: "watt-field-error" }, { kind: "component", type: WattFlagComponent, selector: "watt-flag", inputs: ["country", "label", "size"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
199
|
+
`, isInline: true, styles: [".watt-phone-field__select.mat-mdc-select-panel{--mat-option-label-text-size: 14px;overflow-y:scroll}.watt-phone-field__select.mat-mdc-select-panel watt-icon{margin-right:var(--watt-space-s)}.watt-phone-field__select.mat-mdc-select-panel watt-icon .mat-icon{margin-right:0}.watt-phone-field__select.mat-mdc-select-panel .mat-mdc-option.mdc-list-item .mdc-list-item__primary-text{display:flex;width:100%;align-items:center;gap:var(--watt-space-xs)}watt-phone-field{display:block}watt-phone-field .watt-phone-field__prefix-container{width:100%;display:flex;align-items:center;gap:var(--watt-space-xs)}watt-phone-field input{width:100%;border:none}watt-phone-field input:focus-visible,watt-phone-field input:focus-within{border:none;outline:none}watt-phone-field .mat-mdc-select{width:auto;height:24px}watt-phone-field .mat-mdc-select .mat-mdc-select-arrow-wrapper{width:24px;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i2.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName", "autoFocus", "showErrors"] }, { kind: "component", type: WattFieldErrorComponent, selector: "watt-field-error" }, { kind: "component", type: WattFlagComponent, selector: "watt-flag", inputs: ["country", "label", "size"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
200
200
|
}
|
|
201
201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattPhoneFieldComponent, decorators: [{
|
|
202
202
|
type: Component,
|
|
@@ -259,4 +259,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
259
259
|
type: ViewChild,
|
|
260
260
|
args: ['phoneNumberInput']
|
|
261
261
|
}] } });
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1waG9uZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9waG9uZS1maWVsZC93YXR0LXBob25lLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFFWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUlMLGlCQUFpQixFQUNqQixtQkFBbUIsR0FHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFDekUsT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFPNUUsU0FBUyxjQUFjLENBQUMsV0FBd0I7SUFDOUMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDM0Qs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QWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEIsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7OEJBOEJELFVBQVU7c0JBRFQsV0FBVzt1QkFBQywwQkFBMEI7Z0JBT1IsZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUNvbnRyb2wsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWFza2l0b0RpcmVjdGl2ZSB9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTUFTS0lUT19ERUZBVUxUX09QVElPTlMsIG1hc2tpdG9UcmFuc2Zvcm0gfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7IG1hc2tpdG9QaG9uZU9wdGlvbnNHZW5lcmF0b3IgfSBmcm9tICdAbWFza2l0by9waG9uZSc7XG5pbXBvcnQgeyBpc1ZhbGlkUGhvbmVOdW1iZXIsIHR5cGUgQ291bnRyeUNvZGUgfSBmcm9tICdsaWJwaG9uZW51bWJlci1qcyc7XG5pbXBvcnQgcGhvbmVNZXRhZGF0YSBmcm9tICdsaWJwaG9uZW51bWJlci1qcy9taW4vbWV0YWRhdGEnO1xuXG5pbXBvcnQgeyBXYXR0RmxhZ0NvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9pY29uL2ZsYWdzJztcbmltcG9ydCB7IFdhdHRGaWVsZENvbXBvbmVudCwgV2F0dEZpZWxkRXJyb3JDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvZmllbGQnO1xuXG5pbXBvcnQgeyBXYXR0UGhvbmVGaWVsZEludGxTZXJ2aWNlIH0gZnJvbSAnLi93YXR0LXBob25lLWZpZWxkLWludGwuc2VydmljZSc7XG5cbnR5cGUgQ29udHJ5ID0ge1xuICBjb3VudHJ5SXNvQ29kZTogQ291bnRyeUNvZGU7XG4gIHBob25lRXh0ZW5zaW9uOiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBwaG9uZVZhbGlkYXRvcihjb3VudHJ5Q29kZTogQ291bnRyeUNvZGUpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGlmICghY29udHJvbC52YWx1ZSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgdmFsaWQgPSBpc1ZhbGlkUGhvbmVOdW1iZXIoY29udHJvbC52YWx1ZSwgY291bnRyeUNvZGUpO1xuXG4gICAgcmV0dXJuIHZhbGlkID8gbnVsbCA6IHsgaW52YWxpZFBob25lOiB0cnVlIH07XG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhdHQtcGhvbmUtZmllbGQnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICBXYXR0RmllbGRDb21wb25lbnQsXG4gICAgV2F0dEZpZWxkRXJyb3JDb21wb25lbnQsXG4gICAgV2F0dEZsYWdDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2F0dFBob25lRmllbGRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8d2F0dC1maWVsZCBbbGFiZWxdPVwibGFiZWwoKVwiIFtjb250cm9sXT1cImZvcm1Db250cm9sKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3YXR0LXBob25lLWZpZWxkX19wcmVmaXgtY29udGFpbmVyXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgcGFuZWxXaWR0aD1cIlwiXG4gICAgICAgICAgcGFuZWxDbGFzcz1cIndhdHQtcGhvbmUtZmllbGRfX3NlbGVjdFwiXG4gICAgICAgICAgW2hpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiXG4gICAgICAgICAgW3ZhbHVlXT1cImNob3NlbkNvdW50cnkoKS5jb3VudHJ5SXNvQ29kZVwiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3RlZENvbnRyeSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICA8d2F0dC1mbGFnIFtjb3VudHJ5XT1cImNob3NlbkNvdW50cnkoKS5jb3VudHJ5SXNvQ29kZVwiIC8+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgQGZvciAoY29udHJ5IG9mIGNvdW50cmllczsgdHJhY2sgY29udHJ5OyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwie3sgY29udHJ5LmNvdW50cnlJc29Db2RlIH19XCI+XG4gICAgICAgICAgICAgIDx3YXR0LWZsYWcgW2NvdW50cnldPVwiY29udHJ5LmNvdW50cnlJc29Db2RlXCIgLz5cbiAgICAgICAgICAgICAgPGRpdj57eyBnZXRDb3VudHJ5TmFtZShjb250cnkuY291bnRyeUlzb0NvZGUpIH19PC9kaXY+XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwoKVwiXG4gICAgICAgICAgYXV0b2NvbXBsZXRlPVwidGVsXCJcbiAgICAgICAgICBpbnB1dG1vZGU9XCJ0ZWxcIlxuICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIFttYXNraXRvXT1cIm1hc2tcIlxuICAgICAgICAgICNwaG9uZU51bWJlcklucHV0XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1oaW50XCIgc2VsZWN0PVwid2F0dC1maWVsZC1oaW50XCIgLz5cbiAgICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1lcnJvclwiIHNlbGVjdD1cIndhdHQtZmllbGQtZXJyb3JcIiAvPlxuICAgICAgQGlmIChmb3JtQ29udHJvbCgpLmhhc0Vycm9yKCdpbnZhbGlkUGhvbmUnKSkge1xuICAgICAgICA8d2F0dC1maWVsZC1lcnJvcj4ge3sgaW50bC5pbnZhbGlkUGhvbmVOdW1iZXIgfX0gPC93YXR0LWZpZWxkLWVycm9yPlxuICAgICAgfVxuICAgIDwvd2F0dC1maWVsZD5cbiAgYCxcbiAgc3R5bGVVcmw6ICcuL3dhdHQtcGhvbmUtZmllbGQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0UGhvbmVGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICAvKiogQGlnbm9yZSAqL1xuICByZWFkb25seSBjb3VudHJpZXM6IENvbnRyeVtdID0gW1xuICAgIHsgY291bnRyeUlzb0NvZGU6ICdESycsIHBob25lRXh0ZW5zaW9uOiAnKzQ1JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdTRScsIHBob25lRXh0ZW5zaW9uOiAnKzQ2JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdOTycsIHBob25lRXh0ZW5zaW9uOiAnKzQ3JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdERScsIHBob25lRXh0ZW5zaW9uOiAnKzQ5JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdGSScsIHBob25lRXh0ZW5zaW9uOiAnKzM1OCcgfSxcbiAgICB7IGNvdW50cnlJc29Db2RlOiAnUEwnLCBwaG9uZUV4dGVuc2lvbjogJys0OCcgfSxcbiAgICB7IGNvdW50cnlJc29Db2RlOiAnTkwnLCBwaG9uZUV4dGVuc2lvbjogJyszMScgfSxcbiAgICB7IGNvdW50cnlJc29Db2RlOiAnQ0gnLCBwaG9uZUV4dGVuc2lvbjogJys0MScgfSxcbiAgXTtcblxuICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuICBsYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBjaG9zZW5Db3VudHJ5ID0gc2lnbmFsPENvbnRyeT4odGhpcy5jb3VudHJpZXNbMF0pO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIG1hc2sgPSBNQVNLSVRPX0RFRkFVTFRfT1BUSU9OUztcblxuICAvKiogQGlnbm9yZSAqL1xuICBpbnRsID0gaW5qZWN0KFdhdHRQaG9uZUZpZWxkSW50bFNlcnZpY2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnYXR0ci53YXR0LWZpZWxkLWRpc2FibGVkJylcbiAgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdwaG9uZU51bWJlcklucHV0JykgcGhvbmVOdW1iZXJJbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cCgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5jb3VudHJpZXMuZmluZCgoY291bnRyeSkgPT4gdmFsdWUuc3RhcnRzV2l0aChjb3VudHJ5LnBob25lRXh0ZW5zaW9uKSk7XG5cbiAgICAgIGlmIChjb3VudHJ5KSB7XG4gICAgICAgIC8vIEV4Y2x1ZGUgU2lnbmFsIGZyb20gYmVpbmcgdHJhY2tlZFxuICAgICAgICAvLyBpbiBjYXNlIHRoZSBwYXJlbnQgY29tcG9uZW50IHNldHMgdGhlIHZhbHVlIGluc2lkZSBhbiBgZWZmZWN0YC5cbiAgICAgICAgLy8gV2l0aG91dCB0aGlzLCB1cGRhdGluZyB0aGUgU2lnbmFsIGludGVybmFseSB0cmlnZ2VycyB0aGUgcGFycmVudCBgZWZmZWN0YCB0byByZS1ydW4uXG4gICAgICAgIC8vIE5vdGU6IFJldmlzaXQgb25jZSB2MTkgaXMgcmVsZWFzZWQgYmVjYXVzZSB0aGUgYGVmZmVjdGAgQVBJIGhhcyBjaGFuZ2VkXG4gICAgICAgIC8vIHNpZ25pZmljYW50bHkgYW5kIHRoaXMgbWlnaHQgbm90IGJlIG5lY2Vzc2FyeSBhbnltb3JlXG4gICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRDb3VudHJ5KGNvdW50cnkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB2YWx1ZSA9IG1hc2tpdG9UcmFuc2Zvcm0odmFsdWUsIHRoaXMubWFzayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIC8qIG5vb3AgZnVuY3Rpb24gKi9cbiAgfTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgLyogbm9vcCBmdW5jdGlvbiAqL1xuICB9O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHNlbGVjdGVkQ29udHJ5KHsgdmFsdWUgfTogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgY29uc3QgY291bnRyeSA9IHRoaXMuY291bnRyaWVzLmZpbmQoKGNvbnRyeSkgPT4gY29udHJ5LmNvdW50cnlJc29Db2RlID09PSB2YWx1ZSk7XG5cbiAgICBpZiAoIWNvdW50cnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJlZml4IG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0Q291bnRyeShjb3VudHJ5KTtcbiAgICB0aGlzLmZvcm1Db250cm9sKCkucmVzZXQoKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5waG9uZU51bWJlcklucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgc2V0Q291bnRyeShjb3VudHJ5OiBDb250cnkpIHtcbiAgICB0aGlzLmNob3NlbkNvdW50cnkuc2V0KGNvdW50cnkpO1xuICAgIHRoaXMuc2V0dXAoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG9uQ2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpPy52YWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgZ2VuZXJhdGVQaG9uZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgcGhvbmVPcHRpb25zID0gbWFza2l0b1Bob25lT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICBjb3VudHJ5SXNvQ29kZTogdGhpcy5jaG9zZW5Db3VudHJ5KCkuY291bnRyeUlzb0NvZGUsXG4gICAgICBtZXRhZGF0YTogcGhvbmVNZXRhZGF0YSxcbiAgICAgIHNlcGFyYXRvcjogJyAnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tYXNrID0gcGhvbmVPcHRpb25zO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBzZXR1cCgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlUGhvbmVPcHRpb25zKCk7XG4gICAgdGhpcy5zZXRWYWxpZGF0b3IoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgc2V0VmFsaWRhdG9yKCkge1xuICAgIGNvbnN0IGNvdW50cnlDb2RlID0gdGhpcy5jaG9zZW5Db3VudHJ5KCkuY291bnRyeUlzb0NvZGU7XG4gICAgdGhpcy5mb3JtQ29udHJvbCgpLmFkZFZhbGlkYXRvcnMocGhvbmVWYWxpZGF0b3IoY291bnRyeUNvZGUpKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIGdldENvdW50cnlOYW1lKGNvdW50cnlJc29Db2RlOiBDb3VudHJ5Q29kZSkge1xuICAgIHJldHVybiB0aGlzLmludGxbY291bnRyeUlzb0NvZGUgYXMga2V5b2YgV2F0dFBob25lRmllbGRJbnRsU2VydmljZV07XG4gIH1cbn1cbiJdfQ==
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1waG9uZS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9waG9uZS1maWVsZC93YXR0LXBob25lLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFFWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUlMLGlCQUFpQixFQUNqQixtQkFBbUIsR0FHcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFDekUsT0FBTyxhQUFhLE1BQU0sZ0NBQWdDLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFPNUUsU0FBUyxjQUFjLENBQUMsV0FBd0I7SUFDOUMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDM0Qs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QWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEIsYUFDVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7OEJBOEJELFVBQVU7c0JBRFQsV0FBVzt1QkFBQywwQkFBMEI7Z0JBT1IsZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUNvbnRyb2wsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JGbixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWFza2l0b0RpcmVjdGl2ZSB9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTUFTS0lUT19ERUZBVUxUX09QVElPTlMsIG1hc2tpdG9UcmFuc2Zvcm0gfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7IG1hc2tpdG9QaG9uZU9wdGlvbnNHZW5lcmF0b3IgfSBmcm9tICdAbWFza2l0by9waG9uZSc7XG5pbXBvcnQgeyBpc1ZhbGlkUGhvbmVOdW1iZXIsIHR5cGUgQ291bnRyeUNvZGUgfSBmcm9tICdsaWJwaG9uZW51bWJlci1qcyc7XG5pbXBvcnQgcGhvbmVNZXRhZGF0YSBmcm9tICdsaWJwaG9uZW51bWJlci1qcy9taW4vbWV0YWRhdGEnO1xuXG5pbXBvcnQgeyBXYXR0RmxhZ0NvbXBvbmVudCB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC9pY29uL2ZsYWdzJztcbmltcG9ydCB7IFdhdHRGaWVsZENvbXBvbmVudCwgV2F0dEZpZWxkRXJyb3JDb21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvZmllbGQnO1xuXG5pbXBvcnQgeyBXYXR0UGhvbmVGaWVsZEludGxTZXJ2aWNlIH0gZnJvbSAnLi93YXR0LXBob25lLWZpZWxkLWludGwuc2VydmljZSc7XG5cbnR5cGUgQ29udHJ5ID0ge1xuICBjb3VudHJ5SXNvQ29kZTogQ291bnRyeUNvZGU7XG4gIHBob25lRXh0ZW5zaW9uOiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBwaG9uZVZhbGlkYXRvcihjb3VudHJ5Q29kZTogQ291bnRyeUNvZGUpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGlmICghY29udHJvbC52YWx1ZSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgdmFsaWQgPSBpc1ZhbGlkUGhvbmVOdW1iZXIoY29udHJvbC52YWx1ZSwgY291bnRyeUNvZGUpO1xuXG4gICAgcmV0dXJuIHZhbGlkID8gbnVsbCA6IHsgaW52YWxpZFBob25lOiB0cnVlIH07XG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhdHQtcGhvbmUtZmllbGQnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBpbXBvcnRzOiBbXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICBXYXR0RmllbGRDb21wb25lbnQsXG4gICAgV2F0dEZpZWxkRXJyb3JDb21wb25lbnQsXG4gICAgV2F0dEZsYWdDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2F0dFBob25lRmllbGRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8d2F0dC1maWVsZCBbbGFiZWxdPVwibGFiZWwoKVwiIFtjb250cm9sXT1cImZvcm1Db250cm9sKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3YXR0LXBob25lLWZpZWxkX19wcmVmaXgtY29udGFpbmVyXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgcGFuZWxXaWR0aD1cIlwiXG4gICAgICAgICAgcGFuZWxDbGFzcz1cIndhdHQtcGhvbmUtZmllbGRfX3NlbGVjdFwiXG4gICAgICAgICAgW2hpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiXG4gICAgICAgICAgW3ZhbHVlXT1cImNob3NlbkNvdW50cnkoKS5jb3VudHJ5SXNvQ29kZVwiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3RlZENvbnRyeSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgICA8d2F0dC1mbGFnIFtjb3VudHJ5XT1cImNob3NlbkNvdW50cnkoKS5jb3VudHJ5SXNvQ29kZVwiIC8+XG4gICAgICAgICAgPC9tYXQtc2VsZWN0LXRyaWdnZXI+XG4gICAgICAgICAgQGZvciAoY29udHJ5IG9mIGNvdW50cmllczsgdHJhY2sgY29udHJ5OyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwie3sgY29udHJ5LmNvdW50cnlJc29Db2RlIH19XCI+XG4gICAgICAgICAgICAgIDx3YXR0LWZsYWcgW2NvdW50cnldPVwiY29udHJ5LmNvdW50cnlJc29Db2RlXCIgLz5cbiAgICAgICAgICAgICAgPGRpdj57eyBnZXRDb3VudHJ5TmFtZShjb250cnkuY291bnRyeUlzb0NvZGUpIH19PC9kaXY+XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwoKVwiXG4gICAgICAgICAgYXV0b2NvbXBsZXRlPVwidGVsXCJcbiAgICAgICAgICBpbnB1dG1vZGU9XCJ0ZWxcIlxuICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgICAoaW5wdXQpPVwib25DaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgIFttYXNraXRvXT1cIm1hc2tcIlxuICAgICAgICAgICNwaG9uZU51bWJlcklucHV0XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1oaW50XCIgc2VsZWN0PVwid2F0dC1maWVsZC1oaW50XCIgLz5cbiAgICAgIDxuZy1jb250ZW50IG5nUHJvamVjdEFzPVwid2F0dC1maWVsZC1lcnJvclwiIHNlbGVjdD1cIndhdHQtZmllbGQtZXJyb3JcIiAvPlxuICAgICAgQGlmIChmb3JtQ29udHJvbCgpLmhhc0Vycm9yKCdpbnZhbGlkUGhvbmUnKSkge1xuICAgICAgICA8d2F0dC1maWVsZC1lcnJvcj4ge3sgaW50bC5pbnZhbGlkUGhvbmVOdW1iZXIgfX0gPC93YXR0LWZpZWxkLWVycm9yPlxuICAgICAgfVxuICAgIDwvd2F0dC1maWVsZD5cbiAgYCxcbiAgc3R5bGVVcmw6ICcuL3dhdHQtcGhvbmUtZmllbGQuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0UGhvbmVGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICAvKiogQGlnbm9yZSAqL1xuICByZWFkb25seSBjb3VudHJpZXM6IENvbnRyeVtdID0gW1xuICAgIHsgY291bnRyeUlzb0NvZGU6ICdESycsIHBob25lRXh0ZW5zaW9uOiAnKzQ1JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdTRScsIHBob25lRXh0ZW5zaW9uOiAnKzQ2JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdOTycsIHBob25lRXh0ZW5zaW9uOiAnKzQ3JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdERScsIHBob25lRXh0ZW5zaW9uOiAnKzQ5JyB9LFxuICAgIHsgY291bnRyeUlzb0NvZGU6ICdGSScsIHBob25lRXh0ZW5zaW9uOiAnKzM1OCcgfSxcbiAgICB7IGNvdW50cnlJc29Db2RlOiAnUEwnLCBwaG9uZUV4dGVuc2lvbjogJys0OCcgfSxcbiAgICB7IGNvdW50cnlJc29Db2RlOiAnTkwnLCBwaG9uZUV4dGVuc2lvbjogJyszMScgfSxcbiAgICB7IGNvdW50cnlJc29Db2RlOiAnQ0gnLCBwaG9uZUV4dGVuc2lvbjogJys0MScgfSxcbiAgXTtcblxuICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuICBsYWJlbCA9IGlucHV0PHN0cmluZz4oKTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBjaG9zZW5Db3VudHJ5ID0gc2lnbmFsPENvbnRyeT4odGhpcy5jb3VudHJpZXNbMF0pO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIG1hc2sgPSBNQVNLSVRPX0RFRkFVTFRfT1BUSU9OUztcblxuICAvKiogQGlnbm9yZSAqL1xuICBpbnRsID0gaW5qZWN0KFdhdHRQaG9uZUZpZWxkSW50bFNlcnZpY2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIEBIb3N0QmluZGluZygnYXR0ci53YXR0LWZpZWxkLWRpc2FibGVkJylcbiAgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAvKiogQGlnbm9yZSAqL1xuICBAVmlld0NoaWxkKCdwaG9uZU51bWJlcklucHV0JykgcGhvbmVOdW1iZXJJbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR1cCgpO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5jb3VudHJpZXMuZmluZCgoY291bnRyeSkgPT4gdmFsdWUuc3RhcnRzV2l0aChjb3VudHJ5LnBob25lRXh0ZW5zaW9uKSk7XG5cbiAgICAgIGlmIChjb3VudHJ5KSB7XG4gICAgICAgIC8vIEV4Y2x1ZGUgU2lnbmFsIGZyb20gYmVpbmcgdHJhY2tlZFxuICAgICAgICAvLyBpbiBjYXNlIHRoZSBwYXJlbnQgY29tcG9uZW50IHNldHMgdGhlIHZhbHVlIGluc2lkZSBhbiBgZWZmZWN0YC5cbiAgICAgICAgLy8gV2l0aG91dCB0aGlzLCB1cGRhdGluZyB0aGUgU2lnbmFsIGludGVybmFseSB0cmlnZ2VycyB0aGUgcGFycmVudCBgZWZmZWN0YCB0byByZS1ydW4uXG4gICAgICAgIC8vIE5vdGU6IFJldmlzaXQgb25jZSB2MTkgaXMgcmVsZWFzZWQgYmVjYXVzZSB0aGUgYGVmZmVjdGAgQVBJIGhhcyBjaGFuZ2VkXG4gICAgICAgIC8vIHNpZ25pZmljYW50bHkgYW5kIHRoaXMgbWlnaHQgbm90IGJlIG5lY2Vzc2FyeSBhbnltb3JlXG4gICAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRDb3VudHJ5KGNvdW50cnkpO1xuICAgICAgICB9KTtcblxuICAgICAgICB2YWx1ZSA9IG1hc2tpdG9UcmFuc2Zvcm0odmFsdWUsIHRoaXMubWFzayk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIC8qIG5vb3AgZnVuY3Rpb24gKi9cbiAgfTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgLyogbm9vcCBmdW5jdGlvbiAqL1xuICB9O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHNlbGVjdGVkQ29udHJ5KHsgdmFsdWUgfTogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgY29uc3QgY291bnRyeSA9IHRoaXMuY291bnRyaWVzLmZpbmQoKGNvbnRyeSkgPT4gY29udHJ5LmNvdW50cnlJc29Db2RlID09PSB2YWx1ZSk7XG5cbiAgICBpZiAoIWNvdW50cnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUHJlZml4IG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0Q291bnRyeShjb3VudHJ5KTtcbiAgICB0aGlzLmZvcm1Db250cm9sKCkucmVzZXQoKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5waG9uZU51bWJlcklucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgc2V0Q291bnRyeShjb3VudHJ5OiBDb250cnkpIHtcbiAgICB0aGlzLmNob3NlbkNvdW50cnkuc2V0KGNvdW50cnkpO1xuICAgIHRoaXMuc2V0dXAoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG9uQ2hhbmdlZChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQpPy52YWx1ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgZ2VuZXJhdGVQaG9uZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgcGhvbmVPcHRpb25zID0gbWFza2l0b1Bob25lT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICBjb3VudHJ5SXNvQ29kZTogdGhpcy5jaG9zZW5Db3VudHJ5KCkuY291bnRyeUlzb0NvZGUsXG4gICAgICBtZXRhZGF0YTogcGhvbmVNZXRhZGF0YSxcbiAgICAgIHNlcGFyYXRvcjogJyAnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tYXNrID0gcGhvbmVPcHRpb25zO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBzZXR1cCgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlUGhvbmVPcHRpb25zKCk7XG4gICAgdGhpcy5zZXRWYWxpZGF0b3IoKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgc2V0VmFsaWRhdG9yKCkge1xuICAgIGNvbnN0IGNvdW50cnlDb2RlID0gdGhpcy5jaG9zZW5Db3VudHJ5KCkuY291bnRyeUlzb0NvZGU7XG4gICAgdGhpcy5mb3JtQ29udHJvbCgpLmFkZFZhbGlkYXRvcnMocGhvbmVWYWxpZGF0b3IoY291bnRyeUNvZGUpKTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIGdldENvdW50cnlOYW1lKGNvdW50cnlJc29Db2RlOiBDb3VudHJ5Q29kZSkge1xuICAgIHJldHVybiB0aGlzLmludGxbY291bnRyeUlzb0NvZGUgYXMga2V5b2YgV2F0dFBob25lRmllbGRJbnRsU2VydmljZV07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -289,7 +289,7 @@ export class WattDatepickerComponent extends WattPickerBase {
|
|
|
289
289
|
return maybeDateInDanishTimeZone;
|
|
290
290
|
}
|
|
291
291
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
292
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: WattDatepickerComponent, isStandalone: true, selector: "watt-datepicker", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, rangeMonthOnlyMode: { classPropertyName: "rangeMonthOnlyMode", publicName: "rangeMonthOnlyMode", isSignal: true, isRequired: false, transformFunction: null }, startAt: { classPropertyName: "startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, dateClass: { classPropertyName: "dateClass", publicName: "dateClass", isSignal: true, isRequired: false, transformFunction: null }, canStepThroughDays: { classPropertyName: "canStepThroughDays", publicName: "canStepThroughDays", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: WattDatepickerComponent }], viewQueries: [{ propertyName: "matEndDate", first: true, predicate: MatEndDate, descendants: true, isSignal: true }, { propertyName: "matStartDate", first: true, predicate: MatStartDate, descendants: true, isSignal: true }, { propertyName: "matDateRangeInput", first: true, predicate: MatDateRangeInput, descendants: true, isSignal: true }, { propertyName: "matDatepickerInput", first: true, predicate: MatDatepickerInput, descendants: true, isSignal: true }, { propertyName: "matDateRangePicker", first: true, predicate: MatDateRangePicker, descendants: true, isSignal: true }, { propertyName: "actualInput", first: true, predicate: ["actualInput"], descendants: true, isSignal: true }, { propertyName: "input", first: true, predicate: ["dateInput"], descendants: true, isSignal: true }, { propertyName: "endInput", first: true, predicate: ["endDateInput"], descendants: true, isSignal: true }, { propertyName: "startInput", first: true, predicate: ["startDateInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<watt-field [control]=\"control\" [label]=\"label()\">\n @if (range) {\n <mat-date-range-input\n [disabled]=\"disabled\"\n [rangePicker]=\"rangeDatepicker\"\n [min]=\"min() ?? null\"\n [max]=\"max() ?? null\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n >\n <input\n inert\n aria-label=\"start-date-input\"\n matStartDate\n #startDateInput\n [readOnly]=\"rangeMonthOnlyMode()\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [hidden]=\"true\"\n />\n\n <input\n inert\n aria-label=\"end-date-input\"\n matEndDate\n #endDateInput\n [readOnly]=\"rangeMonthOnlyMode()\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [hidden]=\"true\"\n />\n </mat-date-range-input>\n <input #actualInput class=\"mask-input\" [disabled]=\"disabled\" />\n <watt-placeholder-mask\n [primaryInputElement]=\"actualInput\"\n [mask]=\"rangeInputMask()\"\n [placeholder]=\"rangePlaceholder\"\n (maskApplied)=\"rangeInputChanged($event)\"\n />\n\n <watt-button\n variant=\"icon\"\n icon=\"date\"\n [disabled]=\"disabled\"\n [attr.aria-pressed]=\"false\"\n (click)=\"rangeDatepicker.open()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n />\n\n <mat-date-range-picker\n [panelClass]=\"rangeMonthOnlyMode() ? 'watt-datepicker-range__panel--month-only' : ''\"\n [startView]=\"rangeMonthOnlyMode() ? 'multi-year' : 'month'\"\n [startAt]=\"startAt()\"\n (monthSelected)=\"onMonthSelected($event)\"\n (closed)=\"rangePickerClosed()\"\n #rangeDatepicker\n />\n } @else {\n <input\n inert\n matInput\n tabindex=\"-1\"\n aria-label=\"date-input\"\n #dateInput\n autocomplete=\"off\"\n spellcheck=\"false\"\n [disabled]=\"disabled\"\n [min]=\"min()\"\n [max]=\"max()\"\n [matDatepicker]=\"singleDatepicker\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n />\n <input #actualInput class=\"mask-input\" [disabled]=\"disabled\" />\n <watt-placeholder-mask\n [primaryInputElement]=\"actualInput\"\n [mask]=\"inputMask()\"\n [placeholder]=\"placeholder\"\n (maskApplied)=\"inputChanged($event)\"\n />\n\n <watt-button\n wattSuffix\n variant=\"icon\"\n icon=\"date\"\n [disabled]=\"disabled\"\n (click)=\"singleDatepicker.open()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n />\n\n <mat-datepicker\n #singleDatepicker\n panelClass=\"watt-datepicker-single__panel\"\n [dateClass]=\"dateClass()\"\n [startAt]=\"startAt()\"\n (closed)=\"datepickerClosed()\"\n />\n }\n\n <ng-content />\n <ng-content ngProjectAs=\"watt-field-hint\" select=\"watt-field-hint\" />\n <ng-content ngProjectAs=\"watt-field-error\" select=\"watt-field-error\" />\n <ng-content ngProjectAs=\"watt-field-warning\" select=\"watt-field-warning\" />\n</watt-field>\n\n@if (!range && canStepThroughDays()) {\n <span\n class=\"watt-datepicker-single__step-through\"\n [class.watt-datepicker-single__has-label]=\"!!label()\"\n >\n <watt-button\n variant=\"icon\"\n icon=\"left\"\n (click)=\"prevDay()\"\n [disabled]=\"disabled || isPrevDayButtonDisabled()\"\n />\n <watt-button\n variant=\"icon\"\n icon=\"right\"\n (click)=\"nextDay()\"\n [disabled]=\"disabled || isNextDayButtonDisabled()\"\n />\n </span>\n}\n", styles: ["watt-datepicker{display:flex;align-items:center;width:100%}watt-datepicker watt-button[variant=icon]{margin-left:auto}watt-datepicker watt-button[variant=icon] .watt-button--icon{height:42px}watt-datepicker mat-datepicker,watt-datepicker mat-date-range-picker{display:none}watt-datepicker input.mat-date-range-input-inner,watt-datepicker input.mat-mdc-input-element,watt-datepicker .mat-date-range-input-mirror,watt-datepicker input.mask-input{font-family:Droid Sans Mono,monospace}watt-datepicker input.mat-date-range-input-inner,watt-datepicker input.mat-mdc-input-element,watt-datepicker input.mask-input{border:none;caret-color:var(--watt-color-neutral-black);letter-spacing:-.03em;-webkit-background-clip:text;-moz-background-clip:text;background-clip:text;color:transparent}watt-datepicker input.mask-input{color:#000}watt-datepicker input.mask-input{position:absolute;min-width:100%;padding:2px 1px}watt-datepicker input.mask-input:focus-visible{outline:none}watt-datepicker .mat-date-range-input-container{align-items:initial}watt-datepicker .mat-date-range-input-start-wrapper,watt-datepicker .mat-date-range-input-end-wrapper{max-width:calc(50% - var(--watt-space-s));overflow:visible;position:relative}watt-datepicker .mat-date-range-input-separator{display:flex;align-items:center}watt-datepicker .mat-date-range-input-separator-hidden,watt-datepicker .mat-date-range-input-separator{opacity:0!important}watt-datepicker .mat-date-range-input-inner::-webkit-input-placeholder{color:var(--watt-color-neutral-grey-500)!important;-webkit-text-fill-color:var(--watt-color-neutral-grey-500)}watt-datepicker watt-button .mat-button{background:transparent}watt-datepicker:has(.watt-datepicker-single__step-through){align-items:flex-start}watt-datepicker:has(.watt-datepicker-single__step-through) .watt-datepicker-single__step-through{display:flex;margin-top:1px}watt-datepicker:has(.watt-datepicker-single__has-label) .watt-datepicker-single__step-through{margin-top:28px}.watt-datepicker-range__panel--month-only .mat-calendar-period-button{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName"] }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattPlaceholderMaskComponent, selector: "watt-placeholder-mask", inputs: ["primaryInputElement", "secondaryInputElement", "mask", "placeholder"], outputs: ["maskApplied"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
292
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: WattDatepickerComponent, isStandalone: true, selector: "watt-datepicker", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, rangeMonthOnlyMode: { classPropertyName: "rangeMonthOnlyMode", publicName: "rangeMonthOnlyMode", isSignal: true, isRequired: false, transformFunction: null }, startAt: { classPropertyName: "startAt", publicName: "startAt", isSignal: true, isRequired: false, transformFunction: null }, dateClass: { classPropertyName: "dateClass", publicName: "dateClass", isSignal: true, isRequired: false, transformFunction: null }, canStepThroughDays: { classPropertyName: "canStepThroughDays", publicName: "canStepThroughDays", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: MatFormFieldControl, useExisting: WattDatepickerComponent }], viewQueries: [{ propertyName: "matEndDate", first: true, predicate: MatEndDate, descendants: true, isSignal: true }, { propertyName: "matStartDate", first: true, predicate: MatStartDate, descendants: true, isSignal: true }, { propertyName: "matDateRangeInput", first: true, predicate: MatDateRangeInput, descendants: true, isSignal: true }, { propertyName: "matDatepickerInput", first: true, predicate: MatDatepickerInput, descendants: true, isSignal: true }, { propertyName: "matDateRangePicker", first: true, predicate: MatDateRangePicker, descendants: true, isSignal: true }, { propertyName: "actualInput", first: true, predicate: ["actualInput"], descendants: true, isSignal: true }, { propertyName: "input", first: true, predicate: ["dateInput"], descendants: true, isSignal: true }, { propertyName: "endInput", first: true, predicate: ["endDateInput"], descendants: true, isSignal: true }, { propertyName: "startInput", first: true, predicate: ["startDateInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<watt-field [control]=\"control\" [label]=\"label()\">\n @if (range) {\n <mat-date-range-input\n [disabled]=\"disabled\"\n [rangePicker]=\"rangeDatepicker\"\n [min]=\"min() ?? null\"\n [max]=\"max() ?? null\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n >\n <input\n inert\n aria-label=\"start-date-input\"\n matStartDate\n #startDateInput\n [readOnly]=\"rangeMonthOnlyMode()\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [hidden]=\"true\"\n />\n\n <input\n inert\n aria-label=\"end-date-input\"\n matEndDate\n #endDateInput\n [readOnly]=\"rangeMonthOnlyMode()\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [hidden]=\"true\"\n />\n </mat-date-range-input>\n <input #actualInput class=\"mask-input\" [disabled]=\"disabled\" />\n <watt-placeholder-mask\n [primaryInputElement]=\"actualInput\"\n [mask]=\"rangeInputMask()\"\n [placeholder]=\"rangePlaceholder\"\n (maskApplied)=\"rangeInputChanged($event)\"\n />\n\n <watt-button\n variant=\"icon\"\n icon=\"date\"\n [disabled]=\"disabled\"\n [attr.aria-pressed]=\"false\"\n (click)=\"rangeDatepicker.open()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n />\n\n <mat-date-range-picker\n [panelClass]=\"rangeMonthOnlyMode() ? 'watt-datepicker-range__panel--month-only' : ''\"\n [startView]=\"rangeMonthOnlyMode() ? 'multi-year' : 'month'\"\n [startAt]=\"startAt()\"\n (monthSelected)=\"onMonthSelected($event)\"\n (closed)=\"rangePickerClosed()\"\n #rangeDatepicker\n />\n } @else {\n <input\n inert\n matInput\n tabindex=\"-1\"\n aria-label=\"date-input\"\n #dateInput\n autocomplete=\"off\"\n spellcheck=\"false\"\n [disabled]=\"disabled\"\n [min]=\"min()\"\n [max]=\"max()\"\n [matDatepicker]=\"singleDatepicker\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n />\n <input #actualInput class=\"mask-input\" [disabled]=\"disabled\" />\n <watt-placeholder-mask\n [primaryInputElement]=\"actualInput\"\n [mask]=\"inputMask()\"\n [placeholder]=\"placeholder\"\n (maskApplied)=\"inputChanged($event)\"\n />\n\n <watt-button\n wattSuffix\n variant=\"icon\"\n icon=\"date\"\n [disabled]=\"disabled\"\n (click)=\"singleDatepicker.open()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n />\n\n <mat-datepicker\n #singleDatepicker\n panelClass=\"watt-datepicker-single__panel\"\n [dateClass]=\"dateClass()\"\n [startAt]=\"startAt()\"\n (closed)=\"datepickerClosed()\"\n />\n }\n\n <ng-content />\n <ng-content ngProjectAs=\"watt-field-hint\" select=\"watt-field-hint\" />\n <ng-content ngProjectAs=\"watt-field-error\" select=\"watt-field-error\" />\n <ng-content ngProjectAs=\"watt-field-warning\" select=\"watt-field-warning\" />\n</watt-field>\n\n@if (!range && canStepThroughDays()) {\n <span\n class=\"watt-datepicker-single__step-through\"\n [class.watt-datepicker-single__has-label]=\"!!label()\"\n >\n <watt-button\n variant=\"icon\"\n icon=\"left\"\n (click)=\"prevDay()\"\n [disabled]=\"disabled || isPrevDayButtonDisabled()\"\n />\n <watt-button\n variant=\"icon\"\n icon=\"right\"\n (click)=\"nextDay()\"\n [disabled]=\"disabled || isNextDayButtonDisabled()\"\n />\n </span>\n}\n", styles: ["watt-datepicker{display:flex;align-items:center;width:100%}watt-datepicker watt-button[variant=icon]{margin-left:auto}watt-datepicker watt-button[variant=icon] .watt-button--icon{height:42px}watt-datepicker mat-datepicker,watt-datepicker mat-date-range-picker{display:none}watt-datepicker input.mat-date-range-input-inner,watt-datepicker input.mat-mdc-input-element,watt-datepicker .mat-date-range-input-mirror,watt-datepicker input.mask-input{font-family:Droid Sans Mono,monospace}watt-datepicker input.mat-date-range-input-inner,watt-datepicker input.mat-mdc-input-element,watt-datepicker input.mask-input{border:none;caret-color:var(--watt-color-neutral-black);letter-spacing:-.03em;-webkit-background-clip:text;-moz-background-clip:text;background-clip:text;color:transparent}watt-datepicker input.mask-input{color:#000}watt-datepicker input.mask-input{position:absolute;min-width:100%;padding:2px 1px}watt-datepicker input.mask-input:focus-visible{outline:none}watt-datepicker .mat-date-range-input-container{align-items:initial}watt-datepicker .mat-date-range-input-start-wrapper,watt-datepicker .mat-date-range-input-end-wrapper{max-width:calc(50% - var(--watt-space-s));overflow:visible;position:relative}watt-datepicker .mat-date-range-input-separator{display:flex;align-items:center}watt-datepicker .mat-date-range-input-separator-hidden,watt-datepicker .mat-date-range-input-separator{opacity:0!important}watt-datepicker .mat-date-range-input-inner::-webkit-input-placeholder{color:var(--watt-color-neutral-grey-500)!important;-webkit-text-fill-color:var(--watt-color-neutral-grey-500)}watt-datepicker watt-button .mat-button{background:transparent}watt-datepicker:has(.watt-datepicker-single__step-through){align-items:flex-start}watt-datepicker:has(.watt-datepicker-single__step-through) .watt-datepicker-single__step-through{display:flex;margin-top:1px}watt-datepicker:has(.watt-datepicker-single__has-label) .watt-datepicker-single__step-through{margin-top:28px}.watt-datepicker-range__panel--month-only .mat-calendar-period-button{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName", "autoFocus", "showErrors"] }, { kind: "component", type: WattButtonComponent, selector: "watt-button", inputs: ["icon", "variant", "size", "type", "formId", "disabled", "loading"] }, { kind: "component", type: WattPlaceholderMaskComponent, selector: "watt-placeholder-mask", inputs: ["primaryInputElement", "secondaryInputElement", "mask", "placeholder"], outputs: ["maskApplied"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
293
293
|
}
|
|
294
294
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: WattDatepickerComponent, decorators: [{
|
|
295
295
|
type: Component,
|
|
@@ -301,4 +301,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
|
|
|
301
301
|
WattPlaceholderMaskComponent,
|
|
302
302
|
], template: "<!--\n@license\nCopyright 2020 Energinet DataHub A/S\n\nLicensed under the Apache License, Version 2.0 (the \"License2\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n<watt-field [control]=\"control\" [label]=\"label()\">\n @if (range) {\n <mat-date-range-input\n [disabled]=\"disabled\"\n [rangePicker]=\"rangeDatepicker\"\n [min]=\"min() ?? null\"\n [max]=\"max() ?? null\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n >\n <input\n inert\n aria-label=\"start-date-input\"\n matStartDate\n #startDateInput\n [readOnly]=\"rangeMonthOnlyMode()\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [hidden]=\"true\"\n />\n\n <input\n inert\n aria-label=\"end-date-input\"\n matEndDate\n #endDateInput\n [readOnly]=\"rangeMonthOnlyMode()\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [hidden]=\"true\"\n />\n </mat-date-range-input>\n <input #actualInput class=\"mask-input\" [disabled]=\"disabled\" />\n <watt-placeholder-mask\n [primaryInputElement]=\"actualInput\"\n [mask]=\"rangeInputMask()\"\n [placeholder]=\"rangePlaceholder\"\n (maskApplied)=\"rangeInputChanged($event)\"\n />\n\n <watt-button\n variant=\"icon\"\n icon=\"date\"\n [disabled]=\"disabled\"\n [attr.aria-pressed]=\"false\"\n (click)=\"rangeDatepicker.open()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n />\n\n <mat-date-range-picker\n [panelClass]=\"rangeMonthOnlyMode() ? 'watt-datepicker-range__panel--month-only' : ''\"\n [startView]=\"rangeMonthOnlyMode() ? 'multi-year' : 'month'\"\n [startAt]=\"startAt()\"\n (monthSelected)=\"onMonthSelected($event)\"\n (closed)=\"rangePickerClosed()\"\n #rangeDatepicker\n />\n } @else {\n <input\n inert\n matInput\n tabindex=\"-1\"\n aria-label=\"date-input\"\n #dateInput\n autocomplete=\"off\"\n spellcheck=\"false\"\n [disabled]=\"disabled\"\n [min]=\"min()\"\n [max]=\"max()\"\n [matDatepicker]=\"singleDatepicker\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n />\n <input #actualInput class=\"mask-input\" [disabled]=\"disabled\" />\n <watt-placeholder-mask\n [primaryInputElement]=\"actualInput\"\n [mask]=\"inputMask()\"\n [placeholder]=\"placeholder\"\n (maskApplied)=\"inputChanged($event)\"\n />\n\n <watt-button\n wattSuffix\n variant=\"icon\"\n icon=\"date\"\n [disabled]=\"disabled\"\n (click)=\"singleDatepicker.open()\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n />\n\n <mat-datepicker\n #singleDatepicker\n panelClass=\"watt-datepicker-single__panel\"\n [dateClass]=\"dateClass()\"\n [startAt]=\"startAt()\"\n (closed)=\"datepickerClosed()\"\n />\n }\n\n <ng-content />\n <ng-content ngProjectAs=\"watt-field-hint\" select=\"watt-field-hint\" />\n <ng-content ngProjectAs=\"watt-field-error\" select=\"watt-field-error\" />\n <ng-content ngProjectAs=\"watt-field-warning\" select=\"watt-field-warning\" />\n</watt-field>\n\n@if (!range && canStepThroughDays()) {\n <span\n class=\"watt-datepicker-single__step-through\"\n [class.watt-datepicker-single__has-label]=\"!!label()\"\n >\n <watt-button\n variant=\"icon\"\n icon=\"left\"\n (click)=\"prevDay()\"\n [disabled]=\"disabled || isPrevDayButtonDisabled()\"\n />\n <watt-button\n variant=\"icon\"\n icon=\"right\"\n (click)=\"nextDay()\"\n [disabled]=\"disabled || isNextDayButtonDisabled()\"\n />\n </span>\n}\n", styles: ["watt-datepicker{display:flex;align-items:center;width:100%}watt-datepicker watt-button[variant=icon]{margin-left:auto}watt-datepicker watt-button[variant=icon] .watt-button--icon{height:42px}watt-datepicker mat-datepicker,watt-datepicker mat-date-range-picker{display:none}watt-datepicker input.mat-date-range-input-inner,watt-datepicker input.mat-mdc-input-element,watt-datepicker .mat-date-range-input-mirror,watt-datepicker input.mask-input{font-family:Droid Sans Mono,monospace}watt-datepicker input.mat-date-range-input-inner,watt-datepicker input.mat-mdc-input-element,watt-datepicker input.mask-input{border:none;caret-color:var(--watt-color-neutral-black);letter-spacing:-.03em;-webkit-background-clip:text;-moz-background-clip:text;background-clip:text;color:transparent}watt-datepicker input.mask-input{color:#000}watt-datepicker input.mask-input{position:absolute;min-width:100%;padding:2px 1px}watt-datepicker input.mask-input:focus-visible{outline:none}watt-datepicker .mat-date-range-input-container{align-items:initial}watt-datepicker .mat-date-range-input-start-wrapper,watt-datepicker .mat-date-range-input-end-wrapper{max-width:calc(50% - var(--watt-space-s));overflow:visible;position:relative}watt-datepicker .mat-date-range-input-separator{display:flex;align-items:center}watt-datepicker .mat-date-range-input-separator-hidden,watt-datepicker .mat-date-range-input-separator{opacity:0!important}watt-datepicker .mat-date-range-input-inner::-webkit-input-placeholder{color:var(--watt-color-neutral-grey-500)!important;-webkit-text-fill-color:var(--watt-color-neutral-grey-500)}watt-datepicker watt-button .mat-button{background:transparent}watt-datepicker:has(.watt-datepicker-single__step-through){align-items:flex-start}watt-datepicker:has(.watt-datepicker-single__step-through) .watt-datepicker-single__step-through{display:flex;margin-top:1px}watt-datepicker:has(.watt-datepicker-single__has-label) .watt-datepicker-single__step-through{margin-top:28px}.watt-datepicker-range__panel--month-only .mat-calendar-period-button{pointer-events:none}\n"] }]
|
|
303
303
|
}], ctorParameters: () => [] });
|
|
304
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kYXRlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3BpY2tlci9kYXRlcGlja2VyL3dhdHQtZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9waWNrZXIvZGF0ZXBpY2tlci93YXR0LWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBbUIsU0FBUyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsbUJBQW1CLEdBRXBCLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdGLE9BQU8sRUFDTCxLQUFLLEVBR0wsaUJBQWlCLEdBRWxCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0s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QUFDLENBQUM7UUFDNUUsQ0FBQztRQUVELE9BQU8seUJBQXlCLENBQUM7SUFDbkMsQ0FBQzt1R0E1VVUsdUJBQXVCOzJGQUF2Qix1QkFBdUIscytCQVh2QixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLHNFQTBCbkMsVUFBVSwrRkFDTixZQUFZLG9HQUNGLGlCQUFpQixxR0FDZixrQkFBa0IscUdBQ2xCLGtCQUFrQixtZ0JDL0dwRiw2b0lBOElBLDhrRUQxREksY0FBYyxpWUFDZCxtQkFBbUIsazVCQUVuQixrQkFBa0IsK0lBQ2xCLG1CQUFtQixzSUFDbkIsNEJBQTRCOzsyRkFHbkIsdUJBQXVCO2tCQWZuQyxTQUFTOytCQUNFLGlCQUFpQixhQUdoQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcseUJBQXlCLEVBQUUsQ0FBQyxpQkFDcEUsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDUCxjQUFjO3dCQUNkLG1CQUFtQjt3QkFFbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLDRCQUE0QjtxQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBpbnB1dCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGNvbXB1dGVkLFxuICBDb21wb25lbnQsXG4gIExPQ0FMRV9JRCxcbiAgdmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBsaW5rZWRTaWduYWwsXG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0NvbnRyb2wsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgTWF0RW5kRGF0ZSxcbiAgTWF0U3RhcnREYXRlLFxuICBNYXREYXRlUmFuZ2VJbnB1dCxcbiAgTWF0RGF0ZVJhbmdlUGlja2VyLFxuICBNYXREYXRlcGlja2VySW5wdXQsXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gIE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBtYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3IsIG1hc2tpdG9EYXRlUmFuZ2VPcHRpb25zR2VuZXJhdG9yIH0gZnJvbSAnQG1hc2tpdG8va2l0JztcblxuaW1wb3J0IHtcbiAgZGF5anMsXG4gIFdhdHRSYW5nZSxcbiAgV2F0dERhdGVSYW5nZSxcbiAgV2F0dExvY2FsZVNlcnZpY2UsXG4gIFdhdHRTdXBwb3J0ZWRMb2NhbGVzLFxufSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvY29yZS9kYXRlJztcblxuaW1wb3J0IHsgV2F0dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2ZpZWxkJztcbmltcG9ydCB7IFdhdHRCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvYnV0dG9uJztcblxuaW1wb3J0IHtcbiAgV2F0dFBpY2tlckJhc2UsXG4gIFdhdHRQaWNrZXJWYWx1ZSxcbiAgV2F0dFBsYWNlaG9sZGVyTWFza0NvbXBvbmVudCxcbn0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L3BpY2tlci9fX3NoYXJlZCc7XG5cbmNvbnN0IGRhdGVTaG9ydEZvcm1hdCA9ICdERC1NTS1ZWVlZJztcbmV4cG9ydCBjb25zdCBkYW5pc2hUaW1lWm9uZUlkZW50aWZpZXIgPSAnRXVyb3BlL0NvcGVuaGFnZW4nO1xuXG4vKipcbiAqIFVzYWdlOlxuICogYGltcG9ydCB7IFdhdHREYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC1kYXRhaHViL3dhdHQvZGF0ZXBpY2tlcic7YFxuICpcbiAqIElNUE9SVEFOVDpcbiAqIFRoZSBzdHlsaW5nIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gb3VyIG1vbm9zcGFjZWQgZm9udC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2F0dC1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhdHQtZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dhdHQtZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBXYXR0RGF0ZXBpY2tlckNvbXBvbmVudCB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG5cbiAgICBXYXR0RmllbGRDb21wb25lbnQsXG4gICAgV2F0dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBXYXR0UGxhY2Vob2xkZXJNYXNrQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RGF0ZXBpY2tlckNvbXBvbmVudCBleHRlbmRzIFdhdHRQaWNrZXJCYXNlIGltcGxlbWVudHMgVmFsaWRhdG9yLCBBZnRlclZpZXdJbml0IHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2hhbmdlRGV0ZWN0aW9uUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgb3B0aW9uYWw6IHRydWUsIHNlbGY6IHRydWUgfSk7XG4gIHByaXZhdGUgbG9jYWxlU2VydmljZSA9IGluamVjdChXYXR0TG9jYWxlU2VydmljZSk7XG4gIHByaXZhdGUgbG9jYWxlID0gaW5qZWN0PFdhdHRTdXBwb3J0ZWRMb2NhbGVzPihMT0NBTEVfSUQpO1xuXG4gIG1heCA9IGlucHV0PERhdGU+KCk7XG4gIG1pbiA9IGlucHV0PERhdGU+KCk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJhbmdlTW9udGhPbmx5TW9kZSA9IGlucHV0KGZhbHNlKTtcbiAgc3RhcnRBdCA9IGlucHV0PERhdGUgfCBudWxsPihudWxsKTtcbiAgZGF0ZUNsYXNzID0gaW5wdXQ8TWF0Q2FsZW5kYXJDZWxsQ2xhc3NGdW5jdGlvbjxEYXRlPj4oKCkgPT4gJycpO1xuICBjYW5TdGVwVGhyb3VnaERheXMgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgbWF0RW5kRGF0ZSA9IHZpZXdDaGlsZDxNYXRFbmREYXRlPERhdGUgfCBudWxsPj4oTWF0RW5kRGF0ZSk7XG4gIG1hdFN0YXJ0RGF0ZSA9IHZpZXdDaGlsZDxNYXRTdGFydERhdGU8RGF0ZSB8IG51bGw+PihNYXRTdGFydERhdGUpO1xuICBtYXREYXRlUmFuZ2VJbnB1dCA9IHZpZXdDaGlsZDxNYXREYXRlUmFuZ2VJbnB1dDxEYXRlIHwgbnVsbD4+KE1hdERhdGVSYW5nZUlucHV0KTtcbiAgbWF0RGF0ZXBpY2tlcklucHV0ID0gdmlld0NoaWxkPE1hdERhdGVwaWNrZXJJbnB1dDxEYXRlIHwgbnVsbD4+KE1hdERhdGVwaWNrZXJJbnB1dCk7XG4gIG1hdERhdGVSYW5nZVBpY2tlciA9IHZpZXdDaGlsZDxNYXREYXRlUmFuZ2VQaWNrZXI8RGF0ZSB8IG51bGw+PihNYXREYXRlUmFuZ2VQaWNrZXIpO1xuXG4gIGFjdHVhbElucHV0ID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdhY3R1YWxJbnB1dCcpO1xuICBvdmVycmlkZSBpbnB1dCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignZGF0ZUlucHV0Jyk7XG4gIG92ZXJyaWRlIGVuZElucHV0ID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdlbmREYXRlSW5wdXQnKTtcbiAgb3ZlcnJpZGUgc3RhcnRJbnB1dCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+Pignc3RhcnREYXRlSW5wdXQnKTtcblxuICBwcm90ZWN0ZWQgX3BsYWNlaG9sZGVyID0gdGhpcy5nZXRQbGFjZWhvbGRlckJ5TG9jYWxlKHRoaXMubG9jYWxlKTtcblxuICByYW5nZVNlcGFyYXRvciA9ICcgLSAnO1xuXG4gIHJhbmdlUGxhY2Vob2xkZXIgPSB0aGlzLmdldFJhbmdlUGxhY2Vob2xkZXIoKTtcblxuICBpbnB1dE1hc2sgPSBjb21wdXRlZCgoKSA9PlxuICAgIG1hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICBtb2RlOiAnZGQvbW0veXl5eScsXG4gICAgICBzZXBhcmF0b3I6ICctJyxcbiAgICAgIG1heDogdGhpcy5tYXgoKSxcbiAgICAgIG1pbjogdGhpcy5taW4oKSxcbiAgICB9KVxuICApO1xuXG4gIHJhbmdlSW5wdXRNYXNrID0gY29tcHV0ZWQoKCkgPT5cbiAgICBtYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICBtb2RlOiAnZGQvbW0veXl5eScsXG4gICAgICBkYXRlU2VwYXJhdG9yOiAnLScsXG4gICAgICBtYXg6IHRoaXMubWF4KCksXG4gICAgICBtaW46IHRoaXMubWluKCksXG4gICAgfSlcbiAgKTtcblxuICBnZXRQbGFjZWhvbGRlckJ5TG9jYWxlKGxvY2FsZTogV2F0dFN1cHBvcnRlZExvY2FsZXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBsb2NhbGUgPT09ICdkYScgPyAnZGQtbW0tw6XDpcOlw6UnIDogJ2RkLW1tLXl5eXknO1xuICB9XG5cbiAgZ2V0UmFuZ2VQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBsYWNlaG9sZGVyICsgdGhpcy5yYW5nZVNlcGFyYXRvciArIHRoaXMucGxhY2Vob2xkZXI7XG4gIH1cblxuICBpc1ByZXZEYXlCdXR0b25EaXNhYmxlZCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLmlzUHJldkRheUJlZm9yZU9yRXF1YWxUb01pbkRhdGUoKSk7XG4gIGlzTmV4dERheUJ1dHRvbkRpc2FibGVkID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuaXNOZXh0RGF5QWZ0ZXJPckVxdWFsVG9NYXhEYXRlKCkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKGB3YXR0LWRhdGVwaWNrZXItJHtXYXR0RGF0ZXBpY2tlckNvbXBvbmVudC5uZXh0SWQrK31gKTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBsb2NhbGUgPSB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxlKCk7XG4gICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5nZXRQbGFjZWhvbGRlckJ5TG9jYWxlKGxvY2FsZSk7XG4gICAgICB0aGlzLnJhbmdlUGxhY2Vob2xkZXIgPSB0aGlzLmdldFJhbmdlUGxhY2Vob2xkZXIoKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnJhbmdlTW9udGhPbmx5TW9kZSgpO1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5hZGRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdGUpO1xuICB9XG5cbiAgdmFsaWRhdGUgPSAoeyB2YWx1ZSB9OiBBYnN0cmFjdENvbnRyb2w8V2F0dFJhbmdlPHN0cmluZz4+KSA9PiB7XG4gICAgaWYgKCF2YWx1ZT8uZW5kIHx8ICF2YWx1ZT8uc3RhcnQpIHJldHVybiBudWxsO1xuICAgIGlmICghdGhpcy5yYW5nZU1vbnRoT25seU1vZGUoKSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3Qgc3RhcnQgPSBkYXlqcyh2YWx1ZS5zdGFydCk7XG4gICAgY29uc3QgZW5kID0gZGF5anModmFsdWUuZW5kKTtcbiAgICByZXR1cm4gc3RhcnQuaXNTYW1lKHN0YXJ0LnN0YXJ0T2YoJ21vbnRoJykpICYmIGVuZC5pc1NhbWUoc3RhcnQuZW5kT2YoJ21vbnRoJykpXG4gICAgICA/IG51bGxcbiAgICAgIDogeyBtb250aE9ubHk6IHRydWUgfTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgaW5pdFNpbmdsZUlucHV0KCkge1xuICAgIGNvbnN0IG1hdERhdGVwaWNrZXJJbnB1dCA9IHRoaXMubWF0RGF0ZXBpY2tlcklucHV0KCk7XG4gICAgaWYgKHRoaXMuaW5pdGlhbFZhbHVlICYmIG1hdERhdGVwaWNrZXJJbnB1dCkge1xuICAgICAgbWF0RGF0ZXBpY2tlcklucHV0LnZhbHVlID0gdGhpcy5pbml0aWFsVmFsdWU7XG4gICAgICB0aGlzLmRhdGVwaWNrZXJDbG9zZWQoKTtcbiAgICB9XG4gIH1cblxuICBpbnB1dENoYW5nZWQodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IGRhdGVTdHJpbmcgPSB2YWx1ZS5zbGljZSgwLCB0aGlzLnBsYWNlaG9sZGVyLmxlbmd0aCk7XG5cbiAgICBpZiAoZGF0ZVN0cmluZy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY29udHJvbD8uc2V0VmFsdWUobnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGRhdGVTdHJpbmcubGVuZ3RoICE9PSB0aGlzLnBsYWNlaG9sZGVyLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGUgPSB0aGlzLnBhcnNlRGF0ZVNob3J0Rm9ybWF0KGRhdGVTdHJpbmcpO1xuICAgIHRoaXMuY29udHJvbD8uc2V0VmFsdWUodGhpcy5mb3JtYXREYXRlRnJvbVZpZXdUb01vZGVsKGRhdGUpKTtcbiAgfVxuXG4gIGRhdGVwaWNrZXJDbG9zZWQoKSB7XG4gICAgY29uc3QgbWF0RGF0ZXBpY2tlcklucHV0ID0gdGhpcy5tYXREYXRlcGlja2VySW5wdXQoKTtcbiAgICBjb25zdCBhY3R1YWxJbnB1dCA9IHRoaXMuYWN0dWFsSW5wdXQoKTtcblxuICAgIGlmICghYWN0dWFsSW5wdXQpIHJldHVybjtcblxuICAgIGlmIChtYXREYXRlcGlja2VySW5wdXQgJiYgbWF0RGF0ZXBpY2tlcklucHV0LnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbHVlKG1hdERhdGVwaWNrZXJJbnB1dC52YWx1ZSk7XG5cbiAgICAgIGFjdHVhbElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdERhdGVUaW1lRnJvbU1vZGVsVG9WaWV3KFxuICAgICAgICB0aGlzLmZvcm1hdERhdGVGcm9tVmlld1RvTW9kZWwobWF0RGF0ZXBpY2tlcklucHV0LnZhbHVlKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYWN0dWFsSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzUHJldkRheUJ1dHRvbkRpc2FibGVkLnNldCh0aGlzLmlzUHJldkRheUJlZm9yZU9yRXF1YWxUb01pbkRhdGUoKSk7XG4gICAgdGhpcy5pc05leHREYXlCdXR0b25EaXNhYmxlZC5zZXQodGhpcy5pc05leHREYXlBZnRlck9yRXF1YWxUb01heERhdGUoKSk7XG5cbiAgICBhY3R1YWxJbnB1dC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IElucHV0RXZlbnQoJ2lucHV0JykpO1xuICB9XG5cbiAgb25Nb250aFNlbGVjdGVkKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBtYXREYXRlUmFuZ2VQaWNrZXIgPSB0aGlzLm1hdERhdGVSYW5nZVBpY2tlcigpO1xuICAgIGlmIChtYXREYXRlUmFuZ2VQaWNrZXIgJiYgdGhpcy5yYW5nZU1vbnRoT25seU1vZGUoKSAmJiBkYXRlKSB7XG4gICAgICBtYXREYXRlUmFuZ2VQaWNrZXIuc2VsZWN0KGRheWpzKGRhdGUpLnN0YXJ0T2YoJ21vbnRoJykudG9EYXRlKCkpO1xuICAgICAgbWF0RGF0ZVJhbmdlUGlja2VyLnNlbGVjdChkYXlqcyhkYXRlKS5lbmRPZignbW9udGgnKS50b0RhdGUoKSk7XG4gICAgICBtYXREYXRlUmFuZ2VQaWNrZXIuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdFJhbmdlSW5wdXQoKSB7XG4gICAgY29uc3QgbWF0U3RhcnREYXRlID0gdGhpcy5tYXRTdGFydERhdGUoKTtcbiAgICBjb25zdCBtYXRFbmREYXRlID0gdGhpcy5tYXRFbmREYXRlKCk7XG5cbiAgICBpZiAodGhpcy5pbml0aWFsVmFsdWUgJiYgbWF0U3RhcnREYXRlICYmIG1hdEVuZERhdGUpIHtcbiAgICAgIG1hdFN0YXJ0RGF0ZS52YWx1ZSA9ICh0aGlzLmluaXRpYWxWYWx1ZSBhcyBXYXR0RGF0ZVJhbmdlKS5zdGFydDtcbiAgICAgIG1hdEVuZERhdGUudmFsdWUgPSAodGhpcy5pbml0aWFsVmFsdWUgYXMgV2F0dERhdGVSYW5nZSkuZW5kO1xuICAgICAgdGhpcy5yYW5nZVBpY2tlckNsb3NlZCgpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyUmFuZ2VQaWNrZXIoKSB7XG4gICAgY29uc3QgYWN0dWFsSW5wdXQgPSB0aGlzLmFjdHVhbElucHV0KCk7XG5cbiAgICBpZiAoIWFjdHVhbElucHV0KSByZXR1cm47XG5cbiAgICB0aGlzLmNvbnRyb2w/LnNldFZhbHVlKG51bGwpO1xuICAgIGFjdHVhbElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICBhY3R1YWxJbnB1dC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IElucHV0RXZlbnQoJ2lucHV0JykpO1xuICB9XG5cbiAgcmFuZ2VJbnB1dENoYW5nZWQodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IHN0YXJ0RGF0ZVN0cmluZyA9IHZhbHVlLnNsaWNlKDAsIHRoaXMucGxhY2Vob2xkZXIubGVuZ3RoKTtcblxuICAgIGlmIChzdGFydERhdGVTdHJpbmcubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbHVlKG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChzdGFydERhdGVTdHJpbmcubGVuZ3RoICE9PSB0aGlzLnBsYWNlaG9sZGVyLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5wYXJzZURhdGVTaG9ydEZvcm1hdChzdGFydERhdGVTdHJpbmcpO1xuICAgIGNvbnN0IGVuZERhdGVTdHJpbmcgPSB2YWx1ZS5zbGljZSh0aGlzLnBsYWNlaG9sZGVyLmxlbmd0aCArIHRoaXMucmFuZ2VTZXBhcmF0b3IubGVuZ3RoKTtcbiAgICBsZXQgZW5kID0gdGhpcy5zZXRFbmREYXRlVG9EYW5pc2hUaW1lWm9uZShlbmREYXRlU3RyaW5nKTtcblxuICAgIGlmIChlbmQgIT09IG51bGwpIHtcbiAgICAgIGVuZCA9IHRoaXMuc2V0VG9FbmRPZkRheShlbmQpO1xuICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZSh7IHN0YXJ0LCBlbmQgfSk7XG4gICAgfVxuICB9XG5cbiAgcmFuZ2VQaWNrZXJDbG9zZWQoKSB7XG4gICAgY29uc3QgbWF0RGF0ZVJhbmdlSW5wdXQgPSB0aGlzLm1hdERhdGVSYW5nZUlucHV0KCk7XG4gICAgY29uc3QgYWN0dWFsSW5wdXQgPSB0aGlzLmFjdHVhbElucHV0KCk7XG5cbiAgICBpZiAoIWFjdHVhbElucHV0KSByZXR1cm47XG5cbiAgICBpZiAobWF0RGF0ZVJhbmdlSW5wdXQ/LnZhbHVlPy5zdGFydCAmJiBtYXREYXRlUmFuZ2VJbnB1dD8udmFsdWU/LmVuZCkge1xuICAgICAgYWN0dWFsSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9XG4gICAgICAgIHRoaXMuZm9ybWF0RGF0ZVRpbWVGcm9tTW9kZWxUb1ZpZXcoXG4gICAgICAgICAgdGhpcy5mb3JtYXREYXRlRnJvbVZpZXdUb01vZGVsKG1hdERhdGVSYW5nZUlucHV0LnZhbHVlPy5zdGFydClcbiAgICAgICAgKSArXG4gICAgICAgICctJyArXG4gICAgICAgIHRoaXMuZm9ybWF0RGF0ZVRpbWVGcm9tTW9kZWxUb1ZpZXcoXG4gICAgICAgICAgdGhpcy5mb3JtYXREYXRlRnJvbVZpZXdUb01vZGVsKG1hdERhdGVSYW5nZUlucHV0LnZhbHVlLmVuZClcbiAgICAgICAgKTtcblxuICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZSh7XG4gICAgICAgIHN0YXJ0OiB0aGlzLmZvcm1hdERhdGVGcm9tVmlld1RvTW9kZWwobWF0RGF0ZVJhbmdlSW5wdXQudmFsdWUuc3RhcnQpLFxuICAgICAgICBlbmQ6IHRoaXMuZm9ybWF0RGF0ZUZyb21WaWV3VG9Nb2RlbChtYXREYXRlUmFuZ2VJbnB1dC52YWx1ZS5lbmQpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjdHVhbElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgIHRoaXMuY29udHJvbD8uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuXG4gICAgYWN0dWFsSW5wdXQubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRTaW5nbGVWYWx1ZShcbiAgICB2YWx1ZTogRXhjbHVkZTxXYXR0UGlja2VyVmFsdWUsIFdhdHREYXRlUmFuZ2U+LFxuICAgIGlucHV0OiBIVE1MSW5wdXRFbGVtZW50XG4gICkge1xuICAgIGNvbnN0IG1hdERhdGVwaWNrZXJJbnB1dCA9IHRoaXMubWF0RGF0ZXBpY2tlcklucHV0KCk7XG4gICAgaWYgKG1hdERhdGVwaWNrZXJJbnB1dCkge1xuICAgICAgdGhpcy5zZXRWYWx1ZVRvSW5wdXQodmFsdWUsIGlucHV0LCBtYXREYXRlcGlja2VySW5wdXQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRSYW5nZVZhbHVlKFxuICAgIHZhbHVlOiBXYXR0RGF0ZVJhbmdlIHwgbnVsbCxcbiAgICBzdGFydElucHV0OiBIVE1MSW5wdXRFbGVtZW50LFxuICAgIGVuZElucHV0OiBIVE1MSW5wdXRFbGVtZW50XG4gICkge1xuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gdmFsdWUgPz8ge307XG5cbiAgICBjb25zdCBtYXRTdGFydERhdGUgPSB0aGlzLm1hdFN0YXJ0RGF0ZSgpO1xuICAgIGNvbnN0IG1hdEVuZERhdGUgPSB0aGlzLm1hdEVuZERhdGUoKTtcblxuICAgIGlmICghbWF0U3RhcnREYXRlIHx8ICFtYXRFbmREYXRlKSByZXR1cm47XG5cbiAgICB0aGlzLnNldFZhbHVlVG9JbnB1dChzdGFydCwgc3RhcnRJbnB1dCwgbWF0U3RhcnREYXRlKTtcbiAgICB0aGlzLnNldFZhbHVlVG9JbnB1dChlbmQsIGVuZElucHV0LCBtYXRFbmREYXRlKTtcbiAgfVxuXG4gIHByZXZEYXkoKSB7XG4gICAgdGhpcy5jaGFuZ2VEYXkoLTEpO1xuICB9XG5cbiAgbmV4dERheSgpIHtcbiAgICB0aGlzLmNoYW5nZURheSgxKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlRGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IHRoaXMubWF0RGF0ZXBpY2tlcklucHV0KCk/LnZhbHVlO1xuXG4gICAgaWYgKGN1cnJlbnREYXRlKSB7XG4gICAgICBjb25zdCBuZXdEYXRlID0gZGF5anMoY3VycmVudERhdGUpLmFkZCh2YWx1ZSwgJ2RheScpLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjb25zdCBuZXdEYXRlRm9ybWF0dGVkID0gdGhpcy5mb3JtYXREYXRlVGltZUZyb21Nb2RlbFRvVmlldyhuZXdEYXRlKTtcblxuICAgICAgdGhpcy5pbnB1dENoYW5nZWQobmV3RGF0ZUZvcm1hdHRlZCk7XG4gICAgICB0aGlzLmRhdGVwaWNrZXJDbG9zZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzUHJldkRheUJlZm9yZU9yRXF1YWxUb01pbkRhdGUoKSB7XG4gICAgY29uc3QgbWluID0gdGhpcy5taW4oKTtcbiAgICBjb25zdCBzZWxlY3RlZERhdGUgPSB0aGlzLm1hdERhdGVwaWNrZXJJbnB1dCgpPy52YWx1ZTtcblxuICAgIGlmICghbWluIHx8ICFzZWxlY3RlZERhdGUpIHJldHVybiBmYWxzZTtcblxuICAgIGNvbnN0IGlzQmVmb3JlID0gZGF5anMoc2VsZWN0ZWREYXRlKS5pc0JlZm9yZShtaW4sICdkYXknKTtcbiAgICBjb25zdCBpc1NhbWUgPSBkYXlqcyhzZWxlY3RlZERhdGUpLmlzU2FtZShtaW4sICdkYXknKTtcblxuICAgIHJldHVybiBpc1NhbWUgfHwgaXNCZWZvcmU7XG4gIH1cblxuICBwcml2YXRlIGlzTmV4dERheUFmdGVyT3JFcXVhbFRvTWF4RGF0ZSgpIHtcbiAgICBjb25zdCBtYXggPSB0aGlzLm1heCgpO1xuICAgIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IHRoaXMubWF0RGF0ZXBpY2tlcklucHV0KCk/LnZhbHVlO1xuXG4gICAgaWYgKCFtYXggfHwgIXNlbGVjdGVkRGF0ZSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgaXNBZnRlciA9IGRheWpzKHNlbGVjdGVkRGF0ZSkuaXNBZnRlcihtYXgsICdkYXknKTtcbiAgICBjb25zdCBpc1NhbWUgPSBkYXlqcyhzZWxlY3RlZERhdGUpLmlzU2FtZShtYXgsICdkYXknKTtcblxuICAgIHJldHVybiBpc1NhbWUgfHwgaXNBZnRlcjtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VEYXRlU2hvcnRGb3JtYXQodmFsdWU6IHN0cmluZyk6IERhdGUge1xuICAgIHJldHVybiBkYXlqcyh2YWx1ZSwgZGF0ZVNob3J0Rm9ybWF0KS50b0RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmFsdWVUb0lucHV0PEQgZXh0ZW5kcyB7IHZhbHVlOiBEYXRlIHwgbnVsbCB9PihcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBuYXRpdmVJbnB1dDogSFRNTElucHV0RWxlbWVudCxcbiAgICBtYXREYXRlSW5wdXQ6IERcbiAgKTogdm9pZCB7XG4gICAgbmF0aXZlSW5wdXQudmFsdWUgPSB2YWx1ZSA/IHRoaXMuZm9ybWF0RGF0ZVRpbWVGcm9tTW9kZWxUb1ZpZXcodmFsdWUpIDogJyc7XG4gICAgbWF0RGF0ZUlucHV0LnZhbHVlID0gdmFsdWUgPyBkYXlqcyh2YWx1ZSkudXRjKCkudG9EYXRlKCkgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICogRm9ybWF0cyBEYXRlIHRvIGZ1bGwgSVNPIDg2MDEgZm9ybWF0IChlLmcuIGAyMDIyLTA4LTMxVDIyOjAwOjAwLjAwMFpgKVxuICAgKi9cbiAgcHJpdmF0ZSBmb3JtYXREYXRlRnJvbVZpZXdUb01vZGVsKHZhbHVlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF5anModmFsdWUpLnV0YygpLnRvSVNPU3RyaW5nKCk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdERhdGVUaW1lRnJvbU1vZGVsVG9WaWV3KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXlqcyh2YWx1ZSkudHooZGFuaXNoVGltZVpvbmVJZGVudGlmaWVyKS5mb3JtYXQoZGF0ZVNob3J0Rm9ybWF0KTtcbiAgfVxuXG4gIHByaXZhdGUgdG9EYW5pc2hUaW1lWm9uZSh2YWx1ZTogRGF0ZSk6IERhdGUge1xuICAgIHJldHVybiBkYXlqcyh2YWx1ZS50b0lTT1N0cmluZygpKS50eihkYW5pc2hUaW1lWm9uZUlkZW50aWZpZXIpLnRvRGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUb0VuZE9mRGF5KHZhbHVlOiBEYXRlKTogRGF0ZSB7XG4gICAgcmV0dXJuIGRheWpzKHZhbHVlKS5lbmRPZignZGF5JykudG9EYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEVuZERhdGVUb0RhbmlzaFRpbWVab25lKHZhbHVlOiBzdHJpbmcpOiBEYXRlIHwgbnVsbCB7XG4gICAgY29uc3QgZGF0ZUJhc2VkT25TaG9ydEZvcm1hdCA9IHRoaXMucGFyc2VEYXRlU2hvcnRGb3JtYXQodmFsdWUpO1xuXG4gICAgbGV0IG1heWJlRGF0ZUluRGFuaXNoVGltZVpvbmU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChkYXlqcyhkYXRlQmFzZWRPblNob3J0Rm9ybWF0KS5pc1ZhbGlkKCkpIHtcbiAgICAgIG1heWJlRGF0ZUluRGFuaXNoVGltZVpvbmUgPSB0aGlzLnRvRGFuaXNoVGltZVpvbmUoZGF0ZUJhc2VkT25TaG9ydEZvcm1hdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1heWJlRGF0ZUluRGFuaXNoVGltZVpvbmU7XG4gIH1cbn1cbiIsIjwhLS1cbkBsaWNlbnNlXG5Db3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS0+XG48d2F0dC1maWVsZCBbY29udHJvbF09XCJjb250cm9sXCIgW2xhYmVsXT1cImxhYmVsKClcIj5cbiAgQGlmIChyYW5nZSkge1xuICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dFxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyYW5nZVBpY2tlcl09XCJyYW5nZURhdGVwaWNrZXJcIlxuICAgICAgW21pbl09XCJtaW4oKSA/PyBudWxsXCJcbiAgICAgIFttYXhdPVwibWF4KCkgPz8gbnVsbFwiXG4gICAgICAoZm9jdXNpbik9XCJvbkZvY3VzSW4oKVwiXG4gICAgICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgaW5lcnRcbiAgICAgICAgYXJpYS1sYWJlbD1cInN0YXJ0LWRhdGUtaW5wdXRcIlxuICAgICAgICBtYXRTdGFydERhdGVcbiAgICAgICAgI3N0YXJ0RGF0ZUlucHV0XG4gICAgICAgIFtyZWFkT25seV09XCJyYW5nZU1vbnRoT25seU1vZGUoKVwiXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgIFtoaWRkZW5dPVwidHJ1ZVwiXG4gICAgICAvPlxuXG4gICAgICA8aW5wdXRcbiAgICAgICAgaW5lcnRcbiAgICAgICAgYXJpYS1sYWJlbD1cImVuZC1kYXRlLWlucHV0XCJcbiAgICAgICAgbWF0RW5kRGF0ZVxuICAgICAgICAjZW5kRGF0ZUlucHV0XG4gICAgICAgIFtyZWFkT25seV09XCJyYW5nZU1vbnRoT25seU1vZGUoKVwiXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgIFtoaWRkZW5dPVwidHJ1ZVwiXG4gICAgICAvPlxuICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XG4gICAgPGlucHV0ICNhY3R1YWxJbnB1dCBjbGFzcz1cIm1hc2staW5wdXRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAvPlxuICAgIDx3YXR0LXBsYWNlaG9sZGVyLW1hc2tcbiAgICAgIFtwcmltYXJ5SW5wdXRFbGVtZW50XT1cImFjdHVhbElucHV0XCJcbiAgICAgIFttYXNrXT1cInJhbmdlSW5wdXRNYXNrKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInJhbmdlUGxhY2Vob2xkZXJcIlxuICAgICAgKG1hc2tBcHBsaWVkKT1cInJhbmdlSW5wdXRDaGFuZ2VkKCRldmVudClcIlxuICAgIC8+XG5cbiAgICA8d2F0dC1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJpY29uXCJcbiAgICAgIGljb249XCJkYXRlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwiZmFsc2VcIlxuICAgICAgKGNsaWNrKT1cInJhbmdlRGF0ZXBpY2tlci5vcGVuKClcIlxuICAgICAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAgICAgKGZvY3Vzb3V0KT1cIm9uRm9jdXNPdXQoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXJcbiAgICAgIFtwYW5lbENsYXNzXT1cInJhbmdlTW9udGhPbmx5TW9kZSgpID8gJ3dhdHQtZGF0ZXBpY2tlci1yYW5nZV9fcGFuZWwtLW1vbnRoLW9ubHknIDogJydcIlxuICAgICAgW3N0YXJ0Vmlld109XCJyYW5nZU1vbnRoT25seU1vZGUoKSA/ICdtdWx0aS15ZWFyJyA6ICdtb250aCdcIlxuICAgICAgW3N0YXJ0QXRdPVwic3RhcnRBdCgpXCJcbiAgICAgIChtb250aFNlbGVjdGVkKT1cIm9uTW9udGhTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgIChjbG9zZWQpPVwicmFuZ2VQaWNrZXJDbG9zZWQoKVwiXG4gICAgICAjcmFuZ2VEYXRlcGlja2VyXG4gICAgLz5cbiAgfSBAZWxzZSB7XG4gICAgPGlucHV0XG4gICAgICBpbmVydFxuICAgICAgbWF0SW5wdXRcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgYXJpYS1sYWJlbD1cImRhdGUtaW5wdXRcIlxuICAgICAgI2RhdGVJbnB1dFxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW21pbl09XCJtaW4oKVwiXG4gICAgICBbbWF4XT1cIm1heCgpXCJcbiAgICAgIFttYXREYXRlcGlja2VyXT1cInNpbmdsZURhdGVwaWNrZXJcIlxuICAgICAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAgICAgKGZvY3Vzb3V0KT1cIm9uRm9jdXNPdXQoJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8aW5wdXQgI2FjdHVhbElucHV0IGNsYXNzPVwibWFzay1pbnB1dFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIC8+XG4gICAgPHdhdHQtcGxhY2Vob2xkZXItbWFza1xuICAgICAgW3ByaW1hcnlJbnB1dEVsZW1lbnRdPVwiYWN0dWFsSW5wdXRcIlxuICAgICAgW21hc2tdPVwiaW5wdXRNYXNrKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIChtYXNrQXBwbGllZCk9XCJpbnB1dENoYW5nZWQoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDx3YXR0LWJ1dHRvblxuICAgICAgd2F0dFN1ZmZpeFxuICAgICAgdmFyaWFudD1cImljb25cIlxuICAgICAgaWNvbj1cImRhdGVcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJzaW5nbGVEYXRlcGlja2VyLm9wZW4oKVwiXG4gICAgICAoZm9jdXNpbik9XCJvbkZvY3VzSW4oKVwiXG4gICAgICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgkZXZlbnQpXCJcbiAgICAvPlxuXG4gICAgPG1hdC1kYXRlcGlja2VyXG4gICAgICAjc2luZ2xlRGF0ZXBpY2tlclxuICAgICAgcGFuZWxDbGFzcz1cIndhdHQtZGF0ZXBpY2tlci1zaW5nbGVfX3BhbmVsXCJcbiAgICAgIFtkYXRlQ2xhc3NdPVwiZGF0ZUNsYXNzKClcIlxuICAgICAgW3N0YXJ0QXRdPVwic3RhcnRBdCgpXCJcbiAgICAgIChjbG9zZWQpPVwiZGF0ZXBpY2tlckNsb3NlZCgpXCJcbiAgICAvPlxuICB9XG5cbiAgPG5nLWNvbnRlbnQgLz5cbiAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLWhpbnRcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWhpbnRcIiAvPlxuICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtZXJyb3JcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWVycm9yXCIgLz5cbiAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLXdhcm5pbmdcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLXdhcm5pbmdcIiAvPlxuPC93YXR0LWZpZWxkPlxuXG5AaWYgKCFyYW5nZSAmJiBjYW5TdGVwVGhyb3VnaERheXMoKSkge1xuICA8c3BhblxuICAgIGNsYXNzPVwid2F0dC1kYXRlcGlja2VyLXNpbmdsZV9fc3RlcC10aHJvdWdoXCJcbiAgICBbY2xhc3Mud2F0dC1kYXRlcGlja2VyLXNpbmdsZV9faGFzLWxhYmVsXT1cIiEhbGFiZWwoKVwiXG4gID5cbiAgICA8d2F0dC1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJpY29uXCJcbiAgICAgIGljb249XCJsZWZ0XCJcbiAgICAgIChjbGljayk9XCJwcmV2RGF5KClcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGlzUHJldkRheUJ1dHRvbkRpc2FibGVkKClcIlxuICAgIC8+XG4gICAgPHdhdHQtYnV0dG9uXG4gICAgICB2YXJpYW50PVwiaWNvblwiXG4gICAgICBpY29uPVwicmlnaHRcIlxuICAgICAgKGNsaWNrKT1cIm5leHREYXkoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgaXNOZXh0RGF5QnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgLz5cbiAgPC9zcGFuPlxufVxuIl19
|
|
304
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1kYXRlcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvd2F0dC9wYWNrYWdlL3BpY2tlci9kYXRlcGlja2VyL3dhdHQtZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9waWNrZXIvZGF0ZXBpY2tlci93YXR0LWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILFlBQVk7QUFDWixPQUFPLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBbUIsU0FBUyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsbUJBQW1CLEdBRXBCLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdGLE9BQU8sRUFDTCxLQUFLLEVBR0wsaUJBQWlCLEdBRWxCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0s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QUFDLENBQUM7UUFDNUUsQ0FBQztRQUVELE9BQU8seUJBQXlCLENBQUM7SUFDbkMsQ0FBQzt1R0E1VVUsdUJBQXVCOzJGQUF2Qix1QkFBdUIscytCQVh2QixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLHNFQTBCbkMsVUFBVSwrRkFDTixZQUFZLG9HQUNGLGlCQUFpQixxR0FDZixrQkFBa0IscUdBQ2xCLGtCQUFrQixtZ0JDL0dwRiw2b0lBOElBLDhrRUQxREksY0FBYyxpWUFDZCxtQkFBbUIsazVCQUVuQixrQkFBa0IsMEtBQ2xCLG1CQUFtQixzSUFDbkIsNEJBQTRCOzsyRkFHbkIsdUJBQXVCO2tCQWZuQyxTQUFTOytCQUNFLGlCQUFpQixhQUdoQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcseUJBQXlCLEVBQUUsQ0FBQyxpQkFDcEUsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDUCxjQUFjO3dCQUNkLG1CQUFtQjt3QkFFbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLDRCQUE0QjtxQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBpbnB1dCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGNvbXB1dGVkLFxuICBDb21wb25lbnQsXG4gIExPQ0FMRV9JRCxcbiAgdmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBsaW5rZWRTaWduYWwsXG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0NvbnRyb2wsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgTWF0RW5kRGF0ZSxcbiAgTWF0U3RhcnREYXRlLFxuICBNYXREYXRlUmFuZ2VJbnB1dCxcbiAgTWF0RGF0ZVJhbmdlUGlja2VyLFxuICBNYXREYXRlcGlja2VySW5wdXQsXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gIE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb24sXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBtYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3IsIG1hc2tpdG9EYXRlUmFuZ2VPcHRpb25zR2VuZXJhdG9yIH0gZnJvbSAnQG1hc2tpdG8va2l0JztcblxuaW1wb3J0IHtcbiAgZGF5anMsXG4gIFdhdHRSYW5nZSxcbiAgV2F0dERhdGVSYW5nZSxcbiAgV2F0dExvY2FsZVNlcnZpY2UsXG4gIFdhdHRTdXBwb3J0ZWRMb2NhbGVzLFxufSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvY29yZS9kYXRlJztcblxuaW1wb3J0IHsgV2F0dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2ZpZWxkJztcbmltcG9ydCB7IFdhdHRCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvYnV0dG9uJztcblxuaW1wb3J0IHtcbiAgV2F0dFBpY2tlckJhc2UsXG4gIFdhdHRQaWNrZXJWYWx1ZSxcbiAgV2F0dFBsYWNlaG9sZGVyTWFza0NvbXBvbmVudCxcbn0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L3BpY2tlci9fX3NoYXJlZCc7XG5cbmNvbnN0IGRhdGVTaG9ydEZvcm1hdCA9ICdERC1NTS1ZWVlZJztcbmV4cG9ydCBjb25zdCBkYW5pc2hUaW1lWm9uZUlkZW50aWZpZXIgPSAnRXVyb3BlL0NvcGVuaGFnZW4nO1xuXG4vKipcbiAqIFVzYWdlOlxuICogYGltcG9ydCB7IFdhdHREYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC1kYXRhaHViL3dhdHQvZGF0ZXBpY2tlcic7YFxuICpcbiAqIElNUE9SVEFOVDpcbiAqIFRoZSBzdHlsaW5nIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gb3VyIG1vbm9zcGFjZWQgZm9udC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2F0dC1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dhdHQtZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dhdHQtZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBXYXR0RGF0ZXBpY2tlckNvbXBvbmVudCB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG5cbiAgICBXYXR0RmllbGRDb21wb25lbnQsXG4gICAgV2F0dEJ1dHRvbkNvbXBvbmVudCxcbiAgICBXYXR0UGxhY2Vob2xkZXJNYXNrQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RGF0ZXBpY2tlckNvbXBvbmVudCBleHRlbmRzIFdhdHRQaWNrZXJCYXNlIGltcGxlbWVudHMgVmFsaWRhdG9yLCBBZnRlclZpZXdJbml0IHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2hhbmdlRGV0ZWN0aW9uUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgb3B0aW9uYWw6IHRydWUsIHNlbGY6IHRydWUgfSk7XG4gIHByaXZhdGUgbG9jYWxlU2VydmljZSA9IGluamVjdChXYXR0TG9jYWxlU2VydmljZSk7XG4gIHByaXZhdGUgbG9jYWxlID0gaW5qZWN0PFdhdHRTdXBwb3J0ZWRMb2NhbGVzPihMT0NBTEVfSUQpO1xuXG4gIG1heCA9IGlucHV0PERhdGU+KCk7XG4gIG1pbiA9IGlucHV0PERhdGU+KCk7XG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJhbmdlTW9udGhPbmx5TW9kZSA9IGlucHV0KGZhbHNlKTtcbiAgc3RhcnRBdCA9IGlucHV0PERhdGUgfCBudWxsPihudWxsKTtcbiAgZGF0ZUNsYXNzID0gaW5wdXQ8TWF0Q2FsZW5kYXJDZWxsQ2xhc3NGdW5jdGlvbjxEYXRlPj4oKCkgPT4gJycpO1xuICBjYW5TdGVwVGhyb3VnaERheXMgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgbWF0RW5kRGF0ZSA9IHZpZXdDaGlsZDxNYXRFbmREYXRlPERhdGUgfCBudWxsPj4oTWF0RW5kRGF0ZSk7XG4gIG1hdFN0YXJ0RGF0ZSA9IHZpZXdDaGlsZDxNYXRTdGFydERhdGU8RGF0ZSB8IG51bGw+PihNYXRTdGFydERhdGUpO1xuICBtYXREYXRlUmFuZ2VJbnB1dCA9IHZpZXdDaGlsZDxNYXREYXRlUmFuZ2VJbnB1dDxEYXRlIHwgbnVsbD4+KE1hdERhdGVSYW5nZUlucHV0KTtcbiAgbWF0RGF0ZXBpY2tlcklucHV0ID0gdmlld0NoaWxkPE1hdERhdGVwaWNrZXJJbnB1dDxEYXRlIHwgbnVsbD4+KE1hdERhdGVwaWNrZXJJbnB1dCk7XG4gIG1hdERhdGVSYW5nZVBpY2tlciA9IHZpZXdDaGlsZDxNYXREYXRlUmFuZ2VQaWNrZXI8RGF0ZSB8IG51bGw+PihNYXREYXRlUmFuZ2VQaWNrZXIpO1xuXG4gIGFjdHVhbElucHV0ID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdhY3R1YWxJbnB1dCcpO1xuICBvdmVycmlkZSBpbnB1dCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignZGF0ZUlucHV0Jyk7XG4gIG92ZXJyaWRlIGVuZElucHV0ID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdlbmREYXRlSW5wdXQnKTtcbiAgb3ZlcnJpZGUgc3RhcnRJbnB1dCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+Pignc3RhcnREYXRlSW5wdXQnKTtcblxuICBwcm90ZWN0ZWQgX3BsYWNlaG9sZGVyID0gdGhpcy5nZXRQbGFjZWhvbGRlckJ5TG9jYWxlKHRoaXMubG9jYWxlKTtcblxuICByYW5nZVNlcGFyYXRvciA9ICcgLSAnO1xuXG4gIHJhbmdlUGxhY2Vob2xkZXIgPSB0aGlzLmdldFJhbmdlUGxhY2Vob2xkZXIoKTtcblxuICBpbnB1dE1hc2sgPSBjb21wdXRlZCgoKSA9PlxuICAgIG1hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICBtb2RlOiAnZGQvbW0veXl5eScsXG4gICAgICBzZXBhcmF0b3I6ICctJyxcbiAgICAgIG1heDogdGhpcy5tYXgoKSxcbiAgICAgIG1pbjogdGhpcy5taW4oKSxcbiAgICB9KVxuICApO1xuXG4gIHJhbmdlSW5wdXRNYXNrID0gY29tcHV0ZWQoKCkgPT5cbiAgICBtYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICBtb2RlOiAnZGQvbW0veXl5eScsXG4gICAgICBkYXRlU2VwYXJhdG9yOiAnLScsXG4gICAgICBtYXg6IHRoaXMubWF4KCksXG4gICAgICBtaW46IHRoaXMubWluKCksXG4gICAgfSlcbiAgKTtcblxuICBnZXRQbGFjZWhvbGRlckJ5TG9jYWxlKGxvY2FsZTogV2F0dFN1cHBvcnRlZExvY2FsZXMpOiBzdHJpbmcge1xuICAgIHJldHVybiBsb2NhbGUgPT09ICdkYScgPyAnZGQtbW0tw6XDpcOlw6UnIDogJ2RkLW1tLXl5eXknO1xuICB9XG5cbiAgZ2V0UmFuZ2VQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBsYWNlaG9sZGVyICsgdGhpcy5yYW5nZVNlcGFyYXRvciArIHRoaXMucGxhY2Vob2xkZXI7XG4gIH1cblxuICBpc1ByZXZEYXlCdXR0b25EaXNhYmxlZCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLmlzUHJldkRheUJlZm9yZU9yRXF1YWxUb01pbkRhdGUoKSk7XG4gIGlzTmV4dERheUJ1dHRvbkRpc2FibGVkID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuaXNOZXh0RGF5QWZ0ZXJPckVxdWFsVG9NYXhEYXRlKCkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKGB3YXR0LWRhdGVwaWNrZXItJHtXYXR0RGF0ZXBpY2tlckNvbXBvbmVudC5uZXh0SWQrK31gKTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBsb2NhbGUgPSB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxlKCk7XG4gICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5nZXRQbGFjZWhvbGRlckJ5TG9jYWxlKGxvY2FsZSk7XG4gICAgICB0aGlzLnJhbmdlUGxhY2Vob2xkZXIgPSB0aGlzLmdldFJhbmdlUGxhY2Vob2xkZXIoKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnJhbmdlTW9udGhPbmx5TW9kZSgpO1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5hZGRWYWxpZGF0b3JzKHRoaXMudmFsaWRhdGUpO1xuICB9XG5cbiAgdmFsaWRhdGUgPSAoeyB2YWx1ZSB9OiBBYnN0cmFjdENvbnRyb2w8V2F0dFJhbmdlPHN0cmluZz4+KSA9PiB7XG4gICAgaWYgKCF2YWx1ZT8uZW5kIHx8ICF2YWx1ZT8uc3RhcnQpIHJldHVybiBudWxsO1xuICAgIGlmICghdGhpcy5yYW5nZU1vbnRoT25seU1vZGUoKSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3Qgc3RhcnQgPSBkYXlqcyh2YWx1ZS5zdGFydCk7XG4gICAgY29uc3QgZW5kID0gZGF5anModmFsdWUuZW5kKTtcbiAgICByZXR1cm4gc3RhcnQuaXNTYW1lKHN0YXJ0LnN0YXJ0T2YoJ21vbnRoJykpICYmIGVuZC5pc1NhbWUoc3RhcnQuZW5kT2YoJ21vbnRoJykpXG4gICAgICA/IG51bGxcbiAgICAgIDogeyBtb250aE9ubHk6IHRydWUgfTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgaW5pdFNpbmdsZUlucHV0KCkge1xuICAgIGNvbnN0IG1hdERhdGVwaWNrZXJJbnB1dCA9IHRoaXMubWF0RGF0ZXBpY2tlcklucHV0KCk7XG4gICAgaWYgKHRoaXMuaW5pdGlhbFZhbHVlICYmIG1hdERhdGVwaWNrZXJJbnB1dCkge1xuICAgICAgbWF0RGF0ZXBpY2tlcklucHV0LnZhbHVlID0gdGhpcy5pbml0aWFsVmFsdWU7XG4gICAgICB0aGlzLmRhdGVwaWNrZXJDbG9zZWQoKTtcbiAgICB9XG4gIH1cblxuICBpbnB1dENoYW5nZWQodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IGRhdGVTdHJpbmcgPSB2YWx1ZS5zbGljZSgwLCB0aGlzLnBsYWNlaG9sZGVyLmxlbmd0aCk7XG5cbiAgICBpZiAoZGF0ZVN0cmluZy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY29udHJvbD8uc2V0VmFsdWUobnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGRhdGVTdHJpbmcubGVuZ3RoICE9PSB0aGlzLnBsYWNlaG9sZGVyLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGUgPSB0aGlzLnBhcnNlRGF0ZVNob3J0Rm9ybWF0KGRhdGVTdHJpbmcpO1xuICAgIHRoaXMuY29udHJvbD8uc2V0VmFsdWUodGhpcy5mb3JtYXREYXRlRnJvbVZpZXdUb01vZGVsKGRhdGUpKTtcbiAgfVxuXG4gIGRhdGVwaWNrZXJDbG9zZWQoKSB7XG4gICAgY29uc3QgbWF0RGF0ZXBpY2tlcklucHV0ID0gdGhpcy5tYXREYXRlcGlja2VySW5wdXQoKTtcbiAgICBjb25zdCBhY3R1YWxJbnB1dCA9IHRoaXMuYWN0dWFsSW5wdXQoKTtcblxuICAgIGlmICghYWN0dWFsSW5wdXQpIHJldHVybjtcblxuICAgIGlmIChtYXREYXRlcGlja2VySW5wdXQgJiYgbWF0RGF0ZXBpY2tlcklucHV0LnZhbHVlKSB7XG4gICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbHVlKG1hdERhdGVwaWNrZXJJbnB1dC52YWx1ZSk7XG5cbiAgICAgIGFjdHVhbElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdERhdGVUaW1lRnJvbU1vZGVsVG9WaWV3KFxuICAgICAgICB0aGlzLmZvcm1hdERhdGVGcm9tVmlld1RvTW9kZWwobWF0RGF0ZXBpY2tlcklucHV0LnZhbHVlKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYWN0dWFsSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzUHJldkRheUJ1dHRvbkRpc2FibGVkLnNldCh0aGlzLmlzUHJldkRheUJlZm9yZU9yRXF1YWxUb01pbkRhdGUoKSk7XG4gICAgdGhpcy5pc05leHREYXlCdXR0b25EaXNhYmxlZC5zZXQodGhpcy5pc05leHREYXlBZnRlck9yRXF1YWxUb01heERhdGUoKSk7XG5cbiAgICBhY3R1YWxJbnB1dC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IElucHV0RXZlbnQoJ2lucHV0JykpO1xuICB9XG5cbiAgb25Nb250aFNlbGVjdGVkKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBtYXREYXRlUmFuZ2VQaWNrZXIgPSB0aGlzLm1hdERhdGVSYW5nZVBpY2tlcigpO1xuICAgIGlmIChtYXREYXRlUmFuZ2VQaWNrZXIgJiYgdGhpcy5yYW5nZU1vbnRoT25seU1vZGUoKSAmJiBkYXRlKSB7XG4gICAgICBtYXREYXRlUmFuZ2VQaWNrZXIuc2VsZWN0KGRheWpzKGRhdGUpLnN0YXJ0T2YoJ21vbnRoJykudG9EYXRlKCkpO1xuICAgICAgbWF0RGF0ZVJhbmdlUGlja2VyLnNlbGVjdChkYXlqcyhkYXRlKS5lbmRPZignbW9udGgnKS50b0RhdGUoKSk7XG4gICAgICBtYXREYXRlUmFuZ2VQaWNrZXIuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdFJhbmdlSW5wdXQoKSB7XG4gICAgY29uc3QgbWF0U3RhcnREYXRlID0gdGhpcy5tYXRTdGFydERhdGUoKTtcbiAgICBjb25zdCBtYXRFbmREYXRlID0gdGhpcy5tYXRFbmREYXRlKCk7XG5cbiAgICBpZiAodGhpcy5pbml0aWFsVmFsdWUgJiYgbWF0U3RhcnREYXRlICYmIG1hdEVuZERhdGUpIHtcbiAgICAgIG1hdFN0YXJ0RGF0ZS52YWx1ZSA9ICh0aGlzLmluaXRpYWxWYWx1ZSBhcyBXYXR0RGF0ZVJhbmdlKS5zdGFydDtcbiAgICAgIG1hdEVuZERhdGUudmFsdWUgPSAodGhpcy5pbml0aWFsVmFsdWUgYXMgV2F0dERhdGVSYW5nZSkuZW5kO1xuICAgICAgdGhpcy5yYW5nZVBpY2tlckNsb3NlZCgpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyUmFuZ2VQaWNrZXIoKSB7XG4gICAgY29uc3QgYWN0dWFsSW5wdXQgPSB0aGlzLmFjdHVhbElucHV0KCk7XG5cbiAgICBpZiAoIWFjdHVhbElucHV0KSByZXR1cm47XG5cbiAgICB0aGlzLmNvbnRyb2w/LnNldFZhbHVlKG51bGwpO1xuICAgIGFjdHVhbElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICBhY3R1YWxJbnB1dC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IElucHV0RXZlbnQoJ2lucHV0JykpO1xuICB9XG5cbiAgcmFuZ2VJbnB1dENoYW5nZWQodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IHN0YXJ0RGF0ZVN0cmluZyA9IHZhbHVlLnNsaWNlKDAsIHRoaXMucGxhY2Vob2xkZXIubGVuZ3RoKTtcblxuICAgIGlmIChzdGFydERhdGVTdHJpbmcubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbHVlKG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChzdGFydERhdGVTdHJpbmcubGVuZ3RoICE9PSB0aGlzLnBsYWNlaG9sZGVyLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5wYXJzZURhdGVTaG9ydEZvcm1hdChzdGFydERhdGVTdHJpbmcpO1xuICAgIGNvbnN0IGVuZERhdGVTdHJpbmcgPSB2YWx1ZS5zbGljZSh0aGlzLnBsYWNlaG9sZGVyLmxlbmd0aCArIHRoaXMucmFuZ2VTZXBhcmF0b3IubGVuZ3RoKTtcbiAgICBsZXQgZW5kID0gdGhpcy5zZXRFbmREYXRlVG9EYW5pc2hUaW1lWm9uZShlbmREYXRlU3RyaW5nKTtcblxuICAgIGlmIChlbmQgIT09IG51bGwpIHtcbiAgICAgIGVuZCA9IHRoaXMuc2V0VG9FbmRPZkRheShlbmQpO1xuICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZSh7IHN0YXJ0LCBlbmQgfSk7XG4gICAgfVxuICB9XG5cbiAgcmFuZ2VQaWNrZXJDbG9zZWQoKSB7XG4gICAgY29uc3QgbWF0RGF0ZVJhbmdlSW5wdXQgPSB0aGlzLm1hdERhdGVSYW5nZUlucHV0KCk7XG4gICAgY29uc3QgYWN0dWFsSW5wdXQgPSB0aGlzLmFjdHVhbElucHV0KCk7XG5cbiAgICBpZiAoIWFjdHVhbElucHV0KSByZXR1cm47XG5cbiAgICBpZiAobWF0RGF0ZVJhbmdlSW5wdXQ/LnZhbHVlPy5zdGFydCAmJiBtYXREYXRlUmFuZ2VJbnB1dD8udmFsdWU/LmVuZCkge1xuICAgICAgYWN0dWFsSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9XG4gICAgICAgIHRoaXMuZm9ybWF0RGF0ZVRpbWVGcm9tTW9kZWxUb1ZpZXcoXG4gICAgICAgICAgdGhpcy5mb3JtYXREYXRlRnJvbVZpZXdUb01vZGVsKG1hdERhdGVSYW5nZUlucHV0LnZhbHVlPy5zdGFydClcbiAgICAgICAgKSArXG4gICAgICAgICctJyArXG4gICAgICAgIHRoaXMuZm9ybWF0RGF0ZVRpbWVGcm9tTW9kZWxUb1ZpZXcoXG4gICAgICAgICAgdGhpcy5mb3JtYXREYXRlRnJvbVZpZXdUb01vZGVsKG1hdERhdGVSYW5nZUlucHV0LnZhbHVlLmVuZClcbiAgICAgICAgKTtcblxuICAgICAgdGhpcy5jb250cm9sPy5zZXRWYWx1ZSh7XG4gICAgICAgIHN0YXJ0OiB0aGlzLmZvcm1hdERhdGVGcm9tVmlld1RvTW9kZWwobWF0RGF0ZVJhbmdlSW5wdXQudmFsdWUuc3RhcnQpLFxuICAgICAgICBlbmQ6IHRoaXMuZm9ybWF0RGF0ZUZyb21WaWV3VG9Nb2RlbChtYXREYXRlUmFuZ2VJbnB1dC52YWx1ZS5lbmQpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjdHVhbElucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgIHRoaXMuY29udHJvbD8uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuXG4gICAgYWN0dWFsSW5wdXQubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRTaW5nbGVWYWx1ZShcbiAgICB2YWx1ZTogRXhjbHVkZTxXYXR0UGlja2VyVmFsdWUsIFdhdHREYXRlUmFuZ2U+LFxuICAgIGlucHV0OiBIVE1MSW5wdXRFbGVtZW50XG4gICkge1xuICAgIGNvbnN0IG1hdERhdGVwaWNrZXJJbnB1dCA9IHRoaXMubWF0RGF0ZXBpY2tlcklucHV0KCk7XG4gICAgaWYgKG1hdERhdGVwaWNrZXJJbnB1dCkge1xuICAgICAgdGhpcy5zZXRWYWx1ZVRvSW5wdXQodmFsdWUsIGlucHV0LCBtYXREYXRlcGlja2VySW5wdXQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRSYW5nZVZhbHVlKFxuICAgIHZhbHVlOiBXYXR0RGF0ZVJhbmdlIHwgbnVsbCxcbiAgICBzdGFydElucHV0OiBIVE1MSW5wdXRFbGVtZW50LFxuICAgIGVuZElucHV0OiBIVE1MSW5wdXRFbGVtZW50XG4gICkge1xuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gdmFsdWUgPz8ge307XG5cbiAgICBjb25zdCBtYXRTdGFydERhdGUgPSB0aGlzLm1hdFN0YXJ0RGF0ZSgpO1xuICAgIGNvbnN0IG1hdEVuZERhdGUgPSB0aGlzLm1hdEVuZERhdGUoKTtcblxuICAgIGlmICghbWF0U3RhcnREYXRlIHx8ICFtYXRFbmREYXRlKSByZXR1cm47XG5cbiAgICB0aGlzLnNldFZhbHVlVG9JbnB1dChzdGFydCwgc3RhcnRJbnB1dCwgbWF0U3RhcnREYXRlKTtcbiAgICB0aGlzLnNldFZhbHVlVG9JbnB1dChlbmQsIGVuZElucHV0LCBtYXRFbmREYXRlKTtcbiAgfVxuXG4gIHByZXZEYXkoKSB7XG4gICAgdGhpcy5jaGFuZ2VEYXkoLTEpO1xuICB9XG5cbiAgbmV4dERheSgpIHtcbiAgICB0aGlzLmNoYW5nZURheSgxKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlRGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IHRoaXMubWF0RGF0ZXBpY2tlcklucHV0KCk/LnZhbHVlO1xuXG4gICAgaWYgKGN1cnJlbnREYXRlKSB7XG4gICAgICBjb25zdCBuZXdEYXRlID0gZGF5anMoY3VycmVudERhdGUpLmFkZCh2YWx1ZSwgJ2RheScpLnRvSVNPU3RyaW5nKCk7XG4gICAgICBjb25zdCBuZXdEYXRlRm9ybWF0dGVkID0gdGhpcy5mb3JtYXREYXRlVGltZUZyb21Nb2RlbFRvVmlldyhuZXdEYXRlKTtcblxuICAgICAgdGhpcy5pbnB1dENoYW5nZWQobmV3RGF0ZUZvcm1hdHRlZCk7XG4gICAgICB0aGlzLmRhdGVwaWNrZXJDbG9zZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzUHJldkRheUJlZm9yZU9yRXF1YWxUb01pbkRhdGUoKSB7XG4gICAgY29uc3QgbWluID0gdGhpcy5taW4oKTtcbiAgICBjb25zdCBzZWxlY3RlZERhdGUgPSB0aGlzLm1hdERhdGVwaWNrZXJJbnB1dCgpPy52YWx1ZTtcblxuICAgIGlmICghbWluIHx8ICFzZWxlY3RlZERhdGUpIHJldHVybiBmYWxzZTtcblxuICAgIGNvbnN0IGlzQmVmb3JlID0gZGF5anMoc2VsZWN0ZWREYXRlKS5pc0JlZm9yZShtaW4sICdkYXknKTtcbiAgICBjb25zdCBpc1NhbWUgPSBkYXlqcyhzZWxlY3RlZERhdGUpLmlzU2FtZShtaW4sICdkYXknKTtcblxuICAgIHJldHVybiBpc1NhbWUgfHwgaXNCZWZvcmU7XG4gIH1cblxuICBwcml2YXRlIGlzTmV4dERheUFmdGVyT3JFcXVhbFRvTWF4RGF0ZSgpIHtcbiAgICBjb25zdCBtYXggPSB0aGlzLm1heCgpO1xuICAgIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IHRoaXMubWF0RGF0ZXBpY2tlcklucHV0KCk/LnZhbHVlO1xuXG4gICAgaWYgKCFtYXggfHwgIXNlbGVjdGVkRGF0ZSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgaXNBZnRlciA9IGRheWpzKHNlbGVjdGVkRGF0ZSkuaXNBZnRlcihtYXgsICdkYXknKTtcbiAgICBjb25zdCBpc1NhbWUgPSBkYXlqcyhzZWxlY3RlZERhdGUpLmlzU2FtZShtYXgsICdkYXknKTtcblxuICAgIHJldHVybiBpc1NhbWUgfHwgaXNBZnRlcjtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VEYXRlU2hvcnRGb3JtYXQodmFsdWU6IHN0cmluZyk6IERhdGUge1xuICAgIHJldHVybiBkYXlqcyh2YWx1ZSwgZGF0ZVNob3J0Rm9ybWF0KS50b0RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmFsdWVUb0lucHV0PEQgZXh0ZW5kcyB7IHZhbHVlOiBEYXRlIHwgbnVsbCB9PihcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBuYXRpdmVJbnB1dDogSFRNTElucHV0RWxlbWVudCxcbiAgICBtYXREYXRlSW5wdXQ6IERcbiAgKTogdm9pZCB7XG4gICAgbmF0aXZlSW5wdXQudmFsdWUgPSB2YWx1ZSA/IHRoaXMuZm9ybWF0RGF0ZVRpbWVGcm9tTW9kZWxUb1ZpZXcodmFsdWUpIDogJyc7XG4gICAgbWF0RGF0ZUlucHV0LnZhbHVlID0gdmFsdWUgPyBkYXlqcyh2YWx1ZSkudXRjKCkudG9EYXRlKCkgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICogRm9ybWF0cyBEYXRlIHRvIGZ1bGwgSVNPIDg2MDEgZm9ybWF0IChlLmcuIGAyMDIyLTA4LTMxVDIyOjAwOjAwLjAwMFpgKVxuICAgKi9cbiAgcHJpdmF0ZSBmb3JtYXREYXRlRnJvbVZpZXdUb01vZGVsKHZhbHVlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF5anModmFsdWUpLnV0YygpLnRvSVNPU3RyaW5nKCk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdERhdGVUaW1lRnJvbU1vZGVsVG9WaWV3KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXlqcyh2YWx1ZSkudHooZGFuaXNoVGltZVpvbmVJZGVudGlmaWVyKS5mb3JtYXQoZGF0ZVNob3J0Rm9ybWF0KTtcbiAgfVxuXG4gIHByaXZhdGUgdG9EYW5pc2hUaW1lWm9uZSh2YWx1ZTogRGF0ZSk6IERhdGUge1xuICAgIHJldHVybiBkYXlqcyh2YWx1ZS50b0lTT1N0cmluZygpKS50eihkYW5pc2hUaW1lWm9uZUlkZW50aWZpZXIpLnRvRGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUb0VuZE9mRGF5KHZhbHVlOiBEYXRlKTogRGF0ZSB7XG4gICAgcmV0dXJuIGRheWpzKHZhbHVlKS5lbmRPZignZGF5JykudG9EYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEVuZERhdGVUb0RhbmlzaFRpbWVab25lKHZhbHVlOiBzdHJpbmcpOiBEYXRlIHwgbnVsbCB7XG4gICAgY29uc3QgZGF0ZUJhc2VkT25TaG9ydEZvcm1hdCA9IHRoaXMucGFyc2VEYXRlU2hvcnRGb3JtYXQodmFsdWUpO1xuXG4gICAgbGV0IG1heWJlRGF0ZUluRGFuaXNoVGltZVpvbmU6IERhdGUgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChkYXlqcyhkYXRlQmFzZWRPblNob3J0Rm9ybWF0KS5pc1ZhbGlkKCkpIHtcbiAgICAgIG1heWJlRGF0ZUluRGFuaXNoVGltZVpvbmUgPSB0aGlzLnRvRGFuaXNoVGltZVpvbmUoZGF0ZUJhc2VkT25TaG9ydEZvcm1hdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1heWJlRGF0ZUluRGFuaXNoVGltZVpvbmU7XG4gIH1cbn1cbiIsIjwhLS1cbkBsaWNlbnNlXG5Db3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuLS0+XG48d2F0dC1maWVsZCBbY29udHJvbF09XCJjb250cm9sXCIgW2xhYmVsXT1cImxhYmVsKClcIj5cbiAgQGlmIChyYW5nZSkge1xuICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dFxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyYW5nZVBpY2tlcl09XCJyYW5nZURhdGVwaWNrZXJcIlxuICAgICAgW21pbl09XCJtaW4oKSA/PyBudWxsXCJcbiAgICAgIFttYXhdPVwibWF4KCkgPz8gbnVsbFwiXG4gICAgICAoZm9jdXNpbik9XCJvbkZvY3VzSW4oKVwiXG4gICAgICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgaW5lcnRcbiAgICAgICAgYXJpYS1sYWJlbD1cInN0YXJ0LWRhdGUtaW5wdXRcIlxuICAgICAgICBtYXRTdGFydERhdGVcbiAgICAgICAgI3N0YXJ0RGF0ZUlucHV0XG4gICAgICAgIFtyZWFkT25seV09XCJyYW5nZU1vbnRoT25seU1vZGUoKVwiXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgIFtoaWRkZW5dPVwidHJ1ZVwiXG4gICAgICAvPlxuXG4gICAgICA8aW5wdXRcbiAgICAgICAgaW5lcnRcbiAgICAgICAgYXJpYS1sYWJlbD1cImVuZC1kYXRlLWlucHV0XCJcbiAgICAgICAgbWF0RW5kRGF0ZVxuICAgICAgICAjZW5kRGF0ZUlucHV0XG4gICAgICAgIFtyZWFkT25seV09XCJyYW5nZU1vbnRoT25seU1vZGUoKVwiXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICAgIFtoaWRkZW5dPVwidHJ1ZVwiXG4gICAgICAvPlxuICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XG4gICAgPGlucHV0ICNhY3R1YWxJbnB1dCBjbGFzcz1cIm1hc2staW5wdXRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAvPlxuICAgIDx3YXR0LXBsYWNlaG9sZGVyLW1hc2tcbiAgICAgIFtwcmltYXJ5SW5wdXRFbGVtZW50XT1cImFjdHVhbElucHV0XCJcbiAgICAgIFttYXNrXT1cInJhbmdlSW5wdXRNYXNrKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInJhbmdlUGxhY2Vob2xkZXJcIlxuICAgICAgKG1hc2tBcHBsaWVkKT1cInJhbmdlSW5wdXRDaGFuZ2VkKCRldmVudClcIlxuICAgIC8+XG5cbiAgICA8d2F0dC1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJpY29uXCJcbiAgICAgIGljb249XCJkYXRlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPVwiZmFsc2VcIlxuICAgICAgKGNsaWNrKT1cInJhbmdlRGF0ZXBpY2tlci5vcGVuKClcIlxuICAgICAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAgICAgKGZvY3Vzb3V0KT1cIm9uRm9jdXNPdXQoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXJcbiAgICAgIFtwYW5lbENsYXNzXT1cInJhbmdlTW9udGhPbmx5TW9kZSgpID8gJ3dhdHQtZGF0ZXBpY2tlci1yYW5nZV9fcGFuZWwtLW1vbnRoLW9ubHknIDogJydcIlxuICAgICAgW3N0YXJ0Vmlld109XCJyYW5nZU1vbnRoT25seU1vZGUoKSA/ICdtdWx0aS15ZWFyJyA6ICdtb250aCdcIlxuICAgICAgW3N0YXJ0QXRdPVwic3RhcnRBdCgpXCJcbiAgICAgIChtb250aFNlbGVjdGVkKT1cIm9uTW9udGhTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgIChjbG9zZWQpPVwicmFuZ2VQaWNrZXJDbG9zZWQoKVwiXG4gICAgICAjcmFuZ2VEYXRlcGlja2VyXG4gICAgLz5cbiAgfSBAZWxzZSB7XG4gICAgPGlucHV0XG4gICAgICBpbmVydFxuICAgICAgbWF0SW5wdXRcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgYXJpYS1sYWJlbD1cImRhdGUtaW5wdXRcIlxuICAgICAgI2RhdGVJbnB1dFxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW21pbl09XCJtaW4oKVwiXG4gICAgICBbbWF4XT1cIm1heCgpXCJcbiAgICAgIFttYXREYXRlcGlja2VyXT1cInNpbmdsZURhdGVwaWNrZXJcIlxuICAgICAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAgICAgKGZvY3Vzb3V0KT1cIm9uRm9jdXNPdXQoJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8aW5wdXQgI2FjdHVhbElucHV0IGNsYXNzPVwibWFzay1pbnB1dFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIC8+XG4gICAgPHdhdHQtcGxhY2Vob2xkZXItbWFza1xuICAgICAgW3ByaW1hcnlJbnB1dEVsZW1lbnRdPVwiYWN0dWFsSW5wdXRcIlxuICAgICAgW21hc2tdPVwiaW5wdXRNYXNrKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIChtYXNrQXBwbGllZCk9XCJpbnB1dENoYW5nZWQoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDx3YXR0LWJ1dHRvblxuICAgICAgd2F0dFN1ZmZpeFxuICAgICAgdmFyaWFudD1cImljb25cIlxuICAgICAgaWNvbj1cImRhdGVcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJzaW5nbGVEYXRlcGlja2VyLm9wZW4oKVwiXG4gICAgICAoZm9jdXNpbik9XCJvbkZvY3VzSW4oKVwiXG4gICAgICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgkZXZlbnQpXCJcbiAgICAvPlxuXG4gICAgPG1hdC1kYXRlcGlja2VyXG4gICAgICAjc2luZ2xlRGF0ZXBpY2tlclxuICAgICAgcGFuZWxDbGFzcz1cIndhdHQtZGF0ZXBpY2tlci1zaW5nbGVfX3BhbmVsXCJcbiAgICAgIFtkYXRlQ2xhc3NdPVwiZGF0ZUNsYXNzKClcIlxuICAgICAgW3N0YXJ0QXRdPVwic3RhcnRBdCgpXCJcbiAgICAgIChjbG9zZWQpPVwiZGF0ZXBpY2tlckNsb3NlZCgpXCJcbiAgICAvPlxuICB9XG5cbiAgPG5nLWNvbnRlbnQgLz5cbiAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLWhpbnRcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWhpbnRcIiAvPlxuICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cIndhdHQtZmllbGQtZXJyb3JcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLWVycm9yXCIgLz5cbiAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJ3YXR0LWZpZWxkLXdhcm5pbmdcIiBzZWxlY3Q9XCJ3YXR0LWZpZWxkLXdhcm5pbmdcIiAvPlxuPC93YXR0LWZpZWxkPlxuXG5AaWYgKCFyYW5nZSAmJiBjYW5TdGVwVGhyb3VnaERheXMoKSkge1xuICA8c3BhblxuICAgIGNsYXNzPVwid2F0dC1kYXRlcGlja2VyLXNpbmdsZV9fc3RlcC10aHJvdWdoXCJcbiAgICBbY2xhc3Mud2F0dC1kYXRlcGlja2VyLXNpbmdsZV9faGFzLWxhYmVsXT1cIiEhbGFiZWwoKVwiXG4gID5cbiAgICA8d2F0dC1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJpY29uXCJcbiAgICAgIGljb249XCJsZWZ0XCJcbiAgICAgIChjbGljayk9XCJwcmV2RGF5KClcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGlzUHJldkRheUJ1dHRvbkRpc2FibGVkKClcIlxuICAgIC8+XG4gICAgPHdhdHQtYnV0dG9uXG4gICAgICB2YXJpYW50PVwiaWNvblwiXG4gICAgICBpY29uPVwicmlnaHRcIlxuICAgICAgKGNsaWNrKT1cIm5leHREYXkoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgaXNOZXh0RGF5QnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgLz5cbiAgPC9zcGFuPlxufVxuIl19
|