New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

aurorajs

Package Overview
Dependencies
Maintainers
1
Versions
59
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aurorajs - npm Package Compare versions

Comparing version 0.1.46 to 0.1.47

25

index.js

@@ -69,6 +69,7 @@ "use strict";

var timezone = this.timezone;
var prepared_addresses = prepare_address(this.addresses);
var addressesoptions = this.addresses;
var prepared_addresses = prepare_address(addressesoptions);
var that = this;
return new Promise(function (resolve, reject) {
if (!that.addresses[0].serial) {
if (!addressesoptions[0].serial) {
console.log("checking versions");

@@ -97,5 +98,7 @@ that.checkAll().then(function (a) {

}).catch(function (err) {
console.log(err);
reject(err);
});
}).catch(function () {
}).catch(function (err) {
console.log(err);
exec(__dirname + "/aurora.sh -a \"" + prepared_addresses + "\" -t \"" + timezone + "\" -e \"" + exe + "\"").then(function (data) {

@@ -109,2 +112,3 @@ var apians = JSON.parse(data);

}).catch(function (err) {
console.log(err);
reject(err);

@@ -115,16 +119,15 @@ });

else {
var a_1 = that.addresses;
exec(__dirname + "/aurora.sh -a \"" + prepared_addresses + "\" -t \"" + timezone + "\" -e \"" + exe + "\"").then(function (data) {
var apians = JSON.parse(data);
for (var i = 0; i < apians.length; i++) {
for (var f = 0; f < a_1.length; f++) {
if (apians[i].uid === a_1[f].uuid) {
for (var f = 0; f < addressesoptions.length; f++) {
if (apians[i].uid === addressesoptions[f].uuid) {
if (apians[i].firmware)
apians[i].firmware = a_1[f].firmware;
apians[i].firmware = addressesoptions[f].firmware;
if (apians[i].dateprod)
apians[i].dateprod = a_1[f].dateprod;
apians[i].dateprod = addressesoptions[f].dateprod;
if (apians[i].serial)
apians[i].serial = a_1[f].serial;
apians[i].serial = addressesoptions[f].serial;
if (apians[i].address)
apians[i].address = a_1[f].address;
apians[i].address = addressesoptions[f].address;
apians[i].model = "Aurora";

@@ -225,2 +228,2 @@ apians[i].apiVersion = apiVersion;

//# sourceMappingURL=data:application/json;base64,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Q0FBQztnQkFFeEIsQ0FBQztZQUVMLENBQUMsQ0FBQyxDQUFDO1FBS1AsQ0FBQyxDQUFDLENBQUM7SUFHUCxDQUFDO0lBR0QseUJBQVcsR0FBWCxVQUFZLEdBQWlFO1FBQ3pFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDTixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO2dCQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztZQUNsRCxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUMvQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztRQUN2QyxDQUFDO0lBQ0wsQ0FBQztJQUNMLFVBQUM7QUFBRCxDQXBRQSxBQW9RQyxJQUFBO0FBQ0QsaUJBQVMsR0FBRyxDQUFBIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibGV0IGV4ZWMgPSByZXF1aXJlKFwicHJvbWlzZWQtZXhlY1wiKTtcbmltcG9ydCAqIGFzIFByb21pc2UgZnJvbSBcImJsdWViaXJkXCI7XG5pbXBvcnQgKiBhcyBPcyBmcm9tIFwib3NcIjtcbmltcG9ydCBsc3VzYmRldiA9IHJlcXVpcmUoXCJsc3VzYmRldlwiKTtcbmltcG9ydCBhc3luYyA9IHJlcXVpcmUoXCJhc3luY1wiKTtcblxubGV0IGFwaVZlcnNpb246IHN0cmluZyA9IHJlcXVpcmUoX19kaXJuYW1lICsgXCIvcGFja2FnZS5qc29uXCIpLmFwaVZlcnNpb247XG5cblxuZnVuY3Rpb24gY2hlY2tpbmcoY2hlY2thbnN3ZXIsIGNtZCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxJQWRkcmVzcz4oZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG5cblxuICAgICAgICBleGVjKGNtZCkudGhlbihmdW5jdGlvbihkYXRhKSB7IC8vIGZpcm13YXJlXG4gICAgICAgICAgICBsZXQgbGluZXMgPSBkYXRhLnNwbGl0KFwiXFxuXCIpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7IGkrKykge1xuXG4gICAgICAgICAgICAgICAgaWYgKGxpbmVzW2ldLnNwbGl0KFwiZXJpYWwgTnVtYmVyOlwiKS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrYW5zd2VyLnNlcmlhbCA9IGxpbmVzW2ldLnNwbGl0KFwiZXJpYWwgTnVtYmVyOiBcIilbMV07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGxpbmVzW2ldLnNwbGl0KFwiaXJtd2FyZTpcIikubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICBjaGVja2Fuc3dlci5maXJtd2FyZSA9IGxpbmVzW2ldLnNwbGl0KFwiaXJtd2FyZTogXCIpWzFdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChsaW5lc1tpXS5zcGxpdChcImFudWZhY3R1cmluZyBEYXRlOlwiKS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrYW5zd2VyLmRhdGVwcm9kID0gbGluZXNbaV0uc3BsaXQoXCJhbnVmYWN0dXJpbmcgRGF0ZTogXCIpWzFdO1xuICAgICAgICAgICAgICAgIH1cblxuXG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGNoZWNrYW5zd2VyLnNlcmlhbCAmJiBjaGVja2Fuc3dlci5zZXJpYWwgIT09IFwiXCIgJiYgY2hlY2thbnN3ZXIuZmlybXdhcmUgJiYgY2hlY2thbnN3ZXIuZmlybXdhcmUgIT09IFwiXCIgJiYgY2hlY2thbnN3ZXIuZGF0ZXByb2QgJiYgY2hlY2thbnN3ZXIuZGF0ZXByb2QgIT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKGNoZWNrYW5zd2VyKTtcblxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZWplY3QoXCJtYWxmb3JtZWQgYW5zd2VyXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAgIGNoZWNrYW5zd2VyLmZpcm13YXJlID0gZGF0YTtcblxuICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlcnIpIHtcbiAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICB9KTtcblxuXG5cbiAgICB9KTtcblxufVxuXG5cblxuZnVuY3Rpb24gcHJlcGFyZV9hZGRyZXNzKGFkZHJlc3NlczogSUFkZHJlc3NbXSkge1xuICAgIGxldCByZWFkZHIgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHJlc3Nlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICByZWFkZHJbaV0gPSB7IHV1aWQ6IGFkZHJlc3Nlc1tpXS51dWlkLCBkZXY6IGFkZHJlc3Nlc1tpXS5odWIsIGFkZHJlc3M6IGFkZHJlc3Nlc1tpXS5hZGRyZXNzIH07XG5cbiAgICB9XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlYWRkcik7XG59XG5cblxuXG5pbnRlcmZhY2UgSXN0cmluZyB7XG4gICAgdm9sdGFnZTogbnVtYmVyO1xuICAgIGN1cnJlbnQ6IG51bWJlcjtcbiAgICBwb3dlcjogbnVtYmVyO1xufVxuXG5cblxuaW50ZXJmYWNlIElBUEkge1xuXG4gICAgX2lkOiBzdHJpbmc7XG4gICAgdWlkOiBzdHJpbmc7XG4gICAgYm9vdElkOiBzdHJpbmc7XG4gICAgYm9vdFRpbWU6IG51bWJlcjtcbiAgICBhY3RpdmU6IGJvb2xlYW47XG4gICAgdXBkYXRlZEF0OiBudW1iZXI7XG4gICAgZGF0ZTogc3RyaW5nO1xuICAgIHN0cmluZ3M6IElzdHJpbmdbXTtcbiAgICBncmlkOiB7XG4gICAgICAgIHZvbHRhZ2U6IG51bWJlcjtcbiAgICAgICAgY3VycmVudDogbnVtYmVyO1xuICAgICAgICBwb3dlcjogbnVtYmVyO1xuICAgICAgICBoejogbnVtYmVyO1xuICAgIH07XG4gICAgRGNBY0N2ckVmZjogbnVtYmVyO1xuICAgIGludlRlbXA6IG51bWJlcjtcbiAgICBlbnZUZW1wOiBudW1iZXI7XG4gICAgZGFpbHlFbmVyZ3k6IG51bWJlcjtcbiAgICB3ZWVrbHlFbmVyZ3k6IG51bWJlcjtcbiAgICBsYXN0N0RheXNFbmVyZ3k6IG51bWJlcjtcbiAgICBtb250aGx5RW5lcmd5OiBudW1iZXI7XG4gICAgeWVhcmx5RW5lcmd5OiBudW1iZXI7XG4gICAgdG90YWxFbmVyZ3k6IG51bWJlcjtcbiAgICBwYXJ0aWFsRW5lcmd5OiBudW1iZXI7XG4gICAgYnVsa1Y6IG51bWJlcjtcbiAgICBidWxrTVY6IG51bWJlcjtcbiAgICBidWxrREM6IG51bWJlcjtcbiAgICBpc29SZXM6IG51bWJlcjtcbiAgICBncmlkVkRDOiBudW1iZXI7XG4gICAgZ3JpZEF2Z1Y6IG51bWJlcjtcbiAgICBncmlkRENIejogbnVtYmVyO1xuICAgIHBlYWtNYXg6IG51bWJlcjtcbiAgICBwZWFrRGF5OiBudW1iZXI7XG4gICAgcGluMVc6IG51bWJlcjtcbiAgICBwaW4yVzogbnVtYmVyO1xuXG4gICAgZmlybXdhcmU6IHN0cmluZztcbiAgICBkYXRlcHJvZDogc3RyaW5nO1xuICAgIHNlcmlhbDogc3RyaW5nO1xuICAgIGFkZHJlc3M6IG51bWJlcjtcbiAgICBtb2RlbDogc3RyaW5nO1xuICAgIGFwaVZlcnNpb246IHN0cmluZztcbn1cblxuXG5cbmludGVyZmFjZSBJQWRkcmVzcyB7XG4gICAgdXVpZDogc3RyaW5nO1xuICAgIGRldj86IHN0cmluZztcbiAgICBhZGRyZXNzOiBudW1iZXI7XG4gICAgaHViPzogc3RyaW5nO1xuICAgIGZpcm13YXJlPzogc3RyaW5nO1xuICAgIGRhdGVwcm9kPzogc3RyaW5nO1xuICAgIHNlcmlhbD86IHN0cmluZztcbiAgICBtb2RlbD86IHN0cmluZztcbiAgICBhcGlWZXJzaW9uPzogc3RyaW5nO1xufVxuXG5jbGFzcyBBSlMge1xuICAgIGFkZHJlc3NlczogSUFkZHJlc3NbXTtcbiAgICB0aW1lem9uZTogc3RyaW5nO1xuICAgIGV4ZWM6IHN0cmluZztcbiAgICBhcGlWZXJzaW9uOiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IoYWRkcmVzc2VzOiBJQWRkcmVzc1tdLCB0aW1lem9uZTogc3RyaW5nLCBleGU/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5hcGlWZXJzaW9uID0gYXBpVmVyc2lvbjtcbiAgICAgICAgdGhpcy5hZGRyZXNzZXMgPSBhZGRyZXNzZXM7XG4gICAgICAgIHRoaXMudGltZXpvbmUgPSB0aW1lem9uZTtcbiAgICAgICAgbGV0IGNtZDogc3RyaW5nO1xuICAgICAgICBpZiAoZXhlKSB7XG4gICAgICAgICAgICBjbWQgPSBleGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoT3MuYXJjaCgpID09PSBcImFybVwiKSB7XG4gICAgICAgICAgICAgICAgY21kID0gX19kaXJuYW1lICsgXCIvYmluL3Jhc3AyL2F1cm9yYS5iaW5cIjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoT3MuYXJjaCgpID09PSBcIng2NFwiKSB7XG4gICAgICAgICAgICAgICAgY21kID0gX19kaXJuYW1lICsgXCIvYmluL3g2NC9hdXJvcmEuYmluXCI7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKE9zLmFyY2goKSA9PT0gXCJpYTMyXCIpIHtcbiAgICAgICAgICAgICAgICBjbWQgPSBfX2Rpcm5hbWUgKyBcIi9iaW4vaWEzMi9hdXJvcmEuYmluXCI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNtZCA9IFwiYXVyb3JhXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4ZWMgPSBjbWQ7XG4gICAgfVxuXG4gICAgZGF0YSgpIHtcblxuICAgICAgICBsZXQgZXhlID0gdGhpcy5leGVjO1xuICAgICAgICBsZXQgdGltZXpvbmUgPSB0aGlzLnRpbWV6b25lO1xuXG4gICAgICAgIGxldCBwcmVwYXJlZF9hZGRyZXNzZXMgPSBwcmVwYXJlX2FkZHJlc3ModGhpcy5hZGRyZXNzZXMpO1xuXG4gICAgICAgIGxldCB0aGF0ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8SUFQSVtdPihmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcblxuICAgICAgICAgICAgaWYgKCF0aGF0LmFkZHJlc3Nlc1swXS5zZXJpYWwpIHtcblxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY2hlY2tpbmcgdmVyc2lvbnNcIik7XG5cbiAgICAgICAgICAgICAgICB0aGF0LmNoZWNrQWxsKCkudGhlbihmdW5jdGlvbihhKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhhdC5hZGRyZXNzZXMgPSBhO1xuXG4gICAgICAgICAgICAgICAgICAgIGV4ZWMoX19kaXJuYW1lICsgXCIvYXVyb3JhLnNoIC1hIFxcXCJcIiArIHByZXBhcmVkX2FkZHJlc3NlcyArIFwiXFxcIiAtdCBcXFwiXCIgKyB0aW1lem9uZSArIFwiXFxcIiAtZSBcXFwiXCIgKyBleGUgKyBcIlxcXCJcIikudGhlbihmdW5jdGlvbihkYXRhOiBzdHJpbmcpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGFwaWFuczogSUFQSVtdID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXBpYW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgZiA9IDA7IGYgPCBhLmxlbmd0aDsgZisrKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFwaWFuc1tpXS51aWQgPT09IGFbZl0udXVpZCkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXBpYW5zW2ldLmZpcm13YXJlKSBhcGlhbnNbaV0uZmlybXdhcmUgPSBhW2ZdLmZpcm13YXJlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFwaWFuc1tpXS5kYXRlcHJvZCkgYXBpYW5zW2ldLmRhdGVwcm9kID0gYVtmXS5kYXRlcHJvZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcGlhbnNbaV0uc2VyaWFsKSBhcGlhbnNbaV0uc2VyaWFsID0gYVtmXS5zZXJpYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXBpYW5zW2ldLmFkZHJlc3MpIGFwaWFuc1tpXS5hZGRyZXNzID0gYVtmXS5hZGRyZXNzO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGlhbnNbaV0ubW9kZWwgPSBcIkF1cm9yYVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBpYW5zW2ldLmFwaVZlcnNpb24gPSBhcGlWZXJzaW9uO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShhcGlhbnMpO1xuXG4gICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG5cbiAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbigpIHtcblxuICAgICAgICAgICAgICAgICAgICBleGVjKF9fZGlybmFtZSArIFwiL2F1cm9yYS5zaCAtYSBcXFwiXCIgKyBwcmVwYXJlZF9hZGRyZXNzZXMgKyBcIlxcXCIgLXQgXFxcIlwiICsgdGltZXpvbmUgKyBcIlxcXCIgLWUgXFxcIlwiICsgZXhlICsgXCJcXFwiXCIpLnRoZW4oZnVuY3Rpb24oZGF0YTogc3RyaW5nKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhcGlhbnM6IElBUElbXSA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFwaWFucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaWFuc1tpXS5tb2RlbCA9IFwiQXVyb3JhXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBpYW5zW2ldLmFwaVZlcnNpb24gPSBhcGlWZXJzaW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGFwaWFucyk7XG4gICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgfSk7XG5cblxuICAgICAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgICAgIGxldCBhID0gdGhhdC5hZGRyZXNzZXM7XG5cblxuXG4gICAgICAgICAgICAgICAgZXhlYyhfX2Rpcm5hbWUgKyBcIi9hdXJvcmEuc2ggLWEgXFxcIlwiICsgcHJlcGFyZWRfYWRkcmVzc2VzICsgXCJcXFwiIC10IFxcXCJcIiArIHRpbWV6b25lICsgXCJcXFwiIC1lIFxcXCJcIiArIGV4ZSArIFwiXFxcIlwiKS50aGVuKGZ1bmN0aW9uKGRhdGE6IHN0cmluZykge1xuXG4gICAgICAgICAgICAgICAgICAgIGxldCBhcGlhbnM6IElBUElbXSA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXBpYW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBmID0gMDsgZiA8IGEubGVuZ3RoOyBmKyspIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcGlhbnNbaV0udWlkID09PSBhW2ZdLnV1aWQpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXBpYW5zW2ldLmZpcm13YXJlKSBhcGlhbnNbaV0uZmlybXdhcmUgPSBhW2ZdLmZpcm13YXJlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXBpYW5zW2ldLmRhdGVwcm9kKSBhcGlhbnNbaV0uZGF0ZXByb2QgPSBhW2ZdLmRhdGVwcm9kO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXBpYW5zW2ldLnNlcmlhbCkgYXBpYW5zW2ldLnNlcmlhbCA9IGFbZl0uc2VyaWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXBpYW5zW2ldLmFkZHJlc3MpIGFwaWFuc1tpXS5hZGRyZXNzID0gYVtmXS5hZGRyZXNzO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaWFuc1tpXS5tb2RlbCA9IFwiQXVyb3JhXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaWFuc1tpXS5hcGlWZXJzaW9uID0gYXBpVmVyc2lvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoYXBpYW5zKTtcblxuICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgIH1cblxuICAgIGNoZWNrKHV1aWQ6IHN0cmluZykgeyAvLyBnZXQgbW9kZWwsIGZpcm13YXJlLCBwcm9kdWN0aW9uIGRhdGVcblxuXG4gICAgICAgIGlmICghdXVpZCkgdGhyb3cgRXJyb3IoXCJubyB1aWQgcHJvdmlkZWRcIik7XG5cblxuICAgICAgICBsZXQgZXhlID0gdGhpcy5leGVjO1xuXG4gICAgICAgIGxldCBhZGRyZXNzZXMgPSB0aGlzLmFkZHJlc3NlcztcblxuXG5cbiAgICAgICAgbGV0IGNoZWNrYW5zd2VyID0gPElBZGRyZXNzPnsgdXVpZDogdXVpZCB9O1xuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJQWRkcmVzcz4oZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG5cblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhZGRyZXNzZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoYWRkcmVzc2VzW2ldLnV1aWQgPT09IHV1aWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2thbnN3ZXIuaHViID0gYWRkcmVzc2VzW2ldLmh1YjtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2thbnN3ZXIuYWRkcmVzcyA9IGFkZHJlc3Nlc1tpXS5hZGRyZXNzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBsc3VzYmRldigpLnRoZW4oZnVuY3Rpb24oZGV2aXMpIHtcblxuXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZXZpcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGV2aXNbaV0uaHViID09PSBjaGVja2Fuc3dlci5odWIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrYW5zd2VyLmRldiA9IGRldmlzW2ldLmRldjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuXG5cbiAgICAgICAgICAgICAgICBsZXQgY21kID0gZXhlICsgXCIgLWEgXCIgKyBjaGVja2Fuc3dlci5hZGRyZXNzICsgXCIgLVkgMjAgLW4gLWYgLWcgXCIgKyBjaGVja2Fuc3dlci5kZXY7XG5cbiAgICAgICAgICAgICAgICBjaGVja2luZyhjaGVja2Fuc3dlciwgY21kKS50aGVuKGZ1bmN0aW9uKGEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShhKTtcbiAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tpbmcoY2hlY2thbnN3ZXIsIGNtZCkudGhlbihmdW5jdGlvbihhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGEpO1xuICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNraW5nKGNoZWNrYW5zd2VyLCBjbWQpLnRoZW4oZnVuY3Rpb24oYSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoYSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2luZyhjaGVja2Fuc3dlciwgY21kKS50aGVuKGZ1bmN0aW9uKGEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlcnIpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrYW5zd2VyLnNlcmlhbCA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrYW5zd2VyLmZpcm13YXJlID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2thbnN3ZXIuZGF0ZXByb2QgPSBcIlwiO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoY2hlY2thbnN3ZXIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cblxuICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcImVycnJycnIyXCIpO1xuXG4gICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG5cbiAgICAgICAgICAgIH0pO1xuXG5cbiAgICAgICAgfSk7XG5cbiAgICB9XG5cblxuICAgIGNoZWNrQWxsKCkge1xuXG4gICAgICAgIGxldCBhZGRyZXNzZXMgPSB0aGlzLmFkZHJlc3NlcztcblxuICAgICAgICBsZXQgdGhhdCA9IHRoaXM7XG5cbiAgICAgICAgbGV0IGFsbGFuc3dlcnM6IElBZGRyZXNzW10gPSBbXTtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8SUFkZHJlc3NbXT4oZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG5cblxuICAgICAgICAgICAgYXN5bmMuZWFjaChhZGRyZXNzZXMsIGZ1bmN0aW9uKGl0ZXJhdG9yLCBjYWxsYmFjaykge1xuXG4gICAgICAgICAgICAgICAgdGhhdC5jaGVjayhpdGVyYXRvci51dWlkKS50aGVuKGZ1bmN0aW9uKGNoa2Fuc3cpIHtcblxuICAgICAgICAgICAgICAgICAgICBhbGxhbnN3ZXJzLnB1c2goY2hrYW5zdyk7XG5cbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soKTtcblxuICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xuXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIH0sIGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gT25lIG9mIHRoZSBpdGVyYXRpb25zIHByb2R1Y2VkIGFuIGVycm9yLlxuICAgICAgICAgICAgICAgICAgICAvLyBBbGwgcHJvY2Vzc2luZyB3aWxsIG5vdyBzdG9wLlxuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoYWxsYW5zd2Vycyk7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH0pO1xuXG5cblxuXG4gICAgICAgIH0pO1xuXG5cbiAgICB9XG5cblxuICAgIHJlY29uZmlndXJlKG9wdDogeyBhZGRyZXNzZXM/OiBJQWRkcmVzc1tdLCB0aW1lem9uZT86IHN0cmluZywgZXhlYz86IHN0cmluZyB9KSB7XG4gICAgICAgIGlmIChvcHQpIHtcbiAgICAgICAgICAgIGlmIChvcHQuYWRkcmVzc2VzKSB0aGlzLmFkZHJlc3NlcyA9IG9wdC5hZGRyZXNzZXM7XG4gICAgICAgICAgICBpZiAob3B0LnRpbWV6b25lKSB0aGlzLnRpbWV6b25lID0gb3B0LnRpbWV6b25lO1xuICAgICAgICAgICAgaWYgKG9wdC5leGVjKSB0aGlzLmV4ZWMgPSBvcHQuZXhlYztcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydCA9IEFKU1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
//# sourceMappingURL=data:application/json;base64,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QUc7Z0JBQ1gsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFHTixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLENBQUM7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBRUosT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUV4QixDQUFDO1lBRUwsQ0FBQyxDQUFDLENBQUM7UUFLUCxDQUFDLENBQUMsQ0FBQztJQUdQLENBQUM7SUFHRCx5QkFBVyxHQUFYLFVBQVksR0FBaUU7UUFDekUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNOLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUM7Z0JBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1lBQ2xELEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQy9DLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7Z0JBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBQ0wsVUFBQztBQUFELENBclFBLEFBcVFDLElBQUE7QUFDRCxpQkFBUyxHQUFHLENBQUEiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJsZXQgZXhlYyA9IHJlcXVpcmUoXCJwcm9taXNlZC1leGVjXCIpO1xuaW1wb3J0ICogYXMgUHJvbWlzZSBmcm9tIFwiYmx1ZWJpcmRcIjtcbmltcG9ydCAqIGFzIE9zIGZyb20gXCJvc1wiO1xuaW1wb3J0IGxzdXNiZGV2ID0gcmVxdWlyZShcImxzdXNiZGV2XCIpO1xuaW1wb3J0IGFzeW5jID0gcmVxdWlyZShcImFzeW5jXCIpO1xuXG5sZXQgYXBpVmVyc2lvbjogc3RyaW5nID0gcmVxdWlyZShfX2Rpcm5hbWUgKyBcIi9wYWNrYWdlLmpzb25cIikuYXBpVmVyc2lvbjtcblxuXG5mdW5jdGlvbiBjaGVja2luZyhjaGVja2Fuc3dlciwgY21kKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPElBZGRyZXNzPihmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcblxuXG4gICAgICAgIGV4ZWMoY21kKS50aGVuKGZ1bmN0aW9uKGRhdGEpIHsgLy8gZmlybXdhcmVcbiAgICAgICAgICAgIGxldCBsaW5lcyA9IGRhdGEuc3BsaXQoXCJcXG5cIik7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgaSsrKSB7XG5cbiAgICAgICAgICAgICAgICBpZiAobGluZXNbaV0uc3BsaXQoXCJlcmlhbCBOdW1iZXI6XCIpLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2thbnN3ZXIuc2VyaWFsID0gbGluZXNbaV0uc3BsaXQoXCJlcmlhbCBOdW1iZXI6IFwiKVsxXTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAobGluZXNbaV0uc3BsaXQoXCJpcm13YXJlOlwiKS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrYW5zd2VyLmZpcm13YXJlID0gbGluZXNbaV0uc3BsaXQoXCJpcm13YXJlOiBcIilbMV07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGxpbmVzW2ldLnNwbGl0KFwiYW51ZmFjdHVyaW5nIERhdGU6XCIpLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2thbnN3ZXIuZGF0ZXByb2QgPSBsaW5lc1tpXS5zcGxpdChcImFudWZhY3R1cmluZyBEYXRlOiBcIilbMV07XG4gICAgICAgICAgICAgICAgfVxuXG5cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY2hlY2thbnN3ZXIuc2VyaWFsICYmIGNoZWNrYW5zd2VyLnNlcmlhbCAhPT0gXCJcIiAmJiBjaGVja2Fuc3dlci5maXJtd2FyZSAmJiBjaGVja2Fuc3dlci5maXJtd2FyZSAhPT0gXCJcIiAmJiBjaGVja2Fuc3dlci5kYXRlcHJvZCAmJiBjaGVja2Fuc3dlci5kYXRlcHJvZCAhPT0gXCJcIikge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoY2hlY2thbnN3ZXIpO1xuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlamVjdChcIm1hbGZvcm1lZCBhbnN3ZXJcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vICAgY2hlY2thbnN3ZXIuZmlybXdhcmUgPSBkYXRhO1xuXG4gICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIH0pO1xuXG5cblxuICAgIH0pO1xuXG59XG5cblxuXG5mdW5jdGlvbiBwcmVwYXJlX2FkZHJlc3MoYWRkcmVzc2VzOiBJQWRkcmVzc1tdKSB7XG4gICAgbGV0IHJlYWRkciA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkcmVzc2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlYWRkcltpXSA9IHsgdXVpZDogYWRkcmVzc2VzW2ldLnV1aWQsIGRldjogYWRkcmVzc2VzW2ldLmh1YiwgYWRkcmVzczogYWRkcmVzc2VzW2ldLmFkZHJlc3MgfTtcblxuICAgIH1cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVhZGRyKTtcbn1cblxuXG5cbmludGVyZmFjZSBJc3RyaW5nIHtcbiAgICB2b2x0YWdlOiBudW1iZXI7XG4gICAgY3VycmVudDogbnVtYmVyO1xuICAgIHBvd2VyOiBudW1iZXI7XG59XG5cblxuXG5pbnRlcmZhY2UgSUFQSSB7XG5cbiAgICBfaWQ6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgICBib290SWQ6IHN0cmluZztcbiAgICBib290VGltZTogbnVtYmVyO1xuICAgIGFjdGl2ZTogYm9vbGVhbjtcbiAgICB1cGRhdGVkQXQ6IG51bWJlcjtcbiAgICBkYXRlOiBzdHJpbmc7XG4gICAgc3RyaW5nczogSXN0cmluZ1tdO1xuICAgIGdyaWQ6IHtcbiAgICAgICAgdm9sdGFnZTogbnVtYmVyO1xuICAgICAgICBjdXJyZW50OiBudW1iZXI7XG4gICAgICAgIHBvd2VyOiBudW1iZXI7XG4gICAgICAgIGh6OiBudW1iZXI7XG4gICAgfTtcbiAgICBEY0FjQ3ZyRWZmOiBudW1iZXI7XG4gICAgaW52VGVtcDogbnVtYmVyO1xuICAgIGVudlRlbXA6IG51bWJlcjtcbiAgICBkYWlseUVuZXJneTogbnVtYmVyO1xuICAgIHdlZWtseUVuZXJneTogbnVtYmVyO1xuICAgIGxhc3Q3RGF5c0VuZXJneTogbnVtYmVyO1xuICAgIG1vbnRobHlFbmVyZ3k6IG51bWJlcjtcbiAgICB5ZWFybHlFbmVyZ3k6IG51bWJlcjtcbiAgICB0b3RhbEVuZXJneTogbnVtYmVyO1xuICAgIHBhcnRpYWxFbmVyZ3k6IG51bWJlcjtcbiAgICBidWxrVjogbnVtYmVyO1xuICAgIGJ1bGtNVjogbnVtYmVyO1xuICAgIGJ1bGtEQzogbnVtYmVyO1xuICAgIGlzb1JlczogbnVtYmVyO1xuICAgIGdyaWRWREM6IG51bWJlcjtcbiAgICBncmlkQXZnVjogbnVtYmVyO1xuICAgIGdyaWREQ0h6OiBudW1iZXI7XG4gICAgcGVha01heDogbnVtYmVyO1xuICAgIHBlYWtEYXk6IG51bWJlcjtcbiAgICBwaW4xVzogbnVtYmVyO1xuICAgIHBpbjJXOiBudW1iZXI7XG5cbiAgICBmaXJtd2FyZTogc3RyaW5nO1xuICAgIGRhdGVwcm9kOiBzdHJpbmc7XG4gICAgc2VyaWFsOiBzdHJpbmc7XG4gICAgYWRkcmVzczogbnVtYmVyO1xuICAgIG1vZGVsOiBzdHJpbmc7XG4gICAgYXBpVmVyc2lvbjogc3RyaW5nO1xufVxuXG5cblxuaW50ZXJmYWNlIElBZGRyZXNzIHtcbiAgICB1dWlkOiBzdHJpbmc7XG4gICAgZGV2Pzogc3RyaW5nO1xuICAgIGFkZHJlc3M6IG51bWJlcjtcbiAgICBodWI/OiBzdHJpbmc7XG4gICAgZmlybXdhcmU/OiBzdHJpbmc7XG4gICAgZGF0ZXByb2Q/OiBzdHJpbmc7XG4gICAgc2VyaWFsPzogc3RyaW5nO1xuICAgIG1vZGVsPzogc3RyaW5nO1xuICAgIGFwaVZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmNsYXNzIEFKUyB7XG4gICAgYWRkcmVzc2VzOiBJQWRkcmVzc1tdO1xuICAgIHRpbWV6b25lOiBzdHJpbmc7XG4gICAgZXhlYzogc3RyaW5nO1xuICAgIGFwaVZlcnNpb246IHN0cmluZztcbiAgICBjb25zdHJ1Y3RvcihhZGRyZXNzZXM6IElBZGRyZXNzW10sIHRpbWV6b25lOiBzdHJpbmcsIGV4ZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLmFwaVZlcnNpb24gPSBhcGlWZXJzaW9uO1xuICAgICAgICB0aGlzLmFkZHJlc3NlcyA9IGFkZHJlc3NlcztcbiAgICAgICAgdGhpcy50aW1lem9uZSA9IHRpbWV6b25lO1xuICAgICAgICBsZXQgY21kOiBzdHJpbmc7XG4gICAgICAgIGlmIChleGUpIHtcbiAgICAgICAgICAgIGNtZCA9IGV4ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChPcy5hcmNoKCkgPT09IFwiYXJtXCIpIHtcbiAgICAgICAgICAgICAgICBjbWQgPSBfX2Rpcm5hbWUgKyBcIi9iaW4vcmFzcDIvYXVyb3JhLmJpblwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChPcy5hcmNoKCkgPT09IFwieDY0XCIpIHtcbiAgICAgICAgICAgICAgICBjbWQgPSBfX2Rpcm5hbWUgKyBcIi9iaW4veDY0L2F1cm9yYS5iaW5cIjtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoT3MuYXJjaCgpID09PSBcImlhMzJcIikge1xuICAgICAgICAgICAgICAgIGNtZCA9IF9fZGlybmFtZSArIFwiL2Jpbi9pYTMyL2F1cm9yYS5iaW5cIjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY21kID0gXCJhdXJvcmFcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhlYyA9IGNtZDtcbiAgICB9XG5cbiAgICBkYXRhKCkge1xuXG4gICAgICAgIGxldCBleGUgPSB0aGlzLmV4ZWM7XG4gICAgICAgIGxldCB0aW1lem9uZSA9IHRoaXMudGltZXpvbmU7XG5cbiAgICAgICAgbGV0IGFkZHJlc3Nlc29wdGlvbnMgPSB0aGlzLmFkZHJlc3NlcztcblxuICAgICAgICBsZXQgcHJlcGFyZWRfYWRkcmVzc2VzID0gcHJlcGFyZV9hZGRyZXNzKGFkZHJlc3Nlc29wdGlvbnMpO1xuXG4gICAgICAgIGxldCB0aGF0ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8SUFQSVtdPihmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcblxuICAgICAgICAgICAgaWYgKCFhZGRyZXNzZXNvcHRpb25zWzBdLnNlcmlhbCkge1xuXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJjaGVja2luZyB2ZXJzaW9uc1wiKTtcblxuICAgICAgICAgICAgICAgIHRoYXQuY2hlY2tBbGwoKS50aGVuKGZ1bmN0aW9uKGEpIHtcblxuICAgICAgICAgICAgICAgICAgICB0aGF0LmFkZHJlc3NlcyA9IGE7XG5cbiAgICAgICAgICAgICAgICAgICAgZXhlYyhfX2Rpcm5hbWUgKyBcIi9hdXJvcmEuc2ggLWEgXFxcIlwiICsgcHJlcGFyZWRfYWRkcmVzc2VzICsgXCJcXFwiIC10IFxcXCJcIiArIHRpbWV6b25lICsgXCJcXFwiIC1lIFxcXCJcIiArIGV4ZSArIFwiXFxcIlwiKS50aGVuKGZ1bmN0aW9uKGRhdGE6IHN0cmluZykge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXBpYW5zOiBJQVBJW10gPSBKU09OLnBhcnNlKGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcGlhbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBmID0gMDsgZiA8IGEubGVuZ3RoOyBmKyspIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXBpYW5zW2ldLnVpZCA9PT0gYVtmXS51dWlkKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcGlhbnNbaV0uZmlybXdhcmUpIGFwaWFuc1tpXS5maXJtd2FyZSA9IGFbZl0uZmlybXdhcmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXBpYW5zW2ldLmRhdGVwcm9kKSBhcGlhbnNbaV0uZGF0ZXByb2QgPSBhW2ZdLmRhdGVwcm9kO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFwaWFuc1tpXS5zZXJpYWwpIGFwaWFuc1tpXS5zZXJpYWwgPSBhW2ZdLnNlcmlhbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcGlhbnNbaV0uYWRkcmVzcykgYXBpYW5zW2ldLmFkZHJlc3MgPSBhW2ZdLmFkZHJlc3M7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaWFuc1tpXS5tb2RlbCA9IFwiQXVyb3JhXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGlhbnNbaV0uYXBpVmVyc2lvbiA9IGFwaVZlcnNpb247XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGFwaWFucyk7XG5cbiAgICAgICAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cblxuICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgICAgICAgICAgICBleGVjKF9fZGlybmFtZSArIFwiL2F1cm9yYS5zaCAtYSBcXFwiXCIgKyBwcmVwYXJlZF9hZGRyZXNzZXMgKyBcIlxcXCIgLXQgXFxcIlwiICsgdGltZXpvbmUgKyBcIlxcXCIgLWUgXFxcIlwiICsgZXhlICsgXCJcXFwiXCIpLnRoZW4oZnVuY3Rpb24oZGF0YTogc3RyaW5nKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhcGlhbnM6IElBUElbXSA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFwaWFucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaWFuc1tpXS5tb2RlbCA9IFwiQXVyb3JhXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBpYW5zW2ldLmFwaVZlcnNpb24gPSBhcGlWZXJzaW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGFwaWFucyk7XG4gICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIH0pO1xuXG5cbiAgICAgICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgICAgICBleGVjKF9fZGlybmFtZSArIFwiL2F1cm9yYS5zaCAtYSBcXFwiXCIgKyBwcmVwYXJlZF9hZGRyZXNzZXMgKyBcIlxcXCIgLXQgXFxcIlwiICsgdGltZXpvbmUgKyBcIlxcXCIgLWUgXFxcIlwiICsgZXhlICsgXCJcXFwiXCIpLnRoZW4oZnVuY3Rpb24oZGF0YTogc3RyaW5nKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IGFwaWFuczogSUFQSVtdID0gSlNPTi5wYXJzZShkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcGlhbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGYgPSAwOyBmIDwgYWRkcmVzc2Vzb3B0aW9ucy5sZW5ndGg7IGYrKykge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFwaWFuc1tpXS51aWQgPT09IGFkZHJlc3Nlc29wdGlvbnNbZl0udXVpZCkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcGlhbnNbaV0uZmlybXdhcmUpIGFwaWFuc1tpXS5maXJtd2FyZSA9IGFkZHJlc3Nlc29wdGlvbnNbZl0uZmlybXdhcmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcGlhbnNbaV0uZGF0ZXByb2QpIGFwaWFuc1tpXS5kYXRlcHJvZCA9IGFkZHJlc3Nlc29wdGlvbnNbZl0uZGF0ZXByb2Q7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcGlhbnNbaV0uc2VyaWFsKSBhcGlhbnNbaV0uc2VyaWFsID0gYWRkcmVzc2Vzb3B0aW9uc1tmXS5zZXJpYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhcGlhbnNbaV0uYWRkcmVzcykgYXBpYW5zW2ldLmFkZHJlc3MgPSBhZGRyZXNzZXNvcHRpb25zW2ZdLmFkZHJlc3M7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBpYW5zW2ldLm1vZGVsID0gXCJBdXJvcmFcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBpYW5zW2ldLmFwaVZlcnNpb24gPSBhcGlWZXJzaW9uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShhcGlhbnMpO1xuXG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgY2hlY2sodXVpZDogc3RyaW5nKSB7IC8vIGdldCBtb2RlbCwgZmlybXdhcmUsIHByb2R1Y3Rpb24gZGF0ZVxuXG5cbiAgICAgICAgaWYgKCF1dWlkKSB0aHJvdyBFcnJvcihcIm5vIHVpZCBwcm92aWRlZFwiKTtcblxuXG4gICAgICAgIGxldCBleGUgPSB0aGlzLmV4ZWM7XG5cbiAgICAgICAgbGV0IGFkZHJlc3NlcyA9IHRoaXMuYWRkcmVzc2VzO1xuXG5cblxuICAgICAgICBsZXQgY2hlY2thbnN3ZXIgPSA8SUFkZHJlc3M+eyB1dWlkOiB1dWlkIH07XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPElBZGRyZXNzPihmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcblxuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHJlc3Nlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChhZGRyZXNzZXNbaV0udXVpZCA9PT0gdXVpZCkge1xuICAgICAgICAgICAgICAgICAgICBjaGVja2Fuc3dlci5odWIgPSBhZGRyZXNzZXNbaV0uaHViO1xuICAgICAgICAgICAgICAgICAgICBjaGVja2Fuc3dlci5hZGRyZXNzID0gYWRkcmVzc2VzW2ldLmFkZHJlc3M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIGxzdXNiZGV2KCkudGhlbihmdW5jdGlvbihkZXZpcykge1xuXG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRldmlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkZXZpc1tpXS5odWIgPT09IGNoZWNrYW5zd2VyLmh1Yikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2thbnN3ZXIuZGV2ID0gZGV2aXNbaV0uZGV2O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG5cblxuICAgICAgICAgICAgICAgIGxldCBjbWQgPSBleGUgKyBcIiAtYSBcIiArIGNoZWNrYW5zd2VyLmFkZHJlc3MgKyBcIiAtWSAyMCAtbiAtZiAtZyBcIiArIGNoZWNrYW5zd2VyLmRldjtcblxuICAgICAgICAgICAgICAgIGNoZWNraW5nKGNoZWNrYW5zd2VyLCBjbWQpLnRoZW4oZnVuY3Rpb24oYSkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGEpO1xuICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICBjaGVja2luZyhjaGVja2Fuc3dlciwgY21kKS50aGVuKGZ1bmN0aW9uKGEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoYSk7XG4gICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tpbmcoY2hlY2thbnN3ZXIsIGNtZCkudGhlbihmdW5jdGlvbihhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNraW5nKGNoZWNrYW5zd2VyLCBjbWQpLnRoZW4oZnVuY3Rpb24oYSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uKGVycikge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2thbnN3ZXIuc2VyaWFsID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2thbnN3ZXIuZmlybXdhcmUgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2Fuc3dlci5kYXRlcHJvZCA9IFwiXCI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShjaGVja2Fuc3dlcik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcblxuXG4gICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbihlcnIpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiZXJycnJycjJcIik7XG5cbiAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcblxuICAgICAgICAgICAgfSk7XG5cblxuICAgICAgICB9KTtcblxuICAgIH1cblxuXG4gICAgY2hlY2tBbGwoKSB7XG5cbiAgICAgICAgbGV0IGFkZHJlc3NlcyA9IHRoaXMuYWRkcmVzc2VzO1xuXG4gICAgICAgIGxldCB0aGF0ID0gdGhpcztcblxuICAgICAgICBsZXQgYWxsYW5zd2VyczogSUFkZHJlc3NbXSA9IFtdO1xuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJQWRkcmVzc1tdPihmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcblxuXG4gICAgICAgICAgICBhc3luYy5lYWNoKGFkZHJlc3NlcywgZnVuY3Rpb24oaXRlcmF0b3IsIGNhbGxiYWNrKSB7XG5cbiAgICAgICAgICAgICAgICB0aGF0LmNoZWNrKGl0ZXJhdG9yLnV1aWQpLnRoZW4oZnVuY3Rpb24oY2hrYW5zdykge1xuXG4gICAgICAgICAgICAgICAgICAgIGFsbGFuc3dlcnMucHVzaChjaGthbnN3KTtcblxuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xuXG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG5cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgfSwgZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICAvLyBPbmUgb2YgdGhlIGl0ZXJhdGlvbnMgcHJvZHVjZWQgYW4gZXJyb3IuXG4gICAgICAgICAgICAgICAgICAgIC8vIEFsbCBwcm9jZXNzaW5nIHdpbGwgbm93IHN0b3AuXG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShhbGxhbnN3ZXJzKTtcblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfSk7XG5cblxuXG5cbiAgICAgICAgfSk7XG5cblxuICAgIH1cblxuXG4gICAgcmVjb25maWd1cmUob3B0OiB7IGFkZHJlc3Nlcz86IElBZGRyZXNzW10sIHRpbWV6b25lPzogc3RyaW5nLCBleGVjPzogc3RyaW5nIH0pIHtcbiAgICAgICAgaWYgKG9wdCkge1xuICAgICAgICAgICAgaWYgKG9wdC5hZGRyZXNzZXMpIHRoaXMuYWRkcmVzc2VzID0gb3B0LmFkZHJlc3NlcztcbiAgICAgICAgICAgIGlmIChvcHQudGltZXpvbmUpIHRoaXMudGltZXpvbmUgPSBvcHQudGltZXpvbmU7XG4gICAgICAgICAgICBpZiAob3B0LmV4ZWMpIHRoaXMuZXhlYyA9IG9wdC5leGVjO1xuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0ID0gQUpTXG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

@@ -166,4 +166,6 @@ let exec = require("promised-exec");

let prepared_addresses = prepare_address(this.addresses);
let addressesoptions = this.addresses;
let prepared_addresses = prepare_address(addressesoptions);
let that = this;

@@ -173,3 +175,3 @@

if (!that.addresses[0].serial) {
if (!addressesoptions[0].serial) {

@@ -206,2 +208,4 @@ console.log("checking versions");

}).catch(function(err) {
console.log(err);
reject(err);

@@ -211,4 +215,4 @@ });

}).catch(function() {
}).catch(function(err) {
console.log(err);
exec(__dirname + "/aurora.sh -a \"" + prepared_addresses + "\" -t \"" + timezone + "\" -e \"" + exe + "\"").then(function(data: string) {

@@ -224,2 +228,3 @@

}).catch(function(err) {
console.log(err);
reject(err);

@@ -233,6 +238,2 @@ });

let a = that.addresses;
exec(__dirname + "/aurora.sh -a \"" + prepared_addresses + "\" -t \"" + timezone + "\" -e \"" + exe + "\"").then(function(data: string) {

@@ -242,10 +243,10 @@

for (let i = 0; i < apians.length; i++) {
for (let f = 0; f < a.length; f++) {
for (let f = 0; f < addressesoptions.length; f++) {
if (apians[i].uid === a[f].uuid) {
if (apians[i].uid === addressesoptions[f].uuid) {
if (apians[i].firmware) apians[i].firmware = a[f].firmware;
if (apians[i].dateprod) apians[i].dateprod = a[f].dateprod;
if (apians[i].serial) apians[i].serial = a[f].serial;
if (apians[i].address) apians[i].address = a[f].address;
if (apians[i].firmware) apians[i].firmware = addressesoptions[f].firmware;
if (apians[i].dateprod) apians[i].dateprod = addressesoptions[f].dateprod;
if (apians[i].serial) apians[i].serial = addressesoptions[f].serial;
if (apians[i].address) apians[i].address = addressesoptions[f].address;

@@ -252,0 +253,0 @@ apians[i].model = "Aurora";

{
"name": "aurorajs",
"version": "0.1.46",
"version": "0.1.47",
"apiVersion": "0.0.3",

@@ -5,0 +5,0 @@ "main": "index.js",

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