@huntsman-cancer-institute/input 16.0.1 → 17.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/date/date-base.d.ts +65 -65
- package/date/date-date-range.component.d.ts +32 -32
- package/date/date-date.component.d.ts +53 -53
- package/date/date-validator.d.ts +17 -17
- package/date/date.module.d.ts +16 -16
- package/dropdown/dropdown-index.d.ts +6 -6
- package/dropdown/dropdown-select-result.component.d.ts +23 -23
- package/dropdown/dropdown-select.component.d.ts +76 -76
- package/dropdown/dropdown.component.d.ts +40 -40
- package/dropdown/dropdown.module.d.ts +13 -13
- package/dropdown/dropdown.service.d.ts +51 -51
- package/dropdown/messages.d.ts +11 -11
- package/dropdown/select-item.d.ts +16 -16
- package/dropdown/template-dropdown.directive.d.ts +12 -12
- package/esm2022/date/date-base.mjs +114 -114
- package/esm2022/date/date-date-range.component.mjs +92 -92
- package/esm2022/date/date-date.component.mjs +189 -189
- package/esm2022/date/date-validator.mjs +40 -40
- package/esm2022/date/date.module.mjs +60 -60
- package/esm2022/dropdown/dropdown-index.mjs +5 -5
- package/esm2022/dropdown/dropdown-select-result.component.mjs +85 -85
- package/esm2022/dropdown/dropdown-select.component.mjs +360 -360
- package/esm2022/dropdown/dropdown.component.mjs +170 -170
- package/esm2022/dropdown/dropdown.module.mjs +50 -50
- package/esm2022/dropdown/dropdown.service.mjs +133 -133
- package/esm2022/dropdown/messages.mjs +9 -9
- package/esm2022/dropdown/select-item.mjs +11 -11
- package/esm2022/dropdown/template-dropdown.directive.mjs +26 -26
- package/esm2022/huntsman-cancer-institute-input.mjs +4 -4
- package/esm2022/index.mjs +19 -19
- package/esm2022/inline/inline.component.mjs +179 -179
- package/esm2022/inline/inline.module.mjs +28 -28
- package/esm2022/search/search.component.mjs +157 -157
- package/esm2022/search/search.module.mjs +32 -32
- package/esm2022/select/custom-combobox.component.mjs +531 -531
- package/esm2022/select/custom-multi-combobox.component.mjs +232 -232
- package/esm2022/select/md-multi-select.component.mjs +127 -127
- package/esm2022/select/md-select.component.mjs +107 -107
- package/esm2022/select/native-select.component.mjs +188 -188
- package/esm2022/select/select.module.mjs +83 -83
- package/fesm2022/huntsman-cancer-institute-input.mjs +2797 -2797
- package/fesm2022/huntsman-cancer-institute-input.mjs.map +1 -1
- package/index.d.ts +20 -20
- package/inline/inline.component.d.ts +66 -66
- package/inline/inline.module.d.ts +9 -9
- package/package.json +7 -7
- package/search/search.component.d.ts +42 -42
- package/search/search.module.d.ts +10 -10
- package/select/custom-combobox.component.d.ts +98 -98
- package/select/custom-multi-combobox.component.d.ts +50 -50
- package/select/md-multi-select.component.d.ts +32 -32
- package/select/md-select.component.d.ts +30 -30
- package/select/native-select.component.d.ts +37 -37
- package/select/select.module.d.ts +21 -21
|
@@ -1,144 +1,144 @@
|
|
|
1
|
-
import { Component, forwardRef, HostBinding, Input, ChangeDetectorRef } from "@angular/core";
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
-
import { HttpClient } from "@angular/common/http";
|
|
4
|
-
import { DictionaryService } from "@huntsman-cancer-institute/dictionary-service";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@huntsman-cancer-institute/dictionary-service";
|
|
7
|
-
import * as i2 from "@angular/common/http";
|
|
8
|
-
import * as i3 from "@angular/common";
|
|
9
|
-
import * as i4 from "@angular/forms";
|
|
10
|
-
export class NativeSelectComponent {
|
|
11
|
-
get filter() {
|
|
12
|
-
return this._filter;
|
|
13
|
-
}
|
|
14
|
-
set filter(f) {
|
|
15
|
-
this._filter = f;
|
|
16
|
-
if (this.filterKey != null && this.filter != null && this.unfilteredEntries != null) {
|
|
17
|
-
this.entries = this.unfilteredEntries;
|
|
18
|
-
var newlist = this.entries.filter(entry => entry[this.filterKey] == this.filter);
|
|
19
|
-
this.entries = newlist;
|
|
20
|
-
if (this.sortKey != null) {
|
|
21
|
-
if (this.sortNumeric) {
|
|
22
|
-
this.entries.sort((a, b) => {
|
|
23
|
-
return a[this.sortKey] - b[this.sortKey];
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
this.entries.sort((a, b) => {
|
|
28
|
-
return a[this.sortKey].localeCompare(b[this.sortKey]);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
constructor(dictionaryService, http, cdr) {
|
|
35
|
-
this.dictionaryService = dictionaryService;
|
|
36
|
-
this.http = http;
|
|
37
|
-
this.cdr = cdr;
|
|
38
|
-
this.classList = "";
|
|
39
|
-
this.required = false;
|
|
40
|
-
this.idKey = "id";
|
|
41
|
-
this.displayKey = "display";
|
|
42
|
-
this.disabled = false;
|
|
43
|
-
this.sortKey = null;
|
|
44
|
-
this.sortNumeric = false;
|
|
45
|
-
this.filterKey = null;
|
|
46
|
-
this._filter = null;
|
|
47
|
-
}
|
|
48
|
-
ngOnInit() {
|
|
49
|
-
if (this.url && this.url.indexOf("/") === -1) {
|
|
50
|
-
this.dictionaryService.getDictionaryDropdownEntries(this.url).subscribe((entries) => {
|
|
51
|
-
this.entries = entries;
|
|
52
|
-
if (this.filterKey != null && this.filter != null) {
|
|
53
|
-
this.unfilteredEntries = this.entries;
|
|
54
|
-
var newlist = this.entries.filter(entry => entry[this.filterKey] == this.filter);
|
|
55
|
-
this.entries = newlist;
|
|
56
|
-
}
|
|
57
|
-
if (this.sortKey != null) {
|
|
58
|
-
if (this.sortNumeric) {
|
|
59
|
-
this.entries.sort((a, b) => {
|
|
60
|
-
return a[this.sortKey] - b[this.sortKey];
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
this.entries.sort((a, b) => {
|
|
65
|
-
return a[this.sortKey].localeCompare(b[this.sortKey]);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
else if (this.url) {
|
|
72
|
-
this.http.get(this.url).subscribe((entries) => {
|
|
73
|
-
this.entries = entries;
|
|
74
|
-
if (this.filterKey != null && this.filter != null) {
|
|
75
|
-
this.unfilteredEntries = this.entries;
|
|
76
|
-
var newlist = this.entries.filter(entry => entry[this.filterKey] == this.filter);
|
|
77
|
-
this.entries = newlist;
|
|
78
|
-
}
|
|
79
|
-
if (this.sortKey != null) {
|
|
80
|
-
if (this.sortNumeric) {
|
|
81
|
-
this.entries.sort((a, b) => {
|
|
82
|
-
return a[this.sortKey] - b[this.sortKey];
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
this.entries.sort((a, b) => {
|
|
87
|
-
return a[this.sortKey].localeCompare(b[this.sortKey]);
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
if (this.filterKey != null && this.filter != null) {
|
|
95
|
-
this.unfilteredEntries = this.entries;
|
|
96
|
-
var newlist = this.entries.filter(entry => entry[this.filterKey] == this.filter);
|
|
97
|
-
this.entries = newlist;
|
|
98
|
-
}
|
|
99
|
-
if (this.sortKey != null) {
|
|
100
|
-
if (this.sortNumeric) {
|
|
101
|
-
this.entries.sort((a, b) => {
|
|
102
|
-
return a[this.sortKey] - b[this.sortKey];
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
this.entries.sort((a, b) => {
|
|
107
|
-
return a[this.sortKey].localeCompare(b[this.sortKey]);
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
if (this.classList.length > 0) {
|
|
113
|
-
this.classList += " native-input"; //?
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
this.classList = "native-input";
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
setHeight(h) {
|
|
120
|
-
this.height = h;
|
|
121
|
-
// avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
122
|
-
this.cdr.detectChanges();
|
|
123
|
-
}
|
|
124
|
-
writeValue(value) {
|
|
125
|
-
if (value !== undefined) {
|
|
126
|
-
this.value = value;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
registerOnChange(fn) {
|
|
130
|
-
this.onChange = () => {
|
|
131
|
-
fn(this.value);
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
registerOnTouched(fn) { }
|
|
135
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
136
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
137
|
-
{
|
|
138
|
-
provide: NG_VALUE_ACCESSOR,
|
|
139
|
-
useExisting: forwardRef(() => NativeSelectComponent),
|
|
140
|
-
multi: true
|
|
141
|
-
}
|
|
1
|
+
import { Component, forwardRef, HostBinding, Input, ChangeDetectorRef } from "@angular/core";
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
|
+
import { HttpClient } from "@angular/common/http";
|
|
4
|
+
import { DictionaryService } from "@huntsman-cancer-institute/dictionary-service";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@huntsman-cancer-institute/dictionary-service";
|
|
7
|
+
import * as i2 from "@angular/common/http";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "@angular/forms";
|
|
10
|
+
export class NativeSelectComponent {
|
|
11
|
+
get filter() {
|
|
12
|
+
return this._filter;
|
|
13
|
+
}
|
|
14
|
+
set filter(f) {
|
|
15
|
+
this._filter = f;
|
|
16
|
+
if (this.filterKey != null && this.filter != null && this.unfilteredEntries != null) {
|
|
17
|
+
this.entries = this.unfilteredEntries;
|
|
18
|
+
var newlist = this.entries.filter(entry => entry[this.filterKey] == this.filter);
|
|
19
|
+
this.entries = newlist;
|
|
20
|
+
if (this.sortKey != null) {
|
|
21
|
+
if (this.sortNumeric) {
|
|
22
|
+
this.entries.sort((a, b) => {
|
|
23
|
+
return a[this.sortKey] - b[this.sortKey];
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.entries.sort((a, b) => {
|
|
28
|
+
return a[this.sortKey].localeCompare(b[this.sortKey]);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
constructor(dictionaryService, http, cdr) {
|
|
35
|
+
this.dictionaryService = dictionaryService;
|
|
36
|
+
this.http = http;
|
|
37
|
+
this.cdr = cdr;
|
|
38
|
+
this.classList = "";
|
|
39
|
+
this.required = false;
|
|
40
|
+
this.idKey = "id";
|
|
41
|
+
this.displayKey = "display";
|
|
42
|
+
this.disabled = false;
|
|
43
|
+
this.sortKey = null;
|
|
44
|
+
this.sortNumeric = false;
|
|
45
|
+
this.filterKey = null;
|
|
46
|
+
this._filter = null;
|
|
47
|
+
}
|
|
48
|
+
ngOnInit() {
|
|
49
|
+
if (this.url && this.url.indexOf("/") === -1) {
|
|
50
|
+
this.dictionaryService.getDictionaryDropdownEntries(this.url).subscribe((entries) => {
|
|
51
|
+
this.entries = entries;
|
|
52
|
+
if (this.filterKey != null && this.filter != null) {
|
|
53
|
+
this.unfilteredEntries = this.entries;
|
|
54
|
+
var newlist = this.entries.filter(entry => entry[this.filterKey] == this.filter);
|
|
55
|
+
this.entries = newlist;
|
|
56
|
+
}
|
|
57
|
+
if (this.sortKey != null) {
|
|
58
|
+
if (this.sortNumeric) {
|
|
59
|
+
this.entries.sort((a, b) => {
|
|
60
|
+
return a[this.sortKey] - b[this.sortKey];
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.entries.sort((a, b) => {
|
|
65
|
+
return a[this.sortKey].localeCompare(b[this.sortKey]);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
else if (this.url) {
|
|
72
|
+
this.http.get(this.url).subscribe((entries) => {
|
|
73
|
+
this.entries = entries;
|
|
74
|
+
if (this.filterKey != null && this.filter != null) {
|
|
75
|
+
this.unfilteredEntries = this.entries;
|
|
76
|
+
var newlist = this.entries.filter(entry => entry[this.filterKey] == this.filter);
|
|
77
|
+
this.entries = newlist;
|
|
78
|
+
}
|
|
79
|
+
if (this.sortKey != null) {
|
|
80
|
+
if (this.sortNumeric) {
|
|
81
|
+
this.entries.sort((a, b) => {
|
|
82
|
+
return a[this.sortKey] - b[this.sortKey];
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.entries.sort((a, b) => {
|
|
87
|
+
return a[this.sortKey].localeCompare(b[this.sortKey]);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
if (this.filterKey != null && this.filter != null) {
|
|
95
|
+
this.unfilteredEntries = this.entries;
|
|
96
|
+
var newlist = this.entries.filter(entry => entry[this.filterKey] == this.filter);
|
|
97
|
+
this.entries = newlist;
|
|
98
|
+
}
|
|
99
|
+
if (this.sortKey != null) {
|
|
100
|
+
if (this.sortNumeric) {
|
|
101
|
+
this.entries.sort((a, b) => {
|
|
102
|
+
return a[this.sortKey] - b[this.sortKey];
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
this.entries.sort((a, b) => {
|
|
107
|
+
return a[this.sortKey].localeCompare(b[this.sortKey]);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (this.classList.length > 0) {
|
|
113
|
+
this.classList += " native-input"; //?
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
this.classList = "native-input";
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
setHeight(h) {
|
|
120
|
+
this.height = h;
|
|
121
|
+
// avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
122
|
+
this.cdr.detectChanges();
|
|
123
|
+
}
|
|
124
|
+
writeValue(value) {
|
|
125
|
+
if (value !== undefined) {
|
|
126
|
+
this.value = value;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
registerOnChange(fn) {
|
|
130
|
+
this.onChange = () => {
|
|
131
|
+
fn(this.value);
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
registerOnTouched(fn) { }
|
|
135
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NativeSelectComponent, deps: [{ token: i1.DictionaryService }, { token: i2.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
136
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: NativeSelectComponent, selector: "hci-native-select", inputs: { classList: ["class", "classList"], name: "name", label: "label", url: "url", entries: "entries", required: "required", idKey: "idKey", displayKey: "displayKey", disabled: "disabled", sortKey: "sortKey", sortNumeric: "sortNumeric", filterKey: "filterKey", filter: "filter" }, host: { properties: { "class": "this.classList" } }, providers: [
|
|
137
|
+
{
|
|
138
|
+
provide: NG_VALUE_ACCESSOR,
|
|
139
|
+
useExisting: forwardRef(() => NativeSelectComponent),
|
|
140
|
+
multi: true
|
|
141
|
+
}
|
|
142
142
|
], ngImport: i0, template: `
|
|
143
143
|
<div *ngIf="label" class="label">
|
|
144
144
|
{{label}}{{(required) ? " *" : ""}}
|
|
@@ -158,12 +158,12 @@ export class NativeSelectComponent {
|
|
|
158
158
|
{{ row[displayKey] }}
|
|
159
159
|
</option>
|
|
160
160
|
</select>
|
|
161
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
162
|
-
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
164
|
-
type: Component,
|
|
165
|
-
args: [{
|
|
166
|
-
selector: "hci-native-select",
|
|
161
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
162
|
+
}
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NativeSelectComponent, decorators: [{
|
|
164
|
+
type: Component,
|
|
165
|
+
args: [{
|
|
166
|
+
selector: "hci-native-select",
|
|
167
167
|
template: `
|
|
168
168
|
<div *ngIf="label" class="label">
|
|
169
169
|
{{label}}{{(required) ? " *" : ""}}
|
|
@@ -183,44 +183,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
183
183
|
{{ row[displayKey] }}
|
|
184
184
|
</option>
|
|
185
185
|
</select>
|
|
186
|
-
`,
|
|
187
|
-
providers: [
|
|
188
|
-
{
|
|
189
|
-
provide: NG_VALUE_ACCESSOR,
|
|
190
|
-
useExisting: forwardRef(() => NativeSelectComponent),
|
|
191
|
-
multi: true
|
|
192
|
-
}
|
|
193
|
-
]
|
|
194
|
-
}]
|
|
195
|
-
}], ctorParameters:
|
|
196
|
-
type: HostBinding,
|
|
197
|
-
args: ["class"]
|
|
198
|
-
}, {
|
|
199
|
-
type: Input,
|
|
200
|
-
args: ["class"]
|
|
201
|
-
}], name: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}], label: [{
|
|
204
|
-
type: Input
|
|
205
|
-
}], url: [{
|
|
206
|
-
type: Input
|
|
207
|
-
}], entries: [{
|
|
208
|
-
type: Input
|
|
209
|
-
}], required: [{
|
|
210
|
-
type: Input
|
|
211
|
-
}], idKey: [{
|
|
212
|
-
type: Input
|
|
213
|
-
}], displayKey: [{
|
|
214
|
-
type: Input
|
|
215
|
-
}], disabled: [{
|
|
216
|
-
type: Input
|
|
217
|
-
}], sortKey: [{
|
|
218
|
-
type: Input
|
|
219
|
-
}], sortNumeric: [{
|
|
220
|
-
type: Input
|
|
221
|
-
}], filterKey: [{
|
|
222
|
-
type: Input
|
|
223
|
-
}], filter: [{
|
|
224
|
-
type: Input
|
|
225
|
-
}] } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dC9zcmMvc2VsZWN0L25hdGl2ZS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsaUJBQWlCLEVBQWdCLE1BQU0sK0NBQStDLENBQUM7Ozs7OztBQWdDL0YsTUFBTSxPQUFPLHFCQUFxQjtJQXFCaEMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFhLE1BQU0sQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRTtZQUNsRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUN0QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBRXZCLElBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUU7Z0JBQ3ZCLElB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LElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFNTyxNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWZ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2UsIERyb3Bkb3duRW50cnl9IGZyb20gXCJAaHVudHNtYW4tY2FuY2VyLWluc3RpdHV0ZS9kaWN0aW9uYXJ5LXNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1uYXRpdmUtc2VsZWN0XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgKm5nSWY9XCJsYWJlbFwiIGNsYXNzPVwibGFiZWxcIj5cclxuICAgICAge3tsYWJlbH19e3socmVxdWlyZWQpID8gXCIgKlwiIDogXCJcIn19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1ncm93LTFcIlxyXG4gICAgICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogNHJlbTtcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZXF1aXJlZFwiPlxyXG4gICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwidW5kZWZpbmVkXCI+XHJcbiAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCByb3cgb2YgZW50cmllc1wiXHJcbiAgICAgICAgICAgICAgW25nVmFsdWVdPVwicm93W2lkS2V5XVwiPlxyXG4gICAgICAgIHt7IHJvd1tkaXNwbGF5S2V5XSB9fVxyXG4gICAgICA8L29wdGlvbj5cclxuICAgIDwvc2VsZWN0PlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOYXRpdmVTZWxlY3RDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdGl2ZVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3NcIikgQElucHV0KFwiY2xhc3NcIikgY2xhc3NMaXN0OiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICB2YWx1ZTogYW55O1xyXG4gIGhlaWdodDogbnVtYmVyO1xyXG4gIHVuZmlsdGVyZWRFbnRyaWVzOiBEcm9wZG93bkVudHJ5W107XHJcblxyXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHVybDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVudHJpZXM6IERyb3Bkb3duRW50cnlbXTtcclxuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlkS2V5OiBzdHJpbmcgPSBcImlkXCI7XHJcbiAgQElucHV0KCkgZGlzcGxheUtleTogc3RyaW5nID0gXCJkaXNwbGF5XCI7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzb3J0S2V5OiBzdHJpbmcgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHNvcnROdW1lcmljOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmlsdGVyS2V5OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBfZmlsdGVyOiBhbnkgPSBudWxsO1xyXG4gIGdldCBmaWx0ZXIoKTogYW55e1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcjtcclxuICB9XHJcbiAgQElucHV0KCkgc2V0IGZpbHRlcihmOiBhbnkpe1xyXG4gICAgdGhpcy5fZmlsdGVyID0gZjtcclxuXHJcbiAgICBpZih0aGlzLmZpbHRlcktleSAhPSBudWxsICYmIHRoaXMuZmlsdGVyICE9IG51bGwgJiYgdGhpcy51bmZpbHRlcmVkRW50cmllcyAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuZW50cmllcyA9IHRoaXMudW5maWx0ZXJlZEVudHJpZXM7XHJcbiAgICAgIHZhciBuZXdsaXN0ID0gdGhpcy5lbnRyaWVzLmZpbHRlcihlbnRyeSA9PiBlbnRyeVt0aGlzLmZpbHRlcktleV0gPT0gdGhpcy5maWx0ZXIpO1xyXG4gICAgICB0aGlzLmVudHJpZXMgPSBuZXdsaXN0O1xyXG5cclxuICAgICAgaWYodGhpcy5zb3J0S2V5ICE9IG51bGwpIHtcclxuICAgICAgICBpZih0aGlzLnNvcnROdW1lcmljKSB7XHJcbiAgICAgICAgICB0aGlzLmVudHJpZXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gYVt0aGlzLnNvcnRLZXldIC0gYlt0aGlzLnNvcnRLZXldO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfWVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5lbnRyaWVzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGFbdGhpcy5zb3J0S2V5XS5sb2NhbGVDb21wYXJlKGJbdGhpcy5zb3J0S2V5XSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudXJsICYmIHRoaXMudXJsLmluZGV4T2YoXCIvXCIpID09PSAtMSkge1xyXG4gICAgICB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldERpY3Rpb25hcnlEcm9wZG93bkVudHJpZXModGhpcy51cmwpLnN1YnNjcmliZSgoZW50cmllczogRHJvcGRvd25FbnRyeVtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5lbnRyaWVzID0gZW50cmllcztcclxuXHJcbiAgICAgICAgaWYodGhpcy5maWx0ZXJLZXkgIT0gbnVsbCAmJiB0aGlzLmZpbHRlciAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLnVuZmlsdGVyZWRFbnRyaWVzID0gdGhpcy5lbnRyaWVzO1xyXG4gICAgICAgICAgdmFyIG5ld2xpc3QgPSB0aGlzLmVudHJpZXMuZmlsdGVyKGVudHJ5ID0+IGVudHJ5W3RoaXMuZmlsdGVyS2V5XSA9PSB0aGlzLmZpbHRlcik7XHJcbiAgICAgICAgICB0aGlzLmVudHJpZXMgPSBuZXdsaXN0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5zb3J0S2V5ICE9IG51bGwpIHtcclxuICAgICAgICAgIGlmKHRoaXMuc29ydE51bWVyaWMpIHtcclxuICAgICAgICAgICAgdGhpcy5lbnRyaWVzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gYVt0aGlzLnNvcnRLZXldIC0gYlt0aGlzLnNvcnRLZXldO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lbnRyaWVzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gYVt0aGlzLnNvcnRLZXldLmxvY2FsZUNvbXBhcmUoYlt0aGlzLnNvcnRLZXldKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudXJsKSB7XHJcbiAgICAgIHRoaXMuaHR0cC5nZXQodGhpcy51cmwpLnN1YnNjcmliZSgoZW50cmllczogYW55W10pID0+IHtcclxuICAgICAgICB0aGlzLmVudHJpZXMgPSBlbnRyaWVzO1xyXG5cclxuICAgICAgICBpZih0aGlzLmZpbHRlcktleSAhPSBudWxsICYmIHRoaXMuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMudW5maWx0ZXJlZEVudHJpZXMgPSB0aGlzLmVudHJpZXM7XHJcbiAgICAgICAgICB2YXIgbmV3bGlzdCA9IHRoaXMuZW50cmllcy5maWx0ZXIoZW50cnkgPT4gZW50cnlbdGhpcy5maWx0ZXJLZXldID09IHRoaXMuZmlsdGVyKTtcclxuICAgICAgICAgIHRoaXMuZW50cmllcyA9IG5ld2xpc3Q7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZih0aGlzLnNvcnRLZXkgIT0gbnVsbCkge1xyXG4gICAgICAgICAgaWYodGhpcy5zb3J0TnVtZXJpYykge1xyXG4gICAgICAgICAgICB0aGlzLmVudHJpZXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiBhW3RoaXMuc29ydEtleV0gLSBiW3RoaXMuc29ydEtleV07XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfWVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmVudHJpZXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiBhW3RoaXMuc29ydEtleV0ubG9jYWxlQ29tcGFyZShiW3RoaXMuc29ydEtleV0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfWVsc2Uge1xyXG5cclxuICAgICAgaWYodGhpcy5maWx0ZXJLZXkgIT0gbnVsbCAmJiB0aGlzLmZpbHRlciAhPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy51bmZpbHRlcmVkRW50cmllcyA9IHRoaXMuZW50cmllcztcclxuICAgICAgICB2YXIgbmV3bGlzdCA9IHRoaXMuZW50cmllcy5maWx0ZXIoZW50cnkgPT4gZW50cnlbdGhpcy5maWx0ZXJLZXldID09IHRoaXMuZmlsdGVyKTtcclxuICAgICAgICB0aGlzLmVudHJpZXMgPSBuZXdsaXN0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZih0aGlzLnNvcnRLZXkgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmKHRoaXMuc29ydE51bWVyaWMpIHtcclxuICAgICAgICAgIHRoaXMuZW50cmllcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBhW3RoaXMuc29ydEtleV0gLSBiW3RoaXMuc29ydEtleV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmVudHJpZXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gYVt0aGlzLnNvcnRLZXldLmxvY2FsZUNvbXBhcmUoYlt0aGlzLnNvcnRLZXldKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMuY2xhc3NMaXN0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5jbGFzc0xpc3QgKz0gXCIgbmF0aXZlLWlucHV0XCI7IC8vP1xyXG4gICAgfWVsc2Uge1xyXG4gICAgICB0aGlzLmNsYXNzTGlzdCA9IFwibmF0aXZlLWlucHV0XCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SGVpZ2h0KGg6IG51bWJlcikge1xyXG4gICAgdGhpcy5oZWlnaHQgPSBoO1xyXG4gICAgLy8gYXZvaWQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICBmbih0aGlzLnZhbHVlKTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge31cclxufVxyXG4iXX0=
|
|
186
|
+
`,
|
|
187
|
+
providers: [
|
|
188
|
+
{
|
|
189
|
+
provide: NG_VALUE_ACCESSOR,
|
|
190
|
+
useExisting: forwardRef(() => NativeSelectComponent),
|
|
191
|
+
multi: true
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
}]
|
|
195
|
+
}], ctorParameters: () => [{ type: i1.DictionaryService }, { type: i2.HttpClient }, { type: i0.ChangeDetectorRef }], propDecorators: { classList: [{
|
|
196
|
+
type: HostBinding,
|
|
197
|
+
args: ["class"]
|
|
198
|
+
}, {
|
|
199
|
+
type: Input,
|
|
200
|
+
args: ["class"]
|
|
201
|
+
}], name: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], label: [{
|
|
204
|
+
type: Input
|
|
205
|
+
}], url: [{
|
|
206
|
+
type: Input
|
|
207
|
+
}], entries: [{
|
|
208
|
+
type: Input
|
|
209
|
+
}], required: [{
|
|
210
|
+
type: Input
|
|
211
|
+
}], idKey: [{
|
|
212
|
+
type: Input
|
|
213
|
+
}], displayKey: [{
|
|
214
|
+
type: Input
|
|
215
|
+
}], disabled: [{
|
|
216
|
+
type: Input
|
|
217
|
+
}], sortKey: [{
|
|
218
|
+
type: Input
|
|
219
|
+
}], sortNumeric: [{
|
|
220
|
+
type: Input
|
|
221
|
+
}], filterKey: [{
|
|
222
|
+
type: Input
|
|
223
|
+
}], filter: [{
|
|
224
|
+
type: Input
|
|
225
|
+
}] } });
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dC9zcmMvc2VsZWN0L25hdGl2ZS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsaUJBQWlCLEVBQWdCLE1BQU0sK0NBQStDLENBQUM7Ozs7OztBQWdDL0YsTUFBTSxPQUFPLHFCQUFxQjtJQXFCaEMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFhLE1BQU0sQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLElBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25GLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ3RDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFFdkIsSUFBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFD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Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7K0lBR3VDLFNBQVM7c0JBQTlDLFdBQVc7dUJBQUMsT0FBTzs7c0JBQUcsS0FBSzt1QkFBQyxPQUFPO2dCQU0zQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTU8sTUFBTTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlLCBEcm9wZG93bkVudHJ5fSBmcm9tIFwiQGh1bnRzbWFuLWNhbmNlci1pbnN0aXR1dGUvZGljdGlvbmFyeS1zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJoY2ktbmF0aXZlLXNlbGVjdFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2ICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cImxhYmVsXCI+XHJcbiAgICAgIHt7bGFiZWx9fXt7KHJlcXVpcmVkKSA/IFwiICpcIiA6IFwiXCJ9fVxyXG4gICAgPC9kaXY+XHJcbiAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXHJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZsZXgtZ3Jvdy0xXCJcclxuICAgICAgICAgICAgc3R5bGU9XCJtaW4td2lkdGg6IDRyZW07XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVxdWlyZWRcIj5cclxuICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cInVuZGVmaW5lZFwiPlxyXG4gICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgcm93IG9mIGVudHJpZXNcIlxyXG4gICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInJvd1tpZEtleV1cIj5cclxuICAgICAgICB7eyByb3dbZGlzcGxheUtleV0gfX1cclxuICAgICAgPC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmF0aXZlU2VsZWN0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXRpdmVTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpIEBJbnB1dChcImNsYXNzXCIpIGNsYXNzTGlzdDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgdmFsdWU6IGFueTtcclxuICBoZWlnaHQ6IG51bWJlcjtcclxuICB1bmZpbHRlcmVkRW50cmllczogRHJvcGRvd25FbnRyeVtdO1xyXG5cclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSB1cmw6IHN0cmluZztcclxuICBASW5wdXQoKSBlbnRyaWVzOiBEcm9wZG93bkVudHJ5W107XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpZEtleTogc3RyaW5nID0gXCJpZFwiO1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlLZXk6IHN0cmluZyA9IFwiZGlzcGxheVwiO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc29ydEtleTogc3RyaW5nID0gbnVsbDtcclxuICBASW5wdXQoKSBzb3J0TnVtZXJpYzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZpbHRlcktleTogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgX2ZpbHRlcjogYW55ID0gbnVsbDtcclxuICBnZXQgZmlsdGVyKCk6IGFueXtcclxuICAgIHJldHVybiB0aGlzLl9maWx0ZXI7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNldCBmaWx0ZXIoZjogYW55KXtcclxuICAgIHRoaXMuX2ZpbHRlciA9IGY7XHJcblxyXG4gICAgaWYodGhpcy5maWx0ZXJLZXkgIT0gbnVsbCAmJiB0aGlzLmZpbHRlciAhPSBudWxsICYmIHRoaXMudW5maWx0ZXJlZEVudHJpZXMgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLmVudHJpZXMgPSB0aGlzLnVuZmlsdGVyZWRFbnRyaWVzO1xyXG4gICAgICB2YXIgbmV3bGlzdCA9IHRoaXMuZW50cmllcy5maWx0ZXIoZW50cnkgPT4gZW50cnlbdGhpcy5maWx0ZXJLZXldID09IHRoaXMuZmlsdGVyKTtcclxuICAgICAgdGhpcy5lbnRyaWVzID0gbmV3bGlzdDtcclxuXHJcbiAgICAgIGlmKHRoaXMuc29ydEtleSAhPSBudWxsKSB7XHJcbiAgICAgICAgaWYodGhpcy5zb3J0TnVtZXJpYykge1xyXG4gICAgICAgICAgdGhpcy5lbnRyaWVzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGFbdGhpcy5zb3J0S2V5XSAtIGJbdGhpcy5zb3J0S2V5XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgIHRoaXMuZW50cmllcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBhW3RoaXMuc29ydEtleV0ubG9jYWxlQ29tcGFyZShiW3RoaXMuc29ydEtleV0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVybCAmJiB0aGlzLnVybC5pbmRleE9mKFwiL1wiKSA9PT0gLTEpIHtcclxuICAgICAgdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXREaWN0aW9uYXJ5RHJvcGRvd25FbnRyaWVzKHRoaXMudXJsKS5zdWJzY3JpYmUoKGVudHJpZXM6IERyb3Bkb3duRW50cnlbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZW50cmllcyA9IGVudHJpZXM7XHJcblxyXG4gICAgICAgIGlmKHRoaXMuZmlsdGVyS2V5ICE9IG51bGwgJiYgdGhpcy5maWx0ZXIgIT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy51bmZpbHRlcmVkRW50cmllcyA9IHRoaXMuZW50cmllcztcclxuICAgICAgICAgIHZhciBuZXdsaXN0ID0gdGhpcy5lbnRyaWVzLmZpbHRlcihlbnRyeSA9PiBlbnRyeVt0aGlzLmZpbHRlcktleV0gPT0gdGhpcy5maWx0ZXIpO1xyXG4gICAgICAgICAgdGhpcy5lbnRyaWVzID0gbmV3bGlzdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMuc29ydEtleSAhPSBudWxsKSB7XHJcbiAgICAgICAgICBpZih0aGlzLnNvcnROdW1lcmljKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZW50cmllcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGFbdGhpcy5zb3J0S2V5XSAtIGJbdGhpcy5zb3J0S2V5XTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZW50cmllcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGFbdGhpcy5zb3J0S2V5XS5sb2NhbGVDb21wYXJlKGJbdGhpcy5zb3J0S2V5XSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnVybCkge1xyXG4gICAgICB0aGlzLmh0dHAuZ2V0KHRoaXMudXJsKS5zdWJzY3JpYmUoKGVudHJpZXM6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5lbnRyaWVzID0gZW50cmllcztcclxuXHJcbiAgICAgICAgaWYodGhpcy5maWx0ZXJLZXkgIT0gbnVsbCAmJiB0aGlzLmZpbHRlciAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLnVuZmlsdGVyZWRFbnRyaWVzID0gdGhpcy5lbnRyaWVzO1xyXG4gICAgICAgICAgdmFyIG5ld2xpc3QgPSB0aGlzLmVudHJpZXMuZmlsdGVyKGVudHJ5ID0+IGVudHJ5W3RoaXMuZmlsdGVyS2V5XSA9PSB0aGlzLmZpbHRlcik7XHJcbiAgICAgICAgICB0aGlzLmVudHJpZXMgPSBuZXdsaXN0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5zb3J0S2V5ICE9IG51bGwpIHtcclxuICAgICAgICAgIGlmKHRoaXMuc29ydE51bWVyaWMpIHtcclxuICAgICAgICAgICAgdGhpcy5lbnRyaWVzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gYVt0aGlzLnNvcnRLZXldIC0gYlt0aGlzLnNvcnRLZXldO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lbnRyaWVzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gYVt0aGlzLnNvcnRLZXldLmxvY2FsZUNvbXBhcmUoYlt0aGlzLnNvcnRLZXldKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1lbHNlIHtcclxuXHJcbiAgICAgIGlmKHRoaXMuZmlsdGVyS2V5ICE9IG51bGwgJiYgdGhpcy5maWx0ZXIgIT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMudW5maWx0ZXJlZEVudHJpZXMgPSB0aGlzLmVudHJpZXM7XHJcbiAgICAgICAgdmFyIG5ld2xpc3QgPSB0aGlzLmVudHJpZXMuZmlsdGVyKGVudHJ5ID0+IGVudHJ5W3RoaXMuZmlsdGVyS2V5XSA9PSB0aGlzLmZpbHRlcik7XHJcbiAgICAgICAgdGhpcy5lbnRyaWVzID0gbmV3bGlzdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYodGhpcy5zb3J0S2V5ICE9IG51bGwpIHtcclxuICAgICAgICBpZih0aGlzLnNvcnROdW1lcmljKSB7XHJcbiAgICAgICAgICB0aGlzLmVudHJpZXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gYVt0aGlzLnNvcnRLZXldIC0gYlt0aGlzLnNvcnRLZXldO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfWVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5lbnRyaWVzLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIGFbdGhpcy5zb3J0S2V5XS5sb2NhbGVDb21wYXJlKGJbdGhpcy5zb3J0S2V5XSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmNsYXNzTGlzdC5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY2xhc3NMaXN0ICs9IFwiIG5hdGl2ZS1pbnB1dFwiOyAvLz9cclxuICAgIH1lbHNlIHtcclxuICAgICAgdGhpcy5jbGFzc0xpc3QgPSBcIm5hdGl2ZS1pbnB1dFwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEhlaWdodChoOiBudW1iZXIpIHtcclxuICAgIHRoaXMuaGVpZ2h0ID0gaDtcclxuICAgIC8vIGF2b2lkIEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3JcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbikge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgZm4odGhpcy52YWx1ZSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHt9XHJcbn1cclxuIl19
|