Socket
Socket
Sign inDemoInstall

contra

Package Overview
Dependencies
2
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.9.0 to 1.9.1

_each.js

7

bower.json
{
"name": "contra",
"description": "Asynchronous flow control with a functional taste to it",
"version": "1.9.0",
"version": "1.9.1",
"homepage": "https://github.com/bevacqua/contra",

@@ -31,8 +31,5 @@ "author": {

"node_modules",
"src",
"test",
"resources",
"index.js",
"shim.js",
"gulpfile.js"
"*.js"
],

@@ -39,0 +36,0 @@ "dependencies": {},

@@ -0,1 +1,5 @@

# 1.9.1 Requirements Met
- Moved modules out of `src` directory so that they can be required like `contra/emitter`
# 1.9.0 Modularity Paradise

@@ -2,0 +6,0 @@

(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.contra = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
module.exports = function atoa (a, n) { return Array.prototype.slice.call(a, n); }
module.exports = Infinity;
},{}],2:[function(require,module,exports){
var si = typeof setImmediate === 'function', tick;
if (si) {
tick = function (fn) { setImmediate(fn); };
} else {
tick = function (fn) { setTimeout(fn, 0); };
}
module.exports = 1;
module.exports = tick;
},{}],3:[function(require,module,exports){
module.exports = Infinity;
},{}],4:[function(require,module,exports){
module.exports = 1;
},{}],5:[function(require,module,exports){
'use strict';

@@ -33,3 +21,3 @@

},{"./_map":7}],6:[function(require,module,exports){
},{"./_map":5}],4:[function(require,module,exports){
'use strict';

@@ -60,3 +48,3 @@

},{"./_map":7,"./a":8}],7:[function(require,module,exports){
},{"./_map":5,"./a":6}],5:[function(require,module,exports){
'use strict';

@@ -92,3 +80,3 @@

},{"./CONCURRENTLY":3,"./SERIAL":4,"./a":8,"./concurrent":9,"./once":19}],8:[function(require,module,exports){
},{"./CONCURRENTLY":1,"./SERIAL":2,"./a":6,"./concurrent":7,"./once":19}],6:[function(require,module,exports){
'use strict';

@@ -98,3 +86,3 @@

},{}],9:[function(require,module,exports){
},{}],7:[function(require,module,exports){
'use strict';

@@ -129,3 +117,3 @@

},{"./CONCURRENTLY":3,"./a":8,"./debounce":12,"./errored":15,"./once":19,"./queue":20,"atoa":1}],10:[function(require,module,exports){
},{"./CONCURRENTLY":1,"./a":6,"./debounce":10,"./errored":13,"./once":19,"./queue":20,"atoa":16}],8:[function(require,module,exports){
'use strict';

@@ -145,3 +133,3 @@

},{"./concurrent":9,"./curry":11,"./each":13,"./emitter":14,"./filter":16,"./map":17,"./queue":20,"./series":21,"./waterfall":22}],11:[function(require,module,exports){
},{"./concurrent":7,"./curry":9,"./each":11,"./emitter":12,"./filter":14,"./map":15,"./queue":20,"./series":21,"./waterfall":22}],9:[function(require,module,exports){
'use strict';

@@ -160,3 +148,3 @@

},{"atoa":1}],12:[function(require,module,exports){
},{"atoa":16}],10:[function(require,module,exports){
'use strict';

@@ -173,3 +161,3 @@

},{"ticky":2}],13:[function(require,module,exports){
},{"ticky":17}],11:[function(require,module,exports){
'use strict';

@@ -179,3 +167,3 @@

},{"./_each":5}],14:[function(require,module,exports){
},{"./_each":3}],12:[function(require,module,exports){
'use strict';

@@ -236,3 +224,3 @@

},{"./debounce":12,"atoa":1}],15:[function(require,module,exports){
},{"./debounce":10,"atoa":16}],13:[function(require,module,exports){
'use strict';

@@ -247,3 +235,3 @@

},{"./debounce":12}],16:[function(require,module,exports){
},{"./debounce":10}],14:[function(require,module,exports){
'use strict';

@@ -253,3 +241,3 @@

},{"./_filter":6}],17:[function(require,module,exports){
},{"./_filter":4}],15:[function(require,module,exports){
'use strict';

@@ -259,3 +247,15 @@

},{"./_map":7}],18:[function(require,module,exports){
},{"./_map":5}],16:[function(require,module,exports){
module.exports = function atoa (a, n) { return Array.prototype.slice.call(a, n); }
},{}],17:[function(require,module,exports){
var si = typeof setImmediate === 'function', tick;
if (si) {
tick = function (fn) { setImmediate(fn); };
} else {
tick = function (fn) { setTimeout(fn, 0); };
}
module.exports = tick;
},{}],18:[function(require,module,exports){
'use strict';

@@ -323,3 +323,3 @@

},{"./a":8,"./debounce":12,"./emitter":14,"./once":19,"atoa":1}],21:[function(require,module,exports){
},{"./a":6,"./debounce":10,"./emitter":12,"./once":19,"atoa":16}],21:[function(require,module,exports){
'use strict';

@@ -334,3 +334,3 @@

},{"./SERIAL":4,"./concurrent":9}],22:[function(require,module,exports){
},{"./SERIAL":2,"./concurrent":7}],22:[function(require,module,exports){
'use strict';

@@ -359,4 +359,4 @@

},{"./debounce":12,"./errored":15,"./once":19,"atoa":1}]},{},[10])(10)
},{"./debounce":10,"./errored":13,"./once":19,"atoa":16}]},{},[8])(8)
});
//# sourceMappingURL=data:application/json;charset:utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvYXRvYS9hdG9hLmpzIiwibm9kZV9tb2R1bGVzL3RpY2t5L3RpY2t5LWJyb3dzZXIuanMiLCJzcmMvQ09OQ1VSUkVOVExZLmpzIiwic3JjL1NFUklBTC5qcyIsInNyYy9fZWFjaC5qcyIsInNyYy9fZmlsdGVyLmpzIiwic3JjL19tYXAuanMiLCJzcmMvYS5qcyIsInNyYy9jb25jdXJyZW50LmpzIiwic3JjL2NvbnRyYS5qcyIsInNyYy9jdXJyeS5qcyIsInNyYy9kZWJvdW5jZS5qcyIsInNyYy9lYWNoLmpzIiwic3JjL2VtaXR0ZXIuanMiLCJzcmMvZXJyb3JlZC5qcyIsInNyYy9maWx0ZXIuanMiLCJzcmMvbWFwLmpzIiwic3JjL25vb3AuanMiLCJzcmMvb25jZS5qcyIsInNyYy9xdWV1ZS5qcyIsInNyYy9zZXJpZXMuanMiLCJzcmMvd2F0ZXJmYWxsLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7QUFDQTs7QUNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1BBO0FBQ0E7O0FDREE7QUFDQTs7QUNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN4QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzdCQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVkE7QUFDQTtBQUNBO0FBQ0E7O0FDSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBhdG9hIChhLCBuKSB7IHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLCBuKTsgfVxuIiwidmFyIHNpID0gdHlwZW9mIHNldEltbWVkaWF0ZSA9PT0gJ2Z1bmN0aW9uJywgdGljaztcbmlmIChzaSkge1xuICB0aWNrID0gZnVuY3Rpb24gKGZuKSB7IHNldEltbWVkaWF0ZShmbik7IH07XG59IGVsc2Uge1xuICB0aWNrID0gZnVuY3Rpb24gKGZuKSB7IHNldFRpbWVvdXQoZm4sIDApOyB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRpY2s7IiwibW9kdWxlLmV4cG9ydHMgPSBJbmZpbml0eTtcbiIsIm1vZHVsZS5leHBvcnRzID0gMTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIF9tYXAgPSByZXF1aXJlKCcuL19tYXAnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBlYWNoIChjb25jdXJyZW5jeSkge1xuICByZXR1cm4gX21hcChjb25jdXJyZW5jeSwgdGhlbik7XG4gIGZ1bmN0aW9uIHRoZW4gKGNvbGxlY3Rpb24sIGRvbmUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gbWFzayAoZXJyKSB7XG4gICAgICBkb25lKGVycik7IC8vIG9ubHkgcmV0dXJuIHRoZSBlcnJvciwgbm8gbW9yZSBhcmd1bWVudHNcbiAgICB9O1xuICB9XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgYSA9IHJlcXVpcmUoJy4vYScpO1xudmFyIF9tYXAgPSByZXF1aXJlKCcuL19tYXAnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBmaWx0ZXIgKGNvbmN1cnJlbmN5KSB7XG4gIHJldHVybiBfbWFwKGNvbmN1cnJlbmN5LCB0aGVuKTtcbiAgZnVuY3Rpb24gdGhlbiAoY29sbGVjdGlvbiwgZG9uZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiBmaWx0ZXIgKGVyciwgcmVzdWx0cykge1xuICAgICAgZnVuY3Rpb24gZXhpc3RzIChpdGVtLCBrZXkpIHtcbiAgICAgICAgcmV0dXJuICEhcmVzdWx0c1trZXldO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gb2ZpbHRlciAoKSB7XG4gICAgICAgIHZhciBmaWx0ZXJlZCA9IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyhjb2xsZWN0aW9uKS5mb3JFYWNoKGZ1bmN0aW9uIG9tYXBwZXIgKGtleSkge1xuICAgICAgICAgIGlmIChleGlzdHMobnVsbCwga2V5KSkgeyBmaWx0ZXJlZFtrZXldID0gY29sbGVjdGlvbltrZXldOyB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZmlsdGVyZWQ7XG4gICAgICB9XG4gICAgICBpZiAoZXJyKSB7IGRvbmUoZXJyKTsgcmV0dXJuOyB9XG4gICAgICBkb25lKG51bGwsIGEocmVzdWx0cykgPyBjb2xsZWN0aW9uLmZpbHRlcihleGlzdHMpIDogb2ZpbHRlcigpKTtcbiAgICB9O1xuICB9XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgYSA9IHJlcXVpcmUoJy4vYScpO1xudmFyIG9uY2UgPSByZXF1aXJlKCcuL29uY2UnKTtcbnZhciBjb25jdXJyZW50ID0gcmVxdWlyZSgnLi9jb25jdXJyZW50Jyk7XG52YXIgQ09OQ1VSUkVOVExZID0gcmVxdWlyZSgnLi9DT05DVVJSRU5UTFknKTtcbnZhciBTRVJJQUwgPSByZXF1aXJlKCcuL1NFUklBTCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIF9tYXAgKGNhcCwgdGhlbiwgYXR0YWNoZWQpIHtcbiAgZnVuY3Rpb24gYXBpIChjb2xsZWN0aW9uLCBjb25jdXJyZW5jeSwgaXRlcmF0b3IsIGRvbmUpIHtcbiAgICB2YXIgYXJncyA9IGFyZ3VtZW50cztcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDIpIHsgaXRlcmF0b3IgPSBjb25jdXJyZW5jeTsgY29uY3VycmVuY3kgPSBDT05DVVJSRU5UTFk7IH1cbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDMgJiYgdHlwZW9mIGNvbmN1cnJlbmN5ICE9PSAnbnVtYmVyJykgeyBkb25lID0gaXRlcmF0b3I7IGl0ZXJhdG9yID0gY29uY3VycmVuY3k7IGNvbmN1cnJlbmN5ID0gQ09OQ1VSUkVOVExZOyB9XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhjb2xsZWN0aW9uKTtcbiAgICB2YXIgdGFza3MgPSBhKGNvbGxlY3Rpb24pID8gW10gOiB7fTtcbiAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24gaW5zZXJ0IChrZXkpIHtcbiAgICAgIHRhc2tzW2tleV0gPSBmdW5jdGlvbiBpdGVyYXRlIChjYikge1xuICAgICAgICBpZiAoaXRlcmF0b3IubGVuZ3RoID09PSAzKSB7XG4gICAgICAgICAgaXRlcmF0b3IoY29sbGVjdGlvbltrZXldLCBrZXksIGNiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVyYXRvcihjb2xsZWN0aW9uW2tleV0sIGNiKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KTtcbiAgICBjb25jdXJyZW50KHRhc2tzLCBjYXAgfHwgY29uY3VycmVuY3ksIHRoZW4gPyB0aGVuKGNvbGxlY3Rpb24sIG9uY2UoZG9uZSkpIDogZG9uZSk7XG4gIH1cbiAgaWYgKCFhdHRhY2hlZCkgeyBhcGkuc2VyaWVzID0gX21hcChTRVJJQUwsIHRoZW4sIHRydWUpOyB9XG4gIHJldHVybiBhcGk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGEgKG8pIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKSA9PT0gJ1tvYmplY3QgQXJyYXldJzsgfTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGF0b2EgPSByZXF1aXJlKCdhdG9hJyk7XG52YXIgYSA9IHJlcXVpcmUoJy4vYScpO1xudmFyIG9uY2UgPSByZXF1aXJlKCcuL29uY2UnKTtcbnZhciBxdWV1ZSA9IHJlcXVpcmUoJy4vcXVldWUnKTtcbnZhciBlcnJvcmVkID0gcmVxdWlyZSgnLi9lcnJvcmVkJyk7XG52YXIgZGVib3VuY2UgPSByZXF1aXJlKCcuL2RlYm91bmNlJyk7XG52YXIgQ09OQ1VSUkVOVExZID0gcmVxdWlyZSgnLi9DT05DVVJSRU5UTFknKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjb25jdXJyZW50ICh0YXNrcywgY29uY3VycmVuY3ksIGRvbmUpIHtcbiAgaWYgKHR5cGVvZiBjb25jdXJyZW5jeSA9PT0gJ2Z1bmN0aW9uJykgeyBkb25lID0gY29uY3VycmVuY3k7IGNvbmN1cnJlbmN5ID0gQ09OQ1VSUkVOVExZOyB9XG4gIHZhciBkID0gb25jZShkb25lKTtcbiAgdmFyIHEgPSBxdWV1ZSh3b3JrZXIsIGNvbmN1cnJlbmN5KTtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyh0YXNrcyk7XG4gIHZhciByZXN1bHRzID0gYSh0YXNrcykgPyBbXSA6IHt9O1xuICBxLnVuc2hpZnQoa2V5cyk7XG4gIHEub24oJ2RyYWluJywgZnVuY3Rpb24gY29tcGxldGVkICgpIHsgZChudWxsLCByZXN1bHRzKTsgfSk7XG4gIGZ1bmN0aW9uIHdvcmtlciAoa2V5LCBuZXh0KSB7XG4gICAgZGVib3VuY2UodGFza3Nba2V5XSwgW3Byb2NlZWRdKTtcbiAgICBmdW5jdGlvbiBwcm9jZWVkICgpIHtcbiAgICAgIHZhciBhcmdzID0gYXRvYShhcmd1bWVudHMpO1xuICAgICAgaWYgKGVycm9yZWQoYXJncywgZCkpIHsgcmV0dXJuOyB9XG4gICAgICByZXN1bHRzW2tleV0gPSBhcmdzLnNoaWZ0KCk7XG4gICAgICBuZXh0KCk7XG4gICAgfVxuICB9XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgY3Vycnk6IHJlcXVpcmUoJy4vY3VycnknKSxcbiAgY29uY3VycmVudDogcmVxdWlyZSgnLi9jb25jdXJyZW50JyksXG4gIHNlcmllczogcmVxdWlyZSgnLi9zZXJpZXMnKSxcbiAgd2F0ZXJmYWxsOiByZXF1aXJlKCcuL3dhdGVyZmFsbCcpLFxuICBlYWNoOiByZXF1aXJlKCcuL2VhY2gnKSxcbiAgbWFwOiByZXF1aXJlKCcuL21hcCcpLFxuICBmaWx0ZXI6IHJlcXVpcmUoJy4vZmlsdGVyJyksXG4gIHF1ZXVlOiByZXF1aXJlKCcuL3F1ZXVlJyksXG4gIGVtaXR0ZXI6IHJlcXVpcmUoJy4vZW1pdHRlcicpXG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgYXRvYSA9IHJlcXVpcmUoJ2F0b2EnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjdXJyeSAoKSB7XG4gIHZhciBhcmdzID0gYXRvYShhcmd1bWVudHMpO1xuICB2YXIgbWV0aG9kID0gYXJncy5zaGlmdCgpO1xuICByZXR1cm4gZnVuY3Rpb24gY3VycmllZCAoKSB7XG4gICAgdmFyIG1vcmUgPSBhdG9hKGFyZ3VtZW50cyk7XG4gICAgbWV0aG9kLmFwcGx5KG1ldGhvZCwgYXJncy5jb25jYXQobW9yZSkpO1xuICB9O1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHRpY2t5ID0gcmVxdWlyZSgndGlja3knKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBkZWJvdW5jZSAoZm4sIGFyZ3MsIGN0eCkge1xuICBpZiAoIWZuKSB7IHJldHVybjsgfVxuICB0aWNreShmdW5jdGlvbiBydW4gKCkge1xuICAgIGZuLmFwcGx5KGN0eCB8fCBudWxsLCBhcmdzIHx8IFtdKTtcbiAgfSk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2VhY2gnKSgpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgYXRvYSA9IHJlcXVpcmUoJ2F0b2EnKTtcbnZhciBkZWJvdW5jZSA9IHJlcXVpcmUoJy4vZGVib3VuY2UnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBlbWl0dGVyICh0aGluZywgb3B0aW9ucykge1xuICB2YXIgb3B0cyA9IG9wdGlvbnMgfHwge307XG4gIHZhciBldnQgPSB7fTtcbiAgaWYgKHRoaW5nID09PSB1bmRlZmluZWQpIHsgdGhpbmcgPSB7fTsgfVxuICB0aGluZy5vbiA9IGZ1bmN0aW9uICh0eXBlLCBmbikge1xuICAgIGlmICghZXZ0W3R5cGVdKSB7XG4gICAgICBldnRbdHlwZV0gPSBbZm5dO1xuICAgIH0gZWxzZSB7XG4gICAgICBldnRbdHlwZV0ucHVzaChmbik7XG4gICAgfVxuICAgIHJldHVybiB0aGluZztcbiAgfTtcbiAgdGhpbmcub25jZSA9IGZ1bmN0aW9uICh0eXBlLCBmbikge1xuICAgIGZuLl9vbmNlID0gdHJ1ZTsgLy8gdGhpbmcub2ZmKGZuKSBzdGlsbCB3b3JrcyFcbiAgICB0aGluZy5vbih0eXBlLCBmbik7XG4gICAgcmV0dXJuIHRoaW5nO1xuICB9O1xuICB0aGluZy5vZmYgPSBmdW5jdGlvbiAodHlwZSwgZm4pIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgaWYgKGMgPT09IDEpIHtcbiAgICAgIGRlbGV0ZSBldnRbdHlwZV07XG4gICAgfSBlbHNlIGlmIChjID09PSAwKSB7XG4gICAgICBldnQgPSB7fTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGV0ID0gZXZ0W3R5cGVdO1xuICAgICAgaWYgKCFldCkgeyByZXR1cm4gdGhpbmc7IH1cbiAgICAgIGV0LnNwbGljZShldC5pbmRleE9mKGZuKSwgMSk7XG4gICAgfVxuICAgIHJldHVybiB0aGluZztcbiAgfTtcbiAgdGhpbmcuZW1pdCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgYXJncyA9IGF0b2EoYXJndW1lbnRzKTtcbiAgICByZXR1cm4gdGhpbmcuZW1pdHRlclNuYXBzaG90KGFyZ3Muc2hpZnQoKSkuYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG4gIHRoaW5nLmVtaXR0ZXJTbmFwc2hvdCA9IGZ1bmN0aW9uICh0eXBlKSB7XG4gICAgdmFyIGV0ID0gKGV2dFt0eXBlXSB8fCBbXSkuc2xpY2UoMCk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBhcmdzID0gYXRvYShhcmd1bWVudHMpO1xuICAgICAgdmFyIGN0eCA9IHRoaXMgfHwgdGhpbmc7XG4gICAgICBpZiAodHlwZSA9PT0gJ2Vycm9yJyAmJiBvcHRzLnRocm93cyAhPT0gZmFsc2UgJiYgIWV0Lmxlbmd0aCkgeyB0aHJvdyBhcmdzLmxlbmd0aCA9PT0gMSA/IGFyZ3NbMF0gOiBhcmdzOyB9XG4gICAgICBldC5mb3JFYWNoKGZ1bmN0aW9uIGVtaXR0ZXIgKGxpc3Rlbikge1xuICAgICAgICBpZiAob3B0cy5hc3luYykgeyBkZWJvdW5jZShsaXN0ZW4sIGFyZ3MsIGN0eCk7IH0gZWxzZSB7IGxpc3Rlbi5hcHBseShjdHgsIGFyZ3MpOyB9XG4gICAgICAgIGlmIChsaXN0ZW4uX29uY2UpIHsgdGhpbmcub2ZmKHR5cGUsIGxpc3Rlbik7IH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHRoaW5nO1xuICAgIH07XG4gIH07XG4gIHJldHVybiB0aGluZztcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBkZWJvdW5jZSA9IHJlcXVpcmUoJy4vZGVib3VuY2UnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBlcnJvcmVkIChhcmdzLCBkb25lLCBkaXNwb3NhYmxlKSB7XG4gIHZhciBlcnIgPSBhcmdzLnNoaWZ0KCk7XG4gIGlmIChlcnIpIHsgaWYgKGRpc3Bvc2FibGUpIHsgZGlzcG9zYWJsZS5kaXNjYXJkKCk7IH0gZGVib3VuY2UoZG9uZSwgW2Vycl0pOyByZXR1cm4gdHJ1ZTsgfVxufTtcbiIsIid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19maWx0ZXInKSgpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX21hcCcpKCk7XG4iLCIndXNlIHN0cmljdCc7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbm9vcCAoKSB7fTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIG5vb3AgPSByZXF1aXJlKCcuL25vb3AnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBvbmNlIChmbikge1xuICB2YXIgZGlzcG9zZWQ7XG4gIGZ1bmN0aW9uIGRpc3Bvc2FibGUgKCkge1xuICAgIGlmIChkaXNwb3NlZCkgeyByZXR1cm47IH1cbiAgICBkaXNwb3NlZCA9IHRydWU7XG4gICAgKGZuIHx8IG5vb3ApLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7XG4gIH1cbiAgZGlzcG9zYWJsZS5kaXNjYXJkID0gZnVuY3Rpb24gKCkgeyBkaXNwb3NlZCA9IHRydWU7IH07XG4gIHJldHVybiBkaXNwb3NhYmxlO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGF0b2EgPSByZXF1aXJlKCdhdG9hJyk7XG52YXIgYSA9IHJlcXVpcmUoJy4vYScpO1xudmFyIG9uY2UgPSByZXF1aXJlKCcuL29uY2UnKTtcbnZhciBlbWl0dGVyID0gcmVxdWlyZSgnLi9lbWl0dGVyJyk7XG52YXIgZGVib3VuY2UgPSByZXF1aXJlKCcuL2RlYm91bmNlJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcXVldWUgKHdvcmtlciwgY29uY3VycmVuY3kpIHtcbiAgdmFyIHEgPSBbXSwgbG9hZCA9IDAsIG1heCA9IGNvbmN1cnJlbmN5IHx8IDEsIHBhdXNlZDtcbiAgdmFyIHFxID0gZW1pdHRlcih7XG4gICAgcHVzaDogbWFuaXB1bGF0ZS5iaW5kKG51bGwsICdwdXNoJyksXG4gICAgdW5zaGlmdDogbWFuaXB1bGF0ZS5iaW5kKG51bGwsICd1bnNoaWZ0JyksXG4gICAgcGF1c2U6IGZ1bmN0aW9uIHBhdXNlICgpIHsgcGF1c2VkID0gdHJ1ZTsgfSxcbiAgICByZXN1bWU6IGZ1bmN0aW9uIHJlc3VtZSAoKSB7IHBhdXNlZCA9IGZhbHNlOyBkZWJvdW5jZShsYWJvcik7IH0sXG4gICAgcGVuZGluZzogcVxuICB9KTtcbiAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiAhT2JqZWN0LmRlZmluZVByb3BlcnR5UGFydGlhbCkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShxcSwgJ2xlbmd0aCcsIHsgZ2V0OiBmdW5jdGlvbiBnZXR0ZXIgKCkgeyByZXR1cm4gcS5sZW5ndGg7IH0gfSk7XG4gIH1cbiAgZnVuY3Rpb24gbWFuaXB1bGF0ZSAoaG93LCB0YXNrLCBkb25lKSB7XG4gICAgdmFyIHRhc2tzID0gYSh0YXNrKSA/IHRhc2sgOiBbdGFza107XG4gICAgdGFza3MuZm9yRWFjaChmdW5jdGlvbiBpbnNlcnQgKHQpIHsgcVtob3ddKHsgdDogdCwgZG9uZTogZG9uZSB9KTsgfSk7XG4gICAgZGVib3VuY2UobGFib3IpO1xuICB9XG4gIGZ1bmN0aW9uIGxhYm9yICgpIHtcbiAgICBpZiAocGF1c2VkIHx8IGxvYWQgPj0gbWF4KSB7IHJldHVybjsgfVxuICAgIGlmICghcS5sZW5ndGgpIHsgaWYgKGxvYWQgPT09IDApIHsgcXEuZW1pdCgnZHJhaW4nKTsgfSByZXR1cm47IH1cbiAgICBsb2FkKys7XG4gICAgdmFyIGpvYiA9IHEucG9wKCk7XG4gICAgd29ya2VyKGpvYi50LCBvbmNlKGNvbXBsZXRlLmJpbmQobnVsbCwgam9iKSkpO1xuICAgIGRlYm91bmNlKGxhYm9yKTtcbiAgfVxuICBmdW5jdGlvbiBjb21wbGV0ZSAoam9iKSB7XG4gICAgbG9hZC0tO1xuICAgIGRlYm91bmNlKGpvYi5kb25lLCBhdG9hKGFyZ3VtZW50cywgMSkpO1xuICAgIGRlYm91bmNlKGxhYm9yKTtcbiAgfVxuICByZXR1cm4gcXE7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgY29uY3VycmVudCA9IHJlcXVpcmUoJy4vY29uY3VycmVudCcpO1xudmFyIFNFUklBTCA9IHJlcXVpcmUoJy4vU0VSSUFMJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gc2VyaWVzICh0YXNrcywgZG9uZSkge1xuICBjb25jdXJyZW50KHRhc2tzLCBTRVJJQUwsIGRvbmUpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGF0b2EgPSByZXF1aXJlKCdhdG9hJyk7XG52YXIgb25jZSA9IHJlcXVpcmUoJy4vb25jZScpO1xudmFyIGVycm9yZWQgPSByZXF1aXJlKCcuL2Vycm9yZWQnKTtcbnZhciBkZWJvdW5jZSA9IHJlcXVpcmUoJy4vZGVib3VuY2UnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB3YXRlcmZhbGwgKHN0ZXBzLCBkb25lKSB7XG4gIHZhciBkID0gb25jZShkb25lKTtcbiAgZnVuY3Rpb24gbmV4dCAoKSB7XG4gICAgdmFyIGFyZ3MgPSBhdG9hKGFyZ3VtZW50cyk7XG4gICAgdmFyIHN0ZXAgPSBzdGVwcy5zaGlmdCgpO1xuICAgIGlmIChzdGVwKSB7XG4gICAgICBpZiAoZXJyb3JlZChhcmdzLCBkKSkgeyByZXR1cm47IH1cbiAgICAgIGFyZ3MucHVzaChvbmNlKG5leHQpKTtcbiAgICAgIGRlYm91bmNlKHN0ZXAsIGFyZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWJvdW5jZShkLCBhcmd1bWVudHMpO1xuICAgIH1cbiAgfVxuICBuZXh0KCk7XG59O1xuIl19
//# sourceMappingURL=data:application/json;charset:utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJDT05DVVJSRU5UTFkuanMiLCJTRVJJQUwuanMiLCJfZWFjaC5qcyIsIl9maWx0ZXIuanMiLCJfbWFwLmpzIiwiYS5qcyIsImNvbmN1cnJlbnQuanMiLCJjb250cmEuanMiLCJjdXJyeS5qcyIsImRlYm91bmNlLmpzIiwiZWFjaC5qcyIsImVtaXR0ZXIuanMiLCJlcnJvcmVkLmpzIiwiZmlsdGVyLmpzIiwibWFwLmpzIiwibm9kZV9tb2R1bGVzL2F0b2EvYXRvYS5qcyIsIm5vZGVfbW9kdWxlcy90aWNreS90aWNreS1icm93c2VyLmpzIiwibm9vcC5qcyIsIm9uY2UuanMiLCJxdWV1ZS5qcyIsInNlcmllcy5qcyIsIndhdGVyZmFsbC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBO0FBQ0E7O0FDREE7QUFDQTs7QUNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN4QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzdCQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDVkE7QUFDQTtBQUNBO0FBQ0E7O0FDSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBOztBQ0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7O0FDSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDeENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsIm1vZHVsZS5leHBvcnRzID0gSW5maW5pdHk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IDE7XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBfbWFwID0gcmVxdWlyZSgnLi9fbWFwJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZWFjaCAoY29uY3VycmVuY3kpIHtcbiAgcmV0dXJuIF9tYXAoY29uY3VycmVuY3ksIHRoZW4pO1xuICBmdW5jdGlvbiB0aGVuIChjb2xsZWN0aW9uLCBkb25lKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIG1hc2sgKGVycikge1xuICAgICAgZG9uZShlcnIpOyAvLyBvbmx5IHJldHVybiB0aGUgZXJyb3IsIG5vIG1vcmUgYXJndW1lbnRzXG4gICAgfTtcbiAgfVxufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGEgPSByZXF1aXJlKCcuL2EnKTtcbnZhciBfbWFwID0gcmVxdWlyZSgnLi9fbWFwJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZmlsdGVyIChjb25jdXJyZW5jeSkge1xuICByZXR1cm4gX21hcChjb25jdXJyZW5jeSwgdGhlbik7XG4gIGZ1bmN0aW9uIHRoZW4gKGNvbGxlY3Rpb24sIGRvbmUpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gZmlsdGVyIChlcnIsIHJlc3VsdHMpIHtcbiAgICAgIGZ1bmN0aW9uIGV4aXN0cyAoaXRlbSwga2V5KSB7XG4gICAgICAgIHJldHVybiAhIXJlc3VsdHNba2V5XTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIG9maWx0ZXIgKCkge1xuICAgICAgICB2YXIgZmlsdGVyZWQgPSB7fTtcbiAgICAgICAgT2JqZWN0LmtleXMoY29sbGVjdGlvbikuZm9yRWFjaChmdW5jdGlvbiBvbWFwcGVyIChrZXkpIHtcbiAgICAgICAgICBpZiAoZXhpc3RzKG51bGwsIGtleSkpIHsgZmlsdGVyZWRba2V5XSA9IGNvbGxlY3Rpb25ba2V5XTsgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGZpbHRlcmVkO1xuICAgICAgfVxuICAgICAgaWYgKGVycikgeyBkb25lKGVycik7IHJldHVybjsgfVxuICAgICAgZG9uZShudWxsLCBhKHJlc3VsdHMpID8gY29sbGVjdGlvbi5maWx0ZXIoZXhpc3RzKSA6IG9maWx0ZXIoKSk7XG4gICAgfTtcbiAgfVxufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGEgPSByZXF1aXJlKCcuL2EnKTtcbnZhciBvbmNlID0gcmVxdWlyZSgnLi9vbmNlJyk7XG52YXIgY29uY3VycmVudCA9IHJlcXVpcmUoJy4vY29uY3VycmVudCcpO1xudmFyIENPTkNVUlJFTlRMWSA9IHJlcXVpcmUoJy4vQ09OQ1VSUkVOVExZJyk7XG52YXIgU0VSSUFMID0gcmVxdWlyZSgnLi9TRVJJQUwnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBfbWFwIChjYXAsIHRoZW4sIGF0dGFjaGVkKSB7XG4gIGZ1bmN0aW9uIGFwaSAoY29sbGVjdGlvbiwgY29uY3VycmVuY3ksIGl0ZXJhdG9yLCBkb25lKSB7XG4gICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAyKSB7IGl0ZXJhdG9yID0gY29uY3VycmVuY3k7IGNvbmN1cnJlbmN5ID0gQ09OQ1VSUkVOVExZOyB9XG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAzICYmIHR5cGVvZiBjb25jdXJyZW5jeSAhPT0gJ251bWJlcicpIHsgZG9uZSA9IGl0ZXJhdG9yOyBpdGVyYXRvciA9IGNvbmN1cnJlbmN5OyBjb25jdXJyZW5jeSA9IENPTkNVUlJFTlRMWTsgfVxuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoY29sbGVjdGlvbik7XG4gICAgdmFyIHRhc2tzID0gYShjb2xsZWN0aW9uKSA/IFtdIDoge307XG4gICAga2V5cy5mb3JFYWNoKGZ1bmN0aW9uIGluc2VydCAoa2V5KSB7XG4gICAgICB0YXNrc1trZXldID0gZnVuY3Rpb24gaXRlcmF0ZSAoY2IpIHtcbiAgICAgICAgaWYgKGl0ZXJhdG9yLmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgIGl0ZXJhdG9yKGNvbGxlY3Rpb25ba2V5XSwga2V5LCBjYik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlcmF0b3IoY29sbGVjdGlvbltrZXldLCBjYik7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSk7XG4gICAgY29uY3VycmVudCh0YXNrcywgY2FwIHx8IGNvbmN1cnJlbmN5LCB0aGVuID8gdGhlbihjb2xsZWN0aW9uLCBvbmNlKGRvbmUpKSA6IGRvbmUpO1xuICB9XG4gIGlmICghYXR0YWNoZWQpIHsgYXBpLnNlcmllcyA9IF9tYXAoU0VSSUFMLCB0aGVuLCB0cnVlKTsgfVxuICByZXR1cm4gYXBpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBhIChvKSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykgPT09ICdbb2JqZWN0IEFycmF5XSc7IH07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBhdG9hID0gcmVxdWlyZSgnYXRvYScpO1xudmFyIGEgPSByZXF1aXJlKCcuL2EnKTtcbnZhciBvbmNlID0gcmVxdWlyZSgnLi9vbmNlJyk7XG52YXIgcXVldWUgPSByZXF1aXJlKCcuL3F1ZXVlJyk7XG52YXIgZXJyb3JlZCA9IHJlcXVpcmUoJy4vZXJyb3JlZCcpO1xudmFyIGRlYm91bmNlID0gcmVxdWlyZSgnLi9kZWJvdW5jZScpO1xudmFyIENPTkNVUlJFTlRMWSA9IHJlcXVpcmUoJy4vQ09OQ1VSUkVOVExZJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY29uY3VycmVudCAodGFza3MsIGNvbmN1cnJlbmN5LCBkb25lKSB7XG4gIGlmICh0eXBlb2YgY29uY3VycmVuY3kgPT09ICdmdW5jdGlvbicpIHsgZG9uZSA9IGNvbmN1cnJlbmN5OyBjb25jdXJyZW5jeSA9IENPTkNVUlJFTlRMWTsgfVxuICB2YXIgZCA9IG9uY2UoZG9uZSk7XG4gIHZhciBxID0gcXVldWUod29ya2VyLCBjb25jdXJyZW5jeSk7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXModGFza3MpO1xuICB2YXIgcmVzdWx0cyA9IGEodGFza3MpID8gW10gOiB7fTtcbiAgcS51bnNoaWZ0KGtleXMpO1xuICBxLm9uKCdkcmFpbicsIGZ1bmN0aW9uIGNvbXBsZXRlZCAoKSB7IGQobnVsbCwgcmVzdWx0cyk7IH0pO1xuICBmdW5jdGlvbiB3b3JrZXIgKGtleSwgbmV4dCkge1xuICAgIGRlYm91bmNlKHRhc2tzW2tleV0sIFtwcm9jZWVkXSk7XG4gICAgZnVuY3Rpb24gcHJvY2VlZCAoKSB7XG4gICAgICB2YXIgYXJncyA9IGF0b2EoYXJndW1lbnRzKTtcbiAgICAgIGlmIChlcnJvcmVkKGFyZ3MsIGQpKSB7IHJldHVybjsgfVxuICAgICAgcmVzdWx0c1trZXldID0gYXJncy5zaGlmdCgpO1xuICAgICAgbmV4dCgpO1xuICAgIH1cbiAgfVxufTtcbiIsIid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGN1cnJ5OiByZXF1aXJlKCcuL2N1cnJ5JyksXG4gIGNvbmN1cnJlbnQ6IHJlcXVpcmUoJy4vY29uY3VycmVudCcpLFxuICBzZXJpZXM6IHJlcXVpcmUoJy4vc2VyaWVzJyksXG4gIHdhdGVyZmFsbDogcmVxdWlyZSgnLi93YXRlcmZhbGwnKSxcbiAgZWFjaDogcmVxdWlyZSgnLi9lYWNoJyksXG4gIG1hcDogcmVxdWlyZSgnLi9tYXAnKSxcbiAgZmlsdGVyOiByZXF1aXJlKCcuL2ZpbHRlcicpLFxuICBxdWV1ZTogcmVxdWlyZSgnLi9xdWV1ZScpLFxuICBlbWl0dGVyOiByZXF1aXJlKCcuL2VtaXR0ZXInKVxufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGF0b2EgPSByZXF1aXJlKCdhdG9hJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY3VycnkgKCkge1xuICB2YXIgYXJncyA9IGF0b2EoYXJndW1lbnRzKTtcbiAgdmFyIG1ldGhvZCA9IGFyZ3Muc2hpZnQoKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIGN1cnJpZWQgKCkge1xuICAgIHZhciBtb3JlID0gYXRvYShhcmd1bWVudHMpO1xuICAgIG1ldGhvZC5hcHBseShtZXRob2QsIGFyZ3MuY29uY2F0KG1vcmUpKTtcbiAgfTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciB0aWNreSA9IHJlcXVpcmUoJ3RpY2t5Jyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGVib3VuY2UgKGZuLCBhcmdzLCBjdHgpIHtcbiAgaWYgKCFmbikgeyByZXR1cm47IH1cbiAgdGlja3koZnVuY3Rpb24gcnVuICgpIHtcbiAgICBmbi5hcHBseShjdHggfHwgbnVsbCwgYXJncyB8fCBbXSk7XG4gIH0pO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19lYWNoJykoKTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGF0b2EgPSByZXF1aXJlKCdhdG9hJyk7XG52YXIgZGVib3VuY2UgPSByZXF1aXJlKCcuL2RlYm91bmNlJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZW1pdHRlciAodGhpbmcsIG9wdGlvbnMpIHtcbiAgdmFyIG9wdHMgPSBvcHRpb25zIHx8IHt9O1xuICB2YXIgZXZ0ID0ge307XG4gIGlmICh0aGluZyA9PT0gdW5kZWZpbmVkKSB7IHRoaW5nID0ge307IH1cbiAgdGhpbmcub24gPSBmdW5jdGlvbiAodHlwZSwgZm4pIHtcbiAgICBpZiAoIWV2dFt0eXBlXSkge1xuICAgICAgZXZ0W3R5cGVdID0gW2ZuXTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXZ0W3R5cGVdLnB1c2goZm4pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpbmc7XG4gIH07XG4gIHRoaW5nLm9uY2UgPSBmdW5jdGlvbiAodHlwZSwgZm4pIHtcbiAgICBmbi5fb25jZSA9IHRydWU7IC8vIHRoaW5nLm9mZihmbikgc3RpbGwgd29ya3MhXG4gICAgdGhpbmcub24odHlwZSwgZm4pO1xuICAgIHJldHVybiB0aGluZztcbiAgfTtcbiAgdGhpbmcub2ZmID0gZnVuY3Rpb24gKHR5cGUsIGZuKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIGlmIChjID09PSAxKSB7XG4gICAgICBkZWxldGUgZXZ0W3R5cGVdO1xuICAgIH0gZWxzZSBpZiAoYyA9PT0gMCkge1xuICAgICAgZXZ0ID0ge307XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBldCA9IGV2dFt0eXBlXTtcbiAgICAgIGlmICghZXQpIHsgcmV0dXJuIHRoaW5nOyB9XG4gICAgICBldC5zcGxpY2UoZXQuaW5kZXhPZihmbiksIDEpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpbmc7XG4gIH07XG4gIHRoaW5nLmVtaXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGFyZ3MgPSBhdG9hKGFyZ3VtZW50cyk7XG4gICAgcmV0dXJuIHRoaW5nLmVtaXR0ZXJTbmFwc2hvdChhcmdzLnNoaWZ0KCkpLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICB9O1xuICB0aGluZy5lbWl0dGVyU25hcHNob3QgPSBmdW5jdGlvbiAodHlwZSkge1xuICAgIHZhciBldCA9IChldnRbdHlwZV0gfHwgW10pLnNsaWNlKDApO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgYXJncyA9IGF0b2EoYXJndW1lbnRzKTtcbiAgICAgIHZhciBjdHggPSB0aGlzIHx8IHRoaW5nO1xuICAgICAgaWYgKHR5cGUgPT09ICdlcnJvcicgJiYgb3B0cy50aHJvd3MgIT09IGZhbHNlICYmICFldC5sZW5ndGgpIHsgdGhyb3cgYXJncy5sZW5ndGggPT09IDEgPyBhcmdzWzBdIDogYXJnczsgfVxuICAgICAgZXQuZm9yRWFjaChmdW5jdGlvbiBlbWl0dGVyIChsaXN0ZW4pIHtcbiAgICAgICAgaWYgKG9wdHMuYXN5bmMpIHsgZGVib3VuY2UobGlzdGVuLCBhcmdzLCBjdHgpOyB9IGVsc2UgeyBsaXN0ZW4uYXBwbHkoY3R4LCBhcmdzKTsgfVxuICAgICAgICBpZiAobGlzdGVuLl9vbmNlKSB7IHRoaW5nLm9mZih0eXBlLCBsaXN0ZW4pOyB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB0aGluZztcbiAgICB9O1xuICB9O1xuICByZXR1cm4gdGhpbmc7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgZGVib3VuY2UgPSByZXF1aXJlKCcuL2RlYm91bmNlJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZXJyb3JlZCAoYXJncywgZG9uZSwgZGlzcG9zYWJsZSkge1xuICB2YXIgZXJyID0gYXJncy5zaGlmdCgpO1xuICBpZiAoZXJyKSB7IGlmIChkaXNwb3NhYmxlKSB7IGRpc3Bvc2FibGUuZGlzY2FyZCgpOyB9IGRlYm91bmNlKGRvbmUsIFtlcnJdKTsgcmV0dXJuIHRydWU7IH1cbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9fZmlsdGVyJykoKTtcbiIsIid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19tYXAnKSgpO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBhdG9hIChhLCBuKSB7IHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLCBuKTsgfVxuIiwidmFyIHNpID0gdHlwZW9mIHNldEltbWVkaWF0ZSA9PT0gJ2Z1bmN0aW9uJywgdGljaztcbmlmIChzaSkge1xuICB0aWNrID0gZnVuY3Rpb24gKGZuKSB7IHNldEltbWVkaWF0ZShmbik7IH07XG59IGVsc2Uge1xuICB0aWNrID0gZnVuY3Rpb24gKGZuKSB7IHNldFRpbWVvdXQoZm4sIDApOyB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRpY2s7IiwiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIG5vb3AgKCkge307XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBub29wID0gcmVxdWlyZSgnLi9ub29wJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gb25jZSAoZm4pIHtcbiAgdmFyIGRpc3Bvc2VkO1xuICBmdW5jdGlvbiBkaXNwb3NhYmxlICgpIHtcbiAgICBpZiAoZGlzcG9zZWQpIHsgcmV0dXJuOyB9XG4gICAgZGlzcG9zZWQgPSB0cnVlO1xuICAgIChmbiB8fCBub29wKS5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICB9XG4gIGRpc3Bvc2FibGUuZGlzY2FyZCA9IGZ1bmN0aW9uICgpIHsgZGlzcG9zZWQgPSB0cnVlOyB9O1xuICByZXR1cm4gZGlzcG9zYWJsZTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBhdG9hID0gcmVxdWlyZSgnYXRvYScpO1xudmFyIGEgPSByZXF1aXJlKCcuL2EnKTtcbnZhciBvbmNlID0gcmVxdWlyZSgnLi9vbmNlJyk7XG52YXIgZW1pdHRlciA9IHJlcXVpcmUoJy4vZW1pdHRlcicpO1xudmFyIGRlYm91bmNlID0gcmVxdWlyZSgnLi9kZWJvdW5jZScpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHF1ZXVlICh3b3JrZXIsIGNvbmN1cnJlbmN5KSB7XG4gIHZhciBxID0gW10sIGxvYWQgPSAwLCBtYXggPSBjb25jdXJyZW5jeSB8fCAxLCBwYXVzZWQ7XG4gIHZhciBxcSA9IGVtaXR0ZXIoe1xuICAgIHB1c2g6IG1hbmlwdWxhdGUuYmluZChudWxsLCAncHVzaCcpLFxuICAgIHVuc2hpZnQ6IG1hbmlwdWxhdGUuYmluZChudWxsLCAndW5zaGlmdCcpLFxuICAgIHBhdXNlOiBmdW5jdGlvbiBwYXVzZSAoKSB7IHBhdXNlZCA9IHRydWU7IH0sXG4gICAgcmVzdW1lOiBmdW5jdGlvbiByZXN1bWUgKCkgeyBwYXVzZWQgPSBmYWxzZTsgZGVib3VuY2UobGFib3IpOyB9LFxuICAgIHBlbmRpbmc6IHFcbiAgfSk7XG4gIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgIU9iamVjdC5kZWZpbmVQcm9wZXJ0eVBhcnRpYWwpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocXEsICdsZW5ndGgnLCB7IGdldDogZnVuY3Rpb24gZ2V0dGVyICgpIHsgcmV0dXJuIHEubGVuZ3RoOyB9IH0pO1xuICB9XG4gIGZ1bmN0aW9uIG1hbmlwdWxhdGUgKGhvdywgdGFzaywgZG9uZSkge1xuICAgIHZhciB0YXNrcyA9IGEodGFzaykgPyB0YXNrIDogW3Rhc2tdO1xuICAgIHRhc2tzLmZvckVhY2goZnVuY3Rpb24gaW5zZXJ0ICh0KSB7IHFbaG93XSh7IHQ6IHQsIGRvbmU6IGRvbmUgfSk7IH0pO1xuICAgIGRlYm91bmNlKGxhYm9yKTtcbiAgfVxuICBmdW5jdGlvbiBsYWJvciAoKSB7XG4gICAgaWYgKHBhdXNlZCB8fCBsb2FkID49IG1heCkgeyByZXR1cm47IH1cbiAgICBpZiAoIXEubGVuZ3RoKSB7IGlmIChsb2FkID09PSAwKSB7IHFxLmVtaXQoJ2RyYWluJyk7IH0gcmV0dXJuOyB9XG4gICAgbG9hZCsrO1xuICAgIHZhciBqb2IgPSBxLnBvcCgpO1xuICAgIHdvcmtlcihqb2IudCwgb25jZShjb21wbGV0ZS5iaW5kKG51bGwsIGpvYikpKTtcbiAgICBkZWJvdW5jZShsYWJvcik7XG4gIH1cbiAgZnVuY3Rpb24gY29tcGxldGUgKGpvYikge1xuICAgIGxvYWQtLTtcbiAgICBkZWJvdW5jZShqb2IuZG9uZSwgYXRvYShhcmd1bWVudHMsIDEpKTtcbiAgICBkZWJvdW5jZShsYWJvcik7XG4gIH1cbiAgcmV0dXJuIHFxO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGNvbmN1cnJlbnQgPSByZXF1aXJlKCcuL2NvbmN1cnJlbnQnKTtcbnZhciBTRVJJQUwgPSByZXF1aXJlKCcuL1NFUklBTCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHNlcmllcyAodGFza3MsIGRvbmUpIHtcbiAgY29uY3VycmVudCh0YXNrcywgU0VSSUFMLCBkb25lKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBhdG9hID0gcmVxdWlyZSgnYXRvYScpO1xudmFyIG9uY2UgPSByZXF1aXJlKCcuL29uY2UnKTtcbnZhciBlcnJvcmVkID0gcmVxdWlyZSgnLi9lcnJvcmVkJyk7XG52YXIgZGVib3VuY2UgPSByZXF1aXJlKCcuL2RlYm91bmNlJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gd2F0ZXJmYWxsIChzdGVwcywgZG9uZSkge1xuICB2YXIgZCA9IG9uY2UoZG9uZSk7XG4gIGZ1bmN0aW9uIG5leHQgKCkge1xuICAgIHZhciBhcmdzID0gYXRvYShhcmd1bWVudHMpO1xuICAgIHZhciBzdGVwID0gc3RlcHMuc2hpZnQoKTtcbiAgICBpZiAoc3RlcCkge1xuICAgICAgaWYgKGVycm9yZWQoYXJncywgZCkpIHsgcmV0dXJuOyB9XG4gICAgICBhcmdzLnB1c2gob25jZShuZXh0KSk7XG4gICAgICBkZWJvdW5jZShzdGVwLCBhcmdzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVib3VuY2UoZCwgYXJndW1lbnRzKTtcbiAgICB9XG4gIH1cbiAgbmV4dCgpO1xufTtcbiJdfQ==

