@huntsman-cancer-institute/cod 17.0.6 → 17.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/cod.module.mjs +4 -4
- package/esm2022/components/attribute-absolute.component.mjs +3 -3
- package/esm2022/components/attribute-base.mjs +3 -3
- package/esm2022/components/attribute-container.component.mjs +6 -6
- package/esm2022/components/attribute-default.component.mjs +266 -266
- package/esm2022/components/attribute-edit.component.mjs +3 -3
- package/esm2022/components/attribute-flex.component.mjs +3 -3
- package/esm2022/date/date-util.mjs +3 -3
- package/esm2022/pipes/is-group-attribute.pipe.mjs +3 -3
- package/esm2022/services/attribute.service.mjs +3 -3
- package/fesm2022/huntsman-cancer-institute-cod.mjs +295 -295
- package/fesm2022/huntsman-cancer-institute-cod.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -31,281 +31,281 @@ export class AttributeDefaultComponent {
|
|
|
31
31
|
registerOnTouched(fn) {
|
|
32
32
|
this.onTouched = fn;
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: AttributeDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: AttributeDefaultComponent, selector: "hci-attribute-default", inputs: { id: "id", name: "name", attribute: "attribute" }, providers: [
|
|
36
36
|
{
|
|
37
37
|
provide: NG_VALUE_ACCESSOR,
|
|
38
38
|
useExisting: forwardRef(() => AttributeDefaultComponent),
|
|
39
39
|
multi: true
|
|
40
40
|
}
|
|
41
|
-
], ngImport: i0, template: `
|
|
42
|
-
<!-- String -->
|
|
43
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'S'">
|
|
44
|
-
<input type="text"
|
|
45
|
-
class="form-control"
|
|
46
|
-
[id]="id"
|
|
47
|
-
[name]="name"
|
|
48
|
-
[(ngModel)]="value">
|
|
49
|
-
</ng-container>
|
|
50
|
-
|
|
51
|
-
<!-- Text -->
|
|
52
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'TXT'">
|
|
53
|
-
<textarea type="text"
|
|
54
|
-
class="form-control"
|
|
55
|
-
[id]="id"
|
|
56
|
-
[name]="name"
|
|
57
|
-
spellcheck="spellcheck"
|
|
58
|
-
lang="en"
|
|
59
|
-
[(ngModel)]="value">
|
|
60
|
-
</textarea>
|
|
61
|
-
</ng-container>
|
|
62
|
-
|
|
63
|
-
<!-- Checkbox -->
|
|
64
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'CB'">
|
|
65
|
-
<input type="checkbox"
|
|
66
|
-
class="form-control"
|
|
67
|
-
[id]="id"
|
|
68
|
-
[name]="name"
|
|
69
|
-
[(ngModel)]="value"
|
|
70
|
-
[checked]="value && value.toUpperCase() === 'Y'">
|
|
71
|
-
</ng-container>
|
|
72
|
-
|
|
73
|
-
<!-- Numeric -->
|
|
74
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'N'">
|
|
75
|
-
<input type="number"
|
|
76
|
-
class="form-control"
|
|
77
|
-
[id]="id"
|
|
78
|
-
[name]="name"
|
|
79
|
-
[(ngModel)]="value">
|
|
80
|
-
</ng-container>
|
|
81
|
-
|
|
82
|
-
<!-- Integer -->
|
|
83
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'I'">
|
|
84
|
-
<input type="number"
|
|
85
|
-
class="form-control"
|
|
86
|
-
[id]="id"
|
|
87
|
-
[name]="name"
|
|
88
|
-
[(ngModel)]="value">
|
|
89
|
-
</ng-container>
|
|
90
|
-
|
|
91
|
-
<!-- Date -->
|
|
92
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'D'">
|
|
93
|
-
<input type="date"
|
|
94
|
-
class="form-control"
|
|
95
|
-
[id]="id"
|
|
96
|
-
[name]="name"
|
|
97
|
-
[(ngModel)]="value">
|
|
98
|
-
</ng-container>
|
|
99
|
-
|
|
100
|
-
<!-- Date Time -->
|
|
101
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'DT'">
|
|
102
|
-
<input type="date"
|
|
103
|
-
class="form-control"
|
|
104
|
-
[id]="id"
|
|
105
|
-
[name]="name"
|
|
106
|
-
[(ngModel)]="value">
|
|
107
|
-
</ng-container>
|
|
108
|
-
|
|
109
|
-
<!-- Boolean -->
|
|
110
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'B'">
|
|
111
|
-
<select [(ngModel)]="value"
|
|
112
|
-
class="form-control edit-renderer"
|
|
113
|
-
[id]="id"
|
|
114
|
-
[name]="name">
|
|
115
|
-
<option [ngValue]="'Y'" [selected]="value && value.toUpperCase() === 'Y'">Y</option>
|
|
116
|
-
<option [ngValue]="'N'" [selected]="value && value.toUpperCase() === 'N'">N</option>
|
|
117
|
-
</select>
|
|
118
|
-
</ng-container>
|
|
119
|
-
|
|
120
|
-
<!-- Extended Boolean -->
|
|
121
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'EB'">
|
|
122
|
-
<select [(ngModel)]="value"
|
|
123
|
-
class="form-control edit-renderer"
|
|
124
|
-
[id]="id"
|
|
125
|
-
[name]="name">
|
|
126
|
-
<option [ngValue]="'Y'" [selected]="value && value.toUpperCase() === 'Y'">Y</option>
|
|
127
|
-
<option [ngValue]="'N'" [selected]="value && value.toUpperCase() === 'N'">N</option>
|
|
128
|
-
<option [ngValue]="'U'" [selected]="value && value.toUpperCase() === 'U'">U</option>
|
|
129
|
-
</select>
|
|
130
|
-
</ng-container>
|
|
131
|
-
|
|
132
|
-
<!-- Choice: Single -->
|
|
133
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'AC' && attribute.isMultiValue.toUpperCase() === 'N'">
|
|
134
|
-
<select [(ngModel)]="value"
|
|
135
|
-
class="form-control edit-renderer"
|
|
136
|
-
[id]="id"
|
|
137
|
-
[name]="name">
|
|
138
|
-
<option *ngFor="let attributeChoice of attribute.attributeChoices"
|
|
139
|
-
[ngValue]="attributeChoice"
|
|
140
|
-
[selected]="value && value.toUpperCase() === attributeChoice.idAttributeChoice.toString().toUpperCase()">
|
|
141
|
-
{{ attributeChoice.choice }}
|
|
142
|
-
</option>
|
|
143
|
-
</select>
|
|
144
|
-
</ng-container>
|
|
145
|
-
|
|
146
|
-
<!-- Choice: Multi -->
|
|
147
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'AC' && attribute.isMultiValue.toUpperCase() === 'Y'">
|
|
148
|
-
<input type="text"
|
|
149
|
-
class="form-control"
|
|
150
|
-
[id]="id"
|
|
151
|
-
[name]="name"
|
|
152
|
-
disabled>
|
|
153
|
-
</ng-container>
|
|
154
|
-
|
|
155
|
-
<!-- Dictionary -->
|
|
156
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'DICT'">
|
|
157
|
-
<hci-native-select [(ngModel)]="value"
|
|
158
|
-
[className]="attribute.attributeDictionary.className"
|
|
159
|
-
[id]="id"
|
|
160
|
-
[name]="name">
|
|
161
|
-
</hci-native-select>
|
|
162
|
-
</ng-container>
|
|
163
|
-
|
|
164
|
-
<!-- Grid -->
|
|
165
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'GA'">
|
|
166
|
-
<input type="text"
|
|
167
|
-
class="form-control"
|
|
168
|
-
[id]="id"
|
|
169
|
-
[name]="name"
|
|
170
|
-
disabled>
|
|
171
|
-
</ng-container>
|
|
41
|
+
], ngImport: i0, template: `
|
|
42
|
+
<!-- String -->
|
|
43
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'S'">
|
|
44
|
+
<input type="text"
|
|
45
|
+
class="form-control"
|
|
46
|
+
[id]="id"
|
|
47
|
+
[name]="name"
|
|
48
|
+
[(ngModel)]="value">
|
|
49
|
+
</ng-container>
|
|
50
|
+
|
|
51
|
+
<!-- Text -->
|
|
52
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'TXT'">
|
|
53
|
+
<textarea type="text"
|
|
54
|
+
class="form-control"
|
|
55
|
+
[id]="id"
|
|
56
|
+
[name]="name"
|
|
57
|
+
spellcheck="spellcheck"
|
|
58
|
+
lang="en"
|
|
59
|
+
[(ngModel)]="value">
|
|
60
|
+
</textarea>
|
|
61
|
+
</ng-container>
|
|
62
|
+
|
|
63
|
+
<!-- Checkbox -->
|
|
64
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'CB'">
|
|
65
|
+
<input type="checkbox"
|
|
66
|
+
class="form-control"
|
|
67
|
+
[id]="id"
|
|
68
|
+
[name]="name"
|
|
69
|
+
[(ngModel)]="value"
|
|
70
|
+
[checked]="value && value.toUpperCase() === 'Y'">
|
|
71
|
+
</ng-container>
|
|
72
|
+
|
|
73
|
+
<!-- Numeric -->
|
|
74
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'N'">
|
|
75
|
+
<input type="number"
|
|
76
|
+
class="form-control"
|
|
77
|
+
[id]="id"
|
|
78
|
+
[name]="name"
|
|
79
|
+
[(ngModel)]="value">
|
|
80
|
+
</ng-container>
|
|
81
|
+
|
|
82
|
+
<!-- Integer -->
|
|
83
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'I'">
|
|
84
|
+
<input type="number"
|
|
85
|
+
class="form-control"
|
|
86
|
+
[id]="id"
|
|
87
|
+
[name]="name"
|
|
88
|
+
[(ngModel)]="value">
|
|
89
|
+
</ng-container>
|
|
90
|
+
|
|
91
|
+
<!-- Date -->
|
|
92
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'D'">
|
|
93
|
+
<input type="date"
|
|
94
|
+
class="form-control"
|
|
95
|
+
[id]="id"
|
|
96
|
+
[name]="name"
|
|
97
|
+
[(ngModel)]="value">
|
|
98
|
+
</ng-container>
|
|
99
|
+
|
|
100
|
+
<!-- Date Time -->
|
|
101
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'DT'">
|
|
102
|
+
<input type="date"
|
|
103
|
+
class="form-control"
|
|
104
|
+
[id]="id"
|
|
105
|
+
[name]="name"
|
|
106
|
+
[(ngModel)]="value">
|
|
107
|
+
</ng-container>
|
|
108
|
+
|
|
109
|
+
<!-- Boolean -->
|
|
110
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'B'">
|
|
111
|
+
<select [(ngModel)]="value"
|
|
112
|
+
class="form-control edit-renderer"
|
|
113
|
+
[id]="id"
|
|
114
|
+
[name]="name">
|
|
115
|
+
<option [ngValue]="'Y'" [selected]="value && value.toUpperCase() === 'Y'">Y</option>
|
|
116
|
+
<option [ngValue]="'N'" [selected]="value && value.toUpperCase() === 'N'">N</option>
|
|
117
|
+
</select>
|
|
118
|
+
</ng-container>
|
|
119
|
+
|
|
120
|
+
<!-- Extended Boolean -->
|
|
121
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'EB'">
|
|
122
|
+
<select [(ngModel)]="value"
|
|
123
|
+
class="form-control edit-renderer"
|
|
124
|
+
[id]="id"
|
|
125
|
+
[name]="name">
|
|
126
|
+
<option [ngValue]="'Y'" [selected]="value && value.toUpperCase() === 'Y'">Y</option>
|
|
127
|
+
<option [ngValue]="'N'" [selected]="value && value.toUpperCase() === 'N'">N</option>
|
|
128
|
+
<option [ngValue]="'U'" [selected]="value && value.toUpperCase() === 'U'">U</option>
|
|
129
|
+
</select>
|
|
130
|
+
</ng-container>
|
|
131
|
+
|
|
132
|
+
<!-- Choice: Single -->
|
|
133
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'AC' && attribute.isMultiValue.toUpperCase() === 'N'">
|
|
134
|
+
<select [(ngModel)]="value"
|
|
135
|
+
class="form-control edit-renderer"
|
|
136
|
+
[id]="id"
|
|
137
|
+
[name]="name">
|
|
138
|
+
<option *ngFor="let attributeChoice of attribute.attributeChoices"
|
|
139
|
+
[ngValue]="attributeChoice"
|
|
140
|
+
[selected]="value && value.toUpperCase() === attributeChoice.idAttributeChoice.toString().toUpperCase()">
|
|
141
|
+
{{ attributeChoice.choice }}
|
|
142
|
+
</option>
|
|
143
|
+
</select>
|
|
144
|
+
</ng-container>
|
|
145
|
+
|
|
146
|
+
<!-- Choice: Multi -->
|
|
147
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'AC' && attribute.isMultiValue.toUpperCase() === 'Y'">
|
|
148
|
+
<input type="text"
|
|
149
|
+
class="form-control"
|
|
150
|
+
[id]="id"
|
|
151
|
+
[name]="name"
|
|
152
|
+
disabled>
|
|
153
|
+
</ng-container>
|
|
154
|
+
|
|
155
|
+
<!-- Dictionary -->
|
|
156
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'DICT'">
|
|
157
|
+
<hci-native-select [(ngModel)]="value"
|
|
158
|
+
[className]="attribute.attributeDictionary.className"
|
|
159
|
+
[id]="id"
|
|
160
|
+
[name]="name">
|
|
161
|
+
</hci-native-select>
|
|
162
|
+
</ng-container>
|
|
163
|
+
|
|
164
|
+
<!-- Grid -->
|
|
165
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'GA'">
|
|
166
|
+
<input type="text"
|
|
167
|
+
class="form-control"
|
|
168
|
+
[id]="id"
|
|
169
|
+
[name]="name"
|
|
170
|
+
disabled>
|
|
171
|
+
</ng-container>
|
|
172
172
|
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NativeSelectComponent, selector: "hci-native-select", inputs: ["class", "name", "label", "url", "entries", "required", "idKey", "displayKey", "disabled", "sortKey", "sortNumeric", "filterKey", "filter"] }] }); }
|
|
173
173
|
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1
|
|
174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: AttributeDefaultComponent, decorators: [{
|
|
175
175
|
type: Component,
|
|
176
176
|
args: [{
|
|
177
177
|
selector: "hci-attribute-default",
|
|
178
|
-
template: `
|
|
179
|
-
<!-- String -->
|
|
180
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'S'">
|
|
181
|
-
<input type="text"
|
|
182
|
-
class="form-control"
|
|
183
|
-
[id]="id"
|
|
184
|
-
[name]="name"
|
|
185
|
-
[(ngModel)]="value">
|
|
186
|
-
</ng-container>
|
|
187
|
-
|
|
188
|
-
<!-- Text -->
|
|
189
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'TXT'">
|
|
190
|
-
<textarea type="text"
|
|
191
|
-
class="form-control"
|
|
192
|
-
[id]="id"
|
|
193
|
-
[name]="name"
|
|
194
|
-
spellcheck="spellcheck"
|
|
195
|
-
lang="en"
|
|
196
|
-
[(ngModel)]="value">
|
|
197
|
-
</textarea>
|
|
198
|
-
</ng-container>
|
|
199
|
-
|
|
200
|
-
<!-- Checkbox -->
|
|
201
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'CB'">
|
|
202
|
-
<input type="checkbox"
|
|
203
|
-
class="form-control"
|
|
204
|
-
[id]="id"
|
|
205
|
-
[name]="name"
|
|
206
|
-
[(ngModel)]="value"
|
|
207
|
-
[checked]="value && value.toUpperCase() === 'Y'">
|
|
208
|
-
</ng-container>
|
|
209
|
-
|
|
210
|
-
<!-- Numeric -->
|
|
211
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'N'">
|
|
212
|
-
<input type="number"
|
|
213
|
-
class="form-control"
|
|
214
|
-
[id]="id"
|
|
215
|
-
[name]="name"
|
|
216
|
-
[(ngModel)]="value">
|
|
217
|
-
</ng-container>
|
|
218
|
-
|
|
219
|
-
<!-- Integer -->
|
|
220
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'I'">
|
|
221
|
-
<input type="number"
|
|
222
|
-
class="form-control"
|
|
223
|
-
[id]="id"
|
|
224
|
-
[name]="name"
|
|
225
|
-
[(ngModel)]="value">
|
|
226
|
-
</ng-container>
|
|
227
|
-
|
|
228
|
-
<!-- Date -->
|
|
229
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'D'">
|
|
230
|
-
<input type="date"
|
|
231
|
-
class="form-control"
|
|
232
|
-
[id]="id"
|
|
233
|
-
[name]="name"
|
|
234
|
-
[(ngModel)]="value">
|
|
235
|
-
</ng-container>
|
|
236
|
-
|
|
237
|
-
<!-- Date Time -->
|
|
238
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'DT'">
|
|
239
|
-
<input type="date"
|
|
240
|
-
class="form-control"
|
|
241
|
-
[id]="id"
|
|
242
|
-
[name]="name"
|
|
243
|
-
[(ngModel)]="value">
|
|
244
|
-
</ng-container>
|
|
245
|
-
|
|
246
|
-
<!-- Boolean -->
|
|
247
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'B'">
|
|
248
|
-
<select [(ngModel)]="value"
|
|
249
|
-
class="form-control edit-renderer"
|
|
250
|
-
[id]="id"
|
|
251
|
-
[name]="name">
|
|
252
|
-
<option [ngValue]="'Y'" [selected]="value && value.toUpperCase() === 'Y'">Y</option>
|
|
253
|
-
<option [ngValue]="'N'" [selected]="value && value.toUpperCase() === 'N'">N</option>
|
|
254
|
-
</select>
|
|
255
|
-
</ng-container>
|
|
256
|
-
|
|
257
|
-
<!-- Extended Boolean -->
|
|
258
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'EB'">
|
|
259
|
-
<select [(ngModel)]="value"
|
|
260
|
-
class="form-control edit-renderer"
|
|
261
|
-
[id]="id"
|
|
262
|
-
[name]="name">
|
|
263
|
-
<option [ngValue]="'Y'" [selected]="value && value.toUpperCase() === 'Y'">Y</option>
|
|
264
|
-
<option [ngValue]="'N'" [selected]="value && value.toUpperCase() === 'N'">N</option>
|
|
265
|
-
<option [ngValue]="'U'" [selected]="value && value.toUpperCase() === 'U'">U</option>
|
|
266
|
-
</select>
|
|
267
|
-
</ng-container>
|
|
268
|
-
|
|
269
|
-
<!-- Choice: Single -->
|
|
270
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'AC' && attribute.isMultiValue.toUpperCase() === 'N'">
|
|
271
|
-
<select [(ngModel)]="value"
|
|
272
|
-
class="form-control edit-renderer"
|
|
273
|
-
[id]="id"
|
|
274
|
-
[name]="name">
|
|
275
|
-
<option *ngFor="let attributeChoice of attribute.attributeChoices"
|
|
276
|
-
[ngValue]="attributeChoice"
|
|
277
|
-
[selected]="value && value.toUpperCase() === attributeChoice.idAttributeChoice.toString().toUpperCase()">
|
|
278
|
-
{{ attributeChoice.choice }}
|
|
279
|
-
</option>
|
|
280
|
-
</select>
|
|
281
|
-
</ng-container>
|
|
282
|
-
|
|
283
|
-
<!-- Choice: Multi -->
|
|
284
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'AC' && attribute.isMultiValue.toUpperCase() === 'Y'">
|
|
285
|
-
<input type="text"
|
|
286
|
-
class="form-control"
|
|
287
|
-
[id]="id"
|
|
288
|
-
[name]="name"
|
|
289
|
-
disabled>
|
|
290
|
-
</ng-container>
|
|
291
|
-
|
|
292
|
-
<!-- Dictionary -->
|
|
293
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'DICT'">
|
|
294
|
-
<hci-native-select [(ngModel)]="value"
|
|
295
|
-
[className]="attribute.attributeDictionary.className"
|
|
296
|
-
[id]="id"
|
|
297
|
-
[name]="name">
|
|
298
|
-
</hci-native-select>
|
|
299
|
-
</ng-container>
|
|
300
|
-
|
|
301
|
-
<!-- Grid -->
|
|
302
|
-
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'GA'">
|
|
303
|
-
<input type="text"
|
|
304
|
-
class="form-control"
|
|
305
|
-
[id]="id"
|
|
306
|
-
[name]="name"
|
|
307
|
-
disabled>
|
|
308
|
-
</ng-container>
|
|
178
|
+
template: `
|
|
179
|
+
<!-- String -->
|
|
180
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'S'">
|
|
181
|
+
<input type="text"
|
|
182
|
+
class="form-control"
|
|
183
|
+
[id]="id"
|
|
184
|
+
[name]="name"
|
|
185
|
+
[(ngModel)]="value">
|
|
186
|
+
</ng-container>
|
|
187
|
+
|
|
188
|
+
<!-- Text -->
|
|
189
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'TXT'">
|
|
190
|
+
<textarea type="text"
|
|
191
|
+
class="form-control"
|
|
192
|
+
[id]="id"
|
|
193
|
+
[name]="name"
|
|
194
|
+
spellcheck="spellcheck"
|
|
195
|
+
lang="en"
|
|
196
|
+
[(ngModel)]="value">
|
|
197
|
+
</textarea>
|
|
198
|
+
</ng-container>
|
|
199
|
+
|
|
200
|
+
<!-- Checkbox -->
|
|
201
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'CB'">
|
|
202
|
+
<input type="checkbox"
|
|
203
|
+
class="form-control"
|
|
204
|
+
[id]="id"
|
|
205
|
+
[name]="name"
|
|
206
|
+
[(ngModel)]="value"
|
|
207
|
+
[checked]="value && value.toUpperCase() === 'Y'">
|
|
208
|
+
</ng-container>
|
|
209
|
+
|
|
210
|
+
<!-- Numeric -->
|
|
211
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'N'">
|
|
212
|
+
<input type="number"
|
|
213
|
+
class="form-control"
|
|
214
|
+
[id]="id"
|
|
215
|
+
[name]="name"
|
|
216
|
+
[(ngModel)]="value">
|
|
217
|
+
</ng-container>
|
|
218
|
+
|
|
219
|
+
<!-- Integer -->
|
|
220
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'I'">
|
|
221
|
+
<input type="number"
|
|
222
|
+
class="form-control"
|
|
223
|
+
[id]="id"
|
|
224
|
+
[name]="name"
|
|
225
|
+
[(ngModel)]="value">
|
|
226
|
+
</ng-container>
|
|
227
|
+
|
|
228
|
+
<!-- Date -->
|
|
229
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'D'">
|
|
230
|
+
<input type="date"
|
|
231
|
+
class="form-control"
|
|
232
|
+
[id]="id"
|
|
233
|
+
[name]="name"
|
|
234
|
+
[(ngModel)]="value">
|
|
235
|
+
</ng-container>
|
|
236
|
+
|
|
237
|
+
<!-- Date Time -->
|
|
238
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'DT'">
|
|
239
|
+
<input type="date"
|
|
240
|
+
class="form-control"
|
|
241
|
+
[id]="id"
|
|
242
|
+
[name]="name"
|
|
243
|
+
[(ngModel)]="value">
|
|
244
|
+
</ng-container>
|
|
245
|
+
|
|
246
|
+
<!-- Boolean -->
|
|
247
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'B'">
|
|
248
|
+
<select [(ngModel)]="value"
|
|
249
|
+
class="form-control edit-renderer"
|
|
250
|
+
[id]="id"
|
|
251
|
+
[name]="name">
|
|
252
|
+
<option [ngValue]="'Y'" [selected]="value && value.toUpperCase() === 'Y'">Y</option>
|
|
253
|
+
<option [ngValue]="'N'" [selected]="value && value.toUpperCase() === 'N'">N</option>
|
|
254
|
+
</select>
|
|
255
|
+
</ng-container>
|
|
256
|
+
|
|
257
|
+
<!-- Extended Boolean -->
|
|
258
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'EB'">
|
|
259
|
+
<select [(ngModel)]="value"
|
|
260
|
+
class="form-control edit-renderer"
|
|
261
|
+
[id]="id"
|
|
262
|
+
[name]="name">
|
|
263
|
+
<option [ngValue]="'Y'" [selected]="value && value.toUpperCase() === 'Y'">Y</option>
|
|
264
|
+
<option [ngValue]="'N'" [selected]="value && value.toUpperCase() === 'N'">N</option>
|
|
265
|
+
<option [ngValue]="'U'" [selected]="value && value.toUpperCase() === 'U'">U</option>
|
|
266
|
+
</select>
|
|
267
|
+
</ng-container>
|
|
268
|
+
|
|
269
|
+
<!-- Choice: Single -->
|
|
270
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'AC' && attribute.isMultiValue.toUpperCase() === 'N'">
|
|
271
|
+
<select [(ngModel)]="value"
|
|
272
|
+
class="form-control edit-renderer"
|
|
273
|
+
[id]="id"
|
|
274
|
+
[name]="name">
|
|
275
|
+
<option *ngFor="let attributeChoice of attribute.attributeChoices"
|
|
276
|
+
[ngValue]="attributeChoice"
|
|
277
|
+
[selected]="value && value.toUpperCase() === attributeChoice.idAttributeChoice.toString().toUpperCase()">
|
|
278
|
+
{{ attributeChoice.choice }}
|
|
279
|
+
</option>
|
|
280
|
+
</select>
|
|
281
|
+
</ng-container>
|
|
282
|
+
|
|
283
|
+
<!-- Choice: Multi -->
|
|
284
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'AC' && attribute.isMultiValue.toUpperCase() === 'Y'">
|
|
285
|
+
<input type="text"
|
|
286
|
+
class="form-control"
|
|
287
|
+
[id]="id"
|
|
288
|
+
[name]="name"
|
|
289
|
+
disabled>
|
|
290
|
+
</ng-container>
|
|
291
|
+
|
|
292
|
+
<!-- Dictionary -->
|
|
293
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'DICT'">
|
|
294
|
+
<hci-native-select [(ngModel)]="value"
|
|
295
|
+
[className]="attribute.attributeDictionary.className"
|
|
296
|
+
[id]="id"
|
|
297
|
+
[name]="name">
|
|
298
|
+
</hci-native-select>
|
|
299
|
+
</ng-container>
|
|
300
|
+
|
|
301
|
+
<!-- Grid -->
|
|
302
|
+
<ng-container *ngIf="attribute.codeAttributeDataType.toUpperCase() === 'GA'">
|
|
303
|
+
<input type="text"
|
|
304
|
+
class="form-control"
|
|
305
|
+
[id]="id"
|
|
306
|
+
[name]="name"
|
|
307
|
+
disabled>
|
|
308
|
+
</ng-container>
|
|
309
309
|
`,
|
|
310
310
|
providers: [
|
|
311
311
|
{
|
|
@@ -322,4 +322,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
322
322
|
}], attribute: [{
|
|
323
323
|
type: Input
|
|
324
324
|
}] } });
|
|
325
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWRlZmF1bHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kL3NyYy9jb21wb25lbnRzL2F0dHJpYnV0ZS1kZWZhdWx0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWtKdkUsTUFBTSxPQUFPLHlCQUF5QjtJQVdwQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUFBLENBQUM7SUFFRixJQUFJLEtBQUssQ0FBQyxDQUFTO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVEO1FBckJBLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFNcEIsYUFBUSxHQUFRLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDL0IsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQWNYLENBQUM7SUFFaEIsUUFBUSxLQUFVLENBQUM7SUFFbkIsVUFBVSxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0FyQ1UseUJBQXlCO2tHQUF6Qix5QkFBeUIsNEdBUnpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDeEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQTFJUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtSVQ7OzJGQVNVLHlCQUF5QjtrQkE5SXJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1JVDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO3dEQUtVLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7R3JhcGhpY2FsQXR0cmlidXRlfSBmcm9tIFwiLi4vbW9kZWwvZ3JhcGhpY2FsLWF0dHJpYnV0ZS5lbnRpdHlcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1hdHRyaWJ1dGUtZGVmYXVsdFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8IS0tIFN0cmluZyAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlLnRvVXBwZXJDYXNlKCkgPT09ICdTJ1wiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBUZXh0IC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ1RYVCdcIj5cclxuICAgICAgPHRleHRhcmVhIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgICAgICAgIHNwZWxsY2hlY2s9XCJzcGVsbGNoZWNrXCJcclxuICAgICAgICAgICAgICAgIGxhbmc9XCJlblwiXHJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XHJcbiAgICAgIDwvdGV4dGFyZWE+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIENoZWNrYm94IC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ0NCJ1wiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgW2NoZWNrZWRdPVwidmFsdWUgJiYgdmFsdWUudG9VcHBlckNhc2UoKSA9PT0gJ1knXCI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIE51bWVyaWMgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnTidcIj5cclxuICAgICAgPGlucHV0IHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBJbnRlZ2VyIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ0knXCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gRGF0ZSAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlLnRvVXBwZXJDYXNlKCkgPT09ICdEJ1wiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImRhdGVcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBEYXRlIFRpbWUgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnRFQnXCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiZGF0ZVwiXHJcbiAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIEJvb2xlYW4gLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnQidcIj5cclxuICAgICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGVkaXQtcmVuZGVyZXJcIlxyXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIj5cclxuICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIidZJ1wiIFtzZWxlY3RlZF09XCJ2YWx1ZSAmJiB2YWx1ZS50b1VwcGVyQ2FzZSgpID09PSAnWSdcIj5ZPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCInTidcIiBbc2VsZWN0ZWRdPVwidmFsdWUgJiYgdmFsdWUudG9VcHBlckNhc2UoKSA9PT0gJ04nXCI+Tjwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gRXh0ZW5kZWQgQm9vbGVhbiAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlLnRvVXBwZXJDYXNlKCkgPT09ICdFQidcIj5cclxuICAgICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBlZGl0LXJlbmRlcmVyXCJcclxuICAgICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIj5cclxuICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIidZJ1wiIFtzZWxlY3RlZF09XCJ2YWx1ZSAmJiB2YWx1ZS50b1VwcGVyQ2FzZSgpID09PSAnWSdcIj5ZPC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCInTidcIiBbc2VsZWN0ZWRdPVwidmFsdWUgJiYgdmFsdWUudG9VcHBlckNhc2UoKSA9PT0gJ04nXCI+Tjwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiJ1UnXCIgW3NlbGVjdGVkXT1cInZhbHVlICYmIHZhbHVlLnRvVXBwZXJDYXNlKCkgPT09ICdVJ1wiPlU8L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIENob2ljZTogU2luZ2xlIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ0FDJyAmJiBhdHRyaWJ1dGUuaXNNdWx0aVZhbHVlLnRvVXBwZXJDYXNlKCkgPT09ICdOJ1wiPlxyXG4gICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGVkaXQtcmVuZGVyZXJcIlxyXG4gICAgICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiPlxyXG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGF0dHJpYnV0ZUNob2ljZSBvZiBhdHRyaWJ1dGUuYXR0cmlidXRlQ2hvaWNlc1wiXHJcbiAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJhdHRyaWJ1dGVDaG9pY2VcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInZhbHVlICYmIHZhbHVlLnRvVXBwZXJDYXNlKCkgPT09IGF0dHJpYnV0ZUNob2ljZS5pZEF0dHJpYnV0ZUNob2ljZS50b1N0cmluZygpLnRvVXBwZXJDYXNlKClcIj5cclxuICAgICAgICAgIHt7IGF0dHJpYnV0ZUNob2ljZS5jaG9pY2UgfX1cclxuICAgICAgICA8L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIENob2ljZTogTXVsdGkgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnQUMnICYmIGF0dHJpYnV0ZS5pc011bHRpVmFsdWUudG9VcHBlckNhc2UoKSA9PT0gJ1knXCI+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgICAgICBkaXNhYmxlZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gRGljdGlvbmFyeSAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlLnRvVXBwZXJDYXNlKCkgPT09ICdESUNUJ1wiPlxyXG4gICAgICA8aGNpLW5hdGl2ZS1zZWxlY3QgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NOYW1lXT1cImF0dHJpYnV0ZS5hdHRyaWJ1dGVEaWN0aW9uYXJ5LmNsYXNzTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiPlxyXG4gICAgICA8L2hjaS1uYXRpdmUtc2VsZWN0PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBHcmlkIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ0dBJ1wiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgZGlzYWJsZWQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXR0cmlidXRlRGVmYXVsdENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR0cmlidXRlRGVmYXVsdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgX3ZhbHVlOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcclxuICBASW5wdXQoKSBhdHRyaWJ1dGU6IEdyYXBoaWNhbEF0dHJpYnV0ZTtcclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9IChfOiBhbnkpID0+IHt9O1xyXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4ge307XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH07XHJcblxyXG4gIHNldCB2YWx1ZSh2OiBzdHJpbmcpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICBpZiAodiAhPT0gdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgIHRoaXMub25DaGFuZ2Uodik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgd3JpdGVWYWx1ZSh2OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbn1cclxuIl19
|
|
325
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWRlZmF1bHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kL3NyYy9jb21wb25lbnRzL2F0dHJpYnV0ZS1kZWZhdWx0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWtKdkUsTUFBTSxPQUFPLHlCQUF5QjtJQVdwQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUFBLENBQUM7SUFFRixJQUFJLEtBQUssQ0FBQyxDQUFTO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVEO1FBckJBLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFNcEIsYUFBUSxHQUFRLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDL0IsY0FBUyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQWNYLENBQUM7SUFFaEIsUUFBUSxLQUFVLENBQUM7SUFFbkIsVUFBVSxDQUFDLENBQVM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0FyQ1UseUJBQXlCO2tHQUF6Qix5QkFBeUIsNEdBUnpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztnQkFDeEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQTFJUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtSVQ7OzJGQVNVLHlCQUF5QjtrQkE5SXJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1JVDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGO3dEQUtVLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7R3JhcGhpY2FsQXR0cmlidXRlfSBmcm9tIFwiLi4vbW9kZWwvZ3JhcGhpY2FsLWF0dHJpYnV0ZS5lbnRpdHlcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1hdHRyaWJ1dGUtZGVmYXVsdFwiLFxyXG4gIHRlbXBsYXRlOiBgXG4gICAgPCEtLSBTdHJpbmcgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ1MnXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gVGV4dCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnVFhUJ1wiPlxuICAgICAgPHRleHRhcmVhIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPVwic3BlbGxjaGVja1wiXG4gICAgICAgICAgICAgICAgbGFuZz1cImVuXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XG4gICAgICA8L3RleHRhcmVhPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBDaGVja2JveCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnQ0InXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgICAgICBbY2hlY2tlZF09XCJ2YWx1ZSAmJiB2YWx1ZS50b1VwcGVyQ2FzZSgpID09PSAnWSdcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gTnVtZXJpYyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnTidcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEludGVnZXIgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ0knXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBEYXRlIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlLnRvVXBwZXJDYXNlKCkgPT09ICdEJ1wiPlxuICAgICAgPGlucHV0IHR5cGU9XCJkYXRlXCJcbiAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIERhdGUgVGltZSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnRFQnXCI+XG4gICAgICA8aW5wdXQgdHlwZT1cImRhdGVcIlxuICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gQm9vbGVhbiAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnQidcIj5cbiAgICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZWRpdC1yZW5kZXJlclwiXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCI+XG4gICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiJ1knXCIgW3NlbGVjdGVkXT1cInZhbHVlICYmIHZhbHVlLnRvVXBwZXJDYXNlKCkgPT09ICdZJ1wiPlk8L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCInTidcIiBbc2VsZWN0ZWRdPVwidmFsdWUgJiYgdmFsdWUudG9VcHBlckNhc2UoKSA9PT0gJ04nXCI+Tjwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEV4dGVuZGVkIEJvb2xlYW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ0VCJ1wiPlxuICAgICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZWRpdC1yZW5kZXJlclwiXG4gICAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIj5cbiAgICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCInWSdcIiBbc2VsZWN0ZWRdPVwidmFsdWUgJiYgdmFsdWUudG9VcHBlckNhc2UoKSA9PT0gJ1knXCI+WTwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIidOJ1wiIFtzZWxlY3RlZF09XCJ2YWx1ZSAmJiB2YWx1ZS50b1VwcGVyQ2FzZSgpID09PSAnTidcIj5OPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiJ1UnXCIgW3NlbGVjdGVkXT1cInZhbHVlICYmIHZhbHVlLnRvVXBwZXJDYXNlKCkgPT09ICdVJ1wiPlU8L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBDaG9pY2U6IFNpbmdsZSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnQUMnICYmIGF0dHJpYnV0ZS5pc011bHRpVmFsdWUudG9VcHBlckNhc2UoKSA9PT0gJ04nXCI+XG4gICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBlZGl0LXJlbmRlcmVyXCJcbiAgICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiPlxuICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBhdHRyaWJ1dGVDaG9pY2Ugb2YgYXR0cmlidXRlLmF0dHJpYnV0ZUNob2ljZXNcIlxuICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cImF0dHJpYnV0ZUNob2ljZVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInZhbHVlICYmIHZhbHVlLnRvVXBwZXJDYXNlKCkgPT09IGF0dHJpYnV0ZUNob2ljZS5pZEF0dHJpYnV0ZUNob2ljZS50b1N0cmluZygpLnRvVXBwZXJDYXNlKClcIj5cbiAgICAgICAgICB7eyBhdHRyaWJ1dGVDaG9pY2UuY2hvaWNlIH19XG4gICAgICAgIDwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIENob2ljZTogTXVsdGkgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUudG9VcHBlckNhc2UoKSA9PT0gJ0FDJyAmJiBhdHRyaWJ1dGUuaXNNdWx0aVZhbHVlLnRvVXBwZXJDYXNlKCkgPT09ICdZJ1wiPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICBkaXNhYmxlZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gRGljdGlvbmFyeSAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZS50b1VwcGVyQ2FzZSgpID09PSAnRElDVCdcIj5cbiAgICAgIDxoY2ktbmF0aXZlLXNlbGVjdCBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NOYW1lXT1cImF0dHJpYnV0ZS5hdHRyaWJ1dGVEaWN0aW9uYXJ5LmNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCI+XG4gICAgICA8L2hjaS1uYXRpdmUtc2VsZWN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBHcmlkIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlLnRvVXBwZXJDYXNlKCkgPT09ICdHQSdcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICAgZGlzYWJsZWQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBdHRyaWJ1dGVEZWZhdWx0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdHRyaWJ1dGVEZWZhdWx0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICBfdmFsdWU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZTogR3JhcGhpY2FsQXR0cmlidXRlO1xyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKF86IGFueSkgPT4ge307XHJcbiAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfTtcclxuXHJcbiAgc2V0IHZhbHVlKHY6IHN0cmluZykge1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgIGlmICh2ICE9PSB0aGlzLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICB3cml0ZVZhbHVlKHY6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxufVxyXG4iXX0=
|