verdaccio 5.4.0 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/CODE_OF_CONDUCT.md +10 -10
  3. package/CONTRIBUTING.md +28 -27
  4. package/SECURITY.md +8 -9
  5. package/build/api/debug/index.js +1 -1
  6. package/build/api/endpoint/api/dist-tags.js +4 -4
  7. package/build/api/endpoint/api/package.js +3 -3
  8. package/build/api/endpoint/api/ping.js +1 -1
  9. package/build/api/endpoint/api/publish.js +11 -11
  10. package/build/api/endpoint/api/star.js +5 -5
  11. package/build/api/endpoint/api/stars.js +1 -1
  12. package/build/api/endpoint/api/user.js +6 -6
  13. package/build/api/endpoint/api/v1/index.js +1 -1
  14. package/build/api/endpoint/api/v1/profile.js +4 -4
  15. package/build/api/endpoint/api/v1/search.js +4 -4
  16. package/build/api/endpoint/api/v1/token.js +8 -8
  17. package/build/api/endpoint/api/whoami.js +1 -1
  18. package/build/api/endpoint/index.js +9 -9
  19. package/build/api/index.js +13 -13
  20. package/build/api/middleware.js +6 -6
  21. package/build/api/rate-limiter.js +3 -3
  22. package/build/api/web/api.js +3 -3
  23. package/build/api/web/endpoint/index.js +10 -4
  24. package/build/api/web/endpoint/package.js +9 -9
  25. package/build/api/web/endpoint/search.js +3 -3
  26. package/build/api/web/endpoint/user.js +4 -4
  27. package/build/api/web/html/renderHTML.js +13 -9
  28. package/build/api/web/html/template.js +1 -1
  29. package/build/api/web/index.js +10 -10
  30. package/build/config/env.js +1 -1
  31. package/build/index.js +1 -1
  32. package/build/lib/auth-utils.js +5 -5
  33. package/build/lib/auth.js +7 -17
  34. package/build/lib/bootstrap.js +8 -8
  35. package/build/lib/cli/cli.js +3 -3
  36. package/build/lib/cli/commands/info.js +3 -3
  37. package/build/lib/cli/commands/init.js +3 -3
  38. package/build/lib/cli/commands/version.js +1 -1
  39. package/build/lib/cli/utils.js +3 -3
  40. package/build/lib/config-path.js +3 -3
  41. package/build/lib/config-utils.js +3 -3
  42. package/build/lib/config.js +7 -31
  43. package/build/lib/crypto-utils.js +3 -3
  44. package/build/lib/local-storage.js +7 -15
  45. package/build/lib/logger/formatter/index.js +1 -1
  46. package/build/lib/logger/formatter/prettifier.js +3 -3
  47. package/build/lib/logger/levels.js +1 -1
  48. package/build/lib/logger/logger.js +5 -5
  49. package/build/lib/logger/utils.js +1 -1
  50. package/build/lib/metadata-utils.js +3 -3
  51. package/build/lib/notify/index.js +3 -3
  52. package/build/lib/notify/notify-request.js +5 -5
  53. package/build/lib/plugin-loader.js +4 -4
  54. package/build/lib/search.js +2 -6
  55. package/build/lib/storage-utils.js +3 -3
  56. package/build/lib/storage.js +10 -22
  57. package/build/lib/up-storage.js +9 -43
  58. package/build/lib/uplink-util.js +1 -1
  59. package/build/lib/utils.js +22 -13
  60. package/build/utils/user.js +1 -1
  61. package/conf/README.md +3 -3
  62. package/eslintrc.js +92 -92
  63. package/index.js +1 -1
  64. package/package.json +56 -55
  65. package/prettier.config.js +15 -0
  66. package/tsconfig.json +3 -10
  67. package/yarn-plugins/plugin-postinstall.js +10 -10
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = _default;
7
7
 
8
- var _lodash = _interopRequireDefault(require("lodash"));
9
-
10
8
  var _debug = _interopRequireDefault(require("debug"));
11
9
 
10
+ var _lodash = _interopRequireDefault(require("lodash"));
11
+
12
12
  var _constants = require("../../../lib/constants");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- 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; }
16
+ 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; }
17
17
 
18
- 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; }
18
+ 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; }
19
19
 
20
20
  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; }
21
21
 
@@ -87,4 +87,4 @@ function _default(storage) {
87
87
  });
88
88
  };
89
89
  }
90
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3N0YXIudHMiXSwibmFtZXMiOlsiZGVidWciLCJzdG9yYWdlIiwidmFsaWRhdGVJbnB1dHMiLCJuZXdVc2VycyIsImxvY2FsVXNlcnMiLCJ1c2VybmFtZSIsImlzU3RhciIsImlzRXhpc3Rsb2NhbFVzZXJzIiwiXyIsImlzTmlsIiwicmVxIiwicmVzIiwibmV4dCIsIm5hbWUiLCJwYXJhbXMiLCJwYWNrYWdlIiwiYWZ0ZXJDaGFuZ2VQYWNrYWdlIiwiZXJyIiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJPSyIsInN1Y2Nlc3MiLCJnZXRQYWNrYWdlIiwiY2FsbGJhY2siLCJpbmZvIiwibmV3U3RhclVzZXIiLCJib2R5IiwiVVNFUlMiLCJyZW1vdGVVc2VybmFtZSIsInJlbW90ZV91c2VyIiwibG9jYWxTdGFyVXNlcnMiLCJPYmplY3QiLCJrZXlzIiwiaW5jbHVkZXMiLCJ1c2VycyIsInJlZHVjZSIsInZhbHVlIiwia2V5IiwiY2hhbmdlUGFja2FnZSIsIl9yZXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUlBLE1BQU1BLEtBQUssR0FBRyxvQkFBVyxnQkFBWCxDQUFkOztBQUNlLGtCQUFVQyxPQUFWLEVBQTBHO0FBQ3ZILFFBQU1DLGNBQWMsR0FBRyxDQUFDQyxRQUFELEVBQVdDLFVBQVgsRUFBdUJDLFFBQXZCLEVBQWlDQyxNQUFqQyxLQUFxRDtBQUMxRSxVQUFNQyxpQkFBaUIsR0FBR0MsZ0JBQUVDLEtBQUYsQ0FBUUwsVUFBVSxDQUFDQyxRQUFELENBQWxCLE1BQWtDLEtBQTVEOztBQUNBLFFBQUlDLE1BQU0sSUFBSUMsaUJBQVYsSUFBK0JILFVBQVUsQ0FBQ0MsUUFBRCxDQUE3QyxFQUF5RDtBQUN2RCxhQUFPLElBQVA7QUFDRCxLQUZELE1BRU8sSUFBSSxDQUFDQyxNQUFELElBQVdDLGlCQUFmLEVBQWtDO0FBQ3ZDLGFBQU8sS0FBUDtBQUNELEtBRk0sTUFFQSxJQUFJLENBQUNELE1BQUQsSUFBVyxDQUFDQyxpQkFBaEIsRUFBbUM7QUFDeEMsYUFBTyxJQUFQO0FBQ0Q7O0FBQ0QsV0FBTyxLQUFQO0FBQ0QsR0FWRDs7QUFZQSxTQUFPLENBQUNHLEdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDQyxJQUFyQyxLQUFzRTtBQUMzRSxVQUFNQyxJQUFJLEdBQUdILEdBQUcsQ0FBQ0ksTUFBSixDQUFXQyxPQUF4QjtBQUNBZixJQUFBQSxLQUFLLENBQUMsMkJBQUQsRUFBOEJhLElBQTlCLENBQUw7O0FBQ0EsVUFBTUcsa0JBQWtCLEdBQUcsVUFBVUMsR0FBVixFQUF1QjtBQUNoRCxVQUFJQSxHQUFKLEVBQVM7QUFDUCxlQUFPTCxJQUFJLENBQUNLLEdBQUQsQ0FBWDtBQUNEOztBQUNETixNQUFBQSxHQUFHLENBQUNPLE1BQUosQ0FBV0MsdUJBQVlDLEVBQXZCO0FBQ0FSLE1BQUFBLElBQUksQ0FBQztBQUNIUyxRQUFBQSxPQUFPLEVBQUU7QUFETixPQUFELENBQUo7QUFHRCxLQVJEOztBQVVBcEIsSUFBQUEsT0FBTyxDQUFDcUIsVUFBUixDQUFtQjtBQUNqQlQsTUFBQUEsSUFEaUI7QUFFakJILE1BQUFBLEdBRmlCO0FBR2pCYSxNQUFBQSxRQUFRLEVBQUUsVUFBVU4sR0FBVixFQUFlTyxJQUFmLEVBQXFCO0FBQzdCLFlBQUlQLEdBQUosRUFBUztBQUNQLGlCQUFPTCxJQUFJLENBQUNLLEdBQUQsQ0FBWDtBQUNEOztBQUNELGNBQU1RLFdBQVcsR0FBR2YsR0FBRyxDQUFDZ0IsSUFBSixDQUFTQyxnQkFBVCxDQUFwQjtBQUNBLGNBQU1DLGNBQWMsR0FBR2xCLEdBQUcsQ0FBQ21CLFdBQUosQ0FBZ0JoQixJQUF2QztBQUNBLGNBQU1pQixjQUFjLEdBQUdOLElBQUksQ0FBQ0csZ0JBQUQsQ0FBM0IsQ0FONkIsQ0FPN0I7O0FBQ0EsY0FBTXJCLE1BQU0sR0FBR3lCLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZUCxXQUFaLEVBQXlCUSxRQUF6QixDQUFrQ0wsY0FBbEMsQ0FBZjs7QUFDQSxZQUFJcEIsZ0JBQUVDLEtBQUYsQ0FBUXFCLGNBQVIsTUFBNEIsS0FBNUIsSUFBcUM1QixjQUFjLENBQUN1QixXQUFELEVBQWNLLGNBQWQsRUFBOEJGLGNBQTlCLEVBQThDdEIsTUFBOUMsQ0FBdkQsRUFBOEc7QUFDNUcsaUJBQU9VLGtCQUFrQixFQUF6QjtBQUNEOztBQUNELGNBQU1rQixLQUFLLEdBQUc1QixNQUFNLG1DQUVYd0IsY0FGVztBQUdkLFdBQUNGLGNBQUQsR0FBa0I7QUFISixhQUtoQnBCLGdCQUFFMkIsTUFBRixDQUNFTCxjQURGLEVBRUUsQ0FBQ0ksS0FBRCxFQUFRRSxLQUFSLEVBQWVDLEdBQWYsS0FBdUI7QUFDckIsY0FBSUEsR0FBRyxLQUFLVCxjQUFaLEVBQTRCO0FBQzFCTSxZQUFBQSxLQUFLLENBQUNHLEdBQUQsQ0FBTCxHQUFhRCxLQUFiO0FBQ0Q7O0FBQ0QsaUJBQU9GLEtBQVA7QUFDRCxTQVBILEVBUUUsRUFSRixDQUxKO0FBZUFqQyxRQUFBQSxPQUFPLENBQUNxQyxhQUFSLENBQXNCekIsSUFBdEIsa0NBQWlDVyxJQUFqQztBQUF1Q1UsVUFBQUE7QUFBdkMsWUFBZ0R4QixHQUFHLENBQUNnQixJQUFKLENBQVNhLElBQXpELEVBQStELFVBQVV0QixHQUFWLEVBQWU7QUFDNUVELFVBQUFBLGtCQUFrQixDQUFDQyxHQUFELENBQWxCO0FBQ0QsU0FGRDtBQUdEO0FBakNnQixLQUFuQjtBQW1DRCxHQWhERDtBQWlERCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5cbmltcG9ydCB7IFJlc3BvbnNlIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGJ1aWxkRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgVVNFUlMsIEhUVFBfU1RBVFVTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyAkUmVxdWVzdEV4dGVuZCwgJE5leHRGdW5jdGlvblZlciwgSVN0b3JhZ2VIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5cbmNvbnN0IGRlYnVnID0gYnVpbGREZWJ1ZygndmVyZGFjY2lvOnN0YXInKTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIpOiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikgPT4gdm9pZCB7XG4gIGNvbnN0IHZhbGlkYXRlSW5wdXRzID0gKG5ld1VzZXJzLCBsb2NhbFVzZXJzLCB1c2VybmFtZSwgaXNTdGFyKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgaXNFeGlzdGxvY2FsVXNlcnMgPSBfLmlzTmlsKGxvY2FsVXNlcnNbdXNlcm5hbWVdKSA9PT0gZmFsc2U7XG4gICAgaWYgKGlzU3RhciAmJiBpc0V4aXN0bG9jYWxVc2VycyAmJiBsb2NhbFVzZXJzW3VzZXJuYW1lXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghaXNTdGFyICYmIGlzRXhpc3Rsb2NhbFVzZXJzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghaXNTdGFyICYmICFpc0V4aXN0bG9jYWxVc2Vycykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZXR1cm4gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkID0+IHtcbiAgICBjb25zdCBuYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGRlYnVnKCdzdGFycmluZyBhIHBhY2thZ2UgZm9yICVvJywgbmFtZSk7XG4gICAgY29uc3QgYWZ0ZXJDaGFuZ2VQYWNrYWdlID0gZnVuY3Rpb24gKGVycj86IEVycm9yKSB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICB9XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgIG5leHQoe1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHN0b3JhZ2UuZ2V0UGFja2FnZSh7XG4gICAgICBuYW1lLFxuICAgICAgcmVxLFxuICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChlcnIsIGluZm8pIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3U3RhclVzZXIgPSByZXEuYm9keVtVU0VSU107XG4gICAgICAgIGNvbnN0IHJlbW90ZVVzZXJuYW1lID0gcmVxLnJlbW90ZV91c2VyLm5hbWU7XG4gICAgICAgIGNvbnN0IGxvY2FsU3RhclVzZXJzID0gaW5mb1tVU0VSU107XG4gICAgICAgIC8vIENoZWNrIGlzIHN0YXIgb3IgdW5zdGFyXG4gICAgICAgIGNvbnN0IGlzU3RhciA9IE9iamVjdC5rZXlzKG5ld1N0YXJVc2VyKS5pbmNsdWRlcyhyZW1vdGVVc2VybmFtZSk7XG4gICAgICAgIGlmIChfLmlzTmlsKGxvY2FsU3RhclVzZXJzKSA9PT0gZmFsc2UgJiYgdmFsaWRhdGVJbnB1dHMobmV3U3RhclVzZXIsIGxvY2FsU3RhclVzZXJzLCByZW1vdGVVc2VybmFtZSwgaXNTdGFyKSkge1xuICAgICAgICAgIHJldHVybiBhZnRlckNoYW5nZVBhY2thZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1c2VycyA9IGlzU3RhclxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5sb2NhbFN0YXJVc2VycyxcbiAgICAgICAgICAgICAgW3JlbW90ZVVzZXJuYW1lXTogdHJ1ZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IF8ucmVkdWNlKFxuICAgICAgICAgICAgICBsb2NhbFN0YXJVc2VycyxcbiAgICAgICAgICAgICAgKHVzZXJzLCB2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSAhPT0gcmVtb3RlVXNlcm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgIHVzZXJzW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJzO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7fVxuICAgICAgICAgICAgKTtcbiAgICAgICAgc3RvcmFnZS5jaGFuZ2VQYWNrYWdlKG5hbWUsIHsgLi4uaW5mbywgdXNlcnMgfSwgcmVxLmJvZHkuX3JldiwgZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgIGFmdGVyQ2hhbmdlUGFja2FnZShlcnIpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3N0YXIudHMiXSwibmFtZXMiOlsiZGVidWciLCJzdG9yYWdlIiwidmFsaWRhdGVJbnB1dHMiLCJuZXdVc2VycyIsImxvY2FsVXNlcnMiLCJ1c2VybmFtZSIsImlzU3RhciIsImlzRXhpc3Rsb2NhbFVzZXJzIiwiXyIsImlzTmlsIiwicmVxIiwicmVzIiwibmV4dCIsIm5hbWUiLCJwYXJhbXMiLCJwYWNrYWdlIiwiYWZ0ZXJDaGFuZ2VQYWNrYWdlIiwiZXJyIiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJPSyIsInN1Y2Nlc3MiLCJnZXRQYWNrYWdlIiwiY2FsbGJhY2siLCJpbmZvIiwibmV3U3RhclVzZXIiLCJib2R5IiwiVVNFUlMiLCJyZW1vdGVVc2VybmFtZSIsInJlbW90ZV91c2VyIiwibG9jYWxTdGFyVXNlcnMiLCJPYmplY3QiLCJrZXlzIiwiaW5jbHVkZXMiLCJ1c2VycyIsInJlZHVjZSIsInZhbHVlIiwia2V5IiwiY2hhbmdlUGFja2FnZSIsIl9yZXYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFFQTs7QUFHQTs7Ozs7Ozs7OztBQUdBLE1BQU1BLEtBQUssR0FBRyxvQkFBVyxnQkFBWCxDQUFkOztBQUNlLGtCQUFVQyxPQUFWLEVBQTBHO0FBQ3ZILFFBQU1DLGNBQWMsR0FBRyxDQUFDQyxRQUFELEVBQVdDLFVBQVgsRUFBdUJDLFFBQXZCLEVBQWlDQyxNQUFqQyxLQUFxRDtBQUMxRSxVQUFNQyxpQkFBaUIsR0FBR0MsZ0JBQUVDLEtBQUYsQ0FBUUwsVUFBVSxDQUFDQyxRQUFELENBQWxCLE1BQWtDLEtBQTVEOztBQUNBLFFBQUlDLE1BQU0sSUFBSUMsaUJBQVYsSUFBK0JILFVBQVUsQ0FBQ0MsUUFBRCxDQUE3QyxFQUF5RDtBQUN2RCxhQUFPLElBQVA7QUFDRCxLQUZELE1BRU8sSUFBSSxDQUFDQyxNQUFELElBQVdDLGlCQUFmLEVBQWtDO0FBQ3ZDLGFBQU8sS0FBUDtBQUNELEtBRk0sTUFFQSxJQUFJLENBQUNELE1BQUQsSUFBVyxDQUFDQyxpQkFBaEIsRUFBbUM7QUFDeEMsYUFBTyxJQUFQO0FBQ0Q7O0FBQ0QsV0FBTyxLQUFQO0FBQ0QsR0FWRDs7QUFZQSxTQUFPLENBQUNHLEdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDQyxJQUFyQyxLQUFzRTtBQUMzRSxVQUFNQyxJQUFJLEdBQUdILEdBQUcsQ0FBQ0ksTUFBSixDQUFXQyxPQUF4QjtBQUNBZixJQUFBQSxLQUFLLENBQUMsMkJBQUQsRUFBOEJhLElBQTlCLENBQUw7O0FBQ0EsVUFBTUcsa0JBQWtCLEdBQUcsVUFBVUMsR0FBVixFQUF1QjtBQUNoRCxVQUFJQSxHQUFKLEVBQVM7QUFDUCxlQUFPTCxJQUFJLENBQUNLLEdBQUQsQ0FBWDtBQUNEOztBQUNETixNQUFBQSxHQUFHLENBQUNPLE1BQUosQ0FBV0MsdUJBQVlDLEVBQXZCO0FBQ0FSLE1BQUFBLElBQUksQ0FBQztBQUNIUyxRQUFBQSxPQUFPLEVBQUU7QUFETixPQUFELENBQUo7QUFHRCxLQVJEOztBQVVBcEIsSUFBQUEsT0FBTyxDQUFDcUIsVUFBUixDQUFtQjtBQUNqQlQsTUFBQUEsSUFEaUI7QUFFakJILE1BQUFBLEdBRmlCO0FBR2pCYSxNQUFBQSxRQUFRLEVBQUUsVUFBVU4sR0FBVixFQUFlTyxJQUFmLEVBQXFCO0FBQzdCLFlBQUlQLEdBQUosRUFBUztBQUNQLGlCQUFPTCxJQUFJLENBQUNLLEdBQUQsQ0FBWDtBQUNEOztBQUNELGNBQU1RLFdBQVcsR0FBR2YsR0FBRyxDQUFDZ0IsSUFBSixDQUFTQyxnQkFBVCxDQUFwQjtBQUNBLGNBQU1DLGNBQWMsR0FBR2xCLEdBQUcsQ0FBQ21CLFdBQUosQ0FBZ0JoQixJQUF2QztBQUNBLGNBQU1pQixjQUFjLEdBQUdOLElBQUksQ0FBQ0csZ0JBQUQsQ0FBM0IsQ0FONkIsQ0FPN0I7O0FBQ0EsY0FBTXJCLE1BQU0sR0FBR3lCLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZUCxXQUFaLEVBQXlCUSxRQUF6QixDQUFrQ0wsY0FBbEMsQ0FBZjs7QUFDQSxZQUFJcEIsZ0JBQUVDLEtBQUYsQ0FBUXFCLGNBQVIsTUFBNEIsS0FBNUIsSUFBcUM1QixjQUFjLENBQUN1QixXQUFELEVBQWNLLGNBQWQsRUFBOEJGLGNBQTlCLEVBQThDdEIsTUFBOUMsQ0FBdkQsRUFBOEc7QUFDNUcsaUJBQU9VLGtCQUFrQixFQUF6QjtBQUNEOztBQUNELGNBQU1rQixLQUFLLEdBQUc1QixNQUFNLG1DQUVYd0IsY0FGVztBQUdkLFdBQUNGLGNBQUQsR0FBa0I7QUFISixhQUtoQnBCLGdCQUFFMkIsTUFBRixDQUNFTCxjQURGLEVBRUUsQ0FBQ0ksS0FBRCxFQUFRRSxLQUFSLEVBQWVDLEdBQWYsS0FBdUI7QUFDckIsY0FBSUEsR0FBRyxLQUFLVCxjQUFaLEVBQTRCO0FBQzFCTSxZQUFBQSxLQUFLLENBQUNHLEdBQUQsQ0FBTCxHQUFhRCxLQUFiO0FBQ0Q7O0FBQ0QsaUJBQU9GLEtBQVA7QUFDRCxTQVBILEVBUUUsRUFSRixDQUxKO0FBZUFqQyxRQUFBQSxPQUFPLENBQUNxQyxhQUFSLENBQXNCekIsSUFBdEIsa0NBQWlDVyxJQUFqQztBQUF1Q1UsVUFBQUE7QUFBdkMsWUFBZ0R4QixHQUFHLENBQUNnQixJQUFKLENBQVNhLElBQXpELEVBQStELFVBQVV0QixHQUFWLEVBQWU7QUFDNUVELFVBQUFBLGtCQUFrQixDQUFDQyxHQUFELENBQWxCO0FBQ0QsU0FGRDtBQUdEO0FBakNnQixLQUFuQjtBQW1DRCxHQWhERDtBQWlERCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5pbXBvcnQgYnVpbGREZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQsIElTdG9yYWdlSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEhUVFBfU1RBVFVTLCBVU0VSUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5cbmNvbnN0IGRlYnVnID0gYnVpbGREZWJ1ZygndmVyZGFjY2lvOnN0YXInKTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIpOiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikgPT4gdm9pZCB7XG4gIGNvbnN0IHZhbGlkYXRlSW5wdXRzID0gKG5ld1VzZXJzLCBsb2NhbFVzZXJzLCB1c2VybmFtZSwgaXNTdGFyKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgaXNFeGlzdGxvY2FsVXNlcnMgPSBfLmlzTmlsKGxvY2FsVXNlcnNbdXNlcm5hbWVdKSA9PT0gZmFsc2U7XG4gICAgaWYgKGlzU3RhciAmJiBpc0V4aXN0bG9jYWxVc2VycyAmJiBsb2NhbFVzZXJzW3VzZXJuYW1lXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghaXNTdGFyICYmIGlzRXhpc3Rsb2NhbFVzZXJzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghaXNTdGFyICYmICFpc0V4aXN0bG9jYWxVc2Vycykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZXR1cm4gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkID0+IHtcbiAgICBjb25zdCBuYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGRlYnVnKCdzdGFycmluZyBhIHBhY2thZ2UgZm9yICVvJywgbmFtZSk7XG4gICAgY29uc3QgYWZ0ZXJDaGFuZ2VQYWNrYWdlID0gZnVuY3Rpb24gKGVycj86IEVycm9yKSB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICB9XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgIG5leHQoe1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHN0b3JhZ2UuZ2V0UGFja2FnZSh7XG4gICAgICBuYW1lLFxuICAgICAgcmVxLFxuICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChlcnIsIGluZm8pIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3U3RhclVzZXIgPSByZXEuYm9keVtVU0VSU107XG4gICAgICAgIGNvbnN0IHJlbW90ZVVzZXJuYW1lID0gcmVxLnJlbW90ZV91c2VyLm5hbWU7XG4gICAgICAgIGNvbnN0IGxvY2FsU3RhclVzZXJzID0gaW5mb1tVU0VSU107XG4gICAgICAgIC8vIENoZWNrIGlzIHN0YXIgb3IgdW5zdGFyXG4gICAgICAgIGNvbnN0IGlzU3RhciA9IE9iamVjdC5rZXlzKG5ld1N0YXJVc2VyKS5pbmNsdWRlcyhyZW1vdGVVc2VybmFtZSk7XG4gICAgICAgIGlmIChfLmlzTmlsKGxvY2FsU3RhclVzZXJzKSA9PT0gZmFsc2UgJiYgdmFsaWRhdGVJbnB1dHMobmV3U3RhclVzZXIsIGxvY2FsU3RhclVzZXJzLCByZW1vdGVVc2VybmFtZSwgaXNTdGFyKSkge1xuICAgICAgICAgIHJldHVybiBhZnRlckNoYW5nZVBhY2thZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1c2VycyA9IGlzU3RhclxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5sb2NhbFN0YXJVc2VycyxcbiAgICAgICAgICAgICAgW3JlbW90ZVVzZXJuYW1lXTogdHJ1ZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IF8ucmVkdWNlKFxuICAgICAgICAgICAgICBsb2NhbFN0YXJVc2VycyxcbiAgICAgICAgICAgICAgKHVzZXJzLCB2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSAhPT0gcmVtb3RlVXNlcm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgIHVzZXJzW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJzO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7fVxuICAgICAgICAgICAgKTtcbiAgICAgICAgc3RvcmFnZS5jaGFuZ2VQYWNrYWdlKG5hbWUsIHsgLi4uaW5mbywgdXNlcnMgfSwgcmVxLmJvZHkuX3JldiwgZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgIGFmdGVyQ2hhbmdlUGFja2FnZShlcnIpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG4iXX0=
@@ -33,4 +33,4 @@ function _default(route, storage) {
33
33
  });
