@kando-env/kando-ui 1.2.370 → 1.2.371-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Widgets/Map/Map.js +62 -43
- package/lib/Widgets/Map/MapUtils.js +40 -8
- package/lib/Widgets/Map/points/PointUtils.js +2 -1
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +82 -179
- package/lib/i18n/en.json +7 -1
- package/lib/i18n/he.json +5 -1
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/DashboardMap/List.js +3 -2
- package/lib/pages/DashboardMap/WWTPMap.js +28 -32
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +3 -3
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +20 -11
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +42 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +64 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +58 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +58 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +59 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +105 -240
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +59 -0
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +5 -3
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +12 -2
- package/lib/pages/NotificationsPageV2/notificationUtils.js +3 -2
- package/lib/pages/ProfilePage/ProfilePage.js +71 -42
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +2 -2
- package/lib/styles/theme/theme.js +2 -2
- package/package.json +1 -1
|
@@ -83,6 +83,13 @@ var ProfilePage = function ProfilePage() {
|
|
|
83
83
|
value: 'm3d',
|
|
84
84
|
label: _i18n.default.t('dashboard_v2.profile.flow_rate_unit_options.m3d')
|
|
85
85
|
}];
|
|
86
|
+
var temperatureUnitOptions = [{
|
|
87
|
+
value: 'celcius',
|
|
88
|
+
label: _i18n.default.t('dashboard_v2.profile.temperature_unit_options.celsius')
|
|
89
|
+
}, {
|
|
90
|
+
value: 'fahrenheit',
|
|
91
|
+
label: _i18n.default.t('dashboard_v2.profile.temperature_unit_options.fahrenheit')
|
|
92
|
+
}];
|
|
86
93
|
var _useState = (0, _react.useState)(localeOptions[0]),
|
|
87
94
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
88
95
|
locale = _useState2[0],
|
|
@@ -91,36 +98,40 @@ var ProfilePage = function ProfilePage() {
|
|
|
91
98
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
92
99
|
flowRateUnit = _useState4[0],
|
|
93
100
|
setFlowRateUnit = _useState4[1];
|
|
94
|
-
var _useState5 = (0, _react.useState)(
|
|
101
|
+
var _useState5 = (0, _react.useState)(temperatureUnitOptions[0]),
|
|
95
102
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
var _useState7 = (0, _react.useState)(
|
|
103
|
+
temperatureUnit = _useState6[0],
|
|
104
|
+
setTemperatureUnit = _useState6[1];
|
|
105
|
+
var _useState7 = (0, _react.useState)(dateTimeFormatOptions[0]),
|
|
99
106
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
var _useState9 = (0, _react.useState)([
|
|
103
|
-
value: '',
|
|
104
|
-
label: ''
|
|
105
|
-
}]),
|
|
107
|
+
dateTimeFormat = _useState8[0],
|
|
108
|
+
setDateTimeFormat = _useState8[1];
|
|
109
|
+
var _useState9 = (0, _react.useState)(timezones[20]),
|
|
106
110
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
107
|
-
|
|
108
|
-
|
|
111
|
+
timezone = _useState10[0],
|
|
112
|
+
setTimezone = _useState10[1];
|
|
109
113
|
var _useState11 = (0, _react.useState)([{
|
|
110
114
|
value: '',
|
|
111
115
|
label: ''
|
|
112
116
|
}]),
|
|
113
117
|
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
var _useState13 = (0, _react.useState)(
|
|
118
|
+
departments = _useState12[0],
|
|
119
|
+
setDepartments = _useState12[1];
|
|
120
|
+
var _useState13 = (0, _react.useState)([{
|
|
121
|
+
value: '',
|
|
122
|
+
label: ''
|
|
123
|
+
}]),
|
|
117
124
|
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
var _useState15 = (0, _react.useState)(
|
|
125
|
+
businessRoles = _useState14[0],
|
|
126
|
+
setBusinessRoles = _useState14[1];
|
|
127
|
+
var _useState15 = (0, _react.useState)(departments[0]),
|
|
121
128
|
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
122
|
-
|
|
123
|
-
|
|
129
|
+
department = _useState16[0],
|
|
130
|
+
setDepartment = _useState16[1];
|
|
131
|
+
var _useState17 = (0, _react.useState)(businessRoles[0]),
|
|
132
|
+
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
133
|
+
businessRole = _useState18[0],
|
|
134
|
+
setBusinessRole = _useState18[1];
|
|
124
135
|
var initialParamsState = {
|
|
125
136
|
first_name: '',
|
|
126
137
|
last_name: '',
|
|
@@ -134,40 +145,41 @@ var ProfilePage = function ProfilePage() {
|
|
|
134
145
|
other_department_name: '',
|
|
135
146
|
business_role: '',
|
|
136
147
|
department: '',
|
|
137
|
-
flow_rate_unit: ''
|
|
148
|
+
flow_rate_unit: '',
|
|
149
|
+
temperature_unit: ''
|
|
138
150
|
};
|
|
139
|
-
var _useState17 = (0, _react.useState)(false),
|
|
140
|
-
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
141
|
-
isTelegramOpen = _useState18[0],
|
|
142
|
-
setIsTelegramOpen = _useState18[1];
|
|
143
151
|
var _useState19 = (0, _react.useState)(false),
|
|
144
152
|
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
145
|
-
|
|
146
|
-
|
|
153
|
+
isTelegramOpen = _useState20[0],
|
|
154
|
+
setIsTelegramOpen = _useState20[1];
|
|
147
155
|
var _useState21 = (0, _react.useState)(false),
|
|
148
156
|
_useState22 = (0, _slicedToArray2.default)(_useState21, 2),
|
|
149
|
-
|
|
150
|
-
|
|
157
|
+
showPasswordModal = _useState22[0],
|
|
158
|
+
setShowPasswordModal = _useState22[1];
|
|
151
159
|
var _useState23 = (0, _react.useState)(false),
|
|
152
160
|
_useState24 = (0, _slicedToArray2.default)(_useState23, 2),
|
|
153
|
-
|
|
154
|
-
|
|
161
|
+
submitting = _useState24[0],
|
|
162
|
+
setSubmitting = _useState24[1];
|
|
155
163
|
var _useState25 = (0, _react.useState)(false),
|
|
156
164
|
_useState26 = (0, _slicedToArray2.default)(_useState25, 2),
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
var _useState27 = (0, _react.useState)(
|
|
165
|
+
showSuccessMessage = _useState26[0],
|
|
166
|
+
setShowSuccessMessage = _useState26[1];
|
|
167
|
+
var _useState27 = (0, _react.useState)(false),
|
|
168
|
+
_useState28 = (0, _slicedToArray2.default)(_useState27, 2),
|
|
169
|
+
showErrorMessage = _useState28[0],
|
|
170
|
+
setShowErrorMessage = _useState28[1];
|
|
171
|
+
var _useState29 = (0, _react.useState)({
|
|
160
172
|
show: false,
|
|
161
173
|
status: '',
|
|
162
174
|
message: ''
|
|
163
175
|
}),
|
|
164
|
-
_useState28 = (0, _slicedToArray2.default)(_useState27, 2),
|
|
165
|
-
showTelegramResponseMessage = _useState28[0],
|
|
166
|
-
setShowTelegramResponseMessage = _useState28[1];
|
|
167
|
-
var _useState29 = (0, _react.useState)(initialParamsState),
|
|
168
176
|
_useState30 = (0, _slicedToArray2.default)(_useState29, 2),
|
|
169
|
-
|
|
170
|
-
|
|
177
|
+
showTelegramResponseMessage = _useState30[0],
|
|
178
|
+
setShowTelegramResponseMessage = _useState30[1];
|
|
179
|
+
var _useState31 = (0, _react.useState)(initialParamsState),
|
|
180
|
+
_useState32 = (0, _slicedToArray2.default)(_useState31, 2),
|
|
181
|
+
params = _useState32[0],
|
|
182
|
+
setParams = _useState32[1];
|
|
171
183
|
var handleOnChange = function handleOnChange(e) {
|
|
172
184
|
if (typeof e === 'string') {
|
|
173
185
|
if (e.startsWith('9720')) {
|
|
@@ -210,7 +222,8 @@ var ProfilePage = function ProfilePage() {
|
|
|
210
222
|
time_zone: timezone.value,
|
|
211
223
|
department_id: department === undefined ? null : department.value,
|
|
212
224
|
business_role_id: businessRole === undefined ? null : businessRole.value,
|
|
213
|
-
flow_rate_unit: flowRateUnit.value
|
|
225
|
+
flow_rate_unit: flowRateUnit.value,
|
|
226
|
+
temperature_unit: temperatureUnit.value
|
|
214
227
|
});
|
|
215
228
|
};
|
|
216
229
|
var waterAuthorityName = (0, _reactRedux.useSelector)(function (state) {
|
|
@@ -256,6 +269,9 @@ var ProfilePage = function ProfilePage() {
|
|
|
256
269
|
var findFlowRateUnit = flowRateUnitOptions.find(function (e) {
|
|
257
270
|
return e.value === user.flow_rate_unit;
|
|
258
271
|
});
|
|
272
|
+
var findTemperatureUnit = temperatureUnitOptions.find(function (e) {
|
|
273
|
+
return e.value === user.temperature_unit;
|
|
274
|
+
});
|
|
259
275
|
var findDateTimeFormat = dateTimeFormatOptions.find(function (e) {
|
|
260
276
|
return e.value === user.date_time_format;
|
|
261
277
|
});
|
|
@@ -265,6 +281,7 @@ var ProfilePage = function ProfilePage() {
|
|
|
265
281
|
setParams(user);
|
|
266
282
|
setLocale(findLocale);
|
|
267
283
|
setFlowRateUnit(findFlowRateUnit);
|
|
284
|
+
setTemperatureUnit(findTemperatureUnit);
|
|
268
285
|
setDateTimeFormat(findDateTimeFormat);
|
|
269
286
|
setTimezone(findTimezone);
|
|
270
287
|
setShowSuccessMessage(true);
|
|
@@ -312,6 +329,7 @@ var ProfilePage = function ProfilePage() {
|
|
|
312
329
|
};
|
|
313
330
|
setLocale(findProperty(localeOptions, resp.data.user.locale));
|
|
314
331
|
setFlowRateUnit(findProperty(flowRateUnitOptions, resp.data.user.flow_rate_unit));
|
|
332
|
+
setTemperatureUnit(findProperty(temperatureUnitOptions, resp.data.user.temperature_unit));
|
|
315
333
|
setDateTimeFormat(findProperty(dateTimeFormatOptions, resp.data.user.date_time_format));
|
|
316
334
|
setTimezone(findProperty(timezones, resp.data.user.time_zone));
|
|
317
335
|
setBusinessRole(findProperty(resp.data.business_roles, resp.data.user.business_role_id));
|
|
@@ -510,6 +528,17 @@ var ProfilePage = function ProfilePage() {
|
|
|
510
528
|
value: locale,
|
|
511
529
|
setValue: setLocale,
|
|
512
530
|
cancelTextWidth: true
|
|
531
|
+
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
532
|
+
className: "field"
|
|
533
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
534
|
+
className: "label"
|
|
535
|
+
}, _i18n.default.t('dashboard_v2.profile.temperature_units')), /*#__PURE__*/_react.default.createElement("div", {
|
|
536
|
+
className: 'my-input'
|
|
537
|
+
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
538
|
+
options: temperatureUnitOptions,
|
|
539
|
+
value: temperatureUnit,
|
|
540
|
+
setValue: setTemperatureUnit,
|
|
541
|
+
cancelTextWidth: true
|
|
513
542
|
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
514
543
|
className: "field field--buttons"
|
|
515
544
|
}, params.telegram_name === '' && /*#__PURE__*/_react.default.createElement("a", {
|
|
@@ -599,4 +628,4 @@ var ProfilePage = function ProfilePage() {
|
|
|
599
628
|
}));
|
|
600
629
|
};
|
|
601
630
|
exports.ProfilePage = ProfilePage;
|
|
602
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfU2VsZWN0IiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Bhc3N3b3JkTW9kYWwiLCJfcGVuIiwiX2NhbmNlbCIsIl9yZWFjdFBob25lSW5wdXQiLCJfVGVsZWdyYW1Nb2RhbCIsIl9heGlvcyIsIl9Db250YWluZXIiLCJfbW9tZW50VGltZXpvbmUiLCJfQW5hbHl0aWNzIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RUb2FzdGlmeSIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJQcm9maWxlUGFnZSIsInRpbWV6b25lc0FycmF5IiwibW9tZW50IiwidHoiLCJuYW1lcyIsImRhdGVUaW1lRm9ybWF0T3B0aW9ucyIsInZhbHVlIiwibGFiZWwiLCJmb3JtYXQiLCJtb250aCIsImRheSIsInllYXIiLCJob3VyIiwibWludXRlIiwiaG91cjEyIiwidGltZXpvbmVzIiwibWFwIiwidCIsImxvY2FsZU9wdGlvbnMiLCJmbG93UmF0ZVVuaXRPcHRpb25zIiwiaTE4biIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvY2FsZSIsInNldExvY2FsZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZmxvd1JhdGVVbml0Iiwic2V0Rmxvd1JhdGVVbml0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJkYXRlVGltZUZvcm1hdCIsInNldERhdGVUaW1lRm9ybWF0IiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJ0aW1lem9uZSIsInNldFRpbWV6b25lIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiZGVwYXJ0bWVudHMiLCJzZXREZXBhcnRtZW50cyIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJidXNpbmVzc1JvbGVzIiwic2V0QnVzaW5lc3NSb2xlcyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJkZXBhcnRtZW50Iiwic2V0RGVwYXJ0bWVudCIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJidXNpbmVzc1JvbGUiLCJzZXRCdXNpbmVzc1JvbGUiLCJpbml0aWFsUGFyYW1zU3RhdGUiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwicGhvbmUiLCJlbWFpbCIsInRpbWVfem9uZSIsImRhdGVfdGltZV9mb3JtYXQiLCJ0ZWxlZ3JhbV9uYW1lIiwib3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lIiwib3RoZXJfZGVwYXJ0bWVudF9uYW1lIiwiYnVzaW5lc3Nfcm9sZSIsImZsb3dfcmF0ZV91bml0IiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsImlzVGVsZWdyYW1PcGVuIiwic2V0SXNUZWxlZ3JhbU9wZW4iLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwic2hvd1Bhc3N3b3JkTW9kYWwiLCJzZXRTaG93UGFzc3dvcmRNb2RhbCIsIl91c2VTdGF0ZTIxIiwiX3VzZVN0YXRlMjIiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsIl91c2VTdGF0ZTIzIiwiX3VzZVN0YXRlMjQiLCJzaG93U3VjY2Vzc01lc3NhZ2UiLCJzZXRTaG93U3VjY2Vzc01lc3NhZ2UiLCJfdXNlU3RhdGUyNSIsIl91c2VTdGF0ZTI2Iiwic2hvd0Vycm9yTWVzc2FnZSIsInNldFNob3dFcnJvck1lc3NhZ2UiLCJfdXNlU3RhdGUyNyIsInNob3ciLCJzdGF0dXMiLCJtZXNzYWdlIiwiX3VzZVN0YXRlMjgiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJfdXNlU3RhdGUyOSIsIl91c2VTdGF0ZTMwIiwicGFyYW1zIiwic2V0UGFyYW1zIiwiaGFuZGxlT25DaGFuZ2UiLCJlIiwic3RhcnRzV2l0aCIsInJlcGxhY2UiLCJwcmV2U3RhdGUiLCJfb2JqZWN0U3ByZWFkMyIsIl9lJHRhcmdldCIsInRhcmdldCIsIm5hbWUiLCJfZGVmaW5lUHJvcGVydHkyIiwiaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlIiwiaGFuZGxlRGVwYXJ0bWVudENoYW5nZSIsImdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzIiwiZGVwYXJ0bWVudF9pZCIsInVuZGVmaW5lZCIsImJ1c2luZXNzX3JvbGVfaWQiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJzaG93VG9hc3QiLCJkYXRhIiwidXNlcm5hbWUiLCJlcnJvciIsInRvYXN0Iiwic3VjY2VzcyIsImNvbmNhdCIsInBvc2l0aW9uIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwiYXhpb3MiLCJwdXQiLCJ1c2VyIiwidGhlbiIsInJlc3AiLCJlcnJvcnMiLCJQZXJtaXNzaW9uc1NsaWNlIiwiYWN0aW9ucyIsInNldFVzZXJJbmZvIiwiSlNPTiIsInBhcnNlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInAiLCJpbm5lckhUTUwiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJmaW5kTG9jYWxlIiwiZmluZCIsImZpbmRGbG93UmF0ZVVuaXQiLCJmaW5kRGF0ZVRpbWVGb3JtYXQiLCJmaW5kVGltZXpvbmUiLCJzZXRUaW1lb3V0IiwiZmluZEVsZW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwicGFyZW50IiwiY2xvc2VzdCIsImZpbmRJbnB1dCIsImFkZCIsImNhdGNoIiwidXNlRWZmZWN0IiwiYW5hbHl0aWNzVHJhY2siLCJ1dGlsaXR5X25hbWUiLCJ0b2tlbiIsImNvbnRlbnQiLCJkZWZhdWx0cyIsImhlYWRlcnMiLCJjb21tb24iLCJmaW5kUHJvcGVydHkiLCJvYmplY3QiLCJwcm9wZXJ0eSIsImJ1c2luZXNzX3JvbGVzIiwiYWxlcnQiLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwiYWN0aW9uIiwib25TdWJtaXQiLCJ0eXBlIiwib25DaGFuZ2UiLCJyZWFkT25seSIsImNvdW50cnkiLCJsb2NhbGl6YXRpb24iLCJpbnB1dENsYXNzIiwiY29udGFpbmVyQ2xhc3MiLCJidXR0b25DbGFzcyIsImRyb3Bkb3duQ2xhc3MiLCJlbmFibGVTZWFyY2giLCJzZWFyY2hQbGFjZWhvbGRlciIsImNvdW50cnlDb2RlRWRpdGFibGUiLCJpbnB1dFByb3BzIiwiRnJhZ21lbnQiLCJTZWxlY3QiLCJzZXRWYWx1ZSIsIm9wdGlvbnMiLCJjYW5jZWxUZXh0V2lkdGgiLCJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGlvbl9rZXkiLCJsZW5ndGgiLCJvbkNsaWNrIiwiUmVhY3RDb21wb25lbnQiLCJ3aWR0aCIsImhlaWdodCIsImZpbGwiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidG9VcHBlckNhc2UiLCJzdWJzdHJpbmciLCJkaXNhYmxlZCIsIlBhc3N3b3JkTW9kYWwiLCJjbG9zZSIsInNhdmUiLCJUZWxlZ3JhbU1vZGFsIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICdzcmMvY29tcG9uZW50cy9DdXN0b21JbnB1dHMvU2VsZWN0L1NlbGVjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUGFzc3dvcmRNb2RhbCB9IGZyb20gJy4vUGFzc3dvcmRNb2RhbC9QYXNzd29yZE1vZGFsJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFBlblN2ZyB9IGZyb20gJy4vcGVuLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDYW5jZWwgfSBmcm9tICcuL2NhbmNlbC5zdmcnO1xuaW1wb3J0IFBob25lSW5wdXQgZnJvbSAncmVhY3QtcGhvbmUtaW5wdXQtMic7XG5pbXBvcnQgJ3JlYWN0LXBob25lLWlucHV0LTIvbGliL3N0eWxlLmNzcyc7XG5pbXBvcnQgeyBUZWxlZ3JhbU1vZGFsIH0gZnJvbSAnLi9UZWxlZ3JhbU1vZGFsL1RlbGVncmFtTW9kYWwnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJy4vQ29udGFpbmVyJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gJ3JlYWN0LXRvYXN0aWZ5JztcbmltcG9ydCB7IFBlcm1pc3Npb25zU2xpY2UgfSBmcm9tICdzcmMvc3RvcmUvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNTbGljZSc7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZXpvbmVzQXJyYXkgPSBtb21lbnQudHoubmFtZXMoKTtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAndXMnLFxuICAgICAgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ2V1JyxcbiAgICAgIGxhYmVsOiAnRXVyb3BlJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IHRpbWV6b25lcyA9IHRpbWV6b25lc0FycmF5Lm1hcCgodCkgPT4ge1xuICAgIHJldHVybiB7IHZhbHVlOiB0LCBsYWJlbDogdCB9O1xuICB9KTtcblxuICBjb25zdCBsb2NhbGVPcHRpb25zID0gW1xuICAgIHsgdmFsdWU6ICdlbicsIGxhYmVsOiAnRW5nbGlzaCcgfSxcbiAgICB7IHZhbHVlOiAnZW5fdWsnLCBsYWJlbDogJ0VuZ2xpc2ggKFVLKScgfSxcbiAgICB7IHZhbHVlOiAnaGUnLCBsYWJlbDogJ9ei15HXqNeZ16onIH0sXG4gICAgeyB2YWx1ZTogJ2ZyJywgbGFiZWw6ICdGcmFuw6dhaXMnIH0sXG4gICAgeyB2YWx1ZTogJ2l0JywgbGFiZWw6ICdJdGFsaWFubycgfSxcbiAgXTtcblxuICBjb25zdCBmbG93UmF0ZVVuaXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAnZ2RfdXMnLFxuICAgICAgbGFiZWw6IGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy5nZF91cycpLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICdnZF91aycsXG4gICAgICBsYWJlbDogaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLmdkX3VrJyksXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ20zZCcsXG4gICAgICBsYWJlbDogaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLm0zZCcpLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgW2xvY2FsZSwgc2V0TG9jYWxlXSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH0+KGxvY2FsZU9wdGlvbnNbMF0pO1xuXG4gIGNvbnN0IFtmbG93UmF0ZVVuaXQsIHNldEZsb3dSYXRlVW5pdF0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9PihmbG93UmF0ZVVuaXRPcHRpb25zWzBdKTtcblxuICBjb25zdCBbZGF0ZVRpbWVGb3JtYXQsIHNldERhdGVUaW1lRm9ybWF0XSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgZm9ybWF0OiBvYmplY3Q7XG4gIH0+KGRhdGVUaW1lRm9ybWF0T3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW3RpbWV6b25lLCBzZXRUaW1lem9uZV0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9Pih0aW1lem9uZXNbMjBdKTtcblxuICBjb25zdCBbZGVwYXJ0bWVudHMsIHNldERlcGFydG1lbnRzXSA9IHVzZVN0YXRlPFxuICAgIHtcbiAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgIH1bXVxuICA+KFt7IHZhbHVlOiAnJywgbGFiZWw6ICcnIH1dKTtcblxuICBjb25zdCBbYnVzaW5lc3NSb2xlcywgc2V0QnVzaW5lc3NSb2xlc10gPSB1c2VTdGF0ZTxcbiAgICB7XG4gICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICB9W11cbiAgPihbeyB2YWx1ZTogJycsIGxhYmVsOiAnJyB9XSk7XG5cbiAgY29uc3QgW2RlcGFydG1lbnQsIHNldERlcGFydG1lbnRdID0gdXNlU3RhdGU8YW55PihkZXBhcnRtZW50c1swXSk7XG5cbiAgY29uc3QgW2J1c2luZXNzUm9sZSwgc2V0QnVzaW5lc3NSb2xlXSA9IHVzZVN0YXRlPGFueT4oYnVzaW5lc3NSb2xlc1swXSk7XG5cbiAgY29uc3QgaW5pdGlhbFBhcmFtc1N0YXRlID0ge1xuICAgIGZpcnN0X25hbWU6ICcnLFxuICAgIGxhc3RfbmFtZTogJycsXG4gICAgcGhvbmU6ICcnLFxuICAgIGVtYWlsOiAnJyxcbiAgICB0aW1lX3pvbmU6ICcnLFxuICAgIGRhdGVfdGltZV9mb3JtYXQ6ICcnLFxuICAgIGxvY2FsZTogJycsXG4gICAgdGVsZWdyYW1fbmFtZTogJycsXG4gICAgb3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lOiAnJyxcbiAgICBvdGhlcl9kZXBhcnRtZW50X25hbWU6ICcnLFxuICAgIGJ1c2luZXNzX3JvbGU6ICcnLFxuICAgIGRlcGFydG1lbnQ6ICcnLFxuICAgIGZsb3dfcmF0ZV91bml0OiAnJyxcbiAgfTtcblxuICBjb25zdCBbaXNUZWxlZ3JhbU9wZW4sIHNldElzVGVsZWdyYW1PcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dQYXNzd29yZE1vZGFsLCBzZXRTaG93UGFzc3dvcmRNb2RhbF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzdWJtaXR0aW5nLCBzZXRTdWJtaXR0aW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dTdWNjZXNzTWVzc2FnZSwgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dFcnJvck1lc3NhZ2UsIHNldFNob3dFcnJvck1lc3NhZ2VdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLCBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2VdID1cbiAgICB1c2VTdGF0ZTx7XG4gICAgICBzaG93OiBib29sZWFuO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgfT4oe1xuICAgICAgc2hvdzogZmFsc2UsXG4gICAgICBzdGF0dXM6ICcnLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgfSk7XG4gIGNvbnN0IFtwYXJhbXMsIHNldFBhcmFtc10gPSB1c2VTdGF0ZTx7XG4gICAgZmlyc3RfbmFtZTogc3RyaW5nO1xuICAgIGxhc3RfbmFtZTogc3RyaW5nO1xuICAgIHBob25lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICB0aW1lX3pvbmU6IHN0cmluZztcbiAgICBkYXRlX3RpbWVfZm9ybWF0OiBzdHJpbmc7XG4gICAgbG9jYWxlOiBzdHJpbmc7XG4gICAgdGVsZWdyYW1fbmFtZTogc3RyaW5nO1xuICAgIG90aGVyX2J1c2luZXNzX3JvbGVfbmFtZTogc3RyaW5nO1xuICAgIG90aGVyX2RlcGFydG1lbnRfbmFtZTogc3RyaW5nO1xuICAgIGZsb3dfcmF0ZV91bml0OiBzdHJpbmc7XG4gIH0+KGluaXRpYWxQYXJhbXNTdGF0ZSk7XG5cbiAgY29uc3QgaGFuZGxlT25DaGFuZ2UgPSAoZSkgPT4ge1xuICAgIGlmICh0eXBlb2YgZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChlLnN0YXJ0c1dpdGgoJzk3MjAnKSkge1xuICAgICAgICBlID0gZS5yZXBsYWNlKC8oOTcyMCkvZywgJzk3MicpO1xuICAgICAgfVxuICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgcGhvbmU6IGUsXG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIG5hbWUgfSA9IGUudGFyZ2V0O1xuICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgIC4uLnByZXZTdGF0ZSxcbiAgICAgICAgW25hbWVdOiB2YWx1ZSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAoZS50YXJnZXQgIT09IG51bGwpIHtcbiAgICAgIHNldFBhcmFtcyh7XG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgYnVzaW5lc3Nfcm9sZTogZS52YWx1ZSxcbiAgICAgICAgb3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lOiBlLnRhcmdldC52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZXBhcnRtZW50Q2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAoZS50YXJnZXQgIT09IG51bGwpIHtcbiAgICAgIHNldFBhcmFtcyh7XG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgZGVwYXJ0bWVudDogZS52YWx1ZSxcbiAgICAgICAgb3RoZXJfZGVwYXJ0bWVudF9uYW1lOiBlLnRhcmdldC52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgZGF0ZV90aW1lX2Zvcm1hdDogZGF0ZVRpbWVGb3JtYXQudmFsdWUsXG4gICAgICBsb2NhbGU6IGxvY2FsZS52YWx1ZSxcbiAgICAgIHRpbWVfem9uZTogdGltZXpvbmUudmFsdWUsXG4gICAgICBkZXBhcnRtZW50X2lkOiBkZXBhcnRtZW50ID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwYXJ0bWVudC52YWx1ZSxcbiAgICAgIGJ1c2luZXNzX3JvbGVfaWQ6IGJ1c2luZXNzUm9sZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGJ1c2luZXNzUm9sZS52YWx1ZSxcbiAgICAgIGZsb3dfcmF0ZV91bml0OiBmbG93UmF0ZVVuaXQudmFsdWUsXG4gICAgfTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBzaG93VG9hc3QgPSAoZGF0YSkgPT4ge1xuICAgIGNvbnN0IHVzZXJuYW1lID0gZGF0YS51c2VybmFtZTtcbiAgICBjb25zdCBlcnJvciA9IGRhdGEuZXJyb3I7XG4gICAgaWYgKGRhdGEuc3RhdHVzID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgIGkxOG4udChgbXlfcHJvZmlsZV90YWIudGVsZWdyYW1fbWVzc2FnZXMuJHtkYXRhLm1lc3NhZ2V9YCwge1xuICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5lcnJvcihcbiAgICAgICAgaTE4bi50KGBteV9wcm9maWxlX3RhYi50ZWxlZ3JhbV9tZXNzYWdlcy4ke2RhdGEubWVzc2FnZX1gLCB7XG4gICAgICAgICAgZXJyb3I6IGVycm9yLFxuICAgICAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSxcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ3RvcC1jZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9IChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHNldFN1Ym1pdHRpbmcodHJ1ZSk7XG4gICAgYXhpb3NcbiAgICAgIC5wdXQoJy9wcm9maWxlcycsIHsgdXNlcjogZ2V0UGFyYW1zV2l0aEFnZ3JlZ2F0ZWRWYWx1ZXMoKSB9KVxuICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgaWYgKHJlc3AuZGF0YS5lcnJvcnMgPT09IG51bGwpIHtcbiAgICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICAgIFBlcm1pc3Npb25zU2xpY2UuYWN0aW9ucy5zZXRVc2VySW5mbyhKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKSksXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmVycm9yLW1lc3NhZ2UnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IChwLmlubmVySFRNTCA9ICcnKSk7XG5cbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkLWZpZWxkJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2ludmFsaWQtZmllbGQnKSk7XG4gICAgICAgICAgbGV0IHVzZXIgPSBKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKTtcbiAgICAgICAgICBjb25zdCBmaW5kTG9jYWxlID0gbG9jYWxlT3B0aW9ucy5maW5kKChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmxvY2FsZSk7XG4gICAgICAgICAgY29uc3QgZmluZEZsb3dSYXRlVW5pdCA9IGZsb3dSYXRlVW5pdE9wdGlvbnMuZmluZChcbiAgICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmZsb3dfcmF0ZV91bml0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZERhdGVUaW1lRm9ybWF0ID0gZGF0ZVRpbWVGb3JtYXRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci5kYXRlX3RpbWVfZm9ybWF0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZFRpbWV6b25lID0gdGltZXpvbmVzLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci50aW1lX3pvbmUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHNldFBhcmFtcyh1c2VyKTtcbiAgICAgICAgICBzZXRMb2NhbGUoZmluZExvY2FsZSEpO1xuICAgICAgICAgIHNldEZsb3dSYXRlVW5pdChmaW5kRmxvd1JhdGVVbml0ISk7XG4gICAgICAgICAgc2V0RGF0ZVRpbWVGb3JtYXQoZmluZERhdGVUaW1lRm9ybWF0ISk7XG4gICAgICAgICAgc2V0VGltZXpvbmUoZmluZFRpbWV6b25lISk7XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKHRydWUpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICB9LCA2MDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lcnJvci1tZXNzYWdlJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiAocC5pbm5lckhUTUwgPSAnJykpO1xuICAgICAgICAgIGxldCBlcnJvcnMgPSByZXNwLmRhdGEudXNlci5lcnJvcnM7XG4gICAgICAgICAgZm9yIChjb25zdCBlcnJvciBpbiBlcnJvcnMpIHtcbiAgICAgICAgICAgIGxldCBmaW5kRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGlucHV0W25hbWU9JyR7ZXJyb3J9J11gKTtcbiAgICAgICAgICAgIGxldCBwYXJlbnQgPSBmaW5kRWxlbWVudCEuY2xvc2VzdCgnLmZpZWxkJyk7XG4gICAgICAgICAgICBsZXQgZmluZElucHV0ID0gcGFyZW50IS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICAgICAgICAgICAgZmluZElucHV0IS5jbGFzc0xpc3QuYWRkKCdpbnZhbGlkLWZpZWxkJyk7XG4gICAgICAgICAgICBwYXJlbnQhLnF1ZXJ5U2VsZWN0b3IoJy5lcnJvci1tZXNzYWdlJykhLmlubmVySFRNTCA9IGkxOG4udChcbiAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmVycm9ycy4ke2Vycm9yfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBzZXRTaG93RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICBzZXRTdWJtaXR0aW5nKGZhbHNlKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0U2hvd0Vycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIH0sIDYwMDApO1xuICAgICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnVmlld2VkIFByb2ZpbGUgUGFnZScsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB0b2tlbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPWNzcmYtdG9rZW5dJykhLmNvbnRlbnQ7XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtQ1NSRi1UT0tFTiddID0gdG9rZW47XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzJztcbiAgICBheGlvc1xuICAgICAgLmdldChgL3Byb2ZpbGVzL3Jlc291cmNlYClcbiAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgIHNldFBhcmFtcyhyZXNwLmRhdGEudXNlcik7XG4gICAgICAgIGNvbnN0IGZpbmRQcm9wZXJ0eSA9IChvYmplY3QsIHByb3BlcnR5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdC5maW5kKChlKSA9PiBlLnZhbHVlID09PSBwcm9wZXJ0eSk7XG4gICAgICAgIH07XG4gICAgICAgIHNldExvY2FsZShmaW5kUHJvcGVydHkobG9jYWxlT3B0aW9ucywgcmVzcC5kYXRhLnVzZXIubG9jYWxlKSk7XG4gICAgICAgIHNldEZsb3dSYXRlVW5pdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZmxvd1JhdGVVbml0T3B0aW9ucywgcmVzcC5kYXRhLnVzZXIuZmxvd19yYXRlX3VuaXQpLFxuICAgICAgICApO1xuICAgICAgICBzZXREYXRlVGltZUZvcm1hdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZGF0ZVRpbWVGb3JtYXRPcHRpb25zLCByZXNwLmRhdGEudXNlci5kYXRlX3RpbWVfZm9ybWF0KSxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0VGltZXpvbmUoZmluZFByb3BlcnR5KHRpbWV6b25lcywgcmVzcC5kYXRhLnVzZXIudGltZV96b25lKSk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZShcbiAgICAgICAgICBmaW5kUHJvcGVydHkoXG4gICAgICAgICAgICByZXNwLmRhdGEuYnVzaW5lc3Nfcm9sZXMsXG4gICAgICAgICAgICByZXNwLmRhdGEudXNlci5idXNpbmVzc19yb2xlX2lkLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnQoXG4gICAgICAgICAgZmluZFByb3BlcnR5KHJlc3AuZGF0YS5kZXBhcnRtZW50cywgcmVzcC5kYXRhLnVzZXIuZGVwYXJ0bWVudF9pZCksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnRzKHJlc3AuZGF0YS5kZXBhcnRtZW50cyk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZXMocmVzcC5kYXRhLmJ1c2luZXNzX3JvbGVzKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiBhbGVydChlcnJvcikpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZWFkZXItdGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aXRsZScpfTwvZGl2PlxuICAgICAgPGZvcm0gYWN0aW9uPVwiXCIgb25TdWJtaXQ9eyhlKSA9PiBoYW5kbGVTdWJtaXQoZSl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5wZXJzb25hbC1kZXRhaWxzJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicGVyc29uYWxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZpcnN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2ZpcnN0X25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMuZmlyc3RfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZU9uQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5sYXN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2xhc3RfbmFtZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5sYXN0X25hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVPbkNoYW5nZShlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZCBmaWVsZC0tcmVhZG9ubHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmVtYWlsJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydlbWFpbCd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5lbWFpbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucGhvbmUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxQaG9uZUlucHV0XG4gICAgICAgICAgICAgICAgY291bnRyeT17J2lsJ31cbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb249e2kxOG4udCgnY291bnRyaWVzJyl9XG4gICAgICAgICAgICAgICAgaW5wdXRDbGFzcz1cInBob25lLWlucHV0XCJcbiAgICAgICAgICAgICAgICBjb250YWluZXJDbGFzcz1cIm15LXBob25lXCJcbiAgICAgICAgICAgICAgICBidXR0b25DbGFzcz1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkNsYXNzPVwicGhvbmUtZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMucGhvbmV9XG4gICAgICAgICAgICAgICAgZW5hYmxlU2VhcmNoXG4gICAgICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI9e2kxOG4udCgnc2VhcmNoJyl9XG4gICAgICAgICAgICAgICAgY291bnRyeUNvZGVFZGl0YWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlT25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaW5wdXRQcm9wcz17eyBuYW1lOiAncGhvbmUnIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtkZXBhcnRtZW50c1swXS52YWx1ZSAhPT0gJycgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGVwYXJ0bWVudCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0RGVwYXJ0bWVudH1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRzLiR7ZGVwYXJ0bWVudD8ubGFiZWx9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGVwYXJ0bWVudD8udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zPXtkZXBhcnRtZW50c31cbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGRlcGFydG1lbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25fa2V5OiAnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGVwYXJ0bWVudHMnLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGUnKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldEJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGVzLiR7YnVzaW5lc3NSb2xlPy5sYWJlbH1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBidXNpbmVzc1JvbGU/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz17YnVzaW5lc3NSb2xlc31cbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGJ1c2luZXNzUm9sZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbl9rZXk6ICdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlcycsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7ZGVwYXJ0bWVudHNbMF0udmFsdWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BmaWVsZCAke1xuICAgICAgICAgICAgICAgICAgICBkZXBhcnRtZW50ICYmXG4gICAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnQ/LnZhbHVlID09PVxuICAgICAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRzW2RlcGFydG1lbnRzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpZWxkLS1oaWRkZW4nXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRfYWx0Jyl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPXsnb3RoZXJfZGVwYXJ0bWVudF9uYW1lJ31cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5vdGhlcl9kZXBhcnRtZW50X25hbWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlRGVwYXJ0bWVudENoYW5nZShlKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZmllbGQgJHtcbiAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlICYmXG4gICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzUm9sZT8udmFsdWUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlc1tidXNpbmVzc1JvbGVzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpZWxkLS1oaWRkZW4nXG4gICAgICAgICAgICAgICAgICB9IGB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlX2FsdCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT17J290aGVyX2J1c2luZXNzX3JvbGVfbmFtZSd9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMub3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZUJ1c2luZXNzUm9sZUNoYW5nZShlKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNoYW5nZS1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwodHJ1ZSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGVuU3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBmaWxsPVwiI2YwMTM0Y1wiIC8+XG4gICAgICAgICAgICAgICAgeycgICd9XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLXBhc3N3b3JkJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZXR0aW5ncycpfTwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNldHRpbmdzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aW1lLXpvbmUnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldFRpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3RpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGltZXpvbmVzfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRhdGUtdGltZS1mb3JtYXQnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17ZGF0ZVRpbWVGb3JtYXRPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2RhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldERhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGF0ZS10aW1lLWZvcm1hdCd9PlxuICAgICAgICAgICAgICAgIHtkYXRlVGltZUZvcm1hdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCBkYXRlVGltZUZvcm1hdC5mb3JtYXQpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUubGFuZ3VhZ2UnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17bG9jYWxlT3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0TG9jYWxlfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGQgZmllbGQtLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAge3BhcmFtcy50ZWxlZ3JhbV9uYW1lID09PSAnJyAmJiAoXG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwidGVsZWdyYW1cIiBvbkNsaWNrPXsoKSA9PiBzZXRJc1RlbGVncmFtT3Blbih0cnVlKX0+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jb25uZWN0LXRvLXRlbGVncmFtJyl9XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7cGFyYW1zLnRlbGVncmFtX25hbWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGVsZWdyYW1fbmFtZScpfVxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQZW5Tdmcgd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGZpbGw9XCIjZjAxMzRjXCIgLz57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLW5hbWUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXQnfT5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17J3RlbGVncmFtX25hbWUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy50ZWxlZ3JhbV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXRfX2NhbmNlbC1idXR0b24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbGVncmFtX25hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYW5jZWwgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0gb3Blbid9XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXhpb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldChgL3RlbGVncmFtL3NlbmRfdGVzdF9tZXNzYWdlLmpzb25gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS5zdGF0dXNbMF0udG9VcHBlckNhc2UoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS5zdGF0dXMuc3Vic3RyaW5nKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogcmVzcC5kYXRhLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RvYXN0KHJlc3AuZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGFsZXJ0KGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHshc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc2VuZF90ZWxlZ3JhbV9tZXNzYWdlJyl9XG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zaG93ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc3RhdHVzfVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRzJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17Zmxvd1JhdGVVbml0T3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmbG93UmF0ZVVuaXR9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0Rmxvd1JhdGVVbml0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPXsnc3VibWl0J30gY2xhc3NOYW1lPXsnc2F2ZSd9IGRpc2FibGVkPXtzdWJtaXR0aW5nfT5cbiAgICAgICAgICAgIHshc3VibWl0dGluZyAmJlxuICAgICAgICAgICAgICAhc2hvd1N1Y2Nlc3NNZXNzYWdlICYmXG4gICAgICAgICAgICAgICFzaG93RXJyb3JNZXNzYWdlICYmXG4gICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VibWl0Jyl9XG4gICAgICAgICAgICB7c3VibWl0dGluZyAmJlxuICAgICAgICAgICAgICAhc2hvd1N1Y2Nlc3NNZXNzYWdlICYmXG4gICAgICAgICAgICAgICFzaG93RXJyb3JNZXNzYWdlICYmXG4gICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VibWl0dGluZycpfVxuICAgICAgICAgICAge3Nob3dTdWNjZXNzTWVzc2FnZSAmJiBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnN1Y2Nlc3MnKX1cbiAgICAgICAgICAgIHtzaG93RXJyb3JNZXNzYWdlICYmIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZXJyb3InKX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIHtzaG93UGFzc3dvcmRNb2RhbCAmJiAoXG4gICAgICAgIDxQYXNzd29yZE1vZGFsXG4gICAgICAgICAgY2xvc2U9eygpID0+IHNldFNob3dQYXNzd29yZE1vZGFsKGZhbHNlKX1cbiAgICAgICAgICBzYXZlPXsoKSA9PiB7fX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7aXNUZWxlZ3JhbU9wZW4gJiYgKFxuICAgICAgICA8VGVsZWdyYW1Nb2RhbFxuICAgICAgICAgIGNsb3NlPXsoKSA9PiBzZXRJc1RlbGVncmFtT3BlbihmYWxzZSl9XG4gICAgICAgICAgaGFuZGxlT25DaGFuZ2U9e2hhbmRsZU9uQ2hhbmdlfVxuICAgICAgICAgIGhhbmRsZVN1Ym1pdD17aGFuZGxlU3VibWl0fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iXSwi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
|
|
631
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfU2VsZWN0IiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Bhc3N3b3JkTW9kYWwiLCJfcGVuIiwiX2NhbmNlbCIsIl9yZWFjdFBob25lSW5wdXQiLCJfVGVsZWdyYW1Nb2RhbCIsIl9heGlvcyIsIl9Db250YWluZXIiLCJfbW9tZW50VGltZXpvbmUiLCJfQW5hbHl0aWNzIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RUb2FzdGlmeSIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJQcm9maWxlUGFnZSIsInRpbWV6b25lc0FycmF5IiwibW9tZW50IiwidHoiLCJuYW1lcyIsImRhdGVUaW1lRm9ybWF0T3B0aW9ucyIsInZhbHVlIiwibGFiZWwiLCJmb3JtYXQiLCJtb250aCIsImRheSIsInllYXIiLCJob3VyIiwibWludXRlIiwiaG91cjEyIiwidGltZXpvbmVzIiwibWFwIiwidCIsImxvY2FsZU9wdGlvbnMiLCJmbG93UmF0ZVVuaXRPcHRpb25zIiwiaTE4biIsInRlbXBlcmF0dXJlVW5pdE9wdGlvbnMiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJsb2NhbGUiLCJzZXRMb2NhbGUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImZsb3dSYXRlVW5pdCIsInNldEZsb3dSYXRlVW5pdCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwidGVtcGVyYXR1cmVVbml0Iiwic2V0VGVtcGVyYXR1cmVVbml0IiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJkYXRlVGltZUZvcm1hdCIsInNldERhdGVUaW1lRm9ybWF0IiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwidGltZXpvbmUiLCJzZXRUaW1lem9uZSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJkZXBhcnRtZW50cyIsInNldERlcGFydG1lbnRzIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsImJ1c2luZXNzUm9sZXMiLCJzZXRCdXNpbmVzc1JvbGVzIiwiX3VzZVN0YXRlMTUiLCJfdXNlU3RhdGUxNiIsImRlcGFydG1lbnQiLCJzZXREZXBhcnRtZW50IiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsImJ1c2luZXNzUm9sZSIsInNldEJ1c2luZXNzUm9sZSIsImluaXRpYWxQYXJhbXNTdGF0ZSIsImZpcnN0X25hbWUiLCJsYXN0X25hbWUiLCJwaG9uZSIsImVtYWlsIiwidGltZV96b25lIiwiZGF0ZV90aW1lX2Zvcm1hdCIsInRlbGVncmFtX25hbWUiLCJvdGhlcl9idXNpbmVzc19yb2xlX25hbWUiLCJvdGhlcl9kZXBhcnRtZW50X25hbWUiLCJidXNpbmVzc19yb2xlIiwiZmxvd19yYXRlX3VuaXQiLCJ0ZW1wZXJhdHVyZV91bml0IiwiX3VzZVN0YXRlMTkiLCJfdXNlU3RhdGUyMCIsImlzVGVsZWdyYW1PcGVuIiwic2V0SXNUZWxlZ3JhbU9wZW4iLCJfdXNlU3RhdGUyMSIsIl91c2VTdGF0ZTIyIiwic2hvd1Bhc3N3b3JkTW9kYWwiLCJzZXRTaG93UGFzc3dvcmRNb2RhbCIsIl91c2VTdGF0ZTIzIiwiX3VzZVN0YXRlMjQiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsIl91c2VTdGF0ZTI1IiwiX3VzZVN0YXRlMjYiLCJzaG93U3VjY2Vzc01lc3NhZ2UiLCJzZXRTaG93U3VjY2Vzc01lc3NhZ2UiLCJfdXNlU3RhdGUyNyIsIl91c2VTdGF0ZTI4Iiwic2hvd0Vycm9yTWVzc2FnZSIsInNldFNob3dFcnJvck1lc3NhZ2UiLCJfdXNlU3RhdGUyOSIsInNob3ciLCJzdGF0dXMiLCJtZXNzYWdlIiwiX3VzZVN0YXRlMzAiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJfdXNlU3RhdGUzMSIsIl91c2VTdGF0ZTMyIiwicGFyYW1zIiwic2V0UGFyYW1zIiwiaGFuZGxlT25DaGFuZ2UiLCJlIiwic3RhcnRzV2l0aCIsInJlcGxhY2UiLCJwcmV2U3RhdGUiLCJfb2JqZWN0U3ByZWFkMyIsIl9lJHRhcmdldCIsInRhcmdldCIsIm5hbWUiLCJfZGVmaW5lUHJvcGVydHkyIiwiaGFuZGxlQnVzaW5lc3NSb2xlQ2hhbmdlIiwiaGFuZGxlRGVwYXJ0bWVudENoYW5nZSIsImdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzIiwiZGVwYXJ0bWVudF9pZCIsInVuZGVmaW5lZCIsImJ1c2luZXNzX3JvbGVfaWQiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJzaG93VG9hc3QiLCJkYXRhIiwidXNlcm5hbWUiLCJlcnJvciIsInRvYXN0Iiwic3VjY2VzcyIsImNvbmNhdCIsInBvc2l0aW9uIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwiYXhpb3MiLCJwdXQiLCJ1c2VyIiwidGhlbiIsInJlc3AiLCJlcnJvcnMiLCJQZXJtaXNzaW9uc1NsaWNlIiwiYWN0aW9ucyIsInNldFVzZXJJbmZvIiwiSlNPTiIsInBhcnNlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInAiLCJpbm5lckhUTUwiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJmaW5kTG9jYWxlIiwiZmluZCIsImZpbmRGbG93UmF0ZVVuaXQiLCJmaW5kVGVtcGVyYXR1cmVVbml0IiwiZmluZERhdGVUaW1lRm9ybWF0IiwiZmluZFRpbWV6b25lIiwic2V0VGltZW91dCIsImZpbmRFbGVtZW50IiwicXVlcnlTZWxlY3RvciIsInBhcmVudCIsImNsb3Nlc3QiLCJmaW5kSW5wdXQiLCJhZGQiLCJjYXRjaCIsInVzZUVmZmVjdCIsImFuYWx5dGljc1RyYWNrIiwidXRpbGl0eV9uYW1lIiwidG9rZW4iLCJjb250ZW50IiwiZGVmYXVsdHMiLCJoZWFkZXJzIiwiY29tbW9uIiwiZmluZFByb3BlcnR5Iiwib2JqZWN0IiwicHJvcGVydHkiLCJidXNpbmVzc19yb2xlcyIsImFsZXJ0IiwiY3JlYXRlRWxlbWVudCIsIkNvbnRhaW5lciIsImNsYXNzTmFtZSIsImFjdGlvbiIsIm9uU3VibWl0IiwidHlwZSIsIm9uQ2hhbmdlIiwicmVhZE9ubHkiLCJjb3VudHJ5IiwibG9jYWxpemF0aW9uIiwiaW5wdXRDbGFzcyIsImNvbnRhaW5lckNsYXNzIiwiYnV0dG9uQ2xhc3MiLCJkcm9wZG93bkNsYXNzIiwiZW5hYmxlU2VhcmNoIiwic2VhcmNoUGxhY2Vob2xkZXIiLCJjb3VudHJ5Q29kZUVkaXRhYmxlIiwiaW5wdXRQcm9wcyIsIkZyYWdtZW50IiwiU2VsZWN0Iiwic2V0VmFsdWUiLCJvcHRpb25zIiwiY2FuY2VsVGV4dFdpZHRoIiwidHJhbnNsYXRlIiwidHJhbnNsYXRpb25fa2V5IiwibGVuZ3RoIiwib25DbGljayIsIlJlYWN0Q29tcG9uZW50Iiwid2lkdGgiLCJoZWlnaHQiLCJmaWxsIiwiRGF0ZSIsInRvTG9jYWxlRGF0ZVN0cmluZyIsInRvVXBwZXJDYXNlIiwic3Vic3RyaW5nIiwiZGlzYWJsZWQiLCJQYXNzd29yZE1vZGFsIiwiY2xvc2UiLCJzYXZlIiwiVGVsZWdyYW1Nb2RhbCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvUHJvZmlsZVBhZ2UvUHJvZmlsZVBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvQ3VzdG9tSW5wdXRzL1NlbGVjdC9TZWxlY3QnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IFBhc3N3b3JkTW9kYWwgfSBmcm9tICcuL1Bhc3N3b3JkTW9kYWwvUGFzc3dvcmRNb2RhbCc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBQZW5TdmcgfSBmcm9tICcuL3Blbi5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQ2FuY2VsIH0gZnJvbSAnLi9jYW5jZWwuc3ZnJztcbmltcG9ydCBQaG9uZUlucHV0IGZyb20gJ3JlYWN0LXBob25lLWlucHV0LTInO1xuaW1wb3J0ICdyZWFjdC1waG9uZS1pbnB1dC0yL2xpYi9zdHlsZS5jc3MnO1xuaW1wb3J0IHsgVGVsZWdyYW1Nb2RhbCB9IGZyb20gJy4vVGVsZWdyYW1Nb2RhbC9UZWxlZ3JhbU1vZGFsJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICcuL0NvbnRhaW5lcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NsaWNlIH0gZnJvbSAnc3JjL3N0b3JlL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zU2xpY2UnO1xuXG5leHBvcnQgY29uc3QgUHJvZmlsZVBhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IHRpbWV6b25lc0FycmF5ID0gbW9tZW50LnR6Lm5hbWVzKCk7XG4gIGNvbnN0IGRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IFtcbiAgICB7XG4gICAgICB2YWx1ZTogJ3VzJyxcbiAgICAgIGxhYmVsOiAnVW5pdGVkIFN0YXRlcycsXG4gICAgICBmb3JtYXQ6IHtcbiAgICAgICAgbW9udGg6ICdzaG9ydCcsXG4gICAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgICAgbWludXRlOiAnbnVtZXJpYycsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICdldScsXG4gICAgICBsYWJlbDogJ0V1cm9wZScsXG4gICAgICBmb3JtYXQ6IHtcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIG1vbnRoOiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjEyOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcblxuICBjb25zdCB0aW1lem9uZXMgPSB0aW1lem9uZXNBcnJheS5tYXAoKHQpID0+IHtcbiAgICByZXR1cm4geyB2YWx1ZTogdCwgbGFiZWw6IHQgfTtcbiAgfSk7XG5cbiAgY29uc3QgbG9jYWxlT3B0aW9ucyA9IFtcbiAgICB7IHZhbHVlOiAnZW4nLCBsYWJlbDogJ0VuZ2xpc2gnIH0sXG4gICAgeyB2YWx1ZTogJ2VuX3VrJywgbGFiZWw6ICdFbmdsaXNoIChVSyknIH0sXG4gICAgeyB2YWx1ZTogJ2hlJywgbGFiZWw6ICfXoteR16jXmdeqJyB9LFxuICAgIHsgdmFsdWU6ICdmcicsIGxhYmVsOiAnRnJhbsOnYWlzJyB9LFxuICAgIHsgdmFsdWU6ICdpdCcsIGxhYmVsOiAnSXRhbGlhbm8nIH0sXG4gIF07XG5cbiAgY29uc3QgZmxvd1JhdGVVbml0T3B0aW9ucyA9IFtcbiAgICB7XG4gICAgICB2YWx1ZTogJ2dkX3VzJyxcbiAgICAgIGxhYmVsOiBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZsb3dfcmF0ZV91bml0X29wdGlvbnMuZ2RfdXMnKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhbHVlOiAnZ2RfdWsnLFxuICAgICAgbGFiZWw6IGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy5nZF91aycpLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICdtM2QnLFxuICAgICAgbGFiZWw6IGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy5tM2QnKSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IHRlbXBlcmF0dXJlVW5pdE9wdGlvbnMgPSBbXG4gICAge1xuICAgICAgdmFsdWU6ICdjZWxjaXVzJyxcbiAgICAgIGxhYmVsOiBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnRlbXBlcmF0dXJlX3VuaXRfb3B0aW9ucy5jZWxzaXVzJyksXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ2ZhaHJlbmhlaXQnLFxuICAgICAgbGFiZWw6IGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGVtcGVyYXR1cmVfdW5pdF9vcHRpb25zLmZhaHJlbmhlaXQnKSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IFtsb2NhbGUsIHNldExvY2FsZV0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9Pihsb2NhbGVPcHRpb25zWzBdKTtcblxuICBjb25zdCBbZmxvd1JhdGVVbml0LCBzZXRGbG93UmF0ZVVuaXRdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfT4oZmxvd1JhdGVVbml0T3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW3RlbXBlcmF0dXJlVW5pdCwgc2V0VGVtcGVyYXR1cmVVbml0XSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH0+KHRlbXBlcmF0dXJlVW5pdE9wdGlvbnNbMF0pO1xuXG4gIGNvbnN0IFtkYXRlVGltZUZvcm1hdCwgc2V0RGF0ZVRpbWVGb3JtYXRdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBmb3JtYXQ6IG9iamVjdDtcbiAgfT4oZGF0ZVRpbWVGb3JtYXRPcHRpb25zWzBdKTtcblxuICBjb25zdCBbdGltZXpvbmUsIHNldFRpbWV6b25lXSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gIH0+KHRpbWV6b25lc1syMF0pO1xuXG4gIGNvbnN0IFtkZXBhcnRtZW50cywgc2V0RGVwYXJ0bWVudHNdID0gdXNlU3RhdGU8XG4gICAge1xuICAgICAgdmFsdWU6IHN0cmluZztcbiAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgfVtdXG4gID4oW3sgdmFsdWU6ICcnLCBsYWJlbDogJycgfV0pO1xuXG4gIGNvbnN0IFtidXNpbmVzc1JvbGVzLCBzZXRCdXNpbmVzc1JvbGVzXSA9IHVzZVN0YXRlPFxuICAgIHtcbiAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgICBsYWJlbDogc3RyaW5nO1xuICAgIH1bXVxuICA+KFt7IHZhbHVlOiAnJywgbGFiZWw6ICcnIH1dKTtcblxuICBjb25zdCBbZGVwYXJ0bWVudCwgc2V0RGVwYXJ0bWVudF0gPSB1c2VTdGF0ZTxhbnk+KGRlcGFydG1lbnRzWzBdKTtcblxuICBjb25zdCBbYnVzaW5lc3NSb2xlLCBzZXRCdXNpbmVzc1JvbGVdID0gdXNlU3RhdGU8YW55PihidXNpbmVzc1JvbGVzWzBdKTtcblxuICBjb25zdCBpbml0aWFsUGFyYW1zU3RhdGUgPSB7XG4gICAgZmlyc3RfbmFtZTogJycsXG4gICAgbGFzdF9uYW1lOiAnJyxcbiAgICBwaG9uZTogJycsXG4gICAgZW1haWw6ICcnLFxuICAgIHRpbWVfem9uZTogJycsXG4gICAgZGF0ZV90aW1lX2Zvcm1hdDogJycsXG4gICAgbG9jYWxlOiAnJyxcbiAgICB0ZWxlZ3JhbV9uYW1lOiAnJyxcbiAgICBvdGhlcl9idXNpbmVzc19yb2xlX25hbWU6ICcnLFxuICAgIG90aGVyX2RlcGFydG1lbnRfbmFtZTogJycsXG4gICAgYnVzaW5lc3Nfcm9sZTogJycsXG4gICAgZGVwYXJ0bWVudDogJycsXG4gICAgZmxvd19yYXRlX3VuaXQ6ICcnLFxuICAgIHRlbXBlcmF0dXJlX3VuaXQ6ICcnLFxuICB9O1xuXG4gIGNvbnN0IFtpc1RlbGVncmFtT3Blbiwgc2V0SXNUZWxlZ3JhbU9wZW5dID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc2hvd1Bhc3N3b3JkTW9kYWwsIHNldFNob3dQYXNzd29yZE1vZGFsXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3N1Ym1pdHRpbmcsIHNldFN1Ym1pdHRpbmddID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc2hvd1N1Y2Nlc3NNZXNzYWdlLCBzZXRTaG93U3VjY2Vzc01lc3NhZ2VdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc2hvd0Vycm9yTWVzc2FnZSwgc2V0U2hvd0Vycm9yTWVzc2FnZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UsIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZV0gPVxuICAgIHVzZVN0YXRlPHtcbiAgICAgIHNob3c6IGJvb2xlYW47XG4gICAgICBzdGF0dXM6IHN0cmluZztcbiAgICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICB9Pih7XG4gICAgICBzaG93OiBmYWxzZSxcbiAgICAgIHN0YXR1czogJycsXG4gICAgICBtZXNzYWdlOiAnJyxcbiAgICB9KTtcbiAgY29uc3QgW3BhcmFtcywgc2V0UGFyYW1zXSA9IHVzZVN0YXRlPHtcbiAgICBmaXJzdF9uYW1lOiBzdHJpbmc7XG4gICAgbGFzdF9uYW1lOiBzdHJpbmc7XG4gICAgcGhvbmU6IHN0cmluZztcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHRpbWVfem9uZTogc3RyaW5nO1xuICAgIGRhdGVfdGltZV9mb3JtYXQ6IHN0cmluZztcbiAgICBsb2NhbGU6IHN0cmluZztcbiAgICB0ZWxlZ3JhbV9uYW1lOiBzdHJpbmc7XG4gICAgb3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lOiBzdHJpbmc7XG4gICAgb3RoZXJfZGVwYXJ0bWVudF9uYW1lOiBzdHJpbmc7XG4gICAgZmxvd19yYXRlX3VuaXQ6IHN0cmluZztcbiAgfT4oaW5pdGlhbFBhcmFtc1N0YXRlKTtcblxuICBjb25zdCBoYW5kbGVPbkNoYW5nZSA9IChlKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGUuc3RhcnRzV2l0aCgnOTcyMCcpKSB7XG4gICAgICAgIGUgPSBlLnJlcGxhY2UoLyg5NzIwKS9nLCAnOTcyJyk7XG4gICAgICB9XG4gICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBwaG9uZTogZSxcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyB2YWx1ZSwgbmFtZSB9ID0gZS50YXJnZXQ7XG4gICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBbbmFtZV06IHZhbHVlLFxuICAgICAgfSkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVCdXNpbmVzc1JvbGVDaGFuZ2UgPSAoZSkgPT4ge1xuICAgIGlmIChlLnRhcmdldCAhPT0gbnVsbCkge1xuICAgICAgc2V0UGFyYW1zKHtcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICBidXNpbmVzc19yb2xlOiBlLnZhbHVlLFxuICAgICAgICBvdGhlcl9idXNpbmVzc19yb2xlX25hbWU6IGUudGFyZ2V0LnZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlcGFydG1lbnRDaGFuZ2UgPSAoZSkgPT4ge1xuICAgIGlmIChlLnRhcmdldCAhPT0gbnVsbCkge1xuICAgICAgc2V0UGFyYW1zKHtcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICBkZXBhcnRtZW50OiBlLnZhbHVlLFxuICAgICAgICBvdGhlcl9kZXBhcnRtZW50X25hbWU6IGUudGFyZ2V0LnZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzID0gKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBkYXRlX3RpbWVfZm9ybWF0OiBkYXRlVGltZUZvcm1hdC52YWx1ZSxcbiAgICAgIGxvY2FsZTogbG9jYWxlLnZhbHVlLFxuICAgICAgdGltZV96b25lOiB0aW1lem9uZS52YWx1ZSxcbiAgICAgIGRlcGFydG1lbnRfaWQ6IGRlcGFydG1lbnQgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBhcnRtZW50LnZhbHVlLFxuICAgICAgYnVzaW5lc3Nfcm9sZV9pZDogYnVzaW5lc3NSb2xlID09PSB1bmRlZmluZWQgPyBudWxsIDogYnVzaW5lc3NSb2xlLnZhbHVlLFxuICAgICAgZmxvd19yYXRlX3VuaXQ6IGZsb3dSYXRlVW5pdC52YWx1ZSxcbiAgICAgIHRlbXBlcmF0dXJlX3VuaXQ6IHRlbXBlcmF0dXJlVW5pdC52YWx1ZSxcbiAgICB9O1xuICB9O1xuXG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5TmFtZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICApO1xuXG4gIGNvbnN0IHNob3dUb2FzdCA9IChkYXRhKSA9PiB7XG4gICAgY29uc3QgdXNlcm5hbWUgPSBkYXRhLnVzZXJuYW1lO1xuICAgIGNvbnN0IGVycm9yID0gZGF0YS5lcnJvcjtcbiAgICBpZiAoZGF0YS5zdGF0dXMgPT09ICdzdWNjZXNzJykge1xuICAgICAgdG9hc3Quc3VjY2VzcyhcbiAgICAgICAgaTE4bi50KGBteV9wcm9maWxlX3RhYi50ZWxlZ3JhbV9tZXNzYWdlcy4ke2RhdGEubWVzc2FnZX1gLCB7XG4gICAgICAgICAgdXNlcm5hbWUsXG4gICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRvYXN0LmVycm9yKFxuICAgICAgICBpMThuLnQoYG15X3Byb2ZpbGVfdGFiLnRlbGVncmFtX21lc3NhZ2VzLiR7ZGF0YS5tZXNzYWdlfWAsIHtcbiAgICAgICAgICBlcnJvcjogZXJyb3IsXG4gICAgICAgICAgdXNlcm5hbWU6IHVzZXJuYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgc2V0U3VibWl0dGluZyh0cnVlKTtcbiAgICBheGlvc1xuICAgICAgLnB1dCgnL3Byb2ZpbGVzJywgeyB1c2VyOiBnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcygpIH0pXG4gICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICBpZiAocmVzcC5kYXRhLmVycm9ycyA9PT0gbnVsbCkge1xuICAgICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgICAgUGVybWlzc2lvbnNTbGljZS5hY3Rpb25zLnNldFVzZXJJbmZvKEpTT04ucGFyc2UocmVzcC5kYXRhLnVzZXIpKSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuZXJyb3ItbWVzc2FnZScpXG4gICAgICAgICAgICAuZm9yRWFjaCgocCkgPT4gKHAuaW5uZXJIVE1MID0gJycpKTtcblxuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmludmFsaWQtZmllbGQnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IHAuY2xhc3NMaXN0LnJlbW92ZSgnaW52YWxpZC1maWVsZCcpKTtcbiAgICAgICAgICBsZXQgdXNlciA9IEpTT04ucGFyc2UocmVzcC5kYXRhLnVzZXIpO1xuICAgICAgICAgIGNvbnN0IGZpbmRMb2NhbGUgPSBsb2NhbGVPcHRpb25zLmZpbmQoKGUpID0+IGUudmFsdWUgPT09IHVzZXIubG9jYWxlKTtcbiAgICAgICAgICBjb25zdCBmaW5kRmxvd1JhdGVVbml0ID0gZmxvd1JhdGVVbml0T3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHVzZXIuZmxvd19yYXRlX3VuaXQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBmaW5kVGVtcGVyYXR1cmVVbml0ID0gdGVtcGVyYXR1cmVVbml0T3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHVzZXIudGVtcGVyYXR1cmVfdW5pdCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IGZpbmREYXRlVGltZUZvcm1hdCA9IGRhdGVUaW1lRm9ybWF0T3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHVzZXIuZGF0ZV90aW1lX2Zvcm1hdCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IGZpbmRUaW1lem9uZSA9IHRpbWV6b25lcy5maW5kKFxuICAgICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHVzZXIudGltZV96b25lLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBzZXRQYXJhbXModXNlcik7XG4gICAgICAgICAgc2V0TG9jYWxlKGZpbmRMb2NhbGUhKTtcbiAgICAgICAgICBzZXRGbG93UmF0ZVVuaXQoZmluZEZsb3dSYXRlVW5pdCEpO1xuICAgICAgICAgIHNldFRlbXBlcmF0dXJlVW5pdChmaW5kVGVtcGVyYXR1cmVVbml0ISk7XG4gICAgICAgICAgc2V0RGF0ZVRpbWVGb3JtYXQoZmluZERhdGVUaW1lRm9ybWF0ISk7XG4gICAgICAgICAgc2V0VGltZXpvbmUoZmluZFRpbWV6b25lISk7XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKHRydWUpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICB9LCA2MDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lcnJvci1tZXNzYWdlJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiAocC5pbm5lckhUTUwgPSAnJykpO1xuICAgICAgICAgIGxldCBlcnJvcnMgPSByZXNwLmRhdGEudXNlci5lcnJvcnM7XG4gICAgICAgICAgZm9yIChjb25zdCBlcnJvciBpbiBlcnJvcnMpIHtcbiAgICAgICAgICAgIGxldCBmaW5kRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGlucHV0W25hbWU9JyR7ZXJyb3J9J11gKTtcbiAgICAgICAgICAgIGxldCBwYXJlbnQgPSBmaW5kRWxlbWVudCEuY2xvc2VzdCgnLmZpZWxkJyk7XG4gICAgICAgICAgICBsZXQgZmluZElucHV0ID0gcGFyZW50IS5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuICAgICAgICAgICAgZmluZElucHV0IS5jbGFzc0xpc3QuYWRkKCdpbnZhbGlkLWZpZWxkJyk7XG4gICAgICAgICAgICBwYXJlbnQhLnF1ZXJ5U2VsZWN0b3IoJy5lcnJvci1tZXNzYWdlJykhLmlubmVySFRNTCA9IGkxOG4udChcbiAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmVycm9ycy4ke2Vycm9yfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBzZXRTaG93RXJyb3JNZXNzYWdlKHRydWUpO1xuICAgICAgICBzZXRTaG93U3VjY2Vzc01lc3NhZ2UoZmFsc2UpO1xuICAgICAgICBzZXRTdWJtaXR0aW5nKGZhbHNlKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgc2V0U2hvd0Vycm9yTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIH0sIDYwMDApO1xuICAgICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnVmlld2VkIFByb2ZpbGUgUGFnZScsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB0b2tlbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPWNzcmYtdG9rZW5dJykhLmNvbnRlbnQ7XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtQ1NSRi1UT0tFTiddID0gdG9rZW47XG4gICAgYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzJztcbiAgICBheGlvc1xuICAgICAgLmdldChgL3Byb2ZpbGVzL3Jlc291cmNlYClcbiAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgIHNldFBhcmFtcyhyZXNwLmRhdGEudXNlcik7XG4gICAgICAgIGNvbnN0IGZpbmRQcm9wZXJ0eSA9IChvYmplY3QsIHByb3BlcnR5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdC5maW5kKChlKSA9PiBlLnZhbHVlID09PSBwcm9wZXJ0eSk7XG4gICAgICAgIH07XG4gICAgICAgIHNldExvY2FsZShmaW5kUHJvcGVydHkobG9jYWxlT3B0aW9ucywgcmVzcC5kYXRhLnVzZXIubG9jYWxlKSk7XG4gICAgICAgIHNldEZsb3dSYXRlVW5pdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZmxvd1JhdGVVbml0T3B0aW9ucywgcmVzcC5kYXRhLnVzZXIuZmxvd19yYXRlX3VuaXQpLFxuICAgICAgICApO1xuICAgICAgICBzZXRUZW1wZXJhdHVyZVVuaXQoXG4gICAgICAgICAgZmluZFByb3BlcnR5KHRlbXBlcmF0dXJlVW5pdE9wdGlvbnMsIHJlc3AuZGF0YS51c2VyLnRlbXBlcmF0dXJlX3VuaXQpLFxuICAgICAgICApO1xuICAgICAgICBzZXREYXRlVGltZUZvcm1hdChcbiAgICAgICAgICBmaW5kUHJvcGVydHkoZGF0ZVRpbWVGb3JtYXRPcHRpb25zLCByZXNwLmRhdGEudXNlci5kYXRlX3RpbWVfZm9ybWF0KSxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0VGltZXpvbmUoZmluZFByb3BlcnR5KHRpbWV6b25lcywgcmVzcC5kYXRhLnVzZXIudGltZV96b25lKSk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZShcbiAgICAgICAgICBmaW5kUHJvcGVydHkoXG4gICAgICAgICAgICByZXNwLmRhdGEuYnVzaW5lc3Nfcm9sZXMsXG4gICAgICAgICAgICByZXNwLmRhdGEudXNlci5idXNpbmVzc19yb2xlX2lkLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnQoXG4gICAgICAgICAgZmluZFByb3BlcnR5KHJlc3AuZGF0YS5kZXBhcnRtZW50cywgcmVzcC5kYXRhLnVzZXIuZGVwYXJ0bWVudF9pZCksXG4gICAgICAgICk7XG4gICAgICAgIHNldERlcGFydG1lbnRzKHJlc3AuZGF0YS5kZXBhcnRtZW50cyk7XG4gICAgICAgIHNldEJ1c2luZXNzUm9sZXMocmVzcC5kYXRhLmJ1c2luZXNzX3JvbGVzKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiBhbGVydChlcnJvcikpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZWFkZXItdGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aXRsZScpfTwvZGl2PlxuICAgICAgPGZvcm0gYWN0aW9uPVwiXCIgb25TdWJtaXQ9eyhlKSA9PiBoYW5kbGVTdWJtaXQoZSl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5wZXJzb25hbC1kZXRhaWxzJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicGVyc29uYWxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZpcnN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2ZpcnN0X25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMuZmlyc3RfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZU9uQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5sYXN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2xhc3RfbmFtZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5sYXN0X25hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVPbkNoYW5nZShlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZCBmaWVsZC0tcmVhZG9ubHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmVtYWlsJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydlbWFpbCd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5lbWFpbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucGhvbmUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxQaG9uZUlucHV0XG4gICAgICAgICAgICAgICAgY291bnRyeT17J2lsJ31cbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb249e2kxOG4udCgnY291bnRyaWVzJyl9XG4gICAgICAgICAgICAgICAgaW5wdXRDbGFzcz1cInBob25lLWlucHV0XCJcbiAgICAgICAgICAgICAgICBjb250YWluZXJDbGFzcz1cIm15LXBob25lXCJcbiAgICAgICAgICAgICAgICBidXR0b25DbGFzcz1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkNsYXNzPVwicGhvbmUtZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMucGhvbmV9XG4gICAgICAgICAgICAgICAgZW5hYmxlU2VhcmNoXG4gICAgICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI9e2kxOG4udCgnc2VhcmNoJyl9XG4gICAgICAgICAgICAgICAgY291bnRyeUNvZGVFZGl0YWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlT25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaW5wdXRQcm9wcz17eyBuYW1lOiAncGhvbmUnIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtkZXBhcnRtZW50c1swXS52YWx1ZSAhPT0gJycgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGVwYXJ0bWVudCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0RGVwYXJ0bWVudH1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRzLiR7ZGVwYXJ0bWVudD8ubGFiZWx9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZGVwYXJ0bWVudD8udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zPXtkZXBhcnRtZW50c31cbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGRlcGFydG1lbnRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25fa2V5OiAnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGVwYXJ0bWVudHMnLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGUnKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldEJ1c2luZXNzUm9sZX1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGkxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGRhc2hib2FyZF92Mi5wcm9maWxlLmJ1c2luZXNzX3JvbGVzLiR7YnVzaW5lc3NSb2xlPy5sYWJlbH1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBidXNpbmVzc1JvbGU/LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucz17YnVzaW5lc3NSb2xlc31cbiAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IGJ1c2luZXNzUm9sZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbl9rZXk6ICdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlcycsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7ZGVwYXJ0bWVudHNbMF0udmFsdWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BmaWVsZCAke1xuICAgICAgICAgICAgICAgICAgICBkZXBhcnRtZW50ICYmXG4gICAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnQ/LnZhbHVlID09PVxuICAgICAgICAgICAgICAgICAgICAgIGRlcGFydG1lbnRzW2RlcGFydG1lbnRzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpZWxkLS1oaWRkZW4nXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRlcGFydG1lbnRfYWx0Jyl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICByZWFkT25seT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPXsnb3RoZXJfZGVwYXJ0bWVudF9uYW1lJ31cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5vdGhlcl9kZXBhcnRtZW50X25hbWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlRGVwYXJ0bWVudENoYW5nZShlKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZmllbGQgJHtcbiAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlICYmXG4gICAgICAgICAgICAgICAgICAgIGJ1c2luZXNzUm9sZT8udmFsdWUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgYnVzaW5lc3NSb2xlc1tidXNpbmVzc1JvbGVzLmxlbmd0aCAtIDFdLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgICAgIDogJ2ZpZWxkLS1oaWRkZW4nXG4gICAgICAgICAgICAgICAgICB9IGB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5idXNpbmVzc19yb2xlX2FsdCcpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT17J290aGVyX2J1c2luZXNzX3JvbGVfbmFtZSd9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMub3RoZXJfYnVzaW5lc3Nfcm9sZV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZUJ1c2luZXNzUm9sZUNoYW5nZShlKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNoYW5nZS1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwodHJ1ZSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGVuU3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBmaWxsPVwiI2YwMTM0Y1wiIC8+XG4gICAgICAgICAgICAgICAgeycgICd9XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLXBhc3N3b3JkJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZXR0aW5ncycpfTwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNldHRpbmdzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aW1lLXpvbmUnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldFRpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3RpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGltZXpvbmVzfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRhdGUtdGltZS1mb3JtYXQnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17ZGF0ZVRpbWVGb3JtYXRPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2RhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldERhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGF0ZS10aW1lLWZvcm1hdCd9PlxuICAgICAgICAgICAgICAgIHtkYXRlVGltZUZvcm1hdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCBkYXRlVGltZUZvcm1hdC5mb3JtYXQpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUubGFuZ3VhZ2UnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17bG9jYWxlT3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0TG9jYWxlfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnRlbXBlcmF0dXJlX3VuaXRzJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGVtcGVyYXR1cmVVbml0T3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXt0ZW1wZXJhdHVyZVVuaXR9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0VGVtcGVyYXR1cmVVbml0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGQgZmllbGQtLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAge3BhcmFtcy50ZWxlZ3JhbV9uYW1lID09PSAnJyAmJiAoXG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwidGVsZWdyYW1cIiBvbkNsaWNrPXsoKSA9PiBzZXRJc1RlbGVncmFtT3Blbih0cnVlKX0+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jb25uZWN0LXRvLXRlbGVncmFtJyl9XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7cGFyYW1zLnRlbGVncmFtX25hbWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGVsZWdyYW1fbmFtZScpfVxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQZW5Tdmcgd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGZpbGw9XCIjZjAxMzRjXCIgLz57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLW5hbWUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXQnfT5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17J3RlbGVncmFtX25hbWUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy50ZWxlZ3JhbV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXRfX2NhbmNlbC1idXR0b24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbGVncmFtX25hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYW5jZWwgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0gb3Blbid9XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXhpb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldChgL3RlbGVncmFtL3NlbmRfdGVzdF9tZXNzYWdlLmpzb25gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS5zdGF0dXNbMF0udG9VcHBlckNhc2UoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS5zdGF0dXMuc3Vic3RyaW5nKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogcmVzcC5kYXRhLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RvYXN0KHJlc3AuZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGFsZXJ0KGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHshc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc2VuZF90ZWxlZ3JhbV9tZXNzYWdlJyl9XG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zaG93ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc3RhdHVzfVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRzJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17Zmxvd1JhdGVVbml0T3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtmbG93UmF0ZVVuaXR9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0Rmxvd1JhdGVVbml0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPXsnc3VibWl0J30gY2xhc3NOYW1lPXsnc2F2ZSd9IGRpc2FibGVkPXtzdWJtaXR0aW5nfT5cbiAgICAgICAgICAgIHshc3VibWl0dGluZyAmJlxuICAgICAgICAgICAgICAhc2hvd1N1Y2Nlc3NNZXNzYWdlICYmXG4gICAgICAgICAgICAgICFzaG93RXJyb3JNZXNzYWdlICYmXG4gICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VibWl0Jyl9XG4gICAgICAgICAgICB7c3VibWl0dGluZyAmJlxuICAgICAgICAgICAgICAhc2hvd1N1Y2Nlc3NNZXNzYWdlICYmXG4gICAgICAgICAgICAgICFzaG93RXJyb3JNZXNzYWdlICYmXG4gICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VibWl0dGluZycpfVxuICAgICAgICAgICAge3Nob3dTdWNjZXNzTWVzc2FnZSAmJiBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnN1Y2Nlc3MnKX1cbiAgICAgICAgICAgIHtzaG93RXJyb3JNZXNzYWdlICYmIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZXJyb3InKX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG5cbiAgICAgIHtzaG93UGFzc3dvcmRNb2RhbCAmJiAoXG4gICAgICAgIDxQYXNzd29yZE1vZGFsXG4gICAgICAgICAgY2xvc2U9eygpID0+IHNldFNob3dQYXNzd29yZE1vZGFsKGZhbHNlKX1cbiAgICAgICAgICBzYXZlPXsoKSA9PiB7fX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7aXNUZWxlZ3JhbU9wZW4gJiYgKFxuICAgICAgICA8VGVsZWdyYW1Nb2RhbFxuICAgICAgICAgIGNsb3NlPXsoKSA9PiBzZXRJc1RlbGVncmFtT3BlbihmYWxzZSl9XG4gICAgICAgICAgaGFuZGxlT25DaGFuZ2U9e2hhbmRsZU9uQ2hhbmdlfVxuICAgICAgICAgIGhhbmRsZVN1Ym1pdD17aGFuZGxlU3VibWl0fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBSixPQUFBO0FBQThELElBQUFLLElBQUEsR0FBQUwsT0FBQTtBQUFBLElBQUFNLE9BQUEsR0FBQU4sT0FBQTtBQUc5RCxJQUFBTyxnQkFBQSxHQUFBSixzQkFBQSxDQUFBSCxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxNQUFBLEdBQUFOLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxlQUFBLEdBQUFS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
|
package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js
CHANGED
|
@@ -29,7 +29,7 @@ var UtilityDashboardMapContainer = function UtilityDashboardMapContainer(props)
|
|
|
29
29
|
var period = dashboard.period['range'] || dashboard.period;
|
|
30
30
|
dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId, period));
|
|
31
31
|
dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId, true));
|
|
32
|
-
dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, period
|
|
32
|
+
dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, period));
|
|
33
33
|
}
|
|
34
34
|
}, [global_data.waterAuthorityId]);
|
|
35
35
|
return /*#__PURE__*/_react.default.createElement(_Map.Map, Object.assign({}, ReduxState, {
|
|
@@ -46,4 +46,4 @@ var UtilityDashboardMapContainer = function UtilityDashboardMapContainer(props)
|
|
|
46
46
|
}, props));
|
|
47
47
|
};
|
|
48
48
|
exports.UtilityDashboardMapContainer = UtilityDashboardMapContainer;
|
|
49
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX2FjdGlvbnMzIiwiX01hcCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiVXRpbGl0eURhc2hib2FyZE1hcENvbnRhaW5lciIsInByb3BzIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJldmVudHNfZGF0YSIsImRhc2hib2FyZCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJ1c2VFZmZlY3QiLCJ3YXRlckF1dGhvcml0eUlkIiwicGVyaW9kIiwiZmV0Y2hQb2ludHMiLCJmZXRjaEVkZ2VzIiwiZmV0Y2hBcmVhcyIsImNyZWF0ZUVsZW1lbnQiLCJNYXAiLCJhc3NpZ24iLCJwb2ludHMiLCJpdGVtcyIsImFyZWFzIiwibmV3QXJlYXMiLCJlZGdlcyIsImV2ZW50cyIsImFyZWFUb0NlbnRlckJ5IiwiZm9jdXNlZEV2ZW50IiwiZm9jdXNlZEV2ZW50UGF0aHMiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJmb3JFdmVudHNWaWV3IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9VdGlsaXR5RGFzaGJvYXJkTWFwQ29udGFpbmVyL1V0aWxpdHlEYXNoYm9hcmRNYXBDb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXAnO1xuaW50ZXJmYWNlIFV0aWxpdHlEYXNoYm9hcmRNYXBDb250YWluZXJQcm9wcyB7fVxuZXhwb3J0IGNvbnN0IFV0aWxpdHlEYXNoYm9hcmRNYXBDb250YWluZXI6IFJlYWN0LkZDPFV0aWxpdHlEYXNoYm9hcmRNYXBDb250YWluZXJQcm9wcz4gPVxuICAocHJvcHMpID0+
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX2FjdGlvbnMzIiwiX01hcCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiVXRpbGl0eURhc2hib2FyZE1hcENvbnRhaW5lciIsInByb3BzIiwiUmVkdXhTdGF0ZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJldmVudHNfZGF0YSIsImRhc2hib2FyZCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJ1c2VFZmZlY3QiLCJ3YXRlckF1dGhvcml0eUlkIiwicGVyaW9kIiwiZmV0Y2hQb2ludHMiLCJmZXRjaEVkZ2VzIiwiZmV0Y2hBcmVhcyIsImNyZWF0ZUVsZW1lbnQiLCJNYXAiLCJhc3NpZ24iLCJwb2ludHMiLCJpdGVtcyIsImFyZWFzIiwibmV3QXJlYXMiLCJlZGdlcyIsImV2ZW50cyIsImFyZWFUb0NlbnRlckJ5IiwiZm9jdXNlZEV2ZW50IiwiZm9jdXNlZEV2ZW50UGF0aHMiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJmb3JFdmVudHNWaWV3IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9VdGlsaXR5RGFzaGJvYXJkTWFwQ29udGFpbmVyL1V0aWxpdHlEYXNoYm9hcmRNYXBDb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXAnO1xuaW50ZXJmYWNlIFV0aWxpdHlEYXNoYm9hcmRNYXBDb250YWluZXJQcm9wcyB7fVxuZXhwb3J0IGNvbnN0IFV0aWxpdHlEYXNoYm9hcmRNYXBDb250YWluZXI6IFJlYWN0LkZDPFV0aWxpdHlEYXNoYm9hcmRNYXBDb250YWluZXJQcm9wcz4gPVxuICAocHJvcHMpID0+IHtcbiAgICBjb25zdCBSZWR1eFN0YXRlID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZSk7XG4gICAgY29uc3Qge1xuICAgICAgYXJlYXNfZGF0YSxcbiAgICAgIGdsb2JhbF9kYXRhLFxuICAgICAgcG9pbnRzX2RhdGEsXG4gICAgICBlZGdlc19kYXRhLFxuICAgICAgZXZlbnRzX2RhdGEsXG4gICAgICBkYXNoYm9hcmQsXG4gICAgfSA9IFJlZHV4U3RhdGU7XG5cbiAgICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgICAgY29uc3QgcGVyaW9kID0gZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBkYXNoYm9hcmQucGVyaW9kO1xuICAgICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCB0cnVlKSk7XG4gICAgICAgIGRpc3BhdGNoKGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kKSk7XG4gICAgICB9XG4gICAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcbiAgICByZXR1cm4gKFxuICAgICAgPE1hcFxuICAgICAgICB7Li4uUmVkdXhTdGF0ZX1cbiAgICAgICAgcG9pbnRzPXtwb2ludHNfZGF0YS5pdGVtc31cbiAgICAgICAgYXJlYXM9e2FyZWFzX2RhdGEubmV3QXJlYXN9XG4gICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgZWRnZXM9e2VkZ2VzX2RhdGEuaXRlbXN9XG4gICAgICAgIGV2ZW50cz17ZXZlbnRzX2RhdGEuaXRlbXN9XG4gICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhc19kYXRhLm5ld0FyZWFzWzBdfVxuICAgICAgICBmb2N1c2VkRXZlbnQ9e2V2ZW50c19kYXRhLmZvY3VzZWRFdmVudH1cbiAgICAgICAgZm9jdXNlZEV2ZW50UGF0aHM9e2V2ZW50c19kYXRhLmZvY3VzZWRFdmVudFBhdGhzfVxuICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxTQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxJQUFBLEdBQUFMLE9BQUE7QUFBMEMsU0FBQU0seUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFSLHdCQUFBWSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWixHQUFBLENBQUFZLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFILEdBQUEsTUFBQUksS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWpCLEdBQUEsRUFBQU8sTUFBQSxZQUFBQSxNQUFBO0FBRW5DLElBQU1XLDRCQUF5RSxHQUNwRixTQURXQSw0QkFBeUVBLENBQ25GQyxLQUFLLEVBQUs7RUFDVCxJQUFNQyxVQUFVLEdBQUcsSUFBQUMsdUJBQVcsRUFBQyxVQUFDQyxLQUFLO0lBQUEsT0FBS0EsS0FBSztFQUFBLEVBQUM7RUFDaEQsSUFDRUMsVUFBVSxHQU1SSCxVQUFVLENBTlpHLFVBQVU7SUFDVkMsV0FBVyxHQUtUSixVQUFVLENBTFpJLFdBQVc7SUFDWEMsV0FBVyxHQUlUTCxVQUFVLENBSlpLLFdBQVc7SUFDWEMsVUFBVSxHQUdSTixVQUFVLENBSFpNLFVBQVU7SUFDVkMsV0FBVyxHQUVUUCxVQUFVLENBRlpPLFdBQVc7SUFDWEMsU0FBUyxHQUNQUixVQUFVLENBRFpRLFNBQVM7RUFHWCxJQUFNQyxRQUFRLEdBQUcsSUFBQUMsdUJBQVcsRUFBQyxDQUFDO0VBRTlCLElBQUFDLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQUlQLFdBQVcsQ0FBQ1EsZ0JBQWdCLEVBQUU7TUFDaEMsSUFBTUMsTUFBTSxHQUFHTCxTQUFTLENBQUNLLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSUwsU0FBUyxDQUFDSyxNQUFNO01BQzVESixRQUFRLENBQUMsSUFBQUsscUJBQVcsRUFBQ1YsV0FBVyxDQUFDUSxnQkFBZ0IsRUFBRUMsTUFBTSxDQUFDLENBQUM7TUFDM0RKLFFBQVEsQ0FBQyxJQUFBTSxvQkFBVSxFQUFDWCxXQUFXLENBQUNRLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO01BQ3hESCxRQUFRLENBQUMsSUFBQU8sbUJBQVUsRUFBQ1osV0FBVyxDQUFDUSxnQkFBZ0IsRUFBRUMsTUFBTSxDQUFDLENBQUM7SUFDNUQ7RUFDRixDQUFDLEVBQUUsQ0FBQ1QsV0FBVyxDQUFDUSxnQkFBZ0IsQ0FBQyxDQUFDO0VBQ2xDLG9CQUNFN0MsTUFBQSxDQUFBZ0IsT0FBQSxDQUFBa0MsYUFBQSxDQUFDM0MsSUFBQSxDQUFBNEMsR0FBRyxFQUFBN0IsTUFBQSxDQUFBOEIsTUFBQSxLQUNFbkIsVUFBVTtJQUNkb0IsTUFBTSxFQUFFZixXQUFXLENBQUNnQixLQUFNO0lBQzFCQyxLQUFLLEVBQUVuQixVQUFVLENBQUNvQixRQUFTO0lBQzNCbkIsV0FBVyxFQUFFQSxXQUFZO0lBQ3pCb0IsS0FBSyxFQUFFbEIsVUFBVSxDQUFDZSxLQUFNO0lBQ3hCSSxNQUFNLEVBQUVsQixXQUFXLENBQUNjLEtBQU07SUFDMUJLLGNBQWMsRUFBRXZCLFVBQVUsQ0FBQ29CLFFBQVEsQ0FBQyxDQUFDLENBQUU7SUFDdkNJLFlBQVksRUFBRXBCLFdBQVcsQ0FBQ29CLFlBQWE7SUFDdkNDLGlCQUFpQixFQUFFckIsV0FBVyxDQUFDcUIsaUJBQWtCO0lBQ2pEQyx3QkFBd0IsRUFBRSxJQUFLO0lBQy9CQyxhQUFhLEVBQUU7RUFBTSxHQUNqQi9CLEtBQUssQ0FDVixDQUFDO0FBRU4sQ0FBQztBQUFDZ0MsT0FBQSxDQUFBakMsNEJBQUEsR0FBQUEsNEJBQUEifQ==
|