single-scripture-rcl 3.2.0 → 3.2.1-alpha4

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.
@@ -1,18 +1,3 @@
1
- import "core-js/modules/es.array.concat.js";
2
- import "core-js/modules/es.array.includes.js";
3
- import "core-js/modules/es.array.iterator.js";
4
- import "core-js/modules/es.array.join.js";
5
- import "core-js/modules/es.array.slice.js";
6
- import "core-js/modules/es.array.splice.js";
7
- import "core-js/modules/es.object.define-property.js";
8
- import "core-js/modules/es.object.to-string.js";
9
- import "core-js/modules/es.regexp.exec.js";
10
- import "core-js/modules/es.string.includes.js";
11
- import "core-js/modules/es.string.iterator.js";
12
- import "core-js/modules/es.string.split.js";
13
- import "core-js/modules/web.dom-collections.iterator.js";
14
- import "core-js/modules/web.url.js";
15
-
16
1
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
2
 
18
3
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -21,17 +6,46 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
21
6
 
22
7
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
8
 
24
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
9
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25
10
 
26
11
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
12
 
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
29
-
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
+ import "core-js/modules/es.array.splice.js";
14
+ import "core-js/modules/es.array.includes.js";
15
+ import "core-js/modules/es.regexp.exec.js";
16
+ import "core-js/modules/es.string.split.js";
17
+ import "core-js/modules/es.array.join.js";
18
+ import "core-js/modules/es.array.slice.js";
19
+ import "core-js/modules/es.string.includes.js";
20
+ import "core-js/modules/es.array.concat.js";
21
+ import "core-js/modules/es.array.iterator.js";
22
+ import "core-js/modules/es.object.to-string.js";
23
+ import "core-js/modules/es.string.iterator.js";
24
+ import "core-js/modules/web.dom-collections.iterator.js";
25
+ import "core-js/modules/web.url.js";
26
+ import "core-js/modules/web.url-search-params.js";
27
+ import "core-js/modules/es.object.define-property.js";
28
+ import "core-js/modules/es.object.keys.js";
29
+ import "core-js/modules/es.symbol.js";
30
+ import "core-js/modules/es.array.filter.js";
31
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
32
+ import "core-js/modules/es.array.for-each.js";
33
+ import "core-js/modules/web.dom-collections.for-each.js";
34
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
35
+ import "core-js/modules/es.object.define-properties.js";
36
+ import "core-js/modules/es.array.is-array.js";
37
+ import "core-js/modules/es.symbol.description.js";
38
+ import "core-js/modules/es.symbol.iterator.js";
39
+ import "core-js/modules/es.function.name.js";
40
+ import "core-js/modules/es.array.from.js";
41
+
42
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
+
44
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
45
 
32
46
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
47
 
34
- import { useEffect, useState } from 'react';
48
+ import { useEffect, useMemo, useState } from 'react';
35
49
  import { core } from 'scripture-resources-rcl';
36
50
  import * as isEqual from 'deep-equal';
37
51
  import { KEY_SCRIPTURE_VER_HISTORY, ScriptureVersionHistory } from '../utils/ScriptureVersionHistory';
@@ -102,6 +116,7 @@ export function useScriptureSettings(_ref) {
102
116
  chapter = _ref.chapter,
103
117
  verse = _ref.verse,
104
118
  bookId = _ref.bookId,
119
+ bcvQuery = _ref.bcvQuery,
105
120
  owner = _ref.owner,
106
121
  server = _ref.server,
107
122
  appRef = _ref.appRef,
@@ -141,22 +156,32 @@ export function useScriptureSettings(_ref) {
141
156
  scriptureSettings = _useUserLocalStorage4[0],
142
157
  setScriptureSettings = _useUserLocalStorage4[1];
143
158
 
144
- var currentTarget = {
159
+ var _useState = useState({
145
160
  server: server,
146
161
  owner: owner,
147
162
  languageId: languageId
148
- };
163
+ }),
164
+ _useState2 = _slicedToArray(_useState, 2),
165
+ currentTarget = _useState2[0],
166
+ setCurrentTarget = _useState2[1];
149
167
 
150
168
  var _useUserLocalStorage5 = useUserLocalStorage(KEY_TARGET_BASE + cardNum, currentTarget),
151
169
  _useUserLocalStorage6 = _slicedToArray(_useUserLocalStorage5, 2),
152
170
  target = _useUserLocalStorage6[0],
153
171
  setTarget = _useUserLocalStorage6[1];
154
172
 
155
- var _useState = useState(true),
156
- _useState2 = _slicedToArray(_useState, 2),
157
- cleanUp = _useState2[0],
158
- setCleanUp = _useState2[1];
173
+ var _useState3 = useState(true),
174
+ _useState4 = _slicedToArray(_useState3, 2),
175
+ cleanUp = _useState4[0],
176
+ setCleanUp = _useState4[1];
159
177
 
178
+ useEffect(function () {
179
+ return setCurrentTarget({
180
+ server: server,
181
+ owner: owner,
182
+ languageId: languageId
183
+ });
184
+ }, [server, owner, languageId]);
160
185
  useEffect(function () {
161
186
  if (languageId && owner) {
162
187
  // make sure we have languageId and owner selected first
@@ -180,13 +205,14 @@ export function useScriptureSettings(_ref) {
180
205
  scriptureVersionHist.addItemToHistory(scriptureSettings); // make sure current scripture version persisted in history
181
206
  }
182
207
  }
183
- }, [languageId, owner, cleanUp]);
208
+ }, [languageId, owner, cleanUp, currentTarget, target, scriptureVersionHist, scriptureSettings, cardNum, scriptureDefaultSettings, setScriptureSettings, setTarget]);
184
209
  var originalRepoUrl = isNewTestament ? greekRepoUrl : hebrewRepoUrl;