34
34
  });
35
35
  }
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3N0YXJzLnRzIl0sIm5hbWVzIjpbInJvdXRlIiwic3RvcmFnZSIsImdldCIsInJlcSIsInJlcyIsIm5leHQiLCJyZW1vdGVVc2VybmFtZSIsInJlbW90ZV91c2VyIiwibmFtZSIsImdldExvY2FsRGF0YWJhc2UiLCJlcnIiLCJsb2NhbFBhY2thZ2VzIiwiZmlsdGVyZWRQYWNrYWdlcyIsImZpbHRlciIsImxvY2FsUGFja2FnZSIsIl8iLCJrZXlzIiwiVVNFUlMiLCJpbmNsdWRlcyIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiT0siLCJyb3dzIiwibWFwIiwiZmlsdGVyZWRQYWNrYWdlIiwidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQTs7QUFHQTs7OztBQVBBO0FBQ0E7QUFDQTtBQUNBO0FBU2Usa0JBQVVBLEtBQVYsRUFBeUJDLE9BQXpCLEVBQXlEO0FBQ3RFRCxFQUFBQSxLQUFLLENBQUNFLEdBQU4sQ0FDRSx3QkFERixFQUVFLENBQUNDLEdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDQyxJQUFyQyxLQUFzRTtBQUNwRSxVQUFNQyxjQUFjLEdBQUdILEdBQUcsQ0FBQ0ksV0FBSixDQUFnQkMsSUFBdkM7QUFFQVAsSUFBQUEsT0FBTyxDQUFDUSxnQkFBUixDQUF5QixDQUFDQyxHQUFELEVBQU1DLGFBQU4sS0FBa0M7QUFDekQsVUFBSUQsR0FBSixFQUFTO0FBQ1AsZUFBT0wsSUFBSSxDQUFDSyxHQUFELENBQVg7QUFDRDs7QUFFRCxZQUFNRSxnQkFBMEIsR0FBR0QsYUFBYSxDQUFDRSxNQUFkLENBQXNCQyxZQUFELElBQ3REQyxnQkFBRUMsSUFBRixDQUFPRixZQUFZLENBQUNHLGdCQUFELENBQW5CLEVBQTRCQyxRQUE1QixDQUFxQ1osY0FBckMsQ0FEaUMsQ0FBbkM7QUFJQUYsTUFBQUEsR0FBRyxDQUFDZSxNQUFKLENBQVdDLHVCQUFZQyxFQUF2QjtBQUNBaEIsTUFBQUEsSUFBSSxDQUFDO0FBQ0hpQixRQUFBQSxJQUFJLEVBQUVWLGdCQUFnQixDQUFDVyxHQUFqQixDQUFzQkMsZUFBRCxLQUErQjtBQUN4REMsVUFBQUEsS0FBSyxFQUFFRCxlQUFlLENBQUNoQjtBQURpQyxTQUEvQixDQUFyQjtBQURILE9BQUQsQ0FBSjtBQUtELEtBZkQ7QUFnQkQsR0FyQkg7QUF1QkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuXG4gKi9cbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBSZXNwb25zZSwgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyBQYWNrYWdlIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5pbXBvcnQgeyBVU0VSUywgSFRUUF9TVEFUVVMgfSBmcm9tICcuLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7ICRSZXF1ZXN0RXh0ZW5kLCAkTmV4dEZ1bmN0aW9uVmVyLCBJU3RvcmFnZUhhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcyc7XG5cbnR5cGUgUGFja2FnZXMgPSBQYWNrYWdlW107XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyb3V0ZTogUm91dGVyLCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIpOiB2b2lkIHtcbiAgcm91dGUuZ2V0KFxuICAgICcvLS9fdmlldy9zdGFycmVkQnlVc2VyJyxcbiAgICAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgcmVtb3RlVXNlcm5hbWUgPSByZXEucmVtb3RlX3VzZXIubmFtZTtcblxuICAgICAgc3RvcmFnZS5nZXRMb2NhbERhdGFiYXNlKChlcnIsIGxvY2FsUGFja2FnZXM6IFBhY2thZ2VzKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmlsdGVyZWRQYWNrYWdlczogUGFja2FnZXMgPSBsb2NhbFBhY2thZ2VzLmZpbHRlcigobG9jYWxQYWNrYWdlOiBQYWNrYWdlKSA9PlxuICAgICAgICAgIF8ua2V5cyhsb2NhbFBhY2thZ2VbVVNFUlNdKS5pbmNsdWRlcyhyZW1vdGVVc2VybmFtZSlcbiAgICAgICAgKTtcblxuICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgICAgbmV4dCh7XG4gICAgICAgICAgcm93czogZmlsdGVyZWRQYWNrYWdlcy5tYXAoKGZpbHRlcmVkUGFja2FnZTogUGFja2FnZSkgPT4gKHtcbiAgICAgICAgICAgIHZhbHVlOiBmaWx0ZXJlZFBhY2thZ2UubmFtZVxuICAgICAgICAgIH0pKVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3N0YXJzLnRzIl0sIm5hbWVzIjpbInJvdXRlIiwic3RvcmFnZSIsImdldCIsInJlcSIsInJlcyIsIm5leHQiLCJyZW1vdGVVc2VybmFtZSIsInJlbW90ZV91c2VyIiwibmFtZSIsImdldExvY2FsRGF0YWJhc2UiLCJlcnIiLCJsb2NhbFBhY2thZ2VzIiwiZmlsdGVyZWRQYWNrYWdlcyIsImZpbHRlciIsImxvY2FsUGFja2FnZSIsIl8iLCJrZXlzIiwiVVNFUlMiLCJpbmNsdWRlcyIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiT0siLCJyb3dzIiwibWFwIiwiZmlsdGVyZWRQYWNrYWdlIiwidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFLQTs7QUFLQTs7OztBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBV2Usa0JBQVVBLEtBQVYsRUFBeUJDLE9BQXpCLEVBQXlEO0FBQ3RFRCxFQUFBQSxLQUFLLENBQUNFLEdBQU4sQ0FBVSx3QkFBVixFQUFvQyxDQUFDQyxHQUFELEVBQXNCQyxHQUF0QixFQUFxQ0MsSUFBckMsS0FBc0U7QUFDeEcsVUFBTUMsY0FBYyxHQUFHSCxHQUFHLENBQUNJLFdBQUosQ0FBZ0JDLElBQXZDO0FBRUFQLElBQUFBLE9BQU8sQ0FBQ1EsZ0JBQVIsQ0FBeUIsQ0FBQ0MsR0FBRCxFQUFNQyxhQUFOLEtBQWtDO0FBQ3pELFVBQUlELEdBQUosRUFBUztBQUNQLGVBQU9MLElBQUksQ0FBQ0ssR0FBRCxDQUFYO0FBQ0Q7O0FBRUQsWUFBTUUsZ0JBQTBCLEdBQUdELGFBQWEsQ0FBQ0UsTUFBZCxDQUFzQkMsWUFBRCxJQUEyQkMsZ0JBQUVDLElBQUYsQ0FBT0YsWUFBWSxDQUFDRyxnQkFBRCxDQUFuQixFQUE0QkMsUUFBNUIsQ0FBcUNaLGNBQXJDLENBQWhELENBQW5DO0FBRUFGLE1BQUFBLEdBQUcsQ0FBQ2UsTUFBSixDQUFXQyx1QkFBWUMsRUFBdkI7QUFDQWhCLE1BQUFBLElBQUksQ0FBQztBQUNIaUIsUUFBQUEsSUFBSSxFQUFFVixnQkFBZ0IsQ0FBQ1csR0FBakIsQ0FBc0JDLGVBQUQsS0FBK0I7QUFDeERDLFVBQUFBLEtBQUssRUFBRUQsZUFBZSxDQUFDaEI7QUFEaUMsU0FBL0IsQ0FBckI7QUFESCxPQUFELENBQUo7QUFLRCxLQWJEO0FBY0QsR0FqQkQ7QUFrQkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuXG4gKi9cbmltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQsIElTdG9yYWdlSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEhUVFBfU1RBVFVTLCBVU0VSUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuXG50eXBlIFBhY2thZ2VzID0gUGFja2FnZVtdO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGU6IFJvdXRlciwgc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyKTogdm9pZCB7XG4gIHJvdXRlLmdldCgnLy0vX3ZpZXcvc3RhcnJlZEJ5VXNlcicsIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCA9PiB7XG4gICAgY29uc3QgcmVtb3RlVXNlcm5hbWUgPSByZXEucmVtb3RlX3VzZXIubmFtZTtcblxuICAgIHN0b3JhZ2UuZ2V0TG9jYWxEYXRhYmFzZSgoZXJyLCBsb2NhbFBhY2thZ2VzOiBQYWNrYWdlcykgPT4ge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWx0ZXJlZFBhY2thZ2VzOiBQYWNrYWdlcyA9IGxvY2FsUGFja2FnZXMuZmlsdGVyKChsb2NhbFBhY2thZ2U6IFBhY2thZ2UpID0+IF8ua2V5cyhsb2NhbFBhY2thZ2VbVVNFUlNdKS5pbmNsdWRlcyhyZW1vdGVVc2VybmFtZSkpO1xuXG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgIG5leHQoe1xuICAgICAgICByb3dzOiBmaWx0ZXJlZFBhY2thZ2VzLm1hcCgoZmlsdGVyZWRQYWNrYWdlOiBQYWNrYWdlKSA9PiAoe1xuICAgICAgICAgIHZhbHVlOiBmaWx0ZXJlZFBhY2thZ2UubmFtZSxcbiAgICAgICAgfSkpLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
@@ -5,20 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = _default;
7
7
 
8
- var _lodash = _interopRequireDefault(require("lodash"));
9
-
10
8
  var _cookies = _interopRequireDefault(require("cookies"));
11
9
 
12
10
  var _express = _interopRequireDefault(require("express"));
13
11
 
14
- var _utils = require("../../../lib/utils");
15
-
16
- var _constants = require("../../../lib/constants");
12
+ var _lodash = _interopRequireDefault(require("lodash"));
17
13
 
18
14
  var _authUtils = require("../../../lib/auth-utils");
19
15
 
16
+ var _constants = require("../../../lib/constants");
17
+
20
18
  var _logger = require("../../../lib/logger");
21
19
 
20
+ var _utils = require("../../../lib/utils");
21
+
22
22
  var _rateLimiter = require("../../rate-limiter");
23
23
 
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -107,4 +107,4 @@ function _default(route, auth, config) {
107
107
  });
108
108
  route.use(userRouter);
109
109
  }
110
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3VzZXIudHMiXSwibmFtZXMiOlsicm91dGUiLCJhdXRoIiwiY29uZmlnIiwidXNlclJvdXRlciIsImV4cHJlc3MiLCJSb3V0ZXIiLCJnZXQiLCJ1c2VyUmF0ZUxpbWl0IiwicmVxIiwicmVzIiwibmV4dCIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiT0siLCJvayIsInJlbW90ZV91c2VyIiwibmFtZSIsInB1dCIsInBhc3N3b3JkIiwiYm9keSIsInJlbW90ZU5hbWUiLCJfIiwiaXNOaWwiLCJhdXRoZW50aWNhdGUiLCJjYWxsYmFja0F1dGhlbnRpY2F0ZSIsImVyciIsInVzZXIiLCJsb2dnZXIiLCJlcnJvciIsIkVycm9yQ29kZSIsImdldENvZGUiLCJVTkFVVEhPUklaRUQiLCJBUElfRVJST1IiLCJCQURfVVNFUk5BTUVfUEFTU1dPUkQiLCJyZXN0b3JlZFJlbW90ZVVzZXIiLCJncm91cHMiLCJ0b2tlbiIsIkNSRUFURUQiLCJzZXQiLCJIRUFERVJTIiwiQ0FDSEVfQ09OVFJPTCIsIkJBRF9SRVFVRVNUIiwiUEFTU1dPUkRfU0hPUlQiLCJhZGRfdXNlciIsIklOVEVSTkFMX0VSUk9SIiwibWVzc2FnZSIsImdldENvbmZsaWN0IiwidW5kZWZpbmVkIiwiZGVsZXRlIiwiQVBJX01FU1NBR0UiLCJMT0dHRURfT1VUIiwicG9zdCIsIkNvb2tpZXMiLCJjb29raWVzIiwiU3RyaW5nIiwiTWF0aCIsInJhbmRvbSIsInJvbGVzIiwidXNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7Ozs7QUFFZSxrQkFBVUEsS0FBVixFQUF5QkMsSUFBekIsRUFBc0NDLE1BQXRDLEVBQTREO0FBQ3pFO0FBQ0EsUUFBTUMsVUFBVSxHQUFHQyxpQkFBUUMsTUFBUixFQUFuQjs7QUFFQUYsRUFBQUEsVUFBVSxDQUFDRyxHQUFYLENBQWUsMkJBQWYs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LE9BQVIsRUFBN0IsRUFBZ0QsVUFBVUksR0FBVixFQUErQkMsR0FBL0IsRUFBcURDLElBQXJELEVBQW1GO0FBQ2pJRCxJQUFBQSxHQUFHLENBQUM0QyxPQUFKLENBQVlmLEdBQVosQ0FBZ0IsYUFBaEIsRUFBK0JnQixNQUFNLENBQUNDLElBQUksQ0FBQ0MsTUFBTCxFQUFELENBQXJDLEVBQXNELG9DQUF0RDtBQUVBOUMsSUFBQUEsSUFBSSxDQUFDO0FBQ0hJLE1BQUFBLEVBQUUsRUFBRSxJQUREO0FBRUhFLE1BQUFBLElBQUksRUFBRSxVQUZIO0FBR0h5QyxNQUFBQSxLQUFLLEVBQUU7QUFISixLQUFELENBQUo7QUFLRCxHQVJEO0FBVUF6RCxFQUFBQSxLQUFLLENBQUMwRCxHQUFOLENBQVV2RCxVQUFWO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IENvb2tpZXMgZnJvbSAnY29va2llcyc7XG5cbmltcG9ydCB7IENvbmZpZywgUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IGV4cHJlc3MsIHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgQVBJX01FU1NBR0UsIEhFQURFUlMsIEhUVFBfU1RBVFVTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBjcmVhdGVSZW1vdGVVc2VyLCBjcmVhdGVTZXNzaW9uVG9rZW4sIGdldEFwaVRva2VuLCBnZXRBdXRoZW50aWNhdGVkTWVzc2FnZSwgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJy4uLy4uLy4uL2xpYi9hdXRoLXV0aWxzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuXG5pbXBvcnQgeyAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kLCAkTmV4dEZ1bmN0aW9uVmVyLCBJQXV0aCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGxpbWl0ZXIgfSBmcm9tICcuLi8uLi9yYXRlLWxpbWl0ZXInO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGU6IFJvdXRlciwgYXV0aDogSUF1dGgsIGNvbmZpZzogQ29uZmlnKTogdm9pZCB7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICBjb25zdCB1c2VyUm91dGVyID0gZXhwcmVzcy5Sb3V0ZXIoKTtcblxuICB1c2VyUm91dGVyLmdldCgnLy0vdXNlci86b3JnX2NvdWNoZGJfdXNlcicsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICBuZXh0KHtcbiAgICAgIG9rOiBnZXRBdXRoZW50aWNhdGVkTWVzc2FnZShyZXEucmVtb3RlX3VzZXIubmFtZSksXG4gICAgfSk7XG4gIH0pO1xuXG4gIHVzZXJSb3V0ZXIucHV0KCcvLS91c2VyLzpvcmdfY291Y2hkYl91c2VyLzpfcmV2Py86cmV2aXNpb24/JywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgbmFtZSwgcGFzc3dvcmQgfSA9IHJlcS5ib2R5O1xuICAgIGNvbnN0IHJlbW90ZU5hbWUgPSByZXEucmVtb3RlX3VzZXIubmFtZTtcblxuICAgIGlmIChfLmlzTmlsKHJlbW90ZU5hbWUpID09PSBmYWxzZSAmJiBfLmlzTmlsKG5hbWUpID09PSBmYWxzZSAmJiByZW1vdGVOYW1lID09PSBuYW1lKSB7XG4gICAgICBhdXRoLmF1dGhlbnRpY2F0ZShuYW1lLCBwYXNzd29yZCwgYXN5bmMgZnVuY3Rpb24gY2FsbGJhY2tBdXRoZW50aWNhdGUoZXJyLCB1c2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBuYW1lLCBlcnIgfSwgJ2F1dGhlbnRpY2F0aW5nIGZvciB1c2VyIEB7dXNlcm5hbWV9IGZhaWxlZC4gRXJyb3I6IEB7ZXJyLm1lc3NhZ2V9Jyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVELCBBUElfRVJST1IuQkFEX1VTRVJOQU1FX1BBU1NXT1JEKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN0b3JlZFJlbW90ZVVzZXI6IFJlbW90ZVVzZXIgPSBjcmVhdGVSZW1vdGVVc2VyKG5hbWUsIHVzZXIuZ3JvdXBzIHx8IFtdKTtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCBnZXRBcGlUb2tlbihhdXRoLCBjb25maWcsIHJlc3RvcmVkUmVtb3RlVXNlciwgcGFzc3dvcmQpO1xuXG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBvazogZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UocmVxLnJlbW90ZV91c2VyLm5hbWUpLFxuICAgICAgICAgIHRva2VuLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodmFsaWRhdGVQYXNzd29yZChwYXNzd29yZCkgPT09IGZhbHNlKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLkJBRF9SRVFVRVNULCBBUElfRVJST1IuUEFTU1dPUkRfU0hPUlQoKSkpO1xuICAgICAgfVxuXG4gICAgICBhdXRoLmFkZF91c2VyKG5hbWUsIHBhc3N3b3JkLCBhc3luYyBmdW5jdGlvbiAoZXJyLCB1c2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA+PSBIVFRQX1NUQVRVUy5CQURfUkVRVUVTVCAmJiBlcnIuc3RhdHVzIDwgSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IpIHtcbiAgICAgICAgICAgIC8vIFdpdGggbnBtIHJlZ2lzdGVyaW5nIGlzIHRoZSBzYW1lIGFzIGxvZ2dpbmcgaW4sXG4gICAgICAgICAgICAvLyBhbmQgbnBtIGFjY2VwdHMgb25seSBhbiA0MDkgZXJyb3IuXG4gICAgICAgICAgICAvLyBTbywgY2hhbmdpbmcgc3RhdHVzIGNvZGUgaGVyZS5cbiAgICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKGVyci5zdGF0dXMsIGVyci5tZXNzYWdlKSB8fCBFcnJvckNvZGUuZ2V0Q29uZmxpY3QoZXJyLm1lc3NhZ2UpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRva2VuID0gbmFtZSAmJiBwYXNzd29yZCA/IGF3YWl0IGdldEFwaVRva2VuKGF1dGgsIGNvbmZpZywgdXNlciwgcGFzc3dvcmQpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHJlcS5yZW1vdGVfdXNlciA9IHVzZXI7XG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBvazogYHVzZXIgJyR7cmVxLmJvZHkubmFtZX0nIGNyZWF0ZWRgLFxuICAgICAgICAgIHRva2VuLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgdXNlclJvdXRlci5kZWxldGUoJy8tL3VzZXIvdG9rZW4vKicsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICBuZXh0KHtcbiAgICAgIG9rOiBBUElfTUVTU0FHRS5MT0dHRURfT1VULFxuICAgIH0pO1xuICB9KTtcblxuICAvLyBwbGFjZWhvbGRlciAnY2F1c2UgbnBtIHJlcXVpcmUgdG8gYmUgYXV0aGVudGljYXRlZCB0byBwdWJsaXNoXG4gIC8vIHdlIGRvIG5vdCBkbyBhbnkgcmVhbCBhdXRoZW50aWNhdGlvbiB5ZXRcbiAgdXNlclJvdXRlci5wb3N0KCcvX3Nlc3Npb24nLCBDb29raWVzLmV4cHJlc3MoKSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgcmVzLmNvb2tpZXMuc2V0KCdBdXRoU2Vzc2lvbicsIFN0cmluZyhNYXRoLnJhbmRvbSgpKSwgY3JlYXRlU2Vzc2lvblRva2VuKCkpO1xuXG4gICAgbmV4dCh7XG4gICAgICBvazogdHJ1ZSxcbiAgICAgIG5hbWU6ICdzb21lYm9keScsXG4gICAgICByb2xlczogW10sXG4gICAgfSk7XG4gIH0pO1xuXG4gIHJvdXRlLnVzZSh1c2VyUm91dGVyKTtcbn1cbiJdfQ==
110
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3VzZXIudHMiXSwibmFtZXMiOlsicm91dGUiLCJhdXRoIiwiY29uZmlnIiwidXNlclJvdXRlciIsImV4cHJlc3MiLCJSb3V0ZXIiLCJnZXQiLCJ1c2VyUmF0ZUxpbWl0IiwicmVxIiwicmVzIiwibmV4dCIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiT0siLCJvayIsInJlbW90ZV91c2VyIiwibmFtZSIsInB1dCIsInBhc3N3b3JkIiwiYm9keSIsInJlbW90ZU5hbWUiLCJfIiwiaXNOaWwiLCJhdXRoZW50aWNhdGUiLCJjYWxsYmFja0F1dGhlbnRpY2F0ZSIsImVyciIsInVzZXIiLCJsb2dnZXIiLCJlcnJvciIsIkVycm9yQ29kZSIsImdldENvZGUiLCJVTkFVVEhPUklaRUQiLCJBUElfRVJST1IiLCJCQURfVVNFUk5BTUVfUEFTU1dPUkQiLCJyZXN0b3JlZFJlbW90ZVVzZXIiLCJncm91cHMiLCJ0b2tlbiIsIkNSRUFURUQiLCJzZXQiLCJIRUFERVJTIiwiQ0FDSEVfQ09OVFJPTCIsIkJBRF9SRVFVRVNUIiwiUEFTU1dPUkRfU0hPUlQiLCJhZGRfdXNlciIsIklOVEVSTkFMX0VSUk9SIiwibWVzc2FnZSIsImdldENvbmZsaWN0IiwidW5kZWZpbmVkIiwiZGVsZXRlIiwiQVBJX01FU1NBR0UiLCJMT0dHRURfT1VUIiwicG9zdCIsIkNvb2tpZXMiLCJjb29raWVzIiwiU3RyaW5nIiwiTWF0aCIsInJhbmRvbSIsInJvbGVzIiwidXNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBS0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFZSxrQkFBVUEsS0FBVixFQUF5QkMsSUFBekIsRUFBc0NDLE1BQXRDLEVBQTREO0FBQ3pFO0FBQ0EsUUFBTUMsVUFBVSxHQUFHQyxpQkFBUUMsTUFBUixFQUFuQjs7QUFFQUYsRUFBQUEsVUFBVSxDQUFDRyxHQUFYLENBQWUsMkJBQWYs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LE9BQVIsRUFBN0IsRUFBZ0QsVUFBVUksR0FBVixFQUErQkMsR0FBL0IsRUFBcURDLElBQXJELEVBQW1GO0FBQ2pJRCxJQUFBQSxHQUFHLENBQUM0QyxPQUFKLENBQVlmLEdBQVosQ0FBZ0IsYUFBaEIsRUFBK0JnQixNQUFNLENBQUNDLElBQUksQ0FBQ0MsTUFBTCxFQUFELENBQXJDLEVBQXNELG9DQUF0RDtBQUVBOUMsSUFBQUEsSUFBSSxDQUFDO0FBQ0hJLE1BQUFBLEVBQUUsRUFBRSxJQUREO0FBRUhFLE1BQUFBLElBQUksRUFBRSxVQUZIO0FBR0h5QyxNQUFBQSxLQUFLLEVBQUU7QUFISixLQUFELENBQUo7QUFLRCxHQVJEO0FBVUF6RCxFQUFBQSxLQUFLLENBQUMwRCxHQUFOLENBQVV2RCxVQUFWO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29va2llcyBmcm9tICdjb29raWVzJztcbmltcG9ydCBleHByZXNzLCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IENvbmZpZywgUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kLCBJQXV0aCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVJlbW90ZVVzZXIsIGNyZWF0ZVNlc3Npb25Ub2tlbiwgZ2V0QXBpVG9rZW4sIGdldEF1dGhlbnRpY2F0ZWRNZXNzYWdlLCB2YWxpZGF0ZVBhc3N3b3JkIH0gZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgtdXRpbHMnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBBUElfTUVTU0FHRSwgSEVBREVSUywgSFRUUF9TVEFUVVMgfSBmcm9tICcuLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IGxpbWl0ZXIgfSBmcm9tICcuLi8uLi9yYXRlLWxpbWl0ZXInO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGU6IFJvdXRlciwgYXV0aDogSUF1dGgsIGNvbmZpZzogQ29uZmlnKTogdm9pZCB7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICBjb25zdCB1c2VyUm91dGVyID0gZXhwcmVzcy5Sb3V0ZXIoKTtcblxuICB1c2VyUm91dGVyLmdldCgnLy0vdXNlci86b3JnX2NvdWNoZGJfdXNlcicsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICBuZXh0KHtcbiAgICAgIG9rOiBnZXRBdXRoZW50aWNhdGVkTWVzc2FnZShyZXEucmVtb3RlX3VzZXIubmFtZSksXG4gICAgfSk7XG4gIH0pO1xuXG4gIHVzZXJSb3V0ZXIucHV0KCcvLS91c2VyLzpvcmdfY291Y2hkYl91c2VyLzpfcmV2Py86cmV2aXNpb24/JywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgbmFtZSwgcGFzc3dvcmQgfSA9IHJlcS5ib2R5O1xuICAgIGNvbnN0IHJlbW90ZU5hbWUgPSByZXEucmVtb3RlX3VzZXIubmFtZTtcblxuICAgIGlmIChfLmlzTmlsKHJlbW90ZU5hbWUpID09PSBmYWxzZSAmJiBfLmlzTmlsKG5hbWUpID09PSBmYWxzZSAmJiByZW1vdGVOYW1lID09PSBuYW1lKSB7XG4gICAgICBhdXRoLmF1dGhlbnRpY2F0ZShuYW1lLCBwYXNzd29yZCwgYXN5bmMgZnVuY3Rpb24gY2FsbGJhY2tBdXRoZW50aWNhdGUoZXJyLCB1c2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBuYW1lLCBlcnIgfSwgJ2F1dGhlbnRpY2F0aW5nIGZvciB1c2VyIEB7dXNlcm5hbWV9IGZhaWxlZC4gRXJyb3I6IEB7ZXJyLm1lc3NhZ2V9Jyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVELCBBUElfRVJST1IuQkFEX1VTRVJOQU1FX1BBU1NXT1JEKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN0b3JlZFJlbW90ZVVzZXI6IFJlbW90ZVVzZXIgPSBjcmVhdGVSZW1vdGVVc2VyKG5hbWUsIHVzZXIuZ3JvdXBzIHx8IFtdKTtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCBnZXRBcGlUb2tlbihhdXRoLCBjb25maWcsIHJlc3RvcmVkUmVtb3RlVXNlciwgcGFzc3dvcmQpO1xuXG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBvazogZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UocmVxLnJlbW90ZV91c2VyLm5hbWUpLFxuICAgICAgICAgIHRva2VuLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodmFsaWRhdGVQYXNzd29yZChwYXNzd29yZCkgPT09IGZhbHNlKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLkJBRF9SRVFVRVNULCBBUElfRVJST1IuUEFTU1dPUkRfU0hPUlQoKSkpO1xuICAgICAgfVxuXG4gICAgICBhdXRoLmFkZF91c2VyKG5hbWUsIHBhc3N3b3JkLCBhc3luYyBmdW5jdGlvbiAoZXJyLCB1c2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA+PSBIVFRQX1NUQVRVUy5CQURfUkVRVUVTVCAmJiBlcnIuc3RhdHVzIDwgSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IpIHtcbiAgICAgICAgICAgIC8vIFdpdGggbnBtIHJlZ2lzdGVyaW5nIGlzIHRoZSBzYW1lIGFzIGxvZ2dpbmcgaW4sXG4gICAgICAgICAgICAvLyBhbmQgbnBtIGFjY2VwdHMgb25seSBhbiA0MDkgZXJyb3IuXG4gICAgICAgICAgICAvLyBTbywgY2hhbmdpbmcgc3RhdHVzIGNvZGUgaGVyZS5cbiAgICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKGVyci5zdGF0dXMsIGVyci5tZXNzYWdlKSB8fCBFcnJvckNvZGUuZ2V0Q29uZmxpY3QoZXJyLm1lc3NhZ2UpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRva2VuID0gbmFtZSAmJiBwYXNzd29yZCA/IGF3YWl0IGdldEFwaVRva2VuKGF1dGgsIGNvbmZpZywgdXNlciwgcGFzc3dvcmQpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHJlcS5yZW1vdGVfdXNlciA9IHVzZXI7XG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBvazogYHVzZXIgJyR7cmVxLmJvZHkubmFtZX0nIGNyZWF0ZWRgLFxuICAgICAgICAgIHRva2VuLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgdXNlclJvdXRlci5kZWxldGUoJy8tL3VzZXIvdG9rZW4vKicsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICBuZXh0KHtcbiAgICAgIG9rOiBBUElfTUVTU0FHRS5MT0dHRURfT1VULFxuICAgIH0pO1xuICB9KTtcblxuICAvLyBwbGFjZWhvbGRlciAnY2F1c2UgbnBtIHJlcXVpcmUgdG8gYmUgYXV0aGVudGljYXRlZCB0byBwdWJsaXNoXG4gIC8vIHdlIGRvIG5vdCBkbyBhbnkgcmVhbCBhdXRoZW50aWNhdGlvbiB5ZXRcbiAgdXNlclJvdXRlci5wb3N0KCcvX3Nlc3Npb24nLCBDb29raWVzLmV4cHJlc3MoKSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgcmVzLmNvb2tpZXMuc2V0KCdBdXRoU2Vzc2lvbicsIFN0cmluZyhNYXRoLnJhbmRvbSgpKSwgY3JlYXRlU2Vzc2lvblRva2VuKCkpO1xuXG4gICAgbmV4dCh7XG4gICAgICBvazogdHJ1ZSxcbiAgICAgIG5hbWU6ICdzb21lYm9keScsXG4gICAgICByb2xlczogW10sXG4gICAgfSk7XG4gIH0pO1xuXG4gIHJvdXRlLnVzZSh1c2VyUm91dGVyKTtcbn1cbiJdfQ==
@@ -23,4 +23,4 @@ var _default = (auth, storage, config) => {
23
23
  };
