Socket
Socket
Sign inDemoInstall

bree

Package Overview
Dependencies
37
Maintainers
4
Versions
99
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 6.3.1 to 6.4.0

22

lib/job-builder.js

@@ -32,3 +32,3 @@ "use strict";

var path = join(config.root, job.endsWith('.js') || job.endsWith('.mjs') ? job : "".concat(job, ".").concat(config.defaultExtension));
return {
var jobObject = {
name: job,

@@ -39,2 +39,8 @@ path: path,

};
if (isSANB(config.timezone)) {
jobObject.timezone = config.timezone;
}
return jobObject;
}

@@ -45,3 +51,3 @@

return {
var _jobObject = {
name: job.name,

@@ -55,2 +61,8 @@ path: _path,

};
if (isSANB(config.timezone)) {
_jobObject.timezone = config.timezone;
}
return _jobObject;
} // Process job.path

@@ -110,2 +122,6 @@

if (isSANB(config.timezone) && !job.timezone) {
job.timezone = config.timezone;
}
return job;

@@ -115,2 +131,2 @@ };

module.exports = buildJob;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qb2ItYnVpbGRlci5qcyJdLCJuYW1lcyI6WyJyZXF1aXJlIiwiam9pbiIsImlzU0FOQiIsImlzVmFsaWRQYXRoIiwiYm9vbGVhbiIsImxhdGVyIiwiaXNTY2hlZHVsZSIsInBhcnNlVmFsdWUiLCJkYXRlIiwibG9jYWxUaW1lIiwiYnVpbGRKb2IiLCJqb2IiLCJjb25maWciLCJwYXRoIiwicm9vdCIsImVuZHNXaXRoIiwiZGVmYXVsdEV4dGVuc2lvbiIsIm5hbWUiLCJ0aW1lb3V0IiwiaW50ZXJ2YWwiLCJ0b1N0cmluZyIsIndvcmtlciIsImV2YWwiLCJjcm9uIiwicGFyc2UiLCJoYXNTZWNvbmRzIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O2VBQWlCQSxPQUFPLENBQUMsTUFBRCxDO0lBQWhCQyxJLFlBQUFBLEk7O0FBQ1IsSUFBTUMsTUFBTSxHQUFHRixPQUFPLENBQUMseUJBQUQsQ0FBdEI7O0FBQ0EsSUFBTUcsV0FBVyxHQUFHSCxPQUFPLENBQUMsZUFBRCxDQUEzQjs7Z0JBQ29CQSxPQUFPLENBQUMsU0FBRCxDO0lBQW5CSSxPLGFBQUFBLE87O0FBQ1IsSUFBTUMsS0FBSyxHQUFHTCxPQUFPLENBQUMsZUFBRCxDQUFyQjs7Z0JBQ21DQSxPQUFPLENBQUMsYUFBRCxDO0lBQWxDTSxVLGFBQUFBLFU7SUFBWUMsVSxhQUFBQSxVOztBQUVwQkYsS0FBSyxDQUFDRyxJQUFOLENBQVdDLFNBQVgsRyxDQUVBOztBQUNBLElBQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNDLEdBQUQsRUFBTUMsTUFBTixFQUFpQjtBQUNoQyxNQUFJVixNQUFNLENBQUNTLEdBQUQsQ0FBVixFQUFpQjtBQUNmLFFBQU1FLElBQUksR0FBR1osSUFBSSxDQUNmVyxNQUFNLENBQUNFLElBRFEsRUFFZkgsR0FBRyxDQUFDSSxRQUFKLENBQWEsS0FBYixLQUF1QkosR0FBRyxDQUFDSSxRQUFKLENBQWEsTUFBYixDQUF2QixHQUNJSixHQURKLGFBRU9BLEdBRlAsY0FFY0MsTUFBTSxDQUFDSSxnQkFGckIsQ0FGZSxDQUFqQjtBQU9BLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxFQUFFTixHQUREO0FBRUxFLE1BQUFBLElBQUksRUFBSkEsSUFGSztBQUdMSyxNQUFBQSxPQUFPLEVBQUVOLE1BQU0sQ0FBQ00sT0FIWDtBQUlMQyxNQUFBQSxRQUFRLEVBQUVQLE1BQU0sQ0FBQ087QUFKWixLQUFQO0FBTUQ7O0FBRUQsTUFBSSxPQUFPUixHQUFQLEtBQWUsVUFBbkIsRUFBK0I7QUFDN0IsUUFBTUUsS0FBSSxjQUFPRixHQUFHLENBQUNTLFFBQUosRUFBUCxRQUFWOztBQUVBLFdBQU87QUFDTEgsTUFBQUEsSUFBSSxFQUFFTixHQUFHLENBQUNNLElBREw7QUFFTEosTUFBQUEsSUFBSSxFQUFKQSxLQUZLO0FBR0xRLE1BQUFBLE1BQU0sRUFBRTtBQUFFQyxRQUFBQSxJQUFJLEVBQUU7QUFBUixPQUhIO0FBSUxKLE1BQUFBLE9BQU8sRUFBRU4sTUFBTSxDQUFDTSxPQUpYO0FBS0xDLE1BQUFBLFFBQVEsRUFBRVAsTUFBTSxDQUFDTztBQUxaLEtBQVA7QUFPRCxHQTNCK0IsQ0E2QmhDOzs7QUFDQSxNQUFJLE9BQU9SLEdBQUcsQ0FBQ0UsSUFBWCxLQUFvQixVQUF4QixFQUFvQztBQUNsQyxRQUFNQSxNQUFJLGNBQU9GLEdBQUcsQ0FBQ0UsSUFBSixDQUFTTyxRQUFULEVBQVAsUUFBVjs7QUFFQVQsSUFBQUEsR0FBRyxDQUFDRSxJQUFKLEdBQVdBLE1BQVg7QUFDQUYsSUFBQUEsR0FBRyxDQUFDVSxNQUFKO0FBQ0VDLE1BQUFBLElBQUksRUFBRTtBQURSLE9BRUtYLEdBQUcsQ0FBQ1UsTUFGVDtBQUlELEdBUkQsTUFRTztBQUNMLFFBQU1SLE1BQUksR0FBR1gsTUFBTSxDQUFDUyxHQUFHLENBQUNFLElBQUwsQ0FBTixHQUNURixHQUFHLENBQUNFLElBREssR0FFVFosSUFBSSxDQUNGVyxNQUFNLENBQUNFLElBREwsRUFFRkgsR0FBRyxDQUFDTSxJQUFKLENBQVNGLFFBQVQsQ0FBa0IsS0FBbEIsS0FBNEJKLEdBQUcsQ0FBQ00sSUFBSixDQUFTRixRQUFULENBQWtCLE1BQWxCLENBQTVCLEdBQ0lKLEdBQUcsQ0FBQ00sSUFEUixhQUVPTixHQUFHLENBQUNNLElBRlgsY0FFbUJMLE1BQU0sQ0FBQ0ksZ0JBRjFCLENBRkUsQ0FGUjs7QUFTQSxRQUFJYixXQUFXLENBQUNVLE1BQUQsQ0FBZixFQUF1QjtBQUNyQkYsTUFBQUEsR0FBRyxDQUFDRSxJQUFKLEdBQVdBLE1BQVg7QUFDRCxLQUZELE1BRU87QUFDTDtBQUNBRixNQUFBQSxHQUFHLENBQUNVLE1BQUo7QUFDRUMsUUFBQUEsSUFBSSxFQUFFO0FBRFIsU0FFS1gsR0FBRyxDQUFDVSxNQUZUO0FBSUQ7QUFDRjs7QUFFRCxNQUFJLE9BQU9WLEdBQUcsQ0FBQ08sT0FBWCxLQUF1QixXQUEzQixFQUF3QztBQUN0Q1AsSUFBQUEsR0FBRyxDQUFDTyxPQUFKLEdBQWNYLFVBQVUsQ0FBQ0ksR0FBRyxDQUFDTyxPQUFMLENBQXhCO0FBQ0Q7O0FBRUQsTUFBSSxPQUFPUCxHQUFHLENBQUNRLFFBQVgsS0FBd0IsV0FBNUIsRUFBeUM7QUFDdkNSLElBQUFBLEdBQUcsQ0FBQ1EsUUFBSixHQUFlWixVQUFVLENBQUNJLEdBQUcsQ0FBQ1EsUUFBTCxDQUF6QjtBQUNELEdBakUrQixDQW1FaEM7OztBQUNBLE1BQUksT0FBT1IsR0FBRyxDQUFDWSxJQUFYLEtBQW9CLFdBQXhCLEVBQXFDO0FBQ25DLFFBQUlqQixVQUFVLENBQUNLLEdBQUcsQ0FBQ1ksSUFBTCxDQUFkLEVBQTBCO0FBQ3hCWixNQUFBQSxHQUFHLENBQUNRLFFBQUosR0FBZVIsR0FBRyxDQUFDWSxJQUFuQixDQUR3QixDQUV4QjtBQUNELEtBSEQsTUFHTztBQUNMWixNQUFBQSxHQUFHLENBQUNRLFFBQUosR0FBZWQsS0FBSyxDQUFDbUIsS0FBTixDQUFZRCxJQUFaLENBQ2JaLEdBQUcsQ0FBQ1ksSUFEUyxFQUVibkIsT0FBTyxDQUNMLE9BQU9PLEdBQUcsQ0FBQ2MsVUFBWCxLQUEwQixXQUExQixHQUNJYixNQUFNLENBQUNhLFVBRFgsR0FFSWQsR0FBRyxDQUFDYyxVQUhILENBRk0sQ0FBZjtBQVFEO0FBQ0YsR0FsRitCLENBb0ZoQztBQUNBO0FBQ0E7OztBQUNBLE1BQ0VDLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQmYsTUFBTSxDQUFDTSxPQUF2QixLQUNBTixNQUFNLENBQUNNLE9BQVAsSUFBa0IsQ0FEbEIsSUFFQSxPQUFPUCxHQUFHLENBQUNPLE9BQVgsS0FBdUIsV0FGdkIsSUFHQSxPQUFPUCxHQUFHLENBQUNZLElBQVgsS0FBb0IsV0FIcEIsSUFJQSxPQUFPWixHQUFHLENBQUNILElBQVgsS0FBb0IsV0FKcEIsSUFLQSxPQUFPRyxHQUFHLENBQUNRLFFBQVgsS0FBd0IsV0FOMUIsRUFPRTtBQUNBUixJQUFBQSxHQUFHLENBQUNPLE9BQUosR0FBY04sTUFBTSxDQUFDTSxPQUFyQjtBQUNELEdBaEcrQixDQWtHaEM7QUFDQTtBQUNBOzs7QUFDQSxNQUNFLENBQUVRLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQmYsTUFBTSxDQUFDTyxRQUF2QixLQUFvQ1AsTUFBTSxDQUFDTyxRQUFQLEdBQWtCLENBQXZELElBQ0NiLFVBQVUsQ0FBQ00sTUFBTSxDQUFDTyxRQUFSLENBRFosS0FFQSxPQUFPUixHQUFHLENBQUNRLFFBQVgsS0FBd0IsV0FGeEIsSUFHQSxPQUFPUixHQUFHLENBQUNZLElBQVgsS0FBb0IsV0FIcEIsSUFJQSxPQUFPWixHQUFHLENBQUNILElBQVgsS0FBb0IsV0FMdEIsRUFNRTtBQUNBRyxJQUFBQSxHQUFHLENBQUNRLFFBQUosR0FBZVAsTUFBTSxDQUFDTyxRQUF0QjtBQUNEOztBQUVELFNBQU9SLEdBQVA7QUFDRCxDQWhIRDs7QUFrSEFpQixNQUFNLENBQUNDLE9BQVAsR0FBaUJuQixRQUFqQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHsgam9pbiB9ID0gcmVxdWlyZSgncGF0aCcpO1xuY29uc3QgaXNTQU5CID0gcmVxdWlyZSgnaXMtc3RyaW5nLWFuZC1ub3QtYmxhbmsnKTtcbmNvbnN0IGlzVmFsaWRQYXRoID0gcmVxdWlyZSgnaXMtdmFsaWQtcGF0aCcpO1xuY29uc3QgeyBib29sZWFuIH0gPSByZXF1aXJlKCdib29sZWFuJyk7XG5jb25zdCBsYXRlciA9IHJlcXVpcmUoJ0BicmVlanMvbGF0ZXInKTtcbmNvbnN0IHsgaXNTY2hlZHVsZSwgcGFyc2VWYWx1ZSB9ID0gcmVxdWlyZSgnLi9qb2ItdXRpbHMnKTtcblxubGF0ZXIuZGF0ZS5sb2NhbFRpbWUoKTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbmNvbnN0IGJ1aWxkSm9iID0gKGpvYiwgY29uZmlnKSA9PiB7XG4gIGlmIChpc1NBTkIoam9iKSkge1xuICAgIGNvbnN0IHBhdGggPSBqb2luKFxuICAgICAgY29uZmlnLnJvb3QsXG4gICAgICBqb2IuZW5kc1dpdGgoJy5qcycpIHx8IGpvYi5lbmRzV2l0aCgnLm1qcycpXG4gICAgICAgID8gam9iXG4gICAgICAgIDogYCR7am9ifS4ke2NvbmZpZy5kZWZhdWx0RXh0ZW5zaW9ufWBcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGpvYixcbiAgICAgIHBhdGgsXG4gICAgICB0aW1lb3V0OiBjb25maWcudGltZW91dCxcbiAgICAgIGludGVydmFsOiBjb25maWcuaW50ZXJ2YWxcbiAgICB9O1xuICB9XG5cbiAgaWYgKHR5cGVvZiBqb2IgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjb25zdCBwYXRoID0gYCgke2pvYi50b1N0cmluZygpfSkoKWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogam9iLm5hbWUsXG4gICAgICBwYXRoLFxuICAgICAgd29ya2VyOiB7IGV2YWw6IHRydWUgfSxcbiAgICAgIHRpbWVvdXQ6IGNvbmZpZy50aW1lb3V0LFxuICAgICAgaW50ZXJ2YWw6IGNvbmZpZy5pbnRlcnZhbFxuICAgIH07XG4gIH1cblxuICAvLyBQcm9jZXNzIGpvYi5wYXRoXG4gIGlmICh0eXBlb2Ygam9iLnBhdGggPT09ICdmdW5jdGlvbicpIHtcbiAgICBjb25zdCBwYXRoID0gYCgke2pvYi5wYXRoLnRvU3RyaW5nKCl9KSgpYDtcblxuICAgIGpvYi5wYXRoID0gcGF0aDtcbiAgICBqb2Iud29ya2VyID0ge1xuICAgICAgZXZhbDogdHJ1ZSxcbiAgICAgIC4uLmpvYi53b3JrZXJcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHBhdGggPSBpc1NBTkIoam9iLnBhdGgpXG4gICAgICA/IGpvYi5wYXRoXG4gICAgICA6IGpvaW4oXG4gICAgICAgICAgY29uZmlnLnJvb3QsXG4gICAgICAgICAgam9iLm5hbWUuZW5kc1dpdGgoJy5qcycpIHx8IGpvYi5uYW1lLmVuZHNXaXRoKCcubWpzJylcbiAgICAgICAgICAgID8gam9iLm5hbWVcbiAgICAgICAgICAgIDogYCR7am9iLm5hbWV9LiR7Y29uZmlnLmRlZmF1bHRFeHRlbnNpb259YFxuICAgICAgICApO1xuXG4gICAgaWYgKGlzVmFsaWRQYXRoKHBhdGgpKSB7XG4gICAgICBqb2IucGF0aCA9IHBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFzc3VtZSB0aGF0IGl0J3MgYSB0cmFuc2Zvcm1lZCBldmFsIHN0cmluZ1xuICAgICAgam9iLndvcmtlciA9IHtcbiAgICAgICAgZXZhbDogdHJ1ZSxcbiAgICAgICAgLi4uam9iLndvcmtlclxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIGpvYi50aW1lb3V0ICE9PSAndW5kZWZpbmVkJykge1xuICAgIGpvYi50aW1lb3V0ID0gcGFyc2VWYWx1ZShqb2IudGltZW91dCk7XG4gIH1cblxuICBpZiAodHlwZW9mIGpvYi5pbnRlcnZhbCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBqb2IuaW50ZXJ2YWwgPSBwYXJzZVZhbHVlKGpvYi5pbnRlcnZhbCk7XG4gIH1cblxuICAvLyBCdWlsZCBjcm9uXG4gIGlmICh0eXBlb2Ygam9iLmNyb24gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgaWYgKGlzU2NoZWR1bGUoam9iLmNyb24pKSB7XG4gICAgICBqb2IuaW50ZXJ2YWwgPSBqb2IuY3JvbjtcbiAgICAgIC8vIERlbGV0ZSBqb2IuY3JvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgam9iLmludGVydmFsID0gbGF0ZXIucGFyc2UuY3JvbihcbiAgICAgICAgam9iLmNyb24sXG4gICAgICAgIGJvb2xlYW4oXG4gICAgICAgICAgdHlwZW9mIGpvYi5oYXNTZWNvbmRzID09PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyBjb25maWcuaGFzU2Vjb25kc1xuICAgICAgICAgICAgOiBqb2IuaGFzU2Vjb25kc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRpbWVvdXQgd2FzIHVuZGVmaW5lZCwgY3JvbiB3YXMgdW5kZWZpbmVkLFxuICAvLyBhbmQgZGF0ZSB3YXMgdW5kZWZpbmVkIHRoZW4gc2V0IHRoZSBkZWZhdWx0XG4gIC8vIChhcyBsb25nIGFzIHRoZSBkZWZhdWx0IHRpbWVvdXQgaXMgPj0gMClcbiAgaWYgKFxuICAgIE51bWJlci5pc0Zpbml0ZShjb25maWcudGltZW91dCkgJiZcbiAgICBjb25maWcudGltZW91dCA+PSAwICYmXG4gICAgdHlwZW9mIGpvYi50aW1lb3V0ID09PSAndW5kZWZpbmVkJyAmJlxuICAgIHR5cGVvZiBqb2IuY3JvbiA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2Ygam9iLmRhdGUgPT09ICd1bmRlZmluZWQnICYmXG4gICAgdHlwZW9mIGpvYi5pbnRlcnZhbCA9PT0gJ3VuZGVmaW5lZCdcbiAgKSB7XG4gICAgam9iLnRpbWVvdXQgPSBjb25maWcudGltZW91dDtcbiAgfVxuXG4gIC8vIElmIGludGVydmFsIHdhcyB1bmRlZmluZWQsIGNyb24gd2FzIHVuZGVmaW5lZCxcbiAgLy8gYW5kIGRhdGUgd2FzIHVuZGVmaW5lZCB0aGVuIHNldCB0aGUgZGVmYXVsdFxuICAvLyAoYXMgbG9uZyBhcyB0aGUgZGVmYXVsdCBpbnRlcnZhbCBpcyA+IDAsIG9yIGl0IHdhcyBhIHNjaGVkdWxlLCBvciBpdCB3YXMgdmFsaWQpXG4gIGlmIChcbiAgICAoKE51bWJlci5pc0Zpbml0ZShjb25maWcuaW50ZXJ2YWwpICYmIGNvbmZpZy5pbnRlcnZhbCA+IDApIHx8XG4gICAgICBpc1NjaGVkdWxlKGNvbmZpZy5pbnRlcnZhbCkpICYmXG4gICAgdHlwZW9mIGpvYi5pbnRlcnZhbCA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2Ygam9iLmNyb24gPT09ICd1bmRlZmluZWQnICYmXG4gICAgdHlwZW9mIGpvYi5kYXRlID09PSAndW5kZWZpbmVkJ1xuICApIHtcbiAgICBqb2IuaW50ZXJ2YWwgPSBjb25maWcuaW50ZXJ2YWw7XG4gIH1cblxuICByZXR1cm4gam9iO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBidWlsZEpvYjtcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qb2ItYnVpbGRlci5qcyJdLCJuYW1lcyI6WyJyZXF1aXJlIiwiam9pbiIsImlzU0FOQiIsImlzVmFsaWRQYXRoIiwiYm9vbGVhbiIsImxhdGVyIiwiaXNTY2hlZHVsZSIsInBhcnNlVmFsdWUiLCJkYXRlIiwibG9jYWxUaW1lIiwiYnVpbGRKb2IiLCJqb2IiLCJjb25maWciLCJwYXRoIiwicm9vdCIsImVuZHNXaXRoIiwiZGVmYXVsdEV4dGVuc2lvbiIsImpvYk9iamVjdCIsIm5hbWUiLCJ0aW1lb3V0IiwiaW50ZXJ2YWwiLCJ0aW1lem9uZSIsInRvU3RyaW5nIiwid29ya2VyIiwiZXZhbCIsImNyb24iLCJwYXJzZSIsImhhc1NlY29uZHMiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7ZUFBaUJBLE9BQU8sQ0FBQyxNQUFELEM7SUFBaEJDLEksWUFBQUEsSTs7QUFDUixJQUFNQyxNQUFNLEdBQUdGLE9BQU8sQ0FBQyx5QkFBRCxDQUF0Qjs7QUFDQSxJQUFNRyxXQUFXLEdBQUdILE9BQU8sQ0FBQyxlQUFELENBQTNCOztnQkFDb0JBLE9BQU8sQ0FBQyxTQUFELEM7SUFBbkJJLE8sYUFBQUEsTzs7QUFDUixJQUFNQyxLQUFLLEdBQUdMLE9BQU8sQ0FBQyxlQUFELENBQXJCOztnQkFDbUNBLE9BQU8sQ0FBQyxhQUFELEM7SUFBbENNLFUsYUFBQUEsVTtJQUFZQyxVLGFBQUFBLFU7O0FBRXBCRixLQUFLLENBQUNHLElBQU4sQ0FBV0MsU0FBWCxHLENBRUE7O0FBQ0EsSUFBTUMsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQ0MsR0FBRCxFQUFNQyxNQUFOLEVBQWlCO0FBQ2hDLE1BQUlWLE1BQU0sQ0FBQ1MsR0FBRCxDQUFWLEVBQWlCO0FBQ2YsUUFBTUUsSUFBSSxHQUFHWixJQUFJLENBQ2ZXLE1BQU0sQ0FBQ0UsSUFEUSxFQUVmSCxHQUFHLENBQUNJLFFBQUosQ0FBYSxLQUFiLEtB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RFosS0FFQSxPQUFPVCxHQUFHLENBQUNTLFFBQVgsS0FBd0IsV0FGeEIsSUFHQSxPQUFPVCxHQUFHLENBQUNjLElBQVgsS0FBb0IsV0FIcEIsSUFJQSxPQUFPZCxHQUFHLENBQUNILElBQVgsS0FBb0IsV0FMdEIsRUFNRTtBQUNBRyxJQUFBQSxHQUFHLENBQUNTLFFBQUosR0FBZVIsTUFBTSxDQUFDUSxRQUF0QjtBQUNEOztBQUVELE1BQUlsQixNQUFNLENBQUNVLE1BQU0sQ0FBQ1MsUUFBUixDQUFOLElBQTJCLENBQUNWLEdBQUcsQ0FBQ1UsUUFBcEMsRUFBOEM7QUFDNUNWLElBQUFBLEdBQUcsQ0FBQ1UsUUFBSixHQUFlVCxNQUFNLENBQUNTLFFBQXRCO0FBQ0Q7O0FBRUQsU0FBT1YsR0FBUDtBQUNELENBOUhEOztBQWdJQW1CLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQnJCLFFBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgeyBqb2luIH0gPSByZXF1aXJlKCdwYXRoJyk7XG5jb25zdCBpc1NBTkIgPSByZXF1aXJlKCdpcy1zdHJpbmctYW5kLW5vdC1ibGFuaycpO1xuY29uc3QgaXNWYWxpZFBhdGggPSByZXF1aXJlKCdpcy12YWxpZC1wYXRoJyk7XG5jb25zdCB7IGJvb2xlYW4gfSA9IHJlcXVpcmUoJ2Jvb2xlYW4nKTtcbmNvbnN0IGxhdGVyID0gcmVxdWlyZSgnQGJyZWVqcy9sYXRlcicpO1xuY29uc3QgeyBpc1NjaGVkdWxlLCBwYXJzZVZhbHVlIH0gPSByZXF1aXJlKCcuL2pvYi11dGlscycpO1xuXG5sYXRlci5kYXRlLmxvY2FsVGltZSgpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY29tcGxleGl0eVxuY29uc3QgYnVpbGRKb2IgPSAoam9iLCBjb25maWcpID0+IHtcbiAgaWYgKGlzU0FOQihqb2IpKSB7XG4gICAgY29uc3QgcGF0aCA9IGpvaW4oXG4gICAgICBjb25maWcucm9vdCxcbiAgICAgIGpvYi5lbmRzV2l0aCgnLmpzJykgfHwgam9iLmVuZHNXaXRoKCcubWpzJylcbiAgICAgICAgPyBqb2JcbiAgICAgICAgOiBgJHtqb2J9LiR7Y29uZmlnLmRlZmF1bHRFeHRlbnNpb259YFxuICAgICk7XG5cbiAgICBjb25zdCBqb2JPYmplY3QgPSB7XG4gICAgICBuYW1lOiBqb2IsXG4gICAgICBwYXRoLFxuICAgICAgdGltZW91dDogY29uZmlnLnRpbWVvdXQsXG4gICAgICBpbnRlcnZhbDogY29uZmlnLmludGVydmFsXG4gICAgfTtcbiAgICBpZiAoaXNTQU5CKGNvbmZpZy50aW1lem9uZSkpIHtcbiAgICAgIGpvYk9iamVjdC50aW1lem9uZSA9IGNvbmZpZy50aW1lem9uZTtcbiAgICB9XG5cbiAgICByZXR1cm4gam9iT2JqZWN0O1xuICB9XG5cbiAgaWYgKHR5cGVvZiBqb2IgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjb25zdCBwYXRoID0gYCgke2pvYi50b1N0cmluZygpfSkoKWA7XG5cbiAgICBjb25zdCBqb2JPYmplY3QgPSB7XG4gICAgICBuYW1lOiBqb2IubmFtZSxcbiAgICAgIHBhdGgsXG4gICAgICB3b3JrZXI6IHsgZXZhbDogdHJ1ZSB9LFxuICAgICAgdGltZW91dDogY29uZmlnLnRpbWVvdXQsXG4gICAgICBpbnRlcnZhbDogY29uZmlnLmludGVydmFsXG4gICAgfTtcbiAgICBpZiAoaXNTQU5CKGNvbmZpZy50aW1lem9uZSkpIHtcbiAgICAgIGpvYk9iamVjdC50aW1lem9uZSA9IGNvbmZpZy50aW1lem9uZTtcbiAgICB9XG5cbiAgICByZXR1cm4gam9iT2JqZWN0O1xuICB9XG5cbiAgLy8gUHJvY2VzcyBqb2IucGF0aFxuICBpZiAodHlwZW9mIGpvYi5wYXRoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY29uc3QgcGF0aCA9IGAoJHtqb2IucGF0aC50b1N0cmluZygpfSkoKWA7XG5cbiAgICBqb2IucGF0aCA9IHBhdGg7XG4gICAgam9iLndvcmtlciA9IHtcbiAgICAgIGV2YWw6IHRydWUsXG4gICAgICAuLi5qb2Iud29ya2VyXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBwYXRoID0gaXNTQU5CKGpvYi5wYXRoKVxuICAgICAgPyBqb2IucGF0aFxuICAgICAgOiBqb2luKFxuICAgICAgICAgIGNvbmZpZy5yb290LFxuICAgICAgICAgIGpvYi5uYW1lLmVuZHNXaXRoKCcuanMnKSB8fCBqb2IubmFtZS5lbmRzV2l0aCgnLm1qcycpXG4gICAgICAgICAgICA/IGpvYi5uYW1lXG4gICAgICAgICAgICA6IGAke2pvYi5uYW1lfS4ke2NvbmZpZy5kZWZhdWx0RXh0ZW5zaW9ufWBcbiAgICAgICAgKTtcblxuICAgIGlmIChpc1ZhbGlkUGF0aChwYXRoKSkge1xuICAgICAgam9iLnBhdGggPSBwYXRoO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBBc3N1bWUgdGhhdCBpdCdzIGEgdHJhbnNmb3JtZWQgZXZhbCBzdHJpbmdcbiAgICAgIGpvYi53b3JrZXIgPSB7XG4gICAgICAgIGV2YWw6IHRydWUsXG4gICAgICAgIC4uLmpvYi53b3JrZXJcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiBqb2IudGltZW91dCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBqb2IudGltZW91dCA9IHBhcnNlVmFsdWUoam9iLnRpbWVvdXQpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBqb2IuaW50ZXJ2YWwgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgam9iLmludGVydmFsID0gcGFyc2VWYWx1ZShqb2IuaW50ZXJ2YWwpO1xuICB9XG5cbiAgLy8gQnVpbGQgY3JvblxuICBpZiAodHlwZW9mIGpvYi5jcm9uICE9PSAndW5kZWZpbmVkJykge1xuICAgIGlmIChpc1NjaGVkdWxlKGpvYi5jcm9uKSkge1xuICAgICAgam9iLmludGVydmFsID0gam9iLmNyb247XG4gICAgICAvLyBEZWxldGUgam9iLmNyb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGpvYi5pbnRlcnZhbCA9IGxhdGVyLnBhcnNlLmNyb24oXG4gICAgICAgIGpvYi5jcm9uLFxuICAgICAgICBib29sZWFuKFxuICAgICAgICAgIHR5cGVvZiBqb2IuaGFzU2Vjb25kcyA9PT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgID8gY29uZmlnLmhhc1NlY29uZHNcbiAgICAgICAgICAgIDogam9iLmhhc1NlY29uZHNcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aW1lb3V0IHdhcyB1bmRlZmluZWQsIGNyb24gd2FzIHVuZGVmaW5lZCxcbiAgLy8gYW5kIGRhdGUgd2FzIHVuZGVmaW5lZCB0aGVuIHNldCB0aGUgZGVmYXVsdFxuICAvLyAoYXMgbG9uZyBhcyB0aGUgZGVmYXVsdCB0aW1lb3V0IGlzID49IDApXG4gIGlmIChcbiAgICBOdW1iZXIuaXNGaW5pdGUoY29uZmlnLnRpbWVvdXQpICYmXG4gICAgY29uZmlnLnRpbWVvdXQgPj0gMCAmJlxuICAgIHR5cGVvZiBqb2IudGltZW91dCA9PT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2Ygam9iLmNyb24gPT09ICd1bmRlZmluZWQnICYmXG4gICAgdHlwZW9mIGpvYi5kYXRlID09PSAndW5kZWZpbmVkJyAmJlxuICAgIHR5cGVvZiBqb2IuaW50ZXJ2YWwgPT09ICd1bmRlZmluZWQnXG4gICkge1xuICAgIGpvYi50aW1lb3V0ID0gY29uZmlnLnRpbWVvdXQ7XG4gIH1cblxuICAvLyBJZiBpbnRlcnZhbCB3YXMgdW5kZWZpbmVkLCBjcm9uIHdhcyB1bmRlZmluZWQsXG4gIC8vIGFuZCBkYXRlIHdhcyB1bmRlZmluZWQgdGhlbiBzZXQgdGhlIGRlZmF1bHRcbiAgLy8gKGFzIGxvbmcgYXMgdGhlIGRlZmF1bHQgaW50ZXJ2YWwgaXMgPiAwLCBvciBpdCB3YXMgYSBzY2hlZHVsZSwgb3IgaXQgd2FzIHZhbGlkKVxuICBpZiAoXG4gICAgKChOdW1iZXIuaXNGaW5pdGUoY29uZmlnLmludGVydmFsKSAmJiBjb25maWcuaW50ZXJ2YWwgPiAwKSB8fFxuICAgICAgaXNTY2hlZHVsZShjb25maWcuaW50ZXJ2YWwpKSAmJlxuICAgIHR5cGVvZiBqb2IuaW50ZXJ2YWwgPT09ICd1bmRlZmluZWQnICYmXG4gICAgdHlwZW9mIGpvYi5jcm9uID09PSAndW5kZWZpbmVkJyAmJlxuICAgIHR5cGVvZiBqb2IuZGF0ZSA9PT0gJ3VuZGVmaW5lZCdcbiAgKSB7XG4gICAgam9iLmludGVydmFsID0gY29uZmlnLmludGVydmFsO1xuICB9XG5cbiAgaWYgKGlzU0FOQihjb25maWcudGltZXpvbmUpICYmICFqb2IudGltZXpvbmUpIHtcbiAgICBqb2IudGltZXpvbmUgPSBjb25maWcudGltZXpvbmU7XG4gIH1cblxuICByZXR1cm4gam9iO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBidWlsZEpvYjtcbiJdfQ==

@@ -273,2 +273,14 @@ "use strict";

if (isSANB(job.timezone) && !['local', 'system'].includes(job.timezone)) {
try {
// `.toLocaleString()` will throw a `RangeError` if `timeZone` string
// is bogus or not supported by the environment.
new Date().toLocaleString('ia', {
timeZone: job.timezone
});
} catch (_unused) {
errors.push(new Error("".concat(prefix, " had an invalid or unsupported timezone specified: ").concat(job.timezone)));
}
}
if (errors.length > 0) {

@@ -281,2 +293,2 @@ throw combineErrors(errors);

module.exports.cronValidateWithSeconds = cronValidateWithSeconds;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qb2ItdmFsaWRhdG9yLmpzIl0sIm5hbWVzIjpbImZzIiwicmVxdWlyZSIsImpvaW4iLCJjb21iaW5lRXJyb3JzIiwiY3JvbiIsImlzU0FOQiIsImlzVmFsaWRQYXRoIiwidGhyZWFkcyIsImdldE5hbWUiLCJpc1NjaGVkdWxlIiwicGFyc2VWYWx1ZSIsInZhbGlkYXRlUmVzZXJ2ZWRKb2JOYW1lIiwibmFtZSIsImluY2x1ZGVzIiwiRXJyb3IiLCJ2YWxpZGF0ZVN0cmluZ0pvYiIsImpvYiIsImkiLCJjb25maWciLCJlcnJvcnMiLCJqb2JOYW1lRXJyb3IiLCJyb290IiwicHVzaCIsInBhdGgiLCJlbmRzV2l0aCIsImRlZmF1bHRFeHRlbnNpb24iLCJicm93c2VyIiwic3RhdHMiLCJzdGF0U3luYyIsImlzRmlsZSIsInZhbGlkYXRlRnVuY3Rpb25Kb2IiLCJ0b1N0cmluZyIsImxlbmd0aCIsInZhbGlkYXRlSm9iUGF0aCIsInByZWZpeCIsImVyciIsImNyb25WYWxpZGF0ZVdpdGhTZWNvbmRzIiwicHJlc2V0IiwiY3JvblZhbGlkYXRlIiwib3ZlcnJpZGUiLCJ1c2VTZWNvbmRzIiwidmFsaWRhdGVDcm9uIiwiaGFzU2Vjb25kcyIsInJlc3VsdCIsImlzVmFsaWQiLCJnZXRFcnJvciIsIm1lc3NhZ2UiLCJ2YWxpZGF0ZUpvYk5hbWUiLCJyZXNlcnZlZE5hbWVzIiwidmFsaWRhdGUiLCJuYW1lcyIsImludGVydmFsIiwidGltZW91dCIsImRhdGUiLCJEYXRlIiwiZm9yRWFjaCIsInByb3AiLCJjbG9zZVdvcmtlckFmdGVyTXMiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImNsb3NlV29ya2Vyc0FmdGVyTXMiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQU1BLEVBQUUsR0FBR0MsT0FBTyxDQUFDLElBQUQsQ0FBbEI7O2VBQ2lCQSxPQUFPLENBQUMsTUFBRCxDO0lBQWhCQyxJLFlBQUFBLEk7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SUFBUCxDQUNFLElBQUlSLEtBQUosV0FDS29CLE1BREwsMERBQzJEbEIsR0FBRyxDQUFDNEMsbUJBRC9ELHVDQURGO0FBS0Q7O0FBRUQsTUFBSXpDLE1BQU0sQ0FBQ2EsTUFBUCxHQUFnQixDQUFwQixFQUF1QjtBQUNyQixVQUFNN0IsYUFBYSxDQUFDZ0IsTUFBRCxDQUFuQjtBQUNEO0FBQ0YsQ0F0R0Q7O0FBd0dBMEMsTUFBTSxDQUFDQyxPQUFQLEdBQWlCYixRQUFqQjtBQUNBWSxNQUFNLENBQUNDLE9BQVAsQ0FBZTFCLHVCQUFmLEdBQXlDQSx1QkFBekMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBmcyA9IHJlcXVpcmUoJ2ZzJyk7XG5jb25zdCB7IGpvaW4gfSA9IHJlcXVpcmUoJ3BhdGgnKTtcbmNvbnN0IGNvbWJpbmVFcnJvcnMgPSByZXF1aXJlKCdjb21iaW5lLWVycm9ycycpO1xuY29uc3QgY3JvbiA9IHJlcXVpcmUoJ2Nyb24tdmFsaWRhdGUnKTtcbmNvbnN0IGlzU0FOQiA9IHJlcXVpcmUoJ2lzLXN0cmluZy1hbmQtbm90LWJsYW5rJyk7XG5jb25zdCBpc1ZhbGlkUGF0aCA9IHJlcXVpcmUoJ2lzLXZhbGlkLXBhdGgnKTtcbmNvbnN0IHRocmVhZHMgPSByZXF1aXJlKCdidGhyZWFkcycpO1xuXG5jb25zdCB7IGdldE5hbWUsIGlzU2NoZWR1bGUsIHBhcnNlVmFsdWUgfSA9IHJlcXVpcmUoJy4vam9iLXV0aWxzJyk7XG5cbmNvbnN0IHZhbGlkYXRlUmVzZXJ2ZWRKb2JOYW1lID0gKG5hbWUpID0+IHtcbiAgLy8gRG9uJ3QgYWxsb3cgYSBqb2IgdG8gaGF2ZSB0aGUgYGluZGV4YCBmaWxlIG5hbWVcbiAgaWYgKFsnaW5kZXgnLCAnaW5kZXguanMnLCAnaW5kZXgubWpzJ10uaW5jbHVkZXMobmFtZSkpIHtcbiAgICByZXR1cm4gbmV3IEVycm9yKFxuICAgICAgJ1lvdSBjYW5ub3QgdXNlIHRoZSByZXNlcnZlZCBqb2IgbmFtZSBvZiBcImluZGV4XCIsIFwiaW5kZXguanNcIiwgbm9yIFwiaW5kZXgubWpzXCInXG4gICAgKTtcbiAgfVxufTtcblxuY29uc3QgdmFsaWRhdGVTdHJpbmdKb2IgPSAoam9iLCBpLCBjb25maWcpID0+IHtcbiAgY29uc3QgZXJyb3JzID0gW107XG5cbiAgY29uc3Qgam9iTmFtZUVycm9yID0gdmFsaWRhdGVSZXNlcnZlZEpvYk5hbWUoam9iKTtcbiAgaWYgKGpvYk5hbWVFcnJvcikge1xuICAgIHRocm93IGpvYk5hbWVFcnJvcjtcbiAgfVxuXG4gIGlmICghY29uZmlnLnJvb3QpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgYEpvYiAjJHtcbiAgICAgICAgICBpICsgMVxuICAgICAgICB9IFwiJHtqb2J9XCIgcmVxdWlyZXMgcm9vdCBkaXJlY3Rvcnkgb3B0aW9uIHRvIGF1dG8tcG9wdWxhdGUgcGF0aGBcbiAgICAgIClcbiAgICApO1xuICAgIHRocm93IGNvbWJpbmVFcnJvcnMoZXJyb3JzKTtcbiAgfVxuXG4gIGNvbnN0IHBhdGggPSBqb2luKFxuICAgIGNvbmZpZy5yb290LFxuICAgIGpvYi5lbmRzV2l0aCgnLmpzJykgfHwgam9iLmVuZHNXaXRoKCcubWpzJylcbiAgICAgID8gam9iXG4gICAgICA6IGAke2pvYn0uJHtjb25maWcuZGVmYXVsdEV4dGVuc2lvbn1gXG4gICk7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKCF0aHJlYWRzLmJyb3dzZXIpIHtcbiAgICBjb25zdCBzdGF0cyA9IGZzLnN0YXRTeW5jKHBhdGgpO1xuICAgIGlmICghc3RhdHMuaXNGaWxlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSm9iICMke2kgKyAxfSBcIiR7am9ifVwiIHBhdGggbWlzc2luZzogJHtwYXRofWApO1xuICAgIH1cbiAgfVxufTtcblxuY29uc3QgdmFsaWRhdGVGdW5jdGlvbkpvYiA9IChqb2IsIGkpID0+IHtcbiAgY29uc3QgZXJyb3JzID0gW107XG5cbiAgY29uc3QgcGF0aCA9IGAoJHtqb2IudG9TdHJpbmcoKX0pKClgO1xuICAvLyBDYW4ndCBiZSBhIGJ1aWx0LWluIG9yIGJvdW5kIGZ1bmN0aW9uXG4gIGlmIChwYXRoLmluY2x1ZGVzKCdbbmF0aXZlIGNvZGVdJykpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIG5ldyBFcnJvcihgSm9iICMke2kgKyAxfSBjYW4ndCBiZSBhIGJvdW5kIG9yIGJ1aWx0LWluIGZ1bmN0aW9uYClcbiAgICApO1xuICB9XG5cbiAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgY29tYmluZUVycm9ycyhlcnJvcnMpO1xuICB9XG59O1xuXG5jb25zdCB2YWxpZGF0ZUpvYlBhdGggPSAoam9iLCBwcmVmaXgsIGNvbmZpZykgPT4ge1xuICBjb25zdCBlcnJvcnMgPSBbXTtcblxuICBpZiAodHlwZW9mIGpvYi5wYXRoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY29uc3QgcGF0aCA9IGAoJHtqb2IucGF0aC50b1N0cmluZygpfSkoKWA7XG5cbiAgICAvLyBDYW4ndCBiZSBhIGJ1aWx0LWluIG9yIGJvdW5kIGZ1bmN0aW9uXG4gICAgaWYgKHBhdGguaW5jbHVkZXMoJ1tuYXRpdmUgY29kZV0nKSkge1xuICAgICAgZXJyb3JzLnB1c2gobmV3IEVycm9yKGAke3ByZWZpeH0gY2FuJ3QgYmUgYSBib3VuZCBvciBidWlsdC1pbiBmdW5jdGlvbmApKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoIWlzU0FOQihqb2IucGF0aCkgJiYgIWNvbmZpZy5yb290KSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBuZXcgRXJyb3IoXG4gICAgICAgIGAke3ByZWZpeH0gcmVxdWlyZXMgcm9vdCBkaXJlY3Rvcnkgb3B0aW9uIHRvIGF1dG8tcG9wdWxhdGUgcGF0aGBcbiAgICAgIClcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIC8vIFZhbGlkYXRlIHBhdGhcbiAgICBjb25zdCBwYXRoID0gaXNTQU5CKGpvYi5wYXRoKVxuICAgICAgPyBqb2IucGF0aFxuICAgICAgOiBqb2luKFxuICAgICAgICAgIGNvbmZpZy5yb290LFxuICAgICAgICAgIGpvYi5uYW1lLmVuZHNXaXRoKCcuanMnKSB8fCBqb2IubmFtZS5lbmRzV2l0aCgnLm1qcycpXG4gICAgICAgICAgICA/IGpvYi5uYW1lXG4gICAgICAgICAgICA6IGAke2pvYi5uYW1lfS4ke2NvbmZpZy5kZWZhdWx0RXh0ZW5zaW9ufWBcbiAgICAgICAgKTtcbiAgICBpZiAoaXNWYWxpZFBhdGgocGF0aCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGlmICghdGhyZWFkcy5icm93c2VyKSB7XG4gICAgICAgICAgY29uc3Qgc3RhdHMgPSBmcy5zdGF0U3luYyhwYXRoKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWRlcHRoXG4gICAgICAgICAgaWYgKCFzdGF0cy5pc0ZpbGUoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3ByZWZpeH0gcGF0aCBtaXNzaW5nOiAke3BhdGh9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZXJyb3JzLnB1c2goZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufTtcblxuY29uc3QgY3JvblZhbGlkYXRlV2l0aFNlY29uZHMgPSAoam9iLCBjb25maWcpID0+IHtcbiAgY29uc3QgcHJlc2V0ID1cbiAgICBqb2IuY3JvblZhbGlkYXRlICYmIGpvYi5jcm9uVmFsaWRhdGUucHJlc2V0XG4gICAgICA/IGpvYi5jcm9uVmFsaWRhdGUucHJlc2V0XG4gICAgICA6IGNvbmZpZy5jcm9uVmFsaWRhdGUgJiYgY29uZmlnLmNyb25WYWxpZGF0ZS5wcmVzZXRcbiAgICAgID8gY29uZmlnLmNyb25WYWxpZGF0ZS5wcmVzZXRcbiAgICAgIDogJ2RlZmF1bHQnO1xuICBjb25zdCBvdmVycmlkZSA9IHtcbiAgICAuLi4oY29uZmlnLmNyb25WYWxpZGF0ZSAmJiBjb25maWcuY3JvblZhbGlkYXRlLm92ZXJyaWRlXG4gICAgICA/IGNvbmZpZy5jcm9uVmFsaWRhdGUub3ZlcnJpZGVcbiAgICAgIDoge30pLFxuICAgIC4uLihqb2IuY3JvblZhbGlkYXRlICYmIGpvYi5jcm9uVmFsaWRhdGUub3ZlcnJpZGVcbiAgICAgID8gam9iLmNyb25WYWxpZGF0ZS5vdmVycmlkZVxuICAgICAgOiB7fSksXG4gICAgdXNlU2Vjb25kczogdHJ1ZVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgLi4uY29uZmlnLmNyb25WYWxpZGF0ZSxcbiAgICAuLi5qb2IuY3JvblZhbGlkYXRlLFxuICAgIHByZXNldCxcbiAgICBvdmVycmlkZVxuICB9O1xufTtcblxuY29uc3QgdmFsaWRhdGVDcm9uID0gKGpvYiwgcHJlZml4LCBjb25maWcpID0+IHtcbiAgY29uc3QgZXJyb3JzID0gW107XG5cbiAgaWYgKCFpc1NjaGVkdWxlKGpvYi5jcm9uKSkge1xuICAgIC8vIElmIGBoYXNTZWNvbmRzYCB3YXMgYHRydWVgIHRoZW4gc2V0IGBjcm9uVmFsaWRhdGVgIGFuZCBpbmhlcml0IGFueSBleGlzdGluZyBvcHRpb25zXG4gICAgY29uc3QgY3JvblZhbGlkYXRlID0gam9iLmhhc1NlY29uZHNcbiAgICAgID8gY3JvblZhbGlkYXRlV2l0aFNlY29uZHMoam9iLCBjb25maWcpXG4gICAgICA6IGNvbmZpZy5jcm9uVmFsaWRhdGU7XG5cbiAgICAvL1xuICAgIC8vIHZhbGlkYXRlIGNyb24gcGF0dGVyblxuICAgIC8vIChtdXN0IHN1cHBvcnQgcGF0dGVybnMgc3VjaCBhcyBgKiAqIEwgKiAqYCBhbmQgYDAgMC81IDE0ICogKiA/YCAoYW5kIGFsaWFzZXMgdG9vKVxuICAgIC8vXG4gICAgLy8gIDxodHRwczovL2dpdGh1Yi5jb20vQWlyZm9vb3gvY3Jvbi12YWxpZGF0ZS9pc3N1ZXMvNjc+XG4gICAgLy9cbiAgICBjb25zdCByZXN1bHQgPSBjcm9uKGpvYi5jcm9uLCBjcm9uVmFsaWRhdGUpO1xuXG4gICAgaWYgKCFyZXN1bHQuaXNWYWxpZCgpKSB7XG4gICAgICAvLyBOT1RFOiBpdCBpcyBhbHdheXMgdmFsaWRcbiAgICAgIC8vIGNvbnN0IHNjaGVkdWxlID0gbGF0ZXIuc2NoZWR1bGUoXG4gICAgICAvLyAgIGxhdGVyLnBhcnNlLmNyb24oXG4gICAgICAvLyAgICAgam9iLmNyb24sXG4gICAgICAvLyAgICAgYm9vbGVhbihcbiAgICAgIC8vICAgICAgIHR5cGVvZiBqb2IuaGFzU2Vjb25kcyA9PT0gJ3VuZGVmaW5lZCdcbiAgICAgIC8vICAgICAgICAgPyBjb25maWcuaGFzU2Vjb25kc1xuICAgICAgLy8gICAgICAgICA6IGpvYi5oYXNTZWNvbmRzXG4gICAgICAvLyAgICAgKVxuICAgICAgLy8gICApXG4gICAgICAvLyApO1xuICAgICAgLy8gaWYgKHNjaGVkdWxlLmlzVmFsaWQoKSkge1xuICAgICAgLy8gICBqb2IuaW50ZXJ2YWwgPSBzY2hlZHVsZTtcbiAgICAgIC8vIH0gLy8gZWxzZSB7XG4gICAgICAvLyAgIGVycm9ycy5wdXNoKFxuICAgICAgLy8gICAgIG5ldyBFcnJvcihcbiAgICAgIC8vICAgICAgIGAke3ByZWZpeH0gaGFkIGFuIGludmFsaWQgY3JvbiBzY2hlZHVsZSAoc2VlIDxodHRwczovL2Nyb250YWIuZ3VydT4gaWYgeW91IG5lZWQgaGVscClgXG4gICAgICAvLyAgICAgKVxuICAgICAgLy8gICApO1xuICAgICAgLy8gfVxuXG4gICAgICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgcmVzdWx0LmdldEVycm9yKCkpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgbmV3IEVycm9yKGAke3ByZWZpeH0gaGFkIGFuIGludmFsaWQgY3JvbiBwYXR0ZXJuOiAke21lc3NhZ2V9YClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufTtcblxuY29uc3QgdmFsaWRhdGVKb2JOYW1lID0gKGpvYiwgaSwgcmVzZXJ2ZWROYW1lcykgPT4ge1xuICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgY29uc3QgbmFtZSA9IGdldE5hbWUoam9iKTtcblxuICBpZiAoIW5hbWUpIHtcbiAgICBlcnJvcnMucHVzaChuZXcgRXJyb3IoYEpvYiAjJHtpICsgMX0gaXMgbWlzc2luZyBhIG5hbWVgKSk7XG4gIH1cblxuICAvLyBUaHJvdyBhbiBlcnJvciBpZiBkdXBsaWNhdGUgam9iIG5hbWVzXG4gIGlmIChyZXNlcnZlZE5hbWVzLmluY2x1ZGVzKG5hbWUpKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBuZXcgRXJyb3IoYEpvYiAjJHtpICsgMX0gaGFzIGEgZHVwbGljYXRlIGpvYiBuYW1lIG9mICR7Z2V0TmFtZShqb2IpfWApXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59O1xuXG5jb25zdCB2YWxpZGF0ZSA9IChqb2IsIGksIG5hbWVzLCBjb25maWcpID0+IHtcbiAgY29uc3QgZXJyb3JzID0gdmFsaWRhdGVKb2JOYW1lKGpvYiwgaSwgbmFtZXMpO1xuXG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IGNvbWJpbmVFcnJvcnMoZXJyb3JzKTtcbiAgfVxuXG4gIC8vIFN1cHBvcnQgYSBzaW1wbGUgc3RyaW5nIHdoaWNoIHdlIHdpbGwgdHJhbnNmb3JtIHRvIGhhdmUgYSBwYXRoXG4gIGlmIChpc1NBTkIoam9iKSkge1xuICAgIHJldHVybiB2YWxpZGF0ZVN0cmluZ0pvYihqb2IsIGksIGNvbmZpZyk7XG4gIH1cblxuICAvLyBKb2IgaXMgYSBmdW5jdGlvblxuICBpZiAodHlwZW9mIGpvYiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB2YWxpZGF0ZUZ1bmN0aW9uSm9iKGpvYiwgaSk7XG4gIH1cblxuICAvLyBVc2UgYSBwcmVmaXggZm9yIGVycm9yc1xuICBjb25zdCBwcmVmaXggPSBgSm9iICMke2kgKyAxfSBuYW1lZCBcIiR7am9iLm5hbWV9XCJgO1xuXG4gIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlSm9iUGF0aChqb2IsIHByZWZpeCwgY29uZmlnKSk7XG5cbiAgLy8gRG9uJ3QgYWxsb3cgdXNlcnMgdG8gbWl4IGludGVydmFsIEFORCBjcm9uXG4gIGlmICh0eXBlb2Ygam9iLmludGVydmFsICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygam9iLmNyb24gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBuZXcgRXJyb3IoYCR7cHJlZml4fSBjYW5ub3QgaGF2ZSBib3RoIGludGVydmFsIGFuZCBjcm9uIGNvbmZpZ3VyYXRpb25gKVxuICAgICk7XG4gIH1cblxuICAvLyBEb24ndCBhbGxvdyB1c2VycyB0byBtaXggdGltZW91dCBBTkQgZGF0ZVxuICBpZiAodHlwZW9mIGpvYi50aW1lb3V0ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygam9iLmRhdGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgZXJyb3JzLnB1c2gobmV3IEVycm9yKGAke3ByZWZpeH0gY2Fubm90IGhhdmUgYm90aCB0aW1lb3V0IGFuZCBkYXRlYCkpO1xuICB9XG5cbiAgY29uc3Qgam9iTmFtZUVycm9yID0gdmFsaWRhdGVSZXNlcnZlZEpvYk5hbWUoam9iLm5hbWUpO1xuICBpZiAoam9iTmFtZUVycm9yKSB7XG4gICAgZXJyb3JzLnB1c2goam9iTmFtZUVycm9yKTtcbiAgfVxuXG4gIC8vIFZhbGlkYXRlIGRhdGVcbiAgaWYgKHR5cGVvZiBqb2IuZGF0ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgIShqb2IuZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgZXJyb3JzLnB1c2gobmV3IEVycm9yKGAke3ByZWZpeH0gaGFkIGFuIGludmFsaWQgRGF0ZSBvZiAke2pvYi5kYXRlfWApKTtcbiAgfVxuXG4gIFsndGltZW91dCcsICdpbnRlcnZhbCddLmZvckVhY2goKHByb3ApID0+IHtcbiAgICBpZiAodHlwZW9mIGpvYltwcm9wXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHBhcnNlVmFsdWUoam9iW3Byb3BdKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICBjb21iaW5lRXJyb3JzKFtcbiAgICAgICAgICAgIG5ldyBFcnJvcihgJHtwcmVmaXh9IGhhZCBhbiBpbnZhbGlkICR7cHJvcH0gb2YgJHtqb2IudGltZW91dH1gKSxcbiAgICAgICAgICAgIGVyclxuICAgICAgICAgIF0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICAvLyBWYWxpZGF0ZSBoYXNTZWNvbmRzXG4gIGlmIChcbiAgICB0eXBlb2Ygam9iLmhhc1NlY29uZHMgIT09ICd1bmRlZmluZWQnICYmXG4gICAgdHlwZW9mIGpvYi5oYXNTZWNvbmRzICE9PSAnYm9vbGVhbidcbiAgKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBuZXcgRXJyb3IoXG4gICAgICAgIGAke3ByZWZpeH0gaGFkIGhhc1NlY29uZHMgdmFsdWUgb2YgJHtqb2IuaGFzU2Vjb25kc30gKGl0IG11c3QgYmUgYSBCb29sZWFuKWBcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLy8gVmFsaWRhdGUgY3JvblZhbGlkYXRlXG4gIGlmIChcbiAgICB0eXBlb2Ygam9iLmNyb25WYWxpZGF0ZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2Ygam9iLmNyb25WYWxpZGF0ZSAhPT0gJ29iamVjdCdcbiAgKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBuZXcgRXJyb3IoXG4gICAgICAgIGAke3ByZWZpeH0gaGFkIGNyb25WYWxpZGF0ZSB2YWx1ZSBzZXQsIGJ1dCBpdCBtdXN0IGJlIGFuIE9iamVjdGBcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBqb2IuY3JvbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZUNyb24oam9iLCBwcmVmaXgsIGNvbmZpZykpO1xuICB9XG5cbiAgLy8gVmFsaWRhdGUgY2xvc2VXb3JrZXJBZnRlck1zXG4gIGlmIChcbiAgICB0eXBlb2Ygam9iLmNsb3NlV29ya2VyQWZ0ZXJNcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAoIU51bWJlci5pc0Zpbml0ZShqb2IuY2xvc2VXb3JrZXJBZnRlck1zKSB8fCBqb2IuY2xvc2VXb3JrZXJBZnRlck1zIDw9IDApXG4gICkge1xuICAgIGVycm9ycy5wdXNoKFxuICAgICAgbmV3IEVycm9yKFxuICAgICAgICBgJHtwcmVmaXh9IGhhZCBhbiBpbnZhbGlkIGNsb3NlV29ya2Vyc0FmdGVyTXMgdmFsdWUgb2YgJHtqb2IuY2xvc2VXb3JrZXJzQWZ0ZXJNc30gKGl0IG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyID4gMClgXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IGNvbWJpbmVFcnJvcnMoZXJyb3JzKTtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMgPSB2YWxpZGF0ZTtcbm1vZHVsZS5leHBvcnRzLmNyb25WYWxpZGF0ZVdpdGhTZWNvbmRzID0gY3JvblZhbGlkYXRlV2l0aFNlY29uZHM7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9qb2ItdmFsaWRhdG9yLmpzIl0sIm5hbWVzIjpbImZzIiwicmVxdWlyZSIsImpvaW4iLCJjb21iaW5lRXJyb3JzIiwiY3JvbiIsImlzU0FOQiIsImlzVmFsaWRQYXRoIiwidGhyZWFkcyIsImdldE5hbWUiLCJpc1NjaGVkdWxlIiwicGFyc2VWYWx1ZSIsInZhbGlkYXRlUmVzZXJ2ZWRKb2JOYW1lIiwibmFtZSIsImluY2x1ZGVzIiwiRXJyb3IiLCJ2YWxpZGF0ZVN0cmluZ0pvYiIsImpvYiIsImkiLCJjb25maWciLCJlcnJvcnMiLCJqb2JOYW1lRXJyb3IiLCJyb290IiwicHVzaCIsInBhdGgiLCJlbmRzV2l0aCIsImRlZmF1bHRFeHRlbnNpb24iLCJicm93c2VyIiwic3RhdHMiLCJzdGF0U3luYyIsImlzRmlsZSIsInZhbGlkYXRlRnVuY3Rpb25Kb2IiLCJ0b1N0cmluZyIsImxlbmd0aCIsInZhbGlkYXRlSm9iUGF0aCIsInByZWZpeCIsImVyciIsImNyb25WYWxpZGF0ZVdpdGhTZWNvbmRzIiwicHJlc2V0IiwiY3JvblZhbGlkYXRlIiwib3ZlcnJpZGUiLCJ1c2VTZWNvbmRzIiwidmFsaWRhdGVDcm9uIiwiaGFzU2Vjb25kcyIsInJlc3VsdCIsImlzVmFsaWQiLCJnZXRFcnJvciIsIm1lc3NhZ2UiLCJ2YWxpZGF0ZUpvYk5hbWUiLCJyZXNlcnZlZE5hbWVzIiwidmFsaWRhdGUiLCJuYW1lcyIsImludGVydmFsIiwidGltZW91dCIsImRhdGUiLCJEYXRlIiwiZm9yRWFjaCIsInByb3AiLCJjbG9zZVdvcmtlckFmdGVyTXMiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImNsb3NlV29ya2Vyc0FmdGVyTXMiLCJ0aW1lem9uZSIsInRvTG9jYWxlU3RyaW5nIiwidGltZVpvbmUiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQU1BLEVBQUUsR0FBR0MsT0FBTyxDQUFDLElBQUQsQ0FBbEI7O2VB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QUR2RSxDQURGLEVBR0U7QUFDQXRDLElBQUFBLE1BQU0sQ0FBQ0csSUFBUCxDQUNFLElBQUlSLEtBQUosV0FDS29CLE1BREwsMERBQzJEbEIsR0FBRyxDQUFDNEMsbUJBRC9ELHVDQURGO0FBS0Q7O0FBRUQsTUFBSXZELE1BQU0sQ0FBQ1csR0FBRyxDQUFDNkMsUUFBTCxDQUFOLElBQXdCLENBQUMsQ0FBQyxPQUFELEVBQVUsUUFBVixFQUFvQmhELFFBQXBCLENBQTZCRyxHQUFHLENBQUM2QyxRQUFqQyxDQUE3QixFQUF5RTtBQUN2RSxRQUFJO0FBQ0Y7QUFDQTtBQUNBLFVBQUlQLElBQUosR0FBV1EsY0FBWCxDQUEwQixJQUExQixFQUFnQztBQUFFQyxRQUFBQSxRQUFRLEVBQUUvQyxHQUFHLENBQUM2QztBQUFoQixPQUFoQztBQUNELEtBSkQsQ0FJRSxnQkFBTTtBQUNOMUMsTUFBQUEsTUFBTSxDQUFDRyxJQUFQLENBQ0UsSUFBSVIsS0FBSixXQUNLb0IsTUFETCxnRUFDaUVsQixHQUFHLENBQUM2QyxRQURyRSxFQURGO0FBS0Q7QUFDRjs7QUFFRCxNQUFJMUMsTUFBTSxDQUFDYSxNQUFQLEdBQWdCLENBQXBCLEVBQXVCO0FBQ3JCLFVBQU03QixhQUFhLENBQUNnQixNQUFELENBQW5CO0FBQ0Q7QUFDRixDQXBIRDs7QUFzSEE2QyxNQUFNLENBQUNDLE9BQVAsR0FBaUJoQixRQUFqQjtBQUNBZSxNQUFNLENBQUNDLE9BQVAsQ0FBZTdCLHVCQUFmLEdBQXlDQSx1QkFBekMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBmcyA9IHJlcXVpcmUoJ2ZzJyk7XG5jb25zdCB7IGpvaW4gfSA9IHJlcXVpcmUoJ3BhdGgnKTtcbmNvbnN0IGNvbWJpbmVFcnJvcnMgPSByZXF1aXJlKCdjb21iaW5lLWVycm9ycycpO1xuY29uc3QgY3JvbiA9IHJlcXVpcmUoJ2Nyb24tdmFsaWRhdGUnKTtcbmNvbnN0IGlzU0FOQiA9IHJlcXVpcmUoJ2lzLXN0cmluZy1hbmQtbm90LWJsYW5rJyk7XG5jb25zdCBpc1ZhbGlkUGF0aCA9IHJlcXVpcmUoJ2lzLXZhbGlkLXBhdGgnKTtcbmNvbnN0IHRocmVhZHMgPSByZXF1aXJlKCdidGhyZWFkcycpO1xuXG5jb25zdCB7IGdldE5hbWUsIGlzU2NoZWR1bGUsIHBhcnNlVmFsdWUgfSA9IHJlcXVpcmUoJy4vam9iLXV0aWxzJyk7XG5cbmNvbnN0IHZhbGlkYXRlUmVzZXJ2ZWRKb2JOYW1lID0gKG5hbWUpID0+IHtcbiAgLy8gRG9uJ3QgYWxsb3cgYSBqb2IgdG8gaGF2ZSB0aGUgYGluZGV4YCBmaWxlIG5hbWVcbiAgaWYgKFsnaW5kZXgnLCAnaW5kZXguanMnLCAnaW5kZXgubWpzJ10uaW5jbHVkZXMobmFtZSkpIHtcbiAgICByZXR1cm4gbmV3IEVycm9yKFxuICAgICAgJ1lvdSBjYW5ub3QgdXNlIHRoZSByZXNlcnZlZCBqb2IgbmFtZSBvZiBcImluZGV4XCIsIFwiaW5kZXguanNcIiwgbm9yIFwiaW5kZXgubWpzXCInXG4gICAgKTtcbiAgfVxufTtcblxuY29uc3QgdmFsaWRhdGVTdHJpbmdKb2IgPSAoam9iLCBpLCBjb25maWcpID0+IHtcbiAgY29uc3QgZXJyb3JzID0gW107XG5cbiAgY29uc3Qgam9iTmFtZUVycm9yID0gdmFsaWRhdGVSZXNlcnZlZEpvYk5hbWUoam9iKTtcbiAgaWYgKGpvYk5hbWVFcnJvcikge1xuICAgIHRocm93IGpvYk5hbWVFcnJvcjtcbiAgfVxuXG4gIGlmICghY29uZmlnLnJvb3QpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgYEpvYiAjJHtcbiAgICAgICAgICBpICsgMVxuICAgICAgICB9IFwiJHtqb2J9XCIgcmVxdWlyZXMgcm9vdCBkaXJlY3Rvcnkgb3B0aW9uIHRvIGF1dG8tcG9wdWxhdGUgcGF0aGBcbiAgICAgIClcbiAgICApO1xuICAgIHRocm93IGNvbWJpbmVFcnJvcnMoZXJyb3JzKTtcbiAgfVxuXG4gIGNvbnN0IHBhdGggPSBqb2luKFxuICAgIGNvbmZpZy5yb290LFxuICAgIGpvYi5lbmRzV2l0aCgnLmpzJykgfHwgam9iLmVuZHNXaXRoKCcubWpzJylcbiAgICAgID8gam9iXG4gICAgICA6IGAke2pvYn0uJHtjb25maWcuZGVmYXVsdEV4dGVuc2lvbn1gXG4gICk7XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKCF0aHJlYWRzLmJyb3dzZXIpIHtcbiAgICBjb25zdCBzdGF0cyA9IGZzLnN0YXRTeW5jKHBhdGgpO1xuICAgIGlmICghc3RhdHMuaXNGaWxlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSm9iICMke2kgKyAxfSBcIiR7am9ifVwiIHBhdGggbWlzc2luZzogJHtwYXRofWApO1xuICAgIH1cbiAgfVxufTtcblxuY29uc3QgdmFsaWRhdGVGdW5jdGlvbkpvYiA9IChqb2IsIGkpID0+IHtcbiAgY29uc3QgZXJyb3JzID0gW107XG5cbiAgY29uc3QgcGF0aCA9IGAoJHtqb2IudG9TdHJpbmcoKX0pKClgO1xuICAvLyBDYW4ndCBiZSBhIGJ1aWx0LWluIG9yIGJvdW5kIGZ1bmN0aW9uXG4gIGlmIChwYXRoLmluY2x1ZGVzKCdbbmF0aXZlIGNvZGVdJykpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIG5ldyBFcnJvcihgSm9iICMke2kgKyAxfSBjYW4ndCBiZSBhIGJvdW5kIG9yIGJ1aWx0LWluIGZ1bmN0aW9uYClcbiAgICApO1xuICB9XG5cbiAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgY29tYmluZUVycm9ycyhlcnJvcnMpO1xuICB9XG59O1xuXG5jb25zdCB2YWxpZGF0ZUpvYlBhdGggPSAoam9iLCBwcmVmaXgsIGNvbmZpZykgPT4ge1xuICBjb25zdCBlcnJvcnMgPSBbXTtcblxuICBpZiAodHlwZW9mIGpvYi5wYXRoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY29uc3QgcGF0aCA9IGAoJHtqb2IucGF0aC50b1N0cmluZygpfSkoKWA7XG5cbiAgICAvLyBDYW4ndCBiZSBhIGJ1aWx0LWluIG9yIGJvdW5kIGZ1bmN0aW9uXG4gICAgaWYgKHBhdGguaW5jbHVkZXMoJ1tuYXRpdmUgY29kZV0nKSkge1xuICAgICAgZXJyb3JzLnB1c2gobmV3IEVycm9yKGAke3ByZWZpeH0gY2FuJ3QgYmUgYSBib3VuZCBvciBidWlsdC1pbiBmdW5jdGlvbmApKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoIWlzU0FOQihqb2IucGF0aCkgJiYgIWNvbmZpZy5yb290KSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBuZXcgRXJyb3IoXG4gICAgICAgIGAke3ByZWZpeH0gcmVxdWlyZXMgcm9vdCBkaXJlY3Rvcnkgb3B0aW9uIHRvIGF1dG8tcG9wdWxhdGUgcGF0aGBcbiAgICAgIClcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIC8vIFZhbGlkYXRlIHBhdGhcbiAgICBjb25zdCBwYXRoID0gaXNTQU5CKGpvYi5wYXRoKVxuICAgICAgPyBqb2IucGF0aFxuICAgICAgOiBqb2luKFxuICAgICAgICAgIGNvbmZpZy5yb290LFxuICAgICAgICAgIGpvYi5uYW1lLmVuZHNXaXRoKCcuanMnKSB8fCBqb2IubmFtZS5lbmRzV2l0aCgnLm1qcycpXG4gICAgICAgICAgICA/IGpvYi5uYW1lXG4gICAgICAgICAgICA6IGAke2pvYi5uYW1lfS4ke2NvbmZpZy5kZWZhdWx0RXh0ZW5zaW9ufWBcbiAgICAgICAgKTtcbiAgICBpZiAoaXNWYWxpZFBhdGgocGF0aCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGlmICghdGhyZWFkcy5icm93c2VyKSB7XG4gICAgICAgICAgY29uc3Qgc3RhdHMgPSBmcy5zdGF0U3luYyhwYXRoKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWRlcHRoXG4gICAgICAgICAgaWYgKCFzdGF0cy5pc0ZpbGUoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3ByZWZpeH0gcGF0aCBtaXNzaW5nOiAke3BhdGh9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZXJyb3JzLnB1c2goZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufTtcblxuY29uc3QgY3JvblZhbGlkYXRlV2l0aFNlY29uZHMgPSAoam9iLCBjb25maWcpID0+IHtcbiAgY29uc3QgcHJlc2V0ID1cbiAgICBqb2IuY3JvblZhbGlkYXRlICYmIGpvYi5jcm9uVmFsaWRhdGUucHJlc2V0XG4gICAgICA/IGpvYi5jcm9uVmFsaWRhdGUucHJlc2V0XG4gICAgICA6IGNvbmZpZy5jcm9uVmFsaWRhdGUgJiYgY29uZmlnLmNyb25WYWxpZGF0ZS5wcmVzZXRcbiAgICAgID8gY29uZmlnLmNyb25WYWxpZGF0ZS5wcmVzZXRcbiAgICAgIDogJ2RlZmF1bHQnO1xuICBjb25zdCBvdmVycmlkZSA9IHtcbiAgICAuLi4oY29uZmlnLmNyb25WYWxpZGF0ZSAmJiBjb25maWcuY3JvblZhbGlkYXRlLm92ZXJyaWRlXG4gICAgICA/IGNvbmZpZy5jcm9uVmFsaWRhdGUub3ZlcnJpZGVcbiAgICAgIDoge30pLFxuICAgIC4uLihqb2IuY3JvblZhbGlkYXRlICYmIGpvYi5jcm9uVmFsaWRhdGUub3ZlcnJpZGVcbiAgICAgID8gam9iLmNyb25WYWxpZGF0ZS5vdmVycmlkZVxuICAgICAgOiB7fSksXG4gICAgdXNlU2Vjb25kczogdHJ1ZVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgLi4uY29uZmlnLmNyb25WYWxpZGF0ZSxcbiAgICAuLi5qb2IuY3JvblZhbGlkYXRlLFxuICAgIHByZXNldCxcbiAgICBvdmVycmlkZVxuICB9O1xufTtcblxuY29uc3QgdmFsaWRhdGVDcm9uID0gKGpvYiwgcHJlZml4LCBjb25maWcpID0+IHtcbiAgY29uc3QgZXJyb3JzID0gW107XG5cbiAgaWYgKCFpc1NjaGVkdWxlKGpvYi5jcm9uKSkge1xuICAgIC8vIElmIGBoYXNTZWNvbmRzYCB3YXMgYHRydWVgIHRoZW4gc2V0IGBjcm9uVmFsaWRhdGVgIGFuZCBpbmhlcml0IGFueSBleGlzdGluZyBvcHRpb25zXG4gICAgY29uc3QgY3JvblZhbGlkYXRlID0gam9iLmhhc1NlY29uZHNcbiAgICAgID8gY3JvblZhbGlkYXRlV2l0aFNlY29uZHMoam9iLCBjb25maWcpXG4gICAgICA6IGNvbmZpZy5jcm9uVmFsaWRhdGU7XG5cbiAgICAvL1xuICAgIC8vIHZhbGlkYXRlIGNyb24gcGF0dGVyblxuICAgIC8vIChtdXN0IHN1cHBvcnQgcGF0dGVybnMgc3VjaCBhcyBgKiAqIEwgKiAqYCBhbmQgYDAgMC81IDE0ICogKiA/YCAoYW5kIGFsaWFzZXMgdG9vKVxuICAgIC8vXG4gICAgLy8gIDxodHRwczovL2dpdGh1Yi5jb20vQWlyZm9vb3gvY3Jvbi12YWxpZGF0ZS9pc3N1ZXMvNjc+XG4gICAgLy9cbiAgICBjb25zdCByZXN1bHQgPSBjcm9uKGpvYi5jcm9uLCBjcm9uVmFsaWRhdGUpO1xuXG4gICAgaWYgKCFyZXN1bHQuaXNWYWxpZCgpKSB7XG4gICAgICAvLyBOT1RFOiBpdCBpcyBhbHdheXMgdmFsaWRcbiAgICAgIC8vIGNvbnN0IHNjaGVkdWxlID0gbGF0ZXIuc2NoZWR1bGUoXG4gICAgICAvLyAgIGxhdGVyLnBhcnNlLmNyb24oXG4gICAgICAvLyAgICAgam9iLmNyb24sXG4gICAgICAvLyAgICAgYm9vbGVhbihcbiAgICAgIC8vICAgICAgIHR5cGVvZiBqb2IuaGFzU2Vjb25kcyA9PT0gJ3VuZGVmaW5lZCdcbiAgICAgIC8vICAgICAgICAgPyBjb25maWcuaGFzU2Vjb25kc1xuICAgICAgLy8gICAgICAgICA6IGpvYi5oYXNTZWNvbmRzXG4gICAgICAvLyAgICAgKVxuICAgICAgLy8gICApXG4gICAgICAvLyApO1xuICAgICAgLy8gaWYgKHNjaGVkdWxlLmlzVmFsaWQoKSkge1xuICAgICAgLy8gICBqb2IuaW50ZXJ2YWwgPSBzY2hlZHVsZTtcbiAgICAgIC8vIH0gLy8gZWxzZSB7XG4gICAgICAvLyAgIGVycm9ycy5wdXNoKFxuICAgICAgLy8gICAgIG5ldyBFcnJvcihcbiAgICAgIC8vICAgICAgIGAke3ByZWZpeH0gaGFkIGFuIGludmFsaWQgY3JvbiBzY2hlZHVsZSAoc2VlIDxodHRwczovL2Nyb250YWIuZ3VydT4gaWYgeW91IG5lZWQgaGVscClgXG4gICAgICAvLyAgICAgKVxuICAgICAgLy8gICApO1xuICAgICAgLy8gfVxuXG4gICAgICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgcmVzdWx0LmdldEVycm9yKCkpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgbmV3IEVycm9yKGAke3ByZWZpeH0gaGFkIGFuIGludmFsaWQgY3JvbiBwYXR0ZXJuOiAke21lc3NhZ2V9YClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufTtcblxuY29uc3QgdmFsaWRhdGVKb2JOYW1lID0gKGpvYiwgaSwgcmVzZXJ2ZWROYW1lcykgPT4ge1xuICBjb25zdCBlcnJvcnMgPSBbXTtcbiAgY29uc3QgbmFtZSA9IGdldE5hbWUoam9iKTtcblxuICBpZiAoIW5hbWUpIHtcbiAgICBlcnJvcnMucHVzaChuZXcgRXJyb3IoYEpvYiAjJHtpICsgMX0gaXMgbWlzc2luZyBhIG5hbWVgKSk7XG4gIH1cblxuICAvLyBUaHJvdyBhbiBlcnJvciBpZiBkdXBsaWNhdGUgam9iIG5hbWVzXG4gIGlmIChyZXNlcnZlZE5hbWVzLmluY2x1ZGVzKG5hbWUpKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBuZXcgRXJyb3IoYEpvYiAjJHtpICsgMX0gaGFzIGEgZHVwbGljYXRlIGpvYiBuYW1lIG9mICR7Z2V0TmFtZShqb2IpfWApXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59O1xuXG5jb25zdCB2YWxpZGF0ZSA9IChqb2IsIGksIG5hbWVzLCBjb25maWcpID0+IHtcbiAgY29uc3QgZXJyb3JzID0gdmFsaWRhdGVKb2JOYW1lKGpvYiwgaSwgbmFtZXMpO1xuXG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IGNvbWJpbmVFcnJvcnMoZXJyb3JzKTtcbiAgfVxuXG4gIC8vIFN1cHBvcnQgYSBzaW1wbGUgc3RyaW5nIHdoaWNoIHdlIHdpbGwgdHJhbnNmb3JtIHRvIGhhdmUgYSBwYXRoXG4gIGlmIChpc1NBTkIoam9iKSkge1xuICAgIHJldHVybiB2YWxpZGF0ZVN0cmluZ0pvYihqb2IsIGksIGNvbmZpZyk7XG4gIH1cblxuICAvLyBKb2IgaXMgYSBmdW5jdGlvblxuICBpZiAodHlwZW9mIGpvYiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiB2YWxpZGF0ZUZ1bmN0aW9uSm9iKGpvYiwgaSk7XG4gIH1cblxuICAvLyBVc2UgYSBwcmVmaXggZm9yIGVycm9yc1xuICBjb25zdCBwcmVmaXggPSBgSm9iICMke2kgKyAxfSBuYW1lZCBcIiR7am9iLm5hbWV9XCJgO1xuXG4gIGVycm9ycy5wdXNoKC4uLnZhbGlkYXRlSm9iUGF0aChqb2IsIHByZWZpeCwgY29uZmlnKSk7XG5cbiAgLy8gRG9uJ3QgYWxsb3cgdXNlcnMgdG8gbWl4IGludGVydmFsIEFORCBjcm9uXG4gIGlmICh0eXBlb2Ygam9iLmludGVydmFsICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygam9iLmNyb24gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBuZXcgRXJyb3IoYCR7cHJlZml4fSBjYW5ub3QgaGF2ZSBib3RoIGludGVydmFsIGFuZCBjcm9uIGNvbmZpZ3VyYXRpb25gKVxuICAgICk7XG4gIH1cblxuICAvLyBEb24ndCBhbGxvdyB1c2VycyB0byBtaXggdGltZW91dCBBTkQgZGF0ZVxuICBpZiAodHlwZW9mIGpvYi50aW1lb3V0ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygam9iLmRhdGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgZXJyb3JzLnB1c2gobmV3IEVycm9yKGAke3ByZWZpeH0gY2Fubm90IGhhdmUgYm90aCB0aW1lb3V0IGFuZCBkYXRlYCkpO1xuICB9XG5cbiAgY29uc3Qgam9iTmFtZUVycm9yID0gdmFsaWRhdGVSZXNlcnZlZEpvYk5hbWUoam9iLm5hbWUpO1xuICBpZiAoam9iTmFtZUVycm9yKSB7XG4gICAgZXJyb3JzLnB1c2goam9iTmFtZUVycm9yKTtcbiAgfVxuXG4gIC8vIFZhbGlkYXRlIGRhdGVcbiAgaWYgKHR5cGVvZiBqb2IuZGF0ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgIShqb2IuZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgZXJyb3JzLnB1c2gobmV3IEVycm9yKGAke3ByZWZpeH0gaGFkIGFuIGludmFsaWQgRGF0ZSBvZiAke2pvYi5kYXRlfWApKTtcbiAgfVxuXG4gIFsndGltZW91dCcsICdpbnRlcnZhbCddLmZvckVhY2goKHByb3ApID0+IHtcbiAgICBpZiAodHlwZW9mIGpvYltwcm9wXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHBhcnNlVmFsdWUoam9iW3Byb3BdKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICBjb21iaW5lRXJyb3JzKFtcbiAgICAgICAgICAgIG5ldyBFcnJvcihgJHtwcmVmaXh9IGhhZCBhbiBpbnZhbGlkICR7cHJvcH0gb2YgJHtqb2IudGltZW91dH1gKSxcbiAgICAgICAgICAgIGVyclxuICAgICAgICAgIF0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICAvLyBWYWxpZGF0ZSBoYXNTZWNvbmRzXG4gIGlmIChcbiAgICB0eXBlb2Ygam9iLmhhc1NlY29uZHMgIT09ICd1bmRlZmluZWQnICYmXG4gICAgdHlwZW9mIGpvYi5oYXNTZWNvbmRzICE9PSAnYm9vbGVhbidcbiAgKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBuZXcgRXJyb3IoXG4gICAgICAgIGAke3ByZWZpeH0gaGFkIGhhc1NlY29uZHMgdmFsdWUgb2YgJHtqb2IuaGFzU2Vjb25kc30gKGl0IG11c3QgYmUgYSBCb29sZWFuKWBcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLy8gVmFsaWRhdGUgY3JvblZhbGlkYXRlXG4gIGlmIChcbiAgICB0eXBlb2Ygam9iLmNyb25WYWxpZGF0ZSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2Ygam9iLmNyb25WYWxpZGF0ZSAhPT0gJ29iamVjdCdcbiAgKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBuZXcgRXJyb3IoXG4gICAgICAgIGAke3ByZWZpeH0gaGFkIGNyb25WYWxpZGF0ZSB2YWx1ZSBzZXQsIGJ1dCBpdCBtdXN0IGJlIGFuIE9iamVjdGBcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBqb2IuY3JvbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBlcnJvcnMucHVzaCguLi52YWxpZGF0ZUNyb24oam9iLCBwcmVmaXgsIGNvbmZpZykpO1xuICB9XG5cbiAgLy8gVmFsaWRhdGUgY2xvc2VXb3JrZXJBZnRlck1zXG4gIGlmIChcbiAgICB0eXBlb2Ygam9iLmNsb3NlV29ya2VyQWZ0ZXJNcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAoIU51bWJlci5pc0Zpbml0ZShqb2IuY2xvc2VXb3JrZXJBZnRlck1zKSB8fCBqb2IuY2xvc2VXb3JrZXJBZnRlck1zIDw9IDApXG4gICkge1xuICAgIGVycm9ycy5wdXNoKFxuICAgICAgbmV3IEVycm9yKFxuICAgICAgICBgJHtwcmVmaXh9IGhhZCBhbiBpbnZhbGlkIGNsb3NlV29ya2Vyc0FmdGVyTXMgdmFsdWUgb2YgJHtqb2IuY2xvc2VXb3JrZXJzQWZ0ZXJNc30gKGl0IG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyID4gMClgXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGlmIChpc1NBTkIoam9iLnRpbWV6b25lKSAmJiAhWydsb2NhbCcsICdzeXN0ZW0nXS5pbmNsdWRlcyhqb2IudGltZXpvbmUpKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIGAudG9Mb2NhbGVTdHJpbmcoKWAgd2lsbCB0aHJvdyBhIGBSYW5nZUVycm9yYCBpZiBgdGltZVpvbmVgIHN0cmluZ1xuICAgICAgLy8gaXMgYm9ndXMgb3Igbm90IHN1cHBvcnRlZCBieSB0aGUgZW52aXJvbm1lbnQuXG4gICAgICBuZXcgRGF0ZSgpLnRvTG9jYWxlU3RyaW5nKCdpYScsIHsgdGltZVpvbmU6IGpvYi50aW1lem9uZSB9KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBuZXcgRXJyb3IoXG4gICAgICAgICAgYCR7cHJlZml4fSBoYWQgYW4gaW52YWxpZCBvciB1bnN1cHBvcnRlZCB0aW1lem9uZSBzcGVjaWZpZWQ6ICR7am9iLnRpbWV6b25lfWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBjb21iaW5lRXJyb3JzKGVycm9ycyk7XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gdmFsaWRhdGU7XG5tb2R1bGUuZXhwb3J0cy5jcm9uVmFsaWRhdGVXaXRoU2Vjb25kcyA9IGNyb25WYWxpZGF0ZVdpdGhTZWNvbmRzO1xuIl19

4

package.json
{
"name": "bree",
"description": "The best job scheduler for Node.js and JavaScript with cron, dates, ms, later, and human-friendly support. Works in Node v10+ and browsers (thanks to bthreads polyfill), uses workers to spawn sandboxed processes, and supports async/await, retries, throttling, concurrency, and cancelable promises (graceful shutdown). Simple, fast, and lightweight. Made for Forward Email and Lad.",
"version": "6.3.1",
"version": "6.4.0",
"author": "Nick Baugh <niftylettuce@gmail.com> (http://niftylettuce.com/)",

@@ -31,3 +31,3 @@ "ava": {

"@babel/runtime": "^7.12.5",
"@breejs/later": "^4.0.2",
"@breejs/later": "^4.1.0",
"boolean": "^3.0.2",

@@ -34,0 +34,0 @@ "bthreads": "^0.5.1",

@@ -109,3 +109,3 @@ <h1 align="center">

Since we use [bthreads][], Node v10+ is supported. For versions prior to Node v11.7.0, a ponyfill is provided for [workers][] that uses `child_process`. For versions greater than or equal to Node v11.7.0, it uses [workers][] directly. You can also pass `--experimental-worker` flag for older versions to use `worker_threads` (instead of the `child_process` polyfill). See the official Node.js documentation for more information.
Since we use [bthreads][], Node v10+ is supported. For versions prior to Node v11.7.0, a polyfill is provided for [workers][] that uses `child_process`. For versions greater than or equal to Node v11.7.0, it uses [workers][] directly. You can also pass `--experimental-worker` flag for older versions to use `worker_threads` (instead of the `child_process` polyfill). See the official Node.js documentation for more information.

@@ -112,0 +112,0 @@ > **NOTE:** If you are using Node versions prior to Node v11.7.0, then in your worker files – you will need to use [bthreads][] instead of [workers][]. For example, you will `const thread = require('bthreads');` at the top of your file, instead of requiring `worker_threads`. This will also require you to install `bthreads` in your project with `npm install bthreads` or `yarn add bthreads`.

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc