Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cci-pingu

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cci-pingu - npm Package Compare versions

Comparing version 2.7.3 to 2.7.7

16

dist/lib/task.js

@@ -44,2 +44,14 @@ 'use strict';

var updateResponse = function updateResponse(res) {
var defaultBody = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
if (res.text) {
try {
res.body = JSON.parse(res.text);
} catch (e) {
res.body = defaultBody;
}
}
};
var scheduleNext = function scheduleNext() {

@@ -181,2 +193,3 @@ if (config._save) {

}
updateResponse(res, []);
if (!res.ok) {

@@ -231,2 +244,3 @@ console.error('Status: ' + res.status + ', ' + res.text);

}
updateResponse(res);
if (!res.ok) {

@@ -305,2 +319,2 @@ console.error('Status: ' + res.status + ', ' + res.text);

exports.default = _module;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi90YXNrLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsIm9wdGlvbnMiLCJjb25maWciLCJkb3dubG9hZEVycm9yIiwiRVhJVF9DT0RFIiwic2NoZWR1bGVOZXh0IiwiX3NhdmUiLCJsYXN0IiwiX2xhc3QiLCJjZmdGaWxlIiwid3JpdGUiLCJjb25zb2xlIiwiaW5mbyIsInByb2Nlc3MiLCJleGl0Iiwic2V0VGltZW91dCIsInJ1biIsImludGVydmFsIiwibG9nUHJlZml4ZWQiLCJwcmVmaXgiLCJsb2dGbiIsImRhdGEiLCJ0b1N0cmluZyIsInNwbGl0Iiwic2xpY2UiLCJtYXAiLCJzIiwiam9pbiIsInN0YXJ0U2NyaXB0Iiwic2NyaXB0RmlsZSIsInBhdGgiLCJyZXNvbHZlIiwic2NyaXB0IiwiX3RhcmdldCIsImN3ZCIsImRpcm5hbWUiLCJzdGRvdXQiLCJvbiIsInN0ZGVyciIsIndhcm4iLCJlcnIiLCJlcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJjb2RlIiwiZSIsIm1lc3NhZ2UiLCJjY2lEb3dubG9hZE9uZSIsIl91cmxzIiwibGVuZ3RoIiwidXJsIiwicG9wIiwiZmlsZW5hbWUiLCJzdHJlYW1OYW1lIiwiZGVjb2RlVVJJQ29tcG9uZW50Iiwic3RyZWFtIiwiZnMiLCJjcmVhdGVXcml0ZVN0cmVhbSIsInN0YXJ0IiwiRGF0ZSIsImdldFRpbWUiLCJyZXF1ZXN0IiwiZ2V0IiwicXVlcnkiLCJ0b2tlbiIsInRpbWVvdXQiLCJkdXIiLCJzcGxpY2UiLCJuZXh0VGljayIsInBpcGUiLCJjY2lEb3dubG9hZCIsInN0YXRTeW5jIiwiZGlyZWN0b3J5IiwiYmFzZW5hbWUiLCJpIiwibG9nIiwibWtkaXJTeW5jIiwiY2NpQXJ0aWZhY3RzSW5mb0hhbmRsZXIiLCJyZXMiLCJvayIsInN0YXR1cyIsInRleHQiLCJib2R5IiwicHJlZml4ZXMiLCJhcnRpZmFjdHMiLCJuYW1lIiwiaXRlbSIsImZvdW5kIiwidXJscyIsImZvckVhY2giLCJpbmRleE9mIiwicHVzaCIsImFsbEZvdW5kIiwiY2NpQnVpbGRJbmZvSGFuZGxlciIsImJ1aWxkcyIsImluc3RhbGwiLCJvcmRlcl9ieSIsIndvcmtmbG93c19qb2JfbmFtZSIsImJ1aWxkIiwid29ya2Zsb3dzIiwiam9iX25hbWUiLCJidWlsZF9udW0iLCJfbmFtZSIsImFwaVBhdGgiLCJob3N0aW5nIiwib3JnYW5pc2F0aW9uIiwicHJvamVjdCIsImNjaV91cmwiLCJzZXQiLCJlbmQiLCJfb3B0aW9ucyIsInJlYWQiLCJpZ25vcmVfYnJhbmNoIiwiYnJhbmNoIiwiZmlsdGVyIiwibGltaXQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQU1BOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOztBQUNBOzs7O0FBQ0E7Ozs7OztBQVhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBU0EsSUFBTUEsVUFBUyxFQUFmO0FBQ0EsSUFBSUMsZ0JBQUosQyxDQUFhO0FBQ2IsSUFBSUMsZUFBSixDLENBQWE7QUFDYixJQUFJQyxzQkFBSixDLENBQW1COztBQUVuQixJQUFJQyxrQkFBSixDLENBQWU7O0FBRWYsSUFBTUMsZUFBZSxTQUFmQSxZQUFlLEdBQU07QUFDekIsTUFBSUgsT0FBT0ksS0FBWCxFQUFrQjtBQUNoQkosV0FBT0ssSUFBUCxHQUFjTCxPQUFPTSxLQUFyQjtBQUNBLFFBQUlQLFFBQVFRLE9BQVIsQ0FBZ0JDLEtBQWhCLENBQXNCUixNQUF0QixDQUFKLEVBQW1DO0FBQ2pDUyxjQUFRQyxJQUFSLENBQWEscURBQWI7QUFDRDtBQUNGO0FBQ0QsTUFBSVgsUUFBUSxVQUFSLENBQUosRUFBeUI7QUFDdkJVLFlBQVFDLElBQVIsQ0FBYSxxREFBYjtBQUNBQyxZQUFRQyxJQUFSLENBQWFWLFNBQWI7QUFDRCxHQUhELE1BR087QUFDTFcsZUFBV2YsUUFBT2dCLEdBQWxCLEVBQXVCZCxPQUFPZSxRQUFQLEdBQWtCLElBQXpDO0FBQ0FOLFlBQVFDLElBQVIsQ0FBYSxnQ0FBZ0NWLE9BQU9lLFFBQXZDLEdBQWtELFdBQS9EO0FBQ0Q7QUFD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LG1CQUxQO0FBTUQsQ0EzQkQ7O2tCQTZCZTdGLE8iLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIE1vZHVsZSBmb3IgdGFsa2luZyB0byBDQ0ksIGdldHRpbmcgdGhlIGFydGlmYWN0cywgZG93bmxvYWRpbmcgdGhlbSxcbi8vIHN0YXJ0aW5nIHRoZSBhY3Rpb24gc2NyaXB0LCBzYXZpbmcgdGhlIHVwZGF0ZWQgY29uZmlnIGZpbGUsIC4uLlxuLy9cbi8vIFRoZSB0YXNrLnJ1bigpIHNjaGVkdWxlcyBuZXh0IHJ1biBhcyBuZWVkZWQuXG4vLyBBbGwgZGlzayBvcGVyYXRpb25zIGFyZSBzeW5jaHJvbm91cy5cblxuaW1wb3J0IHJlcXVlc3QgZnJvbSAnc3VwZXJhZ2VudCc7XG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBzcGF3biB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IG9yZGVyQnkgZnJvbSAnbG9kYXNoLm9yZGVyYnknO1xuaW1wb3J0IGZpbHRlciBmcm9tICdsb2Rhc2guZmlsdGVyJztcblxuY29uc3QgbW9kdWxlID0ge307XG5sZXQgb3B0aW9uczsgLy8gc2V0IG9uY2UgYXQgZmlyc3QgcnVuKClcbmxldCBjb25maWc7ICAvLyByZS1yZWFkIGluIGVhY2ggaXRlcmF0aW9uXG5sZXQgZG93bmxvYWRFcnJvcjsgLy8gc3RvcCB0aGUgcHJvY2VzcyBpbiBjYXNlIGRvd25sb2FkIGZhaWxlZFxuXG5sZXQgRVhJVF9DT0RFOyAvLyByZXR1cm4gY29kZSBmb3IgJy0tcnVuLW9uY2UnIG1vZGVcblxuY29uc3Qgc2NoZWR1bGVOZXh0ID0gKCkgPT4ge1xuICBpZiAoY29uZmlnLl9zYXZlKSB7XG4gICAgY29uZmlnLmxhc3QgPSBjb25maWcuX2xhc3Q7XG4gICAgaWYgKG9wdGlvbnMuY2ZnRmlsZS53cml0ZShjb25maWcpKSB7XG4gICAgICBjb25zb2xlLmluZm8oJ05ldyBjb25maWd1cmF0aW9uIGZpbGUgcmV2aXNpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLicpO1xuICAgIH1cbiAgfVxuICBpZiAob3B0aW9uc1sncnVuLW9uY2UnXSkge1xuICAgIGNvbnNvbGUuaW5mbygnQ0NJLVBJTkdVIGFib3V0IHRvIGV4aXQuIFRoYW5rcyBmb3IgZmx5aW5nIHdpdGggdXMhJyk7XG4gICAgcHJvY2Vzcy5leGl0KEVYSVRfQ09ERSk7XG4gIH0gZWxzZSB7XG4gICAgc2V0VGltZW91dChtb2R1bGUucnVuLCBjb25maWcuaW50ZXJ2YWwgKiAxMDAwKTtcbiAgICBjb25zb2xlLmluZm8oJ05leHQgQ0NJIHRhc2sgc2NoZWR1bGVkIGluICcgKyBjb25maWcuaW50ZXJ2YWwgKyAnIHNlY29uZHMuJyk7XG4gIH1cbn07XG5cbmNvbnN0IGxvZ1ByZWZpeGVkID0gKHByZWZpeCwgbG9nRm4pID0+IChkYXRhKSA9PiB7XG4gIGxvZ0ZuKGRhdGEudG9TdHJpbmcoKS5zcGxpdCgnXFxuJykuc2xpY2UoMCwgLTEpLm1hcCgocykgPT4gYCR7cHJlZml4fSAke3N9YCkuam9pbignXFxuJykpO1xufTtcblxuY29uc3Qgc3RhcnRTY3JpcHQgPSAoKSA9PiB7XG4gIGNvbnN0IHNjcmlwdEZpbGUgPSBwYXRoLnJlc29sdmUoY29uZmlnLnNjcmlwdCk7XG4gIGNvbnNvbGUuaW5mbygnRXhlY3V0aW5nIFwiJyArIHNjcmlwdEZpbGUgKyAnXCIuJyk7XG4gIHRyeSB7XG4gICAgY29uc3Qgc2NyaXB0ID0gc3Bhd24oc2NyaXB0RmlsZSwgWyBjb25maWcuX3RhcmdldCwgY29uZmlnLl9sYXN0IF0sIHsgY3dkOiBwYXRoLmRpcm5hbWUoc2NyaXB0RmlsZSkgfSk7XG4gICAgc2NyaXB0LnN0ZG91dC5vbignZGF0YScsIGxvZ1ByZWZpeGVkKCcqJywgY29uc29sZS5pbmZvKSk7XG4gICAgc2NyaXB0LnN0ZGVyci5vbignZGF0YScsIGxvZ1ByZWZpeGVkKCchJywgY29uc29sZS53YXJuKSk7XG4gICAgc2NyaXB0Lm9uKCdlcnJvcicsIChlcnIpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCBzY3JpcHQgXCInICsgc2NyaXB0RmlsZSArICdcIi4nKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoSlNPTi5zdHJpbmdpZnkoZXJyKSk7XG4gICAgICBjb25zb2xlLndhcm4oJ0NDSSB0YXNrIGZpbmlzaGVkIHdpdGggZmFpbHVyZS4nKTtcbiAgICAgIHNjaGVkdWxlTmV4dCgpO1xuICAgIH0pO1xuICAgIHNjcmlwdC5vbignY2xvc2UnLCAoY29kZSkgPT4ge1xuICAgICAgaWYgKCFjb2RlKSB7IC8vIHN1Y2Nlc3NcbiAgICAgICAgY29uc29sZS5pbmZvKCdDQ0kgdGFzayBzdWNjZXNzZnVsbHkgZmluaXNoZWQuJyk7XG4gICAgICAgIGNvbmZpZy5fc2F2ZSA9IHRydWU7XG4gICAgICB9IGVsc2UgeyAvLyBmYWlsXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0luc3RhbGxhdGlvbiBzY3JpcHQgZmFpbGVkIHdpdGggZXhpdCBjb2RlICgnICsgY29kZSArICcpLicpO1xuICAgICAgfVxuICAgICAgRVhJVF9DT0RFID0gY29kZTtcbiAgICAgIHNjaGVkdWxlTmV4dCgpO1xuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7IC8vIHNwYXduIGNhbiB0aHJvdyBleGNlcHRpb25zIG9uIGl0cyBvd25cbiAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gc3RhcnQgc2NyaXB0IFwiJyArIHNjcmlwdEZpbGUgKyAnXCIuJyk7XG4gICAgY29uc29sZS5lcnJvcihlLm1lc3NhZ2UpO1xuICAgIGNvbnNvbGUud2FybignQ0NJIHRhc2sgZmluaXNoZWQgd2l0aCBmYWlsdXJlLicpO1xuICAgIHNjaGVkdWxlTmV4dCgpO1xuICB9XG59O1xuXG5jb25zdCBjY2lEb3dubG9hZE9uZSA9ICgpID0+IHtcbiAgaWYgKCFjb25maWcuX3VybHMubGVuZ3RoKSB7XG4gICAgc3RhcnRTY3JpcHQoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB1cmwgPSBjb25maWcuX3VybHMucG9wKCk7XG4gICAgbGV0IGZpbGVuYW1lID0gdXJsLnNwbGl0KCcvJyk7XG4gICAgZmlsZW5hbWUgPSBmaWxlbmFtZVtmaWxlbmFtZS5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBzdHJlYW1OYW1lID0gcGF0aC5qb2luKGNvbmZpZy5fdGFyZ2V0LCBkZWNvZGVVUklDb21wb25lbnQoZmlsZW5hbWUpKTtcbiAgICBjb25zdCBzdHJlYW0gPSBmcy5jcmVhdGVXcml0ZVN0cmVhbShzdHJlYW1OYW1lKTtcbiAgICBjb25zb2xlLmluZm8oJ0Rvd25sb2FkaW5nIFwiJyArIGRlY29kZVVSSUNvbXBvbmVudCh1cmwpICsgJ1wiLicpO1xuICAgIGNvbnN0IHN0YXJ0ID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcbiAgICBkb3dubG9hZEVycm9yID0gZmFsc2U7XG4gICAgcmVxdWVzdFxuICAgICAgLmdldCh1cmwpXG4gICAgICAucXVlcnkoeyAnY2lyY2xlLXRva2VuJzogY29uZmlnLnRva2VuIH0pXG4gICAgICAudGltZW91dChjb25maWcudGltZW91dCAqIDEwMDApXG4gICAgICAub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdEb3dubG9hZCBmYWlsZWQ6ICcgKyBKU09OLnN0cmluZ2lmeShlcnIpICsgJy4nKTtcbiAgICAgICAgY29uc29sZS53YXJuKCdDQ0kgdGFzayBmaW5pc2hlZCB3aXRoIGZhaWx1cmUuJyk7XG4gICAgICAgIGRvd25sb2FkRXJyb3IgPSB0cnVlO1xuICAgICAgICBzY2hlZHVsZU5leHQoKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgaWYgKGRvd25sb2FkRXJyb3IpIHsgcmV0dXJuOyB9XG4gICAgICAgIGxldCBkdXIgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpIC0gc3RhcnQ7XG4gICAgICAgIGlmIChkdXIgPiA5OTkpIHtcbiAgICAgICAgICBkdXIgPSAoJycgKyBkdXIpLnNwbGl0KCcnKTtcbiAgICAgICAgICBkdXIuc3BsaWNlKGR1ci5sZW5ndGggLSAzLCAwLCAnLicpO1xuICAgICAgICAgIGR1ciA9IGR1ci5qb2luKCcnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmluZm8oJ1NhdmVkIGFzIFwiJyArIHN0cmVhbU5hbWUgKyAnXCIgaW4gJyArIGR1ciArICcgbXMuJyk7XG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soY2NpRG93bmxvYWRPbmUpO1xuICAgICAgfSlcbiAgICAgIC5waXBlKHN0cmVhbSk7XG4gIH1cbn07XG5jb25zdCBjY2lEb3dubG9hZCA9ICgpID0+IHtcbiAgLy8gY3JlYXRlIHRhcmdldCBkaXJlY3RvcnlcbiAgdHJ5IHtcbiAgICBmcy5zdGF0U3luYyhjb25maWcuZGlyZWN0b3J5KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0RpcmVjdG9yeSBcIicgKyBjb25maWcuZGlyZWN0b3J5ICsgJ1wiIGRvZXMgbm90IGV4aXN0LCBjYW5ub3Qgd3JpdGUgdGhlcmUuJyk7XG4gICAgY29uc29sZS53YXJuKCdDQ0kgdGFzayBmaW5pc2hlZCB3aXRoIGZhaWx1cmUuJyk7XG4gICAgc2NoZWR1bGVOZXh0KCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGJhc2VuYW1lID0gJ2J1aWxkLScgKyBjb25maWcuX2xhc3Q7XG4gIGxldCBkaXJuYW1lO1xuICB0cnkge1xuICAgIGxldCBpID0gMTtcbiAgICB3aGlsZSAodHJ1ZSkgeyAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICAgIGRpcm5hbWUgPSBiYXNlbmFtZSArIChpID4gMSA/ICcuJyArIGkgOiAnJyk7XG4gICAgICBmcy5zdGF0U3luYyhwYXRoLmpvaW4oY29uZmlnLmRpcmVjdG9yeSwgZGlybmFtZSkpO1xuICAgICAgaSsrO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIGV4Y2VwdGlvbiBpcyBmaW5lXG4gIH1cbiAgLy8gY3JlYXRlIG5ldyBkaXJcbiAgY29uZmlnLl90YXJnZXQgPSBwYXRoLnJlc29sdmUocGF0aC5qb2luKGNvbmZpZy5kaXJlY3RvcnksIGRpcm5hbWUpKTtcbiAgY29uc29sZS5sb2coJ0NyZWF0aW5nIGFydGlmYWN0IGRpcmVjdG9yeSBcIicgKyBjb25maWcuX3RhcmdldCArICdcIi4nKTtcbiAgdHJ5IHtcbiAgICBmcy5ta2RpclN5bmMoY29uZmlnLl90YXJnZXQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5lcnJvcignVGFyZ2V0IGRpcmVjdG9yeSBcIicgKyBjb25maWcuX3RhcmdldCArICdcIiBjYW5ub3QgYmUgY3JlYXRlZC4nKTtcbiAgICBjb25zb2xlLndhcm4oJ0NDSSB0YXNrIGZpbmlzaGVkIHdpdGggZmFpbHVyZS4nKTtcbiAgICBzY2hlZHVsZU5leHQoKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBzdGFydCB0aGUgZG93bmxvYWRzXG4gIGNjaURvd25sb2FkT25lKCk7XG59O1xuXG5jb25zdCBjY2lBcnRpZmFjdHNJbmZvSGFuZGxlciA9IChlcnIsIHJlcykgPT4ge1xuICBpZiAoZXJyKSB7XG4gICAgY29uc29sZS5lcnJvcihKU09OLnN0cmluZ2lmeShlcnIpKTtcbiAgICBjb25zb2xlLndhcm4oJ0NDSSB0YXNrIGZpbmlzaGVkIHdpdGggZmFpbHVyZS4nKTtcbiAgICBzY2hlZHVsZU5leHQoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKCFyZXMub2spIHtcbiAgICBjb25zb2xlLmVycm9yKCdTdGF0dXM6ICcgKyByZXMuc3RhdHVzICsgJywgJyArIHJlcy50ZXh0KTtcbiAgICBjb25zb2xlLndhcm4oJ0NDSSB0YXNrIGZpbmlzaGVkIHdpdGggZmFpbHVyZS4nKTtcbiAgICBzY2hlZHVsZU5leHQoKTtcbiAgfSBlbHNlIHsgLy8gcmVzLm9rXG4gICAgY29uc29sZS5sb2coJ1Jlc3BvbnNlIGZyb20gQ0NJIHNlcnZlcjpcXG4nICsgSlNPTi5zdHJpbmdpZnkocmVzLmJvZHksIG51bGwsIDQpKTtcbiAgICBjb25zdCBwcmVmaXhlcyA9IGNvbmZpZy5hcnRpZmFjdHMubWFwKGl0ZW0gPT4ge1xuICAgICAgcmV0dXJuIHsgbmFtZTogaXRlbSwgZm91bmQ6IGZhbHNlIH07XG4gICAgfSk7XG4gICAgY29uc3QgdXJscyA9IFtdO1xuICAgIHJlcy5ib2R5LmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBwcmVmaXhlcy5mb3JFYWNoKHByZWZpeCA9PiB7XG4gICAgICAgIGlmIChpdGVtLnBhdGguaW5kZXhPZihwcmVmaXgubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgdXJscy5wdXNoKGl0ZW0udXJsKTtcbiAgICAgICAgICBwcmVmaXguZm91bmQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBjb25zb2xlLmxvZygnQ29sbGVjdGVkIGFydGlmYWN0IFVSTHMgKHRvIGRvd25sb2FkKTpcXG4nICsgSlNPTi5zdHJpbmdpZnkodXJscywgbnVsbCwgNCkpO1xuICAgIGxldCBhbGxGb3VuZCA9IHRydWU7XG4gICAgcHJlZml4ZXMuZm9yRWFjaChwcmVmaXggPT4geyBpZiAoIXByZWZpeC5mb3VuZCkgeyBhbGxGb3VuZCA9IGZhbHNlOyB9IH0pO1xuICAgIGlmICghYWxsRm91bmQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ05vdCBhbGwgYXJ0aWZhY3RzIGZvdW5kISBNaXNzaW5nOicpO1xuICAgICAgcHJlZml4ZXMuZm9yRWFjaChwcmVmaXggPT4geyBpZiAoIXByZWZpeC5mb3VuZCkgeyBjb25zb2xlLmVycm9yKCcrICcgKyBwcmVmaXgubmFtZSk7IH0gfSk7XG4gICAgICBjb25zb2xlLndhcm4oJ0NDSSB0YXNrIGZpbmlzaGVkIHdpdGggZmFpbHVyZS4nKTtcbiAgICAgIHNjaGVkdWxlTmV4dCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25maWcuX3VybHMgPSB1cmxzO1xuICAgICAgY2NpRG93bmxvYWQoKTtcbiAgICB9XG4gIH1cbn07XG5cbmNvbnN0IGNjaUJ1aWxkSW5mb0hhbmRsZXIgPSAoZXJyLCByZXMpID0+IHtcbiAgaWYgKGVycikge1xuICAgIGNvbnNvbGUuZXJyb3IoSlNPTi5zdHJpbmdpZnkoZXJyKSk7XG4gICAgY29uc29sZS53YXJuKCdDQ0kgdGFzayBmaW5pc2hlZCB3aXRoIGZhaWx1cmUuJyk7XG4gICAgc2NoZWR1bGVOZXh0KCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICghcmVzLm9rKSB7XG4gICAgY29uc29sZS5lcnJvcignU3RhdHVzOiAnICsgcmVzLnN0YXR1cyArICcsICcgKyByZXMudGV4dCk7XG4gICAgY29uc29sZS53YXJuKCdDQ0kgdGFzayBmaW5pc2hlZCB3aXRoIGZhaWx1cmUuJyk7XG4gICAgc2NoZWR1bGVOZXh0KCk7XG4gIH0gZWxzZSBpZiAoIXJlcy5ib2R5IHx8ICFyZXMuYm9keS5sZW5ndGgpIHtcbiAgICBjb25zb2xlLmVycm9yKCdObyBzdWNjZXNzZnVsIGJ1aWxkIGZvdW5kIScpO1xuICAgIGNvbnNvbGUud2FybignQ0NJIHRhc2sgZmluaXNoZWQgd2l0aCBmYWlsdXJlLicpO1xuICAgIHNjaGVkdWxlTmV4dCgpO1xuICB9IGVsc2UgeyAvLyByZXMub2tcbiAgICBsZXQgYnVpbGRzID0gcmVzLmJvZHk7XG4gICAgaWYgKCFvcHRpb25zLmluc3RhbGwpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdSZXNwb25zZSBmcm9tIENDSSBzZXJ2ZXI6XFxuJyArIEpTT04uc3RyaW5naWZ5KGJ1aWxkcywgbnVsbCwgNCkpO1xuICAgICAgYnVpbGRzID0gb3JkZXJCeShidWlsZHMsIFsgY29uZmlnLm9yZGVyX2J5IF0sIFsgJ2Rlc2MnIF0pO1xuICAgICAgaWYgKGNvbmZpZy53b3JrZmxvd3Nfam9iX25hbWUpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0ZpbHRlcmluZyB0aGUgYXZhaWxhYmxlIHN1Y2Nlc3NmdWwgYnVpbGRzIG9uIHdvcmtmbG93cyBqb2IgbmFtZSA9ICcgKyBjb25maWcud29ya2Zsb3dzX2pvYl9uYW1lICsgJy4nKTtcbiAgICAgICAgYnVpbGRzID0gZmlsdGVyKGJ1aWxkcywgKGJ1aWxkKSA9PiAoYnVpbGQud29ya2Zsb3dzICYmIChidWlsZC53b3JrZmxvd3Muam9iX25hbWUgPT09IGNvbmZpZy53b3JrZmxvd3Nfam9iX25hbWUpKSk7XG4gICAgICAgIGlmICghYnVpbGRzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ05vIHN1Y2Nlc3NmdWwgYnVpbGQgd2l0aCBzcGVjaWZpZWQgd29ya2Zsb3dzIGpvYiBuYW1lIGZvdW5kIScpO1xuICAgICAgICAgIGNvbnNvbGUud2FybignQ0NJIHRhc2sgZmluaXNoZWQgd2l0aCBmYWlsdXJlLicpO1xuICAgICAgICAgIHNjaGVkdWxlTmV4dCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb25maWcuX2xhc3QgPSBidWlsZHNbMF0uYnVpbGRfbnVtO1xuICAgICFvcHRpb25zLmluc3RhbGwgJiYgY29uc29sZS5pbmZvKCdMYXN0IHN1Y2Nlc3NmdWwgJyArIGNvbmZpZy5fbmFtZSArICcgYnVpbGQgbnVtYmVyOiAnICsgY29uZmlnLl9sYXN0ICsgJy4nKTtcbiAgICBpZiAoIW9wdGlvbnMuaW5zdGFsbCAmJiAoY29uZmlnLmxhc3QgPT09IGNvbmZpZy5fbGFzdCkpIHtcbiAgICAgIGNvbnNvbGUuaW5mbygnQnVpbGQgJyArIGNvbmZpZy5fbGFzdCArICcgYWxyZWFkeSBpbnN0YWxsZWQuJyk7XG4gICAgICBjb25zb2xlLmluZm8oJ0NDSSB0YXNrIHN1Y2Nlc3NmdWxseSBmaW5pc2hlZC4nKTtcbiAgICAgIEVYSVRfQ09ERSA9IDA7XG4gICAgICBzY2hlZHVsZU5leHQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG9wdGlvbnMuaW5zdGFsbCAmJiAoY29uZmlnLmxhc3QgPT09IGNvbmZpZy5fbGFzdCkpIHtcbiAgICAgICAgY29uc29sZS5pbmZvKCdCdWlsZCAnICsgY29uZmlnLl9sYXN0ICsgJyBhbHJlYWR5IGluc3RhbGxlZCwgYWJvdXQgdG8gaW5zdGFsbCBpdCBhZ2Fpbi4uLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5pbmZvKCdCdWlsZCAnICsgY29uZmlnLl9sYXN0ICsgJyBpcyBub3QgaW5zdGFsbGVkIHlldC4nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFwaVBhdGggPSBbJy9hcGkvdjEuMS9wcm9qZWN0JywgY29uZmlnLmhvc3RpbmcsIGNvbmZpZy5vcmdhbmlzYXRpb24sXG4gICAgICAgIGNvbmZpZy5wcm9qZWN0LCBjb25maWcuX2xhc3QsICdhcnRpZmFjdHMnXS5qb2luKCcvJyk7XG4gICAgICBjb25zb2xlLmxvZygnR2V0dGluZyBpbmZvIGFib3V0IGJ1aWxkICcgKyBjb25maWcuX2xhc3QgKyAnIGFydGlmYWN0cy4nKTtcbiAgICAgIHJlcXVlc3RcbiAgICAgICAgLmdldChjb25maWcuY2NpX3VybCArIGFwaVBhdGgpXG4gICAgICAgIC5xdWVyeSh7ICdjaXJjbGUtdG9rZW4nOiBjb25maWcudG9rZW4gfSlcbiAgICAgICAgLnNldCgnQWNjZXB0JywgJ2FwcGxpY2F0aW9uL2pzb24nKVxuICAgICAgICAudGltZW91dChjb25maWcudGltZW91dCAqIDEwMDApXG4gICAgICAgIC5lbmQoY2NpQXJ0aWZhY3RzSW5mb0hhbmRsZXIpO1xuICAgIH1cbiAgfVxufTtcblxubW9kdWxlLnJ1biA9IChfb3B0aW9ucyA9IG51bGwpID0+IHtcbiAgRVhJVF9DT0RFID0gMTsgICAvLyB1cGRhdGUgdG8gMCBvbiBmaW5hbCBzdWNjZXNzXG4gIGlmIChfb3B0aW9ucykgeyBvcHRpb25zID0gX29wdGlvbnM7IH1cbiAgY29uZmlnID0gb3B0aW9ucy5jZmdGaWxlLnJlYWQoKTtcbiAgaWYgKGNvbmZpZy5pZ25vcmVfYnJhbmNoKSB7XG4gICAgY29uZmlnLmJyYW5jaCA9ICc8QU5ZPic7XG4gIH1cbiAgY29uZmlnLl9uYW1lID0gW2NvbmZpZy5ob3N0aW5nLCBjb25maWcub3JnYW5pc2F0aW9uLCBjb25maWcucHJvamVjdCwgY29uZmlnLmJyYW5jaF0uam9pbignLycpO1xuICBjb25zb2xlLmluZm8oJ0NDSSB0YXNrIHN0YXJ0ZWQuJyk7XG4gIGlmIChvcHRpb25zLmluc3RhbGwpIHtcbiAgICBjY2lCdWlsZEluZm9IYW5kbGVyKG51bGwsIHtcbiAgICAgIG9rOiB0cnVlLFxuICAgICAgYm9keTogWyB7IGJ1aWxkX251bTogb3B0aW9ucy5pbnN0YWxsIH0gXVxuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBhcGlQYXRoID1cbiAgICBjb25maWcuaWdub3JlX2JyYW5jaFxuICAgICAgPyBbJy9hcGkvdjEuMS9wcm9qZWN0JywgY29uZmlnLmhvc3RpbmcsIGNvbmZpZy5vcmdhbmlzYXRpb24sIGNvbmZpZy5wcm9qZWN0XS5qb2luKCcvJylcbiAgICAgIDogWycvYXBpL3YxLjEvcHJvamVjdCcsIGNvbmZpZy5ob3N0aW5nLCBjb25maWcub3JnYW5pc2F0aW9uLCBjb25maWcucHJvamVjdCwgJ3RyZWUnLCBjb25maWcuYnJhbmNoXS5qb2luKCcvJyk7XG4gIGNvbnNvbGUubG9nKCdHZXR0aW5nIGluZm8gYWJvdXQgbGFzdCBzdWNjZXNzZnVsIGJ1aWxkIG9mICcgKyBjb25maWcuX25hbWUgKyAnLicpO1xuICByZXF1ZXN0XG4gICAgLmdldChjb25maWcuY2NpX3VybCArIGFwaVBhdGgpXG4gICAgLnF1ZXJ5KHsgJ2NpcmNsZS10b2tlbic6IGNvbmZpZy50b2tlbiwgZmlsdGVyOiAnc3VjY2Vzc2Z1bCcsIGxpbWl0OiAxMDAgfSlcbiAgICAuc2V0KCdBY2NlcHQnLCAnYXBwbGljYXRpb24vanNvbicpXG4gICAgLnRpbWVvdXQoY29uZmlnLnRpbWVvdXQgKiAxMDAwKVxuICAgIC5lbmQoY2NpQnVpbGRJbmZvSGFuZGxlcik7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBtb2R1bGU7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi90YXNrLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsIm9wdGlvbnMiLCJjb25maWciLCJkb3dubG9hZEVycm9yIiwiRVhJVF9DT0RFIiwidXBkYXRlUmVzcG9uc2UiLCJyZXMiLCJkZWZhdWx0Qm9keSIsInRleHQiLCJib2R5IiwiSlNPTiIsInBhcnNlIiwiZSIsInNjaGVkdWxlTmV4dCIsIl9zYXZlIiwibGFzdCIsIl9sYXN0IiwiY2ZnRmlsZSIsIndyaXRlIiwiY29uc29sZSIsImluZm8iLCJwcm9jZXNzIiwiZXhpdCIsInNldFRpbWVvdXQiLCJydW4iLCJpbnRlcnZhbCIsImxvZ1ByZWZpeGVkIiwicHJlZml4IiwibG9nRm4iLCJkYXRhIiwidG9TdHJpbmciLCJzcGxpdCIsInNsaWNlIiwibWFwIiwicyIsImpvaW4iLCJzdGFydFNjcmlwdCIsInNjcmlwdEZpbGUiLCJwYXRoIiwicmVzb2x2ZSIsInNjcmlwdCIsIl90YXJnZXQiLCJjd2QiLCJkaXJuYW1lIiwic3Rkb3V0Iiwib24iLCJzdGRlcnIiLCJ3YXJuIiwiZXJyIiwiZXJyb3IiLCJzdHJpbmdpZnkiLCJjb2RlIiwibWVzc2FnZSIsImNjaURvd25sb2FkT25lIiwiX3VybHMiLCJsZW5ndGgiLCJ1cmwiLCJwb3AiLCJmaWxlbmFtZSIsInN0cmVhbU5hbWUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJzdHJlYW0iLCJmcyIsImNyZWF0ZVdyaXRlU3RyZWFtIiwic3RhcnQiLCJEYXRlIiwiZ2V0VGltZSIsInJlcXVlc3QiLCJnZXQiLCJxdWVyeSIsInRva2VuIiwidGltZW91dCIsImR1ciIsInNwbGljZSIsIm5leHRUaWNrIiwicGlwZSIsImNjaURvd25sb2FkIiwic3RhdFN5bmMiLCJkaXJlY3RvcnkiLCJiYXNlbmFtZSIsImkiLCJsb2ciLCJta2RpclN5bmMiLCJjY2lBcnRpZmFjdHNJbmZvSGFuZGxlciIsIm9rIiwic3RhdHVzIiwicHJlZml4ZXMiLCJhcnRpZmFjdHMiLCJuYW1lIiwiaXRlbSIsImZvdW5kIiwidXJscyIsImZvckVhY2giLCJpbmRleE9mIiwicHVzaCIsImFsbEZvdW5kIiwiY2NpQnVpbGRJbmZvSGFuZGxlciIsImJ1aWxkcyIsImluc3RhbGwiLCJvcmRlcl9ieSIsIndvcmtmbG93c19qb2JfbmFtZSIsImJ1aWxkIiwid29ya2Zsb3dzIiwiam9iX25hbWUiLCJidWlsZF9udW0iLCJfbmFtZSIsImFwaVBhdGgiLCJob3N0aW5nIiwib3JnYW5pc2F0aW9uIiwicHJvamVjdCIsImNjaV91cmwiLCJzZXQiLCJlbmQiLCJfb3B0aW9ucyIsInJlYWQiLCJpZ25vcmVfYnJhbmNoIiwiYnJhbmNoIiwiZmlsdGVyIiwibGltaXQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQU1BOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOztBQUNBOzs7O0FBQ0E7Ozs7OztBQVhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBU0EsSUFBTUEsVUFBUyxFQUFmO0FBQ0EsSUFBSUMsZ0JBQUosQyxDQUFhO0FBQ2IsSUFBSUMsZUFBSixDLENBQWE7QUFDYixJQUFJQyxzQkFBSixDLENBQW1COztBQUVuQixJQUFJQyxrQkFBSixDLENBQWU7O0FBRWYsSUFBTUMsaUJBQWlCLFNBQWpCQSxjQUFpQixDQUFDQyxHQUFELEVBQTZCO0FBQUEsTUFBdkJDLFdBQXVCLHVFQUFULElBQVM7O0FBQ2xELE1BQUlELElBQUlFLElBQVIsRUFBYztBQUNaLFFBQUk7QUFDRkYsVUFBSUcsSUFBSixHQUFXQyxLQUFLQyxLQUFMLENBQVdMLElBQUlFLElBQWYsQ0FBWDtBQUNELEtBRkQsQ0FFRSxPQUFPSSxDQUFQLEVBQVU7QUFDVk4sVUFBSUcsSUFBSixHQUFXRixXQUFYO0FBQ0Q7QUFDRjtBQUNGLENBUkQ7O0FBVUEsSUFBTU0sZUFBZSxTQUFmQSxZQUFlLEdBQU07QUFDekIsTUFBSVgsT0FBT1ksS0FBWCxFQUFrQjtBQUNoQlosV0FBT2EsSUFBUCxHQUFjYixPQUFPYyxLQUFyQjtBQUNBLFFBQUlmLFFBQVFnQixPQUFSLENBQWdC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RDFHLE9BQU8yRyxPQUFsRSxFQUEyRSxNQUEzRSxFQUFtRjNHLE9BQU9rSCxNQUExRixFQUFrR2pGLElBQWxHLENBQXVHLEdBQXZHLENBSE47QUFJQWhCLFVBQVE4RCxHQUFSLENBQVksaURBQWlEL0UsT0FBT3VHLEtBQXhELEdBQWdFLEdBQTVFO0FBQ0F0Qyx1QkFDR0MsR0FESCxDQUNPbEUsT0FBTzRHLE9BQVAsR0FBaUJKLE9BRHhCLEVBRUdyQyxLQUZILENBRVMsRUFBRSxnQkFBZ0JuRSxPQUFPb0UsS0FBekIsRUFBZ0MrQyxRQUFRLFlBQXhDLEVBQXNEQyxPQUFPLEdBQTdELEVBRlQsRUFHR1AsR0FISCxDQUdPLFFBSFAsRUFHaUIsa0JBSGpCLEVBSUd4QyxPQUpILENBSVdyRSxPQUFPcUUsT0FBUCxHQUFpQixJQUo1QixFQUtHeUMsR0FMSCxDQUtPaEIsbUJBTFA7QUFNRCxDQTNCRDs7a0JBNkJlaEcsTyIsImZpbGUiOiJ0YXNrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTW9kdWxlIGZvciB0YWxraW5nIHRvIENDSSwgZ2V0dGluZyB0aGUgYXJ0aWZhY3RzLCBkb3dubG9hZGluZyB0aGVtLFxuLy8gc3RhcnRpbmcgdGhlIGFjdGlvbiBzY3JpcHQsIHNhdmluZyB0aGUgdXBkYXRlZCBjb25maWcgZmlsZSwgLi4uXG4vL1xuLy8gVGhlIHRhc2sucnVuKCkgc2NoZWR1bGVzIG5leHQgcnVuIGFzIG5lZWRlZC5cbi8vIEFsbCBkaXNrIG9wZXJhdGlvbnMgYXJlIHN5bmNocm9ub3VzLlxuXG5pbXBvcnQgcmVxdWVzdCBmcm9tICdzdXBlcmFnZW50JztcbmltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHNwYXduIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgb3JkZXJCeSBmcm9tICdsb2Rhc2gub3JkZXJieSc7XG5pbXBvcnQgZmlsdGVyIGZyb20gJ2xvZGFzaC5maWx0ZXInO1xuXG5jb25zdCBtb2R1bGUgPSB7fTtcbmxldCBvcHRpb25zOyAvLyBzZXQgb25jZSBhdCBmaXJzdCBydW4oKVxubGV0IGNvbmZpZzsgIC8vIHJlLXJlYWQgaW4gZWFjaCBpdGVyYXRpb25cbmxldCBkb3dubG9hZEVycm9yOyAvLyBzdG9wIHRoZSBwcm9jZXNzIGluIGNhc2UgZG93bmxvYWQgZmFpbGVkXG5cbmxldCBFWElUX0NPREU7IC8vIHJldHVybiBjb2RlIGZvciAnLS1ydW4tb25jZScgbW9kZVxuXG5jb25zdCB1cGRhdGVSZXNwb25zZSA9IChyZXMsIGRlZmF1bHRCb2R5ID0gbnVsbCkgPT4ge1xuICBpZiAocmVzLnRleHQpIHtcbiAgICB0cnkge1xuICAgICAgcmVzLmJvZHkgPSBKU09OLnBhcnNlKHJlcy50ZXh0KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXMuYm9keSA9IGRlZmF1bHRCb2R5O1xuICAgIH1cbiAgfVxufTtcblxuY29uc3Qgc2NoZWR1bGVOZXh0ID0gKCkgPT4ge1xuICBpZiAoY29uZmlnLl9zYXZlKSB7XG4gICAgY29uZmlnLmxhc3QgPSBjb25maWcuX2xhc3Q7XG4gICAgaWYgKG9wdGlvbnMuY2ZnRmlsZS53cml0ZShjb25maWcpKSB7XG4gICAgICBjb25zb2xlLmluZm8oJ05ldyBjb25maWd1cmF0aW9uIGZpbGUgcmV2aXNpb24gc3VjY2Vzc2Z1bGx5IHNhdmVkLicpO1xuICAgIH1cbiAgfVxuICBpZiAob3B0aW9uc1sncnVuLW9uY2UnXSkge1xuICAgIGNvbnNvbGUuaW5mbygnQ0NJLVBJTkdVIGFib3V0IHRvIGV4aXQuIFRoYW5rcyBmb3IgZmx5aW5nIHdpdGggdXMhJyk7XG4gICAgcHJvY2Vzcy5leGl0KEVYSVRfQ09ERSk7XG4gIH0gZWxzZSB7XG4gICAgc2V0VGltZW91dChtb2R1bGUucnVuLCBjb25maWcuaW50ZXJ2YWwgKiAxMDAwKTtcbiAgICBjb25zb2xlLmluZm8oJ05leHQgQ0NJIHRhc2sgc2NoZWR1bGVkIGluICcgKyBjb25maWcuaW50ZXJ2YWwgKyAnIHNlY29uZHMuJyk7XG4gIH1cbn07XG5cbmNvbnN0IGxvZ1ByZWZpeGVkID0gKHByZWZpeCwgbG9nRm4pID0+IChkYXRhKSA9PiB7XG4gIGxvZ0ZuKGRhdGEudG9TdHJpbmcoKS5zcGxpdCgnXFxuJykuc2xpY2UoMCwgLTEpLm1hcCgocykgPT4gYCR7cHJlZml4fSAke3N9YCkuam9pbignXFxuJykpO1xufTtcblxuY29uc3Qgc3RhcnRTY3JpcHQgPSAoKSA9PiB7XG4gIGNvbnN0IHNjcmlwdEZpbGUgPSBwYXRoLnJlc29sdmUoY29uZmlnLnNjcmlwdCk7XG4gIGNvbnNvbGUuaW5mbygnRXhlY3V0aW5nIFwiJyArIHNjcmlwdEZpbGUgKyAnXCIuJyk7XG4gIHRyeSB7XG4gICAgY29uc3Qgc2NyaXB0ID0gc3Bhd24oc2NyaXB0RmlsZSwgWyBjb25maWcuX3RhcmdldCwgY29uZmlnLl9sYXN0IF0sIHsgY3dkOiBwYXRoLmRpcm5hbWUoc2NyaXB0RmlsZSkgfSk7XG4gICAgc2NyaXB0LnN0ZG91dC5vbignZGF0YScsIGxvZ1ByZWZpeGVkKCcqJywgY29uc29sZS5pbmZvKSk7XG4gICAgc2NyaXB0LnN0ZGVyci5vbignZGF0YScsIGxvZ1ByZWZpeGVkKCchJywgY29uc29sZS53YXJuKSk7XG4gICAgc2NyaXB0Lm9uKCdlcnJvcicsIChlcnIpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBzdGFydCBzY3JpcHQgXCInICsgc2NyaXB0RmlsZSArICdcIi4nKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoSlNPTi5zdHJpbmdpZnkoZXJyKSk7XG4gICAgICBjb25zb2xlLndhcm4oJ0NDSSB0YXNrIGZpbmlzaGVkIHdpdGggZmFpbHVyZS4nKTtcbiAgICAgIHNjaGVkdWxlTmV4dCgpO1xuICAgIH0pO1xuICAgIHNjcmlwdC5vbignY2xvc2UnLCAoY29kZSkgPT4ge1xuICAgICAgaWYgKCFjb2RlKSB7IC8vIHN1Y2Nlc3NcbiAgICAgICAgY29uc29sZS5pbmZvKCdDQ0kgdGFzayBzdWNjZXNzZnVsbHkgZmluaXNoZWQuJyk7XG4gICAgICAgIGNvbmZpZy5fc2F2ZSA9IHRydWU7XG4gICAgICB9IGVsc2UgeyAvLyBmYWlsXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0luc3RhbGxhdGlvbiBzY3JpcHQgZmFpbGVkIHdpdGggZXhpdCBjb2RlICgnICsgY29kZSArICcpLicpO1xuICAgICAgfVxuICAgICAgRVhJVF9DT0RFID0gY29kZTtcbiAgICAgIHNjaGVkdWxlTmV4dCgpO1xuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7IC8vIHNwYXduIGNhbiB0aHJvdyBleGNlcHRpb25zIG9uIGl0cyBvd25cbiAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gc3RhcnQgc2NyaXB0IFwiJyArIHNjcmlwdEZpbGUgKyAnXCIuJyk7XG4gICAgY29uc29sZS5lcnJvcihlLm1lc3NhZ2UpO1xuICAgIGNvbnNvbGUud2FybignQ0NJIHRhc2sgZmluaXNoZWQgd2l0aCBmYWlsdXJlLicpO1xuICAgIHNjaGVkdWxlTmV4dCgpO1xuICB9XG59O1xuXG5jb25zdCBjY2lEb3dubG9hZE9uZSA9ICgpID0+IHtcbiAgaWYgKCFjb25maWcuX3VybHMubGVuZ3RoKSB7XG4gICAgc3RhcnRTY3JpcHQoKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB1cmwgPSBjb25maWcuX3VybHMucG9wKCk7XG4gICAgbGV0IGZpbGVuYW1lID0gdXJsLnNwbGl0KCcvJyk7XG4gICAgZmlsZW5hbWUgPSBmaWxlbmFtZVtmaWxlbmFtZS5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBzdHJlYW1OYW1lID0gcGF0aC5qb2luKGNvbmZpZy5fdGFyZ2V0LCBkZWNvZGVVUklDb21wb25lbnQoZmlsZW5hbWUpKTtcbiAgICBjb25zdCBzdHJlYW0gPSBmcy5jcmVhdGVXcml0ZVN0cmVhbShzdHJlYW1OYW1lKTtcbiAgICBjb25zb2xlLmluZm8oJ0Rvd25sb2FkaW5nIFwiJyArIGRlY29kZVVSSUNvbXBvbmVudCh1cmwpICsgJ1wiLicpO1xuICAgIGNvbnN0IHN0YXJ0ID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcbiAgICBkb3dubG9hZEVycm9yID0gZmFsc2U7XG4gICAgcmVxdWVzdFxuICAgICAgLmdldCh1cmwpXG4gICAgICAucXVlcnkoeyAnY2lyY2xlLXRva2VuJzogY29uZmlnLnRva2VuIH0pXG4gICAgICAudGltZW91dChjb25maWcudGltZW91dCAqIDEwMDApXG4gICAgICAub24oJ2Vycm9yJywgKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdEb3dubG9hZCBmYWlsZWQ6ICcgKyBKU09OLnN0cmluZ2lmeShlcnIpICsgJy4nKTtcbiAgICAgICAgY29uc29sZS53YXJuKCdDQ0kgdGFzayBmaW5pc2hlZCB3aXRoIGZhaWx1cmUuJyk7XG4gICAgICAgIGRvd25sb2FkRXJyb3IgPSB0cnVlO1xuICAgICAgICBzY2hlZHVsZU5leHQoKTtcbiAgICAgIH0pXG4gICAgICAub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgaWYgKGRvd25sb2FkRXJyb3IpIHsgcmV0dXJuOyB9XG4gICAgICAgIGxldCBkdXIgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpIC0gc3RhcnQ7XG4gICAgICAgIGlmIChkdXIgPiA5OTkpIHtcbiAgICAgICAgICBkdXIgPSAoJycgKyBkdXIpLnNwbGl0KCcnKTtcbiAgICAgICAgICBkdXIuc3BsaWNlKGR1ci5sZW5ndGggLSAzLCAwLCAnLicpO1xuICAgICAgICAgIGR1ciA9IGR1ci5qb2luKCcnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmluZm8oJ1NhdmVkIGFzIFwiJyArIHN0cmVhbU5hbWUgKyAnXCIgaW4gJyArIGR1ciArICcgbXMuJyk7XG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soY2NpRG93bmxvYWRPbmUpO1xuICAgICAgfSlcbiAgICAgIC5waXBlKHN0cmVhbSk7XG4gIH1cbn07XG5jb25zdCBjY2lEb3dubG9hZCA9ICgpID0+IHtcbiAgLy8gY3JlYXRlIHRhcmdldCBkaXJlY3RvcnlcbiAgdHJ5IHtcbiAgICBmcy5zdGF0U3luYyhjb25maWcuZGlyZWN0b3J5KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0RpcmVjdG9yeSBcIicgKyBjb25maWcuZGlyZWN0b3J5ICsgJ1wiIGRvZXMgbm90IGV4aXN0LCBjYW5ub3Qgd3JpdGUgdGhlcmUuJyk7XG4gICAgY29uc29sZS53YXJuKCdDQ0kgdGFzayBmaW5pc2hlZCB3aXRoIGZhaWx1cmUuJyk7XG4gICAgc2NoZWR1bGVOZXh0KCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGJhc2VuYW1lID0gJ2J1aWxkLScgKyBjb25maWcuX2xhc3Q7XG4gIGxldCBkaXJuYW1lO1xuICB0cnkge1xuICAgIGxldCBpID0gMTtcbiAgICB3aGlsZSAodHJ1ZSkgeyAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICAgIGRpcm5hbWUgPSBiYXNlbmFtZSArIChpID4gMSA/ICcuJyArIGkgOiAnJyk7XG4gICAgICBmcy5zdGF0U3luYyhwYXRoLmpvaW4oY29uZmlnLmRpcmVjdG9yeSwgZGlybmFtZSkpO1xuICAgICAgaSsrO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIGV4Y2VwdGlvbiBpcyBmaW5lXG4gIH1cbiAgLy8gY3JlYXRlIG5ldyBkaXJcbiAgY29uZmlnLl90YXJnZXQgPSBwYXRoLnJlc29sdmUocGF0aC5qb2luKGNvbmZpZy5kaXJlY3RvcnksIGRpcm5hbWUpKTtcbiAgY29uc29sZS5sb2coJ0NyZWF0aW5nIGFydGlmYWN0IGRpcmVjdG9yeSBcIicgKyBjb25maWcuX3RhcmdldCArICdcIi4nKTtcbiAgdHJ5IHtcbiAgICBmcy5ta2RpclN5bmMoY29uZmlnLl90YXJnZXQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5lcnJvcignVGFyZ2V0IGRpcmVjdG9yeSBcIicgKyBjb25maWcuX3RhcmdldCArICdcIiBjYW5ub3QgYmUgY3JlYXRlZC4nKTtcbiAgICBjb25zb2xlLndhcm4oJ0NDSSB0YXNrIGZpbmlzaGVkIHdpdGggZmFpbHVyZS4nKTtcbiAgICBzY2hlZHVsZU5leHQoKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBzdGFydCB0aGUgZG93bmxvYWRzXG4gIGNjaURvd25sb2FkT25lKCk7XG59O1xuXG5jb25zdCBjY2lBcnRpZmFjdHNJbmZvSGFuZGxlciA9IChlcnIsIHJlcykgPT4ge1xuICBpZiAoZXJyKSB7XG4gICAgY29uc29sZS5lcnJvcihKU09OLnN0cmluZ2lmeShlcnIpKTtcbiAgICBjb25zb2xlLndhcm4oJ0NDSSB0YXNrIGZpbmlzaGVkIHdpdGggZmFpbHVyZS4nKTtcbiAgICBzY2hlZHVsZU5leHQoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgdXBkYXRlUmVzcG9uc2UocmVzLCBbXSk7XG4gIGlmICghcmVzLm9rKSB7XG4gICAgY29uc29sZS5lcnJvcignU3RhdHVzOiAnICsgcmVzLnN0YXR1cyArICcsICcgKyByZXMudGV4dCk7XG4gICAgY29uc29sZS53YXJuKCdDQ0kgdGFzayBmaW5pc2hlZCB3aXRoIGZhaWx1cmUuJyk7XG4gICAgc2NoZWR1bGVOZXh0KCk7XG4gIH0gZWxzZSB7IC8vIHJlcy5va1xuICAgIGNvbnNvbGUubG9nKCdSZXNwb25zZSBmcm9tIENDSSBzZXJ2ZXI6XFxuJyArIEpTT04uc3RyaW5naWZ5KHJlcy5ib2R5LCBudWxsLCA0KSk7XG4gICAgY29uc3QgcHJlZml4ZXMgPSBjb25maWcuYXJ0aWZhY3RzLm1hcChpdGVtID0+IHtcbiAgICAgIHJldHVybiB7IG5hbWU6IGl0ZW0sIGZvdW5kOiBmYWxzZSB9O1xuICAgIH0pO1xuICAgIGNvbnN0IHVybHMgPSBbXTtcbiAgICByZXMuYm9keS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgcHJlZml4ZXMuZm9yRWFjaChwcmVmaXggPT4ge1xuICAgICAgICBpZiAoaXRlbS5wYXRoLmluZGV4T2YocHJlZml4Lm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgIHVybHMucHVzaChpdGVtLnVybCk7XG4gICAgICAgICAgcHJlZml4LmZvdW5kID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgY29uc29sZS5sb2coJ0NvbGxlY3RlZCBhcnRpZmFjdCBVUkxzICh0byBkb3dubG9hZCk6XFxuJyArIEpTT04uc3RyaW5naWZ5KHVybHMsIG51bGwsIDQpKTtcbiAgICBsZXQgYWxsRm91bmQgPSB0cnVlO1xuICAgIHByZWZpeGVzLmZvckVhY2gocHJlZml4ID0+IHsgaWYgKCFwcmVmaXguZm91bmQpIHsgYWxsRm91bmQgPSBmYWxzZTsgfSB9KTtcbiAgICBpZiAoIWFsbEZvdW5kKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdOb3QgYWxsIGFydGlmYWN0cyBmb3VuZCEgTWlzc2luZzonKTtcbiAgICAgIHByZWZpeGVzLmZvckVhY2gocHJlZml4ID0+IHsgaWYgKCFwcmVmaXguZm91bmQpIHsgY29uc29sZS5lcnJvcignKyAnICsgcHJlZml4Lm5hbWUpOyB9IH0pO1xuICAgICAgY29uc29sZS53YXJuKCdDQ0kgdGFzayBmaW5pc2hlZCB3aXRoIGZhaWx1cmUuJyk7XG4gICAgICBzY2hlZHVsZU5leHQoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmlnLl91cmxzID0gdXJscztcbiAgICAgIGNjaURvd25sb2FkKCk7XG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBjY2lCdWlsZEluZm9IYW5kbGVyID0gKGVyciwgcmVzKSA9PiB7XG4gIGlmIChlcnIpIHtcbiAgICBjb25zb2xlLmVycm9yKEpTT04uc3RyaW5naWZ5KGVycikpO1xuICAgIGNvbnNvbGUud2FybignQ0NJIHRhc2sgZmluaXNoZWQgd2l0aCBmYWlsdXJlLicpO1xuICAgIHNjaGVkdWxlTmV4dCgpO1xuICAgIHJldHVybjtcbiAgfVxuICB1cGRhdGVSZXNwb25zZShyZXMpO1xuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1N0YXR1czogJyArIHJlcy5zdGF0dXMgKyAnLCAnICsgcmVzLnRleHQpO1xuICAgIGNvbnNvbGUud2FybignQ0NJIHRhc2sgZmluaXNoZWQgd2l0aCBmYWlsdXJlLicpO1xuICAgIHNjaGVkdWxlTmV4dCgpO1xuICB9IGVsc2UgaWYgKCFyZXMuYm9keSB8fCAhcmVzLmJvZHkubGVuZ3RoKSB7XG4gICAgY29uc29sZS5lcnJvcignTm8gc3VjY2Vzc2Z1bCBidWlsZCBmb3VuZCEnKTtcbiAgICBjb25zb2xlLndhcm4oJ0NDSSB0YXNrIGZpbmlzaGVkIHdpdGggZmFpbHVyZS4nKTtcbiAgICBzY2hlZHVsZU5leHQoKTtcbiAgfSBlbHNlIHsgLy8gcmVzLm9rXG4gICAgbGV0IGJ1aWxkcyA9IHJlcy5ib2R5O1xuICAgIGlmICghb3B0aW9ucy5pbnN0YWxsKSB7XG4gICAgICBjb25zb2xlLmxvZygnUmVzcG9uc2UgZnJvbSBDQ0kgc2VydmVyOlxcbicgKyBKU09OLnN0cmluZ2lmeShidWlsZHMsIG51bGwsIDQpKTtcbiAgICAgIGJ1aWxkcyA9IG9yZGVyQnkoYnVpbGRzLCBbIGNvbmZpZy5vcmRlcl9ieSBdLCBbICdkZXNjJyBdKTtcbiAgICAgIGlmIChjb25maWcud29ya2Zsb3dzX2pvYl9uYW1lKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdGaWx0ZXJpbmcgdGhlIGF2YWlsYWJsZSBzdWNjZXNzZnVsIGJ1aWxkcyBvbiB3b3JrZmxvd3Mgam9iIG5hbWUgPSAnICsgY29uZmlnLndvcmtmbG93c19qb2JfbmFtZSArICcuJyk7XG4gICAgICAgIGJ1aWxkcyA9IGZpbHRlcihidWlsZHMsIChidWlsZCkgPT4gKGJ1aWxkLndvcmtmbG93cyAmJiAoYnVpbGQud29ya2Zsb3dzLmpvYl9uYW1lID09PSBjb25maWcud29ya2Zsb3dzX2pvYl9uYW1lKSkpO1xuICAgICAgICBpZiAoIWJ1aWxkcy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdObyBzdWNjZXNzZnVsIGJ1aWxkIHdpdGggc3BlY2lmaWVkIHdvcmtmbG93cyBqb2IgbmFtZSBmb3VuZCEnKTtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ0NDSSB0YXNrIGZpbmlzaGVkIHdpdGggZmFpbHVyZS4nKTtcbiAgICAgICAgICBzY2hlZHVsZU5leHQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgY29uZmlnLl9sYXN0ID0gYnVpbGRzWzBdLmJ1aWxkX251bTtcbiAgICAhb3B0aW9ucy5pbnN0YWxsICYmIGNvbnNvbGUuaW5mbygnTGFzdCBzdWNjZXNzZnVsICcgKyBjb25maWcuX25hbWUgKyAnIGJ1aWxkIG51bWJlcjogJyArIGNvbmZpZy5fbGFzdCArICcuJyk7XG4gICAgaWYgKCFvcHRpb25zLmluc3RhbGwgJiYgKGNvbmZpZy5sYXN0ID09PSBjb25maWcuX2xhc3QpKSB7XG4gICAgICBjb25zb2xlLmluZm8oJ0J1aWxkICcgKyBjb25maWcuX2xhc3QgKyAnIGFscmVhZHkgaW5zdGFsbGVkLicpO1xuICAgICAgY29uc29sZS5pbmZvKCdDQ0kgdGFzayBzdWNjZXNzZnVsbHkgZmluaXNoZWQuJyk7XG4gICAgICBFWElUX0NPREUgPSAwO1xuICAgICAgc2NoZWR1bGVOZXh0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChvcHRpb25zLmluc3RhbGwgJiYgKGNvbmZpZy5sYXN0ID09PSBjb25maWcuX2xhc3QpKSB7XG4gICAgICAgIGNvbnNvbGUuaW5mbygnQnVpbGQgJyArIGNvbmZpZy5fbGFzdCArICcgYWxyZWFkeSBpbnN0YWxsZWQsIGFib3V0IHRvIGluc3RhbGwgaXQgYWdhaW4uLi4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuaW5mbygnQnVpbGQgJyArIGNvbmZpZy5fbGFzdCArICcgaXMgbm90IGluc3RhbGxlZCB5ZXQuJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBhcGlQYXRoID0gWycvYXBpL3YxLjEvcHJvamVjdCcsIGNvbmZpZy5ob3N0aW5nLCBjb25maWcub3JnYW5pc2F0aW9uLFxuICAgICAgICBjb25maWcucHJvamVjdCwgY29uZmlnLl9sYXN0LCAnYXJ0aWZhY3RzJ10uam9pbignLycpO1xuICAgICAgY29uc29sZS5sb2coJ0dldHRpbmcgaW5mbyBhYm91dCBidWlsZCAnICsgY29uZmlnLl9sYXN0ICsgJyBhcnRpZmFjdHMuJyk7XG4gICAgICByZXF1ZXN0XG4gICAgICAgIC5nZXQoY29uZmlnLmNjaV91cmwgKyBhcGlQYXRoKVxuICAgICAgICAucXVlcnkoeyAnY2lyY2xlLXRva2VuJzogY29uZmlnLnRva2VuIH0pXG4gICAgICAgIC5zZXQoJ0FjY2VwdCcsICdhcHBsaWNhdGlvbi9qc29uJylcbiAgICAgICAgLnRpbWVvdXQoY29uZmlnLnRpbWVvdXQgKiAxMDAwKVxuICAgICAgICAuZW5kKGNjaUFydGlmYWN0c0luZm9IYW5kbGVyKTtcbiAgICB9XG4gIH1cbn07XG5cbm1vZHVsZS5ydW4gPSAoX29wdGlvbnMgPSBudWxsKSA9PiB7XG4gIEVYSVRfQ09ERSA9IDE7ICAgLy8gdXBkYXRlIHRvIDAgb24gZmluYWwgc3VjY2Vzc1xuICBpZiAoX29wdGlvbnMpIHsgb3B0aW9ucyA9IF9vcHRpb25zOyB9XG4gIGNvbmZpZyA9IG9wdGlvbnMuY2ZnRmlsZS5yZWFkKCk7XG4gIGlmIChjb25maWcuaWdub3JlX2JyYW5jaCkge1xuICAgIGNvbmZpZy5icmFuY2ggPSAnPEFOWT4nO1xuICB9XG4gIGNvbmZpZy5fbmFtZSA9IFtjb25maWcuaG9zdGluZywgY29uZmlnLm9yZ2FuaXNhdGlvbiwgY29uZmlnLnByb2plY3QsIGNvbmZpZy5icmFuY2hdLmpvaW4oJy8nKTtcbiAgY29uc29sZS5pbmZvKCdDQ0kgdGFzayBzdGFydGVkLicpO1xuICBpZiAob3B0aW9ucy5pbnN0YWxsKSB7XG4gICAgY2NpQnVpbGRJbmZvSGFuZGxlcihudWxsLCB7XG4gICAgICBvazogdHJ1ZSxcbiAgICAgIGJvZHk6IFsgeyBidWlsZF9udW06IG9wdGlvbnMuaW5zdGFsbCB9IF1cbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgYXBpUGF0aCA9XG4gICAgY29uZmlnLmlnbm9yZV9icmFuY2hcbiAgICAgID8gWycvYXBpL3YxLjEvcHJvamVjdCcsIGNvbmZpZy5ob3N0aW5nLCBjb25maWcub3JnYW5pc2F0aW9uLCBjb25maWcucHJvamVjdF0uam9pbignLycpXG4gICAgICA6IFsnL2FwaS92MS4xL3Byb2plY3QnLCBjb25maWcuaG9zdGluZywgY29uZmlnLm9yZ2FuaXNhdGlvbiwgY29uZmlnLnByb2plY3QsICd0cmVlJywgY29uZmlnLmJyYW5jaF0uam9pbignLycpO1xuICBjb25zb2xlLmxvZygnR2V0dGluZyBpbmZvIGFib3V0IGxhc3Qgc3VjY2Vzc2Z1bCBidWlsZCBvZiAnICsgY29uZmlnLl9uYW1lICsgJy4nKTtcbiAgcmVxdWVzdFxuICAgIC5nZXQoY29uZmlnLmNjaV91cmwgKyBhcGlQYXRoKVxuICAgIC5xdWVyeSh7ICdjaXJjbGUtdG9rZW4nOiBjb25maWcudG9rZW4sIGZpbHRlcjogJ3N1Y2Nlc3NmdWwnLCBsaW1pdDogMTAwIH0pXG4gICAgLnNldCgnQWNjZXB0JywgJ2FwcGxpY2F0aW9uL2pzb24nKVxuICAgIC50aW1lb3V0KGNvbmZpZy50aW1lb3V0ICogMTAwMClcbiAgICAuZW5kKGNjaUJ1aWxkSW5mb0hhbmRsZXIpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgbW9kdWxlO1xuIl19

4

dist/lib/version.js

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

// generated code, please see package.json
exports.default = '2.7.3';
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi92ZXJzaW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7a0JBQ2UsTyIsImZpbGUiOiJ2ZXJzaW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZ2VuZXJhdGVkIGNvZGUsIHBsZWFzZSBzZWUgcGFja2FnZS5qc29uXG5leHBvcnQgZGVmYXVsdCAnMi43LjMnO1xuIl19
exports.default = '2.7.7';
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi92ZXJzaW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7a0JBQ2UsTyIsImZpbGUiOiJ2ZXJzaW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZ2VuZXJhdGVkIGNvZGUsIHBsZWFzZSBzZWUgcGFja2FnZS5qc29uXG5leHBvcnQgZGVmYXVsdCAnMi43LjcnO1xuIl19
{
"name": "cci-pingu",
"version": "2.7.3",
"version": "2.7.7",
"description": "Periodically check for new builds (artifacts) on CircleCI and install them in turn",

@@ -38,9 +38,9 @@ "license": "MIT",

"babel-preset-stage-0": "6.24.1",
"eslint": "5.12.0",
"eslint": "5.15.3",
"eslint-config-standard": "12.0.0",
"eslint-plugin-import": "2.14.0",
"eslint-plugin-import": "2.16.0",
"eslint-plugin-node": "8.0.1",
"eslint-plugin-promise": "4.0.1",
"eslint-plugin-standard": "4.0.0",
"mocha": "5.2.0"
"mocha": "6.0.2"
},

@@ -47,0 +47,0 @@ "dependencies": {

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