24
24
 
25
25
  exports.default = _default;
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL2luZGV4LnRzIl0sIm5hbWVzIjpbImF1dGgiLCJzdG9yYWdlIiwiY29uZmlnIiwicm91dGUiLCJ1c2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OztlQUVlLENBQUNBLElBQUQsRUFBT0MsT0FBUCxFQUFnQkMsTUFBaEIsS0FBMkI7QUFDeEMsUUFBTUMsS0FBSyxHQUFHLHNCQUFkO0FBQXdCOztBQUN4QkEsRUFBQUEsS0FBSyxDQUFDQyxHQUFOLENBQVUsWUFBVixFQUF3QixzQkFBUUosSUFBUixFQUFjRSxNQUFkLENBQXhCO0FBQ0FDLEVBQUFBLEtBQUssQ0FBQ0MsR0FBTixDQUFVLFlBQVYsRUFBd0Isb0JBQU1KLElBQU4sRUFBWUMsT0FBWixFQUFxQkMsTUFBckIsQ0FBeEI7QUFDQSxTQUFPQyxLQUFQO0FBQ0QsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBwcm9maWxlIGZyb20gJy4vcHJvZmlsZSc7XG5pbXBvcnQgdG9rZW4gZnJvbSAnLi90b2tlbic7XG5cbmV4cG9ydCBkZWZhdWx0IChhdXRoLCBzdG9yYWdlLCBjb25maWcpID0+IHtcbiAgY29uc3Qgcm91dGUgPSBSb3V0ZXIoKTsgLyogZXNsaW50IG5ldy1jYXA6IDAgKi9cbiAgcm91dGUudXNlKCcvLS9ucG0vdjEvJywgcHJvZmlsZShhdXRoLCBjb25maWcpKTtcbiAgcm91dGUudXNlKCcvLS9ucG0vdjEvJywgdG9rZW4oYXV0aCwgc3RvcmFnZSwgY29uZmlnKSk7XG4gIHJldHVybiByb3V0ZTtcbn07XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL2luZGV4LnRzIl0sIm5hbWVzIjpbImF1dGgiLCJzdG9yYWdlIiwiY29uZmlnIiwicm91dGUiLCJ1c2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7OztlQUVlLENBQUNBLElBQUQsRUFBT0MsT0FBUCxFQUFnQkMsTUFBaEIsS0FBMkI7QUFDeEMsUUFBTUMsS0FBSyxHQUFHLHNCQUFkO0FBQXdCOztBQUN4QkEsRUFBQUEsS0FBSyxDQUFDQyxHQUFOLENBQVUsWUFBVixFQUF3QixzQkFBUUosSUFBUixFQUFjRSxNQUFkLENBQXhCO0FBQ0FDLEVBQUFBLEtBQUssQ0FBQ0MsR0FBTixDQUFVLFlBQVYsRUFBd0Isb0JBQU1KLElBQU4sRUFBWUMsT0FBWixFQUFxQkMsTUFBckIsQ0FBeEI7QUFDQSxTQUFPQyxLQUFQO0FBQ0QsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcblxuaW1wb3J0IHByb2ZpbGUgZnJvbSAnLi9wcm9maWxlJztcbmltcG9ydCB0b2tlbiBmcm9tICcuL3Rva2VuJztcblxuZXhwb3J0IGRlZmF1bHQgKGF1dGgsIHN0b3JhZ2UsIGNvbmZpZykgPT4ge1xuICBjb25zdCByb3V0ZSA9IFJvdXRlcigpOyAvKiBlc2xpbnQgbmV3LWNhcDogMCAqL1xuICByb3V0ZS51c2UoJy8tL25wbS92MS8nLCBwcm9maWxlKGF1dGgsIGNvbmZpZykpO1xuICByb3V0ZS51c2UoJy8tL25wbS92MS8nLCB0b2tlbihhdXRoLCBzdG9yYWdlLCBjb25maWcpKTtcbiAgcmV0dXJuIHJvdXRlO1xufTtcbiJdfQ==
@@ -5,16 +5,16 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = _default;
7
7
 
8
+ var _express = require("express");
9
+
8
10
  var _lodash = _interopRequireDefault(require("lodash"));
9
11
 
10
- var _express = require("express");
12
+ var _authUtils = require("../../../../lib/auth-utils");
11
13
 
12
14
  var _constants = require("../../../../lib/constants");
13
15
 
14
16
  var _utils = require("../../../../lib/utils");
15
17
 
16
- var _authUtils = require("../../../../lib/auth-utils");
17
-
18
18
  var _rateLimiter = require("../../../rate-limiter");
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -88,4 +88,4 @@ function _default(auth, config) {
88
88
  });
89
89
  return profileRoute;
90
90
  }
91
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3Byb2ZpbGUudHMiXSwibmFtZXMiOlsiYXV0aCIsImNvbmZpZyIsInByb2ZpbGVSb3V0ZSIsImJ1aWxkUHJvZmlsZSIsIm5hbWUiLCJ0ZmEiLCJlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIiwiY3JlYXRlZCIsInVwZGF0ZWQiLCJjaWRyX3doaXRlbGlzdCIsImZ1bGxuYW1lIiwiZ2V0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsInJlcyIsIm5leHQiLCJfIiwiaXNOaWwiLCJyZW1vdGVfdXNlciIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiVU5BVVRIT1JJWkVEIiwibWVzc2FnZSIsIkFQSV9FUlJPUiIsIk1VU1RfQkVfTE9HR0VEIiwicG9zdCIsInBhc3N3b3JkIiwiYm9keSIsIm5ldyIsIkVycm9yQ29kZSIsImdldENvZGUiLCJQQVNTV09SRF9TSE9SVCIsImNoYW5nZVBhc3N3b3JkIiwib2xkIiwiZXJyIiwiaXNVcGRhdGVkIiwiaXNOdWxsIiwiZ2V0Q29uZmxpY3QiLCJnZXRJbnRlcm5hbEVycm9yIiwiSU5URVJOQUxfU0VSVkVSX0VSUk9SIiwiU0VSVklDRV9VTkFWQUlMQUJMRSIsIlNVUFBPUlRfRVJST1JTIiwiVEZBX0RJU0FCTEVEIiwiSU5URVJOQUxfRVJST1IiLCJBUFBfRVJST1IiLCJQUk9GSUxFX0VSUk9SIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7Ozs7QUFhZSxrQkFBVUEsSUFBVixFQUF1QkMsTUFBdkIsRUFBdUM7QUFDcEQsUUFBTUMsWUFBWSxHQUFHLHNCQUFyQjtBQUErQjs7QUFDL0IsV0FBU0MsWUFBVCxDQUFzQkMsSUFBdEIsRUFBNkM7QUFDM0MsV0FBTztBQUNMQyxNQUFBQSxHQUFHLEVBQUUsS0FEQTtBQUVMRCxNQUFBQSxJQUZLO0FBR0xFLE1BQUFBLEtBQUssRUFBRSxFQUhGO0FBSUxDLE1BQUFBLGNBQWMsRUFBRSxLQUpYO0FBS0xDLE1BQUFBLE9BQU8sRUFBRSxFQUxKO0FBTUxDLE1BQUFBLE9BQU8sRUFBRSxFQU5KO0FBT0xDLE1BQUFBLGNBQWMsRUFBRSxJQVBYO0FBUUxDLE1BQUFBLFFBQVEsRUFBRTtBQVJMLEtBQVA7QUFVRDs7QUFFRFQsRUFBQUEsWUFBWSxDQUFDVSxHQUFiLENBQWlCLE9BQWpCLEVBQTBCLDBCQUFRWCxNQUFSLGFBQVFBLE1BQVIsdUJBQVFBLE1BQU0sQ0FBRVksYUFBaEIsQ0FBMUIsRUFBMEQsVUFBVUMsR0FBVixFQUErQkMsR0FBL0IsRUFBOENDLElBQTlDLEVBQTRFO0FBQ3BJLFFBQUlDLGdCQUFFQyxLQUFGLENBQVFKLEdBQUcsQ0FBQ0ssV0FBSixDQUFnQmYsSUFBeEIsTUFBa0MsS0FBdEMsRUFBNkM7QUFDM0MsYUFBT1ksSUFBSSxDQUFDYixZQUFZLENBQUNXLEdBQUcsQ0FBQ0ssV0FBSixDQUFnQmYsSUFBakIsQ0FBYixDQUFYO0FBQ0Q7O0FBRURXLElBQUFBLEdBQUcsQ0FBQ0ssTUFBSixDQUFXQyx1QkFBWUMsWUFBdkI7QUFDQSxXQUFPTixJQUFJLENBQUM7QUFDVk8sTUFBQUEsT0FBTyxFQUFFQyxxQkFBVUM7QUFEVCxLQUFELENBQVg7QUFHRCxHQVREO0FBV0F2QixFQUFBQSxZQUFZLENBQUN3QixJQUFiLENBQWtCLE9BQWxCLEVBQTJCLDBCQUFRekIsTUFBUixhQUFRQSxNQUFSLHVCQUFRQSxNQUFNLENBQUVZLGFBQWhCLENBQTNCLEVBQTJELFVBQVVDLEdBQVYsRUFBK0JDLEdBQS9CLEVBQThDQyxJQUE5QyxFQUE0RTtBQUNySSxRQUFJQyxnQkFBRUMsS0FBRixDQUFRSixHQUFHLENBQUNLLFdBQUosQ0FBZ0JmLElBQXhCLENBQUosRUFBbUM7QUFDakNXLE1BQUFBLEdBQUcsQ0FBQ0ssTUFBSixDQUFXQyx1QkFBWUMsWUFBdkI7QUFDQSxhQUFPTixJQUFJLENBQUM7QUFDVk8sUUFBQUEsT0FBTyxFQUFFQyxxQkFBVUM7QUFEVCxPQUFELENBQVg7QUFHRDs7QUFFRCxVQUFNO0FBQUVFLE1BQUFBLFFBQUY7QUFBWXRCLE1BQUFBO0FBQVosUUFBb0JTLEdBQUcsQ0FBQ2MsSUFBOUI7QUFDQSxVQUFNO0FBQUV4QixNQUFBQTtBQUFGLFFBQVdVLEdBQUcsQ0FBQ0ssV0FBckI7O0FBRUEsUUFBSUYsZ0JBQUVDLEtBQUYsQ0FBUVMsUUFBUixNQUFzQixLQUExQixFQUFpQztBQUMvQixVQUFJLGlDQUFpQkEsUUFBUSxDQUFDRSxHQUExQixNQUFtQyxLQUF2QyxFQUE4QztBQUM1QztBQUNBLGVBQU9iLElBQUksQ0FBQ2MsaUJBQVVDLE9BQVYsQ0FBa0JWLHVCQUFZQyxZQUE5QixFQUE0Q0UscUJBQVVRLGNBQVYsRUFBNUMsQ0FBRCxDQUFYO0FBQ0E7QUFDRDs7QUFFRGhDLE1BQUFBLElBQUksQ0FBQ2lDLGNBQUwsQ0FBb0I3QixJQUFwQixFQUEwQnVCLFFBQVEsQ0FBQ08sR0FBbkMsRUFBd0NQLFFBQVEsQ0FBQ0UsR0FBakQsRUFBc0QsQ0FBQ00sR0FBRCxFQUFNQyxTQUFOLEtBQXNDO0FBQzFGLFlBQUluQixnQkFBRW9CLE1BQUYsQ0FBU0YsR0FBVCxNQUFrQixLQUF0QixFQUE2QjtBQUMzQixpQkFBT25CLElBQUksQ0FBQ2MsaUJBQVVDLE9BQVYsQ0FBa0JJLEdBQUcsQ0FBQ2YsTUFBdEIsRUFBOEJlLEdBQUcsQ0FBQ1osT0FBbEMsS0FBOENPLGlCQUFVUSxXQUFWLENBQXNCSCxHQUFHLENBQUNaLE9BQTFCLENBQS9DLENBQVg7QUFDRDs7QUFFRCxZQUFJYSxTQUFKLEVBQWU7QUFDYixpQkFBT3BCLElBQUksQ0FBQ2IsWUFBWSxDQUFDVyxHQUFHLENBQUNLLFdBQUosQ0FBZ0JmLElBQWpCLENBQWIsQ0FBWDtBQUNEOztBQUNELGVBQU9ZLElBQUksQ0FBQ2MsaUJBQVVTLGdCQUFWLENBQTJCZixxQkFBVWdCLHFCQUFyQyxDQUFELENBQVg7QUFDRCxPQVREO0FBVUQsS0FqQkQsTUFpQk8sSUFBSXZCLGdCQUFFQyxLQUFGLENBQVFiLEdBQVIsTUFBaUIsS0FBckIsRUFBNEI7QUFDakMsYUFBT1csSUFBSSxDQUFDYyxpQkFBVUMsT0FBVixDQUFrQlYsdUJBQVlvQixtQkFBOUIsRUFBbURDLDBCQUFlQyxZQUFsRSxDQUFELENBQVg7QUFDRCxLQUZNLE1BRUE7QUFDTCxhQUFPM0IsSUFBSSxDQUFDYyxpQkFBVUMsT0FBVixDQUFrQlYsdUJBQVl1QixjQUE5QixFQUE4Q0MscUJBQVVDLGFBQXhELENBQUQsQ0FBWDtBQUNEO0FBQ0YsR0FqQ0Q7QUFtQ0EsU0FBTzVDLFlBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBSZXNwb25zZSwgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyBBUElfRVJST1IsIEFQUF9FUlJPUiwgSFRUUF9TVEFUVVMsIFNVUFBPUlRfRVJST1JTIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9hdXRoLXV0aWxzJztcblxuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQsIElBdXRoIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgbGltaXRlciB9IGZyb20gJy4uLy4uLy4uL3JhdGUtbGltaXRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZSB7XG4gIHRmYTogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZDogYm9vbGVhbjtcbiAgY3JlYXRlZDogc3RyaW5nO1xuICB1cGRhdGVkOiBzdHJpbmc7XG4gIGNpZHJfd2hpdGVsaXN0OiBzdHJpbmdbXSB8IG51bGw7XG4gIGZ1bGxuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChhdXRoOiBJQXV0aCwgY29uZmlnKTogUm91dGVyIHtcbiAgY29uc3QgcHJvZmlsZVJvdXRlID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG4gIGZ1bmN0aW9uIGJ1aWxkUHJvZmlsZShuYW1lOiBzdHJpbmcpOiBQcm9maWxlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGZhOiBmYWxzZSxcbiAgICAgIG5hbWUsXG4gICAgICBlbWFpbDogJycsXG4gICAgICBlbWFpbF92ZXJpZmllZDogZmFsc2UsXG4gICAgICBjcmVhdGVkOiAnJyxcbiAgICAgIHVwZGF0ZWQ6ICcnLFxuICAgICAgY2lkcl93aGl0ZWxpc3Q6IG51bGwsXG4gICAgICBmdWxsbmFtZTogJycsXG4gICAgfTtcbiAgfVxuXG4gIHByb2ZpbGVSb3V0ZS5nZXQoJy91c2VyJywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGlmIChfLmlzTmlsKHJlcS5yZW1vdGVfdXNlci5uYW1lKSA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBuZXh0KGJ1aWxkUHJvZmlsZShyZXEucmVtb3RlX3VzZXIubmFtZSkpO1xuICAgIH1cblxuICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEKTtcbiAgICByZXR1cm4gbmV4dCh7XG4gICAgICBtZXNzYWdlOiBBUElfRVJST1IuTVVTVF9CRV9MT0dHRUQsXG4gICAgfSk7XG4gIH0pO1xuXG4gIHByb2ZpbGVSb3V0ZS5wb3N0KCcvdXNlcicsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBpZiAoXy5pc05pbChyZXEucmVtb3RlX3VzZXIubmFtZSkpIHtcbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEKTtcbiAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgbWVzc2FnZTogQVBJX0VSUk9SLk1VU1RfQkVfTE9HR0VELFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBwYXNzd29yZCwgdGZhIH0gPSByZXEuYm9keTtcbiAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgIGlmIChfLmlzTmlsKHBhc3N3b3JkKSA9PT0gZmFsc2UpIHtcbiAgICAgIGlmICh2YWxpZGF0ZVBhc3N3b3JkKHBhc3N3b3JkLm5ldykgPT09IGZhbHNlKSB7XG4gICAgICAgIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQsIEFQSV9FUlJPUi5QQVNTV09SRF9TSE9SVCgpKSk7XG4gICAgICAgIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAgICAgfVxuXG4gICAgICBhdXRoLmNoYW5nZVBhc3N3b3JkKG5hbWUsIHBhc3N3b3JkLm9sZCwgcGFzc3dvcmQubmV3LCAoZXJyLCBpc1VwZGF0ZWQpOiAkTmV4dEZ1bmN0aW9uVmVyID0+IHtcbiAgICAgICAgaWYgKF8uaXNOdWxsKGVycikgPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoZXJyLnN0YXR1cywgZXJyLm1lc3NhZ2UpIHx8IEVycm9yQ29kZS5nZXRDb25mbGljdChlcnIubWVzc2FnZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzVXBkYXRlZCkge1xuICAgICAgICAgIHJldHVybiBuZXh0KGJ1aWxkUHJvZmlsZShyZXEucmVtb3RlX3VzZXIubmFtZSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRJbnRlcm5hbEVycm9yKEFQSV9FUlJPUi5JTlRFUk5BTF9TRVJWRVJfRVJST1IpKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoXy5pc05pbCh0ZmEpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuU0VSVklDRV9VTkFWQUlMQUJMRSwgU1VQUE9SVF9FUlJPUlMuVEZBX0RJU0FCTEVEKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBBUFBfRVJST1IuUFJPRklMRV9FUlJPUikpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHByb2ZpbGVSb3V0ZTtcbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3Byb2ZpbGUudHMiXSwibmFtZXMiOlsiYXV0aCIsImNvbmZpZyIsInByb2ZpbGVSb3V0ZSIsImJ1aWxkUHJvZmlsZSIsIm5hbWUiLCJ0ZmEiLCJlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIiwiY3JlYXRlZCIsInVwZGF0ZWQiLCJjaWRyX3doaXRlbGlzdCIsImZ1bGxuYW1lIiwiZ2V0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsInJlcyIsIm5leHQiLCJfIiwiaXNOaWwiLCJyZW1vdGVfdXNlciIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiVU5BVVRIT1JJWkVEIiwibWVzc2FnZSIsIkFQSV9FUlJPUiIsIk1VU1RfQkVfTE9HR0VEIiwicG9zdCIsInBhc3N3b3JkIiwiYm9keSIsIm5ldyIsIkVycm9yQ29kZSIsImdldENvZGUiLCJQQVNTV09SRF9TSE9SVCIsImNoYW5nZVBhc3N3b3JkIiwib2xkIiwiZXJyIiwiaXNVcGRhdGVkIiwiaXNOdWxsIiwiZ2V0Q29uZmxpY3QiLCJnZXRJbnRlcm5hbEVycm9yIiwiSU5URVJOQUxfU0VSVkVSX0VSUk9SIiwiU0VSVklDRV9VTkFWQUlMQUJMRSIsIlNVUFBPUlRfRVJST1JTIiwiVEZBX0RJU0FCTEVEIiwiSU5URVJOQUxfRVJST1IiLCJBUFBfRVJST1IiLCJQUk9GSUxFX0VSUk9SIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFhZSxrQkFBVUEsSUFBVixFQUF1QkMsTUFBdkIsRUFBdUM7QUFDcEQsUUFBTUMsWUFBWSxHQUFHLHNCQUFyQjtBQUErQjs7QUFDL0IsV0FBU0MsWUFBVCxDQUFzQkMsSUFBdEIsRUFBNkM7QUFDM0MsV0FBTztBQUNMQyxNQUFBQSxHQUFHLEVBQUUsS0FEQTtBQUVMRCxNQUFBQSxJQUZLO0FBR0xFLE1BQUFBLEtBQUssRUFBRSxFQUhGO0FBSUxDLE1BQUFBLGNB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NEI7QUFDakMsYUFBT1csSUFBSSxDQUFDYyxpQkFBVUMsT0FBVixDQUFrQlYsdUJBQVlvQixtQkFBOUIsRUFBbURDLDBCQUFlQyxZQUFsRSxDQUFELENBQVg7QUFDRCxLQUZNLE1BRUE7QUFDTCxhQUFPM0IsSUFBSSxDQUFDYyxpQkFBVUMsT0FBVixDQUFrQlYsdUJBQVl1QixjQUE5QixFQUE4Q0MscUJBQVVDLGFBQXhELENBQUQsQ0FBWDtBQUNEO0FBQ0YsR0FqQ0Q7QUFtQ0EsU0FBTzVDLFlBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kLCBJQXV0aCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IHZhbGlkYXRlUGFzc3dvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBBUElfRVJST1IsIEFQUF9FUlJPUiwgSFRUUF9TVEFUVVMsIFNVUFBPUlRfRVJST1JTIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgbGltaXRlciB9IGZyb20gJy4uLy4uLy4uL3JhdGUtbGltaXRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZSB7XG4gIHRmYTogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZDogYm9vbGVhbjtcbiAgY3JlYXRlZDogc3RyaW5nO1xuICB1cGRhdGVkOiBzdHJpbmc7XG4gIGNpZHJfd2hpdGVsaXN0OiBzdHJpbmdbXSB8IG51bGw7XG4gIGZ1bGxuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChhdXRoOiBJQXV0aCwgY29uZmlnKTogUm91dGVyIHtcbiAgY29uc3QgcHJvZmlsZVJvdXRlID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG4gIGZ1bmN0aW9uIGJ1aWxkUHJvZmlsZShuYW1lOiBzdHJpbmcpOiBQcm9maWxlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGZhOiBmYWxzZSxcbiAgICAgIG5hbWUsXG4gICAgICBlbWFpbDogJycsXG4gICAgICBlbWFpbF92ZXJpZmllZDogZmFsc2UsXG4gICAgICBjcmVhdGVkOiAnJyxcbiAgICAgIHVwZGF0ZWQ6ICcnLFxuICAgICAgY2lkcl93aGl0ZWxpc3Q6IG51bGwsXG4gICAgICBmdWxsbmFtZTogJycsXG4gICAgfTtcbiAgfVxuXG4gIHByb2ZpbGVSb3V0ZS5nZXQoJy91c2VyJywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGlmIChfLmlzTmlsKHJlcS5yZW1vdGVfdXNlci5uYW1lKSA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBuZXh0KGJ1aWxkUHJvZmlsZShyZXEucmVtb3RlX3VzZXIubmFtZSkpO1xuICAgIH1cblxuICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEKTtcbiAgICByZXR1cm4gbmV4dCh7XG4gICAgICBtZXNzYWdlOiBBUElfRVJST1IuTVVTVF9CRV9MT0dHRUQsXG4gICAgfSk7XG4gIH0pO1xuXG4gIHByb2ZpbGVSb3V0ZS5wb3N0KCcvdXNlcicsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBpZiAoXy5pc05pbChyZXEucmVtb3RlX3VzZXIubmFtZSkpIHtcbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEKTtcbiAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgbWVzc2FnZTogQVBJX0VSUk9SLk1VU1RfQkVfTE9HR0VELFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBwYXNzd29yZCwgdGZhIH0gPSByZXEuYm9keTtcbiAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgIGlmIChfLmlzTmlsKHBhc3N3b3JkKSA9PT0gZmFsc2UpIHtcbiAgICAgIGlmICh2YWxpZGF0ZVBhc3N3b3JkKHBhc3N3b3JkLm5ldykgPT09IGZhbHNlKSB7XG4gICAgICAgIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQsIEFQSV9FUlJPUi5QQVNTV09SRF9TSE9SVCgpKSk7XG4gICAgICAgIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAgICAgfVxuXG4gICAgICBhdXRoLmNoYW5nZVBhc3N3b3JkKG5hbWUsIHBhc3N3b3JkLm9sZCwgcGFzc3dvcmQubmV3LCAoZXJyLCBpc1VwZGF0ZWQpOiAkTmV4dEZ1bmN0aW9uVmVyID0+IHtcbiAgICAgICAgaWYgKF8uaXNOdWxsKGVycikgPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoZXJyLnN0YXR1cywgZXJyLm1lc3NhZ2UpIHx8IEVycm9yQ29kZS5nZXRDb25mbGljdChlcnIubWVzc2FnZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzVXBkYXRlZCkge1xuICAgICAgICAgIHJldHVybiBuZXh0KGJ1aWxkUHJvZmlsZShyZXEucmVtb3RlX3VzZXIubmFtZSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRJbnRlcm5hbEVycm9yKEFQSV9FUlJPUi5JTlRFUk5BTF9TRVJWRVJfRVJST1IpKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoXy5pc05pbCh0ZmEpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuU0VSVklDRV9VTkFWQUlMQUJMRSwgU1VQUE9SVF9FUlJPUlMuVEZBX0RJU0FCTEVEKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBBUFBfRVJST1IuUFJPRklMRV9FUlJPUikpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHByb2ZpbGVSb3V0ZTtcbn1cbiJdfQ==
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = _default;
7
7
 
8
- var _semver = _interopRequireDefault(require("semver"));
9
-
10
8
  var _lodash = _interopRequireDefault(require("lodash"));
11
9
 
12
- var _logger = require("../../../../lib/logger");
10
+ var _semver = _interopRequireDefault(require("semver"));
13
11
 
14
12
  var _constants = require("../../../../lib/constants");
15
13
 
14
+ var _logger = require("../../../../lib/logger");
15
+
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  const personMatch = (person, search) => {
@@ -213,4 +213,4 @@ function _default(route, auth, storage) {
213
213
  });
214
214
  });
215
215
  }
216
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3NlYXJjaC50cyJdLCJuYW1lcyI6WyJwZXJzb25NYXRjaCIsInBlcnNvbiIsInNlYXJjaCIsImluY2x1ZGVzIiwiZmllbGQiLCJPYmplY3QiLCJ2YWx1ZXMiLCJtYXRjaGVyIiwicXVlcnkiLCJtYXRjaCIsInBrZyIsImF1dGhvciIsIm1hcCIsImsiLCJmaWx0ZXIiLCJ4IiwidW5kZWZpbmVkIiwic29tZSIsInR4dCIsImNvbXBpbGVUZXh0U2VhcmNoIiwidGV4dFNlYXJjaCIsInRleHRNYXRjaGVycyIsInNwbGl0IiwiZXZlcnkiLCJtIiwicmVtb3ZlRHVwbGljYXRlcyIsInJlc3VsdHMiLCJwa2dOYW1lcyIsInBhY2thZ2UiLCJuYW1lIiwicHVzaCIsImNoZWNrQWNjZXNzIiwiYXV0aCIsInJlbW90ZVVzZXIiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImFsbG93X2FjY2VzcyIsInBhY2thZ2VOYW1lIiwiZXJyIiwiYWxsb3dlZCIsInN0YXR1cyIsIlN0cmluZyIsInNlbmRSZXNwb25zZSIsInJlc3VsdEJ1ZiIsInJlc3VsdFN0cmVhbSIsInJlcSIsImZyb20iLCJzaXplIiwiZGVzdHJveSIsInJlc3VsdHNDb2xsZWN0aW9uIiwiZmxhZ3MiLCJ1bnN0YWJsZSIsImtleXMiLCJ2ZXJzaW9ucyIsInYiLCJzZW12ZXIiLCJzYXRpc2ZpZXMiLCJsb2NhbCIsInNjb3JlIiwiZmluYWwiLCJkZXRhaWwiLCJxdWFsaXR5IiwicG9wdWxhcml0eSIsIm1haW50ZW5hbmNlIiwic2VhcmNoU2NvcmUiLCJjaGVja0FjY2Vzc1Byb21pc2VzIiwiYWxsIiwicGtnSXRlbSIsInJlbW90ZV91c2VyIiwiaSIsIl8iLCJpc051bGwiLCJzbGljZSIsImxvZ2dlciIsImRlYnVnIiwibGVuZ3RoIiwicmVzcG9uc2UiLCJvYmplY3RzIiwidG90YWwiLCJ0aW1lIiwiRGF0ZSIsInRvVVRDU3RyaW5nIiwicm91dGUiLCJzdG9yYWdlIiwiZ2V0IiwicmVzIiwibmV4dCIsInRleHQiLCJwYXJzZUludCIsImlzSW50ZXJlc3RpbmciLCJjb21wbGV0ZWQiLCJvbiIsImlzQXJyYXkiLCJjb25jYXQiLCJlcnJvciIsInNvY2tldCIsImluZm8iLCJIVFRQX1NUQVRVUyIsIk9LIiwianNvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNBOzs7O0FBNkNBLE1BQU1BLFdBQVcsR0FBRyxDQUFDQyxNQUFELEVBQVNDLE1BQVQsS0FBb0I7QUFDdEMsTUFBSSxPQUFPRCxNQUFQLEtBQWtCLFFBQXRCLEVBQWdDO0FBQzlCLFdBQU9BLE1BQU0sQ0FBQ0UsUUFBUCxDQUFnQkQsTUFBaEIsQ0FBUDtBQUNEOztBQUVELE1BQUksT0FBT0QsTUFBUCxLQUFrQixRQUF0QixFQUFnQztBQUM5QixTQUFLLE1BQU1HLEtBQVgsSUFBb0JDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjTCxNQUFkLENBQXBCLEVBQTJDO0FBQ3pDLFVBQUksT0FBT0csS0FBUCxLQUFpQixRQUFqQixJQUE2QkEsS0FBSyxDQUFDRCxRQUFOLENBQWVELE1BQWYsQ0FBakMsRUFBeUQ7QUFDdkQsZUFBTyxJQUFQO0FBQ0Q7QUFDRjtBQUNGOztBQUVELFNBQU8sS0FBUDtBQUNELENBZEQ7O0FBZ0JBLE1BQU1LLE9BQU8sR0FBRyxVQUFVQyxLQUFWLEVBQWlCO0FBQy9CLFFBQU1DLEtBQUssR0FBR0QsS0FBSyxDQUFDQyxLQUFOLENBQVksYUFBWixDQUFkOztBQUNBLE1BQUlBLEtBQUssS0FBSyxJQUFkLEVBQW9CO0FBQ2xCLFdBQU8sVUFBVUMsR0FBVixFQUFlO0FBQ3BCLGFBQU9WLFdBQVcsQ0FBQ1UsR0FBRyxDQUFDQyxNQUFMLEVBQWFGLEtBQUssQ0FBQyxDQUFELENBQWxCLENBQWxCO0FBQ0QsS0FGRDtBQUdELEdBTjhCLENBUS9CO0FBQ0E7OztBQUNBLFNBQVFDLEdBQUQsSUFBUztBQUNkLFdBQU8sQ0FBQyxNQUFELEVBQVMsYUFBVCxF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RixnQkFBTWQsUUFBUSxHQUFHLE1BQU1sQyxZQUFZLENBQUNDLFNBQUQsRUFBWUMsWUFBWixFQUEwQmIsSUFBMUIsRUFBZ0NjLEdBQWhDLEVBQXFDQyxJQUFyQyxFQUEyQ0MsSUFBM0MsQ0FBbkM7O0FBQ0EwQix5QkFBT3VCLElBQVAsQ0FBWSxxQ0FBWixFQUFtRDtBQUFFbEIsWUFBQUEsS0FBSyxFQUFFRixRQUFRLENBQUNFO0FBQWxCLFdBQW5EOztBQUNBTyxVQUFBQSxHQUFHLENBQUM3QyxNQUFKLENBQVd5RCx1QkFBWUMsRUFBdkIsRUFBMkJDLElBQTNCLENBQWdDdkIsUUFBaEM7QUFDRCxTQUpELENBSUUsT0FBT3RDLEdBQVAsRUFBWTtBQUNabUMseUJBQU9xQixLQUFQLENBQWEsbUNBQWIsRUFBa0Q7QUFBRXhELFlBQUFBO0FBQUYsV0FBbEQ7O0FBQ0FnRCxVQUFBQSxJQUFJLENBQUNoRCxHQUFELENBQUo7QUFDRDtBQUNGO0FBQ0YsS0FaRDtBQWFELEdBdEREO0FBdUREIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IHsgSFRUUF9TVEFUVVMgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY29uc3RhbnRzJztcblxudHlwZSBQdWJsaXNoZXJNYWludGFpbmVyID0ge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xufTtcblxudHlwZSBQYWNrYWdlUmVzdWx0cyA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBzY29wZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGRhdGU6IHN0cmluZztcbiAgbGlua3M6IHtcbiAgICBucG06IHN0cmluZztcbiAgICBob21lcGFnZT86IHN0cmluZztcbiAgICByZXBvc2l0b3J5Pzogc3RyaW5nO1xuICAgIGJ1Z3M/OiBzdHJpbmc7XG4gIH07XG4gIGF1dGhvcjogeyBuYW1lOiBzdHJpbmcgfTtcbiAgcHVibGlzaGVyOiBQdWJsaXNoZXJNYWludGFpbmVyO1xuICBtYWludGFpbmVyOiBQdWJsaXNoZXJNYWludGFpbmVyO1xufTtcblxudHlwZSBTZWFyY2hSZXN1bHQgPSB7XG4gIHBhY2thZ2U6IFBhY2thZ2VSZXN1bHRzO1xuICBmbGFncz86IHsgdW5zdGFibGU6IGJvb2xlYW4gfCB2b2lkIH07XG4gIGxvY2FsPzogYm9vbGVhbjtcbiAgc2NvcmU6IHtcbiAgICBmaW5hbDogbnVtYmVyO1xuICAgIGRldGFpbDoge1xuICAgICAgcXVhbGl0eTogbnVtYmVyO1xuICAgICAgcG9wdWxhcml0eTogbnVtYmVyO1xuICAgICAgbWFpbnRlbmFuY2U6IG51bWJlcjtcbiAgICB9O1xuICB9O1xuICBzZWFyY2hTY29yZTogbnVtYmVyO1xufTtcblxudHlwZSBTZWFyY2hSZXN1bHRzID0ge1xuICBvYmplY3RzOiBTZWFyY2hSZXN1bHRbXTtcbiAgdG90YWw6IG51bWJlcjtcbiAgdGltZTogc3RyaW5nO1xufTtcblxuY29uc3QgcGVyc29uTWF0Y2ggPSAocGVyc29uLCBzZWFyY2gpID0+IHtcbiAgaWYgKHR5cGVvZiBwZXJzb24gPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBlcnNvbi5pbmNsdWRlcyhzZWFyY2gpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBwZXJzb24gPT09ICdvYmplY3QnKSB7XG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBPYmplY3QudmFsdWVzKHBlcnNvbikpIHtcbiAgICAgIGlmICh0eXBlb2YgZmllbGQgPT09ICdzdHJpbmcnICYmIGZpZWxkLmluY2x1ZGVzKHNlYXJjaCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuY29uc3QgbWF0Y2hlciA9IGZ1bmN0aW9uIChxdWVyeSkge1xuICBjb25zdCBtYXRjaCA9IHF1ZXJ5Lm1hdGNoKC9hdXRob3I6KC4qKS8pO1xuICBpZiAobWF0Y2ggIT09IG51bGwpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHBrZykge1xuICAgICAgcmV0dXJuIHBlcnNvbk1hdGNoKHBrZy5hdXRob3IsIG1hdGNoWzFdKTtcbiAgICB9O1xuICB9XG5cbiAgLy8gVE9ETzogbWFpbnRhaW5lciwga2V5d29yZHMsIGJvb3N0LWV4YWN0XG4gIC8vIFRPRE8gaW1wbGVtZW50IHNvbWUgc2NvcmluZyBzeXN0ZW0gZm9yIGZyZWV0ZXh0XG4gIHJldHVybiAocGtnKSA9PiB7XG4gICAgcmV0dXJuIFsnbmFtZScsICdkaXNwbGF5TmFtZScsICdkZXNjcmlwdGlvbiddXG4gICAgICAubWFwKChrKSA9PiB7XG4gICAgICAgIHJldHVybiBwa2dba107XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigoeCkgPT4ge1xuICAgICAgICByZXR1cm4geCAhPT0gdW5kZWZpbmVkO1xuICAgICAgfSlcbiAgICAgIC5zb21lKCh0eHQpID0+IHtcbiAgICAgICAgcmV0dXJuIHR4dC5pbmNsdWRlcyhxdWVyeSk7XG4gICAgICB9KTtcbiAgfTtcbn07XG5cbmZ1bmN0aW9uIGNvbXBpbGVUZXh0U2VhcmNoKHRleHRTZWFyY2g6IHN0cmluZyk6IChwa2c6IFBhY2thZ2VSZXN1bHRzKSA9PiBib29sZWFuIHtcbiAgY29uc3QgdGV4dE1hdGNoZXJzID0gKHRleHRTZWFyY2ggfHwgJycpLnNwbGl0KCcgJykubWFwKG1hdGNoZXIpO1xuICByZXR1cm4gKHBrZykgPT4gdGV4dE1hdGNoZXJzLmV2ZXJ5KChtKSA9PiBtKHBrZykpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVEdXBsaWNhdGVzKHJlc3VsdHMpIHtcbiAgY29uc3QgcGtnTmFtZXM6IGFueVtdID0gW107XG4gIHJldHVybiByZXN1bHRzLmZpbHRlcigocGtnKSA9PiB7XG4gICAgaWYgKHBrZ05hbWVzLmluY2x1ZGVzKHBrZz8ucGFja2FnZT8ubmFtZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcGtnTmFtZXMucHVzaChwa2c/LnBhY2thZ2U/Lm5hbWUpO1xuICAgIHJldHVybiB0cnVlO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY2hlY2tBY2Nlc3MocGtnOiBhbnksIGF1dGg6IGFueSwgcmVtb3RlVXNlcik6IFByb21pc2U8UGFja2FnZSB8IG51bGw+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBhdXRoLmFsbG93X2FjY2Vzcyh7IHBhY2thZ2VOYW1lOiBwa2c/LnBhY2thZ2U/Lm5hbWUgfSwgcmVtb3RlVXNlciwgZnVuY3Rpb24gKGVyciwgYWxsb3dlZCkge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICBpZiAoZXJyLnN0YXR1cyAmJiBTdHJpbmcoZXJyLnN0YXR1cykubWF0Y2goL140XFxkXFxkJC8pKSB7XG4gICAgICAgICAgLy8gYXV0aCBwbHVnaW4gcmV0dXJucyA0eHggdXNlciBlcnJvcixcbiAgICAgICAgICAvLyB0aGF0J3MgZXF1aXZhbGVudCBvZiAhYWxsb3dlZCBiYXNpY2FsbHlcbiAgICAgICAgICBhbGxvd2VkID0gZmFsc2U7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKGFsbG93ZWQgPyBwa2cgOiBudWxsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHNlbmRSZXNwb25zZShyZXN1bHRCdWYsIHJlc3VsdFN0cmVhbSwgYXV0aCwgcmVxLCBmcm9tOiBudW1iZXIsIHNpemU6IG51bWJlcik6IFByb21pc2U8U2VhcmNoUmVzdWx0cz4ge1xuICByZXN1bHRTdHJlYW0uZGVzdHJveSgpO1xuICBjb25zdCByZXN1bHRzQ29sbGVjdGlvbiA9IHJlc3VsdEJ1Zi5tYXAoKHBrZyk6IFNlYXJjaFJlc3VsdCA9PiB7XG4gICAgaWYgKHBrZz8ubmFtZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFja2FnZTogcGtnLFxuICAgICAgICAvLyBub3Qgc3VyZSBpZiBmbGFncyBpcyBuZWVkIGl0XG4gICAgICAgIGZsYWdzOiB7XG4gICAgICAgICAgdW5zdGFibGU6IE9iamVjdC5rZXlzKHBrZy52ZXJzaW9ucykuc29tZSgodikgPT4gc2VtdmVyLnNhdGlzZmllcyh2LCAnXjEuMC4wJykpID8gdW5kZWZpbmVkIDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgbG9jYWw6IHRydWUsXG4gICAgICAgIHNjb3JlOiB7XG4gICAgICAgICAgZmluYWw6IDEsXG4gICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICBxdWFsaXR5OiAxLFxuICAgICAgICAgICAgcG9wdWxhcml0eTogMSxcbiAgICAgICAgICAgIG1haW50ZW5hbmNlOiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNlYXJjaFNjb3JlOiAxMDAwMDAsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcGtnO1xuICAgIH1cbiAgfSk7XG4gIGNvbnN0IGNoZWNrQWNjZXNzUHJvbWlzZXM6IFNlYXJjaFJlc3VsdFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgcmVtb3ZlRHVwbGljYXRlcyhyZXN1bHRzQ29sbGVjdGlvbikubWFwKChwa2dJdGVtKSA9PiB7XG4gICAgICByZXR1cm4gY2hlY2tBY2Nlc3MocGtnSXRlbSwgYXV0aCwgcmVxLnJlbW90ZV91c2VyKTtcbiAgICB9KVxuICApO1xuXG4gIGNvbnN0IGZpbmFsOiBTZWFyY2hSZXN1bHRbXSA9IGNoZWNrQWNjZXNzUHJvbWlzZXMuZmlsdGVyKChpKSA9PiAhXy5pc051bGwoaSkpLnNsaWNlKGZyb20sIHNpemUpO1xuICBsb2dnZXIuZGVidWcoYHNlYXJjaCByZXN1bHRzICR7ZmluYWw/Lmxlbmd0aH1gKTtcblxuICBjb25zdCByZXNwb25zZTogU2VhcmNoUmVzdWx0cyA9IHtcbiAgICBvYmplY3RzOiBmaW5hbCxcbiAgICB0b3RhbDogZmluYWwubGVuZ3RoLFxuICAgIHRpbWU6IG5ldyBEYXRlKCkudG9VVENTdHJpbmcoKSxcbiAgfTtcblxuICBsb2dnZXIuZGVidWcoYHRvdGFsIHJlc3BvbnNlICR7ZmluYWwubGVuZ3RofWApO1xuICByZXR1cm4gcmVzcG9uc2U7XG59XG5cbi8qKlxuICogRW5kcG9pbnQgZm9yIG5wbSBzZWFyY2ggdjFcbiAqIHJlcTogJ0dFVCAvLS92MS9zZWFyY2g/dGV4dD1yZWFjdCZzaXplPTIwJmZyb209MCZxdWFsaXR5PTAuNjUmcG9wdWxhcml0eT0wLjk4Jm1haW50ZW5hbmNlPTAuNSdcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHJvdXRlLCBhdXRoLCBzdG9yYWdlKTogdm9pZCB7XG4gIHJvdXRlLmdldCgnLy0vdjEvc2VhcmNoJywgYXN5bmMgKHJlcSwgcmVzLCBuZXh0KSA9PiB7XG4gICAgLy8gVE9ETzogaW1wbGVtZW50IHByb3BlciByZXN1bHQgc2NvcmluZyB3ZWlnaHRlZCBieSBxdWFsaXR5LCBwb3B1bGFyaXR5IGFuZCBtYWludGVuYW5jZSBxdWVyeSBwYXJhbWV0ZXJzXG4gICAgbGV0IFt0ZXh0LCBzaXplLCBmcm9tIC8qICwgcXVhbGl0eSwgcG9wdWxhcml0eSwgbWFpbnRlbmFuY2UgKi9dID0gWyd0ZXh0JywgJ3NpemUnLCAnZnJvbScgLyogLCAncXVhbGl0eScsICdwb3B1bGFyaXR5JywgJ21haW50ZW5hbmNlJyAqL10ubWFwKChrKSA9PiByZXEucXVlcnlba10pO1xuXG4gICAgc2l6ZSA9IHBhcnNlSW50KHNpemUpIHx8IDIwO1xuICAgIGZyb20gPSBwYXJzZUludChmcm9tKSB8fCAwO1xuXG4gICAgY29uc3QgaXNJbnRlcmVzdGluZyA9IGNvbXBpbGVUZXh0U2VhcmNoKHRleHQpO1xuXG4gICAgY29uc3QgcmVzdWx0U3RyZWFtID0gc3RvcmFnZS5zZWFyY2goMCwgeyByZXEgfSk7XG4gICAgbGV0IHJlc3VsdEJ1ZiA9IFtdIGFzIGFueTtcbiAgICBsZXQgY29tcGxldGVkID0gZmFsc2U7XG5cbiAgICByZXN1bHRTdHJlYW0ub24oJ2RhdGEnLCAocGtnOiBTZWFyY2hSZXN1bHRbXSB8IFBhY2thZ2VSZXN1bHRzKSA9PiB7XG4gICAgICAvLyBwYWNrYWdlcyBmcm9tIHRoZSB1cHN0cmVhbXNcbiAgICAgIGlmIChfLmlzQXJyYXkocGtnKSkge1xuICAgICAgICByZXN1bHRCdWYgPSByZXN1bHRCdWYuY29uY2F0KFxuICAgICAgICAgIChwa2cgYXMgU2VhcmNoUmVzdWx0W10pLmZpbHRlcigocGtnSXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpc0ludGVyZXN0aW5nKHBrZ0l0ZW0/LnBhY2thZ2UpKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZyhgW3JlbW90ZV0gcGtnIG5hbWUgJHtwa2dJdGVtPy5wYWNrYWdlPy5uYW1lfWApO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHBhY2thZ2VzIGZyb20gbG9jYWxcbiAgICAgICAgLy8gZHVlIGNvbXBhYmlsaXR5IHdpdGggYC8tL2FsbGAgd2UgY2Fubm90IHJlZmFjdG9yIHN0b3JhZ2Uuc2VhcmNoKCk7XG4gICAgICAgIGlmICghaXNJbnRlcmVzdGluZyhwa2cpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxvZ2dlci5kZWJ1ZyhgW2xvY2FsXSBwa2cgbmFtZSAkeyhwa2cgYXMgUGFja2FnZVJlc3VsdHMpPy5uYW1lfWApO1xuICAgICAgICByZXN1bHRCdWYucHVzaChwa2cpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmVzdWx0U3RyZWFtLm9uKCdlcnJvcicsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGxvZ2dlci5lcnJvcignc2VhcmNoIGVuZHBvaW50IGhhcyBmYWlsZWQnKTtcbiAgICAgIHJlcy5zb2NrZXQuZGVzdHJveSgpO1xuICAgIH0pO1xuXG4gICAgcmVzdWx0U3RyZWFtLm9uKCdlbmQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBpZiAoIWNvbXBsZXRlZCkge1xuICAgICAgICBjb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc2VuZFJlc3BvbnNlKHJlc3VsdEJ1ZiwgcmVzdWx0U3RyZWFtLCBhdXRoLCByZXEsIGZyb20sIHNpemUpO1xuICAgICAgICAgIGxvZ2dlci5pbmZvKCdzZWFyY2ggZW5kcG9pbnQgb2sgcmVzdWx0cyBAe3RvdGFsfScsIHsgdG90YWw6IHJlc3BvbnNlLnRvdGFsIH0pO1xuICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuT0spLmpzb24ocmVzcG9uc2UpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoJ3NlYXJjaCBlbmRwb2ludCBoYXMgZmFpbGVkIEB7ZXJyfScsIHsgZXJyIH0pO1xuICAgICAgICAgIG5leHQoZXJyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cbiJdfQ==
216
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3NlYXJjaC50cyJdLCJuYW1lcyI6WyJwZXJzb25NYXRjaCIsInBlcnNvbiIsInNlYXJjaCIsImluY2x1ZGVzIiwiZmllbGQiLCJPYmplY3QiLCJ2YWx1ZXMiLCJtYXRjaGVyIiwicXVlcnkiLCJtYXRjaCIsInBrZyIsImF1dGhvciIsIm1hcCIsImsiLCJmaWx0ZXIiLCJ4IiwidW5kZWZpbmVkIiwic29tZSIsInR4dCIsImNvbXBpbGVUZXh0U2VhcmNoIiwidGV4dFNlYXJjaCIsInRleHRNYXRjaGVycyIsInNwbGl0IiwiZXZlcnkiLCJtIiwicmVtb3ZlRHVwbGljYXRlcyIsInJlc3VsdHMiLCJwa2dOYW1lcyIsInBhY2thZ2UiLCJuYW1lIiwicHVzaCIsImNoZWNrQWNjZXNzIiwiYXV0aCIsInJlbW90ZVVzZXIiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImFsbG93X2FjY2VzcyIsInBhY2thZ2VOYW1lIiwiZXJyIiwiYWxsb3dlZCIsInN0YXR1cyIsIlN0cmluZyIsInNlbmRSZXNwb25zZSIsInJlc3VsdEJ1ZiIsInJlc3VsdFN0cmVhbSIsInJlcSIsImZyb20iLCJzaXplIiwiZGVzdHJveSIsInJlc3VsdHNDb2xsZWN0aW9uIiwiZmxhZ3MiLCJ1bnN0YWJsZSIsImtleXMiLCJ2ZXJzaW9ucyIsInYiLCJzZW12ZXIiLCJzYXRpc2ZpZXMiLCJsb2NhbCIsInNjb3JlIiwiZmluYWwiLCJkZXRhaWwiLCJxdWFsaXR5IiwicG9wdWxhcml0eSIsIm1haW50ZW5hbmNlIiwic2VhcmNoU2NvcmUiLCJjaGVja0FjY2Vzc1Byb21pc2VzIiwiYWxsIiwicGtnSXRlbSIsInJlbW90ZV91c2VyIiwiaSIsIl8iLCJpc051bGwiLCJzbGljZSIsImxvZ2dlciIsImRlYnVnIiwibGVuZ3RoIiwicmVzcG9uc2UiLCJvYmplY3RzIiwidG90YWwiLCJ0aW1lIiwiRGF0ZSIsInRvVVRDU3RyaW5nIiwicm91dGUiLCJzdG9yYWdlIiwiZ2V0IiwicmVzIiwibmV4dCIsInRleHQiLCJwYXJzZUludCIsImlzSW50ZXJlc3RpbmciLCJjb21wbGV0ZWQiLCJvbiIsImlzQXJyYXkiLCJjb25jYXQiLCJlcnJvciIsInNvY2tldCIsImluZm8iLCJIVFRQX1NUQVRVUyIsIk9LIiwianNvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUlBOztBQUNBOzs7O0FBNkNBLE1BQU1BLFdBQVcsR0FBRyxDQUFDQyxNQUFELEVBQVNDLE1BQVQsS0FBb0I7QUFDdEMsTUFBSSxPQUFPRCxNQUFQLEtBQWtCLFFBQXRCLEVBQWdDO0FBQzlCLFdBQU9BLE1BQU0sQ0FBQ0UsUUFBUCxDQUFnQkQsTUFBaEIsQ0FBUDtBQUNEOztBQUVELE1BQUksT0FBT0QsTUFBUCxLQUFrQixRQUF0QixFQUFnQztBQUM5QixTQUFLLE1BQU1HLEtBQVgsSUFBb0JDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjTCxNQUFkLENBQXBCLEVBQTJDO0FBQ3pDLFVBQUksT0FBT0csS0FBUCxLQUFpQixRQUFqQixJQUE2QkEsS0FBSyxDQUFDRCxRQUFOLENBQWVELE1BQWYsQ0FBakMsRUFBeUQ7QUFDdkQsZUFBTyxJQUFQO0FBQ0Q7QUFDRjtBQUNGOztBQUVELFNBQU8sS0FBUDtBQUNELENBZEQ7O0FBZ0JBLE1BQU1LLE9BQU8sR0FBRyxVQUFVQyxLQUFWLEVBQWlCO0FBQy9CLFFBQU1DLEtBQUssR0FBR0QsS0FBSyxDQUFDQyxLQUFOLENBQVksYUFBWixDQUFkOztBQUNBLE1BQUlBLEtBQUssS0FBSyxJQUFkLEVBQW9CO0FBQ2xCLFdBQU8sVUFBVUMsR0FBVixFQUFlO0FBQ3BCLGFBQU9WLFdBQVcsQ0FBQ1UsR0FBRyxDQUFDQyxNQUFMLEVBQWFGLEtBQUssQ0FBQyxDQUFELENBQWxCLENBQWxCO0FBQ0QsS0FGRDtBQUdELEdBTjhCLENBUS9CO0FBQ0E7OztBQUNBLFNBQVFDLEdBQUQsSUFBUztBQUNkLFdBQU8sQ0FBQyxNQUFELEVBQVMsYUFBVCxF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RixnQkFBTWQsUUFBUSxHQUFHLE1BQU1sQyxZQUFZLENBQUNDLFNBQUQsRUFBWUMsWUFBWixFQUEwQmIsSUFBMUIsRUFBZ0NjLEdBQWhDLEVBQXFDQyxJQUFyQyxFQUEyQ0MsSUFBM0MsQ0FBbkM7O0FBQ0EwQix5QkFBT3VCLElBQVAsQ0FBWSxxQ0FBWixFQUFtRDtBQUFFbEIsWUFBQUEsS0FBSyxFQUFFRixRQUFRLENBQUNFO0FBQWxCLFdBQW5EOztBQUNBTyxVQUFBQSxHQUFHLENBQUM3QyxNQUFKLENBQVd5RCx1QkFBWUMsRUFBdkIsRUFBMkJDLElBQTNCLENBQWdDdkIsUUFBaEM7QUFDRCxTQUpELENBSUUsT0FBT3RDLEdBQVAsRUFBWTtBQUNabUMseUJBQU9xQixLQUFQLENBQWEsbUNBQWIsRUFBa0Q7QUFBRXhELFlBQUFBO0FBQUYsV0FBbEQ7O0FBQ0FnRCxVQUFBQSxJQUFJLENBQUNoRCxHQUFELENBQUo7QUFDRDtBQUNGO0FBQ0YsS0FaRDtBQWFELEdBdEREO0FBdUREIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBzZW12ZXIgZnJvbSAnc2VtdmVyJztcblxuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5cbnR5cGUgUHVibGlzaGVyTWFpbnRhaW5lciA9IHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbn07XG5cbnR5cGUgUGFja2FnZVJlc3VsdHMgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZztcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBkYXRlOiBzdHJpbmc7XG4gIGxpbmtzOiB7XG4gICAgbnBtOiBzdHJpbmc7XG4gICAgaG9tZXBhZ2U/OiBzdHJpbmc7XG4gICAgcmVwb3NpdG9yeT86IHN0cmluZztcbiAgICBidWdzPzogc3RyaW5nO1xuICB9O1xuICBhdXRob3I6IHsgbmFtZTogc3RyaW5nIH07XG4gIHB1Ymxpc2hlcjogUHVibGlzaGVyTWFpbnRhaW5lcjtcbiAgbWFpbnRhaW5lcjogUHVibGlzaGVyTWFpbnRhaW5lcjtcbn07XG5cbnR5cGUgU2VhcmNoUmVzdWx0ID0ge1xuICBwYWNrYWdlOiBQYWNrYWdlUmVzdWx0cztcbiAgZmxhZ3M/OiB7IHVuc3RhYmxlOiBib29sZWFuIHwgdm9pZCB9O1xuICBsb2NhbD86IGJvb2xlYW47XG4gIHNjb3JlOiB7XG4gICAgZmluYWw6IG51bWJlcjtcbiAgICBkZXRhaWw6IHtcbiAgICAgIHF1YWxpdHk6IG51bWJlcjtcbiAgICAgIHBvcHVsYXJpdHk6IG51bWJlcjtcbiAgICAgIG1haW50ZW5hbmNlOiBudW1iZXI7XG4gICAgfTtcbiAgfTtcbiAgc2VhcmNoU2NvcmU6IG51bWJlcjtcbn07XG5cbnR5cGUgU2VhcmNoUmVzdWx0cyA9IHtcbiAgb2JqZWN0czogU2VhcmNoUmVzdWx0W107XG4gIHRvdGFsOiBudW1iZXI7XG4gIHRpbWU6IHN0cmluZztcbn07XG5cbmNvbnN0IHBlcnNvbk1hdGNoID0gKHBlcnNvbiwgc2VhcmNoKSA9PiB7XG4gIGlmICh0eXBlb2YgcGVyc29uID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBwZXJzb24uaW5jbHVkZXMoc2VhcmNoKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcGVyc29uID09PSAnb2JqZWN0Jykge1xuICAgIGZvciAoY29uc3QgZmllbGQgb2YgT2JqZWN0LnZhbHVlcyhwZXJzb24pKSB7XG4gICAgICBpZiAodHlwZW9mIGZpZWxkID09PSAnc3RyaW5nJyAmJiBmaWVsZC5pbmNsdWRlcyhzZWFyY2gpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmNvbnN0IG1hdGNoZXIgPSBmdW5jdGlvbiAocXVlcnkpIHtcbiAgY29uc3QgbWF0Y2ggPSBxdWVyeS5tYXRjaCgvYXV0aG9yOiguKikvKTtcbiAgaWYgKG1hdGNoICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChwa2cpIHtcbiAgICAgIHJldHVybiBwZXJzb25NYXRjaChwa2cuYXV0aG9yLCBtYXRjaFsxXSk7XG4gICAgfTtcbiAgfVxuXG4gIC8vIFRPRE86IG1haW50YWluZXIsIGtleXdvcmRzLCBib29zdC1leGFjdFxuICAvLyBUT0RPIGltcGxlbWVudCBzb21lIHNjb3Jpbmcgc3lzdGVtIGZvciBmcmVldGV4dFxuICByZXR1cm4gKHBrZykgPT4ge1xuICAgIHJldHVybiBbJ25hbWUnLCAnZGlzcGxheU5hbWUnLCAnZGVzY3JpcHRpb24nXVxuICAgICAgLm1hcCgoaykgPT4ge1xuICAgICAgICByZXR1cm4gcGtnW2tdO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoKHgpID0+IHtcbiAgICAgICAgcmV0dXJuIHggIT09IHVuZGVmaW5lZDtcbiAgICAgIH0pXG4gICAgICAuc29tZSgodHh0KSA9PiB7XG4gICAgICAgIHJldHVybiB0eHQuaW5jbHVkZXMocXVlcnkpO1xuICAgICAgfSk7XG4gIH07XG59O1xuXG5mdW5jdGlvbiBjb21waWxlVGV4dFNlYXJjaCh0ZXh0U2VhcmNoOiBzdHJpbmcpOiAocGtnOiBQYWNrYWdlUmVzdWx0cykgPT4gYm9vbGVhbiB7XG4gIGNvbnN0IHRleHRNYXRjaGVycyA9ICh0ZXh0U2VhcmNoIHx8ICcnKS5zcGxpdCgnICcpLm1hcChtYXRjaGVyKTtcbiAgcmV0dXJuIChwa2cpID0+IHRleHRNYXRjaGVycy5ldmVyeSgobSkgPT4gbShwa2cpKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRHVwbGljYXRlcyhyZXN1bHRzKSB7XG4gIGNvbnN0IHBrZ05hbWVzOiBhbnlbXSA9IFtdO1xuICByZXR1cm4gcmVzdWx0cy5maWx0ZXIoKHBrZykgPT4ge1xuICAgIGlmIChwa2dOYW1lcy5pbmNsdWRlcyhwa2c/LnBhY2thZ2U/Lm5hbWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHBrZ05hbWVzLnB1c2gocGtnPy5wYWNrYWdlPy5uYW1lKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrQWNjZXNzKHBrZzogYW55LCBhdXRoOiBhbnksIHJlbW90ZVVzZXIpOiBQcm9taXNlPFBhY2thZ2UgfCBudWxsPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYXV0aC5hbGxvd19hY2Nlc3MoeyBwYWNrYWdlTmFtZTogcGtnPy5wYWNrYWdlPy5uYW1lIH0sIHJlbW90ZVVzZXIsIGZ1bmN0aW9uIChlcnIsIGFsbG93ZWQpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgaWYgKGVyci5zdGF0dXMgJiYgU3RyaW5nKGVyci5zdGF0dXMpLm1hdGNoKC9eNFxcZFxcZCQvKSkge1xuICAgICAgICAgIC8vIGF1dGggcGx1Z2luIHJldHVybnMgNHh4IHVzZXIgZXJyb3IsXG4gICAgICAgICAgLy8gdGhhdCdzIGVxdWl2YWxlbnQgb2YgIWFsbG93ZWQgYmFzaWNhbGx5XG4gICAgICAgICAgYWxsb3dlZCA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZShhbGxvd2VkID8gcGtnIDogbnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzZW5kUmVzcG9uc2UocmVzdWx0QnVmLCByZXN1bHRTdHJlYW0sIGF1dGgsIHJlcSwgZnJvbTogbnVtYmVyLCBzaXplOiBudW1iZXIpOiBQcm9taXNlPFNlYXJjaFJlc3VsdHM+IHtcbiAgcmVzdWx0U3RyZWFtLmRlc3Ryb3koKTtcbiAgY29uc3QgcmVzdWx0c0NvbGxlY3Rpb24gPSByZXN1bHRCdWYubWFwKChwa2cpOiBTZWFyY2hSZXN1bHQgPT4ge1xuICAgIGlmIChwa2c/Lm5hbWUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhY2thZ2U6IHBrZyxcbiAgICAgICAgLy8gbm90IHN1cmUgaWYgZmxhZ3MgaXMgbmVlZCBpdFxuICAgICAgICBmbGFnczoge1xuICAgICAgICAgIHVuc3RhYmxlOiBPYmplY3Qua2V5cyhwa2cudmVyc2lvbnMpLnNvbWUoKHYpID0+IHNlbXZlci5zYXRpc2ZpZXModiwgJ14xLjAuMCcpKSA/IHVuZGVmaW5lZCA6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsOiB0cnVlLFxuICAgICAgICBzY29yZToge1xuICAgICAgICAgIGZpbmFsOiAxLFxuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgcXVhbGl0eTogMSxcbiAgICAgICAgICAgIHBvcHVsYXJpdHk6IDEsXG4gICAgICAgICAgICBtYWludGVuYW5jZTogMCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzZWFyY2hTY29yZTogMTAwMDAwLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHBrZztcbiAgICB9XG4gIH0pO1xuICBjb25zdCBjaGVja0FjY2Vzc1Byb21pc2VzOiBTZWFyY2hSZXN1bHRbXSA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgIHJlbW92ZUR1cGxpY2F0ZXMocmVzdWx0c0NvbGxlY3Rpb24pLm1hcCgocGtnSXRlbSkgPT4ge1xuICAgICAgcmV0dXJuIGNoZWNrQWNjZXNzKHBrZ0l0ZW0sIGF1dGgsIHJlcS5yZW1vdGVfdXNlcik7XG4gICAgfSlcbiAgKTtcblxuICBjb25zdCBmaW5hbDogU2VhcmNoUmVzdWx0W10gPSBjaGVja0FjY2Vzc1Byb21pc2VzLmZpbHRlcigoaSkgPT4gIV8uaXNOdWxsKGkpKS5zbGljZShmcm9tLCBzaXplKTtcbiAgbG9nZ2VyLmRlYnVnKGBzZWFyY2ggcmVzdWx0cyAke2ZpbmFsPy5sZW5ndGh9YCk7XG5cbiAgY29uc3QgcmVzcG9uc2U6IFNlYXJjaFJlc3VsdHMgPSB7XG4gICAgb2JqZWN0czogZmluYWwsXG4gICAgdG90YWw6IGZpbmFsLmxlbmd0aCxcbiAgICB0aW1lOiBuZXcgRGF0ZSgpLnRvVVRDU3RyaW5nKCksXG4gIH07XG5cbiAgbG9nZ2VyLmRlYnVnKGB0b3RhbCByZXNwb25zZSAke2ZpbmFsLmxlbmd0aH1gKTtcbiAgcmV0dXJuIHJlc3BvbnNlO1xufVxuXG4vKipcbiAqIEVuZHBvaW50IGZvciBucG0gc2VhcmNoIHYxXG4gKiByZXE6ICdHRVQgLy0vdjEvc2VhcmNoP3RleHQ9cmVhY3Qmc2l6ZT0yMCZmcm9tPTAmcXVhbGl0eT0wLjY1JnBvcHVsYXJpdHk9MC45OCZtYWludGVuYW5jZT0wLjUnXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyb3V0ZSwgYXV0aCwgc3RvcmFnZSk6IHZvaWQge1xuICByb3V0ZS5nZXQoJy8tL3YxL3NlYXJjaCcsIGFzeW5jIChyZXEsIHJlcywgbmV4dCkgPT4ge1xuICAgIC8vIFRPRE86IGltcGxlbWVudCBwcm9wZXIgcmVzdWx0IHNjb3Jpbmcgd2VpZ2h0ZWQgYnkgcXVhbGl0eSwgcG9wdWxhcml0eSBhbmQgbWFpbnRlbmFuY2UgcXVlcnkgcGFyYW1ldGVyc1xuICAgIGxldCBbdGV4dCwgc2l6ZSwgZnJvbSAvKiAsIHF1YWxpdHksIHBvcHVsYXJpdHksIG1haW50ZW5hbmNlICovXSA9IFsndGV4dCcsICdzaXplJywgJ2Zyb20nIC8qICwgJ3F1YWxpdHknLCAncG9wdWxhcml0eScsICdtYWludGVuYW5jZScgKi9dLm1hcCgoaykgPT4gcmVxLnF1ZXJ5W2tdKTtcblxuICAgIHNpemUgPSBwYXJzZUludChzaXplKSB8fCAyMDtcbiAgICBmcm9tID0gcGFyc2VJbnQoZnJvbSkgfHwgMDtcblxuICAgIGNvbnN0IGlzSW50ZXJlc3RpbmcgPSBjb21waWxlVGV4dFNlYXJjaCh0ZXh0KTtcblxuICAgIGNvbnN0IHJlc3VsdFN0cmVhbSA9IHN0b3JhZ2Uuc2VhcmNoKDAsIHsgcmVxIH0pO1xuICAgIGxldCByZXN1bHRCdWYgPSBbXSBhcyBhbnk7XG4gICAgbGV0IGNvbXBsZXRlZCA9IGZhbHNlO1xuXG4gICAgcmVzdWx0U3RyZWFtLm9uKCdkYXRhJywgKHBrZzogU2VhcmNoUmVzdWx0W10gfCBQYWNrYWdlUmVzdWx0cykgPT4ge1xuICAgICAgLy8gcGFja2FnZXMgZnJvbSB0aGUgdXBzdHJlYW1zXG4gICAgICBpZiAoXy5pc0FycmF5KHBrZykpIHtcbiAgICAgICAgcmVzdWx0QnVmID0gcmVzdWx0QnVmLmNvbmNhdChcbiAgICAgICAgICAocGtnIGFzIFNlYXJjaFJlc3VsdFtdKS5maWx0ZXIoKHBrZ0l0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmICghaXNJbnRlcmVzdGluZyhwa2dJdGVtPy5wYWNrYWdlKSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb2dnZXIuZGVidWcoYFtyZW1vdGVdIHBrZyBuYW1lICR7cGtnSXRlbT8ucGFja2FnZT8ubmFtZX1gKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBwYWNrYWdlcyBmcm9tIGxvY2FsXG4gICAgICAgIC8vIGR1ZSBjb21wYWJpbGl0eSB3aXRoIGAvLS9hbGxgIHdlIGNhbm5vdCByZWZhY3RvciBzdG9yYWdlLnNlYXJjaCgpO1xuICAgICAgICBpZiAoIWlzSW50ZXJlc3RpbmcocGtnKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsb2dnZXIuZGVidWcoYFtsb2NhbF0gcGtnIG5hbWUgJHsocGtnIGFzIFBhY2thZ2VSZXN1bHRzKT8ubmFtZX1gKTtcbiAgICAgICAgcmVzdWx0QnVmLnB1c2gocGtnKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJlc3VsdFN0cmVhbS5vbignZXJyb3InLCBmdW5jdGlvbiAoKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ3NlYXJjaCBlbmRwb2ludCBoYXMgZmFpbGVkJyk7XG4gICAgICByZXMuc29ja2V0LmRlc3Ryb3koKTtcbiAgICB9KTtcblxuICAgIHJlc3VsdFN0cmVhbS5vbignZW5kJywgYXN5bmMgKCkgPT4ge1xuICAgICAgaWYgKCFjb21wbGV0ZWQpIHtcbiAgICAgICAgY29tcGxldGVkID0gdHJ1ZTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHNlbmRSZXNwb25zZShyZXN1bHRCdWYsIHJlc3VsdFN0cmVhbSwgYXV0aCwgcmVxLCBmcm9tLCBzaXplKTtcbiAgICAgICAgICBsb2dnZXIuaW5mbygnc2VhcmNoIGVuZHBvaW50IG9rIHJlc3VsdHMgQHt0b3RhbH0nLCB7IHRvdGFsOiByZXNwb25zZS50b3RhbCB9KTtcbiAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKS5qc29uKHJlc3BvbnNlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgbG9nZ2VyLmVycm9yKCdzZWFyY2ggZW5kcG9pbnQgaGFzIGZhaWxlZCBAe2Vycn0nLCB7IGVyciB9KTtcbiAgICAgICAgICBuZXh0KGVycik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG4iXX0=
@@ -5,29 +5,29 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = _default;
7
7
 
8
- var _lodash = _interopRequireDefault(require("lodash"));
9
-
10
8
  var _debug = _interopRequireDefault(require("debug"));
11
9
 
12
10
  var _express = require("express");
13
11
 
14
- var _constants = require("../../../../lib/constants");
15
-
16
- var _utils = require("../../../../lib/utils");
12
+ var _lodash = _interopRequireDefault(require("lodash"));
17
13
 
18
14
  var _authUtils = require("../../../../lib/auth-utils");
19
15
 
16
+ var _constants = require("../../../../lib/constants");
17
+
20
18
  var _cryptoUtils = require("../../../../lib/crypto-utils");
21
19
 
22
20
  var _logger = require("../../../../lib/logger");
23
21
 
22
+ var _utils = require("../../../../lib/utils");
23
+
24
24
  var _rateLimiter = require("../../../rate-limiter");
25
25
 
26
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
27
 
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; }
28
+ 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; }
29
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; }
30
+ 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
31
 
32
32
  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
33
 
@@ -175,4 +175,4 @@ function _default(auth, storage, config) {
175
175
  });
176
176
  return tokenRoute;
177
177
  }
178
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3Rva2VuLnRzIl0sIm5hbWVzIjpbImRlYnVnIiwibm9ybWFsaXplVG9rZW4iLCJ0b2tlbiIsImNyZWF0ZWQiLCJEYXRlIiwidG9JU09TdHJpbmciLCJhdXRoIiwic3RvcmFnZSIsImNvbmZpZyIsInRva2VuUm91dGUiLCJnZXQiLCJ1c2VyUmF0ZUxpbWl0IiwicmVxIiwicmVzIiwibmV4dCIsIm5hbWUiLCJyZW1vdGVfdXNlciIsIl8iLCJpc05pbCIsInRva2VucyIsInJlYWRUb2tlbnMiLCJ1c2VyIiwidG90YWxUb2tlbnMiLCJsZW5ndGgiLCJzdGF0dXMiLCJIVFRQX1NUQVRVUyIsIk9LIiwib2JqZWN0cyIsIm1hcCIsInVybHMiLCJlcnJvciIsImxvZ2dlciIsIm1zZyIsIkVycm9yQ29kZSIsImdldENvZGUiLCJJTlRFUk5BTF9FUlJPUiIsIm1lc3NhZ2UiLCJnZXRVbmF1dGhvcml6ZWQiLCJwb3N0IiwicGFzc3dvcmQiLCJyZWFkb25seSIsImNpZHJfd2hpdGVsaXN0IiwiYm9keSIsImlzQm9vbGVhbiIsImlzQXJyYXkiLCJCQURfREFUQSIsIlNVUFBPUlRfRVJST1JTIiwiUEFSQU1FVEVSU19OT1RfVkFMSUQiLCJhdXRoZW50aWNhdGUiLCJlcnIiLCJlcnJvckNvZGUiLCJVTkFVVEhPUklaRUQiLCJpc0Z1bmN0aW9uIiwic2F2ZVRva2VuIiwiTk9UX0lNUExFTUVOVEVEIiwiU1RPUkFHRV9OT1RfSU1QTEVNRU5UIiwia2V5IiwibWFza2VkVG9rZW4iLCJnZXRUaW1lIiwiY2lkciIsInNldCIsIkhFQURFUlMiLCJDQUNIRV9DT05UUk9MIiwiZGVsZXRlIiwicGFyYW1zIiwidG9rZW5LZXkiLCJkZWxldGVUb2tlbiIsImluZm8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7Ozs7Ozs7OztBQUVBLE1BQU1BLEtBQUssR0FBRyxvQkFBVyxpQkFBWCxDQUFkOztBQUtBLFNBQVNDLGNBQVQsQ0FBd0JDLEtBQXhCLEVBQXNEO0FBQ3BELHlDQUNLQSxLQURMO0FBRUVDLElBQUFBLE9BQU8sRUFBRSxJQUFJQyxJQUFKLENBQVNGLEtBQUssQ0FBQ0MsT0FBZixFQUF3QkUsV0FBeEI7QUFGWDtBQUlELEMsQ0FFRDs7O0FBQ2Usa0JBQVVDLElBQVYsRUFBdUJDLE9BQXZCLEVBQWlEQyxNQUFqRCxFQUF5RTtBQUN0RixRQUFNQyxVQUFVLEdBQUcsc0JBQW5CO0FBQTZCOztBQUM3QkEsRUFBQUEsVUFBVSxDQUFDQyxHQUFYLENBQWUsU0FBZixFQUEwQiwwQkFBUUYsTUFBUixhQUFRQSxNQUFSLHVCQUFRQSxNQUFNLENBQUVHLGFBQWhCLENBQTFCLEVBQTBELGdCQUFnQkMsR0FBaEIsRUFBcUNDLEdBQXJDLEVBQW9EQyxJQUFwRCxFQUE0RTtBQUNwSSxVQUFNO0FBQUVDLE1BQUFBO0FBQUYsUUFBV0gsR0FBRyxDQUFDSSxXQUFyQjs7QUFFQSxRQUFJQyxnQkFBRUMsS0FBRixDQUFRSCxJQUFSLE1BQWtCLEtBQXRCLEVBQTZCO0FBQzNCLFVBQUk7QUFDRixjQUFNSSxNQUFNLEdBQUcsTUFBTVosT0FBTyxDQUFDYSxVQUFSLENBQW1CO0FBQUVDLFVBQUFBLElBQUksRUFBRU47QUFBUixTQUFuQixDQUFyQjtBQUNBLGNBQU1PLFdBQVcsR0FBR0gsTUFBTSxDQUFDSSxNQUEzQjtBQUNBdkIsUUFBQUEsS0FBSyxDQUFDLDBCQUFELEVBQTZCc0IsV0FBN0IsQ0FBTDtBQUNBVCxRQUFBQSxHQUFHLENBQUNXLE1BQUosQ0FBV0MsdUJBQVlDLEVBQXZCO0FBQ0EsZUFBT1osSUFBSSxDQUFDO0FBQ1ZhLFVBQUFBLE9BQU8sRUFBRVIsTUFBTSxDQUFDUyxHQUFQLENBQVczQixjQUFYLENBREM7QUFFVjRCLFVBQUFBLElBQUksRUFBRTtBQUNKZixZQUFBQSxJQUFJLEVBQUUsRUFERixDQUNNOztBQUROO0FBRkksU0FBRCxDQUFYO0FBTUQsT0FYRCxDQVdFLE9BQU9nQixLQUFQLEVBQWM7QUFDZEMsdUJBQU9ELEtBQVAsQ0FBYTtBQUFFQSxVQUFBQSxLQUFLLEVBQUVBLEtBQUssQ0FBQ0U7QUFBZixTQUFiLEVBQW1DLGlDQUFuQzs7QUFDQSxlQUFPbEIsSUFBSSxDQUFDbUIsaUJBQVVDLE9BQVYsQ0FBa0JULHVCQUFZVSxjQUE5QixFQUE4Q0wsS0FBSyxDQUFDTSxPQUFwRCxDQUFELENBQVg7QUFDRDtBQUNGOztBQUNELFdBQU90QixJQUFJLENBQUNtQixpQkFBVUksZUFBVixFQUFELENBQVg7QUFDRCxHQXJCRDtBQXVCQTVCLEVBQUFBLFVBQVUsQ0FBQzZCLElBQVgsQ0FBZ0IsU0FBaEIsRUFBMkIsMEJBQVE5QixNQUFSLGFBQVFBLE1BQVIsdUJBQVFBLE1BQU0sQ0FBRUcsYUFBaEIsQ0FBM0IsRUFBMkQsVUFBVUMsR0FBVixFQUErQkMsR0FBL0IsRUFBOENDLElBQTlDLEVBQXNFO0FBQy9ILFVBQU07QUFBRXlCLE1BQUFBLFFBQUY7QUFBWUMsTUFBQUEsUUFBWjtBQUFzQkMsTUFBQUE7QUFBdEIsUUFBeUM3QixHQUFHLENBQUM4QixJQUFuRDtBQUNBLFVBQU07QUFBRTNCLE1BQUFBO0FBQUYsUUFBV0gsR0FBRyxDQUFDSSxXQUFyQjs7QUFFQSxRQUFJLENBQUNDLGdCQUFFMEIsU0FBRixDQUFZSCxRQUFaLENBQUQsSUFBMEIsQ0FBQ3ZCLGdCQUFFMkIsT0FBRixDQUFVSCxjQUFWLENBQS9CLEVBQTBEO0FBQ3hELGFBQU8zQixJQUFJLENBQUNtQixpQkFBVUMsT0FBVixDQUFrQlQsdUJBQVlvQixRQUE5QixFQUF3Q0MsMEJBQWVDLG9CQUF2RCxDQUFELENBQVg7QUFDRDs7QUFFRHpDLElBQUFBLElBQUksQ0FBQzBDLFlBQUwsQ0FBa0JqQyxJQUFsQixFQUF3QndCLFFBQXhCLEVBQWtDLE9BQU9VLEdBQVAsRUFBWTVCLElBQVosS0FBaUM7QUFDakUsVUFBSTRCLEdBQUosRUFBUztBQUNQLGNBQU1DLFNBQVMsR0FBR0QsR0FBRyxDQUFDYixPQUFKLEdBQWNYLHVCQUFZMEIsWUFBMUIsR0FBeUMxQix1QkFBWVUsY0FBdkU7QUFDQSxlQUFPckIsSUFBSSxDQUFDbUIsaUJBQVVDLE9BQVYsQ0FBa0JnQixTQUFsQixFQUE2QkQsR0FBRyxDQUFDYixPQUFqQyxDQUFELENBQVg7QUFDRDs7QUFFRHhCLE1BQUFBLEdBQUcsQ0FBQ0ksV0FBSixHQUFrQkssSUFBbEI7O0FBRUEsVUFBSSxDQUFDSixnQkFBRW1DLFVBQUYsQ0FBYTdDLE9BQU8sQ0FBQzhDLFNBQXJCLENBQUwsRUFBc0M7QUFDcEMsZUFBT3ZDLElBQUksQ0FBQ21CLGlCQUFVQyxPQUFWLENBQWtCVCx1QkFBWTZCLGVBQTlCLEVBQStDUiwwQkFBZVMscUJBQTlELENBQUQsQ0FBWDtBQUNEOztBQUVELFVBQUk7QUFDRixjQUFNckQsS0FBSyxHQUFHLE1BQU0sNEJBQVlJLElBQVosRUFBa0JFLE1BQWxCLEVBQTBCYSxJQUExQixFQUFnQ2tCLFFBQWhDLENBQXBCO0FBQ0EsY0FBTWlCLEdBQUcsR0FBRyw4QkFBWXRELEtBQVosQ0FBWixDQUZFLENBR0Y7O0FBQ0EsY0FBTXVELFdBQVcsR0FBRyxpQkFBS3ZELEtBQUwsRUFBWSxDQUFaLENBQXBCO0FBQ0EsY0FBTUMsT0FBTyxHQUFHLElBQUlDLElBQUosR0FBV3NELE9BQVgsRUFBaEI7QUFFQTtBQUNSO0FBQ0E7QUFDQTs7QUFDUSxjQUFNTCxTQUFnQixHQUFHO0FBQ3ZCaEMsVUFBQUEsSUFBSSxFQUFFTixJQURpQjtBQUV2QmIsVUFBQUEsS0FBSyxFQUFFdUQsV0FGZ0I7QUFHdkJELFVBQUFBLEdBSHVCO0FBSXZCRyxVQUFBQSxJQUFJLEVBQUVsQixjQUppQjtBQUt2QkQsVUFBQUEsUUFMdUI7QUFNdkJyQyxVQUFBQTtBQU51QixTQUF6QjtBQVNBLGNBQU1JLE9BQU8sQ0FBQzhDLFNBQVIsQ0FBa0JBLFNBQWxCLENBQU47QUFDQXJELFFBQUFBLEtBQUssQ0FBQyxrQ0FBRCxFQUFxQ3dELEdBQXJDLEVBQTBDekMsSUFBMUMsQ0FBTDtBQUNBRixRQUFBQSxHQUFHLENBQUMrQyxHQUFKLENBQVFDLG1CQUFRQyxhQUFoQixFQUErQixvQkFBL0I7QUFDQSxlQUFPaEQsSUFBSSxDQUNUYixjQUFjLENBQUM7QUFDYkMsVUFBQUEsS0FEYTtBQUVibUIsVUFBQUEsSUFBSSxFQUFFTixJQUZPO0FBR2J5QyxVQUFBQSxHQUFHLEVBQUVILFNBQVMsQ0FBQ0csR0FIRjtBQUliRyxVQUFBQSxJQUFJLEVBQUVsQixjQUpPO0FBS2JELFVBQUFBLFFBTGE7QUFNYnJDLFVBQUFBLE9BQU8sRUFBRWtELFNBQVMsQ0FBQ2xEO0FBTk4sU0FBRCxDQURMLENBQVg7QUFVRCxPQWpDRCxDQWlDRSxPQUFPMkIsS0FBUCxFQUFjO0FBQ2RDLHVCQUFPRCxLQUFQLENBQWE7QUFBRUEsVUFBQUEsS0FBSyxFQUFFQSxLQUFLLENBQUNFO0FBQWYsU0FBYixFQUFtQyxxQ0FBbkM7O0FBQ0EsZUFBT2xCLElBQUksQ0FBQ21CLGlCQUFVQyxPQUFWLENBQWtCVCx1QkFBWVUsY0FBOUIsRUFBOENMLEtBQUssQ0FBQ00sT0FBcEQsQ0FBRCxDQUFYO0FBQ0Q7QUFDRixLQWpERDtBQWtERCxHQTFERDtBQTREQTNCLEVBQUFBLFVBQVUsQ0FBQ3NELE1BQVgsQ0FBa0IseUJBQWxCLEVBQTZDLDBCQUFRdkQsTUFBUixhQUFRQSxNQUFSLHVCQUFRQSxNQUFNLENBQUVHLGFBQWhCLENBQTdDLEVBQTZFLE9BQU9DLEdBQVAsRUFBNEJDLEdBQTVCLEVBQTJDQyxJQUEzQyxLQUFzRTtBQUNqSixVQUFNO0FBQ0prRCxNQUFBQSxNQUFNLEVBQUU7QUFBRUMsUUFBQUE7QUFBRjtBQURKLFFBRUZyRCxHQUZKO0FBR0EsVUFBTTtBQUFFRyxNQUFBQTtBQUFGLFFBQVdILEdBQUcsQ0FBQ0ksV0FBckI7O0FBRUEsUUFBSUMsZ0JBQUVDLEtBQUYsQ0FBUUgsSUFBUixNQUFrQixLQUF0QixFQUE2QjtBQUMzQmYsTUFBQUEsS0FBSyxDQUFDLGlDQUFELEVBQW9DZSxJQUFwQyxDQUFMOztBQUNBLFVBQUk7QUFDRixjQUFNUixPQUFPLENBQUMyRCxXQUFSLENBQW9CbkQsSUFBcEIsRUFBMEJrRCxRQUExQixDQUFOOztBQUNBbEMsdUJBQU9vQyxJQUFQLENBQVk7QUFBRUYsVUFBQUEsUUFBRjtBQUFZbEQsVUFBQUE7QUFBWixTQUFaLEVBQWdDLG1EQUFoQzs7QUFDQSxlQUFPRCxJQUFJLENBQUMsRUFBRCxDQUFYO0FBQ0QsT0FKRCxDQUlFLE9BQU9nQixLQUFQLEVBQWM7QUFDZEMsdUJBQU9ELEtBQVAsQ0FBYTtBQUFFQSxVQUFBQSxLQUFLLEVBQUVBLEtBQUssQ0FBQ0U7QUFBZixTQUFiLEVBQW1DLHFDQUFuQzs7QUFDQSxlQUFPbEIsSUFBSSxDQUFDbUIsaUJBQVVDLE9BQVYsQ0FBa0JULHVCQUFZVSxjQUE5QixFQUE4Q0wsS0FBSyxDQUFDTSxPQUFwRCxDQUFELENBQVg7QUFDRDtBQUNGOztBQUNELFdBQU90QixJQUFJLENBQUNtQixpQkFBVUksZUFBVixFQUFELENBQVg7QUFDRCxHQWxCRDtBQW9CQSxTQUFPNUIsVUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IENvbmZpZywgUmVtb3RlVXNlciwgVG9rZW4gfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7IEhFQURFUlMsIEhUVFBfU1RBVFVTLCBTVVBQT1JUX0VSUk9SUyB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBtYXNrIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IGdldEFwaVRva2VuIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2F1dGgtdXRpbHMnO1xuaW1wb3J0IHsgc3RyaW5nVG9NRDUgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY3J5cHRvLXV0aWxzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuXG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgSUF1dGgsIElTdG9yYWdlSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGxpbWl0ZXIgfSBmcm9tICcuLi8uLi8uLi9yYXRlLWxpbWl0ZXInO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ3ZlcmRhY2Npbzp0b2tlbicpO1xuZXhwb3J0IHR5cGUgTm9ybWFsaXplVG9rZW4gPSBUb2tlbiAmIHtcbiAgY3JlYXRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gbm9ybWFsaXplVG9rZW4odG9rZW46IFRva2VuKTogTm9ybWFsaXplVG9rZW4ge1xuICByZXR1cm4ge1xuICAgIC4uLnRva2VuLFxuICAgIGNyZWF0ZWQ6IG5ldyBEYXRlKHRva2VuLmNyZWF0ZWQpLnRvSVNPU3RyaW5nKCksXG4gIH07XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ucG0vbnBtLXByb2ZpbGUvYmxvYi9sYXRlc3QvbGliL2luZGV4LmpzXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoYXV0aDogSUF1dGgsIHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlciwgY29uZmlnOiBDb25maWcpOiBSb3V0ZXIge1xuICBjb25zdCB0b2tlblJvdXRlID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG4gIHRva2VuUm91dGUuZ2V0KCcvdG9rZW5zJywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpLCBhc3luYyBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgaWYgKF8uaXNOaWwobmFtZSkgPT09IGZhbHNlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0b2tlbnMgPSBhd2FpdCBzdG9yYWdlLnJlYWRUb2tlbnMoeyB1c2VyOiBuYW1lIH0pO1xuICAgICAgICBjb25zdCB0b3RhbFRva2VucyA9IHRva2Vucy5sZW5ndGg7XG4gICAgICAgIGRlYnVnKCd0b2tlbiBsaXN0IHJldHJpZXZlZDogJW8nLCB0b3RhbFRva2Vucyk7XG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuT0spO1xuICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgb2JqZWN0czogdG9rZW5zLm1hcChub3JtYWxpemVUb2tlbiksXG4gICAgICAgICAgdXJsczoge1xuICAgICAgICAgICAgbmV4dDogJycsIC8vIFRPRE86IHBhZ2luYXRpb24/XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBsaXN0IGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gIH0pO1xuXG4gIHRva2VuUm91dGUucG9zdCgnL3Rva2VucycsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICBjb25zdCB7IHBhc3N3b3JkLCByZWFkb25seSwgY2lkcl93aGl0ZWxpc3QgfSA9IHJlcS5ib2R5O1xuICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgaWYgKCFfLmlzQm9vbGVhbihyZWFkb25seSkgfHwgIV8uaXNBcnJheShjaWRyX3doaXRlbGlzdCkpIHtcbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLkJBRF9EQVRBLCBTVVBQT1JUX0VSUk9SUy5QQVJBTUVURVJTX05PVF9WQUxJRCkpO1xuICAgIH1cblxuICAgIGF1dGguYXV0aGVudGljYXRlKG5hbWUsIHBhc3N3b3JkLCBhc3luYyAoZXJyLCB1c2VyOiBSZW1vdGVVc2VyKSA9PiB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIGNvbnN0IGVycm9yQ29kZSA9IGVyci5tZXNzYWdlID8gSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEIDogSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1I7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKGVycm9yQ29kZSwgZXJyLm1lc3NhZ2UpKTtcbiAgICAgIH1cblxuICAgICAgcmVxLnJlbW90ZV91c2VyID0gdXNlcjtcblxuICAgICAgaWYgKCFfLmlzRnVuY3Rpb24oc3RvcmFnZS5zYXZlVG9rZW4pKSB7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLk5PVF9JTVBMRU1FTlRFRCwgU1VQUE9SVF9FUlJPUlMuU1RPUkFHRV9OT1RfSU1QTEVNRU5UKSk7XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgZ2V0QXBpVG9rZW4oYXV0aCwgY29uZmlnLCB1c2VyLCBwYXNzd29yZCk7XG4gICAgICAgIGNvbnN0IGtleSA9IHN0cmluZ1RvTUQ1KHRva2VuKTtcbiAgICAgICAgLy8gVE9ETzogdXNlIGEgdXRpbGl0eSBoZXJlXG4gICAgICAgIGNvbnN0IG1hc2tlZFRva2VuID0gbWFzayh0b2tlbiwgNSk7XG4gICAgICAgIGNvbnN0IGNyZWF0ZWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogY2lkcl93aGl0ZWxpc3Q6IGlzIG5vdCBiZWluZyB1c2VkLCB3ZSBwYXNzIGl0IHRocm91Z2hcbiAgICAgICAgICogdG9rZW46IHdlIGRvIG5vdCBzdG9yZSB0aGUgcmVhbCB0b2tlbiAoaXQgaXMgZ2VuZXJhdGVkIG9uY2UgYW5kIHJldHJpZXZlZCB0byB0aGUgdXNlciksIGp1c3QgYSBtYXNrIG9mIGl0LlxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3Qgc2F2ZVRva2VuOiBUb2tlbiA9IHtcbiAgICAgICAgICB1c2VyOiBuYW1lLFxuICAgICAgICAgIHRva2VuOiBtYXNrZWRUb2tlbixcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgY2lkcjogY2lkcl93aGl0ZWxpc3QsXG4gICAgICAgICAgcmVhZG9ubHksXG4gICAgICAgICAgY3JlYXRlZCxcbiAgICAgICAgfTtcblxuICAgICAgICBhd2FpdCBzdG9yYWdlLnNhdmVUb2tlbihzYXZlVG9rZW4pO1xuICAgICAgICBkZWJ1ZygndG9rZW4gJW8gd2FzIGNyZWF0ZWQgZm9yIHVzZXIgJW8nLCBrZXksIG5hbWUpO1xuICAgICAgICByZXMuc2V0KEhFQURFUlMuQ0FDSEVfQ09OVFJPTCwgJ25vLWNhY2hlLCBuby1zdG9yZScpO1xuICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICBub3JtYWxpemVUb2tlbih7XG4gICAgICAgICAgICB0b2tlbixcbiAgICAgICAgICAgIHVzZXI6IG5hbWUsXG4gICAgICAgICAgICBrZXk6IHNhdmVUb2tlbi5rZXksXG4gICAgICAgICAgICBjaWRyOiBjaWRyX3doaXRlbGlzdCxcbiAgICAgICAgICAgIHJlYWRvbmx5LFxuICAgICAgICAgICAgY3JlYXRlZDogc2F2ZVRva2VuLmNyZWF0ZWQsXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnJvci5tc2cgfSwgJ3Rva2VuIGNyZWF0aW9uIGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIHRva2VuUm91dGUuZGVsZXRlKCcvdG9rZW5zL3Rva2VuLzp0b2tlbktleScsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgYXN5bmMgKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBwYXJhbXM6IHsgdG9rZW5LZXkgfSxcbiAgICB9ID0gcmVxO1xuICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgaWYgKF8uaXNOaWwobmFtZSkgPT09IGZhbHNlKSB7XG4gICAgICBkZWJ1ZygnJW8gaGFzIHJlcXVlc3RlZCByZW1vdmUgYSB0b2tlbicsIG5hbWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgc3RvcmFnZS5kZWxldGVUb2tlbihuYW1lLCB0b2tlbktleSk7XG4gICAgICAgIGxvZ2dlci5pbmZvKHsgdG9rZW5LZXksIG5hbWUgfSwgJ3Rva2VuIGlkIEB7dG9rZW5LZXl9IHdhcyByZXZva2VkIGZvciB1c2VyIEB7bmFtZX0nKTtcbiAgICAgICAgcmV0dXJuIG5leHQoe30pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgbG9nZ2VyLmVycm9yKHsgZXJyb3I6IGVycm9yLm1zZyB9LCAndG9rZW4gY3JlYXRpb24gaGFzIGZhaWxlZDogQHtlcnJvcn0nKTtcbiAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IsIGVycm9yLm1lc3NhZ2UpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldFVuYXV0aG9yaXplZCgpKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRva2VuUm91dGU7XG59XG4iXX0=
178
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3Rva2VuLnRzIl0sIm5hbWVzIjpbImRlYnVnIiwibm9ybWFsaXplVG9rZW4iLCJ0b2tlbiIsImNyZWF0ZWQiLCJEYXRlIiwidG9JU09TdHJpbmciLCJhdXRoIiwic3RvcmFnZSIsImNvbmZpZyIsInRva2VuUm91dGUiLCJnZXQiLCJ1c2VyUmF0ZUxpbWl0IiwicmVxIiwicmVzIiwibmV4dCIsIm5hbWUiLCJyZW1vdGVfdXNlciIsIl8iLCJpc05pbCIsInRva2VucyIsInJlYWRUb2tlbnMiLCJ1c2VyIiwidG90YWxUb2tlbnMiLCJsZW5ndGgiLCJzdGF0dXMiLCJIVFRQX1NUQVRVUyIsIk9LIiwib2JqZWN0cyIsIm1hcCIsInVybHMiLCJlcnJvciIsImxvZ2dlciIsIm1zZyIsIkVycm9yQ29kZSIsImdldENvZGUiLCJJTlRFUk5BTF9FUlJPUiIsIm1lc3NhZ2UiLCJnZXRVbmF1dGhvcml6ZWQiLCJwb3N0IiwicGFzc3dvcmQiLCJyZWFkb25seSIsImNpZHJfd2hpdGVsaXN0IiwiYm9keSIsImlzQm9vbGVhbiIsImlzQXJyYXkiLCJCQURfREFUQSIsIlNVUFBPUlRfRVJST1JTIiwiUEFSQU1FVEVSU19OT1RfVkFMSUQiLCJhdXRoZW50aWNhdGUiLCJlcnIiLCJlcnJvckNvZGUiLCJVTkFVVEhPUklaRUQiLCJpc0Z1bmN0aW9uIiwic2F2ZVRva2VuIiwiTk9UX0lNUExFTUVOVEVEIiwiU1RPUkFHRV9OT1RfSU1QTEVNRU5UIiwia2V5IiwibWFza2VkVG9rZW4iLCJnZXRUaW1lIiwiY2lkciIsInNldCIsIkhFQURFUlMiLCJDQUNIRV9DT05UUk9MIiwiZGVsZXRlIiwicGFyYW1zIiwidG9rZW5LZXkiLCJkZWxldGVUb2tlbiIsImluZm8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFLQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVB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RixjQUFNUixPQUFPLENBQUMyRCxXQUFSLENBQW9CbkQsSUFBcEIsRUFBMEJrRCxRQUExQixDQUFOOztBQUNBbEMsdUJBQU9vQyxJQUFQLENBQVk7QUFBRUYsVUFBQUEsUUFBRjtBQUFZbEQsVUFBQUE7QUFBWixTQUFaLEVBQWdDLG1EQUFoQzs7QUFDQSxlQUFPRCxJQUFJLENBQUMsRUFBRCxDQUFYO0FBQ0QsT0FKRCxDQUlFLE9BQU9nQixLQUFQLEVBQWM7QUFDZEMsdUJBQU9ELEtBQVAsQ0FBYTtBQUFFQSxVQUFBQSxLQUFLLEVBQUVBLEtBQUssQ0FBQ0U7QUFBZixTQUFiLEVBQW1DLHFDQUFuQzs7QUFDQSxlQUFPbEIsSUFBSSxDQUFDbUIsaUJBQVVDLE9BQVYsQ0FBa0JULHVCQUFZVSxjQUE5QixFQUE4Q0wsS0FBSyxDQUFDTSxPQUFwRCxDQUFELENBQVg7QUFDRDtBQUNGOztBQUNELFdBQU90QixJQUFJLENBQUNtQixpQkFBVUksZUFBVixFQUFELENBQVg7QUFDRCxHQWxCRDtBQW9CQSxTQUFPNUIsVUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJ1aWxkRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgQ29uZmlnLCBSZW1vdGVVc2VyLCBUb2tlbiB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgSUF1dGgsIElTdG9yYWdlSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGdldEFwaVRva2VuIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2F1dGgtdXRpbHMnO1xuaW1wb3J0IHsgSEVBREVSUywgSFRUUF9TVEFUVVMsIFNVUFBPUlRfRVJST1JTIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBzdHJpbmdUb01ENSB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9jcnlwdG8tdXRpbHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBFcnJvckNvZGUsIG1hc2sgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgbGltaXRlciB9IGZyb20gJy4uLy4uLy4uL3JhdGUtbGltaXRlcic7XG5cbmNvbnN0IGRlYnVnID0gYnVpbGREZWJ1ZygndmVyZGFjY2lvOnRva2VuJyk7XG5leHBvcnQgdHlwZSBOb3JtYWxpemVUb2tlbiA9IFRva2VuICYge1xuICBjcmVhdGVkOiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBub3JtYWxpemVUb2tlbih0b2tlbjogVG9rZW4pOiBOb3JtYWxpemVUb2tlbiB7XG4gIHJldHVybiB7XG4gICAgLi4udG9rZW4sXG4gICAgY3JlYXRlZDogbmV3IERhdGUodG9rZW4uY3JlYXRlZCkudG9JU09TdHJpbmcoKSxcbiAgfTtcbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL25wbS9ucG0tcHJvZmlsZS9ibG9iL2xhdGVzdC9saWIvaW5kZXguanNcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChhdXRoOiBJQXV0aCwgc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyLCBjb25maWc6IENvbmZpZyk6IFJvdXRlciB7XG4gIGNvbnN0IHRva2VuUm91dGUgPSBSb3V0ZXIoKTsgLyogZXNsaW50IG5ldy1jYXA6IDAgKi9cbiAgdG9rZW5Sb3V0ZS5nZXQoJy90b2tlbnMnLCBsaW1pdGVyKGNvbmZpZz8udXNlclJhdGVMaW1pdCksIGFzeW5jIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKSB7XG4gICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICBpZiAoXy5pc05pbChuYW1lKSA9PT0gZmFsc2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRva2VucyA9IGF3YWl0IHN0b3JhZ2UucmVhZFRva2Vucyh7IHVzZXI6IG5hbWUgfSk7XG4gICAgICAgIGNvbnN0IHRvdGFsVG9rZW5zID0gdG9rZW5zLmxlbmd0aDtcbiAgICAgICAgZGVidWcoJ3Rva2VuIGxpc3QgcmV0cmlldmVkOiAlbycsIHRvdGFsVG9rZW5zKTtcbiAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5PSyk7XG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBvYmplY3RzOiB0b2tlbnMubWFwKG5vcm1hbGl6ZVRva2VuKSxcbiAgICAgICAgICB1cmxzOiB7XG4gICAgICAgICAgICBuZXh0OiAnJywgLy8gVE9ETzogcGFnaW5hdGlvbj9cbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnJvci5tc2cgfSwgJ3Rva2VuIGxpc3QgaGFzIGZhaWxlZDogQHtlcnJvcn0nKTtcbiAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IsIGVycm9yLm1lc3NhZ2UpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldFVuYXV0aG9yaXplZCgpKTtcbiAgfSk7XG5cbiAgdG9rZW5Sb3V0ZS5wb3N0KCcvdG9rZW5zJywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgIGNvbnN0IHsgcGFzc3dvcmQsIHJlYWRvbmx5LCBjaWRyX3doaXRlbGlzdCB9ID0gcmVxLmJvZHk7XG4gICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICBpZiAoIV8uaXNCb29sZWFuKHJlYWRvbmx5KSB8fCAhXy5pc0FycmF5KGNpZHJfd2hpdGVsaXN0KSkge1xuICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuQkFEX0RBVEEsIFNVUFBPUlRfRVJST1JTLlBBUkFNRVRFUlNfTk9UX1ZBTElEKSk7XG4gICAgfVxuXG4gICAgYXV0aC5hdXRoZW50aWNhdGUobmFtZSwgcGFzc3dvcmQsIGFzeW5jIChlcnIsIHVzZXI6IFJlbW90ZVVzZXIpID0+IHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgY29uc3QgZXJyb3JDb2RlID0gZXJyLm1lc3NhZ2UgPyBIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQgOiBIVFRQX1NUQVRVUy5JTlRFUk5BTF9FUlJPUjtcbiAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoZXJyb3JDb2RlLCBlcnIubWVzc2FnZSkpO1xuICAgICAgfVxuXG4gICAgICByZXEucmVtb3RlX3VzZXIgPSB1c2VyO1xuXG4gICAgICBpZiAoIV8uaXNGdW5jdGlvbihzdG9yYWdlLnNhdmVUb2tlbikpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuTk9UX0lNUExFTUVOVEVELCBTVVBQT1JUX0VSUk9SUy5TVE9SQUdFX05PVF9JTVBMRU1FTlQpKTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCBnZXRBcGlUb2tlbihhdXRoLCBjb25maWcsIHVzZXIsIHBhc3N3b3JkKTtcbiAgICAgICAgY29uc3Qga2V5ID0gc3RyaW5nVG9NRDUodG9rZW4pO1xuICAgICAgICAvLyBUT0RPOiB1c2UgYSB1dGlsaXR5IGhlcmVcbiAgICAgICAgY29uc3QgbWFza2VkVG9rZW4gPSBtYXNrKHRva2VuLCA1KTtcbiAgICAgICAgY29uc3QgY3JlYXRlZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBjaWRyX3doaXRlbGlzdDogaXMgbm90IGJlaW5nIHVzZWQsIHdlIHBhc3MgaXQgdGhyb3VnaFxuICAgICAgICAgKiB0b2tlbjogd2UgZG8gbm90IHN0b3JlIHRoZSByZWFsIHRva2VuIChpdCBpcyBnZW5lcmF0ZWQgb25jZSBhbmQgcmV0cmlldmVkIHRvIHRoZSB1c2VyKSwganVzdCBhIG1hc2sgb2YgaXQuXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBzYXZlVG9rZW46IFRva2VuID0ge1xuICAgICAgICAgIHVzZXI6IG5hbWUsXG4gICAgICAgICAgdG9rZW46IG1hc2tlZFRva2VuLFxuICAgICAgICAgIGtleSxcbiAgICAgICAgICBjaWRyOiBjaWRyX3doaXRlbGlzdCxcbiAgICAgICAgICByZWFkb25seSxcbiAgICAgICAgICBjcmVhdGVkLFxuICAgICAgICB9O1xuXG4gICAgICAgIGF3YWl0IHN0b3JhZ2Uuc2F2ZVRva2VuKHNhdmVUb2tlbik7XG4gICAgICAgIGRlYnVnKCd0b2tlbiAlbyB3YXMgY3JlYXRlZCBmb3IgdXNlciAlbycsIGtleSwgbmFtZSk7XG4gICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgIHJldHVybiBuZXh0KFxuICAgICAgICAgIG5vcm1hbGl6ZVRva2VuKHtcbiAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgdXNlcjogbmFtZSxcbiAgICAgICAgICAgIGtleTogc2F2ZVRva2VuLmtleSxcbiAgICAgICAgICAgIGNpZHI6IGNpZHJfd2hpdGVsaXN0LFxuICAgICAgICAgICAgcmVhZG9ubHksXG4gICAgICAgICAgICBjcmVhdGVkOiBzYXZlVG9rZW4uY3JlYXRlZCxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgbG9nZ2VyLmVycm9yKHsgZXJyb3I6IGVycm9yLm1zZyB9LCAndG9rZW4gY3JlYXRpb24gaGFzIGZhaWxlZDogQHtlcnJvcn0nKTtcbiAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IsIGVycm9yLm1lc3NhZ2UpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgdG9rZW5Sb3V0ZS5kZWxldGUoJy90b2tlbnMvdG9rZW4vOnRva2VuS2V5JywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpLCBhc3luYyAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHBhcmFtczogeyB0b2tlbktleSB9LFxuICAgIH0gPSByZXE7XG4gICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICBpZiAoXy5pc05pbChuYW1lKSA9PT0gZmFsc2UpIHtcbiAgICAgIGRlYnVnKCclbyBoYXMgcmVxdWVzdGVkIHJlbW92ZSBhIHRva2VuJywgbmFtZSk7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBzdG9yYWdlLmRlbGV0ZVRva2VuKG5hbWUsIHRva2VuS2V5KTtcbiAgICAgICAgbG9nZ2VyLmluZm8oeyB0b2tlbktleSwgbmFtZSB9LCAndG9rZW4gaWQgQHt0b2tlbktleX0gd2FzIHJldm9rZWQgZm9yIHVzZXIgQHtuYW1lfScpO1xuICAgICAgICByZXR1cm4gbmV4dCh7fSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5JTlRFUk5BTF9FUlJPUiwgZXJyb3IubWVzc2FnZSkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0VW5hdXRob3JpemVkKCkpO1xuICB9KTtcblxuICByZXR1cm4gdG9rZW5Sb3V0ZTtcbn1cbiJdfQ==
@@ -21,4 +21,4 @@ function _default(route) {
21
21
  });
22
22
  });
23
23
  }
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3dob2FtaS50cyJdLCJuYW1lcyI6WyJyb3V0ZSIsImdldCIsInJlcSIsInJlcyIsIm5leHQiLCJ1c2VybmFtZSIsInJlbW90ZV91c2VyIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdlLGtCQUFVQSxLQUFWLEVBQStCO0FBQzVDQSxFQUFBQSxLQUFLLENBQUNDLEdBQU4sQ0FBVSxTQUFWLEVBQXFCLENBQUNDLEdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDQyxJQUFyQyxLQUFzRTtBQUN6RixRQUFJRixHQUFHLENBQUNELEdBQUosQ0FBUSxTQUFSLE1BQXVCLFFBQTNCLEVBQXFDO0FBQ25DRyxNQUFBQSxJQUFJLENBQUM7QUFBRUMsUUFBQUEsUUFBUSxFQUFFSCxHQUFHLENBQUNJLFdBQUosQ0FBZ0JDO0FBQTVCLE9BQUQsQ0FBSjtBQUNELEtBRkQsTUFFTztBQUNMSCxNQUFBQSxJQUFJLENBQUMsT0FBRCxDQUFKO0FBQ0Q7QUFDRixHQU5EO0FBUUFKLEVBQUFBLEtBQUssQ0FBQ0MsR0FBTixDQUFVLFdBQVYsRUFBdUIsQ0FBQ0MsR0FBRCxFQUFzQkMsR0FBdEIsRUFBcUNDLElBQXJDLEtBQXFFO0FBQzFGQSxJQUFBQSxJQUFJLENBQUM7QUFBRUMsTUFBQUEsUUFBUSxFQUFFSCxHQUFHLENBQUNJLFdBQUosQ0FBZ0JDO0FBQTVCLEtBQUQsQ0FBSjtBQUNELEdBRkQ7QUFHRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7ICRSZXF1ZXN0RXh0ZW5kLCAkTmV4dEZ1bmN0aW9uVmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGU6IFJvdXRlcik6IHZvaWQge1xuICByb3V0ZS5nZXQoJy93aG9hbWknLCAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQgPT4ge1xuICAgIGlmIChyZXEuZ2V0KCdyZWZlcmVyJykgPT09ICd3aG9hbWknKSB7XG4gICAgICBuZXh0KHsgdXNlcm5hbWU6IHJlcS5yZW1vdGVfdXNlci5uYW1lIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXh0KCdyb3V0ZScpO1xuICAgIH1cbiAgfSk7XG5cbiAgcm91dGUuZ2V0KCcvLS93aG9hbWknLCAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IGFueSA9PiB7XG4gICAgbmV4dCh7IHVzZXJuYW1lOiByZXEucmVtb3RlX3VzZXIubmFtZSB9KTtcbiAgfSk7XG59XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3dob2FtaS50cyJdLCJuYW1lcyI6WyJyb3V0ZSIsImdldCIsInJlcSIsInJlcyIsIm5leHQiLCJ1c2VybmFtZSIsInJlbW90ZV91c2VyIiwibmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUllLGtCQUFVQSxLQUFWLEVBQStCO0FBQzVDQSxFQUFBQSxLQUFLLENBQUNDLEdBQU4sQ0FBVSxTQUFWLEVBQXFCLENBQUNDLEdBQUQsRUFBc0JDLEdBQXRCLEVBQXFDQyxJQUFyQyxLQUFzRTtBQUN6RixRQUFJRixHQUFHLENBQUNELEdBQUosQ0FBUSxTQUFSLE1BQXVCLFFBQTNCLEVBQXFDO0FBQ25DRyxNQUFBQSxJQUFJLENBQUM7QUFBRUMsUUFBQUEsUUFBUSxFQUFFSCxHQUFHLENBQUNJLFdBQUosQ0FBZ0JDO0FBQTVCLE9BQUQsQ0FBSjtBQUNELEtBRkQsTUFFTztBQUNMSCxNQUFBQSxJQUFJLENBQUMsT0FBRCxDQUFKO0FBQ0Q7QUFDRixHQU5EO0FBUUFKLEVBQUFBLEtBQUssQ0FBQ0MsR0FBTixDQUFVLFdBQVYsRUFBdUIsQ0FBQ0MsR0FBRCxFQUFzQkMsR0FBdEIsRUFBcUNDLElBQXJDLEtBQXFFO0FBQzFGQSxJQUFBQSxJQUFJLENBQUM7QUFBRUMsTUFBQUEsUUFBUSxFQUFFSCxHQUFHLENBQUNJLFdBQUosQ0FBZ0JDO0FBQTVCLEtBQUQsQ0FBSjtBQUNELEdBRkQ7QUFHRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcblxuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyb3V0ZTogUm91dGVyKTogdm9pZCB7XG4gIHJvdXRlLmdldCgnL3dob2FtaScsIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCA9PiB7XG4gICAgaWYgKHJlcS5nZXQoJ3JlZmVyZXInKSA9PT0gJ3dob2FtaScpIHtcbiAgICAgIG5leHQoeyB1c2VybmFtZTogcmVxLnJlbW90ZV91c2VyLm5hbWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHQoJ3JvdXRlJyk7XG4gICAgfVxuICB9KTtcblxuICByb3V0ZS5nZXQoJy8tL3dob2FtaScsIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogYW55ID0+IHtcbiAgICBuZXh0KHsgdXNlcm5hbWU6IHJlcS5yZW1vdGVfdXNlci5uYW1lIH0pO1xuICB9KTtcbn1cbiJdfQ==
@@ -5,30 +5,30 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = _default;
7
7
 
