calvin-cljs-thisdotrob
Version:
a minimalistic build tool for clojurescript in clojurescript
1,485 lines (1,270 loc) • 296 kB
JavaScript
// Compiled by ClojureScript 1.9.293 {:target :nodejs}
goog.provide('cljs.core.async');
goog.require('cljs.core');
goog.require('cljs.core.async.impl.channels');
goog.require('cljs.core.async.impl.dispatch');
goog.require('cljs.core.async.impl.ioc_helpers');
goog.require('cljs.core.async.impl.protocols');
goog.require('cljs.core.async.impl.buffers');
goog.require('cljs.core.async.impl.timers');
cljs.core.async.fn_handler = (function cljs$core$async$fn_handler(var_args){
var args20988 = [];
var len__7651__auto___20995 = arguments.length;
var i__7652__auto___20997 = (0);
while(true){
if((i__7652__auto___20997 < len__7651__auto___20995)){
args20988.push((arguments[i__7652__auto___20997]));
var G__21001 = (i__7652__auto___20997 + (1));
i__7652__auto___20997 = G__21001;
continue;
} else {
}
break;
}
var G__20990 = args20988.length;
switch (G__20990) {
case 1:
return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args20988.length)].join('')));
}
});
cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1 = (function (f){
return cljs.core.async.fn_handler.call(null,f,true);
});
cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2 = (function (f,blockable){
if(typeof cljs.core.async.t_cljs$core$async20991 !== 'undefined'){
} else {
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async20991 = (function (f,blockable,meta20992){
this.f = f;
this.blockable = blockable;
this.meta20992 = meta20992;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
})
cljs.core.async.t_cljs$core$async20991.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_20993,meta20992__$1){
var self__ = this;
var _20993__$1 = this;
return (new cljs.core.async.t_cljs$core$async20991(self__.f,self__.blockable,meta20992__$1));
});
cljs.core.async.t_cljs$core$async20991.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_20993){
var self__ = this;
var _20993__$1 = this;
return self__.meta20992;
});
cljs.core.async.t_cljs$core$async20991.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.t_cljs$core$async20991.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return true;
});
cljs.core.async.t_cljs$core$async20991.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.blockable;
});
cljs.core.async.t_cljs$core$async20991.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.f;
});
cljs.core.async.t_cljs$core$async20991.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"blockable","blockable",-28395259,null),new cljs.core.Symbol(null,"meta20992","meta20992",563192964,null)], null);
});
cljs.core.async.t_cljs$core$async20991.cljs$lang$type = true;
cljs.core.async.t_cljs$core$async20991.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async20991";
cljs.core.async.t_cljs$core$async20991.cljs$lang$ctorPrWriter = (function (this__7149__auto__,writer__7150__auto__,opt__7151__auto__){
return cljs.core._write.call(null,writer__7150__auto__,"cljs.core.async/t_cljs$core$async20991");
});
cljs.core.async.__GT_t_cljs$core$async20991 = (function cljs$core$async$__GT_t_cljs$core$async20991(f__$1,blockable__$1,meta20992){
return (new cljs.core.async.t_cljs$core$async20991(f__$1,blockable__$1,meta20992));
});
}
return (new cljs.core.async.t_cljs$core$async20991(f,blockable,cljs.core.PersistentArrayMap.EMPTY));
});
cljs.core.async.fn_handler.cljs$lang$maxFixedArity = 2;
/**
* Returns a fixed buffer of size n. When full, puts will block/park.
*/
cljs.core.async.buffer = (function cljs$core$async$buffer(n){
return cljs.core.async.impl.buffers.fixed_buffer.call(null,n);
});
/**
* Returns a buffer of size n. When full, puts will complete but
* val will be dropped (no transfer).
*/
cljs.core.async.dropping_buffer = (function cljs$core$async$dropping_buffer(n){
return cljs.core.async.impl.buffers.dropping_buffer.call(null,n);
});
/**
* Returns a buffer of size n. When full, puts will complete, and be
* buffered, but oldest elements in buffer will be dropped (not
* transferred).
*/
cljs.core.async.sliding_buffer = (function cljs$core$async$sliding_buffer(n){
return cljs.core.async.impl.buffers.sliding_buffer.call(null,n);
});
/**
* Returns true if a channel created with buff will never block. That is to say,
* puts into this buffer will never cause the buffer to be full.
*/
cljs.core.async.unblocking_buffer_QMARK_ = (function cljs$core$async$unblocking_buffer_QMARK_(buff){
if(!((buff == null))){
if((false) || ((cljs.core.PROTOCOL_SENTINEL === buff.cljs$core$async$impl$protocols$UnblockingBuffer$))){
return true;
} else {
if((!buff.cljs$lang$protocol_mask$partition$)){
return cljs.core.native_satisfies_QMARK_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,buff);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,buff);
}
});
/**
* Creates a channel with an optional buffer, an optional transducer (like (map f),
* (filter p) etc or a composition thereof), and an optional exception handler.
* If buf-or-n is a number, will create and use a fixed buffer of that size. If a
* transducer is supplied a buffer must be specified. ex-handler must be a
* fn of one argument - if an exception occurs during transformation it will be called
* with the thrown value as an argument, and any non-nil return value will be placed
* in the channel.
*/
cljs.core.async.chan = (function cljs$core$async$chan(var_args){
var args21018 = [];
var len__7651__auto___21031 = arguments.length;
var i__7652__auto___21032 = (0);
while(true){
if((i__7652__auto___21032 < len__7651__auto___21031)){
args21018.push((arguments[i__7652__auto___21032]));
var G__21036 = (i__7652__auto___21032 + (1));
i__7652__auto___21032 = G__21036;
continue;
} else {
}
break;
}
var G__21025 = args21018.length;
switch (G__21025) {
case 0:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21018.length)].join('')));
}
});
cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.async.chan.call(null,null);
});
cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1 = (function (buf_or_n){
return cljs.core.async.chan.call(null,buf_or_n,null,null);
});
cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2 = (function (buf_or_n,xform){
return cljs.core.async.chan.call(null,buf_or_n,xform,null);
});
cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3 = (function (buf_or_n,xform,ex_handler){
var buf_or_n__$1 = ((cljs.core._EQ_.call(null,buf_or_n,(0)))?null:buf_or_n);
if(cljs.core.truth_(xform)){
if(cljs.core.truth_(buf_or_n__$1)){
} else {
throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str("buffer must be supplied when transducer is"),cljs.core.str("\n"),cljs.core.str("buf-or-n")].join('')));
}
} else {
}
return cljs.core.async.impl.channels.chan.call(null,((typeof buf_or_n__$1 === 'number')?cljs.core.async.buffer.call(null,buf_or_n__$1):buf_or_n__$1),xform,ex_handler);
});
cljs.core.async.chan.cljs$lang$maxFixedArity = 3;
/**
* Creates a promise channel with an optional transducer, and an optional
* exception-handler. A promise channel can take exactly one value that consumers
* will receive. Once full, puts complete but val is dropped (no transfer).
* Consumers will block until either a value is placed in the channel or the
* channel is closed. See chan for the semantics of xform and ex-handler.
*/
cljs.core.async.promise_chan = (function cljs$core$async$promise_chan(var_args){
var args21044 = [];
var len__7651__auto___21052 = arguments.length;
var i__7652__auto___21053 = (0);
while(true){
if((i__7652__auto___21053 < len__7651__auto___21052)){
args21044.push((arguments[i__7652__auto___21053]));
var G__21057 = (i__7652__auto___21053 + (1));
i__7652__auto___21053 = G__21057;
continue;
} else {
}
break;
}
var G__21050 = args21044.length;
switch (G__21050) {
case 0:
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21044.length)].join('')));
}
});
cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.async.promise_chan.call(null,null);
});
cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1 = (function (xform){
return cljs.core.async.promise_chan.call(null,xform,null);
});
cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2 = (function (xform,ex_handler){
return cljs.core.async.chan.call(null,cljs.core.async.impl.buffers.promise_buffer.call(null),xform,ex_handler);
});
cljs.core.async.promise_chan.cljs$lang$maxFixedArity = 2;
/**
* Returns a channel that will close after msecs
*/
cljs.core.async.timeout = (function cljs$core$async$timeout(msecs){
return cljs.core.async.impl.timers.timeout.call(null,msecs);
});
/**
* takes a val from port. Must be called inside a (go ...) block. Will
* return nil if closed. Will park if nothing is available.
* Returns true unless port is already closed
*/
cljs.core.async._LT__BANG_ = (function cljs$core$async$_LT__BANG_(port){
throw (new Error("<! used not in (go ...) block"));
});
/**
* Asynchronously takes a val from port, passing to fn1. Will pass nil
* if closed. If on-caller? (default true) is true, and value is
* immediately available, will call fn1 on calling thread.
* Returns nil.
*/
cljs.core.async.take_BANG_ = (function cljs$core$async$take_BANG_(var_args){
var args21065 = [];
var len__7651__auto___21068 = arguments.length;
var i__7652__auto___21069 = (0);
while(true){
if((i__7652__auto___21069 < len__7651__auto___21068)){
args21065.push((arguments[i__7652__auto___21069]));
var G__21070 = (i__7652__auto___21069 + (1));
i__7652__auto___21069 = G__21070;
continue;
} else {
}
break;
}
var G__21067 = args21065.length;
switch (G__21067) {
case 2:
return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21065.length)].join('')));
}
});
cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (port,fn1){
return cljs.core.async.take_BANG_.call(null,port,fn1,true);
});
cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (port,fn1,on_caller_QMARK_){
var ret = cljs.core.async.impl.protocols.take_BANG_.call(null,port,cljs.core.async.fn_handler.call(null,fn1));
if(cljs.core.truth_(ret)){
var val_21074 = cljs.core.deref.call(null,ret);
if(cljs.core.truth_(on_caller_QMARK_)){
fn1.call(null,val_21074);
} else {
cljs.core.async.impl.dispatch.run.call(null,((function (val_21074,ret){
return (function (){
return fn1.call(null,val_21074);
});})(val_21074,ret))
);
}
} else {
}
return null;
});
cljs.core.async.take_BANG_.cljs$lang$maxFixedArity = 3;
cljs.core.async.nop = (function cljs$core$async$nop(_){
return null;
});
cljs.core.async.fhnop = cljs.core.async.fn_handler.call(null,cljs.core.async.nop);
/**
* puts a val into port. nil values are not allowed. Must be called
* inside a (go ...) block. Will park if no buffer space is available.
* Returns true unless port is already closed.
*/
cljs.core.async._GT__BANG_ = (function cljs$core$async$_GT__BANG_(port,val){
throw (new Error(">! used not in (go ...) block"));
});
/**
* Asynchronously puts a val into port, calling fn0 (if supplied) when
* complete. nil values are not allowed. Will throw if closed. If
* on-caller? (default true) is true, and the put is immediately
* accepted, will call fn0 on calling thread. Returns nil.
*/
cljs.core.async.put_BANG_ = (function cljs$core$async$put_BANG_(var_args){
var args21076 = [];
var len__7651__auto___21084 = arguments.length;
var i__7652__auto___21085 = (0);
while(true){
if((i__7652__auto___21085 < len__7651__auto___21084)){
args21076.push((arguments[i__7652__auto___21085]));
var G__21086 = (i__7652__auto___21085 + (1));
i__7652__auto___21085 = G__21086;
continue;
} else {
}
break;
}
var G__21081 = args21076.length;
switch (G__21081) {
case 2:
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21076.length)].join('')));
}
});
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (port,val){
var temp__4655__auto__ = cljs.core.async.impl.protocols.put_BANG_.call(null,port,val,cljs.core.async.fhnop);
if(cljs.core.truth_(temp__4655__auto__)){
var ret = temp__4655__auto__;
return cljs.core.deref.call(null,ret);
} else {
return true;
}
});
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (port,val,fn1){
return cljs.core.async.put_BANG_.call(null,port,val,fn1,true);
});
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4 = (function (port,val,fn1,on_caller_QMARK_){
var temp__4655__auto__ = cljs.core.async.impl.protocols.put_BANG_.call(null,port,val,cljs.core.async.fn_handler.call(null,fn1));
if(cljs.core.truth_(temp__4655__auto__)){
var retb = temp__4655__auto__;
var ret = cljs.core.deref.call(null,retb);
if(cljs.core.truth_(on_caller_QMARK_)){
fn1.call(null,ret);
} else {
cljs.core.async.impl.dispatch.run.call(null,((function (ret,retb,temp__4655__auto__){
return (function (){
return fn1.call(null,ret);
});})(ret,retb,temp__4655__auto__))
);
}
return ret;
} else {
return true;
}
});
cljs.core.async.put_BANG_.cljs$lang$maxFixedArity = 4;
cljs.core.async.close_BANG_ = (function cljs$core$async$close_BANG_(port){
return cljs.core.async.impl.protocols.close_BANG_.call(null,port);
});
cljs.core.async.random_array = (function cljs$core$async$random_array(n){
var a = (new Array(n));
var n__7461__auto___21093 = n;
var x_21094 = (0);
while(true){
if((x_21094 < n__7461__auto___21093)){
(a[x_21094] = (0));
var G__21095 = (x_21094 + (1));
x_21094 = G__21095;
continue;
} else {
}
break;
}
var i = (1);
while(true){
if(cljs.core._EQ_.call(null,i,n)){
return a;
} else {
var j = cljs.core.rand_int.call(null,i);
(a[i] = (a[j]));
(a[j] = i);
var G__21098 = (i + (1));
i = G__21098;
continue;
}
break;
}
});
cljs.core.async.alt_flag = (function cljs$core$async$alt_flag(){
var flag = cljs.core.atom.call(null,true);
if(typeof cljs.core.async.t_cljs$core$async21108 !== 'undefined'){
} else {
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async21108 = (function (flag,meta21109){
this.flag = flag;
this.meta21109 = meta21109;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
})
cljs.core.async.t_cljs$core$async21108.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (flag){
return (function (_21110,meta21109__$1){
var self__ = this;
var _21110__$1 = this;
return (new cljs.core.async.t_cljs$core$async21108(self__.flag,meta21109__$1));
});})(flag))
;
cljs.core.async.t_cljs$core$async21108.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (flag){
return (function (_21110){
var self__ = this;
var _21110__$1 = this;
return self__.meta21109;
});})(flag))
;
cljs.core.async.t_cljs$core$async21108.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.t_cljs$core$async21108.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = ((function (flag){
return (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.deref.call(null,self__.flag);
});})(flag))
;
cljs.core.async.t_cljs$core$async21108.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = ((function (flag){
return (function (_){
var self__ = this;
var ___$1 = this;
return true;
});})(flag))
;
cljs.core.async.t_cljs$core$async21108.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = ((function (flag){
return (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_.call(null,self__.flag,null);
return true;
});})(flag))
;
cljs.core.async.t_cljs$core$async21108.getBasis = ((function (flag){
return (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"flag","flag",-1565787888,null),new cljs.core.Symbol(null,"meta21109","meta21109",-1860934939,null)], null);
});})(flag))
;
cljs.core.async.t_cljs$core$async21108.cljs$lang$type = true;
cljs.core.async.t_cljs$core$async21108.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async21108";
cljs.core.async.t_cljs$core$async21108.cljs$lang$ctorPrWriter = ((function (flag){
return (function (this__7149__auto__,writer__7150__auto__,opt__7151__auto__){
return cljs.core._write.call(null,writer__7150__auto__,"cljs.core.async/t_cljs$core$async21108");
});})(flag))
;
cljs.core.async.__GT_t_cljs$core$async21108 = ((function (flag){
return (function cljs$core$async$alt_flag_$___GT_t_cljs$core$async21108(flag__$1,meta21109){
return (new cljs.core.async.t_cljs$core$async21108(flag__$1,meta21109));
});})(flag))
;
}
return (new cljs.core.async.t_cljs$core$async21108(flag,cljs.core.PersistentArrayMap.EMPTY));
});
cljs.core.async.alt_handler = (function cljs$core$async$alt_handler(flag,cb){
if(typeof cljs.core.async.t_cljs$core$async21121 !== 'undefined'){
} else {
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async21121 = (function (flag,cb,meta21122){
this.flag = flag;
this.cb = cb;
this.meta21122 = meta21122;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
})
cljs.core.async.t_cljs$core$async21121.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_21123,meta21122__$1){
var self__ = this;
var _21123__$1 = this;
return (new cljs.core.async.t_cljs$core$async21121(self__.flag,self__.cb,meta21122__$1));
});
cljs.core.async.t_cljs$core$async21121.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_21123){
var self__ = this;
var _21123__$1 = this;
return self__.meta21122;
});
cljs.core.async.t_cljs$core$async21121.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.t_cljs$core$async21121.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.active_QMARK_.call(null,self__.flag);
});
cljs.core.async.t_cljs$core$async21121.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return true;
});
cljs.core.async.t_cljs$core$async21121.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.async.impl.protocols.commit.call(null,self__.flag);
return self__.cb;
});
cljs.core.async.t_cljs$core$async21121.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"flag","flag",-1565787888,null),new cljs.core.Symbol(null,"cb","cb",-2064487928,null),new cljs.core.Symbol(null,"meta21122","meta21122",530865012,null)], null);
});
cljs.core.async.t_cljs$core$async21121.cljs$lang$type = true;
cljs.core.async.t_cljs$core$async21121.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async21121";
cljs.core.async.t_cljs$core$async21121.cljs$lang$ctorPrWriter = (function (this__7149__auto__,writer__7150__auto__,opt__7151__auto__){
return cljs.core._write.call(null,writer__7150__auto__,"cljs.core.async/t_cljs$core$async21121");
});
cljs.core.async.__GT_t_cljs$core$async21121 = (function cljs$core$async$alt_handler_$___GT_t_cljs$core$async21121(flag__$1,cb__$1,meta21122){
return (new cljs.core.async.t_cljs$core$async21121(flag__$1,cb__$1,meta21122));
});
}
return (new cljs.core.async.t_cljs$core$async21121(flag,cb,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* returns derefable [val port] if immediate, nil if enqueued
*/
cljs.core.async.do_alts = (function cljs$core$async$do_alts(fret,ports,opts){
var flag = cljs.core.async.alt_flag.call(null);
var n = cljs.core.count.call(null,ports);
var idxs = cljs.core.async.random_array.call(null,n);
var priority = new cljs.core.Keyword(null,"priority","priority",1431093715).cljs$core$IFn$_invoke$arity$1(opts);
var ret = (function (){var i = (0);
while(true){
if((i < n)){
var idx = (cljs.core.truth_(priority)?i:(idxs[i]));
var port = cljs.core.nth.call(null,ports,idx);
var wport = ((cljs.core.vector_QMARK_.call(null,port))?port.call(null,(0)):null);
var vbox = (cljs.core.truth_(wport)?(function (){var val = port.call(null,(1));
return cljs.core.async.impl.protocols.put_BANG_.call(null,wport,val,cljs.core.async.alt_handler.call(null,flag,((function (i,val,idx,port,wport,flag,n,idxs,priority){
return (function (p1__21148_SHARP_){
return fret.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__21148_SHARP_,wport], null));
});})(i,val,idx,port,wport,flag,n,idxs,priority))
));
})():cljs.core.async.impl.protocols.take_BANG_.call(null,port,cljs.core.async.alt_handler.call(null,flag,((function (i,idx,port,wport,flag,n,idxs,priority){
return (function (p1__21149_SHARP_){
return fret.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__21149_SHARP_,port], null));
});})(i,idx,port,wport,flag,n,idxs,priority))
)));
if(cljs.core.truth_(vbox)){
return cljs.core.async.impl.channels.box.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref.call(null,vbox),(function (){var or__6543__auto__ = wport;
if(cljs.core.truth_(or__6543__auto__)){
return or__6543__auto__;
} else {
return port;
}
})()], null));
} else {
var G__21181 = (i + (1));
i = G__21181;
continue;
}
} else {
return null;
}
break;
}
})();
var or__6543__auto__ = ret;
if(cljs.core.truth_(or__6543__auto__)){
return or__6543__auto__;
} else {
if(cljs.core.contains_QMARK_.call(null,opts,new cljs.core.Keyword(null,"default","default",-1987822328))){
var temp__4657__auto__ = (function (){var and__6531__auto__ = cljs.core.async.impl.protocols.active_QMARK_.call(null,flag);
if(cljs.core.truth_(and__6531__auto__)){
return cljs.core.async.impl.protocols.commit.call(null,flag);
} else {
return and__6531__auto__;
}
})();
if(cljs.core.truth_(temp__4657__auto__)){
var got = temp__4657__auto__;
return cljs.core.async.impl.channels.box.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"default","default",-1987822328).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,"default","default",-1987822328)], null));
} else {
return null;
}
} else {
return null;
}
}
});
/**
* Completes at most one of several channel operations. Must be called
* inside a (go ...) block. ports is a vector of channel endpoints,
* which can be either a channel to take from or a vector of
* [channel-to-put-to val-to-put], in any combination. Takes will be
* made as if by <!, and puts will be made as if by >!. Unless
* the :priority option is true, if more than one port operation is
* ready a non-deterministic choice will be made. If no operation is
* ready and a :default value is supplied, [default-val :default] will
* be returned, otherwise alts! will park until the first operation to
* become ready completes. Returns [val port] of the completed
* operation, where val is the value taken for takes, and a
* boolean (true unless already closed, as per put!) for puts.
*
* opts are passed as :key val ... Supported options:
*
* :default val - the value to use if none of the operations are immediately ready
* :priority true - (default nil) when true, the operations will be tried in order.
*
* Note: there is no guarantee that the port exps or val exprs will be
* used, nor in what order should they be, so they should not be
* depended upon for side effects.
*/
cljs.core.async.alts_BANG_ = (function cljs$core$async$alts_BANG_(var_args){
var args__7658__auto__ = [];
var len__7651__auto___21200 = arguments.length;
var i__7652__auto___21201 = (0);
while(true){
if((i__7652__auto___21201 < len__7651__auto___21200)){
args__7658__auto__.push((arguments[i__7652__auto___21201]));
var G__21202 = (i__7652__auto___21201 + (1));
i__7652__auto___21201 = G__21202;
continue;
} else {
}
break;
}
var argseq__7659__auto__ = ((((1) < args__7658__auto__.length))?(new cljs.core.IndexedSeq(args__7658__auto__.slice((1)),(0),null)):null);
return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__7659__auto__);
});
cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (ports,p__21197){
var map__21198 = p__21197;
var map__21198__$1 = ((((!((map__21198 == null)))?((((map__21198.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__21198.cljs$core$ISeq$)))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__21198):map__21198);
var opts = map__21198__$1;
throw (new Error("alts! used not in (go ...) block"));
});
cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity = (1);
cljs.core.async.alts_BANG_.cljs$lang$applyTo = (function (seq21189){
var G__21190 = cljs.core.first.call(null,seq21189);
var seq21189__$1 = cljs.core.next.call(null,seq21189);
return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__21190,seq21189__$1);
});
/**
* Puts a val into port if it's possible to do so immediately.
* nil values are not allowed. Never blocks. Returns true if offer succeeds.
*/
cljs.core.async.offer_BANG_ = (function cljs$core$async$offer_BANG_(port,val){
var ret = cljs.core.async.impl.protocols.put_BANG_.call(null,port,val,cljs.core.async.fn_handler.call(null,cljs.core.async.nop,false));
if(cljs.core.truth_(ret)){
return cljs.core.deref.call(null,ret);
} else {
return null;
}
});
/**
* Takes a val from port if it's possible to do so immediately.
* Never blocks. Returns value if successful, nil otherwise.
*/
cljs.core.async.poll_BANG_ = (function cljs$core$async$poll_BANG_(port){
var ret = cljs.core.async.impl.protocols.take_BANG_.call(null,port,cljs.core.async.fn_handler.call(null,cljs.core.async.nop,false));
if(cljs.core.truth_(ret)){
return cljs.core.deref.call(null,ret);
} else {
return null;
}
});
/**
* Takes elements from the from channel and supplies them to the to
* channel. By default, the to channel will be closed when the from
* channel closes, but can be determined by the close? parameter. Will
* stop consuming the from channel if the to channel closes
*/
cljs.core.async.pipe = (function cljs$core$async$pipe(var_args){
var args21219 = [];
var len__7651__auto___21304 = arguments.length;
var i__7652__auto___21305 = (0);
while(true){
if((i__7652__auto___21305 < len__7651__auto___21304)){
args21219.push((arguments[i__7652__auto___21305]));
var G__21306 = (i__7652__auto___21305 + (1));
i__7652__auto___21305 = G__21306;
continue;
} else {
}
break;
}
var G__21225 = args21219.length;
switch (G__21225) {
case 2:
return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21219.length)].join('')));
}
});
cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2 = (function (from,to){
return cljs.core.async.pipe.call(null,from,to,true);
});
cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3 = (function (from,to,close_QMARK_){
var c__9686__auto___21317 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (c__9686__auto___21317){
return (function (){
var f__9687__auto__ = (function (){var switch__9642__auto__ = ((function (c__9686__auto___21317){
return (function (state_21256){
var state_val_21257 = (state_21256[(1)]);
if((state_val_21257 === (7))){
var inst_21252 = (state_21256[(2)]);
var state_21256__$1 = state_21256;
var statearr_21267_21320 = state_21256__$1;
(statearr_21267_21320[(2)] = inst_21252);
(statearr_21267_21320[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21257 === (1))){
var state_21256__$1 = state_21256;
var statearr_21268_21324 = state_21256__$1;
(statearr_21268_21324[(2)] = null);
(statearr_21268_21324[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21257 === (4))){
var inst_21234 = (state_21256[(7)]);
var inst_21234__$1 = (state_21256[(2)]);
var inst_21235 = (inst_21234__$1 == null);
var state_21256__$1 = (function (){var statearr_21269 = state_21256;
(statearr_21269[(7)] = inst_21234__$1);
return statearr_21269;
})();
if(cljs.core.truth_(inst_21235)){
var statearr_21270_21329 = state_21256__$1;
(statearr_21270_21329[(1)] = (5));
} else {
var statearr_21271_21330 = state_21256__$1;
(statearr_21271_21330[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21257 === (13))){
var state_21256__$1 = state_21256;
var statearr_21272_21331 = state_21256__$1;
(statearr_21272_21331[(2)] = null);
(statearr_21272_21331[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21257 === (6))){
var inst_21234 = (state_21256[(7)]);
var state_21256__$1 = state_21256;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_21256__$1,(11),to,inst_21234);
} else {
if((state_val_21257 === (3))){
var inst_21254 = (state_21256[(2)]);
var state_21256__$1 = state_21256;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_21256__$1,inst_21254);
} else {
if((state_val_21257 === (12))){
var state_21256__$1 = state_21256;
var statearr_21282_21346 = state_21256__$1;
(statearr_21282_21346[(2)] = null);
(statearr_21282_21346[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21257 === (2))){
var state_21256__$1 = state_21256;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_21256__$1,(4),from);
} else {
if((state_val_21257 === (11))){
var inst_21244 = (state_21256[(2)]);
var state_21256__$1 = state_21256;
if(cljs.core.truth_(inst_21244)){
var statearr_21283_21361 = state_21256__$1;
(statearr_21283_21361[(1)] = (12));
} else {
var statearr_21284_21369 = state_21256__$1;
(statearr_21284_21369[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21257 === (9))){
var state_21256__$1 = state_21256;
var statearr_21285_21374 = state_21256__$1;
(statearr_21285_21374[(2)] = null);
(statearr_21285_21374[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21257 === (5))){
var state_21256__$1 = state_21256;
if(cljs.core.truth_(close_QMARK_)){
var statearr_21286_21381 = state_21256__$1;
(statearr_21286_21381[(1)] = (8));
} else {
var statearr_21287_21388 = state_21256__$1;
(statearr_21287_21388[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21257 === (14))){
var inst_21250 = (state_21256[(2)]);
var state_21256__$1 = state_21256;
var statearr_21288_21389 = state_21256__$1;
(statearr_21288_21389[(2)] = inst_21250);
(statearr_21288_21389[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21257 === (10))){
var inst_21241 = (state_21256[(2)]);
var state_21256__$1 = state_21256;
var statearr_21289_21404 = state_21256__$1;
(statearr_21289_21404[(2)] = inst_21241);
(statearr_21289_21404[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21257 === (8))){
var inst_21238 = cljs.core.async.close_BANG_.call(null,to);
var state_21256__$1 = state_21256;
var statearr_21290_21416 = state_21256__$1;
(statearr_21290_21416[(2)] = inst_21238);
(statearr_21290_21416[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__9686__auto___21317))
;
return ((function (switch__9642__auto__,c__9686__auto___21317){
return (function() {
var cljs$core$async$state_machine__9643__auto__ = null;
var cljs$core$async$state_machine__9643__auto____0 = (function (){
var statearr_21300 = [null,null,null,null,null,null,null,null];
(statearr_21300[(0)] = cljs$core$async$state_machine__9643__auto__);
(statearr_21300[(1)] = (1));
return statearr_21300;
});
var cljs$core$async$state_machine__9643__auto____1 = (function (state_21256){
while(true){
var ret_value__9644__auto__ = (function (){try{while(true){
var result__9645__auto__ = switch__9642__auto__.call(null,state_21256);
if(cljs.core.keyword_identical_QMARK_.call(null,result__9645__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__9645__auto__;
}
break;
}
}catch (e21301){if((e21301 instanceof Object)){
var ex__9646__auto__ = e21301;
var statearr_21302_21441 = state_21256;
(statearr_21302_21441[(5)] = ex__9646__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_21256);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e21301;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__9644__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__21448 = state_21256;
state_21256 = G__21448;
continue;
} else {
return ret_value__9644__auto__;
}
break;
}
});
cljs$core$async$state_machine__9643__auto__ = function(state_21256){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__9643__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__9643__auto____1.call(this,state_21256);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__9643__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__9643__auto____0;
cljs$core$async$state_machine__9643__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__9643__auto____1;
return cljs$core$async$state_machine__9643__auto__;
})()
;})(switch__9642__auto__,c__9686__auto___21317))
})();
var state__9688__auto__ = (function (){var statearr_21303 = f__9687__auto__.call(null);
(statearr_21303[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__9686__auto___21317);
return statearr_21303;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__9688__auto__);
});})(c__9686__auto___21317))
);
return to;
});
cljs.core.async.pipe.cljs$lang$maxFixedArity = 3;
cljs.core.async.pipeline_STAR_ = (function cljs$core$async$pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,type){
if((n > (0))){
} else {
throw (new Error("Assert failed: (pos? n)"));
}
var jobs = cljs.core.async.chan.call(null,n);
var results = cljs.core.async.chan.call(null,n);
var process = ((function (jobs,results){
return (function (p__21796){
var vec__21797 = p__21796;
var v = cljs.core.nth.call(null,vec__21797,(0),null);
var p = cljs.core.nth.call(null,vec__21797,(1),null);
var job = vec__21797;
if((job == null)){
cljs.core.async.close_BANG_.call(null,results);
return null;
} else {
var res = cljs.core.async.chan.call(null,(1),xf,ex_handler);
var c__9686__auto___22050 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (c__9686__auto___22050,res,vec__21797,v,p,job,jobs,results){
return (function (){
var f__9687__auto__ = (function (){var switch__9642__auto__ = ((function (c__9686__auto___22050,res,vec__21797,v,p,job,jobs,results){
return (function (state_21804){
var state_val_21805 = (state_21804[(1)]);
if((state_val_21805 === (1))){
var state_21804__$1 = state_21804;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_21804__$1,(2),res,v);
} else {
if((state_val_21805 === (2))){
var inst_21801 = (state_21804[(2)]);
var inst_21802 = cljs.core.async.close_BANG_.call(null,res);
var state_21804__$1 = (function (){var statearr_21806 = state_21804;
(statearr_21806[(7)] = inst_21801);
return statearr_21806;
})();
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_21804__$1,inst_21802);
} else {
return null;
}
}
});})(c__9686__auto___22050,res,vec__21797,v,p,job,jobs,results))
;
return ((function (switch__9642__auto__,c__9686__auto___22050,res,vec__21797,v,p,job,jobs,results){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____0 = (function (){
var statearr_21810 = [null,null,null,null,null,null,null,null];
(statearr_21810[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__);
(statearr_21810[(1)] = (1));
return statearr_21810;
});
var cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____1 = (function (state_21804){
while(true){
var ret_value__9644__auto__ = (function (){try{while(true){
var result__9645__auto__ = switch__9642__auto__.call(null,state_21804);
if(cljs.core.keyword_identical_QMARK_.call(null,result__9645__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__9645__auto__;
}
break;
}
}catch (e21812){if((e21812 instanceof Object)){
var ex__9646__auto__ = e21812;
var statearr_21813_22065 = state_21804;
(statearr_21813_22065[(5)] = ex__9646__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_21804);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e21812;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__9644__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__22066 = state_21804;
state_21804 = G__22066;
continue;
} else {
return ret_value__9644__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__ = function(state_21804){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____1.call(this,state_21804);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__;
})()
;})(switch__9642__auto__,c__9686__auto___22050,res,vec__21797,v,p,job,jobs,results))
})();
var state__9688__auto__ = (function (){var statearr_21814 = f__9687__auto__.call(null);
(statearr_21814[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__9686__auto___22050);
return statearr_21814;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__9688__auto__);
});})(c__9686__auto___22050,res,vec__21797,v,p,job,jobs,results))
);
cljs.core.async.put_BANG_.call(null,p,res);
return true;
}
});})(jobs,results))
;
var async = ((function (jobs,results,process){
return (function (p__21817){
var vec__21818 = p__21817;
var v = cljs.core.nth.call(null,vec__21818,(0),null);
var p = cljs.core.nth.call(null,vec__21818,(1),null);
var job = vec__21818;
if((job == null)){
cljs.core.async.close_BANG_.call(null,results);
return null;
} else {
var res = cljs.core.async.chan.call(null,(1));
xf.call(null,v,res);
cljs.core.async.put_BANG_.call(null,p,res);
return true;
}
});})(jobs,results,process))
;
var n__7461__auto___22069 = n;
var __22070 = (0);
while(true){
if((__22070 < n__7461__auto___22069)){
var G__21821_22072 = (((type instanceof cljs.core.Keyword))?type.fqn:null);
switch (G__21821_22072) {
case "compute":
var c__9686__auto___22074 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (__22070,c__9686__auto___22074,G__21821_22072,n__7461__auto___22069,jobs,results,process,async){
return (function (){
var f__9687__auto__ = (function (){var switch__9642__auto__ = ((function (__22070,c__9686__auto___22074,G__21821_22072,n__7461__auto___22069,jobs,results,process,async){
return (function (state_21834){
var state_val_21835 = (state_21834[(1)]);
if((state_val_21835 === (1))){
var state_21834__$1 = state_21834;
var statearr_21836_22076 = state_21834__$1;
(statearr_21836_22076[(2)] = null);
(statearr_21836_22076[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21835 === (2))){
var state_21834__$1 = state_21834;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_21834__$1,(4),jobs);
} else {
if((state_val_21835 === (3))){
var inst_21832 = (state_21834[(2)]);
var state_21834__$1 = state_21834;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_21834__$1,inst_21832);
} else {
if((state_val_21835 === (4))){
var inst_21824 = (state_21834[(2)]);
var inst_21825 = process.call(null,inst_21824);
var state_21834__$1 = state_21834;
if(cljs.core.truth_(inst_21825)){
var statearr_21837_22077 = state_21834__$1;
(statearr_21837_22077[(1)] = (5));
} else {
var statearr_21838_22081 = state_21834__$1;
(statearr_21838_22081[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21835 === (5))){
var state_21834__$1 = state_21834;
var statearr_21840_22085 = state_21834__$1;
(statearr_21840_22085[(2)] = null);
(statearr_21840_22085[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21835 === (6))){
var state_21834__$1 = state_21834;
var statearr_21841_22086 = state_21834__$1;
(statearr_21841_22086[(2)] = null);
(statearr_21841_22086[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21835 === (7))){
var inst_21830 = (state_21834[(2)]);
var state_21834__$1 = state_21834;
var statearr_21844_22090 = state_21834__$1;
(statearr_21844_22090[(2)] = inst_21830);
(statearr_21844_22090[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__22070,c__9686__auto___22074,G__21821_22072,n__7461__auto___22069,jobs,results,process,async))
;
return ((function (__22070,switch__9642__auto__,c__9686__auto___22074,G__21821_22072,n__7461__auto___22069,jobs,results,process,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____0 = (function (){
var statearr_21852 = [null,null,null,null,null,null,null];
(statearr_21852[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__);
(statearr_21852[(1)] = (1));
return statearr_21852;
});
var cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____1 = (function (state_21834){
while(true){
var ret_value__9644__auto__ = (function (){try{while(true){
var result__9645__auto__ = switch__9642__auto__.call(null,state_21834);
if(cljs.core.keyword_identical_QMARK_.call(null,result__9645__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__9645__auto__;
}
break;
}
}catch (e21853){if((e21853 instanceof Object)){
var ex__9646__auto__ = e21853;
var statearr_21854_22094 = state_21834;
(statearr_21854_22094[(5)] = ex__9646__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_21834);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e21853;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__9644__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__22095 = state_21834;
state_21834 = G__22095;
continue;
} else {
return ret_value__9644__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__ = function(state_21834){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____1.call(this,state_21834);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__;
})()
;})(__22070,switch__9642__auto__,c__9686__auto___22074,G__21821_22072,n__7461__auto___22069,jobs,results,process,async))
})();
var state__9688__auto__ = (function (){var statearr_21855 = f__9687__auto__.call(null);
(statearr_21855[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__9686__auto___22074);
return statearr_21855;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__9688__auto__);
});})(__22070,c__9686__auto___22074,G__21821_22072,n__7461__auto___22069,jobs,results,process,async))
);
break;
case "async":
var c__9686__auto___22108 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (__22070,c__9686__auto___22108,G__21821_22072,n__7461__auto___22069,jobs,results,process,async){
return (function (){
var f__9687__auto__ = (function (){var switch__9642__auto__ = ((function (__22070,c__9686__auto___22108,G__21821_22072,n__7461__auto___22069,jobs,results,process,async){
return (function (state_21868){
var state_val_21870 = (state_21868[(1)]);
if((state_val_21870 === (1))){
var state_21868__$1 = state_21868;
var statearr_21872_22109 = state_21868__$1;
(statearr_21872_22109[(2)] = null);
(statearr_21872_22109[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21870 === (2))){
var state_21868__$1 = state_21868;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_21868__$1,(4),jobs);
} else {
if((state_val_21870 === (3))){
var inst_21866 = (state_21868[(2)]);
var state_21868__$1 = state_21868;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_21868__$1,inst_21866);
} else {
if((state_val_21870 === (4))){
var inst_21858 = (state_21868[(2)]);
var inst_21859 = async.call(null,inst_21858);
var state_21868__$1 = state_21868;
if(cljs.core.truth_(inst_21859)){
var statearr_21874_22111 = state_21868__$1;
(statearr_21874_22111[(1)] = (5));
} else {
var statearr_21875_22112 = state_21868__$1;
(statearr_21875_22112[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21870 === (5))){
var state_21868__$1 = state_21868;
var statearr_21876_22113 = state_21868__$1;
(statearr_21876_22113[(2)] = null);
(statearr_21876_22113[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21870 === (6))){
var state_21868__$1 = state_21868;
var statearr_21877_22114 = state_21868__$1;
(statearr_21877_22114[(2)] = null);
(statearr_21877_22114[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21870 === (7))){
var inst_21864 = (state_21868[(2)]);
var state_21868__$1 = state_21868;
var statearr_21878_22120 = state_21868__$1;
(statearr_21878_22120[(2)] = inst_21864);
(statearr_21878_22120[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__22070,c__9686__auto___22108,G__21821_22072,n__7461__auto___22069,jobs,results,process,async))
;
return ((function (__22070,switch__9642__auto__,c__9686__auto___22108,G__21821_22072,n__7461__auto___22069,jobs,results,process,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__9643__auto____0 = (function (){
var statearr_21887 = [null,null,null,null,null,null,null];
(statearr_21887[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__9643__auto__);
(statearr_21887[(1)] =