@@ -1,1 +0,1 @@

!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.contra=n()}}(function(){return function n(t,e,r){function o(i,c){if(!e[i]){if(!t[i]){var f="function"==typeof require&&require;if(!c&&f)return f(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var s=e[i]={exports:{}};t[i][0].call(s.exports,function(n){var e=t[i][1][n];return o(e?e:n)},s,s.exports,n,t,e,r)}return e[i].exports}for(var u="function"==typeof require&&require,i=0;i<r.length;i++)o(r[i]);return o}({1:[function(n,t,e){t.exports=function(n,t){return Array.prototype.slice.call(n,t)}},{}],2:[function(n,t,e){var r,o="function"==typeof setImmediate;r=o?function(n){setImmediate(n)}:function(n){setTimeout(n,0)},t.exports=r},{}],3:[function(n,t,e){t.exports=1/0},{}],4:[function(n,t,e){t.exports=1},{}],5:[function(n,t,e){"use strict";var r=n("./_map");t.exports=function(n){function t(n,t){return function(n){t(n)}}return r(n,t)}},{"./_map":7}],6:[function(n,t,e){"use strict";var r=n("./a"),o=n("./_map");t.exports=function(n){function t(n,t){return function(e,o){function u(n,t){return!!o[t]}function i(){var t={};return Object.keys(n).forEach(function(e){u(null,e)&&(t[e]=n[e])}),t}return e?void t(e):void t(null,r(o)?n.filter(u):i())}}return o(n,t)}},{"./_map":7,"./a":8}],7:[function(n,t,e){"use strict";var r=n("./a"),o=n("./once"),u=n("./concurrent"),i=n("./CONCURRENTLY"),c=n("./SERIAL");t.exports=function f(n,t,e){function a(e,c,f,a){var s=arguments;2===s.length&&(f=c,c=i),3===s.length&&"number"!=typeof c&&(a=f,f=c,c=i);var p=Object.keys(e),l=r(e)?[]:{};p.forEach(function(n){l[n]=function(t){3===f.length?f(e[n],n,t):f(e[n],t)}}),u(l,n||c,t?t(e,o(a)):a)}return e||(a.series=f(c,t,!0)),a}},{"./CONCURRENTLY":3,"./SERIAL":4,"./a":8,"./concurrent":9,"./once":19}],8:[function(n,t,e){"use strict";t.exports=function(n){return"[object Array]"===Object.prototype.toString.call(n)}},{}],9:[function(n,t,e){"use strict";var r=n("atoa"),o=n("./a"),u=n("./once"),i=n("./queue"),c=n("./errored"),f=n("./debounce"),a=n("./CONCURRENTLY");t.exports=function(n,t,e){function s(t,e){function o(){var n=r(arguments);c(n,p)||(v[t]=n.shift(),e())}f(n[t],[o])}"function"==typeof t&&(e=t,t=a);var p=u(e),l=i(s,t),d=Object.keys(n),v=o(n)?[]:{};l.unshift(d),l.on("drain",function(){p(null,v)})}},{"./CONCURRENTLY":3,"./a":8,"./debounce":12,"./errored":15,"./once":19,"./queue":20,atoa:1}],10:[function(n,t,e){"use strict";t.exports={curry:n("./curry"),concurrent:n("./concurrent"),series:n("./series"),waterfall:n("./waterfall"),each:n("./each"),map:n("./map"),filter:n("./filter"),queue:n("./queue"),emitter:n("./emitter")}},{"./concurrent":9,"./curry":11,"./each":13,"./emitter":14,"./filter":16,"./map":17,"./queue":20,"./series":21,"./waterfall":22}],11:[function(n,t,e){"use strict";var r=n("atoa");t.exports=function(){var n=r(arguments),t=n.shift();return function(){var e=r(arguments);t.apply(t,n.concat(e))}}},{atoa:1}],12:[function(n,t,e){"use strict";var r=n("ticky");t.exports=function(n,t,e){n&&r(function(){n.apply(e||null,t||[])})}},{ticky:2}],13:[function(n,t,e){"use strict";t.exports=n("./_each")()},{"./_each":5}],14:[function(n,t,e){"use strict";var r=n("atoa"),o=n("./debounce");t.exports=function(n,t){var e=t||{},u={};return void 0===n&&(n={}),n.on=function(t,e){return u[t]?u[t].push(e):u[t]=[e],n},n.once=function(t,e){return e._once=!0,n.on(t,e),n},n.off=function(t,e){var r=arguments.length;if(1===r)delete u[t];else if(0===r)u={};else{var o=u[t];if(!o)return n;o.splice(o.indexOf(e),1)}return n},n.emit=function(){var t=r(arguments);return n.emitterSnapshot(t.shift()).apply(this,t)},n.emitterSnapshot=function(t){var i=(u[t]||[]).slice(0);return function(){var u=r(arguments),c=this||n;if("error"===t&&e["throws"]!==!1&&!i.length)throw 1===u.length?u[0]:u;return i.forEach(function(r){e.async?o(r,u,c):r.apply(c,u),r._once&&n.off(t,r)}),n}},n}},{"./debounce":12,atoa:1}],15:[function(n,t,e){"use strict";var r=n("./debounce");t.exports=function(n,t,e){var o=n.shift();return o?(e&&e.discard(),r(t,[o]),!0):void 0}},{"./debounce":12}],16:[function(n,t,e){"use strict";t.exports=n("./_filter")()},{"./_filter":6}],17:[function(n,t,e){"use strict";t.exports=n("./_map")()},{"./_map":7}],18:[function(n,t,e){"use strict";t.exports=function(){}},{}],19:[function(n,t,e){"use strict";var r=n("./noop");t.exports=function(n){function t(){e||(e=!0,(n||r).apply(null,arguments))}var e;return t.discard=function(){e=!0},t}},{"./noop":18}],20:[function(n,t,e){"use strict";var r=n("atoa"),o=n("./a"),u=n("./once"),i=n("./emitter"),c=n("./debounce");t.exports=function(n,t){function e(n,t,e){var r=o(t)?t:[t];r.forEach(function(t){p[n]({t:t,done:e})}),c(f)}function f(){if(!(s||l>=d)){if(!p.length)return void(0===l&&v.emit("drain"));l++;var t=p.pop();n(t.t,u(a.bind(null,t))),c(f)}}function a(n){l--,c(n.done,r(arguments,1)),c(f)}var s,p=[],l=0,d=t||1,v=i({push:e.bind(null,"push"),unshift:e.bind(null,"unshift"),pause:function(){s=!0},resume:function(){s=!1,c(f)},pending:p});return Object.defineProperty&&!Object.definePropertyPartial&&Object.defineProperty(v,"length",{get:function(){return p.length}}),v}},{"./a":8,"./debounce":12,"./emitter":14,"./once":19,atoa:1}],21:[function(n,t,e){"use strict";var r=n("./concurrent"),o=n("./SERIAL");t.exports=function(n,t){r(n,o,t)}},{"./SERIAL":4,"./concurrent":9}],22:[function(n,t,e){"use strict";var r=n("atoa"),o=n("./once"),u=n("./errored"),i=n("./debounce");t.exports=function(n,t){function e(){var t=r(arguments),f=n.shift();if(f){if(u(t,c))return;t.push(o(e)),i(f,t)}else i(c,arguments)}var c=o(t);e()}},{"./debounce":12,"./errored":15,"./once":19,atoa:1}]},{},[10])(10)});
!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.contra=n()}}(function(){return function n(t,e,r){function o(i,c){if(!e[i]){if(!t[i]){var f="function"==typeof require&&require;if(!c&&f)return f(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var s=e[i]={exports:{}};t[i][0].call(s.exports,function(n){var e=t[i][1][n];return o(e?e:n)},s,s.exports,n,t,e,r)}return e[i].exports}for(var u="function"==typeof require&&require,i=0;i<r.length;i++)o(r[i]);return o}({1:[function(n,t,e){t.exports=1/0},{}],2:[function(n,t,e){t.exports=1},{}],3:[function(n,t,e){"use strict";var r=n("./_map");t.exports=function(n){function t(n,t){return function(n){t(n)}}return r(n,t)}},{"./_map":5}],4:[function(n,t,e){"use strict";var r=n("./a"),o=n("./_map");t.exports=function(n){function t(n,t){return function(e,o){function u(n,t){return!!o[t]}function i(){var t={};return Object.keys(n).forEach(function(e){u(null,e)&&(t[e]=n[e])}),t}return e?void t(e):void t(null,r(o)?n.filter(u):i())}}return o(n,t)}},{"./_map":5,"./a":6}],5:[function(n,t,e){"use strict";var r=n("./a"),o=n("./once"),u=n("./concurrent"),i=n("./CONCURRENTLY"),c=n("./SERIAL");t.exports=function f(n,t,e){function a(e,c,f,a){var s=arguments;2===s.length&&(f=c,c=i),3===s.length&&"number"!=typeof c&&(a=f,f=c,c=i);var p=Object.keys(e),l=r(e)?[]:{};p.forEach(function(n){l[n]=function(t){3===f.length?f(e[n],n,t):f(e[n],t)}}),u(l,n||c,t?t(e,o(a)):a)}return e||(a.series=f(c,t,!0)),a}},{"./CONCURRENTLY":1,"./SERIAL":2,"./a":6,"./concurrent":7,"./once":19}],6:[function(n,t,e){"use strict";t.exports=function(n){return"[object Array]"===Object.prototype.toString.call(n)}},{}],7:[function(n,t,e){"use strict";var r=n("atoa"),o=n("./a"),u=n("./once"),i=n("./queue"),c=n("./errored"),f=n("./debounce"),a=n("./CONCURRENTLY");t.exports=function(n,t,e){function s(t,e){function o(){var n=r(arguments);c(n,p)||(v[t]=n.shift(),e())}f(n[t],[o])}"function"==typeof t&&(e=t,t=a);var p=u(e),l=i(s,t),d=Object.keys(n),v=o(n)?[]:{};l.unshift(d),l.on("drain",function(){p(null,v)})}},{"./CONCURRENTLY":1,"./a":6,"./debounce":10,"./errored":13,"./once":19,"./queue":20,atoa:16}],8:[function(n,t,e){"use strict";t.exports={curry:n("./curry"),concurrent:n("./concurrent"),series:n("./series"),waterfall:n("./waterfall"),each:n("./each"),map:n("./map"),filter:n("./filter"),queue:n("./queue"),emitter:n("./emitter")}},{"./concurrent":7,"./curry":9,"./each":11,"./emitter":12,"./filter":14,"./map":15,"./queue":20,"./series":21,"./waterfall":22}],9:[function(n,t,e){"use strict";var r=n("atoa");t.exports=function(){var n=r(arguments),t=n.shift();return function(){var e=r(arguments);t.apply(t,n.concat(e))}}},{atoa:16}],10:[function(n,t,e){"use strict";var r=n("ticky");t.exports=function(n,t,e){n&&r(function(){n.apply(e||null,t||[])})}},{ticky:17}],11:[function(n,t,e){"use strict";t.exports=n("./_each")()},{"./_each":3}],12:[function(n,t,e){"use strict";var r=n("atoa"),o=n("./debounce");t.exports=function(n,t){var e=t||{},u={};return void 0===n&&(n={}),n.on=function(t,e){return u[t]?u[t].push(e):u[t]=[e],n},n.once=function(t,e){return e._once=!0,n.on(t,e),n},n.off=function(t,e){var r=arguments.length;if(1===r)delete u[t];else if(0===r)u={};else{var o=u[t];if(!o)return n;o.splice(o.indexOf(e),1)}return n},n.emit=function(){var t=r(arguments);return n.emitterSnapshot(t.shift()).apply(this,t)},n.emitterSnapshot=function(t){var i=(u[t]||[]).slice(0);return function(){var u=r(arguments),c=this||n;if("error"===t&&e["throws"]!==!1&&!i.length)throw 1===u.length?u[0]:u;return i.forEach(function(r){e.async?o(r,u,c):r.apply(c,u),r._once&&n.off(t,r)}),n}},n}},{"./debounce":10,atoa:16}],13:[function(n,t,e){"use strict";var r=n("./debounce");t.exports=function(n,t,e){var o=n.shift();return o?(e&&e.discard(),r(t,[o]),!0):void 0}},{"./debounce":10}],14:[function(n,t,e){"use strict";t.exports=n("./_filter")()},{"./_filter":4}],15:[function(n,t,e){"use strict";t.exports=n("./_map")()},{"./_map":5}],16:[function(n,t,e){t.exports=function(n,t){return Array.prototype.slice.call(n,t)}},{}],17:[function(n,t,e){var r,o="function"==typeof setImmediate;r=o?function(n){setImmediate(n)}:function(n){setTimeout(n,0)},t.exports=r},{}],18:[function(n,t,e){"use strict";t.exports=function(){}},{}],19:[function(n,t,e){"use strict";var r=n("./noop");t.exports=function(n){function t(){e||(e=!0,(n||r).apply(null,arguments))}var e;return t.discard=function(){e=!0},t}},{"./noop":18}],20:[function(n,t,e){"use strict";var r=n("atoa"),o=n("./a"),u=n("./once"),i=n("./emitter"),c=n("./debounce");t.exports=function(n,t){function e(n,t,e){var r=o(t)?t:[t];r.forEach(function(t){p[n]({t:t,done:e})}),c(f)}function f(){if(!(s||l>=d)){if(!p.length)return void(0===l&&v.emit("drain"));l++;var t=p.pop();n(t.t,u(a.bind(null,t))),c(f)}}function a(n){l--,c(n.done,r(arguments,1)),c(f)}var s,p=[],l=0,d=t||1,v=i({push:e.bind(null,"push"),unshift:e.bind(null,"unshift"),pause:function(){s=!0},resume:function(){s=!1,c(f)},pending:p});return Object.defineProperty&&!Object.definePropertyPartial&&Object.defineProperty(v,"length",{get:function(){return p.length}}),v}},{"./a":6,"./debounce":10,"./emitter":12,"./once":19,atoa:16}],21:[function(n,t,e){"use strict";var r=n("./concurrent"),o=n("./SERIAL");t.exports=function(n,t){r(n,o,t)}},{"./SERIAL":2,"./concurrent":7}],22:[function(n,t,e){"use strict";var r=n("atoa"),o=n("./once"),u=n("./errored"),i=n("./debounce");t.exports=function(n,t){function e(){var t=r(arguments),f=n.shift();if(f){if(u(t,c))return;t.push(o(e)),i(f,t)}else i(c,arguments)}var c=o(t);e()}},{"./debounce":10,"./errored":13,"./once":19,atoa:16}]},{},[8])(8)});

@@ -81,2 +81,2 @@ (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){

},{}]},{},[1])
//# sourceMappingURL=data:application/json;charset:utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJzcmMvY29udHJhLnNoaW0uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiKGZ1bmN0aW9uIChPYmplY3QsIEFycmF5KSB7XG4gICd1c2Ugc3RyaWN0JztcbiAgaWYgKCFBcnJheS5wcm90b3R5cGUuZm9yRWFjaCkge1xuICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoID0gZnVuY3Rpb24gKGZuLCBjdHgpIHtcbiAgICAgIGlmICh0aGlzID09PSB2b2lkIDAgfHwgdGhpcyA9PT0gbnVsbCB8fCB0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpO1xuICAgICAgfVxuICAgICAgdmFyIHQgPSB0aGlzO1xuICAgICAgdmFyIGxlbiA9IHQubGVuZ3RoO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBpZiAoaSBpbiB0KSB7IGZuLmNhbGwoY3R4LCB0W2ldLCBpLCB0KTsgfVxuICAgICAgfVxuICAgIH07XG4gIH1cbiAgaWYgKCFBcnJheS5wcm90b3R5cGUuaW5kZXhPZikge1xuICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mID0gZnVuY3Rpb24gKHdoYXQsIHN0YXJ0KSB7XG4gICAgICBpZiAodGhpcyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpO1xuICAgICAgfVxuICAgICAgdmFyIGxlbmd0aCA9IHRoaXMubGVuZ3RoO1xuICAgICAgc3RhcnQgPSArc3RhcnQgfHwgMDtcbiAgICAgIGlmIChNYXRoLmFicyhzdGFydCkgPT09IEluZmluaXR5KSB7XG4gICAgICAgIHN0YXJ0ID0gMDtcbiAgICAgIH0gZWxzZSBpZiAoc3RhcnQgPCAwKSB7XG4gICAgICAgIHN0YXJ0ICs9IGxlbmd0aDtcbiAgICAgICAgaWYgKHN0YXJ0IDwgMCkgeyBzdGFydCA9IDA7IH1cbiAgICAgIH1cbiAgICAgIGZvciAoOyBzdGFydCA8IGxlbmd0aDsgc3RhcnQrKykge1xuICAgICAgICBpZiAodGhpc1tzdGFydF0gPT09IHdoYXQpIHtcbiAgICAgICAgICByZXR1cm4gc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiAtMTtcbiAgICB9O1xuICB9XG4gIGlmICghQXJyYXkucHJvdG90eXBlLmZpbHRlcikge1xuICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgPSBmdW5jdGlvbiAoZm4sIGN0eCkge1xuICAgICAgdmFyIGYgPSBbXTtcbiAgICAgIHRoaXMuZm9yRWFjaChmdW5jdGlvbiAodiwgaSwgdCkge1xuICAgICAgICBpZiAoZm4uY2FsbChjdHgsIHYsIGksIHQpKSB7IGYucHVzaCh2KTsgfVxuICAgICAgfSwgY3R4KTtcbiAgICAgIHJldHVybiBmO1xuICAgIH07XG4gIH1cbiAgaWYgKCFGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkge1xuICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcyAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIHdoYXQgaXMgdHJ5aW5nIHRvIGJlIGJvdW5kIGlzIG5vdCBjYWxsYWJsZScpO1xuICAgICAgfVxuICAgICAgdmFyIGN1cnJpZWQgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuICAgICAgdmFyIG9yaWdpbmFsID0gdGhpcztcbiAgICAgIHZhciBOb09wID0gZnVuY3Rpb24gKCkge307XG4gICAgICB2YXIgYm91bmQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjdHggPSB0aGlzIGluc3RhbmNlb2YgTm9PcCAmJiBjb250ZXh0ID8gdGhpcyA6IGNvbnRleHQ7XG4gICAgICAgIHZhciBhcmdzID0gY3VycmllZC5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7XG4gICAgICAgIHJldHVybiBvcmlnaW5hbC5hcHBseShjdHgsIGFyZ3MpO1xuICAgICAgfTtcbiAgICAgIE5vT3AucHJvdG90eXBlID0gdGhpcy5wcm90b3R5cGU7XG4gICAgICBib3VuZC5wcm90b3R5cGUgPSBuZXcgTm9PcCgpO1xuICAgICAgcmV0dXJuIGJvdW5kO1xuICAgIH07XG4gIH1cbiAgaWYgKCFPYmplY3Qua2V5cykge1xuICAgIE9iamVjdC5rZXlzID0gZnVuY3Rpb24gKG8pIHtcbiAgICAgIHZhciBrZXlzID0gW107XG4gICAgICBmb3IgKHZhciBrIGluIG8pIHtcbiAgICAgICAgaWYgKG8uaGFzT3duUHJvcGVydHkoaykpIHtcbiAgICAgICAgICBrZXlzLnB1c2goayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBrZXlzO1xuICAgIH07XG4gIH1cbiAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyAvLyB0ZXN0IGZvciBJRTggcGFydGlhbCBpbXBsZW1lbnRhdGlvblxuICAgIHRyeSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3gnLCB7fSk7IH0gY2F0Y2ggKGUpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5UGFydGlhbCA9IHRydWU7IH1cbiAgfVxufSkoT2JqZWN0LCBBcnJheSk7XG4iXX0=
//# sourceMappingURL=data:application/json;charset:utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJjb250cmEuc2hpbS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpO3Rocm93IGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixmfXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkiLCIoZnVuY3Rpb24gKE9iamVjdCwgQXJyYXkpIHtcbiAgJ3VzZSBzdHJpY3QnO1xuICBpZiAoIUFycmF5LnByb3RvdHlwZS5mb3JFYWNoKSB7XG4gICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2ggPSBmdW5jdGlvbiAoZm4sIGN0eCkge1xuICAgICAgaWYgKHRoaXMgPT09IHZvaWQgMCB8fCB0aGlzID09PSBudWxsIHx8IHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7XG4gICAgICB9XG4gICAgICB2YXIgdCA9IHRoaXM7XG4gICAgICB2YXIgbGVuID0gdC5sZW5ndGg7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGlmIChpIGluIHQpIHsgZm4uY2FsbChjdHgsIHRbaV0sIGksIHQpOyB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxuICBpZiAoIUFycmF5LnByb3RvdHlwZS5pbmRleE9mKSB7XG4gICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YgPSBmdW5jdGlvbiAod2hhdCwgc3RhcnQpIHtcbiAgICAgIGlmICh0aGlzID09PSB1bmRlZmluZWQgfHwgdGhpcyA9PT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGg7XG4gICAgICBzdGFydCA9ICtzdGFydCB8fCAwO1xuICAgICAgaWYgKE1hdGguYWJzKHN0YXJ0KSA9PT0gSW5maW5pdHkpIHtcbiAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgfSBlbHNlIGlmIChzdGFydCA8IDApIHtcbiAgICAgICAgc3RhcnQgKz0gbGVuZ3RoO1xuICAgICAgICBpZiAoc3RhcnQgPCAwKSB7IHN0YXJ0ID0gMDsgfVxuICAgICAgfVxuICAgICAgZm9yICg7IHN0YXJ0IDwgbGVuZ3RoOyBzdGFydCsrKSB7XG4gICAgICAgIGlmICh0aGlzW3N0YXJ0XSA9PT0gd2hhdCkge1xuICAgICAgICAgIHJldHVybiBzdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIC0xO1xuICAgIH07XG4gIH1cbiAgaWYgKCFBcnJheS5wcm90b3R5cGUuZmlsdGVyKSB7XG4gICAgQXJyYXkucHJvdG90eXBlLmZpbHRlciA9IGZ1bmN0aW9uIChmbiwgY3R4KSB7XG4gICAgICB2YXIgZiA9IFtdO1xuICAgICAgdGhpcy5mb3JFYWNoKGZ1bmN0aW9uICh2LCBpLCB0KSB7XG4gICAgICAgIGlmIChmbi5jYWxsKGN0eCwgdiwgaSwgdCkpIHsgZi5wdXNoKHYpOyB9XG4gICAgICB9LCBjdHgpO1xuICAgICAgcmV0dXJuIGY7XG4gICAgfTtcbiAgfVxuICBpZiAoIUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKSB7XG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiAoY29udGV4dCkge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0Z1bmN0aW9uLnByb3RvdHlwZS5iaW5kIC0gd2hhdCBpcyB0cnlpbmcgdG8gYmUgYm91bmQgaXMgbm90IGNhbGxhYmxlJyk7XG4gICAgICB9XG4gICAgICB2YXIgY3VycmllZCA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7XG4gICAgICB2YXIgb3JpZ2luYWwgPSB0aGlzO1xuICAgICAgdmFyIE5vT3AgPSBmdW5jdGlvbiAoKSB7fTtcbiAgICAgIHZhciBib3VuZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMgaW5zdGFuY2VvZiBOb09wICYmIGNvbnRleHQgPyB0aGlzIDogY29udGV4dDtcbiAgICAgICAgdmFyIGFyZ3MgPSBjdXJyaWVkLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKTtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KGN0eCwgYXJncyk7XG4gICAgICB9O1xuICAgICAgTm9PcC5wcm90b3R5cGUgPSB0aGlzLnByb3RvdHlwZTtcbiAgICAgIGJvdW5kLnByb3RvdHlwZSA9IG5ldyBOb09wKCk7XG4gICAgICByZXR1cm4gYm91bmQ7XG4gICAgfTtcbiAgfVxuICBpZiAoIU9iamVjdC5rZXlzKSB7XG4gICAgT2JqZWN0LmtleXMgPSBmdW5jdGlvbiAobykge1xuICAgICAgdmFyIGtleXMgPSBbXTtcbiAgICAgIGZvciAodmFyIGsgaW4gbykge1xuICAgICAgICBpZiAoby5oYXNPd25Qcm9wZXJ0eShrKSkge1xuICAgICAgICAgIGtleXMucHVzaChrKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGtleXM7XG4gICAgfTtcbiAgfVxuICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IC8vIHRlc3QgZm9yIElFOCBwYXJ0aWFsIGltcGxlbWVudGF0aW9uXG4gICAgdHJ5IHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAneCcsIHt9KTsgfSBjYXRjaCAoZSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHlQYXJ0aWFsID0gdHJ1ZTsgfVxuICB9XG59KShPYmplY3QsIEFycmF5KTtcbiJdfQ==
{
"name": "contra",
"description": "Asynchronous flow control with a functional taste to it",
"version": "1.9.0",
"version": "1.9.1",
"homepage": "https://github.com/bevacqua/contra",

@@ -26,5 +26,6 @@ "author": {

],
"main": "contra.js",
"scripts": {
"build": "browserify -s contra -do dist/contra.js src/contra.js && uglifyjs -m -c -o dist/contra.min.js dist/contra.js",
"build-shim": "browserify -do dist/contra.shim.js src/contra.shim.js && uglifyjs -m -c -o dist/contra.shim.min.js dist/contra.shim.js",
"build": "browserify -s contra -do dist/contra.js contra.js && uglifyjs -m -c -o dist/contra.min.js dist/contra.js",
"build-shim": "browserify -do dist/contra.shim.js contra.shim.js && uglifyjs -m -c -o dist/contra.shim.min.js dist/contra.shim.js",
"deploy": "npm run build && npm run build-shim && npm run test && npm run deployment",

@@ -81,4 +82,4 @@ "deployment": "git add dist && npm version ${BUMP:-\"patch\"} --no-git-tag-version && git add package.json && git commit -am \"Autogenerated pre-deployment commit\" && bower version ${BUMP:-\"patch\"} && git reset HEAD~2 && git add . && git commit -am \"Release $(cat package.json | jq -r .version)\" && git push --tags && npm publish && git push",

"files": [
"src/contra.js",
"src/contra.shim.js",
"contra.js",
"contra.shim.js",
"test/*.js"

@@ -85,0 +86,0 @@ ],

Sorry, the diff of this file is not supported yet

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