Socket
Socket
Sign inDemoInstall

@ladjs/i18n

Package Overview
Dependencies
Maintainers
2
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ladjs/i18n - npm Package Compare versions

Comparing version 0.0.7 to 0.0.8

8

lib/index.js

@@ -7,3 +7,4 @@ 'use strict';

const resolve = _require.resolve;
const extname = _require.extname,
resolve = _require.resolve;

@@ -159,2 +160,5 @@ const isEmpty = require('lodash.isempty');

return _asyncToGenerator(function* () {
// do not redirect static paths
if (extname(ctx.path) !== '') return next();
// inspired by nodejs.org language support

@@ -196,2 +200,2 @@ // <https://github.com/nodejs/nodejs.org/commit/d6cdd942a8fc0fffcf6879eca124295e95991bbc#diff-78c12f5adc1848d13b1c6f07055d996eR59>

module.exports = I18N;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJyZXF1aXJlIiwicmVzb2x2ZSIsImlzRW1wdHkiLCJzb3J0QnkiLCJldmVyeSIsInN0cmluZ2lmeSIsIkJvb20iLCJzIiwiZ2V0TGFuZ3VhZ2UiLCJtb21lbnQiLCJpMThuIiwibG9jYWxlcyIsImF1dG9CaW5kIiwiYXBpIiwiSTE4TiIsImNvbnN0cnVjdG9yIiwiY29uZmlnIiwiT2JqZWN0IiwiYXNzaWduIiwicGhyYXNlcyIsImxvZ2dlciIsImNvbnNvbGUiLCJkaXJlY3RvcnkiLCJjb29raWUiLCJpbmRlbnQiLCJkZWZhdWx0TG9jYWxlIiwic3luY0ZpbGVzIiwiYXV0b1JlbG9hZCIsInVwZGF0ZUZpbGVzIiwiX18iLCJfX24iLCJfX2wiLCJfX2giLCJfX21mIiwicmVnaXN0ZXIiLCJsb2dEZWJ1Z0ZuIiwiZGVidWciLCJsb2dXYXJuRm4iLCJ3YXJuIiwibG9nRXJyb3JGbiIsImVycm9yIiwibCIsImluY2x1ZGVzIiwiRXJyb3IiLCJmaWx0ZXIiLCJzdHIiLCJqb2luIiwiY29uZmlndXJlIiwidHJhbnNsYXRlIiwia2V5IiwibG9jYWxlIiwiYXJncyIsImtleXMiLCJhcmd1bWVudHMiLCJtYXAiLCJzbGljZSIsInBocmFzZSIsInQiLCJtaWRkbGV3YXJlIiwiY3R4IiwibmV4dCIsImluaXQiLCJyZXEiLCJzdGF0ZSIsImZpbmQiLCJwYXRoIiwiaW5kZXhPZiIsInBhdGhXaXRob3V0TG9jYWxlIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiY29va2llcyIsImdldCIsInJlcXVlc3QiLCJhY2NlcHRzTGFuZ3VhZ2VzIiwic2V0TG9jYWxlIiwicmVkaXJlY3QiLCJxdWVyeSIsImF2YWlsYWJsZUxhbmd1YWdlcyIsInVybCIsIm5hbWUiLCJjdXJyZW50TGFuZ3VhZ2UiLCJ0aXRsZWl6ZSIsIm5hdGl2ZU5hbWUiLCJ0aHJvdyIsImJhZFJlcXVlc3QiLCJzcGxpdCIsImhhc0xhbmciLCJzdGF0dXMiLCJzZXQiLCJzaWduZWQiLCJleHBpcmVzIiwiYWRkIiwidG9EYXRlIiwiaXNBdXRoZW50aWNhdGVkIiwidXNlciIsImxhc3RfbG9jYWxlIiwic2F2ZSIsImVyciIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7ZUFBb0JBLFFBQVEsTUFBUixDOztNQUFaQyxPLFlBQUFBLE87O0FBQ1IsTUFBTUMsVUFBVUYsUUFBUSxnQkFBUixDQUFoQjtBQUNBLE1BQU1HLFNBQVNILFFBQVEsZUFBUixDQUFmO0FBQ0EsTUFBTUksUUFBUUosUUFBUSxjQUFSLENBQWQ7O2dCQUNzQkEsUUFBUSxJQUFSLEM7O01BQWRLLFMsYUFBQUEsUzs7QUFDUixNQUFNQyxPQUFPTixRQUFRLE1BQVIsQ0FBYjtBQUNBLE1BQU1PLElBQUlQLFFBQVEsbUJBQVIsQ0FBVjs7Z0JBQ3dCQSxRQUFRLGtCQUFSLEM7O01BQWhCUSxXLGFBQUFBLFc7O0FBQ1IsTUFBTUMsU0FBU1QsUUFBUSxRQUFSLENBQWY7QUFDQSxNQUFNVSxPQUFPVixRQUFRLE1BQVIsQ0FBYjtBQUNBLE1BQU1XLFVBQVVYLFFBQVEsY0FBUixDQUFoQjtBQUNBLE1BQU1ZLFdBQVdaLFFBQVEsV0FBUixDQUFqQjs7QUFFQTtBQUNBVSxLQUFLRyxHQUFMLEdBQVcsRUFBWDs7QUFFQSxNQUFNQyxJQUFOLENBQVc7QUFDVEMsY0FBWUMsU0FBUyxFQUFyQixFQUF5QjtBQUN2QixTQUFLQSxNQUFMLEdBQWNDLE9BQU9DLE1BQVAsQ0FDWjtBQUNFQyxlQUFTLEVBRFg7QUFFRUMsY0FBUUMsT0FGVjtBQUdFQyxpQkFBV3JCLFFBQVEsU0FBUixDQUhiO0FBSUVVLGVBQVMsQ0FBQyxJQUFELEVBQU8sSUFBUCxFQUFhLElBQWIsQ0FKWDtBQUtFWSxjQUFRLFFBTFY7QUFNRUMsY0FBUSxJQU5WO0FBT0VDLHFCQUFlLElBUGpCO0FBUUVDLGlCQUFXLElBUmI7QUFTRUMsa0JBQVksSUFUZDtBQVVFQyxtQkFBYSxJQVZmO0FBV0VmLFdBQUs7QUFDSGdCLFlBQUksR0FERDtBQUVIQyxhQUFL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LFdBQVksSUFBR2hCLElBQUlHLEdBQUosQ0FBUVosTUFBTyxHQUFFUyxJQUFJbUIsR0FBSSxFQUE1QztBQUNBLFlBQUksQ0FBQzVFLFFBQVF5RCxJQUFJaUIsS0FBWixDQUFMLEVBQXlCRCxZQUFhLElBQUd0RSxVQUFVc0QsSUFBSWlCLEtBQWQsQ0FBcUIsRUFBckM7QUFDekIsZUFBT2pCLElBQUlnQixRQUFKLENBQWFBLFFBQWIsQ0FBUDtBQUNEOztBQUVEO0FBQ0FoQixVQUFJVyxPQUFKLENBQVlrQixHQUFaLENBQWdCLE1BQUt4RSxNQUFMLENBQVlPLE1BQTVCLEVBQW9DMkIsTUFBcEMsRUFBNEM7QUFDMUN1QyxnQkFBUSxJQURrQztBQUUxQ0MsaUJBQVNqRixTQUNOa0YsR0FETSxDQUNGLENBREUsRUFDQyxNQURELEVBRU5DLE1BRk07QUFGaUMsT0FBNUM7O0FBT0E7QUFDQSxVQUFJakMsSUFBSWtDLGVBQUosRUFBSixFQUEyQjtBQUN6QmxDLFlBQUlJLEtBQUosQ0FBVStCLElBQVYsQ0FBZUMsV0FBZixHQUE2QjdDLE1BQTdCO0FBQ0EsWUFBSTtBQUNGLGdCQUFNUyxJQUFJSSxLQUFKLENBQVUrQixJQUFWLENBQWVFLElBQWYsRUFBTjtBQUNELFNBRkQsQ0FFRSxPQUFPQyxHQUFQLEVBQVk7QUFDWixnQkFBS2pGLE1BQUwsQ0FBWUksTUFBWixDQUFtQm9CLEtBQW5CLENBQXlCeUQsR0FBekI7QUFDRDtBQUNGOztBQUVELGFBQU9yQyxNQUFQO0FBakN3QjtBQWtDekI7QUFwTFE7O0FBdUxYc0MsT0FBT0MsT0FBUCxHQUFpQnJGLElBQWpCIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgeyByZXNvbHZlIH0gPSByZXF1aXJlKCdwYXRoJyk7XG5jb25zdCBpc0VtcHR5ID0gcmVxdWlyZSgnbG9kYXNoLmlzZW1wdHknKTtcbmNvbnN0IHNvcnRCeSA9IHJlcXVpcmUoJ2xvZGFzaC5zb3J0YnknKTtcbmNvbnN0IGV2ZXJ5ID0gcmVxdWlyZSgnbG9kYXNoLmV2ZXJ5Jyk7XG5jb25zdCB7IHN0cmluZ2lmeSB9ID0gcmVxdWlyZSgncXMnKTtcbmNvbnN0IEJvb20gPSByZXF1aXJlKCdib29tJyk7XG5jb25zdCBzID0gcmVxdWlyZSgndW5kZXJzY29yZS5zdHJpbmcnKTtcbmNvbnN0IHsgZ2V0TGFuZ3VhZ2UgfSA9IHJlcXVpcmUoJ2NvdW50cnktbGFuZ3VhZ2UnKTtcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoJ21vbWVudCcpO1xuY29uc3QgaTE4biA9IHJlcXVpcmUoJ2kxOG4nKTtcbmNvbnN0IGxvY2FsZXMgPSByZXF1aXJlKCdpMThuLWxvY2FsZXMnKTtcbmNvbnN0IGF1dG9CaW5kID0gcmVxdWlyZSgnYXV0by1iaW5kJyk7XG5cbi8vIGV4cG9zZSBnbG9iYWxcbmkxOG4uYXBpID0ge307XG5cbmNsYXNzIEkxOE4ge1xuICBjb25zdHJ1Y3Rvcihjb25maWcgPSB7fSkge1xuICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgcGhyYXNlczoge30sXG4gICAgICAgIGxvZ2dlcjogY29uc29sZSxcbiAgICAgICAgZGlyZWN0b3J5OiByZXNvbHZlKCdsb2NhbGVzJyksXG4gICAgICAgIGxvY2FsZXM6IFsnZW4nLCAnZXMnLCAnemgnXSxcbiAgICAgICAgY29va2llOiAnbG9jYWxlJyxcbiAgICAgICAgaW5kZW50OiAnICAnLFxuICAgICAgICBkZWZhdWx0TG9jYWxlOiAnZW4nLFxuICAgICAgICBzeW5jRmlsZXM6IHRydWUsXG4gICAgICAgIGF1dG9SZWxvYWQ6IHRydWUsXG4gICAgICAgIHVwZGF0ZUZpbGVzOiB0cnVlLFxuICAgICAgICBhcGk6IHtcbiAgICAgICAgICBfXzogJ3QnLFxuICAgICAgICAgIF9fbjogJ3RuJyxcbiAgICAgICAgICBfX2w6ICd0bCcsXG4gICAgICAgICAgX19oOiAndGgnLFxuICAgICAgICAgIF9fbWY6ICd0bWYnXG4gICAgICAgIH0sXG4gICAgICAgIHJlZ2lzdGVyOiBpMThuLmFwaVxuICAgICAgfSxcbiAgICAgIGNvbmZpZ1xuICAgICk7XG5cbiAgICBjb25zdCB7IGxvZ2dlciB9ID0gdGhpcy5jb25maWc7XG5cbiAgICB0aGlzLmNvbmZpZy5sb2dEZWJ1Z0ZuID0gbG9nZ2VyLmRlYnVnO1xuICAgIHRoaXMuY29uZmlnLmxvZ1dhcm5GbiA9IGxvZ2dlci53YXJuO1xuICAgIHRoaXMuY29uZmlnLmxvZ0Vycm9yRm4gPSBsb2dnZXIuZXJyb3I7XG5cbiAgICAvLyB2YWxpZGF0ZSBsb2NhbGVzIGFnYWluc3QgYXZhaWxhYmxlIG9uZXNcbiAgICBpZiAoIWV2ZXJ5KHRoaXMuY29uZmlnLmxvY2FsZXMsIGwgPT4gbG9jYWxlcy5pbmNsdWRlcyhsKSkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIGxvY2FsZXM6ICR7dGhpcy5jb25maWcubG9jYWxlc1xuICAgICAgICAgIC5maWx0ZXIoc3RyID0+ICFsb2NhbGVzLmluY2x1ZGVzKHN0cikpXG4gICAgICAgICAgLmpvaW4oJywgJyl9YFxuICAgICAgKTtcblxuICAgIC8vIGluaGVyaXQgaTE4biBvYmplY3RcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGkxOG4pO1xuXG4gICAgLy8gY29uZmlndXJlIGkxOG5cbiAgICB0aGlzLmNvbmZpZ3VyZSh0aGlzLmNvbmZpZyk7XG5cbiAgICBhdXRvQmluZCh0aGlzKTtcbiAgfVxuXG4gIHRyYW5zbGF0ZShrZXksIGxvY2FsZSkge1xuICAgIGNvbnN0IHsgbG9nZ2VyLCBwaHJhc2VzIH0gPSB0aGlzLmNvbmZpZztcbiAgICBsZXQgYXJncyA9IE9iamVjdC5rZXlzKGFyZ3VtZW50cylcbiAgICAgIC5tYXAoa2V5ID0+IGFyZ3VtZW50c1trZXldKVxuICAgICAgLnNsaWNlKDIpO1xuICAgIGlmICh0eXBlb2YgYXJncyA9PT0gJ3VuZGVmaW5lZCcpIGFyZ3MgPSBbXTtcbiAgICBjb25zdCBwaHJhc2UgPSBwaHJhc2VzW2tleV07XG4gICAgaWYgKHR5cGVvZiBwaHJhc2UgIT09ICdzdHJpbmcnKSB7XG4gICAgICBsb2dnZXIud2FybihgdHJhbnNsYXRpb24ga2V5IG1pc3Npbmc6ICR7a2V5fWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhcmdzID0gW3sgcGhyYXNlLCBsb2NhbGUgfSwgLi4uYXJnc107XG4gICAgcmV0dXJuIGkxOG4uYXBpLnQoLi4uYXJncyk7XG4gIH1cblxuICBtaWRkbGV3YXJlKGN0eCwgbmV4dCkge1xuICAgIGNvbnN0IHsgbG9jYWxlcywgZGVmYXVsdExvY2FsZSwgcGhyYXNlcywgY29va2llIH0gPSB0aGlzLmNvbmZpZztcblxuICAgIC8vIGV4cG9zZSBhcGkgbWV0aG9kcyB0byBgY3R4LnJlcWAgYW5kIGBjdHguc3RhdGVgXG4gICAgaTE4bi5pbml0KGN0eC5yZXEsIGN0eC5zdGF0ZSk7XG5cbiAgICAvLyBvdmVycmlkZSB0aGUgZXhpc3RpbmcgbG9jYWxlIGRldGVjdGlvbiB3aXRoIG91ciBvd25cbiAgICAvLyBpbiBvcmRlciBvZiBwcmlvcml0eTpcbiAgICAvL1xuICAgIC8vIDEuIGNoZWNrIHRoZSBVUkwsIGlmID09PSBgL2RlYCBvciBzdGFydHMgd2l0aCBgL2RlL2AgdGhlbiBsb2NhbGUgaXMgYGRlYFxuICAgIC8vIDIuIGNoZWNrIHRoZSBjb29raWVcbiAgICAvLyAzLiBjaGVjayBBY2NlcHQtTGFuZ3VhZ2UgbGFzdFxuICAgIC8vXG4gICAgLy8gYWxzbyB3ZSBuZWVkIHRvIGV4cG9zZSBgY3R4LnBhdGhXaXRob3V0TG9jYWxlYFxuICAgIC8vIGFzIHRoZSBwYXRoIHdpdGhvdXQgbG9jYWxlXG5cbiAgICBsZXQgbG9jYWxlID0gbG9jYWxlcy5maW5kKGwgPT4ge1xuICAgICAgcmV0dXJuIGAvJHtsfWAgPT09IGN0eC5wYXRoIHx8IGN0eC5wYXRoLmluZGV4T2YoYC8ke2x9L2ApID09PSAwO1xuICAgIH0pO1xuXG4gICAgY3R4LnBhdGhXaXRob3V0TG9jYWxlID0gbG9jYWxlXG4gICAgICA/IGN0eC5wYXRoLnN1YnN0cmluZyhgLyR7bG9jYWxlfWAubGVuZ3RoKVxuICAgICAgOiBjdHgucGF0aDtcbiAgICBpZiAoY3R4LnBhdGhXaXRob3V0TG9jYWxlID09PSAnJykgY3R4LnBhdGhXaXRob3V0TG9jYWxlID0gJy8nO1xuXG4gICAgaWYgKCFsb2NhbGUpIHtcbiAgICAgIGxvY2FsZSA9IGRlZmF1bHRMb2NhbGU7XG4gICAgICBpZiAoY3R4LmNvb2tpZXMuZ2V0KGNvb2tpZSkgJiYgbG9jYWxlcy5pbmNsdWRlcyhjdHguY29va2llcy5nZXQoY29va2llKSkpXG4gICAgICAgIGxvY2FsZSA9IGN0eC5jb29raWVzLmdldChjb29raWUpO1xuICAgICAgZWxzZSBpZiAoY3R4LnJlcXVlc3QuYWNjZXB0c0xhbmd1YWdlcyhsb2NhbGVzKSlcbiAgICAgICAgbG9jYWxlID0gY3R4LnJlcXVlc3QuYWNjZXB0c0xhbmd1YWdlcyhsb2NhbGVzKTtcbiAgICB9XG5cbiAgICAvLyBzZXQgdGhlIGxvY2FsZSBwcm9wZXJseVxuICAgIGkxOG4uc2V0TG9jYWxlKFtjdHgucmVxLCBjdHguc3RhdGVdLCBsb2NhbGUpO1xuXG4gICAgLy8gaWYgdGhlIGxvY2FsZSB3YXMgbm90IGF2YWlsYWJsZSB0aGVuIHJlZGlyZWN0IHVzZXJcbiAgICBpZiAobG9jYWxlICE9PSBjdHguc3RhdGUubG9jYWxlKVxuICAgICAgcmV0dXJuIGN0eC5yZWRpcmVjdChcbiAgICAgICAgYC8ke2N0eC5zdGF0ZS5sb2NhbGV9JHtjdHgucGF0aFdpdGhvdXRMb2NhbGV9JHtpc0VtcHR5KGN0eC5xdWVyeSlcbiAgICAgICAgICA/ICcnXG4gICAgICAgICAgOiBgPyR7c3RyaW5naWZ5KGN0eC5xdWVyeSl9YH1gXG4gICAgICApO1xuXG4gICAgLy8gYXZhaWxhYmxlIGxhbmd1YWdlcyBmb3IgYSBkcm9wZG93biBtZW51IHRvIGNoYW5nZSBsYW5ndWFnZVxuICAgIGN0eC5zdGF0ZS5hdmFpbGFibGVMYW5ndWFnZXMgPSBzb3J0QnkoXG4gICAgICBsb2NhbGVzLm1hcChsb2NhbGUgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICB1cmw6IGAvJHtsb2NhbGV9JHtjdHgucGF0aFdpdGhvdXRMb2NhbGV9JHtpc0VtcHR5KGN0eC5xdWVyeSlcbiAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgIDogYD8ke3N0cmluZ2lmeShjdHgucXVlcnkpfWB9YCxcbiAgICAgICAgICBuYW1lOiBnZXRMYW5ndWFnZShsb2NhbGUpLm5hbWVbMF1cbiAgICAgICAgfTtcbiAgICAgIH0pLFxuICAgICAgJ25hbWUnXG4gICAgKTtcblxuICAgIC8vIGdldCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBsb2NhbGUncyBsYW5ndWFnZSBpbiBuYXRpdmUgbGFuZ3VhZ2VcbiAgICBjdHguc3RhdGUuY3VycmVudExhbmd1YWdlID0gcy50aXRsZWl6ZShcbiAgICAgIGdldExhbmd1YWdlKGN0eC5yZXEubG9jYWxlKS5uYXRpdmVOYW1lWzBdXG4gICAgKTtcblxuICAgIC8vIGJpbmQgYGN0eC50cmFuc2xhdGVgIGFzIGEgaGVscGVyIGZ1bmNcbiAgICAvLyBzbyB5b3UgY2FuIHBhc3MgYGN0eC50cmFuc2xhdGUoJ1NPTUVfS0VZX0lOX0NPTkZJRycpO2AgYW5kIGl0IHdpbGwgbG9va3VwXG4gICAgLy8gYHBocmFzZXNbJ1NPTUVUSElORyddYCB0byBnZXQgYSBzcGVjaWZpYyBhbmQgY29uc3RhbnQgbWVzc2FnZVxuICAgIC8vIGFuZCB0aGVuIGl0IHdpbGwgY2FsbCBgdGAgdG8gdHJhbnNsYXRlIGl0IHRvIHRoZSB1c2VyJ3MgbG9jYWxlXG4gICAgY3R4LnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgYXJndW1lbnRzWzBdICE9PSAnc3RyaW5nJyB8fFxuICAgICAgICB0eXBlb2YgcGhyYXNlc1thcmd1bWVudHNbMF1dICE9PSAnc3RyaW5nJ1xuICAgICAgKVxuICAgICAgICByZXR1cm4gY3R4LnRocm93KFxuICAgICAgICAgIEJvb20uYmFkUmVxdWVzdCgnVHJhbnNsYXRpb24gZm9yIHlvdXIgbG9jYWxlIGZhaWxlZCwgdHJ5IGFnYWluJylcbiAgICAgICAgKTtcbiAgICAgIGFyZ3VtZW50c1swXSA9IHBocmFzZXNbYXJndW1lbnRzWzBdXTtcbiAgICAgIHJldHVybiBjdHgucmVxLnQoLi4uYXJndW1lbnRzKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5leHQoKTtcbiAgfVxuXG4gIGFzeW5jIHJlZGlyZWN0KGN0eCwgbmV4dCkge1xuICAgIC8vIGluc3BpcmVkIGJ5IG5vZGVqcy5vcmcgbGFuZ3VhZ2Ugc3VwcG9ydFxuICAgIC8vIDxodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGVqcy5vcmcvY29tbWl0L2Q2Y2RkOTQyYThmYzBmZmZjZjY4NzllY2ExMjQyOTVlOTU5OTFiYmMjZGlmZi03OGMxMmY1YWRjMTg0OGQxM2IxYzZmMDcwNTVkOTk2ZVI1OT5cbiAgICBjb25zdCBsb2NhbGUgPSBjdHgudXJsLnNwbGl0KCcvJylbMV0uc3BsaXQoJz8nKVswXTtcbiAgICBjb25zdCBoYXNMYW5nID0gdGhpcy5jb25maWcubG9jYWxlcy5pbmNsdWRlcyhsb2NhbGUpO1xuXG4gICAgLy8gaWYgdGhlIFVSTCBkaWQgbm90IGhhdmUgYSB2YWxpZCBsYW5ndWFnZSBmb3VuZFxuICAgIC8vIHRoZW4gcmVkaXJlY3QgdGhlIHVzZXIgdG8gdGhlaXIgZGV0ZWN0ZWQgbG9jYWxlXG4gICAgaWYgKCFoYXNMYW5nKSB7XG4gICAgICBjdHguc3RhdHVzID0gMzAyO1xuICAgICAgbGV0IHJlZGlyZWN0ID0gYC8ke2N0eC5yZXEubG9jYWxlfSR7Y3R4LnVybH1gO1xuICAgICAgaWYgKCFpc0VtcHR5KGN0eC5xdWVyeSkpIHJlZGlyZWN0ICs9IGA/JHtzdHJpbmdpZnkoY3R4LnF1ZXJ5KX1gO1xuICAgICAgcmV0dXJuIGN0eC5yZWRpcmVjdChyZWRpcmVjdCk7XG4gICAgfVxuXG4gICAgLy8gc2V0IHRoZSBjb29raWUgZm9yIGZ1dHVyZSByZXF1ZXN0c1xuICAgIGN0eC5jb29raWVzLnNldCh0aGlzLmNvbmZpZy5jb29raWUsIGxvY2FsZSwge1xuICAgICAgc2lnbmVkOiB0cnVlLFxuICAgICAgZXhwaXJlczogbW9tZW50KClcbiAgICAgICAgLmFkZCgxLCAneWVhcicpXG4gICAgICAgIC50b0RhdGUoKVxuICAgIH0pO1xuXG4gICAgLy8gaWYgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIHNhdmUgaXQgYXMgYGxhc3RfbG9jYWxlYFxuICAgIGlmIChjdHguaXNBdXRoZW50aWNhdGVkKCkpIHtcbiAgICAgIGN0eC5zdGF0ZS51c2VyLmxhc3RfbG9jYWxlID0gbG9jYWxlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgY3R4LnN0YXRlLnVzZXIuc2F2ZSgpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLmxvZ2dlci5lcnJvcihlcnIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXh0KCk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBJMThOO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJyZXF1aXJlIiwiZXh0bmFtZSIsInJlc29sdmUiLCJpc0VtcHR5Iiwic29ydEJ5IiwiZXZlcnkiLCJzdHJpbmdpZnkiLCJCb29tIiwicyIsImdldExhbmd1YWdlIiwibW9tZW50IiwiaTE4biIsImxvY2FsZXMiLCJhdXRvQmluZCIsImFwaSIsIkkxOE4iLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsIk9iamVjdCIsImFzc2lnbiIsInBocmFzZXMiLCJsb2dnZXIiLCJjb25zb2xlIiwiZGlyZWN0b3J5IiwiY29va2llIiwiaW5kZW50IiwiZGVmYXVsdExvY2FsZSIsInN5bmNGaWxlcyIsImF1dG9SZWxvYWQiLCJ1cGRhdGVGaWxlcyIsIl9fIiwiX19uIiwiX19sIiwiX19oIiwiX19tZiIsInJlZ2lzdGVyIiwibG9nRGVidWdGbiIsImRlYnVnIiwibG9nV2FybkZuIiwid2FybiIsImxvZ0Vycm9yRm4iLCJlcnJvciIsImwiLCJpbmNsdWRlcyIsIkVycm9yIiwiZmlsdGVyIiwic3RyIiwiam9pbiIsImNvbmZpZ3VyZSIsInRyYW5zbGF0ZSIsImtleSIsImxvY2FsZSIsImFyZ3MiLCJrZXlzIiwiYXJndW1lbnRzIiwibWFwIiwic2xpY2UiLCJwaHJhc2UiLCJ0IiwibWlkZGxld2FyZSIsImN0eCIsIm5leHQiLCJpbml0IiwicmVxIiwic3RhdGUiLCJmaW5kIiwicGF0aCIsImluZGV4T2YiLCJwYXRoV2l0aG91dExvY2FsZSIsInN1YnN0cmluZyIsImxlbmd0aCIsImNvb2tpZXMiLCJnZXQiLCJyZXF1ZXN0IiwiYWNjZXB0c0xhbmd1YWdlcyIsInNldExvY2FsZSIsInJlZGlyZWN0IiwicXVlcnkiLCJhdmFpbGFibGVMYW5ndWFnZXMiLCJ1cmwiLCJuYW1lIiwiY3VycmVudExhbmd1YWdlIiwidGl0bGVpemUiLCJuYXRpdmVOYW1lIiwidGhyb3ciLCJiYWRSZXF1ZXN0Iiwic3BsaXQiLCJoYXNMYW5nIiwic3RhdHVzIiwic2V0Iiwic2lnbmVkIiwiZXhwaXJlcyIsImFkZCIsInRvRGF0ZSIsImlzQXV0aGVudGljYXRlZCIsInVzZXIiLCJsYXN0X2xvY2FsZSIsInNhdmUiLCJlcnIiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7O2VBQTZCQSxRQUFRLE1BQVIsQzs7TUFBckJDLE8sWUFBQUEsTztNQUFTQyxPLFlBQUFBLE87O0FBQ2pCLE1BQU1DLFVBQVVILFFBQVEsZ0JBQVIsQ0FBaEI7QUFDQSxNQUFNSSxTQUFTSixRQUFRLGVBQVIsQ0FBZjtBQUNBLE1BQU1LLFFBQVFMLFFBQVEsY0FBUixDQUFkOztnQkFDc0JBLFFBQVEsSUFBUixDOztNQUFkTSxTLGFBQUFBLFM7O0FBQ1IsTUFBTUMsT0FBT1AsUUFBUSxNQUFSLENBQWI7QUFDQSxNQUFNUSxJQUFJUixRQUFRLG1CQUFSLENBQVY7O2dCQUN3QkEsUUFBUSxrQkFBUixDOztNQUFoQlMsVyxhQUFBQSxXOztBQUNSLE1BQU1DLFNBQVNWLFFBQVEsUUFBUixDQUFmO0FBQ0EsTUFBTVcsT0FBT1gsUUFBUSxNQUFSLENBQWI7QUFDQSxNQUFNWSxVQUFVWixRQUFRLGNBQVIsQ0FBaEI7QUFDQSxNQUFNYSxXQUFXYixRQUFRLFdBQVIsQ0FBakI7O0FBRUE7QUFDQVcsS0FBS0csR0FBTCxHQUFXLEVBQVg7O0FBRUEsTUFBTUMsSUFBTixDQUFXO0FBQ1RDLGNBQVlDLFNBQVMsRUFBckIsRUFBeUI7QUFDdkIsU0FBS0EsTUFBTCxHQUFjQyxPQUFPQyxNQUFQLENBQ1o7QUFDRUMsZUFBUyxFQURYO0FBRUVDLGNBQVFDLE9BRlY7QUFHRUMsaUJBQVdyQixRQUFRLFNBQVIsQ0FIYjtBQUlFVSxlQUFTLENBQUMsSUFBRCxFQUFPLElBQVAsRUFBYSxJQUFiLENBSlg7QUFLRVksY0FBUSxRQUxWO0FBTUVDLGNBQVEsSUFOVjtBQU9FQyxxQkFBZSxJQVBqQjtBQVFFQyxpQkFBVyxJQVJiO0FBU0VDLGtCQUFZLElBVGQ7QUFVRUMsbUJBQWEsSUFWZjtBQVdFZixXQUFL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QTZCUSxNQUE3QixDQUFoQjs7QUFFQTtBQUNBO0FBQ0EsVUFBSSxDQUFDb0MsT0FBTCxFQUFjO0FBQ1ozQixZQUFJNEIsTUFBSixHQUFhLEdBQWI7QUFDQSxZQUFJWixXQUFZLElBQUdoQixJQUFJRyxHQUFKLENBQVFaLE1BQU8sR0FBRVMsSUFBSW1CLEdBQUksRUFBNUM7QUFDQSxZQUFJLENBQUM1RSxRQUFReUQsSUFBSWlCLEtBQVosQ0FBTCxFQUF5QkQsWUFBYSxJQUFHdEUsVUFBVXNELElBQUlpQixLQUFkLENBQXFCLEVBQXJDO0FBQ3pCLGVBQU9qQixJQUFJZ0IsUUFBSixDQUFhQSxRQUFiLENBQVA7QUFDRDs7QUFFRDtBQUNBaEIsVUFBSVcsT0FBSixDQUFZa0IsR0FBWixDQUFnQixNQUFLeEUsTUFBTCxDQUFZTyxNQUE1QixFQUFvQzJCLE1BQXBDLEVBQTRDO0FBQzFDdUMsZ0JBQVEsSUFEa0M7QUFFMUNDLGlCQUFTakYsU0FDTmtGLEdBRE0sQ0FDRixDQURFLEVBQ0MsTUFERCxFQUVOQyxNQUZNO0FBRmlDLE9BQTVDOztBQU9BO0FBQ0EsVUFBSWpDLElBQUlrQyxlQUFKLEVBQUosRUFBMkI7QUFDekJsQyxZQUFJSSxLQUFKLENBQVUrQixJQUFWLENBQWVDLFdBQWYsR0FBNkI3QyxNQUE3QjtBQUNBLFlBQUk7QUFDRixnQkFBTVMsSUFBSUksS0FBSixDQUFVK0IsSUFBVixDQUFlRSxJQUFmLEVBQU47QUFDRCxTQUZELENBRUUsT0FBT0MsR0FBUCxFQUFZO0FBQ1osZ0JBQUtqRixNQUFMLENBQVlJLE1BQVosQ0FBbUJvQixLQUFuQixDQUF5QnlELEdBQXpCO0FBQ0Q7QUFDRjs7QUFFRCxhQUFPckMsTUFBUDtBQXBDd0I7QUFxQ3pCO0FBdkxROztBQTBMWHNDLE9BQU9DLE9BQVAsR0FBaUJyRixJQUFqQiIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHsgZXh0bmFtZSwgcmVzb2x2ZSB9ID0gcmVxdWlyZSgncGF0aCcpO1xuY29uc3QgaXNFbXB0eSA9IHJlcXVpcmUoJ2xvZGFzaC5pc2VtcHR5Jyk7XG5jb25zdCBzb3J0QnkgPSByZXF1aXJlKCdsb2Rhc2guc29ydGJ5Jyk7XG5jb25zdCBldmVyeSA9IHJlcXVpcmUoJ2xvZGFzaC5ldmVyeScpO1xuY29uc3QgeyBzdHJpbmdpZnkgfSA9IHJlcXVpcmUoJ3FzJyk7XG5jb25zdCBCb29tID0gcmVxdWlyZSgnYm9vbScpO1xuY29uc3QgcyA9IHJlcXVpcmUoJ3VuZGVyc2NvcmUuc3RyaW5nJyk7XG5jb25zdCB7IGdldExhbmd1YWdlIH0gPSByZXF1aXJlKCdjb3VudHJ5LWxhbmd1YWdlJyk7XG5jb25zdCBtb21lbnQgPSByZXF1aXJlKCdtb21lbnQnKTtcbmNvbnN0IGkxOG4gPSByZXF1aXJlKCdpMThuJyk7XG5jb25zdCBsb2NhbGVzID0gcmVxdWlyZSgnaTE4bi1sb2NhbGVzJyk7XG5jb25zdCBhdXRvQmluZCA9IHJlcXVpcmUoJ2F1dG8tYmluZCcpO1xuXG4vLyBleHBvc2UgZ2xvYmFsXG5pMThuLmFwaSA9IHt9O1xuXG5jbGFzcyBJMThOIHtcbiAgY29uc3RydWN0b3IoY29uZmlnID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIHBocmFzZXM6IHt9LFxuICAgICAgICBsb2dnZXI6IGNvbnNvbGUsXG4gICAgICAgIGRpcmVjdG9yeTogcmVzb2x2ZSgnbG9jYWxlcycpLFxuICAgICAgICBsb2NhbGVzOiBbJ2VuJywgJ2VzJywgJ3poJ10sXG4gICAgICAgIGNvb2tpZTogJ2xvY2FsZScsXG4gICAgICAgIGluZGVudDogJyAgJyxcbiAgICAgICAgZGVmYXVsdExvY2FsZTogJ2VuJyxcbiAgICAgICAgc3luY0ZpbGVzOiB0cnVlLFxuICAgICAgICBhdXRvUmVsb2FkOiB0cnVlLFxuICAgICAgICB1cGRhdGVGaWxlczogdHJ1ZSxcbiAgICAgICAgYXBpOiB7XG4gICAgICAgICAgX186ICd0JyxcbiAgICAgICAgICBfX246ICd0bicsXG4gICAgICAgICAgX19sOiAndGwnLFxuICAgICAgICAgIF9faDogJ3RoJyxcbiAgICAgICAgICBfX21mOiAndG1mJ1xuICAgICAgICB9LFxuICAgICAgICByZWdpc3RlcjogaTE4bi5hcGlcbiAgICAgIH0sXG4gICAgICBjb25maWdcbiAgICApO1xuXG4gICAgY29uc3QgeyBsb2dnZXIgfSA9IHRoaXMuY29uZmlnO1xuXG4gICAgdGhpcy5jb25maWcubG9nRGVidWdGbiA9IGxvZ2dlci5kZWJ1ZztcbiAgICB0aGlzLmNvbmZpZy5sb2dXYXJuRm4gPSBsb2dnZXIud2FybjtcbiAgICB0aGlzLmNvbmZpZy5sb2dFcnJvckZuID0gbG9nZ2VyLmVycm9yO1xuXG4gICAgLy8gdmFsaWRhdGUgbG9jYWxlcyBhZ2FpbnN0IGF2YWlsYWJsZSBvbmVzXG4gICAgaWYgKCFldmVyeSh0aGlzLmNvbmZpZy5sb2NhbGVzLCBsID0+IGxvY2FsZXMuaW5jbHVkZXMobCkpKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW52YWxpZCBsb2NhbGVzOiAke3RoaXMuY29uZmlnLmxvY2FsZXNcbiAgICAgICAgICAuZmlsdGVyKHN0ciA9PiAhbG9jYWxlcy5pbmNsdWRlcyhzdHIpKVxuICAgICAgICAgIC5qb2luKCcsICcpfWBcbiAgICAgICk7XG5cbiAgICAvLyBpbmhlcml0IGkxOG4gb2JqZWN0XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpMThuKTtcblxuICAgIC8vIGNvbmZpZ3VyZSBpMThuXG4gICAgdGhpcy5jb25maWd1cmUodGhpcy5jb25maWcpO1xuXG4gICAgYXV0b0JpbmQodGhpcyk7XG4gIH1cblxuICB0cmFuc2xhdGUoa2V5LCBsb2NhbGUpIHtcbiAgICBjb25zdCB7IGxvZ2dlciwgcGhyYXNlcyB9ID0gdGhpcy5jb25maWc7XG4gICAgbGV0IGFyZ3MgPSBPYmplY3Qua2V5cyhhcmd1bWVudHMpXG4gICAgICAubWFwKGtleSA9PiBhcmd1bWVudHNba2V5XSlcbiAgICAgIC5zbGljZSgyKTtcbiAgICBpZiAodHlwZW9mIGFyZ3MgPT09ICd1bmRlZmluZWQnKSBhcmdzID0gW107XG4gICAgY29uc3QgcGhyYXNlID0gcGhyYXNlc1trZXldO1xuICAgIGlmICh0eXBlb2YgcGhyYXNlICE9PSAnc3RyaW5nJykge1xuICAgICAgbG9nZ2VyLndhcm4oYHRyYW5zbGF0aW9uIGtleSBtaXNzaW5nOiAke2tleX1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXJncyA9IFt7IHBocmFzZSwgbG9jYWxlIH0sIC4uLmFyZ3NdO1xuICAgIHJldHVybiBpMThuLmFwaS50KC4uLmFyZ3MpO1xuICB9XG5cbiAgbWlkZGxld2FyZShjdHgsIG5leHQpIHtcbiAgICBjb25zdCB7IGxvY2FsZXMsIGRlZmF1bHRMb2NhbGUsIHBocmFzZXMsIGNvb2tpZSB9ID0gdGhpcy5jb25maWc7XG5cbiAgICAvLyBleHBvc2UgYXBpIG1ldGhvZHMgdG8gYGN0eC5yZXFgIGFuZCBgY3R4LnN0YXRlYFxuICAgIGkxOG4uaW5pdChjdHgucmVxLCBjdHguc3RhdGUpO1xuXG4gICAgLy8gb3ZlcnJpZGUgdGhlIGV4aXN0aW5nIGxvY2FsZSBkZXRlY3Rpb24gd2l0aCBvdXIgb3duXG4gICAgLy8gaW4gb3JkZXIgb2YgcHJpb3JpdHk6XG4gICAgLy9cbiAgICAvLyAxLiBjaGVjayB0aGUgVVJMLCBpZiA9PT0gYC9kZWAgb3Igc3RhcnRzIHdpdGggYC9kZS9gIHRoZW4gbG9jYWxlIGlzIGBkZWBcbiAgICAvLyAyLiBjaGVjayB0aGUgY29va2llXG4gICAgLy8gMy4gY2hlY2sgQWNjZXB0LUxhbmd1YWdlIGxhc3RcbiAgICAvL1xuICAgIC8vIGFsc28gd2UgbmVlZCB0byBleHBvc2UgYGN0eC5wYXRoV2l0aG91dExvY2FsZWBcbiAgICAvLyBhcyB0aGUgcGF0aCB3aXRob3V0IGxvY2FsZVxuXG4gICAgbGV0IGxvY2FsZSA9IGxvY2FsZXMuZmluZChsID0+IHtcbiAgICAgIHJldHVybiBgLyR7bH1gID09PSBjdHgucGF0aCB8fCBjdHgucGF0aC5pbmRleE9mKGAvJHtsfS9gKSA9PT0gMDtcbiAgICB9KTtcblxuICAgIGN0eC5wYXRoV2l0aG91dExvY2FsZSA9IGxvY2FsZVxuICAgICAgPyBjdHgucGF0aC5zdWJzdHJpbmcoYC8ke2xvY2FsZX1gLmxlbmd0aClcbiAgICAgIDogY3R4LnBhdGg7XG4gICAgaWYgKGN0eC5wYXRoV2l0aG91dExvY2FsZSA9PT0gJycpIGN0eC5wYXRoV2l0aG91dExvY2FsZSA9ICcvJztcblxuICAgIGlmICghbG9jYWxlKSB7XG4gICAgICBsb2NhbGUgPSBkZWZhdWx0TG9jYWxlO1xuICAgICAgaWYgKGN0eC5jb29raWVzLmdldChjb29raWUpICYmIGxvY2FsZXMuaW5jbHVkZXMoY3R4LmNvb2tpZXMuZ2V0KGNvb2tpZSkpKVxuICAgICAgICBsb2NhbGUgPSBjdHguY29va2llcy5nZXQoY29va2llKTtcbiAgICAgIGVsc2UgaWYgKGN0eC5yZXF1ZXN0LmFjY2VwdHNMYW5ndWFnZXMobG9jYWxlcykpXG4gICAgICAgIGxvY2FsZSA9IGN0eC5yZXF1ZXN0LmFjY2VwdHNMYW5ndWFnZXMobG9jYWxlcyk7XG4gICAgfVxuXG4gICAgLy8gc2V0IHRoZSBsb2NhbGUgcHJvcGVybHlcbiAgICBpMThuLnNldExvY2FsZShbY3R4LnJlcSwgY3R4LnN0YXRlXSwgbG9jYWxlKTtcblxuICAgIC8vIGlmIHRoZSBsb2NhbGUgd2FzIG5vdCBhdmFpbGFibGUgdGhlbiByZWRpcmVjdCB1c2VyXG4gICAgaWYgKGxvY2FsZSAhPT0gY3R4LnN0YXRlLmxvY2FsZSlcbiAgICAgIHJldHVybiBjdHgucmVkaXJlY3QoXG4gICAgICAgIGAvJHtjdHguc3RhdGUubG9jYWxlfSR7Y3R4LnBhdGhXaXRob3V0TG9jYWxlfSR7aXNFbXB0eShjdHgucXVlcnkpXG4gICAgICAgICAgPyAnJ1xuICAgICAgICAgIDogYD8ke3N0cmluZ2lmeShjdHgucXVlcnkpfWB9YFxuICAgICAgKTtcblxuICAgIC8vIGF2YWlsYWJsZSBsYW5ndWFnZXMgZm9yIGEgZHJvcGRvd24gbWVudSB0byBjaGFuZ2UgbGFuZ3VhZ2VcbiAgICBjdHguc3RhdGUuYXZhaWxhYmxlTGFuZ3VhZ2VzID0gc29ydEJ5KFxuICAgICAgbG9jYWxlcy5tYXAobG9jYWxlID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgdXJsOiBgLyR7bG9jYWxlfSR7Y3R4LnBhdGhXaXRob3V0TG9jYWxlfSR7aXNFbXB0eShjdHgucXVlcnkpXG4gICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICA6IGA/JHtzdHJpbmdpZnkoY3R4LnF1ZXJ5KX1gfWAsXG4gICAgICAgICAgbmFtZTogZ2V0TGFuZ3VhZ2UobG9jYWxlKS5uYW1lWzBdXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICAgICduYW1lJ1xuICAgICk7XG5cbiAgICAvLyBnZXQgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgbG9jYWxlJ3MgbGFuZ3VhZ2UgaW4gbmF0aXZlIGxhbmd1YWdlXG4gICAgY3R4LnN0YXRlLmN1cnJlbnRMYW5ndWFnZSA9IHMudGl0bGVpemUoXG4gICAgICBnZXRMYW5ndWFnZShjdHgucmVxLmxvY2FsZSkubmF0aXZlTmFtZVswXVxuICAgICk7XG5cbiAgICAvLyBiaW5kIGBjdHgudHJhbnNsYXRlYCBhcyBhIGhlbHBlciBmdW5jXG4gICAgLy8gc28geW91IGNhbiBwYXNzIGBjdHgudHJhbnNsYXRlKCdTT01FX0tFWV9JTl9DT05GSUcnKTtgIGFuZCBpdCB3aWxsIGxvb2t1cFxuICAgIC8vIGBwaHJhc2VzWydTT01FVEhJTkcnXWAgdG8gZ2V0IGEgc3BlY2lmaWMgYW5kIGNvbnN0YW50IG1lc3NhZ2VcbiAgICAvLyBhbmQgdGhlbiBpdCB3aWxsIGNhbGwgYHRgIHRvIHRyYW5zbGF0ZSBpdCB0byB0aGUgdXNlcidzIGxvY2FsZVxuICAgIGN0eC50cmFuc2xhdGUgPSBmdW5jdGlvbigpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIGFyZ3VtZW50c1swXSAhPT0gJ3N0cmluZycgfHxcbiAgICAgICAgdHlwZW9mIHBocmFzZXNbYXJndW1lbnRzWzBdXSAhPT0gJ3N0cmluZydcbiAgICAgIClcbiAgICAgICAgcmV0dXJuIGN0eC50aHJvdyhcbiAgICAgICAgICBCb29tLmJhZFJlcXVlc3QoJ1RyYW5zbGF0aW9uIGZvciB5b3VyIGxvY2FsZSBmYWlsZWQsIHRyeSBhZ2FpbicpXG4gICAgICAgICk7XG4gICAgICBhcmd1bWVudHNbMF0gPSBwaHJhc2VzW2FyZ3VtZW50c1swXV07XG4gICAgICByZXR1cm4gY3R4LnJlcS50KC4uLmFyZ3VtZW50cyk7XG4gICAgfTtcblxuICAgIHJldHVybiBuZXh0KCk7XG4gIH1cblxuICBhc3luYyByZWRpcmVjdChjdHgsIG5leHQpIHtcbiAgICAvLyBkbyBub3QgcmVkaXJlY3Qgc3RhdGljIHBhdGhzXG4gICAgaWYgKGV4dG5hbWUoY3R4LnBhdGgpICE9PSAnJykgcmV0dXJuIG5leHQoKTtcblxuICAgIC8vIGluc3BpcmVkIGJ5IG5vZGVqcy5vcmcgbGFuZ3VhZ2Ugc3VwcG9ydFxuICAgIC8vIDxodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGVqcy5vcmcvY29tbWl0L2Q2Y2RkOTQyYThmYzBmZmZjZjY4NzllY2ExMjQyOTVlOTU5OTFiYmMjZGlmZi03OGMxMmY1YWRjMTg0OGQxM2IxYzZmMDcwNTVkOTk2ZVI1OT5cbiAgICBjb25zdCBsb2NhbGUgPSBjdHgudXJsLnNwbGl0KCcvJylbMV0uc3BsaXQoJz8nKVswXTtcbiAgICBjb25zdCBoYXNMYW5nID0gdGhpcy5jb25maWcubG9jYWxlcy5pbmNsdWRlcyhsb2NhbGUpO1xuXG4gICAgLy8gaWYgdGhlIFVSTCBkaWQgbm90IGhhdmUgYSB2YWxpZCBsYW5ndWFnZSBmb3VuZFxuICAgIC8vIHRoZW4gcmVkaXJlY3QgdGhlIHVzZXIgdG8gdGhlaXIgZGV0ZWN0ZWQgbG9jYWxlXG4gICAgaWYgKCFoYXNMYW5nKSB7XG4gICAgICBjdHguc3RhdHVzID0gMzAyO1xuICAgICAgbGV0IHJlZGlyZWN0ID0gYC8ke2N0eC5yZXEubG9jYWxlfSR7Y3R4LnVybH1gO1xuICAgICAgaWYgKCFpc0VtcHR5KGN0eC5xdWVyeSkpIHJlZGlyZWN0ICs9IGA/JHtzdHJpbmdpZnkoY3R4LnF1ZXJ5KX1gO1xuICAgICAgcmV0dXJuIGN0eC5yZWRpcmVjdChyZWRpcmVjdCk7XG4gICAgfVxuXG4gICAgLy8gc2V0IHRoZSBjb29raWUgZm9yIGZ1dHVyZSByZXF1ZXN0c1xuICAgIGN0eC5jb29raWVzLnNldCh0aGlzLmNvbmZpZy5jb29raWUsIGxvY2FsZSwge1xuICAgICAgc2lnbmVkOiB0cnVlLFxuICAgICAgZXhwaXJlczogbW9tZW50KClcbiAgICAgICAgLmFkZCgxLCAneWVhcicpXG4gICAgICAgIC50b0RhdGUoKVxuICAgIH0pO1xuXG4gICAgLy8gaWYgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLCB0aGVuIHNhdmUgaXQgYXMgYGxhc3RfbG9jYWxlYFxuICAgIGlmIChjdHguaXNBdXRoZW50aWNhdGVkKCkpIHtcbiAgICAgIGN0eC5zdGF0ZS51c2VyLmxhc3RfbG9jYWxlID0gbG9jYWxlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgY3R4LnN0YXRlLnVzZXIuc2F2ZSgpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMuY29uZmlnLmxvZ2dlci5lcnJvcihlcnIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXh0KCk7XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBJMThOO1xuIl19
{
"name": "@ladjs/i18n",
"description": "i18n wrapper and Koa middleware for Lad",
"version": "0.0.7",
"version": "0.0.8",
"author": "Nick Baugh <niftylettuce@gmail.com> (http://niftylettuce.com/)",

@@ -6,0 +6,0 @@ "bugs": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc