@openmrs/ngx-formentry 3.0.1-pre.61 → 3.0.1-pre.64
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/bundles/openmrs-ngx-formentry.umd.js +1102 -869
- package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
- package/components/afe-ng-select.component.d.ts +3 -4
- package/components/appointments-overview/appointments-overview.component.d.ts +3 -4
- package/components/check-box/checkbox.component.d.ts +3 -4
- package/components/custom-component-wrapper/custom-component-wrapper.component.d.ts +2 -4
- package/components/custom-control-wrapper/custom-control-wrapper.component.d.ts +1 -1
- package/components/date-time-picker/date-picker/date-picker.component.d.ts +3 -3
- package/components/date-time-picker/date-time-picker.component.d.ts +4 -5
- package/components/date-time-picker/picker-modal/modal.component.d.ts +4 -5
- package/components/date-time-picker/time-picker/time-picker.component.d.ts +3 -3
- package/components/file-upload/file-upload.component.d.ts +2 -2
- package/components/input/input.directive.d.ts +4 -4
- package/components/input/input.module.d.ts +1 -1
- package/components/input/label.component.d.ts +12 -12
- package/components/input/text-area.directive.d.ts +4 -4
- package/components/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +1 -1
- package/components/ngx-pick-datetime/lib/date-time/calendar-body.component.d.ts +5 -9
- package/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.d.ts +2 -5
- package/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.d.ts +6 -10
- package/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.d.ts +3 -6
- package/components/ngx-pick-datetime/lib/date-time/calendar.component.d.ts +4 -11
- package/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.d.ts +5 -6
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.d.ts +15 -19
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.d.ts +9 -15
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.d.ts +5 -9
- package/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.d.ts +3 -7
- package/components/ngx-pick-datetime/lib/date-time/timer-box.component.d.ts +2 -5
- package/components/ngx-pick-datetime/lib/date-time/timer.component.d.ts +5 -9
- package/components/ngx-pick-datetime/lib/dialog/dialog-container.component.d.ts +15 -16
- package/components/ngx-remote-select/ngx-remote-select.component.d.ts +5 -5
- package/components/ngx-tabset/components/ngx-tab-set.component.d.ts +2 -2
- package/components/ngx-tabset/components/tab.component.d.ts +1 -1
- package/components/ngx-tabset/directives/hover-class.directive.d.ts +2 -2
- package/components/number-input/number-input.component.d.ts +2 -2
- package/components/radio-button/radio.component.d.ts +3 -4
- package/components/select/optgroup.directive.d.ts +3 -3
- package/components/select/option.directive.d.ts +3 -3
- package/components/select/select.component.d.ts +6 -6
- package/components/select/select.module.d.ts +1 -1
- package/esm2015/components/afe-ng-select.component.js +4 -5
- package/esm2015/components/appointments-overview/appointments-overview.component.js +3 -4
- package/esm2015/components/check-box/checkbox.component.js +3 -4
- package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +3 -4
- package/esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js +3 -3
- package/esm2015/components/date-time-picker/date-picker/date-picker.component.js +11 -11
- package/esm2015/components/date-time-picker/date-time-picker.component.js +7 -8
- package/esm2015/components/date-time-picker/picker-modal/modal.component.js +6 -7
- package/esm2015/components/date-time-picker/time-picker/time-picker.component.js +11 -11
- package/esm2015/components/file-upload/file-upload.component.js +3 -3
- package/esm2015/components/file-upload/secure.pipe.js +1 -3
- package/esm2015/components/input/input.directive.js +7 -8
- package/esm2015/components/input/input.module.js +7 -7
- package/esm2015/components/input/label.component.js +18 -19
- package/esm2015/components/input/text-area.directive.js +7 -8
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +4 -4
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.module.js +2 -3
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +13 -20
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js +11 -16
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +20 -24
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js +14 -19
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +13 -22
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js +18 -26
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +61 -53
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-input.directive.js +82 -73
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-trigger.directive.js +20 -23
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker.component.js +6 -11
- package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +12 -17
- package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +19 -23
- package/esm2015/components/ngx-pick-datetime/lib/dialog/dialog-container.component.js +52 -41
- package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +6 -6
- package/esm2015/components/ngx-tabset/components/ngx-tab-set.component.js +6 -6
- package/esm2015/components/ngx-tabset/components/tab.component.js +3 -3
- package/esm2015/components/ngx-tabset/directives/hover-class.directive.js +4 -5
- package/esm2015/components/number-input/number-input.component.js +6 -6
- package/esm2015/components/radio-button/radio.component.js +3 -4
- package/esm2015/components/select/optgroup.directive.js +6 -8
- package/esm2015/components/select/option.directive.js +6 -8
- package/esm2015/components/select/select.component.js +16 -274
- package/esm2015/components/select/select.module.js +7 -7
- package/esm2015/form-entry/data-sources/data-sources.js +1 -2
- package/esm2015/form-entry/directives/collapse.directive.js +5 -9
- package/esm2015/form-entry/directives/{historical-value-directive.js → historical-value.directive.js} +3 -3
- package/esm2015/form-entry/error-renderer/error-renderer.component.js +3 -4
- package/esm2015/form-entry/expression-runner/expression-runner.js +1 -2
- package/esm2015/form-entry/form-entry.module.js +2 -2
- package/esm2015/form-entry/form-factory/form.js +1 -5
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +9 -10
- package/esm2015/form-entry/helpers/js-expression-helper.js +16 -1
- package/esm2015/form-entry/helpers/risk-dataset-table.js +247 -0
- package/esm2015/form-entry/question-models/interfaces/date-question-options.js +1 -1
- package/esm2015/form-entry/value-adapters/encounter.adapter.js +1 -2
- package/esm2015/form-entry/value-adapters/obs-adapter-helper.js +1 -6
- package/esm2015/form-entry/value-adapters/obs.adapter.js +1 -5
- package/esm2015/form-entry/value-adapters/order.adapter.js +1 -2
- package/esm2015/form-entry/value-adapters/person-attribute.adapter.js +1 -2
- package/fesm2015/openmrs-ngx-formentry.js +901 -930
- package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
- package/form-entry/directives/collapse.directive.d.ts +1 -1
- package/form-entry/directives/{historical-value-directive.d.ts → historical-value.directive.d.ts} +1 -1
- package/form-entry/error-renderer/error-renderer.component.d.ts +2 -4
- package/form-entry/form-entry.module.d.ts +1 -1
- package/form-entry/form-renderer/form-renderer.component.d.ts +1 -1
- package/form-entry/helpers/js-expression-helper.d.ts +2 -0
- package/form-entry/helpers/risk-dataset-table.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
// South East Asia Non Laboratory CVD Risk Array of Arrays
|
|
2
|
+
// Vertically we have the BMI value eg for the first array [26(bmi < 20), 28(bmi 20 - 24), 30(bmi 25 - 29), 32(bmi 30 - 35), 34(bmi >= 35)]
|
|
3
|
+
export const southEastAsiaCvdRiskTables = [
|
|
4
|
+
// Men
|
|
5
|
+
[
|
|
6
|
+
// Non smoker
|
|
7
|
+
[
|
|
8
|
+
// Age 70 - 74
|
|
9
|
+
[
|
|
10
|
+
[26, 28, 30, 32, 34],
|
|
11
|
+
[21, 23, 25, 26, 28],
|
|
12
|
+
[17, 19, 20, 21, 23],
|
|
13
|
+
[14, 15, 16, 17, 18],
|
|
14
|
+
[11, 12, 13, 14, 15], // sbp < 120
|
|
15
|
+
],
|
|
16
|
+
// Age 65 - 69
|
|
17
|
+
[
|
|
18
|
+
[20, 22, 24, 26, 28],
|
|
19
|
+
[16, 17, 19, 21, 22],
|
|
20
|
+
[12, 14, 15, 16, 18],
|
|
21
|
+
[10, 11, 12, 13, 14],
|
|
22
|
+
[8, 8, 9, 10, 11], // < 120
|
|
23
|
+
],
|
|
24
|
+
// Age 60 - 64
|
|
25
|
+
[
|
|
26
|
+
[15, 17, 19, 21, 23],
|
|
27
|
+
[12, 13, 14, 16, 18],
|
|
28
|
+
[9, 10, 11, 12, 14],
|
|
29
|
+
[7, 8, 8, 9, 10],
|
|
30
|
+
[5, 6, 6, 7, 8], // sbp < 120
|
|
31
|
+
],
|
|
32
|
+
// Age 55 - 59
|
|
33
|
+
[
|
|
34
|
+
[12, 13, 15, 16, 18],
|
|
35
|
+
[9, 10, 11, 12, 14],
|
|
36
|
+
[7, 7, 8, 9, 10],
|
|
37
|
+
[5, 5, 6, 7, 8],
|
|
38
|
+
[4, 4, 4, 5, 6], // sbp < 120
|
|
39
|
+
],
|
|
40
|
+
// Age 50 - 54
|
|
41
|
+
[
|
|
42
|
+
[9, 10, 11, 13, 15],
|
|
43
|
+
[7, 7, 8, 9, 11],
|
|
44
|
+
[5, 5, 6, 7, 8],
|
|
45
|
+
[3, 4, 4, 5, 6],
|
|
46
|
+
[2, 3, 3, 4, 4], // sbp < 120
|
|
47
|
+
],
|
|
48
|
+
// Age 45 - 49
|
|
49
|
+
[
|
|
50
|
+
[7, 8, 9, 10, 12],
|
|
51
|
+
[5, 6, 6, 7, 8],
|
|
52
|
+
[3, 4, 4, 5, 6],
|
|
53
|
+
[2, 3, 3, 4, 4],
|
|
54
|
+
[2, 2, 2, 2, 3], // < 120
|
|
55
|
+
],
|
|
56
|
+
// Age 40 - 44
|
|
57
|
+
[
|
|
58
|
+
[5, 6, 7, 8, 10],
|
|
59
|
+
[4, 4, 5, 6, 7],
|
|
60
|
+
[2, 3, 3, 4, 4],
|
|
61
|
+
[2, 2, 2, 3, 3],
|
|
62
|
+
[1, 1, 2, 2, 2],
|
|
63
|
+
],
|
|
64
|
+
],
|
|
65
|
+
// Smoker
|
|
66
|
+
[
|
|
67
|
+
// Age 70 - 74
|
|
68
|
+
[
|
|
69
|
+
[34, 36, 39, 41, 44],
|
|
70
|
+
[28, 30, 32, 34, 36],
|
|
71
|
+
[23, 24, 26, 28, 30],
|
|
72
|
+
[18, 20, 21, 23, 24],
|
|
73
|
+
[15, 16, 17, 18, 20], // < 120
|
|
74
|
+
],
|
|
75
|
+
// Age 65 - 69
|
|
76
|
+
[
|
|
77
|
+
[28, 30, 33, 36, 39],
|
|
78
|
+
[22, 24, 26, 29, 31],
|
|
79
|
+
[18, 19, 21, 23, 25],
|
|
80
|
+
[14, 15, 16, 18, 20],
|
|
81
|
+
[11, 12, 13, 14, 16], // < 120
|
|
82
|
+
],
|
|
83
|
+
// Age 60 - 64
|
|
84
|
+
[
|
|
85
|
+
[23, 25, 28, 31, 34],
|
|
86
|
+
[18, 18, 20, 22, 24],
|
|
87
|
+
[14, 15, 17, 19, 21],
|
|
88
|
+
[10, 12, 13, 14, 16],
|
|
89
|
+
[8, 9, 10, 11, 12], // < 120
|
|
90
|
+
],
|
|
91
|
+
// Age 55 - 59
|
|
92
|
+
[
|
|
93
|
+
[19, 21, 24, 27, 30],
|
|
94
|
+
[14, 16, 18, 20, 23],
|
|
95
|
+
[11, 12, 13, 15, 17],
|
|
96
|
+
[8, 9, 10, 11, 13],
|
|
97
|
+
[6, 7, 7, 8, 10],
|
|
98
|
+
],
|
|
99
|
+
// Age 50 - 54
|
|
100
|
+
[
|
|
101
|
+
[15, 18, 20, 23, 27],
|
|
102
|
+
[11, 13, 15, 17, 20],
|
|
103
|
+
[8, 9, 11, 12, 14],
|
|
104
|
+
[6, 7, 8, 9, 11],
|
|
105
|
+
[4, 5, 6, 7, 8],
|
|
106
|
+
],
|
|
107
|
+
// Age 45 - 49
|
|
108
|
+
[
|
|
109
|
+
[13, 15, 17, 20, 23],
|
|
110
|
+
[9, 10, 12, 14, 17],
|
|
111
|
+
[6, 7, 9, 10, 12],
|
|
112
|
+
[4, 5, 6, 7, 8],
|
|
113
|
+
[3, 4, 4, 5, 6],
|
|
114
|
+
],
|
|
115
|
+
// Age 40 - 44
|
|
116
|
+
[
|
|
117
|
+
[10, 12, 14, 17, 20],
|
|
118
|
+
[7, 8, 10, 12, 14],
|
|
119
|
+
[5, 6, 7, 8, 10],
|
|
120
|
+
[3, 4, 5, 6, 7],
|
|
121
|
+
[2, 3, 3, 4, 5],
|
|
122
|
+
],
|
|
123
|
+
],
|
|
124
|
+
],
|
|
125
|
+
// Women
|
|
126
|
+
[
|
|
127
|
+
// Non smoker
|
|
128
|
+
[
|
|
129
|
+
// Age 70 -74
|
|
130
|
+
[
|
|
131
|
+
[21, 22, 22, 23, 24],
|
|
132
|
+
[17, 18, 19, 19, 20],
|
|
133
|
+
[15, 15, 16, 16, 17],
|
|
134
|
+
[12, 12, 13, 13, 14],
|
|
135
|
+
[10, 10, 11, 11, 11], // < 120
|
|
136
|
+
],
|
|
137
|
+
// Age 65 - 69
|
|
138
|
+
[
|
|
139
|
+
[16, 17, 18, 18, 19],
|
|
140
|
+
[13, 14, 14, 15, 15],
|
|
141
|
+
[11, 11, 11, 12, 12],
|
|
142
|
+
[9, 9, 9, 10, 10],
|
|
143
|
+
[7, 7, 7, 8, 8],
|
|
144
|
+
],
|
|
145
|
+
// Age 60 - 64
|
|
146
|
+
[
|
|
147
|
+
[13, 13, 14, 14, 15],
|
|
148
|
+
[10, 10, 11, 11, 12],
|
|
149
|
+
[8, 8, 8, 9, 9],
|
|
150
|
+
[6, 6, 7, 7, 7],
|
|
151
|
+
[5, 5, 5, 5, 6],
|
|
152
|
+
],
|
|
153
|
+
// Age 55 - 59
|
|
154
|
+
[
|
|
155
|
+
[10, 10, 11, 11, 12],
|
|
156
|
+
[8, 8, 8, 9, 9],
|
|
157
|
+
[6, 6, 6, 7, 7],
|
|
158
|
+
[4, 5, 5, 5, 5],
|
|
159
|
+
[3, 3, 4, 4, 4],
|
|
160
|
+
],
|
|
161
|
+
// Age 50 - 54
|
|
162
|
+
[
|
|
163
|
+
[8, 8, 8, 9, 9],
|
|
164
|
+
[6, 6, 6, 7, 7],
|
|
165
|
+
[4, 4, 5, 5, 5],
|
|
166
|
+
[3, 3, 3, 4, 4],
|
|
167
|
+
[2, 2, 3, 3, 3],
|
|
168
|
+
],
|
|
169
|
+
// Age 45 - 49
|
|
170
|
+
[
|
|
171
|
+
[6, 6, 7, 7, 7],
|
|
172
|
+
[4, 5, 5, 5, 5],
|
|
173
|
+
[3, 3, 3, 4, 4],
|
|
174
|
+
[2, 2, 2, 3, 3],
|
|
175
|
+
[2, 2, 2, 2, 2],
|
|
176
|
+
],
|
|
177
|
+
// Age 40 - 44
|
|
178
|
+
[
|
|
179
|
+
[5, 5, 5, 5, 6],
|
|
180
|
+
[3, 3, 4, 4, 4],
|
|
181
|
+
[2, 2, 3, 3, 3],
|
|
182
|
+
[2, 2, 2, 2, 2],
|
|
183
|
+
[1, 1, 1, 1, 1],
|
|
184
|
+
],
|
|
185
|
+
],
|
|
186
|
+
// Smoker
|
|
187
|
+
[
|
|
188
|
+
// Age 70 - 74
|
|
189
|
+
[
|
|
190
|
+
[30, 31, 32, 33, 34],
|
|
191
|
+
[25, 26, 27, 28, 29],
|
|
192
|
+
[21, 22, 22, 23, 24],
|
|
193
|
+
[17, 18, 19, 19, 20],
|
|
194
|
+
[14, 15, 15, 16, 17],
|
|
195
|
+
],
|
|
196
|
+
// Age 65 - 69
|
|
197
|
+
[
|
|
198
|
+
[25, 26, 27, 29, 30],
|
|
199
|
+
[21, 22, 22, 23, 24],
|
|
200
|
+
[17, 18, 18, 19, 20],
|
|
201
|
+
[14, 14, 15, 15, 16],
|
|
202
|
+
[11, 11, 12, 12, 13],
|
|
203
|
+
],
|
|
204
|
+
// Age 60 - 64
|
|
205
|
+
[
|
|
206
|
+
[21, 22, 23, 25, 26],
|
|
207
|
+
[17, 18, 19, 20, 21],
|
|
208
|
+
[13, 14, 15, 16, 16],
|
|
209
|
+
[11, 11, 12, 12, 13],
|
|
210
|
+
[8, 9, 9, 10, 10],
|
|
211
|
+
],
|
|
212
|
+
// Age 55 - 59
|
|
213
|
+
[
|
|
214
|
+
[18, 19, 20, 21, 22],
|
|
215
|
+
[14, 15, 15, 16, 17],
|
|
216
|
+
[11, 11, 12, 13, 13],
|
|
217
|
+
[8, 9, 9, 10, 10],
|
|
218
|
+
[6, 7, 7, 7, 8],
|
|
219
|
+
],
|
|
220
|
+
// Age 50 - 54
|
|
221
|
+
[
|
|
222
|
+
[15, 16, 17, 18, 19],
|
|
223
|
+
[11, 12, 13, 14, 14],
|
|
224
|
+
[9, 9, 10, 10, 11],
|
|
225
|
+
[6, 7, 7, 8, 8],
|
|
226
|
+
[5, 5, 5, 6, 6],
|
|
227
|
+
],
|
|
228
|
+
// Age 45 - 49
|
|
229
|
+
[
|
|
230
|
+
[13, 14, 14, 15, 16],
|
|
231
|
+
[9, 10, 11, 11, 12],
|
|
232
|
+
[7, 7, 8, 8, 9],
|
|
233
|
+
[5, 5, 6, 6, 6],
|
|
234
|
+
[4, 4, 4, 4, 5],
|
|
235
|
+
],
|
|
236
|
+
// Age 40 - 44
|
|
237
|
+
[
|
|
238
|
+
[11, 11, 12, 13, 14],
|
|
239
|
+
[8, 8, 9, 9, 10],
|
|
240
|
+
[5, 6, 6, 7, 7],
|
|
241
|
+
[4, 4, 4, 5, 5],
|
|
242
|
+
[3, 3, 3, 3, 4],
|
|
243
|
+
],
|
|
244
|
+
],
|
|
245
|
+
],
|
|
246
|
+
];
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlzay1kYXRhc2V0LXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9oZWxwZXJzL3Jpc2stZGF0YXNldC10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwREFBMEQ7QUFFMUQsMklBQTJJO0FBRTNJLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHO0lBQ3hDLE1BQU07SUFDTjtRQUNFLGFBQWE7UUFDYjtZQUNFLGNBQWM7WUFDZDtnQkFDRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFlBQVk7YUFDbkM7WUFDRCxjQUFjO1lBQ2Q7Z0JBQ0UsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLENBQUMsRUFBRSxDQUFDLEVB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LEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUTthQUMvQjtZQUNELGNBQWM7WUFDZDtnQkFDRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVE7YUFDL0I7WUFDRCxjQUFjO1lBQ2Q7Z0JBQ0UsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixD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QyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNoQjtZQUNELGNBQWM7WUFDZDtnQkFDRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNmLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDZixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2hCO1lBQ0QsY0FBYztZQUNkO2dCQUNFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDZixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNmLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDZixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDaEI7WUFDRCxjQUFjO1lBQ2Q7Z0JBQ0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNmLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDZixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNmLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNoQjtTQUNGO1FBRUQsU0FBUztRQUNUO1lBQ0UsY0FBYztZQUNkO2dCQUNFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2FBQ3JCO1lBQ0QsY0FBYztZQUNkO2dCQUNFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2FBQ3JCO1lBQ0QsY0FBYztZQUNkO2dCQUNFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2FBQ2xCO1lBQ0QsY0FBYztZQUNkO2dCQUNFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDakIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2hCO1lBQ0QsY0FBYztZQUNkO2dCQUNFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ2xCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDZixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDaEI7WUFDRCxjQUFjO1lBQ2Q7Z0JBQ0UsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDZixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2hCO1lBQ0QsY0FBYztZQUNkO2dCQUNFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNmLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNoQjtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU291dGggRWFzdCBBc2lhIE5vbiBMYWJvcmF0b3J5IENWRCBSaXNrIEFycmF5IG9mIEFycmF5c1xuXG4vLyBWZXJ0aWNhbGx5IHdlIGhhdmUgdGhlIEJNSSB2YWx1ZSBlZyBmb3IgdGhlIGZpcnN0IGFycmF5IFsyNihibWkgPCAyMCksIDI4KGJtaSAyMCAtIDI0KSwgMzAoYm1pIDI1IC0gMjkpLCAzMihibWkgMzAgLSAzNSksIDM0KGJtaSA+PSAzNSldXG5cbmV4cG9ydCBjb25zdCBzb3V0aEVhc3RBc2lhQ3ZkUmlza1RhYmxlcyA9IFtcbiAgLy8gTWVuXG4gIFtcbiAgICAvLyBOb24gc21va2VyXG4gICAgW1xuICAgICAgLy8gQWdlIDcwIC0gNzRcbiAgICAgIFtcbiAgICAgICAgWzI2LCAyOCwgMzAsIDMyLCAzNF0sIC8vIFNCUCDiiaUxODBcbiAgICAgICAgWzIxLCAyMywgMjUsIDI2LCAyOF0sIC8vIFNCUCAxNjAtMTc5XG4gICAgICAgIFsxNywgMTksIDIwLCAyMSwgMjNdLCAvLyBTQlAgMTQwLTE1OVxuICAgICAgICBbMTQsIDE1LCAxNiwgMTcsIDE4XSwgLy8gU0JQIDEyMC0xMzlcbiAgICAgICAgWzExLCAxMiwgMTMsIDE0LCAxNV0sIC8vIHNicCA8IDEyMFxuICAgICAgXSxcbiAgICAgIC8vIEFnZSA2NSAtIDY5XG4gICAgICBbXG4gICAgICAgIFsyMCwgMjIsIDI0LCAyNiwgMjhdLCAvLyBzYnAg4omlMTgwXG4gICAgICAgIFsxNiwgMTcsIDE5LCAyMSwgMjJdLCAvLyBzYnAgMTYwLTE3OVxuICAgICAgICBbMTIsIDE0LCAxNSwgMTYsIDE4XSwgLy8gc2JwIDE0MC0xNTlcbiAgICAgICAgWzEwLCAxMSwgMTIsIDEzLCAxNF0sIC8vIHNicCAxMjAtMTM5XG4gICAgICAgIFs4LCA4LCA5LCAxMCwgMTFdLCAvLyA8IDEyMFxuICAgICAgXSxcbiAgICAgIC8vIEFnZSA2MCAtIDY0XG4gICAgICBbXG4gICAgICAgIFsxNSwgMTcsIDE5LCAyMSwgMjNdLCAvLyBzYnAg4omlMTgwXG4gICAgICAgIFsxMiwgMTMsIDE0LCAxNiwgMThdLCAvLyBzYnAgMTYwLTE3OVxuICAgICAgICBbOSwgMTAsIDExLCAxMiwgMTRdLCAvLyBzYnAgMTQwLTE1OVxuICAgICAgICBbNywgOCwgOCwgOSwgMTBdLCAvLyBzYnAgMTIwLTEzOVxuICAgICAgICBbNSwgNiwgNiwgNywgOF0sIC8vIHNicCA8IDEyMFxuICAgICAgXSxcbiAgICAgIC8vIEFnZSA1NSAtIDU5XG4gICAgICBbXG4gICAgICAgIFsxMiwgMTMsIDE1LCAxNiwgMThdLCAvLyBzYnAg4omlMTgwXG4gICAgICAgIFs5LCAxMCwgMTEsIDEyLCAxNF0sIC8vIHNicCAxNjAtMTc5XG4gICAgICAgIFs3LCA3LCA4LCA5LCAxMF0sIC8vIHNicCAxNDAtMTU5XG4gICAgICAgIFs1LCA1LCA2LCA3LCA4XSwgLy8gc2JwIDEyMC0xMzlcbiAgICAgICAgWzQsIDQsIDQsIDUsIDZdLCAvLyBzYnAgPCAxMjBcbiAgICAgIF0sXG4gICAgICAvLyBBZ2UgNTAgLSA1NFxuICAgICAgW1xuICAgICAgICBbOSwgMTAsIDExLCAxMywgMTVdLCAvLyBzYnAg4omlMTgwXG4gICAgICAgIFs3LCA3LCA4LCA5LCAxMV0sIC8vIHNicCAxNjAtMTc5XG4gICAgICAgIFs1LCA1LCA2LCA3LCA4XSwgLy8gc2JwIDE0MC0xNTlcbiAgICAgICAgWzMsIDQsIDQsIDUsIDZdLCAvLyBzYnAgMTIwLTEzOVxuICAgICAgICBbMiwgMywgMywgNCwgNF0sIC8vIHNicCA8IDEyMFxuICAgICAgXSxcbiAgICAgIC8vIEFnZSA0NSAtIDQ5XG4gICAgICBbXG4gICAgICAgIFs3LCA4LCA5LCAxMCwgMTJdLCAvLyDiiaUxODBcbiAgICAgICAgWzUsIDYsIDYsIDcsIDhdLCAvLyAxNjAtMTc5XG4gICAgICAgIFszLCA0LCA0LCA1LCA2XSwgLy8gMTQwLTE1OVxuICAgICAgICBbMiwgMywgMywgNCwgNF0sIC8vIDEyMC0xMzlcbiAgICAgICAgWzIsIDIsIDIsIDIsIDNdLCAvLyA8IDEyMFxuICAgICAgXSxcbiAgICAgIC8vIEFnZSA0MCAtIDQ0XG4gICAgICBbXG4gICAgICAgIFs1LCA2LCA3LCA4LCAxMF0sIC8vIOKJpTE4MFxuICAgICAgICBbNCwgNCwgNSwgNiwgN10sIC8vIDE2MC0xNzlcbiAgICAgICAgWzIsIDMsIDMsIDQsIDRdLCAvLyAxNDAtMTU5XG4gICAgICAgIFsyLCAyLCAyLCAzLCAzXSwgLy8gMTIwLTEzOVxuICAgICAgICBbMSwgMSwgMiwgMiwgMl0sXG4gICAgICBdLFxuICAgIF0sXG5cbiAgICAvLyBTbW9rZXJcbiAgICBbXG4gICAgICAvLyBBZ2UgNzAgLSA3NFxuICAgICAgW1xuICAgICAgICBbMzQsIDM2LCAzOSwgNDEsIDQ0XSwgLy8g4omlMTgwXG4gICAgICAgIFsyOCwgMzAsIDMyLCAzNCwgMzZdLCAvLyAxNjAtMTc5XG4gICAgICAgIFsyMywgMjQsIDI2LCAyOCwgMzBdLCAvLyAxNDAtMTU5XG4gICAgICAgIFsxOCwgMjAsIDIxLCAyMywgMjRdLCAvLyAxMjAtMTM5XG4gICAgICAgIFsxNSwgMTYsIDE3LCAxOCwgMjBdLCAvLyA8IDEyMFxuICAgICAgXSxcbiAgICAgIC8vIEFnZSA2NSAtIDY5XG4gICAgICBbXG4gICAgICAgIFsyOCwgMzAsIDMzLCAzNiwgMzldLCAvLyDiiaUxODBcbiAgICAgICAgWzIyLCAyNCwgMjYsIDI5LCAzMV0sIC8vIDE2MC0xNzlcbiAgICAgICAgWzE4LCAxOSwgMjEsIDIzLCAyNV0sIC8vIDE0MC0xNTlcbiAgICAgICAgWzE0LCAxNSwgMTYsIDE4LCAyMF0sIC8vIDEyMC0xMzlcbiAgICAgICAgWzExLCAxMiwgMTMsIDE0LCAxNl0sIC8vIDwgMTIwXG4gICAgICBdLFxuICAgICAgLy8gQWdlIDYwIC0gNjRcbiAgICAgIFtcbiAgICAgICAgWzIzLCAyNSwgMjgsIDMxLCAzNF0sIC8vIOKJpTE4MFxuICAgICAgICBbMTgsIDE4LCAyMCwgMjIsIDI0XSwgLy8gMTYwLTE3OVxuICAgICAgICBbMTQsIDE1LCAxNywgMTksIDIxXSwgLy8gMTQwLTE1OVxuICAgICAgICBbMTAsIDEyLCAxMywgMTQsIDE2XSwgLy8gMTIwLTEzOVxuICAgICAgICBbOCwgOSwgMTAsIDExLCAxMl0sIC8vIDwgMTIwXG4gICAgICBdLFxuICAgICAgLy8gQWdlIDU1IC0gNTlcbiAgICAgIFtcbiAgICAgICAgWzE5LCAyMSwgMjQsIDI3LCAzMF0sIC8vIOKJpTE4MFxuICAgICAgICBbMTQsIDE2LCAxOCwgMjAsIDIzXSwgLy8gMTYwLTE3OVxuICAgICAgICBbMTEsIDEyLCAxMywgMTUsIDE3XSwgLy8gMTQwLTE1OVxuICAgICAgICBbOCwgOSwgMTAsIDExLCAxM10sIC8vIDEyMC0xMzlcbiAgICAgICAgWzYsIDcsIDcsIDgsIDEwXSxcbiAgICAgIF0sXG4gICAgICAvLyBBZ2UgNTAgLSA1NFxuICAgICAgW1xuICAgICAgICBbMTUsIDE4LCAyMCwgMjMsIDI3XSwgLy8g4omlMTgwXG4gICAgICAgIFsxMSwgMTMsIDE1LCAxNywgMjBdLCAvLyAxNjAtMTc5XG4gICAgICAgIFs4LCA5LCAxMSwgMTIsIDE0XSwgLy8gMTQwLTE1OVxuICAgICAgICBbNiwgNywgOCwgOSwgMTFdLCAvLyAxMjAtMTM5XG4gICAgICAgIFs0LCA1LCA2LCA3LCA4XSxcbiAgICAgIF0sXG4gICAgICAvLyBBZ2UgNDUgLSA0OVxuICAgICAgW1xuICAgICAgICBbMTMsIDE1LCAxNywgMjAsIDIzXSwgLy8g4omlMTgwXG4gICAgICAgIFs5LCAxMCwgMTIsIDE0LCAxN10sIC8vIDE2MC0xNzlcbiAgICAgICAgWzYsIDcsIDksIDEwLCAxMl0sIC8vIDE0MC0xNTlcbiAgICAgICAgWzQsIDUsIDYsIDcsIDhdLCAvLyAxMjAtMTM5XG4gICAgICAgIFszLCA0LCA0LCA1LCA2XSxcbiAgICAgIF0sXG4gICAgICAvLyBBZ2UgNDAgLSA0NFxuICAgICAgW1xuICAgICAgICBbMTAsIDEyLCAxNCwgMTcsIDIwXSwgLy8g4omlMTgwXG4gICAgICAgIFs3LCA4LCAxMCwgMTIsIDE0XSwgLy8gMTYwLTE3OVxuICAgICAgICBbNSwgNiwgNywgOCwgMTBdLCAvLyAxNDAtMTU5XG4gICAgICAgIFszLCA0LCA1LCA2LCA3XSwgLy8gMTIwLTEzOVxuICAgICAgICBbMiwgMywgMywgNCwgNV0sXG4gICAgICBdLFxuICAgIF0sXG4gIF0sXG5cbiAgLy8gV29tZW5cbiAgW1xuICAgIC8vIE5vbiBzbW9rZXJcbiAgICBbXG4gICAgICAvLyBBZ2UgNzAgLTc0XG4gICAgICBbXG4gICAgICAgIFsyMSwgMjIsIDIyLCAyMywgMjRdLCAvLyDiiaUxODBcbiAgICAgICAgWzE3LCAxOCwgMTksIDE5LCAyMF0sIC8vIDE2MC0xNzlcbiAgICAgICAgWzE1LCAxNSwgMTYsIDE2LCAxN10sIC8vIDE0MC0xNTlcbiAgICAgICAgWzEyLCAxMiwgMTMsIDEzLCAxNF0sIC8vIDEyMC0xMzlcbiAgICAgICAgWzEwLCAxMCwgMTEsIDExLCAxMV0sIC8vIDwgMTIwXG4gICAgICBdLFxuICAgICAgLy8gQWdlIDY1IC0gNjlcbiAgICAgIFtcbiAgICAgICAgWzE2LCAxNywgMTgsIDE4LCAxOV0sIC8vIOKJpTE4MFxuICAgICAgICBbMTMsIDE0LCAxNCwgMTUsIDE1XSwgLy8gMTYwLTE3OVxuICAgICAgICBbMTEsIDExLCAxMSwgMTIsIDEyXSwgLy8gMTQwLTE1OVxuICAgICAgICBbOSwgOSwgOSwgMTAsIDEwXSwgLy8gMTIwLTEzOVxuICAgICAgICBbNywgNywgNywgOCwgOF0sXG4gICAgICBdLFxuICAgICAgLy8gQWdlIDYwIC0gNjRcbiAgICAgIFtcbiAgICAgICAgWzEzLCAxMywgMTQsIDE0LCAxNV0sIC8vIOKJpTE4MFxuICAgICAgICBbMTAsIDEwLCAxMSwgMTEsIDEyXSwgLy8gMTYwLTE3OVxuICAgICAgICBbOCwgOCwgOCwgOSwgOV0sIC8vIDE0MC0xNTlcbiAgICAgICAgWzYsIDYsIDcsIDcsIDddLCAvLyAxMjAtMTM5XG4gICAgICAgIFs1LCA1LCA1LCA1LCA2XSxcbiAgICAgIF0sXG4gICAgICAvLyBBZ2UgNTUgLSA1OVxuICAgICAgW1xuICAgICAgICBbMTAsIDEwLCAxMSwgMTEsIDEyXSwgLy8g4omlMTgwXG4gICAgICAgIFs4LCA4LCA4LCA5LCA5XSwgLy8gMTYwLTE3OVxuICAgICAgICBbNiwgNiwgNiwgNywgN10sIC8vIDE0MC0xNTlcbiAgICAgICAgWzQsIDUsIDUsIDUsIDVdLCAvLyAxMjAtMTM5XG4gICAgICAgIFszLCAzLCA0LCA0LCA0XSxcbiAgICAgIF0sXG4gICAgICAvLyBBZ2UgNTAgLSA1NFxuICAgICAgW1xuICAgICAgICBbOCwgOCwgOCwgOSwgOV0sIC8vIOKJpTE4MFxuICAgICAgICBbNiwgNiwgNiwgNywgN10sIC8vIDE2MC0xNzlcbiAgICAgICAgWzQsIDQsIDUsIDUsIDVdLCAvLyAxNDAtMTU5XG4gICAgICAgIFszLCAzLCAzLCA0LCA0XSwgLy8gMTIwLTEzOVxuICAgICAgICBbMiwgMiwgMywgMywgM10sXG4gICAgICBdLFxuICAgICAgLy8gQWdlIDQ1IC0gNDlcbiAgICAgIFtcbiAgICAgICAgWzYsIDYsIDcsIDcsIDddLCAvLyDiiaUxODBcbiAgICAgICAgWzQsIDUsIDUsIDUsIDVdLCAvLyAxNjAtMTc5XG4gICAgICAgIFszLCAzLCAzLCA0LCA0XSwgLy8gMTQwLTE1OVxuICAgICAgICBbMiwgMiwgMiwgMywgM10sIC8vIDEyMC0xMzlcbiAgICAgICAgWzIsIDIsIDIsIDIsIDJdLFxuICAgICAgXSxcbiAgICAgIC8vIEFnZSA0MCAtIDQ0XG4gICAgICBbXG4gICAgICAgIFs1LCA1LCA1LCA1LCA2XSwgLy8g4omlMTgwXG4gICAgICAgIFszLCAzLCA0LCA0LCA0XSwgLy8gMTYwLTE3OVxuICAgICAgICBbMiwgMiwgMywgMywgM10sIC8vIDE0MC0xNTlcbiAgICAgICAgWzIsIDIsIDIsIDIsIDJdLCAvLyAxMjAtMTM5XG4gICAgICAgIFsxLCAxLCAxLCAxLCAxXSxcbiAgICAgIF0sXG4gICAgXSxcblxuICAgIC8vIFNtb2tlclxuICAgIFtcbiAgICAgIC8vIEFnZSA3MCAtIDc0XG4gICAgICBbXG4gICAgICAgIFszMCwgMzEsIDMyLCAzMywgMzRdLCAvLyDiiaUxODBcbiAgICAgICAgWzI1LCAyNiwgMjcsIDI4LCAyOV0sIC8vIDE2MC0xNzlcbiAgICAgICAgWzIxLCAyMiwgMjIsIDIzLCAyNF0sIC8vIDE0MC0xNTlcbiAgICAgICAgWzE3LCAxOCwgMTksIDE5LCAyMF0sIC8vIDEyMC0xMzlcbiAgICAgICAgWzE0LCAxNSwgMTUsIDE2LCAxN10sXG4gICAgICBdLFxuICAgICAgLy8gQWdlIDY1IC0gNjlcbiAgICAgIFtcbiAgICAgICAgWzI1LCAyNiwgMjcsIDI5LCAzMF0sIC8vIOKJpTE4MFxuICAgICAgICBbMjEsIDIyLCAyMiwgMjMsIDI0XSwgLy8gMTYwLTE3OVxuICAgICAgICBbMTcsIDE4LCAxOCwgMTksIDIwXSwgLy8gMTQwLTE1OVxuICAgICAgICBbMTQsIDE0LCAxNSwgMTUsIDE2XSwgLy8gMTIwLTEzOVxuICAgICAgICBbMTEsIDExLCAxMiwgMTIsIDEzXSxcbiAgICAgIF0sXG4gICAgICAvLyBBZ2UgNjAgLSA2NFxuICAgICAgW1xuICAgICAgICBbMjEsIDIyLCAyMywgMjUsIDI2XSwgLy8g4omlMTgwXG4gICAgICAgIFsxNywgMTgsIDE5LCAyMCwgMjFdLCAvLyAxNjAtMTc5XG4gICAgICAgIFsxMywgMTQsIDE1LCAxNiwgMTZdLCAvLyAxNDAtMTU5XG4gICAgICAgIFsxMSwgMTEsIDEyLCAxMiwgMTNdLCAvLyAxMjAtMTM5XG4gICAgICAgIFs4LCA5LCA5LCAxMCwgMTBdLFxuICAgICAgXSxcbiAgICAgIC8vIEFnZSA1NSAtIDU5XG4gICAgICBbXG4gICAgICAgIFsxOCwgMTksIDIwLCAyMSwgMjJdLCAvLyDiiaUxODBcbiAgICAgICAgWzE0LCAxNSwgMTUsIDE2LCAxN10sIC8vIDE2MC0xNzlcbiAgICAgICAgWzExLCAxMSwgMTIsIDEzLCAxM10sIC8vIDE0MC0xNTlcbiAgICAgICAgWzgsIDksIDksIDEwLCAxMF0sIC8vIDEyMC0xMzlcbiAgICAgICAgWzYsIDcsIDcsIDcsIDhdLFxuICAgICAgXSxcbiAgICAgIC8vIEFnZSA1MCAtIDU0XG4gICAgICBbXG4gICAgICAgIFsxNSwgMTYsIDE3LCAxOCwgMTldLCAvLyDiiaUxODBcbiAgICAgICAgWzExLCAxMiwgMTMsIDE0LCAxNF0sIC8vIDE2MC0xNzlcbiAgICAgICAgWzksIDksIDEwLCAxMCwgMTFdLCAvLyAxNDAtMTU5XG4gICAgICAgIFs2LCA3LCA3LCA4LCA4XSwgLy8gMTIwLTEzOVxuICAgICAgICBbNSwgNSwgNSwgNiwgNl0sXG4gICAgICBdLFxuICAgICAgLy8gQWdlIDQ1IC0gNDlcbiAgICAgIFtcbiAgICAgICAgWzEzLCAxNCwgMTQsIDE1LCAxNl0sIC8vIOKJpTE4MFxuICAgICAgICBbOSwgMTAsIDExLCAxMSwgMTJdLCAvLyAxNjAtMTc5XG4gICAgICAgIFs3LCA3LCA4LCA4LCA5XSwgLy8gMTQwLTE1OVxuICAgICAgICBbNSwgNSwgNiwgNiwgNl0sIC8vIDEyMC0xMzlcbiAgICAgICAgWzQsIDQsIDQsIDQsIDVdLFxuICAgICAgXSxcbiAgICAgIC8vIEFnZSA0MCAtIDQ0XG4gICAgICBbXG4gICAgICAgIFsxMSwgMTEsIDEyLCAxMywgMTRdLCAvLyDiiaUxODBcbiAgICAgICAgWzgsIDgsIDksIDksIDEwXSwgLy8gMTYwLTE3OVxuICAgICAgICBbNSwgNiwgNiwgNywgN10sIC8vIDE0MC0xNTlcbiAgICAgICAgWzQsIDQsIDQsIDUsIDVdLCAvLyAxMjAtMTM5XG4gICAgICAgIFszLCAzLCAzLCAzLCA0XSxcbiAgICAgIF0sXG4gICAgXSxcbiAgXSxcbl07XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1xdWVzdGlvbi1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9kYXRlLXF1ZXN0aW9uLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9iYXNlLW9wdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGVRdWVzdGlvbk9wdGlvbnMgZXh0ZW5kcyBCYXNlT3B0aW9ucyB7fVxuIl19
|
|
@@ -140,7 +140,6 @@ export class EncounterAdapter {
|
|
|
140
140
|
}
|
|
141
141
|
if (rootNode instanceof GroupNode) {
|
|
142
142
|
const node = rootNode;
|
|
143
|
-
// eslint-disable-next-line guard-for-in
|
|
144
143
|
for (const o in node.children) {
|
|
145
144
|
if (node.children[o] instanceof NodeBase) {
|
|
146
145
|
this._getEncounterNodes(node.children[o], array);
|
|
@@ -169,4 +168,4 @@ EncounterAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ver
|
|
|
169
168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EncounterAdapter, decorators: [{
|
|
170
169
|
type: Injectable
|
|
171
170
|
}], ctorParameters: function () { return [{ type: i1.OrderValueAdapter }, { type: i2.ObsValueAdapter }]; } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb3VudGVyLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L3ZhbHVlLWFkYXB0ZXJzL2VuY291bnRlci5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7QUFHNUIsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNTLGFBQWdDLEVBQ2hDLFVBQTJCO1FBRDNCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFpQjtJQUNqQyxDQUFDO0lBRUosWUFBWSxDQUFDLElBQVUsRUFBRSxPQUFPO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsUUFBa0IsRUFBRSxPQUFPO1FBQ3RDLElBQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO1lBQzdDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNyQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUvQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckIsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2pDLEtBQUssbUJBQW1CO29CQUN0QixJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO3dCQUVoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQzlDLENBQUM7d0JBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztxQkFDbkU7b0JBQ0QsTUFBTTtnQkFDUixLQUFLLG1CQUFtQjtvQkFDdEIsSUFDRSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO3dCQUM1QyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUN4Qzt3QkFDQSxNQUFNLGFBQWEsR0FDakIsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO3dCQUM1QyxJQUFJLGFBQWEsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFOzRCQUN2Qyw2REFBNkQ7NEJBQzdELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQ0FDZCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQzVDLENBQUMsQ0FBQyxDQUFDOzRCQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQzt5QkFDeEM7cUJBQ0Y7b0JBQ0QsTUFBTTtnQkFDUixLQUFLLG1CQUFtQjtvQkFDdEIsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksRUFBRTt3QkFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUM7cUJBQzlDO29CQUNELE1BQU07Z0JBQ1I7b0JBQ0UsTUFBTTthQUNUO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBVTtRQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFL0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWpFLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV2RSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsUUFBa0I7UUFDcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUVuQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckIsSUFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJO2dCQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQ3pCO2dCQUNBLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO29CQUNqQyxLQUFLLG1CQUFtQjt3QkFDdEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUNwRCxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsSUFBSSxPQUFPLENBQ3ZELENBQUM7d0JBQ0YsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUNsRCxNQUFNO29CQUNSLEtBQUssbUJBQW1CO3dCQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRTs0QkFDbkQsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDOzRCQUNyQixTQUFTLENBQUMsSUFBSSxDQUFDO2dDQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7Z0NBQzVCLGFBQWEsRUFBRSxzQ0FBc0MsQ0FBQyxvREFBb0Q7NkJBQzNHLENBQUMsQ0FBQzs0QkFDSCxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxTQUFTLENBQUM7eUJBQzNDO3dCQUNELE1BQU07b0JBQ1IsS0FBSyxtQkFBbUI7d0JBQ3RCLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQzt3QkFDekMsTUFBTTtvQkFDUjt3QkFDRSxNQUFNO2lCQUNUO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUFrQjtRQUNsQyxNQUFNLE9BQU8sR0FBb0IsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0MsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELDBCQUEwQixDQUFDLElBQVUsRUFBRSxPQUFPO1FBQzVDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRTtZQUN4QyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMzRTtRQUVELElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN2RTtRQUVELElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFO1lBQzlDLElBQUksQ0FBQywyQkFBMkIsQ0FDOUIsT0FBTyxFQUNQLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FDM0MsQ0FBQztTQUNIO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFO1lBQzFDLElBQUksQ0FBQyx1QkFBdUIsQ0FDMUIsT0FBTyxFQUNQLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQ3ZDLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsV0FBbUI7UUFDaEQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFNBQWlCO1FBQzVDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELDJCQUEyQixDQUFDLE9BQU8sRUFBRSxpQkFBeUI7UUFDNUQsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO0lBQy9DLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsUUFBZ0I7UUFDMUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsdUJBQXVCLENBQUMsT0FBTyxFQUFFLGFBQXFCO1FBQ3BELE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxhQUFhLENBQUM7SUFDbEMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFFBQWtCLEVBQUUsS0FBc0I7UUFDbkUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN0QjtRQUVELElBQUksUUFBUSxZQUFZLFNBQVMsRUFBRTtZQUNqQyxNQUFNLElBQUksR0FBRyxRQUFxQixDQUFDO1lBQ25DLHdDQUF3QztZQUN4QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQzdCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxRQUFRLEVBQUU7b0JBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUNsRDthQUNGO1NBQ0Y7UUFFRCxJQUFJLFFBQVEsWUFBWSxTQUFTLEVBQUU7WUFDakMsTUFBTSxJQUFJLEdBQUcsUUFBcUIsQ0FBQztZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBYztRQUNyQyxJQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUNwQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxtQkFBbUI7Z0JBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxtQkFBbUI7Z0JBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxFQUNwRDtZQUNBLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzhHQXpNVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOb2RlQmFzZSwgR3JvdXBOb2RlLCBBcnJheU5vZGUgfSBmcm9tICcuLi9mb3JtLWZhY3RvcnkvZm9ybS1ub2RlJztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICcuLi9mb3JtLWZhY3RvcnkvZm9ybSc7XG5cbmltcG9ydCB7IFZhbHVlQWRhcHRlciB9IGZyb20gJy4vdmFsdWUuYWRhcHRlcic7XG5pbXBvcnQgeyBPYnNWYWx1ZUFkYXB0ZXIgfSBmcm9tICcuL29icy5hZGFwdGVyJztcbmltcG9ydCB7IE9yZGVyVmFsdWVBZGFwdGVyIH0gZnJvbSAnLi9vcmRlci5hZGFwdGVyJztcblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW5jb3VudGVyQWRhcHRlciBpbXBsZW1lbnRzIFZhbHVlQWRhcHRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvcmRlcnNBZGFwdGVyOiBPcmRlclZhbHVlQWRhcHRlcixcbiAgICBwdWJsaWMgb2JzQWRhcHRlcjogT2JzVmFsdWVBZGFwdGVyXG4gICkge31cblxuICBwb3B1bGF0ZUZvcm0oZm9ybTogRm9ybSwgcGF5bG9hZCkge1xuICAgIHRoaXMucG9wdWxhdGVOb2RlKGZvcm0ucm9vdE5vZGUsIHBheWxvYWQpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkocGF5bG9hZC5vcmRlcnMpKSB7XG4gICAgICB0aGlzLm9yZGVyc0FkYXB0ZXIucG9wdWxhdGVGb3JtKGZvcm0sIHBheWxvYWQpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXlsb2FkLm9icykpIHtcbiAgICAgIHRoaXMub2JzQWRhcHRlci5wb3B1bGF0ZUZvcm0oZm9ybSwgcGF5bG9hZC5vYnMpO1xuICAgIH1cbiAgfVxuXG4gIHBvcHVsYXRlTm9kZShyb290Tm9kZTogTm9kZUJhc2UsIHBheWxvYWQpIHtcbiAgICBpZiAocGF5bG9hZCA9PT0gdW5kZWZpbmVkIHx8IHBheWxvYWQgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgcGF5bG9hZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5nZXRFbmNvdW50ZXJOb2Rlcyhyb290Tm9kZSk7XG5cbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBzd2l0Y2ggKG5vZGUucXVlc3Rpb24uZXh0cmFzLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnZW5jb3VudGVyRGF0ZXRpbWUnOlxuICAgICAgICAgIGlmIChwYXlsb2FkWydlbmNvdW50ZXJEYXRldGltZSddKSB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIG5vZGUuY29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgICAgbW9tZW50KHBheWxvYWRbJ2VuY291bnRlckRhdGV0aW1lJ10pLnRvRGF0ZSgpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbm9kZS5pbml0aWFsVmFsdWUgPSBtb21lbnQocGF5bG9hZFsnZW5jb3VudGVyRGF0ZXRpbWUnXSkudG9EYXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdlbmNvdW50ZXJQcm92aWRlcic6XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheShwYXlsb2FkWydlbmNvdW50ZXJQcm92aWRlcnMnXSkgJiZcbiAgICAgICAgICAgIHBheWxvYWRbJ2VuY291bnRlclByb3ZpZGVycyddLmxlbmd0aCA+IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0UHJvdmlkZXI6IGFueSA9XG4gICAgICAgICAgICAgIHBheWxvYWRbJ2VuY291bnRlclByb3ZpZGVycyddWzBdLnByb3ZpZGVyO1xuICAgICAgICAgICAgaWYgKGZpcnN0UHJvdmlkZXIgJiYgZmlyc3RQcm92aWRlci51dWlkKSB7XG4gICAgICAgICAgICAgIC8vIFZlcnkgd2VpcmQgd29yayBhcm91bmQgZm9yIGFuIGlzc3VlIHdpdGggc2V0dGluZyB0aGUgdmFsdWVcbiAgICAgICAgICAgICAgbm9kZS5jb250cm9sLnNldFZhbHVlKGZpcnN0UHJvdmlkZXIudXVpZCk7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5vZGUuY29udHJvbC5zZXRWYWx1ZShmaXJzdFByb3ZpZGVyLnV1aWQpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgbm9kZS5pbml0aWFsVmFsdWUgPSBmaXJzdFByb3ZpZGVyLnV1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdlbmNvdW50ZXJMb2NhdGlvbic6XG4gICAgICAgICAgaWYgKHBheWxvYWRbJ2xvY2F0aW9uJ10gJiYgcGF5bG9hZFsnbG9jYXRpb24nXS51dWlkKSB7XG4gICAgICAgICAgICBub2RlLmNvbnRyb2wuc2V0VmFsdWUocGF5bG9hZFsnbG9jYXRpb24nXS51dWlkKTtcbiAgICAgICAgICAgIG5vZGUuaW5pdGlhbFZhbHVlID0gcGF5bG9hZFsnbG9jYXRpb24nXS51dWlkO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlRm9ybVBheWxvYWQoZm9ybTogRm9ybSkge1xuICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLmdlbmVyYXRlTm9kZVBheWxvYWQoZm9ybS5yb290Tm9kZSk7XG4gICAgdGhpcy5zZXROb25GaWxsZWRQYXlsb2FkTWVtYmVycyhmb3JtLCBwYXlsb2FkKTtcblxuICAgIHBheWxvYWRbJ29icyddID0gdGhpcy5vYnNBZGFwdGVyLmdlbmVyYXRlRm9ybVBheWxvYWQoZm9ybSkgfHwgW107XG5cbiAgICBwYXlsb2FkWydvcmRlcnMnXSA9IHRoaXMub3JkZXJzQWRhcHRlci5nZW5lcmF0ZUZvcm1QYXlsb2FkKGZvcm0pIHx8IFtdO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH1cblxuICBnZW5lcmF0ZU5vZGVQYXlsb2FkKHJvb3ROb2RlOiBOb2RlQmFzZSkge1xuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5nZXRFbmNvdW50ZXJOb2Rlcyhyb290Tm9kZSk7XG4gICAgY29uc3QgcGF5bG9hZCA9IHt9O1xuXG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBub2RlLmNvbnRyb2wudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgbm9kZS5jb250cm9sLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgbm9kZS5jb250cm9sLnZhbHVlICE9PSAnJ1xuICAgICAgKSB7XG4gICAgICAgIHN3aXRjaCAobm9kZS5xdWVzdGlvbi5leHRyYXMudHlwZSkge1xuICAgICAgICAgIGNhc2UgJ2VuY291bnRlckRhdGV0aW1lJzpcbiAgICAgICAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IG1vbWVudChub2RlLmNvbnRyb2wudmFsdWUpLnV0Y09mZnNldChcbiAgICAgICAgICAgICAgcm9vdE5vZGUuZm9ybS52YWx1ZVByb2Nlc3NpbmdJbmZvLnV0Y09mZnNldCB8fCAnKzAzMDAnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcGF5bG9hZFsnZW5jb3VudGVyRGF0ZXRpbWUnXSA9IGRhdGVWYWx1ZS5mb3JtYXQoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2VuY291bnRlclByb3ZpZGVyJzpcbiAgICAgICAgICAgIGlmIChub2RlLmNvbnRyb2wudmFsdWUgJiYgbm9kZS5jb250cm9sLnZhbHVlICE9PSAnJykge1xuICAgICAgICAgICAgICBjb25zdCBwcm92aWRlcnMgPSBbXTtcbiAgICAgICAgICAgICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgICAgICAgICAgIHByb3ZpZGVyOiBub2RlLmNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgZW5jb3VudGVyUm9sZTogJ2EwYjAzMDUwLWM5OWItMTFlMC05NTcyLTA4MDAyMDBjOWE2NicgLy8gdW5rbm93biBwcm92aWRlciByb2xlIGluIHRoZSBlbmNvdW50ZXIgYXMgZGVmYXVsdFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgcGF5bG9hZFsnZW5jb3VudGVyUHJvdmlkZXJzJ10gPSBwcm92aWRlcnM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdlbmNvdW50ZXJMb2NhdGlvbic6XG4gICAgICAgICAgICBwYXlsb2FkWydsb2NhdGlvbiddID0gbm9kZS5jb250cm9sLnZhbHVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfVxuXG4gIGdldEVuY291bnRlck5vZGVzKHJvb3ROb2RlOiBOb2RlQmFzZSk6IEFycmF5PE5vZGVCYXNlPiB7XG4gICAgY29uc3QgcmVzdWx0czogQXJyYXk8Tm9kZUJhc2U+ID0gW107XG4gICAgdGhpcy5fZ2V0RW5jb3VudGVyTm9kZXMocm9vdE5vZGUsIHJlc3VsdHMpO1xuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG5cbiAgc2V0Tm9uRmlsbGVkUGF5bG9hZE1lbWJlcnMoZm9ybTogRm9ybSwgcGF5bG9hZCkge1xuICAgIGlmIChmb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm8ucGF0aWVudFV1aWQpIHtcbiAgICAgIHRoaXMuc2V0UGF5bG9hZFBhdGllbnRVdWlkKHBheWxvYWQsIGZvcm0udmFsdWVQcm9jZXNzaW5nSW5mby5wYXRpZW50VXVpZCk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm0udmFsdWVQcm9jZXNzaW5nSW5mby52aXNpdFV1aWQpIHtcbiAgICAgIHRoaXMuc2V0UGF5bG9hZFZpc2l0VXVpZChwYXlsb2FkLCBmb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm8udmlzaXRVdWlkKTtcbiAgICB9XG5cbiAgICBpZiAoZm9ybS52YWx1ZVByb2Nlc3NpbmdJbmZvLmVuY291bnRlclR5cGVVdWlkKSB7XG4gICAgICB0aGlzLnNldFBheWxvYWRFbmNvdW50ZXJUeXBlVXVpZChcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgZm9ybS52YWx1ZVByb2Nlc3NpbmdJbmZvLmVuY291bnRlclR5cGVVdWlkXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChmb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm8uZm9ybVV1aWQpIHtcbiAgICAgIHRoaXMuc2V0UGF5bG9hZEZvcm1VdWlkKHBheWxvYWQsIGZvcm0udmFsdWVQcm9jZXNzaW5nSW5mby5mb3JtVXVpZCk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm0udmFsdWVQcm9jZXNzaW5nSW5mby5lbmNvdW50ZXJVdWlkKSB7XG4gICAgICB0aGlzLnNldFBheWxvYWRFbmNvdW50ZXJVdWlkKFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBmb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm8uZW5jb3VudGVyVXVpZFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBzZXRQYXlsb2FkUGF0aWVudFV1aWQocGF5bG9hZCwgcGF0aWVudFV1aWQ6IHN0cmluZykge1xuICAgIHBheWxvYWRbJ3BhdGllbnQnXSA9IHBhdGllbnRVdWlkO1xuICB9XG5cbiAgc2V0UGF5bG9hZFZpc2l0VXVpZChwYXlsb2FkLCB2aXNpdFV1aWQ6IHN0cmluZykge1xuICAgIHBheWxvYWRbJ3Zpc2l0J10gPSB2aXNpdFV1aWQ7XG4gIH1cblxuICBzZXRQYXlsb2FkRW5jb3VudGVyVHlwZVV1aWQocGF5bG9hZCwgZW5jb3VudGVyVHlwZVV1aWQ6IHN0cmluZykge1xuICAgIHBheWxvYWRbJ2VuY291bnRlclR5cGUnXSA9IGVuY291bnRlclR5cGVVdWlkO1xuICB9XG5cbiAgc2V0UGF5bG9hZEZvcm1VdWlkKHBheWxvYWQsIGZvcm1VdWlkOiBzdHJpbmcpIHtcbiAgICBwYXlsb2FkWydmb3JtJ10gPSBmb3JtVXVpZDtcbiAgfVxuXG4gIHNldFBheWxvYWRFbmNvdW50ZXJVdWlkKHBheWxvYWQsIGVuY291bnRlclV1aWQ6IHN0cmluZykge1xuICAgIHBheWxvYWRbJ3V1aWQnXSA9IGVuY291bnRlclV1aWQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFbmNvdW50ZXJOb2Rlcyhyb290Tm9kZTogTm9kZUJhc2UsIGFycmF5OiBBcnJheTxOb2RlQmFzZT4pIHtcbiAgICBpZiAodGhpcy5faXNFbmNvdW50ZXJOb2RlKHJvb3ROb2RlKSkge1xuICAgICAgYXJyYXkucHVzaChyb290Tm9kZSk7XG4gICAgfVxuXG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgR3JvdXBOb2RlKSB7XG4gICAgICBjb25zdCBub2RlID0gcm9vdE5vZGUgYXMgR3JvdXBOb2RlO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pblxuICAgICAgZm9yIChjb25zdCBvIGluIG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW5bb10gaW5zdGFuY2VvZiBOb2RlQmFzZSkge1xuICAgICAgICAgIHRoaXMuX2dldEVuY291bnRlck5vZGVzKG5vZGUuY2hpbGRyZW5bb10sIGFycmF5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyb290Tm9kZSBpbnN0YW5jZW9mIEFycmF5Tm9kZSkge1xuICAgICAgY29uc3Qgbm9kZSA9IHJvb3ROb2RlIGFzIEFycmF5Tm9kZTtcbiAgICAgIG5vZGUuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgdGhpcy5fZ2V0RW5jb3VudGVyTm9kZXMoY2hpbGQsIGFycmF5KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzRW5jb3VudGVyTm9kZShub2RlOiBOb2RlQmFzZSk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIG5vZGUucXVlc3Rpb24uZXh0cmFzICYmXG4gICAgICAobm9kZS5xdWVzdGlvbi5leHRyYXMudHlwZSA9PT0gJ2VuY291bnRlckRhdGV0aW1lJyB8fFxuICAgICAgICBub2RlLnF1ZXN0aW9uLmV4dHJhcy50eXBlID09PSAnZW5jb3VudGVyUHJvdmlkZXInIHx8XG4gICAgICAgIG5vZGUucXVlc3Rpb24uZXh0cmFzLnR5cGUgPT09ICdlbmNvdW50ZXJMb2NhdGlvbicpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb3VudGVyLmFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L3ZhbHVlLWFkYXB0ZXJzL2VuY291bnRlci5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVwRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7QUFHNUIsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNTLGFBQWdDLEVBQ2hDLFVBQTJCO1FBRDNCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFpQjtJQUNqQyxDQUFDO0lBRUosWUFBWSxDQUFDLElBQVUsRUFBRSxPQUFPO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsUUFB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Q0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUFjO1FBQ3JDLElBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1lBQ3BCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLG1CQUFtQjtnQkFDaEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLG1CQUFtQjtnQkFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLEVBQ3BEO1lBQ0EsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7OEdBeE1VLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5vZGVCYXNlLCBHcm91cE5vZGUsIEFycmF5Tm9kZSB9IGZyb20gJy4uL2Zvcm0tZmFjdG9yeS9mb3JtLW5vZGUnO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJy4uL2Zvcm0tZmFjdG9yeS9mb3JtJztcblxuaW1wb3J0IHsgVmFsdWVBZGFwdGVyIH0gZnJvbSAnLi92YWx1ZS5hZGFwdGVyJztcbmltcG9ydCB7IE9ic1ZhbHVlQWRhcHRlciB9IGZyb20gJy4vb2JzLmFkYXB0ZXInO1xuaW1wb3J0IHsgT3JkZXJWYWx1ZUFkYXB0ZXIgfSBmcm9tICcuL29yZGVyLmFkYXB0ZXInO1xuXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFbmNvdW50ZXJBZGFwdGVyIGltcGxlbWVudHMgVmFsdWVBZGFwdGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG9yZGVyc0FkYXB0ZXI6IE9yZGVyVmFsdWVBZGFwdGVyLFxuICAgIHB1YmxpYyBvYnNBZGFwdGVyOiBPYnNWYWx1ZUFkYXB0ZXJcbiAgKSB7fVxuXG4gIHBvcHVsYXRlRm9ybShmb3JtOiBGb3JtLCBwYXlsb2FkKSB7XG4gICAgdGhpcy5wb3B1bGF0ZU5vZGUoZm9ybS5yb290Tm9kZSwgcGF5bG9hZCk7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXlsb2FkLm9yZGVycykpIHtcbiAgICAgIHRoaXMub3JkZXJzQWRhcHRlci5wb3B1bGF0ZUZvcm0oZm9ybSwgcGF5bG9hZCk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHBheWxvYWQub2JzKSkge1xuICAgICAgdGhpcy5vYnNBZGFwdGVyLnBvcHVsYXRlRm9ybShmb3JtLCBwYXlsb2FkLm9icyk7XG4gICAgfVxuICB9XG5cbiAgcG9wdWxhdGVOb2RlKHJvb3ROb2RlOiBOb2RlQmFzZSwgcGF5bG9hZCkge1xuICAgIGlmIChwYXlsb2FkID09PSB1bmRlZmluZWQgfHwgcGF5bG9hZCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBwYXlsb2FkJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLmdldEVuY291bnRlck5vZGVzKHJvb3ROb2RlKTtcblxuICAgIG5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgIHN3aXRjaCAobm9kZS5xdWVzdGlvbi5leHRyYXMudHlwZSkge1xuICAgICAgICBjYXNlICdlbmNvdW50ZXJEYXRldGltZSc6XG4gICAgICAgICAgaWYgKHBheWxvYWRbJ2VuY291bnRlckRhdGV0aW1lJ10pIHtcbiAgICAgICAgICAgIG5vZGUuY29udHJvbC5zZXRWYWx1ZShcbiAgICAgICAgICAgICAgbW9tZW50KHBheWxvYWRbJ2VuY291bnRlckRhdGV0aW1lJ10pLnRvRGF0ZSgpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbm9kZS5pbml0aWFsVmFsdWUgPSBtb21lbnQocGF5bG9hZFsnZW5jb3VudGVyRGF0ZXRpbWUnXSkudG9EYXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdlbmNvdW50ZXJQcm92aWRlcic6XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheShwYXlsb2FkWydlbmNvdW50ZXJQcm92aWRlcnMnXSkgJiZcbiAgICAgICAgICAgIHBheWxvYWRbJ2VuY291bnRlclByb3ZpZGVycyddLmxlbmd0aCA+IDBcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0UHJvdmlkZXI6IGFueSA9XG4gICAgICAgICAgICAgIHBheWxvYWRbJ2VuY291bnRlclByb3ZpZGVycyddWzBdLnByb3ZpZGVyO1xuICAgICAgICAgICAgaWYgKGZpcnN0UHJvdmlkZXIgJiYgZmlyc3RQcm92aWRlci51dWlkKSB7XG4gICAgICAgICAgICAgIC8vIFZlcnkgd2VpcmQgd29yayBhcm91bmQgZm9yIGFuIGlzc3VlIHdpdGggc2V0dGluZyB0aGUgdmFsdWVcbiAgICAgICAgICAgICAgbm9kZS5jb250cm9sLnNldFZhbHVlKGZpcnN0UHJvdmlkZXIudXVpZCk7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5vZGUuY29udHJvbC5zZXRWYWx1ZShmaXJzdFByb3ZpZGVyLnV1aWQpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgbm9kZS5pbml0aWFsVmFsdWUgPSBmaXJzdFByb3ZpZGVyLnV1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdlbmNvdW50ZXJMb2NhdGlvbic6XG4gICAgICAgICAgaWYgKHBheWxvYWRbJ2xvY2F0aW9uJ10gJiYgcGF5bG9hZFsnbG9jYXRpb24nXS51dWlkKSB7XG4gICAgICAgICAgICBub2RlLmNvbnRyb2wuc2V0VmFsdWUocGF5bG9hZFsnbG9jYXRpb24nXS51dWlkKTtcbiAgICAgICAgICAgIG5vZGUuaW5pdGlhbFZhbHVlID0gcGF5bG9hZFsnbG9jYXRpb24nXS51dWlkO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlRm9ybVBheWxvYWQoZm9ybTogRm9ybSkge1xuICAgIGNvbnN0IHBheWxvYWQgPSB0aGlzLmdlbmVyYXRlTm9kZVBheWxvYWQoZm9ybS5yb290Tm9kZSk7XG4gICAgdGhpcy5zZXROb25GaWxsZWRQYXlsb2FkTWVtYmVycyhmb3JtLCBwYXlsb2FkKTtcblxuICAgIHBheWxvYWRbJ29icyddID0gdGhpcy5vYnNBZGFwdGVyLmdlbmVyYXRlRm9ybVBheWxvYWQoZm9ybSkgfHwgW107XG5cbiAgICBwYXlsb2FkWydvcmRlcnMnXSA9IHRoaXMub3JkZXJzQWRhcHRlci5nZW5lcmF0ZUZvcm1QYXlsb2FkKGZvcm0pIHx8IFtdO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH1cblxuICBnZW5lcmF0ZU5vZGVQYXlsb2FkKHJvb3ROb2RlOiBOb2RlQmFzZSkge1xuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5nZXRFbmNvdW50ZXJOb2Rlcyhyb290Tm9kZSk7XG4gICAgY29uc3QgcGF5bG9hZCA9IHt9O1xuXG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBub2RlLmNvbnRyb2wudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgbm9kZS5jb250cm9sLnZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgbm9kZS5jb250cm9sLnZhbHVlICE9PSAnJ1xuICAgICAgKSB7XG4gICAgICAgIHN3aXRjaCAobm9kZS5xdWVzdGlvbi5leHRyYXMudHlwZSkge1xuICAgICAgICAgIGNhc2UgJ2VuY291bnRlckRhdGV0aW1lJzpcbiAgICAgICAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IG1vbWVudChub2RlLmNvbnRyb2wudmFsdWUpLnV0Y09mZnNldChcbiAgICAgICAgICAgICAgcm9vdE5vZGUuZm9ybS52YWx1ZVByb2Nlc3NpbmdJbmZvLnV0Y09mZnNldCB8fCAnKzAzMDAnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcGF5bG9hZFsnZW5jb3VudGVyRGF0ZXRpbWUnXSA9IGRhdGVWYWx1ZS5mb3JtYXQoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2VuY291bnRlclByb3ZpZGVyJzpcbiAgICAgICAgICAgIGlmIChub2RlLmNvbnRyb2wudmFsdWUgJiYgbm9kZS5jb250cm9sLnZhbHVlICE9PSAnJykge1xuICAgICAgICAgICAgICBjb25zdCBwcm92aWRlcnMgPSBbXTtcbiAgICAgICAgICAgICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgICAgICAgICAgIHByb3ZpZGVyOiBub2RlLmNvbnRyb2wudmFsdWUsXG4gICAgICAgICAgICAgICAgZW5jb3VudGVyUm9sZTogJ2EwYjAzMDUwLWM5OWItMTFlMC05NTcyLTA4MDAyMDBjOWE2NicgLy8gdW5rbm93biBwcm92aWRlciByb2xlIGluIHRoZSBlbmNvdW50ZXIgYXMgZGVmYXVsdFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgcGF5bG9hZFsnZW5jb3VudGVyUHJvdmlkZXJzJ10gPSBwcm92aWRlcnM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdlbmNvdW50ZXJMb2NhdGlvbic6XG4gICAgICAgICAgICBwYXlsb2FkWydsb2NhdGlvbiddID0gbm9kZS5jb250cm9sLnZhbHVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfVxuXG4gIGdldEVuY291bnRlck5vZGVzKHJvb3ROb2RlOiBOb2RlQmFzZSk6IEFycmF5PE5vZGVCYXNlPiB7XG4gICAgY29uc3QgcmVzdWx0czogQXJyYXk8Tm9kZUJhc2U+ID0gW107XG4gICAgdGhpcy5fZ2V0RW5jb3VudGVyTm9kZXMocm9vdE5vZGUsIHJlc3VsdHMpO1xuICAgIHJldHVybiByZXN1bHRzO1xuICB9XG5cbiAgc2V0Tm9uRmlsbGVkUGF5bG9hZE1lbWJlcnMoZm9ybTogRm9ybSwgcGF5bG9hZCkge1xuICAgIGlmIChmb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm8ucGF0aWVudFV1aWQpIHtcbiAgICAgIHRoaXMuc2V0UGF5bG9hZFBhdGllbnRVdWlkKHBheWxvYWQsIGZvcm0udmFsdWVQcm9jZXNzaW5nSW5mby5wYXRpZW50VXVpZCk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm0udmFsdWVQcm9jZXNzaW5nSW5mby52aXNpdFV1aWQpIHtcbiAgICAgIHRoaXMuc2V0UGF5bG9hZFZpc2l0VXVpZChwYXlsb2FkLCBmb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm8udmlzaXRVdWlkKTtcbiAgICB9XG5cbiAgICBpZiAoZm9ybS52YWx1ZVByb2Nlc3NpbmdJbmZvLmVuY291bnRlclR5cGVVdWlkKSB7XG4gICAgICB0aGlzLnNldFBheWxvYWRFbmNvdW50ZXJUeXBlVXVpZChcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgZm9ybS52YWx1ZVByb2Nlc3NpbmdJbmZvLmVuY291bnRlclR5cGVVdWlkXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChmb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm8uZm9ybVV1aWQpIHtcbiAgICAgIHRoaXMuc2V0UGF5bG9hZEZvcm1VdWlkKHBheWxvYWQsIGZvcm0udmFsdWVQcm9jZXNzaW5nSW5mby5mb3JtVXVpZCk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm0udmFsdWVQcm9jZXNzaW5nSW5mby5lbmNvdW50ZXJVdWlkKSB7XG4gICAgICB0aGlzLnNldFBheWxvYWRFbmNvdW50ZXJVdWlkKFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBmb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm8uZW5jb3VudGVyVXVpZFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBzZXRQYXlsb2FkUGF0aWVudFV1aWQocGF5bG9hZCwgcGF0aWVudFV1aWQ6IHN0cmluZykge1xuICAgIHBheWxvYWRbJ3BhdGllbnQnXSA9IHBhdGllbnRVdWlkO1xuICB9XG5cbiAgc2V0UGF5bG9hZFZpc2l0VXVpZChwYXlsb2FkLCB2aXNpdFV1aWQ6IHN0cmluZykge1xuICAgIHBheWxvYWRbJ3Zpc2l0J10gPSB2aXNpdFV1aWQ7XG4gIH1cblxuICBzZXRQYXlsb2FkRW5jb3VudGVyVHlwZVV1aWQocGF5bG9hZCwgZW5jb3VudGVyVHlwZVV1aWQ6IHN0cmluZykge1xuICAgIHBheWxvYWRbJ2VuY291bnRlclR5cGUnXSA9IGVuY291bnRlclR5cGVVdWlkO1xuICB9XG5cbiAgc2V0UGF5bG9hZEZvcm1VdWlkKHBheWxvYWQsIGZvcm1VdWlkOiBzdHJpbmcpIHtcbiAgICBwYXlsb2FkWydmb3JtJ10gPSBmb3JtVXVpZDtcbiAgfVxuXG4gIHNldFBheWxvYWRFbmNvdW50ZXJVdWlkKHBheWxvYWQsIGVuY291bnRlclV1aWQ6IHN0cmluZykge1xuICAgIHBheWxvYWRbJ3V1aWQnXSA9IGVuY291bnRlclV1aWQ7XG4gIH1cblxuICBwcml2YXRlIF9nZXRFbmNvdW50ZXJOb2Rlcyhyb290Tm9kZTogTm9kZUJhc2UsIGFycmF5OiBBcnJheTxOb2RlQmFzZT4pIHtcbiAgICBpZiAodGhpcy5faXNFbmNvdW50ZXJOb2RlKHJvb3ROb2RlKSkge1xuICAgICAgYXJyYXkucHVzaChyb290Tm9kZSk7XG4gICAgfVxuXG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgR3JvdXBOb2RlKSB7XG4gICAgICBjb25zdCBub2RlID0gcm9vdE5vZGUgYXMgR3JvdXBOb2RlO1xuXG4gICAgICBmb3IgKGNvbnN0IG8gaW4gbm9kZS5jaGlsZHJlbikge1xuICAgICAgICBpZiAobm9kZS5jaGlsZHJlbltvXSBpbnN0YW5jZW9mIE5vZGVCYXNlKSB7XG4gICAgICAgICAgdGhpcy5fZ2V0RW5jb3VudGVyTm9kZXMobm9kZS5jaGlsZHJlbltvXSwgYXJyYXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJvb3ROb2RlIGluc3RhbmNlb2YgQXJyYXlOb2RlKSB7XG4gICAgICBjb25zdCBub2RlID0gcm9vdE5vZGUgYXMgQXJyYXlOb2RlO1xuICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICB0aGlzLl9nZXRFbmNvdW50ZXJOb2RlcyhjaGlsZCwgYXJyYXkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNFbmNvdW50ZXJOb2RlKG5vZGU6IE5vZGVCYXNlKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgbm9kZS5xdWVzdGlvbi5leHRyYXMgJiZcbiAgICAgIChub2RlLnF1ZXN0aW9uLmV4dHJhcy50eXBlID09PSAnZW5jb3VudGVyRGF0ZXRpbWUnIHx8XG4gICAgICAgIG5vZGUucXVlc3Rpb24uZXh0cmFzLnR5cGUgPT09ICdlbmNvdW50ZXJQcm92aWRlcicgfHxcbiAgICAgICAgbm9kZS5xdWVzdGlvbi5leHRyYXMudHlwZSA9PT0gJ2VuY291bnRlckxvY2F0aW9uJylcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|