verdaccio 5.25.0 → 5.26.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.
@@ -55,7 +55,7 @@ function _default(route, auth, storage, config) {
55
55
  metadata = (0, _tarball.convertDistRemoteToLocalTarballUrls)(metadata, {
56
56
  protocol: req.protocol,
57
57
  headers: req.headers,
58
- host: req.host,
58
+ host: req.hostname,
59
59
  remoteAddress: req.socket.remoteAddress
60
60
  }, config.url_prefix);
61
61
  let queryVersion = req.params.version;
@@ -111,4 +111,4 @@ function _default(route, auth, storage, config) {
111
111
  }
112
112
  });
113
113
  }
114
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWlkZGxld2FyZSIsIl90YXJiYWxsIiwiX2NvbnN0YW50cyIsIl9sb2dnZXIiLCJfdXRpbHMiLCJfc3RyaW5nIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkb3dubG9hZFN0cmVhbSIsInBhY2thZ2VOYW1lIiwiZmlsZW5hbWUiLCJzdG9yYWdlIiwicmVxIiwicmVzIiwic3RyZWFtIiwiZ2V0VGFyYmFsbCIsIm9uIiwiY29udGVudCIsImhlYWRlciIsImVyciIsImxvY2FscyIsInJlcG9ydF9lcnJvciIsIkhFQURFUlMiLCJDT05URU5UX1RZUEUiLCJPQ1RFVF9TVFJFQU0iLCJwaXBlIiwicmVkaXJlY3RPckRvd25sb2FkU3RyZWFtIiwiY29uZmlnIiwidGFyYmFsbFVybFJlZGlyZWN0IiwiXyIsImdldCIsImhhc0xvY2FsVGFyYmFsbCIsInRoZW4iLCJjb250ZXh0IiwidGFyYmFsbFVybCIsInRlbXBsYXRlIiwicmVkaXJlY3QiLCJjYXRjaCIsIl9kZWZhdWx0Iiwicm91dGUiLCJhdXRoIiwiY2FuIiwiYWxsb3ciLCJiZWZvcmVBbGwiLCJwYXJhbXMiLCJtZXNzYWdlIiwibG9nZ2VyIiwidHJhY2UiLCJhZnRlckFsbCIsIm5leHQiLCJhYmJyZXZpYXRlZCIsImdldEJ5UXVhbGl0eVByaW9yaXR5VmFsdWUiLCJnZXRQYWNrYWdlTWV0YUNhbGxiYWNrIiwibWV0YWRhdGEiLCJjb252ZXJ0RGlzdFJlbW90ZVRvTG9jYWxUYXJiYWxsVXJscyIsInByb3RvY29sIiwiaGVhZGVycyIsImhvc3QiLCJyZW1vdGVBZGRyZXNzIiwic29ja2V0IiwidXJsX3ByZWZpeCIsInF1ZXJ5VmVyc2lvbiIsInZlcnNpb24iLCJpc05pbCIsInNldEhlYWRlciIsIkpTT04iLCJnZXRWZXJzaW9uIiwiRElTVF9UQUdTIiwiRXJyb3JDb2RlIiwiZ2V0Tm90Rm91bmQiLCJBUElfRVJST1IiLCJWRVJTSU9OX05PVF9FWElTVCIsImdldFBhY2thZ2UiLCJuYW1lIiwicGFja2FnZSIsInVwbGlua3NMb29rIiwiY2FsbGJhY2siLCJzY29wZWRQYWNrYWdlIiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvcGFja2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IGFsbG93IH0gZnJvbSAnQHZlcmRhY2Npby9taWRkbGV3YXJlJztcbmltcG9ydCB7IGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzIH0gZnJvbSAnQHZlcmRhY2Npby90YXJiYWxsJztcbmltcG9ydCB7IENvbmZpZywgUGFja2FnZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgQXV0aCBmcm9tICcuLi8uLi8uLi9saWIvYXV0aCc7XG5pbXBvcnQgeyBBUElfRVJST1IsIERJU1RfVEFHUywgSEVBREVSUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgU3RvcmFnZSBmcm9tICcuLi8uLi8uLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgeyBFcnJvckNvZGUsIGdldFZlcnNpb24gfSBmcm9tICcuLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQsICRSZXNwb25zZUV4dGVuZCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGdldEJ5UXVhbGl0eVByaW9yaXR5VmFsdWUgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zdHJpbmcnO1xuXG5jb25zdCBkb3dubG9hZFN0cmVhbSA9IChcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgc3RvcmFnZTogYW55LFxuICByZXE6ICRSZXF1ZXN0RXh0ZW5kLFxuICByZXM6ICRSZXNwb25zZUV4dGVuZFxuKTogdm9pZCA9PiB7XG4gIGNvbnN0IHN0cmVhbSA9IHN0b3JhZ2UuZ2V0VGFyYmFsbChwYWNrYWdlTmFtZSwgZmlsZW5hbWUpO1xuXG4gIHN0cmVhbS5vbignY29udGVudC1sZW5ndGgnLCBmdW5jdGlvbiAoY29udGVudCk6IHZvaWQge1xuICAgIHJlcy5oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJywgY29udGVudCk7XG4gIH0pO1xuXG4gIHN0cmVhbS5vbignZXJyb3InLCBmdW5jdGlvbiAoZXJyKTogdm9pZCB7XG4gICAgcmV0dXJuIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKGVycik7XG4gIH0pO1xuXG4gIHJlcy5oZWFkZXIoSEVBREVSUy5DT05URU5UX1RZUEUsIEhFQURFUlMuT0NURVRfU1RSRUFNKTtcbiAgc3RyZWFtLnBpcGUocmVzKTtcbn07XG5cbmNvbnN0IHJlZGlyZWN0T3JEb3dubG9hZFN0cmVhbSA9IChcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgc3RvcmFnZTogYW55LFxuICByZXE6ICRSZXF1ZXN0RXh0ZW5kLFxuICByZXM6ICRSZXNwb25zZUV4dGVuZCxcbiAgY29uZmlnOiBDb25maWdcbik6IHZvaWQgPT4ge1xuICBjb25zdCB0YXJiYWxsVXJsUmVkaXJlY3QgPSBfLmdldChjb25maWcsICdleHBlcmltZW50cy50YXJiYWxsX3VybF9yZWRpcmVjdCcpO1xuICBzdG9yYWdlXG4gICAgLmhhc0xvY2FsVGFyYmFsbChwYWNrYWdlTmFtZSwgZmlsZW5hbWUpXG4gICAgLnRoZW4oKGhhc0xvY2FsVGFyYmFsbCkgPT4ge1xuICAgICAgaWYgKGhhc0xvY2FsVGFyYmFsbCkge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0geyBwYWNrYWdlTmFtZSwgZmlsZW5hbWUgfTtcbiAgICAgICAgY29uc3QgdGFyYmFsbFVybCA9XG4gICAgICAgICAgdHlwZW9mIHRhcmJhbGxVcmxSZWRpcmVjdCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyB0YXJiYWxsVXJsUmVkaXJlY3QoY29udGV4dClcbiAgICAgICAgICAgIDogXy50ZW1wbGF0ZSh0YXJiYWxsVXJsUmVkaXJlY3QpKGNvbnRleHQpO1xuICAgICAgICByZXMucmVkaXJlY3QodGFyYmFsbFVybCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkb3dubG9hZFN0cmVhbShwYWNrYWdlTmFtZSwgZmlsZW5hbWUsIHN0b3JhZ2UsIHJlcSwgcmVzKTtcbiAgICAgIH1cbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICByZXMubG9jYWxzLnJlcG9ydF9lcnJvcihlcnIpO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHJvdXRlOiBSb3V0ZXIsIGF1dGg6IEF1dGgsIHN0b3JhZ2U6IFN0b3JhZ2UsIGNvbmZpZzogQ29uZmlnKTogdm9pZCB7XG4gIGNvbnN0IGNhbiA9IGFsbG93KGF1dGgsIHtcbiAgICBiZWZvcmVBbGw6IChwYXJhbXMsIG1lc3NhZ2UpID0+IGxvZ2dlci50cmFjZShwYXJhbXMsIG1lc3NhZ2UpLFxuICAgIGFmdGVyQWxsOiAocGFyYW1zLCBtZXNzYWdlKSA9PiBsb2dnZXIudHJhY2UocGFyYW1zLCBtZXNzYWdlKSxcbiAgfSk7XG4gIC8vIFRPRE86IGFub255bW91cyB1c2VyP1xuICByb3V0ZS5nZXQoXG4gICAgJy86cGFja2FnZS86dmVyc2lvbj8nLFxuICAgIGNhbignYWNjZXNzJyksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICBjb25zdCBhYmJyZXZpYXRlZCA9XG4gICAgICAgIGdldEJ5UXVhbGl0eVByaW9yaXR5VmFsdWUocmVxLmdldCgnQWNjZXB0JykpID09PSAnYXBwbGljYXRpb24vdm5kLm5wbS5pbnN0YWxsLXYxK2pzb24nO1xuICAgICAgY29uc3QgZ2V0UGFja2FnZU1ldGFDYWxsYmFjayA9IGZ1bmN0aW9uIChlcnIsIG1ldGFkYXRhOiBQYWNrYWdlKTogdm9pZCB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgICB9XG4gICAgICAgIG1ldGFkYXRhID0gY29udmVydERpc3RSZW1vdGVUb0xvY2FsVGFyYmFsbFVybHMoXG4gICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdG9jb2w6IHJlcS5wcm90b2NvbCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzIGFzIGFueSxcbiAgICAgICAgICAgIGhvc3Q6IHJlcS5ob3N0LFxuICAgICAgICAgICAgcmVtb3RlQWRkcmVzczogcmVxLnNvY2tldC5yZW1vdGVBZGRyZXNzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY29uZmlnLnVybF9wcmVmaXhcbiAgICAgICAgKTtcblxuICAgICAgICBsZXQgcXVlcnlWZXJzaW9uID0gcmVxLnBhcmFtcy52ZXJzaW9uO1xuICAgICAgICBpZiAoXy5pc05pbChxdWVyeVZlcnNpb24pKSB7XG4gICAgICAgICAgaWYgKGFiYnJldmlhdGVkKSB7XG4gICAgICAgICAgICByZXMuc2V0SGVhZGVyKEhFQURFUlMuQ09OVEVOVF9UWVBFLCAnYXBwbGljYXRpb24vdm5kLm5wbS5pbnN0YWxsLXYxK2pzb24nKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzLnNldEhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5KU09OKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbmV4dChtZXRhZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmVyc2lvbiA9IGdldFZlcnNpb24obWV0YWRhdGEsIHF1ZXJ5VmVyc2lvbik7XG4gICAgICAgIGlmIChfLmlzTmlsKHZlcnNpb24pID09PSBmYWxzZSkge1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoSEVBREVSUy5DT05URU5UX1RZUEUsIEhFQURFUlMuSlNPTik7XG4gICAgICAgICAgcmV0dXJuIG5leHQodmVyc2lvbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXy5pc05pbChtZXRhZGF0YVtESVNUX1RBR1NdKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICBpZiAoXy5pc05pbChtZXRhZGF0YVtESVNUX1RBR1NdW3F1ZXJ5VmVyc2lvbl0pID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcXVlcnlWZXJzaW9uID0gbWV0YWRhdGFbRElTVF9UQUdTXVtxdWVyeVZlcnNpb25dO1xuICAgICAgICAgICAgdmVyc2lvbiA9IGdldFZlcnNpb24obWV0YWRhdGEsIHF1ZXJ5VmVyc2lvbik7XG4gICAgICAgICAgICBpZiAoXy5pc05pbCh2ZXJzaW9uKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5KU09OKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQodmVyc2lvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXROb3RGb3VuZChgJHtBUElfRVJST1IuVkVSU0lPTl9OT1RfRVhJU1R9OiAke3JlcS5wYXJhbXMudmVyc2lvbn1gKSk7XG4gICAgICB9O1xuXG4gICAgICBzdG9yYWdlLmdldFBhY2thZ2Uoe1xuICAgICAgICBuYW1lOiByZXEucGFyYW1zLnBhY2thZ2UsXG4gICAgICAgIHVwbGlua3NMb29rOiB0cnVlLFxuICAgICAgICByZXEsXG4gICAgICAgIGFiYnJldmlhdGVkLFxuICAgICAgICBjYWxsYmFjazogZ2V0UGFja2FnZU1ldGFDYWxsYmFjayxcbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICByb3V0ZS5nZXQoXG4gICAgJy86c2NvcGVkUGFja2FnZS8tLzpzY29wZS86ZmlsZW5hbWUnLFxuICAgIGNhbignYWNjZXNzJyksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kKTogdm9pZCB7XG4gICAgICBjb25zdCB7IHNjb3BlZFBhY2thZ2UsIGZpbGVuYW1lIH0gPSByZXEucGFyYW1zO1xuICAgICAgaWYgKF8uZ2V0KGNvbmZpZywgJ2V4cGVyaW1lbnRzLnRhcmJhbGxfdXJsX3JlZGlyZWN0JykgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkb3dubG9hZFN0cmVhbShzY29wZWRQYWNrYWdlLCBmaWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVkaXJlY3RPckRvd25sb2FkU3RyZWFtKHNjb3BlZFBhY2thZ2UsIGZpbGVuYW1lLCBzdG9yYWdlLCByZXEsIHJlcywgY29uZmlnKTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG5cbiAgcm91dGUuZ2V0KFxuICAgICcvOnBhY2thZ2UvLS86ZmlsZW5hbWUnLFxuICAgIGNhbignYWNjZXNzJyksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kKTogdm9pZCB7XG4gICAgICBpZiAoXy5nZXQoY29uZmlnLCAnZXhwZXJpbWVudHMudGFyYmFsbF91cmxfcmVkaXJlY3QnKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRvd25sb2FkU3RyZWFtKHJlcS5wYXJhbXMucGFja2FnZSwgcmVxLnBhcmFtcy5maWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVkaXJlY3RPckRvd25sb2FkU3RyZWFtKFxuICAgICAgICAgIHJlcS5wYXJhbXMucGFja2FnZSxcbiAgICAgICAgICByZXEucGFyYW1zLmZpbGVuYW1lLFxuICAgICAgICAgIHN0b3JhZ2UsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHJlcyxcbiAgICAgICAgICBjb25maWdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUlBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLE9BQUEsR0FBQU4sT0FBQTtBQUFrRSxTQUFBRCx1QkFBQVEsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUVsRSxNQUFNRyxjQUFjLEdBQUdBLENBQ3JCQyxXQUFtQixFQUNuQkMsUUFBZ0IsRUFDaEJDLE9BQVksRUFDWkMsR0FBbUIsRUFDbkJDLEdBQW9CLEtBQ1g7RUFDVCxNQUFNQyxNQUFNLEdBQUdILE9BQU8sQ0FBQ0ksVUFBVSxDQUFDTixXQUFXLEVBQUVDLFFBQVEsQ0FBQztFQUV4REksTUFBTSxDQUFDRSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsVUFBVUMsT0FBTyxFQUFRO0lBQ25ESixHQUFHLENBQUNLLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRUQsT0FBTyxDQUFDO0VBQ3ZDLENBQUMsQ0FBQztFQUVGSCxNQUFNLENBQUNFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVUcsR0FBRyxFQUFRO0lBQ3RDLE9BQU9OLEdBQUcsQ0FBQ08sTUFBTSxDQUFDQyxZQUFZLENBQUNGLEdBQUcsQ0FBQztFQUNyQyxDQUFDLENBQUM7RUFFRk4sR0FBRyxDQUFDSyxNQUFNLENBQUNJLGtCQUFPLENBQUNDLFlBQVksRUFBRUQsa0JBQU8sQ0FBQ0UsWUFBWSxDQUFDO0VBQ3REVixNQUFNLENBQUNXLElBQUksQ0FBQ1osR0FB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
114
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWlkZGxld2FyZSIsIl90YXJiYWxsIiwiX2NvbnN0YW50cyIsIl9sb2dnZXIiLCJfdXRpbHMiLCJfc3RyaW5nIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkb3dubG9hZFN0cmVhbSIsInBhY2thZ2VOYW1lIiwiZmlsZW5hbWUiLCJzdG9yYWdlIiwicmVxIiwicmVzIiwic3RyZWFtIiwiZ2V0VGFyYmFsbCIsIm9uIiwiY29udGVudCIsImhlYWRlciIsImVyciIsImxvY2FscyIsInJlcG9ydF9lcnJvciIsIkhFQURFUlMiLCJDT05URU5UX1RZUEUiLCJPQ1RFVF9TVFJFQU0iLCJwaXBlIiwicmVkaXJlY3RPckRvd25sb2FkU3RyZWFtIiwiY29uZmlnIiwidGFyYmFsbFVybFJlZGlyZWN0IiwiXyIsImdldCIsImhhc0xvY2FsVGFyYmFsbCIsInRoZW4iLCJjb250ZXh0IiwidGFyYmFsbFVybCIsInRlbXBsYXRlIiwicmVkaXJlY3QiLCJjYXRjaCIsIl9kZWZhdWx0Iiwicm91dGUiLCJhdXRoIiwiY2FuIiwiYWxsb3ciLCJiZWZvcmVBbGwiLCJwYXJhbXMiLCJtZXNzYWdlIiwibG9nZ2VyIiwidHJhY2UiLCJhZnRlckFsbCIsIm5leHQiLCJhYmJyZXZpYXRlZCIsImdldEJ5UXVhbGl0eVByaW9yaXR5VmFsdWUiLCJnZXRQYWNrYWdlTWV0YUNhbGxiYWNrIiwibWV0YWRhdGEiLCJjb252ZXJ0RGlzdFJlbW90ZVRvTG9jYWxUYXJiYWxsVXJscyIsInByb3RvY29sIiwiaGVhZGVycyIsImhvc3QiLCJob3N0bmFtZSIsInJlbW90ZUFkZHJlc3MiLCJzb2NrZXQiLCJ1cmxfcHJlZml4IiwicXVlcnlWZXJzaW9uIiwidmVyc2lvbiIsImlzTmlsIiwic2V0SGVhZGVyIiwiSlNPTiIsImdldFZlcnNpb24iLCJESVNUX1RBR1MiLCJFcnJvckNvZGUiLCJnZXROb3RGb3VuZCIsIkFQSV9FUlJPUiIsIlZFUlNJT05fTk9UX0VYSVNUIiwiZ2V0UGFja2FnZSIsIm5hbWUiLCJwYWNrYWdlIiwidXBsaW5rc0xvb2siLCJjYWxsYmFjayIsInNjb3BlZFBhY2thZ2UiLCJ1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS9wYWNrYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgYWxsb3cgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgY29udmVydERpc3RSZW1vdGVUb0xvY2FsVGFyYmFsbFVybHMgfSBmcm9tICdAdmVyZGFjY2lvL3RhcmJhbGwnO1xuaW1wb3J0IHsgQ29uZmlnLCBQYWNrYWdlIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmltcG9ydCBBdXRoIGZyb20gJy4uLy4uLy4uL2xpYi9hdXRoJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgRElTVF9UQUdTLCBIRUFERVJTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi8uLi8uLi9saWIvbG9nZ2VyJztcbmltcG9ydCBTdG9yYWdlIGZyb20gJy4uLy4uLy4uL2xpYi9zdG9yYWdlJztcbmltcG9ydCB7IEVycm9yQ29kZSwgZ2V0VmVyc2lvbiB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0QnlRdWFsaXR5UHJpb3JpdHlWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3N0cmluZyc7XG5cbmNvbnN0IGRvd25sb2FkU3RyZWFtID0gKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBzdG9yYWdlOiBhbnksXG4gIHJlcTogJFJlcXVlc3RFeHRlbmQsXG4gIHJlczogJFJlc3BvbnNlRXh0ZW5kXG4pOiB2b2lkID0+IHtcbiAgY29uc3Qgc3RyZWFtID0gc3RvcmFnZS5nZXRUYXJiYWxsKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSk7XG5cbiAgc3RyZWFtLm9uKCdjb250ZW50LWxlbmd0aCcsIGZ1bmN0aW9uIChjb250ZW50KTogdm9pZCB7XG4gICAgcmVzLmhlYWRlcignQ29udGVudC1MZW5ndGgnLCBjb250ZW50KTtcbiAgfSk7XG5cbiAgc3RyZWFtLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnIpOiB2b2lkIHtcbiAgICByZXR1cm4gcmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IoZXJyKTtcbiAgfSk7XG5cbiAgcmVzLmhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5PQ1RFVF9TVFJFQU0pO1xuICBzdHJlYW0ucGlwZShyZXMpO1xufTtcblxuY29uc3QgcmVkaXJlY3RPckRvd25sb2FkU3RyZWFtID0gKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBzdG9yYWdlOiBhbnksXG4gIHJlcTogJFJlcXVlc3RFeHRlbmQsXG4gIHJlczogJFJlc3BvbnNlRXh0ZW5kLFxuICBjb25maWc6IENvbmZpZ1xuKTogdm9pZCA9PiB7XG4gIGNvbnN0IHRhcmJhbGxVcmxSZWRpcmVjdCA9IF8uZ2V0KGNvbmZpZywgJ2V4cGVyaW1lbnRzLnRhcmJhbGxfdXJsX3JlZGlyZWN0Jyk7XG4gIHN0b3JhZ2VcbiAgICAuaGFzTG9jYWxUYXJiYWxsKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSlcbiAgICAudGhlbigoaGFzTG9jYWxUYXJiYWxsKSA9PiB7XG4gICAgICBpZiAoaGFzTG9jYWxUYXJiYWxsKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB7IHBhY2thZ2VOYW1lLCBmaWxlbmFtZSB9O1xuICAgICAgICBjb25zdCB0YXJiYWxsVXJsID1cbiAgICAgICAgICB0eXBlb2YgdGFyYmFsbFVybFJlZGlyZWN0ID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IHRhcmJhbGxVcmxSZWRpcmVjdChjb250ZXh0KVxuICAgICAgICAgICAgOiBfLnRlbXBsYXRlKHRhcmJhbGxVcmxSZWRpcmVjdCkoY29udGV4dCk7XG4gICAgICAgIHJlcy5yZWRpcmVjdCh0YXJiYWxsVXJsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRvd25sb2FkU3RyZWFtKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKGVycik7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGU6IFJvdXRlciwgYXV0aDogQXV0aCwgc3RvcmFnZTogU3RvcmFnZSwgY29uZmlnOiBDb25maWcpOiB2b2lkIHtcbiAgY29uc3QgY2FuID0gYWxsb3coYXV0aCwge1xuICAgIGJlZm9yZUFsbDogKHBhcmFtcywgbWVzc2FnZSkgPT4gbG9nZ2VyLnRyYWNlKHBhcmFtcywgbWVzc2FnZSksXG4gICAgYWZ0ZXJBbGw6IChwYXJhbXMsIG1lc3NhZ2UpID0+IGxvZ2dlci50cmFjZShwYXJhbXMsIG1lc3NhZ2UpLFxuICB9KTtcbiAgLy8gVE9ETzogYW5vbnltb3VzIHVzZXI/XG4gIHJvdXRlLmdldChcbiAgICAnLzpwYWNrYWdlLzp2ZXJzaW9uPycsXG4gICAgY2FuKCdhY2Nlc3MnKSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IGFiYnJldmlhdGVkID1cbiAgICAgICAgZ2V0QnlRdWFsaXR5UHJpb3JpdHlWYWx1ZShyZXEuZ2V0KCdBY2NlcHQnKSkgPT09ICdhcHBsaWNhdGlvbi92bmQubnBtLmluc3RhbGwtdjEranNvbic7XG4gICAgICBjb25zdCBnZXRQYWNrYWdlTWV0YUNhbGxiYWNrID0gZnVuY3Rpb24gKGVyciwgbWV0YWRhdGE6IFBhY2thZ2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICAgIH1cbiAgICAgICAgbWV0YWRhdGEgPSBjb252ZXJ0RGlzdFJlbW90ZVRvTG9jYWxUYXJiYWxsVXJscyhcbiAgICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm90b2NvbDogcmVxLnByb3RvY29sLFxuICAgICAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMgYXMgYW55LFxuICAgICAgICAgICAgaG9zdDogcmVxLmhvc3RuYW1lLFxuICAgICAgICAgICAgcmVtb3RlQWRkcmVzczogcmVxLnNvY2tldC5yZW1vdGVBZGRyZXNzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY29uZmlnLnVybF9wcmVmaXhcbiAgICAgICAgKTtcblxuICAgICAgICBsZXQgcXVlcnlWZXJzaW9uID0gcmVxLnBhcmFtcy52ZXJzaW9uO1xuICAgICAgICBpZiAoXy5pc05pbChxdWVyeVZlcnNpb24pKSB7XG4gICAgICAgICAgaWYgKGFiYnJldmlhdGVkKSB7XG4gICAgICAgICAgICByZXMuc2V0SGVhZGVyKEhFQURFUlMuQ09OVEVOVF9UWVBFLCAnYXBwbGljYXRpb24vdm5kLm5wbS5pbnN0YWxsLXYxK2pzb24nKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzLnNldEhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5KU09OKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbmV4dChtZXRhZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmVyc2lvbiA9IGdldFZlcnNpb24obWV0YWRhdGEsIHF1ZXJ5VmVyc2lvbik7XG4gICAgICAgIGlmIChfLmlzTmlsKHZlcnNpb24pID09PSBmYWxzZSkge1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoSEVBREVSUy5DT05URU5UX1RZUEUsIEhFQURFUlMuSlNPTik7XG4gICAgICAgICAgcmV0dXJuIG5leHQodmVyc2lvbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXy5pc05pbChtZXRhZGF0YVtESVNUX1RBR1NdKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICBpZiAoXy5pc05pbChtZXRhZGF0YVtESVNUX1RBR1NdW3F1ZXJ5VmVyc2lvbl0pID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcXVlcnlWZXJzaW9uID0gbWV0YWRhdGFbRElTVF9UQUdTXVtxdWVyeVZlcnNpb25dO1xuICAgICAgICAgICAgdmVyc2lvbiA9IGdldFZlcnNpb24obWV0YWRhdGEsIHF1ZXJ5VmVyc2lvbik7XG4gICAgICAgICAgICBpZiAoXy5pc05pbCh2ZXJzaW9uKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5KU09OKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQodmVyc2lvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXROb3RGb3VuZChgJHtBUElfRVJST1IuVkVSU0lPTl9OT1RfRVhJU1R9OiAke3JlcS5wYXJhbXMudmVyc2lvbn1gKSk7XG4gICAgICB9O1xuXG4gICAgICBzdG9yYWdlLmdldFBhY2thZ2Uoe1xuICAgICAgICBuYW1lOiByZXEucGFyYW1zLnBhY2thZ2UsXG4gICAgICAgIHVwbGlua3NMb29rOiB0cnVlLFxuICAgICAgICByZXEsXG4gICAgICAgIGFiYnJldmlhdGVkLFxuICAgICAgICBjYWxsYmFjazogZ2V0UGFja2FnZU1ldGFDYWxsYmFjayxcbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICByb3V0ZS5nZXQoXG4gICAgJy86c2NvcGVkUGFja2FnZS8tLzpzY29wZS86ZmlsZW5hbWUnLFxuICAgIGNhbignYWNjZXNzJyksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kKTogdm9pZCB7XG4gICAgICBjb25zdCB7IHNjb3BlZFBhY2thZ2UsIGZpbGVuYW1lIH0gPSByZXEucGFyYW1zO1xuICAgICAgaWYgKF8uZ2V0KGNvbmZpZywgJ2V4cGVyaW1lbnRzLnRhcmJhbGxfdXJsX3JlZGlyZWN0JykgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkb3dubG9hZFN0cmVhbShzY29wZWRQYWNrYWdlLCBmaWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVkaXJlY3RPckRvd25sb2FkU3RyZWFtKHNjb3BlZFBhY2thZ2UsIGZpbGVuYW1lLCBzdG9yYWdlLCByZXEsIHJlcywgY29uZmlnKTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG5cbiAgcm91dGUuZ2V0KFxuICAgICcvOnBhY2thZ2UvLS86ZmlsZW5hbWUnLFxuICAgIGNhbignYWNjZXNzJyksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kKTogdm9pZCB7XG4gICAgICBpZiAoXy5nZXQoY29uZmlnLCAnZXhwZXJpbWVudHMudGFyYmFsbF91cmxfcmVkaXJlY3QnKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRvd25sb2FkU3RyZWFtKHJlcS5wYXJhbXMucGFja2FnZSwgcmVxLnBhcmFtcy5maWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVkaXJlY3RPckRvd25sb2FkU3RyZWFtKFxuICAgICAgICAgIHJlcS5wYXJhbXMucGFja2FnZSxcbiAgICAgICAgICByZXEucGFyYW1zLmZpbGVuYW1lLFxuICAgICAgICAgIHN0b3JhZ2UsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHJlcyxcbiAgICAgICAgICBjb25maWdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUlBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLE9BQUEsR0FBQU4sT0FBQTtBQUFrRSxTQUFBRCx1QkFBQVEsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUVsRSxNQUFNRyxjQUFjLEdBQUdBLENBQ3JCQyxXQUFtQixFQUNuQkMsUUFBZ0IsRUFDaEJDLE9BQVksRUFDWkMsR0FBbUIsRUFDbkJDLEdBQW9CLEtBQ1g7RUFDVCxNQUFNQyxNQUFNLEdBQUdILE9BQU8sQ0FBQ0ksVUFBVSxDQUFDTixXQUFXLEVBQUVDLFFBQVEsQ0FBQztFQUV4REksTUFBTSxDQUFDRSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsVUFBVUMsT0FBTyxFQUFRO0lBQ25ESixHQUFHLENBQUNLLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRUQsT0FBTyxDQUFDO0VBQ3ZDLENBQUMsQ0FBQztFQUVGSCxNQUFNLENBQUNFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVUcsR0FBRyxFQUFRO0lBQ3RDLE9BQU9OLEdBQUcsQ0FBQ08sTUFBTSxDQUFDQyxZQUFZLENBQUNGLEdBQUcsQ0FBQztFQUNyQyxDQUFDLENBQUM7RUFFRk4sR0FBRyxDQUFDSyxNQUFNLENBQUNJLGtCQUFPLENBQUNDLFlBQVksRUFBRUQsa0JBQU8sQ0FBQ0UsWUFBWSxDQUFDO0VBQ3REVixNQUFNLENBQUNX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
@@ -1 +1 @@
1
- export default function (route: any, auth: any, storage: any): void;
1
+ export default function (route: any): void;
@@ -6,101 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = _default;
7
7
  var _constants = require("../../../lib/constants");