185
210
  var scriptureConfig = useScriptureResources({
186
211
  bookId: bookId,
187
212
  scriptureSettings: scriptureSettings,
188
213
  chapter: chapter,
189
214
  verse: verse,
215
+ bcvQuery: bcvQuery,
190
216
  isNewTestament: isNewTestament,
191
217
  originalRepoUrl: originalRepoUrl,
192
218
  currentLanguageId: languageId,
@@ -378,4 +404,4 @@ export function useScriptureSettings(_ref) {
378
404
  };
379
405
  }
380
406
  export default useScriptureSettings;
381
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVTZXR0aW5ncy50c3giXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJjb3JlIiwiaXNFcXVhbCIsIktFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlkiLCJTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSIsIklOVkFMSURfUkVQT19VUkxfRVJST1IiLCJJTlZBTElEX1VSTCIsIk1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1IiLCJOVF9PUklHX0xBTkdfQklCTEUiLCJOVF9PUklHX0xBTkciLCJPUklHSU5BTF9TT1VSQ0UiLCJPVF9PUklHX0xBTkdfQklCTEUiLCJPVF9PUklHX0xBTkciLCJSRVBPX05PVF9GT1VORF9FUlJPUiIsIlJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUiIsInNldExvY2FsU3RvcmFnZVZhbHVlIiwicGFyc2VSZXNvdXJjZU1hbmlmZXN0IiwidmFsaWRhdGVEY3NVcmwiLCJnZXRSZXNvdXJjZUxpbmsiLCJnZXRTY3JpcHR1cmVPYmplY3QiLCJnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzIiwidXNlU2NyaXB0dXJlUmVzb3VyY2VzIiwiS0VZX1NFVFRJTkdTX0JBU0UiLCJLRVlfVEFSR0VUX0JBU0UiLCJmaXhTY3JpcHR1cmVTZXR0aW5ncyIsInZlcnNpb25IaXN0Iiwic2NyaXB0dXJlU2V0dGluZ3MiLCJsYW5ndWFnZUlkIiwiY2FyZE51bSIsIm93bmVyIiwicmVzb3VyY2VJZCIsIm5ld1NjcmlwdHVyZVNldHRpbmdzIiwicmVzb3VyY2VMaW5rIiwiYWRkSXRlbVRvSGlzdG9yeSIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJtb2RpZmllZCIsImkiLCJsZW5ndGgiLCJpdGVtIiwiaiIsIm1hdGNoX2l0ZW0iLCJtYXRjaF9yZXNvdXJjZUlkIiwicmVmIiwic2VydmVyIiwic3BsaWNlIiwic2F2ZUhpc3RvcnkiLCJpc1NjcmlwdHVyZVJlc291cmNlIiwic3ViamVjdCIsIkJpYmxlUmVzb3VyY2VzIiwiaXNTY3JpcHR1cmUiLCJpbmNsdWRlcyIsInVzZVNjcmlwdHVyZVNldHRpbmdzIiwiaXNOVCIsInRpdGxlIiwiY2hhcHRlciIsInZlcnNlIiwiYm9va0lkIiwiYXBwUmVmIiwidXNlVXNlckxvY2FsU3RvcmFnZSIsImRpc2FibGVXb3JkUG9wb3ZlciIsIm9yaWdpbmFsTGFuZ3VhZ2VPd25lciIsInNldFVybEVycm9yIiwiaHR0cENvbmZpZyIsImdyZWVrUmVwb1VybCIsImhlYnJld1JlcG9VcmwiLCJpc05ld1Rlc3RhbWVudCIsInNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncyIsInZlcnNpb25IaXN0b3J5Iiwic2F2ZVZlcnNpb25IaXN0IiwicmVmcmVzaFZlcnNpb25IaXN0Iiwic2NyaXB0dXJlVmVyc2lvbkhpc3QiLCJzZXRTY3JpcHR1cmVTZXR0aW5ncyIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJzZXRUYXJnZXQiLCJjbGVhblVwIiwic2V0Q2xlYW5VcCIsIm9sZERlZmF1bHRTZXR0aW5ncyIsInJlbW92ZUl0ZW0iLCJvcmlnaW5hbFJlcG9VcmwiLCJzY3JpcHR1cmVDb25maWciLCJjdXJyZW50TGFuZ3VhZ2VJZCIsImN1cnJlbnRPd25lciIsImNsZWFuUmVzb3VyY2VMaW5rIiwicmVzb3VyY2VMaW5rXyIsInJlc291cmNlTGlua3MiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsInNldFNjcmlwdHVyZSIsInZhbGlkYXRpb25DQiIsInVybCIsIm5ld1VybCIsInBhcnRzIiwiaG9zdG5hbWUiLCJVUkwiLCJjb25zb2xlIiwibG9nIiwicmVtb3ZlVXJsIiwic2VydmVyXyIsInBvcnQiLCJ1cmxfIiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwicmVmZXJlbmNlIiwicHJvamVjdElkIiwiY29uZmlnIiwiY2FjaGUiLCJtYXhBZ2UiLCJ0aGVuIiwicmVzb3VyY2UiLCJlcnJvciIsIm5ld1NjcmlwdHVyZSIsInZlcnNpb24iLCJ3YXJuIiwidXNlcm5hbWUiLCJ2YWxpZFVybCIsInZhbGlkUmVwb1BhdGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVNBLFNBQVQsRUFBb0JDLFFBQXBCLFFBQW9DLE9BQXBDO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQix5QkFBckI7QUFDQSxPQUFPLEtBQUtDLE9BQVosTUFBeUIsWUFBekI7QUFDQSxTQUFTQyx5QkFBVCxFQUFvQ0MsdUJBQXBDLFFBQW1FLGtDQUFuRTtBQUNBLFNBQ0VDLHNCQURGLEVBRUVDLFdBRkYsRUFHRUMsNEJBSEYsRUFJRUMsa0JBSkYsRUFLRUMsWUFMRixFQU1FQyxlQU5GLEVBT0VDLGtCQVBGLEVBUUVDLFlBUkYsRUFTRUMsb0JBVEYsRUFVRUMsd0JBVkYsRUFXRUMsb0JBWEYsRUFZRUMscUJBWkYsRUFhRUMsY0FiRixRQWNPLElBZFA7QUFlQSxTQUNFQyxlQURGLEVBRUVDLGtCQUZGLEVBR0VDLDRCQUhGLFFBSU8sNEJBSlA7QUFLQSxPQUFPQyxxQkFBUCxNQUFrQyx5QkFBbEM7QUFFQSxJQUFNQyxpQkFBaUIsR0FBRyxzQkFBMUI7QUFDQSxJQUFNQyxlQUFlLEdBQUcsc0JBQXhCOztBQUVBLFNBQVNDLG9CQUFULENBQThCQyxXQUE5QixFQUEyQ0MsaUJBQTNDLEVBQThEQyxVQUE5RCxFQUEwRUMsT0FBMUUsRUFBbUZDLEtBQW5GLEVBQTBGO0FBQ3hGO0FBQ0EsTUFBS0gsaUJBQWlCLENBQUNJLFVBQWxCLEtBQWlDdEIsa0JBQWxDLElBQTBEa0IsaUJBQWlCLENBQUNJLFVBQWxCLEtBQWlDbkIsa0JBQS9GLEVBQW9IO0FBQ2xILFFBQUtlLGlCQUFpQixDQUFDQyxVQUFsQixLQUFpQ2xCLFlBQWxDLElBQW9EaUIsaUJBQWlCLENBQUNDLFVBQWxCLEtBQWlDZixZQUF6RixFQUF3RztBQUFFO0FBQ3hHLFVBQU1tQixvQkFBb0IscUJBQVFMLGlCQUFSLENBQTFCOztBQUNBSyxNQUFBQSxvQkFBb0IsQ0FBQ0osVUFBckIsR0FBa0NBLFVBQWxDO0FBQ0FJLE1BQUFBLG9CQUFvQixDQUFDRCxVQUFyQixHQUFrQ3BCLGVBQWxDO0FBQ0FxQixNQUFBQSxvQkFBb0IsQ0FBQ0YsS0FBckIsR0FBNkJBLEtBQTdCO0FBQ0FFLE1BQUFBLG9CQUFvQixDQUFDQyxZQUFyQixHQUFvQ2QsZUFBZSxDQUFDYSxvQkFBRCxDQUFuRDtBQUNBaEIsTUFBQUEsb0JBQW9CLENBQUNPLGlCQUFpQixHQUFHTSxPQUFyQixFQUE4Qkcsb0JBQTlCLENBQXBCO0FBQ0FOLE1BQUFBLFdBQVcsQ0FBQ1EsZ0JBQVosQ0FBNkJGLG9CQUE3QjtBQUNEO0FBQ0YsR0FadUYsQ0FjeEY7OztBQUNBLE1BQUlHLE9BQU8sR0FBR1QsV0FBVyxDQUFDVSxTQUFaLE1BQTJCLEVBQXpDO0FBQ0EsTUFBSUMsUUFBUSxHQUFHLEtBQWY7O0FBRUEsT0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHSCxPQUFPLENBQUNJLE1BQTVCLEVBQW9DRCxDQUFDLEVBQXJDLEVBQXlDO0FBQUU7QUFDekMsUUFBTUUsSUFBSSxHQUFHTCxPQUFPLENBQUNHLENBQUQsQ0FBcEI7QUFDQSxRQUFNUCxVQUFVLEdBQUdTLElBQUksQ0FBQ1QsVUFBeEI7O0FBRUEsUUFBS0EsVUFBVSxLQUFLdEIsa0JBQWhCLElBQXdDc0IsVUFBVSxLQUFLbkIsa0JBQXZELElBQStFbUIsVUFBVSxLQUFLcEIsZUFBbEcsRUFBb0g7QUFDbEgsV0FBTSxJQUFJOEIsQ0FBQyxHQUFHSCxDQUFDLEdBQUcsQ0FBbEIsRUFBcUJHLENBQUMsR0FBR04sT0FBTyxDQUFDSSxNQUFqQyxFQUF5Q0UsQ0FBQyxFQUExQyxFQUE4QztBQUFFO0FBQzlDLFlBQU1DLFVBQVUsR0FBR1AsT0FBTyxDQUFDTSxDQUFELENBQTFCO0FBQ0EsWUFBTUUsZ0JBQWdCLEdBQUdELFVBQVUsQ0FBQ1gsVUFBcEM7O0FBRUEsWUFBS1ksZ0JBQWdCLEtBQUtaLFVBQTFCLEVBQXVDO0FBQ3JDLGNBQUtTLElBQUksQ0FBQ1YsS0FBTCxLQUFlWSxVQUFVLENBQUNaLEtBQTNCLElBQ0RVLElBQUksQ0FBQ0ksR0FBTCxLQUFhRixVQUFVLENBQUNFLEdBRHZCLElBRURKLElBQUksQ0FBQ0ssTUFBTCxLQUFnQkgsVUFBVSxDQUFDRyxNQUYxQixJQUdETCxJQUFJLENBQUNULFVBQUwsS0FBb0JXLFVBQVUsQ0FBQ1gsVUFIbEMsRUFHK0M7QUFDN0NJLFlBQUFBLE9BQU8sQ0FBQ1csTUFBUixDQUFlTCxDQUFmLEVBQWtCLENBQWxCLEVBRDZDLENBQ3hCOztBQUNyQkosWUFBQUEsUUFBUSxHQUFHLElBQVg7QUFDQUksWUFBQUEsQ0FBQyxHQUg0QyxDQUd6QztBQUNMO0FBQ0Y7QUFDRjtBQUNGO0FBQ0Y7O0FBRUQsTUFBSUosUUFBSixFQUFjO0FBQ1pYLElBQUFBLFdBQVcsQ0FBQ3FCLFdBQVosQ0FBd0JaLE9BQXhCO0FBQ0Q7QUFDRjs7QUFFRCxTQUFTYSxtQkFBVCxDQUE2QkMsT0FBN0IsRUFBc0M7QUFDcEMsTUFBTUMsY0FBYyxHQUFHLENBQUUsT0FBRixFQUFXLGVBQVgsRUFBNEIscUJBQTVCLEVBQW1ELHNCQUFuRCxDQUF2QjtBQUNBLE1BQU1DLFdBQVcsR0FBR0QsY0FBYyxDQUFDRSxRQUFmLENBQXdCSCxPQUF4QixDQUFwQjtBQUNBLFNBQU9FLFdBQVA7QUFDRDs7QUFFRCxPQUFPLFNBQVNFLG9CQUFULE9Bb0JKO0FBQUEsTUFuQkRDLElBbUJDLFFBbkJEQSxJQW1CQztBQUFBLE1BbEJEQyxLQWtCQyxRQWxCREEsS0FrQkM7QUFBQSxNQWpCRDFCLE9BaUJDLFFBakJEQSxPQWlCQztBQUFBLE1BaEJEMkIsT0FnQkMsUUFoQkRBLE9BZ0JDO0FBQUEsTUFmREMsS0FlQyxRQWZEQSxLQWVDO0FBQUEsTUFkREMsTUFjQyxRQWREQSxNQWNDO0FBQUEsTUFiRDVCLEtBYUMsUUFiREEsS0FhQztBQUFBLE1BWkRlLE1BWUMsUUFaREEsTUFZQztBQUFBLE1BWERjLE1BV0MsUUFYREEsTUFXQztBQUFBLE1BVkQvQixVQVVDLFFBVkRBLFVBVUM7QUFBQSxNQVRERyxVQVNDLFFBVERBLFVBU0M7QUFBQSxNQVJERSxZQVFDLFFBUkRBLFlBUUM7QUFBQSxNQVBEMkIsbUJBT0MsUUFQREEsbUJBT0M7QUFBQSxNQU5EQyxrQkFNQyxRQU5EQSxrQkFNQztBQUFBLE1BTERDLHFCQUtDLFFBTERBLHFCQUtDO0FBQUEsTUFKREMsV0FJQyxRQUpEQSxXQUlDO0FBQUEsTUFIREMsVUFHQyxRQUhEQSxVQUdDO0FBQUEsTUFGREMsWUFFQyxRQUZEQSxZQUVDO0FBQUEsTUFEREMsYUFDQyxRQUREQSxhQUNDO0FBQ0QsTUFBTUMsY0FBYyxHQUFHYixJQUFJLENBQUNJLE1BQUQsQ0FBM0I7QUFDQSxNQUFNVSx3QkFBd0IsR0FBR2hELGtCQUFrQixDQUFDO0FBQ2xEbUMsSUFBQUEsS0FBSyxFQUFMQSxLQURrRDtBQUVsRFYsSUFBQUEsTUFBTSxFQUFOQSxNQUZrRDtBQUdsRGYsSUFBQUEsS0FBSyxFQUFMQSxLQUhrRDtBQUlsRGMsSUFBQUEsR0FBRyxFQUFFZSxNQUo2QztBQUtsRC9CLElBQUFBLFVBQVUsRUFBVkEsVUFMa0Q7QUFNbERHLElBQUFBLFVBQVUsRUFBVkEsVUFOa0Q7QUFPbERFLElBQUFBLFlBQVksRUFBWkEsWUFQa0Q7QUFRbEQ0QixJQUFBQSxrQkFBa0IsRUFBbEJBLGtCQVJrRDtBQVNsREMsSUFBQUEscUJBQXFCLEVBQXJCQTtBQVRrRCxHQUFELENBQW5EOztBQUZDLDZCQWE2REYsbUJBQW1CLENBQUN4RCx5QkFBRCxFQUE0QixFQUE1QixDQWJoRjtBQUFBO0FBQUEsTUFhTWlFLGNBYk47QUFBQSxNQWFzQkMsZUFidEI7QUFBQSxNQWF1Q0Msa0JBYnZDOztBQWNELE1BQU1DLG9CQUFvQixHQUFHLElBQUluRSx1QkFBSixDQUE0QmdFLGNBQTVCLEVBQTRDQyxlQUE1QyxFQUE2REMsa0JBQTdELENBQTdCOztBQWRDLDhCQWdCK0NYLG1CQUFtQixDQUFDckMsaUJBQWlCLEdBQUdNLE9BQXJCLEVBQThCdUMsd0JBQTlCLENBaEJsRTtBQUFBO0FBQUEsTUFnQkl6QyxpQkFoQko7QUFBQSxNQWdCdUI4QyxvQkFoQnZCOztBQWlCRCxNQUFNQyxhQUFhLEdBQUc7QUFDcEI3QixJQUFBQSxNQUFNLEVBQU5BLE1BRG9CO0FBRXBCZixJQUFBQSxLQUFLLEVBQUxBLEtBRm9CO0FBR3BCRixJQUFBQSxVQUFVLEVBQVZBO0FBSG9CLEdBQXRCOztBQWpCQyw4QkFzQjJCZ0MsbUJBQW1CLENBQUNwQyxlQUFlLEdBQUdLLE9BQW5CLEVBQTRCNkMsYUFBNUIsQ0F0QjlDO0FBQUE7QUFBQSxNQXNCTUMsTUF0Qk47QUFBQSxNQXNCY0MsU0F0QmQ7O0FBQUEsa0JBdUI2QjNFLFFBQVEsQ0FBQyxJQUFELENBdkJyQztBQUFBO0FBQUEsTUF1Qk00RSxPQXZCTjtBQUFBLE1BdUJlQyxVQXZCZjs7QUF5QkQ5RSxFQUFBQSxTQUFTLENBQUMsWUFBTTtBQUNkLFFBQUk0QixVQUFVLElBQUlFLEtBQWxCLEVBQXlCO0FBQUU7QUFDekIsVUFBSStDLE9BQUosRUFBYTtBQUFFO0FBQ2JwRCxRQUFBQSxvQkFBb0IsQ0FBQytDLG9CQUFELEVBQXVCN0MsaUJBQXZCLEVBQTBDQyxVQUExQyxFQUFzREMsT0FBdEQsRUFBK0RDLEtBQS9ELENBQXBCO0FBQ0FnRCxRQUFBQSxVQUFVLENBQUMsS0FBRCxDQUFWO0FBQ0Q7O0FBRUQsVUFBSSxDQUFDM0UsT0FBTyxDQUFDdUUsYUFBRCxFQUFnQkMsTUFBaEIsQ0FBWixFQUFxQztBQUFFO0FBQ3JDLFlBQU1JLGtCQUFrQixtQ0FBUVgsd0JBQVIsR0FBcUNPLE1BQXJDLENBQXhCOztBQUNBSSxRQUFBQSxrQkFBa0IsQ0FBQzlDLFlBQW5CLEdBQWtDZCxlQUFlLENBQUM0RCxrQkFBRCxDQUFqRDtBQUNBUCxRQUFBQSxvQkFBb0IsQ0FBQ1EsVUFBckIsQ0FBZ0NELGtCQUFoQyxFQUhtQyxDQUdpQjs7QUFDcER0RCxRQUFBQSxvQkFBb0IsQ0FBQytDLG9CQUFELEVBQXVCN0MsaUJBQXZCLEVBQTBDQyxVQUExQyxFQUFzREMsT0FBdEQsRUFBK0RDLEtBQS9ELENBQXBCO0FBRUEyQyxRQUFBQSxvQkFBb0IsQ0FBQ0wsd0JBQUQsQ0FBcEI7QUFDQVEsUUFBQUEsU0FBUyxDQUFDRixhQUFELENBQVQ7QUFDRCxPQVJELE1BUU87QUFDTEYsUUFBQUEsb0JBQW9CLENBQUN0QyxnQkFBckIsQ0FBc0NQLGlCQUF0QyxFQURLLENBQ29EO0FBQzFEO0FBQ0Y7QUFDRixHQW5CUSxFQW1CTixDQUFDQyxVQUFELEVBQWFFLEtBQWIsRUFBb0IrQyxPQUFwQixDQW5CTSxDQUFUO0FBcUJBLE1BQU1JLGVBQWUsR0FBR2QsY0FBYyxHQUFHRixZQUFILEdBQWtCQyxhQUF4RDtBQUNBLE1BQU1nQixlQUFlLEdBQUc1RCxxQkFBcUIsQ0FBQztBQUM1Q29DLElBQUFBLE1BQU0sRUFBTkEsTUFENEM7QUFFNUMvQixJQUFBQSxpQkFBaUIsRUFBakJBLGlCQUY0QztBQUc1QzZCLElBQUFBLE9BQU8sRUFBUEEsT0FINEM7QUFJNUNDLElBQUFBLEtBQUssRUFBTEEsS0FKNEM7QUFLNUNVLElBQUFBLGNBQWMsRUFBZEEsY0FMNEM7QUFNNUNjLElBQUFBLGVBQWUsRUFBZkEsZUFONEM7QUFPNUNFLElBQUFBLGlCQUFpQixFQUFFdkQsVUFQeUI7QUFRNUN3RCxJQUFBQSxZQUFZLEVBQUV0RCxLQVI4QjtBQVM1Q2tDLElBQUFBLFVBQVUsRUFBVkEsVUFUNEM7QUFVNUNMLElBQUFBLE1BQU0sRUFBTkE7QUFWNEMsR0FBRCxDQUE3QztBQWFBO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNFLFdBQVMwQixpQkFBVCxDQUEyQnBELFlBQTNCLEVBQXlDO0FBQUE7O0FBQ3ZDLFFBQUlxRCxhQUFhLEdBQUdyRCxZQUFwQjtBQUNBLFFBQU1zRCxhQUFhLHFCQUFHRCxhQUFILG1EQUFHLGVBQWVFLEtBQWYsQ0FBcUIsR0FBckIsQ0FBdEI7O0FBRUEsUUFBSSxDQUFBRCxhQUFhLFNBQWIsSUFBQUEsYUFBYSxXQUFiLFlBQUFBLGFBQWEsQ0FBRWhELE1BQWYsSUFBd0IsQ0FBNUIsRUFBK0I7QUFBRTtBQUMvQitDLE1BQUFBLGFBQWEsR0FBR0MsYUFBSCxhQUFHQSxhQUFILHVCQUFHQSxhQUFhLENBQUVFLEtBQWYsQ0FBcUIsQ0FBckIsRUFBd0IsQ0FBeEIsRUFBMkJDLElBQTNCLENBQWdDLEdBQWhDLENBQWhCO0FBQ0Q7O0FBQ0QsV0FBT0osYUFBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0UsTUFBTUssWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ25ELElBQUQsRUFBK0I7QUFBQSxRQUF4Qm9ELFlBQXdCLHVFQUFULElBQVM7QUFDbEQsUUFBSUMsR0FBSjtBQUNBLFFBQUlDLE1BQU0sR0FBR3RELElBQUgsYUFBR0EsSUFBSCx1QkFBR0EsSUFBSSxDQUFFcUQsR0FBbkI7O0FBRUEsUUFBSUMsTUFBSixFQUFZO0FBQUE7O0FBQ1YvQixNQUFBQSxXQUFXLENBQUMsSUFBRCxDQUFYLENBRFUsQ0FDUTtBQUVsQjtBQUNBOztBQUNBLHFCQUFJK0IsTUFBSixvQ0FBSSxRQUFRMUMsUUFBUixDQUFpQixNQUFqQixDQUFKLEVBQThCO0FBQUE7O0FBQzVCLFlBQU0yQyxLQUFLLGVBQUdELE1BQUgsNkNBQUcsU0FBUU4sS0FBUixDQUFjLEdBQWQsQ0FBZDs7QUFENEIsNkJBRVBPLEtBQUssQ0FBQyxDQUFELENBQUwsQ0FBU1AsS0FBVCxDQUFlLEdBQWYsQ0FGTztBQUFBO0FBQUEsWUFFbkJRLFFBRm1COztBQUc1QkYsUUFBQUEsTUFBTSxxQkFBY0UsUUFBZCxjQUEwQkQsS0FBSyxDQUFDTixLQUFOLENBQVksQ0FBWixFQUFlQyxJQUFmLENBQW9CLEdBQXBCLENBQTFCLENBQU47QUFDRDs7QUFFRCxVQUFJO0FBQ0ZHLFFBQUFBLEdBQUcsR0FBRyxJQUFJSSxHQUFKLENBQVFILE1BQVIsQ0FBTjtBQUNELE9BRkQsQ0FFRSxnQkFBTTtBQUNOSSxRQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSxhQUFaLEVBQTJCM0QsSUFBSSxDQUFDcUQsR0FBaEM7QUFDQXJCLFFBQUFBLG9CQUFvQixDQUFDNEIsU0FBckIsQ0FBK0I1RCxJQUFJLENBQUNxRCxHQUFwQztBQUNBOUIsUUFBQUEsV0FBVyxDQUFDeEQsV0FBRCxDQUFYO0FBQ0FxRixRQUFBQSxZQUFZLElBQUlBLFlBQVksQ0FBQyxLQUFELENBQTVCO0FBQ0E7QUFDRDtBQUNGOztBQUVELFFBQUlDLEdBQUosRUFBUztBQUNQOUIsTUFBQUEsV0FBVyxDQUFDLElBQUQsQ0FBWCxDQURPLENBQ1c7O0FBQ2xCLFVBQUlzQyxPQUFKO0FBQ0EsVUFBSUwsU0FBUSxHQUFHSCxHQUFHLENBQUNHLFFBQW5COztBQUVBLFVBQUlBLFNBQUosRUFBYztBQUNaLFlBQUlBLFNBQVEsaUJBQVosRUFBK0I7QUFDN0I7QUFDQUEsVUFBQUEsU0FBUSxHQUFHLFNBQVNBLFNBQXBCLENBRjZCLENBRUE7QUFDOUI7O0FBRUQsWUFBSUgsR0FBRyxDQUFDUyxJQUFSLEVBQWM7QUFDWk4sVUFBQUEsU0FBUSxJQUFJLE1BQU1ILEdBQUcsQ0FBQ1MsSUFBdEI7QUFDRDs7QUFDREQsUUFBQUEsT0FBTyxHQUFHLGFBQWFMLFNBQXZCO0FBQ0Q7O0FBRUQsVUFBSU8sSUFBSSxHQUFHVCxNQUFYOztBQUVBLFVBQUksQ0FBQ0QsR0FBTCxFQUFVO0FBQUU7QUFDVmxFLFFBQUFBLGlCQUFpQixHQUFHTiw0QkFBNEIsQ0FBQ1UsVUFBRCxFQUFhMkIsTUFBYixFQUFxQlMsY0FBckIsRUFBcUNjLGVBQXJDLENBQWhELENBRFEsQ0FDOEY7O0FBQ3RHc0IsUUFBQUEsSUFBSSxHQUFHNUUsaUJBQWlCLENBQUNNLFlBQXpCO0FBQ0QsT0F0Qk0sQ0F3QlA7OztBQUNBL0IsTUFBQUEsSUFBSSxDQUFDc0csd0JBQUwsQ0FBOEI7QUFDNUJ2RSxRQUFBQSxZQUFZLEVBQUVzRSxJQURjO0FBRTVCRSxRQUFBQSxTQUFTLEVBQUU7QUFDVEMsVUFBQUEsU0FBUyxFQUFFaEQsTUFERjtBQUVURixVQUFBQSxPQUFPLEVBQUVBLE9BRkE7QUFHVEMsVUFBQUEsS0FBSyxFQUFFQTtBQUhFLFNBRmlCO0FBTzVCa0QsUUFBQUEsTUFBTSxFQUFFO0FBQ045RCxVQUFBQSxNQUFNLEVBQUV3RCxPQURGO0FBRU5PLFVBQUFBLEtBQUssRUFBRTtBQUFFQyxZQUFBQSxNQUFNLEVBQUUsSUFBSSxFQUFKLEdBQVMsRUFBVCxHQUFjO0FBQXhCLFdBRkQsQ0FFaUM7O0FBRmpDO0FBUG9CLE9BQTlCLEVBV0dDLElBWEgsQ0FXUSxVQUFBQyxRQUFRLEVBQUk7QUFDbEIsWUFBSUMsS0FBSyxHQUFHbEcsb0JBQVo7QUFDQSxZQUFJbUcsWUFBWSxHQUFHLElBQW5COztBQUVBLFlBQUlGLFFBQUosRUFBYztBQUNaO0FBRFksc0NBTVI5RixxQkFBcUIsQ0FBQzhGLFFBQUQsQ0FOYjtBQUFBLGNBR1Z4RCxNQUhVLHlCQUdWQSxLQUhVO0FBQUEsY0FJVjJELE9BSlUseUJBSVZBLE9BSlU7QUFBQSxjQUtWakUsT0FMVSx5QkFLVkEsT0FMVTs7QUFPWixjQUFNRSxXQUFXLEdBQUdILG1CQUFtQixDQUFDQyxPQUFELENBQXZDOztBQUVBLGNBQUksQ0FBQ0UsV0FBTCxFQUFrQjtBQUNoQitDLFlBQUFBLE9BQU8sQ0FBQ2lCLElBQVIsZ0ZBQXFGWixJQUFyRjtBQUNBUyxZQUFBQSxLQUFLLEdBQUdqRyx3QkFBUjtBQUNELFdBSEQsTUFHTyxJQUFJd0MsTUFBSyxJQUFJMkQsT0FBYixFQUFzQjtBQUMzQjtBQUNBRCxZQUFBQSxZQUFZLEdBQUc3RixrQkFBa0IsQ0FBQztBQUNoQ21DLGNBQUFBLEtBQUssRUFBTEEsTUFEZ0M7QUFFaENWLGNBQUFBLE1BQU0sRUFBRXdELE9BRndCO0FBR2hDdkUsY0FBQUEsS0FBSyxFQUFFaUYsUUFBUSxDQUFDSyxRQUhnQjtBQUloQ3hFLGNBQUFBLEdBQUcsRUFBRW1FLFFBQVEsQ0FBQ25FLEdBQVQsSUFBZ0IsUUFKVztBQUtoQ2hCLGNBQUFBLFVBQVUsRUFBRW1GLFFBQVEsQ0FBQ25GLFVBTFc7QUFNaENHLGNBQUFBLFVBQVUsRUFBRWdGLFFBQVEsQ0FBQ2hGLFVBTlc7QUFPaENFLGNBQUFBLFlBQVksRUFBRW9ELGlCQUFpQixDQUFDMEIsUUFBRCxhQUFDQSxRQUFELHVCQUFDQSxRQUFRLENBQUU5RSxZQUFYLENBUEM7QUFRaEM0QixjQUFBQSxrQkFBa0IsRUFBbEJBLGtCQVJnQztBQVNoQ0MsY0FBQUEscUJBQXFCLEVBQXJCQTtBQVRnQyxhQUFELENBQWpDO0FBV0FtRCxZQUFBQSxZQUFZLENBQUMsV0FBRCxDQUFaLEdBQTRCLElBQTVCO0FBQ0F6QyxZQUFBQSxvQkFBb0IsQ0FBQ3RDLGdCQUFyQixDQUFzQytFLFlBQXRDLEVBZDJCLENBY3lCOztBQUNwRHhDLFlBQUFBLG9CQUFvQixDQUFDd0MsWUFBRCxDQUFwQjtBQUNBRCxZQUFBQSxLQUFLLEdBQUcsSUFBUixDQWhCMkIsQ0FnQmQ7QUFDZCxXQWpCTSxNQWlCQTtBQUNMZCxZQUFBQSxPQUFPLENBQUNjLEtBQVIsQ0FBYyx3QkFBZCxFQUF3Q3hFLElBQUksQ0FBQ3FELEdBQTdDO0FBQ0FtQixZQUFBQSxLQUFLLEdBQUd4Ryw0QkFBUjtBQUNEO0FBQ0YsU0FqQ0QsTUFpQ087QUFDTDBGLFVBQUFBLE9BQU8sQ0FBQ2MsS0FBUixDQUFjLFdBQWQsRUFBMkJ4RSxJQUFJLENBQUNxRCxHQUFoQztBQUNEOztBQUNEckIsUUFBQUEsb0JBQW9CLENBQUM0QixTQUFyQixDQUErQjVELElBQUksQ0FBQ3FELEdBQXBDOztBQUVBLFlBQUltQixLQUFLLEtBQUtsRyxvQkFBZCxFQUFvQztBQUFFO0FBQUYsZ0NBQ0VJLGNBQWMsQ0FBQ3NCLElBQUksQ0FBQ3FELEdBQU4sQ0FEaEI7QUFBQSxjQUMxQndCLFFBRDBCLG1CQUMxQkEsUUFEMEI7QUFBQSxjQUNoQkMsYUFEZ0IsbUJBQ2hCQSxhQURnQjs7QUFHbEMsY0FBSSxDQUFDRCxRQUFMLEVBQWU7QUFDYkwsWUFBQUEsS0FBSyxHQUFHekcsV0FBUjtBQUNELFdBRkQsTUFFTyxJQUFJK0csYUFBSixFQUFtQjtBQUN4Qk4sWUFBQUEsS0FBSyxHQUFHbEcsb0JBQVI7QUFDRCxXQUZNLE1BRUE7QUFDTGtHLFlBQUFBLEtBQUssR0FBRzFHLHNCQUFSO0FBQ0Q7QUFDRjs7QUFDRHlELFFBQUFBLFdBQVcsQ0FBQ2lELEtBQUQsQ0FBWDtBQUNBcEIsUUFBQUEsWUFBWSxJQUFJQSxZQUFZLENBQUMsQ0FBQ29CLEtBQUYsRUFBU0MsWUFBVCxDQUE1QjtBQUNELE9BbEVEO0FBbUVELEtBNUZELE1BNEZPO0FBQUU7QUFDUGxELE1BQUFBLFdBQVcsQ0FBQyxJQUFELENBQVgsQ0FESyxDQUNhOztBQUNsQlUsTUFBQUEsb0JBQW9CLENBQUNqQyxJQUFELENBQXBCO0FBQ0FvRCxNQUFBQSxZQUFZLElBQUlBLFlBQVksQ0FBQyxJQUFELENBQTVCO0FBQ0Q7QUFDRixHQTNIRDs7QUE2SEEsU0FBTztBQUNMVixJQUFBQSxlQUFlLEVBQWZBLGVBREs7QUFFTFMsSUFBQUEsWUFBWSxFQUFaQSxZQUZLO0FBR0xuQixJQUFBQSxvQkFBb0IsRUFBcEJBO0FBSEssR0FBUDtBQUtEO0FBRUQsZUFBZW5CLG9CQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0ICogYXMgaXNFcXVhbCBmcm9tICdkZWVwLWVxdWFsJ1xuaW1wb3J0IHsgS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSwgU2NyaXB0dXJlVmVyc2lvbkhpc3RvcnkgfSBmcm9tICcuLi91dGlscy9TY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSdcbmltcG9ydCB7XG4gIElOVkFMSURfUkVQT19VUkxfRVJST1IsXG4gIElOVkFMSURfVVJMLFxuICBNQU5JRkVTVF9JTlZBTElEX1NIT1JUX0VSUk9SLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE5UX09SSUdfTEFORyxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIE9UX09SSUdfTEFORyxcbiAgUkVQT19OT1RfRk9VTkRfRVJST1IsXG4gIFJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUixcbiAgc2V0TG9jYWxTdG9yYWdlVmFsdWUsXG4gIHBhcnNlUmVzb3VyY2VNYW5pZmVzdCxcbiAgdmFsaWRhdGVEY3NVcmwsXG59IGZyb20gJy4uJ1xuaW1wb3J0IHtcbiAgZ2V0UmVzb3VyY2VMaW5rLFxuICBnZXRTY3JpcHR1cmVPYmplY3QsXG4gIGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MsXG59IGZyb20gJy4uL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHVzZVNjcmlwdHVyZVJlc291cmNlcyBmcm9tICcuL3VzZVNjcmlwdHVyZVJlc291cmNlcydcblxuY29uc3QgS0VZX1NFVFRJTkdTX0JBU0UgPSAnc2NyaXB0dXJlUGFuZUNvbmZpZ18nXG5jb25zdCBLRVlfVEFSR0VUX0JBU0UgPSAnc2NyaXB0dXJlUGFuZVRhcmdldF8nXG5cbmZ1bmN0aW9uIGZpeFNjcmlwdHVyZVNldHRpbmdzKHZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpIHtcbiAgLy8gY2xlYW4gdXAgaGFyZC1jb2RlZCBvcmlnaW5hbCBzb3VyY2VzXG4gIGlmICgoc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAoc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSkge1xuICAgIGlmICgoc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCAhPT0gTlRfT1JJR19MQU5HKSAmJiAoc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCAhPT0gT1RfT1JJR19MQU5HKSkgeyAvLyBpZiB0aGlzIGlzIHRyYWNrIHdpdGggY3VycmVudCBzZWxlY3RlZCBsYW5ndWFnZSBhbmQgdGVzdGFtZW50IG9mIGJvb2tcbiAgICAgIGNvbnN0IG5ld1NjcmlwdHVyZVNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVTZXR0aW5ncyB9XG4gICAgICBuZXdTY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID0gbGFuZ3VhZ2VJZFxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IE9SSUdJTkFMX1NPVVJDRVxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBvd25lclxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKG5ld1NjcmlwdHVyZVNldHRpbmdzKVxuICAgICAgc2V0TG9jYWxTdG9yYWdlVmFsdWUoS0VZX1NFVFRJTkdTX0JBU0UgKyBjYXJkTnVtLCBuZXdTY3JpcHR1cmVTZXR0aW5ncylcbiAgICAgIHZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3U2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgfVxuICB9XG5cbiAgLy8gY2xlYW4gaGlzdG9yeSBvZiBvcmlnaW5hbCBzb3VyY2VzXG4gIGxldCBoaXN0b3J5ID0gdmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KCkgfHwgW11cbiAgbGV0IG1vZGlmaWVkID0gZmFsc2VcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGhpc3RvcnkubGVuZ3RoOyBpKyspIHsgLy8gc2VhcmNoIGZvciBvcmlnaW5hbCBzb3VyY2UgZHVwbGljYXRlcyBpbiBoaXN0b3J5XG4gICAgY29uc3QgaXRlbSA9IGhpc3RvcnlbaV1cbiAgICBjb25zdCByZXNvdXJjZUlkID0gaXRlbS5yZXNvdXJjZUlkXG5cbiAgICBpZiAoKHJlc291cmNlSWQgPT09IE5UX09SSUdfTEFOR19CSUJMRSkgfHwgKHJlc291cmNlSWQgPT09IE9UX09SSUdfTEFOR19CSUJMRSkgfHwgKHJlc291cmNlSWQgPT09IE9SSUdJTkFMX1NPVVJDRSkpIHtcbiAgICAgIGZvciAoIGxldCBqID0gaSArIDE7IGogPCBoaXN0b3J5Lmxlbmd0aDsgaisrKSB7IC8vIHNlYXJjaCByZXN0IG9mIGxpc3QgZm9yIGR1cGxpY2F0ZXMgb2YgaXRlbSBhdCBpXG4gICAgICAgIGNvbnN0IG1hdGNoX2l0ZW0gPSBoaXN0b3J5W2pdXG4gICAgICAgIGNvbnN0IG1hdGNoX3Jlc291cmNlSWQgPSBtYXRjaF9pdGVtLnJlc291cmNlSWRcblxuICAgICAgICBpZiAoKG1hdGNoX3Jlc291cmNlSWQgPT09IHJlc291cmNlSWQpKSB7XG4gICAgICAgICAgaWYgKChpdGVtLm93bmVyID09PSBtYXRjaF9pdGVtLm93bmVyKSAmJlxuICAgICAgICAgICAgKGl0ZW0ucmVmID09PSBtYXRjaF9pdGVtLnJlZikgJiZcbiAgICAgICAgICAgIChpdGVtLnNlcnZlciA9PT0gbWF0Y2hfaXRlbS5zZXJ2ZXIpICYmXG4gICAgICAgICAgICAoaXRlbS5yZXNvdXJjZUlkID09PSBtYXRjaF9pdGVtLnJlc291cmNlSWQpKSB7XG4gICAgICAgICAgICBoaXN0b3J5LnNwbGljZShqLCAxKSAvLyByZW1vdmUgZHVwbGljYXRlIGl0ZW1cbiAgICAgICAgICAgIG1vZGlmaWVkID0gdHJ1ZVxuICAgICAgICAgICAgai0tIC8vIGJhY2sgdXAgaW5kZXggc2luY2UgY29udGVudHMgc2hpZnRlZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChtb2RpZmllZCkge1xuICAgIHZlcnNpb25IaXN0LnNhdmVIaXN0b3J5KGhpc3RvcnkpXG4gIH1cbn1cblxuZnVuY3Rpb24gaXNTY3JpcHR1cmVSZXNvdXJjZShzdWJqZWN0KSB7XG4gIGNvbnN0IEJpYmxlUmVzb3VyY2VzID0gWyAnQmlibGUnLCAnQWxpZ25lZCBCaWJsZScsICdHcmVlayBOZXcgVGVzdGFtZW50JywgJ0hlYnJldyBPbGQgVGVzdGFtZW50JyBdXG4gIGNvbnN0IGlzU2NyaXB0dXJlID0gQmlibGVSZXNvdXJjZXMuaW5jbHVkZXMoc3ViamVjdClcbiAgcmV0dXJuIGlzU2NyaXB0dXJlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTY3JpcHR1cmVTZXR0aW5ncyh7XG4gIGlzTlQsXG4gIHRpdGxlLFxuICBjYXJkTnVtLFxuICBjaGFwdGVyLFxuICB2ZXJzZSxcbiAgYm9va0lkLFxuICBvd25lcixcbiAgc2VydmVyLFxuICBhcHBSZWYsXG4gIGxhbmd1YWdlSWQsXG4gIHJlc291cmNlSWQsXG4gIHJlc291cmNlTGluayxcbiAgdXNlVXNlckxvY2FsU3RvcmFnZSxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gIHNldFVybEVycm9yLFxuICBodHRwQ29uZmlnLFxuICBncmVla1JlcG9VcmwsXG4gIGhlYnJld1JlcG9VcmwsXG59KSB7XG4gIGNvbnN0IGlzTmV3VGVzdGFtZW50ID0gaXNOVChib29rSWQpXG4gIGNvbnN0IHNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncyA9IGdldFNjcmlwdHVyZU9iamVjdCh7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIHJlZjogYXBwUmVmLFxuICAgIGxhbmd1YWdlSWQsXG4gICAgcmVzb3VyY2VJZCxcbiAgICByZXNvdXJjZUxpbmssXG4gICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgfSlcbiAgY29uc3QgW3ZlcnNpb25IaXN0b3J5LCBzYXZlVmVyc2lvbkhpc3QsIHJlZnJlc2hWZXJzaW9uSGlzdF0gPSB1c2VVc2VyTG9jYWxTdG9yYWdlKEtFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlksIFtdKVxuICBjb25zdCBzY3JpcHR1cmVWZXJzaW9uSGlzdCA9IG5ldyBTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSh2ZXJzaW9uSGlzdG9yeSwgc2F2ZVZlcnNpb25IaXN0LCByZWZyZXNoVmVyc2lvbkhpc3QpXG5cbiAgbGV0IFtzY3JpcHR1cmVTZXR0aW5ncywgc2V0U2NyaXB0dXJlU2V0dGluZ3NdID0gdXNlVXNlckxvY2FsU3RvcmFnZShLRVlfU0VUVElOR1NfQkFTRSArIGNhcmROdW0sIHNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncylcbiAgY29uc3QgY3VycmVudFRhcmdldCA9IHtcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgfVxuICBjb25zdCBbdGFyZ2V0LCBzZXRUYXJnZXRdID0gdXNlVXNlckxvY2FsU3RvcmFnZShLRVlfVEFSR0VUX0JBU0UgKyBjYXJkTnVtLCBjdXJyZW50VGFyZ2V0KVxuICBjb25zdCBbY2xlYW5VcCwgc2V0Q2xlYW5VcF0gPSB1c2VTdGF0ZSh0cnVlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxhbmd1YWdlSWQgJiYgb3duZXIpIHsgLy8gbWFrZSBzdXJlIHdlIGhhdmUgbGFuZ3VhZ2VJZCBhbmQgb3duZXIgc2VsZWN0ZWQgZmlyc3RcbiAgICAgIGlmIChjbGVhblVwKSB7IC8vIGRvIGluaXRpYWwgY2xlYW51cFxuICAgICAgICBmaXhTY3JpcHR1cmVTZXR0aW5ncyhzY3JpcHR1cmVWZXJzaW9uSGlzdCwgc2NyaXB0dXJlU2V0dGluZ3MsIGxhbmd1YWdlSWQsIGNhcmROdW0sIG93bmVyKVxuICAgICAgICBzZXRDbGVhblVwKGZhbHNlKVxuICAgICAgfVxuXG4gICAgICBpZiAoIWlzRXF1YWwoY3VycmVudFRhcmdldCwgdGFyZ2V0KSkgeyAvLyB3aGVuIHRhcmdldCBjaGFuZ2VzLCBzd2l0Y2ggYmFjayB0byBkZWZhdWx0c1xuICAgICAgICBjb25zdCBvbGREZWZhdWx0U2V0dGluZ3MgPSB7IC4uLnNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncywgLi4udGFyZ2V0IH1cbiAgICAgICAgb2xkRGVmYXVsdFNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhvbGREZWZhdWx0U2V0dGluZ3MpXG4gICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LnJlbW92ZUl0ZW0ob2xkRGVmYXVsdFNldHRpbmdzKSAvLyByZW1vdmUgb2xkIGRlZmF1bHQgc2V0dGluZ3MgZnJvbSBoaXN0b3J5XG4gICAgICAgIGZpeFNjcmlwdHVyZVNldHRpbmdzKHNjcmlwdHVyZVZlcnNpb25IaXN0LCBzY3JpcHR1cmVTZXR0aW5ncywgbGFuZ3VhZ2VJZCwgY2FyZE51bSwgb3duZXIpXG5cbiAgICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3Moc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzKVxuICAgICAgICBzZXRUYXJnZXQoY3VycmVudFRhcmdldClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3Rvcnkoc2NyaXB0dXJlU2V0dGluZ3MpIC8vIG1ha2Ugc3VyZSBjdXJyZW50IHNjcmlwdHVyZSB2ZXJzaW9uIHBlcnNpc3RlZCBpbiBoaXN0b3J5XG4gICAgICB9XG4gICAgfVxuICB9LCBbbGFuZ3VhZ2VJZCwgb3duZXIsIGNsZWFuVXBdKVxuXG4gIGNvbnN0IG9yaWdpbmFsUmVwb1VybCA9IGlzTmV3VGVzdGFtZW50ID8gZ3JlZWtSZXBvVXJsIDogaGVicmV3UmVwb1VybFxuICBjb25zdCBzY3JpcHR1cmVDb25maWcgPSB1c2VTY3JpcHR1cmVSZXNvdXJjZXMoe1xuICAgIGJvb2tJZCxcbiAgICBzY3JpcHR1cmVTZXR0aW5ncyxcbiAgICBjaGFwdGVyLFxuICAgIHZlcnNlLFxuICAgIGlzTmV3VGVzdGFtZW50LFxuICAgIG9yaWdpbmFsUmVwb1VybCxcbiAgICBjdXJyZW50TGFuZ3VhZ2VJZDogbGFuZ3VhZ2VJZCxcbiAgICBjdXJyZW50T3duZXI6IG93bmVyLFxuICAgIGh0dHBDb25maWcsXG4gICAgYXBwUmVmLFxuICB9KVxuXG4gIC8qKlxuICAgKiBtYWtlIHN1cmUgdGhhdCBib29rSWQgb3IgcHJvamVjdElkIGFyZSBub3QgZW1iZWRkZWQgaW4gbGluay5cbiAgICogICAgRm9yIGV4YW1wbGUgaW4gYHJ1X2dsL3J1L3Jzb2IvbWFzdGVyL2hlYmAgdGhlIHByb2plY3RJZCBoZWIgaXMgaW4gdGhlIGxpbmsgYW5kIHdpbGwgb3ZlcnJpZGUgdGhlXG4gICAqICAgIHByb2plY3RJZCBpbiB0aGUgcmVmZXJlbmNlIHdoZW4gd2UgdHJ5IHRvIGZldGNoIGxhdGVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZXNvdXJjZUxpbmtcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIGNsZWFuZWQgdXAgcmVzb3VyY2UgbGlua1xuICAgKi9cbiAgZnVuY3Rpb24gY2xlYW5SZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rKSB7XG4gICAgbGV0IHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtcbiAgICBjb25zdCByZXNvdXJjZUxpbmtzID0gcmVzb3VyY2VMaW5rXz8uc3BsaXQoJy8nKVxuXG4gICAgaWYgKHJlc291cmNlTGlua3M/Lmxlbmd0aCA+IDQpIHsgLy8gaWYgdG9vIG1hbnkgZmllbGRzLCB0aGVuIHRyaW1cbiAgICAgIHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtzPy5zbGljZSgwLCA0KS5qb2luKCcvJylcbiAgICB9XG4gICAgcmV0dXJuIHJlc291cmNlTGlua19cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayB0byBlaXRoZXIgYWRkIG5ldyBzY3JpcHR1cmUgaXRlbSBvciBzZWxlY3QgZXhpc3RpbmcgaXRlbSBpbiBoaXN0b3J5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBpdGVtIC0gbmV3IGl0ZW0gdG8gYWRkIG9yIGV4aXN0aW5nIGl0ZW0gdG8gc2VsZWN0IGZyb20gaGlzdG9yeVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSB2YWxpZGF0aW9uQ0IgLSBjYWxsYmFjayBmdW5jdGlvbiB0byBwYXNzIGJhY2sgaWYgaXRlbSB1cmwgd2FzIHZhbGlkIG9yIG5vdFxuICAgKi9cbiAgY29uc3Qgc2V0U2NyaXB0dXJlID0gKGl0ZW0sIHZhbGlkYXRpb25DQiA9IG51bGwpID0+IHtcbiAgICBsZXQgdXJsXG4gICAgbGV0IG5ld1VybCA9IGl0ZW0/LnVybFxuXG4gICAgaWYgKG5ld1VybCkge1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcblxuICAgICAgLy8gaGFuZGxlOiBgZ2l0QGdpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdGBcbiAgICAgIC8vICAgIGJ5IG1hcHBpbmcgdG8gaHR0cHMgZ2l0IGZldGNoIHVybCAoZS5nLiBodHRwczovL2dpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdClcbiAgICAgIGlmIChuZXdVcmw/LmluY2x1ZGVzKCdnaXRAJykpIHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBuZXdVcmw/LnNwbGl0KCc6JylcbiAgICAgICAgY29uc3QgWywgaG9zdG5hbWVdID0gcGFydHNbMF0uc3BsaXQoJ0AnKVxuICAgICAgICBuZXdVcmwgPSBgaHR0cHM6Ly8ke2hvc3RuYW1lfS8ke3BhcnRzLnNsaWNlKDEpLmpvaW4oJzonKX1gXG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwobmV3VXJsKVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdpbGxlZ2FsIHVybCcsIGl0ZW0udXJsKVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG4gICAgICAgIHNldFVybEVycm9yKElOVkFMSURfVVJMKVxuICAgICAgICB2YWxpZGF0aW9uQ0IgJiYgdmFsaWRhdGlvbkNCKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgbGV0IHNlcnZlcl9cbiAgICAgIGxldCBob3N0bmFtZSA9IHVybC5ob3N0bmFtZVxuXG4gICAgICBpZiAoaG9zdG5hbWUpIHtcbiAgICAgICAgaWYgKGhvc3RuYW1lID09PSBgZG9vcjQzLm9yZ2ApIHtcbiAgICAgICAgICAvLyBoYW5kbGUgY2FzZSBvZiBsaW5rIHRvIGQ0MyByZWFkZXIgcGFnZSAoZS5nLiBodHRwczovL2Rvb3I0My5vcmcvdS91bmZvbGRpbmdXb3JkL2VuX3VsdC8pXG4gICAgICAgICAgaG9zdG5hbWUgPSAnZ2l0LicgKyBob3N0bmFtZSAvLyByZWRpcmVjdCB0byBnaXQgcmVwb1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHVybC5wb3J0KSB7XG4gICAgICAgICAgaG9zdG5hbWUgKz0gJzonICsgdXJsLnBvcnRcbiAgICAgICAgfVxuICAgICAgICBzZXJ2ZXJfID0gJ2h0dHBzOi8vJyArIGhvc3RuYW1lXG4gICAgICB9XG5cbiAgICAgIGxldCB1cmxfID0gbmV3VXJsXG5cbiAgICAgIGlmICghdXJsKSB7IC8vIGlmIG5vdCBhIG5ldyByZXNvdXJjZVxuICAgICAgICBzY3JpcHR1cmVTZXR0aW5ncyA9IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MocmVzb3VyY2VJZCwgYm9va0lkLCBpc05ld1Rlc3RhbWVudCwgb3JpZ2luYWxSZXBvVXJsKSAvLyBjb252ZXJ0IGFueSBkZWZhdWx0IHNldHRpbmdzIHN0cmluZ3NcbiAgICAgICAgdXJsXyA9IHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGlua1xuICAgICAgfVxuXG4gICAgICAvLyBtYWtlIHN1cmUgaXQgZXhpc3RzXG4gICAgICBjb3JlLnJlc291cmNlRnJvbVJlc291cmNlTGluayh7XG4gICAgICAgIHJlc291cmNlTGluazogdXJsXyxcbiAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgcHJvamVjdElkOiBib29rSWQsXG4gICAgICAgICAgY2hhcHRlcjogY2hhcHRlcixcbiAgICAgICAgICB2ZXJzZTogdmVyc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIHNlcnZlcjogc2VydmVyXyxcbiAgICAgICAgICBjYWNoZTogeyBtYXhBZ2U6IDEgKiA2MCAqIDYwICogMTAwMCB9LCAvLyAxIGhyXG4gICAgICAgIH0sXG4gICAgICB9KS50aGVuKHJlc291cmNlID0+IHtcbiAgICAgICAgbGV0IGVycm9yID0gUkVQT19OT1RfRk9VTkRfRVJST1JcbiAgICAgICAgbGV0IG5ld1NjcmlwdHVyZSA9IG51bGxcblxuICAgICAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgICBzdWJqZWN0LFxuICAgICAgICAgIH0gPSBwYXJzZVJlc291cmNlTWFuaWZlc3QocmVzb3VyY2UpXG4gICAgICAgICAgY29uc3QgaXNTY3JpcHR1cmUgPSBpc1NjcmlwdHVyZVJlc291cmNlKHN1YmplY3QpXG5cbiAgICAgICAgICBpZiAoIWlzU2NyaXB0dXJlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYHVzZVNjcmlwdHVyZVNldHRpbmdzLnNldFNjcmlwdHVyZSAtIFVSTCBpcyBub3QgYSBzY3JpcHR1cmUgcmVzb3VyY2U6ICR7dXJsX31gKVxuICAgICAgICAgICAgZXJyb3IgPSBSRVBPX05PVF9TQ1JJUFRVUkVfRVJST1JcbiAgICAgICAgICB9IGVsc2UgaWYgKHRpdGxlICYmIHZlcnNpb24pIHtcbiAgICAgICAgICAgIC8vIHdlIHN1Y2NlZWRlZCBpbiBnZXR0aW5nIHJlc291cmNlIC0gdXNlIGl0XG4gICAgICAgICAgICBuZXdTY3JpcHR1cmUgPSBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgc2VydmVyOiBzZXJ2ZXJfLFxuICAgICAgICAgICAgICBvd25lcjogcmVzb3VyY2UudXNlcm5hbWUsXG4gICAgICAgICAgICAgIHJlZjogcmVzb3VyY2UucmVmIHx8ICdtYXN0ZXInLFxuICAgICAgICAgICAgICBsYW5ndWFnZUlkOiByZXNvdXJjZS5sYW5ndWFnZUlkLFxuICAgICAgICAgICAgICByZXNvdXJjZUlkOiByZXNvdXJjZS5yZXNvdXJjZUlkLFxuICAgICAgICAgICAgICByZXNvdXJjZUxpbms6IGNsZWFuUmVzb3VyY2VMaW5rKHJlc291cmNlPy5yZXNvdXJjZUxpbmspLFxuICAgICAgICAgICAgICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gICAgICAgICAgICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBuZXdTY3JpcHR1cmVbJ3VzZXJBZGRlZCddID0gdHJ1ZVxuICAgICAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QuYWRkSXRlbVRvSGlzdG9yeShuZXdTY3JpcHR1cmUpIC8vIHBlcnNpc3QgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3MobmV3U2NyaXB0dXJlKVxuICAgICAgICAgICAgZXJyb3IgPSBudWxsIC8vIG5vIGVycm9yXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIHBhcnNpbmcgbWFuaWZlc3QnLCBpdGVtLnVybClcbiAgICAgICAgICAgIGVycm9yID0gTUFOSUZFU1RfSU5WQUxJRF9TSE9SVF9FUlJPUlxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdub3QgZm91bmQnLCBpdGVtLnVybClcbiAgICAgICAgfVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG5cbiAgICAgICAgaWYgKGVycm9yID09PSBSRVBPX05PVF9GT1VORF9FUlJPUikgeyAvLyBpZiBnZW5lcmljIGVycm9yLCB2YWxpZGF0ZSB0aGUgVVJMXG4gICAgICAgICAgY29uc3QgeyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9ID0gdmFsaWRhdGVEY3NVcmwoaXRlbS51cmwpXG5cbiAgICAgICAgICBpZiAoIXZhbGlkVXJsKSB7XG4gICAgICAgICAgICBlcnJvciA9IElOVkFMSURfVVJMXG4gICAgICAgICAgfSBlbHNlIGlmICh2YWxpZFJlcG9QYXRoKSB7XG4gICAgICAgICAgICBlcnJvciA9IFJFUE9fTk9UX0ZPVU5EX0VSUk9SXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yID0gSU5WQUxJRF9SRVBPX1VSTF9FUlJPUlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZXRVcmxFcnJvcihlcnJvcilcbiAgICAgICAgdmFsaWRhdGlvbkNCICYmIHZhbGlkYXRpb25DQighZXJyb3IsIG5ld1NjcmlwdHVyZSlcbiAgICAgIH0pXG4gICAgfSBlbHNlIHsgLy8gc2VsZWN0ZWQgYSBwcmV2aW91cyBzZXR0aW5nXG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3MoaXRlbSlcbiAgICAgIHZhbGlkYXRpb25DQiAmJiB2YWxpZGF0aW9uQ0IodHJ1ZSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHNjcmlwdHVyZUNvbmZpZyxcbiAgICBzZXRTY3JpcHR1cmUsXG4gICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlU2NyaXB0dXJlU2V0dGluZ3NcbiJdfQ==
407
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlU3RhdGUiLCJjb3JlIiwiaXNFcXVhbCIsIktFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlkiLCJTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSIsIklOVkFMSURfUkVQT19VUkxfRVJST1IiLCJJTlZBTElEX1VSTCIsIk1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1IiLCJOVF9PUklHX0xBTkdfQklCTEUiLCJOVF9PUklHX0xBTkciLCJPUklHSU5BTF9TT1VSQ0UiLCJPVF9PUklHX0xBTkdfQklCTEUiLCJPVF9PUklHX0xBTkciLCJSRVBPX05PVF9GT1VORF9FUlJPUiIsIlJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUiIsInNldExvY2FsU3RvcmFnZVZhbHVlIiwicGFyc2VSZXNvdXJjZU1hbmlmZXN0IiwidmFsaWRhdGVEY3NVcmwiLCJnZXRSZXNvdXJjZUxpbmsiLCJnZXRTY3JpcHR1cmVPYmplY3QiLCJnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzIiwidXNlU2NyaXB0dXJlUmVzb3VyY2VzIiwiS0VZX1NFVFRJTkdTX0JBU0UiLCJLRVlfVEFSR0VUX0JBU0UiLCJmaXhTY3JpcHR1cmVTZXR0aW5ncyIsInZlcnNpb25IaXN0Iiwic2NyaXB0dXJlU2V0dGluZ3MiLCJsYW5ndWFnZUlkIiwiY2FyZE51bSIsIm93bmVyIiwicmVzb3VyY2VJZCIsIm5ld1NjcmlwdHVyZVNldHRpbmdzIiwicmVzb3VyY2VMaW5rIiwiYWRkSXRlbVRvSGlzdG9yeSIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJtb2RpZmllZCIsImkiLCJsZW5ndGgiLCJpdGVtIiwiaiIsIm1hdGNoX2l0ZW0iLCJtYXRjaF9yZXNvdXJjZUlkIiwicmVmIiwic2VydmVyIiwic3BsaWNlIiwic2F2ZUhpc3RvcnkiLCJpc1NjcmlwdHVyZVJlc291cmNlIiwic3ViamVjdCIsIkJpYmxlUmVzb3VyY2VzIiwiaXNTY3JpcHR1cmUiLCJpbmNsdWRlcyIsInVzZVNjcmlwdHVyZVNldHRpbmdzIiwiaXNOVCIsInRpdGxlIiwiY2hhcHRlciIsInZlcnNlIiwiYm9va0lkIiwiYmN2UXVlcnkiLCJhcHBSZWYiLCJ1c2VVc2VyTG9jYWxTdG9yYWdlIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwic2V0VXJsRXJyb3IiLCJodHRwQ29uZmlnIiwiZ3JlZWtSZXBvVXJsIiwiaGVicmV3UmVwb1VybCIsImlzTmV3VGVzdGFtZW50Iiwic2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzIiwidmVyc2lvbkhpc3RvcnkiLCJzYXZlVmVyc2lvbkhpc3QiLCJyZWZyZXNoVmVyc2lvbkhpc3QiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsInNldFNjcmlwdHVyZVNldHRpbmdzIiwiY3VycmVudFRhcmdldCIsInNldEN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJzZXRUYXJnZXQiLCJjbGVhblVwIiwic2V0Q2xlYW5VcCIsIm9sZERlZmF1bHRTZXR0aW5ncyIsInJlbW92ZUl0ZW0iLCJvcmlnaW5hbFJlcG9VcmwiLCJzY3JpcHR1cmVDb25maWciLCJjdXJyZW50TGFuZ3VhZ2VJZCIsImN1cnJlbnRPd25lciIsImNsZWFuUmVzb3VyY2VMaW5rIiwicmVzb3VyY2VMaW5rXyIsInJlc291cmNlTGlua3MiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsInNldFNjcmlwdHVyZSIsInZhbGlkYXRpb25DQiIsInVybCIsIm5ld1VybCIsInBhcnRzIiwiaG9zdG5hbWUiLCJVUkwiLCJjb25zb2xlIiwibG9nIiwicmVtb3ZlVXJsIiwic2VydmVyXyIsInBvcnQiLCJ1cmxfIiwicmVzb3VyY2VGcm9tUmVzb3VyY2VMaW5rIiwicmVmZXJlbmNlIiwicHJvamVjdElkIiwiY29uZmlnIiwiY2FjaGUiLCJtYXhBZ2UiLCJ0aGVuIiwicmVzb3VyY2UiLCJlcnJvciIsIm5ld1NjcmlwdHVyZSIsInZlcnNpb24iLCJ3YXJuIiwidXNlcm5hbWUiLCJ2YWxpZFVybCIsInZhbGlkUmVwb1BhdGgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlU2NyaXB0dXJlU2V0dGluZ3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNvcmUgfSBmcm9tICdzY3JpcHR1cmUtcmVzb3VyY2VzLXJjbCdcbmltcG9ydCAqIGFzIGlzRXF1YWwgZnJvbSAnZGVlcC1lcXVhbCdcbmltcG9ydCB7IEtFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlksIFNjcmlwdHVyZVZlcnNpb25IaXN0b3J5IH0gZnJvbSAnLi4vdXRpbHMvU2NyaXB0dXJlVmVyc2lvbkhpc3RvcnknXG5pbXBvcnQge1xuICBJTlZBTElEX1JFUE9fVVJMX0VSUk9SLFxuICBJTlZBTElEX1VSTCxcbiAgTUFOSUZFU1RfSU5WQUxJRF9TSE9SVF9FUlJPUixcbiAgTlRfT1JJR19MQU5HX0JJQkxFLFxuICBOVF9PUklHX0xBTkcsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HX0JJQkxFLFxuICBPVF9PUklHX0xBTkcsXG4gIFJFUE9fTk9UX0ZPVU5EX0VSUk9SLFxuICBSRVBPX05PVF9TQ1JJUFRVUkVfRVJST1IsXG4gIHNldExvY2FsU3RvcmFnZVZhbHVlLFxuICBwYXJzZVJlc291cmNlTWFuaWZlc3QsXG4gIHZhbGlkYXRlRGNzVXJsLFxufSBmcm9tICcuLidcbmltcG9ydCB7XG4gIGdldFJlc291cmNlTGluayxcbiAgZ2V0U2NyaXB0dXJlT2JqZWN0LFxuICBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzLFxufSBmcm9tICcuLi91dGlscy9TY3JpcHR1cmVTZXR0aW5ncydcbmltcG9ydCB1c2VTY3JpcHR1cmVSZXNvdXJjZXMgZnJvbSAnLi91c2VTY3JpcHR1cmVSZXNvdXJjZXMnXG5cbmNvbnN0IEtFWV9TRVRUSU5HU19CQVNFID0gJ3NjcmlwdHVyZVBhbmVDb25maWdfJ1xuY29uc3QgS0VZX1RBUkdFVF9CQVNFID0gJ3NjcmlwdHVyZVBhbmVUYXJnZXRfJ1xuXG5mdW5jdGlvbiBmaXhTY3JpcHR1cmVTZXR0aW5ncyh2ZXJzaW9uSGlzdCwgc2NyaXB0dXJlU2V0dGluZ3MsIGxhbmd1YWdlSWQsIGNhcmROdW0sIG93bmVyKSB7XG4gIC8vIGNsZWFuIHVwIGhhcmQtY29kZWQgb3JpZ2luYWwgc291cmNlc1xuICBpZiAoKHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPT09IE5UX09SSUdfTEFOR19CSUJMRSkgfHwgKHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPT09IE9UX09SSUdfTEFOR19CSUJMRSkpIHtcbiAgICBpZiAoKHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgIT09IE5UX09SSUdfTEFORykgJiYgKHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgIT09IE9UX09SSUdfTEFORykpIHsgLy8gaWYgdGhpcyBpcyB0cmFjayB3aXRoIGN1cnJlbnQgc2VsZWN0ZWQgbGFuZ3VhZ2UgYW5kIHRlc3RhbWVudCBvZiBib29rXG4gICAgICBjb25zdCBuZXdTY3JpcHR1cmVTZXR0aW5ncyA9IHsgLi4uc2NyaXB0dXJlU2V0dGluZ3MgfVxuICAgICAgbmV3U2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9IGxhbmd1YWdlSWRcbiAgICAgIG5ld1NjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBPUklHSU5BTF9TT1VSQ0VcbiAgICAgIG5ld1NjcmlwdHVyZVNldHRpbmdzLm93bmVyID0gb3duZXJcbiAgICAgIG5ld1NjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhuZXdTY3JpcHR1cmVTZXR0aW5ncylcbiAgICAgIHNldExvY2FsU3RvcmFnZVZhbHVlKEtFWV9TRVRUSU5HU19CQVNFICsgY2FyZE51bSwgbmV3U2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgICB2ZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KG5ld1NjcmlwdHVyZVNldHRpbmdzKVxuICAgIH1cbiAgfVxuXG4gIC8vIGNsZWFuIGhpc3Rvcnkgb2Ygb3JpZ2luYWwgc291cmNlc1xuICBsZXQgaGlzdG9yeSA9IHZlcnNpb25IaXN0LmdldExhdGVzdCgpIHx8IFtdXG4gIGxldCBtb2RpZmllZCA9IGZhbHNlXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBoaXN0b3J5Lmxlbmd0aDsgaSsrKSB7IC8vIHNlYXJjaCBmb3Igb3JpZ2luYWwgc291cmNlIGR1cGxpY2F0ZXMgaW4gaGlzdG9yeVxuICAgIGNvbnN0IGl0ZW0gPSBoaXN0b3J5W2ldXG4gICAgY29uc3QgcmVzb3VyY2VJZCA9IGl0ZW0ucmVzb3VyY2VJZFxuXG4gICAgaWYgKChyZXNvdXJjZUlkID09PSBOVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPUklHSU5BTF9TT1VSQ0UpKSB7XG4gICAgICBmb3IgKCBsZXQgaiA9IGkgKyAxOyBqIDwgaGlzdG9yeS5sZW5ndGg7IGorKykgeyAvLyBzZWFyY2ggcmVzdCBvZiBsaXN0IGZvciBkdXBsaWNhdGVzIG9mIGl0ZW0gYXQgaVxuICAgICAgICBjb25zdCBtYXRjaF9pdGVtID0gaGlzdG9yeVtqXVxuICAgICAgICBjb25zdCBtYXRjaF9yZXNvdXJjZUlkID0gbWF0Y2hfaXRlbS5yZXNvdXJjZUlkXG5cbiAgICAgICAgaWYgKChtYXRjaF9yZXNvdXJjZUlkID09PSByZXNvdXJjZUlkKSkge1xuICAgICAgICAgIGlmICgoaXRlbS5vd25lciA9PT0gbWF0Y2hfaXRlbS5vd25lcikgJiZcbiAgICAgICAgICAgIChpdGVtLnJlZiA9PT0gbWF0Y2hfaXRlbS5yZWYpICYmXG4gICAgICAgICAgICAoaXRlbS5zZXJ2ZXIgPT09IG1hdGNoX2l0ZW0uc2VydmVyKSAmJlxuICAgICAgICAgICAgKGl0ZW0ucmVzb3VyY2VJZCA9PT0gbWF0Y2hfaXRlbS5yZXNvdXJjZUlkKSkge1xuICAgICAgICAgICAgaGlzdG9yeS5zcGxpY2UoaiwgMSkgLy8gcmVtb3ZlIGR1cGxpY2F0ZSBpdGVtXG4gICAgICAgICAgICBtb2RpZmllZCA9IHRydWVcbiAgICAgICAgICAgIGotLSAvLyBiYWNrIHVwIGluZGV4IHNpbmNlIGNvbnRlbnRzIHNoaWZ0ZWRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAobW9kaWZpZWQpIHtcbiAgICB2ZXJzaW9uSGlzdC5zYXZlSGlzdG9yeShoaXN0b3J5KVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzU2NyaXB0dXJlUmVzb3VyY2Uoc3ViamVjdCkge1xuICBjb25zdCBCaWJsZVJlc291cmNlcyA9IFsgJ0JpYmxlJywgJ0FsaWduZWQgQmlibGUnLCAnR3JlZWsgTmV3IFRlc3RhbWVudCcsICdIZWJyZXcgT2xkIFRlc3RhbWVudCcgXVxuICBjb25zdCBpc1NjcmlwdHVyZSA9IEJpYmxlUmVzb3VyY2VzLmluY2x1ZGVzKHN1YmplY3QpXG4gIHJldHVybiBpc1NjcmlwdHVyZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlU2NyaXB0dXJlU2V0dGluZ3Moe1xuICBpc05ULFxuICB0aXRsZSxcbiAgY2FyZE51bSxcbiAgY2hhcHRlcixcbiAgdmVyc2UsXG4gIGJvb2tJZCxcbiAgYmN2UXVlcnksXG4gIG93bmVyLFxuICBzZXJ2ZXIsXG4gIGFwcFJlZixcbiAgbGFuZ3VhZ2VJZCxcbiAgcmVzb3VyY2VJZCxcbiAgcmVzb3VyY2VMaW5rLFxuICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgc2V0VXJsRXJyb3IsXG4gIGh0dHBDb25maWcsXG4gIGdyZWVrUmVwb1VybCxcbiAgaGVicmV3UmVwb1VybCxcbn0pIHtcbiAgY29uc3QgaXNOZXdUZXN0YW1lbnQgPSBpc05UKGJvb2tJZClcbiAgY29uc3Qgc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzID0gZ2V0U2NyaXB0dXJlT2JqZWN0KHtcbiAgICB0aXRsZSxcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgcmVmOiBhcHBSZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIHJlc291cmNlTGluayxcbiAgICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICB9KVxuICBjb25zdCBbdmVyc2lvbkhpc3RvcnksIHNhdmVWZXJzaW9uSGlzdCwgcmVmcmVzaFZlcnNpb25IaXN0XSA9IHVzZVVzZXJMb2NhbFN0b3JhZ2UoS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSwgW10pXG4gIGNvbnN0IHNjcmlwdHVyZVZlcnNpb25IaXN0ID0gbmV3IFNjcmlwdHVyZVZlcnNpb25IaXN0b3J5KHZlcnNpb25IaXN0b3J5LCBzYXZlVmVyc2lvbkhpc3QsIHJlZnJlc2hWZXJzaW9uSGlzdClcblxuICBsZXQgW3NjcmlwdHVyZVNldHRpbmdzLCBzZXRTY3JpcHR1cmVTZXR0aW5nc10gPSB1c2VVc2VyTG9jYWxTdG9yYWdlKEtFWV9TRVRUSU5HU19CQVNFICsgY2FyZE51bSwgc2NyaXB0dXJlRGVmYXVsdFNldHRpbmdzKVxuICBjb25zdCBbY3VycmVudFRhcmdldCwgc2V0Q3VycmVudFRhcmdldF0gPSB1c2VTdGF0ZSh7IHNlcnZlciwgb3duZXIsIGxhbmd1YWdlSWQgfSlcbiAgY29uc3QgW3RhcmdldCwgc2V0VGFyZ2V0XSA9IHVzZVVzZXJMb2NhbFN0b3JhZ2UoS0VZX1RBUkdFVF9CQVNFICsgY2FyZE51bSwgY3VycmVudFRhcmdldClcbiAgY29uc3QgW2NsZWFuVXAsIHNldENsZWFuVXBdID0gdXNlU3RhdGUodHJ1ZSlcblxuICB1c2VFZmZlY3QoKCkgPT4gc2V0Q3VycmVudFRhcmdldCh7XG4gICAgc2VydmVyLCBvd25lciwgbGFuZ3VhZ2VJZCxcbiAgfSksIFtzZXJ2ZXIsIG93bmVyLCBsYW5ndWFnZUlkXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChsYW5ndWFnZUlkICYmIG93bmVyKSB7IC8vIG1ha2Ugc3VyZSB3ZSBoYXZlIGxhbmd1YWdlSWQgYW5kIG93bmVyIHNlbGVjdGVkIGZpcnN0XG4gICAgICBpZiAoY2xlYW5VcCkgeyAvLyBkbyBpbml0aWFsIGNsZWFudXBcbiAgICAgICAgZml4U2NyaXB0dXJlU2V0dGluZ3Moc2NyaXB0dXJlVmVyc2lvbkhpc3QsIHNjcmlwdHVyZVNldHRpbmdzLCBsYW5ndWFnZUlkLCBjYXJkTnVtLCBvd25lcilcbiAgICAgICAgc2V0Q2xlYW5VcChmYWxzZSlcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc0VxdWFsKGN1cnJlbnRUYXJnZXQsIHRhcmdldCkpIHsgLy8gd2hlbiB0YXJnZXQgY2hhbmdlcywgc3dpdGNoIGJhY2sgdG8gZGVmYXVsdHNcbiAgICAgICAgY29uc3Qgb2xkRGVmYXVsdFNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVEZWZhdWx0U2V0dGluZ3MsIC4uLnRhcmdldCB9XG4gICAgICAgIG9sZERlZmF1bHRTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsob2xkRGVmYXVsdFNldHRpbmdzKVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVJdGVtKG9sZERlZmF1bHRTZXR0aW5ncykgLy8gcmVtb3ZlIG9sZCBkZWZhdWx0IHNldHRpbmdzIGZyb20gaGlzdG9yeVxuICAgICAgICBmaXhTY3JpcHR1cmVTZXR0aW5ncyhzY3JpcHR1cmVWZXJzaW9uSGlzdCwgc2NyaXB0dXJlU2V0dGluZ3MsIGxhbmd1YWdlSWQsIGNhcmROdW0sIG93bmVyKVxuXG4gICAgICAgIHNldFNjcmlwdHVyZVNldHRpbmdzKHNjcmlwdHVyZURlZmF1bHRTZXR0aW5ncylcbiAgICAgICAgc2V0VGFyZ2V0KGN1cnJlbnRUYXJnZXQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5hZGRJdGVtVG9IaXN0b3J5KHNjcmlwdHVyZVNldHRpbmdzKSAvLyBtYWtlIHN1cmUgY3VycmVudCBzY3JpcHR1cmUgdmVyc2lvbiBwZXJzaXN0ZWQgaW4gaGlzdG9yeVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2xhbmd1YWdlSWQsIG93bmVyLCBjbGVhblVwLCBjdXJyZW50VGFyZ2V0LCB0YXJnZXQsIHNjcmlwdHVyZVZlcnNpb25IaXN0LFxuICAgIHNjcmlwdHVyZVNldHRpbmdzLCBjYXJkTnVtLCBzY3JpcHR1cmVEZWZhdWx0U2V0dGluZ3MsIHNldFNjcmlwdHVyZVNldHRpbmdzLCBzZXRUYXJnZXRdKVxuXG4gIGNvbnN0IG9yaWdpbmFsUmVwb1VybCA9IGlzTmV3VGVzdGFtZW50ID8gZ3JlZWtSZXBvVXJsIDogaGVicmV3UmVwb1VybFxuICBjb25zdCBzY3JpcHR1cmVDb25maWcgPSB1c2VTY3JpcHR1cmVSZXNvdXJjZXMoe1xuICAgIGJvb2tJZCxcbiAgICBzY3JpcHR1cmVTZXR0aW5ncyxcbiAgICBjaGFwdGVyLFxuICAgIHZlcnNlLFxuICAgIGJjdlF1ZXJ5LFxuICAgIGlzTmV3VGVzdGFtZW50LFxuICAgIG9yaWdpbmFsUmVwb1VybCxcbiAgICBjdXJyZW50TGFuZ3VhZ2VJZDogbGFuZ3VhZ2VJZCxcbiAgICBjdXJyZW50T3duZXI6IG93bmVyLFxuICAgIGh0dHBDb25maWcsXG4gICAgYXBwUmVmLFxuICB9KVxuXG4gIC8qKlxuICAgKiBtYWtlIHN1cmUgdGhhdCBib29rSWQgb3IgcHJvamVjdElkIGFyZSBub3QgZW1iZWRkZWQgaW4gbGluay5cbiAgICogICAgRm9yIGV4YW1wbGUgaW4gYHJ1X2dsL3J1L3Jzb2IvbWFzdGVyL2hlYmAgdGhlIHByb2plY3RJZCBoZWIgaXMgaW4gdGhlIGxpbmsgYW5kIHdpbGwgb3ZlcnJpZGUgdGhlXG4gICAqICAgIHByb2plY3RJZCBpbiB0aGUgcmVmZXJlbmNlIHdoZW4gd2UgdHJ5IHRvIGZldGNoIGxhdGVyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZXNvdXJjZUxpbmtcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIGNsZWFuZWQgdXAgcmVzb3VyY2UgbGlua1xuICAgKi9cbiAgZnVuY3Rpb24gY2xlYW5SZXNvdXJjZUxpbmsocmVzb3VyY2VMaW5rKSB7XG4gICAgbGV0IHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtcbiAgICBjb25zdCByZXNvdXJjZUxpbmtzID0gcmVzb3VyY2VMaW5rXz8uc3BsaXQoJy8nKVxuXG4gICAgaWYgKHJlc291cmNlTGlua3M/Lmxlbmd0aCA+IDQpIHsgLy8gaWYgdG9vIG1hbnkgZmllbGRzLCB0aGVuIHRyaW1cbiAgICAgIHJlc291cmNlTGlua18gPSByZXNvdXJjZUxpbmtzPy5zbGljZSgwLCA0KS5qb2luKCcvJylcbiAgICB9XG4gICAgcmV0dXJuIHJlc291cmNlTGlua19cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayB0byBlaXRoZXIgYWRkIG5ldyBzY3JpcHR1cmUgaXRlbSBvciBzZWxlY3QgZXhpc3RpbmcgaXRlbSBpbiBoaXN0b3J5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBpdGVtIC0gbmV3IGl0ZW0gdG8gYWRkIG9yIGV4aXN0aW5nIGl0ZW0gdG8gc2VsZWN0IGZyb20gaGlzdG9yeVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSB2YWxpZGF0aW9uQ0IgLSBjYWxsYmFjayBmdW5jdGlvbiB0byBwYXNzIGJhY2sgaWYgaXRlbSB1cmwgd2FzIHZhbGlkIG9yIG5vdFxuICAgKi9cbiAgY29uc3Qgc2V0U2NyaXB0dXJlID0gKGl0ZW0sIHZhbGlkYXRpb25DQiA9IG51bGwpID0+IHtcbiAgICBsZXQgdXJsXG4gICAgbGV0IG5ld1VybCA9IGl0ZW0/LnVybFxuXG4gICAgaWYgKG5ld1VybCkge1xuICAgICAgc2V0VXJsRXJyb3IobnVsbCkgLy8gY2xlYXIgcHJldmlvdXMgd2FybmluZ3NcblxuICAgICAgLy8gaGFuZGxlOiBgZ2l0QGdpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdGBcbiAgICAgIC8vICAgIGJ5IG1hcHBpbmcgdG8gaHR0cHMgZ2l0IGZldGNoIHVybCAoZS5nLiBodHRwczovL2dpdC5kb29yNDMub3JnOnVuZm9sZGluZ1dvcmQvZW5fdWx0LmdpdClcbiAgICAgIGlmIChuZXdVcmw/LmluY2x1ZGVzKCdnaXRAJykpIHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBuZXdVcmw/LnNwbGl0KCc6JylcbiAgICAgICAgY29uc3QgWywgaG9zdG5hbWVdID0gcGFydHNbMF0uc3BsaXQoJ0AnKVxuICAgICAgICBuZXdVcmwgPSBgaHR0cHM6Ly8ke2hvc3RuYW1lfS8ke3BhcnRzLnNsaWNlKDEpLmpvaW4oJzonKX1gXG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwobmV3VXJsKVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdpbGxlZ2FsIHVybCcsIGl0ZW0udXJsKVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG4gICAgICAgIHNldFVybEVycm9yKElOVkFMSURfVVJMKVxuICAgICAgICB2YWxpZGF0aW9uQ0IgJiYgdmFsaWRhdGlvbkNCKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgbGV0IHNlcnZlcl9cbiAgICAgIGxldCBob3N0bmFtZSA9IHVybC5ob3N0bmFtZVxuXG4gICAgICBpZiAoaG9zdG5hbWUpIHtcbiAgICAgICAgaWYgKGhvc3RuYW1lID09PSBgZG9vcjQzLm9yZ2ApIHtcbiAgICAgICAgICAvLyBoYW5kbGUgY2FzZSBvZiBsaW5rIHRvIGQ0MyByZWFkZXIgcGFnZSAoZS5nLiBodHRwczovL2Rvb3I0My5vcmcvdS91bmZvbGRpbmdXb3JkL2VuX3VsdC8pXG4gICAgICAgICAgaG9zdG5hbWUgPSAnZ2l0LicgKyBob3N0bmFtZSAvLyByZWRpcmVjdCB0byBnaXQgcmVwb1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHVybC5wb3J0KSB7XG4gICAgICAgICAgaG9zdG5hbWUgKz0gJzonICsgdXJsLnBvcnRcbiAgICAgICAgfVxuICAgICAgICBzZXJ2ZXJfID0gJ2h0dHBzOi8vJyArIGhvc3RuYW1lXG4gICAgICB9XG5cbiAgICAgIGxldCB1cmxfID0gbmV3VXJsXG5cbiAgICAgIGlmICghdXJsKSB7IC8vIGlmIG5vdCBhIG5ldyByZXNvdXJjZVxuICAgICAgICBzY3JpcHR1cmVTZXR0aW5ncyA9IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MocmVzb3VyY2VJZCwgYm9va0lkLCBpc05ld1Rlc3RhbWVudCwgb3JpZ2luYWxSZXBvVXJsKSAvLyBjb252ZXJ0IGFueSBkZWZhdWx0IHNldHRpbmdzIHN0cmluZ3NcbiAgICAgICAgdXJsXyA9IHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGlua1xuICAgICAgfVxuXG4gICAgICAvLyBtYWtlIHN1cmUgaXQgZXhpc3RzXG4gICAgICBjb3JlLnJlc291cmNlRnJvbVJlc291cmNlTGluayh7XG4gICAgICAgIHJlc291cmNlTGluazogdXJsXyxcbiAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgcHJvamVjdElkOiBib29rSWQsXG4gICAgICAgICAgY2hhcHRlcjogY2hhcHRlcixcbiAgICAgICAgICB2ZXJzZTogdmVyc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIHNlcnZlcjogc2VydmVyXyxcbiAgICAgICAgICBjYWNoZTogeyBtYXhBZ2U6IDEgKiA2MCAqIDYwICogMTAwMCB9LCAvLyAxIGhyXG4gICAgICAgIH0sXG4gICAgICB9KS50aGVuKHJlc291cmNlID0+IHtcbiAgICAgICAgbGV0IGVycm9yID0gUkVQT19OT1RfRk9VTkRfRVJST1JcbiAgICAgICAgbGV0IG5ld1NjcmlwdHVyZSA9IG51bGxcblxuICAgICAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgICBzdWJqZWN0LFxuICAgICAgICAgIH0gPSBwYXJzZVJlc291cmNlTWFuaWZlc3QocmVzb3VyY2UpXG4gICAgICAgICAgY29uc3QgaXNTY3JpcHR1cmUgPSBpc1NjcmlwdHVyZVJlc291cmNlKHN1YmplY3QpXG5cbiAgICAgICAgICBpZiAoIWlzU2NyaXB0dXJlKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYHVzZVNjcmlwdHVyZVNldHRpbmdzLnNldFNjcmlwdHVyZSAtIFVSTCBpcyBub3QgYSBzY3JpcHR1cmUgcmVzb3VyY2U6ICR7dXJsX31gKVxuICAgICAgICAgICAgZXJyb3IgPSBSRVBPX05PVF9TQ1JJUFRVUkVfRVJST1JcbiAgICAgICAgICB9IGVsc2UgaWYgKHRpdGxlICYmIHZlcnNpb24pIHtcbiAgICAgICAgICAgIC8vIHdlIHN1Y2NlZWRlZCBpbiBnZXR0aW5nIHJlc291cmNlIC0gdXNlIGl0XG4gICAgICAgICAgICBuZXdTY3JpcHR1cmUgPSBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgc2VydmVyOiBzZXJ2ZXJfLFxuICAgICAgICAgICAgICBvd25lcjogcmVzb3VyY2UudXNlcm5hbWUsXG4gICAgICAgICAgICAgIHJlZjogcmVzb3VyY2UucmVmIHx8ICdtYXN0ZXInLFxuICAgICAgICAgICAgICBsYW5ndWFnZUlkOiByZXNvdXJjZS5sYW5ndWFnZUlkLFxuICAgICAgICAgICAgICByZXNvdXJjZUlkOiByZXNvdXJjZS5yZXNvdXJjZUlkLFxuICAgICAgICAgICAgICByZXNvdXJjZUxpbms6IGNsZWFuUmVzb3VyY2VMaW5rKHJlc291cmNlPy5yZXNvdXJjZUxpbmspLFxuICAgICAgICAgICAgICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gICAgICAgICAgICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBuZXdTY3JpcHR1cmVbJ3VzZXJBZGRlZCddID0gdHJ1ZVxuICAgICAgICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QuYWRkSXRlbVRvSGlzdG9yeShuZXdTY3JpcHR1cmUpIC8vIHBlcnNpc3QgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3MobmV3U2NyaXB0dXJlKVxuICAgICAgICAgICAgZXJyb3IgPSBudWxsIC8vIG5vIGVycm9yXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIHBhcnNpbmcgbWFuaWZlc3QnLCBpdGVtLnVybClcbiAgICAgICAgICAgIGVycm9yID0gTUFOSUZFU1RfSU5WQUxJRF9TSE9SVF9FUlJPUlxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdub3QgZm91bmQnLCBpdGVtLnVybClcbiAgICAgICAgfVxuICAgICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC5yZW1vdmVVcmwoaXRlbS51cmwpXG5cbiAgICAgICAgaWYgKGVycm9yID09PSBSRVBPX05PVF9GT1VORF9FUlJPUikgeyAvLyBpZiBnZW5lcmljIGVycm9yLCB2YWxpZGF0ZSB0aGUgVVJMXG4gICAgICAgICAgY29uc3QgeyB2YWxpZFVybCwgdmFsaWRSZXBvUGF0aCB9ID0gdmFsaWRhdGVEY3NVcmwoaXRlbS51cmwpXG5cbiAgICAgICAgICBpZiAoIXZhbGlkVXJsKSB7XG4gICAgICAgICAgICBlcnJvciA9IElOVkFMSURfVVJMXG4gICAgICAgICAgfSBlbHNlIGlmICh2YWxpZFJlcG9QYXRoKSB7XG4gICAgICAgICAgICBlcnJvciA9IFJFUE9fTk9UX0ZPVU5EX0VSUk9SXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVycm9yID0gSU5WQUxJRF9SRVBPX1VSTF9FUlJPUlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzZXRVcmxFcnJvcihlcnJvcilcbiAgICAgICAgdmFsaWRhdGlvbkNCICYmIHZhbGlkYXRpb25DQighZXJyb3IsIG5ld1NjcmlwdHVyZSlcbiAgICAgIH0pXG4gICAgfSBlbHNlIHsgLy8gc2VsZWN0ZWQgYSBwcmV2aW91cyBzZXR0aW5nXG4gICAgICBzZXRVcmxFcnJvcihudWxsKSAvLyBjbGVhciBwcmV2aW91cyB3YXJuaW5nc1xuICAgICAgc2V0U2NyaXB0dXJlU2V0dGluZ3MoaXRlbSlcbiAgICAgIHZhbGlkYXRpb25DQiAmJiB2YWxpZGF0aW9uQ0IodHJ1ZSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHNjcmlwdHVyZUNvbmZpZyxcbiAgICBzZXRTY3JpcHR1cmUsXG4gICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QsXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlU2NyaXB0dXJlU2V0dGluZ3NcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxTQUFTQSxTQUFULEVBQW9CQyxPQUFwQixFQUE2QkMsUUFBN0IsUUFBNkMsT0FBN0M7QUFDQSxTQUFTQyxJQUFULFFBQXFCLHlCQUFyQjtBQUNBLE9BQU8sS0FBS0MsT0FBWixNQUF5QixZQUF6QjtBQUNBLFNBQVNDLHlCQUFULEVBQW9DQyx1QkFBcEMsUUFBbUUsa0NBQW5FO0FBQ0EsU0FDRUMsc0JBREYsRUFFRUMsV0FGRixFQUdFQyw0QkFIRixFQUlFQyxrQkFKRixFQUtFQyxZQUxGLEVBTUVDLGVBTkYsRUFPRUMsa0JBUEYsRUFRRUMsWUFSRixFQVNFQyxvQkFURixFQVVFQyx3QkFWRixFQVdFQyxvQkFYRixFQVlFQyxxQkFaRixFQWFFQyxjQWJGLFFBY08sSUFkUDtBQWVBLFNBQ0VDLGVBREYsRUFFRUMsa0JBRkYsRUFHRUMsNEJBSEYsUUFJTyw0QkFKUDtBQUtBLE9B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
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './components';
2
2
  export * from './utils';
3
3
  export * from './hooks';
4
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWQ7QUFDQSxjQUFjLFNBQWQ7QUFDQSxjQUFjLFNBQWQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJ1xuZXhwb3J0ICogZnJvbSAnLi9ob29rcydcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cydcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnXG5leHBvcnQgKiBmcm9tICcuL2hvb2tzJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWQ7QUFDQSxjQUFjLFNBQWQ7QUFDQSxjQUFjLFNBQWQifQ==
@@ -1,2 +1,2 @@
1
1
 
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0dXJlUmVmZXJlbmNlIHtcbiAgcHJvamVjdElkOiBzdHJpbmc7XG4gIGNoYXB0ZXI6IG51bWJlcjtcbiAgdmVyc2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJDb25maWcge1xuICBzZXJ2ZXI6IHN0cmluZztcbiAgY2FjaGU6IHtcbiAgICBtYXhBZ2U6IG51bWJlcjtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcmlwdHVyZVJlc291cmNlIHtcbiAgbGFuZ3VhZ2VJZDogc3RyaW5nO1xuICBwcm9qZWN0SWQ6IHN0cmluZztcbiAgb3duZXI6IHN0cmluZztcbiAgYnJhbmNoOiBzdHJpbmc7XG4gIHJlZjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcnNlT2JqZWN0VHlwZSB7XG4gIGxlbW1hOiBzdHJpbmc7XG4gIG1vcnBoOiBzdHJpbmc7XG4gIG9jY3VycmVuY2U6IG51bWJlcnxzdHJpbmc7XG4gIG9jY3VycmVuY2VzOiBudW1iZXJ8c3RyaW5nO1xuICBzdHJvbmc6IHN0cmluZztcbiAgdGFnOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgdHc6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcnNlT2JqZWN0c1R5cGUge1xuICBbaW5kZXg6IG51bWJlcl06IFZlcnNlT2JqZWN0VHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJzZUFycmF5UGFydHNUeXBlIHtcbiAgY2hhcHRlcjogbnVtYmVyO1xuICB2ZXJzZTogbnVtYmVyO1xuICB2ZXJzZU9iamVjdHM6IFZlcnNlT2JqZWN0c1R5cGU7XG59XG4iXSwibWFwcGluZ3MiOiIifQ==
@@ -14,4 +14,4 @@ export function getLocalStorageValue(key) {
14
14
  export function setLocalStorageValue(key, newValue) {
15
15
  localStorage.setItem(key, JSON.stringify(newValue));
16
16
  }
17
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9Mb2NhbFN0b3JhZ2UudHMiXSwibmFtZXMiOlsiZ2V0TG9jYWxTdG9yYWdlVmFsdWUiLCJrZXkiLCJzdG9yZWRWYWx1ZSIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJKU09OIiwicGFyc2UiLCJlIiwic2V0TG9jYWxTdG9yYWdlVmFsdWUiLCJuZXdWYWx1ZSIsInNldEl0ZW0iLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sU0FBU0Esb0JBQVQsQ0FBOEJDLEdBQTlCLEVBQXVDO0FBQzVDLE1BQUlDLFdBQVcsR0FBR0MsWUFBWSxDQUFDQyxPQUFiLENBQXFCSCxHQUFyQixDQUFsQjs7QUFFQSxNQUFJQyxXQUFXLEtBQUssSUFBcEIsRUFBMEI7QUFDeEIsUUFBSTtBQUNGQSxNQUFBQSxXQUFXLEdBQUdHLElBQUksQ0FBQ0MsS0FBTCxDQUFXSixXQUFYLENBQWQ7QUFDRCxLQUZELENBRUUsT0FBT0ssQ0FBUCxFQUFVO0FBQ1ZMLE1BQUFBLFdBQVcsR0FBRyxJQUFkO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPQSxXQUFQO0FBQ0Q7QUFFRCxPQUFPLFNBQVNNLG9CQUFULENBQThCUCxHQUE5QixFQUFtQ1EsUUFBbkMsRUFBNkM7QUFDbEROLEVBQUFBLFlBQVksQ0FBQ08sT0FBYixDQUFxQlQsR0FBckIsRUFBMEJJLElBQUksQ0FBQ00sU0FBTCxDQUFlRixRQUFmLENBQTFCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0TG9jYWxTdG9yYWdlVmFsdWUoa2V5KTphbnkge1xuICBsZXQgc3RvcmVkVmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpXG5cbiAgaWYgKHN0b3JlZFZhbHVlICE9PSBudWxsKSB7XG4gICAgdHJ5IHtcbiAgICAgIHN0b3JlZFZhbHVlID0gSlNPTi5wYXJzZShzdG9yZWRWYWx1ZSlcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBzdG9yZWRWYWx1ZSA9IG51bGxcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0b3JlZFZhbHVlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRMb2NhbFN0b3JhZ2VWYWx1ZShrZXksIG5ld1ZhbHVlKSB7XG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkobmV3VmFsdWUpKVxufVxuIl19
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRMb2NhbFN0b3JhZ2VWYWx1ZSIsImtleSIsInN0b3JlZFZhbHVlIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsIkpTT04iLCJwYXJzZSIsImUiLCJzZXRMb2NhbFN0b3JhZ2VWYWx1ZSIsIm5ld1ZhbHVlIiwic2V0SXRlbSIsInN0cmluZ2lmeSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9Mb2NhbFN0b3JhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldExvY2FsU3RvcmFnZVZhbHVlKGtleSk6YW55IHtcbiAgbGV0IHN0b3JlZFZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KVxuXG4gIGlmIChzdG9yZWRWYWx1ZSAhPT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICBzdG9yZWRWYWx1ZSA9IEpTT04ucGFyc2Uoc3RvcmVkVmFsdWUpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc3RvcmVkVmFsdWUgPSBudWxsXG4gICAgfVxuICB9XG4gIHJldHVybiBzdG9yZWRWYWx1ZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0TG9jYWxTdG9yYWdlVmFsdWUoa2V5LCBuZXdWYWx1ZSkge1xuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KG5ld1ZhbHVlKSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTQSxvQkFBVCxDQUE4QkMsR0FBOUIsRUFBdUM7RUFDNUMsSUFBSUMsV0FBVyxHQUFHQyxZQUFZLENBQUNDLE9BQWIsQ0FBcUJILEdBQXJCLENBQWxCOztFQUVBLElBQUlDLFdBQVcsS0FBSyxJQUFwQixFQUEwQjtJQUN4QixJQUFJO01BQ0ZBLFdBQVcsR0FBR0csSUFBSSxDQUFDQyxLQUFMLENBQVdKLFdBQVgsQ0FBZDtJQUNELENBRkQsQ0FFRSxPQUFPSyxDQUFQLEVBQVU7TUFDVkwsV0FBVyxHQUFHLElBQWQ7SUFDRDtFQUNGOztFQUNELE9BQU9BLFdBQVA7QUFDRDtBQUVELE9BQU8sU0FBU00sb0JBQVQsQ0FBOEJQLEdBQTlCLEVBQW1DUSxRQUFuQyxFQUE2QztFQUNsRE4sWUFBWSxDQUFDTyxPQUFiLENBQXFCVCxHQUFyQixFQUEwQkksSUFBSSxDQUFDTSxTQUFMLENBQWVGLFFBQWYsQ0FBMUI7QUFDRCJ9
@@ -1,15 +1,4 @@
1
- import "core-js/modules/es.array.concat.js";
2
- import "core-js/modules/es.array.iterator.js";
3
- import "core-js/modules/es.object.define-property.js";
4
- import "core-js/modules/es.object.to-string.js";
5
- import "core-js/modules/es.regexp.exec.js";
6
- import "core-js/modules/es.string.iterator.js";
7
- import "core-js/modules/es.string.search.js";
8
- import "core-js/modules/es.string.split.js";
9
- import "core-js/modules/web.dom-collections.iterator.js";
10
- import "core-js/modules/web.url.js";
11
-
12
- function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
1
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
13
2
 
14
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
4
 
@@ -19,16 +8,41 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
19
8
 
20
9
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
21
10
 
22
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
11
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
23
12
 
24
13
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
14
 
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
15
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
16
 
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
18
 
30
19
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
31
20
 
21
+ import "core-js/modules/es.array.concat.js";
22
+ import "core-js/modules/es.array.iterator.js";
23
+ import "core-js/modules/es.object.to-string.js";
24
+ import "core-js/modules/es.string.iterator.js";
25
+ import "core-js/modules/web.dom-collections.iterator.js";
26
+ import "core-js/modules/web.url.js";
27
+ import "core-js/modules/web.url-search-params.js";
28
+ import "core-js/modules/es.regexp.exec.js";
29
+ import "core-js/modules/es.string.search.js";
30
+ import "core-js/modules/es.string.split.js";
31
+ import "core-js/modules/es.object.define-property.js";
32
+ import "core-js/modules/es.object.keys.js";
33
+ import "core-js/modules/es.symbol.js";
34
+ import "core-js/modules/es.array.filter.js";
35
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
36
+ import "core-js/modules/es.array.for-each.js";
37
+ import "core-js/modules/web.dom-collections.for-each.js";
38
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
39
+ import "core-js/modules/es.object.define-properties.js";
40
+ import "core-js/modules/es.array.is-array.js";
41
+ import "core-js/modules/es.symbol.description.js";
42
+ import "core-js/modules/es.symbol.iterator.js";
43
+ import "core-js/modules/es.array.slice.js";
44
+ import "core-js/modules/es.function.name.js";
45
+ import "core-js/modules/es.array.from.js";
32
46
  import { CONTENT_NOT_FOUND_ERROR, INVALID_MANIFEST_ERROR, LOADING_STATE, MANIFEST_NOT_LOADED_ERROR, SCRIPTURE_NOT_LOADED_ERROR } from 'translation-helps-rcl';
33
47
  import { BOOK_NOT_FOUND_ERROR_MSG, LOADING_RESOURCE, MANIFEST_INVALID_ERROR_MSG, MANIFEST_NOT_FOUND_ERROR_MSG, NT_ORIG_LANG, NT_ORIG_LANG_BIBLE, ORIGINAL_SOURCE, OT_ORIG_LANG, OT_ORIG_LANG_BIBLE, SCRIPTURE_NOT_FOUND_ERROR_MSG, TARGET_LITERAL, TARGET_SIMPLIFIED } from './common';
34
48
  export var DISABLE_WORD_POPOVER = true; // disable word popover for every scripture pane but original languages
@@ -356,4 +370,4 @@ export function getResourceMessage(resourceStatus, server, resourceLink, isNT) {
356
370
  export function getResourceLinkSpecific(owner, languageId, projectId, ref) {
357
371
  return "api/v1/repos/".concat(owner, "/").concat(languageId, "_").concat(projectId, "/contents?ref=").concat(ref);
358
372
  }
359
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9TY3JpcHR1cmVTZXR0aW5ncy50cyJdLCJuYW1lcyI6WyJDT05URU5UX05PVF9GT1VORF9FUlJPUiIsIklOVkFMSURfTUFOSUZFU1RfRVJST1IiLCJMT0FESU5HX1NUQVRFIiwiTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUiIsIlNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SIiwiQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHIiwiTE9BRElOR19SRVNPVVJDRSIsIk1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHIiwiTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyIsIk5UX09SSUdfTEFORyIsIk5UX09SSUdfTEFOR19CSUJMRSIsIk9SSUdJTkFMX1NPVVJDRSIsIk9UX09SSUdfTEFORyIsIk9UX09SSUdfTEFOR19CSUJMRSIsIlNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHIiwiVEFSR0VUX0xJVEVSQUwiLCJUQVJHRVRfU0lNUExJRklFRCIsIkRJU0FCTEVfV09SRF9QT1BPVkVSIiwiZ2V0UmVzb3VyY2VMaW5rIiwic2NyaXB0dXJlIiwicmVmIiwiYnJhbmNoIiwib3duZXIiLCJsYW5ndWFnZUlkIiwicmVzb3VyY2VJZCIsImdldFNjcmlwdHVyZU9iamVjdCIsInRpdGxlIiwic2VydmVyIiwicmVzb3VyY2VMaW5rIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiaXNPcmlnaW5hbEJpYmxlIiwiaXNPcmlnIiwiY2xlYW51cEFjY291bnRTZXR0aW5ncyIsInNjcmlwdHVyZVNldHRpbmdzIiwiY3VycmVudE93bmVyIiwiY3VycmVudExhbmd1YWdlSWQiLCJzcGxpdFVybCIsIm9yaWdpbmFsUmVwb1VybCIsInVybCIsIlVSTCIsIm9yaWdpbiIsInBhdGhuYW1lIiwic2VhcmNoIiwiZ2V0U2NyaXB0dXJlUmVzb3VyY2VTZXR0aW5ncyIsImJvb2tJZCIsInNjcmlwdHVyZVNldHRpbmdzXyIsImlzTmV3VGVzdGFtZW50IiwiZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzIiwibGFiZWwiLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJpbmRleCIsImZpbmRJdGVtSW5kZXhCeUtleSIsInNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwidmFsaWRhdGlvbkNCIiwiaXRlbSIsIm5ld0l0ZW0iLCJhZGRJdGVtVG9IaXN0b3J5IiwiZ2V0SXRlbUJ5VGl0bGUiLCJkZWxldGVJdGVtIiwiZGVsZXRlSW5kZXgiLCJyZW1vdmVJdGVtQnlJbmRleCIsImdldFJlcG9VcmwiLCJpc05UIiwicmVwb1VybCIsInNwbGl0IiwiZSIsImdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayIsImVycm9yQ29kZSIsImVycm9yTXNnIiwidmFsaWRhdGVEY3NVcmwiLCJ2YWxpZFJlcG9QYXRoIiwidmFsaWRVcmwiLCJwYXJ0cyIsInByb3RvY29sIiwiaG9zdCIsInVzZXIiLCJyZXBvIiwiaG9zdFBhcnRzIiwibGVuZ3RoIiwicGFydCIsInByb2plY3RJZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FDRUEsdUJBREYsRUFFRUMsc0JBRkYsRUFHRUMsYUFIRixFQUlFQyx5QkFKRixFQUtFQywwQkFMRixRQU1PLHVCQU5QO0FBT0EsU0FDRUMsd0JBREYsRUFFRUMsZ0JBRkYsRUFHRUMsMEJBSEYsRUFJRUMsNEJBSkYsRUFLRUMsWUFMRixFQU1FQyxrQkFORixFQU9FQyxlQVBGLEVBUUVDLFlBUkYsRUFTRUMsa0JBVEYs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akMyRixJQUFBQSxPQUFPLEdBQUd2RixnQkFBVjtBQUNELEdBRkQsTUFFTztBQUNMdUYsSUFBQUEsT0FBTyxHQUFHRix1QkFBdUIsQ0FBQ0MsY0FBRCxDQUFqQzs7QUFFQSxRQUFJQyxPQUFKLEVBQWE7QUFDWEEsTUFBQUEsT0FBTyxHQUFHbkIsOEJBQThCLENBQUM5QyxZQUFELEVBQWVELE1BQWYsRUFBdUJrRSxPQUF2QixFQUFnQ3ZCLElBQWhDLENBQXhDO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPdUIsT0FBUDtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxTQUFTRSx1QkFBVCxDQUFpQ3pFLEtBQWpDLEVBQWdEQyxVQUFoRCxFQUFvRWlFLFNBQXBFLEVBQXVGcEUsR0FBdkYsRUFBb0c7QUFDekcsZ0NBQXVCRSxLQUF2QixjQUFnQ0MsVUFBaEMsY0FBOENpRSxTQUE5QywyQkFBd0VwRSxHQUF4RTtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ09OVEVOVF9OT1RfRk9VTkRfRVJST1IsXG4gIElOVkFMSURfTUFOSUZFU1RfRVJST1IsXG4gIExPQURJTkdfU1RBVEUsXG4gIE1BTklGRVNUX05PVF9MT0FERURfRVJST1IsXG4gIFNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SLFxufSBmcm9tICd0cmFuc2xhdGlvbi1oZWxwcy1yY2wnXG5pbXBvcnQge1xuICBCT09LX05PVF9GT1VORF9FUlJPUl9NU0csXG4gIExPQURJTkdfUkVTT1VSQ0UsXG4gIE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHLFxuICBNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBOVF9PUklHX0xBTkcsXG4gIE5UX09SSUdfTEFOR19CSUJMRSxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkcsXG4gIE9UX09SSUdfTEFOR19CSUJMRSxcbiAgU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0csXG4gIFRBUkdFVF9MSVRFUkFMLFxuICBUQVJHRVRfU0lNUExJRklFRCxcbn0gZnJvbSAnLi9jb21tb24nXG5cbmV4cG9ydCBjb25zdCBESVNBQkxFX1dPUkRfUE9QT1ZFUiA9IHRydWUgLy8gZGlzYWJsZSB3b3JkIHBvcG92ZXIgZm9yIGV2ZXJ5IHNjcmlwdHVyZSBwYW5lIGJ1dCBvcmlnaW5hbCBsYW5ndWFnZXNcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTGluayhzY3JpcHR1cmUpIHtcbiAgY29uc3QgcmVmID0gc2NyaXB0dXJlLnJlZiB8fCBzY3JpcHR1cmUuYnJhbmNoXG4gIHJldHVybiBgJHtzY3JpcHR1cmUub3duZXJ9LyR7c2NyaXB0dXJlLmxhbmd1YWdlSWR9LyR7c2NyaXB0dXJlLnJlc291cmNlSWR9LyR7cmVmfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZU9iamVjdCh7XG4gIHRpdGxlLFxuICBzZXJ2ZXIsXG4gIG93bmVyLFxuICByZWYsXG4gIGxhbmd1YWdlSWQsXG4gIHJlc291cmNlSWQsXG4gIHJlc291cmNlTGluayxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG59KSB7XG4gIGNvbnN0IHNjcmlwdHVyZSA9IHtcbiAgICB0aXRsZSxcbiAgICBzZXJ2ZXIsXG4gICAgb3duZXIsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICAgIHJlZixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICAgIHJlc291cmNlTGluayxcbiAgfVxuXG4gIGlmICghcmVzb3VyY2VMaW5rKSB7XG4gICAgc2NyaXB0dXJlLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayh7XG4gICAgICBvd25lcixcbiAgICAgIHJlZixcbiAgICAgIGxhbmd1YWdlSWQsXG4gICAgICByZXNvdXJjZUlkLFxuICAgIH0pXG4gIH1cbiAgcmV0dXJuIHNjcmlwdHVyZVxufVxuXG4vKipcbiAqIHJldHVybiB0cnVlIGlmIHJlc291cmNlIGlzIGFuIG9yaWdpbmFsIGxhbmd1YWdlIGJpYmxlXG4gKiBAcGFyYW0gcmVzb3VyY2VJZFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPcmlnaW5hbEJpYmxlKHJlc291cmNlSWQpIHtcbiAgY29uc3QgaXNPcmlnID0gKChyZXNvdXJjZUlkID09PSBOVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPVF9PUklHX0xBTkdfQklCTEUpIHx8IChyZXNvdXJjZUlkID09PSBPUklHSU5BTF9TT1VSQ0UpKVxuICByZXR1cm4gaXNPcmlnXG59XG5cbi8qKlxuICogbWFrZSBzdXJlIHNjcmlwdHVyZVNldHRpbmdzIGFyZSB1cCB0byBkYXRlIHdpdGggY3VycmVudCBvd25lciBhbmQgbGFuZ3VhZ2VcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc1xuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5nczogYW55LCBjdXJyZW50T3duZXI6IGFueSwgY3VycmVudExhbmd1YWdlSWQ6IGFueSkge1xuICBpZiAoY3VycmVudE93bmVyICYmIChjdXJyZW50T3duZXIgIT09IHNjcmlwdHVyZVNldHRpbmdzLm93bmVyKSkgeyAvLyBpZiBvd25lciBjaGFuZ2VkLCB1cGRhdGUgc2NyaXB0dXJlU2V0dGluZ3NcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5vd25lciA9IGN1cnJlbnRPd25lclxuICB9XG5cbiAgaWYgKGN1cnJlbnRMYW5ndWFnZUlkICYmIChjdXJyZW50TGFuZ3VhZ2VJZCAhPT0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCkpIHsgLy8gaWYgbGFuZ3VhZ2UgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9IGN1cnJlbnRMYW5ndWFnZUlkXG4gIH1cbn1cblxuLyoqXG4gKiBzZXBhcmF0ZSBVUkwgaW50byBzZXJ2ZXIgYW5kIHJlc291cmNlIGxpbmtcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0VXJsKG9yaWdpbmFsUmVwb1VybCkge1xuICBpZiAob3JpZ2luYWxSZXBvVXJsKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChvcmlnaW5hbFJlcG9VcmwpXG4gICAgY29uc3Qgc2VydmVyID0gdXJsLm9yaWdpblxuICAgIGNvbnN0IHJlc291cmNlTGluayA9IHVybC5wYXRobmFtZSArICh1cmwuc2VhcmNoIHx8ICcnKVxuICAgIHJldHVybiB7IHNlcnZlciwgcmVzb3VyY2VMaW5rIH1cbiAgfVxuICByZXR1cm4ge31cbn1cblxuLyoqXG4gKiBnZXQgdGhlIHNjcmlwdHVyZSBzZXR0aW5ncyBuZWVkZWQgZm9yIGZldGNoIC0gZm9yIE9yaWdMYW5nLCBVTFQsIEdMVCB3aWxsIHJlcGxhY2Ugb3duZXIgYW5kIGxhbmd1YWdlSWQgd2l0aCBjb3JyZWN0IHZhbHVlc1xuICogQHBhcmFtIHtzdHJpbmd9IGJvb2tJZFxuICogQHBhcmFtIHtvYmplY3R9IHNjcmlwdHVyZVNldHRpbmdzX1xuICogQHBhcmFtIHtib29sZWFufSBpc05ld1Rlc3RhbWVudFxuICogQHBhcmFtIHtzdHJpbmd9IG9yaWdpbmFsUmVwb1VybCAtIG9wdGlvbmFsIHBhdGggdG8gcmVwbyBmb3Igb3JpZ2luYWwgbGFuZ3VhZ2VcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50TGFuZ3VhZ2VJZCAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgbGFuZ3VhZ2UgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudE93bmVyIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBvd25lciBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MoYm9va0lkLCBzY3JpcHR1cmVTZXR0aW5nc18sIGlzTmV3VGVzdGFtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxSZXBvVXJsPW51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2VJZD1udWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudE93bmVyPW51bGwsXG4pIHtcbiAgY29uc3Qgc2NyaXB0dXJlU2V0dGluZ3MgPSB7IC4uLnNjcmlwdHVyZVNldHRpbmdzXyB9XG4gIHNjcmlwdHVyZVNldHRpbmdzLmRpc2FibGVXb3JkUG9wb3ZlciA9IERJU0FCTEVfV09SRF9QT1BPVkVSXG4gIGNvbnN0IHJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5nc18ucmVzb3VyY2VJZFxuXG4gIGlmIChyZXNvdXJjZUlkID09PSBPUklHSU5BTF9TT1VSQ0UpIHtcbiAgICAvLyBzZWxlY3Qgb3JpZ2luYWwgbGFuZ3VhZ2UgQmlibGUgYmFzZWQgb24gd2hpY2ggdGVzdGFtZW50IHRoZSBib29rIGJlbG9uZ3NcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID0gaXNOZXdUZXN0YW1lbnQgPyBOVF9PUklHX0xBTkcgOiBPVF9PUklHX0xBTkdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gaXNOZXdUZXN0YW1lbnRcbiAgICAgID8gTlRfT1JJR19MQU5HX0JJQkxFXG4gICAgICA6IE9UX09SSUdfTEFOR19CSUJMRVxuXG4gICAgaWYgKHNjcmlwdHVyZVNldHRpbmdzLm9yaWdpbmFsTGFuZ3VhZ2VPd25lcikge1xuICAgICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBzY3JpcHR1cmVTZXR0aW5ncy5vcmlnaW5hbExhbmd1YWdlT3duZXJcbiAgICB9XG5cbiAgICBpZiAob3JpZ2luYWxSZXBvVXJsKSB7IC8vIHVzZSB0aGlzIHVybCBpZiBkZWZpbmVkXG4gICAgICBjb25zdCB7IHNlcnZlciwgcmVzb3VyY2VMaW5rIH0gPSBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpXG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5zZXJ2ZXIgPSBzZXJ2ZXJcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IHJlc291cmNlTGlua1xuICAgIH0gZWxzZSB7IC8vIGZhbGwgYmFjayB0byBhcHAgZGVmYXVsdHNcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgICB9XG4gICAgc2NyaXB0dXJlU2V0dGluZ3MuZGlzYWJsZVdvcmRQb3BvdmVyID0gZmFsc2VcbiAgfSBlbHNlIGlmIChyZXNvdXJjZUlkID09PSBUQVJHRVRfTElURVJBTCkge1xuICAgIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3MsIGN1cnJlbnRPd25lciwgY3VycmVudExhbmd1YWdlSWQpXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPT09ICdlbicgPyAndWx0JyA6ICdnbHQnXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICB9IGVsc2UgaWYgKHJlc291cmNlSWQgPT09IFRBUkdFVF9TSU1QTElGSUVEKSB7XG4gICAgY2xlYW51cEFjY291bnRTZXR0aW5ncyhzY3JpcHR1cmVTZXR0aW5ncywgY3VycmVudE93bmVyLCBjdXJyZW50TGFuZ3VhZ2VJZClcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9PT0gJ2VuJyA/ICd1c3QnIDogJ2dzdCdcbiAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gIH1cbiAgcmV0dXJuIHNjcmlwdHVyZVNldHRpbmdzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVWZXJzaW9uU2V0dGluZ3Moe1xuICBsYWJlbCxcbiAgcmVzb3VyY2VMaW5rLFxuICBzZXRTY3JpcHR1cmUsXG4gIHNjcmlwdHVyZVZlcnNpb25IaXN0LFxufSkge1xuICBjb25zdCBoaXN0b3J5ID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClcbiAgbGV0IGluZGV4ID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZmluZEl0ZW1JbmRleEJ5S2V5KGhpc3RvcnksICdyZXNvdXJjZUxpbmsnLCByZXNvdXJjZUxpbmspXG5cbiAgY29uc3Qgc2NyaXB0dXJlU2VsZWN0b3JDb25maWcgPSB7XG4gICAgbGFiZWwsIC8vIGxhYmVsIGZvciBjb21ib2JveFxuICAgIG9wdGlvbnM6IGhpc3RvcnksXG4gICAgY3VycmVudDogaW5kZXgsXG4gICAgYWxsb3dVc2VySW5wdXQ6IHRydWUsXG4gICAgb25DaGFuZ2U6ICh0aXRsZSwgaW5kZXgsIHZhbGlkYXRpb25DQj1udWxsKSA9PiB7XG4gICAgICBsZXQgaXRlbVxuXG4gICAgICBpZiAoKGluZGV4IDwgMCkgJiYgdGl0bGUpIHtcbiAgICAgICAgY29uc3QgbmV3SXRlbSA9IHtcbiAgICAgICAgICB1cmw6IHRpdGxlLFxuICAgICAgICAgIHRpdGxlLFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluZGV4ID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuYWRkSXRlbVRvSGlzdG9yeShuZXdJdGVtKVxuXG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgaXRlbSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldExhdGVzdCgpW2luZGV4XVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpdGVtID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0SXRlbUJ5VGl0bGUodGl0bGUpXG4gICAgICB9XG5cbiAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgIHNldFNjcmlwdHVyZShpdGVtLCB2YWxpZGF0aW9uQ0IpXG4gICAgICB9XG4gICAgfSxcbiAgICBkZWxldGVJdGVtOiB0aXRsZSA9PiB7XG4gICAgICBjb25zdCBoaXN0b3J5ID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZ2V0TGF0ZXN0KClcbiAgICAgIGNvbnN0IGRlbGV0ZUluZGV4ID0gc2NyaXB0dXJlVmVyc2lvbkhpc3QuZmluZEl0ZW1JbmRleEJ5S2V5KGhpc3RvcnksICd0aXRsZScsIHRpdGxlKVxuICAgICAgc2NyaXB0dXJlVmVyc2lvbkhpc3QucmVtb3ZlSXRlbUJ5SW5kZXgoZGVsZXRlSW5kZXgpXG4gICAgfSxcbiAgfVxuXG4gIHJldHVybiBzY3JpcHR1cmVTZWxlY3RvckNvbmZpZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVwb1VybChyZXNvdXJjZUxpbms6IHN0cmluZywgc2VydmVyOiBzdHJpbmcsIGlzTlQ6IGJvb2xlYW4pOiBzdHJpbmcge1xuICBsZXQgcmVwb1VybFxuXG4gIHRyeSB7XG4gICAgbGV0IFtvd25lciwgbGFuZ3VhZ2VJZCwgcmVzb3VyY2VJZF0gPSByZXNvdXJjZUxpbmsuc3BsaXQoJy8nKVxuXG4gICAgc3dpdGNoIChyZXNvdXJjZUlkKSB7XG4gICAgY2FzZSBPUklHSU5BTF9TT1VSQ0U6XG4gICAgICBsYW5ndWFnZUlkID0gaXNOVCA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR1xuICAgICAgcmVzb3VyY2VJZCA9IGlzTlRcbiAgICAgICAgPyBOVF9PUklHX0xBTkdfQklCTEVcbiAgICAgICAgOiBPVF9PUklHX0xBTkdfQklCTEVcbiAgICAgIGJyZWFrXG5cbiAgICBjYXNlIFRBUkdFVF9MSVRFUkFMOlxuICAgICAgcmVzb3VyY2VJZCA9IChsYW5ndWFnZUlkID09PSAnZW4nKSA/ICd1bHQnIDogJ2dsdCdcbiAgICAgIGJyZWFrXG5cbiAgICBjYXNlIFRBUkdFVF9TSU1QTElGSUVEOlxuICAgICAgcmVzb3VyY2VJZCA9IChsYW5ndWFnZUlkID09PSAnZW4nKSA/ICd1c3QnIDogJ2dzdCdcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIHJlcG9VcmwgPSBgJHtvd25lcn0vJHtsYW5ndWFnZUlkfV8ke3Jlc291cmNlSWR9YFxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gcmVzb3VyY2VMaW5rIHdhcyBpbnZhbGlkXG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIHJldHVybiBgJHtzZXJ2ZXIgfHwgJyd9LyR7cmVwb1VybH1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvck1lc3NhZ2VGb3JSZXNvdXJjZUxpbmsoXG4gIHJlc291cmNlTGluazogc3RyaW5nLFxuICBzZXJ2ZXI6IHN0cmluZyxcbiAgZXJyb3JDb2RlOiBzdHJpbmcsXG4gIGlzTlQ6IGJvb2xlYW4pOiBzdHJpbmdcbntcbiAgY29uc3QgcmVwb1VybCA9IGdldFJlcG9VcmwocmVzb3VyY2VMaW5rLCBzZXJ2ZXIsIGlzTlQpXG4gIGNvbnN0IGVycm9yTXNnID0gZXJyb3JDb2RlICsgcmVwb1VybFxuICByZXR1cm4gZXJyb3JNc2dcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGNzVXJsKHVybCkge1xuICBsZXQgdmFsaWRSZXBvUGF0aCA9IGZhbHNlXG4gIGxldCB2YWxpZFVybCA9IGZhbHNlXG5cbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJ0cyA9IHVybC5zcGxpdCgnLycpXG4gICAgY29uc3QgW3Byb3RvY29sLCAsIGhvc3QsIHVzZXIsIHJlcG9dID0gcGFydHNcbiAgICB2YWxpZFVybCA9IChwcm90b2NvbCA9PT0gJ2h0dHBzOicpXG4gICAgY29uc3QgaG9zdFBhcnRzID0gaG9zdCA/IGhvc3Quc3BsaXQoJy4nKSA6IFtdXG5cbiAgICBpZiAoaG9zdFBhcnRzLmxlbmd0aCA+PSAyKSB7XG4gICAgICBmb3IgKGxldCBwYXJ0IG9mIGhvc3RQYXJ0cykge1xuICAgICAgICBpZiAoIXBhcnQpIHtcbiAgICAgICAgICB2YWxpZFVybCA9IGZhbHNlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YWxpZFVybCA9IGZhbHNlXG4gICAgfVxuXG4gICAgaWYgKCBwcm90b2NvbCAmJiBob3N0ICYmIHVzZXIgJiYgcmVwbyApIHtcbiAgICAgIGNvbnN0IFtsYW5ndWFnZUlkLCBwcm9qZWN0SWRdID0gcmVwby5zcGxpdCgnXycpXG4gICAgICB2YWxpZFJlcG9QYXRoID0gbGFuZ3VhZ2VJZCAmJiBwcm9qZWN0SWRcbiAgICB9XG4gIH0gY2F0Y2gge1xuICAgIGNvbnNvbGUubG9nKCdJbnZhbGlkIERDUyBVUkw6ICcgKyB1cmwpXG4gIH1cbiAgcmV0dXJuIHsgdmFsaWRVcmwsIHZhbGlkUmVwb1BhdGggfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VFcnJvck1lc3NhZ2UocmVzb3VyY2VTdGF0dXM6IG9iamVjdCkge1xuICBsZXQgbWVzc2FnZSA9ICcnXG5cbiAgaWYgKHJlc291cmNlU3RhdHVzW01BTklGRVNUX05PVF9MT0FERURfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IE1BTklGRVNUX05PVF9GT1VORF9FUlJPUl9NU0dcbiAgfSBlbHNlIGlmIChyZXNvdXJjZVN0YXR1c1tJTlZBTElEX01BTklGRVNUX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TR1xuICB9IGVsc2UgaWYgKHJlc291cmNlU3RhdHVzW0NPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBCT09LX05PVF9GT1VORF9FUlJPUl9NU0dcbiAgfSBlbHNlIGlmIChyZXNvdXJjZVN0YXR1c1tTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0dcbiAgfVxuICByZXR1cm4gbWVzc2FnZVxufVxuXG4vKipcbiAqIGRlY29kZSByZXNvdXJjZSBzdGF0dXMgaW50byBzdHJpbmcuICBDdXJyZW50bHkgb25seSBFbmdsaXNoXG4gKiBAcGFyYW0gcmVzb3VyY2VTdGF0dXMgLSBvYmplY3QgdGhhdCBjb250YWlucyBzdGF0ZSBhbmQgZXJyb3JzIHRoYXQgYXJlIGRldGVjdGVkXG4gKiBAcGFyYW0gc2VydmVyIC0gY29udGFpbnMgdGhlIHNlcnZlciBiZWluZyB1c2VkXG4gKiBAcGFyYW0gcmVzb3VyY2VMaW5rIC0gcGF0aCB0byByZXBvIG9uIHNlcnZlclxuICogQHBhcmFtIGlzTlQgLSB0cnVlIGlmIE5UIGJvb2tcbiAqIEByZXR1cm4gZW1wdHkgc3RyaW5nIGlmIG5vIGVycm9yLCBlbHNlIHJldHVybnMgdXNlciBlcnJvciBtZXNzYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZU1lc3NhZ2UocmVzb3VyY2VTdGF0dXM6IG9iamVjdCwgc2VydmVyOiBzdHJpbmcsIHJlc291cmNlTGluazogc3RyaW5nLCBpc05UOiBib29sZWFuKSB7XG4gIGxldCBtZXNzYWdlID0gJydcblxuICBpZiAocmVzb3VyY2VTdGF0dXNbTE9BRElOR19TVEFURV0pIHtcbiAgICBtZXNzYWdlID0gTE9BRElOR19SRVNPVVJDRVxuICB9IGVsc2Uge1xuICAgIG1lc3NhZ2UgPSBnZXRSZXNvdXJjZUVycm9yTWVzc2FnZShyZXNvdXJjZVN0YXR1cylcblxuICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICBtZXNzYWdlID0gZ2V0RXJyb3JNZXNzYWdlRm9yUmVzb3VyY2VMaW5rKHJlc291cmNlTGluaywgc2VydmVyLCBtZXNzYWdlLCBpc05UKVxuICAgIH1cbiAgfVxuICByZXR1cm4gbWVzc2FnZVxufVxuXG4vKipcbiAqIGdlbmVyYXRlIHJlc291cmNlIHN0cmluZ1xuICogQHBhcmFtIG93bmVyXG4gKiBAcGFyYW0gbGFuZ3VhZ2VJZFxuICogQHBhcmFtIHByb2plY3RJZFxuICogQHBhcmFtIHJlZlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VMaW5rU3BlY2lmaWMob3duZXI6IHN0cmluZywgbGFuZ3VhZ2VJZDogc3RyaW5nLCBwcm9qZWN0SWQ6IHN0cmluZywgcmVmOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGBhcGkvdjEvcmVwb3MvJHtvd25lcn0vJHtsYW5ndWFnZUlkfV8ke3Byb2plY3RJZH0vY29udGVudHM/cmVmPSR7cmVmfWBcbn1cblxuIl19
373
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT05URU5UX05PVF9GT1VORF9FUlJPUiIsIklOVkFMSURfTUFOSUZFU1RfRVJST1IiLCJMT0FESU5HX1NUQVRFIiwiTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUiIsIlNDUklQVFVSRV9OT1RfTE9BREVEX0VSUk9SIiwiQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHIiwiTE9BRElOR19SRVNPVVJDRSIsIk1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHIiwiTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyIsIk5UX09SSUdfTEFORyIsIk5UX09SSUdfTEFOR19CSUJMRSIsIk9SSUdJTkFMX1NPVVJDRSIsIk9UX09SSUdfTEFORyIsIk9UX09SSUdfTEFOR19CSUJMRSIsIlNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHIiwiVEFSR0VUX0xJVEVSQUwiLCJUQVJHRVRfU0lNUExJRklFRCIsIkRJU0FCTEVfV09SRF9QT1BPVkVSIiwiZ2V0UmVzb3VyY2VMaW5rIiwic2NyaXB0dXJlIiwicmVmIiwiYnJhbmNoIiwib3duZXIiLCJsYW5ndWFnZUlkIiwicmVzb3VyY2VJZCIsImdldFNjcmlwdHVyZU9iamVjdCIsInRpdGxlIiwic2VydmVyIiwicmVzb3VyY2VMaW5rIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwib3JpZ2luYWxMYW5ndWFnZU93bmVyIiwiaXNPcmlnaW5hbEJpYmxlIiwiaXNPcmlnIiwiY2xlYW51cEFjY291bnRTZXR0aW5ncyIsInNjcmlwdHVyZVNldHRpbmdzIiwiY3VycmVudE93bmVyIiwiY3VycmVudExhbmd1YWdlSWQiLCJzcGxpdFVybCIsIm9yaWdpbmFsUmVwb1VybCIsInVybCIsIlVSTCIsIm9yaWdpbiIsInBhdGhuYW1lIiwic2VhcmNoIiwiZ2V0U2NyaXB0dXJlUmVzb3VyY2VTZXR0aW5ncyIsImJvb2tJZCIsInNjcmlwdHVyZVNldHRpbmdzXyIsImlzTmV3VGVzdGFtZW50IiwiZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzIiwibGFiZWwiLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVWZXJzaW9uSGlzdCIsImhpc3RvcnkiLCJnZXRMYXRlc3QiLCJpbmRleCIsImZpbmRJdGVtSW5kZXhCeUtleSIsInNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnIiwib3B0aW9ucyIsImN1cnJlbnQiLCJhbGxvd1VzZXJJbnB1dCIsIm9uQ2hhbmdlIiwidmFsaWRhdGlvbkNCIiwiaXRlbSIsIm5ld0l0ZW0iLCJhZGRJdGVtVG9IaXN0b3J5IiwiZ2V0SXRlbUJ5VGl0bGUiLCJkZWxldGVJdGVtIiwiZGVsZXRlSW5kZXgiLCJyZW1vdmVJdGVtQnlJbmRleCIsImdldFJlcG9VcmwiLCJpc05UIiwicmVwb1VybCIsInNwbGl0IiwiZSIsImdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayIsImVycm9yQ29kZSIsImVycm9yTXNnIiwidmFsaWRhdGVEY3NVcmwiLCJ2YWxpZFJlcG9QYXRoIiwidmFsaWRVcmwiLCJwYXJ0cyIsInByb3RvY29sIiwiaG9zdCIsInVzZXIiLCJyZXBvIiwiaG9zdFBhcnRzIiwibGVuZ3RoIiwicGFydCIsInByb2plY3RJZCIsImNvbnNvbGUiLCJsb2ciLCJnZXRSZXNvdXJjZUVycm9yTWVzc2FnZSIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFJlc291cmNlTGlua1NwZWNpZmljIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENPTlRFTlRfTk9UX0ZPVU5EX0VSUk9SLFxuICBJTlZBTElEX01BTklGRVNUX0VSUk9SLFxuICBMT0FESU5HX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxuICBTQ1JJUFRVUkVfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHtcbiAgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBMT0FESU5HX1JFU09VUkNFLFxuICBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyxcbiAgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyxcbiAgTlRfT1JJR19MQU5HLFxuICBOVF9PUklHX0xBTkdfQklCTEUsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxuICBPVF9PUklHX0xBTkdfQklCTEUsXG4gIFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHLFxuICBUQVJHRVRfTElURVJBTCxcbiAgVEFSR0VUX1NJTVBMSUZJRUQsXG59IGZyb20gJy4vY29tbW9uJ1xuXG5leHBvcnQgY29uc3QgRElTQUJMRV9XT1JEX1BPUE9WRVIgPSB0cnVlIC8vIGRpc2FibGUgd29yZCBwb3BvdmVyIGZvciBldmVyeSBzY3JpcHR1cmUgcGFuZSBidXQgb3JpZ2luYWwgbGFuZ3VhZ2VzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlKSB7XG4gIGNvbnN0IHJlZiA9IHNjcmlwdHVyZS5yZWYgfHwgc2NyaXB0dXJlLmJyYW5jaFxuICByZXR1cm4gYCR7c2NyaXB0dXJlLm93bmVyfS8ke3NjcmlwdHVyZS5sYW5ndWFnZUlkfS8ke3NjcmlwdHVyZS5yZXNvdXJjZUlkfS8ke3JlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVPYmplY3Qoe1xuICB0aXRsZSxcbiAgc2VydmVyLFxuICBvd25lcixcbiAgcmVmLFxuICBsYW5ndWFnZUlkLFxuICByZXNvdXJjZUlkLFxuICByZXNvdXJjZUxpbmssXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxufSkge1xuICBjb25zdCBzY3JpcHR1cmUgPSB7XG4gICAgdGl0bGUsXG4gICAgc2VydmVyLFxuICAgIG93bmVyLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICByZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICByZXNvdXJjZUxpbmssXG4gIH1cblxuICBpZiAoIXJlc291cmNlTGluaykge1xuICAgIHNjcmlwdHVyZS5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoe1xuICAgICAgb3duZXIsXG4gICAgICByZWYsXG4gICAgICBsYW5ndWFnZUlkLFxuICAgICAgcmVzb3VyY2VJZCxcbiAgICB9KVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVcbn1cblxuLyoqXG4gKiByZXR1cm4gdHJ1ZSBpZiByZXNvdXJjZSBpcyBhbiBvcmlnaW5hbCBsYW5ndWFnZSBiaWJsZVxuICogQHBhcmFtIHJlc291cmNlSWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3JpZ2luYWxCaWJsZShyZXNvdXJjZUlkKSB7XG4gIGNvbnN0IGlzT3JpZyA9ICgocmVzb3VyY2VJZCA9PT0gTlRfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1RfT1JJR19MQU5HX0JJQkxFKSB8fCAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSlcbiAgcmV0dXJuIGlzT3JpZ1xufVxuXG4vKipcbiAqIG1ha2Ugc3VyZSBzY3JpcHR1cmVTZXR0aW5ncyBhcmUgdXAgdG8gZGF0ZSB3aXRoIGN1cnJlbnQgb3duZXIgYW5kIGxhbmd1YWdlXG4gKiBAcGFyYW0ge29iamVjdH0gc2NyaXB0dXJlU2V0dGluZ3NcbiAqIEBwYXJhbSB7c3RyaW5nfSBjdXJyZW50T3duZXIgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIG93bmVyIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRMYW5ndWFnZUlkIC0gb3B0aW9uYWwgb3Zlci1yaWRlIGZvciB0cmFuc2llbnQgY2FzZSB3aGVyZSBsYW5ndWFnZSBpbiBzY3JpcHR1cmUgc2V0dGluZ3MgaGF2ZSBub3QgeWV0IHVwZGF0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3M6IGFueSwgY3VycmVudE93bmVyOiBhbnksIGN1cnJlbnRMYW5ndWFnZUlkOiBhbnkpIHtcbiAgaWYgKGN1cnJlbnRPd25lciAmJiAoY3VycmVudE93bmVyICE9PSBzY3JpcHR1cmVTZXR0aW5ncy5vd25lcikpIHsgLy8gaWYgb3duZXIgY2hhbmdlZCwgdXBkYXRlIHNjcmlwdHVyZVNldHRpbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3Mub3duZXIgPSBjdXJyZW50T3duZXJcbiAgfVxuXG4gIGlmIChjdXJyZW50TGFuZ3VhZ2VJZCAmJiAoY3VycmVudExhbmd1YWdlSWQgIT09IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQpKSB7IC8vIGlmIGxhbmd1YWdlIGNoYW5nZWQsIHVwZGF0ZSBzY3JpcHR1cmVTZXR0aW5nc1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPSBjdXJyZW50TGFuZ3VhZ2VJZFxuICB9XG59XG5cbi8qKlxuICogc2VwYXJhdGUgVVJMIGludG8gc2VydmVyIGFuZCByZXNvdXJjZSBsaW5rXG4gKiBAcGFyYW0ge3N0cmluZ30gb3JpZ2luYWxSZXBvVXJsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdFVybChvcmlnaW5hbFJlcG9VcmwpIHtcbiAgaWYgKG9yaWdpbmFsUmVwb1VybCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3JpZ2luYWxSZXBvVXJsKVxuICAgIGNvbnN0IHNlcnZlciA9IHVybC5vcmlnaW5cbiAgICBjb25zdCByZXNvdXJjZUxpbmsgPSB1cmwucGF0aG5hbWUgKyAodXJsLnNlYXJjaCB8fCAnJylcbiAgICByZXR1cm4geyBzZXJ2ZXIsIHJlc291cmNlTGluayB9XG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogZ2V0IHRoZSBzY3JpcHR1cmUgc2V0dGluZ3MgbmVlZGVkIGZvciBmZXRjaCAtIGZvciBPcmlnTGFuZywgVUxULCBHTFQgd2lsbCByZXBsYWNlIG93bmVyIGFuZCBsYW5ndWFnZUlkIHdpdGggY29ycmVjdCB2YWx1ZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib29rSWRcbiAqIEBwYXJhbSB7b2JqZWN0fSBzY3JpcHR1cmVTZXR0aW5nc19cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNOZXdUZXN0YW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcmlnaW5hbFJlcG9VcmwgLSBvcHRpb25hbCBwYXRoIHRvIHJlcG8gZm9yIG9yaWdpbmFsIGxhbmd1YWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudExhbmd1YWdlSWQgLSBvcHRpb25hbCBvdmVyLXJpZGUgZm9yIHRyYW5zaWVudCBjYXNlIHdoZXJlIGxhbmd1YWdlIGluIHNjcmlwdHVyZSBzZXR0aW5ncyBoYXZlIG5vdCB5ZXQgdXBkYXRlZFxuICogQHBhcmFtIHtzdHJpbmd9IGN1cnJlbnRPd25lciAtIG9wdGlvbmFsIG92ZXItcmlkZSBmb3IgdHJhbnNpZW50IGNhc2Ugd2hlcmUgb3duZXIgaW4gc2NyaXB0dXJlIHNldHRpbmdzIGhhdmUgbm90IHlldCB1cGRhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKGJvb2tJZCwgc2NyaXB0dXJlU2V0dGluZ3NfLCBpc05ld1Rlc3RhbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVwb1VybD1udWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudExhbmd1YWdlSWQ9bnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRPd25lcj1udWxsLFxuKSB7XG4gIGNvbnN0IHNjcmlwdHVyZVNldHRpbmdzID0geyAuLi5zY3JpcHR1cmVTZXR0aW5nc18gfVxuICBzY3JpcHR1cmVTZXR0aW5ncy5kaXNhYmxlV29yZFBvcG92ZXIgPSBESVNBQkxFX1dPUkRfUE9QT1ZFUlxuICBjb25zdCByZXNvdXJjZUlkID0gc2NyaXB0dXJlU2V0dGluZ3NfLnJlc291cmNlSWRcblxuICBpZiAocmVzb3VyY2VJZCA9PT0gT1JJR0lOQUxfU09VUkNFKSB7XG4gICAgLy8gc2VsZWN0IG9yaWdpbmFsIGxhbmd1YWdlIEJpYmxlIGJhc2VkIG9uIHdoaWNoIHRlc3RhbWVudCB0aGUgYm9vayBiZWxvbmdzXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MubGFuZ3VhZ2VJZCA9IGlzTmV3VGVzdGFtZW50ID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IGlzTmV3VGVzdGFtZW50XG4gICAgICA/IE5UX09SSUdfTEFOR19CSUJMRVxuICAgICAgOiBPVF9PUklHX0xBTkdfQklCTEVcblxuICAgIGlmIChzY3JpcHR1cmVTZXR0aW5ncy5vcmlnaW5hbExhbmd1YWdlT3duZXIpIHtcbiAgICAgIHNjcmlwdHVyZVNldHRpbmdzLm93bmVyID0gc2NyaXB0dXJlU2V0dGluZ3Mub3JpZ2luYWxMYW5ndWFnZU93bmVyXG4gICAgfVxuXG4gICAgaWYgKG9yaWdpbmFsUmVwb1VybCkgeyAvLyB1c2UgdGhpcyB1cmwgaWYgZGVmaW5lZFxuICAgICAgY29uc3QgeyBzZXJ2ZXIsIHJlc291cmNlTGluayB9ID0gc3BsaXRVcmwob3JpZ2luYWxSZXBvVXJsKVxuICAgICAgc2NyaXB0dXJlU2V0dGluZ3Muc2VydmVyID0gc2VydmVyXG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSByZXNvdXJjZUxpbmtcbiAgICB9IGVsc2UgeyAvLyBmYWxsIGJhY2sgdG8gYXBwIGRlZmF1bHRzXG4gICAgICBzY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlU2V0dGluZ3MpXG4gICAgfVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLmRpc2FibGVXb3JkUG9wb3ZlciA9IGZhbHNlXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VJZCA9PT0gVEFSR0VUX0xJVEVSQUwpIHtcbiAgICBjbGVhbnVwQWNjb3VudFNldHRpbmdzKHNjcmlwdHVyZVNldHRpbmdzLCBjdXJyZW50T3duZXIsIGN1cnJlbnRMYW5ndWFnZUlkKVxuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlSWQgPSBzY3JpcHR1cmVTZXR0aW5ncy5sYW5ndWFnZUlkID09PSAnZW4nID8gJ3VsdCcgOiAnZ2x0J1xuICAgIHNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVTZXR0aW5ncylcbiAgfSBlbHNlIGlmIChyZXNvdXJjZUlkID09PSBUQVJHRVRfU0lNUExJRklFRCkge1xuICAgIGNsZWFudXBBY2NvdW50U2V0dGluZ3Moc2NyaXB0dXJlU2V0dGluZ3MsIGN1cnJlbnRPd25lciwgY3VycmVudExhbmd1YWdlSWQpXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VJZCA9IHNjcmlwdHVyZVNldHRpbmdzLmxhbmd1YWdlSWQgPT09ICdlbicgPyAndXN0JyA6ICdnc3QnXG4gICAgc2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZVNldHRpbmdzKVxuICB9XG4gIHJldHVybiBzY3JpcHR1cmVTZXR0aW5nc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzKHtcbiAgbGFiZWwsXG4gIHJlc291cmNlTGluayxcbiAgc2V0U2NyaXB0dXJlLFxuICBzY3JpcHR1cmVWZXJzaW9uSGlzdCxcbn0pIHtcbiAgY29uc3QgaGlzdG9yeSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldExhdGVzdCgpXG4gIGxldCBpbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCAncmVzb3VyY2VMaW5rJywgcmVzb3VyY2VMaW5rKVxuXG4gIGNvbnN0IHNjcmlwdHVyZVNlbGVjdG9yQ29uZmlnID0ge1xuICAgIGxhYmVsLCAvLyBsYWJlbCBmb3IgY29tYm9ib3hcbiAgICBvcHRpb25zOiBoaXN0b3J5LFxuICAgIGN1cnJlbnQ6IGluZGV4LFxuICAgIGFsbG93VXNlcklucHV0OiB0cnVlLFxuICAgIG9uQ2hhbmdlOiAodGl0bGUsIGluZGV4LCB2YWxpZGF0aW9uQ0I9bnVsbCkgPT4ge1xuICAgICAgbGV0IGl0ZW1cblxuICAgICAgaWYgKChpbmRleCA8IDApICYmIHRpdGxlKSB7XG4gICAgICAgIGNvbnN0IG5ld0l0ZW0gPSB7XG4gICAgICAgICAgdXJsOiB0aXRsZSxcbiAgICAgICAgICB0aXRsZSxcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmFkZEl0ZW1Ub0hpc3RvcnkobmV3SXRlbSlcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgIGl0ZW0gPSBzY3JpcHR1cmVWZXJzaW9uSGlzdC5nZXRMYXRlc3QoKVtpbmRleF1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXRlbSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldEl0ZW1CeVRpdGxlKHRpdGxlKVxuICAgICAgfVxuXG4gICAgICBpZiAoaXRlbSkge1xuICAgICAgICBzZXRTY3JpcHR1cmUoaXRlbSwgdmFsaWRhdGlvbkNCKVxuICAgICAgfVxuICAgIH0sXG4gICAgZGVsZXRlSXRlbTogdGl0bGUgPT4ge1xuICAgICAgY29uc3QgaGlzdG9yeSA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmdldExhdGVzdCgpXG4gICAgICBjb25zdCBkZWxldGVJbmRleCA9IHNjcmlwdHVyZVZlcnNpb25IaXN0LmZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCAndGl0bGUnLCB0aXRsZSlcbiAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LnJlbW92ZUl0ZW1CeUluZGV4KGRlbGV0ZUluZGV4KVxuICAgIH0sXG4gIH1cblxuICByZXR1cm4gc2NyaXB0dXJlU2VsZWN0b3JDb25maWdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlcG9VcmwocmVzb3VyY2VMaW5rOiBzdHJpbmcsIHNlcnZlcjogc3RyaW5nLCBpc05UOiBib29sZWFuKTogc3RyaW5nIHtcbiAgbGV0IHJlcG9VcmxcblxuICB0cnkge1xuICAgIGxldCBbb3duZXIsIGxhbmd1YWdlSWQsIHJlc291cmNlSWRdID0gcmVzb3VyY2VMaW5rLnNwbGl0KCcvJylcblxuICAgIHN3aXRjaCAocmVzb3VyY2VJZCkge1xuICAgIGNhc2UgT1JJR0lOQUxfU09VUkNFOlxuICAgICAgbGFuZ3VhZ2VJZCA9IGlzTlQgPyBOVF9PUklHX0xBTkcgOiBPVF9PUklHX0xBTkdcbiAgICAgIHJlc291cmNlSWQgPSBpc05UXG4gICAgICAgID8gTlRfT1JJR19MQU5HX0JJQkxFXG4gICAgICAgIDogT1RfT1JJR19MQU5HX0JJQkxFXG4gICAgICBicmVha1xuXG4gICAgY2FzZSBUQVJHRVRfTElURVJBTDpcbiAgICAgIHJlc291cmNlSWQgPSAobGFuZ3VhZ2VJZCA9PT0gJ2VuJykgPyAndWx0JyA6ICdnbHQnXG4gICAgICBicmVha1xuXG4gICAgY2FzZSBUQVJHRVRfU0lNUExJRklFRDpcbiAgICAgIHJlc291cmNlSWQgPSAobGFuZ3VhZ2VJZCA9PT0gJ2VuJykgPyAndXN0JyA6ICdnc3QnXG4gICAgICBicmVha1xuICAgIH1cbiAgICByZXBvVXJsID0gYCR7b3duZXJ9LyR7bGFuZ3VhZ2VJZH1fJHtyZXNvdXJjZUlkfWBcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIHJlc291cmNlTGluayB3YXMgaW52YWxpZFxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gYCR7c2VydmVyIHx8ICcnfS8ke3JlcG9Vcmx9YFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JNZXNzYWdlRm9yUmVzb3VyY2VMaW5rKFxuICByZXNvdXJjZUxpbms6IHN0cmluZyxcbiAgc2VydmVyOiBzdHJpbmcsXG4gIGVycm9yQ29kZTogc3RyaW5nLFxuICBpc05UOiBib29sZWFuKTogc3RyaW5nXG57XG4gIGNvbnN0IHJlcG9VcmwgPSBnZXRSZXBvVXJsKHJlc291cmNlTGluaywgc2VydmVyLCBpc05UKVxuICBjb25zdCBlcnJvck1zZyA9IGVycm9yQ29kZSArIHJlcG9VcmxcbiAgcmV0dXJuIGVycm9yTXNnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURjc1VybCh1cmwpIHtcbiAgbGV0IHZhbGlkUmVwb1BhdGggPSBmYWxzZVxuICBsZXQgdmFsaWRVcmwgPSBmYWxzZVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcGFydHMgPSB1cmwuc3BsaXQoJy8nKVxuICAgIGNvbnN0IFtwcm90b2NvbCwgLCBob3N0LCB1c2VyLCByZXBvXSA9IHBhcnRzXG4gICAgdmFsaWRVcmwgPSAocHJvdG9jb2wgPT09ICdodHRwczonKVxuICAgIGNvbnN0IGhvc3RQYXJ0cyA9IGhvc3QgPyBob3N0LnNwbGl0KCcuJykgOiBbXVxuXG4gICAgaWYgKGhvc3RQYXJ0cy5sZW5ndGggPj0gMikge1xuICAgICAgZm9yIChsZXQgcGFydCBvZiBob3N0UGFydHMpIHtcbiAgICAgICAgaWYgKCFwYXJ0KSB7XG4gICAgICAgICAgdmFsaWRVcmwgPSBmYWxzZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFsaWRVcmwgPSBmYWxzZVxuICAgIH1cblxuICAgIGlmICggcHJvdG9jb2wgJiYgaG9zdCAmJiB1c2VyICYmIHJlcG8gKSB7XG4gICAgICBjb25zdCBbbGFuZ3VhZ2VJZCwgcHJvamVjdElkXSA9IHJlcG8uc3BsaXQoJ18nKVxuICAgICAgdmFsaWRSZXBvUGF0aCA9IGxhbmd1YWdlSWQgJiYgcHJvamVjdElkXG4gICAgfVxuICB9IGNhdGNoIHtcbiAgICBjb25zb2xlLmxvZygnSW52YWxpZCBEQ1MgVVJMOiAnICsgdXJsKVxuICB9XG4gIHJldHVybiB7IHZhbGlkVXJsLCB2YWxpZFJlcG9QYXRoIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlRXJyb3JNZXNzYWdlKHJlc291cmNlU3RhdHVzOiBvYmplY3QpIHtcbiAgbGV0IG1lc3NhZ2UgPSAnJ1xuXG4gIGlmIChyZXNvdXJjZVN0YXR1c1tNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SXSkge1xuICAgIG1lc3NhZ2UgPSBNQU5JRkVTVF9OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbSU5WQUxJRF9NQU5JRkVTVF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gTUFOSUZFU1RfSU5WQUxJRF9FUlJPUl9NU0dcbiAgfSBlbHNlIGlmIChyZXNvdXJjZVN0YXR1c1tDT05URU5UX05PVF9GT1VORF9FUlJPUl0pIHtcbiAgICBtZXNzYWdlID0gQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH0gZWxzZSBpZiAocmVzb3VyY2VTdGF0dXNbU0NSSVBUVVJFX05PVF9MT0FERURfRVJST1JdKSB7XG4gICAgbWVzc2FnZSA9IFNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHXG4gIH1cbiAgcmV0dXJuIG1lc3NhZ2Vcbn1cblxuLyoqXG4gKiBkZWNvZGUgcmVzb3VyY2Ugc3RhdHVzIGludG8gc3RyaW5nLiAgQ3VycmVudGx5IG9ubHkgRW5nbGlzaFxuICogQHBhcmFtIHJlc291cmNlU3RhdHVzIC0gb2JqZWN0IHRoYXQgY29udGFpbnMgc3RhdGUgYW5kIGVycm9ycyB0aGF0IGFyZSBkZXRlY3RlZFxuICogQHBhcmFtIHNlcnZlciAtIGNvbnRhaW5zIHRoZSBzZXJ2ZXIgYmVpbmcgdXNlZFxuICogQHBhcmFtIHJlc291cmNlTGluayAtIHBhdGggdG8gcmVwbyBvbiBzZXJ2ZXJcbiAqIEBwYXJhbSBpc05UIC0gdHJ1ZSBpZiBOVCBib29rXG4gKiBAcmV0dXJuIGVtcHR5IHN0cmluZyBpZiBubyBlcnJvciwgZWxzZSByZXR1cm5zIHVzZXIgZXJyb3IgbWVzc2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VNZXNzYWdlKHJlc291cmNlU3RhdHVzOiBvYmplY3QsIHNlcnZlcjogc3RyaW5nLCByZXNvdXJjZUxpbms6IHN0cmluZywgaXNOVDogYm9vbGVhbikge1xuICBsZXQgbWVzc2FnZSA9ICcnXG5cbiAgaWYgKHJlc291cmNlU3RhdHVzW0xPQURJTkdfU1RBVEVdKSB7XG4gICAgbWVzc2FnZSA9IExPQURJTkdfUkVTT1VSQ0VcbiAgfSBlbHNlIHtcbiAgICBtZXNzYWdlID0gZ2V0UmVzb3VyY2VFcnJvck1lc3NhZ2UocmVzb3VyY2VTdGF0dXMpXG5cbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgbWVzc2FnZSA9IGdldEVycm9yTWVzc2FnZUZvclJlc291cmNlTGluayhyZXNvdXJjZUxpbmssIHNlcnZlciwgbWVzc2FnZSwgaXNOVClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1lc3NhZ2Vcbn1cblxuLyoqXG4gKiBnZW5lcmF0ZSByZXNvdXJjZSBzdHJpbmdcbiAqIEBwYXJhbSBvd25lclxuICogQHBhcmFtIGxhbmd1YWdlSWRcbiAqIEBwYXJhbSBwcm9qZWN0SWRcbiAqIEBwYXJhbSByZWZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTGlua1NwZWNpZmljKG93bmVyOiBzdHJpbmcsIGxhbmd1YWdlSWQ6IHN0cmluZywgcHJvamVjdElkOiBzdHJpbmcsIHJlZjogc3RyaW5nKSB7XG4gIHJldHVybiBgYXBpL3YxL3JlcG9zLyR7b3duZXJ9LyR7bGFuZ3VhZ2VJZH1fJHtwcm9qZWN0SWR9L2NvbnRlbnRzP3JlZj0ke3JlZn1gXG59XG5cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FDRUEsdUJBREYsRUFFRUMsc0JBRkYsRUFHRUMsYUFIRixFQUlFQyx5QkFKRixFQUtFQywwQkFMRixRQU1PLHVCQU5QO0FBT0EsU0FDRUMs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
@@ -1,13 +1,13 @@
1
1
  import "core-js/modules/es.array.find-index.js";
2
- import "core-js/modules/es.array.slice.js";
3
2
  import "core-js/modules/es.array.splice.js";
3
+ import "core-js/modules/es.array.slice.js";
4
4
  import "core-js/modules/es.object.define-property.js";
5
5
 
6
6
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7
7
 
8
8
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
9
9
 
10
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
10
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
11
11
 
12
12
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
13
 
@@ -158,4 +158,4 @@ export var ScriptureVersionHistory = /*#__PURE__*/function () {
158
158
 
159
159
  return ScriptureVersionHistory;
160
160
  }();
161
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9TY3JpcHR1cmVWZXJzaW9uSGlzdG9yeS50cyJdLCJuYW1lcyI6WyJjbG9uZURlZXAiLCJtYXhJdGVtcyIsIktFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlkiLCJTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSIsInZlcnNpb25IaXN0b3J5Iiwic2F2ZVZlcnNpb25IaXN0IiwicmVhZFZlcnNpb25IaXN0IiwiaGlzdG9yeSIsInJlc291cmNlTGluayIsInRpdGxlIiwiZ2V0TGF0ZXN0TXV0YWJsZSIsImluZGV4IiwiZmluZEl0ZW1JbmRleEJ5S2V5IiwiZW50cnkiLCJnZXRJdGVtQnlJbmRleCIsInZhbHVlIiwiZ2V0TGF0ZXN0Iiwia2V5IiwibWF0Y2giLCJmaW5kSW5kZXgiLCJpdGVtIiwibGVuZ3RoIiwic3BsaWNlIiwidXJsIiwicmVtb3ZlSXRlbUJ5SW5kZXgiLCJtYXRjaEl0ZW0iLCJmaW5kSXRlbSIsInNlcnZlciIsIm5ld0l0ZW0iLCJuZXdJbmRleCIsImNoYW5nZWQiLCJ1bnNoaWZ0Iiwic2xpY2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUtBLFNBQVosTUFBMkIsa0JBQTNCLEMsQ0FBOEM7O0FBRTlDLElBQU1DLFFBQVEsR0FBRyxDQUFqQjtBQUNBLE9BQU8sSUFBTUMseUJBQXlCLEdBQUcseUJBQWxDO0FBRVAsV0FBYUMsdUJBQWI7QUFLRSxtQ0FBWUMsY0FBWixFQUE0QkMsZUFBNUIsRUFBNkNDLGVBQTdDLEVBQThEO0FBQUE7O0FBQUE7O0FBQUE7O0FBQUE7O0FBQzVELFNBQUtGLGNBQUwsR0FBc0JBLGNBQXRCO0FBQ0EsU0FBS0MsZUFBTCxHQUF1QkEsZUFBdkI7QUFDQSxTQUFLQyxlQUFMLEdBQXVCQSxlQUF2QjtBQUNEOztBQVRIO0FBQUE7QUFBQSxnQ0FXY0MsT0FYZCxFQVd1QjtBQUNuQixXQUFLRixlQUFMLENBQXFCRSxPQUFyQixFQURtQixDQUNXO0FBQy9CO0FBYkg7QUFBQTtBQUFBLGdDQWVjQyxZQWZkLEVBZTRCQyxLQWY1QixFQWVtQztBQUFFO0FBQ2pDLFVBQU1GLE9BQU8sR0FBRyxLQUFLRyxnQkFBTCxFQUFoQixDQUQrQixDQUNTOztBQUN4QyxVQUFNQyxLQUFLLEdBQUcsS0FBS0Msa0JBQUwsQ0FBd0JMLE9BQXhCLEVBQWlDLGNBQWpDLEVBQWlEQyxZQUFqRCxDQUFkO0FBQ0EsVUFBTUssS0FBSyxHQUFHLEtBQUtDLGNBQUwsQ0FBb0JILEtBQXBCLENBQWQ7O0FBRUEsVUFBSUUsS0FBSixFQUFXO0FBQ1QsWUFBSUEsS0FBSyxDQUFDSixLQUFOLEtBQWdCQSxLQUFwQixFQUEyQjtBQUN6QkYsVUFBQUEsT0FBTyxDQUFDSSxLQUFELENBQVAsQ0FBZSxPQUFmLElBQTBCRixLQUExQixDQUR5QixDQUNPOztBQUNoQyxlQUFLSixlQUFMLENBQXFCRSxPQUFyQixFQUZ5QixDQUVLO0FBQy9CO0FBQ0Y7QUFDRjtBQTFCSDtBQUFBO0FBQUEsZ0NBNEJvQjtBQUNoQixVQUFNUSxLQUFLLEdBQUcsS0FBS1QsZUFBTCxFQUFkO0FBQ0EsYUFBT1MsS0FBSyxJQUFJLEVBQWhCO0FBQ0Q7QUEvQkg7QUFBQTtBQUFBLHVDQWlDMkI7QUFDdkIsYUFBT2YsU0FBUyxDQUFDLEtBQUtnQixTQUFMLEVBQUQsQ0FBaEI7QUFDRDtBQW5DSDtBQUFBO0FBQUEsdUNBcUNxQlQsT0FyQ3JCLEVBcUM4QlUsR0FyQzlCLEVBcUNtQ0MsS0FyQ25DLEVBcUNpRDtBQUM3QyxVQUFNUCxLQUFLLEdBQUdKLE9BQU8sQ0FBQ1ksU0FBUixDQUFrQixVQUFDQyxJQUFEO0FBQUEsZUFBV0EsSUFBSSxDQUFDSCxHQUFELENBQUosS0FBY0MsS0FBekI7QUFBQSxPQUFsQixDQUFkO0FBQ0EsYUFBT1AsS0FBUDtBQUNEO0FBeENIO0FBQUE7QUFBQSxtQ0EwQ2lCQSxLQTFDakIsRUEwQzBDO0FBQUEsVUFBbEJKLE9BQWtCLHVFQUFWLElBQVU7QUFDdENBLE1BQUFBLE9BQU8sR0FBR0EsT0FBTyxJQUFJLEtBQUtTLFNBQUwsRUFBckI7QUFDQSxhQUFRTCxLQUFLLElBQUksQ0FBVixHQUFlSixPQUFPLENBQUNJLEtBQUQsQ0FBdEIsR0FBZ0MsSUFBdkM7QUFDRDtBQTdDSDtBQUFBO0FBQUEsbUNBK0NpQkYsS0EvQ2pCLEVBK0M0QjtBQUN4QixVQUFNRixPQUFPLEdBQUcsS0FBS1MsU0FBTCxFQUFoQjtBQUNBLFVBQU1MLEtBQUssR0FBRyxLQUFLQyxrQkFBTCxDQUF3QkwsT0FBeEIsRUFBaUMsT0FBakMsRUFBMENFLEtBQTFDLENBQWQ7QUFDQSxhQUFPLEtBQUtLLGNBQUwsQ0FBb0JILEtBQXBCLEVBQTJCSixPQUEzQixDQUFQO0FBQ0Q7QUFuREg7QUFBQTtBQUFBLHNDQXFEb0JJLEtBckRwQixFQXFEeUM7QUFBQSxVQUFkSixPQUFjLHVFQUFOLElBQU07QUFDckNBLE1BQUFBLE9BQU8sR0FBR1AsU0FBUyxDQUFDTyxPQUFPLElBQUksS0FBS1MsU0FBTCxFQUFaLENBQW5COztBQUVBLFVBQUtMLEtBQUssSUFBSSxDQUFWLElBQWlCQSxLQUFLLEdBQUdKLE9BQU8sQ0FBQ2MsTUFBckMsRUFBOEM7QUFDNUNkLFFBQUFBLE9BQU8sQ0FBQ2UsTUFBUixDQUFlWCxLQUFmLEVBQXNCLENBQXRCLEVBRDRDLENBQ25COztBQUN6QixhQUFLTixlQUFMLENBQXFCRSxPQUFyQjtBQUNEO0FBQ0Y7QUE1REg7QUFBQTtBQUFBLDhCQThEWWdCLEdBOURaLEVBOERpQjtBQUNiLFVBQU1aLEtBQUssR0FBRyxLQUFLQyxrQkFBTCxDQUF3QixLQUFLSSxTQUFMLEVBQXhCLEVBQTBDLEtBQTFDLEVBQWlETyxHQUFqRCxDQUFkOztBQUVBLFVBQUlaLEtBQUssSUFBSSxDQUFiLEVBQWdCO0FBQ2QsYUFBS2EsaUJBQUwsQ0FBdUJiLEtBQXZCO0FBQ0Q7QUFDRjtBQXBFSDtBQUFBO0FBQUEsK0JBc0VhYyxTQXRFYixFQXNFc0M7QUFBQSxVQUFkbEIsT0FBYyx1RUFBTixJQUFNO0FBQ2xDQSxNQUFBQSxPQUFPLEdBQUdBLE9BQU8sSUFBSSxLQUFLUyxTQUFMLEVBQXJCO0FBQ0EsVUFBTUwsS0FBSyxHQUFHLEtBQUtlLFFBQUwsQ0FBY0QsU0FBZCxFQUF5QmxCLE9BQXpCLENBQWQ7O0FBRUEsVUFBSUksS0FBSyxJQUFJLENBQWIsRUFBZ0I7QUFDZCxhQUFLYSxpQkFBTCxDQUF1QmIsS0FBdkIsRUFBOEJKLE9BQTlCO0FBQ0Q7QUFDRjtBQTdFSDtBQUFBO0FBQUEsNkJBK0VXa0IsU0EvRVgsRUErRTJDO0FBQUEsVUFBckJsQixPQUFxQix1RUFBYixJQUFhO0FBQ3ZDQSxNQUFBQSxPQUFPLEdBQUdBLE9BQU8sSUFBSSxLQUFLUyxTQUFMLEVBQXJCO0FBRUEsVUFBTUwsS0FBSyxHQUFHSixPQUFPLENBQUNZLFNBQVIsQ0FBa0IsVUFBQ0MsSUFBRDtBQUFBLGVBQzlCQSxJQUFJLENBQUNPLE1BQUwsSUFBZ0JQLElBQUksQ0FBQ08sTUFBTCxLQUFnQkYsU0FBUyxDQUFDRSxNQUExQyxJQUNBUCxJQUFJLENBQUNaLFlBREwsSUFDc0JZLElBQUksQ0FBQ1osWUFBTCxLQUFzQmlCLFNBQVMsQ0FBQ2pCLFlBRnhCO0FBQUEsT0FBbEIsQ0FBZDtBQUdBLGFBQU9HLEtBQVA7QUFDRDtBQXRGSDtBQUFBO0FBQUEscUNBd0ZtQmlCLE9BeEZuQixFQXdGbUM7QUFBRTtBQUNqQyxVQUFJckIsT0FBTyxHQUFHLEtBQUtHLGdCQUFMLEVBQWQsQ0FEK0IsQ0FDTzs7QUFDdEMsVUFBSW1CLFFBQVEsR0FBRyxDQUFDLENBQWhCO0FBQ0EsVUFBSUMsT0FBTyxHQUFHLEtBQWQ7QUFDQSxVQUFNbkIsS0FBSyxHQUFHLEtBQUtlLFFBQUwsQ0FBY0UsT0FBZCxFQUF1QnJCLE9BQXZCLENBQWQ7O0FBRUEsVUFBSUksS0FBSyxHQUFHLENBQVosRUFBZTtBQUNiSixRQUFBQSxPQUFPLENBQUN3QixPQUFSLENBQWdCSCxPQUFoQjtBQUNBQyxRQUFBQSxRQUFRLEdBQUcsQ0FBWDtBQUNBQyxRQUFBQSxPQUFPLEdBQUcsSUFBVjtBQUNEOztBQUVELFVBQUl2QixPQUFPLENBQUNjLE1BQVIsR0FBaUJwQixRQUFyQixFQUErQjtBQUM3Qk0sUUFBQUEsT0FBTyxHQUFHQSxPQUFPLENBQUN5QixLQUFSLENBQWMsQ0FBZCxFQUFpQi9CLFFBQWpCLENBQVY7QUFDQTZCLFFBQUFBLE9BQU8sR0FBRyxJQUFWO0FBQ0Q7O0FBRUQsVUFBSUEsT0FBSixFQUFhO0FBQ1gsYUFBS3pCLGVBQUwsQ0FBcUJFLE9BQXJCO0FBQ0Q7O0FBQ0QsYUFBUXNCLFFBQVEsSUFBSSxDQUFiLEdBQWtCQSxRQUFsQixHQUE2QmxCLEtBQXBDO0FBQ0Q7QUE3R0g7O0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJyAvLyBjaGVycnkgcGljayBqdXN0IHRoZSBmdW5jdGlvbiB3ZSBuZWVkIHNvIHdlYnBhY2sgY2FuIHN0cmlwIHVubmVlZGVkIHBhcnRzXG5cbmNvbnN0IG1heEl0ZW1zID0gN1xuZXhwb3J0IGNvbnN0IEtFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlkgPSAnc2NyaXB0dXJlVmVyc2lvbkhpc3RvcnknXG5cbmV4cG9ydCBjbGFzcyBTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSB7XG4gIHNhdmVWZXJzaW9uSGlzdDogRnVuY3Rpb25cbiAgcmVhZFZlcnNpb25IaXN0OiBGdW5jdGlvblxuICB2ZXJzaW9uSGlzdG9yeTogRnVuY3Rpb25cblxuICBjb25zdHJ1Y3Rvcih2ZXJzaW9uSGlzdG9yeSwgc2F2ZVZlcnNpb25IaXN0LCByZWFkVmVyc2lvbkhpc3QpIHtcbiAgICB0aGlzLnZlcnNpb25IaXN0b3J5ID0gdmVyc2lvbkhpc3RvcnlcbiAgICB0aGlzLnNhdmVWZXJzaW9uSGlzdCA9IHNhdmVWZXJzaW9uSGlzdFxuICAgIHRoaXMucmVhZFZlcnNpb25IaXN0ID0gcmVhZFZlcnNpb25IaXN0XG4gIH1cblxuICBzYXZlSGlzdG9yeShoaXN0b3J5KSB7XG4gICAgdGhpcy5zYXZlVmVyc2lvbkhpc3QoaGlzdG9yeSkgLy8gcGVyc2lzdCBzZXR0aW5nc1xuICB9XG5cbiAgdXBkYXRlVGl0bGUocmVzb3VyY2VMaW5rLCB0aXRsZSkgeyAvLyB1cGRhdGUgdGl0bGUgZm9yIHJlc291cmNlTGlua1xuICAgIGNvbnN0IGhpc3RvcnkgPSB0aGlzLmdldExhdGVzdE11dGFibGUoKSAvLyBtYWtlIGNvcHkgc28gd2UgY2FuIG1vZGlmeVxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3Jlc291cmNlTGluaycsIHJlc291cmNlTGluaylcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZ2V0SXRlbUJ5SW5kZXgoaW5kZXgpXG5cbiAgICBpZiAoZW50cnkpIHtcbiAgICAgIGlmIChlbnRyeS50aXRsZSAhPT0gdGl0bGUpIHtcbiAgICAgICAgaGlzdG9yeVtpbmRleF1bJ3RpdGxlJ10gPSB0aXRsZSAvLyB1cGRhdGUgdGhlIHRpdGxlXG4gICAgICAgIHRoaXMuc2F2ZVZlcnNpb25IaXN0KGhpc3RvcnkpIC8vIHBlcnNpc3Qgc2V0dGluZ3NcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRMYXRlc3QoKTphbnlbXSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnJlYWRWZXJzaW9uSGlzdCgpXG4gICAgcmV0dXJuIHZhbHVlIHx8IFtdXG4gIH1cblxuICBnZXRMYXRlc3RNdXRhYmxlKCk6YW55W10ge1xuICAgIHJldHVybiBjbG9uZURlZXAodGhpcy5nZXRMYXRlc3QoKSlcbiAgfVxuXG4gIGZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCBrZXksIG1hdGNoKTpudW1iZXIge1xuICAgIGNvbnN0IGluZGV4ID0gaGlzdG9yeS5maW5kSW5kZXgoKGl0ZW0pID0+IChpdGVtW2tleV0gPT09IG1hdGNoKSApXG4gICAgcmV0dXJuIGluZGV4XG4gIH1cblxuICBnZXRJdGVtQnlJbmRleChpbmRleCwgaGlzdG9yeT1udWxsKTphbnkge1xuICAgIGhpc3RvcnkgPSBoaXN0b3J5IHx8IHRoaXMuZ2V0TGF0ZXN0KClcbiAgICByZXR1cm4gKGluZGV4ID49IDApID8gaGlzdG9yeVtpbmRleF0gOiBudWxsXG4gIH1cblxuICBnZXRJdGVtQnlUaXRsZSh0aXRsZSk6YW55IHtcbiAgICBjb25zdCBoaXN0b3J5ID0gdGhpcy5nZXRMYXRlc3QoKVxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kSXRlbUluZGV4QnlLZXkoaGlzdG9yeSwgJ3RpdGxlJywgdGl0bGUpXG4gICAgcmV0dXJuIHRoaXMuZ2V0SXRlbUJ5SW5kZXgoaW5kZXgsIGhpc3RvcnkpXG4gIH1cblxuICByZW1vdmVJdGVtQnlJbmRleChpbmRleCwgaGlzdG9yeT1udWxsKSB7XG4gICAgaGlzdG9yeSA9IGNsb25lRGVlcChoaXN0b3J5IHx8IHRoaXMuZ2V0TGF0ZXN0KCkpXG5cbiAgICBpZiAoKGluZGV4ID49IDApICYmIChpbmRleCA8IGhpc3RvcnkubGVuZ3RoKSkge1xuICAgICAgaGlzdG9yeS5zcGxpY2UoaW5kZXgsIDEpIC8vIHJlbW92ZSBvbGQgaXRlbSAtIHdlIHdpbGwgYWRkIGl0IGJhY2sgYWdhaW4gdG8gdGhlIGZyb250XG4gICAgICB0aGlzLnNhdmVWZXJzaW9uSGlzdChoaXN0b3J5KVxuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVVybCh1cmwpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZmluZEl0ZW1JbmRleEJ5S2V5KHRoaXMuZ2V0TGF0ZXN0KCksICd1cmwnLCB1cmwpXG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5yZW1vdmVJdGVtQnlJbmRleChpbmRleClcbiAgICB9XG4gIH1cblxuICByZW1vdmVJdGVtKG1hdGNoSXRlbSwgaGlzdG9yeT1udWxsKSB7XG4gICAgaGlzdG9yeSA9IGhpc3RvcnkgfHwgdGhpcy5nZXRMYXRlc3QoKVxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kSXRlbShtYXRjaEl0ZW0sIGhpc3RvcnkpXG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5yZW1vdmVJdGVtQnlJbmRleChpbmRleCwgaGlzdG9yeSlcbiAgICB9XG4gIH1cblxuICBmaW5kSXRlbShtYXRjaEl0ZW0sIGhpc3Rvcnk9bnVsbCk6bnVtYmVyIHtcbiAgICBoaXN0b3J5ID0gaGlzdG9yeSB8fCB0aGlzLmdldExhdGVzdCgpXG5cbiAgICBjb25zdCBpbmRleCA9IGhpc3RvcnkuZmluZEluZGV4KChpdGVtKSA9PiAoXG4gICAgICBpdGVtLnNlcnZlciAmJiAoaXRlbS5zZXJ2ZXIgPT09IG1hdGNoSXRlbS5zZXJ2ZXIpICYmXG4gICAgICBpdGVtLnJlc291cmNlTGluayAmJiAoaXRlbS5yZXNvdXJjZUxpbmsgPT09IG1hdGNoSXRlbS5yZXNvdXJjZUxpbmspKSlcbiAgICByZXR1cm4gaW5kZXhcbiAgfVxuXG4gIGFkZEl0ZW1Ub0hpc3RvcnkobmV3SXRlbSk6bnVtYmVyIHsgLy8gYWRkIG5ldyBpdGVtIHRvIGZyb250IG9mIHRoZSBhcnJheSBhbmQgb25seSBrZWVwIHVwIHRvIG1heEl0ZW1zXG4gICAgbGV0IGhpc3RvcnkgPSB0aGlzLmdldExhdGVzdE11dGFibGUoKSAvLyBtYWtlIGNvcHkgc28gd2UgY2FuIG1vZGlmeVxuICAgIGxldCBuZXdJbmRleCA9IC0xXG4gICAgbGV0IGNoYW5nZWQgPSBmYWxzZVxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kSXRlbShuZXdJdGVtLCBoaXN0b3J5KVxuXG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgaGlzdG9yeS51bnNoaWZ0KG5ld0l0ZW0pXG4gICAgICBuZXdJbmRleCA9IDBcbiAgICAgIGNoYW5nZWQgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKGhpc3RvcnkubGVuZ3RoID4gbWF4SXRlbXMpIHtcbiAgICAgIGhpc3RvcnkgPSBoaXN0b3J5LnNsaWNlKDAsIG1heEl0ZW1zKVxuICAgICAgY2hhbmdlZCA9IHRydWVcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5zYXZlVmVyc2lvbkhpc3QoaGlzdG9yeSlcbiAgICB9XG4gICAgcmV0dXJuIChuZXdJbmRleCA+PSAwKSA/IG5ld0luZGV4IDogaW5kZXhcbiAgfVxufVxuXG5cbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbG9uZURlZXAiLCJtYXhJdGVtcyIsIktFWV9TQ1JJUFRVUkVfVkVSX0hJU1RPUlkiLCJTY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSIsInZlcnNpb25IaXN0b3J5Iiwic2F2ZVZlcnNpb25IaXN0IiwicmVhZFZlcnNpb25IaXN0IiwiaGlzdG9yeSIsInJlc291cmNlTGluayIsInRpdGxlIiwiZ2V0TGF0ZXN0TXV0YWJsZSIsImluZGV4IiwiZmluZEl0ZW1JbmRleEJ5S2V5IiwiZW50cnkiLCJnZXRJdGVtQnlJbmRleCIsInZhbHVlIiwiZ2V0TGF0ZXN0Iiwia2V5IiwibWF0Y2giLCJmaW5kSW5kZXgiLCJpdGVtIiwibGVuZ3RoIiwic3BsaWNlIiwidXJsIiwicmVtb3ZlSXRlbUJ5SW5kZXgiLCJtYXRjaEl0ZW0iLCJmaW5kSXRlbSIsInNlcnZlciIsIm5ld0l0ZW0iLCJuZXdJbmRleCIsImNoYW5nZWQiLCJ1bnNoaWZ0Iiwic2xpY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvU2NyaXB0dXJlVmVyc2lvbkhpc3RvcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnIC8vIGNoZXJyeSBwaWNrIGp1c3QgdGhlIGZ1bmN0aW9uIHdlIG5lZWQgc28gd2VicGFjayBjYW4gc3RyaXAgdW5uZWVkZWQgcGFydHNcblxuY29uc3QgbWF4SXRlbXMgPSA3XG5leHBvcnQgY29uc3QgS0VZX1NDUklQVFVSRV9WRVJfSElTVE9SWSA9ICdzY3JpcHR1cmVWZXJzaW9uSGlzdG9yeSdcblxuZXhwb3J0IGNsYXNzIFNjcmlwdHVyZVZlcnNpb25IaXN0b3J5IHtcbiAgc2F2ZVZlcnNpb25IaXN0OiBGdW5jdGlvblxuICByZWFkVmVyc2lvbkhpc3Q6IEZ1bmN0aW9uXG4gIHZlcnNpb25IaXN0b3J5OiBGdW5jdGlvblxuXG4gIGNvbnN0cnVjdG9yKHZlcnNpb25IaXN0b3J5LCBzYXZlVmVyc2lvbkhpc3QsIHJlYWRWZXJzaW9uSGlzdCkge1xuICAgIHRoaXMudmVyc2lvbkhpc3RvcnkgPSB2ZXJzaW9uSGlzdG9yeVxuICAgIHRoaXMuc2F2ZVZlcnNpb25IaXN0ID0gc2F2ZVZlcnNpb25IaXN0XG4gICAgdGhpcy5yZWFkVmVyc2lvbkhpc3QgPSByZWFkVmVyc2lvbkhpc3RcbiAgfVxuXG4gIHNhdmVIaXN0b3J5KGhpc3RvcnkpIHtcbiAgICB0aGlzLnNhdmVWZXJzaW9uSGlzdChoaXN0b3J5KSAvLyBwZXJzaXN0IHNldHRpbmdzXG4gIH1cblxuICB1cGRhdGVUaXRsZShyZXNvdXJjZUxpbmssIHRpdGxlKSB7IC8vIHVwZGF0ZSB0aXRsZSBmb3IgcmVzb3VyY2VMaW5rXG4gICAgY29uc3QgaGlzdG9yeSA9IHRoaXMuZ2V0TGF0ZXN0TXV0YWJsZSgpIC8vIG1ha2UgY29weSBzbyB3ZSBjYW4gbW9kaWZ5XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCAncmVzb3VyY2VMaW5rJywgcmVzb3VyY2VMaW5rKVxuICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5nZXRJdGVtQnlJbmRleChpbmRleClcblxuICAgIGlmIChlbnRyeSkge1xuICAgICAgaWYgKGVudHJ5LnRpdGxlICE9PSB0aXRsZSkge1xuICAgICAgICBoaXN0b3J5W2luZGV4XVsndGl0bGUnXSA9IHRpdGxlIC8vIHVwZGF0ZSB0aGUgdGl0bGVcbiAgICAgICAgdGhpcy5zYXZlVmVyc2lvbkhpc3QoaGlzdG9yeSkgLy8gcGVyc2lzdCBzZXR0aW5nc1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldExhdGVzdCgpOmFueVtdIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVhZFZlcnNpb25IaXN0KClcbiAgICByZXR1cm4gdmFsdWUgfHwgW11cbiAgfVxuXG4gIGdldExhdGVzdE11dGFibGUoKTphbnlbXSB7XG4gICAgcmV0dXJuIGNsb25lRGVlcCh0aGlzLmdldExhdGVzdCgpKVxuICB9XG5cbiAgZmluZEl0ZW1JbmRleEJ5S2V5KGhpc3RvcnksIGtleSwgbWF0Y2gpOm51bWJlciB7XG4gICAgY29uc3QgaW5kZXggPSBoaXN0b3J5LmZpbmRJbmRleCgoaXRlbSkgPT4gKGl0ZW1ba2V5XSA9PT0gbWF0Y2gpIClcbiAgICByZXR1cm4gaW5kZXhcbiAgfVxuXG4gIGdldEl0ZW1CeUluZGV4KGluZGV4LCBoaXN0b3J5PW51bGwpOmFueSB7XG4gICAgaGlzdG9yeSA9IGhpc3RvcnkgfHwgdGhpcy5nZXRMYXRlc3QoKVxuICAgIHJldHVybiAoaW5kZXggPj0gMCkgPyBoaXN0b3J5W2luZGV4XSA6IG51bGxcbiAgfVxuXG4gIGdldEl0ZW1CeVRpdGxlKHRpdGxlKTphbnkge1xuICAgIGNvbnN0IGhpc3RvcnkgPSB0aGlzLmdldExhdGVzdCgpXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbmRJdGVtSW5kZXhCeUtleShoaXN0b3J5LCAndGl0bGUnLCB0aXRsZSlcbiAgICByZXR1cm4gdGhpcy5nZXRJdGVtQnlJbmRleChpbmRleCwgaGlzdG9yeSlcbiAgfVxuXG4gIHJlbW92ZUl0ZW1CeUluZGV4KGluZGV4LCBoaXN0b3J5PW51bGwpIHtcbiAgICBoaXN0b3J5ID0gY2xvbmVEZWVwKGhpc3RvcnkgfHwgdGhpcy5nZXRMYXRlc3QoKSlcblxuICAgIGlmICgoaW5kZXggPj0gMCkgJiYgKGluZGV4IDwgaGlzdG9yeS5sZW5ndGgpKSB7XG4gICAgICBoaXN0b3J5LnNwbGljZShpbmRleCwgMSkgLy8gcmVtb3ZlIG9sZCBpdGVtIC0gd2Ugd2lsbCBhZGQgaXQgYmFjayBhZ2FpbiB0byB0aGUgZnJvbnRcbiAgICAgIHRoaXMuc2F2ZVZlcnNpb25IaXN0KGhpc3RvcnkpXG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlVXJsKHVybCkge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kSXRlbUluZGV4QnlLZXkodGhpcy5nZXRMYXRlc3QoKSwgJ3VybCcsIHVybClcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB0aGlzLnJlbW92ZUl0ZW1CeUluZGV4KGluZGV4KVxuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUl0ZW0obWF0Y2hJdGVtLCBoaXN0b3J5PW51bGwpIHtcbiAgICBoaXN0b3J5ID0gaGlzdG9yeSB8fCB0aGlzLmdldExhdGVzdCgpXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbmRJdGVtKG1hdGNoSXRlbSwgaGlzdG9yeSlcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB0aGlzLnJlbW92ZUl0ZW1CeUluZGV4KGluZGV4LCBoaXN0b3J5KVxuICAgIH1cbiAgfVxuXG4gIGZpbmRJdGVtKG1hdGNoSXRlbSwgaGlzdG9yeT1udWxsKTpudW1iZXIge1xuICAgIGhpc3RvcnkgPSBoaXN0b3J5IHx8IHRoaXMuZ2V0TGF0ZXN0KClcblxuICAgIGNvbnN0IGluZGV4ID0gaGlzdG9yeS5maW5kSW5kZXgoKGl0ZW0pID0+IChcbiAgICAgIGl0ZW0uc2VydmVyICYmIChpdGVtLnNlcnZlciA9PT0gbWF0Y2hJdGVtLnNlcnZlcikgJiZcbiAgICAgIGl0ZW0ucmVzb3VyY2VMaW5rICYmIChpdGVtLnJlc291cmNlTGluayA9PT0gbWF0Y2hJdGVtLnJlc291cmNlTGluaykpKVxuICAgIHJldHVybiBpbmRleFxuICB9XG5cbiAgYWRkSXRlbVRvSGlzdG9yeShuZXdJdGVtKTpudW1iZXIgeyAvLyBhZGQgbmV3IGl0ZW0gdG8gZnJvbnQgb2YgdGhlIGFycmF5IGFuZCBvbmx5IGtlZXAgdXAgdG8gbWF4SXRlbXNcbiAgICBsZXQgaGlzdG9yeSA9IHRoaXMuZ2V0TGF0ZXN0TXV0YWJsZSgpIC8vIG1ha2UgY29weSBzbyB3ZSBjYW4gbW9kaWZ5XG4gICAgbGV0IG5ld0luZGV4ID0gLTFcbiAgICBsZXQgY2hhbmdlZCA9IGZhbHNlXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbmRJdGVtKG5ld0l0ZW0sIGhpc3RvcnkpXG5cbiAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICBoaXN0b3J5LnVuc2hpZnQobmV3SXRlbSlcbiAgICAgIG5ld0luZGV4ID0gMFxuICAgICAgY2hhbmdlZCA9IHRydWVcbiAgICB9XG5cbiAgICBpZiAoaGlzdG9yeS5sZW5ndGggPiBtYXhJdGVtcykge1xuICAgICAgaGlzdG9yeSA9IGhpc3Rvcnkuc2xpY2UoMCwgbWF4SXRlbXMpXG4gICAgICBjaGFuZ2VkID0gdHJ1ZVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICB0aGlzLnNhdmVWZXJzaW9uSGlzdChoaXN0b3J5KVxuICAgIH1cbiAgICByZXR1cm4gKG5ld0luZGV4ID49IDApID8gbmV3SW5kZXggOiBpbmRleFxuICB9XG59XG5cblxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLQSxTQUFaLE1BQTJCLGtCQUEzQixDLENBQThDOztBQUU5QyxJQUFNQyxRQUFRLEdBQUcsQ0FBakI7QUFDQSxPQUFPLElBQU1DLHlCQUF5QixHQUFHLHlCQUFsQztBQUVQLFdBQWFDLHVCQUFiO0VBS0UsaUNBQVlDLGNBQVosRUFBNEJDLGVBQTVCLEVBQTZDQyxlQUE3QyxFQUE4RDtJQUFBOztJQUFBOztJQUFBOztJQUFBOztJQUM1RCxLQUFLRixjQUFMLEdBQXNCQSxjQUF0QjtJQUNBLEtBQUtDLGVBQUwsR0FBdUJBLGVBQXZCO0lBQ0EsS0FBS0MsZUFBTCxHQUF1QkEsZUFBdkI7RUFDRDs7RUFUSDtJQUFBO0lBQUEsT0FXRSxxQkFBWUMsT0FBWixFQUFxQjtNQUNuQixLQUFLRixlQUFMLENBQXFCRSxPQUFyQixFQURtQixDQUNXO0lBQy9CO0VBYkg7SUFBQTtJQUFBLE9BZUUscUJBQVlDLFlBQVosRUFBMEJDLEtBQTFCLEVBQWlDO01BQUU7TUFDakMsSUFBTUYsT0FBTyxHQUFHLEtBQUtHLGdCQUFMLEVBQWhCLENBRCtCLENBQ1M7O01BQ3hDLElBQU1DLEtBQUssR0FBRyxLQUFLQyxrQkFBTCxDQUF3QkwsT0FBeEIsRUFBaUMsY0FBakMsRUFBaURDLFlBQWpELENBQWQ7TUFDQSxJQUFNSyxLQUFLLEdBQUcsS0FB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
@@ -16,4 +16,4 @@ export var REPO_NOT_FOUND_ERROR = 'Project not Found!';
16
16
  export var REPO_NOT_SCRIPTURE_ERROR = 'This link does not point to a scripture resource.';
17
17
  export var MANIFEST_INVALID_SHORT_ERROR = 'The manifest for this project is invalid!';
18
18
  export var LOADING_RESOURCE = 'Loading Resource...';
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb21tb24udHMiXSwibmFtZXMiOlsiTlRfT1JJR19MQU5HIiwiTlRfT1JJR19MQU5HX0JJQkxFIiwiT1RfT1JJR19MQU5HIiwiT1RfT1JJR19MQU5HX0JJQkxFIiwiT1JJR0lOQUxfU09VUkNFIiwiVEFSR0VUX0xJVEVSQUwiLCJUQVJHRVRfU0lNUExJRklFRCIsIk1BTklGRVNUX05PVF9GT1VORF9FUlJPUl9NU0ciLCJNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyIsIkJPT0tfTk9UX0ZPVU5EX0VSUk9SX01TRyIsIlNDUklQVFVSRV9OT1RfRk9VTkRfRVJST1JfTVNHIiwiSU5WQUxJRF9VUkwiLCJJTlZBTElEX1JFUE9fVVJMX0VSUk9SIiwiUkVQT19OT1RfRk9VTkRfRVJST1IiLCJSRVBPX05PVF9TQ1JJUFRVUkVfRVJST1IiLCJNQU5JRkVTVF9JTlZBTElEX1NIT1JUX0VSUk9SIiwiTE9BRElOR19SRVNPVVJDRSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFNQSxZQUFZLEdBQUcsWUFBckI7QUFDUCxPQUFPLElBQU1DLGtCQUFrQixHQUFHLE1BQTNCO0FBQ1AsT0FBTyxJQUFNQyxZQUFZLEdBQUcsS0FBckI7QUFDUCxPQUFPLElBQU1DLGtCQUFrQixHQUFHLEtBQTNCO0FBQ1AsT0FBTyxJQUFNQyxlQUFlLEdBQUcsaUJBQXhCO0FBQ1AsT0FBTyxJQUFNQyxjQUFjLEdBQUcsZ0JBQXZCO0FBQ1AsT0FBTyxJQUFNQyxpQkFBaUIsR0FBRyxtQkFBMUIsQyxDQUVQOztBQUNBLE9BQU8sSUFBTUMsNEJBQTRCLEdBQUcsdUhBQXJDO0FBQ1AsT0FBTyxJQUFNQywwQkFBMEIsR0FBRyw2REFBbkM7QUFDUCxPQUFPLElBQU1DLHdCQUF3QixHQUFHLDhEQUFqQztBQUNQLE9BQU8sSUFBTUMsNkJBQTZCLEdBQUcsa0VBQXRDO0FBQ1AsT0FBTyxJQUFNQyxXQUFXLEdBQUcsY0FBcEI7QUFDUCxPQUFPLElBQU1DLHNCQUFzQixHQUFHLHNCQUEvQjtBQUNQLE9BQU8sSUFBTUMsb0JBQW9CLEdBQUcsb0JBQTdCO0FBQ1AsT0FBTyxJQUFNQyx3QkFBd0IsR0FBRyxtREFBakM7QUFDUCxPQUFPLElBQU1DLDRCQUE0QixHQUFHLDJDQUFyQztBQUNQLE9BQU8sSUFBTUMsZ0JBQWdCLEdBQUcscUJBQXpCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IE5UX09SSUdfTEFORyA9ICdlbC14LWtvaW5lJ1xuZXhwb3J0IGNvbnN0IE5UX09SSUdfTEFOR19CSUJMRSA9ICd1Z250J1xuZXhwb3J0IGNvbnN0IE9UX09SSUdfTEFORyA9ICdoYm8nXG5leHBvcnQgY29uc3QgT1RfT1JJR19MQU5HX0JJQkxFID0gJ3VoYidcbmV4cG9ydCBjb25zdCBPUklHSU5BTF9TT1VSQ0UgPSAnT1JJR0lOQUxfU09VUkNFJ1xuZXhwb3J0IGNvbnN0IFRBUkdFVF9MSVRFUkFMID0gJ1RBUkdFVF9MSVRFUkFMJ1xuZXhwb3J0IGNvbnN0IFRBUkdFVF9TSU1QTElGSUVEID0gJ1RBUkdFVF9TSU1QTElGSUVEJ1xuXG4vLyBtZXNzYWdlc1xuZXhwb3J0IGNvbnN0IE1BTklGRVNUX05PVF9GT1VORF9FUlJPUl9NU0cgPSAnVGhpcyBwcm9qZWN0IG1hbmlmZXN0IGZhaWxlZCB0byBsb2FkLiAgUGxlYXNlIGNvbmZpcm0gdGhhdCB0aGUgY29ycmVjdCBtYW5pZmVzdC55YW1sIGZpbGUgZXhpc3RzIGluIHRoZSBwcm9qZWN0IGF0OlxcbidcbmV4cG9ydCBjb25zdCBNQU5JRkVTVF9JTlZBTElEX0VSUk9SX01TRyA9ICdUaGUgbWFuaWZlc3QgZm9yIHRoaXMgcHJvamVjdCBpcyBpbnZhbGlkLiAgUHJvamVjdCBpcyBhdDpcXG4nXG5leHBvcnQgY29uc3QgQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHID0gJ1RoaXMgYm9vayBjYW4gbm90IGJlIGZvdW5kIGluIHRoZSBwcm9qZWN0LiAgUHJvamVjdCBpcyBhdDpcXG4nXG5leHBvcnQgY29uc3QgU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0cgPSAnVGhlcmUgaXMgbm8gYXNzb2NpYXRlZCBjb250ZW50IGZvciB0aGlzIHZlcnNlLiAgUHJvamVjdCBpcyBhdDpcXG4nXG5leHBvcnQgY29uc3QgSU5WQUxJRF9VUkwgPSAnSW52YWxpZCBVUkwhJ1xuZXhwb3J0IGNvbnN0IElOVkFMSURfUkVQT19VUkxfRVJST1IgPSAnSW52YWxpZCBQcm9qZWN0IFVSTCEnXG5leHBvcnQgY29uc3QgUkVQT19OT1RfRk9VTkRfRVJST1IgPSAnUHJvamVjdCBub3QgRm91bmQhJ1xuZXhwb3J0IGNvbnN0IFJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUiA9ICdUaGlzIGxpbmsgZG9lcyBub3QgcG9pbnQgdG8gYSBzY3JpcHR1cmUgcmVzb3VyY2UuJ1xuZXhwb3J0IGNvbnN0IE1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1IgPSAnVGhlIG1hbmlmZXN0IGZvciB0aGlzIHByb2plY3QgaXMgaW52YWxpZCEnXG5leHBvcnQgY29uc3QgTE9BRElOR19SRVNPVVJDRSA9ICdMb2FkaW5nIFJlc291cmNlLi4uJ1xuIl19
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOVF9PUklHX0xBTkciLCJOVF9PUklHX0xBTkdfQklCTEUiLCJPVF9PUklHX0xBTkciLCJPVF9PUklHX0xBTkdfQklCTEUiLCJPUklHSU5BTF9TT1VSQ0UiLCJUQVJHRVRfTElURVJBTCIsIlRBUkdFVF9TSU1QTElGSUVEIiwiTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyIsIk1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHIiwiQk9PS19OT1RfRk9VTkRfRVJST1JfTVNHIiwiU0NSSVBUVVJFX05PVF9GT1VORF9FUlJPUl9NU0ciLCJJTlZBTElEX1VSTCIsIklOVkFMSURfUkVQT19VUkxfRVJST1IiLCJSRVBPX05PVF9GT1VORF9FUlJPUiIsIlJFUE9fTk9UX1NDUklQVFVSRV9FUlJPUiIsIk1BTklGRVNUX0lOVkFMSURfU0hPUlRfRVJST1IiLCJMT0FESU5HX1JFU09VUkNFIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTlRfT1JJR19MQU5HID0gJ2VsLXgta29pbmUnXG5leHBvcnQgY29uc3QgTlRfT1JJR19MQU5HX0JJQkxFID0gJ3VnbnQnXG5leHBvcnQgY29uc3QgT1RfT1JJR19MQU5HID0gJ2hibydcbmV4cG9ydCBjb25zdCBPVF9PUklHX0xBTkdfQklCTEUgPSAndWhiJ1xuZXhwb3J0IGNvbnN0IE9SSUdJTkFMX1NPVVJDRSA9ICdPUklHSU5BTF9TT1VSQ0UnXG5leHBvcnQgY29uc3QgVEFSR0VUX0xJVEVSQUwgPSAnVEFSR0VUX0xJVEVSQUwnXG5leHBvcnQgY29uc3QgVEFSR0VUX1NJTVBMSUZJRUQgPSAnVEFSR0VUX1NJTVBMSUZJRUQnXG5cbi8vIG1lc3NhZ2VzXG5leHBvcnQgY29uc3QgTUFOSUZFU1RfTk9UX0ZPVU5EX0VSUk9SX01TRyA9ICdUaGlzIHByb2plY3QgbWFuaWZlc3QgZmFpbGVkIHRvIGxvYWQuICBQbGVhc2UgY29uZmlybSB0aGF0IHRoZSBjb3JyZWN0IG1hbmlmZXN0LnlhbWwgZmlsZSBleGlzdHMgaW4gdGhlIHByb2plY3QgYXQ6XFxuJ1xuZXhwb3J0IGNvbnN0IE1BTklGRVNUX0lOVkFMSURfRVJST1JfTVNHID0gJ1RoZSBtYW5pZmVzdCBmb3IgdGhpcyBwcm9qZWN0IGlzIGludmFsaWQuICBQcm9qZWN0IGlzIGF0OlxcbidcbmV4cG9ydCBjb25zdCBCT09LX05PVF9GT1VORF9FUlJPUl9NU0cgPSAnVGhpcyBib29rIGNhbiBub3QgYmUgZm91bmQgaW4gdGhlIHByb2plY3QuICBQcm9qZWN0IGlzIGF0OlxcbidcbmV4cG9ydCBjb25zdCBTQ1JJUFRVUkVfTk9UX0ZPVU5EX0VSUk9SX01TRyA9ICdUaGVyZSBpcyBubyBhc3NvY2lhdGVkIGNvbnRlbnQgZm9yIHRoaXMgdmVyc2UuICBQcm9qZWN0IGlzIGF0OlxcbidcbmV4cG9ydCBjb25zdCBJTlZBTElEX1VSTCA9ICdJbnZhbGlkIFVSTCEnXG5leHBvcnQgY29uc3QgSU5WQUxJRF9SRVBPX1VSTF9FUlJPUiA9ICdJbnZhbGlkIFByb2plY3QgVVJMISdcbmV4cG9ydCBjb25zdCBSRVBPX05PVF9GT1VORF9FUlJPUiA9ICdQcm9qZWN0IG5vdCBGb3VuZCEnXG5leHBvcnQgY29uc3QgUkVQT19OT1RfU0NSSVBUVVJFX0VSUk9SID0gJ1RoaXMgbGluayBkb2VzIG5vdCBwb2ludCB0byBhIHNjcmlwdHVyZSByZXNvdXJjZS4nXG5leHBvcnQgY29uc3QgTUFOSUZFU1RfSU5WQUxJRF9TSE9SVF9FUlJPUiA9ICdUaGUgbWFuaWZlc3QgZm9yIHRoaXMgcHJvamVjdCBpcyBpbnZhbGlkISdcbmV4cG9ydCBjb25zdCBMT0FESU5HX1JFU09VUkNFID0gJ0xvYWRpbmcgUmVzb3VyY2UuLi4nXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBTUEsWUFBWSxHQUFHLFlBQXJCO0FBQ1AsT0FBTyxJQUFNQyxrQkFBa0IsR0FBRyxNQUEzQjtBQUNQLE9BQU8sSUFBTUMsWUFBWSxHQUFHLEtBQXJCO0FBQ1AsT0FBTyxJQUFNQyxrQkFBa0IsR0FBRyxLQUEzQjtBQUNQLE9BQU8sSUFBTUMsZUFBZSxHQUFHLGlCQUF4QjtBQUNQLE9BQU8sSUFBTUMsY0FBYyxHQUFHLGdCQUF2QjtBQUNQLE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsbUJBQTFCLEMsQ0FFUDs7QUFDQSxPQUFPLElBQU1DLDRCQUE0QixHQUFHLHVIQUFyQztBQUNQLE9BQU8sSUFBTUMsMEJBQTBCLEdBQUcsNkRBQW5DO0FBQ1AsT0FBTyxJQUFNQyx3QkFBd0IsR0FBRyw4REFBakM7QUFDUCxPQUFPLElBQU1DLDZCQUE2QixHQUFHLGtFQUF0QztBQUNQLE9BQU8sSUFBTUMsV0FBVyxHQUFHLGNBQXBCO0FBQ1AsT0FBTyxJQUFNQyxzQkFBc0IsR0FBRyxzQkFBL0I7QUFDUCxPQUFPLElBQU1DLG9CQUFvQixHQUFHLG9CQUE3QjtBQUNQLE9BQU8sSUFBTUMsd0JBQXdCLEdBQUcsbURBQWpDO0FBQ1AsT0FBTyxJQUFNQyw0QkFBNEIsR0FBRywyQ0FBckM7QUFDUCxPQUFPLElBQU1DLGdCQUFnQixHQUFHLHFCQUF6QiJ9
@@ -6,4 +6,4 @@ export function delay(ms) {
6
6
  return setTimeout(resolve, ms);
7
7
  });
8
8
  }
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9kZWxheS50cyJdLCJuYW1lcyI6WyJkZWxheSIsIm1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0Il0sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLFNBQVNBLEtBQVQsQ0FBZUMsRUFBZixFQUFtQjtBQUN4QixTQUFPLElBQUlDLE9BQUosQ0FBWSxVQUFDQyxPQUFEO0FBQUEsV0FDakJDLFVBQVUsQ0FBQ0QsT0FBRCxFQUFVRixFQUFWLENBRE87QUFBQSxHQUFaLENBQVA7QUFHRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBkZWxheShtcykge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+XG4gICAgc2V0VGltZW91dChyZXNvbHZlLCBtcyksXG4gIClcbn1cbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWxheSIsIm1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2RlbGF5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBkZWxheShtcykge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+XG4gICAgc2V0VGltZW91dChyZXNvbHZlLCBtcyksXG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsT0FBTyxTQUFTQSxLQUFULENBQWVDLEVBQWYsRUFBbUI7RUFDeEIsT0FBTyxJQUFJQyxPQUFKLENBQVksVUFBQ0MsT0FBRDtJQUFBLE9BQ2pCQyxVQUFVLENBQUNELE9BQUQsRUFBVUYsRUFBVixDQURPO0VBQUEsQ0FBWixDQUFQO0FBR0QifQ==
@@ -3,4 +3,4 @@ export * from './delay';
3
3
  export * from './LocalStorage';
4
4
  export * from './ScriptureSettings';
5
5
  export * from './ScriptureVersionHistory';
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQWQ7QUFDQSxjQUFjLFNBQWQ7QUFDQSxjQUFjLGdCQUFkO0FBQ0EsY0FBYyxxQkFBZDtBQUNBLGNBQWMsMkJBQWQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbidcbmV4cG9ydCAqIGZyb20gJy4vZGVsYXknXG5leHBvcnQgKiBmcm9tICcuL0xvY2FsU3RvcmFnZSdcbmV4cG9ydCAqIGZyb20gJy4vU2NyaXB0dXJlU2V0dGluZ3MnXG5leHBvcnQgKiBmcm9tICcuL1NjcmlwdHVyZVZlcnNpb25IaXN0b3J5J1xuXG5cbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tbW9uJ1xuZXhwb3J0ICogZnJvbSAnLi9kZWxheSdcbmV4cG9ydCAqIGZyb20gJy4vTG9jYWxTdG9yYWdlJ1xuZXhwb3J0ICogZnJvbSAnLi9TY3JpcHR1cmVTZXR0aW5ncydcbmV4cG9ydCAqIGZyb20gJy4vU2NyaXB0dXJlVmVyc2lvbkhpc3RvcnknXG5cblxuIl0sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQWQ7QUFDQSxjQUFjLFNBQWQ7QUFDQSxjQUFjLGdCQUFkO0FBQ0EsY0FBYyxxQkFBZDtBQUNBLGNBQWMsMkJBQWQifQ==