summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Early <alexander.early@gmail.com>2017-04-16 20:49:24 -0700
committerAlexander Early <alexander.early@gmail.com>2017-04-16 20:49:24 -0700
commit88f675bad27051269bb122655b26235176e89b8c (patch)
treeb1a59c6bcdc49a2ae270134ec52546a3988b3a29
parent1a2b5c31ddda488a03619675c6ace7859b2c3c5c (diff)
downloadasync-88f675bad27051269bb122655b26235176e89b8c.tar.gz
refactor to use ES module output to make umd bundle
-rw-r--r--Makefile2
-rw-r--r--dist/async.js473
-rw-r--r--dist/async.min.map2
-rw-r--r--support/build/aggregate-build.js4
-rw-r--r--support/build/aggregate-bundle.js20
-rw-r--r--support/build/compile-module.js4
-rw-r--r--support/build/compile-modules.js4
-rw-r--r--support/build/plugin-lodash-import-rename.js24
8 files changed, 260 insertions, 273 deletions
diff --git a/Makefile b/Makefile
index 3af1d9e..6b2d37e 100644
--- a/Makefile
+++ b/Makefile
@@ -45,7 +45,7 @@ build-bundle: build-modules $(UMD_BUNDLE) $(CJS_BUNDLE)
build-modules:
node $(SCRIPTS)/build/modules-cjs.js
-$(UMD_BUNDLE): $(JS_SRC) package.json
+$(UMD_BUNDLE): $(ES_MODULES) package.json
mkdir -p "$(@D)"
node $(SCRIPTS)/build/aggregate-bundle.js
diff --git a/dist/async.js b/dist/async.js
index 2d623c6..7851f55 100644
--- a/dist/async.js
+++ b/dist/async.js
@@ -1,21 +1,21 @@
(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
- (factory((global.async = global.async || {})));
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
+ (factory((global.async = global.async || {})));
}(this, (function (exports) { 'use strict';
function slice(arrayLike, start) {
- start = start | 0;
+ start = start|0;
var newLen = Math.max(arrayLike.length - start, 0);
var newArr = Array(newLen);
- for (var idx = 0; idx < newLen; idx++) {
+ for(var idx = 0; idx < newLen; idx++) {
newArr[idx] = arrayLike[start + idx];
}
return newArr;
}
var initialParams = function (fn) {
- return function () /*...args, callback*/{
+ return function (/*...args, callback*/) {
var args = slice(arguments);
var callback = args.pop();
fn.call(this, args, callback);
@@ -138,9 +138,9 @@ function asyncify(func) {
}
// if result is Promise object
if (isObject(result) && typeof result.then === 'function') {
- result.then(function (value) {
+ result.then(function(value) {
callback(null, value);
- }, function (err) {
+ }, function(err) {
callback(err.message ? err : new Error(err));
});
} else {
@@ -173,9 +173,9 @@ function wrapAsync(asyncFn) {
var wrapAsync$1 = supportsAsync() ? wrapAsync : identity;
function applyEach$1(eachfn) {
- return function (fns /*, ...args*/) {
+ return function(fns/*, ...args*/) {
var args = slice(arguments, 1);
- var go = initialParams(function (args, callback) {
+ var go = initialParams(function(args, callback) {
var that = this;
return eachfn(fns, function (fn, cb) {
wrapAsync$1(fn).apply(that, args.concat(cb));
@@ -183,7 +183,8 @@ function applyEach$1(eachfn) {
});
if (args.length) {
return go.apply(this, args);
- } else {
+ }
+ else {
return go;
}
};
@@ -856,18 +857,19 @@ function createArrayIterator(coll) {
var i = -1;
var len = coll.length;
return function next() {
- return ++i < len ? { value: coll[i], key: i } : null;
- };
+ return ++i < len ? {value: coll[i], key: i} : null;
+ }
}
function createES2015Iterator(iterator) {
var i = -1;
return function next() {
var item = iterator.next();
- if (item.done) return null;
+ if (item.done)
+ return null;
i++;
- return { value: item.value, key: i };
- };
+ return {value: item.value, key: i};
+ }
}
function createObjectIterator(obj) {
@@ -876,7 +878,7 @@ function createObjectIterator(obj) {
var len = okeys.length;
return function next() {
var key = okeys[++i];
- return i < len ? { value: obj[key], key: key } : null;
+ return i < len ? {value: obj[key], key: key} : null;
};
}
@@ -890,7 +892,7 @@ function iterator(coll) {
}
function onlyOnce(fn) {
- return function () {
+ return function() {
if (fn === null) throw new Error("Callback was already called.");
var callFn = fn;
fn = null;
@@ -913,15 +915,17 @@ function _eachOfLimit(limit) {
if (err) {
done = true;
callback(err);
- } else if (value === breakLoop || done && running <= 0) {
+ }
+ else if (value === breakLoop || (done && running <= 0)) {
done = true;
return callback(null);
- } else {
+ }
+ else {
replenish();
}
}
- function replenish() {
+ function replenish () {
while (running < limit && !done) {
var elem = nextElem();
if (elem === null) {
@@ -961,7 +965,7 @@ function _eachOfLimit(limit) {
* `iteratee` functions have finished, or an error occurs. Invoked with (err).
*/
function eachOfLimit(coll, limit, iteratee, callback) {
- _eachOfLimit(limit)(coll, wrapAsync$1(iteratee), callback);
+ _eachOfLimit(limit)(coll, wrapAsync$1(iteratee), callback);
}
function doLimit(fn, limit) {
@@ -983,7 +987,7 @@ function eachOfArrayLike(coll, iteratee, callback) {
function iteratorCallback(err, value) {
if (err) {
callback(err);
- } else if (++completed === length || value === breakLoop) {
+ } else if ((++completed === length) || value === breakLoop) {
callback(null);
}
}
@@ -1035,7 +1039,7 @@ var eachOfGeneric = doLimit(eachOfLimit, Infinity);
* doSomethingWith(configs);
* });
*/
-var eachOf = function (coll, iteratee, callback) {
+var eachOf = function(coll, iteratee, callback) {
var eachOfImplementation = isArrayLike(coll) ? eachOfArrayLike : eachOfGeneric;
eachOfImplementation(coll, wrapAsync$1(iteratee), callback);
};
@@ -1250,9 +1254,9 @@ var applyEachSeries = applyEach$1(mapSeries);
* two
* three
*/
-var apply = function (fn /*, ...args*/) {
+var apply = function(fn/*, ...args*/) {
var args = slice(arguments, 1);
- return function () /*callArgs*/{
+ return function(/*callArgs*/) {
var callArgs = slice(arguments);
return fn.apply(null, args.concat(callArgs));
};
@@ -1526,7 +1530,10 @@ var auto = function (tasks, concurrency, callback) {
arrayEach(dependencies, function (dependencyName) {
if (!tasks[dependencyName]) {
- throw new Error('async.auto task `' + key + '` has a non-existent dependency `' + dependencyName + '` in ' + dependencies.join(', '));
+ throw new Error('async.auto task `' + key +
+ '` has a non-existent dependency `' +
+ dependencyName + '` in ' +
+ dependencies.join(', '));
}
addListener(dependencyName, function () {
remainingDependencies--;
@@ -1550,10 +1557,11 @@ var auto = function (tasks, concurrency, callback) {
if (readyTasks.length === 0 && runningTasks === 0) {
return callback(null, results);
}
- while (readyTasks.length && runningTasks < concurrency) {
+ while(readyTasks.length && runningTasks < concurrency) {
var run = readyTasks.shift();
run();
}
+
}
function addListener(taskName, fn) {
@@ -1573,17 +1581,18 @@ var auto = function (tasks, concurrency, callback) {
processQueue();
}
+
function runTask(key, task) {
if (hasError) return;
- var taskCallback = onlyOnce(function (err, result) {
+ var taskCallback = onlyOnce(function(err, result) {
runningTasks--;
if (arguments.length > 2) {
result = slice(arguments, 1);
}
if (err) {
var safeResults = {};
- baseForOwn(results, function (val, rkey) {
+ baseForOwn(results, function(val, rkey) {
safeResults[rkey] = val;
});
safeResults[key] = result;
@@ -1623,7 +1632,9 @@ var auto = function (tasks, concurrency, callback) {
}
if (counter !== numTasks) {
- throw new Error('async.auto cannot execute tasks due to a recursive dependency');
+ throw new Error(
+ 'async.auto cannot execute tasks due to a recursive dependency'
+ );
}
}
@@ -1951,7 +1962,7 @@ function parseParams(func) {
func = func.toString().replace(STRIP_COMMENTS, '');
func = func.match(FN_ARGS)[2].replace(' ', '');
func = func ? func.split(FN_ARG_SPLIT) : [];
- func = func.map(function (arg) {
+ func = func.map(function (arg){
return trim(arg.replace(FN_ARG, ''));
});
return func;
@@ -2045,7 +2056,9 @@ function autoInject(tasks, callback) {
baseForOwn(tasks, function (taskFn, key) {
var params;
var fnIsAsync = isAsync(taskFn);
- var hasNoDeps = !fnIsAsync && taskFn.length === 1 || fnIsAsync && taskFn.length === 0;
+ var hasNoDeps =
+ (!fnIsAsync && taskFn.length === 1) ||
+ (fnIsAsync && taskFn.length === 0);
if (isArray(taskFn)) {
params = taskFn.slice(0, -1);
@@ -2087,7 +2100,7 @@ function fallback(fn) {
}
function wrap(defer) {
- return function (fn /*, ...args*/) {
+ return function (fn/*, ...args*/) {
var args = slice(arguments, 1);
defer(function () {
fn.apply(null, args);
@@ -2121,9 +2134,11 @@ function setInitial(dll, node) {
dll.head = dll.tail = node;
}
-DLL.prototype.removeLink = function (node) {
- if (node.prev) node.prev.next = node.next;else this.head = node.next;
- if (node.next) node.next.prev = node.prev;else this.tail = node.prev;
+DLL.prototype.removeLink = function(node) {
+ if (node.prev) node.prev.next = node.next;
+ else this.head = node.next;
+ if (node.next) node.next.prev = node.prev;
+ else this.tail = node.prev;
node.prev = node.next = null;
this.length -= 1;
@@ -2131,46 +2146,50 @@ DLL.prototype.removeLink = function (node) {
};
DLL.prototype.empty = function () {
- while (this.head) this.shift();
+ while(this.head) this.shift();
return this;
};
-DLL.prototype.insertAfter = function (node, newNode) {
+DLL.prototype.insertAfter = function(node, newNode) {
newNode.prev = node;
newNode.next = node.next;
- if (node.next) node.next.prev = newNode;else this.tail = newNode;
+ if (node.next) node.next.prev = newNode;
+ else this.tail = newNode;
node.next = newNode;
this.length += 1;
};
-DLL.prototype.insertBefore = function (node, newNode) {
+DLL.prototype.insertBefore = function(node, newNode) {
newNode.prev = node.prev;
newNode.next = node;
- if (node.prev) node.prev.next = newNode;else this.head = newNode;
+ if (node.prev) node.prev.next = newNode;
+ else this.head = newNode;
node.prev = newNode;
this.length += 1;
};
-DLL.prototype.unshift = function (node) {
- if (this.head) this.insertBefore(this.head, node);else setInitial(this, node);
+DLL.prototype.unshift = function(node) {
+ if (this.head) this.insertBefore(this.head, node);
+ else setInitial(this, node);
};
-DLL.prototype.push = function (node) {
- if (this.tail) this.insertAfter(this.tail, node);else setInitial(this, node);
+DLL.prototype.push = function(node) {
+ if (this.tail) this.insertAfter(this.tail, node);
+ else setInitial(this, node);
};
-DLL.prototype.shift = function () {
+DLL.prototype.shift = function() {
return this.head && this.removeLink(this.head);
};
-DLL.prototype.pop = function () {
+DLL.prototype.pop = function() {
return this.tail && this.removeLink(this.tail);
};
DLL.prototype.toArray = function () {
var arr = Array(this.length);
var curr = this.head;
- for (var idx = 0; idx < this.length; idx++) {
+ for(var idx = 0; idx < this.length; idx++) {
arr[idx] = curr.data;
curr = curr.next;
}
@@ -2179,7 +2198,7 @@ DLL.prototype.toArray = function () {
DLL.prototype.remove = function (testFn) {
var curr = this.head;
- while (!!curr) {
+ while(!!curr) {
var next = curr.next;
if (testFn(curr)) {
this.removeLink(curr);
@@ -2192,7 +2211,8 @@ DLL.prototype.remove = function (testFn) {
function queue(worker, concurrency, payload) {
if (concurrency == null) {
concurrency = 1;
- } else if (concurrency === 0) {
+ }
+ else if(concurrency === 0) {
throw new Error('Concurrency must not be zero');
}
@@ -2210,7 +2230,7 @@ function queue(worker, concurrency, payload) {
}
if (data.length === 0 && q.idle()) {
// call drain immediately if there are no tasks
- return setImmediate$1(function () {
+ return setImmediate$1(function() {
q.drain();
});
}
@@ -2231,7 +2251,7 @@ function queue(worker, concurrency, payload) {
}
function _next(tasks) {
- return function (err) {
+ return function(err){
numRunning -= 1;
for (var i = 0, l = tasks.length; i < l; i++) {
@@ -2248,7 +2268,7 @@ function queue(worker, concurrency, payload) {
}
}
- if (numRunning <= q.concurrency - q.buffer) {
+ if (numRunning <= (q.concurrency - q.buffer) ) {
q.unsaturated();
}
@@ -2265,7 +2285,7 @@ function queue(worker, concurrency, payload) {
concurrency: concurrency,
payload: payload,
saturated: noop,
- unsaturated: noop,
+ unsaturated:noop,
buffer: concurrency / 4,
empty: noop,
drain: noop,
@@ -2292,9 +2312,8 @@ function queue(worker, concurrency, payload) {
return;
}
isProcessing = true;
- while (!q.paused && numRunning < q.concurrency && q._tasks.length) {
- var tasks = [],
- data = [];
+ while(!q.paused && numRunning < q.concurrency && q._tasks.length){
+ var tasks = [], data = [];
var l = q._tasks.length;
if (q.payload) l = Math.min(l, q.payload);
for (var i = 0; i < l; i++) {
@@ -2328,16 +2347,14 @@ function queue(worker, concurrency, payload) {
workersList: function () {
return workersList;
},
- idle: function () {
+ idle: function() {
return q._tasks.length + numRunning === 0;
},
pause: function () {
q.paused = true;
},
resume: function () {
- if (q.paused === false) {
- return;
- }
+ if (q.paused === false) { return; }
q.paused = false;
setImmediate$1(q.process);
}
@@ -2423,7 +2440,7 @@ function queue(worker, concurrency, payload) {
* });
*/
function cargo(worker, payload) {
- return queue(worker, 1, payload);
+ return queue(worker, 1, payload);
}
/**
@@ -2488,12 +2505,12 @@ var eachOfSeries = doLimit(eachOfLimit, 1);
function reduce(coll, memo, iteratee, callback) {
callback = once(callback || noop);
var _iteratee = wrapAsync$1(iteratee);
- eachOfSeries(coll, function (x, i, callback) {
- _iteratee(memo, x, function (err, v) {
+ eachOfSeries(coll, function(x, i, callback) {
+ _iteratee(memo, x, function(err, v) {
memo = v;
callback(err);
});
- }, function (err) {
+ }, function(err) {
callback(err, memo);
});
}
@@ -2536,9 +2553,9 @@ function reduce(coll, memo, iteratee, callback) {
* });
* });
*/
-function seq() /*...functions*/{
+function seq(/*...functions*/) {
var _functions = arrayMap(arguments, wrapAsync$1);
- return function () /*...args*/{
+ return function(/*...args*/) {
var args = slice(arguments);
var that = this;
@@ -2549,12 +2566,13 @@ function seq() /*...functions*/{
cb = noop;
}
- reduce(_functions, args, function (newargs, fn, cb) {
- fn.apply(that, newargs.concat(function (err /*, ...nextargs*/) {
+ reduce(_functions, args, function(newargs, fn, cb) {
+ fn.apply(that, newargs.concat(function(err/*, ...nextargs*/) {
var nextargs = slice(arguments, 1);
cb(err, nextargs);
}));
- }, function (err, results) {
+ },
+ function(err, results) {
cb.apply(that, [err].concat(results));
});
};
@@ -2595,8 +2613,8 @@ function seq() /*...functions*/{
* // result now equals 15
* });
*/
-var compose = function () /*...args*/{
- return seq.apply(null, slice(arguments).reverse());
+var compose = function(/*...args*/) {
+ return seq.apply(null, slice(arguments).reverse());
};
function concat$1(eachfn, arr, fn, callback) {
@@ -2706,22 +2724,22 @@ var concatSeries = doSeries(concat$1);
* //...
* }, callback);
*/
-var constant = function () /*...values*/{
+var constant = function(/*...values*/) {
var values = slice(arguments);
var args = [null].concat(values);
- return function () /*...ignoredArgs, callback*/{
+ return function (/*...ignoredArgs, callback*/) {
var callback = arguments[arguments.length - 1];
return callback.apply(this, args);
};
};
function _createTester(check, getResult) {
- return function (eachfn, arr, iteratee, cb) {
+ return function(eachfn, arr, iteratee, cb) {
cb = cb || noop;
var testPassed = false;
var testResult;
- eachfn(arr, function (value, _, callback) {
- iteratee(value, function (err, result) {
+ eachfn(arr, function(value, _, callback) {
+ iteratee(value, function(err, result) {
if (err) {
callback(err);
} else if (check(result) && !testResult) {
@@ -2732,7 +2750,7 @@ function _createTester(check, getResult) {
callback();
}
});
- }, function (err) {
+ }, function(err) {
if (err) {
cb(err);
} else {
@@ -2830,9 +2848,9 @@ var detectLimit = doParallelLimit(_createTester(identity, _findGetResult));
var detectSeries = doLimit(detectLimit, 1);
function consoleFunc(name) {
- return function (fn /*, ...args*/) {
+ return function (fn/*, ...args*/) {
var args = slice(arguments, 1);
- args.push(function (err /*, ...args*/) {
+ args.push(function (err/*, ...args*/) {
var args = slice(arguments, 1);
if (typeof console === 'object') {
if (err) {
@@ -2906,7 +2924,7 @@ function doDuring(fn, test, callback) {
var _fn = wrapAsync$1(fn);
var _test = wrapAsync$1(test);
- function next(err /*, ...args*/) {
+ function next(err/*, ...args*/) {
if (err) return callback(err);
var args = slice(arguments, 1);
args.push(check);
@@ -2920,6 +2938,7 @@ function doDuring(fn, test, callback) {
}
check(null, true);
+
}
/**
@@ -2947,7 +2966,7 @@ function doDuring(fn, test, callback) {
function doWhilst(iteratee, test, callback) {
callback = onlyOnce(callback || noop);
var _iteratee = wrapAsync$1(iteratee);
- var next = function (err /*, ...args*/) {
+ var next = function(err/*, ...args*/) {
if (err) return callback(err);
var args = slice(arguments, 1);
if (test.apply(this, args)) return _iteratee(next);
@@ -2977,7 +2996,7 @@ function doWhilst(iteratee, test, callback) {
* callback. Invoked with (err, [results]);
*/
function doUntil(iteratee, test, callback) {
- doWhilst(iteratee, function () {
+ doWhilst(iteratee, function() {
return !test.apply(this, arguments);
}, callback);
}
@@ -3101,7 +3120,7 @@ function _withoutIndex(iteratee) {
* });
*/
function eachLimit(coll, iteratee, callback) {
- eachOf(coll, _withoutIndex(wrapAsync$1(iteratee)), callback);
+ eachOf(coll, _withoutIndex(wrapAsync$1(iteratee)), callback);
}
/**
@@ -3125,7 +3144,7 @@ function eachLimit(coll, iteratee, callback) {
* `iteratee` functions have finished, or an error occurs. Invoked with (err).
*/
function eachLimit$1(coll, limit, iteratee, callback) {
- _eachOfLimit(limit)(coll, _withoutIndex(wrapAsync$1(iteratee)), callback);
+ _eachOfLimit(limit)(coll, _withoutIndex(wrapAsync$1(iteratee)), callback);
}
/**
@@ -3318,7 +3337,7 @@ function filterGeneric(eachfn, coll, iteratee, callback) {
callback(err);
} else {
if (v) {
- results.push({ index: index, value: x });
+ results.push({index: index, value: x});
}
callback();
}
@@ -3467,15 +3486,15 @@ function forever(fn, errback) {
* functions have finished, or an error occurs. Result is an `Object` whoses
* properties are arrays of values which returned the corresponding key.
*/
-var groupByLimit = function (coll, limit, iteratee, callback) {
+var groupByLimit = function(coll, limit, iteratee, callback) {
callback = callback || noop;
var _iteratee = wrapAsync$1(iteratee);
- mapLimit(coll, limit, function (val, callback) {
- _iteratee(val, function (err, key) {
+ mapLimit(coll, limit, function(val, callback) {
+ _iteratee(val, function(err, key) {
if (err) return callback(err);
- return callback(null, { key: key, val: val });
+ return callback(null, {key: key, val: val});
});
- }, function (err, mapResults) {
+ }, function(err, mapResults) {
var result = {};
// from MDN, handle object having an `hasOwnProperty` prop
var hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -3610,7 +3629,7 @@ function mapValuesLimit(obj, limit, iteratee, callback) {
callback = once(callback || noop);
var newObj = {};
var _iteratee = wrapAsync$1(iteratee);
- eachOfLimit(obj, limit, function (val, key, next) {
+ eachOfLimit(obj, limit, function(val, key, next) {
_iteratee(val, key, function (err, result) {
if (err) return next(err);
newObj[key] = result;
@@ -3738,14 +3757,14 @@ function memoize(fn, hasher) {
var memoized = initialParams(function memoized(args, callback) {
var key = hasher.apply(null, args);
if (has(memo, key)) {
- setImmediate$1(function () {
+ setImmediate$1(function() {
callback.apply(null, memo[key]);
});
} else if (has(queues, key)) {
queues[key].push(callback);
} else {
queues[key] = [callback];
- _fn.apply(null, args.concat(function () /*args*/{
+ _fn.apply(null, args.concat(function(/*args*/) {
var args = slice(arguments);
memo[key] = args;
var q = queues[key];
@@ -3891,7 +3910,7 @@ function _parallel(eachfn, tasks, callback) {
* });
*/
function parallelLimit(tasks, callback) {
- _parallel(eachOf, tasks, callback);
+ _parallel(eachOf, tasks, callback);
}
/**
@@ -3914,7 +3933,7 @@ function parallelLimit(tasks, callback) {
* Invoked with (err, results).
*/
function parallelLimit$1(tasks, limit, callback) {
- _parallel(_eachOfLimit(limit), tasks, callback);
+ _parallel(_eachOfLimit(limit), tasks, callback);
}
/**
@@ -4022,10 +4041,10 @@ function parallelLimit$1(tasks, limit, callback) {
* });
*/
var queue$1 = function (worker, concurrency) {
- var _worker = wrapAsync$1(worker);
- return queue(function (items, cb) {
- _worker(items[0], cb);
- }, concurrency, 1);
+ var _worker = wrapAsync$1(worker);
+ return queue(function (items, cb) {
+ _worker(items[0], cb);
+ }, concurrency, 1);
};
/**
@@ -4051,12 +4070,12 @@ var queue$1 = function (worker, concurrency) {
* array of `tasks` is given, all tasks will be assigned the same priority.
* * The `unshift` method was removed.
*/
-var priorityQueue = function (worker, concurrency) {
+var priorityQueue = function(worker, concurrency) {
// Start with a normal queue
var q = queue$1(worker, concurrency);
// Override push to accept second parameter representing priority
- q.push = function (data, priority, callback) {
+ q.push = function(data, priority, callback) {
if (callback == null) callback = noop;
if (typeof callback !== 'function') {
throw new Error('task callback must be a function');
@@ -4067,7 +4086,7 @@ var priorityQueue = function (worker, concurrency) {
}
if (data.length === 0) {
// call drain immediately if there are no tasks
- return setImmediate$1(function () {
+ return setImmediate$1(function() {
q.drain();
});
}
@@ -4167,9 +4186,9 @@ function race(tasks, callback) {
* `iteratee` functions have finished. Result is the reduced value. Invoked with
* (err, result).
*/
-function reduceRight(array, memo, iteratee, callback) {
- var reversed = slice(array).reverse();
- reduce(reversed, memo, iteratee, callback);
+function reduceRight (array, memo, iteratee, callback) {
+ var reversed = slice(array).reverse();
+ reduce(reversed, memo, iteratee, callback);
}
/**
@@ -4233,8 +4252,8 @@ function reflect(fn) {
}
function reject$1(eachfn, arr, iteratee, callback) {
- _filter(eachfn, arr, function (value, cb) {
- iteratee(value, function (err, v) {
+ _filter(eachfn, arr, function(value, cb) {
+ iteratee(value, function(err, v) {
cb(err, !v);
});
}, callback);
@@ -4342,7 +4361,7 @@ function reflectAll(tasks) {
results = arrayMap(tasks, reflect);
} else {
results = {};
- baseForOwn(tasks, function (task, key) {
+ baseForOwn(tasks, function(task, key) {
results[key] = reflect.call(this, task);
});
}
@@ -4511,7 +4530,9 @@ function retry(opts, task, callback) {
if (typeof t === 'object') {
acc.times = +t.times || DEFAULT_TIMES;
- acc.intervalFunc = typeof t.interval === 'function' ? t.interval : constant$1(+t.interval || DEFAULT_INTERVAL);
+ acc.intervalFunc = typeof t.interval === 'function' ?
+ t.interval :
+ constant$1(+t.interval || DEFAULT_INTERVAL);
acc.errorFilter = t.errorFilter;
} else if (typeof t === 'number' || typeof t === 'string') {
@@ -4537,8 +4558,10 @@ function retry(opts, task, callback) {
var attempt = 1;
function retryAttempt() {
- _task(function (err) {
- if (err && attempt++ < options.times && (typeof options.errorFilter != 'function' || options.errorFilter(err))) {
+ _task(function(err) {
+ if (err && attempt++ < options.times &&
+ (typeof options.errorFilter != 'function' ||
+ options.errorFilter(err))) {
setTimeout(retryAttempt, options.intervalFunc(attempt));
} else {
callback.apply(null, arguments);
@@ -4588,7 +4611,9 @@ var retryable = function (opts, task) {
_task.apply(null, args.concat(cb));
}
- if (opts) retry(opts, taskFn, callback);else retry(taskFn, callback);
+ if (opts) retry(opts, taskFn, callback);
+ else retry(taskFn, callback);
+
});
};
@@ -4657,7 +4682,7 @@ var retryable = function (opts, task) {
* });
*/
function series(tasks, callback) {
- _parallel(eachOfSeries, tasks, callback);
+ _parallel(eachOfSeries, tasks, callback);
}
/**
@@ -4784,12 +4809,12 @@ var someSeries = doLimit(someLimit, 1);
* // result callback
* });
*/
-function sortBy(coll, iteratee, callback) {
+function sortBy (coll, iteratee, callback) {
var _iteratee = wrapAsync$1(iteratee);
map(coll, function (x, callback) {
_iteratee(x, function (err, criteria) {
if (err) return callback(err);
- callback(null, { value: x, criteria: criteria });
+ callback(null, {value: x, criteria: criteria});
});
}, function (err, results) {
if (err) return callback(err);
@@ -4797,8 +4822,7 @@ function sortBy(coll, iteratee, callback) {
});
function comparator(left, right) {
- var a = left.criteria,
- b = right.criteria;
+ var a = left.criteria, b = right.criteria;
return a < b ? -1 : a > b ? 1 : 0;
}
}
@@ -4857,7 +4881,7 @@ function timeout(asyncFn, milliseconds, info) {
function timeoutCallback() {
var name = asyncFn.name || 'anonymous';
- var error = new Error('Callback function "' + name + '" timed out.');
+ var error = new Error('Callback function "' + name + '" timed out.');
error.code = 'ETIMEDOUT';
if (info) {
error.info = info;
@@ -4920,8 +4944,8 @@ function baseRange(start, end, step, fromRight) {
* @param {Function} callback - see [async.map]{@link module:Collections.map}.
*/
function timeLimit(count, limit, iteratee, callback) {
- var _iteratee = wrapAsync$1(iteratee);
- mapLimit(baseRange(0, count, 1), limit, _iteratee, callback);
+ var _iteratee = wrapAsync$1(iteratee);
+ mapLimit(baseRange(0, count, 1), limit, _iteratee, callback);
}
/**
@@ -5016,7 +5040,7 @@ var timesSeries = doLimit(timeLimit, 1);
* // result is equal to {a: 2, b: 4, c: 6}
* })
*/
-function transform(coll, accumulator, iteratee, callback) {
+function transform (coll, accumulator, iteratee, callback) {
if (arguments.length <= 3) {
callback = iteratee;
iteratee = accumulator;
@@ -5025,9 +5049,9 @@ function transform(coll, accumulator, iteratee, callback) {
callback = once(callback || noop);
var _iteratee = wrapAsync$1(iteratee);
- eachOf(coll, function (v, k, cb) {
+ eachOf(coll, function(v, k, cb) {
_iteratee(accumulator, v, k, cb);
- }, function (err) {
+ }, function(err) {
callback(err, accumulator);
});
}
@@ -5073,8 +5097,8 @@ function tryEach(tasks, callback) {
var error = null;
var result;
callback = callback || noop;
- eachSeries(tasks, function (task, callback) {
- wrapAsync$1(task)(function (err, res /*, ...args*/) {
+ eachSeries(tasks, function(task, callback) {
+ wrapAsync$1(task)(function (err, res/*, ...args*/) {
if (arguments.length > 2) {
result = slice(arguments, 1);
} else {
@@ -5145,7 +5169,7 @@ function whilst(test, iteratee, callback) {
callback = onlyOnce(callback || noop);
var _iteratee = wrapAsync$1(iteratee);
if (!test()) return callback(null);
- var next = function (err /*, ...args*/) {
+ var next = function(err/*, ...args*/) {
if (err) return callback(err);
if (test()) return _iteratee(next);
var args = slice(arguments, 1);
@@ -5177,7 +5201,7 @@ function whilst(test, iteratee, callback) {
* callback. Invoked with (err, [results]);
*/
function until(test, iteratee, callback) {
- whilst(function () {
+ whilst(function() {
return !test.apply(this, arguments);
}, iteratee, callback);
}
@@ -5239,7 +5263,7 @@ function until(test, iteratee, callback) {
* callback(null, 'done');
* }
*/
-var waterfall = function (tasks, callback) {
+var waterfall = function(tasks, callback) {
callback = once(callback || noop);
if (!isArray(tasks)) return callback(new Error('First argument to waterfall must be an array of functions'));
if (!tasks.length) return callback();
@@ -5251,7 +5275,7 @@ var waterfall = function (tasks, callback) {
task.apply(null, args);
}
- function next(err /*, ...args*/) {
+ function next(err/*, ...args*/) {
if (err || taskIndex === tasks.length) {
return callback.apply(null, arguments);
}
@@ -5309,6 +5333,7 @@ var waterfall = function (tasks, callback) {
* @see AsyncFunction
*/
+
/**
* A collection of `async` functions for manipulating collections, such as
* arrays and objects.
@@ -5326,99 +5351,99 @@ var waterfall = function (tasks, callback) {
*/
var index = {
- applyEach: applyEach,
- applyEachSeries: applyEachSeries,
- apply: apply,
- asyncify: asyncify,
- auto: auto,
- autoInject: autoInject,
- cargo: cargo,
- compose: compose,
- concat: concat,
- concatSeries: concatSeries,
- constant: constant,
- detect: detect,
- detectLimit: detectLimit,
- detectSeries: detectSeries,
- dir: dir,
- doDuring: doDuring,
- doUntil: doUntil,
- doWhilst: doWhilst,
- during: during,
- each: eachLimit,
- eachLimit: eachLimit$1,
- eachOf: eachOf,
- eachOfLimit: eachOfLimit,
- eachOfSeries: eachOfSeries,
- eachSeries: eachSeries,
- ensureAsync: ensureAsync,
- every: every,
- everyLimit: everyLimit,
- everySeries: everySeries,
- filter: filter,
- filterLimit: filterLimit,
- filterSeries: filterSeries,
- forever: forever,
- groupBy: groupBy,
- groupByLimit: groupByLimit,
- groupBySeries: groupBySeries,
- log: log,
- map: map,
- mapLimit: mapLimit,
- mapSeries: mapSeries,
- mapValues: mapValues,
- mapValuesLimit: mapValuesLimit,
- mapValuesSeries: mapValuesSeries,
- memoize: memoize,
- nextTick: nextTick,
- parallel: parallelLimit,
- parallelLimit: parallelLimit$1,
- priorityQueue: priorityQueue,
- queue: queue$1,
- race: race,
- reduce: reduce,
- reduceRight: reduceRight,
- reflect: reflect,
- reflectAll: reflectAll,
- reject: reject,
- rejectLimit: rejectLimit,
- rejectSeries: rejectSeries,
- retry: retry,
- retryable: retryable,
- seq: seq,
- series: series,
- setImmediate: setImmediate$1,
- some: some,
- someLimit: someLimit,
- someSeries: someSeries,
- sortBy: sortBy,
- timeout: timeout,
- times: times,
- timesLimit: timeLimit,
- timesSeries: timesSeries,
- transform: transform,
- tryEach: tryEach,
- unmemoize: unmemoize,
- until: until,
- waterfall: waterfall,
- whilst: whilst,
-
- // aliases
- all: every,
- any: some,
- forEach: eachLimit,
- forEachSeries: eachSeries,
- forEachLimit: eachLimit$1,
- forEachOf: eachOf,
- forEachOfSeries: eachOfSeries,
- forEachOfLimit: eachOfLimit,
- inject: reduce,
- foldl: reduce,
- foldr: reduceRight,
- select: filter,
- selectLimit: filterLimit,
- selectSeries: filterSeries,
- wrapSync: asyncify
+ applyEach: applyEach,
+ applyEachSeries: applyEachSeries,
+ apply: apply,
+ asyncify: asyncify,
+ auto: auto,
+ autoInject: autoInject,
+ cargo: cargo,
+ compose: compose,
+ concat: concat,
+ concatSeries: concatSeries,
+ constant: constant,
+ detect: detect,
+ detectLimit: detectLimit,
+ detectSeries: detectSeries,
+ dir: dir,
+ doDuring: doDuring,
+ doUntil: doUntil,
+ doWhilst: doWhilst,
+ during: during,
+ each: eachLimit,
+ eachLimit: eachLimit$1,
+ eachOf: eachOf,
+ eachOfLimit: eachOfLimit,
+ eachOfSeries: eachOfSeries,
+ eachSeries: eachSeries,
+ ensureAsync: ensureAsync,
+ every: every,
+ everyLimit: everyLimit,
+ everySeries: everySeries,
+ filter: filter,
+ filterLimit: filterLimit,
+ filterSeries: filterSeries,
+ forever: forever,
+ groupBy: groupBy,
+ groupByLimit: groupByLimit,
+ groupBySeries: groupBySeries,
+ log: log,
+ map: map,
+ mapLimit: mapLimit,
+ mapSeries: mapSeries,
+ mapValues: mapValues,
+ mapValuesLimit: mapValuesLimit,
+ mapValuesSeries: mapValuesSeries,
+ memoize: memoize,
+ nextTick: nextTick,
+ parallel: parallelLimit,
+ parallelLimit: parallelLimit$1,
+ priorityQueue: priorityQueue,
+ queue: queue$1,
+ race: race,
+ reduce: reduce,
+ reduceRight: reduceRight,
+ reflect: reflect,
+ reflectAll: reflectAll,
+ reject: reject,
+ rejectLimit: rejectLimit,
+ rejectSeries: rejectSeries,
+ retry: retry,
+ retryable: retryable,
+ seq: seq,
+ series: series,
+ setImmediate: setImmediate$1,
+ some: some,
+ someLimit: someLimit,
+ someSeries: someSeries,
+ sortBy: sortBy,
+ timeout: timeout,
+ times: times,
+ timesLimit: timeLimit,
+ timesSeries: timesSeries,
+ transform: transform,
+ tryEach: tryEach,
+ unmemoize: unmemoize,
+ until: until,
+ waterfall: waterfall,
+ whilst: whilst,
+
+ // aliases
+ all: every,
+ any: some,
+ forEach: eachLimit,
+ forEachSeries: eachSeries,
+ forEachLimit: eachLimit$1,
+ forEachOf: eachOf,
+ forEachOfSeries: eachOfSeries,
+ forEachOfLimit: eachOfLimit,
+ inject: reduce,
+ foldl: reduce,
+ foldr: reduceRight,
+ select: filter,
+ selectLimit: filterLimit,
+ selectSeries: filterSeries,
+ wrapSync: asyncify
};
exports['default'] = index;
diff --git a/dist/async.min.map b/dist/async.min.map
index 7d7d6d0..6fc2d26 100644
--- a/dist/async.min.map
+++ b/dist/async.min.map
@@ -1 +1 @@
-{"version":3,"sources":["build/dist/async.js"],"names":["global","factory","exports","module","define","amd","async","this","slice","arrayLike","start","newLen","Math","max","length","newArr","Array","idx","identity","value","isObject","type","asyncify","func","initialParams","args","callback","result","apply","e","then","err","message","Error","supportsAsync","supported","isAsync","eval","fn","supportsSymbol","Symbol","toStringTag","wrapAsync","asyncFn","applyEach$1","eachfn","fns","arguments","go","that","cb","wrapAsync$1","concat","getRawTag","isOwn","hasOwnProperty","call","symToStringTag$1","tag","undefined","unmasked","nativeObjectToString","objectToString","nativeObjectToString$1","baseGetTag","undefinedTag","nullTag","Object","symToStringTag","isFunction","funcTag","genTag","asyncTag","proxyTag","isLength","MAX_SAFE_INTEGER","isArrayLike","noop","once","callFn","baseTimes","n","iteratee","index","isObjectLike","baseIsArguments","argsTag","stubFalse","isIndex","MAX_SAFE_INTEGER$1","reIsUint","test","baseIsTypedArray","typedArrayTags","baseUnary","arrayLikeKeys","inherited","isArr","isArray","isArg","isArguments","isBuff","isBuffer","isType","isTypedArray","skipIndexes","String","key","hasOwnProperty$1","push","isPrototype","Ctor","constructor","proto","prototype","objectProto$5","overArg","transform","arg","baseKeys","object","nativeKeys","hasOwnProperty$3","keys","createArrayIterator","coll","i","len","createES2015Iterator","iterator","item","next","done","createObjectIterator","obj","okeys","getIterator","onlyOnce","_eachOfLimit","limit","iterateeCallback","running","breakLoop","replenish","elem","nextElem","eachOfLimit","doLimit","iterable","eachOfArrayLike","iteratorCallback","completed","doParallel","eachOf","_asyncMap","arr","results","counter","_iteratee","_","v","doParallelLimit","arrayEach","array","createBaseFor","fromRight","keysFunc","props","baseForOwn","baseFor","baseFindIndex","predicate","fromIndex","baseIsNaN","strictIndexOf","baseIndexOf","arrayMap","isSymbol","symbolTag","baseToString","symbolToString","INFINITY","baseSlice","end","castSlice","charsEndIndex","strSymbols","chrSymbols","charsStartIndex","asciiToArray","string","split","hasUnicode","reHasUnicode","unicodeToArray","match","reUnicode","stringToArray","toString","trim","chars","guard","replace","reTrim","join","parseParams","STRIP_COMMENTS","FN_ARGS","FN_ARG_SPLIT","map","FN_ARG","autoInject","tasks","newTasks","taskFn","newTask","taskCb","newArgs","params","name","fnIsAsync","hasNoDeps","pop","auto","fallback","setTimeout","wrap","defer","DLL","head","tail","setInitial","dll","node","queue","worker","concurrency","payload","_insert","data","insertAtFront","q","started","idle","setImmediate$1","drain","l","_tasks","unshift","process","_next","numRunning","task","workersList","splice","error","buffer","unsaturated","_worker","isProcessing","saturated","empty","paused","kill","remove","testFn","min","shift","pause","resume","cargo","reduce","memo","eachOfSeries","x","seq","_functions","newargs","nextargs","concat$1","y","doSeries","_createTester","check","getResult","testResult","testPassed","_findGetResult","consoleFunc","console","doDuring","_test","truth","_fn","doWhilst","doUntil","during","_withoutIndex","eachLimit","eachLimit$1","ensureAsync","sync","innerArgs","notId","baseProperty","filterArray","truthValues","filterGeneric","sort","a","b","_filter","filter","forever","errback","mapValuesLimit","newObj","val","has","memoize","hasher","create","queues","memoized","unmemoized","_parallel","parallelLimit","parallelLimit$1","race","TypeError","reduceRight","reversed","reverse","reflect","reflectCallback","cbArg","reject$1","reflectAll","constant$1","retry","opts","parseTimes","acc","t","times","DEFAULT_TIMES","intervalFunc","interval","DEFAULT_INTERVAL","errorFilter","retryAttempt","_task","attempt","options","series","sortBy","comparator","left","right","criteria","timeout","milliseconds","info","injectedCallback","timedOut","originalCallback","clearTimeout","timer","timeoutCallback","code","origCallback","baseRange","step","nativeMax","nativeCeil","timeLimit","count","mapLimit","accumulator","k","tryEach","eachSeries","res","unmemoize","whilst","until","freeGlobal","freeSelf","self","root","Function","Symbol$1","objectProto","objectProto$1","iteratorSymbol","objectProto$3","hasOwnProperty$2","propertyIsEnumerable","freeExports","nodeType","freeModule","moduleExports","Buffer","nativeIsBuffer","argsTag$1","arrayTag","boolTag","dateTag","errorTag","funcTag$1","mapTag","numberTag","objectTag","regexpTag","setTag","stringTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","freeExports$1","freeModule$1","moduleExports$1","freeProcess","nodeUtil","binding","nodeIsTypedArray","objectProto$2","objectProto$4","eachOfGeneric","Infinity","eachOfImplementation","applyEach","mapSeries","applyEachSeries","callArgs","enqueueTask","readyTasks","runTask","processQueue","runningTasks","run","addListener","taskName","taskListeners","listeners","taskComplete","hasError","taskCallback","safeResults","rkey","checkForDeadlocks","currentTask","readyToCheck","getDependents","dependent","uncheckedDependencies","numTasks","keys$$1","dependencies","remainingDependencies","dependencyName","symbolProto","rsAstralRange","rsComboMarksRange","rsComboSymbolsRange","rsVarRange","rsZWJ","RegExp","rsAstralRange$1","rsComboMarksRange$1","rsComboSymbolsRange$1","rsVarRange$1","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsZWJ$1","reOptMod","rsOptVar","rsOptJoin","rsSeq","rsSymbol","hasSetImmediate","setImmediate","hasNextTick","nextTick","_defer","removeLink","prev","insertAfter","newNode","insertBefore","toArray","curr","compose","concatSeries","constant","values","detect","detectLimit","detectSeries","dir","every","everyLimit","everySeries","filterLimit","filterSeries","groupByLimit","mapResults","groupBy","groupBySeries","log","mapValues","mapValuesSeries","_defer$1","queue$1","items","priorityQueue","priority","nextNode","reject","rejectLimit","rejectSeries","retryable","some","Boolean","someLimit","someSeries","ceil","timesSeries","waterfall","nextTask","taskIndex","each","parallel","timesLimit","all","any","forEach","forEachSeries","forEachLimit","forEachOf","forEachOfSeries","forEachOfLimit","inject","foldl","foldr","select","selectLimit","selectSeries","wrapSync","allLimit","allSeries","anyLimit","anySeries","find","findLimit","findSeries","defineProperty"],"mappings":"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","file":"build/dist/async.min.js"} \ No newline at end of file
+{"version":3,"sources":["build/dist/async.js"],"names":["global","factory","exports","module","define","amd","async","this","slice","arrayLike","start","newLen","Math","max","length","newArr","Array","idx","identity","value","isObject","type","asyncify","func","initialParams","args","callback","result","apply","e","then","err","message","Error","supportsAsync","supported","isAsync","eval","fn","supportsSymbol","Symbol","toStringTag","wrapAsync","asyncFn","applyEach$1","eachfn","fns","arguments","go","that","cb","wrapAsync$1","concat","getRawTag","isOwn","hasOwnProperty","call","symToStringTag$1","tag","undefined","unmasked","nativeObjectToString","objectToString","nativeObjectToString$1","baseGetTag","undefinedTag","nullTag","Object","symToStringTag","isFunction","funcTag","genTag","asyncTag","proxyTag","isLength","MAX_SAFE_INTEGER","isArrayLike","noop","once","callFn","baseTimes","n","iteratee","index","isObjectLike","baseIsArguments","argsTag","stubFalse","isIndex","MAX_SAFE_INTEGER$1","reIsUint","test","baseIsTypedArray","typedArrayTags","baseUnary","arrayLikeKeys","inherited","isArr","isArray","isArg","isArguments","isBuff","isBuffer","isType","isTypedArray","skipIndexes","String","key","hasOwnProperty$1","push","isPrototype","Ctor","constructor","proto","prototype","objectProto$5","overArg","transform","arg","baseKeys","object","nativeKeys","hasOwnProperty$3","keys","createArrayIterator","coll","i","len","createES2015Iterator","iterator","item","next","done","createObjectIterator","obj","okeys","getIterator","onlyOnce","_eachOfLimit","limit","iterateeCallback","running","breakLoop","replenish","elem","nextElem","eachOfLimit","doLimit","iterable","eachOfArrayLike","iteratorCallback","completed","doParallel","eachOf","_asyncMap","arr","results","counter","_iteratee","_","v","doParallelLimit","arrayEach","array","createBaseFor","fromRight","keysFunc","props","baseForOwn","baseFor","baseFindIndex","predicate","fromIndex","baseIsNaN","strictIndexOf","baseIndexOf","arrayMap","isSymbol","symbolTag","baseToString","symbolToString","INFINITY","baseSlice","end","castSlice","charsEndIndex","strSymbols","chrSymbols","charsStartIndex","asciiToArray","string","split","hasUnicode","reHasUnicode","unicodeToArray","match","reUnicode","stringToArray","toString","trim","chars","guard","replace","reTrim","join","parseParams","STRIP_COMMENTS","FN_ARGS","FN_ARG_SPLIT","map","FN_ARG","autoInject","tasks","newTasks","taskFn","newTask","taskCb","newArgs","params","name","fnIsAsync","hasNoDeps","pop","auto","fallback","setTimeout","wrap","defer","DLL","head","tail","setInitial","dll","node","queue","worker","concurrency","payload","_insert","data","insertAtFront","q","started","idle","setImmediate$1","drain","l","_tasks","unshift","process","_next","numRunning","task","workersList","splice","error","buffer","unsaturated","_worker","isProcessing","saturated","empty","paused","kill","remove","testFn","min","shift","pause","resume","cargo","reduce","memo","eachOfSeries","x","seq","_functions","newargs","nextargs","concat$1","y","doSeries","_createTester","check","getResult","testResult","testPassed","_findGetResult","consoleFunc","console","doDuring","_test","truth","_fn","doWhilst","doUntil","during","_withoutIndex","eachLimit","eachLimit$1","ensureAsync","sync","innerArgs","notId","baseProperty","filterArray","truthValues","filterGeneric","sort","a","b","_filter","filter","forever","errback","mapValuesLimit","newObj","val","has","memoize","hasher","create","queues","memoized","unmemoized","_parallel","parallelLimit","parallelLimit$1","race","TypeError","reduceRight","reversed","reverse","reflect","reflectCallback","cbArg","reject$1","reflectAll","constant$1","retry","opts","parseTimes","acc","t","times","DEFAULT_TIMES","intervalFunc","interval","DEFAULT_INTERVAL","errorFilter","retryAttempt","_task","attempt","options","series","sortBy","comparator","left","right","criteria","timeout","milliseconds","info","injectedCallback","timedOut","originalCallback","clearTimeout","timer","timeoutCallback","code","origCallback","baseRange","step","nativeMax","nativeCeil","timeLimit","count","mapLimit","accumulator","k","tryEach","eachSeries","res","unmemoize","whilst","until","freeGlobal","freeSelf","self","root","Function","Symbol$1","objectProto","objectProto$1","iteratorSymbol","objectProto$3","hasOwnProperty$2","propertyIsEnumerable","freeExports","nodeType","freeModule","moduleExports","Buffer","nativeIsBuffer","argsTag$1","arrayTag","boolTag","dateTag","errorTag","funcTag$1","mapTag","numberTag","objectTag","regexpTag","setTag","stringTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","freeExports$1","freeModule$1","moduleExports$1","freeProcess","nodeUtil","binding","nodeIsTypedArray","objectProto$2","objectProto$4","eachOfGeneric","Infinity","eachOfImplementation","applyEach","mapSeries","applyEachSeries","callArgs","enqueueTask","readyTasks","runTask","processQueue","runningTasks","run","addListener","taskName","taskListeners","listeners","taskComplete","hasError","taskCallback","safeResults","rkey","checkForDeadlocks","currentTask","readyToCheck","getDependents","dependent","uncheckedDependencies","numTasks","keys$$1","dependencies","remainingDependencies","dependencyName","symbolProto","rsAstralRange","rsComboMarksRange","rsComboSymbolsRange","rsVarRange","rsZWJ","RegExp","rsAstralRange$1","rsComboMarksRange$1","rsComboSymbolsRange$1","rsVarRange$1","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsZWJ$1","reOptMod","rsOptVar","rsOptJoin","rsSeq","rsSymbol","hasSetImmediate","setImmediate","hasNextTick","nextTick","_defer","removeLink","prev","insertAfter","newNode","insertBefore","toArray","curr","compose","concatSeries","constant","values","detect","detectLimit","detectSeries","dir","every","everyLimit","everySeries","filterLimit","filterSeries","groupByLimit","mapResults","groupBy","groupBySeries","log","mapValues","mapValuesSeries","_defer$1","queue$1","items","priorityQueue","priority","nextNode","reject","rejectLimit","rejectSeries","retryable","some","Boolean","someLimit","someSeries","ceil","timesSeries","waterfall","nextTask","taskIndex","each","parallel","timesLimit","all","any","forEach","forEachSeries","forEachLimit","forEachOf","forEachOfSeries","forEachOfLimit","inject","foldl","foldr","select","selectLimit","selectSeries","wrapSync","allLimit","allSeries","anyLimit","anySeries","find","findLimit","findSeries","defineProperty"],"mappings":"CAAC,SAAUA,EAAQC,GACE,gBAAZC,UAA0C,mBAAXC,QAAyBF,EAAQC,SACrD,kBAAXE,SAAyBA,OAAOC,IAAMD,QAAQ,WAAYH,GAChEA,EAASD,EAAOM,MAAQN,EAAOM,YAChCC,KAAM,SAAWL,SAAW,YAE9B,SAASM,OAAMC,EAAWC,GACtBA,GAAc,CAGd,KAAI,GAFAC,GAASC,KAAKC,IAAIJ,EAAUK,OAASJ,EAAO,GAC5CK,EAASC,MAAML,GACXM,EAAM,EAAGA,EAAMN,EAAQM,IAC3BF,EAAOE,GAAOR,EAAUC,EAAQO,EAEpC,OAAOF,GA2BX,QAASG,UAASC,GAChB,MAAOA,GA4BT,QAASC,UAASD,GAChB,GAAIE,SAAcF,EAClB,OAAgB,OAATA,IAA0B,UAARE,GAA4B,YAARA,GA2D/C,QAASC,UAASC,GACd,MAAOC,eAAc,SAAUC,EAAMC,GACjC,GAAIC,EACJ,KACIA,EAASJ,EAAKK,MAAMrB,KAAMkB,GAC5B,MAAOI,GACL,MAAOH,GAASG,GAGhBT,SAASO,IAAkC,kBAAhBA,GAAOG,KAClCH,EAAOG,KAAK,SAASX,GACjBO,EAAS,KAAMP,IAChB,SAASY,GACRL,EAASK,EAAIC,QAAUD,EAAM,GAAIE,OAAMF,MAG3CL,EAAS,KAAMC,KAO3B,QAASO,iBACL,GAAIC,UACJ,KAEIA,UAAYC,QAAQC,KAAK,2BAC3B,MAAOR,GACLM,WAAY,EAEhB,MAAOA,WAGX,QAASC,SAAQE,GACb,MAAOC,iBAA6C,kBAA3BD,EAAGE,OAAOC,aAGvC,QAASC,WAAUC,GACf,MAAOP,SAAQO,GAAWrB,SAASqB,GAAWA,EAKlD,QAASC,aAAYC,GACjB,MAAO,UAASC,GACZ,GAAIrB,GAAOjB,MAAMuC,UAAW,GACxBC,EAAKxB,cAAc,SAASC,EAAMC,GAClC,GAAIuB,GAAO1C,IACX,OAAOsC,GAAOC,EAAK,SAAUR,EAAIY,GAC7BC,YAAYb,GAAIV,MAAMqB,EAAMxB,EAAK2B,OAAOF,KACzCxB,IAEP,OAAID,GAAKX,OACEkC,EAAGpB,MAAMrB,KAAMkB,GAGfuB,GAwCnB,QAASK,WAAUlC,GACjB,GAAImC,GAAQC,eAAeC,KAAKrC,EAAOsC,kBACnCC,EAAMvC,EAAMsC,iBAEhB,KACEtC,EAAMsC,kBAAoBE,MAC1B,IAAIC,IAAW,EACf,MAAO/B,IAET,GAAIF,GAASkC,qBAAqBL,KAAKrC,EAQvC,OAPIyC,KACEN,EACFnC,EAAMsC,kBAAoBC,QAEnBvC,GAAMsC,mBAGV9B,EAoBT,QAASmC,gBAAe3C,GACtB,MAAO4C,wBAAuBP,KAAKrC,GAiBrC,QAAS6C,YAAW7C,GAClB,MAAa,OAATA,EACewC,SAAVxC,EAAsB8C,aAAeC,SAE9C/C,EAAQgD,OAAOhD,GACPiD,gBAAkBA,iBAAkBjD,GACxCkC,UAAUlC,GACV2C,eAAe3C,IA0BrB,QAASkD,YAAWlD,GAClB,IAAKC,SAASD,GACZ,OAAO,CAIT,IAAIuC,GAAMM,WAAW7C,EACrB,OAAOuC,IAAOY,SAAWZ,GAAOa,QAAUb,GAAOc,UAAYd,GAAOe,SAgCtE,QAASC,UAASvD,GAChB,MAAuB,gBAATA,IACZA,GAAQ,GAAMA,EAAQ,GAAK,GAAKA,GAASwD,iBA4B7C,QAASC,aAAYzD,GACnB,MAAgB,OAATA,GAAiBuD,SAASvD,EAAML,UAAYuD,WAAWlD,GAmBhE,QAAS0D,SAIT,QAASC,MAAKxC,GACV,MAAO,YACH,GAAW,OAAPA,EAAJ,CACA,GAAIyC,GAASzC,CACbA,GAAK,KACLyC,EAAOnD,MAAMrB,KAAMwC,aAmB3B,QAASiC,WAAUC,EAAGC,GAIpB,IAHA,GAAIC,IAAQ,EACRxD,EAASX,MAAMiE,KAEVE,EAAQF,GACftD,EAAOwD,GAASD,EAASC,EAE3B,OAAOxD,GA2BT,QAASyD,cAAajE,GACpB,MAAgB,OAATA,GAAiC,gBAATA,GAajC,QAASkE,iBAAgBlE,GACvB,MAAOiE,cAAajE,IAAU6C,WAAW7C,IAAUmE,QAyErD,QAASC,aACP,OAAO,EAmDT,QAASC,SAAQrE,EAAOL,GAEtB,MADAA,GAAmB,MAAVA,EAAiB2E,mBAAqB3E,IACtCA,IACU,gBAATK,IAAqBuE,SAASC,KAAKxE,KAC1CA,GAAQ,GAAMA,EAAQ,GAAK,GAAKA,EAAQL,EAqD7C,QAAS8E,kBAAiBzE,GACxB,MAAOiE,cAAajE,IAClBuD,SAASvD,EAAML,WAAa+E,eAAe7B,WAAW7C,IAU1D,QAAS2E,WAAUvE,GACjB,MAAO,UAASJ,GACd,MAAOI,GAAKJ,IA2DhB,QAAS4E,eAAc5E,EAAO6E,GAC5B,GAAIC,GAAQC,QAAQ/E,GAChBgF,GAASF,GAASG,YAAYjF,GAC9BkF,GAAUJ,IAAUE,GAASG,SAASnF,GACtCoF,GAAUN,IAAUE,IAAUE,GAAUG,aAAarF,GACrDsF,EAAcR,GAASE,GAASE,GAAUE,EAC1C5E,EAAS8E,EAAczB,UAAU7D,EAAML,OAAQ4F,WAC/C5F,EAASa,EAAOb,MAEpB,KAAK,GAAI6F,KAAOxF,IACT6E,IAAaY,iBAAiBpD,KAAKrC,EAAOwF,IACzCF,IAEQ,UAAPE,GAECN,IAAkB,UAAPM,GAA0B,UAAPA,IAE9BJ,IAAkB,UAAPI,GAA0B,cAAPA,GAA8B,cAAPA,IAEtDnB,QAAQmB,EAAK7F,KAElBa,EAAOkF,KAAKF,EAGhB,OAAOhF,GAaT,QAASmF,aAAY3F,GACnB,GAAI4F,GAAO5F,GAASA,EAAM6F,YACtBC,EAAwB,kBAARF,IAAsBA,EAAKG,WAAcC,aAE7D,OAAOhG,KAAU8F,EAWnB,QAASG,SAAQ7F,EAAM8F,GACrB,MAAO,UAASC,GACd,MAAO/F,GAAK8F,EAAUC,KAoB1B,QAASC,UAASC,GAChB,IAAKV,YAAYU,GACf,MAAOC,YAAWD,EAEpB,IAAI7F,KACJ,KAAK,GAAIgF,KAAOxC,QAAOqD,GACjBE,iBAAiBlE,KAAKgE,EAAQb,IAAe,eAAPA,GACxChF,EAAOkF,KAAKF,EAGhB,OAAOhF,GA+BT,QAASgG,MAAKH,GACZ,MAAO5C,aAAY4C,GAAUzB,cAAcyB,GAAUD,SAASC,GAGhE,QAASI,qBAAoBC,GACzB,GAAIC,IAAI,EACJC,EAAMF,EAAK/G,MACf,OAAO,YACH,QAASgH,EAAIC,GAAO5G,MAAO0G,EAAKC,GAAInB,IAAKmB,GAAK,MAItD,QAASE,sBAAqBC,GAC1B,GAAIH,IAAI,CACR,OAAO,YACH,GAAII,GAAOD,EAASE,MACpB,OAAID,GAAKE,KACE,MACXN,KACQ3G,MAAO+G,EAAK/G,MAAOwF,IAAKmB,KAIxC,QAASO,sBAAqBC,GAC1B,GAAIC,GAAQZ,KAAKW,GACbR,GAAI,EACJC,EAAMQ,EAAMzH,MAChB,OAAO,YACH,GAAI6F,GAAM4B,IAAQT,EAClB,OAAOA,GAAIC,GAAO5G,MAAOmH,EAAI3B,GAAMA,IAAKA,GAAO,MAIvD,QAASsB,UAASJ,GACd,GAAIjD,YAAYiD,GACZ,MAAOD,qBAAoBC,EAG/B,IAAII,GAAWO,YAAYX,EAC3B,OAAOI,GAAWD,qBAAqBC,GAAYI,qBAAqBR,GAG5E,QAASY,UAASnG,GACd,MAAO,YACH,GAAW,OAAPA,EAAa,KAAM,IAAIL,OAAM,+BACjC,IAAI8C,GAASzC,CACbA,GAAK,KACLyC,EAAOnD,MAAMrB,KAAMwC,YAI3B,QAAS2F,cAAaC,GAClB,MAAO,UAAUL,EAAKpD,EAAUxD,GAS5B,QAASkH,GAAiB7G,EAAKZ,GAE3B,GADA0H,GAAW,EACP9G,EACAqG,GAAO,EACP1G,EAASK,OAER,CAAA,GAAIZ,IAAU2H,WAAcV,GAAQS,GAAW,EAEhD,MADAT,IAAO,EACA1G,EAAS,KAGhBqH,MAIR,QAASA,KACL,KAAOF,EAAUF,IAAUP,GAAM,CAC7B,GAAIY,GAAOC,GACX,IAAa,OAATD,EAKA,MAJAZ,IAAO,OACHS,GAAW,GACXnH,EAAS,MAIjBmH,IAAW,EACX3D,EAAS8D,EAAK7H,MAAO6H,EAAKrC,IAAK8B,SAASG,KAjChD,GADAlH,EAAWoD,KAAKpD,GAAYmD,MACxB8D,GAAS,IAAML,EACf,MAAO5G,GAAS,KAEpB,IAAIuH,GAAWhB,SAASK,GACpBF,GAAO,EACPS,EAAU,CAgCdE,MAwBR,QAASG,aAAYrB,EAAMc,EAAOzD,EAAUxD,GACxCgH,aAAaC,GAAOd,EAAM1E,YAAY+B,GAAWxD,GAGrD,QAASyH,SAAQ7G,EAAIqG,GACjB,MAAO,UAAUS,EAAUlE,EAAUxD,GACjC,MAAOY,GAAG8G,EAAUT,EAAOzD,EAAUxD,IAK7C,QAAS2H,iBAAgBxB,EAAM3C,EAAUxD,GASrC,QAAS4H,GAAiBvH,EAAKZ,GACvBY,EACAL,EAASK,KACCwH,IAAczI,GAAWK,IAAU2H,WAC7CpH,EAAS,MAZjBA,EAAWoD,KAAKpD,GAAYmD,KAC5B,IAAIM,GAAQ,EACRoE,EAAY,EACZzI,EAAS+G,EAAK/G,MAalB,KAZe,IAAXA,GACAY,EAAS,MAWNyD,EAAQrE,EAAQqE,IACnBD,EAAS2C,EAAK1C,GAAQA,EAAOsD,SAASa,IAmD9C,QAASE,YAAWlH,GAChB,MAAO,UAAUgG,EAAKpD,EAAUxD,GAC5B,MAAOY,GAAGmH,OAAQnB,EAAKnF,YAAY+B,GAAWxD,IAItD,QAASgI,WAAU7G,EAAQ8G,EAAKzE,EAAUxD,GACtCA,EAAWA,GAAYmD,KACvB8E,EAAMA,KACN,IAAIC,MACAC,EAAU,EACVC,EAAY3G,YAAY+B,EAE5BrC,GAAO8G,EAAK,SAAUxI,EAAO4I,EAAGrI,GAC5B,GAAIyD,GAAQ0E,GACZC,GAAU3I,EAAO,SAAUY,EAAKiI,GAC5BJ,EAAQzE,GAAS6E,EACjBtI,EAASK,MAEd,SAAUA,GACTL,EAASK,EAAK6H,KA6EtB,QAASK,iBAAgB3H,GACrB,MAAO,UAAUgG,EAAKK,EAAOzD,EAAUxD,GACnC,MAAOY,GAAGoG,aAAaC,GAAQL,EAAKnF,YAAY+B,GAAWxD,IAgInE,QAASwI,WAAUC,EAAOjF,GAIxB,IAHA,GAAIC,IAAQ,EACRrE,EAAkB,MAATqJ,EAAgB,EAAIA,EAAMrJ,SAE9BqE,EAAQrE,GACXoE,EAASiF,EAAMhF,GAAQA,EAAOgF,MAAW,IAI/C,MAAOA,GAUT,QAASC,eAAcC,GACrB,MAAO,UAAS7C,EAAQtC,EAAUoF,GAMhC,IALA,GAAInF,IAAQ,EACRiE,EAAWjF,OAAOqD,GAClB+C,EAAQD,EAAS9C,GACjB1G,EAASyJ,EAAMzJ,OAEZA,KAAU,CACf,GAAI6F,GAAM4D,EAAMF,EAAYvJ,IAAWqE,EACvC,IAAID,EAASkE,EAASzC,GAAMA,EAAKyC,MAAc,EAC7C,MAGJ,MAAO5B,IAyBX,QAASgD,YAAWhD,EAAQtC,GAC1B,MAAOsC,IAAUiD,QAAQjD,EAAQtC,EAAUyC,MAc7C,QAAS+C,eAAcP,EAAOQ,EAAWC,EAAWP,GAIlD,IAHA,GAAIvJ,GAASqJ,EAAMrJ,OACfqE,EAAQyF,GAAaP,EAAY,GAAI,GAEjCA,EAAYlF,MAAYA,EAAQrE,GACtC,GAAI6J,EAAUR,EAAMhF,GAAQA,EAAOgF,GACjC,MAAOhF,EAGX,QAAO,EAUT,QAAS0F,WAAU1J,GACjB,MAAOA,KAAUA,EAanB,QAAS2J,eAAcX,EAAOhJ,EAAOyJ,GAInC,IAHA,GAAIzF,GAAQyF,EAAY,EACpB9J,EAASqJ,EAAMrJ,SAEVqE,EAAQrE,GACf,GAAIqJ,EAAMhF,KAAWhE,EACnB,MAAOgE,EAGX,QAAO,EAYT,QAAS4F,aAAYZ,EAAOhJ,EAAOyJ,GACjC,MAAOzJ,KAAUA,EACb2J,cAAcX,EAAOhJ,EAAOyJ,GAC5BF,cAAcP,EAAOU,UAAWD,GAkQtC,QAASI,UAASb,EAAOjF,GAKvB,IAJA,GAAIC,IAAQ,EACRrE,EAAkB,MAATqJ,EAAgB,EAAIA,EAAMrJ,OACnCa,EAASX,MAAMF,KAEVqE,EAAQrE,GACfa,EAAOwD,GAASD,EAASiF,EAAMhF,GAAQA,EAAOgF,EAEhD,OAAOxI,GAuBT,QAASsJ,UAAS9J,GAChB,MAAuB,gBAATA,IACXiE,aAAajE,IAAU6C,WAAW7C,IAAU+J,UAkBjD,QAASC,cAAahK,GAEpB,GAAoB,gBAATA,GACT,MAAOA,EAET,IAAI+E,QAAQ/E,GAEV,MAAO6J,UAAS7J,EAAOgK,cAAgB,EAEzC,IAAIF,SAAS9J,GACX,MAAOiK,gBAAiBA,eAAe5H,KAAKrC,GAAS,EAEvD,IAAIQ,GAAUR,EAAQ,EACtB,OAAkB,KAAVQ,GAAkB,EAAIR,IAAWkK,SAAY,KAAO1J,EAY9D,QAAS2J,WAAUnB,EAAOzJ,EAAO6K,GAC/B,GAAIpG,IAAQ,EACRrE,EAASqJ,EAAMrJ,MAEfJ,GAAQ,IACVA,GAASA,EAAQI,EAAS,EAAKA,EAASJ,GAE1C6K,EAAMA,EAAMzK,EAASA,EAASyK,EAC1BA,EAAM,IACRA,GAAOzK,GAETA,EAASJ,EAAQ6K,EAAM,EAAMA,EAAM7K,IAAW,EAC9CA,KAAW,CAGX,KADA,GAAIiB,GAASX,MAAMF,KACVqE,EAAQrE,GACfa,EAAOwD,GAASgF,EAAMhF,EAAQzE,EAEhC,OAAOiB,GAYT,QAAS6J,WAAUrB,EAAOzJ,EAAO6K,GAC/B,GAAIzK,GAASqJ,EAAMrJ,MAEnB,OADAyK,GAAc5H,SAAR4H,EAAoBzK,EAASyK,GAC1B7K,GAAS6K,GAAOzK,EAAUqJ,EAAQmB,UAAUnB,EAAOzJ,EAAO6K,GAYrE,QAASE,eAAcC,EAAYC,GAGjC,IAFA,GAAIxG,GAAQuG,EAAW5K,OAEhBqE,KAAW4F,YAAYY,EAAYD,EAAWvG,GAAQ,IAAK,IAClE,MAAOA,GAYT,QAASyG,iBAAgBF,EAAYC,GAInC,IAHA,GAAIxG,IAAQ,EACRrE,EAAS4K,EAAW5K,SAEfqE,EAAQrE,GAAUiK,YAAYY,EAAYD,EAAWvG,GAAQ,IAAK,IAC3E,MAAOA,GAUT,QAAS0G,cAAaC,GACpB,MAAOA,GAAOC,MAAM,IAsBtB,QAASC,YAAWF,GAClB,MAAOG,cAAatG,KAAKmG,GAoC3B,QAASI,gBAAeJ,GACtB,MAAOA,GAAOK,MAAMC,eAUtB,QAASC,eAAcP,GACrB,MAAOE,YAAWF,GACdI,eAAeJ,GACfD,aAAaC,GAwBnB,QAASQ,UAASnL,GAChB,MAAgB,OAATA,EAAgB,GAAKgK,aAAahK,GA4B3C,QAASoL,MAAKT,EAAQU,EAAOC,GAE3B,GADAX,EAASQ,SAASR,GACdA,IAAWW,GAAmB9I,SAAV6I,GACtB,MAAOV,GAAOY,QAAQC,OAAQ,GAEhC,KAAKb,KAAYU,EAAQrB,aAAaqB,IACpC,MAAOV,EAET,IAAIJ,GAAaW,cAAcP,GAC3BH,EAAaU,cAAcG,GAC3B9L,EAAQkL,gBAAgBF,EAAYC,GACpCJ,EAAME,cAAcC,EAAYC,GAAc,CAElD,OAAOH,WAAUE,EAAYhL,EAAO6K,GAAKqB,KAAK,IAQhD,QAASC,aAAYtL,GAOjB,MANAA,GAAOA,EAAK+K,WAAWI,QAAQI,eAAgB,IAC/CvL,EAAOA,EAAK4K,MAAMY,SAAS,GAAGL,QAAQ,IAAK,IAC3CnL,EAAOA,EAAOA,EAAKwK,MAAMiB,iBACzBzL,EAAOA,EAAK0L,IAAI,SAAU3F,GACtB,MAAOiF,MAAKjF,EAAIoF,QAAQQ,OAAQ,OAuFxC,QAASC,YAAWC,EAAO1L,GACvB,GAAI2L,KAEJ7C,YAAW4C,EAAO,SAAUE,EAAQ3G,GA2BhC,QAAS4G,GAAQ3D,EAAS4D,GACtB,GAAIC,GAAUzC,SAAS0C,EAAQ,SAAUC,GACrC,MAAO/D,GAAQ+D,IAEnBF,GAAQ5G,KAAK2G,GACbrK,YAAYmK,GAAQ1L,MAAM,KAAM6L,GA/BpC,GAAIC,GACAE,EAAYxL,QAAQkL,GACpBO,GACED,GAA+B,IAAlBN,EAAOxM,QACrB8M,GAA+B,IAAlBN,EAAOxM,MAEzB,IAAIoF,QAAQoH,GACRI,EAASJ,EAAO9M,MAAM,GAAG,GACzB8M,EAASA,EAAOA,EAAOxM,OAAS,GAEhCuM,EAAS1G,GAAO+G,EAAOtK,OAAOsK,EAAO5M,OAAS,EAAIyM,EAAUD,OACzD,IAAIO,EAEPR,EAAS1G,GAAO2G,MACb,CAEH,GADAI,EAASb,YAAYS,GACC,IAAlBA,EAAOxM,SAAiB8M,GAA+B,IAAlBF,EAAO5M,OAC5C,KAAM,IAAImB,OAAM,yDAIf2L,IAAWF,EAAOI,MAEvBT,EAAS1G,GAAO+G,EAAOtK,OAAOmK,MAYtCQ,KAAKV,EAAU3L,GAMnB,QAASsM,UAAS1L,GACd2L,WAAW3L,EAAI,GAGnB,QAAS4L,MAAKC,GACV,MAAO,UAAU7L,GACb,GAAIb,GAAOjB,MAAMuC,UAAW,EAC5BoL,GAAM,WACF7L,EAAGV,MAAM,KAAMH,MAqB3B,QAAS2M,OACL7N,KAAK8N,KAAO9N,KAAK+N,KAAO,KACxB/N,KAAKO,OAAS,EAGlB,QAASyN,YAAWC,EAAKC,GACrBD,EAAI1N,OAAS,EACb0N,EAAIH,KAAOG,EAAIF,KAAOG,EA6E1B,QAASC,OAAMC,EAAQC,EAAaC,GAYhC,QAASC,GAAQC,EAAMC,EAAetN,GAClC,GAAgB,MAAZA,GAAwC,kBAAbA,GAC3B,KAAM,IAAIO,OAAM,mCAMpB,IAJAgN,EAAEC,SAAU,EACPhJ,QAAQ6I,KACTA,GAAQA,IAEQ,IAAhBA,EAAKjO,QAAgBmO,EAAEE,OAEvB,MAAOC,gBAAe,WAClBH,EAAEI,SAIV,KAAK,GAAIvH,GAAI,EAAGwH,EAAIP,EAAKjO,OAAQgH,EAAIwH,EAAGxH,IAAK,CACzC,GAAII,IACA6G,KAAMA,EAAKjH,GACXpG,SAAUA,GAAYmD,KAGtBmK,GACAC,EAAEM,OAAOC,QAAQtH,GAEjB+G,EAAEM,OAAO1I,KAAKqB,GAGtBkH,eAAeH,EAAEQ,SAGrB,QAASC,GAAMtC,GACX,MAAO,UAASrL,GACZ4N,GAAc,CAEd,KAAK,GAAI7H,GAAI,EAAGwH,EAAIlC,EAAMtM,OAAQgH,EAAIwH,EAAGxH,IAAK,CAC1C,GAAI8H,GAAOxC,EAAMtF,GACb3C,EAAQ4F,YAAY8E,EAAaD,EAAM,EACvCzK,IAAS,GACT0K,EAAYC,OAAO3K,GAGvByK,EAAKlO,SAASE,MAAMgO,EAAM7M,WAEf,MAAPhB,GACAkN,EAAEc,MAAMhO,EAAK6N,EAAKb,MAItBY,GAAeV,EAAEL,YAAcK,EAAEe,QACjCf,EAAEgB,cAGFhB,EAAEE,QACFF,EAAEI,QAENJ,EAAEQ,WAlEV,GAAmB,MAAfb,EACAA,EAAc,MAEb,IAAmB,IAAhBA,EACJ,KAAM,IAAI3M,OAAM,+BAGpB,IAAIiO,GAAU/M,YAAYwL,GACtBgB,EAAa,EACbE,KA6DAM,GAAe,EACflB,GACAM,OAAQ,GAAInB,KACZQ,YAAaA,EACbC,QAASA,EACTuB,UAAWvL,KACXoL,YAAYpL,KACZmL,OAAQpB,EAAc,EACtByB,MAAOxL,KACPwK,MAAOxK,KACPkL,MAAOlL,KACPqK,SAAS,EACToB,QAAQ,EACRzJ,KAAM,SAAUkI,EAAMrN,GAClBoN,EAAQC,GAAM,EAAOrN,IAEzB6O,KAAM,WACFtB,EAAEI,MAAQxK,KACVoK,EAAEM,OAAOc,SAEbb,QAAS,SAAUT,EAAMrN,GACrBoN,EAAQC,GAAM,EAAMrN,IAExB8O,OAAQ,SAAUC,GACdxB,EAAEM,OAAOiB,OAAOC,IAEpBhB,QAAS,WAGL,IAAIU,EAAJ,CAIA,IADAA,GAAe,GACRlB,EAAEqB,QAAUX,EAAaV,EAAEL,aAAeK,EAAEM,OAAOzO,QAAO,CAC7D,GAAIsM,MAAY2B,KACZO,EAAIL,EAAEM,OAAOzO,MACbmO,GAAEJ,UAASS,EAAI1O,KAAK8P,IAAIpB,EAAGL,EAAEJ,SACjC,KAAK,GAAI/G,GAAI,EAAGA,EAAIwH,EAAGxH,IAAK,CACxB,GAAI2G,GAAOQ,EAAEM,OAAOoB,OACpBvD,GAAMvG,KAAK4H,GACXM,EAAKlI,KAAK4H,EAAKM,MAGnBY,GAAc,EACdE,EAAYhJ,KAAKuG,EAAM,IAEC,IAApB6B,EAAEM,OAAOzO,QACTmO,EAAEoB,QAGFV,IAAeV,EAAEL,aACjBK,EAAEmB,WAGN,IAAIlN,GAAKuF,SAASiH,EAAMtC,GACxB8C,GAAQnB,EAAM7L,GAElBiN,GAAe,IAEnBrP,OAAQ,WACJ,MAAOmO,GAAEM,OAAOzO,QAEpB+H,QAAS,WACL,MAAO8G,IAEXE,YAAa,WACT,MAAOA,IAEXV,KAAM,WACF,MAAOF,GAAEM,OAAOzO,OAAS6O,IAAe,GAE5CiB,MAAO,WACH3B,EAAEqB,QAAS,GAEfO,OAAQ,WACA5B,EAAEqB,UAAW,IACjBrB,EAAEqB,QAAS,EACXlB,eAAeH,EAAEQ,WAGzB,OAAOR,GAgFX,QAAS6B,OAAMnC,EAAQE,GACnB,MAAOH,OAAMC,EAAQ,EAAGE,GA8D5B,QAASkC,QAAOlJ,EAAMmJ,EAAM9L,EAAUxD,GAClCA,EAAWoD,KAAKpD,GAAYmD,KAC5B,IAAIiF,GAAY3G,YAAY+B,EAC5B+L,cAAapJ,EAAM,SAASqJ,EAAGpJ,EAAGpG,GAC9BoI,EAAUkH,EAAME,EAAG,SAASnP,EAAKiI,GAC7BgH,EAAOhH,EACPtI,EAASK,MAEd,SAASA,GACRL,EAASK,EAAKiP,KA0CtB,QAASG,OACL,GAAIC,GAAapG,SAASjI,UAAWI,YACrC,OAAO,YACH,GAAI1B,GAAOjB,MAAMuC,WACbE,EAAO1C,KAEP2C,EAAKzB,EAAKA,EAAKX,OAAS,EACX,mBAANoC,GACPzB,EAAKqM,MAEL5K,EAAK2B,KAGTkM,OAAOK,EAAY3P,EAAM,SAAS4P,EAAS/O,EAAIY,GAC3CZ,EAAGV,MAAMqB,EAAMoO,EAAQjO,OAAO,SAASrB,GACnC,GAAIuP,GAAW9Q,MAAMuC,UAAW,EAChCG,GAAGnB,EAAKuP,OAGhB,SAASvP,EAAK6H,GACV1G,EAAGtB,MAAMqB,GAAOlB,GAAKqB,OAAOwG,OA4CxC,QAAS2H,UAAS1O,EAAQ8G,EAAKrH,EAAIZ,GAC/B,GAAIC,KACJkB,GAAO8G,EAAK,SAAUuH,EAAG/L,EAAOjC,GAC5BZ,EAAG4O,EAAG,SAAUnP,EAAKyP,GACjB7P,EAASA,EAAOyB,OAAOoO,OACvBtO,EAAGnB,MAER,SAAUA,GACTL,EAASK,EAAKJ,KA+BtB,QAAS8P,UAASnP,GACd,MAAO,UAAUgG,EAAKpD,EAAUxD,GAC5B,MAAOY,GAAG2O,aAAc3I,EAAKnF,YAAY+B,GAAWxD,IA2E5D,QAASgQ,eAAcC,EAAOC,GAC1B,MAAO,UAAS/O,EAAQ8G,EAAKzE,EAAUhC,GACnCA,EAAKA,GAAM2B,IACX,IACIgN,GADAC,GAAa,CAEjBjP,GAAO8G,EAAK,SAASxI,EAAO4I,EAAGrI,GAC3BwD,EAAS/D,EAAO,SAASY,EAAKJ,GACtBI,EACAL,EAASK,GACF4P,EAAMhQ,KAAYkQ,GACzBC,GAAa,EACbD,EAAaD,GAAU,EAAMzQ,GAC7BO,EAAS,KAAMoH,YAEfpH,OAGT,SAASK,GACJA,EACAmB,EAAGnB,GAEHmB,EAAG,KAAM4O,EAAaD,EAAaD,GAAU,OAM7D,QAASG,gBAAe/H,EAAGkH,GACvB,MAAOA,GAsFX,QAASc,aAAYrE,GACjB,MAAO,UAAUrL,GACb,GAAIb,GAAOjB,MAAMuC,UAAW,EAC5BtB,GAAKoF,KAAK,SAAU9E,GAChB,GAAIN,GAAOjB,MAAMuC,UAAW,EACL,iBAAZkP,WACHlQ,EACIkQ,QAAQlC,OACRkC,QAAQlC,MAAMhO,GAEXkQ,QAAQtE,IACfzD,UAAUzI,EAAM,SAAUyP,GACtBe,QAAQtE,GAAMuD,QAK9B/N,YAAYb,GAAIV,MAAM,KAAMH,IAuDpC,QAASyQ,UAAS5P,EAAIqD,EAAMjE,GAKxB,QAASyG,GAAKpG,GACV,GAAIA,EAAK,MAAOL,GAASK,EACzB,IAAIN,GAAOjB,MAAMuC,UAAW,EAC5BtB,GAAKoF,KAAK8K,GACVQ,EAAMvQ,MAAMrB,KAAMkB,GAGtB,QAASkQ,GAAM5P,EAAKqQ,GAChB,MAAIrQ,GAAYL,EAASK,GACpBqQ,MACLC,GAAIlK,GADezG,EAAS,MAbhCA,EAAW+G,SAAS/G,GAAYmD,KAChC,IAAIwN,GAAMlP,YAAYb,GAClB6P,EAAQhP,YAAYwC,EAexBgM,GAAM,MAAM,GA0BhB,QAASW,UAASpN,EAAUS,EAAMjE,GAC9BA,EAAW+G,SAAS/G,GAAYmD,KAChC,IAAIiF,GAAY3G,YAAY+B,GACxBiD,EAAO,SAASpG,GAChB,GAAIA,EAAK,MAAOL,GAASK,EACzB,IAAIN,GAAOjB,MAAMuC,UAAW,EAC5B,OAAI4C,GAAK/D,MAAMrB,KAAMkB,GAAcqI,EAAU3B,OAC7CzG,GAASE,MAAM,MAAO,MAAMwB,OAAO3B,IAEvCqI,GAAU3B,GAuBd,QAASoK,SAAQrN,EAAUS,EAAMjE,GAC7B4Q,SAASpN,EAAU,WACf,OAAQS,EAAK/D,MAAMrB,KAAMwC,YAC1BrB,GAuCP,QAAS8Q,QAAO7M,EAAMrD,EAAIZ,GAKtB,QAASyG,GAAKpG,GACV,MAAIA,GAAYL,EAASK,OACzBoQ,GAAMR,GAGV,QAASA,GAAM5P,EAAKqQ,GAChB,MAAIrQ,GAAYL,EAASK,GACpBqQ,MACLC,GAAIlK,GADezG,EAAS,MAXhCA,EAAW+G,SAAS/G,GAAYmD,KAChC,IAAIwN,GAAMlP,YAAYb,GAClB6P,EAAQhP,YAAYwC,EAaxBwM,GAAMR,GAGV,QAASc,eAAcvN,GACnB,MAAO,UAAU/D,EAAOgE,EAAOzD,GAC3B,MAAOwD,GAAS/D,EAAOO,IA6D/B,QAASgR,WAAU7K,EAAM3C,EAAUxD,GAC/B+H,OAAO5B,EAAM4K,cAActP,YAAY+B,IAAYxD,GAuBvD,QAASiR,aAAY9K,EAAMc,EAAOzD,EAAUxD,GACxCgH,aAAaC,GAAOd,EAAM4K,cAActP,YAAY+B,IAAYxD,GA2DpE,QAASkR,aAAYtQ,GACjB,MAAIF,SAAQE,GAAYA,EACjBd,cAAc,SAAUC,EAAMC,GACjC,GAAImR,IAAO,CACXpR,GAAKoF,KAAK,WACN,GAAIiM,GAAY/P,SACZ8P,GACAzD,eAAe,WACX1N,EAASE,MAAM,KAAMkR,KAGzBpR,EAASE,MAAM,KAAMkR,KAG7BxQ,EAAGV,MAAMrB,KAAMkB,GACfoR,GAAO,IAIf,QAASE,OAAM/I,GACX,OAAQA,EAmFZ,QAASgJ,cAAarM,GACpB,MAAO,UAASa,GACd,MAAiB,OAAVA,EAAiB7D,OAAY6D,EAAOb,IAI/C,QAASsM,aAAYpQ,EAAQ8G,EAAKzE,EAAUxD,GACxC,GAAIwR,GAAc,GAAIlS,OAAM2I,EAAI7I,OAChC+B,GAAO8G,EAAK,SAAUuH,EAAG/L,EAAOzD,GAC5BwD,EAASgM,EAAG,SAAUnP,EAAKiI,GACvBkJ,EAAY/N,KAAW6E,EACvBtI,EAASK,MAEd,SAAUA,GACT,GAAIA,EAAK,MAAOL,GAASK,EAEzB,KAAK,GADD6H,MACK9B,EAAI,EAAGA,EAAI6B,EAAI7I,OAAQgH,IACxBoL,EAAYpL,IAAI8B,EAAQ/C,KAAK8C,EAAI7B,GAEzCpG,GAAS,KAAMkI,KAIvB,QAASuJ,eAActQ,EAAQgF,EAAM3C,EAAUxD,GAC3C,GAAIkI,KACJ/G,GAAOgF,EAAM,SAAUqJ,EAAG/L,EAAOzD,GAC7BwD,EAASgM,EAAG,SAAUnP,EAAKiI,GACnBjI,EACAL,EAASK,IAELiI,GACAJ,EAAQ/C,MAAM1B,MAAOA,EAAOhE,MAAO+P,IAEvCxP,QAGT,SAAUK,GACLA,EACAL,EAASK,GAETL,EAAS,KAAMsJ,SAASpB,EAAQwJ,KAAK,SAAUC,EAAGC,GAC9C,MAAOD,GAAElO,MAAQmO,EAAEnO,QACnB6N,aAAa,aAK7B,QAASO,SAAQ1Q,EAAQgF,EAAM3C,EAAUxD,GACrC,GAAI8R,GAAS5O,YAAYiD,GAAQoL,YAAcE,aAC/CK,GAAO3Q,EAAQgF,EAAM1E,YAAY+B,GAAWxD,GAAYmD,MAqG5D,QAAS4O,SAAQnR,EAAIoR,GAIjB,QAASvL,GAAKpG,GACV,MAAIA,GAAYqG,EAAKrG,OACrB6N,GAAKzH,GALT,GAAIC,GAAOK,SAASiL,GAAW7O,MAC3B+K,EAAOzM,YAAYyP,YAAYtQ,GAMnC6F,KAiKJ,QAASwL,gBAAerL,EAAKK,EAAOzD,EAAUxD,GAC1CA,EAAWoD,KAAKpD,GAAYmD,KAC5B,IAAI+O,MACA9J,EAAY3G,YAAY+B,EAC5BgE,aAAYZ,EAAKK,EAAO,SAASkL,EAAKlN,EAAKwB,GACvC2B,EAAU+J,EAAKlN,EAAK,SAAU5E,EAAKJ,GAC/B,MAAII,GAAYoG,EAAKpG,IACrB6R,EAAOjN,GAAOhF,MACdwG,SAEL,SAAUpG,GACTL,EAASK,EAAK6R,KAwEtB,QAASE,KAAIxL,EAAK3B,GACd,MAAOA,KAAO2B,GAwClB,QAASyL,SAAQzR,EAAI0R,GACjB,GAAIhD,GAAO7M,OAAO8P,OAAO,MACrBC,EAAS/P,OAAO8P,OAAO,KAC3BD,GAASA,GAAU9S,QACnB,IAAImR,GAAMlP,YAAYb,GAClB6R,EAAW3S,cAAc,SAAkBC,EAAMC,GACjD,GAAIiF,GAAMqN,EAAOpS,MAAM,KAAMH,EACzBqS,KAAI9C,EAAMrK,GACVyI,eAAe,WACX1N,EAASE,MAAM,KAAMoP,EAAKrK,MAEvBmN,IAAII,EAAQvN,GACnBuN,EAAOvN,GAAKE,KAAKnF,IAEjBwS,EAAOvN,IAAQjF,GACf2Q,EAAIzQ,MAAM,KAAMH,EAAK2B,OAAO,WACxB,GAAI3B,GAAOjB,MAAMuC,UACjBiO,GAAKrK,GAAOlF,CACZ,IAAIwN,GAAIiF,EAAOvN,SACRuN,GAAOvN,EACd,KAAK,GAAImB,GAAI,EAAGwH,EAAIL,EAAEnO,OAAQgH,EAAIwH,EAAGxH,IACjCmH,EAAEnH,GAAGlG,MAAM,KAAMH,QAOjC,OAFA0S,GAASnD,KAAOA,EAChBmD,EAASC,WAAa9R,EACf6R,EA8CX,QAASE,WAAUxR,EAAQuK,EAAO1L,GAC9BA,EAAWA,GAAYmD,IACvB,IAAI+E,GAAUhF,YAAYwI,QAE1BvK,GAAOuK,EAAO,SAAUwC,EAAMjJ,EAAKjF,GAC/ByB,YAAYyM,GAAM,SAAU7N,EAAKJ,GACzBoB,UAAUjC,OAAS,IACnBa,EAASnB,MAAMuC,UAAW,IAE9B6G,EAAQjD,GAAOhF,EACfD,EAASK,MAEd,SAAUA,GACTL,EAASK,EAAK6H,KAyEtB,QAAS0K,eAAclH,EAAO1L,GAC1B2S,UAAU5K,OAAQ2D,EAAO1L,GAsB7B,QAAS6S,iBAAgBnH,EAAOzE,EAAOjH,GACnC2S,UAAU3L,aAAaC,GAAQyE,EAAO1L,GA8N1C,QAAS8S,MAAKpH,EAAO1L,GAEjB,GADAA,EAAWoD,KAAKpD,GAAYmD,OACvBqB,QAAQkH,GAAQ,MAAO1L,GAAS,GAAI+S,WAAU,wDACnD,KAAKrH,EAAMtM,OAAQ,MAAOY,IAC1B,KAAK,GAAIoG,GAAI,EAAGwH,EAAIlC,EAAMtM,OAAQgH,EAAIwH,EAAGxH,IACrC3E,YAAYiK,EAAMtF,IAAIpG,GA0B9B,QAASgT,aAAavK,EAAO6G,EAAM9L,EAAUxD,GACzC,GAAIiT,GAAWnU,MAAM2J,GAAOyK,SAC5B7D,QAAO4D,EAAU3D,EAAM9L,EAAUxD,GA0CrC,QAASmT,SAAQvS,GACb,GAAI+P,GAAMlP,YAAYb,EACtB,OAAOd,eAAc,SAAmBC,EAAMqT,GAe1C,MAdArT,GAAKoF,KAAK,SAAkBkJ,EAAOgF,GAC/B,GAAIhF,EACA+E,EAAgB,MAAQ/E,MAAOA,QAC5B,CACH,GAAI5O,EAEAA,GADA4B,UAAUjC,QAAU,EACZiU,EAEAvU,MAAMuC,UAAW,GAE7B+R,EAAgB,MAAQ3T,MAAOA,OAIhCkR,EAAIzQ,MAAMrB,KAAMkB,KAI/B,QAASuT,UAASnS,EAAQ8G,EAAKzE,EAAUxD,GACrC6R,QAAQ1Q,EAAQ8G,EAAK,SAASxI,EAAO+B,GACjCgC,EAAS/D,EAAO,SAASY,EAAKiI,GAC1B9G,EAAGnB,GAAMiI,MAEdtI,GAmGP,QAASuT,YAAW7H,GAChB,GAAIxD,EASJ,OARI1D,SAAQkH,GACRxD,EAAUoB,SAASoC,EAAOyH,UAE1BjL,KACAY,WAAW4C,EAAO,SAASwC,EAAMjJ,GAC7BiD,EAAQjD,GAAOkO,QAAQrR,KAAKjD,KAAMqP,MAGnChG,EA8DX,QAASsL,YAAW/T,GAClB,MAAO,YACL,MAAOA,IAwFX,QAASgU,OAAMC,EAAMxF,EAAMlO,GASvB,QAAS2T,GAAWC,EAAKC,GACrB,GAAiB,gBAANA,GACPD,EAAIE,OAASD,EAAEC,OAASC,EAExBH,EAAII,aAAqC,kBAAfH,GAAEI,SACxBJ,EAAEI,SACFT,YAAYK,EAAEI,UAAYC,GAE9BN,EAAIO,YAAcN,EAAEM,gBACjB,CAAA,GAAiB,gBAANN,IAA+B,gBAANA,GAGvC,KAAM,IAAItT,OAAM,oCAFhBqT,GAAIE,OAASD,GAAKE,GAqB1B,QAASK,KACLC,EAAM,SAAShU,GACPA,GAAOiU,IAAYC,EAAQT,QACI,kBAAvBS,GAAQJ,aACZI,EAAQJ,YAAY9T,IACxBkM,WAAW6H,EAAcG,EAAQP,aAAaM,IAE9CtU,EAASE,MAAM,KAAMmB,aA9CjC,GAAI0S,GAAgB,EAChBG,EAAmB,EAEnBK,GACAT,MAAOC,EACPC,aAAcR,WAAWU,GA2B7B,IARI7S,UAAUjC,OAAS,GAAqB,kBAATsU,IAC/B1T,EAAWkO,GAAQ/K,KACnB+K,EAAOwF,IAEPC,EAAWY,EAASb,GACpB1T,EAAWA,GAAYmD,MAGP,kBAAT+K,GACP,KAAM,IAAI3N,OAAM,oCAGpB,IAAI8T,GAAQ5S,YAAYyM,GAEpBoG,EAAU,CAadF,KAgHJ,QAASI,QAAO9I,EAAO1L,GACnB2S,UAAUpD,aAAc7D,EAAO1L,GA+HnC,QAASyU,QAAQtO,EAAM3C,EAAUxD,GAY7B,QAAS0U,GAAWC,EAAMC,GACtB,GAAIjD,GAAIgD,EAAKE,SAAUjD,EAAIgD,EAAMC,QACjC,OAAOlD,GAAIC,GAAI,EAAKD,EAAIC,EAAI,EAAI,EAbpC,GAAIxJ,GAAY3G,YAAY+B,EAC5B+H,KAAIpF,EAAM,SAAUqJ,EAAGxP,GACnBoI,EAAUoH,EAAG,SAAUnP,EAAKwU,GACxB,MAAIxU,GAAYL,EAASK,OACzBL,GAAS,MAAOP,MAAO+P,EAAGqF,SAAUA,OAEzC,SAAUxU,EAAK6H,GACd,MAAI7H,GAAYL,EAASK,OACzBL,GAAS,KAAMsJ,SAASpB,EAAQwJ,KAAKgD,GAAapD,aAAa,aAkDvE,QAASwD,SAAQ7T,EAAS8T,EAAcC,GAIpC,QAASC,KACAC,IACDC,EAAiBjV,MAAM,KAAMmB,WAC7B+T,aAAaC,IAIrB,QAASC,KACL,GAAIrJ,GAAOhL,EAAQgL,MAAQ,YACvBoC,EAAS,GAAI9N,OAAM,sBAAwB0L,EAAO,eACtDoC,GAAMkH,KAAO,YACTP,IACA3G,EAAM2G,KAAOA,GAEjBE,GAAW,EACXC,EAAiB9G,GAlBrB,GAAI8G,GAAkBE,EAClBH,GAAW,EAoBXtU,EAAKa,YAAYR,EAErB,OAAOnB,eAAc,SAAUC,EAAMyV,GACjCL,EAAmBK,EAEnBH,EAAQ9I,WAAW+I,EAAiBP,GACpCnU,EAAGV,MAAM,KAAMH,EAAK2B,OAAOuT,MAmBnC,QAASQ,WAAUzW,EAAO6K,EAAK6L,EAAM/M,GAKnC,IAJA,GAAIlF,IAAQ,EACRrE,EAASuW,UAAUC,YAAY/L,EAAM7K,IAAU0W,GAAQ,IAAK,GAC5DzV,EAASX,MAAMF,GAEZA,KACLa,EAAO0I,EAAYvJ,IAAWqE,GAASzE,EACvCA,GAAS0W,CAEX,OAAOzV,GAmBT,QAAS4V,WAAUC,EAAO7O,EAAOzD,EAAUxD,GACvC,GAAIoI,GAAY3G,YAAY+B,EAC5BuS,UAASN,UAAU,EAAGK,EAAO,GAAI7O,EAAOmB,EAAWpI,GA+FvD,QAAS2F,WAAWQ,EAAM6P,EAAaxS,EAAUxD,GACzCqB,UAAUjC,QAAU,IACpBY,EAAWwD,EACXA,EAAWwS,EACXA,EAAcxR,QAAQ2B,UAE1BnG,EAAWoD,KAAKpD,GAAYmD,KAC5B,IAAIiF,GAAY3G,YAAY+B,EAE5BuE,QAAO5B,EAAM,SAASmC,EAAG2N,EAAGzU,GACxB4G,EAAU4N,EAAa1N,EAAG2N,EAAGzU,IAC9B,SAASnB,GACRL,EAASK,EAAK2V,KAyCtB,QAASE,SAAQxK,EAAO1L,GACpB,GACIC,GADAoO,EAAQ,IAEZrO,GAAWA,GAAYmD,KACvBgT,WAAWzK,EAAO,SAASwC,EAAMlO,GAC7ByB,YAAYyM,GAAM,SAAU7N,EAAK+V,GAEzBnW,EADAoB,UAAUjC,OAAS,EACVN,MAAMuC,UAAW,GAEjB+U,EAEb/H,EAAQhO,EACRL,GAAUK,MAEf,WACCL,EAASqO,EAAOpO,KAiBxB,QAASoW,WAAUzV,GACf,MAAO,YACH,OAAQA,EAAG8R,YAAc9R,GAAIV,MAAM,KAAMmB,YAsCjD,QAASiV,QAAOrS,EAAMT,EAAUxD,GAC5BA,EAAW+G,SAAS/G,GAAYmD,KAChC,IAAIiF,GAAY3G,YAAY+B,EAC5B,KAAKS,IAAQ,MAAOjE,GAAS,KAC7B,IAAIyG,GAAO,SAASpG,GAChB,GAAIA,EAAK,MAAOL,GAASK,EACzB,IAAI4D,IAAQ,MAAOmE,GAAU3B,EAC7B,IAAI1G,GAAOjB,MAAMuC,UAAW,EAC5BrB,GAASE,MAAM,MAAO,MAAMwB,OAAO3B,IAEvCqI,GAAU3B,GAyBd,QAAS8P,OAAMtS,EAAMT,EAAUxD,GAC3BsW,OAAO,WACH,OAAQrS,EAAK/D,MAAMrB,KAAMwC,YAC1BmC,EAAUxD,GArkKjB,GAAIF,eAAgB,SAAUc,GAC1B,MAAO,YACH,GAAIb,GAAOjB,MAAMuC,WACbrB,EAAWD,EAAKqM,KACpBxL,GAAGkB,KAAKjD,KAAMkB,EAAMC,KAmIxBa,eAAmC,kBAAXC,QAqBxBW,YAAcjB,gBAAkBQ,UAAYxB,SAqB5CgX,WAA8B,gBAAVlY,SAAsBA,QAAUA,OAAOmE,SAAWA,QAAUnE,OAGhFmY,SAA0B,gBAARC,OAAoBA,MAAQA,KAAKjU,SAAWA,QAAUiU,KAGxEC,KAAOH,YAAcC,UAAYG,SAAS,iBAG1CC,SAAWF,KAAK7V,OAGhBgW,YAAcrU,OAAO+C,UAGrB3D,eAAiBiV,YAAYjV,eAO7BM,qBAAuB2U,YAAYlM,SAGnC7I,iBAAmB8U,SAAWA,SAAS9V,YAAckB,OA8BrD8U,cAAgBtU,OAAO+C,UAOvBnD,uBAAyB0U,cAAcnM,SAcvCpI,QAAU,gBACVD,aAAe,qBAGfG,eAAiBmU,SAAWA,SAAS9V,YAAckB,OAoBnDa,SAAW,yBACXF,QAAU,oBACVC,OAAS,6BACTE,SAAW,iBA8BXE,iBAAmB,iBAgEnBmE,aA2BA4P,eAAmC,kBAAXlW,SAAyBA,OAAOyF,SAExDO,YAAc,SAAUX,GACxB,MAAO6Q,iBAAkB7Q,EAAK6Q,iBAAmB7Q,EAAK6Q,mBAmDtDpT,QAAU,qBAcVqT,cAAgBxU,OAAO+C,UAGvB0R,iBAAmBD,cAAcpV,eAGjCsV,qBAAuBF,cAAcE,qBAoBrCzS,YAAcf,gBAAgB,WAAa,MAAOtC,eAAkBsC,gBAAkB,SAASlE,GACjG,MAAOiE,cAAajE,IAAUyX,iBAAiBpV,KAAKrC,EAAO,YACxD0X,qBAAqBrV,KAAKrC,EAAO,WA0BlC+E,QAAUlF,MAAMkF,QAoBhB4S,YAAgC,gBAAX5Y,UAAuBA,UAAYA,QAAQ6Y,UAAY7Y,QAG5E8Y,WAAaF,aAAgC,gBAAV3Y,SAAsBA,SAAWA,OAAO4Y,UAAY5Y,OAGvF8Y,cAAgBD,YAAcA,WAAW9Y,UAAY4Y,YAGrDI,OAASD,cAAgBZ,KAAKa,OAASvV,OAGvCwV,eAAiBD,OAASA,OAAO5S,SAAW3C,OAmB5C2C,SAAW6S,gBAAkB5T,UAG7BE,mBAAqB,iBAGrBC,SAAW,mBAkBX0T,UAAY,qBACZC,SAAW,iBACXC,QAAU,mBACVC,QAAU,gBACVC,SAAW,iBACXC,UAAY,oBACZC,OAAS,eACTC,UAAY,kBACZC,UAAY,kBACZC,UAAY,kBACZC,OAAS,eACTC,UAAY,kBACZC,WAAa,mBAEbC,eAAiB,uBACjBC,YAAc,oBACdC,WAAa,wBACbC,WAAa,wBACbC,QAAU,qBACVC,SAAW,sBACXC,SAAW,sBACXC,SAAW,sBACXC,gBAAkB,6BAClBC,UAAY,uBACZC,UAAY,uBAGZ9U,iBACJA,gBAAesU,YAActU,eAAeuU,YAC5CvU,eAAewU,SAAWxU,eAAeyU,UACzCzU,eAAe0U,UAAY1U,eAAe2U,UAC1C3U,eAAe4U,iBAAmB5U,eAAe6U,WACjD7U,eAAe8U,YAAa,EAC5B9U,eAAeuT,WAAavT,eAAewT,UAC3CxT,eAAeoU,gBAAkBpU,eAAeyT,SAChDzT,eAAeqU,aAAerU,eAAe0T,SAC7C1T,eAAe2T,UAAY3T,eAAe4T,WAC1C5T,eAAe6T,QAAU7T,eAAe8T,WACxC9T,eAAe+T,WAAa/T,eAAegU,WAC3ChU,eAAeiU,QAAUjU,eAAekU,WACxClU,eAAemU,aAAc,CA4B7B,IAAIY,eAAkC,gBAAX1a,UAAuBA,UAAYA,QAAQ6Y,UAAY7Y,QAG9E2a,aAAeD,eAAkC,gBAAVza,SAAsBA,SAAWA,OAAO4Y,UAAY5Y,OAG3F2a,gBAAkBD,cAAgBA,aAAa3a,UAAY0a,cAG3DG,YAAcD,iBAAmB5C,WAAWzI,QAG5CuL,SAAY,WACd,IACE,MAAOD,cAAeA,YAAYE,QAAQ,QAC1C,MAAOpZ,QAIPqZ,iBAAmBF,UAAYA,SAASxU,aAmBxCA,aAAe0U,iBAAmBpV,UAAUoV,kBAAoBtV,iBAGhEuV,cAAgBhX,OAAO+C,UAGvBN,iBAAmBuU,cAAc5X,eAsCjC4D,cAAgBhD,OAAO+C,UA+BvBO,WAAaL,QAAQjD,OAAOwD,KAAMxD,QAGlCiX,cAAgBjX,OAAO+C,UAGvBQ,iBAAmB0T,cAAc7X,eAuMjC8X,cAAgBlS,QAAQD,YAAaoS,EAAAA,GAyCrC7R,OAAS,SAAS5B,EAAM3C,EAAUxD,GAClC,GAAI6Z,GAAuB3W,YAAYiD,GAAQwB,gBAAkBgS,aACjEE,GAAqB1T,EAAM1E,YAAY+B,GAAWxD,IA+DlDuL,IAAMzD,WAAWE,WAmCjB8R,UAAY5Y,YAAYqK,KA2BxBwK,SAAWxN,gBAAgBP,WAoB3B+R,UAAYtS,QAAQsO,SAAU,GAqB9BiE,gBAAkB9Y,YAAY6Y,WA+C9B7Z,MAAQ,SAASU,GACjB,GAAIb,GAAOjB,MAAMuC,UAAW,EAC5B,OAAO,YACH,GAAI4Y,GAAWnb,MAAMuC,UACrB,OAAOT,GAAGV,MAAM,KAAMH,EAAK2B,OAAOuY,MA4DtClR,QAAUL,gBAoKV2D,KAAO,SAAUX,EAAOwB,EAAalN,GAiErC,QAASka,GAAYjV,EAAKiJ,GACtBiM,EAAWhV,KAAK,WACZiV,EAAQnV,EAAKiJ,KAIrB,QAASmM,KACL,GAA0B,IAAtBF,EAAW/a,QAAiC,IAAjBkb,EAC3B,MAAOta,GAAS,KAAMkI,EAE1B,MAAMiS,EAAW/a,QAAUkb,EAAepN,GAAa,CACnD,GAAIqN,GAAMJ,EAAWlL,OACrBsL,MAKR,QAASC,GAAYC,EAAU7Z,GAC3B,GAAI8Z,GAAgBC,EAAUF,EACzBC,KACDA,EAAgBC,EAAUF,OAG9BC,EAAcvV,KAAKvE,GAGvB,QAASga,GAAaH,GAClB,GAAIC,GAAgBC,EAAUF,MAC9BjS,WAAUkS,EAAe,SAAU9Z,GAC/BA,MAEJyZ,IAIJ,QAASD,GAAQnV,EAAKiJ,GAClB,IAAI2M,EAAJ,CAEA,GAAIC,GAAe/T,SAAS,SAAS1G,EAAKJ,GAKtC,GAJAqa,IACIjZ,UAAUjC,OAAS,IACnBa,EAASnB,MAAMuC,UAAW,IAE1BhB,EAAK,CACL,GAAI0a,KACJjS,YAAWZ,EAAS,SAASiK,EAAK6I,GAC9BD,EAAYC,GAAQ7I,IAExB4I,EAAY9V,GAAOhF,EACnB4a,GAAW,EACXF,EAAYlY,OAAO8P,OAAO,MAE1BvS,EAASK,EAAK0a,OAEd7S,GAAQjD,GAAOhF,EACf2a,EAAa3V,IAIrBqV,IACA,IAAI1O,GAASnK,YAAYyM,EAAKA,EAAK9O,OAAS,GACxC8O,GAAK9O,OAAS,EACdwM,EAAO1D,EAAS4S,GAEhBlP,EAAOkP,IAIf,QAASG,KAML,IAFA,GAAIC,GACA/S,EAAU,EACPgT,EAAa/b,QAChB8b,EAAcC,EAAa/O,MAC3BjE,IACAK,UAAU4S,EAAcF,GAAc,SAAUG,GACD,MAArCC,EAAsBD,IACxBF,EAAahW,KAAKkW,IAK9B,IAAIlT,IAAYoT,EACZ,KAAM,IAAIhb,OACN,iEAKZ,QAAS6a,GAAcX,GACnB,GAAIxa,KAMJ,OALA6I,YAAW4C,EAAO,SAAUwC,EAAMjJ,GAC1BT,QAAQ0J,IAAS7E,YAAY6E,EAAMuM,EAAU,IAAM,GACnDxa,EAAOkF,KAAKF,KAGbhF,EAlKgB,kBAAhBiN,KAEPlN,EAAWkN,EACXA,EAAc,MAElBlN,EAAWoD,KAAKpD,GAAYmD,KAC5B,IAAIqY,GAAUvV,KAAKyF,GACf6P,EAAWC,EAAQpc,MACvB,KAAKmc,EACD,MAAOvb,GAAS,KAEfkN,KACDA,EAAcqO,EAGlB,IAAIrT,MACAoS,EAAe,EACfO,GAAW,EAEXF,EAAYlY,OAAO8P,OAAO,MAE1B4H,KAGAgB,KAEAG,IAEJxS,YAAW4C,EAAO,SAAUwC,EAAMjJ,GAC9B,IAAKT,QAAQ0J,GAIT,MAFAgM,GAAYjV,GAAMiJ,QAClBiN,GAAahW,KAAKF,EAItB,IAAIwW,GAAevN,EAAKpP,MAAM,EAAGoP,EAAK9O,OAAS,GAC3Csc,EAAwBD,EAAarc,MACzC,OAA8B,KAA1Bsc,GACAxB,EAAYjV,EAAKiJ,OACjBiN,GAAahW,KAAKF,KAGtBqW,EAAsBrW,GAAOyW,MAE7BlT,WAAUiT,EAAc,SAAUE,GAC9B,IAAKjQ,EAAMiQ,GACP,KAAM,IAAIpb,OAAM,oBAAsB0E,EAClC,oCACA0W,EAAiB,QACjBF,EAAavQ,KAAK,MAE1BsP,GAAYmB,EAAgB,WACxBD,IAC8B,IAA1BA,GACAxB,EAAYjV,EAAKiJ,UAMjC+M,IACAZ,KA6HA7Q,UAAY,kBAyBZG,SAAW,EAAI,EAGfiS,YAAc/E,SAAWA,SAASrR,UAAYvD,OAC9CyH,eAAiBkS,YAAcA,YAAYhR,SAAW3I,OAoHtD4Z,cAAgB,kBAChBC,kBAAoB,iCACpBC,oBAAsB,kBACtBC,WAAa,iBAGbC,MAAQ,UAGR1R,aAAe2R,OAAO,IAAMD,MAAQJ,cAAiBC,kBAAoBC,oBAAsBC,WAAa,KAc5GG,gBAAkB,kBAClBC,oBAAsB,iCACtBC,sBAAwB,kBACxBC,aAAe,iBAGfC,SAAW,IAAMJ,gBAAkB,IACnCK,QAAU,IAAMJ,oBAAsBC,sBAAwB,IAC9DI,OAAS,2BACTC,WAAa,MAAQF,QAAU,IAAMC,OAAS,IAC9CE,YAAc,KAAOR,gBAAkB,IACvCS,WAAa,kCACbC,WAAa,qCACbC,QAAU,UAGVC,SAAWL,WAAa,IACxBM,SAAW,IAAMV,aAAe,KAChCW,UAAY,MAAQH,QAAU,OAASH,YAAaC,WAAYC,YAAY3R,KAAK,KAAO,IAAM8R,SAAWD,SAAW,KACpHG,MAAQF,SAAWD,SAAWE,UAC9BE,SAAW,OAASR,YAAcH,QAAU,IAAKA,QAASI,WAAYC,WAAYN,UAAUrR,KAAK,KAAO,IAGxGR,UAAYwR,OAAOO,OAAS,MAAQA,OAAS,KAAOU,SAAWD,MAAO,KAoDtEjS,OAAS,aAwCTI,QAAU,qDACVC,aAAe,IACfE,OAAS,eACTJ,eAAiB,mCAwIjBgS,gBAA0C,kBAAjBC,eAA+BA,aACxDC,YAAiC,gBAAZvP,UAAoD,kBAArBA,SAAQwP,SAe5DC,MAGAA,QADAJ,gBACSC,aACFC,YACEvP,QAAQwP,SAERjR,QAGb,IAAIoB,gBAAiBlB,KAAKgR,OAgB1B9Q,KAAIlH,UAAUiY,WAAa,SAAS1Q,GAQhC,MAPIA,GAAK2Q,KAAM3Q,EAAK2Q,KAAKjX,KAAOsG,EAAKtG,KAChC5H,KAAK8N,KAAOI,EAAKtG,KAClBsG,EAAKtG,KAAMsG,EAAKtG,KAAKiX,KAAO3Q,EAAK2Q,KAChC7e,KAAK+N,KAAOG,EAAK2Q,KAEtB3Q,EAAK2Q,KAAO3Q,EAAKtG,KAAO,KACxB5H,KAAKO,QAAU,EACR2N,GAGXL,IAAIlH,UAAUmJ,MAAQ,WAClB,KAAM9P,KAAK8N,MAAM9N,KAAKoQ,OACtB,OAAOpQ,OAGX6N,IAAIlH,UAAUmY,YAAc,SAAS5Q,EAAM6Q,GACvCA,EAAQF,KAAO3Q,EACf6Q,EAAQnX,KAAOsG,EAAKtG,KAChBsG,EAAKtG,KAAMsG,EAAKtG,KAAKiX,KAAOE,EAC3B/e,KAAK+N,KAAOgR,EACjB7Q,EAAKtG,KAAOmX,EACZ/e,KAAKO,QAAU,GAGnBsN,IAAIlH,UAAUqY,aAAe,SAAS9Q,EAAM6Q,GACxCA,EAAQF,KAAO3Q,EAAK2Q,KACpBE,EAAQnX,KAAOsG,EACXA,EAAK2Q,KAAM3Q,EAAK2Q,KAAKjX,KAAOmX,EAC3B/e,KAAK8N,KAAOiR,EACjB7Q,EAAK2Q,KAAOE,EACZ/e,KAAKO,QAAU,GAGnBsN,IAAIlH,UAAUsI,QAAU,SAASf,GACzBlO,KAAK8N,KAAM9N,KAAKgf,aAAahf,KAAK8N,KAAMI,GACvCF,WAAWhO,KAAMkO,IAG1BL,IAAIlH,UAAUL,KAAO,SAAS4H,GACtBlO,KAAK+N,KAAM/N,KAAK8e,YAAY9e,KAAK+N,KAAMG,GACtCF,WAAWhO,KAAMkO,IAG1BL,IAAIlH,UAAUyJ,MAAQ,WAClB,MAAOpQ,MAAK8N,MAAQ9N,KAAK4e,WAAW5e,KAAK8N,OAG7CD,IAAIlH,UAAU4G,IAAM,WAChB,MAAOvN,MAAK+N,MAAQ/N,KAAK4e,WAAW5e,KAAK+N,OAG7CF,IAAIlH,UAAUsY,QAAU,WAGpB,IAAI,GAFA7V,GAAM3I,MAAMT,KAAKO,QACjB2e,EAAOlf,KAAK8N,KACRpN,EAAM,EAAGA,EAAMV,KAAKO,OAAQG,IAChC0I,EAAI1I,GAAOwe,EAAK1Q,KAChB0Q,EAAOA,EAAKtX,IAEhB,OAAOwB,IAGXyE,IAAIlH,UAAUsJ,OAAS,SAAUC,GAE7B,IADA,GAAIgP,GAAOlf,KAAK8N,KACRoR,GAAM,CACV,GAAItX,GAAOsX,EAAKtX,IACZsI,GAAOgP,IACPlf,KAAK4e,WAAWM,GAEpBA,EAAOtX,EAEX,MAAO5H,MA+PX,IAAI0Q,cAAe9H,QAAQD,YAAa,GAyJpCwW,QAAU,WACV,MAAOvO,KAAIvP,MAAM,KAAMpB,MAAMuC,WAAW6R,YAwCxCxR,OAASoG,WAAW+H,UA0BpBoO,aAAelO,SAASF,UA4CxBqO,SAAW,WACX,GAAIC,GAASrf,MAAMuC,WACftB,GAAQ,MAAM2B,OAAOyc,EACzB,OAAO,YACH,GAAIne,GAAWqB,UAAUA,UAAUjC,OAAS,EAC5C,OAAOY,GAASE,MAAMrB,KAAMkB,KAsEhCqe,OAAStW,WAAWkI,cAAcxQ,SAAU6Q,iBAwB5CgO,YAAc9V,gBAAgByH,cAAcxQ,SAAU6Q,iBAsBtDiO,aAAe7W,QAAQ4W,YAAa,GAoDpCE,IAAMjO,YAAY,OA6QlB6F,WAAa1O,QAAQwJ,YAAa,GAwFlCuN,MAAQ1W,WAAWkI,cAAcqB,MAAOA,QAsBxCoN,WAAalW,gBAAgByH,cAAcqB,MAAOA,QAqBlDqN,YAAcjX,QAAQgX,WAAY,GAwFlC3M,OAAShK,WAAW+J,SAqBpB8M,YAAcpW,gBAAgBsJ,SAmB9B+M,aAAenX,QAAQkX,YAAa,GA6DpCE,aAAe,SAAS1Y,EAAMc,EAAOzD,EAAUxD,GAC/CA,EAAWA,GAAYmD,IACvB,IAAIiF,GAAY3G,YAAY+B,EAC5BuS,UAAS5P,EAAMc,EAAO,SAASkL,EAAKnS,GAChCoI,EAAU+J,EAAK,SAAS9R,EAAK4E,GACzB,MAAI5E,GAAYL,EAASK,GAClBL,EAAS,MAAOiF,IAAKA,EAAKkN,IAAKA,OAE3C,SAAS9R,EAAKye,GAKb,IAAK,GAJD7e,MAEA4B,EAAiBY,OAAO+C,UAAU3D,eAE7BuE,EAAI,EAAGA,EAAI0Y,EAAW1f,OAAQgH,IACnC,GAAI0Y,EAAW1Y,GAAI,CACf,GAAInB,GAAM6Z,EAAW1Y,GAAGnB,IACpBkN,EAAM2M,EAAW1Y,GAAG+L,GAEpBtQ,GAAeC,KAAK7B,EAAQgF,GAC5BhF,EAAOgF,GAAKE,KAAKgN,GAEjBlS,EAAOgF,IAAQkN,GAK3B,MAAOnS,GAASK,EAAKJ,MAwCzB8e,QAAUtX,QAAQoX,aAAcjF,EAAAA,GAqBhCoF,cAAgBvX,QAAQoX,aAAc,GA6BtCI,IAAM3O,YAAY,OAmFlB4O,UAAYzX,QAAQwK,eAAgB2H,EAAAA,GAqBpCuF,gBAAkB1X,QAAQwK,eAAgB,GAyG1CmN,QAGAA,UADA9B,YACWvP,QAAQwP,SACZH,gBACIC,aAEA/Q,QAGf,IAAIiR,UAAW/Q,KAAK4S,UA2NhBC,QAAU,SAAUpS,EAAQC,GAC5B,GAAIsB,GAAU/M,YAAYwL,EAC1B,OAAOD,OAAM,SAAUsS,EAAO9d,GAC1BgN,EAAQ8Q,EAAM,GAAI9d,IACnB0L,EAAa,IA0BhBqS,cAAgB,SAAStS,EAAQC,GAEjC,GAAIK,GAAI8R,QAAQpS,EAAQC,EA4CxB,OAzCAK,GAAEpI,KAAO,SAASkI,EAAMmS,EAAUxf,GAE9B,GADgB,MAAZA,IAAkBA,EAAWmD,MACT,kBAAbnD,GACP,KAAM,IAAIO,OAAM,mCAMpB,IAJAgN,EAAEC,SAAU,EACPhJ,QAAQ6I,KACTA,GAAQA,IAEQ,IAAhBA,EAAKjO,OAEL,MAAOsO,gBAAe,WAClBH,EAAEI,SAIV6R,GAAWA,GAAY,CAEvB,KADA,GAAIC,GAAWlS,EAAEM,OAAOlB,KACjB8S,GAAYD,GAAYC,EAASD,UACpCC,EAAWA,EAAShZ,IAGxB,KAAK,GAAIL,GAAI,EAAGwH,EAAIP,EAAKjO,OAAQgH,EAAIwH,EAAGxH,IAAK,CACzC,GAAII,IACA6G,KAAMA,EAAKjH,GACXoZ,SAAUA,EACVxf,SAAUA,EAGVyf,GACAlS,EAAEM,OAAOgQ,aAAa4B,EAAUjZ,GAEhC+G,EAAEM,OAAO1I,KAAKqB,GAGtBkH,eAAeH,EAAEQ,gBAIdR,GAAEO,QAEFP,GA0KPmS,OAAS5X,WAAWwL,UAqGpBqM,YAAcpX,gBAAgB+K,UAmB9BsM,aAAenY,QAAQkY,YAAa,GAkMpCE,UAAY,SAAUnM,EAAMxF,GACvBA,IACDA,EAAOwF,EACPA,EAAO,KAEX,IAAIW,GAAQ5S,YAAYyM,EACxB,OAAOpO,eAAc,SAAUC,EAAMC,GACjC,QAAS4L,GAAOpK,GACZ6S,EAAMnU,MAAM,KAAMH,EAAK2B,OAAOF,IAG9BkS,EAAMD,MAAMC,EAAM9H,EAAQ5L,GACzByT,MAAM7H,EAAQ5L,MAuGvB8f,KAAOhY,WAAWkI,cAAc+P,QAASvgB,WAuBzCwgB,UAAYzX,gBAAgByH,cAAc+P,QAASvgB,WAsBnDygB,WAAaxY,QAAQuY,UAAW,GA6IhCpK,WAAa1W,KAAKghB,KAClBvK,UAAYzW,KAAKC,IA8EjB2U,MAAQrM,QAAQoO,UAAW+D,EAAAA,GAgB3BuG,YAAc1Y,QAAQoO,UAAW,GA2QjCuK,UAAY,SAAS1U,EAAO1L,GAM5B,QAASqgB,GAAStgB,GACd,GAAImO,GAAOzM,YAAYiK,EAAM4U,KAC7BvgB,GAAKoF,KAAK4B,SAASN,IACnByH,EAAKhO,MAAM,KAAMH,GAGrB,QAAS0G,GAAKpG,GACV,MAAIA,IAAOigB,IAAc5U,EAAMtM,OACpBY,EAASE,MAAM,KAAMmB,eAEhCgf,GAASvhB,MAAMuC,UAAW,IAd9B,GADArB,EAAWoD,KAAKpD,GAAYmD,OACvBqB,QAAQkH,GAAQ,MAAO1L,GAAS,GAAIO,OAAM,6DAC/C,KAAKmL,EAAMtM,OAAQ,MAAOY,IAC1B,IAAIsgB,GAAY,CAehBD,QAoEA5c,OACAqW,UAAWA,UACXE,gBAAiBA,gBACjB9Z,MAAOA,MACPN,SAAUA,SACVyM,KAAMA,KACNZ,WAAYA,WACZ2D,MAAOA,MACP4O,QAASA,QACTtc,OAAQA,OACRuc,aAAcA,aACdC,SAAUA,SACVE,OAAQA,OACRC,YAAaA,YACbC,aAAcA,aACdC,IAAKA,IACL/N,SAAUA,SACVK,QAASA,QACTD,SAAUA,SACVE,OAAQA,OACRyP,KAAMvP,UACNA,UAAWC,YACXlJ,OAAQA,OACRP,YAAaA,YACb+H,aAAcA,aACd4G,WAAYA,WACZjF,YAAaA,YACbsN,MAAOA,MACPC,WAAYA,WACZC,YAAaA,YACb5M,OAAQA,OACR6M,YAAaA,YACbC,aAAcA,aACd7M,QAASA,QACTgN,QAASA,QACTF,aAAcA,aACdG,cAAeA,cACfC,IAAKA,IACL1T,IAAKA,IACLwK,SAAUA,SACVgE,UAAWA,UACXmF,UAAWA,UACXjN,eAAgBA,eAChBkN,gBAAiBA,gBACjB9M,QAASA,QACTkL,SAAUA,SACViD,SAAU5N,cACVA,cAAeC,gBACf0M,cAAeA,cACfvS,MAAOqS,QACPvM,KAAMA,KACNzD,OAAQA,OACR2D,YAAaA,YACbG,QAASA,QACTI,WAAYA,WACZmM,OAAQA,OACRC,YAAaA,YACbC,aAAcA,aACdnM,MAAOA,MACPoM,UAAWA,UACXpQ,IAAKA,IACL+E,OAAQA,OACR6I,aAAc3P,eACdoS,KAAMA,KACNE,UAAWA,UACXC,WAAYA,WACZxL,OAAQA,OACRK,QAASA,QACThB,MAAOA,MACP2M,WAAY5K,UACZsK,YAAaA,YACbxa,UAAWA,UACXuQ,QAASA,QACTG,UAAWA,UACXE,MAAOA,MACP6J,UAAWA,UACX9J,OAAQA,OAGRoK,IAAKlC,MACLmC,IAAKb,KACLc,QAAS5P,UACT6P,cAAe1K,WACf2K,aAAc7P,YACd8P,UAAWhZ,OACXiZ,gBAAiBzR,aACjB0R,eAAgBzZ,YAChB0Z,OAAQ7R,OACR8R,MAAO9R,OACP+R,MAAOpO,YACPqO,OAAQvP,OACRwP,YAAa3C,YACb4C,aAAc3C,aACd4C,SAAU5hB,SAGdpB,SAAiB,QAAIiF,MACrBjF,QAAQsb,UAAYA,UACpBtb,QAAQwb,gBAAkBA,gBAC1Bxb,QAAQ0B,MAAQA,MAChB1B,QAAQoB,SAAWA,SACnBpB,QAAQ6N,KAAOA,KACf7N,QAAQiN,WAAaA,WACrBjN,QAAQ4Q,MAAQA,MAChB5Q,QAAQwf,QAAUA,QAClBxf,QAAQkD,OAASA,OACjBlD,QAAQyf,aAAeA,aACvBzf,QAAQ0f,SAAWA,SACnB1f,QAAQ4f,OAASA,OACjB5f,QAAQ6f,YAAcA,YACtB7f,QAAQ8f,aAAeA,aACvB9f,QAAQ+f,IAAMA,IACd/f,QAAQgS,SAAWA,SACnBhS,QAAQqS,QAAUA,QAClBrS,QAAQoS,SAAWA,SACnBpS,QAAQsS,OAASA,OACjBtS,QAAQ+hB,KAAOvP,UACfxS,QAAQwS,UAAYC,YACpBzS,QAAQuJ,OAASA,OACjBvJ,QAAQgJ,YAAcA,YACtBhJ,QAAQ+Q,aAAeA,aACvB/Q,QAAQ2X,WAAaA,WACrB3X,QAAQ0S,YAAcA,YACtB1S,QAAQggB,MAAQA,MAChBhgB,QAAQigB,WAAaA,WACrBjgB,QAAQkgB,YAAcA,YACtBlgB,QAAQsT,OAASA,OACjBtT,QAAQmgB,YAAcA,YACtBngB,QAAQogB,aAAeA,aACvBpgB,QAAQuT,QAAUA,QAClBvT,QAAQugB,QAAUA,QAClBvgB,QAAQqgB,aAAeA,aACvBrgB,QAAQwgB,cAAgBA,cACxBxgB,QAAQygB,IAAMA,IACdzgB,QAAQ+M,IAAMA,IACd/M,QAAQuX,SAAWA,SACnBvX,QAAQub,UAAYA,UACpBvb,QAAQ0gB,UAAYA,UACpB1gB,QAAQyT,eAAiBA,eACzBzT,QAAQ2gB,gBAAkBA,gBAC1B3gB,QAAQ6T,QAAUA,QAClB7T,QAAQ+e,SAAWA,SACnB/e,QAAQgiB,SAAW5N,cACnBpU,QAAQoU,cAAgBC,gBACxBrU,QAAQ+gB,cAAgBA,cACxB/gB,QAAQwO,MAAQqS,QAChB7gB,QAAQsU,KAAOA,KACftU,QAAQ6Q,OAASA,OACjB7Q,QAAQwU,YAAcA,YACtBxU,QAAQ2U,QAAUA,QAClB3U,QAAQ+U,WAAaA,WACrB/U,QAAQkhB,OAASA,OACjBlhB,QAAQmhB,YAAcA,YACtBnhB,QAAQohB,aAAeA,aACvBphB,QAAQiV,MAAQA,MAChBjV,QAAQqhB,UAAYA,UACpBrhB,QAAQiR,IAAMA,IACdjR,QAAQgW,OAASA,OACjBhW,QAAQ6e,aAAe3P,eACvBlP,QAAQshB,KAAOA,KACfthB,QAAQwhB,UAAYA,UACpBxhB,QAAQyhB,WAAaA,WACrBzhB,QAAQiW,OAASA,OACjBjW,QAAQsW,QAAUA,QAClBtW,QAAQsV,MAAQA,MAChBtV,QAAQiiB,WAAa5K,UACrBrX,QAAQ2hB,YAAcA,YACtB3hB,QAAQmH,UAAYA,UACpBnH,QAAQ0X,QAAUA,QAClB1X,QAAQ6X,UAAYA,UACpB7X,QAAQ+X,MAAQA,MAChB/X,QAAQ4hB,UAAYA,UACpB5hB,QAAQ8X,OAASA,OACjB9X,QAAQkiB,IAAMlC,MACdhgB,QAAQijB,SAAWhD,WACnBjgB,QAAQkjB,UAAYhD,YACpBlgB,QAAQmiB,IAAMb,KACdthB,QAAQmjB,SAAW3B,UACnBxhB,QAAQojB,UAAY3B,WACpBzhB,QAAQqjB,KAAOzD,OACf5f,QAAQsjB,UAAYzD,YACpB7f,QAAQujB,WAAazD,aACrB9f,QAAQoiB,QAAU5P,UAClBxS,QAAQqiB,cAAgB1K,WACxB3X,QAAQsiB,aAAe7P,YACvBzS,QAAQuiB,UAAYhZ,OACpBvJ,QAAQwiB,gBAAkBzR,aAC1B/Q,QAAQyiB,eAAiBzZ,YACzBhJ,QAAQ0iB,OAAS7R,OACjB7Q,QAAQ2iB,MAAQ9R,OAChB7Q,QAAQ4iB,MAAQpO,YAChBxU,QAAQ6iB,OAASvP,OACjBtT,QAAQ8iB,YAAc3C,YACtBngB,QAAQ+iB,aAAe3C,aACvBpgB,QAAQgjB,SAAW5hB,SAEnB6C,OAAOuf,eAAexjB,QAAS;AAAgBiB,OAAO","file":"build/dist/async.min.js"} \ No newline at end of file
diff --git a/support/build/aggregate-build.js b/support/build/aggregate-build.js
index b3f04c5..25e8788 100644
--- a/support/build/aggregate-build.js
+++ b/support/build/aggregate-build.js
@@ -1,9 +1,11 @@
const {rollup} = require('rollup');
+const nodeResolve = require('rollup-plugin-node-resolve');
module.exports = function buildBundle(options, cb) {
const {format, entriesPath, outfile} = options;
return rollup({
- entry: entriesPath + '/index.js'
+ entry: entriesPath + '/index.js',
+ plugins: [ nodeResolve() ]
})
.then(function ( bundle ) {
return bundle.write({
diff --git a/support/build/aggregate-bundle.js b/support/build/aggregate-bundle.js
index 78b1e7e..94089f9 100644
--- a/support/build/aggregate-bundle.js
+++ b/support/build/aggregate-bundle.js
@@ -1,17 +1,7 @@
const aggregateBuild = require('./aggregate-build');
-const compileModules = require('./compile-modules');
-const {series} = require('async');
-const outpath = 'build/modules-for-umd';
-series([
- compileModules.bind(null, {
- es6: true,
- outpath,
- lodashRename: true
- }),
- aggregateBuild.bind(null, {
- entriesPath: outpath,
- outfile: 'build/dist/async.js',
- format: 'umd',
- })
-], err => { if (err) throw err; })
+aggregateBuild({
+ entriesPath: 'build-es',
+ outfile: 'build/dist/async.js',
+ format: 'umd',
+}, err => { if (err) throw err; })
diff --git a/support/build/compile-module.js b/support/build/compile-module.js
index 9b9acbf..1a3e330 100644
--- a/support/build/compile-module.js
+++ b/support/build/compile-module.js
@@ -3,7 +3,6 @@ const {transformFile} = require('babel-core');
const _ = require('lodash');
const pluginCJS = require('babel-plugin-transform-es2015-modules-commonjs');
const pluginModuleExports = require('babel-plugin-add-module-exports');
-const pluginLodashImportRename = require('./plugin-lodash-import-rename');
module.exports = function compileModule(opts, callback) {
const options = _.defaults({}, opts, {
@@ -12,9 +11,6 @@ module.exports = function compileModule(opts, callback) {
});
const plugins = [];
- if (options.lodashRename) {
- plugins.push(pluginLodashImportRename);
- }
if (!options.es6) {
plugins.push(pluginModuleExports);
plugins.push(pluginCJS);
diff --git a/support/build/compile-modules.js b/support/build/compile-modules.js
index 7333518..0a93aaf 100644
--- a/support/build/compile-modules.js
+++ b/support/build/compile-modules.js
@@ -9,8 +9,7 @@ module.exports = function(options, cb) {
options = _.defaults({}, options, {
path: 'lib/',
outpath: 'build',
- es6: false,
- lodashRename: false
+ es6: false
});
const { path, outpath } = options;
@@ -26,7 +25,6 @@ module.exports = function(options, cb) {
compileModule({
file,
output: finalPath,
- lodashRename: options.lodashRename,
es6: options.es6
}, callback)
diff --git a/support/build/plugin-lodash-import-rename.js b/support/build/plugin-lodash-import-rename.js
deleted file mode 100644
index b14304f..0000000
--- a/support/build/plugin-lodash-import-rename.js
+++ /dev/null
@@ -1,24 +0,0 @@
-const _ = require('lodash');
-const {dirname, sep} = require('path');
-
-module.exports = function() {
- return {
- visitor: {
-
- ImportDeclaration(path, mapping) {
- let {node} = path;
- let {value} = node.source;
-
- if (/\blodash\b/.test(value)) {
- let f = mapping.file.opts.filename;
- let dir = dirname(f).split(sep);
- let relative = _.repeat('../', dir.length + 1);
-
- node.source.value = value.replace(
- /\blodash\b/,
- relative + 'node_modules/lodash-es');
- }
- }
- }
- };
-}