@danske/sapphire-angular 1.26.0 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/field/src/field-error.directive.mjs +4 -2
- package/esm2020/lib/field/src/field.component.mjs +30 -11
- package/esm2020/lib/field/src/field.module.mjs +7 -4
- package/esm2020/lib/select/src/select/select.component.mjs +5 -5
- package/esm2020/lib/text-field/src/text-field-input.directive.mjs +3 -3
- package/esm2020/lib/text-field/src/text-field.component.mjs +3 -3
- package/fesm2015/danske-sapphire-angular.mjs +108 -82
- package/fesm2015/danske-sapphire-angular.mjs.map +1 -1
- package/fesm2020/danske-sapphire-angular.mjs +106 -82
- package/fesm2020/danske-sapphire-angular.mjs.map +1 -1
- package/lib/field/src/field-error.directive.d.ts +3 -1
- package/lib/field/src/field.component.d.ts +13 -4
- package/lib/field/src/field.module.d.ts +1 -1
- package/package.json +2 -2
|
@@ -15,7 +15,7 @@ export class FieldErrorDirective {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
FieldErrorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: FieldErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
-
FieldErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: FieldErrorDirective, isStandalone: true, selector: "sp-field-error", inputs: { id: "id" }, host: { properties: { "id": "this.id" }, classAttribute: "sapphire-field__note" }, ngImport: i0 });
|
|
18
|
+
FieldErrorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: FieldErrorDirective, isStandalone: true, selector: "sp-field-error", inputs: { id: "id", target: "target" }, host: { properties: { "id": "this.id" }, classAttribute: "sapphire-field__note" }, ngImport: i0 });
|
|
19
19
|
__decorate([
|
|
20
20
|
AutoId()
|
|
21
21
|
], FieldErrorDirective.prototype, "id", void 0);
|
|
@@ -32,5 +32,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
32
32
|
type: HostBinding
|
|
33
33
|
}, {
|
|
34
34
|
type: Input
|
|
35
|
+
}], target: [{
|
|
36
|
+
type: Input
|
|
35
37
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQtZXJyb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUd4RDs7R0FFRztBQVFILE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRRTs7O1dBR0c7UUFJSCxPQUFFLEdBQUcsRUFBRSxDQUFDO0tBR1Q7O2dIQVhZLG1CQUFtQjtvR0FBbkIsbUJBQW1CO0FBUTlCO0lBREMsTUFBTSxFQUFFOytDQUNEOzJGQVJHLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxzQkFBc0I7cUJBQzlCO2lCQUNGOzhCQVNDLEVBQUU7c0JBSEQsV0FBVzs7c0JBQ1gsS0FBSztnQkFJRyxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0b0lkIH0gZnJvbSAnLi4vLi4vY29tbW9uL2F1dG8taWQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEZpZWxkQ29udHJvbCB9IGZyb20gJy4vZmllbGQtY29udHJvbCc7XG5cbi8qKlxuICogVXNlZCBpbnNpZGUgc3AtZmllbGQgdG8gcHJvdmlkZSBhbiBlcnJvciBtZXNzYWdlIGZvciB0aGUgZmllbGQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLWZpZWxkLWVycm9yJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnc2FwcGhpcmUtZmllbGRfX25vdGUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZEVycm9yRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIEEgdW5pcXVlIGlkIGZvciB0aGUgaG9zdCBET00gZWxlbWVudC5cbiAgICogSWYgbm9uZSBpcyBzdXBwbGllZCwgaXQgd2lsbCBiZSBhdXRvLWdlbmVyYXRlZC5cbiAgICovXG4gIEBIb3N0QmluZGluZygpXG4gIEBJbnB1dCgpXG4gIEBBdXRvSWQoKVxuICBpZCA9ICcnO1xuXG4gIEBJbnB1dCgpIHRhcmdldD86IEZpZWxkQ29udHJvbDtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Component, ContentChild, forwardRef, Input, isDevMode, ViewChild, } from '@angular/core';
|
|
2
|
+
import { Component, ContentChild, ContentChildren, forwardRef, Input, isDevMode, ViewChild, } from '@angular/core';
|
|
3
3
|
import { FieldNoteDirective } from './field-note.directive';
|
|
4
4
|
import { FieldErrorDirective } from './field-error.directive';
|
|
5
5
|
import { LabelComponent } from '../../label/src/label.component';
|
|
@@ -59,7 +59,7 @@ export class FieldComponent {
|
|
|
59
59
|
this.changed = false;
|
|
60
60
|
}
|
|
61
61
|
ngAfterContentInit() {
|
|
62
|
-
if (!this.
|
|
62
|
+
if (!this.controls && isDevMode()) {
|
|
63
63
|
throw new Error('sp-field is rendered without any control like sp-select, sp-text-field, or sp-radio-group inside it.');
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -80,8 +80,27 @@ export class FieldComponent {
|
|
|
80
80
|
/**
|
|
81
81
|
* Whether the field contains an error message (sp-field-error).
|
|
82
82
|
*/
|
|
83
|
-
hasError() {
|
|
84
|
-
return this.error
|
|
83
|
+
hasError(targetField) {
|
|
84
|
+
return (this.error !== undefined &&
|
|
85
|
+
(!targetField || !this.error.target || this.error.target === targetField));
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* If there are multiple controls, the field is only disabled when all of them are disabled
|
|
89
|
+
*/
|
|
90
|
+
isDisabled() {
|
|
91
|
+
if (!this.controls || this.controls.length === 0) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
return this.controls?.toArray().every((control) => control.isDisabled());
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Only support features like `for` or `labelClick` if the field has one control.
|
|
98
|
+
*/
|
|
99
|
+
get control() {
|
|
100
|
+
return this.controls?.length === 1 ? this.controls.first : undefined;
|
|
101
|
+
}
|
|
102
|
+
get isGroup() {
|
|
103
|
+
return this.controls ? this.controls.length > 1 : false;
|
|
85
104
|
}
|
|
86
105
|
/**
|
|
87
106
|
* Whether the field control is radio group (sp-radio-group).
|
|
@@ -109,12 +128,12 @@ export class FieldComponent {
|
|
|
109
128
|
}
|
|
110
129
|
}
|
|
111
130
|
FieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: FieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
-
FieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: FieldComponent, selector: "sp-field", inputs: { necessityIndicator: "necessityIndicator", labelPlacement: "labelPlacement", size: "size" }, host: { properties: { "class.sapphire-field--label-placement-side": "labelPlacement === \"side\"", "class.sapphire-field--label-alignment-top": "labelPlacement === \"side\" && hasFieldGroupChild()", "class.sapphire-field--medium": "size === \"medium\"", "class.sapphire-field--error": "hasError()", "class.is-disabled": "
|
|
131
|
+
FieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: FieldComponent, selector: "sp-field", inputs: { necessityIndicator: "necessityIndicator", labelPlacement: "labelPlacement", size: "size" }, host: { properties: { "class.sapphire-field--label-placement-side": "labelPlacement === \"side\"", "class.sapphire-field--label-alignment-top": "labelPlacement === \"side\" && hasFieldGroupChild()", "class.sapphire-field--medium": "size === \"medium\"", "class.sapphire-field--error": "hasError()", "class.is-disabled": "isDisabled()" }, classAttribute: "sapphire-field" }, providers: [
|
|
113
132
|
{
|
|
114
133
|
provide: ICON_SIZE_PROVIDER,
|
|
115
134
|
useExisting: forwardRef(() => FieldComponent),
|
|
116
135
|
},
|
|
117
|
-
], queries: [{ propertyName: "note", first: true, predicate: FieldNoteDirective, descendants: true }, { propertyName: "error", first: true, predicate: FieldErrorDirective, descendants: true }, { propertyName: "radioGroup", first: true, predicate: RadioGroupComponent, descendants: true }, { propertyName: "_fieldLabel", first: true, predicate: FieldLabelDirective, descendants: true }, { propertyName: "
|
|
136
|
+
], queries: [{ propertyName: "note", first: true, predicate: FieldNoteDirective, descendants: true }, { propertyName: "error", first: true, predicate: FieldErrorDirective, descendants: true }, { propertyName: "radioGroup", first: true, predicate: RadioGroupComponent, descendants: true }, { propertyName: "_fieldLabel", first: true, predicate: FieldLabelDirective, descendants: true }, { propertyName: "requiredValidator", first: true, predicate: RequiredValidator, descendants: true }, { propertyName: "controls", predicate: FieldControl }], viewQueries: [{ propertyName: "label", first: true, predicate: LabelComponent, descendants: true }], hostDirectives: [{ directive: i1.UseComponentStylesOnHost }], ngImport: i0, template: "<div class=\"sapphire-field__label\" *ngIf=\"_fieldLabel\">\n <sp-label\n [necessityIndicator]=\"labelNecessityIndicator\"\n [for]=\"control?.getId?.()\"\n [disabled]=\"isDisabled()\"\n (labelClick)=\"control?.focus?.('keyboard')\"\n [size]=\"size\"\n >\n <ng-content select=\"sp-field-label\"></ng-content>\n <ng-content\n select=\"sp-contextual-help\"\n ngProjectAs=\"sp-contextual-help\"\n ></ng-content>\n </sp-label>\n</div>\n<div\n class=\"sapphire-field__control\"\n [ngClass]=\"{\n 'sapphire-field__control--group': isGroup\n }\"\n>\n <ng-content></ng-content>\n</div>\n<div class=\"sapphire-field__message\" *ngIf=\"note || error || _noteSuffixPortal\">\n <div class=\"sapphire-field__note-row\">\n <div class=\"sapphire-field__note\" *ngIf=\"error\">\n <ng-content select=\"sp-field-error\"></ng-content>\n </div>\n <div class=\"sapphire-field__note\" *ngIf=\"note && !error\">\n <ng-content select=\"sp-field-note\"></ng-content>\n </div>\n <ng-container *ngIf=\"_noteSuffixPortal\">\n <ng-container *cdkPortalOutlet=\"_noteSuffixPortal\"></ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".sapphire-field{display:inline-grid;grid-template-columns:auto;row-gap:var(--sapphire-field-size-spacing-vertical);column-gap:var(--sapphire-field-size-spacing-horizontal);font-family:var(--sapphire-field-font-name);grid-auto-rows:min-content;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}fieldset.sapphire-field{border:0;margin:0;padding:0}.sapphire-field__label{order:1;justify-content:end}legend.sapphire-field__label{padding:0;float:left}.sapphire-field__control{order:2;min-width:100%}.sapphire-field__control--group{display:flex;gap:var(--sapphire-field-size-spacing-control-group)}.sapphire-field--no-shrink .sapphire-field__control{min-width:initial}.sapphire-field__message{min-width:100%;max-width:min-content;order:3}.sapphire-field__note-row{display:flex;align-items:top;font-size:var(--sapphire-field-size-font-note-l);line-height:var(--sapphire-field-size-line-height-note-l);color:var(--sapphire-field-color-note-default)}.sapphire-field--medium .sapphire-field__note-row{font-size:var(--sapphire-field-size-font-note-m);line-height:var(--sapphire-field-size-line-height-note-m)}.sapphire-field__note{flex:1}.sapphire-field--error .sapphire-field__note{color:var(--sapphire-field-color-note-error)}.sapphire-field.is-disabled{opacity:var(--sapphire-field-opacity-disabled);cursor:not-allowed}.sapphire-field.is-disabled .sapphire-field__control *{cursor:inherit}.sapphire-field--label-placement-side{grid-template-columns:max-content auto}.sapphire-field--label-placement-side .sapphire-field__control,.sapphire-field--label-placement-side .sapphire-field__message{grid-column:2}.sapphire-field--label-placement-side .sapphire-field__label{display:flex;align-items:center;max-height:var(--sapphire-field-size-max-height-label-l)}.sapphire-field--label-placement-side.sapphire-field--medium .sapphire-field__label{max-height:var(--sapphire-field-size-max-height-label-m)}.sapphire-field--label-placement-side.sapphire-field--label-alignment-top .sapphire-field__label{align-items:flex-start;max-height:unset}.sapphire-fieldset{display:inline-flex;flex-direction:column;width:min-content;gap:var(--sapphire-field-size-spacing-fieldset-large)}.sapphire-fieldset .sapphire-field--label-placement-side{grid-template-columns:1fr min-content}.sapphire-fieldset .sapphire-field--label-placement-side .sapphire-field__label{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.LabelComponent, selector: "sp-label", inputs: ["id", "for", "disabled", "necessityIndicator", "size"], outputs: ["labelClick"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
118
137
|
__decorate([
|
|
119
138
|
CoerceBoolean
|
|
120
139
|
], FieldComponent.prototype, "necessityIndicator", void 0);
|
|
@@ -126,13 +145,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
126
145
|
'[class.sapphire-field--label-alignment-top]': 'labelPlacement === "side" && hasFieldGroupChild()',
|
|
127
146
|
'[class.sapphire-field--medium]': 'size === "medium"',
|
|
128
147
|
'[class.sapphire-field--error]': 'hasError()',
|
|
129
|
-
'[class.is-disabled]': '
|
|
148
|
+
'[class.is-disabled]': 'isDisabled()',
|
|
130
149
|
}, hostDirectives: [UseComponentStylesOnHost], providers: [
|
|
131
150
|
{
|
|
132
151
|
provide: ICON_SIZE_PROVIDER,
|
|
133
152
|
useExisting: forwardRef(() => FieldComponent),
|
|
134
153
|
},
|
|
135
|
-
], template: "<div class=\"sapphire-field__label\" *ngIf=\"_fieldLabel\">\n <sp-label\n [necessityIndicator]=\"labelNecessityIndicator\"\n [for]=\"control?.getId?.()\"\n [disabled]=\"
|
|
154
|
+
], template: "<div class=\"sapphire-field__label\" *ngIf=\"_fieldLabel\">\n <sp-label\n [necessityIndicator]=\"labelNecessityIndicator\"\n [for]=\"control?.getId?.()\"\n [disabled]=\"isDisabled()\"\n (labelClick)=\"control?.focus?.('keyboard')\"\n [size]=\"size\"\n >\n <ng-content select=\"sp-field-label\"></ng-content>\n <ng-content\n select=\"sp-contextual-help\"\n ngProjectAs=\"sp-contextual-help\"\n ></ng-content>\n </sp-label>\n</div>\n<div\n class=\"sapphire-field__control\"\n [ngClass]=\"{\n 'sapphire-field__control--group': isGroup\n }\"\n>\n <ng-content></ng-content>\n</div>\n<div class=\"sapphire-field__message\" *ngIf=\"note || error || _noteSuffixPortal\">\n <div class=\"sapphire-field__note-row\">\n <div class=\"sapphire-field__note\" *ngIf=\"error\">\n <ng-content select=\"sp-field-error\"></ng-content>\n </div>\n <div class=\"sapphire-field__note\" *ngIf=\"note && !error\">\n <ng-content select=\"sp-field-note\"></ng-content>\n </div>\n <ng-container *ngIf=\"_noteSuffixPortal\">\n <ng-container *cdkPortalOutlet=\"_noteSuffixPortal\"></ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".sapphire-field{display:inline-grid;grid-template-columns:auto;row-gap:var(--sapphire-field-size-spacing-vertical);column-gap:var(--sapphire-field-size-spacing-horizontal);font-family:var(--sapphire-field-font-name);grid-auto-rows:min-content;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}fieldset.sapphire-field{border:0;margin:0;padding:0}.sapphire-field__label{order:1;justify-content:end}legend.sapphire-field__label{padding:0;float:left}.sapphire-field__control{order:2;min-width:100%}.sapphire-field__control--group{display:flex;gap:var(--sapphire-field-size-spacing-control-group)}.sapphire-field--no-shrink .sapphire-field__control{min-width:initial}.sapphire-field__message{min-width:100%;max-width:min-content;order:3}.sapphire-field__note-row{display:flex;align-items:top;font-size:var(--sapphire-field-size-font-note-l);line-height:var(--sapphire-field-size-line-height-note-l);color:var(--sapphire-field-color-note-default)}.sapphire-field--medium .sapphire-field__note-row{font-size:var(--sapphire-field-size-font-note-m);line-height:var(--sapphire-field-size-line-height-note-m)}.sapphire-field__note{flex:1}.sapphire-field--error .sapphire-field__note{color:var(--sapphire-field-color-note-error)}.sapphire-field.is-disabled{opacity:var(--sapphire-field-opacity-disabled);cursor:not-allowed}.sapphire-field.is-disabled .sapphire-field__control *{cursor:inherit}.sapphire-field--label-placement-side{grid-template-columns:max-content auto}.sapphire-field--label-placement-side .sapphire-field__control,.sapphire-field--label-placement-side .sapphire-field__message{grid-column:2}.sapphire-field--label-placement-side .sapphire-field__label{display:flex;align-items:center;max-height:var(--sapphire-field-size-max-height-label-l)}.sapphire-field--label-placement-side.sapphire-field--medium .sapphire-field__label{max-height:var(--sapphire-field-size-max-height-label-m)}.sapphire-field--label-placement-side.sapphire-field--label-alignment-top .sapphire-field__label{align-items:flex-start;max-height:unset}.sapphire-fieldset{display:inline-flex;flex-direction:column;width:min-content;gap:var(--sapphire-field-size-spacing-fieldset-large)}.sapphire-fieldset .sapphire-field--label-placement-side{grid-template-columns:1fr min-content}.sapphire-fieldset .sapphire-field--label-placement-side .sapphire-field__label{white-space:nowrap}\n"] }]
|
|
136
155
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { necessityIndicator: [{
|
|
137
156
|
type: Input
|
|
138
157
|
}], labelPlacement: [{
|
|
@@ -154,11 +173,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
154
173
|
}], _fieldLabel: [{
|
|
155
174
|
type: ContentChild,
|
|
156
175
|
args: [FieldLabelDirective]
|
|
157
|
-
}],
|
|
158
|
-
type:
|
|
176
|
+
}], controls: [{
|
|
177
|
+
type: ContentChildren,
|
|
159
178
|
args: [FieldControl]
|
|
160
179
|
}], requiredValidator: [{
|
|
161
180
|
type: ContentChild,
|
|
162
181
|
args: [RequiredValidator, { descendants: true }]
|
|
163
182
|
}] } });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFJTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxFQUNMLGtCQUFrQixHQUVuQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7QUFFNUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQXNCSCxNQUFNLE9BQU8sY0FBYztJQXlEekIsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUEvQ3hE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QUs7c0JBREosU0FBUzt1QkFBQyxjQUFjO2dCQUl6QixXQUFXO3NCQURWLFlBQVk7dUJBQUMsbUJBQW1CO2dCQVFqQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsWUFBWTtnQkFJbEIsaUJBQWlCO3NCQUR4QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIGlzRGV2TW9kZSxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkTm90ZURpcmVjdGl2ZSB9IGZyb20gJy4vZmllbGQtbm90ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRFcnJvckRpcmVjdGl2ZSB9IGZyb20gJy4vZmllbGQtZXJyb3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGFiZWwvc3JjL2xhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb2VyY2VCb29sZWFuIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvZXJjZS1ib29sZWFuLmRlY29yYXRvcic7XG5pbXBvcnQgeyBSZXF1aXJlZFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkQ29udHJvbCB9IGZyb20gJy4vZmllbGQtY29udHJvbCc7XG5pbXBvcnQgeyBGaWVsZExhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1sYWJlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRG9tUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBVc2VDb21wb25lbnRTdHlsZXNPbkhvc3QgfSBmcm9tICcuLi8uLi9jb21tb24vc2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uJztcbmltcG9ydCB7XG4gIElDT05fU0laRV9QUk9WSURFUixcbiAgSWNvblNpemVQcm92aWRlcixcbn0gZnJvbSAnLi4vLi4vaWNvbi9zcmMvaWNvbi1zaXplLXByb3ZpZGVyJztcbmltcG9ydCB7IFJhZGlvR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9yYWRpby9zcmMvcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcblxuLyoqXG4gKiBBIGZpZWxkIGlzIGEgY29tbW9uIGNvbnRhaW5lciBmb3IgbGFiZWxhYmxlIGNvbnRyb2xzIHN1Y2ggYXMgc2VsZWN0LCByYWRpbyBncm91cCwgdGV4dCBmaWVsZCxcbiAqIGV0Yy5cbiAqIEluIGFkZGl0aW9uIHRvIHRoZSBmaWVsZCBjb250cm9sIChzcC1zZWxlY3QsIHNwLXJhZGlvLWdyb3VwLCBzcC10ZXh0LWZpZWxkKSwgdGhlIGZvbGxvd2luZ1xuICogY29tcG9uZW50cyBjYW4gYmUgdXNlZCBpbnNpZGUgYSBmaWVsZDpcbiAqIC0gc3AtZmllbGQtbGFiZWw6IGlzIHVzZWQgdG8gcHJvdmlkZSB0aGUgbGFiZWwgdGV4dCBmb3IgdGhlIGZpZWxkLlxuICogLSBzcC1jb250ZXh0dWFsLWhlbHA6IGlzIHBsYWNlZCBpbiB0aGUgbGFiZWwgYXJlYSwgbmV4dCB0byB0aGUgbGFiZWwgdGV4dFxuICogLSBzcC1maWVsZC1lcnJvcjogaXMgdXNlZCB0byBwcm92aWRlIGFuIGVycm9yIG1lc3NhZ2UsIHdoaWNoIGlzIHBsYWNlZCBiZWxvdyB0aGUgZmllbGQnc1xuICogY29udHJvbC5cbiAqIC0gc3AtZmllbGQtbm90ZTogaXMgdXNlZCB0byBwcm92aWRlIGEgbm90ZSwgd2hpY2ggaXMgcGxhY2VkIGJlbG93IHRoZSBmaWVsZCdzIGNvbnRyb2wuIE9ubHlcbiAqIHNob3duXG4gKiAgIHdoZW4gdGhlcmUgaXMgbm8gZXJyb3JcbiAqIC0gc3AtZmllbGQtbm90ZS1zdWZmaXg6IGlzIHVzZWQgdG8gcHJvdmlkZSBhIHN1ZmZpeCwgd2hpY2ggaXMgcGxhY2VkIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZVxuICogbm90ZSBhcmVhLlxuICpcbiAqIEFkZGl0aW9uYWxseSwgZmllbGQgc3VwcG9ydHM6XG4gKiAtIExhYmVsIHBsYWNlbWVudCBlaXRoZXIgYWJvdmUgKGRlZmF1bHQpIG9yIG9uIHRoZSBzaWRlIG9mIHRoZSBjb250cm9sLlxuICogLSBBc3NvY2lhdGluZyBsYWJlbCB3aXRoIHRoZSBjb250cm9sLCBzbyB0aGF0IGNsaWNraW5nIHRoZSBsYWJlbCBmb2N1c2VzIHRoZSBjb250cm9sLCBzaG93aW5nXG4gKiAgIGZvY3VzIHJpbmcuXG4gKiAtIE9wdGlvbmFsbHkgc2hvd2luZyBuZWNlc3NpdHkgaW5kaWNhdG9yIGluIHRoZSBsYWJlbC4gRmllbGRzIG5lY2Vzc2l0eSAocmVxdWlyZWQgb3Igb3B0aW9uYWwpXG4gKiAgIGlzIGRldGVybWluZWQgYmFzZWQgb24gdGhlIHByZXNlbmNlIG9mIEBhbmd1bGFyL2Zvcm0ncyB7QGxpbmsgUmVxdWlyZWRWYWxpZGF0b3J9LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3NhcHBoaXJlLWZpZWxkJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLWZpZWxkLS1sYWJlbC1wbGFjZW1lbnQtc2lkZV0nOiAnbGFiZWxQbGFjZW1lbnQgPT09IFwic2lkZVwiJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLWZpZWxkLS1sYWJlbC1hbGlnbm1lbnQtdG9wXSc6XG4gICAgICAnbGFiZWxQbGFjZW1lbnQgPT09IFwic2lkZVwiICYmIGhhc0ZpZWxkR3JvdXBDaGlsZCgpJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLWZpZWxkLS1tZWRpdW1dJzogJ3NpemUgPT09IFwibWVkaXVtXCInLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtZmllbGQtLWVycm9yXSc6ICdoYXNFcnJvcigpJyxcbiAgICAnW2NsYXNzLmlzLWRpc2FibGVkXSc6ICdjb250cm9sPy5pc0Rpc2FibGVkKCknLFxuICB9LFxuICBob3N0RGlyZWN0aXZlczogW1VzZUNvbXBvbmVudFN0eWxlc09uSG9zdF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IElDT05fU0laRV9QUk9WSURFUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpZWxkQ29tcG9uZW50KSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZENvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsIEljb25TaXplUHJvdmlkZXJcbntcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIG5lY2Vzc2l0eSBpbmRpY2F0b3Igc2hvdWxkIGJlIHZpc2libGUuXG4gICAqL1xuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBuZWNlc3NpdHlJbmRpY2F0b3I/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIExhYmVsIHBsYWNlbWVudCB3aXRoIHJlc3BlY3QgdG8gdGhlIGZvcm0gY29udHJvbC5cbiAgICogQGRlZmF1bHQgXCJhYm92ZVwiXG4gICAqL1xuICBASW5wdXQoKVxuICBsYWJlbFBsYWNlbWVudD86ICdzaWRlJyB8ICdhYm92ZScgPSAnYWJvdmUnO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCBcImxhcmdlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNpemU/OiAnbGFyZ2UnIHwgJ21lZGl1bScgPSAnbGFyZ2UnO1xuXG4gIEBDb250ZW50Q2hpbGQoRmllbGROb3RlRGlyZWN0aXZlKVxuICBub3RlPzogRmllbGROb3RlRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGQoRmllbGRFcnJvckRpcmVjdGl2ZSlcbiAgZXJyb3I/OiBGaWVsZEVycm9yRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGQoUmFkaW9Hcm91cENvbXBvbmVudClcbiAgcmFkaW9Hcm91cD86IFJhZGlvR3JvdXBDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChMYWJlbENvbXBvbmVudClcbiAgbGFiZWw/OiBMYWJlbENvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKEZpZWxkTGFiZWxEaXJlY3RpdmUpXG4gIF9maWVsZExhYmVsPzogRmllbGRMYWJlbERpcmVjdGl2ZTtcblxuICAvKipcbiAgICogRm9jdXNhYmxlLCBsYWJlbGFibGUgY29udHJvbC4gQ29tcG9uZW50cyBsaWtlIFNlbGVjdCwgUmFkaW9Hcm91cCBvciBUZXh0RmllbGQsXG4gICAqIHRoYXQgYXJlIG1lYW50IHRvIHJlbmRlcmVkIGluc2lkZSBzcC1maWVsZCwgcHJvdmlkZSBGaWVsZENvbnRyb2wuXG4gICAqL1xuICBAQ29udGVudENoaWxkKEZpZWxkQ29udHJvbClcbiAgY29udHJvbD86IEZpZWxkQ29udHJvbDtcblxuICBAQ29udGVudENoaWxkKFJlcXVpcmVkVmFsaWRhdG9yLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcmVxdWlyZWRWYWxpZGF0b3I/OiBSZXF1aXJlZFZhbGlkYXRvcjtcblxuICAvKipcbiAgICogSXMgc2V0IHZpYSBmaWVsZC1ub3RlLWFmZml4IGRpcmVjdGl2ZS4gQ29udGVudENoaWxkIHF1ZXJ5IGNhbid0IGJlIHVzZWQgc2luY2Ugd2UgbmVlZFxuICAgKiB0byBxdWVyeSBmcm9tIGNvbnRlbnQgLT4gdmlldyBpbiBzb21lIGNhc2VzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9ub3RlU3VmZml4UG9ydGFsOiBEb21Qb3J0YWw8SFRNTEVsZW1lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBjaGFuZ2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICghdGhpcy5jb250cm9sICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdzcC1maWVsZCBpcyByZW5kZXJlZCB3aXRob3V0IGFueSBjb250cm9sIGxpa2Ugc3Atc2VsZWN0LCBzcC10ZXh0LWZpZWxkLCBvciBzcC1yYWRpby1ncm91cCBpbnNpZGUgaXQuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgLyoqXG4gICAgICogU2luY2Ugbm90ZSBzdWZmaXggcG9ydGFsIGlzIGNoYW5nZWQgYnkgRmllbGROb3RlU3VmZml4RGlyZWN0aXZlLFxuICAgICAqIGl0IGNyZWF0ZXMgYSBjYXNlIG9mIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3IuXG4gICAgICogU28gd2UgbmVlZCB0byBtYW51YWxseSBkZXRlY3QgY2hhbmdlcyB3aGVuIHN1ZmZpeCBwb3J0YWwgaXMgY2hhbmdlZC5cbiAgICAgKiBXZSBXb3VsZG4ndCBuZWVkIHRvIGRvIHNvLCBpZiB3ZSBjb3VsZCBxdWVyeSBGaWVsZE5vdGVTdWZmaXhEaXJlY3RpdmVcbiAgICAgKiB2aWEgQENvbnRlbnRDaGlsZCwgYnV0IHdlIGNhbid0IGJlY2F1c2UgaXQgY2FuIGJlIGluIHRoZSB2aWV3IG9mIGEgY29udGVudFxuICAgICAqIGNoaWxkLCB3aGljaCBtYWtlcyBpdCBub3QgcXVlcnktYWJsZS5cbiAgICAgKi9cbiAgICBpZiAodGhpcy5jaGFuZ2VkKSB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuY2hhbmdlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgY29udGFpbnMgYW4gZXJyb3IgbWVzc2FnZSAoc3AtZmllbGQtZXJyb3IpLlxuICAgKi9cbiAgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IgIT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGNvbnRyb2wgaXMgcmFkaW8gZ3JvdXAgKHNwLXJhZGlvLWdyb3VwKS5cbiAgICovXG4gIGhhc0ZpZWxkR3JvdXBDaGlsZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yYWRpb0dyb3VwICE9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBsYWJlbE5lY2Vzc2l0eUluZGljYXRvcigpOiBMYWJlbENvbXBvbmVudFsnbmVjZXNzaXR5SW5kaWNhdG9yJ10ge1xuICAgIGlmICh0aGlzLm5lY2Vzc2l0eUluZGljYXRvcikge1xuICAgICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLnJlcXVpcmVkVmFsaWRhdG9yPy5yZXF1aXJlZClcbiAgICAgICAgPyAncmVxdWlyZWQnXG4gICAgICAgIDogJ29wdGlvbmFsJztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIF9zZXRTdWZmaXhQb3J0YWwocG9ydGFsOiBEb21Qb3J0YWw8SFRNTEVsZW1lbnQ+IHwgbnVsbCkge1xuICAgIGlmICh0aGlzLl9ub3RlU3VmZml4UG9ydGFsPy5pc0F0dGFjaGVkKSB7XG4gICAgICB0aGlzLl9ub3RlU3VmZml4UG9ydGFsLmRldGFjaCgpO1xuICAgICAgLy8gY2FsbGluZyBkZXRhY2ggd2lsbCBtb3ZlIHRoZSBlbGVtZW50IGJhY2sgdG8gdGhlIERPTS4gQ291bGRuJ3QgZmluZCBhbnkgYmV0dGVyXG4gICAgICAvLyB3YXkgdGhhbiBpbXBlcmF0aXZlbHkgcmVtb3ZpbmcgdGhlIERPTSBlbGVtZW50IHRvby5cbiAgICAgIHRoaXMuX25vdGVTdWZmaXhQb3J0YWwuZWxlbWVudC5yZW1vdmUoKTtcbiAgICB9XG4gICAgdGhpcy5fbm90ZVN1ZmZpeFBvcnRhbCA9IHBvcnRhbDtcbiAgICB0aGlzLmNoYW5nZWQgPSB0cnVlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2FwcGhpcmUtZmllbGRfX2xhYmVsXCIgKm5nSWY9XCJfZmllbGRMYWJlbFwiPlxuICA8c3AtbGFiZWxcbiAgICBbbmVjZXNzaXR5SW5kaWNhdG9yXT1cImxhYmVsTmVjZXNzaXR5SW5kaWNhdG9yXCJcbiAgICBbZm9yXT1cImNvbnRyb2w/LmdldElkPy4oKVwiXG4gICAgW2Rpc2FibGVkXT1cImNvbnRyb2w/LmlzRGlzYWJsZWQoKVwiXG4gICAgKGxhYmVsQ2xpY2spPVwiY29udHJvbD8uZm9jdXM/Ligna2V5Ym9hcmQnKVwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcC1maWVsZC1sYWJlbFwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudFxuICAgICAgc2VsZWN0PVwic3AtY29udGV4dHVhbC1oZWxwXCJcbiAgICAgIG5nUHJvamVjdEFzPVwic3AtY29udGV4dHVhbC1oZWxwXCJcbiAgICA+PC9uZy1jb250ZW50PlxuICA8L3NwLWxhYmVsPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwic2FwcGhpcmUtZmllbGRfX2NvbnRyb2xcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwic2FwcGhpcmUtZmllbGRfX21lc3NhZ2VcIiAqbmdJZj1cIm5vdGUgfHwgZXJyb3IgfHwgX25vdGVTdWZmaXhQb3J0YWxcIj5cbiAgPGRpdiBjbGFzcz1cInNhcHBoaXJlLWZpZWxkX19ub3RlLXJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1maWVsZF9fbm90ZVwiICpuZ0lmPVwiZXJyb3JcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLWZpZWxkLWVycm9yXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1maWVsZF9fbm90ZVwiICpuZ0lmPVwibm90ZSAmJiAhZXJyb3JcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLWZpZWxkLW5vdGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9ub3RlU3VmZml4UG9ydGFsXCI+XG4gICAgICA8bmctY29udGFpbmVyICpjZGtQb3J0YWxPdXRsZXQ9XCJfbm90ZVN1ZmZpeFBvcnRhbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFJTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFFVCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFDTCxrQkFBa0IsR0FFbkIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7O0FBRTVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFzQkgsTUFBTSxPQUFPLGNBQWM7SUF5RHpCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENB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QztTQUM5QztLQUNGLDREQXlCYSxrQkFBa0Isd0VBR2xCLG1CQUFtQiw2RUFHbkIsbUJBQW1CLDhFQU1uQixtQkFBbUIsb0ZBVW5CLGlCQUFpQiw4REFIZCxZQUFZLG9FQVZsQixjQUFjLDhHQ3hHM0IsK3BDQW9DQTtBRDRDRTtJQURDLGFBQWE7MERBQ29COzJGQVJ2QixjQUFjO2tCQXJCMUIsU0FBUzsrQkFDRSxVQUFVLFFBR2Q7d0JBQ0osS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsOENBQThDLEVBQUUsMkJBQTJCO3dCQUMzRSw2Q0FBNkMsRUFDM0MsbURBQW1EO3dCQUNyRCxnQ0FBZ0MsRUFBRSxtQkFBbUI7d0JBQ3JELCtCQUErQixFQUFFLFlBQVk7d0JBQzdDLHFCQUFxQixFQUFFLGNBQWM7cUJBQ3RDLGtCQUNlLENBQUMsd0JBQXdCLENBQUMsYUFDL0I7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDO3lCQUM5QztxQkFDRjt3R0FVRCxrQkFBa0I7c0JBRmpCLEtBQUs7Z0JBU04sY0FBYztzQkFEYixLQUFLO2dCQU9OLElBQUk7c0JBREgsS0FBSztnQkFJTixJQUFJO3NCQURILFlBQVk7dUJBQUMsa0JBQWtCO2dCQUloQyxLQUFLO3NCQURKLFlBQVk7dUJBQUMsbUJBQW1CO2dCQUlqQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsbUJBQW1CO2dCQUlqQyxLQUFLO3NCQURKLFNBQVM7dUJBQUMsY0FBYztnQkFJekIsV0FBVztzQkFEVixZQUFZO3VCQUFDLG1CQUFtQjtnQkFRakMsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLFlBQVk7Z0JBSXJCLGlCQUFpQjtzQkFEeEIsWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIGlzRGV2TW9kZSxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGROb3RlRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1ub3RlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZEVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1lcnJvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9sYWJlbC9zcmMvbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IFJlcXVpcmVkVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGRDb250cm9sIH0gZnJvbSAnLi9maWVsZC1jb250cm9sJztcbmltcG9ydCB7IEZpZWxkTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL2ZpZWxkLWxhYmVsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEb21Qb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlc09uSG9zdCB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHtcbiAgSUNPTl9TSVpFX1BST1ZJREVSLFxuICBJY29uU2l6ZVByb3ZpZGVyLFxufSBmcm9tICcuLi8uLi9pY29uL3NyYy9pY29uLXNpemUtcHJvdmlkZXInO1xuaW1wb3J0IHsgUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3JhZGlvL3NyYy9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuXG4vKipcbiAqIEEgZmllbGQgaXMgYSBjb21tb24gY29udGFpbmVyIGZvciBsYWJlbGFibGUgY29udHJvbHMgc3VjaCBhcyBzZWxlY3QsIHJhZGlvIGdyb3VwLCB0ZXh0IGZpZWxkLFxuICogZXRjLlxuICogSW4gYWRkaXRpb24gdG8gdGhlIGZpZWxkIGNvbnRyb2wgKHNwLXNlbGVjdCwgc3AtcmFkaW8tZ3JvdXAsIHNwLXRleHQtZmllbGQpLCB0aGUgZm9sbG93aW5nXG4gKiBjb21wb25lbnRzIGNhbiBiZSB1c2VkIGluc2lkZSBhIGZpZWxkOlxuICogLSBzcC1maWVsZC1sYWJlbDogaXMgdXNlZCB0byBwcm92aWRlIHRoZSBsYWJlbCB0ZXh0IGZvciB0aGUgZmllbGQuXG4gKiAtIHNwLWNvbnRleHR1YWwtaGVscDogaXMgcGxhY2VkIGluIHRoZSBsYWJlbCBhcmVhLCBuZXh0IHRvIHRoZSBsYWJlbCB0ZXh0XG4gKiAtIHNwLWZpZWxkLWVycm9yOiBpcyB1c2VkIHRvIHByb3ZpZGUgYW4gZXJyb3IgbWVzc2FnZSwgd2hpY2ggaXMgcGxhY2VkIGJlbG93IHRoZSBmaWVsZCdzXG4gKiBjb250cm9sLlxuICogLSBzcC1maWVsZC1ub3RlOiBpcyB1c2VkIHRvIHByb3ZpZGUgYSBub3RlLCB3aGljaCBpcyBwbGFjZWQgYmVsb3cgdGhlIGZpZWxkJ3MgY29udHJvbC4gT25seVxuICogc2hvd25cbiAqICAgd2hlbiB0aGVyZSBpcyBubyBlcnJvclxuICogLSBzcC1maWVsZC1ub3RlLXN1ZmZpeDogaXMgdXNlZCB0byBwcm92aWRlIGEgc3VmZml4LCB3aGljaCBpcyBwbGFjZWQgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlXG4gKiBub3RlIGFyZWEuXG4gKlxuICogQWRkaXRpb25hbGx5LCBmaWVsZCBzdXBwb3J0czpcbiAqIC0gTGFiZWwgcGxhY2VtZW50IGVpdGhlciBhYm92ZSAoZGVmYXVsdCkgb3Igb24gdGhlIHNpZGUgb2YgdGhlIGNvbnRyb2wuXG4gKiAtIEFzc29jaWF0aW5nIGxhYmVsIHdpdGggdGhlIGNvbnRyb2wsIHNvIHRoYXQgY2xpY2tpbmcgdGhlIGxhYmVsIGZvY3VzZXMgdGhlIGNvbnRyb2wsIHNob3dpbmdcbiAqICAgZm9jdXMgcmluZy5cbiAqIC0gT3B0aW9uYWxseSBzaG93aW5nIG5lY2Vzc2l0eSBpbmRpY2F0b3IgaW4gdGhlIGxhYmVsLiBGaWVsZHMgbmVjZXNzaXR5IChyZXF1aXJlZCBvciBvcHRpb25hbClcbiAqICAgaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgcHJlc2VuY2Ugb2YgQGFuZ3VsYXIvZm9ybSdzIHtAbGluayBSZXF1aXJlZFZhbGlkYXRvcn0uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnc2FwcGhpcmUtZmllbGQnLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtZmllbGQtLWxhYmVsLXBsYWNlbWVudC1zaWRlXSc6ICdsYWJlbFBsYWNlbWVudCA9PT0gXCJzaWRlXCInLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtZmllbGQtLWxhYmVsLWFsaWdubWVudC10b3BdJzpcbiAgICAgICdsYWJlbFBsYWNlbWVudCA9PT0gXCJzaWRlXCIgJiYgaGFzRmllbGRHcm91cENoaWxkKCknLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtZmllbGQtLW1lZGl1bV0nOiAnc2l6ZSA9PT0gXCJtZWRpdW1cIicsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1maWVsZC0tZXJyb3JdJzogJ2hhc0Vycm9yKCknLFxuICAgICdbY2xhc3MuaXMtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQoKScsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbVXNlQ29tcG9uZW50U3R5bGVzT25Ib3N0XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSUNPTl9TSVpFX1BST1ZJREVSLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmllbGRDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgSWNvblNpemVQcm92aWRlclxue1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbmVjZXNzaXR5IGluZGljYXRvciBzaG91bGQgYmUgdmlzaWJsZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG5lY2Vzc2l0eUluZGljYXRvcj86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogTGFiZWwgcGxhY2VtZW50IHdpdGggcmVzcGVjdCB0byB0aGUgZm9ybSBjb250cm9sLlxuICAgKiBAZGVmYXVsdCBcImFib3ZlXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIGxhYmVsUGxhY2VtZW50PzogJ3NpZGUnIHwgJ2Fib3ZlJyA9ICdhYm92ZSc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IFwibGFyZ2VcIlxuICAgKi9cbiAgQElucHV0KClcbiAgc2l6ZT86ICdsYXJnZScgfCAnbWVkaXVtJyA9ICdsYXJnZSc7XG5cbiAgQENvbnRlbnRDaGlsZChGaWVsZE5vdGVEaXJlY3RpdmUpXG4gIG5vdGU/OiBGaWVsZE5vdGVEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChGaWVsZEVycm9yRGlyZWN0aXZlKVxuICBlcnJvcj86IEZpZWxkRXJyb3JEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChSYWRpb0dyb3VwQ29tcG9uZW50KVxuICByYWRpb0dyb3VwPzogUmFkaW9Hcm91cENvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKExhYmVsQ29tcG9uZW50KVxuICBsYWJlbD86IExhYmVsQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoRmllbGRMYWJlbERpcmVjdGl2ZSlcbiAgX2ZpZWxkTGFiZWw/OiBGaWVsZExhYmVsRGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBGb2N1c2FibGUsIGxhYmVsYWJsZSBjb250cm9sLiBDb21wb25lbnRzIGxpa2UgU2VsZWN0LCBSYWRpb0dyb3VwIG9yIFRleHRGaWVsZCxcbiAgICogdGhhdCBhcmUgbWVhbnQgdG8gcmVuZGVyZWQgaW5zaWRlIHNwLWZpZWxkLCBwcm92aWRlIEZpZWxkQ29udHJvbC5cbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oRmllbGRDb250cm9sKVxuICBjb250cm9scz86IFF1ZXJ5TGlzdDxGaWVsZENvbnRyb2w+O1xuXG4gIEBDb250ZW50Q2hpbGQoUmVxdWlyZWRWYWxpZGF0b3IsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSByZXF1aXJlZFZhbGlkYXRvcj86IFJlcXVpcmVkVmFsaWRhdG9yO1xuXG4gIC8qKlxuICAgKiBJcyBzZXQgdmlhIGZpZWxkLW5vdGUtYWZmaXggZGlyZWN0aXZlLiBDb250ZW50Q2hpbGQgcXVlcnkgY2FuJ3QgYmUgdXNlZCBzaW5jZSB3ZSBuZWVkXG4gICAqIHRvIHF1ZXJ5IGZyb20gY29udGVudCAtPiB2aWV3IGluIHNvbWUgY2FzZXMuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX25vdGVTdWZmaXhQb3J0YWw6IERvbVBvcnRhbDxIVE1MRWxlbWVudD4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGNoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2xzICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdzcC1maWVsZCBpcyByZW5kZXJlZCB3aXRob3V0IGFueSBjb250cm9sIGxpa2Ugc3Atc2VsZWN0LCBzcC10ZXh0LWZpZWxkLCBvciBzcC1yYWRpby1ncm91cCBpbnNpZGUgaXQuJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgLyoqXG4gICAgICogU2luY2Ugbm90ZSBzdWZmaXggcG9ydGFsIGlzIGNoYW5nZWQgYnkgRmllbGROb3RlU3VmZml4RGlyZWN0aXZlLFxuICAgICAqIGl0IGNyZWF0ZXMgYSBjYXNlIG9mIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3IuXG4gICAgICogU28gd2UgbmVlZCB0byBtYW51YWxseSBkZXRlY3QgY2hhbmdlcyB3aGVuIHN1ZmZpeCBwb3J0YWwgaXMgY2hhbmdlZC5cbiAgICAgKiBXZSBXb3VsZG4ndCBuZWVkIHRvIGRvIHNvLCBpZiB3ZSBjb3VsZCBxdWVyeSBGaWVsZE5vdGVTdWZmaXhEaXJlY3RpdmVcbiAgICAgKiB2aWEgQENvbnRlbnRDaGlsZCwgYnV0IHdlIGNhbid0IGJlY2F1c2UgaXQgY2FuIGJlIGluIHRoZSB2aWV3IG9mIGEgY29udGVudFxuICAgICAqIGNoaWxkLCB3aGljaCBtYWtlcyBpdCBub3QgcXVlcnktYWJsZS5cbiAgICAgKi9cbiAgICBpZiAodGhpcy5jaGFuZ2VkKSB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMuY2hhbmdlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBjb250YWlucyBhbiBlcnJvciBtZXNzYWdlIChzcC1maWVsZC1lcnJvcikuXG4gICAqL1xuICBoYXNFcnJvcih0YXJnZXRGaWVsZD86IEZpZWxkQ29udHJvbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmVycm9yICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICghdGFyZ2V0RmllbGQgfHwgIXRoaXMuZXJyb3IudGFyZ2V0IHx8IHRoaXMuZXJyb3IudGFyZ2V0ID09PSB0YXJnZXRGaWVsZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBjb250cm9scywgdGhlIGZpZWxkIGlzIG9ubHkgZGlzYWJsZWQgd2hlbiBhbGwgb2YgdGhlbSBhcmUgZGlzYWJsZWRcbiAgICovXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2xzIHx8IHRoaXMuY29udHJvbHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbHM/LnRvQXJyYXkoKS5ldmVyeSgoY29udHJvbCkgPT4gY29udHJvbC5pc0Rpc2FibGVkKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9ubHkgc3VwcG9ydCBmZWF0dXJlcyBsaWtlIGBmb3JgIG9yIGBsYWJlbENsaWNrYCBpZiB0aGUgZmllbGQgaGFzIG9uZSBjb250cm9sLlxuICAgKi9cbiAgZ2V0IGNvbnRyb2woKTogRmllbGRDb250cm9sIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9scz8ubGVuZ3RoID09PSAxID8gdGhpcy5jb250cm9scy5maXJzdCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBpc0dyb3VwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xzID8gdGhpcy5jb250cm9scy5sZW5ndGggPiAxIDogZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgY29udHJvbCBpcyByYWRpbyBncm91cCAoc3AtcmFkaW8tZ3JvdXApLlxuICAgKi9cbiAgaGFzRmllbGRHcm91cENoaWxkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJhZGlvR3JvdXAgIT0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0IGxhYmVsTmVjZXNzaXR5SW5kaWNhdG9yKCk6IExhYmVsQ29tcG9uZW50WyduZWNlc3NpdHlJbmRpY2F0b3InXSB7XG4gICAgaWYgKHRoaXMubmVjZXNzaXR5SW5kaWNhdG9yKSB7XG4gICAgICByZXR1cm4gY29lcmNlQm9vbGVhblByb3BlcnR5KHRoaXMucmVxdWlyZWRWYWxpZGF0b3I/LnJlcXVpcmVkKVxuICAgICAgICA/ICdyZXF1aXJlZCdcbiAgICAgICAgOiAnb3B0aW9uYWwnO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgX3NldFN1ZmZpeFBvcnRhbChwb3J0YWw6IERvbVBvcnRhbDxIVE1MRWxlbWVudD4gfCBudWxsKSB7XG4gICAgaWYgKHRoaXMuX25vdGVTdWZmaXhQb3J0YWw/LmlzQXR0YWNoZWQpIHtcbiAgICAgIHRoaXMuX25vdGVTdWZmaXhQb3J0YWwuZGV0YWNoKCk7XG4gICAgICAvLyBjYWxsaW5nIGRldGFjaCB3aWxsIG1vdmUgdGhlIGVsZW1lbnQgYmFjayB0byB0aGUgRE9NLiBDb3VsZG4ndCBmaW5kIGFueSBiZXR0ZXJcbiAgICAgIC8vIHdheSB0aGFuIGltcGVyYXRpdmVseSByZW1vdmluZyB0aGUgRE9NIGVsZW1lbnQgdG9vLlxuICAgICAgdGhpcy5fbm90ZVN1ZmZpeFBvcnRhbC5lbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cbiAgICB0aGlzLl9ub3RlU3VmZml4UG9ydGFsID0gcG9ydGFsO1xuICAgIHRoaXMuY2hhbmdlZCA9IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzYXBwaGlyZS1maWVsZF9fbGFiZWxcIiAqbmdJZj1cIl9maWVsZExhYmVsXCI+XG4gIDxzcC1sYWJlbFxuICAgIFtuZWNlc3NpdHlJbmRpY2F0b3JdPVwibGFiZWxOZWNlc3NpdHlJbmRpY2F0b3JcIlxuICAgIFtmb3JdPVwiY29udHJvbD8uZ2V0SWQ/LigpXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCJcbiAgICAobGFiZWxDbGljayk9XCJjb250cm9sPy5mb2N1cz8uKCdrZXlib2FyZCcpXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLWZpZWxkLWxhYmVsXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50XG4gICAgICBzZWxlY3Q9XCJzcC1jb250ZXh0dWFsLWhlbHBcIlxuICAgICAgbmdQcm9qZWN0QXM9XCJzcC1jb250ZXh0dWFsLWhlbHBcIlxuICAgID48L25nLWNvbnRlbnQ+XG4gIDwvc3AtbGFiZWw+XG48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJzYXBwaGlyZS1maWVsZF9fY29udHJvbFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2FwcGhpcmUtZmllbGRfX2NvbnRyb2wtLWdyb3VwJzogaXNHcm91cFxuICB9XCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwic2FwcGhpcmUtZmllbGRfX21lc3NhZ2VcIiAqbmdJZj1cIm5vdGUgfHwgZXJyb3IgfHwgX25vdGVTdWZmaXhQb3J0YWxcIj5cbiAgPGRpdiBjbGFzcz1cInNhcHBoaXJlLWZpZWxkX19ub3RlLXJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1maWVsZF9fbm90ZVwiICpuZ0lmPVwiZXJyb3JcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLWZpZWxkLWVycm9yXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1maWVsZF9fbm90ZVwiICpuZ0lmPVwibm90ZSAmJiAhZXJyb3JcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLWZpZWxkLW5vdGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9ub3RlU3VmZml4UG9ydGFsXCI+XG4gICAgICA8bmctY29udGFpbmVyICpjZGtQb3J0YWxPdXRsZXQ9XCJfbm90ZVN1ZmZpeFBvcnRhbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -5,7 +5,7 @@ import { FieldNoteSuffixDirective } from './field-note-suffix.directive';
|
|
|
5
5
|
import { FieldErrorDirective } from './field-error.directive';
|
|
6
6
|
import { FieldComponent } from './field.component';
|
|
7
7
|
import { PortalModule } from '@angular/cdk/portal';
|
|
8
|
-
import { NgIf } from '@angular/common';
|
|
8
|
+
import { CommonModule, NgIf } from '@angular/common';
|
|
9
9
|
import { LabelComponent } from '../../label/public_api';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class SapphireFieldModule {
|
|
@@ -17,13 +17,15 @@ SapphireFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
|
|
|
17
17
|
FieldNoteSuffixDirective,
|
|
18
18
|
FieldErrorDirective,
|
|
19
19
|
PortalModule,
|
|
20
|
-
LabelComponent
|
|
20
|
+
LabelComponent,
|
|
21
|
+
CommonModule], exports: [FieldLabelDirective,
|
|
21
22
|
FieldNoteDirective,
|
|
22
23
|
FieldNoteSuffixDirective,
|
|
23
24
|
FieldErrorDirective,
|
|
24
25
|
FieldComponent] });
|
|
25
26
|
SapphireFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireFieldModule, imports: [PortalModule,
|
|
26
|
-
LabelComponent
|
|
27
|
+
LabelComponent,
|
|
28
|
+
CommonModule] });
|
|
27
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireFieldModule, decorators: [{
|
|
28
30
|
type: NgModule,
|
|
29
31
|
args: [{
|
|
@@ -36,6 +38,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
36
38
|
FieldErrorDirective,
|
|
37
39
|
PortalModule,
|
|
38
40
|
LabelComponent,
|
|
41
|
+
CommonModule,
|
|
39
42
|
],
|
|
40
43
|
exports: [
|
|
41
44
|
FieldLabelDirective,
|
|
@@ -46,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
46
49
|
],
|
|
47
50
|
}]
|
|
48
51
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9maWVsZC9zcmMvZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFzQnhELE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFuQmYsY0FBYyxhQUUzQixJQUFJO1FBQ0osbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQix3QkFBd0I7UUFDeEIsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixjQUFjO1FBQ2QsWUFBWSxhQUdaLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLG1CQUFtQjtRQUNuQixjQUFjO2lIQUdMLG1CQUFtQixZQVo1QixZQUFZO1FBQ1osY0FBYztRQUNkLFlBQVk7MkZBVUgsbUJBQW1CO2tCQXBCL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLE9BQU8sRUFBRTt3QkFDUCxJQUFJO3dCQUNKLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZExhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1sYWJlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGROb3RlRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1ub3RlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZE5vdGVTdWZmaXhEaXJlY3RpdmUgfSBmcm9tICcuL2ZpZWxkLW5vdGUtc3VmZml4LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZEVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC1lcnJvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xhYmVsL3B1YmxpY19hcGknO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGaWVsZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIEZpZWxkTGFiZWxEaXJlY3RpdmUsXG4gICAgRmllbGROb3RlRGlyZWN0aXZlLFxuICAgIEZpZWxkTm90ZVN1ZmZpeERpcmVjdGl2ZSxcbiAgICBGaWVsZEVycm9yRGlyZWN0aXZlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBMYWJlbENvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGaWVsZExhYmVsRGlyZWN0aXZlLFxuICAgIEZpZWxkTm90ZURpcmVjdGl2ZSxcbiAgICBGaWVsZE5vdGVTdWZmaXhEaXJlY3RpdmUsXG4gICAgRmllbGRFcnJvckRpcmVjdGl2ZSxcbiAgICBGaWVsZENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FwcGhpcmVGaWVsZE1vZHVsZSB7fVxuIl19
|
|
@@ -291,7 +291,7 @@ export class SelectComponent extends SelectComponentBase {
|
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
293
|
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SelectComponent, deps: [{ token: i1.SelectValueHolder }, { token: i2.FocusMonitor }, { token: i2.InputModalityDetector }, { token: i3.FieldComponent, optional: true }, { token: i4.SearchableSelectDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
294
|
-
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: SelectComponent, selector: "sp-select", host: { properties: { "class.sapphire-select--error": "_field?.hasError()", "class.sapphire-select--medium": "_field?.size === \"medium\"", "class.is-focus": "isFocusVisible()", "class.is-disabled": "isDisabled()", "attr.id": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.placeholder": "null" }, classAttribute: "sapphire-select" }, providers: [
|
|
294
|
+
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: SelectComponent, selector: "sp-select", host: { properties: { "class.sapphire-select--error": "_field?.hasError(this)", "class.sapphire-select--medium": "_field?.size === \"medium\"", "class.is-focus": "isFocusVisible()", "class.is-disabled": "isDisabled()", "attr.id": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.placeholder": "null" }, classAttribute: "sapphire-select" }, providers: [
|
|
295
295
|
{
|
|
296
296
|
provide: NG_VALUE_ACCESSOR,
|
|
297
297
|
useExisting: forwardRef(() => SelectComponent),
|
|
@@ -305,7 +305,7 @@ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
305
305
|
provide: FieldControl,
|
|
306
306
|
useExisting: forwardRef(() => SelectComponent),
|
|
307
307
|
},
|
|
308
|
-
], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }], exportAs: ["spSelect"], usesInheritance: true, hostDirectives: [{ directive: i5.UseComponentStylesOnHost }], ngImport: i0, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError() ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 ? 'none' : undefined\n \"\n noPadding\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [size]=\"_field?.size\"\n >\n </sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field);gap:var(--sapphire-select-size-spacing-control-gap-l)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m);gap:var(--sapphire-select-size-spacing-control-gap-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-select-size-font-content-l)}.sapphire-select--medium .sapphire-select__prefix{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "component", type: i8.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "size", "id"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "directive", type: i9.ListboxInputDirective, selector: "input[spListboxInput]", inputs: ["spListboxInput"] }, { kind: "component", type: i10.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i11.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i12.VisuallyHiddenDirective, selector: "[spVisuallyHidden]", inputs: ["spVisuallyHidden"] }, { kind: "component", type: i13.HiddenSelectComponent, selector: "sp-hidden-select" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
|
|
308
|
+
], viewQueries: [{ propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }, { propertyName: "triggerElementRef", first: true, predicate: ["triggerElementRef"], descendants: true, read: ElementRef }, { propertyName: "listbox", first: true, predicate: ListboxComponent, descendants: true }, { propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }], exportAs: ["spSelect"], usesInheritance: true, hostDirectives: [{ directive: i5.UseComponentStylesOnHost }], ngImport: i0, template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError(this) ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 ? 'none' : undefined\n \"\n noPadding\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [size]=\"_field?.size\"\n >\n </sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field);gap:var(--sapphire-select-size-spacing-control-gap-l)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m);gap:var(--sapphire-select-size-spacing-control-gap-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-select-size-font-content-l)}.sapphire-select--medium .sapphire-select__prefix{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "component", type: i8.ListboxComponent, selector: "sp-listbox", inputs: ["selectedValues", "spListboxItems", "disabled", "multiple", "navigationWrapDisabled", "aria-label", "aria-labelledby", "size", "id"], outputs: ["selectedValuesChange", "selected"], exportAs: ["spListbox"] }, { kind: "directive", type: i9.ListboxInputDirective, selector: "input[spListboxInput]", inputs: ["spListboxInput"] }, { kind: "component", type: i10.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus", "trapFocus"] }, { kind: "directive", type: i11.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i12.VisuallyHiddenDirective, selector: "[spVisuallyHidden]", inputs: ["spVisuallyHidden"] }, { kind: "component", type: i13.HiddenSelectComponent, selector: "sp-hidden-select" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
|
|
309
309
|
__decorate([
|
|
310
310
|
AutoId()
|
|
311
311
|
], SelectComponent.prototype, "_valueContainerId", void 0);
|
|
@@ -327,7 +327,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
327
327
|
},
|
|
328
328
|
], host: {
|
|
329
329
|
class: 'sapphire-select',
|
|
330
|
-
'[class.sapphire-select--error]': '_field?.hasError()',
|
|
330
|
+
'[class.sapphire-select--error]': '_field?.hasError(this)',
|
|
331
331
|
'[class.sapphire-select--medium]': '_field?.size === "medium"',
|
|
332
332
|
'[class.is-focus]': 'isFocusVisible()',
|
|
333
333
|
'[class.is-disabled]': 'isDisabled()',
|
|
@@ -335,7 +335,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
335
335
|
'[attr.aria-label]': 'null',
|
|
336
336
|
'[attr.aria-labelledby]': 'null',
|
|
337
337
|
'[attr.placeholder]': 'null',
|
|
338
|
-
}, hostDirectives: [UseComponentStylesOnHost], template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError() ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 ? 'none' : undefined\n \"\n noPadding\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [size]=\"_field?.size\"\n >\n </sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field);gap:var(--sapphire-select-size-spacing-control-gap-l)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m);gap:var(--sapphire-select-size-spacing-control-gap-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-select-size-font-content-l)}.sapphire-select--medium .sapphire-select__prefix{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"] }]
|
|
338
|
+
}, hostDirectives: [UseComponentStylesOnHost], template: "<sp-hidden-select></sp-hidden-select>\n<div\n role=\"button\"\n aria-haspopup=\"listbox\"\n class=\"sapphire-select__button\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverTriggerDisabled]=\"disabled\"\n spPopoverTriggerOpenOnPressStart\n spPopoverTriggerCloseOnScroll\n spPopoverPlacement=\"bottom start\"\n #triggerElementRef\n #triggerRef=\"spPopoverTrigger\"\n (keydown)=\"handleKeyDown($event)\"\n (spPopoverTriggerClosed)=\"_onClose()\"\n (spPopoverTriggerOpened)=\"_onOpen()\"\n (focus)=\"_onFocus()\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_onFocusChange($event)\"\n [spPopoverNonModal]=\"searchable\"\n [id]=\"id\"\n [tabindex]=\"-1\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"_field?.error?.id || _field?.note?.id\"\n [attr.aria-invalid]=\"_field?.hasError(this) ? true : null\"\n>\n <div class=\"sapphire-select__value\" [id]=\"_valueContainerId\">\n <input\n *ngIf=\"searchable\"\n #searchInput\n tabindex=\"-1\"\n role=\"combobox\"\n class=\"sapphire-select__search-input\"\n [spListboxInput]=\"listbox\"\n [spVisuallyHidden]=\"!_isInputVisible()\"\n [attr.data-hidden]=\"!_isInputVisible()\"\n [placeholder]=\"placeholder || ''\"\n (keydown)=\"_onInputKeydown($event)\"\n (beforeinput)=\"open()\"\n [value]=\"_searchableSelectDirective?.searchValue\"\n (input)=\"_onSearchInput($event)\"\n />\n <ng-container *ngIf=\"!searchable || !_isInputVisible()\">\n <div\n *ngIf=\"selectedOptions.length === 0\"\n class=\"sapphire-select__placeholder\"\n >\n {{ placeholder }}\n </div>\n <ng-container *ngIf=\"selectedOptions.length > 0\">\n <ng-container *ngIf=\"!selectionText\">{{\n getSelectionText()\n }}</ng-container>\n <ng-content select=\"sp-selection-text\"></ng-content>\n </ng-container>\n </ng-container>\n </div>\n <div class=\"sapphire-select__icon-container\">\n <sp-icon name=\"chevronDown\"></sp-icon>\n </div>\n</div>\n<ng-template #popover>\n <sp-popover\n [style.display]=\"\n (filteredChildren$ | async)?.length === 0 ? 'none' : undefined\n \"\n noPadding\n noMaxWidth\n [style.min-width]=\"triggerElementRef.offsetWidth + 'px'\"\n >\n <sp-listbox\n [spListboxItems]=\"(filteredChildren$ | async) || undefined\"\n navigationWrapDisabled\n [multiple]=\"multiple\"\n [(selectedValues)]=\"listboxValue\"\n (selectedValuesChange)=\"_searchableSelectDirective?.setSearchValue('')\"\n (selected)=\"_handleSelected()\"\n [size]=\"_field?.size\"\n >\n </sp-listbox>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-select{position:relative;display:inline-block;color:var(--sapphire-select-color-content);width:var(--sapphire-select-size-width-control);font-family:var(--sapphire-select-font-name);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-select__button{display:flex;align-items:center;height:var(--sapphire-select-size-height-field-l);box-sizing:border-box;cursor:pointer;padding:0 var(--sapphire-select-size-spacing-control-horizontal-l);border:none;background-color:var(--sapphire-select-color-background-field);width:100%;outline:0;text-align:left;color:inherit;font-family:inherit;box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-default);border-radius:var(--sapphire-select-size-radius-field);gap:var(--sapphire-select-size-spacing-control-gap-l)}.sapphire-select--medium .sapphire-select__button{height:var(--sapphire-select-size-height-field-m);padding:0 var(--sapphire-select-size-spacing-control-horizontal-m);gap:var(--sapphire-select-size-spacing-control-gap-m)}.sapphire-select__value{flex:1 0 0;min-width:0;font-size:var(--sapphire-select-size-font-content-l);width:100%;font-weight:var(--sapphire-select-size-font-weight-item);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sapphire-select--medium .sapphire-select__value{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sapphire-select-color-placeholder)}.sapphire-select__icon-container{line-height:0;width:var(--sapphire-select-size-width-icon-l);height:var(--sapphire-select-size-height-icon-l)}.sapphire-select--medium .sapphire-select__icon-container{width:var(--sapphire-select-size-width-icon-m);height:var(--sapphire-select-size-height-icon-m)}.sapphire-select__prefix{display:inherit;font-size:var(--sapphire-select-size-font-content-l)}.sapphire-select--medium .sapphire-select__prefix{font-size:var(--sapphire-select-size-font-content-m)}.sapphire-select__search-input:not([data-hidden=true]){all:inherit}.sapphire-select__search-input::placeholder{color:var(--sapphire-select-color-placeholder)}.sapphire-select__native-select{position:absolute;inset:0;opacity:.01;width:100%;z-index:1}.sapphire-select--error:not(.is-disabled) .sapphire-select__button{box-shadow:inset 0 0 0 1px var(--sapphire-select-color-border-field-error)}.sapphire-select:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-focus-ring)}.sapphire-select--error:not(.is-disabled).is-focus .sapphire-select__button{box-shadow:inset 0 0 0 var(--sapphire-select-size-focus-ring) var(--sapphire-select-color-border-field-error)}.sapphire-select.is-disabled .sapphire-select__button{cursor:not-allowed}\n"] }]
|
|
339
339
|
}], ctorParameters: function () { return [{ type: i1.SelectValueHolder }, { type: i2.FocusMonitor }, { type: i2.InputModalityDetector }, { type: i3.FieldComponent, decorators: [{
|
|
340
340
|
type: Optional
|
|
341
341
|
}] }, { type: i4.SearchableSelectDirective, decorators: [{
|
|
@@ -353,4 +353,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
353
353
|
type: ViewChild,
|
|
354
354
|
args: ['searchInput', { read: ElementRef }]
|
|
355
355
|
}], _valueContainerId: [] } });
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUVWLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV2RixPQUFPLEVBQWdCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pFLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIseUJBQXlCLEdBQzFCLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQUd2Qzs7O0dBR0c7QUFV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RTtnQkFJMUMsT0FBTztzQkFEaEIsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSW5CLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFXOUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEZvY3VzTW9uaXRvcixcbiAgRm9jdXNPcmlnaW4sXG4gIElucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGVtcHR5LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBdXRvSWQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYXV0by1pZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgVXNlQ29tcG9uZW50U3R5bGVzT25Ib3N0IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3NhcHBoaXJlLXZpZXctZW5jYXBzdWxhdGlvbic7XG5pbXBvcnQgeyBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3BvcG92ZXIvc3JjL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdGJveENoaWxkLCBMaXN0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9wdWJsaWNfYXBpJztcbmltcG9ydCB7IHNlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9saXN0Ym94L3NyYy9zZWN0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudCwgRmllbGRDb250cm9sIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vY29tbW9uL3NlbGVjdC1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQge1xuICBNdWx0aVNlbGVjdERpcmVjdGl2ZUJhc2UsXG4gIFNlbGVjdFZhbHVlSG9sZGVyLFxuICBTaW5nbGVTZWxlY3REaXJlY3RpdmVCYXNlLFxufSBmcm9tICcuLi9jb21tb24vc2VsZWN0LXZhbHVlLWhvbGRlcic7XG5pbXBvcnQgeyBTZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9zZWFyY2hhYmxlLXNlbGVjdC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEVuYWJsZXMgbXVsdGlwbGUgc2VsZWN0aW9uLiBXaGVuIHByZXNlbnQsIGB2YWx1ZWAgd2lsbCBiZSBvZiB0eXBlIGBzdHJpbmdbXWAsIGFuZCBgdmFsdWVDaGFuZ2VgXG4gKiB3aWxsIGVtaXQgYHN0cmluZ1tdYC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3Atc2VsZWN0W211bHRpcGxlXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdFZhbHVlSG9sZGVyLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTXVsdGlTZWxlY3REaXJlY3RpdmUpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgTXVsdGlTZWxlY3REaXJlY3RpdmVCYXNlIHt9XG5cbi8qKlxuICogRW5hYmxlcyBzaW5nbGUgc2VsZWN0aW9uLCB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBTZWxlY3QuXG4gKiBXaGVuIHByZXNlbnQsIGB2YWx1ZWAgd2lsbCBiZSBvZiB0eXBlIGBzdHJpbmdgLCBhbmQgYHZhbHVlQ2hhbmdlYCB3aWxsIGVtaXQgYHN0cmluZ2AuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdDpub3QoW211bHRpcGxlXSknLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNpbmdsZVNlbGVjdERpcmVjdGl2ZSksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSB7fVxuXG4vKipcbiAqIEFsbG93cyB1c2VyIHRvIHNlbGVjdCBhIHNpbmdsZSBvcHRpb24gZnJvbSBhIGxpc3QsIHNpbWlsYXIgdG8gbmF0aXZlIHNlbGVjdFxuICogY29tcG9uZW50LlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGB0c3hcbiAqIDxzcC1maWVsZD5cbiAqICAgPHNwLWZpZWxkLWxhYmVsPkxhYmVsIHRleHQ8L3NwLWZpZWxkLWxhYmVsPlxuICogICA8c3Atc2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IGFuIG9wdGlvblwiPlxuICogICAgIDxzcC1vcHRpb24gdmFsdWU9XCJvcHRpb24xXCI+Rmlyc3QgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjJcIj5TZWNvbmQgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjNcIj5UaGlyZCBPcHRpb248L3NwLW9wdGlvbj5cbiAqICAgPC9zcC1zZWxlY3Q+XG4gKiA8L3NwLWZpZWxkPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdzcFNlbGVjdCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0Q29tcG9uZW50QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBGaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3NhcHBoaXJlLXNlbGVjdCcsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1zZWxlY3QtLWVycm9yXSc6ICdfZmllbGQ/Lmhhc0Vycm9yKCknLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtc2VsZWN0LS1tZWRpdW1dJzogJ19maWVsZD8uc2l6ZSA9PT0gXCJtZWRpdW1cIicsXG4gICAgJ1tjbGFzcy5pcy1mb2N1c10nOiAnaXNGb2N1c1Zpc2libGUoKScsXG4gICAgJ1tjbGFzcy5pcy1kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCgpJyxcbiAgICAnW2F0dHIuaWRdJzogJ251bGwnLFxuICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcbiAgICAnW2F0dHIucGxhY2Vob2xkZXJdJzogJ251bGwnLFxuICB9LFxuICBob3N0RGlyZWN0aXZlczogW1VzZUNvbXBvbmVudFN0eWxlc09uSG9zdF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdENvbXBvbmVudFxuICBleHRlbmRzIFNlbGVjdENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50cyBGaWVsZENvbnRyb2wsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9IG51bGw7XG4gIGZpbHRlcmVkQ2hpbGRyZW4kOiBPYnNlcnZhYmxlPExpc3Rib3hDaGlsZFtdPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlclJlZicpXG4gIHByb3RlY3RlZCB0cmlnZ2VyUmVmOiBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyRWxlbWVudFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcm90ZWN0ZWQgdHJpZ2dlckVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChMaXN0Ym94Q29tcG9uZW50KVxuICBwcm90ZWN0ZWQgbGlzdGJveDogTGlzdGJveENvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwcml2YXRlIHNlYXJjaElucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBnZXQgc2VhcmNoYWJsZSgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZCBvZiB0cmlnZ2VyIHZhbHVlIGFyZWEsIHdoaWNoIHdpbGwgY29udGFpbiBlaXRoZXIgdGhlIHNlbGVjdGVkIHZhbHVlIG9yIHRoZSBwbGFjZWhvbGRlci5cbiAgICovXG4gIEBBdXRvSWQoKVxuICBfdmFsdWVDb250YWluZXJJZDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHZhbHVlSG9sZGVyOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICBwcml2YXRlIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHByaXZhdGUgaW5wdXRNb2RhbGl0eTogSW5wdXRNb2RhbGl0eURldGVjdG9yLFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBfZmllbGQ/OiBGaWVsZENvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/OiBTZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlXG4gICkge1xuICAgIHN1cGVyKHZhbHVlSG9sZGVyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICBjb25zdCBsaXN0Ym94SXRlbSQgPSB0aGlzLmxpc3Rib3hDaGlsZHJlbi5jaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5saXN0Ym94Q2hpbGRyZW4pXG4gICAgKTtcbiAgICBjb25zdCBzZWFyY2hhYmxlU2VsZWN0ID0gdGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZTtcbiAgICBpZiAodGhpcy5zZWFyY2hJbnB1dCAmJiBzZWFyY2hhYmxlU2VsZWN0KSB7XG4gICAgICBjb25zdCBzZWFyY2hJbnB1dFZhbHVlJCA9IHNlYXJjaGFibGVTZWxlY3Quc2VhcmNoVmFsdWVDaGFuZ2UucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSxcbiAgICAgICAgc3RhcnRXaXRoKHNlYXJjaGFibGVTZWxlY3Quc2VhcmNoVmFsdWUpXG4gICAgICApO1xuICAgICAgY29uc3QgZmlsdGVyUmVzdWx0JCA9IGNvbWJpbmVMYXRlc3Qoc2VhcmNoSW5wdXRWYWx1ZSQsIGxpc3Rib3hJdGVtJCkucGlwZShcbiAgICAgICAgbWFwKChbc2VhcmNoUXVlcnldKSA9PiB7XG4gICAgICAgICAgaWYgKCFzZWFyY2hRdWVyeSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbjogdGhpcy5saXN0Ym94Q2hpbGRyZW4udG9BcnJheSgpLFxuICAgICAgICAgICAgICBmaWx0ZXJlZE91dE9wdGlvbnM6IFtdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyTGlzdGJveEl0ZW1zKFxuICAgICAgICAgICAgdGhpcy5saXN0Ym94Q2hpbGRyZW4sXG4gICAgICAgICAgICAob3B0aW9uKSA9PlxuICAgICAgICAgICAgICAhc2VhcmNoYWJsZVNlbGVjdC5maWx0ZXIgfHxcbiAgICAgICAgICAgICAgc2VhcmNoYWJsZVNlbGVjdC5maWx0ZXIob3B0aW9uLCBzZWFyY2hRdWVyeSlcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuZmlsdGVyZWRDaGlsZHJlbiQgPSB0aGlzLm11bHRpcGxlXG4gICAgICAgID8gLy8gR3JvdXBpbmcgc2VsZWN0ZWQgb3B0aW9uc1xuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQkLFxuICAgICAgICAgICAgdGhpcy52YWx1ZUhvbGRlci52YWx1ZUNoYW5nZS5waXBlKHN0YXJ0V2l0aChlbXB0eSgpKSlcbiAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFt7IGZpbHRlcmVkQ2hpbGRyZW4gfV0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJlZENoaWxkcmVuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZE91dE9wdGlvbnM6IHNlbGVjdGVkT3B0aW9ucyxcbiAgICAgICAgICAgICAgICBmaWx0ZXJlZENoaWxkcmVuOiBzZWxlY3Rpb25FeGNsdWRlZENoaWxkcmVuLFxuICAgICAgICAgICAgICB9ID0gc2VhcmNoYWJsZVNlbGVjdC5maWx0ZXJMaXN0Ym94SXRlbXMoXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbixcbiAgICAgICAgICAgICAgICAob3B0aW9uKSA9PiAhdGhpcy5saXN0Ym94VmFsdWUuaW5jbHVkZXMob3B0aW9uLnZhbHVlKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICA/IFtzZWN0aW9uKHNlbGVjdGVkT3B0aW9ucyldXG4gICAgICAgICAgICAgICAgICA6IChbXSBhcyBMaXN0Ym94Q2hpbGRbXSlcbiAgICAgICAgICAgICAgKS5jb25jYXQoc2VsZWN0aW9uRXhjbHVkZWRDaGlsZHJlbik7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgOiBmaWx0ZXJSZXN1bHQkLnBpcGUobWFwKCh7IGZpbHRlcmVkQ2hpbGRyZW4gfSkgPT4gZmlsdGVyZWRDaGlsZHJlbikpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4kID0gbGlzdGJveEl0ZW0kO1xuICAgIH1cbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgX2dldEFyaWFMYWJlbGxlZEJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gVGhlIGxvZ2ljIGhlcmUgaXMgc2ltaWxhciB0byB0aGUgb25lIGluIHJlYWN0LWFyaWEncyB1c2VTZWxlY3QuXG4gICAgY29uc3QgbGFiZWxsZWRCeSA9IHRoaXMuYXJpYUxhYmVsbGVkYnkgfHwgdGhpcy5fZmllbGQ/LmxhYmVsPy5pZDtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5fdmFsdWVDb250YWluZXJJZCxcbiAgICAgIGxhYmVsbGVkQnksXG4gICAgICB0aGlzLmFyaWFMYWJlbCAmJiAhbGFiZWxsZWRCeSA/IHRoaXMuaWQgOiBudWxsLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoKGkpID0+IGkpXG4gICAgICAuam9pbignICcpO1xuICB9XG5cbiAgaXNGb2N1c2VkKCkge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuZm9jdXNPcmlnaW4pO1xuICB9XG5cbiAgaXNGb2N1c1Zpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuaXNGb2N1c2VkKCkgJiZcbiAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2UgZm9jdXMgZG9lc24ndCBjaGFuZ2Ugd2hlbiBhIGtleSAoZS5nLiBFc2NhcGUpIGlzIHByZXNzZWQgaW4gdGhlIHNlYXJjaCBpbnB1dC5cbiAgICAgICh0aGlzLmlucHV0TW9kYWxpdHkubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnIHx8XG4gICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciB3aGVuIGxhYmVsIGlzIGNsaWNrZWQgYW5kIGZvY3VzT3JpZ2luIGlzIGZvcmNlZCB0byBrZXlib2FyZCwgYnV0IGN1cnJlbnQgbW9kYWxpdHkgaXMgbW91c2UuXG4gICAgICAgIHRoaXMuZm9jdXNPcmlnaW4gPT09ICdrZXlib2FyZCcpICYmXG4gICAgICAhdGhpcy5pc09wZW4oKSAvLyBUaGlzIGlzIGJlY2F1c2UgaW4gc2VhcmNoYWJsZSBzZWxlY3QsIHRoZSBhY3R1YWwgZm9jdXMgaXMgb24gdGhlIGlucHV0LFxuICAgICAgLy8gYnV0IGl0J3MgbWVhbnQgdG8gYmUgc2hvd24gb24gdGhlIGxpc3Rib3guIEl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBzaG93IHRoZSBmb2N1cyBpbiB0d29cbiAgICAgIC8vIHBsYWNlcy5cbiAgICApO1xuICB9XG5cbiAgZm9jdXMoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luID0gJ3Byb2dyYW0nKSB7XG4gICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEoXG4gICAgICB0aGlzLnNlYXJjaElucHV0Py5uYXRpdmVFbGVtZW50ID8/IHRoaXMudHJpZ2dlckVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICBmb2N1c09yaWdpblxuICAgICk7XG4gIH1cblxuICBfb25Gb2N1c0NoYW5nZShmb2N1c09yaWdpbjogRm9jdXNPcmlnaW4pIHtcbiAgICB0aGlzLmZvY3VzT3JpZ2luID0gZm9jdXNPcmlnaW47XG4gIH1cblxuICBfb25Gb2N1cygpIHtcbiAgICAvLyBXaGVuZXZlciBmb2N1cyBjb21lcyB0byB0aGUgdHJpZ2dlciAsIGZvcndhcmQgaXQgdG8gdGhlIHNlYXJjaCBpbnB1dC4gSXQncyBuZWVkZWQgZm9yIHdoZW5cbiAgICAvLyB0aGUgdHJpZ2dlciBpcyByZS1mb2N1c2VkIGFmdGVyIHBvcG92ZXIgaXMgY2xvc2VkLlxuICAgIHRoaXMuZm9jdXModGhpcy5mb2N1c09yaWdpbik7XG4gIH1cblxuICBfaXNJbnB1dFZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNPcGVuKCkgLyp8fFxuICAgICAgKHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiZcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUubGVuZ3RoID09PSAwKSovO1xuICB9XG5cbiAgX29uT3BlbigpIHtcbiAgICBzdXBlci5fb25PcGVuKCk7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUpIHtcbiAgICAgIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUuc2V0U2VhcmNoVmFsdWUoXG4gICAgICAgICh0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLmNsZWFyU2VhcmNoT25PcGVuXG4gICAgICAgICAgPyAnJ1xuICAgICAgICAgIDogdGhpcy5zZWxlY3RlZE9wdGlvbnNbMF0/LmxhYmVsKSA/PyAnJ1xuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRFbGVtZW50ID0gdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAodGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZT8uc2VsZWN0VGV4dE9uT3Blbikge1xuICAgICAgc2VhcmNoSW5wdXRFbGVtZW50Py5zZWxlY3QoKTtcbiAgICB9XG4gICAgY29uc3QgZm9jdXNWaXNpYmxlT25PcGVuID0gdGhpcy5pc0ZvY3VzVmlzaWJsZSgpO1xuICAgIC8vIE1vdmUgZm9jdXMgdG8gdGhlIHNlYXJjaCBpbnB1dC4gVGhlIHRpbWVvdXQgaXMgbmVlZGVkIGJlY2F1c2UgcG9wb3ZlciB3aWxsIGF1dG9mb2N1cyB0aGVcbiAgICAvLyBjb250ZW50LCBhbmQgd2UgbmVlZCB0byBsZXQgdGhlIGZvY3VzIGZpcnN0IGxhbmQgaW4gdGhlIHBvcG92ZXIsIGFuZCB0aGVuIHN0ZWFsIGl0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2VhcmNoSW5wdXRFbGVtZW50Py5mb2N1cygpO1xuXG4gICAgICAvLyBOZWVkIHRvIHJ1biB0aGlzIGFsc28gYXN5bmNocm9ub3VzbHksIHRvIGxldCB0aGUgcG9wb3ZlciAoYW5kIGxpc3Rib3gpIG1vdW50XG4gICAgICBpZiAoIWZvY3VzVmlzaWJsZU9uT3BlbiAmJiB0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gdG8gcHJldmVudCB0aGUgZmlyc3QgaXRlbSBmcm9tIGJlaW5nIGZvY3VzZWQgd2hlbiB0aGUgZHJvcGRvd24gaXMgb3BlbmVkIHZpYSBtb3VzZVxuICAgICAgICB0aGlzLmxpc3Rib3g/LnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIF9vbkNsb3NlKCkge1xuICAgIHN1cGVyLl9vbkNsb3NlKCk7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUpIHtcbiAgICAgIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmUuc2V0U2VhcmNoVmFsdWUoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zWzBdPy5sYWJlbCB8fCAnJ1xuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3Qgc2VhcmNoSW5wdXRFbGVtZW50ID0gdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudDtcbiAgICBzZWFyY2hJbnB1dEVsZW1lbnQ/LnNldFNlbGVjdGlvblJhbmdlKFxuICAgICAgc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aCxcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudC52YWx1ZS5sZW5ndGhcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpZWxkTGFiZWw/KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpZWxkPy5sYWJlbD8uZ2V0VGV4dCgpID8/ICcnO1xuICB9XG5cbiAgX29uSW5wdXRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qgc2VsZWN0VmFsdWUgPSAodG9CZVNlbGVjdGVkOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Rib3hWYWx1ZSA9IHRoaXMubGlzdGJveFZhbHVlO1xuICAgICAgY29uc3QgYWxyZWFkeVNlbGVjdGVkID0gbGlzdGJveFZhbHVlLmluY2x1ZGVzKHRvQmVTZWxlY3RlZCk7XG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IGFscmVhZHlTZWxlY3RlZFxuICAgICAgICAgID8gbGlzdGJveFZhbHVlLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9PSB0b0JlU2VsZWN0ZWQpXG4gICAgICAgICAgOiBbLi4ubGlzdGJveFZhbHVlLCB0b0JlU2VsZWN0ZWRdO1xuICAgICAgfSBlbHNlIGlmICghYWxyZWFkeVNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlID0gW3RvQmVTZWxlY3RlZF07XG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBmaXJzdE9wdGlvblZhbHVlID0gdGhpcy5vcHRpb25zPy5nZXQoMCk/LnZhbHVlO1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xuICAgICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICAvLyBTZWxlY3Rpb24gaXMgYWxyZWFkeSBoYW5kbGVkIGlmIHRoZXJlIGlzIGFuIGFjdGl2ZSBvcHRpb25cbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmxpc3Rib3g/LmdldEFjdGl2ZU9wdGlvbigpID09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZmlyc3RPcHRpb25WYWx1ZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgc2VsZWN0VmFsdWUoZmlyc3RPcHRpb25WYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpICYmICF0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgY29uc3QgdG9CZVNlbGVjdGVkID1cbiAgICAgICAgICAgIHRoaXMubGlzdGJveD8uZ2V0QWN0aXZlT3B0aW9uKCkgfHwgZmlyc3RPcHRpb25WYWx1ZTtcbiAgICAgICAgICBpZiAodG9CZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc2VsZWN0VmFsdWUodG9CZVNlbGVjdGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgX29uU2VhcmNoSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0Py52YWx1ZTtcbiAgICAgIHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNldFNlYXJjaFZhbHVlKHZhbHVlKTtcbiAgICAgIC8vIGNsZWFyaW5nIHRoZSB2YWx1ZSB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaXMgY2xlYXJlZC5cbiAgICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiAhdmFsdWUgJiYgdGhpcy5saXN0Ym94VmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubGlzdGJveD8uc2V0QWN0aXZlT3B0aW9uKG51bGwpO1xuICB9XG5cbiAgX2hhbmRsZVNlbGVjdGVkKCkge1xuICAgIHN1cGVyLl9oYW5kbGVTZWxlY3RlZCgpO1xuICB9XG5cbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29lcmNlQm9vbGVhblByb3BlcnR5KHRoaXMuZGlzYWJsZWQpO1xuICB9XG59XG4iLCI8c3AtaGlkZGVuLXNlbGVjdD48L3NwLWhpZGRlbi1zZWxlY3Q+XG48ZGl2XG4gIHJvbGU9XCJidXR0b25cIlxuICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19idXR0b25cIlxuICBbc3BQb3BvdmVyVHJpZ2dlckZvcl09XCJwb3BvdmVyXCJcbiAgW3NwUG9wb3ZlclRyaWdnZXJEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIHNwUG9wb3ZlclRyaWdnZXJPcGVuT25QcmVzc1N0YXJ0XG4gIHNwUG9wb3ZlclRyaWdnZXJDbG9zZU9uU2Nyb2xsXG4gIHNwUG9wb3ZlclBsYWNlbWVudD1cImJvdHRvbSBzdGFydFwiXG4gICN0cmlnZ2VyRWxlbWVudFJlZlxuICAjdHJpZ2dlclJlZj1cInNwUG9wb3ZlclRyaWdnZXJcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAoc3BQb3BvdmVyVHJpZ2dlckNsb3NlZCk9XCJfb25DbG9zZSgpXCJcbiAgKHNwUG9wb3ZlclRyaWdnZXJPcGVuZWQpPVwiX29uT3BlbigpXCJcbiAgKGZvY3VzKT1cIl9vbkZvY3VzKClcIlxuICBjZGtNb25pdG9yU3VidHJlZUZvY3VzXG4gIChjZGtGb2N1c0NoYW5nZSk9XCJfb25Gb2N1c0NoYW5nZSgkZXZlbnQpXCJcbiAgW3NwUG9wb3Zlck5vbk1vZGFsXT1cInNlYXJjaGFibGVcIlxuICBbaWRdPVwiaWRcIlxuICBbdGFiaW5kZXhdPVwiLTFcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJfZ2V0QXJpYUxhYmVsbGVkQnkoKVwiXG4gIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiX2ZpZWxkPy5lcnJvcj8uaWQgfHwgX2ZpZWxkPy5ub3RlPy5pZFwiXG4gIFthdHRyLmFyaWEtaW52YWxpZF09XCJfZmllbGQ/Lmhhc0Vycm9yKCkgPyB0cnVlIDogbnVsbFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX3ZhbHVlXCIgW2lkXT1cIl92YWx1ZUNvbnRhaW5lcklkXCI+XG4gICAgPGlucHV0XG4gICAgICAqbmdJZj1cInNlYXJjaGFibGVcIlxuICAgICAgI3NlYXJjaElucHV0XG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9fc2VhcmNoLWlucHV0XCJcbiAgICAgIFtzcExpc3Rib3hJbnB1dF09XCJsaXN0Ym94XCJcbiAgICAgIFtzcFZpc3VhbGx5SGlkZGVuXT1cIiFfaXNJbnB1dFZpc2libGUoKVwiXG4gICAgICBbYXR0ci5kYXRhLWhpZGRlbl09XCIhX2lzSW5wdXRWaXNpYmxlKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgIChrZXlkb3duKT1cIl9vbklucHV0S2V5ZG93bigkZXZlbnQpXCJcbiAgICAgIChiZWZvcmVpbnB1dCk9XCJvcGVuKClcIlxuICAgICAgW3ZhbHVlXT1cIl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZWFyY2hWYWx1ZVwiXG4gICAgICAoaW5wdXQpPVwiX29uU2VhcmNoSW5wdXQoJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlYXJjaGFibGUgfHwgIV9pc0lucHV0VmlzaWJsZSgpXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMFwiXG4gICAgICAgIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19wbGFjZWhvbGRlclwiXG4gICAgICA+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNlbGVjdGlvblRleHRcIj57e1xuICAgICAgICAgIGdldFNlbGVjdGlvblRleHQoKVxuICAgICAgICB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJzcC1zZWxlY3Rpb24tdGV4dFwiPjwvbmctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9faWNvbi1jb250YWluZXJcIj5cbiAgICA8c3AtaWNvbiBuYW1lPVwiY2hldnJvbkRvd25cIj48L3NwLWljb24+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI3BvcG92ZXI+XG4gIDxzcC1wb3BvdmVyXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiXG4gICAgICAoZmlsdGVyZWRDaGlsZHJlbiQgfCBhc3luYyk/Lmxlbmd0aCA9PT0gMCA/ICdub25lJyA6IHVuZGVmaW5lZFxuICAgIFwiXG4gICAgbm9QYWRkaW5nXG4gICAgbm9NYXhXaWR0aFxuICAgIFtzdHlsZS5taW4td2lkdGhdPVwidHJpZ2dlckVsZW1lbnRSZWYub2Zmc2V0V2lkdGggKyAncHgnXCJcbiAgPlxuICAgIDxzcC1saXN0Ym94XG4gICAgICBbc3BMaXN0Ym94SXRlbXNdPVwiKGZpbHRlcmVkQ2hpbGRyZW4kIHwgYXN5bmMpIHx8IHVuZGVmaW5lZFwiXG4gICAgICBuYXZpZ2F0aW9uV3JhcERpc2FibGVkXG4gICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgWyhzZWxlY3RlZFZhbHVlcyldPVwibGlzdGJveFZhbHVlXCJcbiAgICAgIChzZWxlY3RlZFZhbHVlc0NoYW5nZSk9XCJfc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZT8uc2V0U2VhcmNoVmFsdWUoJycpXCJcbiAgICAgIChzZWxlY3RlZCk9XCJfaGFuZGxlU2VsZWN0ZWQoKVwiXG4gICAgICBbc2l6ZV09XCJfZmllbGQ/LnNpemVcIlxuICAgID5cbiAgICA8L3NwLWxpc3Rib3g+XG4gIDwvc3AtcG9wb3Zlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VsZWN0L3NyYy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUVWLFFBQVEsRUFDUixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV2RixPQUFPLEVBQWdCLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pFLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIseUJBQXlCLEdBQzFCLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQUd2Qzs7O0dBR0c7QUFV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RTtnQkFJMUMsT0FBTztzQkFEaEIsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSW5CLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFXOUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEZvY3VzTW9uaXRvcixcbiAgRm9jdXNPcmlnaW4sXG4gIElucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGVtcHR5LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBdXRvSWQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vYXV0by1pZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgVXNlQ29tcG9uZW50U3R5bGVzT25Ib3N0IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3NhcHBoaXJlLXZpZXctZW5jYXBzdWxhdGlvbic7XG5pbXBvcnQgeyBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3BvcG92ZXIvc3JjL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdGJveENoaWxkLCBMaXN0Ym94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vbGlzdGJveC9wdWJsaWNfYXBpJztcbmltcG9ydCB7IHNlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9saXN0Ym94L3NyYy9zZWN0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudCwgRmllbGRDb250cm9sIH0gZnJvbSAnLi4vLi4vLi4vZmllbGQvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vY29tbW9uL3NlbGVjdC1jb21wb25lbnQtYmFzZSc7XG5pbXBvcnQge1xuICBNdWx0aVNlbGVjdERpcmVjdGl2ZUJhc2UsXG4gIFNlbGVjdFZhbHVlSG9sZGVyLFxuICBTaW5nbGVTZWxlY3REaXJlY3RpdmVCYXNlLFxufSBmcm9tICcuLi9jb21tb24vc2VsZWN0LXZhbHVlLWhvbGRlcic7XG5pbXBvcnQgeyBTZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9zZWFyY2hhYmxlLXNlbGVjdC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEVuYWJsZXMgbXVsdGlwbGUgc2VsZWN0aW9uLiBXaGVuIHByZXNlbnQsIGB2YWx1ZWAgd2lsbCBiZSBvZiB0eXBlIGBzdHJpbmdbXWAsIGFuZCBgdmFsdWVDaGFuZ2VgXG4gKiB3aWxsIGVtaXQgYHN0cmluZ1tdYC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3Atc2VsZWN0W211bHRpcGxlXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdFZhbHVlSG9sZGVyLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTXVsdGlTZWxlY3REaXJlY3RpdmUpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgTXVsdGlTZWxlY3REaXJlY3RpdmVCYXNlIHt9XG5cbi8qKlxuICogRW5hYmxlcyBzaW5nbGUgc2VsZWN0aW9uLCB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBTZWxlY3QuXG4gKiBXaGVuIHByZXNlbnQsIGB2YWx1ZWAgd2lsbCBiZSBvZiB0eXBlIGBzdHJpbmdgLCBhbmQgYHZhbHVlQ2hhbmdlYCB3aWxsIGVtaXQgYHN0cmluZ2AuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdDpub3QoW211bHRpcGxlXSknLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3RWYWx1ZUhvbGRlcixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNpbmdsZVNlbGVjdERpcmVjdGl2ZSksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlU2VsZWN0RGlyZWN0aXZlIGV4dGVuZHMgU2luZ2xlU2VsZWN0RGlyZWN0aXZlQmFzZSB7fVxuXG4vKipcbiAqIEFsbG93cyB1c2VyIHRvIHNlbGVjdCBhIHNpbmdsZSBvcHRpb24gZnJvbSBhIGxpc3QsIHNpbWlsYXIgdG8gbmF0aXZlIHNlbGVjdFxuICogY29tcG9uZW50LlxuICpcbiAqIEV4YW1wbGU6XG4gKiBgYGB0c3hcbiAqIDxzcC1maWVsZD5cbiAqICAgPHNwLWZpZWxkLWxhYmVsPkxhYmVsIHRleHQ8L3NwLWZpZWxkLWxhYmVsPlxuICogICA8c3Atc2VsZWN0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IGFuIG9wdGlvblwiPlxuICogICAgIDxzcC1vcHRpb24gdmFsdWU9XCJvcHRpb24xXCI+Rmlyc3QgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjJcIj5TZWNvbmQgT3B0aW9uPC9zcC1vcHRpb24+XG4gKiAgICAgPHNwLW9wdGlvbiB2YWx1ZT1cIm9wdGlvbjNcIj5UaGlyZCBPcHRpb248L3NwLW9wdGlvbj5cbiAqICAgPC9zcC1zZWxlY3Q+XG4gKiA8L3NwLWZpZWxkPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdzcFNlbGVjdCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0Q29tcG9uZW50QmFzZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlbGVjdENvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBGaWVsZENvbnRyb2wsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3NhcHBoaXJlLXNlbGVjdCcsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1zZWxlY3QtLWVycm9yXSc6ICdfZmllbGQ/Lmhhc0Vycm9yKHRoaXMpJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLXNlbGVjdC0tbWVkaXVtXSc6ICdfZmllbGQ/LnNpemUgPT09IFwibWVkaXVtXCInLFxuICAgICdbY2xhc3MuaXMtZm9jdXNdJzogJ2lzRm9jdXNWaXNpYmxlKCknLFxuICAgICdbY2xhc3MuaXMtZGlzYWJsZWRdJzogJ2lzRGlzYWJsZWQoKScsXG4gICAgJ1thdHRyLmlkXSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLnBsYWNlaG9sZGVyXSc6ICdudWxsJyxcbiAgfSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtVc2VDb21wb25lbnRTdHlsZXNPbkhvc3RdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnRcbiAgZXh0ZW5kcyBTZWxlY3RDb21wb25lbnRCYXNlXG4gIGltcGxlbWVudHMgRmllbGRDb250cm9sLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBmb2N1c09yaWdpbjogRm9jdXNPcmlnaW4gPSBudWxsO1xuICBmaWx0ZXJlZENoaWxkcmVuJDogT2JzZXJ2YWJsZTxMaXN0Ym94Q2hpbGRbXT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJSZWYnKVxuICBwcm90ZWN0ZWQgdHJpZ2dlclJlZjogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlckVsZW1lbnRSZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJvdGVjdGVkIHRyaWdnZXJFbGVtZW50UmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoTGlzdGJveENvbXBvbmVudClcbiAgcHJvdGVjdGVkIGxpc3Rib3g6IExpc3Rib3hDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHJpdmF0ZSBzZWFyY2hJbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgZ2V0IHNlYXJjaGFibGUoKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZSk7XG4gIH1cblxuICAvKipcbiAgICogaWQgb2YgdHJpZ2dlciB2YWx1ZSBhcmVhLCB3aGljaCB3aWxsIGNvbnRhaW4gZWl0aGVyIHRoZSBzZWxlY3RlZCB2YWx1ZSBvciB0aGUgcGxhY2Vob2xkZXIuXG4gICAqL1xuICBAQXV0b0lkKClcbiAgX3ZhbHVlQ29udGFpbmVySWQ6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB2YWx1ZUhvbGRlcjogU2VsZWN0VmFsdWVIb2xkZXIsXG4gICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIGlucHV0TW9kYWxpdHk6IElucHV0TW9kYWxpdHlEZXRlY3RvcixcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgX2ZpZWxkPzogRmllbGRDb21wb25lbnQsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIF9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPzogU2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZVxuICApIHtcbiAgICBzdXBlcih2YWx1ZUhvbGRlcik7XG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgY29uc3QgbGlzdGJveEl0ZW0kID0gdGhpcy5saXN0Ym94Q2hpbGRyZW4uY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMubGlzdGJveENoaWxkcmVuKVxuICAgICk7XG4gICAgY29uc3Qgc2VhcmNoYWJsZVNlbGVjdCA9IHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU7XG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQgJiYgc2VhcmNoYWJsZVNlbGVjdCkge1xuICAgICAgY29uc3Qgc2VhcmNoSW5wdXRWYWx1ZSQgPSBzZWFyY2hhYmxlU2VsZWN0LnNlYXJjaFZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCksXG4gICAgICAgIHN0YXJ0V2l0aChzZWFyY2hhYmxlU2VsZWN0LnNlYXJjaFZhbHVlKVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGZpbHRlclJlc3VsdCQgPSBjb21iaW5lTGF0ZXN0KHNlYXJjaElucHV0VmFsdWUkLCBsaXN0Ym94SXRlbSQpLnBpcGUoXG4gICAgICAgIG1hcCgoW3NlYXJjaFF1ZXJ5XSkgPT4ge1xuICAgICAgICAgIGlmICghc2VhcmNoUXVlcnkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGZpbHRlcmVkQ2hpbGRyZW46IHRoaXMubGlzdGJveENoaWxkcmVuLnRvQXJyYXkoKSxcbiAgICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zOiBbXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzZWFyY2hhYmxlU2VsZWN0LmZpbHRlckxpc3Rib3hJdGVtcyhcbiAgICAgICAgICAgIHRoaXMubGlzdGJveENoaWxkcmVuLFxuICAgICAgICAgICAgKG9wdGlvbikgPT5cbiAgICAgICAgICAgICAgIXNlYXJjaGFibGVTZWxlY3QuZmlsdGVyIHx8XG4gICAgICAgICAgICAgIHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyKG9wdGlvbiwgc2VhcmNoUXVlcnkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2hpbGRyZW4kID0gdGhpcy5tdWx0aXBsZVxuICAgICAgICA/IC8vIEdyb3VwaW5nIHNlbGVjdGVkIG9wdGlvbnNcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgZmlsdGVyUmVzdWx0JCxcbiAgICAgICAgICAgIHRoaXMudmFsdWVIb2xkZXIudmFsdWVDaGFuZ2UucGlwZShzdGFydFdpdGgoZW1wdHkoKSkpXG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbeyBmaWx0ZXJlZENoaWxkcmVuIH1dKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmxpc3Rib3hWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyZWRDaGlsZHJlbjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICAgICAgZmlsdGVyZWRPdXRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgZmlsdGVyZWRDaGlsZHJlbjogc2VsZWN0aW9uRXhjbHVkZWRDaGlsZHJlbixcbiAgICAgICAgICAgICAgfSA9IHNlYXJjaGFibGVTZWxlY3QuZmlsdGVyTGlzdGJveEl0ZW1zKFxuICAgICAgICAgICAgICAgIGZpbHRlcmVkQ2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgKG9wdGlvbikgPT4gIXRoaXMubGlzdGJveFZhbHVlLmluY2x1ZGVzKG9wdGlvbi52YWx1ZSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgPyBbc2VjdGlvbihzZWxlY3RlZE9wdGlvbnMpXVxuICAgICAgICAgICAgICAgICAgOiAoW10gYXMgTGlzdGJveENoaWxkW10pXG4gICAgICAgICAgICAgICkuY29uY2F0KHNlbGVjdGlvbkV4Y2x1ZGVkQ2hpbGRyZW4pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIDogZmlsdGVyUmVzdWx0JC5waXBlKG1hcCgoeyBmaWx0ZXJlZENoaWxkcmVuIH0pID0+IGZpbHRlcmVkQ2hpbGRyZW4pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZENoaWxkcmVuJCA9IGxpc3Rib3hJdGVtJDtcbiAgICB9XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIF9nZXRBcmlhTGFiZWxsZWRCeSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIFRoZSBsb2dpYyBoZXJlIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSBpbiByZWFjdC1hcmlhJ3MgdXNlU2VsZWN0LlxuICAgIGNvbnN0IGxhYmVsbGVkQnkgPSB0aGlzLmFyaWFMYWJlbGxlZGJ5IHx8IHRoaXMuX2ZpZWxkPy5sYWJlbD8uaWQ7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuX3ZhbHVlQ29udGFpbmVySWQsXG4gICAgICBsYWJlbGxlZEJ5LFxuICAgICAgdGhpcy5hcmlhTGFiZWwgJiYgIWxhYmVsbGVkQnkgPyB0aGlzLmlkIDogbnVsbCxcbiAgICBdXG4gICAgICAuZmlsdGVyKChpKSA9PiBpKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGlzRm9jdXNlZCgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmZvY3VzT3JpZ2luKTtcbiAgfVxuXG4gIGlzRm9jdXNWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzRm9jdXNlZCgpICYmXG4gICAgICAvLyBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIGZvY3VzIGRvZXNuJ3QgY2hhbmdlIHdoZW4gYSBrZXkgKGUuZy4gRXNjYXBlKSBpcyBwcmVzc2VkIGluIHRoZSBzZWFyY2ggaW5wdXQuXG4gICAgICAodGhpcy5pbnB1dE1vZGFsaXR5Lm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyB8fFxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBmb3Igd2hlbiBsYWJlbCBpcyBjbGlja2VkIGFuZCBmb2N1c09yaWdpbiBpcyBmb3JjZWQgdG8ga2V5Ym9hcmQsIGJ1dCBjdXJyZW50IG1vZGFsaXR5IGlzIG1vdXNlLlxuICAgICAgICB0aGlzLmZvY3VzT3JpZ2luID09PSAna2V5Ym9hcmQnKSAmJlxuICAgICAgIXRoaXMuaXNPcGVuKCkgLy8gVGhpcyBpcyBiZWNhdXNlIGluIHNlYXJjaGFibGUgc2VsZWN0LCB0aGUgYWN0dWFsIGZvY3VzIGlzIG9uIHRoZSBpbnB1dCxcbiAgICAgIC8vIGJ1dCBpdCdzIG1lYW50IHRvIGJlIHNob3duIG9uIHRoZSBsaXN0Ym94LiBJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gc2hvdyB0aGUgZm9jdXMgaW4gdHdvXG4gICAgICAvLyBwbGFjZXMuXG4gICAgKTtcbiAgfVxuXG4gIGZvY3VzKGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJykge1xuICAgIHRoaXMuZm9jdXNNb25pdG9yLmZvY3VzVmlhKFxuICAgICAgdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudCA/PyB0aGlzLnRyaWdnZXJFbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50LFxuICAgICAgZm9jdXNPcmlnaW5cbiAgICApO1xuICB9XG5cbiAgX29uRm9jdXNDaGFuZ2UoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luKSB7XG4gICAgdGhpcy5mb2N1c09yaWdpbiA9IGZvY3VzT3JpZ2luO1xuICB9XG5cbiAgX29uRm9jdXMoKSB7XG4gICAgLy8gV2hlbmV2ZXIgZm9jdXMgY29tZXMgdG8gdGhlIHRyaWdnZXIgLCBmb3J3YXJkIGl0IHRvIHRoZSBzZWFyY2ggaW5wdXQuIEl0J3MgbmVlZGVkIGZvciB3aGVuXG4gICAgLy8gdGhlIHRyaWdnZXIgaXMgcmUtZm9jdXNlZCBhZnRlciBwb3BvdmVyIGlzIGNsb3NlZC5cbiAgICB0aGlzLmZvY3VzKHRoaXMuZm9jdXNPcmlnaW4pO1xuICB9XG5cbiAgX2lzSW5wdXRWaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmlzT3BlbigpIC8qfHxcbiAgICAgICh0aGlzLnNlYXJjaElucHV0Py5uYXRpdmVFbGVtZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmXG4gICAgICAgIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA9PT0gMCkqLztcbiAgfVxuXG4gIF9vbk9wZW4oKSB7XG4gICAgc3VwZXIuX29uT3BlbigpO1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLnNldFNlYXJjaFZhbHVlKFxuICAgICAgICAodGhpcy5fc2VhcmNoYWJsZVNlbGVjdERpcmVjdGl2ZS5jbGVhclNlYXJjaE9uT3BlblxuICAgICAgICAgID8gJydcbiAgICAgICAgICA6IHRoaXMuc2VsZWN0ZWRPcHRpb25zWzBdPy5sYWJlbCkgPz8gJydcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNlbGVjdFRleHRPbk9wZW4pIHtcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudD8uc2VsZWN0KCk7XG4gICAgfVxuICAgIGNvbnN0IGZvY3VzVmlzaWJsZU9uT3BlbiA9IHRoaXMuaXNGb2N1c1Zpc2libGUoKTtcbiAgICAvLyBNb3ZlIGZvY3VzIHRvIHRoZSBzZWFyY2ggaW5wdXQuIFRoZSB0aW1lb3V0IGlzIG5lZWRlZCBiZWNhdXNlIHBvcG92ZXIgd2lsbCBhdXRvZm9jdXMgdGhlXG4gICAgLy8gY29udGVudCwgYW5kIHdlIG5lZWQgdG8gbGV0IHRoZSBmb2N1cyBmaXJzdCBsYW5kIGluIHRoZSBwb3BvdmVyLCBhbmQgdGhlbiBzdGVhbCBpdC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudD8uZm9jdXMoKTtcblxuICAgICAgLy8gTmVlZCB0byBydW4gdGhpcyBhbHNvIGFzeW5jaHJvbm91c2x5LCB0byBsZXQgdGhlIHBvcG92ZXIgKGFuZCBsaXN0Ym94KSBtb3VudFxuICAgICAgaWYgKCFmb2N1c1Zpc2libGVPbk9wZW4gJiYgdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIHRvIHByZXZlbnQgdGhlIGZpcnN0IGl0ZW0gZnJvbSBiZWluZyBmb2N1c2VkIHdoZW4gdGhlIGRyb3Bkb3duIGlzIG9wZW5lZCB2aWEgbW91c2VcbiAgICAgICAgdGhpcy5saXN0Ym94Py5zZXRBY3RpdmVPcHRpb24obnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBfb25DbG9zZSgpIHtcbiAgICBzdXBlci5fb25DbG9zZSgpO1xuICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlKSB7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlLnNldFNlYXJjaFZhbHVlKFxuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uc1swXT8ubGFiZWwgfHwgJydcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgc2VhcmNoSW5wdXRFbGVtZW50Py5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgIHNlYXJjaElucHV0RWxlbWVudC52YWx1ZS5sZW5ndGgsXG4gICAgICBzZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRGaWVsZExhYmVsPygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9maWVsZD8ubGFiZWw/LmdldFRleHQoKSA/PyAnJztcbiAgfVxuXG4gIF9vbklucHV0S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHNlbGVjdFZhbHVlID0gKHRvQmVTZWxlY3RlZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBsaXN0Ym94VmFsdWUgPSB0aGlzLmxpc3Rib3hWYWx1ZTtcbiAgICAgIGNvbnN0IGFscmVhZHlTZWxlY3RlZCA9IGxpc3Rib3hWYWx1ZS5pbmNsdWRlcyh0b0JlU2VsZWN0ZWQpO1xuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUgPSBhbHJlYWR5U2VsZWN0ZWRcbiAgICAgICAgICA/IGxpc3Rib3hWYWx1ZS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdG9CZVNlbGVjdGVkKVxuICAgICAgICAgIDogWy4uLmxpc3Rib3hWYWx1ZSwgdG9CZVNlbGVjdGVkXTtcbiAgICAgIH0gZWxzZSBpZiAoIWFscmVhZHlTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmxpc3Rib3hWYWx1ZSA9IFt0b0JlU2VsZWN0ZWRdO1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgZmlyc3RPcHRpb25WYWx1ZSA9IHRoaXMub3B0aW9ucz8uZ2V0KDApPy52YWx1ZTtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgLy8gU2VsZWN0aW9uIGlzIGFscmVhZHkgaGFuZGxlZCBpZiB0aGVyZSBpcyBhbiBhY3RpdmUgb3B0aW9uXG4gICAgICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5saXN0Ym94Py5nZXRBY3RpdmVPcHRpb24oKSA9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgIGZpcnN0T3B0aW9uVmFsdWVcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHNlbGVjdFZhbHVlKGZpcnN0T3B0aW9uVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICBpZiAodGhpcy5pc09wZW4oKSAmJiAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgIGNvbnN0IHRvQmVTZWxlY3RlZCA9XG4gICAgICAgICAgICB0aGlzLmxpc3Rib3g/LmdldEFjdGl2ZU9wdGlvbigpIHx8IGZpcnN0T3B0aW9uVmFsdWU7XG4gICAgICAgICAgaWYgKHRvQmVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNlbGVjdFZhbHVlKHRvQmVTZWxlY3RlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIF9vblNlYXJjaElucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGlmIChldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldD8udmFsdWU7XG4gICAgICB0aGlzLl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZXRTZWFyY2hWYWx1ZSh2YWx1ZSk7XG4gICAgICAvLyBjbGVhcmluZyB0aGUgdmFsdWUgd2hlbiB0aGUgc2VhcmNoIGlucHV0IGlzIGNsZWFyZWQuXG4gICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgIXZhbHVlICYmIHRoaXMubGlzdGJveFZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5saXN0Ym94VmFsdWUgPSBbXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxpc3Rib3g/LnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgfVxuXG4gIF9oYW5kbGVTZWxlY3RlZCgpIHtcbiAgICBzdXBlci5faGFuZGxlU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh0aGlzLmRpc2FibGVkKTtcbiAgfVxufVxuIiwiPHNwLWhpZGRlbi1zZWxlY3Q+PC9zcC1oaWRkZW4tc2VsZWN0PlxuPGRpdlxuICByb2xlPVwiYnV0dG9uXCJcbiAgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIlxuICBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9fYnV0dG9uXCJcbiAgW3NwUG9wb3ZlclRyaWdnZXJGb3JdPVwicG9wb3ZlclwiXG4gIFtzcFBvcG92ZXJUcmlnZ2VyRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBzcFBvcG92ZXJUcmlnZ2VyT3Blbk9uUHJlc3NTdGFydFxuICBzcFBvcG92ZXJUcmlnZ2VyQ2xvc2VPblNjcm9sbFxuICBzcFBvcG92ZXJQbGFjZW1lbnQ9XCJib3R0b20gc3RhcnRcIlxuICAjdHJpZ2dlckVsZW1lbnRSZWZcbiAgI3RyaWdnZXJSZWY9XCJzcFBvcG92ZXJUcmlnZ2VyXCJcbiAgKGtleWRvd24pPVwiaGFuZGxlS2V5RG93bigkZXZlbnQpXCJcbiAgKHNwUG9wb3ZlclRyaWdnZXJDbG9zZWQpPVwiX29uQ2xvc2UoKVwiXG4gIChzcFBvcG92ZXJUcmlnZ2VyT3BlbmVkKT1cIl9vbk9wZW4oKVwiXG4gIChmb2N1cyk9XCJfb25Gb2N1cygpXCJcbiAgY2RrTW9uaXRvclN1YnRyZWVGb2N1c1xuICAoY2RrRm9jdXNDaGFuZ2UpPVwiX29uRm9jdXNDaGFuZ2UoJGV2ZW50KVwiXG4gIFtzcFBvcG92ZXJOb25Nb2RhbF09XCJzZWFyY2hhYmxlXCJcbiAgW2lkXT1cImlkXCJcbiAgW3RhYmluZGV4XT1cIi0xXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiX2dldEFyaWFMYWJlbGxlZEJ5KClcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIl9maWVsZD8uZXJyb3I/LmlkIHx8IF9maWVsZD8ubm90ZT8uaWRcIlxuICBbYXR0ci5hcmlhLWludmFsaWRdPVwiX2ZpZWxkPy5oYXNFcnJvcih0aGlzKSA/IHRydWUgOiBudWxsXCJcbj5cbiAgPGRpdiBjbGFzcz1cInNhcHBoaXJlLXNlbGVjdF9fdmFsdWVcIiBbaWRdPVwiX3ZhbHVlQ29udGFpbmVySWRcIj5cbiAgICA8aW5wdXRcbiAgICAgICpuZ0lmPVwic2VhcmNoYWJsZVwiXG4gICAgICAjc2VhcmNoSW5wdXRcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgIGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19zZWFyY2gtaW5wdXRcIlxuICAgICAgW3NwTGlzdGJveElucHV0XT1cImxpc3Rib3hcIlxuICAgICAgW3NwVmlzdWFsbHlIaWRkZW5dPVwiIV9pc0lucHV0VmlzaWJsZSgpXCJcbiAgICAgIFthdHRyLmRhdGEtaGlkZGVuXT1cIiFfaXNJbnB1dFZpc2libGUoKVwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgJydcIlxuICAgICAgKGtleWRvd24pPVwiX29uSW5wdXRLZXlkb3duKCRldmVudClcIlxuICAgICAgKGJlZm9yZWlucHV0KT1cIm9wZW4oKVwiXG4gICAgICBbdmFsdWVdPVwiX3NlYXJjaGFibGVTZWxlY3REaXJlY3RpdmU/LnNlYXJjaFZhbHVlXCJcbiAgICAgIChpbnB1dCk9XCJfb25TZWFyY2hJbnB1dCgkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2VhcmNoYWJsZSB8fCAhX2lzSW5wdXRWaXNpYmxlKClcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwXCJcbiAgICAgICAgY2xhc3M9XCJzYXBwaGlyZS1zZWxlY3RfX3BsYWNlaG9sZGVyXCJcbiAgICAgID5cbiAgICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2VsZWN0aW9uVGV4dFwiPnt7XG4gICAgICAgICAgZ2V0U2VsZWN0aW9uVGV4dCgpXG4gICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNwLXNlbGVjdGlvbi10ZXh0XCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2FwcGhpcmUtc2VsZWN0X19pY29uLWNvbnRhaW5lclwiPlxuICAgIDxzcC1pY29uIG5hbWU9XCJjaGV2cm9uRG93blwiPjwvc3AtaWNvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjcG9wb3Zlcj5cbiAgPHNwLXBvcG92ZXJcbiAgICBbc3R5bGUuZGlzcGxheV09XCJcbiAgICAgIChmaWx0ZXJlZENoaWxkcmVuJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwID8gJ25vbmUnIDogdW5kZWZpbmVkXG4gICAgXCJcbiAgICBub1BhZGRpbmdcbiAgICBub01heFdpZHRoXG4gICAgW3N0eWxlLm1pbi13aWR0aF09XCJ0cmlnZ2VyRWxlbWVudFJlZi5vZmZzZXRXaWR0aCArICdweCdcIlxuICA+XG4gICAgPHNwLWxpc3Rib3hcbiAgICAgIFtzcExpc3Rib3hJdGVtc109XCIoZmlsdGVyZWRDaGlsZHJlbiQgfCBhc3luYykgfHwgdW5kZWZpbmVkXCJcbiAgICAgIG5hdmlnYXRpb25XcmFwRGlzYWJsZWRcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICBbKHNlbGVjdGVkVmFsdWVzKV09XCJsaXN0Ym94VmFsdWVcIlxuICAgICAgKHNlbGVjdGVkVmFsdWVzQ2hhbmdlKT1cIl9zZWFyY2hhYmxlU2VsZWN0RGlyZWN0aXZlPy5zZXRTZWFyY2hWYWx1ZSgnJylcIlxuICAgICAgKHNlbGVjdGVkKT1cIl9oYW5kbGVTZWxlY3RlZCgpXCJcbiAgICAgIFtzaXplXT1cIl9maWVsZD8uc2l6ZVwiXG4gICAgPlxuICAgIDwvc3AtbGlzdGJveD5cbiAgPC9zcC1wb3BvdmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -37,7 +37,7 @@ export class TextFieldInputDirective {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
TextFieldInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldInputDirective, deps: [{ token: i0.ElementRef }, { token: i1.FieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
-
TextFieldInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TextFieldInputDirective, selector: "[spTextFieldInput]", inputs: { id: "id", disabled: "disabled", required: "required" }, host: { listeners: { "input": "ngDoCheck($event.target.value)", "blur": "onBlur()" }, properties: { "id": "id", "attr.aria-describedby": "field?.error?.id || field?.note?.id", "attr.aria-invalid": "field?.hasError() ? true : null", "style": "this.style" }, classAttribute: "sapphire-text-field__input" }, hostDirectives: [{ directive: i2.UseComponentStyles }], ngImport: i0 });
|
|
40
|
+
TextFieldInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TextFieldInputDirective, selector: "[spTextFieldInput]", inputs: { id: "id", disabled: "disabled", required: "required" }, host: { listeners: { "input": "ngDoCheck($event.target.value)", "blur": "onBlur()" }, properties: { "id": "id", "attr.aria-describedby": "field?.error?.id || field?.note?.id", "attr.aria-invalid": "field?.hasError(this) ? true : null", "style": "this.style" }, classAttribute: "sapphire-text-field__input" }, hostDirectives: [{ directive: i2.UseComponentStyles }], ngImport: i0 });
|
|
41
41
|
__decorate([
|
|
42
42
|
AutoId()
|
|
43
43
|
], TextFieldInputDirective.prototype, "id", void 0);
|
|
@@ -52,7 +52,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
52
52
|
'[id]': 'id',
|
|
53
53
|
class: 'sapphire-text-field__input',
|
|
54
54
|
'[attr.aria-describedby]': 'field?.error?.id || field?.note?.id',
|
|
55
|
-
'[attr.aria-invalid]': 'field?.hasError() ? true : null',
|
|
55
|
+
'[attr.aria-invalid]': 'field?.hasError(this) ? true : null',
|
|
56
56
|
},
|
|
57
57
|
hostDirectives: [UseComponentStyles],
|
|
58
58
|
}]
|
|
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
74
74
|
type: HostBinding,
|
|
75
75
|
args: ['style']
|
|
76
76
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3RleHQtZmllbGQvc3JjL3RleHQtZmllbGQtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7O0FBYTlFLE1BQU0sT0FBTyx1QkFBdUI7SUFrQmxDLFNBQVM7UUFDUCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBR08sTUFBTTtRQUNaLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixNQUFNLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FDL0IsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsd0JBQXdCLGVBQWUsYUFBYSxlQUFlLEVBQUUsQ0FBQztJQUM3RixDQUFDO0lBRUQsWUFDVSxXQUErRCxFQUNwRCxLQUFxQjtRQURoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0Q7UUFDcEQsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUF6QzFDLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFHaEIsYUFBUSxHQUFpQixLQUFLLENBQUM7UUFJL0IsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBa0M3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxVQUFVLENBQUM7SUFDaEUsQ0FBQzs7b0hBbkRVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCO0FBS2xDO0lBREMsTUFBTSxFQUFFO21EQUNPO0FBT2hCO0lBREMsYUFBYTt5REFDUTsyRkFaWCx1QkFBdUI7a0JBVm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsSUFBSSxFQUFFO3dCQUNKLE1BQU0sRUFBRSxJQUFJO3dCQUNaLEtBQUssRUFBRSw0QkFBNEI7d0JBQ25DLHlCQUF5QixFQUFFLHFDQUFxQzt3QkFDaEUscUJBQXFCLEVBQUUscUNBQXFDO3FCQUM3RDtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDckM7OzBCQStDSSxRQUFROzRDQXpDWCxFQUFFO3NCQUZELEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLFFBQVE7c0JBRlAsS0FBSztnQkFRTixTQUFTO3NCQURSLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBT3RDLE1BQU07c0JBRGIsWUFBWTt1QkFBQyxNQUFNO2dCQVVoQixLQUFLO3NCQURSLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXV0b0lkIH0gZnJvbSAnLi4vLi4vY29tbW9uL2F1dG8taWQuZGVjb3JhdG9yJztcbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBVc2VDb21wb25lbnRTdHlsZXMgfSBmcm9tICcuLi8uLi9jb21tb24vc2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uJztcbmltcG9ydCB7IEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZmllbGQvcHVibGljX2FwaSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzcFRleHRGaWVsZElucHV0XScsXG4gIGhvc3Q6IHtcbiAgICAnW2lkXSc6ICdpZCcsXG4gICAgY2xhc3M6ICdzYXBwaGlyZS10ZXh0LWZpZWxkX19pbnB1dCcsXG4gICAgJ1thdHRyLmFyaWEtZGVzY3JpYmVkYnldJzogJ2ZpZWxkPy5lcnJvcj8uaWQgfHwgZmllbGQ/Lm5vdGU/LmlkJyxcbiAgICAnW2F0dHIuYXJpYS1pbnZhbGlkXSc6ICdmaWVsZD8uaGFzRXJyb3IodGhpcykgPyB0cnVlIDogbnVsbCcsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbVXNlQ29tcG9uZW50U3R5bGVzXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dEZpZWxkSW5wdXREaXJlY3RpdmUgaW1wbGVtZW50cyBEb0NoZWNrIHtcbiAgcmVhZG9ubHkgdGV4dGFyZWE6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgQEF1dG9JZCgpXG4gIGlkOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgcmVxdWlyZWQ6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyB2YWx1ZUxlbmd0aDogbnVtYmVyID0gMDtcbiAgcHVibGljIGF1dG9maWxsU3R5bGU/OiBzdHJpbmc7XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMudXBkYXRlVmFsdWVMZW5ndGgoKTtcbiAgICB0aGlzLnVwZGF0ZUF1dG9maWxsU3R5bGUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwcml2YXRlIG9uQmx1cigpIHtcbiAgICB0aGlzLnVwZGF0ZUF1dG9maWxsU3R5bGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVmFsdWVMZW5ndGgoKSB7XG4gICAgdGhpcy52YWx1ZUxlbmd0aCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGg7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJylcbiAgZ2V0IHN0eWxlKCkge1xuICAgIHJldHVybiB0aGlzLmF1dG9maWxsU3R5bGU7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUF1dG9maWxsU3R5bGUoKSB7XG4gICAgY29uc3QgeyBiYWNrZ3JvdW5kQ29sb3IgfSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKFxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgKTtcbiAgICB0aGlzLmF1dG9maWxsU3R5bGUgPSBgYm94LXNoYWRvdzogLTEwMHB4IDAgJHtiYWNrZ3JvdW5kQ29sb3J9LCAxMDBweCAwICR7YmFja2dyb3VuZENvbG9yfWA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50PixcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZmllbGQ6IEZpZWxkQ29tcG9uZW50XG4gICkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy52YWx1ZUxlbmd0aCA9IGVsZW1lbnQudmFsdWUubGVuZ3RoO1xuICAgIHRoaXMudGV4dGFyZWEgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd0ZXh0YXJlYSc7XG4gIH1cbn1cbiJdfQ==
|