8
- var _express = _interopRequireDefault(require("express"));
9
-
10
8
  var _bodyParser = _interopRequireDefault(require("body-parser"));
11
9
 
12
- var _whoami = _interopRequireDefault(require("./api/whoami"));
10
+ var _express = _interopRequireDefault(require("express"));
13
11
 
14
- var _ping = _interopRequireDefault(require("./api/ping"));
12
+ var _distTags = _interopRequireDefault(require("./api/dist-tags"));
15
13
 
16
- var _user = _interopRequireDefault(require("./api/user"));
14
+ var _package = _interopRequireDefault(require("./api/package"));
17
15
 
18
- var _distTags = _interopRequireDefault(require("./api/dist-tags"));
16
+ var _ping = _interopRequireDefault(require("./api/ping"));
19
17
 
20
18
  var _publish = _interopRequireDefault(require("./api/publish"));
21
19
 
22
20
  var _search = _interopRequireDefault(require("./api/search"));
23
21
 
24
- var _package = _interopRequireDefault(require("./api/package"));
25
-
26
22
  var _stars = _interopRequireDefault(require("./api/stars"));
27
23
 
24
+ var _user = _interopRequireDefault(require("./api/user"));
25
+
28
26
  var _v = _interopRequireDefault(require("./api/v1"));
29
27
 
30
28
  var _search2 = _interopRequireDefault(require("./api/v1/search"));
31
29
 
30
+ var _whoami = _interopRequireDefault(require("./api/whoami"));
31
+
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
34
  const {
@@ -79,4 +79,4 @@ function _default(config, auth, storage) {
79
79
  app.use((0, _v.default)(auth, storage, config));
80
80
  return app;
81
81
  }
82
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvaW5kZXgudHMiXSwibmFtZXMiOlsibWF0Y2giLCJ2YWxpZGF0ZU5hbWUiLCJ2YWxpZGF0ZVBhY2thZ2UiLCJlbmNvZGVTY29wZVBhY2thZ2UiLCJhbnRpTG9vcCIsInJlcXVpcmUiLCJjb25maWciLCJhdXRoIiwic3RvcmFnZSIsImFwcCIsImV4cHJlc3MiLCJSb3V0ZXIiLCJwYXJhbSIsInVzZSIsImFwaUpXVG1pZGRsZXdhcmUiLCJib2R5UGFyc2VyIiwianNvbiIsInN0cmljdCIsImxpbWl0IiwibWF4X2JvZHlfc2l6ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTTtBQUFFQSxFQUFBQSxLQUFGO0FBQVNDLEVBQUFBLFlBQVQ7QUFBdUJDLEVBQUFBLGVBQXZCO0FBQXdDQyxFQUFBQSxrQkFBeEM7QUFBNERDLEVBQUFBO0FBQTVELElBQXlFQyxPQUFPLENBQUMsZUFBRCxDQUF0Rjs7QUFFZSxrQkFBVUMsTUFBVixFQUEwQkMsSUFBMUIsRUFBdUNDLE9BQXZDLEVBQWlFO0FBQzlFO0FBQ0EsUUFBTUMsR0FBRyxHQUFHQyxpQkFBUUMsTUFBUixFQUFaO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQUYsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsU0FBVixFQUFxQlYsZUFBckI7QUFDQU8sRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsVUFBVixFQUFzQlgsWUFBdEI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsS0FBVixFQUFpQlgsWUFBakI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsU0FBVixFQUFxQlgsWUFBckI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsVUFBVixFQUFzQlgsWUFBdEI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsT0FBVixFQUFtQlgsWUFBbkIsRUFYOEUsQ0FhOUU7QUFDQTs7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsTUFBVixFQUFrQlosS0FBSyxDQUFDLFFBQUQsQ0FBdkI7QUFDQVMsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsa0JBQVYsRUFBOEJaLEtBQUssQ0FBQyxzQkFBRCxDQUFuQztBQUNBUyxFQUFBQSxHQUFHLENBQUNHLEtBQUosQ0FBVSxVQUFWLEVBQXNCWixLQUFLLENBQUMsSUFBRCxDQUEzQjtBQUVBUyxFQUFBQSxHQUFHLENBQUNJLEdBQUosQ0FBUU4sSUFBSSxDQUFDTyxnQkFBTCxFQUFSO0FBQ0FMLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRRSxvQkFBV0MsSUFBWCxDQUFnQjtBQUFFQyxJQUFBQSxNQUFNLEVBQUUsS0FBVjtBQUFpQkMsSUFBQUEsS0FBSyxFQUFFWixNQUFNLENBQUNhLGFBQVAsSUFBd0I7QUFBaEQsR0FBaEIsQ0FBUjtBQUNBVixFQUFBQSxHQUFHLENBQUNJLEdBQUosQ0FBUVQsUUFBUSxDQUFDRSxNQUFELENBQWhCLEVBckI4RSxDQXNCOUU7O0FBQ0FHLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRVixrQkFBUixFQXZCOEUsQ0F3QjlFOztBQUNBLHVCQUFPTSxHQUFQO0FBQ0Esd0JBQUlBLEdBQUosRUFBU0YsSUFBVCxFQUFlQyxPQUFmLEVBQXdCRixNQUF4QjtBQUNBLHVCQUFPRyxHQUFQLEVBQVlGLElBQVosRUFBa0JDLE9BQWxCO0FBQ0EseUJBQVNDLEdBQVQsRUFBY0YsSUFBZCxFQUFvQkMsT0FBcEI7QUFDQSx3QkFBUUMsR0FBUixFQUFhRixJQUFiLEVBQW1CQyxPQUFuQixFQUE0QkYsTUFBNUI7QUFDQSxxQkFBS0csR0FBTDtBQUNBLHNCQUFNQSxHQUFOLEVBQVdELE9BQVg7QUFDQSx3QkFBU0MsR0FBVCxFQUFjRixJQUFkLEVBQW9CQyxPQUFwQjtBQUNBLHFCQUFLQyxHQUFMLEVBQVVGLElBQVYsRUFBZ0JELE1BQWhCO0FBQ0FHLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRLGdCQUFNTixJQUFOLEVBQVlDLE9BQVosRUFBcUJGLE1BQXJCLENBQVI7QUFDQSxTQUFPRyxHQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJztcbmltcG9ydCBib2R5UGFyc2VyIGZyb20gJ2JvZHktcGFyc2VyJztcbmltcG9ydCB7IElBdXRoLCBJU3RvcmFnZUhhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgd2hvYW1pIGZyb20gJy4vYXBpL3dob2FtaSc7XG5pbXBvcnQgcGluZyBmcm9tICcuL2FwaS9waW5nJztcbmltcG9ydCB1c2VyIGZyb20gJy4vYXBpL3VzZXInO1xuaW1wb3J0IGRpc3RUYWdzIGZyb20gJy4vYXBpL2Rpc3QtdGFncyc7XG5pbXBvcnQgcHVibGlzaCBmcm9tICcuL2FwaS9wdWJsaXNoJztcbmltcG9ydCBzZWFyY2ggZnJvbSAnLi9hcGkvc2VhcmNoJztcbmltcG9ydCBwa2cgZnJvbSAnLi9hcGkvcGFja2FnZSc7XG5pbXBvcnQgc3RhcnMgZnJvbSAnLi9hcGkvc3RhcnMnO1xuaW1wb3J0IG5wbVYxIGZyb20gJy4vYXBpL3YxJztcbmltcG9ydCB2MVNlYXJjaCBmcm9tICcuL2FwaS92MS9zZWFyY2gnO1xuXG5jb25zdCB7IG1hdGNoLCB2YWxpZGF0ZU5hbWUsIHZhbGlkYXRlUGFja2FnZSwgZW5jb2RlU2NvcGVQYWNrYWdlLCBhbnRpTG9vcCB9ID0gcmVxdWlyZSgnLi4vbWlkZGxld2FyZScpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoY29uZmlnOiBDb25maWcsIGF1dGg6IElBdXRoLCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIpIHtcbiAgLyogZXNsaW50IG5ldy1jYXA6b2ZmICovXG4gIGNvbnN0IGFwcCA9IGV4cHJlc3MuUm91dGVyKCk7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAvLyB2YWxpZGF0ZSBhbGwgb2YgdGhlc2UgcGFyYW1zIGFzIGEgcGFja2FnZSBuYW1lXG4gIC8vIHRoaXMgbWlnaHQgYmUgdG9vIGhhcnNoLCBzbyBhc2sgaWYgaXQgY2F1c2VzIHRyb3VibGVcbiAgYXBwLnBhcmFtKCdwYWNrYWdlJywgdmFsaWRhdGVQYWNrYWdlKTtcbiAgYXBwLnBhcmFtKCdmaWxlbmFtZScsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgndGFnJywgdmFsaWRhdGVOYW1lKTtcbiAgYXBwLnBhcmFtKCd2ZXJzaW9uJywgdmFsaWRhdGVOYW1lKTtcbiAgYXBwLnBhcmFtKCdyZXZpc2lvbicsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgndG9rZW4nLCB2YWxpZGF0ZU5hbWUpO1xuXG4gIC8vIHRoZXNlIGNhbid0IGJlIHNhZmVseSBwdXQgaW50byBleHByZXNzIHVybCBmb3Igc29tZSByZWFzb25cbiAgLy8gVE9ETzogRm9yIHNvbWUgcmVhc29uPyB3aGF0IHJlYXNvbj9cbiAgYXBwLnBhcmFtKCdfcmV2JywgbWF0Y2goL14tcmV2JC8pKTtcbiAgYXBwLnBhcmFtKCdvcmdfY291Y2hkYl91c2VyJywgbWF0Y2goL15vcmdcXC5jb3VjaGRiXFwudXNlcjovKSk7XG4gIGFwcC5wYXJhbSgnYW55dGhpbmcnLCBtYXRjaCgvLiovKSk7XG5cbiAgYXBwLnVzZShhdXRoLmFwaUpXVG1pZGRsZXdhcmUoKSk7XG4gIGFwcC51c2UoYm9keVBhcnNlci5qc29uKHsgc3RyaWN0OiBmYWxzZSwgbGltaXQ6IGNvbmZpZy5tYXhfYm9keV9zaXplIHx8ICcxMG1iJyB9KSk7XG4gIGFwcC51c2UoYW50aUxvb3AoY29uZmlnKSk7XG4gIC8vIGVuY29kZSAvIGluIGEgc2NvcGVkIHBhY2thZ2UgbmFtZSB0byBiZSBtYXRjaGVkIGFzIGEgc2luZ2xlIHBhcmFtZXRlciBpbiByb3V0ZXNcbiAgYXBwLnVzZShlbmNvZGVTY29wZVBhY2thZ2UpO1xuICAvLyBmb3IgXCJucG0gd2hvYW1pXCJcbiAgd2hvYW1pKGFwcCk7XG4gIHBrZyhhcHAsIGF1dGgsIHN0b3JhZ2UsIGNvbmZpZyk7XG4gIHNlYXJjaChhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICBkaXN0VGFncyhhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICBwdWJsaXNoKGFwcCwgYXV0aCwgc3RvcmFnZSwgY29uZmlnKTtcbiAgcGluZyhhcHApO1xuICBzdGFycyhhcHAsIHN0b3JhZ2UpO1xuICB2MVNlYXJjaChhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICB1c2VyKGFwcCwgYXV0aCwgY29uZmlnKTtcbiAgYXBwLnVzZShucG1WMShhdXRoLCBzdG9yYWdlLCBjb25maWcpKTtcbiAgcmV0dXJuIGFwcDtcbn1cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvaW5kZXgudHMiXSwibmFtZXMiOlsibWF0Y2giLCJ2YWxpZGF0ZU5hbWUiLCJ2YWxpZGF0ZVBhY2thZ2UiLCJlbmNvZGVTY29wZVBhY2thZ2UiLCJhbnRpTG9vcCIsInJlcXVpcmUiLCJjb25maWciLCJhdXRoIiwic3RvcmFnZSIsImFwcCIsImV4cHJlc3MiLCJSb3V0ZXIiLCJwYXJhbSIsInVzZSIsImFwaUpXVG1pZGRsZXdhcmUiLCJib2R5UGFyc2VyIiwianNvbiIsInN0cmljdCIsImxpbWl0IiwibWF4X2JvZHlfc2l6ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQU1BOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTTtBQUFFQSxFQUFBQSxLQUFGO0FBQVNDLEVBQUFBLFlBQVQ7QUFBdUJDLEVBQUFBLGVBQXZCO0FBQXdDQyxFQUFBQSxrQkFBeEM7QUFBNERDLEVBQUFBO0FBQTVELElBQXlFQyxPQUFPLENBQUMsZUFBRCxDQUF0Rjs7QUFFZSxrQkFBVUMsTUFBVixFQUEwQkMsSUFBMUIsRUFBdUNDLE9BQXZDLEVBQWlFO0FBQzlFO0FBQ0EsUUFBTUMsR0FBRyxHQUFHQyxpQkFBUUMsTUFBUixFQUFaO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQUYsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsU0FBVixFQUFxQlYsZUFBckI7QUFDQU8sRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsVUFBVixFQUFzQlgsWUFBdEI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsS0FBVixFQUFpQlgsWUFBakI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsU0FBVixFQUFxQlgsWUFBckI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsVUFBVixFQUFzQlgsWUFBdEI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsT0FBVixFQUFtQlgsWUFBbkIsRUFYOEUsQ0FhOUU7QUFDQTs7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsTUFBVixFQUFrQlosS0FBSyxDQUFDLFFBQUQsQ0FBdkI7QUFDQVMsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsa0JBQVYsRUFBOEJaLEtBQUssQ0FBQyxzQkFBRCxDQUFuQztBQUNBUyxFQUFBQSxHQUFHLENBQUNHLEtBQUosQ0FBVSxVQUFWLEVBQXNCWixLQUFLLENBQUMsSUFBRCxDQUEzQjtBQUVBUyxFQUFBQSxHQUFHLENBQUNJLEdBQUosQ0FBUU4sSUFBSSxDQUFDTyxnQkFBTCxFQUFSO0FBQ0FMLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRRSxvQkFBV0MsSUFBWCxDQUFnQjtBQUFFQyxJQUFBQSxNQUFNLEVBQUUsS0FBVjtBQUFpQkMsSUFBQUEsS0FBSyxFQUFFWixNQUFNLENBQUNhLGFBQVAsSUFBd0I7QUFBaEQsR0FBaEIsQ0FBUjtBQUNBVixFQUFBQSxHQUFHLENBQUNJLEdBQUosQ0FBUVQsUUFBUSxDQUFDRSxNQUFELENBQWhCLEVBckI4RSxDQXNCOUU7O0FBQ0FHLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRVixrQkFBUixFQXZCOEUsQ0F3QjlFOztBQUNBLHVCQUFPTSxHQUFQO0FBQ0Esd0JBQUlBLEdBQUosRUFBU0YsSUFBVCxFQUFlQyxPQUFmLEVBQXdCRixNQUF4QjtBQUNBLHVCQUFPRyxHQUFQLEVBQVlGLElBQVosRUFBa0JDLE9BQWxCO0FBQ0EseUJBQVNDLEdBQVQsRUFBY0YsSUFBZCxFQUFvQkMsT0FBcEI7QUFDQSx3QkFBUUMsR0FBUixFQUFhRixJQUFiLEVBQW1CQyxPQUFuQixFQUE0QkYsTUFBNUI7QUFDQSxxQkFBS0csR0FBTDtBQUNBLHNCQUFNQSxHQUFOLEVBQVdELE9BQVg7QUFDQSx3QkFBU0MsR0FBVCxFQUFjRixJQUFkLEVBQW9CQyxPQUFwQjtBQUNBLHFCQUFLQyxHQUFMLEVBQVVGLElBQVYsRUFBZ0JELE1BQWhCO0FBQ0FHLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRLGdCQUFNTixJQUFOLEVBQVlDLE9BQVosRUFBcUJGLE1BQXJCLENBQVI7QUFDQSxTQUFPRyxHQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYm9keVBhcnNlciBmcm9tICdib2R5LXBhcnNlcic7XG5pbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyBJQXV0aCwgSVN0b3JhZ2VIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IGRpc3RUYWdzIGZyb20gJy4vYXBpL2Rpc3QtdGFncyc7XG5pbXBvcnQgcGtnIGZyb20gJy4vYXBpL3BhY2thZ2UnO1xuaW1wb3J0IHBpbmcgZnJvbSAnLi9hcGkvcGluZyc7XG5pbXBvcnQgcHVibGlzaCBmcm9tICcuL2FwaS9wdWJsaXNoJztcbmltcG9ydCBzZWFyY2ggZnJvbSAnLi9hcGkvc2VhcmNoJztcbmltcG9ydCBzdGFycyBmcm9tICcuL2FwaS9zdGFycyc7XG5pbXBvcnQgdXNlciBmcm9tICcuL2FwaS91c2VyJztcbmltcG9ydCBucG1WMSBmcm9tICcuL2FwaS92MSc7XG5pbXBvcnQgdjFTZWFyY2ggZnJvbSAnLi9hcGkvdjEvc2VhcmNoJztcbmltcG9ydCB3aG9hbWkgZnJvbSAnLi9hcGkvd2hvYW1pJztcblxuY29uc3QgeyBtYXRjaCwgdmFsaWRhdGVOYW1lLCB2YWxpZGF0ZVBhY2thZ2UsIGVuY29kZVNjb3BlUGFja2FnZSwgYW50aUxvb3AgfSA9IHJlcXVpcmUoJy4uL21pZGRsZXdhcmUnKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGNvbmZpZzogQ29uZmlnLCBhdXRoOiBJQXV0aCwgc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyKSB7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICBjb25zdCBhcHAgPSBleHByZXNzLlJvdXRlcigpO1xuICAvKiBlc2xpbnQgbmV3LWNhcDpvZmYgKi9cbiAgLy8gdmFsaWRhdGUgYWxsIG9mIHRoZXNlIHBhcmFtcyBhcyBhIHBhY2thZ2UgbmFtZVxuICAvLyB0aGlzIG1pZ2h0IGJlIHRvbyBoYXJzaCwgc28gYXNrIGlmIGl0IGNhdXNlcyB0cm91YmxlXG4gIGFwcC5wYXJhbSgncGFja2FnZScsIHZhbGlkYXRlUGFja2FnZSk7XG4gIGFwcC5wYXJhbSgnZmlsZW5hbWUnLCB2YWxpZGF0ZU5hbWUpO1xuICBhcHAucGFyYW0oJ3RhZycsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgndmVyc2lvbicsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgncmV2aXNpb24nLCB2YWxpZGF0ZU5hbWUpO1xuICBhcHAucGFyYW0oJ3Rva2VuJywgdmFsaWRhdGVOYW1lKTtcblxuICAvLyB0aGVzZSBjYW4ndCBiZSBzYWZlbHkgcHV0IGludG8gZXhwcmVzcyB1cmwgZm9yIHNvbWUgcmVhc29uXG4gIC8vIFRPRE86IEZvciBzb21lIHJlYXNvbj8gd2hhdCByZWFzb24/XG4gIGFwcC5wYXJhbSgnX3JldicsIG1hdGNoKC9eLXJldiQvKSk7XG4gIGFwcC5wYXJhbSgnb3JnX2NvdWNoZGJfdXNlcicsIG1hdGNoKC9eb3JnXFwuY291Y2hkYlxcLnVzZXI6LykpO1xuICBhcHAucGFyYW0oJ2FueXRoaW5nJywgbWF0Y2goLy4qLykpO1xuXG4gIGFwcC51c2UoYXV0aC5hcGlKV1RtaWRkbGV3YXJlKCkpO1xuICBhcHAudXNlKGJvZHlQYXJzZXIuanNvbih7IHN0cmljdDogZmFsc2UsIGxpbWl0OiBjb25maWcubWF4X2JvZHlfc2l6ZSB8fCAnMTBtYicgfSkpO1xuICBhcHAudXNlKGFudGlMb29wKGNvbmZpZykpO1xuICAvLyBlbmNvZGUgLyBpbiBhIHNjb3BlZCBwYWNrYWdlIG5hbWUgdG8gYmUgbWF0Y2hlZCBhcyBhIHNpbmdsZSBwYXJhbWV0ZXIgaW4gcm91dGVzXG4gIGFwcC51c2UoZW5jb2RlU2NvcGVQYWNrYWdlKTtcbiAgLy8gZm9yIFwibnBtIHdob2FtaVwiXG4gIHdob2FtaShhcHApO1xuICBwa2coYXBwLCBhdXRoLCBzdG9yYWdlLCBjb25maWcpO1xuICBzZWFyY2goYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgZGlzdFRhZ3MoYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgcHVibGlzaChhcHAsIGF1dGgsIHN0b3JhZ2UsIGNvbmZpZyk7XG4gIHBpbmcoYXBwKTtcbiAgc3RhcnMoYXBwLCBzdG9yYWdlKTtcbiAgdjFTZWFyY2goYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgdXNlcihhcHAsIGF1dGgsIGNvbmZpZyk7XG4gIGFwcC51c2UobnBtVjEoYXV0aCwgc3RvcmFnZSwgY29uZmlnKSk7XG4gIHJldHVybiBhcHA7XG59XG4iXX0=