8
8
  var _logger = require("../../../lib/logger");
9
- function _default(route, auth, storage) {
9
+ function _default(route) {
10
10
  // searching packages
11
- route.get('/-/all(/since)?', function (req, res, next) {
12
- let received_end = false;
13
- let response_finished = false;
14
- let processing_pkgs = 0;
15
- let firstPackage = true;
16
- _logger.logger.warn('/-/all search endpoint is deprecated, might be removed in the next major release');
17
- res.status(200);
18
- res.set(_constants.HEADERS.CONTENT_TYPE, _constants.HEADERS.JSON_CHARSET);
19
-
20
- /*
21
- * Offical NPM registry (registry.npmjs.org) no longer return whole database,
22
- * They only return packages matched with keyword in `referer: search pkg-name`,
23
- * And NPM client will request server in every search.
24
- *
25
- * The magic number 99999 was sent by NPM registry. Modify it may caused strange
26
- * behaviour in the future.
27
- *
28
- * BTW: NPM will not return result if user-agent does not contain string 'npm',
29
- * See: method 'request' in up-storage.js
30
- *
31
- * If there is no cache in local, NPM will request /-/all, then get response with
32
- * _updated: 99999, 'Date' in response header was Mon, 10 Oct 1983 00:12:48 GMT,
33
- * this will make NPM always query from server
34
- *
35
- * Data structure also different, whel request /-/all, response is an object, but
36
- * when request /-/all/since, response is an array
37
- */
38
- const respShouldBeArray = req.path.endsWith('/since');
39
- if (!respShouldBeArray) {
40
- res.set('Date', 'Mon, 10 Oct 1983 00:12:48 GMT');
41
- }
42
- const check_finish = function () {
43
- if (!received_end) {
44
- return;
45
- }
46
- if (processing_pkgs) {
47
- return;
48
- }
49
- if (response_finished) {
50
- return;
51
- }
52
- response_finished = true;
53
- if (respShouldBeArray) {
54
- res.end(']\n');
55
- } else {
56
- res.end('}\n');
57
- }
58
- };
59
- if (respShouldBeArray) {
60
- res.write('[');
61
- } else {
62
- res.write('{"_updated":' + 99999);
63
- }
64
- const stream = storage.search(req.query.startkey || 0, {
65
- req: req
66
- });
67
- stream.on('data', function each(pkg) {
68
- processing_pkgs++;
69
- auth.allow_access({
70
- packageName: pkg.name
71
- }, req.remote_user, function (err, allowed) {
72
- processing_pkgs--;
73
- if (err) {
74
- if (err.status && String(err.status).match(/^4\d\d$/)) {
75
- // auth plugin returns 4xx user error,
76
- // that's equivalent of !allowed basically
77
- allowed = false;
78
- } else {
79
- stream.abort(err);
80
- }
81
- }
82
- if (allowed) {
83
- if (respShouldBeArray) {
84
- res.write(`${firstPackage ? '' : ','}${JSON.stringify(pkg)}\n`);
85
- if (firstPackage) {
86
- firstPackage = false;
87
- }
88
- } else {
89
- res.write(',\n' + JSON.stringify(pkg.name) + ':' + JSON.stringify(pkg));
90
- }
91
- }
92
- check_finish();
93
- });
94
- });
95
- stream.on('error', function (err) {
96
- _logger.logger.error('search `/-/all endpoint has failed @{err}', err);
97
- received_end = true;
98
- check_finish();
99
- });
100
- stream.on('end', function () {
101
- received_end = true;
102
- check_finish();
11
+ route.get('/-/all(/since)?', function (_req, res) {
12
+ _logger.logger.warn('search endpoint has been removed, please use search v1');
13
+ res.status(_constants.HTTP_STATUS.NOT_FOUND);
14
+ res.json({
15
+ error: 'not found, endpoint removed'
103
16
  });
104
17
  });
105
18
  }
106
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29uc3RhbnRzIiwicmVxdWlyZSIsIl9sb2dnZXIiLCJfZGVmYXVsdCIsInJvdXRlIiwiYXV0aCIsInN0b3JhZ2UiLCJnZXQiLCJyZXEiLCJyZXMiLCJuZXh0IiwicmVjZWl2ZWRfZW5kIiwicmVzcG9uc2VfZmluaXNoZWQiLCJwcm9jZXNzaW5nX3BrZ3MiLCJmaXJzdFBhY2thZ2UiLCJsb2dnZXIiLCJ3YXJuIiwic3RhdHVzIiwic2V0IiwiSEVBREVSUyIsIkNPTlRFTlRfVFlQRSIsIkpTT05fQ0hBUlNFVCIsInJlc3BTaG91bGRCZUFycmF5IiwicGF0aCIsImVuZHNXaXRoIiwiY2hlY2tfZmluaXNoIiwiZW5kIiwid3JpdGUiLCJzdHJlYW0iLCJzZWFyY2giLCJxdWVyeSIsInN0YXJ0a2V5Iiwib24iLCJlYWNoIiwicGtnIiwiYWxsb3dfYWNjZXNzIiwicGFja2FnZU5hbWUiLCJuYW1lIiwicmVtb3RlX3VzZXIiLCJlcnIiLCJhbGxvd2VkIiwiU3RyaW5nIiwibWF0Y2giLCJhYm9ydCIsIkpTT04iLCJzdHJpbmdpZnkiLCJlcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3NlYXJjaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUElfRVJST1IsIEhFQURFUlMgfSBmcm9tICcuLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHJvdXRlLCBhdXRoLCBzdG9yYWdlKTogdm9pZCB7XG4gIC8vIHNlYXJjaGluZyBwYWNrYWdlc1xuICByb3V0ZS5nZXQoJy8tL2FsbCgvc2luY2UpPycsIGZ1bmN0aW9uIChyZXEsIHJlcywgbmV4dCkge1xuICAgIGxldCByZWNlaXZlZF9lbmQgPSBmYWxzZTtcbiAgICBsZXQgcmVzcG9uc2VfZmluaXNoZWQgPSBmYWxzZTtcbiAgICBsZXQgcHJvY2Vzc2luZ19wa2dzID0gMDtcbiAgICBsZXQgZmlyc3RQYWNrYWdlID0gdHJ1ZTtcbiAgICBsb2dnZXIud2FybignLy0vYWxsIHNlYXJjaCBlbmRwb2ludCBpcyBkZXByZWNhdGVkLCBtaWdodCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UnKTtcbiAgICByZXMuc3RhdHVzKDIwMCk7XG4gICAgcmVzLnNldChIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5KU09OX0NIQVJTRVQpO1xuXG4gICAgLypcbiAgICAgKiBPZmZpY2FsIE5QTSByZWdpc3RyeSAocmVnaXN0cnkubnBtanMub3JnKSBubyBsb25nZXIgcmV0dXJuIHdob2xlIGRhdGFiYXNlLFxuICAgICAqIFRoZXkgb25seSByZXR1cm4gcGFja2FnZXMgbWF0Y2hlZCB3aXRoIGtleXdvcmQgaW4gYHJlZmVyZXI6IHNlYXJjaCBwa2ctbmFtZWAsXG4gICAgICogQW5kIE5QTSBjbGllbnQgd2lsbCByZXF1ZXN0IHNlcnZlciBpbiBldmVyeSBzZWFyY2guXG4gICAgICpcbiAgICAgKiBUaGUgbWFnaWMgbnVtYmVyIDk5OTk5IHdhcyBzZW50IGJ5IE5QTSByZWdpc3RyeS4gTW9kaWZ5IGl0IG1heSBjYXVzZWQgc3RyYW5nZVxuICAgICAqIGJlaGF2aW91ciBpbiB0aGUgZnV0dXJlLlxuICAgICAqXG4gICAgICogQlRXOiBOUE0gd2lsbCBub3QgcmV0dXJuIHJlc3VsdCBpZiB1c2VyLWFnZW50IGRvZXMgbm90IGNvbnRhaW4gc3RyaW5nICducG0nLFxuICAgICAqIFNlZTogbWV0aG9kICdyZXF1ZXN0JyBpbiB1cC1zdG9yYWdlLmpzXG4gICAgICpcbiAgICAgKiBJZiB0aGVyZSBpcyBubyBjYWNoZSBpbiBsb2NhbCwgTlBNIHdpbGwgcmVxdWVzdCAvLS9hbGwsIHRoZW4gZ2V0IHJlc3BvbnNlIHdpdGhcbiAgICAgKiBfdXBkYXRlZDogOTk5OTksICdEYXRlJyBpbiByZXNwb25zZSBoZWFkZXIgd2FzIE1vbiwgMTAgT2N0IDE5ODMgMDA6MTI6NDggR01ULFxuICAgICAqIHRoaXMgd2lsbCBtYWtlIE5QTSBhbHdheXMgcXVlcnkgZnJvbSBzZXJ2ZXJcbiAgICAgKlxuICAgICAqIERhdGEgc3RydWN0dXJlIGFsc28gZGlmZmVyZW50LCB3aGVsIHJlcXVlc3QgLy0vYWxsLCByZXNwb25zZSBpcyBhbiBvYmplY3QsIGJ1dFxuICAgICAqIHdoZW4gcmVxdWVzdCAvLS9hbGwvc2luY2UsIHJlc3BvbnNlIGlzIGFuIGFycmF5XG4gICAgICovXG4gICAgY29uc3QgcmVzcFNob3VsZEJlQXJyYXkgPSByZXEucGF0aC5lbmRzV2l0aCgnL3NpbmNlJyk7XG4gICAgaWYgKCFyZXNwU2hvdWxkQmVBcnJheSkge1xuICAgICAgcmVzLnNldCgnRGF0ZScsICdNb24sIDEwIE9jdCAxOTgzIDAwOjEyOjQ4IEdNVCcpO1xuICAgIH1cbiAgICBjb25zdCBjaGVja19maW5pc2ggPSBmdW5jdGlvbiAoKTogdm9pZCB7XG4gICAgICBpZiAoIXJlY2VpdmVkX2VuZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAocHJvY2Vzc2luZ19wa2dzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChyZXNwb25zZV9maW5pc2hlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICByZXNwb25zZV9maW5pc2hlZCA9IHRydWU7XG4gICAgICBpZiAocmVzcFNob3VsZEJlQXJyYXkpIHtcbiAgICAgICAgcmVzLmVuZCgnXVxcbicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzLmVuZCgnfVxcbicpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAocmVzcFNob3VsZEJlQXJyYXkpIHtcbiAgICAgIHJlcy53cml0ZSgnWycpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXMud3JpdGUoJ3tcIl91cGRhdGVkXCI6JyArIDk5OTk5KTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJlYW0gPSBzdG9yYWdlLnNlYXJjaChyZXEucXVlcnkuc3RhcnRrZXkgfHwgMCwgeyByZXE6IHJlcSB9KTtcblxuICAgIHN0cmVhbS5vbignZGF0YScsIGZ1bmN0aW9uIGVhY2gocGtnKSB7XG4gICAgICBwcm9jZXNzaW5nX3BrZ3MrKztcblxuICAgICAgYXV0aC5hbGxvd19hY2Nlc3MoeyBwYWNrYWdlTmFtZTogcGtnLm5hbWUgfSwgcmVxLnJlbW90ZV91c2VyLCBmdW5jdGlvbiAoZXJyLCBhbGxvd2VkKSB7XG4gICAgICAgIHByb2Nlc3NpbmdfcGtncy0tO1xuXG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBpZiAoZXJyLnN0YXR1cyAmJiBTdHJpbmcoZXJyLnN0YXR1cykubWF0Y2goL140XFxkXFxkJC8pKSB7XG4gICAgICAgICAgICAvLyBhdXRoIHBsdWdpbiByZXR1cm5zIDR4eCB1c2VyIGVycm9yLFxuICAgICAgICAgICAgLy8gdGhhdCdzIGVxdWl2YWxlbnQgb2YgIWFsbG93ZWQgYmFzaWNhbGx5XG4gICAgICAgICAgICBhbGxvd2VkID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0cmVhbS5hYm9ydChlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhbGxvd2VkKSB7XG4gICAgICAgICAgaWYgKHJlc3BTaG91bGRCZUFycmF5KSB7XG4gICAgICAgICAgICByZXMud3JpdGUoYCR7Zmlyc3RQYWNrYWdlID8gJycgOiAnLCd9JHtKU09OLnN0cmluZ2lmeShwa2cpfVxcbmApO1xuICAgICAgICAgICAgaWYgKGZpcnN0UGFja2FnZSkge1xuICAgICAgICAgICAgICBmaXJzdFBhY2thZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzLndyaXRlKCcsXFxuJyArIEpTT04uc3RyaW5naWZ5KHBrZy5uYW1lKSArICc6JyArIEpTT04uc3RyaW5naWZ5KHBrZykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNoZWNrX2ZpbmlzaCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBzdHJlYW0ub24oJ2Vycm9yJywgZnVuY3Rpb24gKGVycikge1xuICAgICAgbG9nZ2VyLmVycm9yKCdzZWFyY2ggYC8tL2FsbCBlbmRwb2ludCBoYXMgZmFpbGVkIEB7ZXJyfScsIGVycik7XG4gICAgICByZWNlaXZlZF9lbmQgPSB0cnVlO1xuICAgICAgY2hlY2tfZmluaXNoKCk7XG4gICAgfSk7XG5cbiAgICBzdHJlYW0ub24oJ2VuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJlY2VpdmVkX2VuZCA9IHRydWU7XG4gICAgICBjaGVja19maW5pc2goKTtcbiAgICB9KTtcbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUdlLFNBQUFFLFNBQVVDLEtBQUssRUFBRUMsSUFBSSxFQUFFQyxPQUFPLEVBQVE7RUFDbkQ7RUFDQUYsS0FBSyxDQUFDRyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsVUFBVUMsR0FBRyxFQUFFQyxHQUFHLEVBQUVDLElBQUksRUFBRTtJQUNyRCxJQUFJQyxZQUFZLEdBQUcsS0FBSztJQUN4QixJQUFJQyxpQkFBaUIsR0FBRyxLQUFLO0lBQzdCLElBQUlDLGVBQWUsR0FBRyxDQUFDO0lBQ3ZCLElBQUlDLFlBQVksR0FBRyxJQUFJO0lBQ3ZCQyxjQUFNLENBQUNDLElBQUksQ0FBQyxrRkFBa0YsQ0FBQztJQUMvRlAsR0FBRyxDQUFDUSxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ2ZSLEdBQUcsQ0FBQ1MsR0FBRyxDQUFDQyxrQkFBTyxDQUFDQyxZQUFZLEVBQUVELGtCQUFPLENBQUNFLFlBQVksQ0FBQzs7SUFFbkQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29uc3RhbnRzIiwicmVxdWlyZSIsIl9sb2dnZXIiLCJfZGVmYXVsdCIsInJvdXRlIiwiZ2V0IiwiX3JlcSIsInJlcyIsImxvZ2dlciIsIndhcm4iLCJzdGF0dXMiLCJIVFRQX1NUQVRVUyIsIk5PVF9GT1VORCIsImpzb24iLCJlcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3NlYXJjaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyb3V0ZSk6IHZvaWQge1xuICAvLyBzZWFyY2hpbmcgcGFja2FnZXNcbiAgcm91dGUuZ2V0KCcvLS9hbGwoL3NpbmNlKT8nLCBmdW5jdGlvbiAoX3JlcSwgcmVzKSB7XG4gICAgbG9nZ2VyLndhcm4oJ3NlYXJjaCBlbmRwb2ludCBoYXMgYmVlbiByZW1vdmVkLCBwbGVhc2UgdXNlIHNlYXJjaCB2MScpO1xuICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKTtcbiAgICByZXMuanNvbih7IGVycm9yOiAnbm90IGZvdW5kLCBlbmRwb2ludCByZW1vdmVkJyB9KTtcbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUVlLFNBQUFFLFNBQVVDLEtBQUssRUFBUTtFQUNwQztFQUNBQSxLQUFLLENBQUNDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxVQUFVQyxJQUFJLEVBQUVDLEdBQUcsRUFBRTtJQUNoREMsY0FBTSxDQUFDQyxJQUFJLENBQUMsd0RBQXdELENBQUM7SUFDckVGLEdBQUcsQ0FBQ0csTUFBTSxDQUFDQyxzQkFBVyxDQUFDQyxTQUFTLENBQUM7SUFDakNMLEdBQUcsQ0FBQ00sSUFBSSxDQUFDO01BQUVDLEtBQUssRUFBRTtJQUE4QixDQUFDLENBQUM7RUFDcEQsQ0FBQyxDQUFDO0FBQ0oifQ==
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = _default;
7
- var _cookies = _interopRequireDefault(require("cookies"));
8
7
  var _express = _interopRequireDefault(require("express"));
9
8
  var _lodash = _interopRequireDefault(require("lodash"));
10
9
  var _config = require("@verdaccio/config");
@@ -80,17 +79,6 @@ function _default(route, auth, config) {
80
79
  ok: _constants.API_MESSAGE.LOGGED_OUT
81
80
  });
82
81
  });
83
-
84
- // placeholder 'cause npm require to be authenticated to publish
85
- // we do not do any real authentication yet
86
- userRouter.post('/_session', _cookies.default.express(), function (req, res, next) {
87
- res.cookies.set('AuthSession', String(Math.random()), (0, _utils.createSessionToken)());
88
- next({
89
- ok: true,
90
- name: 'somebody',
91
- roles: []
92
- });
93
- });
94
82
  route.use(userRouter);
95
83
  }
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29va2llcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2V4cHJlc3MiLCJfbG9kYXNoIiwiX2NvbmZpZyIsIl9taWRkbGV3YXJlIiwiX3V0aWxzIiwiX2F1dGhVdGlscyIsIl9jb25zdGFudHMiLCJfbG9nZ2VyIiwiX3V0aWxzMiIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2RlZmF1bHQiLCJyb3V0ZSIsImF1dGgiLCJjb25maWciLCJ1c2VyUm91dGVyIiwiZXhwcmVzcyIsIlJvdXRlciIsImdldCIsInJhdGVMaW1pdCIsInVzZXJSYXRlTGltaXQiLCJyZXEiLCJyZXMiLCJuZXh0Iiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJPSyIsIm9rIiwiZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UiLCJyZW1vdGVfdXNlciIsIm5hbWUiLCJwdXQiLCJwYXNzd29yZCIsImJvZHkiLCJyZW1vdGVOYW1lIiwiXyIsImlzTmlsIiwiYXV0aGVudGljYXRlIiwiY2FsbGJhY2tBdXRoZW50aWNhdGUiLCJlcnIiLCJ1c2VyIiwibG9nZ2VyIiwiZXJyb3IiLCJFcnJvckNvZGUiLCJnZXRDb2RlIiwiVU5BVVRIT1JJWkVEIiwiQVBJX0VSUk9SIiwiQkFEX1VTRVJOQU1FX1BBU1NXT1JEIiwicmVzdG9yZWRSZW1vdGVVc2VyIiwiY3JlYXRlUmVtb3RlVXNlciIsImdyb3VwcyIsInRva2VuIiwiZ2V0QXBpVG9rZW4iLCJDUkVBVEVEIiwic2V0IiwiSEVBREVSUyIsIkNBQ0hFX0NPTlRST0wiLCJ2YWxpZGF0ZVBhc3N3b3JkIiwiQkFEX1JFUVVFU1QiLCJQQVNTV09SRF9TSE9SVCIsImFkZF91c2VyIiwiSU5URVJOQUxfRVJST1IiLCJtZXNzYWdlIiwiZ2V0Q29uZmxpY3QiLCJ1bmRlZmluZWQiLCJkZWxldGUiLCJBUElfTUVTU0FHRSIsIkxPR0dFRF9PVVQiLCJwb3N0IiwiQ29va2llcyIsImNvb2tpZXMiLCJTdHJpbmciLCJNYXRoIiwicmFuZG9tIiwiY3JlYXRlU2Vzc2lvblRva2VuIiwicm9sZXMiLCJ1c2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS91c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb29raWVzIGZyb20gJ2Nvb2tpZXMnO1xuaW1wb3J0IGV4cHJlc3MsIHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgY3JlYXRlUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vY29uZmlnJztcbmltcG9ydCB7IHJhdGVMaW1pdCB9IGZyb20gJ0B2ZXJkYWNjaW8vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBDb25maWcsIFJlbW90ZVVzZXIgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVNlc3Npb25Ub2tlbiwgZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UgfSBmcm9tICdAdmVyZGFjY2lvL3V0aWxzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgZ2V0QXBpVG9rZW4sIHZhbGlkYXRlUGFzc3dvcmQgfSBmcm9tICcuLi8uLi8uLi9saWIvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBBUElfRVJST1IsIEFQSV9NRVNTQUdFLCBIRUFERVJTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQsICRSZXNwb25zZUV4dGVuZCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHJvdXRlOiBSb3V0ZXIsIGF1dGg6IEF1dGgsIGNvbmZpZzogQ29uZmlnKTogdm9pZCB7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICBjb25zdCB1c2VyUm91dGVyID0gZXhwcmVzcy5Sb3V0ZXIoKTtcblxuICB1c2VyUm91dGVyLmdldChcbiAgICAnLy0vdXNlci86b3JnX2NvdWNoZGJfdXNlcicsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuT0spO1xuICAgICAgbmV4dCh7XG4gICAgICAgIG9rOiBnZXRBdXRoZW50aWNhdGVkTWVzc2FnZShyZXEucmVtb3RlX3VzZXIubmFtZSksXG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgdXNlclJvdXRlci5wdXQoXG4gICAgJy8tL3VzZXIvOm9yZ19jb3VjaGRiX3VzZXIvOl9yZXY/LzpyZXZpc2lvbj8nLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICBjb25zdCB7IG5hbWUsIHBhc3N3b3JkIH0gPSByZXEuYm9keTtcbiAgICAgIGNvbnN0IHJlbW90ZU5hbWUgPSByZXEucmVtb3RlX3VzZXIubmFtZTtcblxuICAgICAgaWYgKF8uaXNOaWwocmVtb3RlTmFtZSkgPT09IGZhbHNlICYmIF8uaXNOaWwobmFtZSkgPT09IGZhbHNlICYmIHJlbW90ZU5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgYXV0aC5hdXRoZW50aWNhdGUoXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBwYXNzd29yZCxcbiAgICAgICAgICBhc3luYyBmdW5jdGlvbiBjYWxsYmFja0F1dGhlbnRpY2F0ZShlcnIsIHVzZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICAgIHsgbmFtZSwgZXJyIH0sXG4gICAgICAgICAgICAgICAgJ2F1dGhlbnRpY2F0aW5nIGZvciB1c2VyIEB7dXNlcm5hbWV9IGZhaWxlZC4gRXJyb3I6IEB7ZXJyLm1lc3NhZ2V9J1xuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICAgICAgICBFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQsIEFQSV9FUlJPUi5CQURfVVNFUk5BTUVfUEFTU1dPUkQpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3RvcmVkUmVtb3RlVXNlcjogUmVtb3RlVXNlciA9IGNyZWF0ZVJlbW90ZVVzZXIobmFtZSwgdXNlci5ncm91cHMgfHwgW10pO1xuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCBnZXRBcGlUb2tlbihhdXRoLCBjb25maWcsIHJlc3RvcmVkUmVtb3RlVXNlciwgcGFzc3dvcmQpO1xuXG4gICAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLkNSRUFURUQpO1xuICAgICAgICAgICAgcmVzLnNldChIRUFERVJTLkNBQ0hFX0NPTlRST0wsICduby1jYWNoZSwgbm8tc3RvcmUnKTtcbiAgICAgICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICAgICAgb2s6IGdldEF1dGhlbnRpY2F0ZWRNZXNzYWdlKHJlcS5yZW1vdGVfdXNlci5uYW1lKSxcbiAgICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodmFsaWRhdGVQYXNzd29yZChwYXNzd29yZCkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXBcbiAgICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5CQURfUkVRVUVTVCwgQVBJX0VSUk9SLlBBU1NXT1JEX1NIT1JUKSk7XG4gICAgICAgIH1cblxuICAgICAgICBhdXRoLmFkZF91c2VyKG5hbWUsIHBhc3N3b3JkLCBhc3luYyBmdW5jdGlvbiAoZXJyLCB1c2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPj0gSFRUUF9TVEFUVVMuQkFEX1JFUVVFU1QgJiYgZXJyLnN0YXR1cyA8IEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SKSB7XG4gICAgICAgICAgICAgIC8vIFdpdGggbnBtIHJlZ2lzdGVyaW5nIGlzIHRoZSBzYW1lIGFzIGxvZ2dpbmcgaW4sXG4gICAgICAgICAgICAgIC8vIGFuZCBucG0gYWNjZXB0cyBvbmx5IGFuIDQwOSBlcnJvci5cbiAgICAgICAgICAgICAgLy8gU28sIGNoYW5naW5nIHN0YXR1cyBjb2RlIGhlcmUuXG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KFxuICAgICAgICAgICAgICAgIEVycm9yQ29kZS5nZXRDb2RlKGVyci5zdGF0dXMsIGVyci5tZXNzYWdlKSB8fCBFcnJvckNvZGUuZ2V0Q29uZmxpY3QoZXJyLm1lc3NhZ2UpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHRva2VuID1cbiAgICAgICAgICAgIG5hbWUgJiYgcGFzc3dvcmQgPyBhd2FpdCBnZXRBcGlUb2tlbihhdXRoLCBjb25maWcsIHVzZXIsIHBhc3N3b3JkKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgIHJlcS5yZW1vdGVfdXNlciA9IHVzZXI7XG4gICAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgICAgICByZXMuc2V0KEhFQURFUlMuQ0FDSEVfQ09OVFJPTCwgJ25vLWNhY2hlLCBuby1zdG9yZScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICAgIG9rOiBgdXNlciAnJHtyZXEuYm9keS5uYW1lfScgY3JlYXRlZGAsXG4gICAgICAgICAgICB0b2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICApO1xuXG4gIHVzZXJSb3V0ZXIuZGVsZXRlKFxuICAgICcvLS91c2VyL3Rva2VuLyonLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgIG5leHQoe1xuICAgICAgICBvazogQVBJX01FU1NBR0UuTE9HR0VEX09VVCxcbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICAvLyBwbGFjZWhvbGRlciAnY2F1c2UgbnBtIHJlcXVpcmUgdG8gYmUgYXV0aGVudGljYXRlZCB0byBwdWJsaXNoXG4gIC8vIHdlIGRvIG5vdCBkbyBhbnkgcmVhbCBhdXRoZW50aWNhdGlvbiB5ZXRcbiAgdXNlclJvdXRlci5wb3N0KFxuICAgICcvX3Nlc3Npb24nLFxuICAgIENvb2tpZXMuZXhwcmVzcygpLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgcmVzLmNvb2tpZXMuc2V0KCdBdXRoU2Vzc2lvbicsIFN0cmluZyhNYXRoLnJhbmRvbSgpKSwgY3JlYXRlU2Vzc2lvblRva2VuKCkpO1xuXG4gICAgICBuZXh0KHtcbiAgICAgICAgb2s6IHRydWUsXG4gICAgICAgIG5hbWU6ICdzb21lYm9keScsXG4gICAgICAgIHJvbGVzOiBbXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICByb3V0ZS51c2UodXNlclJvdXRlcik7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUdBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFVBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLE9BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE9BQUEsR0FBQVQsT0FBQTtBQUErQyxTQUFBRCx1QkFBQVcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUdoQyxTQUFBRyxTQUFVQyxLQUFhLEVBQUVDLElBQVUsRUFBRUMsTUFBYyxFQUFRO0VBQ3hFO0VBQ0EsTUFBTUMsVUFBVSxHQUFHQyxnQkFBTyxDQUFDQyxNQUFNLENBQUMsQ0FBQztFQUVuQ0YsVUFBVSxDQUFDRyxHQUFHLENBQ1osMkJBQTJCLEVBQzNCLElBQUFDLHFCQUFTLEVBQUNMLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFTSxhQUFhLENBQUMsRUFDaEMsVUFBVUMsR0FBbUIsRUFBRUMsR0FBYSxFQUFFQyxJQUFzQixFQUFRO0lBQzFFRCxHQUFHLENBQUNFLE1BQU0sQ0FBQ0Msc0JBQVcsQ0FBQ0MsRUFBRSxDQUFDO0lBQzFCSCxJQUFJLENBQUM7TUFDSEksRUFBRSxFQUFFLElBQUFDLDhCQUF1QixFQUFDUCxHQUFHLENBQUNRLFdBQVcsQ0FBQ0MsSUFBSTtJQUNsRCxDQUFDLENBQUM7RUFDSixDQUNGLENBQUM7RUFFRGYsVUFBVSxDQUFDZ0IsR0FBRyxDQUNaLDZDQUE2QyxFQUM3QyxJQUFBWixxQkFBUyxFQUFDTCxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRU0sYUFBYSxDQUFDLEVBQ2hDLFVBQVVDLEdBQW1CLEVBQUVDLEdBQWEsRUFBRUMsSUFBc0IsRUFBUTtJQUMxRSxNQUFNO01BQUVPLElBQUk7TUFBRUU7SUFBUyxDQUFDLEdBQUdYLEdBQUcsQ0FBQ1ksSUFBSTtJQUNuQyxNQUFNQyxVQUFVLEdBQUdiLEdBQUcsQ0FBQ1EsV0FBVyxDQUFDQyxJQUFJO0lBRXZDLElBQUlLLGVBQUMsQ0FBQ0MsS0FBSyxDQUFDRixVQUFVLENBQUMsS0FBSyxLQUFLLElBQUlDLGVBQUMsQ0FBQ0MsS0FBSyxDQUFDTixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUlJLFVBQVUsS0FBS0osSUFBSSxFQUFFO01BQ25GakIsSUFBSSxDQUFDd0IsWUFBWSxDQUNmUCxJQUFJLEVBQ0pFLFFBQVEsRUFDUixlQUFlTSxvQkFBb0JBLENBQUNDLEdBQUcsRUFBRUMsSUFBSSxFQUFpQjtRQUM1RCxJQUFJRCxHQUFHLEVBQUU7VUFDUEUsY0FBTSxDQUFDQyxLQUFLLENBQ1Y7WUFBRVosSUFBSTtZQUFFUztVQUFJLENBQUMsRUFDYixtRUFDRixDQUFDO1VBQ0QsT0FBT2hCLElBQUksQ0FDVG9CLGlCQUFTLENBQUNDLE9BQU8sQ0FBQ25CLHNCQUFXLENBQUNvQixZQUFZLEVBQUVDLG9CQUFTLENBQUNDLHFCQUFxQixDQUM3RSxDQUFDO1FBQ0g7UUFFQSxNQUFNQyxrQkFBOEIsR0FBRyxJQUFBQyx3QkFBZ0IsRUFBQ25CLElBQUksRUFBRVUsSUFBSSxDQUFDVSxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ2hGLE1BQU1DLEtBQUssR0FBRyxNQUFNLElBQUFDLHNCQUFXLEVBQUN2QyxJQUFJLEVBQUVDLE1BQU0sRUFBRWtDLGtCQUFrQixFQUFFaEIsUUFBUSxDQUFDO1FBRTNFVixHQUFHLENBQUNFLE1BQU0sQ0FBQ0Msc0JBQVcsQ0FBQzRCLE9BQU8sQ0FBQztRQUMvQi9CLEdBQUcsQ0FBQ2dDLEdBQUcsQ0FBQ0Msa0JBQU8sQ0FBQ0MsYUFBYSxFQUFFLG9CQUFvQixDQUFDO1FBQ3BELE9BQU9qQyxJQUFJLENBQUM7VUFDVkksRUFBRSxFQUFFLElBQUFDLDhCQUF1QixFQUFDUCxHQUFHLENBQUNRLFdBQVcsQ0FBQ0MsSUFBSSxDQUFDO1VBQ2pEcUI7UUFDRixDQUFDLENBQUM7TUFDSixDQUNGLENBQUM7SUFDSCxDQUFDLE1BQU07TUFDTCxJQUFJLElBQUFNLDJCQUFnQixFQUFDekIsUUFBUSxDQUFDLEtBQUssS0FBSyxFQUFFO1FBQ3hDO1FBQ0EsT0FBT1QsSUFBSSxDQUFDb0IsaUJBQVMsQ0FBQ0MsT0FBTyxDQUFDbkIsc0JBQVcsQ0FBQ2lDLFdBQVcsRUFBRVosb0JBQVMsQ0FBQ2EsY0FBYyxDQUFDLENBQUM7TUFDbkY7TUFFQTlDLElBQUksQ0FBQytDLFFBQVEsQ0FBQzlCLElBQUksRUFBRUUsUUFBUSxFQUFFLGdCQUFnQk8sR0FBRyxFQUFFQyxJQUFJLEVBQWlCO1FBQ3RFLElBQUlELEdBQUcsRUFBRTtVQUNQLElBQUlBLEdBQUcsQ0FBQ2YsTUFBTSxJQUFJQyxzQkFBVyxDQUFDaUMsV0FBVyxJQUFJbkIsR0FBRyxDQUFDZixNQUFNLEdBQUdDLHNCQUFXLENBQUNvQyxjQUFjLEVBQUU7WUFDcEY7WUFDQTtZQUNBO1lBQ0EsT0FBT3RDLElBQUksQ0FDVG9CLGlCQUFTLENBQUNDLE9BQU8sQ0FBQ0wsR0FBRyxDQUFDZixNQUFNLEVBQUVlLEdBQUcsQ0FBQ3VCLE9BQU8sQ0FBQyxJQUFJbkIsaUJBQVMsQ0FBQ29CLFdBQVcsQ0FBQ3hCLEdBQUcsQ0FBQ3VCLE9BQU8sQ0FDakYsQ0FBQztVQUNIO1VBQ0EsT0FBT3ZDLElBQUksQ0FBQ2dCLEdBQUcsQ0FBQztRQUNsQjtRQUVBLE1BQU1ZLEtBQUssR0FDVHJCLElBQUksSUFBSUUsUUFBUSxHQUFHLE1BQU0sSUFBQW9CLHNCQUFXLEVBQUN2QyxJQUFJLEVBQUVDLE1BQU0sRUFBRTBCLElBQUksRUFBRVIsUUFBUSxDQUFDLEdBQUdnQyxTQUFTO1FBRWhGM0MsR0FBRyxDQUFDUSxXQUFXLEdBQUdXLElBQUk7UUFDdEJsQixHQUFHLENBQUNFLE1BQU0sQ0FBQ0Msc0JBQVcsQ0FBQzRCLE9BQU8sQ0FBQztRQUMvQi9CLEdBQUcsQ0FBQ2dDLEdBQUcsQ0FBQ0Msa0JBQU8sQ0FBQ0MsYUFBYSxFQUFFLG9CQUFvQixDQUFDO1FBQ3BELE9BQU9qQyxJQUFJLENBQUM7VUFDVkksRUFBRSxFQUFHLFNBQVFOLEdBQUcsQ0FBQ1ksSUFBSSxDQUFDSCxJQUFLLFdBQVU7VUFDckNxQjtRQUNGLENBQUMsQ0FBQztNQUNKLENBQUMsQ0FBQztJQUNKO0VBQ0YsQ0FDRixDQUFDO0VBRURwQyxVQUFVLENBQUNrRCxNQUFNLENBQ2YsaUJBQWlCLEVBQ2pCLElBQUE5QyxxQkFBUyxFQUFDTCxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRU0sYUFBYSxDQUFDLEVBQ2hDLFVBQVVDLEdBQW1CLEVBQUVDLEdBQWEsRUFBRUMsSUFBc0IsRUFBUTtJQUMxRUQsR0FBRyxDQUFDRSxNQUFNLENBQUNDLHNCQUFXLENBQUNDLEVBQUUsQ0FBQztJQUMxQkgsSUFBSSxDQUFDO01BQ0hJLEVBQUUsRUFBRXVDLHNCQUFXLENBQUNDO0lBQ2xCLENBQUMsQ0FBQztFQUNKLENBQ0YsQ0FBQzs7RUFFRDtFQUNBO0VBQ0FwRCxVQUFVLENBQUNxRCxJQUFJLENBQ2IsV0FBVyxFQUNYQyxnQkFBTyxDQUFDckQsT0FBTyxDQUFDLENBQUMsRUFDakIsVUFBVUssR0FBbUIsRUFBRUMsR0FBb0IsRUFBRUMsSUFBc0IsRUFBUTtJQUNqRkQsR0FBRyxDQUFDZ0QsT0FBTyxDQUFDaEIsR0FBRyxDQUFDLGFBQWEsRUFBRWlCLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBQUMseUJBQWtCLEVBQUMsQ0FBQyxDQUFDO0lBRTNFbkQsSUFBSSxDQUFDO01BQ0hJLEVBQUUsRUFBRSxJQUFJO01BQ1JHLElBQUksRUFBRSxVQUFVO01BQ2hCNkMsS0FBSyxFQUFFO0lBQ1QsQ0FBQyxDQUFDO0VBQ0osQ0FDRixDQUFDO0VBRUQvRCxLQUFLLENBQUNnRSxHQUFHLENBQUM3RCxVQUFVLENBQUM7QUFDdkIifQ==
84
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2xvZGFzaCIsIl9jb25maWciLCJfbWlkZGxld2FyZSIsIl91dGlscyIsIl9hdXRoVXRpbHMiLCJfY29uc3RhbnRzIiwiX2xvZ2dlciIsIl91dGlsczIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9kZWZhdWx0Iiwicm91dGUiLCJhdXRoIiwiY29uZmlnIiwidXNlclJvdXRlciIsImV4cHJlc3MiLCJSb3V0ZXIiLCJnZXQiLCJyYXRlTGltaXQiLCJ1c2VyUmF0ZUxpbWl0IiwicmVxIiwicmVzIiwibmV4dCIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiT0siLCJvayIsImdldEF1dGhlbnRpY2F0ZWRNZXNzYWdlIiwicmVtb3RlX3VzZXIiLCJuYW1lIiwicHV0IiwicGFzc3dvcmQiLCJib2R5IiwicmVtb3RlTmFtZSIsIl8iLCJpc05pbCIsImF1dGhlbnRpY2F0ZSIsImNhbGxiYWNrQXV0aGVudGljYXRlIiwiZXJyIiwidXNlciIsImxvZ2dlciIsImVycm9yIiwiRXJyb3JDb2RlIiwiZ2V0Q29kZSIsIlVOQVVUSE9SSVpFRCIsIkFQSV9FUlJPUiIsIkJBRF9VU0VSTkFNRV9QQVNTV09SRCIsInJlc3RvcmVkUmVtb3RlVXNlciIsImNyZWF0ZVJlbW90ZVVzZXIiLCJncm91cHMiLCJ0b2tlbiIsImdldEFwaVRva2VuIiwiQ1JFQVRFRCIsInNldCIsIkhFQURFUlMiLCJDQUNIRV9DT05UUk9MIiwidmFsaWRhdGVQYXNzd29yZCIsIkJBRF9SRVFVRVNUIiwiUEFTU1dPUkRfU0hPUlQiLCJhZGRfdXNlciIsIklOVEVSTkFMX0VSUk9SIiwibWVzc2FnZSIsImdldENvbmZsaWN0IiwidW5kZWZpbmVkIiwiZGVsZXRlIiwiQVBJX01FU1NBR0UiLCJMT0dHRURfT1VUIiwidXNlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvdXNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29va2llcyBmcm9tICdjb29raWVzJztcbmltcG9ydCBleHByZXNzLCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IGNyZWF0ZVJlbW90ZVVzZXIgfSBmcm9tICdAdmVyZGFjY2lvL2NvbmZpZyc7XG5pbXBvcnQgeyByYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgQ29uZmlnLCBSZW1vdGVVc2VyIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVTZXNzaW9uVG9rZW4sIGdldEF1dGhlbnRpY2F0ZWRNZXNzYWdlIH0gZnJvbSAnQHZlcmRhY2Npby91dGlscyc7XG5cbmltcG9ydCBBdXRoIGZyb20gJy4uLy4uLy4uL2xpYi9hdXRoJztcbmltcG9ydCB7IGdldEFwaVRva2VuLCB2YWxpZGF0ZVBhc3N3b3JkIH0gZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgtdXRpbHMnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBBUElfTUVTU0FHRSwgSEVBREVSUywgSFRUUF9TVEFUVVMgfSBmcm9tICcuLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kLCAkUmVzcG9uc2VFeHRlbmQgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyb3V0ZTogUm91dGVyLCBhdXRoOiBBdXRoLCBjb25maWc6IENvbmZpZyk6IHZvaWQge1xuICAvKiBlc2xpbnQgbmV3LWNhcDpvZmYgKi9cbiAgY29uc3QgdXNlclJvdXRlciA9IGV4cHJlc3MuUm91dGVyKCk7XG5cbiAgdXNlclJvdXRlci5nZXQoXG4gICAgJy8tL3VzZXIvOm9yZ19jb3VjaGRiX3VzZXInLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgIG5leHQoe1xuICAgICAgICBvazogZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UocmVxLnJlbW90ZV91c2VyLm5hbWUpLFxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIHVzZXJSb3V0ZXIucHV0KFxuICAgICcvLS91c2VyLzpvcmdfY291Y2hkYl91c2VyLzpfcmV2Py86cmV2aXNpb24/JyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgY29uc3QgeyBuYW1lLCBwYXNzd29yZCB9ID0gcmVxLmJvZHk7XG4gICAgICBjb25zdCByZW1vdGVOYW1lID0gcmVxLnJlbW90ZV91c2VyLm5hbWU7XG5cbiAgICAgIGlmIChfLmlzTmlsKHJlbW90ZU5hbWUpID09PSBmYWxzZSAmJiBfLmlzTmlsKG5hbWUpID09PSBmYWxzZSAmJiByZW1vdGVOYW1lID09PSBuYW1lKSB7XG4gICAgICAgIGF1dGguYXV0aGVudGljYXRlKFxuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgYXN5bmMgZnVuY3Rpb24gY2FsbGJhY2tBdXRoZW50aWNhdGUoZXJyLCB1c2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgICB7IG5hbWUsIGVyciB9LFxuICAgICAgICAgICAgICAgICdhdXRoZW50aWNhdGluZyBmb3IgdXNlciBAe3VzZXJuYW1lfSBmYWlsZWQuIEVycm9yOiBAe2Vyci5tZXNzYWdlfSdcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICAgICAgRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVELCBBUElfRVJST1IuQkFEX1VTRVJOQU1FX1BBU1NXT1JEKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXN0b3JlZFJlbW90ZVVzZXI6IFJlbW90ZVVzZXIgPSBjcmVhdGVSZW1vdGVVc2VyKG5hbWUsIHVzZXIuZ3JvdXBzIHx8IFtdKTtcbiAgICAgICAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgZ2V0QXBpVG9rZW4oYXV0aCwgY29uZmlnLCByZXN0b3JlZFJlbW90ZVVzZXIsIHBhc3N3b3JkKTtcblxuICAgICAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgICAgIG9rOiBnZXRBdXRoZW50aWNhdGVkTWVzc2FnZShyZXEucmVtb3RlX3VzZXIubmFtZSksXG4gICAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHZhbGlkYXRlUGFzc3dvcmQocGFzc3dvcmQpID09PSBmYWxzZSkge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuQkFEX1JFUVVFU1QsIEFQSV9FUlJPUi5QQVNTV09SRF9TSE9SVCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXV0aC5hZGRfdXNlcihuYW1lLCBwYXNzd29yZCwgYXN5bmMgZnVuY3Rpb24gKGVyciwgdXNlcik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID49IEhUVFBfU1RBVFVTLkJBRF9SRVFVRVNUICYmIGVyci5zdGF0dXMgPCBIVFRQX1NUQVRVUy5JTlRFUk5BTF9FUlJPUikge1xuICAgICAgICAgICAgICAvLyBXaXRoIG5wbSByZWdpc3RlcmluZyBpcyB0aGUgc2FtZSBhcyBsb2dnaW5nIGluLFxuICAgICAgICAgICAgICAvLyBhbmQgbnBtIGFjY2VwdHMgb25seSBhbiA0MDkgZXJyb3IuXG4gICAgICAgICAgICAgIC8vIFNvLCBjaGFuZ2luZyBzdGF0dXMgY29kZSBoZXJlLlxuICAgICAgICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICAgICAgICBFcnJvckNvZGUuZ2V0Q29kZShlcnIuc3RhdHVzLCBlcnIubWVzc2FnZSkgfHwgRXJyb3JDb2RlLmdldENvbmZsaWN0KGVyci5tZXNzYWdlKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB0b2tlbiA9XG4gICAgICAgICAgICBuYW1lICYmIHBhc3N3b3JkID8gYXdhaXQgZ2V0QXBpVG9rZW4oYXV0aCwgY29uZmlnLCB1c2VyLCBwYXNzd29yZCkgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICByZXEucmVtb3RlX3VzZXIgPSB1c2VyO1xuICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgICAgcmVzLnNldChIRUFERVJTLkNBQ0hFX0NPTlRST0wsICduby1jYWNoZSwgbm8tc3RvcmUnKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgICBvazogYHVzZXIgJyR7cmVxLmJvZHkubmFtZX0nIGNyZWF0ZWRgLFxuICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgKTtcblxuICB1c2VyUm91dGVyLmRlbGV0ZShcbiAgICAnLy0vdXNlci90b2tlbi8qJyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5PSyk7XG4gICAgICBuZXh0KHtcbiAgICAgICAgb2s6IEFQSV9NRVNTQUdFLkxPR0dFRF9PVVQsXG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgcm91dGUudXNlKHVzZXJSb3V0ZXIpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFHQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxPQUFBLEdBQUFSLE9BQUE7QUFBK0MsU0FBQUQsdUJBQUFVLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFHaEMsU0FBQUcsU0FBVUMsS0FBYSxFQUFFQyxJQUFVLEVBQUVDLE1BQWMsRUFBUTtFQUN4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
@@ -11,4 +11,4 @@ export interface Profile {
11
11
  cidr_whitelist: string[] | null;
12
12
  fullname: string;
13
13
  }
14
- export default function (auth: Auth, config: ConfigYaml): Router;
14
+ export default function (router: Router, auth: Auth, config: ConfigYaml): void;
@@ -4,15 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = _default;
7
- var _express = require("express");
8
7
  var _lodash = _interopRequireDefault(require("lodash"));
9
8
  var _middleware = require("@verdaccio/middleware");
10
9
  var _authUtils = require("../../../../lib/auth-utils");
11
10
  var _constants = require("../../../../lib/constants");
12
11
  var _utils = require("../../../../lib/utils");
13
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- function _default(auth, config) {
15
- const profileRoute = (0, _express.Router)(); /* eslint new-cap: 0 */
13
+ function _default(router, auth, config) {
16
14
  function buildProfile(name) {
17
15
  return {
18
16
  tfa: false,
@@ -25,7 +23,7 @@ function _default(auth, config) {
25
23
  fullname: ''
26
24
  };
27
25
  }
28
- profileRoute.get('/user', (0, _middleware.rateLimit)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
26
+ router.get('/-/npm/v1/user', (0, _middleware.rateLimit)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
29
27
  if (_lodash.default.isNil(req.remote_user.name) === false) {
30
28
  return next(buildProfile(req.remote_user.name));
31
29
  }
@@ -34,7 +32,7 @@ function _default(auth, config) {
34
32
  message: _constants.API_ERROR.MUST_BE_LOGGED
35
33
  });
36
34
  });
37
- profileRoute.post('/user', (0, _middleware.rateLimit)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
35
+ router.post('/-/npm/v1/user', (0, _middleware.rateLimit)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
38
36
  if (_lodash.default.isNil(req.remote_user.name)) {
39
37
  res.status(_constants.HTTP_STATUS.UNAUTHORIZED);
40
38
  return next({
@@ -70,6 +68,5 @@ function _default(auth, config) {
70
68
  return next(_utils.ErrorCode.getCode(_constants.HTTP_STATUS.INTERNAL_ERROR, _constants.APP_ERROR.PROFILE_ERROR));
71
69
  }
72
70
  });
73
- return profileRoute;
74
71
  }
75
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9taWRkbGV3YXJlIiwiX2F1dGhVdGlscyIsIl9jb25zdGFudHMiLCJfdXRpbHMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9kZWZhdWx0IiwiYXV0aCIsImNvbmZpZyIsInByb2ZpbGVSb3V0ZSIsIlJvdXRlciIsImJ1aWxkUHJvZmlsZSIsIm5hbWUiLCJ0ZmEiLCJlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIiwiY3JlYXRlZCIsInVwZGF0ZWQiLCJjaWRyX3doaXRlbGlzdCIsImZ1bGxuYW1lIiwiZ2V0IiwicmF0ZUxpbWl0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsInJlcyIsIm5leHQiLCJfIiwiaXNOaWwiLCJyZW1vdGVfdXNlciIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiVU5BVVRIT1JJWkVEIiwibWVzc2FnZSIsIkFQSV9FUlJPUiIsIk1VU1RfQkVfTE9HR0VEIiwicG9zdCIsInBhc3N3b3JkIiwiYm9keSIsInZhbGlkYXRlUGFzc3dvcmQiLCJuZXciLCJFcnJvckNvZGUiLCJnZXRDb2RlIiwiUEFTU1dPUkRfU0hPUlQiLCJjaGFuZ2VQYXNzd29yZCIsIm9sZCIsImVyciIsImlzVXBkYXRlZCIsImlzTnVsbCIsImdldENvbmZsaWN0IiwiZ2V0SW50ZXJuYWxFcnJvciIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsIlNFUlZJQ0VfVU5BVkFJTEFCTEUiLCJTVVBQT1JUX0VSUk9SUyIsIlRGQV9ESVNBQkxFRCIsIklOVEVSTkFMX0VSUk9SIiwiQVBQX0VSUk9SIiwiUFJPRklMRV9FUlJPUiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3Byb2ZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgcmF0ZUxpbWl0IH0gZnJvbSAnQHZlcmRhY2Npby9taWRkbGV3YXJlJztcbmltcG9ydCB7IENvbmZpZ1lhbWwgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9hdXRoLXV0aWxzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgQVBQX0VSUk9SLCBIVFRQX1NUQVRVUywgU1VQUE9SVF9FUlJPUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IEVycm9yQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlIHtcbiAgdGZhOiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGVtYWlsX3ZlcmlmaWVkOiBib29sZWFuO1xuICBjcmVhdGVkOiBzdHJpbmc7XG4gIHVwZGF0ZWQ6IHN0cmluZztcbiAgY2lkcl93aGl0ZWxpc3Q6IHN0cmluZ1tdIHwgbnVsbDtcbiAgZnVsbG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGF1dGg6IEF1dGgsIGNvbmZpZzogQ29uZmlnWWFtbCk6IFJvdXRlciB7XG4gIGNvbnN0IHByb2ZpbGVSb3V0ZSA9IFJvdXRlcigpOyAvKiBlc2xpbnQgbmV3LWNhcDogMCAqL1xuICBmdW5jdGlvbiBidWlsZFByb2ZpbGUobmFtZTogc3RyaW5nKTogUHJvZmlsZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRmYTogZmFsc2UsXG4gICAgICBuYW1lLFxuICAgICAgZW1haWw6ICcnLFxuICAgICAgZW1haWxfdmVyaWZpZWQ6IGZhbHNlLFxuICAgICAgY3JlYXRlZDogJycsXG4gICAgICB1cGRhdGVkOiAnJyxcbiAgICAgIGNpZHJfd2hpdGVsaXN0OiBudWxsLFxuICAgICAgZnVsbG5hbWU6ICcnLFxuICAgIH07XG4gIH1cblxuICBwcm9maWxlUm91dGUuZ2V0KFxuICAgICcvdXNlcicsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIGlmIChfLmlzTmlsKHJlcS5yZW1vdGVfdXNlci5uYW1lKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoYnVpbGRQcm9maWxlKHJlcS5yZW1vdGVfdXNlci5uYW1lKSk7XG4gICAgICB9XG5cbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEKTtcbiAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgbWVzc2FnZTogQVBJX0VSUk9SLk1VU1RfQkVfTE9HR0VELFxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIHByb2ZpbGVSb3V0ZS5wb3N0KFxuICAgICcvdXNlcicsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIGlmIChfLmlzTmlsKHJlcS5yZW1vdGVfdXNlci5uYW1lKSkge1xuICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCk7XG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBtZXNzYWdlOiBBUElfRVJST1IuTVVTVF9CRV9MT0dHRUQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHBhc3N3b3JkLCB0ZmEgfSA9IHJlcS5ib2R5O1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICAgIGlmIChfLmlzTmlsKHBhc3N3b3JkKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHZhbGlkYXRlUGFzc3dvcmQocGFzc3dvcmQubmV3KSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAvKiBlc2xpbnQgbmV3LWNhcDpvZmYgKi9cbiAgICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQsIEFQSV9FUlJPUi5QQVNTV09SRF9TSE9SVCkpO1xuICAgICAgICAgIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAgICAgICB9XG5cbiAgICAgICAgYXV0aC5jaGFuZ2VQYXNzd29yZChcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHBhc3N3b3JkLm9sZCxcbiAgICAgICAgICBwYXNzd29yZC5uZXcsXG4gICAgICAgICAgKGVyciwgaXNVcGRhdGVkKTogJE5leHRGdW5jdGlvblZlciA9PiB7XG4gICAgICAgICAgICBpZiAoXy5pc051bGwoZXJyKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICAgICAgRXJyb3JDb2RlLmdldENvZGUoZXJyLnN0YXR1cywgZXJyLm1lc3NhZ2UpIHx8IEVycm9yQ29kZS5nZXRDb25mbGljdChlcnIubWVzc2FnZSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGlzVXBkYXRlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dChidWlsZFByb2ZpbGUocmVxLnJlbW90ZV91c2VyLm5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRJbnRlcm5hbEVycm9yKEFQSV9FUlJPUi5JTlRFUk5BTF9TRVJWRVJfRVJST1IpKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKF8uaXNOaWwodGZhKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuU0VSVklDRV9VTkFWQUlMQUJMRSwgU1VQUE9SVF9FUlJPUlMuVEZBX0RJU0FCTEVEKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IsIEFQUF9FUlJPUi5QUk9GSUxFX0VSUk9SKSk7XG4gICAgICB9XG4gICAgfVxuICApO1xuXG4gIHJldHVybiBwcm9maWxlUm91dGU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUlBLElBQUFJLFVBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUFrRCxTQUFBRSx1QkFBQUssR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQWNuQyxTQUFBRyxTQUFVQyxJQUFVLEVBQUVDLE1BQWtCLEVBQVU7RUFDL0QsTUFBTUMsWUFBWSxHQUFHLElBQUFDLGVBQU0sRUFBQyxDQUFDLENBQUMsQ0FBQztFQUMvQixTQUFTQyxZQUFZQSxDQUFDQyxJQUFZLEVBQVc7SUFDM0MsT0FBTztNQUNMQyxHQUFHLEVBQUUsS0FBSztNQUNWRCxJQUFJO01BQ0pFLEtBQUssRUFBRSxFQUFFO01BQ1RDLGNBQWMsRUFBRSxLQUFLO01BQ3JCQyxPQUFPLEVBQUUsRUFBRTtNQUNYQyxPQUFPLEVBQUUsRUFBRTtNQUNY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
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWlkZGxld2FyZSIsIl9hdXRoVXRpbHMiLCJfY29uc3RhbnRzIiwiX3V0aWxzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZGVmYXVsdCIsInJvdXRlciIsImF1dGgiLCJjb25maWciLCJidWlsZFByb2ZpbGUiLCJuYW1lIiwidGZhIiwiZW1haWwiLCJlbWFpbF92ZXJpZmllZCIsImNyZWF0ZWQiLCJ1cGRhdGVkIiwiY2lkcl93aGl0ZWxpc3QiLCJmdWxsbmFtZSIsImdldCIsInJhdGVMaW1pdCIsInVzZXJSYXRlTGltaXQiLCJyZXEiLCJyZXMiLCJuZXh0IiwiXyIsImlzTmlsIiwicmVtb3RlX3VzZXIiLCJzdGF0dXMiLCJIVFRQX1NUQVRVUyIsIlVOQVVUSE9SSVpFRCIsIm1lc3NhZ2UiLCJBUElfRVJST1IiLCJNVVNUX0JFX0xPR0dFRCIsInBvc3QiLCJwYXNzd29yZCIsImJvZHkiLCJ2YWxpZGF0ZVBhc3N3b3JkIiwibmV3IiwiRXJyb3JDb2RlIiwiZ2V0Q29kZSIsIlBBU1NXT1JEX1NIT1JUIiwiY2hhbmdlUGFzc3dvcmQiLCJvbGQiLCJlcnIiLCJpc1VwZGF0ZWQiLCJpc051bGwiLCJnZXRDb25mbGljdCIsImdldEludGVybmFsRXJyb3IiLCJJTlRFUk5BTF9TRVJWRVJfRVJST1IiLCJTRVJWSUNFX1VOQVZBSUxBQkxFIiwiU1VQUE9SVF9FUlJPUlMiLCJURkFfRElTQUJMRUQiLCJJTlRFUk5BTF9FUlJPUiIsIkFQUF9FUlJPUiIsIlBST0ZJTEVfRVJST1IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS92MS9wcm9maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IHJhdGVMaW1pdCB9IGZyb20gJ0B2ZXJkYWNjaW8vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBDb25maWdZYW1sIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmltcG9ydCBBdXRoIGZyb20gJy4uLy4uLy4uLy4uL2xpYi9hdXRoJztcbmltcG9ydCB7IHZhbGlkYXRlUGFzc3dvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBBUElfRVJST1IsIEFQUF9FUlJPUiwgSFRUUF9TVEFUVVMsIFNVUFBPUlRfRVJST1JTIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZSB7XG4gIHRmYTogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZDogYm9vbGVhbjtcbiAgY3JlYXRlZDogc3RyaW5nO1xuICB1cGRhdGVkOiBzdHJpbmc7XG4gIGNpZHJfd2hpdGVsaXN0OiBzdHJpbmdbXSB8IG51bGw7XG4gIGZ1bGxuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyb3V0ZXI6IFJvdXRlciwgYXV0aDogQXV0aCwgY29uZmlnOiBDb25maWdZYW1sKSB7XG4gIGZ1bmN0aW9uIGJ1aWxkUHJvZmlsZShuYW1lOiBzdHJpbmcpOiBQcm9maWxlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGZhOiBmYWxzZSxcbiAgICAgIG5hbWUsXG4gICAgICBlbWFpbDogJycsXG4gICAgICBlbWFpbF92ZXJpZmllZDogZmFsc2UsXG4gICAgICBjcmVhdGVkOiAnJyxcbiAgICAgIHVwZGF0ZWQ6ICcnLFxuICAgICAgY2lkcl93aGl0ZWxpc3Q6IG51bGwsXG4gICAgICBmdWxsbmFtZTogJycsXG4gICAgfTtcbiAgfVxuXG4gIHJvdXRlci5nZXQoXG4gICAgJy8tL25wbS92MS91c2VyJyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgaWYgKF8uaXNOaWwocmVxLnJlbW90ZV91c2VyLm5hbWUpID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gbmV4dChidWlsZFByb2ZpbGUocmVxLnJlbW90ZV91c2VyLm5hbWUpKTtcbiAgICAgIH1cblxuICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQpO1xuICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICBtZXNzYWdlOiBBUElfRVJST1IuTVVTVF9CRV9MT0dHRUQsXG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgcm91dGVyLnBvc3QoXG4gICAgJy8tL25wbS92MS91c2VyJyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgaWYgKF8uaXNOaWwocmVxLnJlbW90ZV91c2VyLm5hbWUpKSB7XG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEKTtcbiAgICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAgIG1lc3NhZ2U6IEFQSV9FUlJPUi5NVVNUX0JFX0xPR0dFRCxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgcGFzc3dvcmQsIHRmYSB9ID0gcmVxLmJvZHk7XG4gICAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgICAgaWYgKF8uaXNOaWwocGFzc3dvcmQpID09PSBmYWxzZSkge1xuICAgICAgICBpZiAodmFsaWRhdGVQYXNzd29yZChwYXNzd29yZC5uZXcpID09PSBmYWxzZSkge1xuICAgICAgICAgIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCwgQVBJX0VSUk9SLlBBU1NXT1JEX1NIT1JUKSk7XG4gICAgICAgICAgLyogZXNsaW50IG5ldy1jYXA6b2ZmICovXG4gICAgICAgIH1cblxuICAgICAgICBhdXRoLmNoYW5nZVBhc3N3b3JkKFxuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgcGFzc3dvcmQub2xkLFxuICAgICAgICAgIHBhc3N3b3JkLm5ldyxcbiAgICAgICAgICAoZXJyLCBpc1VwZGF0ZWQpOiAkTmV4dEZ1bmN0aW9uVmVyID0+IHtcbiAgICAgICAgICAgIGlmIChfLmlzTnVsbChlcnIpID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICAgICAgICBFcnJvckNvZGUuZ2V0Q29kZShlcnIuc3RhdHVzLCBlcnIubWVzc2FnZSkgfHwgRXJyb3JDb2RlLmdldENvbmZsaWN0KGVyci5tZXNzYWdlKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXNVcGRhdGVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KGJ1aWxkUHJvZmlsZShyZXEucmVtb3RlX3VzZXIubmFtZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldEludGVybmFsRXJyb3IoQVBJX0VSUk9SLklOVEVSTkFMX1NFUlZFUl9FUlJPUikpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoXy5pc05pbCh0ZmEpID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICBFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5TRVJWSUNFX1VOQVZBSUxBQkxFLCBTVVBQT1JUX0VSUk9SUy5URkFfRElTQUJMRUQpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5JTlRFUk5BTF9FUlJPUiwgQVBQX0VSUk9SLlBST0ZJTEVfRVJST1IpKTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUlBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUFrRCxTQUFBRCx1QkFBQU0sR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQWNuQyxTQUFBRyxTQUFVQyxNQUFjLEVBQUVDLElBQVUsRUFBRUMsTUFBa0IsRUFBRTtFQUN2RSxTQUFTQyxZQUFZQSxDQUFDQyxJQUFZLEVBQVc7SUFDM0MsT0FBTztNQUNMQyxHQUFHLEVBQUUsS0FBSztNQUNWRCxJQUFJO01BQ0pFLEtBQUssRUFBRSxFQUFFO01BQ1RDLGNBQWMsRUFBRSxLQUFLO01BQ3JCQyxPQUFPLEVBQUUsRUFBRTtNQUNYQyxPQUFPLEVBQUUsRUFBRTtNQUNYQyxjQUFjLEVBQUUsSUFBSTtNQUNwQkMsUUFBUSxFQUFFO0lBQ1osQ0FBQztFQUNIO0VBRUFYLE1BQU0sQ0FBQ1ksR0FBRyxDQUNSLGdCQUFnQixFQUNoQixJQUFBQyxxQkFBUyxFQUFDWCxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRVksYUFBYSxDQUFDLEVBQ2hDLFVBQVVDLEdB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
@@ -5,4 +5,4 @@ import Storage from '../../../../lib/storage';
5
5
  export type NormalizeToken = Token & {
6
6
  created: string;
7
7
  };
8
- export default function (auth: Auth, storage: Storage, config: Config): Router;
8
+ export default function (router: Router, auth: Auth, storage: Storage, config: Config): void;
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = _default;
7
7
  var _debug = _interopRequireDefault(require("debug"));
8
- var _express = require("express");
9
8
  var _lodash = _interopRequireDefault(require("lodash"));
10
9
  var _middleware = require("@verdaccio/middleware");
11
10
  var _utils = require("@verdaccio/utils");
@@ -27,9 +26,8 @@ function normalizeToken(token) {
27
26
  }
28
27
 
29
28
  // https://github.com/npm/npm-profile/blob/latest/lib/index.js
30
- function _default(auth, storage, config) {
31
- const tokenRoute = (0, _express.Router)(); /* eslint new-cap: 0 */
32
- tokenRoute.get('/tokens', (0, _middleware.rateLimit)(config === null || config === void 0 ? void 0 : config.userRateLimit), async function (req, res, next) {
29
+ function _default(router, auth, storage, config) {
30
+ router.get('/-/npm/v1/tokens', (0, _middleware.rateLimit)(config === null || config === void 0 ? void 0 : config.userRateLimit), async function (req, res, next) {
33
31
  const {
34
32
  name
35
33
  } = req.remote_user;
@@ -56,7 +54,7 @@ function _default(auth, storage, config) {
56
54
  }
57
55
  return next(_utils2.ErrorCode.getUnauthorized());
58
56
  });
59
- tokenRoute.post('/tokens', (0, _middleware.rateLimit)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
57
+ router.post('/-/npm/v1/tokens', (0, _middleware.rateLimit)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
60
58
  const {
61
59
  password,
62
60
  readonly,
@@ -115,7 +113,7 @@ function _default(auth, storage, config) {
115
113
  }
116
114
  });
117
115
  });
118
- tokenRoute.delete('/tokens/token/:tokenKey', (0, _middleware.rateLimit)(config === null || config === void 0 ? void 0 : config.userRateLimit), async (req, res, next) => {
116
+ router.delete('/-/npm/v1/tokens/token/:tokenKey', (0, _middleware.rateLimit)(config === null || config === void 0 ? void 0 : config.userRateLimit), async (req, res, next) => {
119
117
  const {
120
118
  params: {
121
119
  tokenKey
@@ -142,6 +140,5 @@ function _default(auth, storage, config) {
142
140
  }
143
141
  return next(_utils2.ErrorCode.getUnauthorized());
144
142
  });
145
- return tokenRoute;
146
143
  }
147
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9leHByZXNzIiwiX2xvZGFzaCIsIl9taWRkbGV3YXJlIiwiX3V0aWxzIiwiX2F1dGhVdGlscyIsIl9jb25zdGFudHMiLCJfbG9nZ2VyIiwiX3V0aWxzMiIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJkZWJ1ZyIsImJ1aWxkRGVidWciLCJub3JtYWxpemVUb2tlbiIsInRva2VuIiwiY3JlYXRlZCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsIl9kZWZhdWx0IiwiYXV0aCIsInN0b3JhZ2UiLCJjb25maWciLCJ0b2tlblJvdXRlIiwiUm91dGVyIiwiZ2V0IiwicmF0ZUxpbWl0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsIm5leHQiLCJuYW1lIiwicmVtb3RlX3VzZXIiLCJfIiwiaXNOaWwiLCJ0b2tlbnMiLCJyZWFkVG9rZW5zIiwidXNlciIsInRvdGFsVG9rZW5zIiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJPSyIsIm9iamVjdHMiLCJtYXAiLCJ1cmxzIiwiZXJyb3IiLCJsb2dnZXIiLCJtc2ciLCJFcnJvckNvZGUiLCJnZXRDb2RlIiwiSU5URVJOQUxfRVJST1IiLCJtZXNzYWdlIiwiZ2V0VW5hdXRob3JpemVkIiwicG9zdCIsInBhc3N3b3JkIiwicmVhZG9ubHkiLCJjaWRyX3doaXRlbGlzdCIsImJvZHkiLCJpc0Jvb2xlYW4iLCJpc0FycmF5IiwiQkFEX0RBVEEiLCJTVVBQT1JUX0VSUk9SUyIsIlBBUkFNRVRFUlNfTk9UX1ZBTElEIiwiYXV0aGVudGljYXRlIiwiZXJyIiwiZXJyb3JDb2RlIiwiVU5BVVRIT1JJWkVEIiwiaXNGdW5jdGlvbiIsInNhdmVUb2tlbiIsIk5PVF9JTVBMRU1FTlRFRCIsIlNUT1JBR0VfTk9UX0lNUExFTUVOVCIsImdldEFwaVRva2VuIiwic3RyaW5nVG9NRDUiLCJtYXNrZWRUb2tlbiIsIm1hc2siLCJnZXRUaW1lIiwiY2lkciIsInNldCIsIkhFQURFUlMiLCJDQUNIRV9DT05UUk9MIiwiZGVsZXRlIiwicGFyYW1zIiwidG9rZW5LZXkiLCJkZWxldGVUb2tlbiIsImluZm8iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS92MS90b2tlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnVpbGREZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBSZXNwb25zZSwgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyByYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgQ29uZmlnLCBSZW1vdGVVc2VyLCBUb2tlbiB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IHsgc3RyaW5nVG9NRDUgfSBmcm9tICdAdmVyZGFjY2lvL3V0aWxzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgZ2V0QXBpVG9rZW4gfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBIRUFERVJTLCBIVFRQX1NUQVRVUywgU1VQUE9SVF9FUlJPUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IFN0b3JhZ2UgZnJvbSAnLi4vLi4vLi4vLi4vbGliL3N0b3JhZ2UnO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBtYXNrIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ3ZlcmRhY2Npbzp0b2tlbicpO1xuZXhwb3J0IHR5cGUgTm9ybWFsaXplVG9rZW4gPSBUb2tlbiAmIHtcbiAgY3JlYXRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gbm9ybWFsaXplVG9rZW4odG9rZW46IFRva2VuKTogTm9ybWFsaXplVG9rZW4ge1xuICByZXR1cm4ge1xuICAgIC4uLnRva2VuLFxuICAgIGNyZWF0ZWQ6IG5ldyBEYXRlKHRva2VuLmNyZWF0ZWQpLnRvSVNPU3RyaW5nKCksXG4gIH07XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ucG0vbnBtLXByb2ZpbGUvYmxvYi9sYXRlc3QvbGliL2luZGV4LmpzXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoYXV0aDogQXV0aCwgc3RvcmFnZTogU3RvcmFnZSwgY29uZmlnOiBDb25maWcpOiBSb3V0ZXIge1xuICBjb25zdCB0b2tlblJvdXRlID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG4gIHRva2VuUm91dGUuZ2V0KFxuICAgICcvdG9rZW5zJyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBhc3luYyBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICAgIGlmIChfLmlzTmlsKG5hbWUpID09PSBmYWxzZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHRva2VucyA9IGF3YWl0IHN0b3JhZ2UucmVhZFRva2Vucyh7IHVzZXI6IG5hbWUgfSk7XG4gICAgICAgICAgY29uc3QgdG90YWxUb2tlbnMgPSB0b2tlbnMubGVuZ3RoO1xuICAgICAgICAgIGRlYnVnKCd0b2tlbiBsaXN0IHJldHJpZXZlZDogJW8nLCB0b3RhbFRva2Vucyk7XG4gICAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5PSyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAgICAgb2JqZWN0czogdG9rZW5zLm1hcChub3JtYWxpemVUb2tlbiksXG4gICAgICAgICAgICB1cmxzOiB7XG4gICAgICAgICAgICAgIG5leHQ6ICcnLCAvLyBUT0RPOiBwYWdpbmF0aW9uP1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgIGxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnJvci5tc2cgfSwgJ3Rva2VuIGxpc3QgaGFzIGZhaWxlZDogQHtlcnJvcn0nKTtcbiAgICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5JTlRFUk5BTF9FUlJPUiwgZXJyb3IubWVzc2FnZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0VW5hdXRob3JpemVkKCkpO1xuICAgIH1cbiAgKTtcblxuICB0b2tlblJvdXRlLnBvc3QoXG4gICAgJy90b2tlbnMnLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKSB7XG4gICAgICBjb25zdCB7IHBhc3N3b3JkLCByZWFkb25seSwgY2lkcl93aGl0ZWxpc3QgfSA9IHJlcS5ib2R5O1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICAgIGlmICghXy5pc0Jvb2xlYW4ocmVhZG9ubHkpIHx8ICFfLmlzQXJyYXkoY2lkcl93aGl0ZWxpc3QpKSB7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLkJBRF9EQVRBLCBTVVBQT1JUX0VSUk9SUy5QQVJBTUVURVJTX05PVF9WQUxJRCkpO1xuICAgICAgfVxuXG4gICAgICBhdXRoLmF1dGhlbnRpY2F0ZShuYW1lLCBwYXNzd29yZCwgYXN5bmMgKGVyciwgdXNlcjogUmVtb3RlVXNlcikgPT4ge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgY29uc3QgZXJyb3JDb2RlID0gZXJyLm1lc3NhZ2UgPyBIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQgOiBIVFRQX1NUQVRVUy5JTlRFUk5BTF9FUlJPUjtcbiAgICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShlcnJvckNvZGUsIGVyci5tZXNzYWdlKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXEucmVtb3RlX3VzZXIgPSB1c2VyO1xuXG4gICAgICAgIGlmICghXy5pc0Z1bmN0aW9uKHN0b3JhZ2Uuc2F2ZVRva2VuKSkge1xuICAgICAgICAgIHJldHVybiBuZXh0KFxuICAgICAgICAgICAgRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuTk9UX0lNUExFTUVOVEVELCBTVVBQT1JUX0VSUk9SUy5TVE9SQUdFX05PVF9JTVBMRU1FTlQpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCBnZXRBcGlUb2tlbihhdXRoLCBjb25maWcsIHVzZXIsIHBhc3N3b3JkKTtcbiAgICAgICAgICBjb25zdCBrZXkgPSBzdHJpbmdUb01ENSh0b2tlbik7XG4gICAgICAgICAgLy8gVE9ETzogdXNlIGEgdXRpbGl0eSBoZXJlXG4gICAgICAgICAgY29uc3QgbWFza2VkVG9rZW4gPSBtYXNrKHRva2VuLCA1KTtcbiAgICAgICAgICBjb25zdCBjcmVhdGVkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBjaWRyX3doaXRlbGlzdDogaXMgbm90IGJlaW5nIHVzZWQsIHdlIHBhc3MgaXQgdGhyb3VnaFxuICAgICAgICAgICAqIHRva2VuOiB3ZSBkbyBub3Qgc3RvcmUgdGhlIHJlYWwgdG9rZW4gKGl0IGlzIGdlbmVyYXRlZCBvbmNlIGFuZCByZXRyaWV2ZWQgdG8gdGhlIHVzZXIpLCBqdXN0IGEgbWFzayBvZiBpdC5cbiAgICAgICAgICAgKi9cbiAgICAgICAgICBjb25zdCBzYXZlVG9rZW46IFRva2VuID0ge1xuICAgICAgICAgICAgdXNlcjogbmFtZSxcbiAgICAgICAgICAgIHRva2VuOiBtYXNrZWRUb2tlbixcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIGNpZHI6IGNpZHJfd2hpdGVsaXN0LFxuICAgICAgICAgICAgcmVhZG9ubHksXG4gICAgICAgICAgICBjcmVhdGVkLFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBhd2FpdCBzdG9yYWdlLnNhdmVUb2tlbihzYXZlVG9rZW4pO1xuICAgICAgICAgIGRlYnVnKCd0b2tlbiAlbyB3YXMgY3JlYXRlZCBmb3IgdXNlciAlbycsIGtleSwgbmFtZSk7XG4gICAgICAgICAgcmVzLnNldChIRUFERVJTLkNBQ0hFX0NPTlRST0wsICduby1jYWNoZSwgbm8tc3RvcmUnKTtcbiAgICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICAgIG5vcm1hbGl6ZVRva2VuKHtcbiAgICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICAgIHVzZXI6IG5hbWUsXG4gICAgICAgICAgICAgIGtleTogc2F2ZVRva2VuLmtleSxcbiAgICAgICAgICAgICAgY2lkcjogY2lkcl93aGl0ZWxpc3QsXG4gICAgICAgICAgICAgIHJlYWRvbmx5LFxuICAgICAgICAgICAgICBjcmVhdGVkOiBzYXZlVG9rZW4uY3JlYXRlZCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgIGxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnJvci5tc2cgfSwgJ3Rva2VuIGNyZWF0aW9uIGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IsIGVycm9yLm1lc3NhZ2UpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIHRva2VuUm91dGUuZGVsZXRlKFxuICAgICcvdG9rZW5zL3Rva2VuLzp0b2tlbktleScsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgYXN5bmMgKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGFyYW1zOiB7IHRva2VuS2V5IH0sXG4gICAgICB9ID0gcmVxO1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICAgIGlmIChfLmlzTmlsKG5hbWUpID09PSBmYWxzZSkge1xuICAgICAgICBkZWJ1ZygnJW8gaGFzIHJlcXVlc3RlZCByZW1vdmUgYSB0b2tlbicsIG5hbWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHN0b3JhZ2UuZGVsZXRlVG9rZW4obmFtZSwgdG9rZW5LZXkpO1xuICAgICAgICAgIGxvZ2dlci5pbmZvKHsgdG9rZW5LZXksIG5hbWUgfSwgJ3Rva2VuIGlkIEB7dG9rZW5LZXl9IHdhcyByZXZva2VkIGZvciB1c2VyIEB7bmFtZX0nKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7fSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gICAgfVxuICApO1xuXG4gIHJldHVybiB0b2tlblJvdXRlO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFHQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFFQSxJQUFBUSxPQUFBLEdBQUFSLE9BQUE7QUFBd0QsU0FBQUQsdUJBQUFVLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFB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
144
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfbWlkZGxld2FyZSIsIl91dGlscyIsIl9hdXRoVXRpbHMiLCJfY29uc3RhbnRzIiwiX2xvZ2dlciIsIl91dGlsczIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIm93bktleXMiLCJvYmplY3QiLCJlbnVtZXJhYmxlT25seSIsImtleXMiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJzeW1ib2xzIiwiZmlsdGVyIiwic3ltIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJ0YXJnZXQiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic291cmNlIiwiZm9yRWFjaCIsImtleSIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwiZGVidWciLCJidWlsZERlYnVnIiwibm9ybWFsaXplVG9rZW4iLCJ0b2tlbiIsImNyZWF0ZWQiLCJEYXRlIiwidG9JU09TdHJpbmciLCJfZGVmYXVsdCIsInJvdXRlciIsImF1dGgiLCJzdG9yYWdlIiwiY29uZmlnIiwiZ2V0IiwicmF0ZUxpbWl0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsIm5leHQiLCJuYW1lIiwicmVtb3RlX3VzZXIiLCJfIiwiaXNOaWwiLCJ0b2tlbnMiLCJyZWFkVG9rZW5zIiwidXNlciIsInRvdGFsVG9rZW5zIiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJPSyIsIm9iamVjdHMiLCJtYXAiLCJ1cmxzIiwiZXJyb3IiLCJsb2dnZXIiLCJtc2ciLCJFcnJvckNvZGUiLCJnZXRDb2RlIiwiSU5URVJOQUxfRVJST1IiLCJtZXNzYWdlIiwiZ2V0VW5hdXRob3JpemVkIiwicG9zdCIsInBhc3N3b3JkIiwicmVhZG9ubHkiLCJjaWRyX3doaXRlbGlzdCIsImJvZHkiLCJpc0Jvb2xlYW4iLCJpc0FycmF5IiwiQkFEX0RBVEEiLCJTVVBQT1JUX0VSUk9SUyIsIlBBUkFNRVRFUlNfTk9UX1ZBTElEIiwiYXV0aGVudGljYXRlIiwiZXJyIiwiZXJyb3JDb2RlIiwiVU5BVVRIT1JJWkVEIiwiaXNGdW5jdGlvbiIsInNhdmVUb2tlbiIsIk5PVF9JTVBMRU1FTlRFRCIsIlNUT1JBR0VfTk9UX0lNUExFTUVOVCIsImdldEFwaVRva2VuIiwic3RyaW5nVG9NRDUiLCJtYXNrZWRUb2tlbiIsIm1hc2siLCJnZXRUaW1lIiwiY2lkciIsInNldCIsIkhFQURFUlMiLCJDQUNIRV9DT05UUk9MIiwiZGVsZXRlIiwicGFyYW1zIiwidG9rZW5LZXkiLCJkZWxldGVUb2tlbiIsImluZm8iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS92MS90b2tlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnVpbGREZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBSZXNwb25zZSwgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyByYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgQ29uZmlnLCBSZW1vdGVVc2VyLCBUb2tlbiB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IHsgc3RyaW5nVG9NRDUgfSBmcm9tICdAdmVyZGFjY2lvL3V0aWxzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgZ2V0QXBpVG9rZW4gfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBIRUFERVJTLCBIVFRQX1NUQVRVUywgU1VQUE9SVF9FUlJPUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IFN0b3JhZ2UgZnJvbSAnLi4vLi4vLi4vLi4vbGliL3N0b3JhZ2UnO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBtYXNrIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ3ZlcmRhY2Npbzp0b2tlbicpO1xuZXhwb3J0IHR5cGUgTm9ybWFsaXplVG9rZW4gPSBUb2tlbiAmIHtcbiAgY3JlYXRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gbm9ybWFsaXplVG9rZW4odG9rZW46IFRva2VuKTogTm9ybWFsaXplVG9rZW4ge1xuICByZXR1cm4ge1xuICAgIC4uLnRva2VuLFxuICAgIGNyZWF0ZWQ6IG5ldyBEYXRlKHRva2VuLmNyZWF0ZWQpLnRvSVNPU3RyaW5nKCksXG4gIH07XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ucG0vbnBtLXByb2ZpbGUvYmxvYi9sYXRlc3QvbGliL2luZGV4LmpzXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGVyOiBSb3V0ZXIsIGF1dGg6IEF1dGgsIHN0b3JhZ2U6IFN0b3JhZ2UsIGNvbmZpZzogQ29uZmlnKSB7XG4gIHJvdXRlci5nZXQoXG4gICAgJy8tL25wbS92MS90b2tlbnMnLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGFzeW5jIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKSB7XG4gICAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgICAgaWYgKF8uaXNOaWwobmFtZSkgPT09IGZhbHNlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgdG9rZW5zID0gYXdhaXQgc3RvcmFnZS5yZWFkVG9rZW5zKHsgdXNlcjogbmFtZSB9KTtcbiAgICAgICAgICBjb25zdCB0b3RhbFRva2VucyA9IHRva2Vucy5sZW5ndGg7XG4gICAgICAgICAgZGVidWcoJ3Rva2VuIGxpc3QgcmV0cmlldmVkOiAlbycsIHRvdGFsVG9rZW5zKTtcbiAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgICBvYmplY3RzOiB0b2tlbnMubWFwKG5vcm1hbGl6ZVRva2VuKSxcbiAgICAgICAgICAgIHVybHM6IHtcbiAgICAgICAgICAgICAgbmV4dDogJycsIC8vIFRPRE86IHBhZ2luYXRpb24/XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgbG9nZ2VyLmVycm9yKHsgZXJyb3I6IGVycm9yLm1zZyB9LCAndG9rZW4gbGlzdCBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gICAgfVxuICApO1xuXG4gIHJvdXRlci5wb3N0KFxuICAgICcvLS9ucG0vdjEvdG9rZW5zJyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgICAgY29uc3QgeyBwYXNzd29yZCwgcmVhZG9ubHksIGNpZHJfd2hpdGVsaXN0IH0gPSByZXEuYm9keTtcbiAgICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgICBpZiAoIV8uaXNCb29sZWFuKHJlYWRvbmx5KSB8fCAhXy5pc0FycmF5KGNpZHJfd2hpdGVsaXN0KSkge1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5CQURfREFUQSwgU1VQUE9SVF9FUlJPUlMuUEFSQU1FVEVSU19OT1RfVkFMSUQpKTtcbiAgICAgIH1cblxuICAgICAgYXV0aC5hdXRoZW50aWNhdGUobmFtZSwgcGFzc3dvcmQsIGFzeW5jIChlcnIsIHVzZXI6IFJlbW90ZVVzZXIpID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIGNvbnN0IGVycm9yQ29kZSA9IGVyci5tZXNzYWdlID8gSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEIDogSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1I7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoZXJyb3JDb2RlLCBlcnIubWVzc2FnZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVxLnJlbW90ZV91c2VyID0gdXNlcjtcblxuICAgICAgICBpZiAoIV8uaXNGdW5jdGlvbihzdG9yYWdlLnNhdmVUb2tlbikpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICAgIEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLk5PVF9JTVBMRU1FTlRFRCwgU1VQUE9SVF9FUlJPUlMuU1RPUkFHRV9OT1RfSU1QTEVNRU5UKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgZ2V0QXBpVG9rZW4oYXV0aCwgY29uZmlnLCB1c2VyLCBwYXNzd29yZCk7XG4gICAgICAgICAgY29uc3Qga2V5ID0gc3RyaW5nVG9NRDUodG9rZW4pO1xuICAgICAgICAgIC8vIFRPRE86IHVzZSBhIHV0aWxpdHkgaGVyZVxuICAgICAgICAgIGNvbnN0IG1hc2tlZFRva2VuID0gbWFzayh0b2tlbiwgNSk7XG4gICAgICAgICAgY29uc3QgY3JlYXRlZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogY2lkcl93aGl0ZWxpc3Q6IGlzIG5vdCBiZWluZyB1c2VkLCB3ZSBwYXNzIGl0IHRocm91Z2hcbiAgICAgICAgICAgKiB0b2tlbjogd2UgZG8gbm90IHN0b3JlIHRoZSByZWFsIHRva2VuIChpdCBpcyBnZW5lcmF0ZWQgb25jZSBhbmQgcmV0cmlldmVkIHRvIHRoZSB1c2VyKSwganVzdCBhIG1hc2sgb2YgaXQuXG4gICAgICAgICAgICovXG4gICAgICAgICAgY29uc3Qgc2F2ZVRva2VuOiBUb2tlbiA9IHtcbiAgICAgICAgICAgIHVzZXI6IG5hbWUsXG4gICAgICAgICAgICB0b2tlbjogbWFza2VkVG9rZW4sXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBjaWRyOiBjaWRyX3doaXRlbGlzdCxcbiAgICAgICAgICAgIHJlYWRvbmx5LFxuICAgICAgICAgICAgY3JlYXRlZCxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgYXdhaXQgc3RvcmFnZS5zYXZlVG9rZW4oc2F2ZVRva2VuKTtcbiAgICAgICAgICBkZWJ1ZygndG9rZW4gJW8gd2FzIGNyZWF0ZWQgZm9yIHVzZXIgJW8nLCBrZXksIG5hbWUpO1xuICAgICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICBub3JtYWxpemVUb2tlbih7XG4gICAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgICB1c2VyOiBuYW1lLFxuICAgICAgICAgICAgICBrZXk6IHNhdmVUb2tlbi5rZXksXG4gICAgICAgICAgICAgIGNpZHI6IGNpZHJfd2hpdGVsaXN0LFxuICAgICAgICAgICAgICByZWFkb25seSxcbiAgICAgICAgICAgICAgY3JlYXRlZDogc2F2ZVRva2VuLmNyZWF0ZWQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICByb3V0ZXIuZGVsZXRlKFxuICAgICcvLS9ucG0vdjEvdG9rZW5zL3Rva2VuLzp0b2tlbktleScsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgYXN5bmMgKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGFyYW1zOiB7IHRva2VuS2V5IH0sXG4gICAgICB9ID0gcmVxO1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICAgIGlmIChfLmlzTmlsKG5hbWUpID09PSBmYWxzZSkge1xuICAgICAgICBkZWJ1ZygnJW8gaGFzIHJlcXVlc3RlZCByZW1vdmUgYSB0b2tlbicsIG5hbWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHN0b3JhZ2UuZGVsZXRlVG9rZW4obmFtZSwgdG9rZW5LZXkpO1xuICAgICAgICAgIGxvZ2dlci5pbmZvKHsgdG9rZW5LZXksIG5hbWUgfSwgJ3Rva2VuIGlkIEB7dG9rZW5LZXl9IHdhcyByZXZva2VkIGZvciB1c2VyIEB7bmFtZX0nKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7fSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gICAgfVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxPQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxPQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFBd0QsU0FBQUQsdUJBQUFTLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyxRQUFBQyxNQUFBLEVBQUFDLGNBQUEsUUFBQUMsSUFBQSxHQUFBQyxNQUFBLENBQUFELElBQUEsQ0FBQUYsTUFBQSxPQUFBRyxNQUFBLENBQUFDLHFCQUFBLFFBQUFDLE9BQUEs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
@@ -5,19 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = _default;
7
7
  function _default(route) {
8
- route.get('/whoami', (req, res, next) => {
9
- if (req.get('referer') === 'whoami') {
10
- next({
11
- username: req.remote_user.name
12
- });
13
- } else {
14
- next('route');
15
- }
16
- });
17
8
  route.get('/-/whoami', (req, res, next) => {
18
9
  next({
19
10
  username: req.remote_user.name
20
11
  });
21
12
  });
22
13
  }
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVmYXVsdCIsInJvdXRlIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsInVzZXJuYW1lIiwicmVtb3RlX3VzZXIiLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvd2hvYW1pLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcblxuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyb3V0ZTogUm91dGVyKTogdm9pZCB7XG4gIHJvdXRlLmdldCgnL3dob2FtaScsIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCA9PiB7XG4gICAgaWYgKHJlcS5nZXQoJ3JlZmVyZXInKSA9PT0gJ3dob2FtaScpIHtcbiAgICAgIG5leHQoeyB1c2VybmFtZTogcmVxLnJlbW90ZV91c2VyLm5hbWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHQoJ3JvdXRlJyk7XG4gICAgfVxuICB9KTtcblxuICByb3V0ZS5nZXQoJy8tL3dob2FtaScsIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogYW55ID0+IHtcbiAgICBuZXh0KHsgdXNlcm5hbWU6IHJlcS5yZW1vdGVfdXNlci5uYW1lIH0pO1xuICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBSWUsU0FBQUEsU0FBVUMsS0FBYSxFQUFRO0VBQzVDQSxLQUFLLENBQUNDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQ0MsR0FBbUIsRUFBRUMsR0FBYSxFQUFFQyxJQUFzQixLQUFXO0lBQ3pGLElBQUlGLEdBQUcsQ0FBQ0QsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtNQUNuQ0csSUFBSSxDQUFDO1FBQUVDLFFBQVEsRUFBRUgsR0FBRyxDQUFDSSxXQUFXLENBQUNDO01BQUssQ0FBQyxDQUFDO0lBQzFDLENBQUMsTUFBTTtNQUNMSCxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2Y7RUFDRixDQUFDLENBQUM7RUFFRkosS0FBSyxDQUFDQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUNDLEdBQW1CLEVBQUVDLEdBQWEsRUFBRUMsSUFBc0IsS0FBVTtJQUMxRkEsSUFBSSxDQUFDO01BQUVDLFFBQVEsRUFBRUgsR0FBRyxDQUFDSSxXQUFXLENBQUNDO0lBQUssQ0FBQyxDQUFDO0VBQzFDLENBQUMsQ0FBQztBQUNKIn0=
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVmYXVsdCIsInJvdXRlIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsInVzZXJuYW1lIiwicmVtb3RlX3VzZXIiLCJuYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvd2hvYW1pLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcblxuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyb3V0ZTogUm91dGVyKTogdm9pZCB7XG4gIHJvdXRlLmdldCgnLy0vd2hvYW1pJywgKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiBhbnkgPT4ge1xuICAgIG5leHQoeyB1c2VybmFtZTogcmVxLnJlbW90ZV91c2VyLm5hbWUgfSk7XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFJZSxTQUFBQSxTQUFVQyxLQUFhLEVBQVE7RUFDNUNBLEtBQUssQ0FBQ0MsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDQyxHQUFtQixFQUFFQyxHQUFhLEVBQUVDLElBQXNCLEtBQVU7SUFDMUZBLElBQUksQ0FBQztNQUFFQyxRQUFRLEVBQUVILEdBQUcsQ0FBQ0ksV0FBVyxDQUFDQztJQUFLLENBQUMsQ0FBQztFQUMxQyxDQUFDLENBQUM7QUFDSiJ9
@@ -12,8 +12,9 @@ var _publish = _interopRequireDefault(require("./api/publish"));
12
12
  var _search = _interopRequireDefault(require("./api/search"));
13
13
  var _stars = _interopRequireDefault(require("./api/stars"));
14
14
  var _user = _interopRequireDefault(require("./api/user"));
15
- var _v = _interopRequireDefault(require("./api/v1"));
15
+ var _profile = _interopRequireDefault(require("./api/v1/profile"));
16
16
  var _search2 = _interopRequireDefault(require("./api/v1/search"));
17
+ var _token = _interopRequireDefault(require("./api/v1/token"));
17
18
  var _whoami = _interopRequireDefault(require("./api/whoami"));
18
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
20
  const {
@@ -48,17 +49,17 @@ function _default(config, auth, storage) {
48
49
  app.use(antiLoop(config));
49
50
  // encode / in a scoped package name to be matched as a single parameter in routes
50
51
  app.use(encodeScopePackage);
51
- // for "npm whoami"
52
52
  (0, _whoami.default)(app);
53
- (0, _package.default)(app, auth, storage, config);
54
- (0, _search.default)(app, auth, storage);
53
+ (0, _profile.default)(app, auth, config);
54
+ (0, _search.default)(app);
55
+ (0, _user.default)(app, auth, config);
55
56
  (0, _distTags.default)(app, auth, storage);
56
57
  (0, _publish.default)(app, auth, storage, config);
57
58
  (0, _ping.default)(app);
58
59
  (0, _stars.default)(app, storage);
59
60
  (0, _search2.default)(app, auth, storage);
60
- (0, _user.default)(app, auth, config);
61
- app.use((0, _v.default)(auth, storage, config));
61
+ (0, _token.default)(app, auth, storage, config);
62
+ (0, _package.default)(app, auth, storage, config);
62
63
  return app;
63
64
  }
64
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2Rpc3RUYWdzIiwiX3BhY2thZ2UiLCJfcGluZyIsIl9wdWJsaXNoIiwiX3NlYXJjaCIsIl9zdGFycyIsIl91c2VyIiwiX3YiLCJfc2VhcmNoMiIsIl93aG9hbWkiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIm1hdGNoIiwidmFsaWRhdGVOYW1lIiwidmFsaWRhdGVQYWNrYWdlIiwiZW5jb2RlU2NvcGVQYWNrYWdlIiwiYW50aUxvb3AiLCJfZGVmYXVsdCIsImNvbmZpZyIsImF1dGgiLCJzdG9yYWdlIiwiYXBwIiwiZXhwcmVzcyIsIlJvdXRlciIsInBhcmFtIiwidXNlIiwiYXBpSldUbWlkZGxld2FyZSIsImpzb24iLCJzdHJpY3QiLCJsaW1pdCIsIm1heF9ib2R5X3NpemUiLCJ3aG9hbWkiLCJwa2ciLCJzZWFyY2giLCJkaXN0VGFncyIsInB1Ymxpc2giLCJwaW5nIiwic3RhcnMiLCJ2MVNlYXJjaCIsInVzZXIiLCJucG1WMSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGV4cHJlc3MgZnJvbSAnZXhwcmVzcyc7XG5cbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgQXV0aCBmcm9tICcuLi8uLi9saWIvYXV0aCc7XG5pbXBvcnQgU3RvcmFnZSBmcm9tICcuLi8uLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgZGlzdFRhZ3MgZnJvbSAnLi9hcGkvZGlzdC10YWdzJztcbmltcG9ydCBwa2cgZnJvbSAnLi9hcGkvcGFja2FnZSc7XG5pbXBvcnQgcGluZyBmcm9tICcuL2FwaS9waW5nJztcbmltcG9ydCBwdWJsaXNoIGZyb20gJy4vYXBpL3B1Ymxpc2gnO1xuaW1wb3J0IHNlYXJjaCBmcm9tICcuL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHN0YXJzIGZyb20gJy4vYXBpL3N0YXJzJztcbmltcG9ydCB1c2VyIGZyb20gJy4vYXBpL3VzZXInO1xuaW1wb3J0IG5wbVYxIGZyb20gJy4vYXBpL3YxJztcbmltcG9ydCB2MVNlYXJjaCBmcm9tICcuL2FwaS92MS9zZWFyY2gnO1xuaW1wb3J0IHdob2FtaSBmcm9tICcuL2FwaS93aG9hbWknO1xuXG5jb25zdCB7XG4gIG1hdGNoLFxuICB2YWxpZGF0ZU5hbWUsXG4gIHZhbGlkYXRlUGFja2FnZSxcbiAgZW5jb2RlU2NvcGVQYWNrYWdlLFxuICBhbnRpTG9vcCxcbn0gPSByZXF1aXJlKCdAdmVyZGFjY2lvL21pZGRsZXdhcmUnKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGNvbmZpZzogQ29uZmlnLCBhdXRoOiBBdXRoLCBzdG9yYWdlOiBTdG9yYWdlKSB7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICBjb25zdCBhcHAgPSBleHByZXNzLlJvdXRlcigpO1xuICAvKiBlc2xpbnQgbmV3LWNhcDpvZmYgKi9cbiAgLy8gdmFsaWRhdGUgYWxsIG9mIHRoZXNlIHBhcmFtcyBhcyBhIHBhY2thZ2UgbmFtZVxuICAvLyB0aGlzIG1pZ2h0IGJlIHRvbyBoYXJzaCwgc28gYXNrIGlmIGl0IGNhdXNlcyB0cm91YmxlXG4gIGFwcC5wYXJhbSgncGFja2FnZScsIHZhbGlkYXRlUGFja2FnZSk7XG4gIGFwcC5wYXJhbSgnZmlsZW5hbWUnLCB2YWxpZGF0ZU5hbWUpO1xuICBhcHAucGFyYW0oJ3RhZycsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgndmVyc2lvbicsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgncmV2aXNpb24nLCB2YWxpZGF0ZU5hbWUpO1xuICBhcHAucGFyYW0oJ3Rva2VuJywgdmFsaWRhdGVOYW1lKTtcblxuICAvLyB0aGVzZSBjYW4ndCBiZSBzYWZlbHkgcHV0IGludG8gZXhwcmVzcyB1cmwgZm9yIHNvbWUgcmVhc29uXG4gIC8vIFRPRE86IEZvciBzb21lIHJlYXNvbj8gd2hhdCByZWFzb24/XG4gIGFwcC5wYXJhbSgnX3JldicsIG1hdGNoKC9eLXJldiQvKSk7XG4gIGFwcC5wYXJhbSgnb3JnX2NvdWNoZGJfdXNlcicsIG1hdGNoKC9eb3JnXFwuY291Y2hkYlxcLnVzZXI6LykpO1xuXG4gIGFwcC51c2UoYXV0aC5hcGlKV1RtaWRkbGV3YXJlKCkpO1xuICBhcHAudXNlKGV4cHJlc3MuanNvbih7IHN0cmljdDogZmFsc2UsIGxpbWl0OiBjb25maWcubWF4X2JvZHlfc2l6ZSB8fCAnMTBtYicgfSkpO1xuICBhcHAudXNlKGFudGlMb29wKGNvbmZpZykpO1xuICAvLyBlbmNvZGUgLyBpbiBhIHNjb3BlZCBwYWNrYWdlIG5hbWUgdG8gYmUgbWF0Y2hlZCBhcyBhIHNpbmdsZSBwYXJhbWV0ZXIgaW4gcm91dGVzXG4gIGFwcC51c2UoZW5jb2RlU2NvcGVQYWNrYWdlKTtcbiAgLy8gZm9yIFwibnBtIHdob2FtaVwiXG4gIHdob2FtaShhcHApO1xuICBwa2coYXBwLCBhdXRoLCBzdG9yYWdlLCBjb25maWcpO1xuICBzZWFyY2goYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgZGlzdFRhZ3MoYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgcHVibGlzaChhcHAsIGF1dGgsIHN0b3JhZ2UsIGNvbmZpZyk7XG4gIHBpbmcoYXBwKTtcbiAgc3RhcnMoYXBwLCBzdG9yYWdlKTtcbiAgdjFTZWFyY2goYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgdXNlcihhcHAsIGF1dGgsIGNvbmZpZyk7XG4gIGFwcC51c2UobnBtVjEoYXV0aCwgc3RvcmFnZSwgY29uZmlnKSk7XG4gIHJldHVybiBhcHA7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQU1BLElBQUFDLFNBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JB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
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2Rpc3RUYWdzIiwiX3BhY2thZ2UiLCJfcGluZyIsIl9wdWJsaXNoIiwiX3NlYXJjaCIsIl9zdGFycyIsIl91c2VyIiwiX3Byb2ZpbGUiLCJfc2VhcmNoMiIsIl90b2tlbiIsIl93aG9hbWkiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIm1hdGNoIiwidmFsaWRhdGVOYW1lIiwidmFsaWRhdGVQYWNrYWdlIiwiZW5jb2RlU2NvcGVQYWNrYWdlIiwiYW50aUxvb3AiLCJfZGVmYXVsdCIsImNvbmZpZyIsImF1dGgiLCJzdG9yYWdlIiwiYXBwIiwiZXhwcmVzcyIsIlJvdXRlciIsInBhcmFtIiwidXNlIiwiYXBpSldUbWlkZGxld2FyZSIsImpzb24iLCJzdHJpY3QiLCJsaW1pdCIsIm1heF9ib2R5X3NpemUiLCJ3aG9hbWkiLCJwcm9maWxlIiwic2VhcmNoIiwidXNlciIsImRpc3RUYWdzIiwicHVibGlzaCIsInBpbmciLCJzdGFycyIsInYxU2VhcmNoIiwidG9rZW4iLCJwa2ciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleHByZXNzIGZyb20gJ2V4cHJlc3MnO1xuXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IFN0b3JhZ2UgZnJvbSAnLi4vLi4vbGliL3N0b3JhZ2UnO1xuaW1wb3J0IGRpc3RUYWdzIGZyb20gJy4vYXBpL2Rpc3QtdGFncyc7XG5pbXBvcnQgcGtnIGZyb20gJy4vYXBpL3BhY2thZ2UnO1xuaW1wb3J0IHBpbmcgZnJvbSAnLi9hcGkvcGluZyc7XG5pbXBvcnQgcHVibGlzaCBmcm9tICcuL2FwaS9wdWJsaXNoJztcbmltcG9ydCBzZWFyY2ggZnJvbSAnLi9hcGkvc2VhcmNoJztcbmltcG9ydCBzdGFycyBmcm9tICcuL2FwaS9zdGFycyc7XG5pbXBvcnQgdXNlciBmcm9tICcuL2FwaS91c2VyJztcbmltcG9ydCBwcm9maWxlIGZyb20gJy4vYXBpL3YxL3Byb2ZpbGUnO1xuaW1wb3J0IHYxU2VhcmNoIGZyb20gJy4vYXBpL3YxL3NlYXJjaCc7XG5pbXBvcnQgdG9rZW4gZnJvbSAnLi9hcGkvdjEvdG9rZW4nO1xuaW1wb3J0IHdob2FtaSBmcm9tICcuL2FwaS93aG9hbWknO1xuXG5jb25zdCB7XG4gIG1hdGNoLFxuICB2YWxpZGF0ZU5hbWUsXG4gIHZhbGlkYXRlUGFja2FnZSxcbiAgZW5jb2RlU2NvcGVQYWNrYWdlLFxuICBhbnRpTG9vcCxcbn0gPSByZXF1aXJlKCdAdmVyZGFjY2lvL21pZGRsZXdhcmUnKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGNvbmZpZzogQ29uZmlnLCBhdXRoOiBBdXRoLCBzdG9yYWdlOiBTdG9yYWdlKSB7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICBjb25zdCBhcHAgPSBleHByZXNzLlJvdXRlcigpO1xuICAvKiBlc2xpbnQgbmV3LWNhcDpvZmYgKi9cbiAgLy8gdmFsaWRhdGUgYWxsIG9mIHRoZXNlIHBhcmFtcyBhcyBhIHBhY2thZ2UgbmFtZVxuICAvLyB0aGlzIG1pZ2h0IGJlIHRvbyBoYXJzaCwgc28gYXNrIGlmIGl0IGNhdXNlcyB0cm91YmxlXG4gIGFwcC5wYXJhbSgncGFja2FnZScsIHZhbGlkYXRlUGFja2FnZSk7XG4gIGFwcC5wYXJhbSgnZmlsZW5hbWUnLCB2YWxpZGF0ZU5hbWUpO1xuICBhcHAucGFyYW0oJ3RhZycsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgndmVyc2lvbicsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgncmV2aXNpb24nLCB2YWxpZGF0ZU5hbWUpO1xuICBhcHAucGFyYW0oJ3Rva2VuJywgdmFsaWRhdGVOYW1lKTtcblxuICAvLyB0aGVzZSBjYW4ndCBiZSBzYWZlbHkgcHV0IGludG8gZXhwcmVzcyB1cmwgZm9yIHNvbWUgcmVhc29uXG4gIC8vIFRPRE86IEZvciBzb21lIHJlYXNvbj8gd2hhdCByZWFzb24/XG4gIGFwcC5wYXJhbSgnX3JldicsIG1hdGNoKC9eLXJldiQvKSk7XG4gIGFwcC5wYXJhbSgnb3JnX2NvdWNoZGJfdXNlcicsIG1hdGNoKC9eb3JnXFwuY291Y2hkYlxcLnVzZXI6LykpO1xuXG4gIGFwcC51c2UoYXV0aC5hcGlKV1RtaWRkbGV3YXJlKCkpO1xuICBhcHAudXNlKGV4cHJlc3MuanNvbih7IHN0cmljdDogZmFsc2UsIGxpbWl0OiBjb25maWcubWF4X2JvZHlfc2l6ZSB8fCAnMTBtYicgfSkpO1xuICBhcHAudXNlKGFudGlMb29wKGNvbmZpZykpO1xuICAvLyBlbmNvZGUgLyBpbiBhIHNjb3BlZCBwYWNrYWdlIG5hbWUgdG8gYmUgbWF0Y2hlZCBhcyBhIHNpbmdsZSBwYXJhbWV0ZXIgaW4gcm91dGVzXG4gIGFwcC51c2UoZW5jb2RlU2NvcGVQYWNrYWdlKTtcbiAgd2hvYW1pKGFwcCk7XG4gIHByb2ZpbGUoYXBwLCBhdXRoLCBjb25maWcpO1xuICBzZWFyY2goYXBwKTtcbiAgdXNlcihhcHAsIGF1dGgsIGNvbmZpZyk7XG4gIGRpc3RUYWdzKGFwcCwgYXV0aCwgc3RvcmFnZSk7XG4gIHB1Ymxpc2goYXBwLCBhdXRoLCBzdG9yYWdlLCBjb25maWcpO1xuICBwaW5nKGFwcCk7XG4gIHN0YXJzKGFwcCwgc3RvcmFnZSk7XG4gIHYxU2VhcmNoKGFwcCwgYXV0aCwgc3RvcmFnZSk7XG4gIHRva2VuKGFwcCwgYXV0aCwgc3RvcmFnZSwgY29uZmlnKTtcbiAgcGtnKGFwcCwgYXV0aCwgc3RvcmFnZSwgY29uZmlnKTtcbiAgcmV0dXJuIGFwcDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBTUEsSUFBQUMsU0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0Es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
@@ -1,3 +1,4 @@
1
+ import express from 'express';
1
2
  export declare function loadTheme(config: any): any;
2
- declare const _default: (configHash: any) => Promise<any>;
3
+ declare const _default: (configHash: any) => Promise<express.Application>;
3
4
  export default _default;