single-scripture-rcl 3.4.29 → 3.4.30
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.
|
@@ -53,14 +53,13 @@ import "core-js/modules/es.object.get-prototype-of.js";
|
|
|
53
53
|
import "core-js/modules/es.object.set-prototype-of.js";
|
|
54
54
|
import "core-js/modules/es.array.reverse.js";
|
|
55
55
|
// @ts-ignore
|
|
56
|
-
import { useEffect, useState } from 'react';
|
|
56
|
+
import { useEffect, useRef, useState } from 'react';
|
|
57
57
|
import { core } from 'scripture-resources-rcl';
|
|
58
58
|
import { CONTENT_NOT_FOUND_ERROR, ERROR_STATE, INITIALIZED_STATE, INVALID_MANIFEST_ERROR, LOADING_STATE, MANIFEST_NOT_LOADED_ERROR, SCRIPTURE_NOT_LOADED_ERROR } from 'translation-helps-rcl';
|
|
59
|
-
import useDeepCompareEffect from 'use-deep-compare-effect';
|
|
60
59
|
import { getVerses } from 'bible-reference-range';
|
|
61
60
|
import { isEqual } from '@react-hookz/deep-equal';
|
|
62
61
|
import { AlignmentHelpers, UsfmFileConversionHelpers } from 'word-aligner-rcl';
|
|
63
|
-
import {
|
|
62
|
+
import { fetchBibleBookCore, verseObjectsHaveWords } from '../utils';
|
|
64
63
|
import { cleanupVerseObjects, getBookNameFromUsfmFileName, getResourceLink, parseResourceLink } from '../utils/ScriptureSettings';
|
|
65
64
|
import { BookFetchParams, BookObjectsType, ScriptureResourceType, ScriptureReferenceType, ServerConfigType, VerseObjectsType, VerseReferencesType } from '../types';
|
|
66
65
|
import { parseResourceManifest } from './parseResourceManifest';
|
|
@@ -129,11 +128,11 @@ export function useScripture(_ref2) {
|
|
|
129
128
|
resourceLink_ = _ref2.resourceLink,
|
|
130
129
|
_ref2$wholeBook = _ref2.wholeBook,
|
|
131
130
|
wholeBook = _ref2$wholeBook === void 0 ? false : _ref2$wholeBook;
|
|
131
|
+
var fetching = useRef(false);
|
|
132
132
|
var _useState = useState({
|
|
133
133
|
bibleUsfm: null,
|
|
134
134
|
bookObjects: null,
|
|
135
135
|
fetchCount: 0,
|
|
136
|
-
fetched: false,
|
|
137
136
|
fetchedBook: '',
|
|
138
137
|
fetchParams: null,
|
|
139
138
|
ignoreSha: null,
|
|
@@ -168,14 +167,12 @@ export function useScripture(_ref2) {
|
|
|
168
167
|
var bibleUsfm = _state.bibleUsfm,
|
|
169
168
|
bookObjects = _state.bookObjects,
|
|
170
169
|
fetchCount = _state.fetchCount,
|
|
171
|
-
fetched = _state.fetched,
|
|
172
170
|
fetchedBook = _state.fetchedBook,
|
|
173
171
|
fetchParams = _state.fetchParams,
|
|
174
172
|
ignoreSha = _state.ignoreSha,
|
|
175
173
|
initialized = _state.initialized,
|
|
176
174
|
resourceState = _state.resourceState,
|
|
177
175
|
versesForRef = _state.versesForRef;
|
|
178
|
-
var fetchedResources = resourceState === null || resourceState === void 0 ? void 0 : resourceState.fetchedResources;
|
|
179
176
|
function setState(newState) {
|
|
180
177
|
setState_(function (prevState) {
|
|
181
178
|
return _objectSpread(_objectSpread({}, prevState), newState);
|
|
@@ -217,6 +214,10 @@ export function useScripture(_ref2) {
|
|
|
217
214
|
resourceLink: resourceLink
|
|
218
215
|
};
|
|
219
216
|
if (!isEqual(newFetchParams, fetchParams)) {
|
|
217
|
+
console.log("useScripture - parameters changed", {
|
|
218
|
+
newFetchParams: newFetchParams,
|
|
219
|
+
fetchParams: fetchParams
|
|
220
|
+
});
|
|
220
221
|
setState({
|
|
221
222
|
fetchParams: newFetchParams,
|
|
222
223
|
fetched: false,
|
|
@@ -245,26 +246,35 @@ export function useScripture(_ref2) {
|
|
|
245
246
|
_resourceState$resour2,
|
|
246
247
|
_fetchCount,
|
|
247
248
|
response,
|
|
249
|
+
fetchedResources,
|
|
248
250
|
_args = arguments;
|
|
249
251
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
250
252
|
while (1) switch (_context.prev = _context.next) {
|
|
251
253
|
case 0:
|
|
252
254
|
ignoreSha = _args.length > 1 && _args[1] !== undefined ? _args[1] : null;
|
|
253
255
|
_context.prev = 1;
|
|
256
|
+
if (!fetching.current) {
|
|
257
|
+
_context.next = 5;
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
console.log("useScripture.fetchBook() - already fetching", fetchParams);
|
|
261
|
+
return _context.abrupt("return");
|
|
262
|
+
case 5:
|
|
254
263
|
fetchLink = "".concat(fetchParams === null || fetchParams === void 0 ? void 0 : fetchParams.resourceLink, "/").concat(fetchParams === null || fetchParams === void 0 || (_fetchParams$referenc2 = fetchParams.reference) === null || _fetchParams$referenc2 === void 0 ? void 0 : _fetchParams$referenc2.bookId);
|
|
255
264
|
if (!ignoreSha) {
|
|
256
|
-
_context.next =
|
|
265
|
+
_context.next = 11;
|
|
257
266
|
break;
|
|
258
267
|
}
|
|
259
268
|
fetchedShaMatchesIgnoreSha = ignoreSha === (resourceState === null || resourceState === void 0 ? void 0 : resourceState.sha); // we will reload if ignoreSha given and it matches current sha
|
|
260
269
|
if (!(fetchLink === (resourceState === null || resourceState === void 0 || (_resourceState$resour = resourceState.resource) === null || _resourceState$resour === void 0 ? void 0 : _resourceState$resour.resourceLink) && !fetchedShaMatchesIgnoreSha)) {
|
|
261
|
-
_context.next =
|
|
270
|
+
_context.next = 11;
|
|
262
271
|
break;
|
|
263
272
|
}
|
|
264
273
|
// see if we already fetched this
|
|
265
274
|
console.log("useScripture.fetchBook() - Already fetching resourceLink ".concat(resourceState === null || resourceState === void 0 || (_resourceState$resour2 = resourceState.resource) === null || _resourceState$resour2 === void 0 ? void 0 : _resourceState$resour2.resourceLink, " and ignoreSha=").concat(ignoreSha), fetchParams);
|
|
266
275
|
return _context.abrupt("return");
|
|
267
|
-
case
|
|
276
|
+
case 11:
|
|
277
|
+
fetching.current = true; // block other fetches while running
|
|
268
278
|
_fetchCount = fetchCount + 1;
|
|
269
279
|
console.log("useScripture.fetchBook() - FETCHING bible ".concat(resource_ === null || resource_ === void 0 ? void 0 : resource_.projectId, " resourceLink is now ").concat(fetchParams === null || fetchParams === void 0 ? void 0 : fetchParams.resourceLink, " and ignoreSha=").concat(ignoreSha), fetchParams);
|
|
270
280
|
setState({
|
|
@@ -275,12 +285,12 @@ export function useScripture(_ref2) {
|
|
|
275
285
|
loadingResource: true
|
|
276
286
|
}
|
|
277
287
|
});
|
|
278
|
-
_context.next =
|
|
288
|
+
_context.next = 17;
|
|
279
289
|
return fetchBibleBookCore(fetchParams);
|
|
280
|
-
case
|
|
290
|
+
case 17:
|
|
281
291
|
response = _context.sent;
|
|
282
292
|
if (!(!response || response !== null && response !== void 0 && response.error)) {
|
|
283
|
-
_context.next =
|
|
293
|
+
_context.next = 23;
|
|
284
294
|
break;
|
|
285
295
|
}
|
|
286
296
|
console.log("useScripture.warn() -Error FETCHING bible ".concat(resource_ === null || resource_ === void 0 ? void 0 : resource_.projectId), response);
|
|
@@ -290,22 +300,19 @@ export function useScripture(_ref2) {
|
|
|
290
300
|
response: response
|
|
291
301
|
}
|
|
292
302
|
});
|
|
303
|
+
fetching.current = false;
|
|
293
304
|
return _context.abrupt("return");
|
|
294
|
-
case
|
|
305
|
+
case 23:
|
|
295
306
|
console.log("useScripture.fetchBook() - LOADED bible book ".concat(resource_ === null || resource_ === void 0 ? void 0 : resource_.projectId, " resourceLink is now ").concat(fetchParams === null || fetchParams === void 0 ? void 0 : fetchParams.resourceLink, "}"), fetchParams);
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
fetchedResources: _objectSpread(_objectSpread({}, response), {}, {
|
|
300
|
-
fetchCount: _fetchCount,
|
|
301
|
-
reference: fetchParams === null || fetchParams === void 0 ? void 0 : fetchParams.reference
|
|
302
|
-
})
|
|
303
|
-
}
|
|
307
|
+
fetchedResources = _objectSpread(_objectSpread({}, response), {}, {
|
|
308
|
+
fetchCount: _fetchCount,
|
|
309
|
+
reference: fetchParams === null || fetchParams === void 0 ? void 0 : fetchParams.reference
|
|
304
310
|
});
|
|
305
|
-
|
|
311
|
+
validateResponse(fetchedResources, fetchParams);
|
|
312
|
+
_context.next = 33;
|
|
306
313
|
break;
|
|
307
|
-
case
|
|
308
|
-
_context.prev =
|
|
314
|
+
case 28:
|
|
315
|
+
_context.prev = 28;
|
|
309
316
|
_context.t0 = _context["catch"](1);
|
|
310
317
|
console.error("useScripture.fetchBook() - hard error loading resource", fetchParams, _context.t0);
|
|
311
318
|
setState({
|
|
@@ -314,11 +321,12 @@ export function useScripture(_ref2) {
|
|
|
314
321
|
resource: null
|
|
315
322
|
}
|
|
316
323
|
});
|
|
317
|
-
|
|
324
|
+
fetching.current = false;
|
|
325
|
+
case 33:
|
|
318
326
|
case "end":
|
|
319
327
|
return _context.stop();
|
|
320
328
|
}
|
|
321
|
-
}, _callee, null, [[1,
|
|
329
|
+
}, _callee, null, [[1, 28]]);
|
|
322
330
|
}));
|
|
323
331
|
return _fetchBook.apply(this, arguments);
|
|
324
332
|
}
|
|
@@ -329,7 +337,7 @@ export function useScripture(_ref2) {
|
|
|
329
337
|
/**
|
|
330
338
|
* make sure last fetch response is for current book/branch
|
|
331
339
|
*/
|
|
332
|
-
function validateResponse() {
|
|
340
|
+
function validateResponse(fetchedResources, fetchParams) {
|
|
333
341
|
var _fetchedBook$toLowerC;
|
|
334
342
|
var isSameBook = false;
|
|
335
343
|
// @ts-ignore
|
|
@@ -386,25 +394,15 @@ export function useScripture(_ref2) {
|
|
|
386
394
|
sha: sha,
|
|
387
395
|
url: url
|
|
388
396
|
},
|
|
397
|
+
unprocessed: false,
|
|
389
398
|
versesForRef: _versesForRef2
|
|
390
399
|
};
|
|
391
400
|
setState(newState);
|
|
401
|
+
fetching.current = false;
|
|
392
402
|
}
|
|
393
403
|
}
|
|
394
|
-
useDeepCompareEffect(function () {
|
|
395
|
-
// validate response to make sure from latest request
|
|
396
|
-
if (readyForFetch && fetchedResources) {
|
|
397
|
-
if (!fetched && (fetchedResources === null || fetchedResources === void 0 ? void 0 : fetchedResources.fetchCount) === fetchCount) {
|
|
398
|
-
delay(500).then(function () {
|
|
399
|
-
validateResponse();
|
|
400
|
-
});
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}, [{
|
|
404
|
-
readyForFetch: readyForFetch,
|
|
405
|
-
fetchedResources: fetchedResources
|
|
406
|
-
}]);
|
|
407
404
|
var resource = resourceState === null || resourceState === void 0 ? void 0 : resourceState.resource;
|
|
405
|
+
var unprocessed = resourceState === null || resourceState === void 0 ? void 0 : resourceState.unprocessed;
|
|
408
406
|
var _parseResourceManifes = parseResourceManifest(resource),
|
|
409
407
|
title = _parseResourceManifes.title,
|
|
410
408
|
version = _parseResourceManifes.version;
|
|
@@ -413,7 +411,7 @@ export function useScripture(_ref2) {
|
|
|
413
411
|
var scriptureNotLoadedError = !(resourceState !== null && resourceState !== void 0 && resourceState.bookObjects);
|
|
414
412
|
var manifestNotFoundError = !(resource !== null && resource !== void 0 && resource.manifest);
|
|
415
413
|
var invalidManifestError = !title || !version || !languageId;
|
|
416
|
-
var error = readyForFetch && initialized && !loading && (contentNotFoundError || scriptureNotLoadedError || manifestNotFoundError || invalidManifestError);
|
|
414
|
+
var error = readyForFetch && initialized && !loading && !unprocessed && (contentNotFoundError || scriptureNotLoadedError || manifestNotFoundError || invalidManifestError);
|
|
417
415
|
var resourceStatus = (_resourceStatus = {}, _defineProperty(_resourceStatus, LOADING_STATE, loading), _defineProperty(_resourceStatus, CONTENT_NOT_FOUND_ERROR, contentNotFoundError), _defineProperty(_resourceStatus, SCRIPTURE_NOT_LOADED_ERROR, scriptureNotLoadedError), _defineProperty(_resourceStatus, MANIFEST_NOT_LOADED_ERROR, manifestNotFoundError), _defineProperty(_resourceStatus, INVALID_MANIFEST_ERROR, invalidManifestError), _defineProperty(_resourceStatus, ERROR_STATE, error), _defineProperty(_resourceStatus, INITIALIZED_STATE, initialized), _resourceStatus);
|
|
418
416
|
useEffect(function () {
|
|
419
417
|
if (!readyForFetch) {
|
|
@@ -600,4 +598,4 @@ export function useScripture(_ref2) {
|
|
|
600
598
|
versesForRef: versesForRef
|
|
601
599
|
};
|
|
602
600
|
}
|
|
603
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsImVyciIsInN0ZXAiLCJfZTIiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJnZW4iLCJyZWplY3QiLCJfbmV4dCIsIl90aHJvdyIsImtleSIsImluZm8iLCJlcnJvciIsIl9hc3luY1RvR2VuZXJhdG9yIiwiZm4iLCJzZWxmIiwiYXJncyIsImFyZ3VtZW50cyIsImFwcGx5IiwidW5kZWZpbmVkIiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIm9iaiIsIl90b1Byb3BlcnR5S2V5IiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiaW5wdXQiLCJoaW50IiwicHJpbSIsInRvUHJpbWl0aXZlIiwicmVzIiwiTnVtYmVyIiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsImZyb20iLCJ0ZXN0IiwibGVuIiwiYXJyMiIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiY29yZSIsIkNPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SIiwiRVJST1JfU1RBVEUiLCJJTklUSUFMSVpFRF9TVEFURSIsIklOVkFMSURfTUFOSUZFU1RfRVJST1IiLCJMT0FESU5HX1NUQVRFIiwiTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUiIsIlNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SIiwidXNlRGVlcENvbXBhcmVFZmZlY3QiLCJnZXRWZXJzZXMiLCJpc0VxdWFsIiwiQWxpZ25tZW50SGVscGVycyIsIlVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMiLCJkZWxheSIsImZldGNoQmlibGVCb29rQ29yZSIsInZlcnNlT2JqZWN0c0hhdmVXb3JkcyIsImNsZWFudXBWZXJzZU9iamVjdHMiLCJnZXRCb29rTmFtZUZyb21Vc2ZtRmlsZU5hbWUiLCJnZXRSZXNvdXJjZUxpbmsiLCJwYXJzZVJlc291cmNlTGluayIsIkJvb2tGZXRjaFBhcmFtcyIsIkJvb2tPYmplY3RzVHlwZSIsIlNjcmlwdHVyZVJlc291cmNlVHlwZSIsIlNjcmlwdHVyZVJlZmVyZW5jZVR5cGUiLCJTZXJ2ZXJDb25maWdUeXBlIiwiVmVyc2VPYmplY3RzVHlwZSIsIlZlcnNlUmVmZXJlbmNlc1R5cGUiLCJwYXJzZVJlc291cmNlTWFuaWZlc3QiLCJnZXRCcmFuY2hOYW1lIiwicmVzb3VyY2VMaW5rIiwiYnJhbmNoIiwicGFydHMiLCJzcGxpdCIsIl9wYXJ0cyIsImdldFZlcnNlc0ZvclJlZlN0ciIsInJlZlN0ciIsImJvb2tPYmplY3RzIiwibGFuZ3VhZ2VJZCIsInZlcnNlcyIsImNoYXB0ZXJzIiwibWFwIiwidmVyc2UiLCJfdmVyc2UkdmVyc2VEYXRhIiwidmVyc2VEYXRhIiwidmVyc2VPYmplY3RzIiwidmVyc2VPYmplY3RzXyIsIm9jY3VycmVuY2VJbmplY3RWZXJzZU9iamVjdHMiLCJnZXRWZXJzZXNGb3JSZWYiLCJyZWZlcmVuY2UiLCJjb25jYXQiLCJjaGFwdGVyIiwidXNlU2NyaXB0dXJlIiwiX3JlZjIiLCJfcmVzb3VyY2VTdGF0dXMiLCJfZmV0Y2hQYXJhbXMkcmVmZXJlbmMiLCJjb25maWciLCJyZWFkeUZvckZldGNoIiwicmVzb3VyY2VfIiwicmVzb3VyY2UiLCJyZXNvdXJjZUxpbmtfIiwiX3JlZjIkd2hvbGVCb29rIiwid2hvbGVCb29rIiwiX3VzZVN0YXRlIiwiYmlibGVVc2ZtIiwiZmV0Y2hDb3VudCIsImZldGNoZWQiLCJmZXRjaGVkQm9vayIsImZldGNoUGFyYW1zIiwiaWdub3JlU2hhIiwiaW5pdGlhbGl6ZWQiLCJyZXNvdXJjZVN0YXRlIiwiY29udGVudCIsImZldGNoUmVzcG9uc2UiLCJmZXRjaGVkUmVzb3VyY2VzIiwibG9hZGluZ1Jlc291cmNlIiwibG9hZGluZ0NvbnRlbnQiLCJzaGEiLCJ1cmwiLCJ2ZXJzZXNGb3JSZWYiLCJfdXNlU3RhdGUyIiwic3RhdGUiLCJzZXRTdGF0ZV8iLCJfcmVmMyIsIm93bmVyIiwiX3JlZjMkYnJhbmNoIiwiX3JlZjMkcmVmIiwicmVmIiwiX3JlZjQiLCJib29rSWQiLCJfc3RhdGUiLCJzZXRTdGF0ZSIsIm5ld1N0YXRlIiwicHJldlN0YXRlIiwiaW5pdGlhdGVCb29rRmV0Y2giLCJjb25zb2xlIiwibG9nIiwiY3JlYXRlTGluayIsInJlZl8iLCJyZXNvdXJjZUlkIiwicHJvamVjdElkIiwiYm9va1JlZiIsIm5ld0ZldGNoUGFyYW1zIiwiZmV0Y2hCb29rIiwiX3giLCJfZmV0Y2hCb29rIiwiX2NhbGxlZSIsIl9mZXRjaFBhcmFtcyRyZWZlcmVuYzIiLCJmZXRjaExpbmsiLCJfcmVzb3VyY2VTdGF0ZSRyZXNvdXIiLCJmZXRjaGVkU2hhTWF0Y2hlc0lnbm9yZVNoYSIsIl9yZXNvdXJjZVN0YXRlJHJlc291cjIiLCJfZmV0Y2hDb3VudCIsInJlc3BvbnNlIiwiX2FyZ3MiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwidDAiLCJ2YWxpZGF0ZVJlc3BvbnNlIiwiX2ZldGNoZWRCb29rJHRvTG93ZXJDIiwiaXNTYW1lQm9vayIsImV4cGVjdGVkQm9va0lkIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsImZldGNoZWRCcmFuY2giLCJmZXRjaGluZ0JyYW5jaCIsIndhcm4iLCJiaWJsZVVzZm1fIiwiZ2V0VmVyc2VzRm9yUmVmXyIsIl9wYXJzZVJlc291cmNlTWFuaWZlcyIsInRpdGxlIiwidmVyc2lvbiIsImxvYWRpbmciLCJjb250ZW50Tm90Rm91bmRFcnJvciIsInNjcmlwdHVyZU5vdExvYWRlZEVycm9yIiwibWFuaWZlc3ROb3RGb3VuZEVycm9yIiwibWFuaWZlc3QiLCJpbnZhbGlkTWFuaWZlc3RFcnJvciIsInJlc291cmNlU3RhdHVzIiwiaW50aWFsaXplZCIsIl9nZXRWZXJzZXNGb3JSZWYiLCJjb250ZW50XyIsInVwZGF0ZVZlcnNlIiwiYm9va09iamVjdHNfIiwiX2Jvb2tPYmplY3RzIiwibmV3VmVyc2VzRm9yUmVmIiwiX25ld1ZlcnNlc0ZvclJlZiIsImluaXRpYWxWZXJzZU9iamVjdHMiLCJfaXRlcmF0b3IiLCJfc3RlcCIsInZvIiwidmVyc2VUZXh0IiwiZ2V0VXNmbUZvclZlcnNlQ29udGVudCIsIl9BbGlnbm1lbnRIZWxwZXJzJHVwZCIsInVwZGF0ZUFsaWdubWVudHNUb1RhcmdldFZlcnNlIiwidGFyZ2V0VmVyc2VPYmplY3RzIiwicmVsb2FkUmVzb3VyY2UiLCJfZmV0Y2hQYXJhbXMiLCJfcGFyc2VSZXNvdXJjZUxpbmsiLCJfcmVmIiwiX3Jlc291cmNlTGluayIsImN1cnJlbnRCb29rUmVmIiwiZmV0Y2hlZEJvb2tTYW1lIiwiX3ZlcnNlc0ZvclJlZiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7XG4gIHVzZUVmZmVjdCxcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHtcbiAgQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IsXG4gIEVSUk9SX1NUQVRFLFxuICBJTklUSUFMSVpFRF9TVEFURSxcbiAgSU5WQUxJRF9NQU5JRkVTVF9FUlJPUixcbiAgTE9BRElOR19TVEFURSxcbiAgTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUixcbiAgU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1IsXG59IGZyb20gJ3RyYW5zbGF0aW9uLWhlbHBzLXJjbCdcbmltcG9ydCB1c2VEZWVwQ29tcGFyZUVmZmVjdCBmcm9tICd1c2UtZGVlcC1jb21wYXJlLWVmZmVjdCdcbmltcG9ydCB7IGdldFZlcnNlcyB9IGZyb20gJ2JpYmxlLXJlZmVyZW5jZS1yYW5nZSdcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdAcmVhY3QtaG9va3ovZGVlcC1lcXVhbCdcbmltcG9ydCB7IEFsaWdubWVudEhlbHBlcnMsIFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMgfSBmcm9tICd3b3JkLWFsaWduZXItcmNsJ1xuaW1wb3J0IHtcbiAgZGVsYXksXG4gIGZldGNoQmlibGVCb29rQ29yZSxcbiAgdmVyc2VPYmplY3RzSGF2ZVdvcmRzLFxufSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7XG4gIGNsZWFudXBWZXJzZU9iamVjdHMsXG4gIGdldEJvb2tOYW1lRnJvbVVzZm1GaWxlTmFtZSxcbiAgZ2V0UmVzb3VyY2VMaW5rLFxuICBwYXJzZVJlc291cmNlTGluayxcbn0gZnJvbSAnLi4vdXRpbHMvU2NyaXB0dXJlU2V0dGluZ3MnXG5pbXBvcnQge1xuICBCb29rRmV0Y2hQYXJhbXMsXG4gIEJvb2tPYmplY3RzVHlwZSxcbiAgU2NyaXB0dXJlUmVzb3VyY2VUeXBlLFxuICBTY3JpcHR1cmVSZWZlcmVuY2VUeXBlLFxuICBTZXJ2ZXJDb25maWdUeXBlLFxuICBWZXJzZU9iamVjdHNUeXBlLFxuICBWZXJzZVJlZmVyZW5jZXNUeXBlLFxufSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IHBhcnNlUmVzb3VyY2VNYW5pZmVzdCB9IGZyb20gJy4vcGFyc2VSZXNvdXJjZU1hbmlmZXN0J1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvKiogcmVmZXJlbmNlIGZvciBzY3JpcHR1cmUgKiovXG4gIHJlZmVyZW5jZTogU2NyaXB0dXJlUmVmZXJlbmNlVHlwZTtcbiAgLyoqIHdoZXJlIHRvIGdldCBkYXRhICoqL1xuICBjb25maWc6IFNlcnZlckNvbmZpZ1R5cGU7XG4gIC8qKiBvcHRpb25hbCBkaXJlY3QgcGF0aCB0byBiaWJsZSByZXNvdXJjZSwgaW4gZm9ybWF0ICR7b3duZXJ9LyR7bGFuZ3VhZ2VJZH0vJHtwcm9qZWN0SWR9LyR7YnJhbmNofSAqKi9cbiAgcmVzb3VyY2VMaW5rOiBzdHJpbmd8dW5kZWZpbmVkO1xuICAvKiogb3B0aW9uYWwgcmVzb3VyY2Ugb2JqZWN0IHRvIHVzZSB0byBidWlsZCByZXNvdXJjZUxpbmsgKiovXG4gIHJlc291cmNlOiBTY3JpcHR1cmVSZXNvdXJjZVR5cGV8dW5kZWZpbmVkO1xuICAvKiogaWYgdHJ1ZSB0aGVuIGZldGNoIHRoZSBlbnRpcmUgYm9vayAqL1xuICB3aG9sZUJvb2s6IGJvb2xlYW47XG4gIC8qKiBpZiB0cnVlIHRoZW4gc2V0dGluZ3MgYXJlIHJlYWR5IGZvciBmZXRjaGluZyBkYXRhICovXG4gIHJlYWR5Rm9yRmV0Y2g6IGJvb2xlYW47XG59XG5cbi8qKlxuICogZXh0cmFjdCBicmFuY2ggZnJvbSByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0gcmVzb3VyY2VMaW5rXG4gKi9cbmZ1bmN0aW9uIGdldEJyYW5jaE5hbWUocmVzb3VyY2VMaW5rOiBzdHJpbmcpIHtcbiAgbGV0IGJyYW5jaCA9IG51bGxcbiAgcmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rIHx8ICcnXG4gIGNvbnN0IHBhcnRzID0gcmVzb3VyY2VMaW5rLnNwbGl0KCc/cmVmPScpXG5cbiAgaWYgKHBhcnRzLmxlbmd0aCA+IDEpIHsgLy8gaWYgcmVmIHBhcmFtZXRlciBmb3VuZCwgZ2V0IGJyYW5jaCBuYW1lIGFmdGVyXG4gICAgYnJhbmNoID0gcGFydHM/LlsxXVxuICB9IGVsc2UgeyAvLyBmYWxsIGJhY2sgdG8gdXNpbmcgdXNlUnNyYyBmb3JtYXQgc3VjaCBhcyBcInVuZm9sZGluZ1dvcmQvZW4vdXN0L21hc3RlclwiXG4gICAgY29uc3QgX3BhcnRzID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcbiAgICBicmFuY2ggPSBfcGFydHM/LlszXVxuICB9XG4gIHJldHVybiBicmFuY2hcbn1cblxuLyoqXG4gKiBnZXQgdGhlIHZlcnNlIG9iamVjdHMgZm9yIHRoZSByZWZlcmVuY2Ugc3RyaW5nXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVmU3RyIC0gaW4gZm9ybWF0IDxjaGFwdGVyPjo8dmVyc2U+XG4gKiBAcGFyYW0ge29iamVjdH0gYm9va09iamVjdHMgLSBwYXJzZWQgdXNmbSBmb3IgYm9va1xuICogQHBhcmFtIHtzdHJpbmd9IGxhbmd1YWdlSWRcbiAqIEByZXR1cm4ge2FycmF5fG51bGx9IC0gb2YgdmVyc2VPYmplY3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzZXNGb3JSZWZTdHIocmVmU3RyLCBib29rT2JqZWN0cywgbGFuZ3VhZ2VJZCk6IFZlcnNlUmVmZXJlbmNlc1R5cGUge1xuICBpZiAoYm9va09iamVjdHMpIHtcbiAgICBsZXQgdmVyc2VzID0gZ2V0VmVyc2VzKGJvb2tPYmplY3RzLmNoYXB0ZXJzLCByZWZTdHIpXG5cbiAgICBpZiAobGFuZ3VhZ2VJZCA9PT0gJ2VsLXgta29pbmUnIHx8IGxhbmd1YWdlSWQgPT09ICdoYm8nKSB7XG4gICAgICB2ZXJzZXMgPSB2ZXJzZXMubWFwKHZlcnNlID0+IHtcbiAgICAgICAgaWYgKCB2ZXJzZT8udmVyc2VEYXRhPy52ZXJzZU9iamVjdHMpIHtcbiAgICAgICAgICBsZXQgdmVyc2VPYmplY3RzXyA9IGNvcmUub2NjdXJyZW5jZUluamVjdFZlcnNlT2JqZWN0cyggdmVyc2UudmVyc2VEYXRhLnZlcnNlT2JqZWN0cylcbiAgICAgICAgICB2ZXJzZU9iamVjdHNfID0gY2xlYW51cFZlcnNlT2JqZWN0cyh2ZXJzZU9iamVjdHNfKVxuICAgICAgICAgIHZlcnNlLnZlcnNlRGF0YS52ZXJzZU9iamVjdHMgPSB2ZXJzZU9iamVjdHNfXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZlcnNlXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiB2ZXJzZXNcbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG4vKipcbiAqIGdldCB0aGUgdmVyc2Ugb2JqZWN0cyBmb3IgdGhlIHJlZmVyZW5jZSBvYmplY3RcbiAqIEBwYXJhbSB7U2NyaXB0dXJlUmVmZXJlbmNlVHlwZX0gcmVmZXJlbmNlXG4gKiBAcGFyYW0ge29iamVjdH0gYm9va09iamVjdHMgLSBwYXJzZWQgdXNmbSBmb3IgYm9va1xuICogQHBhcmFtIHtzdHJpbmd9IGxhbmd1YWdlSWRcbiAqIEByZXR1cm4ge2FycmF5fG51bGx9IC0gb2YgdmVyc2VPYmplY3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzZXNGb3JSZWYocmVmZXJlbmNlLCBib29rT2JqZWN0cywgbGFuZ3VhZ2VJZCk6IFZlcnNlUmVmZXJlbmNlc1R5cGUge1xuICBjb25zdCByZWZTdHIgPSBgJHtyZWZlcmVuY2UuY2hhcHRlcn06JHtyZWZlcmVuY2UudmVyc2V9YFxuICByZXR1cm4gZ2V0VmVyc2VzRm9yUmVmU3RyKHJlZlN0ciwgYm9va09iamVjdHMsIGxhbmd1YWdlSWQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTY3JpcHR1cmUoeyAvLyBob29rIGZvciBmZXRjaGluZyBzY3JpcHR1cmVcbiAgY29uZmlnLFxuICByZWFkeUZvckZldGNoLFxuICByZWZlcmVuY2UsXG4gIHJlc291cmNlOiByZXNvdXJjZV8sXG4gIHJlc291cmNlTGluazogcmVzb3VyY2VMaW5rXyxcbiAgd2hvbGVCb29rID0gZmFsc2UsXG59IDogUHJvcHMpIHtcbiAgdHlwZSBTdGF0ZVR5cGVzID0ge1xuICAgIGJpYmxlVXNmbTogc3RyaW5nLFxuICAgIGJvb2tPYmplY3RzOiBCb29rT2JqZWN0c1R5cGUsXG4gICAgZmV0Y2hDb3VudDogbnVtYmVyLFxuICAgIGZldGNoZWQ6IGJvb2xlYW4sXG4gICAgZmV0Y2hlZEJvb2s6IHN0cmluZyxcbiAgICBmZXRjaFBhcmFtczogQm9va0ZldGNoUGFyYW1zfG51bGwsXG4gICAgaWdub3JlU2hhOiBzdHJpbmd8bnVsbCxcbiAgICBpbml0aWFsaXplZDogYm9vbGVhbixcbiAgICByZXNvdXJjZVN0YXRlOiB7XG4gICAgICBiaWJsZVVzZm06IHN0cmluZyxcbiAgICAgIGJvb2tPYmplY3RzOiBCb29rT2JqZWN0c1R5cGUsXG4gICAgICBjb250ZW50OiB7fSxcbiAgICAgIGZldGNoUmVzcG9uc2U6IHt9LFxuICAgICAgZmV0Y2hlZFJlc291cmNlczoge1xuICAgICAgICBiaWJsZVVzZm06IHN0cmluZyxcbiAgICAgICAgYm9va09iamVjdHM6IEJvb2tPYmplY3RzVHlwZSxcbiAgICAgICAgZmV0Y2hDb3VudDogbnVtYmVyLFxuICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICAgIHNoYTogc3RyaW5nLFxuICAgICAgICB1cmw6IHN0cmluZyxcbiAgICAgIH0sXG4gICAgICBsb2FkaW5nUmVzb3VyY2U6IGJvb2xlYW4sXG4gICAgICBsb2FkaW5nQ29udGVudDogYm9vbGVhbixcbiAgICAgIHJlc291cmNlOiB7XG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgbWFuaWZlc3Q6IHt9LFxuICAgICAgICByZXNvdXJjZUxpbms6IHt9XG4gICAgICB9LFxuICAgICAgc2hhOiBzdHJpbmcsXG4gICAgICB1cmw6IHN0cmluZyxcbiAgICB9LFxuICAgIHZlcnNlc0ZvclJlZjogYW55W10sXG4gIH1cblxuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlX10gPSB1c2VTdGF0ZSh7XG4gICAgYmlibGVVc2ZtOiBudWxsLFxuICAgIGJvb2tPYmplY3RzOiBudWxsLFxuICAgIGZldGNoQ291bnQ6IDAsXG4gICAgZmV0Y2hlZDogZmFsc2UsXG4gICAgZmV0Y2hlZEJvb2s6ICcnLFxuICAgIGZldGNoUGFyYW1zOiBudWxsLFxuICAgIGlnbm9yZVNoYTogbnVsbCxcbiAgICBpbml0aWFsaXplZDogZmFsc2UsXG4gICAgcmVzb3VyY2VTdGF0ZToge1xuICAgICAgYm9va09iamVjdHM6IG51bGwsXG4gICAgICBiaWJsZVVzZm06IG51bGwsXG4gICAgICBjb250ZW50OiBudWxsLFxuICAgICAgZmV0Y2hSZXNwb25zZTogbnVsbCxcbiAgICAgIGZldGNoZWRSZXNvdXJjZXM6IG51bGwsXG4gICAgICBsb2FkaW5nUmVzb3VyY2U6IGZhbHNlLFxuICAgICAgbG9hZGluZ0NvbnRlbnQ6IGZhbHNlLFxuICAgICAgcmVzb3VyY2U6IG51bGwsXG4gICAgICBzaGE6IG51bGwsXG4gICAgICB1cmw6IG51bGwsXG4gICAgfSxcbiAgICB2ZXJzZXNGb3JSZWY6IFtdLFxuICB9KVxuXG4gIGNvbnN0IHtcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIGJyYW5jaCA9ICdtYXN0ZXInLFxuICAgIHJlZiA9IG51bGwsXG4gIH0gPSByZXNvdXJjZV8gfHwge31cblxuICBjb25zdCB7IGJvb2tJZCB9ID0gcmVmZXJlbmNlIHx8IHt9XG5cbiAgY29uc3QgX3N0YXRlOiBTdGF0ZVR5cGVzID0gc3RhdGUgLy8gVHJpY2t5OiB3b3JrLWFyb3VuZCBmb3IgYnVnIHRoYXQgc3RhbmRhcmQgdHlwZXNjcmlwdCB0eXBlIGNhc3RpbmcgZG9lcyBub3Qgd29yayBpbiAudHN4IGZpbGVzXG4gIGNvbnN0IHtcbiAgICBiaWJsZVVzZm0sXG4gICAgYm9va09iamVjdHMsXG4gICAgZmV0Y2hDb3VudCxcbiAgICBmZXRjaGVkLFxuICAgIGZldGNoZWRCb29rLFxuICAgIGZldGNoUGFyYW1zLFxuICAgIGlnbm9yZVNoYSxcbiAgICBpbml0aWFsaXplZCxcbiAgICByZXNvdXJjZVN0YXRlLFxuICAgIHZlcnNlc0ZvclJlZixcbiAgfSA9IF9zdGF0ZVxuICBjb25zdCBmZXRjaGVkUmVzb3VyY2VzID0gcmVzb3VyY2VTdGF0ZT8uZmV0Y2hlZFJlc291cmNlc1xuXG4gIGZ1bmN0aW9uIHNldFN0YXRlKG5ld1N0YXRlKSB7XG4gICAgc2V0U3RhdGVfKHByZXZTdGF0ZSA9PiAoeyAuLi5wcmV2U3RhdGUsIC4uLm5ld1N0YXRlIH0pKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVhZHlGb3JGZXRjaCkge1xuICAgICAgaW5pdGlhdGVCb29rRmV0Y2goKVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluaXRpYXRlQm9va0ZldGNoKCkge1xuICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZSAtIHJlYWR5Rm9yRmV0Y2ggdHJ1ZSwgaW5pdGlhbGl6aW5nYClcbiAgICAgIGxldCByZXNvdXJjZUxpbmsgPSByZWFkeUZvckZldGNoICYmIHJlc291cmNlTGlua19cblxuICAgICAgaWYgKHJlc291cmNlXykge1xuICAgICAgICAvLyBjaGVjayBpZiByZXNvdXJjZUxpbmtfIGRvZXMgbm90IGV4aXN0IG9yIGluIGNhc2UgcmVmIGhhcyBiZWVuIHVwZGF0ZWRcbiAgICAgICAgY29uc3QgY3JlYXRlTGluayA9ICFyZXNvdXJjZUxpbmtfIHx8IChyZWYgJiYgKHJlZiAhPT0gYnJhbmNoKSlcblxuICAgICAgICBpZiAoY3JlYXRlTGluaykge1xuICAgICAgICAgIGNvbnN0IHJlZl8gPSByZWYgfHwgYnJhbmNoXG5cbiAgICAgICAgICByZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgICAgICAgICAgb3duZXIsXG4gICAgICAgICAgICBsYW5ndWFnZUlkLFxuICAgICAgICAgICAgcmVzb3VyY2VJZDogcmVzb3VyY2VfPy5wcm9qZWN0SWQsXG4gICAgICAgICAgICByZWY6IHJlZl8sXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBib29rUmVmID0geyAuLi5yZWZlcmVuY2UgfVxuXG4gICAgICBpZiAod2hvbGVCb29rKSB7XG4gICAgICAgIGRlbGV0ZSBib29rUmVmLmNoYXB0ZXIgLy8gcmVtb3ZlIHRoZSBjaGFwdGVyIGFuZCB2ZXJzZSBzbyB0aGUgd2hvbGUgYm9vayBpcyBmZXRjaGVkXG4gICAgICAgIGRlbGV0ZSBib29rUmVmLnZlcnNlXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNvdXJjZUxpbmsgIT09IGZldGNoUGFyYW1zPy5yZXNvdXJjZUxpbmspIHtcbiAgICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZSAtIGZvciAke3Jlc291cmNlXz8ucHJvamVjdElkfSByZXNvdXJjZUxpbmsgaXMgbm93ICR7cmVzb3VyY2VMaW5rfSBhbmQgcmVzb3VyY2VMaW5rXz0ke3Jlc291cmNlTGlua199YClcbiAgICAgIH0gZWxzZSBpZiAoYm9va1JlZiAhPT0gZmV0Y2hQYXJhbXM/LnJlZmVyZW5jZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlIC0gYm9vayBjaGFuZ2VkIHRvICR7cmVzb3VyY2VfPy5wcm9qZWN0SWR9IHJlc291cmNlTGluayBpcyBub3cgJHtyZXNvdXJjZUxpbmt9YClcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV3RmV0Y2hQYXJhbXMgPSB7XG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgcmVmZXJlbmNlOiBib29rUmVmLFxuICAgICAgICByZXNvdXJjZUxpbmssXG4gICAgICB9XG5cbiAgICAgIGlmICghaXNFcXVhbChuZXdGZXRjaFBhcmFtcywgZmV0Y2hQYXJhbXMpKSB7XG4gICAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgICBmZXRjaFBhcmFtczogbmV3RmV0Y2hQYXJhbXMsXG4gICAgICAgICAgZmV0Y2hlZDogZmFsc2UsXG4gICAgICAgICAgaW5pdGlhbGl6ZWQ6IHRydWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgZmV0Y2hCb29rKG5ld0ZldGNoUGFyYW1zKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW1xuICAgIHJlYWR5Rm9yRmV0Y2gsXG4gICAgb3duZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICBib29rSWQsXG4gICAgYnJhbmNoLFxuICAgIHJlZixcbiAgXSlcblxuICAvKipcbiAgICogZG8gYSBmZXRjaCBvZiBtYW5pZmVzdCBhbmQgYm9vayBvZiB0aGUgYmlibGUgc3BlY2lmaWVkIGluIGZldGNoUGFyYW1zXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBmZXRjaFBhcmFtc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gaWdub3JlU2hhIC0gb3B0aW9uYWwgcHJldmlvdXMgc2hhIC0gaWdub3JlIHJlc3BvbnNlcyB0aGF0IGNhbWUgYmFjayBmb3IgdGhpcyBwcmV2aW91cyBib29rIGNvbW1pdFxuICAgKi9cbiAgYXN5bmMgZnVuY3Rpb24gZmV0Y2hCb29rKGZldGNoUGFyYW1zOiBCb29rRmV0Y2hQYXJhbXMsIGlnbm9yZVNoYSA9IG51bGwpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZmV0Y2hMaW5rID0gYCR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua30vJHtmZXRjaFBhcmFtcz8ucmVmZXJlbmNlPy5ib29rSWR9YFxuXG4gICAgICBpZiAoaWdub3JlU2hhKSB7XG4gICAgICAgIGNvbnN0IGZldGNoZWRTaGFNYXRjaGVzSWdub3JlU2hhID0gaWdub3JlU2hhID09PSByZXNvdXJjZVN0YXRlPy5zaGEgLy8gd2Ugd2lsbCByZWxvYWQgaWYgaWdub3JlU2hhIGdpdmVuIGFuZCBpdCBtYXRjaGVzIGN1cnJlbnQgc2hhXG5cbiAgICAgICAgaWYgKChmZXRjaExpbmsgPT09IHJlc291cmNlU3RhdGU/LnJlc291cmNlPy5yZXNvdXJjZUxpbmspICYmICFmZXRjaGVkU2hhTWF0Y2hlc0lnbm9yZVNoYSkgeyAvLyBzZWUgaWYgd2UgYWxyZWFkeSBmZXRjaGVkIHRoaXNcbiAgICAgICAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlLmZldGNoQm9vaygpIC0gQWxyZWFkeSBmZXRjaGluZyByZXNvdXJjZUxpbmsgJHtyZXNvdXJjZVN0YXRlPy5yZXNvdXJjZT8ucmVzb3VyY2VMaW5rfSBhbmQgaWdub3JlU2hhPSR7aWdub3JlU2hhfWAsIGZldGNoUGFyYW1zKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IF9mZXRjaENvdW50ID0gZmV0Y2hDb3VudCArIDFcbiAgICAgIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUuZmV0Y2hCb29rKCkgLSBGRVRDSElORyBiaWJsZSAke3Jlc291cmNlXz8ucHJvamVjdElkfSByZXNvdXJjZUxpbmsgaXMgbm93ICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua30gYW5kIGlnbm9yZVNoYT0ke2lnbm9yZVNoYX1gLCBmZXRjaFBhcmFtcylcbiAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgZmV0Y2hDb3VudDogX2ZldGNoQ291bnQsXG4gICAgICAgIGZldGNoZWQ6IGZhbHNlLFxuICAgICAgICBpZ25vcmVTaGEsXG4gICAgICAgIHJlc291cmNlU3RhdGU6IHsgbG9hZGluZ1Jlc291cmNlOiB0cnVlIH0sXG4gICAgICB9KVxuXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoQmlibGVCb29rQ29yZShmZXRjaFBhcmFtcylcblxuICAgICAgaWYgKCFyZXNwb25zZSB8fCByZXNwb25zZT8uZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZS53YXJuKCkgLUVycm9yIEZFVENISU5HIGJpYmxlICR7cmVzb3VyY2VfPy5wcm9qZWN0SWR9YCwgcmVzcG9uc2UpXG4gICAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgICByZXNvdXJjZVN0YXRlOiB7XG4gICAgICAgICAgICBsb2FkaW5nUmVzb3VyY2U6IGZhbHNlLFxuICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUuZmV0Y2hCb29rKCkgLSBMT0FERUQgYmlibGUgYm9vayAke3Jlc291cmNlXz8ucHJvamVjdElkfSByZXNvdXJjZUxpbmsgaXMgbm93ICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua319YCwgZmV0Y2hQYXJhbXMpXG4gICAgICBzZXRTdGF0ZShcbiAgICAgICAge1xuICAgICAgICAgIHJlc291cmNlU3RhdGU6IHtcbiAgICAgICAgICAgIGxvYWRpbmdSZXNvdXJjZTogZmFsc2UsXG4gICAgICAgICAgICBmZXRjaGVkUmVzb3VyY2VzOiB7XG4gICAgICAgICAgICAgIC4uLnJlc3BvbnNlLFxuICAgICAgICAgICAgICBmZXRjaENvdW50OiBfZmV0Y2hDb3VudCxcbiAgICAgICAgICAgICAgcmVmZXJlbmNlOiBmZXRjaFBhcmFtcz8ucmVmZXJlbmNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYHVzZVNjcmlwdHVyZS5mZXRjaEJvb2soKSAtIGhhcmQgZXJyb3IgbG9hZGluZyByZXNvdXJjZWAsIGZldGNoUGFyYW1zLCBlIClcbiAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgcmVzb3VyY2VTdGF0ZToge1xuICAgICAgICAgIGxvYWRpbmdSZXNvdXJjZTogZmFsc2UsXG4gICAgICAgICAgcmVzb3VyY2U6IG51bGwsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZSAtIGZvciAke3Jlc291cmNlXz8ucHJvamVjdElkfSByZWFkeUZvckZldGNoIGlzIG5vdyAke3JlYWR5Rm9yRmV0Y2h9YClcbiAgfSwgW3JlYWR5Rm9yRmV0Y2hdKVxuXG4gIC8qKlxuICAgKiBtYWtlIHN1cmUgbGFzdCBmZXRjaCByZXNwb25zZSBpcyBmb3IgY3VycmVudCBib29rL2JyYW5jaFxuICAgKi9cbiAgZnVuY3Rpb24gdmFsaWRhdGVSZXNwb25zZSgpIHtcbiAgICBsZXQgaXNTYW1lQm9vayA9IGZhbHNlXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGV4cGVjdGVkQm9va0lkID0gYm9va0lkIHx8ICd6enonXG4gICAgY29uc3QgZmV0Y2hlZEJvb2sgPSBnZXRCb29rTmFtZUZyb21Vc2ZtRmlsZU5hbWUoZmV0Y2hlZFJlc291cmNlcz8ubmFtZSlcbiAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlLnZhbGlkYXRlUmVzcG9uc2UoKSAtIEN1cnJlbnQgYm9va0lkIGlzICR7Ym9va0lkfSBhbmQgc2VlaW5nICR7ZmV0Y2hlZEJvb2t9IGluIFVTRk1gKVxuICAgIGlzU2FtZUJvb2sgPSBmZXRjaGVkQm9vaz8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoYm9va0lkKVxuXG4gICAgY29uc3Qgc2hhID0gZmV0Y2hlZFJlc291cmNlcz8uc2hhIHx8IG51bGxcbiAgICBjb25zdCB1cmwgPSBmZXRjaGVkUmVzb3VyY2VzPy51cmwgfHwgbnVsbFxuXG4gICAgaWYgKGlzU2FtZUJvb2spIHsgLy8gYWxzbyBtYWtlIHN1cmUgaXQgaXMgdGhlIHNhbWUgYnJhbmNoXG4gICAgICBjb25zdCBmZXRjaGVkQnJhbmNoID0gZ2V0QnJhbmNoTmFtZSh1cmwpXG4gICAgICBjb25zdCBmZXRjaGluZ0JyYW5jaCA9IGdldEJyYW5jaE5hbWUoZmV0Y2hQYXJhbXM/LnJlc291cmNlTGluaylcblxuICAgICAgaWYgKGZldGNoZWRCcmFuY2ggIT09IGZldGNoaW5nQnJhbmNoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUudmFsaWRhdGVSZXNwb25zZSgpIGludmFsaWQgYnJhbmNoLCBleHBlY3RlZCBicmFuY2ggaXMgJHtmZXRjaGluZ0JyYW5jaH0sIGJ1dCBmZXRjaGVkQnJhbmNoIGlzICR7ZmV0Y2hlZEJyYW5jaH1gLCB7IHNoYSwgdXJsIH0pXG4gICAgICAgIGlzU2FtZUJvb2sgPSBmYWxzZVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlLnZhbGlkYXRlUmVzcG9uc2UoKSAtICBpbnZhbGlkIGJvb2ssIGV4cGVjdGVkQm9va0lkIGlzICR7ZXhwZWN0ZWRCb29rSWR9LCBidXQgcmVjZWl2ZWQgYm9vayBuYW1lICR7ZmV0Y2hlZEJvb2t9YCwgeyBzaGEsIHVybCB9KVxuICAgIH1cblxuICAgIGlmIChpZ25vcmVTaGEgPT09IHNoYSkge1xuICAgICAgY29uc29sZS53YXJuKGB1c2VTY3JpcHR1cmUudmFsaWRhdGVSZXNwb25zZSgpIC0gdGhlIHNoYSBpcyB0aGUgc2FtZSBhcyB0aGUgaWdub3JlIHNoYSAke3NoYX1gLCB7IHNoYSwgdXJsIH0pXG4gICAgICBpc1NhbWVCb29rID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoaXNTYW1lQm9vaykge1xuICAgICAgY29uc3QgYmlibGVVc2ZtXyA9IGZldGNoZWRSZXNvdXJjZXM/LmJpYmxlVXNmbVxuICAgICAgY29uc3QgYm9va09iamVjdHMgPSBmZXRjaGVkUmVzb3VyY2VzPy5ib29rT2JqZWN0c1xuICAgICAgY29uc3QgdmVyc2VzRm9yUmVmID0gZ2V0VmVyc2VzRm9yUmVmXyhib29rT2JqZWN0cylcblxuICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZS52YWxpZGF0ZVJlc3BvbnNlKCkgLSBjb3JyZWN0IGJvb2ssIGV4cGVjdGVkQm9va0lkIGlzICR7ZXhwZWN0ZWRCb29rSWR9YCwgeyBzaGEsIHVybCB9KVxuICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgIGJpYmxlVXNmbTogYmlibGVVc2ZtXyxcbiAgICAgICAgYm9va09iamVjdHMsXG4gICAgICAgIGZldGNoZWQ6IHRydWUsXG4gICAgICAgIGZldGNoZWRCb29rOiBleHBlY3RlZEJvb2tJZCxcbiAgICAgICAgaWdub3JlU2hhOiBudWxsLFxuICAgICAgICByZXNvdXJjZVN0YXRlOiB7XG4gICAgICAgICAgYm9va09iamVjdHMsXG4gICAgICAgICAgYmlibGVVc2ZtOiBiaWJsZVVzZm1fLFxuICAgICAgICAgIGxvYWRpbmdSZXNvdXJjZTogZmFsc2UsXG4gICAgICAgICAgbG9hZGluZ0NvbnRlbnQ6IGZhbHNlLFxuICAgICAgICAgIHJlc291cmNlOiBmZXRjaGVkUmVzb3VyY2VzLFxuICAgICAgICAgIHNoYSxcbiAgICAgICAgICB1cmwsXG4gICAgICAgIH0sXG4gICAgICAgIHZlcnNlc0ZvclJlZixcbiAgICAgIH1cblxuICAgICAgc2V0U3RhdGUobmV3U3RhdGUpXG4gICAgfVxuICB9XG5cbiAgdXNlRGVlcENvbXBhcmVFZmZlY3QoKCkgPT4geyAvLyB2YWxpZGF0ZSByZXNwb25zZSB0byBtYWtlIHN1cmUgZnJvbSBsYXRlc3QgcmVxdWVzdFxuICAgIGlmIChyZWFkeUZvckZldGNoICYmIGZldGNoZWRSZXNvdXJjZXMpIHtcbiAgICAgIGlmICghZmV0Y2hlZCAmJiBmZXRjaGVkUmVzb3VyY2VzPy5mZXRjaENvdW50ID09PSBmZXRjaENvdW50KSB7XG4gICAgICAgIGRlbGF5KDUwMCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgdmFsaWRhdGVSZXNwb25zZSgpXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9LCBbeyByZWFkeUZvckZldGNoLCBmZXRjaGVkUmVzb3VyY2VzIH1dKVxuXG4gIGNvbnN0IHJlc291cmNlID0gcmVzb3VyY2VTdGF0ZT8ucmVzb3VyY2VcbiAgY29uc3QgeyB0aXRsZSwgdmVyc2lvbiB9ID0gcGFyc2VSZXNvdXJjZU1hbmlmZXN0KHJlc291cmNlKVxuICBjb25zdCBsb2FkaW5nID0gcmVzb3VyY2VTdGF0ZT8ubG9hZGluZ1Jlc291cmNlIHx8IHJlc291cmNlU3RhdGU/LmxvYWRpbmdDb250ZW50IHx8ICFyZWFkeUZvckZldGNoXG4gIGNvbnN0IGNvbnRlbnROb3RGb3VuZEVycm9yID0gIXJlc291cmNlU3RhdGU/LmJpYmxlVXNmbVxuICBjb25zdCBzY3JpcHR1cmVOb3RMb2FkZWRFcnJvciA9ICFyZXNvdXJjZVN0YXRlPy5ib29rT2JqZWN0c1xuICBjb25zdCBtYW5pZmVzdE5vdEZvdW5kRXJyb3IgPSAhcmVzb3VyY2U/Lm1hbmlmZXN0XG4gIGNvbnN0IGludmFsaWRNYW5pZmVzdEVycm9yID0gIXRpdGxlIHx8ICF2ZXJzaW9uIHx8ICFsYW5ndWFnZUlkXG4gIGNvbnN0IGVycm9yID0gcmVhZHlGb3JGZXRjaCAmJiBpbml0aWFsaXplZCAmJiAhbG9hZGluZyAmJlxuICAgIChjb250ZW50Tm90Rm91bmRFcnJvciB8fCBzY3JpcHR1cmVOb3RMb2FkZWRFcnJvciB8fCBtYW5pZmVzdE5vdEZvdW5kRXJyb3IgfHwgaW52YWxpZE1hbmlmZXN0RXJyb3IpXG4gIGNvbnN0IHJlc291cmNlU3RhdHVzID0ge1xuICAgIFtMT0FESU5HX1NUQVRFXTogbG9hZGluZyxcbiAgICBbQ09OVEVOVF9OT1RfRk9VTkRfRVJST1JdOiBjb250ZW50Tm90Rm91bmRFcnJvcixcbiAgICBbU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1JdOiBzY3JpcHR1cmVOb3RMb2FkZWRFcnJvcixcbiAgICBbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl06IG1hbmlmZXN0Tm90Rm91bmRFcnJvcixcbiAgICBbSU5WQUxJRF9NQU5JRkVTVF9FUlJPUl06IGludmFsaWRNYW5pZmVzdEVycm9yLFxuICAgIFtFUlJPUl9TVEFURV06IGVycm9yLFxuICAgIFtJTklUSUFMSVpFRF9TVEFURV06IGluaXRpYWxpemVkLFxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXJlYWR5Rm9yRmV0Y2gpIHtcbiAgICAgIGlmIChpbml0aWFsaXplZCkge1xuICAgICAgICBzZXRTdGF0ZSh7IGludGlhbGl6ZWQ6IGZhbHNlIH0pXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGlmIChsb2FkaW5nKSB7IC8vIG9uY2UgZmlyc3QgbG9hZCBoYXMgYmVndW4sIHdlIGFyZSBpbml0aWFsaXplZFxuICAgICAgICBzZXRTdGF0ZSh7IGludGlhbGl6ZWQ6IHRydWUgfSlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtsb2FkaW5nLCByZWFkeUZvckZldGNoXSlcblxuICAvKipcbiAgICogZ2V0IHZlcnNlcyBmb3IgcmVmXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWZTdHJcbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbnRlbnRfXG4gICAqL1xuICBmdW5jdGlvbiBfZ2V0VmVyc2VzRm9yUmVmKHJlZlN0ciwgY29udGVudF8gPSBib29rT2JqZWN0cyk6IFZlcnNlUmVmZXJlbmNlc1R5cGUge1xuICAgIGlmIChjb250ZW50Xykge1xuICAgICAgcmV0dXJuIGdldFZlcnNlc0ZvclJlZlN0cihyZWZTdHIsIGNvbnRlbnRfLCBsYW5ndWFnZUlkKVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSB2ZXJzZSBkYXRhIGZvciBjdXJyZW50IGJvb2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNoYXB0ZXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZlcnNlXG4gICAqIEBwYXJhbSB7b2JqZWN0fSB2ZXJzZURhdGFcbiAgICovXG4gIGZ1bmN0aW9uIHVwZGF0ZVZlcnNlKGNoYXB0ZXIsIHZlcnNlLCB2ZXJzZURhdGEpIHtcbiAgICBpZiAoYm9va09iamVjdHMpIHtcbiAgICAgIGNvbnN0IGJvb2tPYmplY3RzXyA9IHsgLi4uYm9va09iamVjdHMgfSAvLyBzaGFsbG93IGNvcHlcblxuICAgICAgaWYgKGJvb2tPYmplY3RzXz8uY2hhcHRlcnMpIHtcbiAgICAgICAgYm9va09iamVjdHNfLmNoYXB0ZXJzID0geyAuLi5ib29rT2JqZWN0c18uY2hhcHRlcnMgfSAvLyBzaGFsbG93IGNvcHkgY2hhcHRlcnNcblxuICAgICAgICBpZiAoYm9va09iamVjdHNfLmNoYXB0ZXJzW2NoYXB0ZXJdKSB7XG4gICAgICAgICAgYm9va09iamVjdHNfLmNoYXB0ZXJzW2NoYXB0ZXJdID0geyAuLi5ib29rT2JqZWN0c18uY2hhcHRlcnNbY2hhcHRlcl0gfSAvLyBzaGFsbG93IGNvcHkgdmVyc2VzXG4gICAgICAgICAgYm9va09iamVjdHNfLmNoYXB0ZXJzW2NoYXB0ZXJdW3ZlcnNlXSA9IHZlcnNlRGF0YVxuICAgICAgICAgIHNldFN0YXRlKHsgYm9va09iamVjdHM6IGJvb2tPYmplY3RzXyB9KVxuICAgICAgICAgIHJldHVybiBib29rT2JqZWN0c19cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0aGUgdmVyc2VzIGZvciBjdXJyZW50IHJlZmVyZW5jZSBvciByZWZlcmVuY2UgcmFuZ2VcbiAgICogQHBhcmFtIHtCb29rT2JqZWN0c1R5cGV9IF9ib29rT2JqZWN0c1xuICAgKi9cbiAgZnVuY3Rpb24gZ2V0VmVyc2VzRm9yUmVmXyhfYm9va09iamVjdHM6IEJvb2tPYmplY3RzVHlwZSA9IGJvb2tPYmplY3RzKTogVmVyc2VPYmplY3RzVHlwZSB7XG4gICAgbGV0IG5ld1ZlcnNlc0ZvclJlZiA9IFtdXG5cbiAgICBpZiAoX2Jvb2tPYmplY3RzKSB7XG4gICAgICBuZXdWZXJzZXNGb3JSZWYgPSBnZXRWZXJzZXNGb3JSZWYocmVmZXJlbmNlLCBfYm9va09iamVjdHMsIGxhbmd1YWdlSWQpXG5cbiAgICAgIGlmIChyZWZlcmVuY2U/LnZlcnNlID09PSAnZnJvbnQnKSB7IC8vIHNwZWNpYWwgaGFuZGxpbmcgZm9yIGZyb250IG1hdHRlclxuICAgICAgICBjb25zdCB2ZXJzZURhdGEgPSBuZXdWZXJzZXNGb3JSZWY/LlswXT8udmVyc2VEYXRhXG4gICAgICAgIGNvbnN0IGluaXRpYWxWZXJzZU9iamVjdHMgPSB2ZXJzZURhdGE/LnZlcnNlT2JqZWN0c1xuXG4gICAgICAgIGlmIChpbml0aWFsVmVyc2VPYmplY3RzICYmICF2ZXJzZU9iamVjdHNIYXZlV29yZHMoaW5pdGlhbFZlcnNlT2JqZWN0cykpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHZvIG9mIGluaXRpYWxWZXJzZU9iamVjdHMpIHtcbiAgICAgICAgICAgIGlmICh2b1sndGFnJ10gPT09ICdkJykgeyAvLyBjaGVjayBmb3IgZGVzY3JpcHRpdmUgdGl0bGVcbiAgICAgICAgICAgICAgLy8gcmVwYXJzZSBzbyBkZXNjcmlwdGl2ZSB0aXRsZSB0ZXh0IGlzIGJyb2tlbiBpbnRvIGFsaWduLWFibGUgd29yZHNcbiAgICAgICAgICAgICAgbGV0IHZlcnNlVGV4dCA9IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuZ2V0VXNmbUZvclZlcnNlQ29udGVudCh7IHZlcnNlT2JqZWN0czogaW5pdGlhbFZlcnNlT2JqZWN0cyB9KVxuICAgICAgICAgICAgICBjb25zdCB7IHRhcmdldFZlcnNlT2JqZWN0cyB9ID0gQWxpZ25tZW50SGVscGVycy51cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZShpbml0aWFsVmVyc2VPYmplY3RzLCB2ZXJzZVRleHQpXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRhcmdldFZlcnNlT2JqZWN0cylcbiAgICAgICAgICAgICAgdmVyc2VEYXRhLnZlcnNlT2JqZWN0cyA9IHRhcmdldFZlcnNlT2JqZWN0cyAvLyByZXBsYWNlIHZlcnNlT2JqZWN0cyB3aXRoIGFsaWduLWFibGUgY29udGVudFxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5ld1ZlcnNlc0ZvclJlZlxuICAgIH1cblxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICAvKipcbiAgICogZm9yY2UgcmVsb2FkIG9mIHJlc291cmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfHVuZGVmaW5lZH0gaWdub3JlU2hhIC0gb3B0aW9uYWwgc2hhIHRvIGlnbm9yZVxuICAgKiBAcGFyYW0ge3N0cmluZ3x1bmRlZmluZWR9IHJlZiAtIG9wdGlvbmFsIHJlZmVyZW5jZSB0byBmZXRjaFxuICAgKi9cbiAgZnVuY3Rpb24gcmVsb2FkUmVzb3VyY2UoaWdub3JlU2hhID0gbnVsbCwgcmVmID0gbnVsbCkge1xuICAgIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUucmVsb2FkUmVzb3VyY2UoKSBpZ25vcmVTaGE6ICR7aWdub3JlU2hhfWAgKVxuICAgIGNvbnN0IF9mZXRjaFBhcmFtczogQm9va0ZldGNoUGFyYW1zID0geyAuLi5mZXRjaFBhcmFtcyB9XG5cbiAgICBpZiAocmVmICYmIGZldGNoUGFyYW1zPy5yZXNvdXJjZUxpbmspIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgb3duZXIsXG4gICAgICAgIGxhbmd1YWdlSWQsXG4gICAgICAgIHJlc291cmNlSWQsXG4gICAgICAgIHJlZjogX3JlZixcbiAgICAgIH0gPSBwYXJzZVJlc291cmNlTGluayhmZXRjaFBhcmFtcy5yZXNvdXJjZUxpbmspXG5cbiAgICAgIGlmIChyZWYgIT09IF9yZWYpIHsgLy8gaWYgcmVmIGNoYW5nZWQsIHVwZGF0ZSByZXNvdXJjZWxpbmtcbiAgICAgICAgY29uc3QgX3Jlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayh7XG4gICAgICAgICAgb3duZXIsXG4gICAgICAgICAgbGFuZ3VhZ2VJZCxcbiAgICAgICAgICByZXNvdXJjZUlkLFxuICAgICAgICAgIHJlZixcbiAgICAgICAgfSlcbiAgICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZS5yZWxvYWRSZXNvdXJjZSgpIG9sZCByZWYgaXMgZGlmZmVyZW50ICR7X3JlZn0sIHN3aXRjaGluZyB0byBsb2FkIHJlZjogJHtyZWZ9LCBuZXcgcmVzb3VyY2VMaW5rOiAke19yZXNvdXJjZUxpbmt9YCApXG4gICAgICAgIF9mZXRjaFBhcmFtcy5yZXNvdXJjZUxpbmsgPSBfcmVzb3VyY2VMaW5rXG4gICAgICB9XG4gICAgfVxuICAgIGZldGNoQm9vayhfZmV0Y2hQYXJhbXMsIGlnbm9yZVNoYSlcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgY29uc3QgY3VycmVudEJvb2tSZWYgPSBmZXRjaFBhcmFtcz8ucmVmZXJlbmNlPy5ib29rSWRcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjdXJyZW50Qm9va1JlZikge1xuICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZSBmZXRjaGVkIGJvb2sgY2hhbmdlZCB0byAke2N1cnJlbnRCb29rUmVmfSwgJHtyZXNvdXJjZUxpbmtffWAsIGZldGNoUGFyYW1zIClcbiAgICAgIHNldFN0YXRlKHsgYm9va09iamVjdHM6IG51bGwsIGJpYmxlVXNmbTogbnVsbCB9KVxuICAgIH1cbiAgICAvLyBAdHMtaWdub3JlXG4gIH0sIFtjdXJyZW50Qm9va1JlZl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlIGJvb2sgcmVmIGNoYW5nZWQgdG8gJHtib29rSWR9LCAke3Jlc291cmNlTGlua199YClcbiAgICAvLyBAdHMtaWdub3JlXG4gIH0sIFtib29rSWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZXhwZWN0ZWRCb29rSWQgPSBib29rSWQgfHwgJydcbiAgICBjb25zdCBmZXRjaGVkQm9va1NhbWUgPSBmZXRjaGVkQm9vayAmJiAoZmV0Y2hlZEJvb2sgPT09IGV4cGVjdGVkQm9va0lkKVxuICAgIGxldCBfdmVyc2VzRm9yUmVmID0gW11cblxuICAgIGlmICghZmV0Y2hlZEJvb2tTYW1lKSB7XG4gICAgICAvLyBpZiAoZXhwZWN0ZWRCb29rSWQgJiYgZmV0Y2hlZEJvb2spIHtcbiAgICAgIC8vICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZSBleHBlY3RlZCBib29rICR7ZXhwZWN0ZWRCb29rSWR9IGJ1dCBmZXRjaGVkIGJvb2sgd2FzICR7ZmV0Y2hlZEJvb2t9IC0gY2xlYXJpbmdgKVxuICAgICAgLy8gfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBfYm9va09iamVjdHMgPSBmZXRjaGVkQm9va1NhbWUgPyBib29rT2JqZWN0cyA6IG51bGxcbiAgICAgIF92ZXJzZXNGb3JSZWYgPSBnZXRWZXJzZXNGb3JSZWZfKF9ib29rT2JqZWN0cylcbiAgICAgIC8vIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUgX2Jvb2tPYmplY3RzIGlzICR7ISFfYm9va09iamVjdHN9IGFuZCBib29rcyBhcmUgdGhlIHNhbWUgJHtmZXRjaGVkQm9va31gLCB7IGNvbnRlbnQsIGZldGNoUGFyYW1zIH0pXG4gICAgfVxuXG4gICAgaWYgKCFpc0VxdWFsKF92ZXJzZXNGb3JSZWYsIHZlcnNlc0ZvclJlZikpIHtcbiAgICAgIHNldFN0YXRlKHsgdmVyc2VzRm9yUmVmOiBfdmVyc2VzRm9yUmVmIH0pXG4gICAgfVxuICB9LCBbcmVmZXJlbmNlXSlcblxuICByZXR1cm4ge1xuICAgIGJpYmxlVXNmbSxcbiAgICBib29rT2JqZWN0cyxcbiAgICBnZXRWZXJzZXNGb3JSZWY6IF9nZXRWZXJzZXNGb3JSZWYsXG4gICAgcmVmZXJlbmNlOiBmZXRjaFBhcmFtcz8ucmVmZXJlbmNlLFxuICAgIHJlbG9hZFJlc291cmNlLFxuICAgIHJlc291cmNlTGluazogZmV0Y2hQYXJhbXM/LnJlc291cmNlTGluayxcbiAgICByZXNvdXJjZVN0YXRlLCAvLyBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgbGF0ZXN0IGZldGNoZWQgcmVzb3VyY2VcbiAgICByZXNvdXJjZVN0YXR1cywgLy8gc3RhdHVzIGZsYWdzIGZvciBmZXRjaGVkIHJlc291cmNlXG4gICAgdGl0bGUsXG4gICAgdXBkYXRlVmVyc2UsXG4gICAgdmVyc2lvbixcbiAgICB2ZXJzZXNGb3JSZWYsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjsrQ0FDQSxxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUMsQ0FBQSxTQUFBQyxDQUFBLEVBQUFELENBQUEsT0FBQUUsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLFNBQUEsRUFBQUMsQ0FBQSxHQUFBSCxDQUFBLENBQUFJLGNBQUEsRUFBQUMsQ0FBQSxHQUFBSixNQUFBLENBQUFLLGNBQUEsY0FBQVAsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsSUFBQUQsQ0FBQSxDQUFBRCxDQUFBLElBQUFFLENBQUEs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
|
|
601
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsImVyciIsInN0ZXAiLCJfZTIiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJnZW4iLCJyZWplY3QiLCJfbmV4dCIsIl90aHJvdyIsImtleSIsImluZm8iLCJlcnJvciIsIl9hc3luY1RvR2VuZXJhdG9yIiwiZm4iLCJzZWxmIiwiYXJncyIsImFyZ3VtZW50cyIsImFwcGx5IiwidW5kZWZpbmVkIiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIm9iaiIsIl90b1Byb3BlcnR5S2V5IiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiaW5wdXQiLCJoaW50IiwicHJpbSIsInRvUHJpbWl0aXZlIiwicmVzIiwiTnVtYmVyIiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsImZyb20iLCJ0ZXN0IiwibGVuIiwiYXJyMiIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiY29yZSIsIkNPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SIiwiRVJST1JfU1RBVEUiLCJJTklUSUFMSVpFRF9TVEFURSIsIklOVkFMSURfTUFOSUZFU1RfRVJST1IiLCJMT0FESU5HX1NUQVRFIiwiTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUiIsIlNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SIiwiZ2V0VmVyc2VzIiwiaXNFcXVhbCIsIkFsaWdubWVudEhlbHBlcnMiLCJVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzIiwiZmV0Y2hCaWJsZUJvb2tDb3JlIiwidmVyc2VPYmplY3RzSGF2ZVdvcmRzIiwiY2xlYW51cFZlcnNlT2JqZWN0cyIsImdldEJvb2tOYW1lRnJvbVVzZm1GaWxlTmFtZSIsImdldFJlc291cmNlTGluayIsInBhcnNlUmVzb3VyY2VMaW5rIiwiQm9va0ZldGNoUGFyYW1zIiwiQm9va09iamVjdHNUeXBlIiwiU2NyaXB0dXJlUmVzb3VyY2VUeXBlIiwiU2NyaXB0dXJlUmVmZXJlbmNlVHlwZSIsIlNlcnZlckNvbmZpZ1R5cGUiLCJWZXJzZU9iamVjdHNUeXBlIiwiVmVyc2VSZWZlcmVuY2VzVHlwZSIsInBhcnNlUmVzb3VyY2VNYW5pZmVzdCIsImdldEJyYW5jaE5hbWUiLCJyZXNvdXJjZUxpbmsiLCJicmFuY2giLCJwYXJ0cyIsInNwbGl0IiwiX3BhcnRzIiwiZ2V0VmVyc2VzRm9yUmVmU3RyIiwicmVmU3RyIiwiYm9va09iamVjdHMiLCJsYW5ndWFnZUlkIiwidmVyc2VzIiwiY2hhcHRlcnMiLCJtYXAiLCJ2ZXJzZSIsIl92ZXJzZSR2ZXJzZURhdGEiLCJ2ZXJzZURhdGEiLCJ2ZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHNfIiwib2NjdXJyZW5jZUluamVjdFZlcnNlT2JqZWN0cyIsImdldFZlcnNlc0ZvclJlZiIsInJlZmVyZW5jZSIsImNvbmNhdCIsImNoYXB0ZXIiLCJ1c2VTY3JpcHR1cmUiLCJfcmVmMiIsIl9yZXNvdXJjZVN0YXR1cyIsIl9mZXRjaFBhcmFtcyRyZWZlcmVuYyIsImNvbmZpZyIsInJlYWR5Rm9yRmV0Y2giLCJyZXNvdXJjZV8iLCJyZXNvdXJjZSIsInJlc291cmNlTGlua18iLCJfcmVmMiR3aG9sZUJvb2siLCJ3aG9sZUJvb2siLCJmZXRjaGluZyIsIl91c2VTdGF0ZSIsImJpYmxlVXNmbSIsImZldGNoQ291bnQiLCJmZXRjaGVkQm9vayIsImZldGNoUGFyYW1zIiwiaWdub3JlU2hhIiwiaW5pdGlhbGl6ZWQiLCJyZXNvdXJjZVN0YXRlIiwiY29udGVudCIsImZldGNoUmVzcG9uc2UiLCJmZXRjaGVkUmVzb3VyY2VzIiwibG9hZGluZ1Jlc291cmNlIiwibG9hZGluZ0NvbnRlbnQiLCJzaGEiLCJ1cmwiLCJ2ZXJzZXNGb3JSZWYiLCJfdXNlU3RhdGUyIiwic3RhdGUiLCJzZXRTdGF0ZV8iLCJfcmVmMyIsIm93bmVyIiwiX3JlZjMkYnJhbmNoIiwiX3JlZjMkcmVmIiwicmVmIiwiX3JlZjQiLCJib29rSWQiLCJfc3RhdGUiLCJzZXRTdGF0ZSIsIm5ld1N0YXRlIiwicHJldlN0YXRlIiwiaW5pdGlhdGVCb29rRmV0Y2giLCJjb25zb2xlIiwibG9nIiwiY3JlYXRlTGluayIsInJlZl8iLCJyZXNvdXJjZUlkIiwicHJvamVjdElkIiwiYm9va1JlZiIsIm5ld0ZldGNoUGFyYW1zIiwiZmV0Y2hlZCIsImZldGNoQm9vayIsIl94IiwiX2ZldGNoQm9vayIsIl9jYWxsZWUiLCJfZmV0Y2hQYXJhbXMkcmVmZXJlbmMyIiwiZmV0Y2hMaW5rIiwiX3Jlc291cmNlU3RhdGUkcmVzb3VyIiwiZmV0Y2hlZFNoYU1hdGNoZXNJZ25vcmVTaGEiLCJfcmVzb3VyY2VTdGF0ZSRyZXNvdXIyIiwiX2ZldGNoQ291bnQiLCJyZXNwb25zZSIsIl9hcmdzIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsImN1cnJlbnQiLCJ2YWxpZGF0ZVJlc3BvbnNlIiwidDAiLCJfZmV0Y2hlZEJvb2skdG9Mb3dlckMiLCJpc1NhbWVCb29rIiwiZXhwZWN0ZWRCb29rSWQiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwiZmV0Y2hlZEJyYW5jaCIsImZldGNoaW5nQnJhbmNoIiwid2FybiIsImJpYmxlVXNmbV8iLCJnZXRWZXJzZXNGb3JSZWZfIiwidW5wcm9jZXNzZWQiLCJfcGFyc2VSZXNvdXJjZU1hbmlmZXMiLCJ0aXRsZSIsInZlcnNpb24iLCJsb2FkaW5nIiwiY29udGVudE5vdEZvdW5kRXJyb3IiLCJzY3JpcHR1cmVOb3RMb2FkZWRFcnJvciIsIm1hbmlmZXN0Tm90Rm91bmRFcnJvciIsIm1hbmlmZXN0IiwiaW52YWxpZE1hbmlmZXN0RXJyb3IiLCJyZXNvdXJjZVN0YXR1cyIsImludGlhbGl6ZWQiLCJfZ2V0VmVyc2VzRm9yUmVmIiwiY29udGVudF8iLCJ1cGRhdGVWZXJzZSIsImJvb2tPYmplY3RzXyIsIl9ib29rT2JqZWN0cyIsIm5ld1ZlcnNlc0ZvclJlZiIsIl9uZXdWZXJzZXNGb3JSZWYiLCJpbml0aWFsVmVyc2VPYmplY3RzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJ2byIsInZlcnNlVGV4dCIsImdldFVzZm1Gb3JWZXJzZUNvbnRlbnQiLCJfQWxpZ25tZW50SGVscGVycyR1cGQiLCJ1cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZSIsInRhcmdldFZlcnNlT2JqZWN0cyIsInJlbG9hZFJlc291cmNlIiwiX2ZldGNoUGFyYW1zIiwiX3BhcnNlUmVzb3VyY2VMaW5rIiwiX3JlZiIsIl9yZXNvdXJjZUxpbmsiLCJjdXJyZW50Qm9va1JlZiIsImZldGNoZWRCb29rU2FtZSIsIl92ZXJzZXNGb3JSZWYiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlU2NyaXB0dXJlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQge1xuICB1c2VFZmZlY3QsXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHtcbiAgQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IsXG4gIEVSUk9SX1NUQVRFLFxuICBJTklUSUFMSVpFRF9TVEFURSxcbiAgSU5WQUxJRF9NQU5JRkVTVF9FUlJPUixcbiAgTE9BRElOR19TVEFURSxcbiAgTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUixcbiAgU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1IsXG59IGZyb20gJ3RyYW5zbGF0aW9uLWhlbHBzLXJjbCdcbmltcG9ydCB7IGdldFZlcnNlcyB9IGZyb20gJ2JpYmxlLXJlZmVyZW5jZS1yYW5nZSdcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdAcmVhY3QtaG9va3ovZGVlcC1lcXVhbCdcbmltcG9ydCB7IEFsaWdubWVudEhlbHBlcnMsIFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMgfSBmcm9tICd3b3JkLWFsaWduZXItcmNsJ1xuaW1wb3J0IHtcbiAgZmV0Y2hCaWJsZUJvb2tDb3JlLFxuICB2ZXJzZU9iamVjdHNIYXZlV29yZHMsXG59IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHtcbiAgY2xlYW51cFZlcnNlT2JqZWN0cyxcbiAgZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lLFxuICBnZXRSZXNvdXJjZUxpbmssXG4gIHBhcnNlUmVzb3VyY2VMaW5rLFxufSBmcm9tICcuLi91dGlscy9TY3JpcHR1cmVTZXR0aW5ncydcbmltcG9ydCB7XG4gIEJvb2tGZXRjaFBhcmFtcyxcbiAgQm9va09iamVjdHNUeXBlLFxuICBTY3JpcHR1cmVSZXNvdXJjZVR5cGUsXG4gIFNjcmlwdHVyZVJlZmVyZW5jZVR5cGUsXG4gIFNlcnZlckNvbmZpZ1R5cGUsXG4gIFZlcnNlT2JqZWN0c1R5cGUsXG4gIFZlcnNlUmVmZXJlbmNlc1R5cGUsXG59IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgcGFyc2VSZXNvdXJjZU1hbmlmZXN0IH0gZnJvbSAnLi9wYXJzZVJlc291cmNlTWFuaWZlc3QnXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIC8qKiByZWZlcmVuY2UgZm9yIHNjcmlwdHVyZSAqKi9cbiAgcmVmZXJlbmNlOiBTY3JpcHR1cmVSZWZlcmVuY2VUeXBlO1xuICAvKiogd2hlcmUgdG8gZ2V0IGRhdGEgKiovXG4gIGNvbmZpZzogU2VydmVyQ29uZmlnVHlwZTtcbiAgLyoqIG9wdGlvbmFsIGRpcmVjdCBwYXRoIHRvIGJpYmxlIHJlc291cmNlLCBpbiBmb3JtYXQgJHtvd25lcn0vJHtsYW5ndWFnZUlkfS8ke3Byb2plY3RJZH0vJHticmFuY2h9ICoqL1xuICByZXNvdXJjZUxpbms6IHN0cmluZ3x1bmRlZmluZWQ7XG4gIC8qKiBvcHRpb25hbCByZXNvdXJjZSBvYmplY3QgdG8gdXNlIHRvIGJ1aWxkIHJlc291cmNlTGluayAqKi9cbiAgcmVzb3VyY2U6IFNjcmlwdHVyZVJlc291cmNlVHlwZXx1bmRlZmluZWQ7XG4gIC8qKiBpZiB0cnVlIHRoZW4gZmV0Y2ggdGhlIGVudGlyZSBib29rICovXG4gIHdob2xlQm9vazogYm9vbGVhbjtcbiAgLyoqIGlmIHRydWUgdGhlbiBzZXR0aW5ncyBhcmUgcmVhZHkgZm9yIGZldGNoaW5nIGRhdGEgKi9cbiAgcmVhZHlGb3JGZXRjaDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBleHRyYWN0IGJyYW5jaCBmcm9tIHJlc291cmNlIGxpbmtcbiAqIEBwYXJhbSByZXNvdXJjZUxpbmtcbiAqL1xuZnVuY3Rpb24gZ2V0QnJhbmNoTmFtZShyZXNvdXJjZUxpbms6IHN0cmluZykge1xuICBsZXQgYnJhbmNoID0gbnVsbFxuICByZXNvdXJjZUxpbmsgPSByZXNvdXJjZUxpbmsgfHwgJydcbiAgY29uc3QgcGFydHMgPSByZXNvdXJjZUxpbmsuc3BsaXQoJz9yZWY9JylcblxuICBpZiAocGFydHMubGVuZ3RoID4gMSkgeyAvLyBpZiByZWYgcGFyYW1ldGVyIGZvdW5kLCBnZXQgYnJhbmNoIG5hbWUgYWZ0ZXJcbiAgICBicmFuY2ggPSBwYXJ0cz8uWzFdXG4gIH0gZWxzZSB7IC8vIGZhbGwgYmFjayB0byB1c2luZyB1c2VSc3JjIGZvcm1hdCBzdWNoIGFzIFwidW5mb2xkaW5nV29yZC9lbi91c3QvbWFzdGVyXCJcbiAgICBjb25zdCBfcGFydHMgPSByZXNvdXJjZUxpbmsuc3BsaXQoJy8nKVxuICAgIGJyYW5jaCA9IF9wYXJ0cz8uWzNdXG4gIH1cbiAgcmV0dXJuIGJyYW5jaFxufVxuXG4vKipcbiAqIGdldCB0aGUgdmVyc2Ugb2JqZWN0cyBmb3IgdGhlIHJlZmVyZW5jZSBzdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSByZWZTdHIgLSBpbiBmb3JtYXQgPGNoYXB0ZXI+Ojx2ZXJzZT5cbiAqIEBwYXJhbSB7b2JqZWN0fSBib29rT2JqZWN0cyAtIHBhcnNlZCB1c2ZtIGZvciBib29rXG4gKiBAcGFyYW0ge3N0cmluZ30gbGFuZ3VhZ2VJZFxuICogQHJldHVybiB7YXJyYXl8bnVsbH0gLSBvZiB2ZXJzZU9iamVjdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNlc0ZvclJlZlN0cihyZWZTdHIsIGJvb2tPYmplY3RzLCBsYW5ndWFnZUlkKTogVmVyc2VSZWZlcmVuY2VzVHlwZSB7XG4gIGlmIChib29rT2JqZWN0cykge1xuICAgIGxldCB2ZXJzZXMgPSBnZXRWZXJzZXMoYm9va09iamVjdHMuY2hhcHRlcnMsIHJlZlN0cilcblxuICAgIGlmIChsYW5ndWFnZUlkID09PSAnZWwteC1rb2luZScgfHwgbGFuZ3VhZ2VJZCA9PT0gJ2hibycpIHtcbiAgICAgIHZlcnNlcyA9IHZlcnNlcy5tYXAodmVyc2UgPT4ge1xuICAgICAgICBpZiAoIHZlcnNlPy52ZXJzZURhdGE/LnZlcnNlT2JqZWN0cykge1xuICAgICAgICAgIGxldCB2ZXJzZU9iamVjdHNfID0gY29yZS5vY2N1cnJlbmNlSW5qZWN0VmVyc2VPYmplY3RzKCB2ZXJzZS52ZXJzZURhdGEudmVyc2VPYmplY3RzKVxuICAgICAgICAgIHZlcnNlT2JqZWN0c18gPSBjbGVhbnVwVmVyc2VPYmplY3RzKHZlcnNlT2JqZWN0c18pXG4gICAgICAgICAgdmVyc2UudmVyc2VEYXRhLnZlcnNlT2JqZWN0cyA9IHZlcnNlT2JqZWN0c19cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmVyc2VcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcnNlc1xuICB9XG4gIHJldHVybiBudWxsXG59XG5cbi8qKlxuICogZ2V0IHRoZSB2ZXJzZSBvYmplY3RzIGZvciB0aGUgcmVmZXJlbmNlIG9iamVjdFxuICogQHBhcmFtIHtTY3JpcHR1cmVSZWZlcmVuY2VUeXBlfSByZWZlcmVuY2VcbiAqIEBwYXJhbSB7b2JqZWN0fSBib29rT2JqZWN0cyAtIHBhcnNlZCB1c2ZtIGZvciBib29rXG4gKiBAcGFyYW0ge3N0cmluZ30gbGFuZ3VhZ2VJZFxuICogQHJldHVybiB7YXJyYXl8bnVsbH0gLSBvZiB2ZXJzZU9iamVjdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNlc0ZvclJlZihyZWZlcmVuY2UsIGJvb2tPYmplY3RzLCBsYW5ndWFnZUlkKTogVmVyc2VSZWZlcmVuY2VzVHlwZSB7XG4gIGNvbnN0IHJlZlN0ciA9IGAke3JlZmVyZW5jZS5jaGFwdGVyfToke3JlZmVyZW5jZS52ZXJzZX1gXG4gIHJldHVybiBnZXRWZXJzZXNGb3JSZWZTdHIocmVmU3RyLCBib29rT2JqZWN0cywgbGFuZ3VhZ2VJZClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNjcmlwdHVyZSh7IC8vIGhvb2sgZm9yIGZldGNoaW5nIHNjcmlwdHVyZVxuICBjb25maWcsXG4gIHJlYWR5Rm9yRmV0Y2gsXG4gIHJlZmVyZW5jZSxcbiAgcmVzb3VyY2U6IHJlc291cmNlXyxcbiAgcmVzb3VyY2VMaW5rOiByZXNvdXJjZUxpbmtfLFxuICB3aG9sZUJvb2sgPSBmYWxzZSxcbn0gOiBQcm9wcykge1xuICB0eXBlIFN0YXRlVHlwZXMgPSB7XG4gICAgYmlibGVVc2ZtOiBzdHJpbmcsXG4gICAgYm9va09iamVjdHM6IEJvb2tPYmplY3RzVHlwZSxcbiAgICBmZXRjaENvdW50OiBudW1iZXIsXG4gICAgZmV0Y2hlZEJvb2s6IHN0cmluZyxcbiAgICBmZXRjaFBhcmFtczogQm9va0ZldGNoUGFyYW1zfG51bGwsXG4gICAgaWdub3JlU2hhOiBzdHJpbmd8bnVsbCxcbiAgICBpbml0aWFsaXplZDogYm9vbGVhbixcbiAgICByZXNvdXJjZVN0YXRlOiB7XG4gICAgICB1bnByb2Nlc3NlZD86IGJvb2xlYW4sXG4gICAgICBiaWJsZVVzZm06IHN0cmluZyxcbiAgICAgIGJvb2tPYmplY3RzOiBCb29rT2JqZWN0c1R5cGUsXG4gICAgICBjb250ZW50OiB7fSxcbiAgICAgIGZldGNoUmVzcG9uc2U6IHt9LFxuICAgICAgZmV0Y2hlZFJlc291cmNlczoge1xuICAgICAgICBiaWJsZVVzZm06IHN0cmluZyxcbiAgICAgICAgYm9va09iamVjdHM6IEJvb2tPYmplY3RzVHlwZSxcbiAgICAgICAgZmV0Y2hDb3VudDogbnVtYmVyLFxuICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICAgIHNoYTogc3RyaW5nLFxuICAgICAgICB1cmw6IHN0cmluZyxcbiAgICAgIH0sXG4gICAgICBsb2FkaW5nUmVzb3VyY2U6IGJvb2xlYW4sXG4gICAgICBsb2FkaW5nQ29udGVudDogYm9vbGVhbixcbiAgICAgIHJlc291cmNlOiB7XG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgbWFuaWZlc3Q6IHt9LFxuICAgICAgICByZXNvdXJjZUxpbms6IHt9XG4gICAgICB9LFxuICAgICAgc2hhOiBzdHJpbmcsXG4gICAgICB1cmw6IHN0cmluZyxcbiAgICB9LFxuICAgIHZlcnNlc0ZvclJlZjogYW55W10sXG4gIH1cblxuICBjb25zdCBmZXRjaGluZyA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlX10gPSB1c2VTdGF0ZSh7XG4gICAgYmlibGVVc2ZtOiBudWxsLFxuICAgIGJvb2tPYmplY3RzOiBudWxsLFxuICAgIGZldGNoQ291bnQ6IDAsXG4gICAgZmV0Y2hlZEJvb2s6ICcnLFxuICAgIGZldGNoUGFyYW1zOiBudWxsLFxuICAgIGlnbm9yZVNoYTogbnVsbCxcbiAgICBpbml0aWFsaXplZDogZmFsc2UsXG4gICAgcmVzb3VyY2VTdGF0ZToge1xuICAgICAgYm9va09iamVjdHM6IG51bGwsXG4gICAgICBiaWJsZVVzZm06IG51bGwsXG4gICAgICBjb250ZW50OiBudWxsLFxuICAgICAgZmV0Y2hSZXNwb25zZTogbnVsbCxcbiAgICAgIGZldGNoZWRSZXNvdXJjZXM6IG51bGwsXG4gICAgICBsb2FkaW5nUmVzb3VyY2U6IGZhbHNlLFxuICAgICAgbG9hZGluZ0NvbnRlbnQ6IGZhbHNlLFxuICAgICAgcmVzb3VyY2U6IG51bGwsXG4gICAgICBzaGE6IG51bGwsXG4gICAgICB1cmw6IG51bGwsXG4gICAgfSxcbiAgICB2ZXJzZXNGb3JSZWY6IFtdLFxuICB9KVxuXG4gIGNvbnN0IHtcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIGJyYW5jaCA9ICdtYXN0ZXInLFxuICAgIHJlZiA9IG51bGwsXG4gIH0gPSByZXNvdXJjZV8gfHwge31cblxuICBjb25zdCB7IGJvb2tJZCB9ID0gcmVmZXJlbmNlIHx8IHt9XG5cbiAgY29uc3QgX3N0YXRlOiBTdGF0ZVR5cGVzID0gc3RhdGUgLy8gVHJpY2t5OiB3b3JrLWFyb3VuZCBmb3IgYnVnIHRoYXQgc3RhbmRhcmQgdHlwZXNjcmlwdCB0eXBlIGNhc3RpbmcgZG9lcyBub3Qgd29yayBpbiAudHN4IGZpbGVzXG4gIGNvbnN0IHtcbiAgICBiaWJsZVVzZm0sXG4gICAgYm9va09iamVjdHMsXG4gICAgZmV0Y2hDb3VudCxcbiAgICBmZXRjaGVkQm9vayxcbiAgICBmZXRjaFBhcmFtcyxcbiAgICBpZ25vcmVTaGEsXG4gICAgaW5pdGlhbGl6ZWQsXG4gICAgcmVzb3VyY2VTdGF0ZSxcbiAgICB2ZXJzZXNGb3JSZWYsXG4gIH0gPSBfc3RhdGVcblxuICBmdW5jdGlvbiBzZXRTdGF0ZShuZXdTdGF0ZSkge1xuICAgIHNldFN0YXRlXyhwcmV2U3RhdGUgPT4gKHsgLi4ucHJldlN0YXRlLCAuLi5uZXdTdGF0ZSB9KSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlYWR5Rm9yRmV0Y2gpIHtcbiAgICAgIGluaXRpYXRlQm9va0ZldGNoKClcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbml0aWF0ZUJvb2tGZXRjaCgpIHtcbiAgICAgIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUgLSByZWFkeUZvckZldGNoIHRydWUsIGluaXRpYWxpemluZ2ApXG4gICAgICBsZXQgcmVzb3VyY2VMaW5rID0gcmVhZHlGb3JGZXRjaCAmJiByZXNvdXJjZUxpbmtfXG5cbiAgICAgIGlmIChyZXNvdXJjZV8pIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgcmVzb3VyY2VMaW5rXyBkb2VzIG5vdCBleGlzdCBvciBpbiBjYXNlIHJlZiBoYXMgYmVlbiB1cGRhdGVkXG4gICAgICAgIGNvbnN0IGNyZWF0ZUxpbmsgPSAhcmVzb3VyY2VMaW5rXyB8fCAocmVmICYmIChyZWYgIT09IGJyYW5jaCkpXG5cbiAgICAgICAgaWYgKGNyZWF0ZUxpbmspIHtcbiAgICAgICAgICBjb25zdCByZWZfID0gcmVmIHx8IGJyYW5jaFxuXG4gICAgICAgICAgcmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHtcbiAgICAgICAgICAgIG93bmVyLFxuICAgICAgICAgICAgbGFuZ3VhZ2VJZCxcbiAgICAgICAgICAgIHJlc291cmNlSWQ6IHJlc291cmNlXz8ucHJvamVjdElkLFxuICAgICAgICAgICAgcmVmOiByZWZfLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgYm9va1JlZiA9IHsgLi4ucmVmZXJlbmNlIH1cblxuICAgICAgaWYgKHdob2xlQm9vaykge1xuICAgICAgICBkZWxldGUgYm9va1JlZi5jaGFwdGVyIC8vIHJlbW92ZSB0aGUgY2hhcHRlciBhbmQgdmVyc2Ugc28gdGhlIHdob2xlIGJvb2sgaXMgZmV0Y2hlZFxuICAgICAgICBkZWxldGUgYm9va1JlZi52ZXJzZVxuICAgICAgfVxuXG4gICAgICBpZiAocmVzb3VyY2VMaW5rICE9PSBmZXRjaFBhcmFtcz8ucmVzb3VyY2VMaW5rKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUgLSBmb3IgJHtyZXNvdXJjZV8/LnByb2plY3RJZH0gcmVzb3VyY2VMaW5rIGlzIG5vdyAke3Jlc291cmNlTGlua30gYW5kIHJlc291cmNlTGlua189JHtyZXNvdXJjZUxpbmtffWApXG4gICAgICB9IGVsc2UgaWYgKGJvb2tSZWYgIT09IGZldGNoUGFyYW1zPy5yZWZlcmVuY2UpIHtcbiAgICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZSAtIGJvb2sgY2hhbmdlZCB0byAke3Jlc291cmNlXz8ucHJvamVjdElkfSByZXNvdXJjZUxpbmsgaXMgbm93ICR7cmVzb3VyY2VMaW5rfWApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld0ZldGNoUGFyYW1zID0ge1xuICAgICAgICBjb25maWcsXG4gICAgICAgIHJlZmVyZW5jZTogYm9va1JlZixcbiAgICAgICAgcmVzb3VyY2VMaW5rLFxuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRXF1YWwobmV3RmV0Y2hQYXJhbXMsIGZldGNoUGFyYW1zKSkge1xuICAgICAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlIC0gcGFyYW1ldGVycyBjaGFuZ2VkYCwgeyBuZXdGZXRjaFBhcmFtcywgZmV0Y2hQYXJhbXMgfSlcbiAgICAgICAgc2V0U3RhdGUoe1xuICAgICAgICAgIGZldGNoUGFyYW1zOiBuZXdGZXRjaFBhcmFtcyxcbiAgICAgICAgICBmZXRjaGVkOiBmYWxzZSxcbiAgICAgICAgICBpbml0aWFsaXplZDogdHJ1ZSxcbiAgICAgICAgfSlcblxuICAgICAgICBmZXRjaEJvb2sobmV3RmV0Y2hQYXJhbXMpXG4gICAgICB9XG4gICAgfVxuICB9LCBbXG4gICAgcmVhZHlGb3JGZXRjaCxcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIGJvb2tJZCxcbiAgICBicmFuY2gsXG4gICAgcmVmLFxuICBdKVxuXG4gIC8qKlxuICAgKiBkbyBhIGZldGNoIG9mIG1hbmlmZXN0IGFuZCBib29rIG9mIHRoZSBiaWJsZSBzcGVjaWZpZWQgaW4gZmV0Y2hQYXJhbXNcbiAgICogQHBhcmFtIHtvYmplY3R9IGZldGNoUGFyYW1zXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZ25vcmVTaGEgLSBvcHRpb25hbCBwcmV2aW91cyBzaGEgLSBpZ25vcmUgcmVzcG9uc2VzIHRoYXQgY2FtZSBiYWNrIGZvciB0aGlzIHByZXZpb3VzIGJvb2sgY29tbWl0XG4gICAqL1xuICBhc3luYyBmdW5jdGlvbiBmZXRjaEJvb2soZmV0Y2hQYXJhbXM6IEJvb2tGZXRjaFBhcmFtcywgaWdub3JlU2hhID0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICBpZiAoZmV0Y2hpbmcuY3VycmVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlLmZldGNoQm9vaygpIC0gYWxyZWFkeSBmZXRjaGluZ2AsIGZldGNoUGFyYW1zKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgZmV0Y2hMaW5rID0gYCR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua30vJHtmZXRjaFBhcmFtcz8ucmVmZXJlbmNlPy5ib29rSWR9YFxuXG4gICAgICBpZiAoaWdub3JlU2hhKSB7XG4gICAgICAgIGNvbnN0IGZldGNoZWRTaGFNYXRjaGVzSWdub3JlU2hhID0gaWdub3JlU2hhID09PSByZXNvdXJjZVN0YXRlPy5zaGEgLy8gd2Ugd2lsbCByZWxvYWQgaWYgaWdub3JlU2hhIGdpdmVuIGFuZCBpdCBtYXRjaGVzIGN1cnJlbnQgc2hhXG5cbiAgICAgICAgaWYgKChmZXRjaExpbmsgPT09IHJlc291cmNlU3RhdGU/LnJlc291cmNlPy5yZXNvdXJjZUxpbmspICYmICFmZXRjaGVkU2hhTWF0Y2hlc0lnbm9yZVNoYSkgeyAvLyBzZWUgaWYgd2UgYWxyZWFkeSBmZXRjaGVkIHRoaXNcbiAgICAgICAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlLmZldGNoQm9vaygpIC0gQWxyZWFkeSBmZXRjaGluZyByZXNvdXJjZUxpbmsgJHtyZXNvdXJjZVN0YXRlPy5yZXNvdXJjZT8ucmVzb3VyY2VMaW5rfSBhbmQgaWdub3JlU2hhPSR7aWdub3JlU2hhfWAsIGZldGNoUGFyYW1zKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZldGNoaW5nLmN1cnJlbnQgPSB0cnVlIC8vIGJsb2NrIG90aGVyIGZldGNoZXMgd2hpbGUgcnVubmluZ1xuICAgICAgY29uc3QgX2ZldGNoQ291bnQgPSBmZXRjaENvdW50ICsgMVxuICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZS5mZXRjaEJvb2soKSAtIEZFVENISU5HIGJpYmxlICR7cmVzb3VyY2VfPy5wcm9qZWN0SWR9IHJlc291cmNlTGluayBpcyBub3cgJHtmZXRjaFBhcmFtcz8ucmVzb3VyY2VMaW5rfSBhbmQgaWdub3JlU2hhPSR7aWdub3JlU2hhfWAsIGZldGNoUGFyYW1zKVxuICAgICAgc2V0U3RhdGUoe1xuICAgICAgICBmZXRjaENvdW50OiBfZmV0Y2hDb3VudCxcbiAgICAgICAgZmV0Y2hlZDogZmFsc2UsXG4gICAgICAgIGlnbm9yZVNoYSxcbiAgICAgICAgcmVzb3VyY2VTdGF0ZTogeyBsb2FkaW5nUmVzb3VyY2U6IHRydWUgfSxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hCaWJsZUJvb2tDb3JlKGZldGNoUGFyYW1zKVxuXG4gICAgICBpZiAoIXJlc3BvbnNlIHx8IHJlc3BvbnNlPy5lcnJvcikge1xuICAgICAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlLndhcm4oKSAtRXJyb3IgRkVUQ0hJTkcgYmlibGUgJHtyZXNvdXJjZV8/LnByb2plY3RJZH1gLCByZXNwb25zZSlcbiAgICAgICAgc2V0U3RhdGUoe1xuICAgICAgICAgIHJlc291cmNlU3RhdGU6IHtcbiAgICAgICAgICAgIGxvYWRpbmdSZXNvdXJjZTogZmFsc2UsXG4gICAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgICBmZXRjaGluZy5jdXJyZW50ID0gZmFsc2VcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUuZmV0Y2hCb29rKCkgLSBMT0FERUQgYmlibGUgYm9vayAke3Jlc291cmNlXz8ucHJvamVjdElkfSByZXNvdXJjZUxpbmsgaXMgbm93ICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua319YCwgZmV0Y2hQYXJhbXMpXG5cbiAgICAgIGNvbnN0IGZldGNoZWRSZXNvdXJjZXMgPSB7XG4gICAgICAgIC4uLnJlc3BvbnNlLFxuICAgICAgICBmZXRjaENvdW50OiBfZmV0Y2hDb3VudCxcbiAgICAgICAgcmVmZXJlbmNlOiBmZXRjaFBhcmFtcz8ucmVmZXJlbmNlLFxuICAgICAgfVxuXG4gICAgICB2YWxpZGF0ZVJlc3BvbnNlKGZldGNoZWRSZXNvdXJjZXMsIGZldGNoUGFyYW1zKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYHVzZVNjcmlwdHVyZS5mZXRjaEJvb2soKSAtIGhhcmQgZXJyb3IgbG9hZGluZyByZXNvdXJjZWAsIGZldGNoUGFyYW1zLCBlIClcbiAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgcmVzb3VyY2VTdGF0ZToge1xuICAgICAgICAgIGxvYWRpbmdSZXNvdXJjZTogZmFsc2UsXG4gICAgICAgICAgcmVzb3VyY2U6IG51bGwsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgZmV0Y2hpbmcuY3VycmVudCA9IGZhbHNlXG4gICAgfVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlIC0gZm9yICR7cmVzb3VyY2VfPy5wcm9qZWN0SWR9IHJlYWR5Rm9yRmV0Y2ggaXMgbm93ICR7cmVhZHlGb3JGZXRjaH1gKVxuICB9LCBbcmVhZHlGb3JGZXRjaF0pXG5cbiAgLyoqXG4gICAqIG1ha2Ugc3VyZSBsYXN0IGZldGNoIHJlc3BvbnNlIGlzIGZvciBjdXJyZW50IGJvb2svYnJhbmNoXG4gICAqL1xuICBmdW5jdGlvbiB2YWxpZGF0ZVJlc3BvbnNlKGZldGNoZWRSZXNvdXJjZXMsIGZldGNoUGFyYW1zOiBCb29rRmV0Y2hQYXJhbXMpIHtcbiAgICBsZXQgaXNTYW1lQm9vayA9IGZhbHNlXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IGV4cGVjdGVkQm9va0lkID0gYm9va0lkIHx8ICd6enonXG4gICAgY29uc3QgZmV0Y2hlZEJvb2sgPSBnZXRCb29rTmFtZUZyb21Vc2ZtRmlsZU5hbWUoZmV0Y2hlZFJlc291cmNlcz8ubmFtZSlcbiAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlLnZhbGlkYXRlUmVzcG9uc2UoKSAtIEN1cnJlbnQgYm9va0lkIGlzICR7Ym9va0lkfSBhbmQgc2VlaW5nICR7ZmV0Y2hlZEJvb2t9IGluIFVTRk1gKVxuICAgIGlzU2FtZUJvb2sgPSBmZXRjaGVkQm9vaz8udG9Mb3dlckNhc2UoKT8uaW5jbHVkZXMoYm9va0lkKVxuXG4gICAgY29uc3Qgc2hhID0gZmV0Y2hlZFJlc291cmNlcz8uc2hhIHx8IG51bGxcbiAgICBjb25zdCB1cmwgPSBmZXRjaGVkUmVzb3VyY2VzPy51cmwgfHwgbnVsbFxuXG4gICAgaWYgKGlzU2FtZUJvb2spIHsgLy8gYWxzbyBtYWtlIHN1cmUgaXQgaXMgdGhlIHNhbWUgYnJhbmNoXG4gICAgICBjb25zdCBmZXRjaGVkQnJhbmNoID0gZ2V0QnJhbmNoTmFtZSh1cmwpXG4gICAgICBjb25zdCBmZXRjaGluZ0JyYW5jaCA9IGdldEJyYW5jaE5hbWUoZmV0Y2hQYXJhbXM/LnJlc291cmNlTGluaylcblxuICAgICAgaWYgKGZldGNoZWRCcmFuY2ggIT09IGZldGNoaW5nQnJhbmNoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUudmFsaWRhdGVSZXNwb25zZSgpIGludmFsaWQgYnJhbmNoLCBleHBlY3RlZCBicmFuY2ggaXMgJHtmZXRjaGluZ0JyYW5jaH0sIGJ1dCBmZXRjaGVkQnJhbmNoIGlzICR7ZmV0Y2hlZEJyYW5jaH1gLCB7IHNoYSwgdXJsIH0pXG4gICAgICAgIGlzU2FtZUJvb2sgPSBmYWxzZVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlLnZhbGlkYXRlUmVzcG9uc2UoKSAtICBpbnZhbGlkIGJvb2ssIGV4cGVjdGVkQm9va0lkIGlzICR7ZXhwZWN0ZWRCb29rSWR9LCBidXQgcmVjZWl2ZWQgYm9vayBuYW1lICR7ZmV0Y2hlZEJvb2t9YCwgeyBzaGEsIHVybCB9KVxuICAgIH1cblxuICAgIGlmIChpZ25vcmVTaGEgPT09IHNoYSkge1xuICAgICAgY29uc29sZS53YXJuKGB1c2VTY3JpcHR1cmUudmFsaWRhdGVSZXNwb25zZSgpIC0gdGhlIHNoYSBpcyB0aGUgc2FtZSBhcyB0aGUgaWdub3JlIHNoYSAke3NoYX1gLCB7IHNoYSwgdXJsIH0pXG4gICAgICBpc1NhbWVCb29rID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoaXNTYW1lQm9vaykge1xuICAgICAgY29uc3QgYmlibGVVc2ZtXyA9IGZldGNoZWRSZXNvdXJjZXM/LmJpYmxlVXNmbVxuICAgICAgY29uc3QgYm9va09iamVjdHMgPSBmZXRjaGVkUmVzb3VyY2VzPy5ib29rT2JqZWN0c1xuICAgICAgY29uc3QgdmVyc2VzRm9yUmVmID0gZ2V0VmVyc2VzRm9yUmVmXyhib29rT2JqZWN0cylcblxuICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZS52YWxpZGF0ZVJlc3BvbnNlKCkgLSBjb3JyZWN0IGJvb2ssIGV4cGVjdGVkQm9va0lkIGlzICR7ZXhwZWN0ZWRCb29rSWR9YCwgeyBzaGEsIHVybCB9KVxuICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgIGJpYmxlVXNmbTogYmlibGVVc2ZtXyxcbiAgICAgICAgYm9va09iamVjdHMsXG4gICAgICAgIGZldGNoZWQ6IHRydWUsXG4gICAgICAgIGZldGNoZWRCb29rOiBleHBlY3RlZEJvb2tJZCxcbiAgICAgICAgaWdub3JlU2hhOiBudWxsLFxuICAgICAgICByZXNvdXJjZVN0YXRlOiB7XG4gICAgICAgICAgYm9va09iamVjdHMsXG4gICAgICAgICAgYmlibGVVc2ZtOiBiaWJsZVVzZm1fLFxuICAgICAgICAgIGxvYWRpbmdSZXNvdXJjZTogZmFsc2UsXG4gICAgICAgICAgbG9hZGluZ0NvbnRlbnQ6IGZhbHNlLFxuICAgICAgICAgIHJlc291cmNlOiBmZXRjaGVkUmVzb3VyY2VzLFxuICAgICAgICAgIHNoYSxcbiAgICAgICAgICB1cmwsXG4gICAgICAgIH0sXG4gICAgICAgIHVucHJvY2Vzc2VkOiBmYWxzZSxcbiAgICAgICAgdmVyc2VzRm9yUmVmLFxuICAgICAgfVxuXG4gICAgICBzZXRTdGF0ZShuZXdTdGF0ZSlcbiAgICAgIGZldGNoaW5nLmN1cnJlbnQgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlc291cmNlID0gcmVzb3VyY2VTdGF0ZT8ucmVzb3VyY2VcbiAgY29uc3QgdW5wcm9jZXNzZWQgPSByZXNvdXJjZVN0YXRlPy51bnByb2Nlc3NlZFxuICBjb25zdCB7IHRpdGxlLCB2ZXJzaW9uIH0gPSBwYXJzZVJlc291cmNlTWFuaWZlc3QocmVzb3VyY2UpXG4gIGNvbnN0IGxvYWRpbmcgPSByZXNvdXJjZVN0YXRlPy5sb2FkaW5nUmVzb3VyY2UgfHwgcmVzb3VyY2VTdGF0ZT8ubG9hZGluZ0NvbnRlbnQgfHwgIXJlYWR5Rm9yRmV0Y2hcbiAgY29uc3QgY29udGVudE5vdEZvdW5kRXJyb3IgPSAhcmVzb3VyY2VTdGF0ZT8uYmlibGVVc2ZtXG4gIGNvbnN0IHNjcmlwdHVyZU5vdExvYWRlZEVycm9yID0gIXJlc291cmNlU3RhdGU/LmJvb2tPYmplY3RzXG4gIGNvbnN0IG1hbmlmZXN0Tm90Rm91bmRFcnJvciA9ICFyZXNvdXJjZT8ubWFuaWZlc3RcbiAgY29uc3QgaW52YWxpZE1hbmlmZXN0RXJyb3IgPSAhdGl0bGUgfHwgIXZlcnNpb24gfHwgIWxhbmd1YWdlSWRcbiAgY29uc3QgZXJyb3IgPSByZWFkeUZvckZldGNoICYmIGluaXRpYWxpemVkICYmICFsb2FkaW5nICYmICF1bnByb2Nlc3NlZCAmJlxuICAgIChjb250ZW50Tm90Rm91bmRFcnJvciB8fCBzY3JpcHR1cmVOb3RMb2FkZWRFcnJvciB8fCBtYW5pZmVzdE5vdEZvdW5kRXJyb3IgfHwgaW52YWxpZE1hbmlmZXN0RXJyb3IpXG4gIGNvbnN0IHJlc291cmNlU3RhdHVzID0ge1xuICAgIFtMT0FESU5HX1NUQVRFXTogbG9hZGluZyxcbiAgICBbQ09OVEVOVF9OT1RfRk9VTkRfRVJST1JdOiBjb250ZW50Tm90Rm91bmRFcnJvcixcbiAgICBbU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1JdOiBzY3JpcHR1cmVOb3RMb2FkZWRFcnJvcixcbiAgICBbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl06IG1hbmlmZXN0Tm90Rm91bmRFcnJvcixcbiAgICBbSU5WQUxJRF9NQU5JRkVTVF9FUlJPUl06IGludmFsaWRNYW5pZmVzdEVycm9yLFxuICAgIFtFUlJPUl9TVEFURV06IGVycm9yLFxuICAgIFtJTklUSUFMSVpFRF9TVEFURV06IGluaXRpYWxpemVkLFxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXJlYWR5Rm9yRmV0Y2gpIHtcbiAgICAgIGlmIChpbml0aWFsaXplZCkge1xuICAgICAgICBzZXRTdGF0ZSh7IGludGlhbGl6ZWQ6IGZhbHNlIH0pXG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGlmIChsb2FkaW5nKSB7IC8vIG9uY2UgZmlyc3QgbG9hZCBoYXMgYmVndW4sIHdlIGFyZSBpbml0aWFsaXplZFxuICAgICAgICBzZXRTdGF0ZSh7IGludGlhbGl6ZWQ6IHRydWUgfSlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtsb2FkaW5nLCByZWFkeUZvckZldGNoXSlcblxuICAvKipcbiAgICogZ2V0IHZlcnNlcyBmb3IgcmVmXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWZTdHJcbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbnRlbnRfXG4gICAqL1xuICBmdW5jdGlvbiBfZ2V0VmVyc2VzRm9yUmVmKHJlZlN0ciwgY29udGVudF8gPSBib29rT2JqZWN0cyk6IFZlcnNlUmVmZXJlbmNlc1R5cGUge1xuICAgIGlmIChjb250ZW50Xykge1xuICAgICAgcmV0dXJuIGdldFZlcnNlc0ZvclJlZlN0cihyZWZTdHIsIGNvbnRlbnRfLCBsYW5ndWFnZUlkKVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSB2ZXJzZSBkYXRhIGZvciBjdXJyZW50IGJvb2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNoYXB0ZXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZlcnNlXG4gICAqIEBwYXJhbSB7b2JqZWN0fSB2ZXJzZURhdGFcbiAgICovXG4gIGZ1bmN0aW9uIHVwZGF0ZVZlcnNlKGNoYXB0ZXIsIHZlcnNlLCB2ZXJzZURhdGEpIHtcbiAgICBpZiAoYm9va09iamVjdHMpIHtcbiAgICAgIGNvbnN0IGJvb2tPYmplY3RzXyA9IHsgLi4uYm9va09iamVjdHMgfSAvLyBzaGFsbG93IGNvcHlcblxuICAgICAgaWYgKGJvb2tPYmplY3RzXz8uY2hhcHRlcnMpIHtcbiAgICAgICAgYm9va09iamVjdHNfLmNoYXB0ZXJzID0geyAuLi5ib29rT2JqZWN0c18uY2hhcHRlcnMgfSAvLyBzaGFsbG93IGNvcHkgY2hhcHRlcnNcblxuICAgICAgICBpZiAoYm9va09iamVjdHNfLmNoYXB0ZXJzW2NoYXB0ZXJdKSB7XG4gICAgICAgICAgYm9va09iamVjdHNfLmNoYXB0ZXJzW2NoYXB0ZXJdID0geyAuLi5ib29rT2JqZWN0c18uY2hhcHRlcnNbY2hhcHRlcl0gfSAvLyBzaGFsbG93IGNvcHkgdmVyc2VzXG4gICAgICAgICAgYm9va09iamVjdHNfLmNoYXB0ZXJzW2NoYXB0ZXJdW3ZlcnNlXSA9IHZlcnNlRGF0YVxuICAgICAgICAgIHNldFN0YXRlKHsgYm9va09iamVjdHM6IGJvb2tPYmplY3RzXyB9KVxuICAgICAgICAgIHJldHVybiBib29rT2JqZWN0c19cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0aGUgdmVyc2VzIGZvciBjdXJyZW50IHJlZmVyZW5jZSBvciByZWZlcmVuY2UgcmFuZ2VcbiAgICogQHBhcmFtIHtCb29rT2JqZWN0c1R5cGV9IF9ib29rT2JqZWN0c1xuICAgKi9cbiAgZnVuY3Rpb24gZ2V0VmVyc2VzRm9yUmVmXyhfYm9va09iamVjdHM6IEJvb2tPYmplY3RzVHlwZSA9IGJvb2tPYmplY3RzKTogVmVyc2VPYmplY3RzVHlwZSB7XG4gICAgbGV0IG5ld1ZlcnNlc0ZvclJlZiA9IFtdXG5cbiAgICBpZiAoX2Jvb2tPYmplY3RzKSB7XG4gICAgICBuZXdWZXJzZXNGb3JSZWYgPSBnZXRWZXJzZXNGb3JSZWYocmVmZXJlbmNlLCBfYm9va09iamVjdHMsIGxhbmd1YWdlSWQpXG5cbiAgICAgIGlmIChyZWZlcmVuY2U/LnZlcnNlID09PSAnZnJvbnQnKSB7IC8vIHNwZWNpYWwgaGFuZGxpbmcgZm9yIGZyb250IG1hdHRlclxuICAgICAgICBjb25zdCB2ZXJzZURhdGEgPSBuZXdWZXJzZXNGb3JSZWY/LlswXT8udmVyc2VEYXRhXG4gICAgICAgIGNvbnN0IGluaXRpYWxWZXJzZU9iamVjdHMgPSB2ZXJzZURhdGE/LnZlcnNlT2JqZWN0c1xuXG4gICAgICAgIGlmIChpbml0aWFsVmVyc2VPYmplY3RzICYmICF2ZXJzZU9iamVjdHNIYXZlV29yZHMoaW5pdGlhbFZlcnNlT2JqZWN0cykpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHZvIG9mIGluaXRpYWxWZXJzZU9iamVjdHMpIHtcbiAgICAgICAgICAgIGlmICh2b1sndGFnJ10gPT09ICdkJykgeyAvLyBjaGVjayBmb3IgZGVzY3JpcHRpdmUgdGl0bGVcbiAgICAgICAgICAgICAgLy8gcmVwYXJzZSBzbyBkZXNjcmlwdGl2ZSB0aXRsZSB0ZXh0IGlzIGJyb2tlbiBpbnRvIGFsaWduLWFibGUgd29yZHNcbiAgICAgICAgICAgICAgbGV0IHZlcnNlVGV4dCA9IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuZ2V0VXNmbUZvclZlcnNlQ29udGVudCh7IHZlcnNlT2JqZWN0czogaW5pdGlhbFZlcnNlT2JqZWN0cyB9KVxuICAgICAgICAgICAgICBjb25zdCB7IHRhcmdldFZlcnNlT2JqZWN0cyB9ID0gQWxpZ25tZW50SGVscGVycy51cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZShpbml0aWFsVmVyc2VPYmplY3RzLCB2ZXJzZVRleHQpXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRhcmdldFZlcnNlT2JqZWN0cylcbiAgICAgICAgICAgICAgdmVyc2VEYXRhLnZlcnNlT2JqZWN0cyA9IHRhcmdldFZlcnNlT2JqZWN0cyAvLyByZXBsYWNlIHZlcnNlT2JqZWN0cyB3aXRoIGFsaWduLWFibGUgY29udGVudFxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5ld1ZlcnNlc0ZvclJlZlxuICAgIH1cblxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICAvKipcbiAgICogZm9yY2UgcmVsb2FkIG9mIHJlc291cmNlXG4gICAqIEBwYXJhbSB7c3RyaW5nfHVuZGVmaW5lZH0gaWdub3JlU2hhIC0gb3B0aW9uYWwgc2hhIHRvIGlnbm9yZVxuICAgKiBAcGFyYW0ge3N0cmluZ3x1bmRlZmluZWR9IHJlZiAtIG9wdGlvbmFsIHJlZmVyZW5jZSB0byBmZXRjaFxuICAgKi9cbiAgZnVuY3Rpb24gcmVsb2FkUmVzb3VyY2UoaWdub3JlU2hhID0gbnVsbCwgcmVmID0gbnVsbCkge1xuICAgIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUucmVsb2FkUmVzb3VyY2UoKSBpZ25vcmVTaGE6ICR7aWdub3JlU2hhfWAgKVxuICAgIGNvbnN0IF9mZXRjaFBhcmFtczogQm9va0ZldGNoUGFyYW1zID0geyAuLi5mZXRjaFBhcmFtcyB9XG5cbiAgICBpZiAocmVmICYmIGZldGNoUGFyYW1zPy5yZXNvdXJjZUxpbmspIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgb3duZXIsXG4gICAgICAgIGxhbmd1YWdlSWQsXG4gICAgICAgIHJlc291cmNlSWQsXG4gICAgICAgIHJlZjogX3JlZixcbiAgICAgIH0gPSBwYXJzZVJlc291cmNlTGluayhmZXRjaFBhcmFtcy5yZXNvdXJjZUxpbmspXG5cbiAgICAgIGlmIChyZWYgIT09IF9yZWYpIHsgLy8gaWYgcmVmIGNoYW5nZWQsIHVwZGF0ZSByZXNvdXJjZWxpbmtcbiAgICAgICAgY29uc3QgX3Jlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayh7XG4gICAgICAgICAgb3duZXIsXG4gICAgICAgICAgbGFuZ3VhZ2VJZCxcbiAgICAgICAgICByZXNvdXJjZUlkLFxuICAgICAgICAgIHJlZixcbiAgICAgICAgfSlcbiAgICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZS5yZWxvYWRSZXNvdXJjZSgpIG9sZCByZWYgaXMgZGlmZmVyZW50ICR7X3JlZn0sIHN3aXRjaGluZyB0byBsb2FkIHJlZjogJHtyZWZ9LCBuZXcgcmVzb3VyY2VMaW5rOiAke19yZXNvdXJjZUxpbmt9YCApXG4gICAgICAgIF9mZXRjaFBhcmFtcy5yZXNvdXJjZUxpbmsgPSBfcmVzb3VyY2VMaW5rXG4gICAgICB9XG4gICAgfVxuICAgIGZldGNoQm9vayhfZmV0Y2hQYXJhbXMsIGlnbm9yZVNoYSlcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgY29uc3QgY3VycmVudEJvb2tSZWYgPSBmZXRjaFBhcmFtcz8ucmVmZXJlbmNlPy5ib29rSWRcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjdXJyZW50Qm9va1JlZikge1xuICAgICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZSBmZXRjaGVkIGJvb2sgY2hhbmdlZCB0byAke2N1cnJlbnRCb29rUmVmfSwgJHtyZXNvdXJjZUxpbmtffWAsIGZldGNoUGFyYW1zIClcbiAgICAgIHNldFN0YXRlKHsgYm9va09iamVjdHM6IG51bGwsIGJpYmxlVXNmbTogbnVsbCB9KVxuICAgIH1cbiAgICAvLyBAdHMtaWdub3JlXG4gIH0sIFtjdXJyZW50Qm9va1JlZl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhgdXNlU2NyaXB0dXJlIGJvb2sgcmVmIGNoYW5nZWQgdG8gJHtib29rSWR9LCAke3Jlc291cmNlTGlua199YClcbiAgICAvLyBAdHMtaWdub3JlXG4gIH0sIFtib29rSWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZXhwZWN0ZWRCb29rSWQgPSBib29rSWQgfHwgJydcbiAgICBjb25zdCBmZXRjaGVkQm9va1NhbWUgPSBmZXRjaGVkQm9vayAmJiAoZmV0Y2hlZEJvb2sgPT09IGV4cGVjdGVkQm9va0lkKVxuICAgIGxldCBfdmVyc2VzRm9yUmVmID0gW11cblxuICAgIGlmICghZmV0Y2hlZEJvb2tTYW1lKSB7XG4gICAgICAvLyBpZiAoZXhwZWN0ZWRCb29rSWQgJiYgZmV0Y2hlZEJvb2spIHtcbiAgICAgIC8vICAgY29uc29sZS5sb2coYHVzZVNjcmlwdHVyZSBleHBlY3RlZCBib29rICR7ZXhwZWN0ZWRCb29rSWR9IGJ1dCBmZXRjaGVkIGJvb2sgd2FzICR7ZmV0Y2hlZEJvb2t9IC0gY2xlYXJpbmdgKVxuICAgICAgLy8gfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBfYm9va09iamVjdHMgPSBmZXRjaGVkQm9va1NhbWUgPyBib29rT2JqZWN0cyA6IG51bGxcbiAgICAgIF92ZXJzZXNGb3JSZWYgPSBnZXRWZXJzZXNGb3JSZWZfKF9ib29rT2JqZWN0cylcbiAgICAgIC8vIGNvbnNvbGUubG9nKGB1c2VTY3JpcHR1cmUgX2Jvb2tPYmplY3RzIGlzICR7ISFfYm9va09iamVjdHN9IGFuZCBib29rcyBhcmUgdGhlIHNhbWUgJHtmZXRjaGVkQm9va31gLCB7IGNvbnRlbnQsIGZldGNoUGFyYW1zIH0pXG4gICAgfVxuXG4gICAgaWYgKCFpc0VxdWFsKF92ZXJzZXNGb3JSZWYsIHZlcnNlc0ZvclJlZikpIHtcbiAgICAgIHNldFN0YXRlKHsgdmVyc2VzRm9yUmVmOiBfdmVyc2VzRm9yUmVmIH0pXG4gICAgfVxuICB9LCBbcmVmZXJlbmNlXSlcblxuICByZXR1cm4ge1xuICAgIGJpYmxlVXNmbSxcbiAgICBib29rT2JqZWN0cyxcbiAgICBnZXRWZXJzZXNGb3JSZWY6IF9nZXRWZXJzZXNGb3JSZWYsXG4gICAgcmVmZXJlbmNlOiBmZXRjaFBhcmFtcz8ucmVmZXJlbmNlLFxuICAgIHJlbG9hZFJlc291cmNlLFxuICAgIHJlc291cmNlTGluazogZmV0Y2hQYXJhbXM/LnJlc291cmNlTGluayxcbiAgICByZXNvdXJjZVN0YXRlLCAvLyBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgbGF0ZXN0IGZldGNoZWQgcmVzb3VyY2VcbiAgICByZXNvdXJjZVN0YXR1cywgLy8gc3RhdHVzIGZsYWdzIGZvciBmZXRjaGVkIHJlc291cmNlXG4gICAgdGl0bGUsXG4gICAgdXBkYXRlVmVyc2UsXG4gICAgdmVyc2lvbixcbiAgICB2ZXJzZXNGb3JSZWYsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjsrQ0FDQSxxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUMsQ0FBQSxTQUFBQyxDQUFBLEVBQUFELENBQUEsT0FBQUUsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLFNBQUEsRUFBQUMsQ0FBQSxHQUFBSCxDQUFBLENBQUFJLGNBQUEsRUFBQUMsQ0FBQSxHQUFBSixNQUFBLENBQUFLLGNBQUEsY0FBQVAsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsSUFBQUQsQ0FBQSxDQUFBRCxDQUFBLElBQUFFLENBQUEsQ0FBQU8sS0FBQSxLQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxhQUFBLHVCQUFBQyxDQUFBLEdBQUFOLENBQUEsQ0FBQU8sV0FBQSw4QkFBQUMsT0FBQWpCLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFDLE1BQUEsQ0FBQUssY0FBQSxDQUFBUCxDQUFBLEVBQUFELENBQUEsSUFBQVMsS0FBQSxFQUFBUCxDQUFBLEVBQUFpQixVQUFBLE1BQUFDLFlBQUEsTUFBQUMsUUFBQSxTQUFBcEIsQ0FBQSxDQUFBRCxDQUFBLFdBQUFrQixNQUFBLG1CQUFBakIsQ0FBQSxJQUFBaUIsTUFBQSxZQUFBQSxPQUFBakIsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsV0FBQUQsQ0FBQSxDQUFBRCxDQUFBLElBQUFFLENBQUEsZ0JBQUFvQixLQUFBckIsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsRUFBQUcsQ0FBQSxRQUFBSyxDQUFBLEdBQUFWLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxTQUFBLFlBQUFtQixTQUFBLEdBQUF2QixDQUFBLEdBQUF1QixTQUFBLEVBQUFYLENBQUEsR0FBQVQsTUFBQSxDQUFBcUIsTUFBQSxDQUFBZCxDQUFBLENBQUFOLFNBQUEsR0FBQVUsQ0FBQSxPQUFBVyxPQUFBLENBQUFwQixDQUFBLGdCQUFBRSxDQUFBLENBQUFLLENBQUEsZUFBQUgsS0FBQSxFQUFBaUIsZ0JBQUEsQ0FBQXpCLENBQUEsRUFBQUMsQ0FBQSxFQUFBWSxDQUFBLE1BQUFGLENBQUEsYUFBQWUsU0FBQTFCLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLG1CQUFBMEIsSUFBQSxZQUFBQyxHQUFBLEVBQUE1QixDQUFBLENBQUE2QixJQUFBLENBQUE5QixDQUFBLEVBQUFFLENBQUEsY0FBQUQsQ0FBQSxhQUFBMkIsSUFBQSxXQUFBQyxHQUFBLEVBQUE1QixDQUFBLFFBQUFELENBQUEsQ0FBQXNCLElBQUEsR0FBQUEsSUFBQSxNQUFBUyxDQUFBLHFCQUFBQyxDQUFBLHFCQUFBQyxDQUFBLGdCQUFBQyxDQUFBLGdCQUFBQyxDQUFBLGdCQUFBWixVQUFBLGNBQUFhLGtCQUFBLGNBQUFDLDJCQUFBLFNBQUFDLENBQUEsT0FBQXBCLE1BQUEsQ0FBQW9CLENBQUEsRUFBQTFCLENBQUEscUNBQUEyQixDQUFBLEdBQUFwQyxNQUFBLENBQUFxQyxjQUFBLEVBQUFDLENBQUEsR0FBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFBLENBQUEsQ0FBQUcsTUFBQSxRQUFBRCxDQUFBLElBQUFBLENBQUEsS0FBQXZDLENBQUEsSUFBQUcsQ0FBQSxDQUFBeUIsSUFBQSxDQUFBVyxDQUFBLEVBQUE3QixDQUFBLE1BQUEwQixDQUFBLEdBQUFHLENBQUEsT0FBQUUsQ0FBQSxHQUFBTiwwQkFBQSxDQUFBakMsU0FBQSxHQUFBbUIsU0FBQSxDQUFBbkIsU0FBQSxHQUFBRCxNQUFBLENBQUFxQixNQUFBLENBQUFjLENBQUEsWUFBQU0sc0JBQUEzQyxDQUFBLGdDQUFBNEMsT0FBQSxXQUFBN0MsQ0FBQSxJQUFBa0IsTUFBQSxDQUFBakIsQ0FBQSxFQUFBRCxDQUFBLFlBQUFDLENBQUEsZ0JBQUE2QyxPQUFBLENBQUE5QyxDQUFBLEVBQUFDLENBQUEsc0JBQUE4QyxjQUFBOUMsQ0FBQSxFQUFBRCxDQUFBLGFBQUFnRCxPQUFBOUMsQ0FBQSxFQUFBSyxDQUFBLEVBQUFHLENBQUEsRUFBQUUsQ0FBQSxRQUFBRSxDQUFBLEdBQUFhLFFBQUEsQ0FBQTFCLENBQUEsQ0FBQUMsQ0FBQSxHQUFBRCxDQUFBLEVBQUFNLENBQUEsbUJBQUFPLENBQUEsQ0FBQWMsSUFBQSxRQUFBWixDQUFBLEdBQUFGLENBQUEsQ0FBQWUsR0FBQSxFQUFBRSxDQUFBLEdBQUFmLENBQUEsQ0FBQVAsS0FBQSxTQUFBc0IsQ0FBQSxnQkFBQWtCLE9BQUEsQ0FBQWxCLENBQUEsS0FBQTFCLENBQUEsQ0FBQXlCLElBQUEsQ0FBQUMsQ0FBQSxlQUFBL0IsQ0FBQSxDQUFBa0QsT0FBQSxDQUFBbkIsQ0FBQSxDQUFBb0IsT0FBQSxFQUFBQyxJQUFBLFdBQUFuRCxDQUFBLElBQUErQyxNQUFBLFNBQUEvQyxDQUFBLEVBQUFTLENBQUEsRUFBQUUsQ0FBQSxnQkFBQVgsQ0FBQSxJQUFBK0MsTUFBQSxVQUFBL0MsQ0FBQSxFQUFBUyxDQUFBLEVBQUFFLENBQUEsUUFBQVosQ0FBQSxDQUFBa0QsT0FBQSxDQUFBbkIsQ0FBQSxFQUFBcUIsSUFBQSxXQUFBbkQsQ0FBQSxJQUFBZSxDQUFBLENBQUFQLEtBQUEsR0FBQVIsQ0FBQSxFQUFBUyxDQUFBLENBQUFNLENBQUEsZ0JBQUFmLENBQUEsV0FBQStDLE1BQUEsVUFBQS9DLENBQUEsRUFBQVMsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsQ0FBQUUsQ0FBQSxDQUFBZSxHQUFBLFNBQUEzQixDQUFBLEVBQUFLLENBQUEsb0JBQUFFLEtBQUEsV0FBQUEsTUFBQVIsQ0FBQSxFQUFBSSxDQUFBLGFBQUFnRCwyQkFBQSxlQUFBckQsQ0FBQSxXQUFBQSxDQUFBLEVBQUFFLENBQUEsSUFBQThDLE1BQUEsQ0FBQS9DLENBQUEsRUFBQUksQ0FBQSxFQUFBTCxDQUFBLEVBQUFFLENBQUEsZ0JBQUFBLENBQUEsR0FBQUEsQ0FBQSxHQUFBQSxDQUFBLENBQUFrRCxJQUFBLENBQUFDLDBCQUFBLEVBQUFBLDBCQUFBLElBQUFBLDBCQUFBLHFCQUFBM0IsaUJBQUExQixDQUFBLEVBQUFFLENBQUEsRUFBQUcsQ0FBQSxRQUFBRSxDQUFBLEdBQUF3QixDQUFBLG1CQUFBckIsQ0FBQSxFQUFBRSxDQUFBLFFBQUFMLENBQUEsS0FBQTBCLENBQUEsWUFBQXFCLEtBQUEsc0NBQUEvQyxDQUFBLEtBQUEyQixDQUFBLG9CQUFBeEIsQ0FBQSxRQUFBRSxDQUFBLFdBQUFILEtBQUEsRUFBQVIsQ0FBQSxFQUFBc0QsSUFBQSxlQUFBbEQsQ0FBQSxDQUFBbUQsTUFBQSxHQUFBOUMsQ0FBQSxFQUFBTCxDQUFBLENBQUF3QixHQUFBLEdBQUFqQixDQUFBLFVBQUFFLENBQUEsR0FBQVQsQ0FBQSxDQUFBb0QsUUFBQSxNQUFBM0MsQ0FBQSxRQUFBRSxDQUFBLEdBQUEwQyxtQkFBQSxDQUFBNUMsQ0FBQSxFQUFBVCxDQUFBLE9BQUFXLENBQUEsUUFBQUEsQ0FBQSxLQUFBbUIsQ0FBQSxtQkFBQW5CLENBQUEscUJBQUFYLENBQUEsQ0FBQW1ELE1BQUEsRUFBQW5ELENBQUEsQ0FBQXNELElBQUEsR0FBQXRELENBQUEsQ0FBQXVELEtBQUEsR0FBQXZELENBQUEsQ0FBQXdCLEdBQUEsc0JBQUF4QixDQUFBLENBQUFtRCxNQUFBLFFBQUFqRCxDQUFBLEtBQUF3QixDQUFBLFFBQUF4QixDQUFBLEdBQUEyQixDQUFBLEVBQUE3QixDQUFBLENBQUF3QixHQUFBLEVBQUF4QixDQUFBLENBQUF3RCxpQkFBQSxDQUFBeEQsQ0FBQSxDQUFBd0IsR0FBQSx1QkFBQXhCLENBQUEsQ0FBQW1ELE1BQUEsSUFBQW5ELENBQUEsQ0FBQXlELE1BQUEsV0FBQXpELENBQUEsQ0FBQXdCLEdBQUEsR0FBQXRCLENBQUEsR0FBQTBCLENBQUEsTUFBQUssQ0FBQSxHQUFBWCxRQUFBLENBQUEzQixDQUFBLEVBQUFFLENBQUEsRUFBQUcsQ0FBQSxvQkFBQWlDLENBQUEsQ0FBQVYsSUFBQSxRQUFBckIsQ0FBQSxHQUFBRixDQUFBLENBQUFrRCxJQUFBLEdBQUFyQixDQUFBLEdBQUFGLENBQUEsRUFBQU0sQ0FBQSxDQUFBVCxHQUFBLEtBQUFNLENBQUEscUJBQUExQixLQUFBLEVBQUE2QixDQUFBLENBQUFULEdBQUEsRUFBQTBCLElBQUEsRUFBQWxELENBQUEsQ0FBQWtELElBQUEsa0JBQUFqQixDQUFBLENBQUFWLElBQUEsS0FBQXJCLENBQUEsR0FBQTJCLENBQUEsRUFBQTdCLENBQUEsQ0FBQW1ELE1BQUEsWUFBQW5ELENBQUEsQ0FBQXdCLEdBQUEsR0FBQVMsQ0FBQSxDQUFBVCxHQUFBLG1CQUFBNkIsb0JBQUExRCxDQUFBLEVBQUFFLENBQUEsUUFBQUcsQ0FBQSxHQUFBSCxDQUFBLENBQUFzRCxNQUFBLEVBQUFqRCxDQUFBLEdBQUFQLENBQUEsQ0FBQWEsUUFBQSxDQUFBUixDQUFBLE9BQUFFLENBQUEsS0FBQU4sQ0FBQSxTQUFBQyxDQUFBLENBQUF1RCxRQUFBLHFCQUFBcEQsQ0FBQSxJQUFBTCxDQUFBLENBQUFhLFFBQUEsZUFBQVgsQ0FBQSxDQUFBc0QsTUFBQSxhQUFBdEQsQ0FBQSxDQUFBMkIsR0FBQSxHQUFBNUIsQ0FBQSxFQUFBeUQsbUJBQUEsQ0FBQTFELENBQUEsRUFBQUUsQ0FBQSxlQUFBQSxDQUFBLENBQUFzRCxNQUFBLGtCQUFBbkQsQ0FBQSxLQUFBSCxDQUFBLENBQUFzRCxNQUFBLFlBQUF0RCxDQUFBLENBQUEyQixHQUFBLE9BQUFrQyxTQUFBLHVDQUFBMUQsQ0FBQSxpQkFBQThCLENBQUEsTUFBQXpCLENBQUEsR0FBQWlCLFFBQUEsQ0FBQXBCLENBQUEsRUFBQVAsQ0FBQSxDQUFBYSxRQUFBLEVBQUFYLENBQUEsQ0FBQTJCLEdBQUEsbUJBQUFuQixDQUFBLENBQUFrQixJQUFBLFNBQUExQixDQUFBLENBQUFzRCxNQUFBLFlBQUF0RCxDQUFBLENBQUEyQixHQUFBLEdBQUFuQixDQUFBLENBQUFtQixHQUFBLEVBQUEzQixDQUFBLENBQUF1RCxRQUFBLFNBQUF0QixDQUFBLE1BQUF2QixDQUFBLEdBQUFGLENBQUEsQ0FBQW1CLEdBQUEsU0FBQWpCLENBQUEsR0FBQUEsQ0FBQSxDQUFBMkMsSUFBQSxJQUFBckQsQ0FBQSxDQUFBRixDQUFBLENBQUFnRSxVQUFBLElBQUFwRCxDQUFBLENBQUFILEtBQUEsRUFBQVAsQ0FBQSxDQUFBK0QsSUFBQSxHQUFBakUsQ0FBQSxDQUFBa0UsT0FBQSxlQUFBaEUsQ0FBQSxDQUFBc0QsTUFBQSxLQUFBdEQsQ0FBQSxDQUFBc0QsTUFBQSxXQUFBdEQsQ0FBQSxDQUFBMkIsR0FBQSxHQUFBNUIsQ0FBQSxHQUFBQyxDQUFBLENBQUF1RCxRQUFBLFNBQUF0QixDQUFBLElBQUF2QixDQUFBLElBQUFWLENBQUEsQ0FBQXNELE1BQUEsWUFBQXRELENBQUEsQ0FBQTJCLEdBQUEsT0FBQWtDLFNBQUEsc0NBQUE3RCxDQUFBLENBQUF1RCxRQUFBLFNBQUF0QixDQUFBLGNBQUFnQyxhQUFBbEUsQ0FBQSxRQUFBRCxDQUFBLEtBQUFvRSxNQUFBLEVBQUFuRSxDQUFBLFlBQUFBLENBQUEsS0FBQUQsQ0FBQSxDQUFBcUUsUUFBQSxHQUFBcEUsQ0FBQSxXQUFBQSxDQUFBLEtBQUFELENBQUEsQ0FBQXNFLFVBQUEsR0FBQXJFLENBQUEsS0FBQUQsQ0FBQSxDQUFBdUUsUUFBQSxHQUFBdEUsQ0FBQSxXQUFBdUUsVUFBQSxDQUFBQyxJQUFBLENBQUF6RSxDQUFBLGNBQUEwRSxjQUFBekUsQ0FBQSxRQUFBRCxDQUFBLEdBQUFDLENBQUEsQ0FBQTBFLFVBQUEsUUFBQTNFLENBQUEsQ0FBQTRCLElBQUEsb0JBQUE1QixDQUFBLENBQUE2QixHQUFBLEVBQUE1QixDQUFBLENBQUEwRSxVQUFBLEdBQUEzRSxDQUFBLGFBQUF5QixRQUFBeEIsQ0FBQSxTQUFBdUUsVUFBQSxNQUFBSixNQUFBLGFBQUFuRSxDQUFBLENBQUE0QyxPQUFBLENBQUFzQixZQUFBLGNBQUFTLEtBQUEsaUJBQUFsQyxPQUFBMUMsQ0FBQSxRQUFBQSxDQUFBLFdBQUFBLENBQUEsUUFBQUUsQ0FBQSxHQUFBRixDQUFBLENBQUFZLENBQUEsT0FBQVYsQ0FBQSxTQUFBQSxDQUFBLENBQUE0QixJQUFBLENBQUE5QixDQUFBLDRCQUFBQSxDQUFBLENBQUFpRSxJQUFBLFNBQUFqRSxDQUFBLE9BQUE2RSxLQUFBLENBQUE3RSxDQUFBLENBQUE4RSxNQUFBLFNBQUF2RSxDQUFBLE9BQUFHLENBQUEsWUFBQXVELEtBQUEsYUFBQTFELENBQUEsR0FBQVAsQ0FBQSxDQUFBOEUsTUFBQSxPQUFBekUsQ0FBQSxDQUFBeUIsSUFBQSxDQUFBOUIsQ0FBQSxFQUFBTyxDQUFBLFVBQUEwRCxJQUFBLENBQUF4RCxLQUFBLEdBQUFULENBQUEsQ0FBQU8sQ0FBQSxHQUFBMEQsSUFBQSxDQUFBVixJQUFBLE9BQUFVLElBQUEsU0FBQUEsSUFBQSxDQUFBeEQsS0FBQSxHQUFBUixDQUFBLEVBQUFnRSxJQUFBLENBQUFWLElBQUEsT0FBQVUsSUFBQSxZQUFBdkQsQ0FBQSxDQUFBdUQsSUFBQSxHQUFBdkQsQ0FBQSxnQkFBQXFELFNBQUEsQ0FBQWQsT0FBQSxDQUFBakQsQ0FBQSxrQ0FBQW9DLGlCQUFBLENBQUFoQyxTQUFBLEdBQUFpQywwQkFBQSxFQUFBOUIsQ0FBQSxDQUFBb0MsQ0FBQSxtQkFBQWxDLEtBQUEsRUFBQTRCLDBCQUFBLEVBQUFqQixZQUFBLFNBQUFiLENBQUEsQ0FBQThCLDBCQUFBLG1CQUFBNUIsS0FBQSxFQUFBMkIsaUJBQUEsRUFBQWhCLFlBQUEsU0FBQWdCLGlCQUFBLENBQUEyQyxXQUFBLEdBQUE3RCxNQUFBLENBQUFtQiwwQkFBQSxFQUFBckIsQ0FBQSx3QkFBQWhCLENBQUEsQ0FBQWdGLG1CQUFBLGFBQUEvRSxDQUFBLFFBQUFELENBQUEsd0JBQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBZ0YsV0FBQSxXQUFBakYsQ0FBQSxLQUFBQSxDQUFBLEtBQUFvQyxpQkFBQSw2QkFBQXBDLENBQUEsQ0FBQStFLFdBQUEsSUFBQS9FLENBQUEsQ0FBQWtGLElBQUEsT0FBQWxGLENBQUEsQ0FBQW1GLElBQUEsYUFBQWxGLENBQUEsV0FBQUUsTUFBQSxDQUFBaUYsY0FBQSxHQUFBakYsTUFBQSxDQUFBaUYsY0FBQSxDQUFBbkYsQ0FBQSxFQUFBb0MsMEJBQUEsS0FBQXBDLENBQUEsQ0FBQW9GLFNBQUEsR0FBQWhELDBCQUFBLEVBQUFuQixNQUFBLENBQUFqQixDQUFBLEVBQUFlLENBQUEseUJBQUFmLENBQUEsQ0FBQUcsU0FBQSxHQUFBRCxNQUFBLENBQUFxQixNQUFBLENBQUFtQixDQUFBLEdBQUExQyxDQUFBLEtBQUFELENBQUEsQ0FBQXNGLEtBQUEsYUFBQXJGLENBQUEsYUFBQWtELE9BQUEsRUFBQWxELENBQUEsT0FBQTJDLHFCQUFBLENBQUFHLGFBQUEsQ0FBQTNDLFNBQUEsR0FBQWMsTUFBQSxDQUFBNkIsYUFBQSxDQUFBM0MsU0FBQSxFQUFBVSxDQUFBLGlDQUFBZCxDQUFBLENBQUErQyxhQUFBLEdBQUFBLGFBQUEsRUFBQS9DLENBQUEsQ0FBQXVGLEtBQUEsYUFBQXRGLENBQUEsRUFBQUMsQ0FBQSxFQUFBRyxDQUFBLEVBQUFFLENBQUEsRUFBQUcsQ0FBQSxlQUFBQSxDQUFBLEtBQUFBLENBQUEsR0FBQThFLE9BQUEsT0FBQTVFLENBQUEsT0FBQW1DLGFBQUEsQ0FBQXpCLElBQUEsQ0FBQXJCLENBQUEsRUFBQUMsQ0FBQSxFQUFBRyxDQUFBLEVBQUFFLENBQUEsR0FBQUcsQ0FBQSxVQUFBVixDQUFBLENBQUFnRixtQkFBQSxDQUFBOUUsQ0FBQSxJQUFBVSxDQUFBLEdBQUFBLENBQUEsQ0FBQXFELElBQUEsR0FBQWIsSUFBQSxXQUFBbkQsQ0FBQSxXQUFBQSxDQUFBLENBQUFzRCxJQUFBLEdBQUF0RCxDQUFBLENBQUFRLEtBQUEsR0FBQUcsQ0FBQSxDQUFBcUQsSUFBQSxXQUFBckIscUJBQUEsQ0FBQUQsQ0FBQSxHQUFBekIsTUFBQSxDQUFBeUIsQ0FBQSxFQUFBM0IsQ0FBQSxnQkFBQUUsTUFBQSxDQUFBeUIsQ0FBQSxFQUFBL0IsQ0FBQSxpQ0FBQU0sTUFBQSxDQUFBeUIsQ0FBQSw2REFBQTNDLENBQUEsQ0FBQXlGLElBQUEsYUFBQXhGLENBQUEsUUFBQUQsQ0FBQSxHQUFBRyxNQUFBLENBQUFGLENBQUEsR0FBQUMsQ0FBQSxnQkFBQUcsQ0FBQSxJQUFBTCxDQUFBLEVBQUFFLENBQUEsQ0FBQXVFLElBQUEsQ0FBQXBFLENBQUEsVUFBQUgsQ0FBQSxDQUFBd0YsT0FBQSxhQUFBekIsS0FBQSxXQUFBL0QsQ0FBQSxDQUFBNEUsTUFBQSxTQUFBN0UsQ0FBQSxHQUFBQyxDQUFBLENBQUF5RixHQUFBLFFBQUExRixDQUFBLElBQUFELENBQUEsU0FBQWlFLElBQUEsQ0FBQXhELEtBQUEsR0FBQVIsQ0FBQSxFQUFBZ0UsSUFBQSxDQUFBVixJQUFBLE9BQUFVLElBQUEsV0FBQUEsSUFBQSxDQUFBVixJQUFBLE9BQUFVLElBQUEsUUFBQWpFLENBQUEsQ0FBQTBDLE1BQUEsR0FBQUEsTUFBQSxFQUFBakIsT0FBQSxDQUFBckIsU0FBQSxLQUFBNkUsV0FBQSxFQUFBeEQsT0FBQSxFQUFBbUQsS0FBQSxXQUFBQSxNQUFBNUUsQ0FBQSxhQUFBNEYsSUFBQSxXQUFBM0IsSUFBQSxXQUFBTixJQUFBLFFBQUFDLEtBQUEsR0FBQTNELENBQUEsT0FBQXNELElBQUEsWUFBQUUsUUFBQSxjQUFBRCxNQUFBLGdCQUFBM0IsR0FBQSxHQUFBNUIsQ0FBQSxPQUFBdUUsVUFBQSxDQUFBM0IsT0FBQSxDQUFBNkIsYUFBQSxJQUFBMUUsQ0FBQSxXQUFBRSxDQUFBLGtCQUFBQSxDQUFBLENBQUEyRixNQUFBLE9BQUF4RixDQUFBLENBQUF5QixJQUFBLE9BQUE1QixDQUFBLE1BQUEyRSxLQUFBLEVBQUEzRSxDQUFBLENBQUE0RixLQUFBLGNBQUE1RixDQUFBLElBQUFELENBQUEsTUFBQThGLElBQUEsV0FBQUEsS0FBQSxTQUFBeEMsSUFBQSxXQUFBdEQsQ0FBQSxRQUFBdUUsVUFBQSxJQUFBRyxVQUFBLGtCQUFBMUUsQ0FBQSxDQUFBMkIsSUFBQSxRQUFBM0IsQ0FBQSxDQUFBNEIsR0FBQSxjQUFBbUUsSUFBQSxLQUFBbkMsaUJBQUEsV0FBQUEsa0JBQUE3RCxDQUFBLGFBQUF1RCxJQUFBLFFBQUF2RCxDQUFBLE1BQUFFLENBQUEsa0JBQUErRixPQUFBNUYsQ0FBQSxFQUFBRSxDQUFBLFdBQUFLLENBQUEsQ0FBQWdCLElBQUEsWUFBQWhCLENBQUEsQ0FBQWlCLEdBQUEsR0FBQTdCLENBQUEsRUFBQUUsQ0FBQSxDQUFBK0QsSUFBQSxHQUFBNUQsQ0FBQSxFQUFBRSxDQUFBLEtBQUFMLENBQUEsQ0FBQXNELE1BQUEsV0FBQXRELENBQUEsQ0FBQTJCLEdBQUEsR0FBQTVCLENBQUEsS0FBQU0sQ0FBQSxhQUFBQSxDQUFBLFFBQUFpRSxVQUFBLENBQUFNLE1BQUEsTUFBQXZFLENBQUEsU0FBQUEsQ0FBQSxRQUFBRyxDQUFBLFFBQUE4RCxVQUFBLENBQUFqRSxDQUFBLEdBQUFLLENBQUEsR0FBQUYsQ0FBQSxDQUFBaUUsVUFBQSxpQkFBQWpFLENBQUEsQ0FBQTBELE1BQUEsU0FBQTZCLE1BQUEsYUFBQXZGLENBQUEsQ0FBQTBELE1BQUEsU0FBQXdCLElBQUEsUUFBQTlFLENBQUEsR0FBQVQsQ0FBQSxDQUFBeUIsSUFBQSxDQUFBcEIsQ0FBQSxlQUFBTSxDQUFBLEdBQUFYLENBQUEsQ0FBQXlCLElBQUEsQ0FBQXBCLENBQUEscUJBQUFJLENBQUEsSUFBQUUsQ0FBQSxhQUFBNEUsSUFBQSxHQUFBbEYsQ0FBQSxDQUFBMkQsUUFBQSxTQUFBNEIsTUFBQSxDQUFBdkYsQ0FBQSxDQUFBMkQsUUFBQSxnQkFBQXVCLElBQUEsR0FBQWxGLENBQUEsQ0FBQTRELFVBQUEsU0FBQTJCLE1BQUEsQ0FBQXZGLENBQUEsQ0FBQTRELFVBQUEsY0FBQXhELENBQUEsYUFBQThFLElBQUEsR0FBQWxGLENBQUEsQ0FBQTJELFFBQUEsU0FBQTRCLE1BQUEsQ0FBQXZGLENBQUEsQ0FBQTJELFFBQUEscUJBQUFyRCxDQUFBLFlBQUFzQyxLQUFBLHFEQUFBc0MsSUFBQSxHQUFBbEYsQ0FBQSxDQUFBNEQsVUFBQSxTQUFBMkIsTUFBQSxDQUFBdkYsQ0FBQSxDQUFBNEQsVUFBQSxZQUFBUixNQUFBLFdBQUFBLE9BQUE3RCxDQUFBLEVBQUFELENBQUEsYUFBQUUsQ0FBQSxRQUFBc0UsVUFBQSxDQUFBTSxNQUFBLE1BQUE1RSxDQUFBLFNBQUFBLENBQUEsUUFBQUssQ0FBQSxRQUFBaUUsVUFBQSxDQUFBdEUsQ0FBQSxPQUFBSyxDQUFBLENBQUE2RCxNQUFBLFNBQUF3QixJQUFBLElBQUF2RixDQUFBLENBQUF5QixJQUFBLENBQUF2QixDQUFBLHdCQUFBcUYsSUFBQSxHQUFBckYsQ0FBQSxDQUFBK0QsVUFBQSxRQUFBNUQsQ0FBQSxHQUFBSCxDQUFBLGFBQUFHLENBQUEsaUJBQUFULENBQUEsbUJBQUFBLENBQUEsS0FBQVMsQ0FBQSxDQUFBMEQsTUFBQSxJQUFBcEUsQ0FBQSxJQUFBQSxDQUFBLElBQUFVLENBQUEsQ0FBQTRELFVBQUEsS0FBQTVELENBQUEsY0FBQUUsQ0FBQSxHQUFBRixDQUFBLEdBQUFBLENBQUEsQ0FBQWlFLFVBQUEsY0FBQS9ELENBQUEsQ0FBQWdCLElBQUEsR0FBQTNCLENBQUEsRUFBQVcsQ0FBQSxDQUFBaUIsR0FBQSxHQUFBN0IsQ0FBQSxFQUFBVSxDQUFBLFNBQUE4QyxNQUFBLGdCQUFBUyxJQUFBLEdBQUF2RCxDQUFBLENBQUE0RCxVQUFBLEVBQUFuQyxDQUFBLFNBQUErRCxRQUFBLENBQUF0RixDQUFBLE1BQUFzRixRQUFBLFdBQUFBLFNBQUFqRyxDQUFBLEVBQUFELENBQUEsb0JBQUFDLENBQUEsQ0FBQTJCLElBQUEsUUFBQTNCLENBQUEsQ0FBQTRCLEdBQUEscUJBQUE1QixDQUFBLENBQUEyQixJQUFBLG1CQUFBM0IsQ0FBQSxDQUFBMkIsSUFBQSxRQUFBcUMsSUFBQSxHQUFBaEUsQ0FBQSxDQUFBNEIsR0FBQSxnQkFBQTVCLENBQUEsQ0FBQTJCLElBQUEsU0FBQW9FLElBQUEsUUFBQW5FLEdBQUEsR0FBQTVCLENBQUEsQ0FBQTRCLEdBQUEsT0FBQTJCLE1BQUEsa0JBQUFTLElBQUEseUJBQUFoRSxDQUFBLENBQUEyQixJQUFBLElBQUE1QixDQUFBLFVBQUFpRSxJQUFBLEdBQUFqRSxDQUFBLEdBQUFtQyxDQUFBLEtBQUFnRSxNQUFBLFdBQUFBLE9BQUFsRyxDQUFBLGFBQUFELENBQUEsUUFBQXdFLFVBQUEsQ0FBQU0sTUFBQSxNQUFBOUUsQ0FBQSxTQUFBQSxDQUFBLFFBQUFFLENBQUEsUUFBQXNFLFVBQUEsQ0FBQXhFLENBQUEsT0FBQUUsQ0FBQSxDQUFBb0UsVUFBQSxLQUFBckUsQ0FBQSxjQUFBaUcsUUFBQSxDQUFBaEcsQ0FBQSxDQUFBeUUsVUFBQSxFQUFBekUsQ0FBQSxDQUFBcUUsUUFBQSxHQUFBRyxhQUFBLENBQUF4RSxDQUFBLEdBQUFpQyxDQUFBLHlCQUFBaUUsT0FBQW5HLENBQUEsYUFBQUQsQ0FBQSxRQUFBd0UsVUFBQSxDQUFBTSxNQUFBLE1BQUE5RSxDQUFBLFNBQUFBLENBQUEsUUFBQUUsQ0FBQSxRQUFBc0UsVUFBQSxDQUFBeEUsQ0FBQSxPQUFBRSxDQUFBLENBQUFrRSxNQUFBLEtBQUFuRSxDQUFBLFFBQUFJLENBQUEsR0FBQUgsQ0FBQSxDQUFBeUUsVUFBQSxrQkFBQXRFLENBQUEsQ0FBQXVCLElBQUEsUUFBQXJCLENBQUEsR0FBQUYsQ0FBQSxDQUFBd0IsR0FBQSxFQUFBNkMsYUFBQSxDQUFBeEUsQ0FBQSxZQUFBSyxDQUFBLGdCQUFBK0MsS0FBQSw4QkFBQStDLGFBQUEsV0FBQUEsY0FBQXJHLENBQUEsRUFBQUUsQ0FBQSxFQUFBRyxDQUFBLGdCQUFBb0QsUUFBQSxLQUFBNUMsUUFBQSxFQUFBNkIsTUFBQSxDQUFBMUMsQ0FBQSxHQUFBZ0UsVUFBQSxFQUFBOUQsQ0FBQSxFQUFBZ0UsT0FBQSxFQUFBN0QsQ0FBQSxvQkFBQW1ELE1BQUEsVUFBQTNCLEdBQUEsR0FBQTVCLENBQUEsR0FBQWtDLENBQUEsT0FBQW5DLENBQUE7QUFBQSxTQUFBc0csMkJBQUEvRixDQUFBLEVBQUFnRyxjQUFBLFFBQUFDLEVBQUEsVUFBQTdGLE1BQUEsb0JBQUFKLENBQUEsQ0FBQUksTUFBQSxDQUFBRSxRQUFBLEtBQUFOLENBQUEscUJBQUFpRyxFQUFBLFFBQUFDLEtBQUEsQ0FBQUMsT0FBQSxDQUFBbkcsQ0FBQSxNQUFBaUcsRUFBQSxHQUFBRywyQkFBQSxDQUFBcEcsQ0FBQSxNQUFBZ0csY0FBQSxJQUFBaEcsQ0FBQSxXQUFBQSxDQUFBLENBQUF1RSxNQUFBLHFCQUFBMEIsRUFBQSxFQUFBakcsQ0FBQSxHQUFBaUcsRUFBQSxNQUFBOUYsQ0FBQSxVQUFBa0csQ0FBQSxZQUFBQSxFQUFBLGVBQUExRSxDQUFBLEVBQUEwRSxDQUFBLEVBQUF2RyxDQUFBLFdBQUFBLEVBQUEsUUFBQUssQ0FBQSxJQUFBSCxDQUFBLENBQUF1RSxNQUFBLFdBQUF2QixJQUFBLG1CQUFBQSxJQUFBLFNBQUE5QyxLQUFBLEVBQUFGLENBQUEsQ0FBQUcsQ0FBQSxVQUFBVixDQUFBLFdBQUFBLEVBQUE2RyxFQUFBLFVBQUFBLEVBQUEsS0FBQTVFLENBQUEsRUFBQTJFLENBQUEsZ0JBQUE3QyxTQUFBLGlKQUFBK0MsZ0JBQUEsU0FBQUMsTUFBQSxVQUFBQyxHQUFBLFdBQUE5RSxDQUFBLFdBQUFBLEVBQUEsSUFBQXNFLEVBQUEsR0FBQUEsRUFBQSxDQUFBMUUsSUFBQSxDQUFBdkIsQ0FBQSxNQUFBRixDQUFBLFdBQUFBLEVBQUEsUUFBQTRHLElBQUEsR0FBQVQsRUFBQSxDQUFBdkMsSUFBQSxJQUFBNkMsZ0JBQUEsR0FBQUcsSUFBQSxDQUFBMUQsSUFBQSxTQUFBMEQsSUFBQSxLQUFBakgsQ0FBQSxXQUFBQSxFQUFBa0gsR0FBQSxJQUFBSCxNQUFBLFNBQUFDLEdBQUEsR0FBQUUsR0FBQSxLQUFBakYsQ0FBQSxXQUFBQSxFQUFBLGVBQUE2RSxnQkFBQSxJQUFBTixFQUFBLG9CQUFBQSxFQUFBLDhCQUFBTyxNQUFBLFFBQUFDLEdBQUE7QUFBQSxTQUFBRyxtQkFBQUMsR0FBQSxFQUFBbEUsT0FBQSxFQUFBbUUsTUFBQSxFQUFBQyxLQUFBLEVBQUFDLE1BQUEsRUFBQUMsR0FBQSxFQUFBM0YsR0FBQSxjQUFBNEYsSUFBQSxHQUFBTCxHQUFBLENBQUFJLEdBQUEsRUFBQTNGLEdBQUEsT0FBQXBCLEtBQUEsR0FBQWdILElBQUEsQ0FBQWhILEtBQUEsV0FBQWlILEtBQUEsSUFBQUwsTUFBQSxDQUFBSyxLQUFBLGlCQUFBRCxJQUFBLENBQUFsRSxJQUFBLElBQUFMLE9BQUEsQ0FBQXpDLEtBQUEsWUFBQStFLE9BQUEsQ0FBQXRDLE9BQUEsQ0FBQXpDLEtBQUEsRUFBQTJDLElBQUEsQ0FBQWtFLEtBQUEsRUFBQUMsTUFBQTtBQUFBLFNBQUFJLGtCQUFBQyxFQUFBLDZCQUFBQyxJQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxhQUFBdkMsT0FBQSxXQUFBdEMsT0FBQSxFQUFBbUUsTUFBQSxRQUFBRCxHQUFBLEdBQUFRLEVBQUEsQ0FBQUksS0FBQSxDQUFBSCxJQUFBLEVBQUFDLElBQUEsWUFBQVIsTUFBQTdHLEtBQUEsSUFBQTBHLGtCQUFBLENBQUFDLEdBQUEsRUFBQWxFLE9BQUEsRUFBQW1FLE1BQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBLFVBQUE5RyxLQUFBLGNBQUE4RyxPQUFBUCxHQUFBLElBQUFHLGtCQUFBLENBQUFDLEdBQUEsRUFBQWxFLE9BQUEsRUFBQW1FLE1BQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBLFdBQUFQLEdBQUEsS0FBQU0sS0FBQSxDQUFBVyxTQUFBO0FBQUEsU0FBQUMsUUFBQWxJLENBQUEsRUFBQUUsQ0FBQSxRQUFBRCxDQUFBLEdBQUFFLE1BQUEsQ0FBQXNGLElBQUEsQ0FBQXpGLENBQUEsT0FBQUcsTUFBQSxDQUFBZ0kscUJBQUEsUUFBQTVILENBQUEsR0FBQUosTUFBQSxDQUFBZ0kscUJBQUEsQ0FBQW5JLENBQUEsR0FBQUUsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQTZILE1BQUEsV0FBQWxJLENBQUEsV0FBQUMsTUFBQSxDQUFBa0ksd0JBQUEsQ0FBQXJJLENBQUEsRUFBQUUsQ0FBQSxFQUFBaUIsVUFBQSxPQUFBbEIsQ0FBQSxDQUFBd0UsSUFBQSxDQUFBdUQsS0FBQSxDQUFBL0gsQ0FBQSxFQUFBTSxDQUFBLFlBQUFOLENBQUE7QUFBQSxTQUFBcUksY0FBQXRJLENBQUEsYUFBQUUsQ0FBQSxNQUFBQSxDQUFBLEdBQUE2SCxTQUFBLENBQUFqRCxNQUFBLEVBQUE1RSxDQUFBLFVBQUFELENBQUEsV0FBQThILFNBQUEsQ0FBQTdILENBQUEsSUFBQTZILFNBQUEsQ0FBQTdILENBQUEsUUFBQUEsQ0FBQSxPQUFBZ0ksT0FBQSxDQUFBL0gsTUFBQSxDQUFBRixDQUFBLE9BQUE0QyxPQUFBLFdBQUEzQyxDQUFBLElBQUFxSSxlQUFBLENBQUF2SSxDQUFBLEVBQUFFLENBQUEsRUFBQUQsQ0FBQSxDQUFBQyxDQUFBLFNBQUFDLE1BQUEsQ0FBQXFJLHlCQUFBLEdBQUFySSxNQUFBLENBQUFzSSxnQkFBQSxDQUFBekksQ0FBQSxFQUFBRyxNQUFBLENBQUFxSSx5QkFBQSxDQUFBdkksQ0FBQSxLQUFBaUksT0FBQSxDQUFBL0gsTUFBQSxDQUFBRixDQUFBLEdBQUE0QyxPQUFBLFdBQUEzQyxDQUFBLElBQUFDLE1BQUEsQ0FBQUssY0FBQSxDQUFBUixDQUFBLEVBQUFFLENBQUEsRUFBQUMsTUFBQSxDQUFBa0ksd0JBQUEsQ0FBQXBJLENBQUEsRUFBQUMsQ0FBQSxpQkFBQUYsQ0FBQTtBQUFBLFNBQUF1SSxnQkFBQUcsR0FBQSxFQUFBbEIsR0FBQSxFQUFBL0csS0FBQSxJQUFBK0csR0FBQSxHQUFBbUIsY0FBQSxDQUFBbkIsR0FBQSxPQUFBQSxHQUFBLElBQUFrQixHQUFBLElBQUF2SSxNQUFBLENBQUFLLGNBQUEsQ0FBQWtJLEdBQUEsRUFBQWxCLEdBQUEsSUFBQS9HLEtBQUEsRUFBQUEsS0FBQSxFQUFBVSxVQUFBLFFBQUFDLFlBQUEsUUFBQUMsUUFBQSxvQkFBQXFILEdBQUEsQ0FBQWxCLEdBQUEsSUFBQS9HLEtBQUEsV0FBQWlJLEdBQUE7QUFBQSxTQUFBQyxlQUFBOUcsR0FBQSxRQUFBMkYsR0FBQSxHQUFBb0IsWUFBQSxDQUFBL0csR0FBQSxvQkFBQW9CLE9BQUEsQ0FBQXVFLEdBQUEsaUJBQUFBLEdBQUEsR0FBQXFCLE1BQUEsQ0FBQXJCLEdBQUE7QUFBQSxTQUFBb0IsYUFBQUUsS0FBQSxFQUFBQyxJQUFBLFFBQUE5RixPQUFBLENBQUE2RixLQUFBLGtCQUFBQSxLQUFBLGtCQUFBQSxLQUFBLE1BQUFFLElBQUEsR0FBQUYsS0FBQSxDQUFBbkksTUFBQSxDQUFBc0ksV0FBQSxPQUFBRCxJQUFBLEtBQUFmLFNBQUEsUUFBQWlCLEdBQUEsR0FBQUYsSUFBQSxDQUFBbEgsSUFBQSxDQUFBZ0gsS0FBQSxFQUFBQyxJQUFBLG9CQUFBOUYsT0FBQSxDQUFBaUcsR0FBQSx1QkFBQUEsR0FBQSxZQUFBbkYsU0FBQSw0REFBQWdGLElBQUEsZ0JBQUFGLE1BQUEsR0FBQU0sTUFBQSxFQUFBTCxLQUFBO0FBQUEsU0FBQU0sZUFBQUMsR0FBQSxFQUFBM0ksQ0FBQSxXQUFBNEksZUFBQSxDQUFBRCxHQUFBLEtBQUFFLHFCQUFBLENBQUFGLEdBQUEsRUFBQTNJLENBQUEsS0FBQWlHLDJCQUFBLENBQUEwQyxHQUFBLEVBQUEzSSxDQUFBLEtBQUE4SSxnQkFBQTtBQUFBLFNBQUFBLGlCQUFBLGNBQUF6RixTQUFBO0FBQUEsU0FBQTRDLDRCQUFBcEcsQ0FBQSxFQUFBa0osTUFBQSxTQUFBbEosQ0FBQSxxQkFBQUEsQ0FBQSxzQkFBQW1KLGlCQUFBLENBQUFuSixDQUFBLEVBQUFrSixNQUFBLE9BQUFwSixDQUFBLEdBQUFGLE1BQUEsQ0FBQUMsU0FBQSxDQUFBdUosUUFBQSxDQUFBN0gsSUFBQSxDQUFBdkIsQ0FBQSxFQUFBdUYsS0FBQSxhQUFBekYsQ0FBQSxpQkFBQUUsQ0FBQSxDQUFBMEUsV0FBQSxFQUFBNUUsQ0FBQSxHQUFBRSxDQUFBLENBQUEwRSxXQUFBLENBQUFDLElBQUEsTUFBQTdFLENBQUEsY0FBQUEsQ0FBQSxtQkFBQW9HLEtBQUEsQ0FBQW1ELElBQUEsQ0FBQXJKLENBQUEsT0FBQUYsQ0FBQSwrREFBQXdKLElBQUEsQ0FBQXhKLENBQUEsVUFBQXFKLGlCQUFBLENBQUFuSixDQUFBLEVBQUFrSixNQUFBO0FBQUEsU0FBQUMsa0JBQUFMLEdBQUEsRUFBQVMsR0FBQSxRQUFBQSxHQUFBLFlBQUFBLEdBQUEsR0FBQVQsR0FBQSxDQUFBdkUsTUFBQSxFQUFBZ0YsR0FBQSxHQUFBVCxHQUFBLENBQUF2RSxNQUFBLFdBQUFwRSxDQUFBLE1BQUFxSixJQUFBLE9BQUF0RCxLQUFBLENBQUFxRCxHQUFBLEdBQUFwSixDQUFBLEdBQUFvSixHQUFBLEVBQUFwSixDQUFBLElBQUFxSixJQUFBLENBQUFySixDQUFBLElBQUEySSxHQUFBLENBQUEzSSxDQUFBLFVBQUFxSixJQUFBO0FBQUEsU0FBQVIsc0JBQUFySixDQUFBLEVBQUE4QixDQUFBLFFBQUEvQixDQUFBLFdBQUFDLENBQUEsZ0NBQUFTLE1BQUEsSUFBQVQsQ0FBQSxDQUFBUyxNQUFBLENBQUFFLFFBQUEsS0FBQVgsQ0FBQSw0QkFBQUQsQ0FBQSxRQUFBRCxDQUFBLEVBQUFLLENBQUEsRUFBQUssQ0FBQSxFQUFBTSxDQUFBLEVBQUFKLENBQUEsT0FBQXFCLENBQUEsT0FBQTFCLENBQUEsaUJBQUFHLENBQUEsSUFBQVQsQ0FBQSxHQUFBQSxDQUFBLENBQUE2QixJQUFBLENBQUE1QixDQUFBLEdBQUErRCxJQUFBLFFBQUFqQyxDQUFBLFFBQUE3QixNQUFBLENBQUFGLENBQUEsTUFBQUEsQ0FBQSxVQUFBZ0MsQ0FBQSx1QkFBQUEsQ0FBQSxJQUFBakMsQ0FBQSxHQUFBVSxDQUFBLENBQUFvQixJQUFBLENBQUE3QixDQUFBLEdBQUFzRCxJQUFBLE1BQUEzQyxDQUFBLENBQUE2RCxJQUFBLENBQUF6RSxDQUFBLENBQUFTLEtBQUEsR0FBQUcsQ0FBQSxDQUFBa0UsTUFBQSxLQUFBOUMsQ0FBQSxHQUFBQyxDQUFBLGlCQUFBL0IsQ0FBQSxJQUFBSyxDQUFBLE9BQUFGLENBQUEsR0FBQUgsQ0FBQSx5QkFBQStCLENBQUEsWUFBQWhDLENBQUEsZUFBQWUsQ0FBQSxHQUFBZixDQUFBLGNBQUFFLE1BQUEsQ0FBQWEsQ0FBQSxNQUFBQSxDQUFBLDJCQUFBVCxDQUFBLFFBQUFGLENBQUEsYUFBQU8sQ0FBQTtBQUFBLFNBQUEwSSxnQkFBQUQsR0FBQSxRQUFBNUMsS0FBQSxDQUFBQyxPQUFBLENBQUEyQyxHQUFBLFVBQUFBLEdBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFDQSxTQUNFVyxTQUFTLEVBQ1RDLE1BQU0sRUFDTkMsUUFBUSxRQUNILE9BQU87QUFDZCxTQUFTQyxJQUFJLFFBQVEseUJBQXlCO0FBQzlDLFNBQ0VDLHVCQUF1QixFQUN2QkMsV0FBVyxFQUNYQyxpQkFBaUIsRUFDakJDLHNCQUFzQixFQUN0QkMsYUFBYSxFQUNiQyx5QkFBeUIsRUFDekJDLDBCQUEwQixRQUNyQix1QkFBdUI7QUFDOUIsU0FBU0MsU0FBUyxRQUFRLHVCQUF1QjtBQUNqRCxTQUFTQyxPQUFPLFFBQVEseUJBQXlCO0FBQ2pELFNBQVNDLGdCQUFnQixFQUFFQyx5QkFBeUIsUUFBUSxrQkFBa0I7QUFDOUUsU0FDRUMsa0JBQWtCLEVBQ2xCQyxxQkFBcUIsUUFDaEIsVUFBVTtBQUNqQixTQUNFQyxtQkFBbUIsRUFDbkJDLDJCQUEyQixFQUMzQkMsZUFBZSxFQUNmQyxpQkFBaUIsUUFDWiw0QkFBNEI7QUFDbkMsU0FDRUMsZUFBZSxFQUNmQyxlQUFlLEVBQ2ZDLHFCQUFxQixFQUNyQkMsc0JBQXNCLEVBQ3RCQyxnQkFBZ0IsRUFDaEJDLGdCQUFnQixFQUNoQkMsbUJBQW1CLFFBQ2QsVUFBVTtBQUNqQixTQUFTQyxxQkFBcUIsUUFBUSx5QkFBeUI7QUFpQi9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0MsYUFBYUEsQ0FBQ0MsWUFBb0IsRUFBRTtFQUMzQyxJQUFJQyxNQUFNLEdBQUcsSUFBSTtFQUNqQkQsWUFBWSxHQUFHQSxZQUFZLElBQUksRUFBRTtFQUNqQyxJQUFNRSxLQUFLLEdBQUdGLFlBQVksQ0FBQ0csS0FBSyxDQUFDLE9BQU8sQ0FBQztFQUV6QyxJQUFJRCxLQUFLLENBQUNsSCxNQUFNLEdBQUcsQ0FBQyxFQUFFO0lBQUU7SUFDdEJpSCxNQUFNLEdBQUdDLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFHLENBQUMsQ0FBQztFQUNyQixDQUFDLE1BQU07SUFBRTtJQUNQLElBQU1FLE1BQU0sR0FBR0osWUFBWSxDQUFDRyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3RDRixNQUFNLEdBQUdHLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFHLENBQUMsQ0FBQztFQUN0QjtFQUNBLE9BQU9ILE1BQU07QUFDZjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sU0FBU0ksa0JBQWtCQSxDQUFDQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsVUFBVSxFQUF1QjtFQUN2RixJQUFJRCxXQUFXLEVBQUU7SUFDZixJQUFJRSxNQUFNLEdBQUc1QixTQUFTLENBQUMwQixXQUFXLENBQUNHLFFBQVEsRUFBRUosTUFBTSxDQUFDO0lBRXBELElBQUlFLFVBQVUsS0FBSyxZQUFZLElBQUlBLFVBQVUsS0FBSyxLQUFLLEVBQUU7TUFDdkRDLE1BQU0sR0FBR0EsTUFBTSxDQUFDRSxHQUFHLENBQUMsVUFBQUMsS0FBSyxFQUFJO1FBQUEsSUFBQUMsZ0JBQUE7UUFDM0IsSUFBS0QsS0FBSyxhQUFMQSxLQUFLLGdCQUFBQyxnQkFBQSxHQUFMRCxLQUFLLENBQUVFLFNBQVMsY0FBQUQsZ0JBQUEsZUFBaEJBLGdCQUFBLENBQWtCRSxZQUFZLEVBQUU7VUFDbkMsSUFBSUMsYUFBYSxHQUFHM0MsSUFBSSxDQUFDNEMsNEJBQTRCLENBQUVMLEtBQUssQ0FBQ0UsU0FBUyxDQUFDQyxZQUFZLENBQUM7VUFDcEZDLGFBQWEsR0FBRzdCLG1CQUFtQixDQUFDNkIsYUFBYSxDQUFDO1VBQ2xESixLQUFLLENBQUNFLFNBQVMsQ0FBQ0MsWUFBWSxHQUFHQyxhQUFhO1FBQzlDO1FBQ0EsT0FBT0osS0FBSztNQUNkLENBQUMsQ0FBQztJQUNKO0lBRUEsT0FBT0gsTUFBTTtFQUNmO0VBQ0EsT0FBTyxJQUFJO0FBQ2I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFNBQVNTLGVBQWVBLENBQUNDLFNBQVMsRUFBRVosV0FBVyxFQUFFQyxVQUFVLEVBQXVCO0VBQ3ZGLElBQU1GLE1BQU0sTUFBQWMsTUFBQSxDQUFNRCxTQUFTLENBQUNFLE9BQU8sT0FBQUQsTUFBQSxDQUFJRCxTQUFTLENBQUNQLEtBQUssQ0FBRTtFQUN4RCxPQUFPUCxrQkFBa0IsQ0FBQ0MsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLFVBQVUsQ0FBQztBQUM1RDtBQUVBLE9BQU8sU0FBU2MsWUFBWUEsQ0FBQUMsS0FBQSxFQU9qQjtFQUFBLElBQUFDLGVBQUEsRUFBQUMscUJBQUE7RUFBQSxJQU5UQyxNQUFNLEdBQUFILEtBQUEsQ0FBTkcsTUFBTTtJQUNOQyxhQUFhLEdBQUFKLEtBQUEsQ0FBYkksYUFBYTtJQUNiUixTQUFTLEdBQUFJLEtBQUEsQ0FBVEosU0FBUztJQUNDUyxTQUFTLEdBQUFMLEtBQUEsQ0FBbkJNLFFBQVE7SUFDTUMsYUFBYSxHQUFBUCxLQUFBLENBQTNCdkIsWUFBWTtJQUFBK0IsZUFBQSxHQUFBUixLQUFBLENBQ1pTLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0VBcUNqQixJQUFNRSxRQUFRLEdBQUc5RCxNQUFNLENBQUMsS0FBSyxDQUFDO0VBRTlCLElBQUErRCxTQUFBLEdBQTJCOUQsUUFBUSxDQUFDO01BQ2xDK0QsU0FBUyxFQUFFLElBQUk7TUFDZjVCLFdBQVcsRUFBRSxJQUFJO01BQ2pCNkIsVUFBVSxFQUFFLENBQUM7TUFDYkMsV0FBVyxFQUFFLEVBQUU7TUFDZkMsV0FBVyxFQUFFLElBQUk7TUFDakJDLFNBQVMsRUFBRSxJQUFJO01BQ2ZDLFdBQVcsRUFBRSxLQUFLO01BQ2xCQyxhQUFhLEVBQUU7UUFDYmxDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCNEIsU0FBUyxFQUFFLElBQUk7UUFDZk8sT0FBTyxFQUFFLElBQUk7UUFDYkMsYUFBYSxFQUFFLElBQUk7UUFDbkJDLGdCQUFnQixFQUFFLElBQUk7UUFDdEJDLGVBQWUsRUFBRSxLQUFLO1FBQ3RCQyxjQUFjLEVBQUUsS0FBSztRQUNyQmpCLFFBQVEsRUFBRSxJQUFJO1FBQ2RrQixHQUFHLEVBQUUsSUFBSTtRQUNUQyxHQUFHLEVBQUU7TUFDUCxDQUFDO01BQ0RDLFlBQVksRUFBRTtJQUNoQixDQUFDLENBQUM7SUFBQUMsVUFBQSxHQUFBNUYsY0FBQSxDQUFBNEUsU0FBQTtJQXJCS2lCLEtBQUssR0FBQUQsVUFBQTtJQUFFRSxTQUFTLEdBQUFGLFVBQUE7RUF1QnZCLElBQUFHLEtBQUEsR0FLSXpCLFNBQVMsSUFBSSxDQUFDLENBQUM7SUFKakIwQixLQUFLLEdBQUFELEtBQUEsQ0FBTEMsS0FBSztJQUNMOUMsVUFBVSxHQUFBNkMsS0FBQSxDQUFWN0MsVUFBVTtJQUFBK0MsWUFBQSxHQUFBRixLQUFBLENBQ1ZwRCxNQUFNO0lBQU5BLE1BQU0sR0FBQXNELFlBQUEsY0FBRyxRQUFRLEdBQUFBLFlBQUE7SUFBQUMsU0FBQSxHQUFBSCxLQUFBLENBQ2pCSSxHQUFHO0lBQUhBLEdBQUcsR0FBQUQsU0FBQSxjQUFHLElBQUksR0FBQUEsU0FBQTtFQUdaLElBQUFFLEtBQUEsR0FBbUJ2QyxTQUFTLElBQUksQ0FBQyxDQUFDO0lBQTFCd0MsTUFBTSxHQUFBRCxLQUFBLENBQU5DLE1BQU07RUFFZCxJQUFNQyxNQUFrQixHQUFHVCxLQUFLLEVBQUM7RUFDakMsSUFDRWhCLFNBQVMsR0FTUHlCLE1BQU0sQ0FUUnpCLFNBQVM7SUFDVDVCLFdBQVcsR0FRVHFELE1BQU0sQ0FSUnJELFdBQVc7SUFDWDZCLFVBQVUsR0FPUndCLE1BQU0sQ0FQUnhCLFVBQVU7SUFDVkMsV0FBVyxHQU1UdUIsTUFBTSxDQU5SdkIsV0FBVztJQUNYQyxXQUFXLEdBS1RzQixNQUFNLENBTFJ0QixXQUFXO0lBQ1hDLFNBQVMsR0FJUHFCLE1BQU0sQ0FKUnJCLFNBQVM7SUFDVEMsV0FBVyxHQUdUb0IsTUFBTSxDQUhScEIsV0FBVztJQUNYQyxhQUFhLEdBRVhtQixNQUFNLENBRlJuQixhQUFhO0lBQ2JRLFlBQVksR0FDVlcsTUFBTSxDQURSWCxZQUFZO0VBR2QsU0FBU1ksUUFBUUEsQ0FBQ0MsUUFBUSxFQUFFO0lBQzFCVixTQUFTLENBQUMsVUFBQVcsU0FBUztNQUFBLE9BQUF2SCxhQUFBLENBQUFBLGFBQUEsS0FBVXVILFNBQVMsR0FBS0QsUUFBUTtJQUFBLENBQUcsQ0FBQztFQUN6RDtFQUVBNUYsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJeUQsYUFBYSxFQUFFO01BQ2pCcUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQjtJQUVBLFNBQVNBLGlCQUFpQkEsQ0FBQSxFQUFHO01BQzNCQyxPQUFPLENBQUNDLEdBQUcsa0RBQWtELENBQUM7TUFDOUQsSUFBSWxFLFlBQVksR0FBRzJCLGFBQWEsSUFBSUcsYUFBYTtNQUVqRCxJQUFJRixTQUFTLEVBQUU7UUFDYjtRQUNBLElBQU11QyxVQUFVLEdBQUcsQ0FBQ3JDLGFBQWEsSUFBSzJCLEdBQUcsSUFBS0EsR0FBRyxLQUFLeEQsTUFBUTtRQUU5RCxJQUFJa0UsVUFBVSxFQUFFO1VBQ2QsSUFBTUMsSUFBSSxHQUFHWCxHQUFHLElBQUl4RCxNQUFNO1VBRTFCRCxZQUFZLEdBQUdYLGVBQWUsQ0FBQztZQUM3QmlFLEtBQUssRUFBTEEsS0FBSztZQUNMOUMsVUFBVSxFQUFWQSxVQUFVO1lBQ1Y2RCxVQUFVLEVBQUV6QyxTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRTBDLFNBQVM7WUFDaENiLEdBQUcsRUFBRVc7VUFDUCxDQUFDLENBQUM7UUFDSjtNQUNGO01BRUEsSUFBTUcsT0FBTyxHQUFBL0gsYUFBQSxLQUFRMkUsU0FBUyxDQUFFO01BRWhDLElBQUlhLFNBQVMsRUFBRTtRQUNiLE9BQU91QyxPQUFPLENBQUNsRCxPQUFPLEVBQUM7UUFDdkIsT0FBT2tELE9BQU8sQ0FBQzNELEtBQUs7TUFDdEI7TUFFQSxJQUFJWixZQUFZLE1BQUtzQyxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRXRDLFlBQVksR0FBRTtRQUM5Q2lFLE9BQU8sQ0FBQ0MsR0FBRyx1QkFBQTlDLE1BQUEsQ0FBdUJRLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFMEMsU0FBUywyQkFBQWxELE1BQUEsQ0FBd0JwQixZQUFZLHlCQUFBb0IsTUFBQSxDQUFzQlUsYUFBYSxDQUFFLENBQUM7TUFDbEksQ0FBQyxNQUFNLElBQUl5QyxPQUFPLE1BQUtqQyxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRW5CLFNBQVMsR0FBRTtRQUM3QzhDLE9BQU8sQ0FBQ0MsR0FBRyxtQ0FBQTlDLE1BQUEsQ0FBbUNRLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFMEMsU0FBUywyQkFBQWxELE1BQUEsQ0FBd0JwQixZQUFZLENBQUUsQ0FBQztNQUMzRztNQUVBLElBQU13RSxjQUFjLEdBQUc7UUFDckI5QyxNQUFNLEVBQU5BLE1BQU07UUFDTlAsU0FBUyxFQUFFb0QsT0FBTztRQUNsQnZFLFlBQVksRUFBWkE7TUFDRixDQUFDO01BRUQsSUFBSSxDQUFDbEIsT0FBTyxDQUFDMEYsY0FBYyxFQUFFbEMsV0FBVyxDQUFDLEVBQUU7UUFDekMyQixPQUFPLENBQUNDLEdBQUcsc0NBQXNDO1VBQUVNLGNBQWMsRUFBZEEsY0FBYztVQUFFbEMsV0FBVyxFQUFYQTtRQUFZLENBQUMsQ0FBQztRQUNqRnVCLFFBQVEsQ0FBQztVQUNQdkIsV0FBVyxFQUFFa0MsY0FBYztVQUMzQkMsT0FBTyxFQUFFLEtBQUs7VUFDZGpDLFdBQVcsRUFBRTtRQUNmLENBQUMsQ0FBQztRQUVGa0MsU0FBUyxDQUFDRixjQUFjLENBQUM7TUFDM0I7SUFDRjtFQUNGLENBQUMsRUFBRSxDQUNEN0MsYUFBYSxFQUNiMkIsS0FBSyxFQUNMOUMsVUFBVSxFQUNWbUQsTUFBTSxFQUNOMUQsTUFBTSxFQUNOd0QsR0FBRyxDQUNKLENBQUM7O0VBRUY7QUFDRjtBQUNBO0FBQ0E7QUFDQTtFQUpFLFNBS2VpQixTQUFTQSxDQUFBQyxFQUFBO0lBQUEsT0FBQUMsVUFBQSxDQUFBMUksS0FBQSxPQUFBRCxTQUFBO0VBQUE7RUFBQSxTQUFBMkksV0FBQTtJQUFBQSxVQUFBLEdBQUEvSSxpQkFBQSxlQUFBNUgsbUJBQUEsR0FBQW9GLElBQUEsQ0FBeEIsU0FBQXdMLFFBQXlCdkMsV0FBNEI7TUFBQSxJQUFBQyxTQUFBO1FBQUF1QyxzQkFBQTtRQUFBQyxTQUFBO1FBQUFDLHFCQUFBO1FBQUFDLDBCQUFBO1FBQUFDLHNCQUFBO1FBQUFDLFdBQUE7UUFBQUMsUUFBQTtRQUFBeEMsZ0JBQUE7UUFBQXlDLEtBQUEsR0FBQXBKLFNBQUE7TUFBQSxPQUFBaEksbUJBQUEsR0FBQXVCLElBQUEsVUFBQThQLFNBQUFDLFFBQUE7UUFBQSxrQkFBQUEsUUFBQSxDQUFBekwsSUFBQSxHQUFBeUwsUUFBQSxDQUFBcE4sSUFBQTtVQUFBO1lBQUVvSyxTQUFTLEdBQUE4QyxLQUFBLENBQUFyTSxNQUFBLFFBQUFxTSxLQUFBLFFBQUFsSixTQUFBLEdBQUFrSixLQUFBLE1BQUcsSUFBSTtZQUFBRSxRQUFBLENBQUF6TCxJQUFBO1lBQUEsS0FFL0RtSSxRQUFRLENBQUN1RCxPQUFPO2NBQUFELFFBQUEsQ0FBQXBOLElBQUE7Y0FBQTtZQUFBO1lBQ2xCOEwsT0FBTyxDQUFDQyxHQUFHLGdEQUFnRDVCLFdBQVcsQ0FBQztZQUFBLE9BQUFpRCxRQUFBLENBQUF2TixNQUFBO1VBQUE7WUFJbkUrTSxTQUFTLE1BQUEzRCxNQUFBLENBQU1rQixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRXRDLFlBQVksT0FBQW9CLE1BQUEsQ0FBSWtCLFdBQVcsYUFBWEEsV0FBVyxnQkFBQXdDLHNCQUFBLEdBQVh4QyxXQUFXLENBQUVuQixTQUFTLGNBQUEyRCxzQkFBQSx1QkFBdEJBLHNCQUFBLENBQXdCbkIsTUFBTTtZQUFBLEtBRTVFcEIsU0FBUztjQUFBZ0QsUUFBQSxDQUFBcE4sSUFBQTtjQUFBO1lBQUE7WUFDTDhNLDBCQUEwQixHQUFHMUMsU0FBUyxNQUFLRSxhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRU0sR0FBRyxHQUFDO1lBQUEsTUFFL0RnQyxTQUFTLE1BQUt0QyxhQUFhLGFBQWJBLGFBQWEsZ0JBQUF1QyxxQkFBQSxHQUFidkMsYUFBYSxDQUFFWixRQUFRLGNBQUFtRCxxQkFBQSx1QkFBdkJBLHFCQUFBLENBQXlCaEYsWUFBWSxLQUFLLENBQUNpRiwwQkFBMEI7Y0FBQU0sUUFBQSxDQUFBcE4sSUFBQTtjQUFBO1lBQUE7WUFBSTtZQUMxRjhMLE9BQU8sQ0FBQ0MsR0FBRyw2REFBQTlDLE1BQUEsQ0FBNkRxQixhQUFhLGFBQWJBLGFBQWEsZ0JBQUF5QyxzQkFBQSxHQUFiekMsYUFBYSxDQUFFWixRQUFRLGNBQUFxRCxzQkFBQSx1QkFBdkJBLHNCQUFBLENBQXlCbEYsWUFBWSxxQkFBQW9CLE1BQUEsQ0FBa0JtQixTQUFTLEdBQUlELFdBQVcsQ0FBQztZQUFBLE9BQUFpRCxRQUFBLENBQUF2TixNQUFBO1VBQUE7WUFLNUppSyxRQUFRLENBQUN1RCxPQUFPLEdBQUcsSUFBSSxFQUFDO1lBQ2xCTCxXQUFXLEdBQUcvQyxVQUFVLEdBQUcsQ0FBQztZQUNsQzZCLE9BQU8sQ0FBQ0MsR0FBRyw4Q0FBQTlDLE1BQUEsQ0FBOENRLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFMEMsU0FBUywyQkFBQWxELE1BQUEsQ0FBd0JrQixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRXRDLFlBQVkscUJBQUFvQixNQUFBLENBQWtCbUIsU0FBUyxHQUFJRCxXQUFXLENBQUM7WUFDekt1QixRQUFRLENBQUM7Y0FDUHpCLFVBQVUsRUFBRStDLFdBQVc7Y0FDdkJWLE9BQU8sRUFBRSxLQUFLO2NBQ2RsQyxTQUFTLEVBQVRBLFNBQVM7Y0FDVEUsYUFBYSxFQUFFO2dCQUFFSSxlQUFlLEVBQUU7Y0FBSztZQUN6QyxDQUFDLENBQUM7WUFBQTBDLFFBQUEsQ0FBQXBOLElBQUE7WUFBQSxPQUVxQjhHLGtCQUFrQixDQUFDcUQsV0FBVyxDQUFDO1VBQUE7WUFBaEQ4QyxRQUFRLEdBQUFHLFFBQUEsQ0FBQTFOLElBQUE7WUFBQSxNQUVWLENBQUN1TixRQUFRLElBQUlBLFFBQVEsYUFBUkEsUUFBUSxlQUFSQSxRQUFRLENBQUV4SixLQUFLO2NBQUEySixRQUFBLENBQUFwTixJQUFBO2NBQUE7WUFBQTtZQUM5QjhMLE9BQU8sQ0FBQ0MsR0FBRyw4Q0FBQTlDLE1BQUEsQ0FBOENRLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFMEMsU0FBUyxHQUFJYyxRQUFRLENBQUM7WUFDMUZ2QixRQUFRLENBQUM7Y0FDUHBCLGFBQWEsRUFBRTtnQkFDYkksZUFBZSxFQUFFLEtBQUs7Z0JBQ3RCdUMsUUFBUSxFQUFSQTtjQUNGO1lBQ0YsQ0FBQyxDQUFDO1lBQ0ZuRCxRQUFRLENBQUN1RCxPQUFPLEdBQUcsS0FBSztZQUFBLE9BQUFELFFBQUEsQ0FBQXZOLE1BQUE7VUFBQTtZQUkxQmlNLE9BQU8sQ0FBQ0MsR0FBRyxpREFBQTlDLE1BQUEsQ0FBaURRLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFMEMsU0FBUywyQkFBQWxELE1BQUEsQ0FBd0JrQixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRXRDLFlBQVksUUFBS3NDLFdBQVcsQ0FBQztZQUU1SU0sZ0JBQWdCLEdBQUFwRyxhQUFBLENBQUFBLGFBQUEsS0FDakI0SSxRQUFRO2NBQ1hoRCxVQUFVLEVBQUUrQyxXQUFXO2NBQ3ZCaEUsU0FBUyxFQUFFbUIsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVuQjtZQUFTO1lBR25Dc0UsZ0JBQWdCLENBQUM3QyxnQkFBZ0IsRUFBRU4sV0FBVyxDQUFDO1lBQUFpRCxRQUFBLENBQUFwTixJQUFBO1lBQUE7VUFBQTtZQUFBb04sUUFBQSxDQUFBekwsSUFBQTtZQUFBeUwsUUFBQSxDQUFBRyxFQUFBLEdBQUFILFFBQUE7WUFFL0N0QixPQUFPLENBQUNySSxLQUFLLDJEQUEyRDBHLFdBQVcsRUFBQWlELFFBQUEsQ0FBQUcsRUFBSSxDQUFDO1lBQ3hGN0IsUUFBUSxDQUFDO2NBQ1BwQixhQUFhLEVBQUU7Z0JBQ2JJLGVBQWUsRUFBRSxLQUFLO2dCQUN0QmhCLFFBQVEsRUFBRTtjQUNaO1lBQ0YsQ0FBQyxDQUFDO1lBQ0ZJLFFBQVEsQ0FBQ3VELE9BQU8sR0FBRyxLQUFLO1VBQUE7VUFBQTtZQUFBLE9BQUFELFFBQUEsQ0FBQXRMLElBQUE7UUFBQTtNQUFBLEdBQUE0SyxPQUFBO0lBQUEsQ0FFM0I7SUFBQSxPQUFBRCxVQUFBLENBQUExSSxLQUFBLE9BQUFELFNBQUE7RUFBQTtFQUVEaUMsU0FBUyxDQUFDLFlBQU07SUFDZCtGLE9BQU8sQ0FBQ0MsR0FBRyx1QkFBQTlDLE1BQUEsQ0FBdUJRLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFMEMsU0FBUyw0QkFBQWxELE1BQUEsQ0FBeUJPLGFBQWEsQ0FBRSxDQUFDO0VBQ2pHLENBQUMsRUFBRSxDQUFDQSxhQUFhLENBQUMsQ0FBQzs7RUFFbkI7QUFDRjtBQUNBO0VBQ0UsU0FBUzhELGdCQUFnQkEsQ0FBQzdDLGdCQUFnQixFQUFFTixXQUE0QixFQUFFO0lBQUEsSUFBQXFELHFCQUFBO0lBQ3hFLElBQUlDLFVBQVUsR0FBRyxLQUFLO0lBQ3RCO0lBQ0EsSUFBTUMsY0FBYyxHQUFHbEMsTUFBTSxJQUFJLEtBQUs7SUFDdEMsSUFBTXRCLFdBQVcsR0FBR2pELDJCQUEyQixDQUFDd0QsZ0JBQWdCLGFBQWhCQSxnQkFBZ0IsdUJBQWhCQSxnQkFBZ0IsQ0FBRXhKLElBQUksQ0FBQztJQUN2RTZLLE9BQU8sQ0FBQ0MsR0FBRyx3REFBQTlDLE1BQUEsQ0FBd0R1QyxNQUFNLGtCQUFBdkMsTUFBQSxDQUFlaUIsV0FBVyxhQUFVLENBQUM7SUFDOUd1RCxVQUFVLEdBQUd2RCxXQUFXLGFBQVhBLFdBQVcsZ0JBQUFzRCxxQkFBQSxHQUFYdEQsV0FBVyxDQUFFeUQsV0FBVyxDQUFDLENBQUMsY0FBQUgscUJBQUEsdUJBQTFCQSxxQkFBQSxDQUE0QkksUUFBUSxDQUFDcEMsTUFBTSxDQUFDO0lBRXpELElBQU1aLEdBQUcsR0FBRyxDQUFBSCxnQkFBZ0IsYUFBaEJBLGdCQUFnQix1QkFBaEJBLGdCQUFnQixDQUFFRyxHQUFHLEtBQUksSUFBSTtJQUN6QyxJQUFNQyxHQUFHLEdBQUcsQ0FBQUosZ0JBQWdCLGFBQWhCQSxnQkFBZ0IsdUJBQWhCQSxnQkFBZ0IsQ0FBRUksR0FBRyxLQUFJLElBQUk7SUFFekMsSUFBSTRDLFVBQVUsRUFBRTtNQUFFO01BQ2hCLElBQU1JLGFBQWEsR0FBR2pHLGFBQWEsQ0FBQ2lELEdBQUcsQ0FBQztNQUN4QyxJQUFNaUQsY0FBYyxHQUFHbEcsYUFBYSxDQUFDdUMsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUV0QyxZQUFZLENBQUM7TUFFL0QsSUFBSWdHLGFBQWEsS0FBS0MsY0FBYyxFQUFFO1FBQ3BDaEMsT0FBTyxDQUFDQyxHQUFHLHVFQUFBOUMsTUFBQSxDQUF1RTZFLGNBQWMsNkJBQUE3RSxNQUFBLENBQTBCNEUsYUFBYSxHQUFJO1VBQUVqRCxHQUFHLEVBQUhBLEdBQUc7VUFBRUMsR0FBRyxFQUFIQTtRQUFJLENBQUMsQ0FBQztRQUN4SjRDLFVBQVUsR0FBRyxLQUFLO01BQ3BCO0lBQ0YsQ0FBQyxNQUFNO01BQ0wzQixPQUFPLENBQUNDLEdBQUcsdUVBQUE5QyxNQUFBLENBQXVFeUUsY0FBYywrQkFBQXpFLE1BQUEsQ0FBNEJpQixXQUFXLEdBQUk7UUFBRVUsR0FBRyxFQUFIQSxHQUFHO1FBQUVDLEdBQUcsRUFBSEE7TUFBSSxDQUFDLENBQUM7SUFDMUo7SUFFQSxJQUFJVCxTQUFTLEtBQUtRLEdBQUcsRUFBRTtNQUNyQmtCLE9BQU8sQ0FBQ2lDLElBQUksNEVBQUE5RSxNQUFBLENBQTRFMkIsR0FBRyxHQUFJO1FBQUVBLEdBQUcsRUFBSEEsR0FBRztRQUFFQyxHQUFHLEVBQUhBO01BQUksQ0FBQyxDQUFDO01BQzVHNEMsVUFBVSxHQUFHLEtBQUs7SUFDcEI7SUFFQSxJQUFJQSxVQUFVLEVBQUU7TUFDZCxJQUFNTyxVQUFVLEdBQUd2RCxnQkFBZ0IsYUFBaEJBLGdCQUFnQix1QkFBaEJBLGdCQUFnQixDQUFFVCxTQUFTO01BQzlDLElBQU01QixhQUFXLEdBQUdxQyxnQkFBZ0IsYUFBaEJBLGdCQUFnQix1QkFBaEJBLGdCQUFnQixDQUFFckMsV0FBVztNQUNqRCxJQUFNMEMsY0FBWSxHQUFHbUQsZ0JBQWdCLENBQUM3RixhQUFXLENBQUM7TUFFbEQwRCxPQUFPLENBQUNDLEdBQUcsc0VBQUE5QyxNQUFBLENBQXNFeUUsY0FBYyxHQUFJO1FBQUU5QyxHQUFHLEVBQUhBLEdBQUc7UUFBRUMsR0FBRyxFQUFIQTtNQUFJLENBQUMsQ0FBQztNQUNoSCxJQUFNYyxRQUFRLEdBQUc7UUFDZjNCLFNBQVMsRUFBRWdFLFVBQVU7UUFDckI1RixXQUFXLEVBQVhBLGFBQVc7UUFDWGtFLE9BQU8sRUFBRSxJQUFJO1FBQ2JwQyxXQUFXLEVBQUV3RCxjQUFjO1FBQzNCdEQsU0FBUyxFQUFFLElBQUk7UUFDZkUsYUFBYSxFQUFFO1VBQ2JsQyxXQUFXLEVBQVhBLGFBQVc7VUFDWDRCLFNBQVMsRUFBRWdFLFVBQVU7VUFDckJ0RCxlQUFlLEVBQUUsS0FBSztVQUN0QkMsY0FBYyxFQUFFLEtBQUs7VUFDckJqQixRQUFRLEVBQUVlLGdCQUFnQjtVQUMxQkcsR0FBRyxFQUFIQSxHQUFHO1VBQ0hDLEdBQUcsRUFBSEE7UUFDRixDQUFDO1FBQ0RxRCxXQUFXLEVBQUUsS0FBSztRQUNsQnBELFlBQVksRUFBWkE7TUFDRixDQUFDO01BRURZLFFBQVEsQ0FBQ0MsUUFBUSxDQUFDO01BQ2xCN0IsUUFBUSxDQUFDdUQsT0FBTyxHQUFHLEtBQUs7SUFDMUI7RUFDRjtFQUVBLElBQU0zRCxRQUFRLEdBQUdZLGFBQWEsYUFBYkEsYUFBYSx1QkFBYkEsYUFBYSxDQUFFWixRQUFRO0VBQ3hDLElBQU13RSxXQUFXLEdBQUc1RCxhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRTRELFdBQVc7RUFDOUMsSUFBQUMscUJBQUEsR0FBMkJ4RyxxQkFBcUIsQ0FBQytCLFFBQVEsQ0FBQztJQUFsRDBFLEtBQUssR0FBQUQscUJBQUEsQ0FBTEMsS0FBSztJQUFFQyxPQUFPLEdBQUFGLHFCQUFBLENBQVBFLE9BQU87RUFDdEIsSUFBTUMsT0FBTyxHQUFHLENBQUFoRSxhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRUksZUFBZSxNQUFJSixhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRUssY0FBYyxLQUFJLENBQUNuQixhQUFhO0VBQ2pHLElBQU0rRSxvQkFBb0IsR0FBRyxFQUFDakUsYUFBYSxhQUFiQSxhQUFhLGVBQWJBLGFBQWEsQ0FBRU4sU0FBUztFQUN0RCxJQUFNd0UsdUJBQXVCLEdBQUcsRUFBQ2xFLGFBQWEsYUFBYkEsYUFBYSxlQUFiQSxhQUFhLENBQUVsQyxXQUFXO0VBQzNELElBQU1xRyxxQkFBcUIsR0FBRyxFQUFDL0UsUUFBUSxhQUFSQSxRQUFRLGVBQVJBLFFBQVEsQ0FBRWdGLFFBQVE7RUFDakQsSUFBTUMsb0JBQW9CLEdBQUcsQ0FBQ1AsS0FBSyxJQUFJLENBQUNDLE9BQU8sSUFBSSxDQUFDaEcsVUFBVTtFQUM5RCxJQUFNNUUsS0FBSyxHQUFHK0YsYUFBYSxJQUFJYSxXQUFXLElBQUksQ0FBQ2lFLE9BQU8sSUFBSSxDQUFDSixXQUFXLEtBQ25FSyxvQkFBb0IsSUFBSUMsdUJBQXVCLElBQUlDLHFCQUFxQixJQUFJRSxvQkFBb0IsQ0FBQztFQUNwRyxJQUFNQyxjQUFjLElBQUF2RixlQUFBLE9BQUEvRSxlQUFBLENBQUErRSxlQUFBLEVBQ2pCOUMsYUFBYSxFQUFHK0gsT0FBTyxHQUFBaEssZUFBQSxDQUFBK0UsZUFBQSxFQUN2QmxELHVCQUF1QixFQUFHb0ksb0JBQW9CLEdBQUFqSyxlQUFBLENBQUErRSxlQUFBLEVBQzlDNUMsMEJBQTBCLEVBQUcrSCx1QkFBdUIsR0FBQWxLLGVBQUEsQ0FBQStFLGVBQUEsRUFDcEQ3Qyx5QkFBeUIsRUFBR2lJLHFCQUFxQixHQUFBbkssZUFBQSxDQUFBK0UsZUFBQSxFQUNqRC9DLHNCQUFzQixFQUFHcUksb0JBQW9CLEdBQUFySyxlQUFBLENBQUErRSxlQUFBLEVBQzdDakQsV0FBVyxFQUFHM0MsS0FBSyxHQUFBYSxlQUFBLENBQUErRSxlQUFBLEVBQ25CaEQsaUJBQWlCLEVBQUdnRSxXQUFXLEdBQUFoQixlQUFBLENBQ2pDO0VBRUR0RCxTQUFTLENBQUMsWUFBTTtJQUNkLElBQUksQ0FBQ3lELGFBQWEsRUFBRTtNQUNsQixJQUFJYSxXQUFXLEVBQUU7UUFDZnFCLFFBQVEsQ0FBQztVQUFFbUQsVUFBVSxFQUFFO1FBQU0sQ0FBQyxDQUFDO01BQ2pDO0lBQ0YsQ0FBQyxNQUFNLElBQUksQ0FBQ3hFLFdBQVcsRUFBRTtNQUN2QixJQUFJaUUsT0FBTyxFQUFFO1FBQUU7UUFDYjVDLFFBQVEsQ0FBQztVQUFFbUQsVUFBVSxFQUFFO1FBQUssQ0FBQyxDQUFDO01BQ2hDO0lBQ0Y7RUFDRixDQUFDLEVBQUUsQ0FBQ1AsT0FBTyxFQUFFOUUsYUFBYSxDQUFDLENBQUM7O0VBRTVCO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7RUFDRSxTQUFTc0YsZ0JBQWdCQSxDQUFDM0csTUFBTSxFQUErQztJQUFBLElBQTdDNEcsUUFBUSxHQUFBakwsU0FBQSxDQUFBakQsTUFBQSxRQUFBaUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBR3NFLFdBQVc7SUFDdEQsSUFBSTJHLFFBQVEsRUFBRTtNQUNaLE9BQU83RyxrQkFBa0IsQ0FBQ0MsTUFBTSxFQUFFNEcsUUFBUSxFQUFFMUcsVUFBVSxDQUFDO0lBQ3pEO0lBQ0EsT0FBTyxJQUFJO0VBQ2I7O0VBRUE7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0UsU0FBUzJHLFdBQVdBLENBQUM5RixPQUFPLEVBQUVULEtBQUssRUFBRUUsU0FBUyxFQUFFO0lBQzlDLElBQUlQLFdBQVcsRUFBRTtNQUNmLElBQU02RyxZQUFZLEdBQUE1SyxhQUFBLEtBQVErRCxXQUFXLENBQUUsRUFBQzs7TUFFeEMsSUFBSTZHLFlBQVksYUFBWkEsWUFBWSxlQUFaQSxZQUFZLENBQUUxRyxRQUFRLEVBQUU7UUFDMUIwRyxZQUFZLENBQUMxRyxRQUFRLEdBQUFsRSxhQUFBLEtBQVE0SyxZQUFZLENBQUMxRyxRQUFRLENBQUUsRUFBQzs7UUFFckQsSUFBSTBHLFlBQVksQ0FBQzFHLFFBQVEsQ0FBQ1csT0FBTyxDQUFDLEVBQUU7VUFDbEMrRixZQUFZLENBQUMxRyxRQUFRLENBQUNXLE9BQU8sQ0FBQyxHQUFBN0UsYUFBQSxLQUFRNEssWUFBWSxDQUFDMUcsUUFBUSxDQUFDVyxPQUFPLENBQUMsQ0FBRSxFQUFDO1VBQ3ZFK0YsWUFBWSxDQUFDMUcsUUFBUSxDQUFDVyxPQUFPLENBQUMsQ0FBQ1QsS0FBSyxDQUFDLEdBQUdFLFNBQVM7VUFDakQrQyxRQUFRLENBQUM7WUFBRXRELFdBQVcsRUFBRTZHO1VBQWEsQ0FBQyxDQUFDO1VBQ3ZDLE9BQU9BLFlBQVk7UUFDckI7TUFDRjtJQUNGO0lBQ0EsT0FBTyxJQUFJO0VBQ2I7O0VBRUE7QUFDRjtBQUNBO0FBQ0E7RUFDRSxTQUFTaEIsZ0JBQWdCQSxDQUFBLEVBQWdFO0lBQUEsSUFBL0RpQixZQUE2QixHQUFBcEwsU0FBQSxDQUFBakQsTUFBQSxRQUFBaUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBR3NFLFdBQVc7SUFDbkUsSUFBSStHLGVBQWUsR0FBRyxFQUFFO0lBRXhCLElBQUlELFlBQVksRUFBRTtNQUNoQkMsZUFBZSxHQUFHcEcsZUFBZSxDQUFDQyxTQUFTLEVBQUVrRyxZQUFZLEVBQUU3RyxVQUFVLENBQUM7TUFFdEUsSUFBSSxDQUFBVyxTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRVAsS0FBSyxNQUFLLE9BQU8sRUFBRTtRQUFBLElBQUEyRyxnQkFBQTtRQUFFO1FBQ2xDLElBQU16RyxTQUFTLElBQUF5RyxnQkFBQSxHQUFHRCxlQUFlLGNBQUFDLGdCQUFBLGdCQUFBQSxnQkFBQSxHQUFmQSxnQkFBQSxDQUFrQixDQUFDLENBQUMsY0FBQUEsZ0JBQUEsdUJBQXBCQSxnQkFBQSxDQUFzQnpHLFNBQVM7UUFDakQsSUFBTTBHLG1CQUFtQixHQUFHMUcsU0FBUyxhQUFUQSxTQUFTLHVCQUFUQSxTQUFTLENBQUVDLFlBQVk7UUFFbkQsSUFBSXlHLG1CQUFtQixJQUFJLENBQUN0SSxxQkFBcUIsQ0FBQ3NJLG1CQUFtQixDQUFDLEVBQUU7VUFBQSxJQUFBQyxTQUFBLEdBQUFqTiwwQkFBQSxDQUNyRGdOLG1CQUFtQjtZQUFBRSxLQUFBO1VBQUE7WUFBcEMsS0FBQUQsU0FBQSxDQUFBclIsQ0FBQSxNQUFBc1IsS0FBQSxHQUFBRCxTQUFBLENBQUFsVCxDQUFBLElBQUFrRCxJQUFBLEdBQXNDO2NBQUEsSUFBM0JrUSxFQUFFLEdBQUFELEtBQUEsQ0FBQS9TLEtBQUE7Y0FDWCxJQUFJZ1QsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRTtnQkFBRTtnQkFDdkI7Z0JBQ0EsSUFBSUMsU0FBUyxHQUFHNUkseUJBQXlCLENBQUM2SSxzQkFBc0IsQ0FBQztrQkFBRTlHLFlBQVksRUFBRXlHO2dCQUFvQixDQUFDLENBQUM7Z0JBQ3ZHLElBQUFNLHFCQUFBLEdBQStCL0ksZ0JBQWdCLENBQUNnSiw2QkFBNkIsQ0FBQ1AsbUJBQW1CLEVBQUVJLFNBQVMsQ0FBQztrQkFBckdJLGtCQUFrQixHQUFBRixxQkFBQSxDQUFsQkUsa0JBQWtCO2dCQUMxQi9ELE9BQU8sQ0FBQ0MsR0FBRyxDQUFDOEQsa0JBQWtCLENBQUM7Z0JBQy9CbEgsU0FBUyxDQUFDQyxZQUFZLEdBQUdpSCxrQkFBa0IsRUFBQztnQkFDNUM7Y0FDRjtZQUNGO1VBQUMsU0FBQTlNLEdBQUE7WUFBQXVNLFNBQUEsQ0FBQXZULENBQUEsQ0FBQWdILEdBQUE7VUFBQTtZQUFBdU0sU0FBQSxDQUFBdFIsQ0FBQTtVQUFBO1FBQ0g7TUFDRjtNQUNBLE9BQU9tUixlQUFlO0lBQ3hCO0lBRUEsT0FBTyxJQUFJO0VBQ2I7O0VBRUE7QUFDRjtBQUNBO0FBQ0E7QUFDQTtFQUNFLFNBQVNXLGNBQWNBLENBQUEsRUFBK0I7SUFBQSxJQUE5QjFGLFNBQVMsR0FBQXRHLFNBQUEsQ0FBQWpELE1BQUEsUUFBQWlELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsSUFBSTtJQUFBLElBQUV3SCxHQUFHLEdBQUF4SCxTQUFBLENBQUFqRCxNQUFBLFFBQUFpRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLElBQUk7SUFDbERnSSxPQUFPLENBQUNDLEdBQUcsNkNBQUE5QyxNQUFBLENBQTZDbUIsU0FBUyxDQUFHLENBQUM7SUFDckUsSUFBTTJGLFlBQTZCLEdBQUExTCxhQUFBLEtBQVE4RixXQUFXLENBQUU7SUFFeEQsSUFBSW1CLEdBQUcsSUFBSW5CLFdBQVcsYUFBWEEsV0FBVyxlQUFYQSxXQUFXLENBQUV0QyxZQUFZLEVBQUU7TUFDcEMsSUFBQW1JLGtCQUFBLEdBS0k3SSxpQkFBaUIsQ0FBQ2dELFdBQVcsQ0FBQ3RDLFlBQVksQ0FBQztRQUo3Q3NELE1BQUssR0FBQTZFLGtCQUFBLENBQUw3RSxLQUFLO1FBQ0w5QyxXQUFVLEdBQUEySCxrQkFBQSxDQUFWM0gsVUFBVTtRQUNWNkQsVUFBVSxHQUFBOEQsa0JBQUEsQ0FBVjlELFVBQVU7UUFDTCtELElBQUksR0FBQUQsa0JBQUEsQ0FBVDFFLEdBQUc7TUFHTCxJQUFJQSxHQUFHLEtBQUsyRSxJQUFJLEVBQUU7UUFBRTtRQUNsQixJQUFNQyxhQUFhLEdBQUdoSixlQUFlLENBQUM7VUFDcENpRSxLQUFLLEVBQUxBLE1BQUs7VUFDTDlDLFVBQVUsRUFBVkEsV0FBVTtVQUNWNkQsVUFBVSxFQUFWQSxVQUFVO1VBQ1ZaLEdBQUcsRUFBSEE7UUFDRixDQUFDLENBQUM7UUFDRlEsT0FBTyxDQUFDQyxHQUFHLHVEQUFBOUMsTUFBQSxDQUF1RGdILElBQUksK0JBQUFoSCxNQUFBLENBQTRCcUMsR0FBRywwQkFBQXJDLE1BQUEsQ0FBdUJpSCxhQUFhLENBQUcsQ0FBQztRQUM3SUgsWUFBWSxDQUFDbEksWUFBWSxHQUFHcUksYUFBYTtNQUMzQztJQUNGO0lBQ0EzRCxTQUFTLENBQUN3RCxZQUFZLEVBQUUzRixTQUFTLENBQUM7RUFDcEM7O0VBRUE7RUFDQSxJQUFNK0YsY0FBYyxHQUFHaEcsV0FBVyxhQUFYQSxXQUFXLGdCQUFBYixxQkFBQSxHQUFYYSxXQUFXLENBQUVuQixTQUFTLGNBQUFNLHFCQUFBLHVCQUF0QkEscUJBQUEsQ0FBd0JrQyxNQUFNO0VBRXJEekYsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJb0ssY0FBYyxFQUFFO01BQ2xCckUsT0FBTyxDQUFDQyxHQUFHLHlDQUFBOUMsTUFBQSxDQUF5Q2tILGNBQWMsUUFBQWxILE1BQUEsQ0FBS1UsYUFBYSxHQUFJUSxXQUFZLENBQUM7TUFDckd1QixRQUFRLENBQUM7UUFBRXRELFdBQVcsRUFBRSxJQUFJO1FBQUU0QixTQUFTLEVBQUU7TUFBSyxDQUFDLENBQUM7SUFDbEQ7SUFDQTtFQUNGLENBQUMsRUFBRSxDQUFDbUcsY0FBYyxDQUFDLENBQUM7RUFFcEJwSyxTQUFTLENBQUMsWUFBTTtJQUNkK0YsT0FBTyxDQUFDQyxHQUFHLHFDQUFBOUMsTUFBQSxDQUFxQ3VDLE1BQU0sUUFBQXZDLE1BQUEsQ0FBS1UsYUFBYSxDQUFFLENBQUM7SUFDM0U7RUFDRixDQUFDLEVBQUUsQ0FBQzZCLE1BQU0sQ0FBQyxDQUFDO0VBRVp6RixTQUFTLENBQUMsWUFBTTtJQUNkLElBQU0ySCxjQUFjLEdBQUdsQyxNQUFNLElBQUksRUFBRTtJQUNuQyxJQUFNNEUsZUFBZSxHQUFHbEcsV0FBVyxJQUFLQSxXQUFXLEtBQUt3RCxjQUFlO0lBQ3ZFLElBQUkyQyxhQUFhLEdBQUcsRUFBRTtJQUV0QixJQUFJLENBQUNELGVBQWUsRUFBRTtNQUNwQjtNQUNBO01BQ0E7SUFBQSxDQUNELE1BQU07TUFDTCxJQUFNbEIsWUFBWSxHQUFHa0IsZUFBZSxHQUFHaEksV0FBVyxHQUFHLElBQUk7TUFDekRpSSxhQUFhLEdBQUdwQyxnQkFBZ0IsQ0FBQ2lCLFlBQVksQ0FBQztNQUM5QztJQUNGOztJQUVBLElBQUksQ0FBQ3ZJLE9BQU8sQ0FBQzBKLGFBQWEsRUFBRXZGLFlBQVksQ0FBQyxFQUFFO01BQ3pDWSxRQUFRLENBQUM7UUFBRVosWUFBWSxFQUFFdUY7TUFBYyxDQUFDLENBQUM7SUFDM0M7RUFDRixDQUFDLEVBQUUsQ0FBQ3JILFNBQVMsQ0FBQyxDQUFDO0VBRWYsT0FBTztJQUNMZ0IsU0FBUyxFQUFUQSxTQUFTO0lBQ1Q1QixXQUFXLEVBQVhBLFdBQVc7SUFDWFcsZUFBZSxFQUFFK0YsZ0JBQWdCO0lBQ2pDOUYsU0FBUyxFQUFFbUIsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVuQixTQUFTO0lBQ2pDOEcsY0FBYyxFQUFkQSxjQUFjO0lBQ2RqSSxZQUFZLEVBQUVzQyxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRXRDLFlBQVk7SUFDdkN5QyxhQUFhLEVBQWJBLGFBQWE7SUFBRTtJQUNmc0UsY0FBYyxFQUFkQSxjQUFjO0lBQUU7SUFDaEJSLEtBQUssRUFBTEEsS0FBSztJQUNMWSxXQUFXLEVBQVhBLFdBQVc7SUFDWFgsT0FBTyxFQUFQQSxPQUFPO0lBQ1B2RCxZQUFZLEVBQVpBO0VBQ0YsQ0FBQztBQUNIIn0=
|
|
@@ -73,7 +73,8 @@ export var DISABLE_WORD_POPOVER = true; // disable word popover for every script
|
|
|
73
73
|
|
|
74
74
|
export function getResourceLink(scripture) {
|
|
75
75
|
var ref = scripture.ref || scripture.branch;
|
|
76
|
-
|
|
76
|
+
var resourceId = scripture.resourceId || scripture.projectId;
|
|
77
|
+
return "".concat(scripture.owner, "/").concat(scripture.languageId, "/").concat(resourceId, "/").concat(ref);
|
|
77
78
|
}
|
|
78
79
|
export function parseResourceLink(resourceLink) {
|
|
79
80
|
var _resourceLink$split = resourceLink.split('/'),
|
|
@@ -607,6 +608,7 @@ function _fetchBibleBook() {
|
|
|
607
608
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
608
609
|
while (1) switch (_context2.prev = _context2.next) {
|
|
609
610
|
case 0:
|
|
611
|
+
console.log("fetchBibleBook() - loading bible book", resource);
|
|
610
612
|
ref_ = (resource === null || resource === void 0 ? void 0 : resource.branch) || (resource === null || resource === void 0 ? void 0 : resource.ref);
|
|
611
613
|
resourceLink = getResourceLink(_objectSpread(_objectSpread({}, resource), {}, {
|
|
612
614
|
resourceId: (resource === null || resource === void 0 ? void 0 : resource.projectId) || '',
|
|
@@ -621,12 +623,13 @@ function _fetchBibleBook() {
|
|
|
621
623
|
reference: reference,
|
|
622
624
|
resourceLink: resourceLink
|
|
623
625
|
};
|
|
624
|
-
_context2.next =
|
|
626
|
+
_context2.next = 6;
|
|
625
627
|
return fetchBibleBookCore(fetchParams);
|
|
626
|
-
case
|
|
628
|
+
case 6:
|
|
627
629
|
results = _context2.sent;
|
|
630
|
+
console.log("fetchBibleBook() - bible book load finished", resource);
|
|
628
631
|
return _context2.abrupt("return", results);
|
|
629
|
-
case
|
|
632
|
+
case 9:
|
|
630
633
|
case "end":
|
|
631
634
|
return _context2.stop();
|
|
632
635
|
}
|
|
@@ -634,4 +637,4 @@ function _fetchBibleBook() {
|
|
|
634
637
|
}));
|
|
635
638
|
return _fetchBibleBook.apply(this, arguments);
|
|
636
639
|
}
|
|
637
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJpdGVyIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsInN0ZXAiLCJfZTIiLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwib2JqIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwidG9QcmltaXRpdmUiLCJyZXMiLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJ0b1N0cmluZyIsInRlc3QiLCJsZW4iLCJhcnIyIiwiQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IiLCJJTlZBTElEX01BTklGRVNUX0VSUk9SIiwiTE9BRElOR19TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUiIsImNvcmUiLCJ1c2ZtanMiLCJCb29rRmV0Y2hQYXJhbXMiLCJTY3JpcHR1cmVSZWZlcmVuY2VUeXBlIiwiU2NyaXB0dXJlUmVzb3VyY2VUeXBlIiwiU2VydmVyQ29uZmlnVHlwZSIsIlZlcnNlT2JqZWN0c1R5cGUiLCJCT09LX05PVF9GT1VORF9FUlJPUl9NU0ciLCJMT0FESU5HX1JFU09VUkNFIiwiTUFOSUZFU1RfSU5WQUxJRF9FUlJPUl9NU0ciLCJNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHIiwiTlRfT1JJR19MQU5HIiwiTlRfT1JJR19MQU5HX0JJQkxFIiwiT1JJR0lOQUxfU09VUkNFIiwiT1RfT1JJR19MQU5HIiwiT1RfT1JJR19MQU5HX0JJQkxFIiwiU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0ciLCJUQVJHRVRfTElURVJBTCIsIlRBUkdFVF9TSU1QTElGSUVEIiwiZGVsYXkiLCJESVNBQkxFX1dPUkRfUE9QT1ZFUiIsImdldFJlc291cmNlTGluayIsInNjcmlwdHVyZSIsInJlZiIsImJyYW5jaCIsImNvbmNhdCIsIm93bmVyIiwibGFuZ3VhZ2VJZCIsInJlc291cmNlSWQiLCJwYXJzZVJlc291cmNlTGluayIsInJlc291cmNlTGluayIsIl9yZXNvdXJjZUxpbmskc3BsaXQiLCJzcGxpdCIsIl9yZXNvdXJjZUxpbmskc3BsaXQyIiwiZ2V0U2NyaXB0dXJlT2JqZWN0IiwiX3JlZiIsInRpdGxlIiwic2VydmVyIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiZ2V0VmVyc2VEYXRhRnJvbVNjcmlwQ29uZmlnIiwic2NyaXB0dXJlQ29uZmlnIiwidmVyc2VOdW0iLCJfc2NyaXB0dXJlQ29uZmlnJHZlcnMiLCJ2ZXJzZXNGb3JSZWYiLCJmaW5kIiwidmVyc2VSZWYiLCJ2ZXJzZSIsImlzT3JpZ2luYWxCaWJsZSIsImlzT3JpZyIsImNsZWFudXBBY2NvdW50U2V0dGluZ3MiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRPd25lciIsImN1cnJlbnRMYW5ndWFnZUlkIiwic3BsaXRVcmwiLCJvcmlnaW5hbFJlcG9VcmwiLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJib29rSWQiLCJzY3JpcHR1cmVTZXR0aW5nc18iLCJpc05ld1Rlc3RhbWVudCIsIl9zcGxpdFVybCIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsIl9yZWYyIiwibGFiZWwiLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJpbmRleCIsImZpbmRJdGVtSW5kZXhCeUtleSIsInNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwidmFsaWRhdGlvbkNCIiwiaXRlbSIsIm5ld0l0ZW0iLCJhZGRJdGVtVG9IaXN0b3J5IiwiZ2V0SXRlbUJ5VGl0bGUiLCJkZWxldGVJdGVtIiwiZGVsZXRlSW5kZXgiLCJyZW1vdmVJdGVtQnlJbmRleCIsImdldFJlcG9VcmwiLCJpc05UIiwicmVwb1VybCIsIl9yZXNvdXJjZUxpbmskc3BsaXQzIiwiX3Jlc291cmNlTGluayRzcGxpdDQiLCJnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsiLCJlcnJvckNvZGUiLCJlcnJvck1zZyIsInZhbGlkYXRlRGNzVXJsIiwidmFsaWRSZXBvUGF0aCIsInZhbGlkVXJsIiwicGFydHMiLCJfcGFydHMiLCJwcm90b2NvbCIsImhvc3QiLCJ1c2VyIiwicmVwbyIsImhvc3RQYXJ0cyIsIl9pdGVyYXRvciIsIl9zdGVwIiwicGFydCIsIl9yZXBvJHNwbGl0IiwiX3JlcG8kc3BsaXQyIiwicHJvamVjdElkIiwiX3VudXNlZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIiwiZml4T2NjdXJyZW5jZSIsIm9jY3VycmVuY2UiLCJwYXJzZUludCIsImNsZWFudXBWZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHNfIiwidm8iLCJvY2N1cnJlbmNlcyIsIndvcmQiLCJjaGlsZHJlbiIsIm5ld1ZvIiwiZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lIiwiZmlsZW5hbWUiLCJfZmlsZW5hbWUkbWF0Y2giLCJyZWdleCIsImJvb2tOYW1lIiwibWF0Y2giLCJnZXRCaWJsZUlkRnJvbVVzZm1Db250ZW50SUQiLCJiaWJsZVVzZm0iLCJpZEhlYWRlciIsInBvc0lkIiwiaW5kZXhPZiIsImlkU3RhcnQiLCJoZWFkZXJJZCIsInN1YnN0cmluZyIsInRyaW0iLCJoZWFkZXJCb29rSUQiLCJfaGVhZGVyQm9va0lEIiwidmVyc2VPYmplY3RzSGF2ZVdvcmRzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImZvdW5kV29yZHMiLCJnZXRBbGlnbm1lbnRzIiwiYWxpZ25tZW50c0xpc3QiLCJ0YWciLCJhbGlnbm1lbnQiLCJlbmRUYWciLCJfYWxpZ25tZW50IiwiZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX3giLCJfZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX2NhbGxlZSIsImZldGNoUGFyYW1zIiwiX3Jlc291cmNlJHByb2plY3QiLCJfcmVzb3VyY2UkcHJvamVjdDIiLCJyZXNvdXJjZSIsInJlc3BvbnNlIiwiYm9va09iamVjdHMiLCJfZXJyb3JNc2ciLCJfcmVmMyIsInNoYSIsIl9lcnJvck1zZzIiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwibWFuaWZlc3QiLCJwcm9qZWN0IiwiZmlsZSIsIndhcm4iLCJyZXNvdXJjZUVycm9yIiwiZ2V0UmVzcG9uc2VEYXRhIiwidG9KU09OIiwiZGF0YSIsInQwIiwiZmV0Y2hCaWJsZUJvb2siLCJfeDIiLCJfeDMiLCJfeDQiLCJfeDUiLCJfZmV0Y2hCaWJsZUJvb2siLCJfY2FsbGVlMiIsImNvbmZpZyIsInJlZmVyZW5jZSIsInJlZl8iLCJyZXN1bHRzIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SLFxuICBJTlZBTElEX01BTklGRVNUX0VSUk9SLFxuICBMT0FESU5HX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxuICBTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHVzZm1qcyBmcm9tICd1c2ZtLWpzJ1xuaW1wb3J0IHtcbiAgQm9va0ZldGNoUGFyYW1zLFxuICBTY3JpcHR1cmVSZWZlcmVuY2VUeXBlLFxuICBTY3JpcHR1cmVSZXNvdXJjZVR5cGUsXG4gIFNlcnZlckNvbmZpZ1R5cGUsXG4gIFZlcnNlT2JqZWN0c1R5cGUsXG59IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHtcbiAgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBMT0FESU5HX1JFU09VUkNFLFxuICBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyxcbiAgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyxcbiAgTlRfT1JJR19MQU5HLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBUQVJHRVRfTElURVJBTCxcbiAgVEFSR0VUX1NJTVBMSUZJRUQsXG59IGZyb20gJy4vY29tbW9uJ1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICcuL2RlbGF5J1xuXG5leHBvcnQgY29uc3QgRElTQUJMRV9XT1JEX1BPUE9WRVIgPSB0cnVlIC8vIGRpc2FibGUgd29yZCBwb3BvdmVyIGZvciBldmVyeSBzY3JpcHR1cmUgcGFuZSBidXQgb3JpZ2luYWwgbGFuZ3VhZ2VzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlKSB7XG4gIGNvbnN0IHJlZiA9IHNjcmlwdHVyZS5yZWYgfHwgc2NyaXB0dXJlLmJyYW5jaFxuICByZXR1cm4gYCR7c2NyaXB0dXJlLm93bmVyfS8ke3NjcmlwdHVyZS5sYW5ndWFnZUlkfS8ke3NjcmlwdHVyZS5yZXNvdXJjZUlkfS8ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJlc291cmNlTGluayhyZXNvdXJjZUxpbmspIHtcbiAgY29uc3QgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkLCByZWZdID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcbiAgcmV0dXJuIHtcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgcmVmLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICB0aXRsZSxcbiAgc2VydmVyLFxuICBvd25lcixcbiAgcmVmLFxuICBsYW5ndWFnZUlkLFxuICByZXNvdXJjZUlkLFxuICByZXNvdXJjZUxpbmssXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxufSkge1xuICBjb25zdCBzY3JpcHR1cmUgPSB7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICByZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICByZXNvdXJjZUxpbmssXG4gIH1cblxuICBpZiAoIXJlc291cmNlTGluaykge1xuICAgIHNjcmlwdHVyZS5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgICAgb3duZXIsXG4gICAgICByZWYsXG4gICAgICBsYW5ndWFnZUlkLFxuICAgICAgcmVzb3VyY2VJZCxcbiAgICB9KVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVcbn1cblxuLyoqXG4gKiByZXR1cm4gdmVyc2UgZGF0YSBnaXZlbiBhIHNjcmlwdHVyZSBjb25maWcgYW5kIHZlcnNlIG51bWJlclxuICogQHBhcmFtIHNjcmlwdHVyZUNvbmZpZ1xuICogQHBhcmFtIHZlcnNlTnVtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZXJzZURhdGFGcm9tU2NyaXBDb25maWcoc2NyaXB0dXJlQ29uZmlnLCB2ZXJzZU51bSkge1xuICByZXR1cm4gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWY/LmZpbmQoXG4gICAgdmVyc2VSZWYgPT4gdmVyc2VSZWYudmVyc2UgPT09IHZlcnNlTnVtXG4gIClcbn1cblxuLyoqXG4gKiByZXR1cm4gdHJ1ZSBpZiByZXNvdXJjZSBpcyBhbiBvcmlnaW5hbCBsYW5ndWFnZSBiaWJsZVxuICogQHBhcmFtIHJlc291cmNlSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3JpZ2luYWxCaWJsZShyZXNvdXJjZUlkKSB7XG4gIGNvbnN0IGlzT3JpZyA9ICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSlcbiAgcmV0dXJuIGlzT3JpZ1xufVxuXG4vKipcbiAqIG1ha2Ugc3VyZSBzY3JpcHR1cmVTZXR0aW5ncyBhcmUgdXAgdG8gZGF0ZSB3aXRoIGN1cnJlbnQgb3duZXIgYW5kIGxhbmd1YWdlXG4gKiBAcGFyYW0ge29iamVjdH0gc2NyaXB0dXJlU2V0dGluZ3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3M6IGFueSwgY3VycmVudE93bmVyOiBhbnksIGN1cnJlbnRMYW5ndWFnZUlkOiBhbnkpIHtcbiAgaWYgKGN1cnJlbnRPd25lciAmJiAoY3VycmVudE93bmVyICE9PSBzY3JpcHR1cmVTZXR0aW5ncy5vd25lcikpIHsgLy8gaWYgb3duZXIgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBjdXJyZW50T3duZXJcbiAgfVxuXG4gIGlmIChjdXJyZW50TGFuZ3VhZ2VJZCAmJiAoY3VycmVudExhbmd1YWdlSWQgIT09IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQpKSB7IC8vIGlmIGxhbmd1YWdlIGNoYW5nZWQsIHVwZGF0ZSBzY3JpcHR1cmVTZXR0aW5nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBjdXJyZW50TGFuZ3VhZ2VJZFxuICB9XG59XG5cbi8qKlxuICogc2VwYXJhdGUgVVJMIGludG8gc2VydmVyIGFuZCByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpIHtcbiAgaWYgKG9yaWdpbmFsUmVwb1VybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3JpZ2luYWxSZXBvVXJsKVxuICAgIGNvbnN0IHNlcnZlciA9IHVybC5vcmlnaW5cbiAgICBjb25zdCByZXNvdXJjZUxpbmsgPSB1cmwucGF0aG5hbWUgKyAodXJsLnNlYXJjaCB8fCAnJylcbiAgICByZXR1cm4geyBzZXJ2ZXIsIHJlc291cmNlTGluayB9XG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogZ2V0IHRoZSBzY3JpcHR1cmUgc2V0dGluZ3MgbmVlZGVkIGZvciBmZXRjaCAtIGZvciBPcmlnTGFuZywgVUxULCBHTFQgd2lsbCByZXBsYWNlIG93bmVyIGFuZCBsYW5ndWFnZUlkIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc19cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdUZXN0YW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmwgLSBvcHRpb25hbCBwYXRoIHRvIHJlcG8gZm9yIG9yaWdpbmFsIGxhbmd1YWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKFxuICBib29rSWQsIHNjcmlwdHVyZVNldHRpbmdzXywgaXNOZXdUZXN0YW1lbnQsXG4gIG9yaWdpbmFsUmVwb1VybD1udWxsLFxuICBjdXJyZW50TGFuZ3VhZ2VJZD1udWxsLFxuICBjdXJyZW50T3duZXI9bnVsbCxcbikge1xuICBjb25zdCBzY3JpcHR1cmVTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlU2V0dGluZ3NfIH1cbiAgc2NyaXB0dXJlU2V0dGluZ3MuZGlzYWJsZVdvcmRQb3BvdmVyID0gRElTQUJMRV9XT1JEX1BPUE9WRVJcbiAgY29uc3QgcmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzXy5yZXNvdXJjZUlkXG5cbiAgaWYgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkge1xuICAgIC8vIHNlbGVjdCBvcmlnaW5hbCBsYW5ndWFnZSBCaWJsZSBiYXNlZCBvbiB3aGljaCB0ZXN0YW1lbnQgdGhlIGJvb2sgYmVsb25nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBpc05ld1Rlc3RhbWVudCA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBpc05ld1Rlc3RhbWVudFxuICAgICAgPyBOVF9PUklHX0xBTkdfQklCTEVcbiAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG5cbiAgICBpZiAoc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyKSB7XG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IHNjcmlwdHVyZVNldHRpbmdzLm9yaWdpbmFsTGFuZ3VhZ2VPd25lclxuICAgIH1cblxuICAgIGlmIChvcmlnaW5hbFJlcG9VcmwpIHsgLy8gdXNlIHRoaXMgdXJsIGlmIGRlZmluZWRcbiAgICAgIGNvbnN0IHsgc2VydmVyLCByZXNvdXJjZUxpbmsgfSA9IHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybClcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnNlcnZlciA9IHNlcnZlclxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rXG4gICAgfSBlbHNlIHsgLy8gZmFsbCBiYWNrIHRvIGFwcCBkZWZhdWx0c1xuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICAgIH1cbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBmYWxzZVxuICB9IGVsc2UgaWYgKHJlc291cmNlSWQgPT09IFRBUkdFVF9MSVRFUkFMKSB7XG4gICAgY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5ncywgY3VycmVudE93bmVyLCBjdXJyZW50TGFuZ3VhZ2VJZClcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9PT0gJ2VuJyA/ICd1bHQnIDogJ2dsdCdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX1NJTVBMSUZJRUQpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VzdCcgOiAnZ3N0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfVxuICByZXR1cm4gc2NyaXB0dXJlU2V0dGluZ3Ncbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyh7XG4gIGxhYmVsLFxuICByZXNvdXJjZUxpbmssXG4gIHNldFNjcmlwdHVyZSxcbiAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG59KSB7XG4gIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICBsZXQgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3Jlc291cmNlTGluaycsIHJlc291cmNlTGluaylcblxuICBjb25zdCBzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyA9IHtcbiAgICBsYWJlbCwgLy8gbGFiZWwgZm9yIGNvbWJvYm94XG4gICAgb3B0aW9uczogaGlzdG9yeSxcbiAgICBjdXJyZW50OiBpbmRleCxcbiAgICBhbGxvd1VzZXJJbnB1dDogdHJ1ZSxcbiAgICBvbkNoYW5nZTogKHRpdGxlLCBpbmRleCwgdmFsaWRhdGlvbkNCPW51bGwpID0+IHtcbiAgICAgIGxldCBpdGVtXG5cbiAgICAgIGlmICgoaW5kZXggPCAwKSAmJiB0aXRsZSkge1xuICAgICAgICBjb25zdCBuZXdJdGVtID0ge1xuICAgICAgICAgIHVybDogdGl0bGUsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KG5ld0l0ZW0pXG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBpdGVtID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClbaW5kZXhdXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRJdGVtQnlUaXRsZSh0aXRsZSlcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgc2V0U2NyaXB0dXJlKGl0ZW0sIHZhbGlkYXRpb25DQilcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlbGV0ZUl0ZW06IHRpdGxlID0+IHtcbiAgICAgIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICAgICAgY29uc3QgZGVsZXRlSW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3RpdGxlJywgdGl0bGUpXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVJdGVtQnlJbmRleChkZWxldGVJbmRleClcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXBvVXJsKHJlc291cmNlTGluazogc3RyaW5nLCBzZXJ2ZXI6IHN0cmluZywgaXNOVDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGxldCByZXBvVXJsXG5cbiAgdHJ5IHtcbiAgICBsZXQgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkXSA9IHJlc291cmNlTGluay5zcGxpdCgnLycpXG5cbiAgICBzd2l0Y2ggKHJlc291cmNlSWQpIHtcbiAgICBjYXNlIE9SSUdJTkFMX1NPVVJDRTpcbiAgICAgIGxhbmd1YWdlSWQgPSBpc05UID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgICByZXNvdXJjZUlkID0gaXNOVFxuICAgICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgICA6IE9UX09SSUdfTEFOR19CSUJMRVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX0xJVEVSQUw6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VsdCcgOiAnZ2x0J1xuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX1NJTVBMSUZJRUQ6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VzdCcgOiAnZ3N0J1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVwb1VybCA9IGAke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cmVzb3VyY2VJZH1gXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyByZXNvdXJjZUxpbmsgd2FzIGludmFsaWRcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGAke3NlcnZlciB8fCAnJ30vJHtyZXBvVXJsfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhcbiAgcmVzb3VyY2VMaW5rOiBzdHJpbmcsXG4gIHNlcnZlcjogc3RyaW5nLFxuICBlcnJvckNvZGU6IHN0cmluZyxcbiAgaXNOVDogYm9vbGVhbik6IHN0cmluZ1xue1xuICBjb25zdCByZXBvVXJsID0gZ2V0UmVwb1VybChyZXNvdXJjZUxpbmssIHNlcnZlciwgaXNOVClcbiAgY29uc3QgZXJyb3JNc2cgPSBlcnJvckNvZGUgKyByZXBvVXJsXG4gIHJldHVybiBlcnJvck1zZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEY3NVcmwodXJsKSB7XG4gIGxldCB2YWxpZFJlcG9QYXRoID0gZmFsc2VcbiAgbGV0IHZhbGlkVXJsID0gZmFsc2VcblxuICB0cnkge1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCcvJylcbiAgICBjb25zdCBbcHJvdG9jb2wsICwgaG9zdCwgdXNlciwgcmVwb10gPSBwYXJ0c1xuICAgIHZhbGlkVXJsID0gKHByb3RvY29sID09PSAnaHR0cHM6JylcbiAgICBjb25zdCBob3N0UGFydHMgPSBob3N0ID8gaG9zdC5zcGxpdCgnLicpIDogW11cblxuICAgIGlmIChob3N0UGFydHMubGVuZ3RoID49IDIpIHtcbiAgICAgIGZvciAobGV0IHBhcnQgb2YgaG9zdFBhcnRzKSB7XG4gICAgICAgIGlmICghcGFydCkge1xuICAgICAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoIHByb3RvY29sICYmIGhvc3QgJiYgdXNlciAmJiByZXBvICkge1xuICAgICAgY29uc3QgW2xhbmd1YWdlSWQsIHByb2plY3RJZF0gPSByZXBvLnNwbGl0KCdfJylcbiAgICAgIHZhbGlkUmVwb1BhdGggPSBsYW5ndWFnZUlkICYmIHByb2plY3RJZFxuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgY29uc29sZS5sb2coJ0ludmFsaWQgRENTIFVSTDogJyArIHVybClcbiAgfVxuICByZXR1cm4geyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUVycm9yTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0KSB7XG4gIGxldCBtZXNzYWdlID0gJydcblxuICBpZiAocmVzb3VyY2VTdGF0dXNbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW0lOVkFMSURfTUFOSUZFU1RfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbQ09OVEVOVF9OT1RfRk9VTkRfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IEJPT0tfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW1NDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBTQ1JJUFRVUkVfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZGVjb2RlIHJlc291cmNlIHN0YXR1cyBpbnRvIHN0cmluZy4gIEN1cnJlbnRseSBvbmx5IEVuZ2xpc2hcbiAqIEBwYXJhbSByZXNvdXJjZVN0YXR1cyAtIG9iamVjdCB0aGF0IGNvbnRhaW5zIHN0YXRlIGFuZCBlcnJvcnMgdGhhdCBhcmUgZGV0ZWN0ZWRcbiAqIEBwYXJhbSBzZXJ2ZXIgLSBjb250YWlucyB0aGUgc2VydmVyIGJlaW5nIHVzZWRcbiAqIEBwYXJhbSByZXNvdXJjZUxpbmsgLSBwYXRoIHRvIHJlcG8gb24gc2VydmVyXG4gKiBAcGFyYW0gaXNOVCAtIHRydWUgaWYgTlQgYm9va1xuICogQHJldHVybiBlbXB0eSBzdHJpbmcgaWYgbm8gZXJyb3IsIGVsc2UgcmV0dXJucyB1c2VyIGVycm9yIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0LCBzZXJ2ZXI6IHN0cmluZywgcmVzb3VyY2VMaW5rOiBzdHJpbmcsIGlzTlQ6IGJvb2xlYW4pIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tMT0FESU5HX1NUQVRFXSkge1xuICAgIG1lc3NhZ2UgPSBMT0FESU5HX1JFU09VUkNFXG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9IGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzKVxuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rLCBzZXJ2ZXIsIG1lc3NhZ2UsIGlzTlQpXG4gICAgfVxuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZ2VuZXJhdGUgcmVzb3VyY2Ugc3RyaW5nXG4gKiBAcGFyYW0gb3duZXJcbiAqIEBwYXJhbSBsYW5ndWFnZUlkXG4gKiBAcGFyYW0gcHJvamVjdElkXG4gKiBAcGFyYW0gcmVmXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyhvd25lcjogc3RyaW5nLCBsYW5ndWFnZUlkOiBzdHJpbmcsIHByb2plY3RJZDogc3RyaW5nLCByZWY6IHN0cmluZykge1xuICByZXR1cm4gYGFwaS92MS9yZXBvcy8ke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cHJvamVjdElkfS9jb250ZW50cz9yZWY9JHtyZWZ9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZml4T2NjdXJyZW5jZShvY2N1cnJlbmNlKSB7XG4gIGlmICh0eXBlb2Ygb2NjdXJyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQob2NjdXJyZW5jZSlcbiAgfVxuICByZXR1cm4gb2NjdXJyZW5jZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cFZlcnNlT2JqZWN0cyh2ZXJzZU9iamVjdHMpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgY29uc3QgdmVyc2VPYmplY3RzXyA9IFsuLi52ZXJzZU9iamVjdHNdXG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHZlcnNlT2JqZWN0c18ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB2byA9IHZlcnNlT2JqZWN0c19baV1cblxuICAgICAgaWYgKHZvLnR5cGUgPT09ICd3b3JkJyAmJiAodm8ub2NjdXJyZW5jZSB8fCB2by5vY2N1cnJlbmNlcykpIHtcbiAgICAgICAgY29uc3Qgd29yZCA9IHsgLi4udm8gfVxuXG4gICAgICAgIGlmICh2by5vY2N1cnJlbmNlKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlID0gZml4T2NjdXJyZW5jZSh2by5vY2N1cnJlbmNlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZvLm9jY3VycmVuY2VzKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlcyA9IGZpeE9jY3VycmVuY2Uodm8ub2NjdXJyZW5jZXMpXG4gICAgICAgIH1cbiAgICAgICAgdmVyc2VPYmplY3RzX1tpXSA9IHdvcmRcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBjbGVhbnVwVmVyc2VPYmplY3RzKHZvLmNoaWxkcmVuKVxuICAgICAgICBjb25zdCBuZXdWbyA9IHtcbiAgICAgICAgICAuLi52byxcbiAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgfVxuICAgICAgICB2ZXJzZU9iamVjdHNfW2ldID0gbmV3Vm9cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZlcnNlT2JqZWN0c19cbiAgfVxuICByZXR1cm4gW11cbn1cblxuLyoqXG4gKiB0YWtlIHRoZSBmaWxlbmFtZSBvZiB0aGUgYm9vayAoZS5nLiBcIjU3LVRJVC51c2ZtXCIpIGFuZCBwYXJzZSBvdXQgdGhlIGJvb2tJZFxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGJvb2tJZCBpZiBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lKGZpbGVuYW1lKSB7XG4gIGNvbnN0IHJlZ2V4ID0gL14oLio/KVxcLnVzZm0vXG4gIGNvbnN0IGJvb2tOYW1lID0gZmlsZW5hbWU/Lm1hdGNoKHJlZ2V4KT8uWzFdXG4gIHJldHVybiBib29rTmFtZVxufVxuXG4vKipcbiAqIHBhcnNlIHRoZSBVU0ZNIHRvIGZpbmQgYm9va0lEIGluIGhlYWRlclxuICogQHBhcmFtIHtzdHJpbmd9IGJpYmxlVXNmbVxuICogQHJldHVybiB7c3RyaW5nfSBib29rSWQgaWYgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJpYmxlSWRGcm9tVXNmbUNvbnRlbnRJRChiaWJsZVVzZm0pIHtcbiAgY29uc3QgaWRIZWFkZXIgPSAnXFxcXGlkICdcbiAgY29uc3QgcG9zSWQgPSBiaWJsZVVzZm0/LmluZGV4T2YoaWRIZWFkZXIpXG5cbiAgaWYgKHBvc0lkID49IDApIHtcbiAgICBjb25zdCBpZFN0YXJ0ID0gcG9zSWQgKyBpZEhlYWRlci5sZW5ndGhcbiAgICBsZXQgaGVhZGVySWQgPSBiaWJsZVVzZm0/LnN1YnN0cmluZyggaWRTdGFydCwgaWRTdGFydCArIDEwMCkudHJpbSgpXG4gICAgbGV0IGhlYWRlckJvb2tJRCA9IG51bGxcblxuICAgIGlmIChoZWFkZXJJZD8ubGVuZ3RoID4gMSkge1xuICAgICAgaGVhZGVyQm9va0lEID0gaGVhZGVySWQ/LnNwbGl0KCcgJylcbiAgICAgIGhlYWRlckJvb2tJRCA9IGhlYWRlckJvb2tJRD8uWzBdLnRyaW0oKVxuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyQm9va0lEXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuLyoqXG4gKiBkZXRlcm1pbmVzIGlmIHRoZXJlIGFyZSBhbnkgd29yZHMgaW4gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0cyAtIGFycmF5IG9mIHZlcnNlT2JqZWN0cyB0byBzZWFyY2ggZm9yIHdvcmRzXG4gKiBAcmV0dXJuIHtib29sZWFufSB0cnVlIGlmIHdvcmQgaXMgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2ZXJzZU9iamVjdHM6IFZlcnNlT2JqZWN0c1R5cGUpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgZm9yIChjb25zdCB2byBvZiB2ZXJzZU9iamVjdHMpIHtcbiAgICAgIGlmICh2by50eXBlID09PSAnd29yZCcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgZm91bmRXb3JkcyA9IHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2by5jaGlsZHJlbilcblxuICAgICAgICBpZiAoZm91bmRXb3Jkcykge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKlxuICogZXh0cmFjdCBqdXN0IHRoZSBhbGlnbm1lbnRzIGZyb20gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0c1xuICogQHJldHVybnMge1ZlcnNlT2JqZWN0c1R5cGV9IC0ganVzdCBhbGlnbm1lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGlnbm1lbnRzKHZlcnNlT2JqZWN0czogVmVyc2VPYmplY3RzVHlwZSk6VmVyc2VPYmplY3RzVHlwZSB7XG4gIGNvbnN0IGFsaWdubWVudHNMaXN0ID0gdmVyc2VPYmplY3RzLmZpbHRlcih2byA9PiB2by50YWcgPT09ICd6YWxuJylcblxuICAvLyByZW1vdmUgZW5kVGFnXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWxpZ25tZW50c0xpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRzTGlzdFtpXVxuXG4gICAgaWYgKGFsaWdubWVudC5lbmRUYWcpIHtcbiAgICAgIGNvbnN0IF9hbGlnbm1lbnQgPSB7IC4uLmFsaWdubWVudCB9XG4gICAgICBkZWxldGUgX2FsaWdubWVudC5lbmRUYWdcbiAgICAgIGFsaWdubWVudHNMaXN0W2ldID0gX2FsaWdubWVudFxuICAgIH1cbiAgfVxuICByZXR1cm4gYWxpZ25tZW50c0xpc3Rcbn1cblxuLyoqXG4gKiBkbyBhIGZldGNoIG9mIG1hbmlmZXN0IGFuZCBib29rIG9mIHRoZSBiaWJsZSBzcGVjaWZpZWQgaW4gZmV0Y2hQYXJhbXMuXG4gKlxuICogICAgVFJJQ0tZIC0gdGhpcyBmdW5jdGlvbiBpcyBiZWluZyBjYWxsZWQgYnkgZXZlcnkgc2NyaXB0dXJlIGNhcmQgc2ltdWx0YW5lb3VzbHkgZHVyaW5nIGJvb2sgbmF2aWdhdGlvbiwgc28gaXQgaXNcbiAqICAgICAgdmVyeSBpbXBvcnRhbnQgdGhhdCBpdCBkb2VzIG5vdCBjYXVzZSBzaWduaWZpY2FudCBkZWxheXMgKHBhcnRpY3VsYXJseSBvbiBzbG93ZXIgZGV2aWNlcykgYW5kIGJsb2NrIFVJIG9yXG4gKiAgICAgIHN0YXRlIHVwZGF0ZXMuXG4gKlxuICogQHBhcmFtIHtCb29rRmV0Y2hQYXJhbXN9IGZldGNoUGFyYW1zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEJpYmxlQm9va0NvcmUoZmV0Y2hQYXJhbXM6IEJvb2tGZXRjaFBhcmFtcykge1xuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIEZFVENISU5HIGJpYmxlICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcblxuICAgIC8vIGZldGNoIG1hbmlmZXN0IGRhdGFcbiAgICBjb25zdCByZXNvdXJjZSA9IGF3YWl0IGNvcmUucmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rKGZldGNoUGFyYW1zKVxuXG4gICAgaWYgKCFyZXNvdXJjZT8ubWFuaWZlc3QgfHwgIXJlc291cmNlPy5wcm9qZWN0Py5maWxlKSB7XG4gICAgICBjb25zdCBlcnJvck1zZyA9IHJlc291cmNlPy5tYW5pZmVzdCA/ICdwYXJzaW5nIHJlc291cmNlIG1hbmlmZXN0JyA6ICdsb2FkaW5nIHJlc291cmNlIG1hbmlmZXN0J1xuICAgICAgY29uc29sZS53YXJuKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIGVycm9yICR7ZXJyb3JNc2d9YCwgZmV0Y2hQYXJhbXMgKVxuICAgICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnLCByZXNvdXJjZUVycm9yOiB0cnVlIH1cbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgZmV0Y2hCaWJsZUJvb2tDb3JlKCkgLSBMT0FERUQgYmlibGUgbWFuaWZlc3QsIGZldGNoaW5nIGJvb2sgICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlc291cmNlPy5wcm9qZWN0Py5maWxlKClcbiAgICAvLyBwYXJzZSBib29rIHVzZm1cbiAgICBjb25zdCBiaWJsZVVzZm0gPSByZXNwb25zZSAmJiBjb3JlLmdldFJlc3BvbnNlRGF0YShyZXNwb25zZSlcbiAgICBhd2FpdCBkZWxheSgxMDApIC8vIGFsbG93IFVJIHRvIHVwZGF0ZSBiZXR3ZWVuIHR3byBjb21wdXRhdGlvbmFsbHkgZXhwZW5zaXZlIGZ1bmN0aW9uc1xuICAgIGNvbnN0IGJvb2tPYmplY3RzID0gYmlibGVVc2ZtICYmIHVzZm1qcy50b0pTT04oYmlibGVVc2ZtKSAvLyBjb252ZXJ0IHRvIGJpYmxlIG9iamVjdHNcblxuICAgIGlmICghYm9va09iamVjdHMpIHtcbiAgICAgIGNvbnN0IGVycm9yTXNnID0gYmlibGVVc2ZtID8gJ2ZldGNoaW5nIGJvb2sgb2YgdGhlIGJpYmxlJyA6ICdwYXJzaW5nIGJvb2sgb2YgdGhlIGJpYmxlJ1xuICAgICAgY29uc29sZS53YXJuKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIGVycm9yICR7ZXJyb3JNc2d9YCwgZmV0Y2hQYXJhbXMgKVxuICAgICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnIH1cbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICBuYW1lLFxuICAgICAgc2hhLFxuICAgICAgdXJsLFxuICAgIH0gPSByZXNwb25zZT8uZGF0YSB8fCB7fVxuXG4gICAgY29uc29sZS5sb2coYGZldGNoQmlibGVCb29rQ29yZSgpIC0gTE9BREVEIGJpYmxlIGJvb2ssICAke2ZldGNoUGFyYW1zPy5yZXNvdXJjZUxpbmt9YCwgZmV0Y2hQYXJhbXMpXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc291cmNlLFxuICAgICAgYmlibGVVc2ZtLFxuICAgICAgYm9va09iamVjdHMsXG4gICAgICBuYW1lLFxuICAgICAgcmVzcG9uc2UsXG4gICAgICBzaGEsXG4gICAgICB1cmwsXG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc3QgZXJyb3JNc2cgPSAnaGFyZCBlcnJvciBsb2FkaW5nIHJlc291cmNlJ1xuICAgIGNvbnNvbGUuZXJyb3IoYGZldGNoQmlibGVCb29rQ29yZSgpIC0gJHtlcnJvck1zZ31gLCBmZXRjaFBhcmFtcywgZSApXG4gICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnIH1cbiAgfVxufVxuXG4vKipcbiAqIGRvIGEgZmV0Y2ggb2YgbWFuaWZlc3QgYW5kIGJvb2sgb2YgdGhlIGJpYmxlIHNwZWNpZmllZCBpbiBmZXRjaFBhcmFtc1xuICogQHBhcmFtIHtzdHJpbmd9IHNlcnZlciAtIHNlcnZlciB0byBhY2Nlc3NcbiAqIEBwYXJhbSB7U2VydmVyQ29uZmlnVHlwZX0gY29uZmlnXG4gKiBAcGFyYW0ge1NjcmlwdHVyZVJlc291cmNlVHlwZX0gcmVzb3VyY2VcbiAqIEBwYXJhbSB7U2NyaXB0dXJlUmVmZXJlbmNlVHlwZX0gcmVmZXJlbmNlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEJpYmxlQm9vayhzZXJ2ZXI6IHN0cmluZywgY29uZmlnOiBTZXJ2ZXJDb25maWdUeXBlLCByZXNvdXJjZTogU2NyaXB0dXJlUmVzb3VyY2VUeXBlLCByZWZlcmVuY2U6IFNjcmlwdHVyZVJlZmVyZW5jZVR5cGUpIHtcbiAgY29uc3QgcmVmXyA9IHJlc291cmNlPy5icmFuY2ggfHwgcmVzb3VyY2U/LnJlZlxuICBjb25zdCByZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgIC4uLnJlc291cmNlLFxuICAgIHJlc291cmNlSWQ6IHJlc291cmNlPy5wcm9qZWN0SWQgfHwgJycsXG4gICAgYm9va0lkOiByZWZlcmVuY2U/LmJvb2tJZCB8fCAnJyxcbiAgICByZWY6IHJlZl8sXG4gIH0pXG5cbiAgbGV0IGZldGNoUGFyYW1zOiBCb29rRmV0Y2hQYXJhbXMgPSB7XG4gICAgY29uZmlnOiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBzZXJ2ZXIsXG4gICAgfSxcbiAgICByZXNvdXJjZSxcbiAgICByZWZlcmVuY2UsXG4gICAgcmVzb3VyY2VMaW5rLFxuICB9XG5cbiAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IGZldGNoQmlibGVCb29rQ29yZShmZXRjaFBhcmFtcylcbiAgcmV0dXJuIHJlc3VsdHNcbn1cbiJdLCJtYXBw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
|
|
640
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVnZW5lcmF0b3JSdW50aW1lIiwiZSIsInQiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwibiIsImhhc093blByb3BlcnR5IiwibyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJpIiwiU3ltYm9sIiwiYSIsIml0ZXJhdG9yIiwiYyIsImFzeW5jSXRlcmF0b3IiLCJ1IiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJjYWxsIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwiX3R5cGVvZiIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiRXJyb3IiLCJkb25lIiwibWV0aG9kIiwiZGVsZWdhdGUiLCJtYXliZUludm9rZURlbGVnYXRlIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwicmVzZXRUcnlFbnRyeSIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwiY29uc3RydWN0b3IiLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJhc3luYyIsIlByb21pc2UiLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiaGFuZGxlIiwiY29tcGxldGUiLCJmaW5pc2giLCJfY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJrZXkiLCJpbmZvIiwiZXJyb3IiLCJfYXN5bmNUb0dlbmVyYXRvciIsImZuIiwic2VsZiIsImFyZ3MiLCJhcmd1bWVudHMiLCJhcHBseSIsImVyciIsInVuZGVmaW5lZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImFyciIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJpdGVyIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJhbGxvd0FycmF5TGlrZSIsIml0IiwiRiIsIl9lIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsInN0ZXAiLCJfZTIiLCJvd25LZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwib2JqIiwiX3RvUHJvcGVydHlLZXkiLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwidG9QcmltaXRpdmUiLCJyZXMiLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJ0b1N0cmluZyIsInRlc3QiLCJsZW4iLCJhcnIyIiwiQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IiLCJJTlZBTElEX01BTklGRVNUX0VSUk9SIiwiTE9BRElOR19TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUiIsImNvcmUiLCJ1c2ZtanMiLCJCb29rRmV0Y2hQYXJhbXMiLCJTY3JpcHR1cmVSZWZlcmVuY2VUeXBlIiwiU2NyaXB0dXJlUmVzb3VyY2VUeXBlIiwiU2VydmVyQ29uZmlnVHlwZSIsIlZlcnNlT2JqZWN0c1R5cGUiLCJCT09LX05PVF9GT1VORF9FUlJPUl9NU0ciLCJMT0FESU5HX1JFU09VUkNFIiwiTUFOSUZFU1RfSU5WQUxJRF9FUlJPUl9NU0ciLCJNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHIiwiTlRfT1JJR19MQU5HIiwiTlRfT1JJR19MQU5HX0JJQkxFIiwiT1JJR0lOQUxfU09VUkNFIiwiT1RfT1JJR19MQU5HIiwiT1RfT1JJR19MQU5HX0JJQkxFIiwiU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0ciLCJUQVJHRVRfTElURVJBTCIsIlRBUkdFVF9TSU1QTElGSUVEIiwiZGVsYXkiLCJESVNBQkxFX1dPUkRfUE9QT1ZFUiIsImdldFJlc291cmNlTGluayIsInNjcmlwdHVyZSIsInJlZiIsImJyYW5jaCIsInJlc291cmNlSWQiLCJwcm9qZWN0SWQiLCJjb25jYXQiLCJvd25lciIsImxhbmd1YWdlSWQiLCJwYXJzZVJlc291cmNlTGluayIsInJlc291cmNlTGluayIsIl9yZXNvdXJjZUxpbmskc3BsaXQiLCJzcGxpdCIsIl9yZXNvdXJjZUxpbmskc3BsaXQyIiwiZ2V0U2NyaXB0dXJlT2JqZWN0IiwiX3JlZiIsInRpdGxlIiwic2VydmVyIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiZ2V0VmVyc2VEYXRhRnJvbVNjcmlwQ29uZmlnIiwic2NyaXB0dXJlQ29uZmlnIiwidmVyc2VOdW0iLCJfc2NyaXB0dXJlQ29uZmlnJHZlcnMiLCJ2ZXJzZXNGb3JSZWYiLCJmaW5kIiwidmVyc2VSZWYiLCJ2ZXJzZSIsImlzT3JpZ2luYWxCaWJsZSIsImlzT3JpZyIsImNsZWFudXBBY2NvdW50U2V0dGluZ3MiLCJzY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRPd25lciIsImN1cnJlbnRMYW5ndWFnZUlkIiwic3BsaXRVcmwiLCJvcmlnaW5hbFJlcG9VcmwiLCJ1cmwiLCJVUkwiLCJvcmlnaW4iLCJwYXRobmFtZSIsInNlYXJjaCIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJib29rSWQiLCJzY3JpcHR1cmVTZXR0aW5nc18iLCJpc05ld1Rlc3RhbWVudCIsIl9zcGxpdFVybCIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsIl9yZWYyIiwibGFiZWwiLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJpbmRleCIsImZpbmRJdGVtSW5kZXhCeUtleSIsInNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwidmFsaWRhdGlvbkNCIiwiaXRlbSIsIm5ld0l0ZW0iLCJhZGRJdGVtVG9IaXN0b3J5IiwiZ2V0SXRlbUJ5VGl0bGUiLCJkZWxldGVJdGVtIiwiZGVsZXRlSW5kZXgiLCJyZW1vdmVJdGVtQnlJbmRleCIsImdldFJlcG9VcmwiLCJpc05UIiwicmVwb1VybCIsIl9yZXNvdXJjZUxpbmskc3BsaXQzIiwiX3Jlc291cmNlTGluayRzcGxpdDQiLCJnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsiLCJlcnJvckNvZGUiLCJlcnJvck1zZyIsInZhbGlkYXRlRGNzVXJsIiwidmFsaWRSZXBvUGF0aCIsInZhbGlkVXJsIiwicGFydHMiLCJfcGFydHMiLCJwcm90b2NvbCIsImhvc3QiLCJ1c2VyIiwicmVwbyIsImhvc3RQYXJ0cyIsIl9pdGVyYXRvciIsIl9zdGVwIiwicGFydCIsIl9yZXBvJHNwbGl0IiwiX3JlcG8kc3BsaXQyIiwiX3VudXNlZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIiwiZml4T2NjdXJyZW5jZSIsIm9jY3VycmVuY2UiLCJwYXJzZUludCIsImNsZWFudXBWZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHMiLCJ2ZXJzZU9iamVjdHNfIiwidm8iLCJvY2N1cnJlbmNlcyIsIndvcmQiLCJjaGlsZHJlbiIsIm5ld1ZvIiwiZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lIiwiZmlsZW5hbWUiLCJfZmlsZW5hbWUkbWF0Y2giLCJyZWdleCIsImJvb2tOYW1lIiwibWF0Y2giLCJnZXRCaWJsZUlkRnJvbVVzZm1Db250ZW50SUQiLCJiaWJsZVVzZm0iLCJpZEhlYWRlciIsInBvc0lkIiwiaW5kZXhPZiIsImlkU3RhcnQiLCJoZWFkZXJJZCIsInN1YnN0cmluZyIsInRyaW0iLCJoZWFkZXJCb29rSUQiLCJfaGVhZGVyQm9va0lEIiwidmVyc2VPYmplY3RzSGF2ZVdvcmRzIiwiX2l0ZXJhdG9yMiIsIl9zdGVwMiIsImZvdW5kV29yZHMiLCJnZXRBbGlnbm1lbnRzIiwiYWxpZ25tZW50c0xpc3QiLCJ0YWciLCJhbGlnbm1lbnQiLCJlbmRUYWciLCJfYWxpZ25tZW50IiwiZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX3giLCJfZmV0Y2hCaWJsZUJvb2tDb3JlIiwiX2NhbGxlZSIsImZldGNoUGFyYW1zIiwiX3Jlc291cmNlJHByb2plY3QiLCJfcmVzb3VyY2UkcHJvamVjdDIiLCJyZXNvdXJjZSIsInJlc3BvbnNlIiwiYm9va09iamVjdHMiLCJfZXJyb3JNc2ciLCJfcmVmMyIsInNoYSIsIl9lcnJvck1zZzIiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwibWFuaWZlc3QiLCJwcm9qZWN0IiwiZmlsZSIsIndhcm4iLCJyZXNvdXJjZUVycm9yIiwiZ2V0UmVzcG9uc2VEYXRhIiwidG9KU09OIiwiZGF0YSIsInQwIiwiZmV0Y2hCaWJsZUJvb2siLCJfeDIiLCJfeDMiLCJfeDQiLCJfeDUiLCJfZmV0Y2hCaWJsZUJvb2siLCJfY2FsbGVlMiIsImNvbmZpZyIsInJlZmVyZW5jZSIsInJlZl8iLCJyZXN1bHRzIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SLFxuICBJTlZBTElEX01BTklGRVNUX0VSUk9SLFxuICBMT0FESU5HX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxuICBTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHVzZm1qcyBmcm9tICd1c2ZtLWpzJ1xuaW1wb3J0IHtcbiAgQm9va0ZldGNoUGFyYW1zLFxuICBTY3JpcHR1cmVSZWZlcmVuY2VUeXBlLFxuICBTY3JpcHR1cmVSZXNvdXJjZVR5cGUsXG4gIFNlcnZlckNvbmZpZ1R5cGUsXG4gIFZlcnNlT2JqZWN0c1R5cGUsXG59IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHtcbiAgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBMT0FESU5HX1JFU09VUkNFLFxuICBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyxcbiAgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyxcbiAgTlRfT1JJR19MQU5HLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBUQVJHRVRfTElURVJBTCxcbiAgVEFSR0VUX1NJTVBMSUZJRUQsXG59IGZyb20gJy4vY29tbW9uJ1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICcuL2RlbGF5J1xuXG5leHBvcnQgY29uc3QgRElTQUJMRV9XT1JEX1BPUE9WRVIgPSB0cnVlIC8vIGRpc2FibGUgd29yZCBwb3BvdmVyIGZvciBldmVyeSBzY3JpcHR1cmUgcGFuZSBidXQgb3JpZ2luYWwgbGFuZ3VhZ2VzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlKSB7XG4gIGNvbnN0IHJlZiA9IHNjcmlwdHVyZS5yZWYgfHwgc2NyaXB0dXJlLmJyYW5jaFxuICBjb25zdCByZXNvdXJjZUlkID0gc2NyaXB0dXJlLnJlc291cmNlSWQgfHwgc2NyaXB0dXJlLnByb2plY3RJZFxuICByZXR1cm4gYCR7c2NyaXB0dXJlLm93bmVyfS8ke3NjcmlwdHVyZS5sYW5ndWFnZUlkfS8ke3Jlc291cmNlSWR9LyR7cmVmfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUmVzb3VyY2VMaW5rKHJlc291cmNlTGluaykge1xuICBjb25zdCBbb3duZXIsIGxhbmd1YWdlSWQsIHJlc291cmNlSWQsIHJlZl0gPSByZXNvdXJjZUxpbmsuc3BsaXQoJy8nKVxuICByZXR1cm4ge1xuICAgIG93bmVyLFxuICAgIGxhbmd1YWdlSWQsXG4gICAgcmVzb3VyY2VJZCxcbiAgICByZWYsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZU9iamVjdCh7XG4gIHRpdGxlLFxuICBzZXJ2ZXIsXG4gIG93bmVyLFxuICByZWYsXG4gIGxhbmd1YWdlSWQsXG4gIHJlc291cmNlSWQsXG4gIHJlc291cmNlTGluayxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG59KSB7XG4gIGNvbnN0IHNjcmlwdHVyZSA9IHtcbiAgICB0aXRsZSxcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICAgIHJlZixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgIHJlc291cmNlTGluayxcbiAgfVxuXG4gIGlmICghcmVzb3VyY2VMaW5rKSB7XG4gICAgc2NyaXB0dXJlLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayh7XG4gICAgICBvd25lcixcbiAgICAgIHJlZixcbiAgICAgIGxhbmd1YWdlSWQsXG4gICAgICByZXNvdXJjZUlkLFxuICAgIH0pXG4gIH1cbiAgcmV0dXJuIHNjcmlwdHVyZVxufVxuXG4vKipcbiAqIHJldHVybiB2ZXJzZSBkYXRhIGdpdmVuIGEgc2NyaXB0dXJlIGNvbmZpZyBhbmQgdmVyc2UgbnVtYmVyXG4gKiBAcGFyYW0gc2NyaXB0dXJlQ29uZmlnXG4gKiBAcGFyYW0gdmVyc2VOdW1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZlcnNlRGF0YUZyb21TY3JpcENvbmZpZyhzY3JpcHR1cmVDb25maWcsIHZlcnNlTnVtKSB7XG4gIHJldHVybiBzY3JpcHR1cmVDb25maWc/LnZlcnNlc0ZvclJlZj8uZmluZChcbiAgICB2ZXJzZVJlZiA9PiB2ZXJzZVJlZi52ZXJzZSA9PT0gdmVyc2VOdW0sXG4gIClcbn1cblxuLyoqXG4gKiByZXR1cm4gdHJ1ZSBpZiByZXNvdXJjZSBpcyBhbiBvcmlnaW5hbCBsYW5ndWFnZSBiaWJsZVxuICogQHBhcmFtIHJlc291cmNlSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3JpZ2luYWxCaWJsZShyZXNvdXJjZUlkKSB7XG4gIGNvbnN0IGlzT3JpZyA9ICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSlcbiAgcmV0dXJuIGlzT3JpZ1xufVxuXG4vKipcbiAqIG1ha2Ugc3VyZSBzY3JpcHR1cmVTZXR0aW5ncyBhcmUgdXAgdG8gZGF0ZSB3aXRoIGN1cnJlbnQgb3duZXIgYW5kIGxhbmd1YWdlXG4gKiBAcGFyYW0ge29iamVjdH0gc2NyaXB0dXJlU2V0dGluZ3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3M6IGFueSwgY3VycmVudE93bmVyOiBhbnksIGN1cnJlbnRMYW5ndWFnZUlkOiBhbnkpIHtcbiAgaWYgKGN1cnJlbnRPd25lciAmJiAoY3VycmVudE93bmVyICE9PSBzY3JpcHR1cmVTZXR0aW5ncy5vd25lcikpIHsgLy8gaWYgb3duZXIgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBjdXJyZW50T3duZXJcbiAgfVxuXG4gIGlmIChjdXJyZW50TGFuZ3VhZ2VJZCAmJiAoY3VycmVudExhbmd1YWdlSWQgIT09IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQpKSB7IC8vIGlmIGxhbmd1YWdlIGNoYW5nZWQsIHVwZGF0ZSBzY3JpcHR1cmVTZXR0aW5nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBjdXJyZW50TGFuZ3VhZ2VJZFxuICB9XG59XG5cbi8qKlxuICogc2VwYXJhdGUgVVJMIGludG8gc2VydmVyIGFuZCByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpIHtcbiAgaWYgKG9yaWdpbmFsUmVwb1VybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3JpZ2luYWxSZXBvVXJsKVxuICAgIGNvbnN0IHNlcnZlciA9IHVybC5vcmlnaW5cbiAgICBjb25zdCByZXNvdXJjZUxpbmsgPSB1cmwucGF0aG5hbWUgKyAodXJsLnNlYXJjaCB8fCAnJylcbiAgICByZXR1cm4geyBzZXJ2ZXIsIHJlc291cmNlTGluayB9XG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogZ2V0IHRoZSBzY3JpcHR1cmUgc2V0dGluZ3MgbmVlZGVkIGZvciBmZXRjaCAtIGZvciBPcmlnTGFuZywgVUxULCBHTFQgd2lsbCByZXBsYWNlIG93bmVyIGFuZCBsYW5ndWFnZUlkIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc19cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdUZXN0YW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmwgLSBvcHRpb25hbCBwYXRoIHRvIHJlcG8gZm9yIG9yaWdpbmFsIGxhbmd1YWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKFxuICBib29rSWQsIHNjcmlwdHVyZVNldHRpbmdzXywgaXNOZXdUZXN0YW1lbnQsXG4gIG9yaWdpbmFsUmVwb1VybD1udWxsLFxuICBjdXJyZW50TGFuZ3VhZ2VJZD1udWxsLFxuICBjdXJyZW50T3duZXI9bnVsbCxcbikge1xuICBjb25zdCBzY3JpcHR1cmVTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlU2V0dGluZ3NfIH1cbiAgc2NyaXB0dXJlU2V0dGluZ3MuZGlzYWJsZVdvcmRQb3BvdmVyID0gRElTQUJMRV9XT1JEX1BPUE9WRVJcbiAgY29uc3QgcmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzXy5yZXNvdXJjZUlkXG5cbiAgaWYgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkge1xuICAgIC8vIHNlbGVjdCBvcmlnaW5hbCBsYW5ndWFnZSBCaWJsZSBiYXNlZCBvbiB3aGljaCB0ZXN0YW1lbnQgdGhlIGJvb2sgYmVsb25nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBpc05ld1Rlc3RhbWVudCA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBpc05ld1Rlc3RhbWVudFxuICAgICAgPyBOVF9PUklHX0xBTkdfQklCTEVcbiAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG5cbiAgICBpZiAoc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyKSB7XG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IHNjcmlwdHVyZVNldHRpbmdzLm9yaWdpbmFsTGFuZ3VhZ2VPd25lclxuICAgIH1cblxuICAgIGlmIChvcmlnaW5hbFJlcG9VcmwpIHsgLy8gdXNlIHRoaXMgdXJsIGlmIGRlZmluZWRcbiAgICAgIGNvbnN0IHsgc2VydmVyLCByZXNvdXJjZUxpbmsgfSA9IHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybClcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnNlcnZlciA9IHNlcnZlclxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gcmVzb3VyY2VMaW5rXG4gICAgfSBlbHNlIHsgLy8gZmFsbCBiYWNrIHRvIGFwcCBkZWZhdWx0c1xuICAgICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICAgIH1cbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBmYWxzZVxuICB9IGVsc2UgaWYgKHJlc291cmNlSWQgPT09IFRBUkdFVF9MSVRFUkFMKSB7XG4gICAgY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5ncywgY3VycmVudE93bmVyLCBjdXJyZW50TGFuZ3VhZ2VJZClcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9PT0gJ2VuJyA/ICd1bHQnIDogJ2dsdCdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX1NJTVBMSUZJRUQpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VzdCcgOiAnZ3N0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfVxuICByZXR1cm4gc2NyaXB0dXJlU2V0dGluZ3Ncbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyh7XG4gIGxhYmVsLFxuICByZXNvdXJjZUxpbmssXG4gIHNldFNjcmlwdHVyZSxcbiAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG59KSB7XG4gIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICBsZXQgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3Jlc291cmNlTGluaycsIHJlc291cmNlTGluaylcblxuICBjb25zdCBzY3JpcHR1cmVTZWxlY3RvckNvbmZpZyA9IHtcbiAgICBsYWJlbCwgLy8gbGFiZWwgZm9yIGNvbWJvYm94XG4gICAgb3B0aW9uczogaGlzdG9yeSxcbiAgICBjdXJyZW50OiBpbmRleCxcbiAgICBhbGxvd1VzZXJJbnB1dDogdHJ1ZSxcbiAgICBvbkNoYW5nZTogKHRpdGxlLCBpbmRleCwgdmFsaWRhdGlvbkNCPW51bGwpID0+IHtcbiAgICAgIGxldCBpdGVtXG5cbiAgICAgIGlmICgoaW5kZXggPCAwKSAmJiB0aXRsZSkge1xuICAgICAgICBjb25zdCBuZXdJdGVtID0ge1xuICAgICAgICAgIHVybDogdGl0bGUsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KG5ld0l0ZW0pXG5cbiAgICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgICBpdGVtID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClbaW5kZXhdXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRJdGVtQnlUaXRsZSh0aXRsZSlcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgc2V0U2NyaXB0dXJlKGl0ZW0sIHZhbGlkYXRpb25DQilcbiAgICAgIH1cbiAgICB9LFxuICAgIGRlbGV0ZUl0ZW06IHRpdGxlID0+IHtcbiAgICAgIGNvbnN0IGhpc3RvcnkgPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVxuICAgICAgY29uc3QgZGVsZXRlSW5kZXggPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3RpdGxlJywgdGl0bGUpXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVJdGVtQnlJbmRleChkZWxldGVJbmRleClcbiAgICB9LFxuICB9XG5cbiAgcmV0dXJuIHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXBvVXJsKHJlc291cmNlTGluazogc3RyaW5nLCBzZXJ2ZXI6IHN0cmluZywgaXNOVDogYm9vbGVhbik6IHN0cmluZyB7XG4gIGxldCByZXBvVXJsXG5cbiAgdHJ5IHtcbiAgICBsZXQgW293bmVyLCBsYW5ndWFnZUlkLCByZXNvdXJjZUlkXSA9IHJlc291cmNlTGluay5zcGxpdCgnLycpXG5cbiAgICBzd2l0Y2ggKHJlc291cmNlSWQpIHtcbiAgICBjYXNlIE9SSUdJTkFMX1NPVVJDRTpcbiAgICAgIGxhbmd1YWdlSWQgPSBpc05UID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgICByZXNvdXJjZUlkID0gaXNOVFxuICAgICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgICA6IE9UX09SSUdfTEFOR19CSUJMRVxuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX0xJVEVSQUw6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VsdCcgOiAnZ2x0J1xuICAgICAgYnJlYWtcblxuICAgIGNhc2UgVEFSR0VUX1NJTVBMSUZJRUQ6XG4gICAgICByZXNvdXJjZUlkID0gKGxhbmd1YWdlSWQgPT09ICdlbicpID8gJ3VzdCcgOiAnZ3N0J1xuICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVwb1VybCA9IGAke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cmVzb3VyY2VJZH1gXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyByZXNvdXJjZUxpbmsgd2FzIGludmFsaWRcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmV0dXJuIGAke3NlcnZlciB8fCAnJ30vJHtyZXBvVXJsfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhcbiAgcmVzb3VyY2VMaW5rOiBzdHJpbmcsXG4gIHNlcnZlcjogc3RyaW5nLFxuICBlcnJvckNvZGU6IHN0cmluZyxcbiAgaXNOVDogYm9vbGVhbik6IHN0cmluZ1xue1xuICBjb25zdCByZXBvVXJsID0gZ2V0UmVwb1VybChyZXNvdXJjZUxpbmssIHNlcnZlciwgaXNOVClcbiAgY29uc3QgZXJyb3JNc2cgPSBlcnJvckNvZGUgKyByZXBvVXJsXG4gIHJldHVybiBlcnJvck1zZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEY3NVcmwodXJsKSB7XG4gIGxldCB2YWxpZFJlcG9QYXRoID0gZmFsc2VcbiAgbGV0IHZhbGlkVXJsID0gZmFsc2VcblxuICB0cnkge1xuICAgIGNvbnN0IHBhcnRzID0gdXJsLnNwbGl0KCcvJylcbiAgICBjb25zdCBbcHJvdG9jb2wsICwgaG9zdCwgdXNlciwgcmVwb10gPSBwYXJ0c1xuICAgIHZhbGlkVXJsID0gKHByb3RvY29sID09PSAnaHR0cHM6JylcbiAgICBjb25zdCBob3N0UGFydHMgPSBob3N0ID8gaG9zdC5zcGxpdCgnLicpIDogW11cblxuICAgIGlmIChob3N0UGFydHMubGVuZ3RoID49IDIpIHtcbiAgICAgIGZvciAobGV0IHBhcnQgb2YgaG9zdFBhcnRzKSB7XG4gICAgICAgIGlmICghcGFydCkge1xuICAgICAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbGlkVXJsID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAoIHByb3RvY29sICYmIGhvc3QgJiYgdXNlciAmJiByZXBvICkge1xuICAgICAgY29uc3QgW2xhbmd1YWdlSWQsIHByb2plY3RJZF0gPSByZXBvLnNwbGl0KCdfJylcbiAgICAgIHZhbGlkUmVwb1BhdGggPSBsYW5ndWFnZUlkICYmIHByb2plY3RJZFxuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgY29uc29sZS5sb2coJ0ludmFsaWQgRENTIFVSTDogJyArIHVybClcbiAgfVxuICByZXR1cm4geyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUVycm9yTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0KSB7XG4gIGxldCBtZXNzYWdlID0gJydcblxuICBpZiAocmVzb3VyY2VTdGF0dXNbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW0lOVkFMSURfTUFOSUZFU1RfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbQ09OVEVOVF9OT1RfRk9VTkRfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IEJPT0tfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW1NDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBTQ1JJUFRVUkVfTk9UX0ZPVU5EX0VSUk9SX01TR1xuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZGVjb2RlIHJlc291cmNlIHN0YXR1cyBpbnRvIHN0cmluZy4gIEN1cnJlbnRseSBvbmx5IEVuZ2xpc2hcbiAqIEBwYXJhbSByZXNvdXJjZVN0YXR1cyAtIG9iamVjdCB0aGF0IGNvbnRhaW5zIHN0YXRlIGFuZCBlcnJvcnMgdGhhdCBhcmUgZGV0ZWN0ZWRcbiAqIEBwYXJhbSBzZXJ2ZXIgLSBjb250YWlucyB0aGUgc2VydmVyIGJlaW5nIHVzZWRcbiAqIEBwYXJhbSByZXNvdXJjZUxpbmsgLSBwYXRoIHRvIHJlcG8gb24gc2VydmVyXG4gKiBAcGFyYW0gaXNOVCAtIHRydWUgaWYgTlQgYm9va1xuICogQHJldHVybiBlbXB0eSBzdHJpbmcgaWYgbm8gZXJyb3IsIGVsc2UgcmV0dXJucyB1c2VyIGVycm9yIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1czogb2JqZWN0LCBzZXJ2ZXI6IHN0cmluZywgcmVzb3VyY2VMaW5rOiBzdHJpbmcsIGlzTlQ6IGJvb2xlYW4pIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tMT0FESU5HX1NUQVRFXSkge1xuICAgIG1lc3NhZ2UgPSBMT0FESU5HX1JFU09VUkNFXG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9IGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzKVxuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rLCBzZXJ2ZXIsIG1lc3NhZ2UsIGlzTlQpXG4gICAgfVxuICB9XG4gIHJldHVybiBtZXNzYWdlXG59XG5cbi8qKlxuICogZ2VuZXJhdGUgcmVzb3VyY2Ugc3RyaW5nXG4gKiBAcGFyYW0gb3duZXJcbiAqIEBwYXJhbSBsYW5ndWFnZUlkXG4gKiBAcGFyYW0gcHJvamVjdElkXG4gKiBAcGFyYW0gcmVmXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmtTcGVjaWZpYyhvd25lcjogc3RyaW5nLCBsYW5ndWFnZUlkOiBzdHJpbmcsIHByb2plY3RJZDogc3RyaW5nLCByZWY6IHN0cmluZykge1xuICByZXR1cm4gYGFwaS92MS9yZXBvcy8ke293bmVyfS8ke2xhbmd1YWdlSWR9XyR7cHJvamVjdElkfS9jb250ZW50cz9yZWY9JHtyZWZ9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZml4T2NjdXJyZW5jZShvY2N1cnJlbmNlKSB7XG4gIGlmICh0eXBlb2Ygb2NjdXJyZW5jZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQob2NjdXJyZW5jZSlcbiAgfVxuICByZXR1cm4gb2NjdXJyZW5jZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cFZlcnNlT2JqZWN0cyh2ZXJzZU9iamVjdHMpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgY29uc3QgdmVyc2VPYmplY3RzXyA9IFsuLi52ZXJzZU9iamVjdHNdXG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHZlcnNlT2JqZWN0c18ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB2byA9IHZlcnNlT2JqZWN0c19baV1cblxuICAgICAgaWYgKHZvLnR5cGUgPT09ICd3b3JkJyAmJiAodm8ub2NjdXJyZW5jZSB8fCB2by5vY2N1cnJlbmNlcykpIHtcbiAgICAgICAgY29uc3Qgd29yZCA9IHsgLi4udm8gfVxuXG4gICAgICAgIGlmICh2by5vY2N1cnJlbmNlKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlID0gZml4T2NjdXJyZW5jZSh2by5vY2N1cnJlbmNlKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZvLm9jY3VycmVuY2VzKSB7XG4gICAgICAgICAgd29yZC5vY2N1cnJlbmNlcyA9IGZpeE9jY3VycmVuY2Uodm8ub2NjdXJyZW5jZXMpXG4gICAgICAgIH1cbiAgICAgICAgdmVyc2VPYmplY3RzX1tpXSA9IHdvcmRcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBjbGVhbnVwVmVyc2VPYmplY3RzKHZvLmNoaWxkcmVuKVxuICAgICAgICBjb25zdCBuZXdWbyA9IHtcbiAgICAgICAgICAuLi52byxcbiAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgfVxuICAgICAgICB2ZXJzZU9iamVjdHNfW2ldID0gbmV3Vm9cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZlcnNlT2JqZWN0c19cbiAgfVxuICByZXR1cm4gW11cbn1cblxuLyoqXG4gKiB0YWtlIHRoZSBmaWxlbmFtZSBvZiB0aGUgYm9vayAoZS5nLiBcIjU3LVRJVC51c2ZtXCIpIGFuZCBwYXJzZSBvdXQgdGhlIGJvb2tJZFxuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lXG4gKiBAcmV0dXJuIHtzdHJpbmd9IGJvb2tJZCBpZiBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9va05hbWVGcm9tVXNmbUZpbGVOYW1lKGZpbGVuYW1lKSB7XG4gIGNvbnN0IHJlZ2V4ID0gL14oLio/KVxcLnVzZm0vXG4gIGNvbnN0IGJvb2tOYW1lID0gZmlsZW5hbWU/Lm1hdGNoKHJlZ2V4KT8uWzFdXG4gIHJldHVybiBib29rTmFtZVxufVxuXG4vKipcbiAqIHBhcnNlIHRoZSBVU0ZNIHRvIGZpbmQgYm9va0lEIGluIGhlYWRlclxuICogQHBhcmFtIHtzdHJpbmd9IGJpYmxlVXNmbVxuICogQHJldHVybiB7c3RyaW5nfSBib29rSWQgaWYgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJpYmxlSWRGcm9tVXNmbUNvbnRlbnRJRChiaWJsZVVzZm0pIHtcbiAgY29uc3QgaWRIZWFkZXIgPSAnXFxcXGlkICdcbiAgY29uc3QgcG9zSWQgPSBiaWJsZVVzZm0/LmluZGV4T2YoaWRIZWFkZXIpXG5cbiAgaWYgKHBvc0lkID49IDApIHtcbiAgICBjb25zdCBpZFN0YXJ0ID0gcG9zSWQgKyBpZEhlYWRlci5sZW5ndGhcbiAgICBsZXQgaGVhZGVySWQgPSBiaWJsZVVzZm0/LnN1YnN0cmluZyggaWRTdGFydCwgaWRTdGFydCArIDEwMCkudHJpbSgpXG4gICAgbGV0IGhlYWRlckJvb2tJRCA9IG51bGxcblxuICAgIGlmIChoZWFkZXJJZD8ubGVuZ3RoID4gMSkge1xuICAgICAgaGVhZGVyQm9va0lEID0gaGVhZGVySWQ/LnNwbGl0KCcgJylcbiAgICAgIGhlYWRlckJvb2tJRCA9IGhlYWRlckJvb2tJRD8uWzBdLnRyaW0oKVxuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyQm9va0lEXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuLyoqXG4gKiBkZXRlcm1pbmVzIGlmIHRoZXJlIGFyZSBhbnkgd29yZHMgaW4gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0cyAtIGFycmF5IG9mIHZlcnNlT2JqZWN0cyB0byBzZWFyY2ggZm9yIHdvcmRzXG4gKiBAcmV0dXJuIHtib29sZWFufSB0cnVlIGlmIHdvcmQgaXMgZm91bmRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2ZXJzZU9iamVjdHM6IFZlcnNlT2JqZWN0c1R5cGUpIHtcbiAgaWYgKHZlcnNlT2JqZWN0cz8ubGVuZ3RoKSB7XG4gICAgZm9yIChjb25zdCB2byBvZiB2ZXJzZU9iamVjdHMpIHtcbiAgICAgIGlmICh2by50eXBlID09PSAnd29yZCcpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0gZWxzZSBpZiAodm8uY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgZm91bmRXb3JkcyA9IHZlcnNlT2JqZWN0c0hhdmVXb3Jkcyh2by5jaGlsZHJlbilcblxuICAgICAgICBpZiAoZm91bmRXb3Jkcykge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKlxuICogZXh0cmFjdCBqdXN0IHRoZSBhbGlnbm1lbnRzIGZyb20gdmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge1ZlcnNlT2JqZWN0c1R5cGV9IHZlcnNlT2JqZWN0c1xuICogQHJldHVybnMge1ZlcnNlT2JqZWN0c1R5cGV9IC0ganVzdCBhbGlnbm1lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGlnbm1lbnRzKHZlcnNlT2JqZWN0czogVmVyc2VPYmplY3RzVHlwZSk6VmVyc2VPYmplY3RzVHlwZSB7XG4gIGNvbnN0IGFsaWdubWVudHNMaXN0ID0gdmVyc2VPYmplY3RzLmZpbHRlcih2byA9PiB2by50YWcgPT09ICd6YWxuJylcblxuICAvLyByZW1vdmUgZW5kVGFnXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWxpZ25tZW50c0xpc3QubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBhbGlnbm1lbnQgPSBhbGlnbm1lbnRzTGlzdFtpXVxuXG4gICAgaWYgKGFsaWdubWVudC5lbmRUYWcpIHtcbiAgICAgIGNvbnN0IF9hbGlnbm1lbnQgPSB7IC4uLmFsaWdubWVudCB9XG4gICAgICBkZWxldGUgX2FsaWdubWVudC5lbmRUYWdcbiAgICAgIGFsaWdubWVudHNMaXN0W2ldID0gX2FsaWdubWVudFxuICAgIH1cbiAgfVxuICByZXR1cm4gYWxpZ25tZW50c0xpc3Rcbn1cblxuLyoqXG4gKiBkbyBhIGZldGNoIG9mIG1hbmlmZXN0IGFuZCBib29rIG9mIHRoZSBiaWJsZSBzcGVjaWZpZWQgaW4gZmV0Y2hQYXJhbXMuXG4gKlxuICogICAgVFJJQ0tZIC0gdGhpcyBmdW5jdGlvbiBpcyBiZWluZyBjYWxsZWQgYnkgZXZlcnkgc2NyaXB0dXJlIGNhcmQgc2ltdWx0YW5lb3VzbHkgZHVyaW5nIGJvb2sgbmF2aWdhdGlvbiwgc28gaXQgaXNcbiAqICAgICAgdmVyeSBpbXBvcnRhbnQgdGhhdCBpdCBkb2VzIG5vdCBjYXVzZSBzaWduaWZpY2FudCBkZWxheXMgKHBhcnRpY3VsYXJseSBvbiBzbG93ZXIgZGV2aWNlcykgYW5kIGJsb2NrIFVJIG9yXG4gKiAgICAgIHN0YXRlIHVwZGF0ZXMuXG4gKlxuICogQHBhcmFtIHtCb29rRmV0Y2hQYXJhbXN9IGZldGNoUGFyYW1zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEJpYmxlQm9va0NvcmUoZmV0Y2hQYXJhbXM6IEJvb2tGZXRjaFBhcmFtcykge1xuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIEZFVENISU5HIGJpYmxlICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcblxuICAgIC8vIGZldGNoIG1hbmlmZXN0IGRhdGFcbiAgICBjb25zdCByZXNvdXJjZSA9IGF3YWl0IGNvcmUucmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rKGZldGNoUGFyYW1zKVxuXG4gICAgaWYgKCFyZXNvdXJjZT8ubWFuaWZlc3QgfHwgIXJlc291cmNlPy5wcm9qZWN0Py5maWxlKSB7XG4gICAgICBjb25zdCBlcnJvck1zZyA9IHJlc291cmNlPy5tYW5pZmVzdCA/ICdwYXJzaW5nIHJlc291cmNlIG1hbmlmZXN0JyA6ICdsb2FkaW5nIHJlc291cmNlIG1hbmlmZXN0J1xuICAgICAgY29uc29sZS53YXJuKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIGVycm9yICR7ZXJyb3JNc2d9YCwgZmV0Y2hQYXJhbXMgKVxuICAgICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnLCByZXNvdXJjZUVycm9yOiB0cnVlIH1cbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZyhgZmV0Y2hCaWJsZUJvb2tDb3JlKCkgLSBMT0FERUQgYmlibGUgbWFuaWZlc3QsIGZldGNoaW5nIGJvb2sgICR7ZmV0Y2hQYXJhbXM/LnJlc291cmNlTGlua31gLCBmZXRjaFBhcmFtcylcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlc291cmNlPy5wcm9qZWN0Py5maWxlKClcbiAgICAvLyBwYXJzZSBib29rIHVzZm1cbiAgICBjb25zdCBiaWJsZVVzZm0gPSByZXNwb25zZSAmJiBjb3JlLmdldFJlc3BvbnNlRGF0YShyZXNwb25zZSlcbiAgICBhd2FpdCBkZWxheSgxMDApIC8vIGFsbG93IFVJIHRvIHVwZGF0ZSBiZXR3ZWVuIHR3byBjb21wdXRhdGlvbmFsbHkgZXhwZW5zaXZlIGZ1bmN0aW9uc1xuICAgIGNvbnN0IGJvb2tPYmplY3RzID0gYmlibGVVc2ZtICYmIHVzZm1qcy50b0pTT04oYmlibGVVc2ZtKSAvLyBjb252ZXJ0IHRvIGJpYmxlIG9iamVjdHNcblxuICAgIGlmICghYm9va09iamVjdHMpIHtcbiAgICAgIGNvbnN0IGVycm9yTXNnID0gYmlibGVVc2ZtID8gJ2ZldGNoaW5nIGJvb2sgb2YgdGhlIGJpYmxlJyA6ICdwYXJzaW5nIGJvb2sgb2YgdGhlIGJpYmxlJ1xuICAgICAgY29uc29sZS53YXJuKGBmZXRjaEJpYmxlQm9va0NvcmUoKSAtIGVycm9yICR7ZXJyb3JNc2d9YCwgZmV0Y2hQYXJhbXMgKVxuICAgICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnIH1cbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICBuYW1lLFxuICAgICAgc2hhLFxuICAgICAgdXJsLFxuICAgIH0gPSByZXNwb25zZT8uZGF0YSB8fCB7fVxuXG4gICAgY29uc29sZS5sb2coYGZldGNoQmlibGVCb29rQ29yZSgpIC0gTE9BREVEIGJpYmxlIGJvb2ssICAke2ZldGNoUGFyYW1zPy5yZXNvdXJjZUxpbmt9YCwgZmV0Y2hQYXJhbXMpXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc291cmNlLFxuICAgICAgYmlibGVVc2ZtLFxuICAgICAgYm9va09iamVjdHMsXG4gICAgICBuYW1lLFxuICAgICAgcmVzcG9uc2UsXG4gICAgICBzaGEsXG4gICAgICB1cmwsXG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc3QgZXJyb3JNc2cgPSAnaGFyZCBlcnJvciBsb2FkaW5nIHJlc291cmNlJ1xuICAgIGNvbnNvbGUuZXJyb3IoYGZldGNoQmlibGVCb29rQ29yZSgpIC0gJHtlcnJvck1zZ31gLCBmZXRjaFBhcmFtcywgZSApXG4gICAgcmV0dXJuIHsgZXJyb3I6IGVycm9yTXNnIH1cbiAgfVxufVxuXG4vKipcbiAqIGRvIGEgZmV0Y2ggb2YgbWFuaWZlc3QgYW5kIGJvb2sgb2YgdGhlIGJpYmxlIHNwZWNpZmllZCBpbiBmZXRjaFBhcmFtc1xuICogQHBhcmFtIHtzdHJpbmd9IHNlcnZlciAtIHNlcnZlciB0byBhY2Nlc3NcbiAqIEBwYXJhbSB7U2VydmVyQ29uZmlnVHlwZX0gY29uZmlnXG4gKiBAcGFyYW0ge1NjcmlwdHVyZVJlc291cmNlVHlwZX0gcmVzb3VyY2VcbiAqIEBwYXJhbSB7U2NyaXB0dXJlUmVmZXJlbmNlVHlwZX0gcmVmZXJlbmNlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEJpYmxlQm9vayhzZXJ2ZXI6IHN0cmluZywgY29uZmlnOiBTZXJ2ZXJDb25maWdUeXBlLCByZXNvdXJjZTogU2NyaXB0dXJlUmVzb3VyY2VUeXBlLCByZWZlcmVuY2U6IFNjcmlwdHVyZVJlZmVyZW5jZVR5cGUpIHtcbiAgY29uc29sZS5sb2coYGZldGNoQmlibGVCb29rKCkgLSBsb2FkaW5nIGJpYmxlIGJvb2tgLCByZXNvdXJjZSlcbiAgY29uc3QgcmVmXyA9IHJlc291cmNlPy5icmFuY2ggfHwgcmVzb3VyY2U/LnJlZlxuICBjb25zdCByZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgIC4uLnJlc291cmNlLFxuICAgIHJlc291cmNlSWQ6IHJlc291cmNlPy5wcm9qZWN0SWQgfHwgJycsXG4gICAgYm9va0lkOiByZWZlcmVuY2U/LmJvb2tJZCB8fCAnJyxcbiAgICByZWY6IHJlZl8sXG4gIH0pXG5cbiAgbGV0IGZldGNoUGFyYW1zOiBCb29rRmV0Y2hQYXJhbXMgPSB7XG4gICAgY29uZmlnOiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBzZXJ2ZXIsXG4gICAgfSxcbiAgICByZXNvdXJjZSxcbiAgICByZWZlcmVuY2UsXG4gICAgcmVzb3VyY2VMaW5rLFxuICB9XG5cbiAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IGZldGNoQmlibGVCb29rQ29yZShmZXRjaFBhcmFtcylcbiAgY29uc29sZS5sb2coYGZldGNoQmlibGVCb29rKCkgLSBiaWJsZSBib29rIGxvYWQgZmluaXNoZWRgLCByZXNvdXJjZSlcbiAgcmV0dXJuIHJlc3VsdHNcbn1cbiJdLCJtYXBwaW5ncyI6IjsrQ0FDQSxxSkFBQUEsbUJBQUEsWUFBQUEsb0JBQUEsV0FBQUMsQ0FBQSxTQUFBQyxDQUFBLEVBQUFELENBQUEsT0FBQUUsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLFNBQUEsRUFBQUMsQ0FBQSxHQUFBSCxDQUFBLENBQUFJLGNBQUEsRUFBQUMsQ0FBQSxHQUFBSixNQUFBLENBQUFLLGNBQUEsY0FBQVAsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsSUFBQUQsQ0FBQSxDQUFBRCxDQUFBLElBQUFFLENBQUEsQ0FBQU8sS0FBQSxLQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxhQUFBLHVCQUFBQyxDQUFBLEdBQUFOLENBQUEsQ0FBQU8sV0FBQSw4QkFBQUMsT0FBQWpCLENBQUEsRUFBQUQsQ0FBQSxFQUFBRSxDQUFBLFdBQUFDLE1BQUEsQ0FBQUssY0FBQSxDQUFBUCxDQUFBLEVBQUFELENBQUEsSUFBQVMsS0FBQSxFQUFBUCxDQUFBLEVBQUFpQixVQUFBLE1BQUFDLFlBQUEsTUFBQUMsUUFBQSxTQUFBcEIsQ0FBQSxDQUFBRCxDQUFBLFdBQUFrQixNQUFBLG1CQUFBakIsQ0FBQSxJQUFBaUIsTUFBQSxZQUFBQSxPQUFBakIsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsV0FBQUQsQ0FBQSxDQUFBRCxDQUFBLElBQUFFLENBQUEsZ0JBQUFvQixLQUFBckIsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsRUFBQUcs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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "single-scripture-rcl",
|
|
3
3
|
"description": "A React Component Library for Rendering a Single Scripture Resource.",
|
|
4
|
-
"version": "3.4.
|
|
4
|
+
"version": "3.4.30",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/unfoldingWord/single-scripture-rcl.git"
|