tfcconnection-zola/static/js/cljs-runtime/cljs.core.async.js

8781 lines
276 KiB
JavaScript

goog.provide('cljs.core.async');
goog.scope(function(){
cljs.core.async.goog$module$goog$array = goog.module.get('goog.array');
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async14498 = (function (f,blockable,meta14499){
this.f = f;
this.blockable = blockable;
this.meta14499 = meta14499;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async14498.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_14500,meta14499__$1){
var self__ = this;
var _14500__$1 = this;
return (new cljs.core.async.t_cljs$core$async14498(self__.f,self__.blockable,meta14499__$1));
}));
(cljs.core.async.t_cljs$core$async14498.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_14500){
var self__ = this;
var _14500__$1 = this;
return self__.meta14499;
}));
(cljs.core.async.t_cljs$core$async14498.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async14498.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$async14498.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$async14498.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$async14498.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,"meta14499","meta14499",972216436,null)], null);
}));
(cljs.core.async.t_cljs$core$async14498.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async14498.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async14498");
(cljs.core.async.t_cljs$core$async14498.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"cljs.core.async/t_cljs$core$async14498");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async14498.
*/
cljs.core.async.__GT_t_cljs$core$async14498 = (function cljs$core$async$__GT_t_cljs$core$async14498(f,blockable,meta14499){
return (new cljs.core.async.t_cljs$core$async14498(f,blockable,meta14499));
});
cljs.core.async.fn_handler = (function cljs$core$async$fn_handler(var_args){
var G__14496 = arguments.length;
switch (G__14496) {
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(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1 = (function (f){
return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(f,true);
}));
(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2 = (function (f,blockable){
return (new cljs.core.async.t_cljs$core$async14498(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(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(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(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_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(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 G__14540 = arguments.length;
switch (G__14540) {
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(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(null);
}));
(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1 = (function (buf_or_n){
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(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.cljs$core$IFn$_invoke$arity$3(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_.cljs$core$IFn$_invoke$arity$2(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(["Assert failed: ","buffer must be supplied when transducer is","\n","buf-or-n"].join('')));
}
} else {
}
return cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(((typeof buf_or_n__$1 === 'number')?cljs.core.async.buffer(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 G__14558 = arguments.length;
switch (G__14558) {
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(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1(null);
}));
(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1 = (function (xform){
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2(xform,null);
}));
(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2 = (function (xform,ex_handler){
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(cljs.core.async.impl.buffers.promise_buffer(),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(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 G__14580 = arguments.length;
switch (G__14580) {
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(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (port,fn1){
return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3(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_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));
if(cljs.core.truth_(ret)){
var val_16858 = cljs.core.deref(ret);
if(cljs.core.truth_(on_caller_QMARK_)){
(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_16858) : fn1.call(null,val_16858));
} else {
cljs.core.async.impl.dispatch.run((function (){
return (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_16858) : fn1.call(null,val_16858));
}));
}
} 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.cljs$core$IFn$_invoke$arity$1(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 fn1 (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 fn1 on calling thread. Returns nil.
*/
cljs.core.async.put_BANG_ = (function cljs$core$async$put_BANG_(var_args){
var G__14600 = arguments.length;
switch (G__14600) {
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(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (port,val){
var temp__5802__auto__ = cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fhnop);
if(cljs.core.truth_(temp__5802__auto__)){
var ret = temp__5802__auto__;
return cljs.core.deref(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_.cljs$core$IFn$_invoke$arity$4(port,val,fn1,true);
}));
(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4 = (function (port,val,fn1,on_caller_QMARK_){
var temp__5802__auto__ = cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));
if(cljs.core.truth_(temp__5802__auto__)){
var retb = temp__5802__auto__;
var ret = cljs.core.deref(retb);
if(cljs.core.truth_(on_caller_QMARK_)){
(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));
} else {
cljs.core.async.impl.dispatch.run((function (){
return (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));
}));
}
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_(port);
});
cljs.core.async.random_array = (function cljs$core$async$random_array(n){
var a = (new Array(n));
var n__5636__auto___16862 = n;
var x_16863 = (0);
while(true){
if((x_16863 < n__5636__auto___16862)){
(a[x_16863] = x_16863);
var G__16864 = (x_16863 + (1));
x_16863 = G__16864;
continue;
} else {
}
break;
}
cljs.core.async.goog$module$goog$array.shuffle(a);
return a;
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async14609 = (function (flag,meta14610){
this.flag = flag;
this.meta14610 = meta14610;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async14609.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_14611,meta14610__$1){
var self__ = this;
var _14611__$1 = this;
return (new cljs.core.async.t_cljs$core$async14609(self__.flag,meta14610__$1));
}));
(cljs.core.async.t_cljs$core$async14609.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_14611){
var self__ = this;
var _14611__$1 = this;
return self__.meta14610;
}));
(cljs.core.async.t_cljs$core$async14609.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async14609.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.deref(self__.flag);
}));
(cljs.core.async.t_cljs$core$async14609.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$async14609.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_(self__.flag,null);
return true;
}));
(cljs.core.async.t_cljs$core$async14609.getBasis = (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,"meta14610","meta14610",-606358165,null)], null);
}));
(cljs.core.async.t_cljs$core$async14609.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async14609.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async14609");
(cljs.core.async.t_cljs$core$async14609.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"cljs.core.async/t_cljs$core$async14609");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async14609.
*/
cljs.core.async.__GT_t_cljs$core$async14609 = (function cljs$core$async$__GT_t_cljs$core$async14609(flag,meta14610){
return (new cljs.core.async.t_cljs$core$async14609(flag,meta14610));
});
cljs.core.async.alt_flag = (function cljs$core$async$alt_flag(){
var flag = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);
return (new cljs.core.async.t_cljs$core$async14609(flag,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async14619 = (function (flag,cb,meta14620){
this.flag = flag;
this.cb = cb;
this.meta14620 = meta14620;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async14619.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_14621,meta14620__$1){
var self__ = this;
var _14621__$1 = this;
return (new cljs.core.async.t_cljs$core$async14619(self__.flag,self__.cb,meta14620__$1));
}));
(cljs.core.async.t_cljs$core$async14619.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_14621){
var self__ = this;
var _14621__$1 = this;
return self__.meta14620;
}));
(cljs.core.async.t_cljs$core$async14619.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async14619.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_(self__.flag);
}));
(cljs.core.async.t_cljs$core$async14619.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$async14619.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.async.impl.protocols.commit(self__.flag);
return self__.cb;
}));
(cljs.core.async.t_cljs$core$async14619.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,"meta14620","meta14620",-701233348,null)], null);
}));
(cljs.core.async.t_cljs$core$async14619.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async14619.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async14619");
(cljs.core.async.t_cljs$core$async14619.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"cljs.core.async/t_cljs$core$async14619");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async14619.
*/
cljs.core.async.__GT_t_cljs$core$async14619 = (function cljs$core$async$__GT_t_cljs$core$async14619(flag,cb,meta14620){
return (new cljs.core.async.t_cljs$core$async14619(flag,cb,meta14620));
});
cljs.core.async.alt_handler = (function cljs$core$async$alt_handler(flag,cb){
return (new cljs.core.async.t_cljs$core$async14619(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){
if((cljs.core.count(ports) > (0))){
} else {
throw (new Error(["Assert failed: ","alts must have at least one channel operation","\n","(pos? (count ports))"].join('')));
}
var flag = cljs.core.async.alt_flag();
var n = cljs.core.count(ports);
var idxs = cljs.core.async.random_array(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.cljs$core$IFn$_invoke$arity$2(ports,idx);
var wport = ((cljs.core.vector_QMARK_(port))?(port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((0)) : port.call(null,(0))):null);
var vbox = (cljs.core.truth_(wport)?(function (){var val = (port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((1)) : port.call(null,(1)));
return cljs.core.async.impl.protocols.put_BANG_(wport,val,cljs.core.async.alt_handler(flag,((function (i,val,idx,port,wport,flag,n,idxs,priority){
return (function (p1__14640_SHARP_){
var G__14642 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__14640_SHARP_,wport], null);
return (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__14642) : fret.call(null,G__14642));
});})(i,val,idx,port,wport,flag,n,idxs,priority))
));
})():cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.alt_handler(flag,((function (i,idx,port,wport,flag,n,idxs,priority){
return (function (p1__14641_SHARP_){
var G__14643 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__14641_SHARP_,port], null);
return (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__14643) : fret.call(null,G__14643));
});})(i,idx,port,wport,flag,n,idxs,priority))
)));
if(cljs.core.truth_(vbox)){
return cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(vbox),(function (){var or__5045__auto__ = wport;
if(cljs.core.truth_(or__5045__auto__)){
return or__5045__auto__;
} else {
return port;
}
})()], null));
} else {
var G__16867 = (i + (1));
i = G__16867;
continue;
}
} else {
return null;
}
break;
}
})();
var or__5045__auto__ = ret;
if(cljs.core.truth_(or__5045__auto__)){
return or__5045__auto__;
} else {
if(cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,"default","default",-1987822328))){
var temp__5804__auto__ = (function (){var and__5043__auto__ = flag.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);
if(cljs.core.truth_(and__5043__auto__)){
return flag.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);
} else {
return and__5043__auto__;
}
})();
if(cljs.core.truth_(temp__5804__auto__)){
var got = temp__5804__auto__;
return cljs.core.async.impl.channels.box(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__5775__auto__ = [];
var len__5769__auto___16868 = arguments.length;
var i__5770__auto___16869 = (0);
while(true){
if((i__5770__auto___16869 < len__5769__auto___16868)){
args__5775__auto__.push((arguments[i__5770__auto___16869]));
var G__16870 = (i__5770__auto___16869 + (1));
i__5770__auto___16869 = G__16870;
continue;
} else {
}
break;
}
var argseq__5776__auto__ = ((((1) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((1)),(0),null)):null);
return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5776__auto__);
});
(cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (ports,p__14668){
var map__14669 = p__14668;
var map__14669__$1 = cljs.core.__destructure_map(map__14669);
var opts = map__14669__$1;
throw (new Error("alts! used not in (go ...) block"));
}));
(cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity = (1));
/** @this {Function} */
(cljs.core.async.alts_BANG_.cljs$lang$applyTo = (function (seq14657){
var G__14658 = cljs.core.first(seq14657);
var seq14657__$1 = cljs.core.next(seq14657);
var self__5754__auto__ = this;
return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__14658,seq14657__$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_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));
if(cljs.core.truth_(ret)){
return cljs.core.deref(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_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));
if(cljs.core.truth_(ret)){
return cljs.core.deref(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 G__14682 = arguments.length;
switch (G__14682) {
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(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2 = (function (from,to){
return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3(from,to,true);
}));
(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3 = (function (from,to,close_QMARK_){
var c__14406__auto___16873 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_14731){
var state_val_14732 = (state_14731[(1)]);
if((state_val_14732 === (7))){
var inst_14725 = (state_14731[(2)]);
var state_14731__$1 = state_14731;
var statearr_14733_16875 = state_14731__$1;
(statearr_14733_16875[(2)] = inst_14725);
(statearr_14733_16875[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14732 === (1))){
var state_14731__$1 = state_14731;
var statearr_14734_16876 = state_14731__$1;
(statearr_14734_16876[(2)] = null);
(statearr_14734_16876[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14732 === (4))){
var inst_14699 = (state_14731[(7)]);
var inst_14699__$1 = (state_14731[(2)]);
var inst_14700 = (inst_14699__$1 == null);
var state_14731__$1 = (function (){var statearr_14735 = state_14731;
(statearr_14735[(7)] = inst_14699__$1);
return statearr_14735;
})();
if(cljs.core.truth_(inst_14700)){
var statearr_14736_16878 = state_14731__$1;
(statearr_14736_16878[(1)] = (5));
} else {
var statearr_14737_16880 = state_14731__$1;
(statearr_14737_16880[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14732 === (13))){
var state_14731__$1 = state_14731;
var statearr_14755_16881 = state_14731__$1;
(statearr_14755_16881[(2)] = null);
(statearr_14755_16881[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14732 === (6))){
var inst_14699 = (state_14731[(7)]);
var state_14731__$1 = state_14731;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_14731__$1,(11),to,inst_14699);
} else {
if((state_val_14732 === (3))){
var inst_14727 = (state_14731[(2)]);
var state_14731__$1 = state_14731;
return cljs.core.async.impl.ioc_helpers.return_chan(state_14731__$1,inst_14727);
} else {
if((state_val_14732 === (12))){
var state_14731__$1 = state_14731;
var statearr_14760_16882 = state_14731__$1;
(statearr_14760_16882[(2)] = null);
(statearr_14760_16882[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14732 === (2))){
var state_14731__$1 = state_14731;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_14731__$1,(4),from);
} else {
if((state_val_14732 === (11))){
var inst_14718 = (state_14731[(2)]);
var state_14731__$1 = state_14731;
if(cljs.core.truth_(inst_14718)){
var statearr_14763_16883 = state_14731__$1;
(statearr_14763_16883[(1)] = (12));
} else {
var statearr_14764_16884 = state_14731__$1;
(statearr_14764_16884[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14732 === (9))){
var state_14731__$1 = state_14731;
var statearr_14765_16885 = state_14731__$1;
(statearr_14765_16885[(2)] = null);
(statearr_14765_16885[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14732 === (5))){
var state_14731__$1 = state_14731;
if(cljs.core.truth_(close_QMARK_)){
var statearr_14771_16886 = state_14731__$1;
(statearr_14771_16886[(1)] = (8));
} else {
var statearr_14772_16887 = state_14731__$1;
(statearr_14772_16887[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14732 === (14))){
var inst_14723 = (state_14731[(2)]);
var state_14731__$1 = state_14731;
var statearr_14773_16888 = state_14731__$1;
(statearr_14773_16888[(2)] = inst_14723);
(statearr_14773_16888[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14732 === (10))){
var inst_14706 = (state_14731[(2)]);
var state_14731__$1 = state_14731;
var statearr_14774_16889 = state_14731__$1;
(statearr_14774_16889[(2)] = inst_14706);
(statearr_14774_16889[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14732 === (8))){
var inst_14703 = cljs.core.async.close_BANG_(to);
var state_14731__$1 = state_14731;
var statearr_14775_16890 = state_14731__$1;
(statearr_14775_16890[(2)] = inst_14703);
(statearr_14775_16890[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_14776 = [null,null,null,null,null,null,null,null];
(statearr_14776[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_14776[(1)] = (1));
return statearr_14776;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_14731){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_14731);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e14777){var ex__14364__auto__ = e14777;
var statearr_14778_16891 = state_14731;
(statearr_14778_16891[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_14731[(4)]))){
var statearr_14779_16892 = state_14731;
(statearr_14779_16892[(1)] = cljs.core.first((state_14731[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__16893 = state_14731;
state_14731 = G__16893;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_14731){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_14731);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_14780 = f__14407__auto__();
(statearr_14780[(6)] = c__14406__auto___16873);
return statearr_14780;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
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.cljs$core$IFn$_invoke$arity$1(n);
var results = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);
var process__$1 = (function (p__14815){
var vec__14817 = p__14815;
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14817,(0),null);
var p = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14817,(1),null);
var job = vec__14817;
if((job == null)){
cljs.core.async.close_BANG_(results);
return null;
} else {
var res = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((1),xf,ex_handler);
var c__14406__auto___16896 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_14835){
var state_val_14836 = (state_14835[(1)]);
if((state_val_14836 === (1))){
var state_14835__$1 = state_14835;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_14835__$1,(2),res,v);
} else {
if((state_val_14836 === (2))){
var inst_14832 = (state_14835[(2)]);
var inst_14833 = cljs.core.async.close_BANG_(res);
var state_14835__$1 = (function (){var statearr_14841 = state_14835;
(statearr_14841[(7)] = inst_14832);
return statearr_14841;
})();
return cljs.core.async.impl.ioc_helpers.return_chan(state_14835__$1,inst_14833);
} else {
return null;
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0 = (function (){
var statearr_14842 = [null,null,null,null,null,null,null,null];
(statearr_14842[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__);
(statearr_14842[(1)] = (1));
return statearr_14842;
});
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1 = (function (state_14835){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_14835);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e14844){var ex__14364__auto__ = e14844;
var statearr_14845_16897 = state_14835;
(statearr_14845_16897[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_14835[(4)]))){
var statearr_14846_16898 = state_14835;
(statearr_14846_16898[(1)] = cljs.core.first((state_14835[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__16899 = state_14835;
state_14835 = G__16899;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ = function(state_14835){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1.call(this,state_14835);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_14847 = f__14407__auto__();
(statearr_14847[(6)] = c__14406__auto___16896);
return statearr_14847;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);
return true;
}
});
var async = (function (p__14848){
var vec__14849 = p__14848;
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14849,(0),null);
var p = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14849,(1),null);
var job = vec__14849;
if((job == null)){
cljs.core.async.close_BANG_(results);
return null;
} else {
var res = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
(xf.cljs$core$IFn$_invoke$arity$2 ? xf.cljs$core$IFn$_invoke$arity$2(v,res) : xf.call(null,v,res));
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);
return true;
}
});
var n__5636__auto___16900 = n;
var __16901 = (0);
while(true){
if((__16901 < n__5636__auto___16900)){
var G__14861_16902 = type;
var G__14861_16903__$1 = (((G__14861_16902 instanceof cljs.core.Keyword))?G__14861_16902.fqn:null);
switch (G__14861_16903__$1) {
case "compute":
var c__14406__auto___16905 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run(((function (__16901,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){
return (function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = ((function (__16901,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){
return (function (state_14890){
var state_val_14891 = (state_14890[(1)]);
if((state_val_14891 === (1))){
var state_14890__$1 = state_14890;
var statearr_14892_16906 = state_14890__$1;
(statearr_14892_16906[(2)] = null);
(statearr_14892_16906[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14891 === (2))){
var state_14890__$1 = state_14890;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_14890__$1,(4),jobs);
} else {
if((state_val_14891 === (3))){
var inst_14888 = (state_14890[(2)]);
var state_14890__$1 = state_14890;
return cljs.core.async.impl.ioc_helpers.return_chan(state_14890__$1,inst_14888);
} else {
if((state_val_14891 === (4))){
var inst_14880 = (state_14890[(2)]);
var inst_14881 = process__$1(inst_14880);
var state_14890__$1 = state_14890;
if(cljs.core.truth_(inst_14881)){
var statearr_14893_16907 = state_14890__$1;
(statearr_14893_16907[(1)] = (5));
} else {
var statearr_14894_16908 = state_14890__$1;
(statearr_14894_16908[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14891 === (5))){
var state_14890__$1 = state_14890;
var statearr_14899_16909 = state_14890__$1;
(statearr_14899_16909[(2)] = null);
(statearr_14899_16909[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14891 === (6))){
var state_14890__$1 = state_14890;
var statearr_14900_16910 = state_14890__$1;
(statearr_14900_16910[(2)] = null);
(statearr_14900_16910[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14891 === (7))){
var inst_14886 = (state_14890[(2)]);
var state_14890__$1 = state_14890;
var statearr_14901_16911 = state_14890__$1;
(statearr_14901_16911[(2)] = inst_14886);
(statearr_14901_16911[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__16901,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))
;
return ((function (__16901,switch__14360__auto__,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0 = (function (){
var statearr_14902 = [null,null,null,null,null,null,null];
(statearr_14902[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__);
(statearr_14902[(1)] = (1));
return statearr_14902;
});
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1 = (function (state_14890){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_14890);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e14903){var ex__14364__auto__ = e14903;
var statearr_14904_16912 = state_14890;
(statearr_14904_16912[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_14890[(4)]))){
var statearr_14905_16913 = state_14890;
(statearr_14905_16913[(1)] = cljs.core.first((state_14890[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__16914 = state_14890;
state_14890 = G__16914;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ = function(state_14890){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1.call(this,state_14890);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__;
})()
;})(__16901,switch__14360__auto__,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))
})();
var state__14408__auto__ = (function (){var statearr_14913 = f__14407__auto__();
(statearr_14913[(6)] = c__14406__auto___16905);
return statearr_14913;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
});})(__16901,c__14406__auto___16905,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))
);
break;
case "async":
var c__14406__auto___16915 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run(((function (__16901,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){
return (function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = ((function (__16901,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){
return (function (state_14926){
var state_val_14927 = (state_14926[(1)]);
if((state_val_14927 === (1))){
var state_14926__$1 = state_14926;
var statearr_14928_16916 = state_14926__$1;
(statearr_14928_16916[(2)] = null);
(statearr_14928_16916[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14927 === (2))){
var state_14926__$1 = state_14926;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_14926__$1,(4),jobs);
} else {
if((state_val_14927 === (3))){
var inst_14924 = (state_14926[(2)]);
var state_14926__$1 = state_14926;
return cljs.core.async.impl.ioc_helpers.return_chan(state_14926__$1,inst_14924);
} else {
if((state_val_14927 === (4))){
var inst_14916 = (state_14926[(2)]);
var inst_14917 = async(inst_14916);
var state_14926__$1 = state_14926;
if(cljs.core.truth_(inst_14917)){
var statearr_14929_16917 = state_14926__$1;
(statearr_14929_16917[(1)] = (5));
} else {
var statearr_14930_16918 = state_14926__$1;
(statearr_14930_16918[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14927 === (5))){
var state_14926__$1 = state_14926;
var statearr_14931_16919 = state_14926__$1;
(statearr_14931_16919[(2)] = null);
(statearr_14931_16919[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14927 === (6))){
var state_14926__$1 = state_14926;
var statearr_14933_16920 = state_14926__$1;
(statearr_14933_16920[(2)] = null);
(statearr_14933_16920[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14927 === (7))){
var inst_14922 = (state_14926[(2)]);
var state_14926__$1 = state_14926;
var statearr_14940_16921 = state_14926__$1;
(statearr_14940_16921[(2)] = inst_14922);
(statearr_14940_16921[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__16901,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))
;
return ((function (__16901,switch__14360__auto__,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0 = (function (){
var statearr_14949 = [null,null,null,null,null,null,null];
(statearr_14949[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__);
(statearr_14949[(1)] = (1));
return statearr_14949;
});
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1 = (function (state_14926){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_14926);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e14950){var ex__14364__auto__ = e14950;
var statearr_14951_16922 = state_14926;
(statearr_14951_16922[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_14926[(4)]))){
var statearr_14952_16923 = state_14926;
(statearr_14952_16923[(1)] = cljs.core.first((state_14926[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__16924 = state_14926;
state_14926 = G__16924;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ = function(state_14926){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1.call(this,state_14926);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__;
})()
;})(__16901,switch__14360__auto__,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))
})();
var state__14408__auto__ = (function (){var statearr_14953 = f__14407__auto__();
(statearr_14953[(6)] = c__14406__auto___16915);
return statearr_14953;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
});})(__16901,c__14406__auto___16915,G__14861_16902,G__14861_16903__$1,n__5636__auto___16900,jobs,results,process__$1,async))
);
break;
default:
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__14861_16903__$1)].join('')));
}
var G__16925 = (__16901 + (1));
__16901 = G__16925;
continue;
} else {
}
break;
}
var c__14406__auto___16926 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_14975){
var state_val_14976 = (state_14975[(1)]);
if((state_val_14976 === (7))){
var inst_14971 = (state_14975[(2)]);
var state_14975__$1 = state_14975;
var statearr_14977_16927 = state_14975__$1;
(statearr_14977_16927[(2)] = inst_14971);
(statearr_14977_16927[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14976 === (1))){
var state_14975__$1 = state_14975;
var statearr_14978_16928 = state_14975__$1;
(statearr_14978_16928[(2)] = null);
(statearr_14978_16928[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14976 === (4))){
var inst_14956 = (state_14975[(7)]);
var inst_14956__$1 = (state_14975[(2)]);
var inst_14957 = (inst_14956__$1 == null);
var state_14975__$1 = (function (){var statearr_14979 = state_14975;
(statearr_14979[(7)] = inst_14956__$1);
return statearr_14979;
})();
if(cljs.core.truth_(inst_14957)){
var statearr_14980_16929 = state_14975__$1;
(statearr_14980_16929[(1)] = (5));
} else {
var statearr_14981_16930 = state_14975__$1;
(statearr_14981_16930[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14976 === (6))){
var inst_14961 = (state_14975[(8)]);
var inst_14956 = (state_14975[(7)]);
var inst_14961__$1 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
var inst_14962 = cljs.core.PersistentVector.EMPTY_NODE;
var inst_14963 = [inst_14956,inst_14961__$1];
var inst_14964 = (new cljs.core.PersistentVector(null,2,(5),inst_14962,inst_14963,null));
var state_14975__$1 = (function (){var statearr_14982 = state_14975;
(statearr_14982[(8)] = inst_14961__$1);
return statearr_14982;
})();
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_14975__$1,(8),jobs,inst_14964);
} else {
if((state_val_14976 === (3))){
var inst_14973 = (state_14975[(2)]);
var state_14975__$1 = state_14975;
return cljs.core.async.impl.ioc_helpers.return_chan(state_14975__$1,inst_14973);
} else {
if((state_val_14976 === (2))){
var state_14975__$1 = state_14975;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_14975__$1,(4),from);
} else {
if((state_val_14976 === (9))){
var inst_14968 = (state_14975[(2)]);
var state_14975__$1 = (function (){var statearr_14983 = state_14975;
(statearr_14983[(9)] = inst_14968);
return statearr_14983;
})();
var statearr_14984_16931 = state_14975__$1;
(statearr_14984_16931[(2)] = null);
(statearr_14984_16931[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14976 === (5))){
var inst_14959 = cljs.core.async.close_BANG_(jobs);
var state_14975__$1 = state_14975;
var statearr_14985_16932 = state_14975__$1;
(statearr_14985_16932[(2)] = inst_14959);
(statearr_14985_16932[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14976 === (8))){
var inst_14961 = (state_14975[(8)]);
var inst_14966 = (state_14975[(2)]);
var state_14975__$1 = (function (){var statearr_14986 = state_14975;
(statearr_14986[(10)] = inst_14966);
return statearr_14986;
})();
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_14975__$1,(9),results,inst_14961);
} else {
return null;
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0 = (function (){
var statearr_14988 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_14988[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__);
(statearr_14988[(1)] = (1));
return statearr_14988;
});
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1 = (function (state_14975){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_14975);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e14992){var ex__14364__auto__ = e14992;
var statearr_14993_16933 = state_14975;
(statearr_14993_16933[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_14975[(4)]))){
var statearr_14994_16934 = state_14975;
(statearr_14994_16934[(1)] = cljs.core.first((state_14975[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__16935 = state_14975;
state_14975 = G__16935;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ = function(state_14975){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1.call(this,state_14975);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_14995 = f__14407__auto__();
(statearr_14995[(6)] = c__14406__auto___16926);
return statearr_14995;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
var c__14406__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_15039){
var state_val_15040 = (state_15039[(1)]);
if((state_val_15040 === (7))){
var inst_15033 = (state_15039[(2)]);
var state_15039__$1 = state_15039;
var statearr_15041_16936 = state_15039__$1;
(statearr_15041_16936[(2)] = inst_15033);
(statearr_15041_16936[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (20))){
var state_15039__$1 = state_15039;
var statearr_15042_16937 = state_15039__$1;
(statearr_15042_16937[(2)] = null);
(statearr_15042_16937[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (1))){
var state_15039__$1 = state_15039;
var statearr_15043_16938 = state_15039__$1;
(statearr_15043_16938[(2)] = null);
(statearr_15043_16938[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (4))){
var inst_14998 = (state_15039[(7)]);
var inst_14998__$1 = (state_15039[(2)]);
var inst_14999 = (inst_14998__$1 == null);
var state_15039__$1 = (function (){var statearr_15044 = state_15039;
(statearr_15044[(7)] = inst_14998__$1);
return statearr_15044;
})();
if(cljs.core.truth_(inst_14999)){
var statearr_15045_16939 = state_15039__$1;
(statearr_15045_16939[(1)] = (5));
} else {
var statearr_15046_16940 = state_15039__$1;
(statearr_15046_16940[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (15))){
var inst_15013 = (state_15039[(8)]);
var state_15039__$1 = state_15039;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_15039__$1,(18),to,inst_15013);
} else {
if((state_val_15040 === (21))){
var inst_15028 = (state_15039[(2)]);
var state_15039__$1 = state_15039;
var statearr_15047_16941 = state_15039__$1;
(statearr_15047_16941[(2)] = inst_15028);
(statearr_15047_16941[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (13))){
var inst_15030 = (state_15039[(2)]);
var state_15039__$1 = (function (){var statearr_15048 = state_15039;
(statearr_15048[(9)] = inst_15030);
return statearr_15048;
})();
var statearr_15049_16942 = state_15039__$1;
(statearr_15049_16942[(2)] = null);
(statearr_15049_16942[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (6))){
var inst_14998 = (state_15039[(7)]);
var state_15039__$1 = state_15039;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_15039__$1,(11),inst_14998);
} else {
if((state_val_15040 === (17))){
var inst_15023 = (state_15039[(2)]);
var state_15039__$1 = state_15039;
if(cljs.core.truth_(inst_15023)){
var statearr_15050_16943 = state_15039__$1;
(statearr_15050_16943[(1)] = (19));
} else {
var statearr_15051_16944 = state_15039__$1;
(statearr_15051_16944[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (3))){
var inst_15035 = (state_15039[(2)]);
var state_15039__$1 = state_15039;
return cljs.core.async.impl.ioc_helpers.return_chan(state_15039__$1,inst_15035);
} else {
if((state_val_15040 === (12))){
var inst_15008 = (state_15039[(10)]);
var state_15039__$1 = state_15039;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_15039__$1,(14),inst_15008);
} else {
if((state_val_15040 === (2))){
var state_15039__$1 = state_15039;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_15039__$1,(4),results);
} else {
if((state_val_15040 === (19))){
var state_15039__$1 = state_15039;
var statearr_15052_16946 = state_15039__$1;
(statearr_15052_16946[(2)] = null);
(statearr_15052_16946[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (11))){
var inst_15008 = (state_15039[(2)]);
var state_15039__$1 = (function (){var statearr_15053 = state_15039;
(statearr_15053[(10)] = inst_15008);
return statearr_15053;
})();
var statearr_15054_16947 = state_15039__$1;
(statearr_15054_16947[(2)] = null);
(statearr_15054_16947[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (9))){
var state_15039__$1 = state_15039;
var statearr_15055_16949 = state_15039__$1;
(statearr_15055_16949[(2)] = null);
(statearr_15055_16949[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (5))){
var state_15039__$1 = state_15039;
if(cljs.core.truth_(close_QMARK_)){
var statearr_15056_16950 = state_15039__$1;
(statearr_15056_16950[(1)] = (8));
} else {
var statearr_15057_16951 = state_15039__$1;
(statearr_15057_16951[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (14))){
var inst_15015 = (state_15039[(11)]);
var inst_15013 = (state_15039[(8)]);
var inst_15013__$1 = (state_15039[(2)]);
var inst_15014 = (inst_15013__$1 == null);
var inst_15015__$1 = cljs.core.not(inst_15014);
var state_15039__$1 = (function (){var statearr_15058 = state_15039;
(statearr_15058[(11)] = inst_15015__$1);
(statearr_15058[(8)] = inst_15013__$1);
return statearr_15058;
})();
if(inst_15015__$1){
var statearr_15059_16952 = state_15039__$1;
(statearr_15059_16952[(1)] = (15));
} else {
var statearr_15060_16953 = state_15039__$1;
(statearr_15060_16953[(1)] = (16));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (16))){
var inst_15015 = (state_15039[(11)]);
var state_15039__$1 = state_15039;
var statearr_15061_16954 = state_15039__$1;
(statearr_15061_16954[(2)] = inst_15015);
(statearr_15061_16954[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (10))){
var inst_15005 = (state_15039[(2)]);
var state_15039__$1 = state_15039;
var statearr_15062_16955 = state_15039__$1;
(statearr_15062_16955[(2)] = inst_15005);
(statearr_15062_16955[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (18))){
var inst_15020 = (state_15039[(2)]);
var state_15039__$1 = state_15039;
var statearr_15063_16956 = state_15039__$1;
(statearr_15063_16956[(2)] = inst_15020);
(statearr_15063_16956[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15040 === (8))){
var inst_15002 = cljs.core.async.close_BANG_(to);
var state_15039__$1 = state_15039;
var statearr_15064_16957 = state_15039__$1;
(statearr_15064_16957[(2)] = inst_15002);
(statearr_15064_16957[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0 = (function (){
var statearr_15065 = [null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_15065[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__);
(statearr_15065[(1)] = (1));
return statearr_15065;
});
var cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1 = (function (state_15039){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_15039);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e15066){var ex__14364__auto__ = e15066;
var statearr_15067_16958 = state_15039;
(statearr_15067_16958[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_15039[(4)]))){
var statearr_15068_16959 = state_15039;
(statearr_15068_16959[(1)] = cljs.core.first((state_15039[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__16960 = state_15039;
state_15039 = G__16960;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__ = function(state_15039){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1.call(this,state_15039);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__14361__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_15069 = f__14407__auto__();
(statearr_15069[(6)] = c__14406__auto__);
return statearr_15069;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return c__14406__auto__;
});
/**
* Takes elements from the from channel and supplies them to the to
* channel, subject to the async function af, with parallelism n. af
* must be a function of two arguments, the first an input value and
* the second a channel on which to place the result(s). The
* presumption is that af will return immediately, having launched some
* asynchronous operation whose completion/callback will put results on
* the channel, then close! it. Outputs will be returned in order
* relative to the inputs. 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. See also pipeline, pipeline-blocking.
*/
cljs.core.async.pipeline_async = (function cljs$core$async$pipeline_async(var_args){
var G__15071 = arguments.length;
switch (G__15071) {
case 4:
return cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4 = (function (n,to,af,from){
return cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5(n,to,af,from,true);
}));
(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5 = (function (n,to,af,from,close_QMARK_){
return cljs.core.async.pipeline_STAR_(n,to,af,from,close_QMARK_,null,new cljs.core.Keyword(null,"async","async",1050769601));
}));
(cljs.core.async.pipeline_async.cljs$lang$maxFixedArity = 5);
/**
* Takes elements from the from channel and supplies them to the to
* channel, subject to the transducer xf, with parallelism n. Because
* it is parallel, the transducer will be applied independently to each
* element, not across elements, and may produce zero or more outputs
* per input. Outputs will be returned in order relative to the
* inputs. 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.
*
* Note this is supplied for API compatibility with the Clojure version.
* Values of N > 1 will not result in actual concurrency in a
* single-threaded runtime.
*/
cljs.core.async.pipeline = (function cljs$core$async$pipeline(var_args){
var G__15074 = arguments.length;
switch (G__15074) {
case 4:
return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
case 6:
return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4 = (function (n,to,xf,from){
return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5(n,to,xf,from,true);
}));
(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5 = (function (n,to,xf,from,close_QMARK_){
return cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6(n,to,xf,from,close_QMARK_,null);
}));
(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6 = (function (n,to,xf,from,close_QMARK_,ex_handler){
return cljs.core.async.pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,new cljs.core.Keyword(null,"compute","compute",1555393130));
}));
(cljs.core.async.pipeline.cljs$lang$maxFixedArity = 6);
/**
* Takes a predicate and a source channel and returns a vector of two
* channels, the first of which will contain the values for which the
* predicate returned true, the second those for which it returned
* false.
*
* The out channels will be unbuffered by default, or two buf-or-ns can
* be supplied. The channels will close after the source channel has
* closed.
*/
cljs.core.async.split = (function cljs$core$async$split(var_args){
var G__15085 = arguments.length;
switch (G__15085) {
case 2:
return cljs.core.async.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 4:
return cljs.core.async.split.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.split.cljs$core$IFn$_invoke$arity$2 = (function (p,ch){
return cljs.core.async.split.cljs$core$IFn$_invoke$arity$4(p,ch,null,null);
}));
(cljs.core.async.split.cljs$core$IFn$_invoke$arity$4 = (function (p,ch,t_buf_or_n,f_buf_or_n){
var tc = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(t_buf_or_n);
var fc = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(f_buf_or_n);
var c__14406__auto___16965 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_15111){
var state_val_15112 = (state_15111[(1)]);
if((state_val_15112 === (7))){
var inst_15107 = (state_15111[(2)]);
var state_15111__$1 = state_15111;
var statearr_15117_16966 = state_15111__$1;
(statearr_15117_16966[(2)] = inst_15107);
(statearr_15117_16966[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15112 === (1))){
var state_15111__$1 = state_15111;
var statearr_15118_16967 = state_15111__$1;
(statearr_15118_16967[(2)] = null);
(statearr_15118_16967[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15112 === (4))){
var inst_15088 = (state_15111[(7)]);
var inst_15088__$1 = (state_15111[(2)]);
var inst_15089 = (inst_15088__$1 == null);
var state_15111__$1 = (function (){var statearr_15119 = state_15111;
(statearr_15119[(7)] = inst_15088__$1);
return statearr_15119;
})();
if(cljs.core.truth_(inst_15089)){
var statearr_15121_16968 = state_15111__$1;
(statearr_15121_16968[(1)] = (5));
} else {
var statearr_15123_16969 = state_15111__$1;
(statearr_15123_16969[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15112 === (13))){
var state_15111__$1 = state_15111;
var statearr_15125_16970 = state_15111__$1;
(statearr_15125_16970[(2)] = null);
(statearr_15125_16970[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15112 === (6))){
var inst_15088 = (state_15111[(7)]);
var inst_15094 = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_15088) : p.call(null,inst_15088));
var state_15111__$1 = state_15111;
if(cljs.core.truth_(inst_15094)){
var statearr_15126_16971 = state_15111__$1;
(statearr_15126_16971[(1)] = (9));
} else {
var statearr_15128_16972 = state_15111__$1;
(statearr_15128_16972[(1)] = (10));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15112 === (3))){
var inst_15109 = (state_15111[(2)]);
var state_15111__$1 = state_15111;
return cljs.core.async.impl.ioc_helpers.return_chan(state_15111__$1,inst_15109);
} else {
if((state_val_15112 === (12))){
var state_15111__$1 = state_15111;
var statearr_15129_16973 = state_15111__$1;
(statearr_15129_16973[(2)] = null);
(statearr_15129_16973[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15112 === (2))){
var state_15111__$1 = state_15111;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_15111__$1,(4),ch);
} else {
if((state_val_15112 === (11))){
var inst_15088 = (state_15111[(7)]);
var inst_15098 = (state_15111[(2)]);
var state_15111__$1 = state_15111;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_15111__$1,(8),inst_15098,inst_15088);
} else {
if((state_val_15112 === (9))){
var state_15111__$1 = state_15111;
var statearr_15130_16974 = state_15111__$1;
(statearr_15130_16974[(2)] = tc);
(statearr_15130_16974[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15112 === (5))){
var inst_15091 = cljs.core.async.close_BANG_(tc);
var inst_15092 = cljs.core.async.close_BANG_(fc);
var state_15111__$1 = (function (){var statearr_15133 = state_15111;
(statearr_15133[(8)] = inst_15091);
return statearr_15133;
})();
var statearr_15134_16975 = state_15111__$1;
(statearr_15134_16975[(2)] = inst_15092);
(statearr_15134_16975[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15112 === (14))){
var inst_15105 = (state_15111[(2)]);
var state_15111__$1 = state_15111;
var statearr_15136_16980 = state_15111__$1;
(statearr_15136_16980[(2)] = inst_15105);
(statearr_15136_16980[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15112 === (10))){
var state_15111__$1 = state_15111;
var statearr_15139_16981 = state_15111__$1;
(statearr_15139_16981[(2)] = fc);
(statearr_15139_16981[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15112 === (8))){
var inst_15100 = (state_15111[(2)]);
var state_15111__$1 = state_15111;
if(cljs.core.truth_(inst_15100)){
var statearr_15140_16982 = state_15111__$1;
(statearr_15140_16982[(1)] = (12));
} else {
var statearr_15141_16983 = state_15111__$1;
(statearr_15141_16983[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_15143 = [null,null,null,null,null,null,null,null,null];
(statearr_15143[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_15143[(1)] = (1));
return statearr_15143;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_15111){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_15111);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e15145){var ex__14364__auto__ = e15145;
var statearr_15146_16984 = state_15111;
(statearr_15146_16984[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_15111[(4)]))){
var statearr_15147_16985 = state_15111;
(statearr_15147_16985[(1)] = cljs.core.first((state_15111[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__16986 = state_15111;
state_15111 = G__16986;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_15111){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_15111);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_15148 = f__14407__auto__();
(statearr_15148[(6)] = c__14406__auto___16965);
return statearr_15148;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [tc,fc], null);
}));
(cljs.core.async.split.cljs$lang$maxFixedArity = 4);
/**
* f should be a function of 2 arguments. Returns a channel containing
* the single result of applying f to init and the first item from the
* channel, then applying f to that result and the 2nd item, etc. If
* the channel closes without yielding items, returns init and f is not
* called. ch must close before reduce produces a result.
*/
cljs.core.async.reduce = (function cljs$core$async$reduce(f,init,ch){
var c__14406__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_15171){
var state_val_15172 = (state_15171[(1)]);
if((state_val_15172 === (7))){
var inst_15166 = (state_15171[(2)]);
var state_15171__$1 = state_15171;
var statearr_15175_16987 = state_15171__$1;
(statearr_15175_16987[(2)] = inst_15166);
(statearr_15175_16987[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15172 === (1))){
var inst_15149 = init;
var inst_15150 = inst_15149;
var state_15171__$1 = (function (){var statearr_15176 = state_15171;
(statearr_15176[(7)] = inst_15150);
return statearr_15176;
})();
var statearr_15177_16988 = state_15171__$1;
(statearr_15177_16988[(2)] = null);
(statearr_15177_16988[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15172 === (4))){
var inst_15153 = (state_15171[(8)]);
var inst_15153__$1 = (state_15171[(2)]);
var inst_15154 = (inst_15153__$1 == null);
var state_15171__$1 = (function (){var statearr_15181 = state_15171;
(statearr_15181[(8)] = inst_15153__$1);
return statearr_15181;
})();
if(cljs.core.truth_(inst_15154)){
var statearr_15182_16989 = state_15171__$1;
(statearr_15182_16989[(1)] = (5));
} else {
var statearr_15183_16990 = state_15171__$1;
(statearr_15183_16990[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15172 === (6))){
var inst_15153 = (state_15171[(8)]);
var inst_15157 = (state_15171[(9)]);
var inst_15150 = (state_15171[(7)]);
var inst_15157__$1 = (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(inst_15150,inst_15153) : f.call(null,inst_15150,inst_15153));
var inst_15158 = cljs.core.reduced_QMARK_(inst_15157__$1);
var state_15171__$1 = (function (){var statearr_15184 = state_15171;
(statearr_15184[(9)] = inst_15157__$1);
return statearr_15184;
})();
if(inst_15158){
var statearr_15185_16991 = state_15171__$1;
(statearr_15185_16991[(1)] = (8));
} else {
var statearr_15186_16992 = state_15171__$1;
(statearr_15186_16992[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15172 === (3))){
var inst_15168 = (state_15171[(2)]);
var state_15171__$1 = state_15171;
return cljs.core.async.impl.ioc_helpers.return_chan(state_15171__$1,inst_15168);
} else {
if((state_val_15172 === (2))){
var state_15171__$1 = state_15171;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_15171__$1,(4),ch);
} else {
if((state_val_15172 === (9))){
var inst_15157 = (state_15171[(9)]);
var inst_15150 = inst_15157;
var state_15171__$1 = (function (){var statearr_15187 = state_15171;
(statearr_15187[(7)] = inst_15150);
return statearr_15187;
})();
var statearr_15188_16993 = state_15171__$1;
(statearr_15188_16993[(2)] = null);
(statearr_15188_16993[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15172 === (5))){
var inst_15150 = (state_15171[(7)]);
var state_15171__$1 = state_15171;
var statearr_15189_16994 = state_15171__$1;
(statearr_15189_16994[(2)] = inst_15150);
(statearr_15189_16994[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15172 === (10))){
var inst_15164 = (state_15171[(2)]);
var state_15171__$1 = state_15171;
var statearr_15190_16995 = state_15171__$1;
(statearr_15190_16995[(2)] = inst_15164);
(statearr_15190_16995[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15172 === (8))){
var inst_15157 = (state_15171[(9)]);
var inst_15160 = cljs.core.deref(inst_15157);
var state_15171__$1 = state_15171;
var statearr_15191_16996 = state_15171__$1;
(statearr_15191_16996[(2)] = inst_15160);
(statearr_15191_16996[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$reduce_$_state_machine__14361__auto__ = null;
var cljs$core$async$reduce_$_state_machine__14361__auto____0 = (function (){
var statearr_15192 = [null,null,null,null,null,null,null,null,null,null];
(statearr_15192[(0)] = cljs$core$async$reduce_$_state_machine__14361__auto__);
(statearr_15192[(1)] = (1));
return statearr_15192;
});
var cljs$core$async$reduce_$_state_machine__14361__auto____1 = (function (state_15171){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_15171);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e15193){var ex__14364__auto__ = e15193;
var statearr_15195_16997 = state_15171;
(statearr_15195_16997[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_15171[(4)]))){
var statearr_15196_16998 = state_15171;
(statearr_15196_16998[(1)] = cljs.core.first((state_15171[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__16999 = state_15171;
state_15171 = G__16999;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$reduce_$_state_machine__14361__auto__ = function(state_15171){
switch(arguments.length){
case 0:
return cljs$core$async$reduce_$_state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$reduce_$_state_machine__14361__auto____1.call(this,state_15171);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$reduce_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$reduce_$_state_machine__14361__auto____0;
cljs$core$async$reduce_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$reduce_$_state_machine__14361__auto____1;
return cljs$core$async$reduce_$_state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_15197 = f__14407__auto__();
(statearr_15197[(6)] = c__14406__auto__);
return statearr_15197;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return c__14406__auto__;
});
/**
* async/reduces a channel with a transformation (xform f).
* Returns a channel containing the result. ch must close before
* transduce produces a result.
*/
cljs.core.async.transduce = (function cljs$core$async$transduce(xform,f,init,ch){
var f__$1 = (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));
var c__14406__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_15209){
var state_val_15210 = (state_15209[(1)]);
if((state_val_15210 === (1))){
var inst_15204 = cljs.core.async.reduce(f__$1,init,ch);
var state_15209__$1 = state_15209;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_15209__$1,(2),inst_15204);
} else {
if((state_val_15210 === (2))){
var inst_15206 = (state_15209[(2)]);
var inst_15207 = (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(inst_15206) : f__$1.call(null,inst_15206));
var state_15209__$1 = state_15209;
return cljs.core.async.impl.ioc_helpers.return_chan(state_15209__$1,inst_15207);
} else {
return null;
}
}
});
return (function() {
var cljs$core$async$transduce_$_state_machine__14361__auto__ = null;
var cljs$core$async$transduce_$_state_machine__14361__auto____0 = (function (){
var statearr_15213 = [null,null,null,null,null,null,null];
(statearr_15213[(0)] = cljs$core$async$transduce_$_state_machine__14361__auto__);
(statearr_15213[(1)] = (1));
return statearr_15213;
});
var cljs$core$async$transduce_$_state_machine__14361__auto____1 = (function (state_15209){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_15209);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e15214){var ex__14364__auto__ = e15214;
var statearr_15215_17000 = state_15209;
(statearr_15215_17000[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_15209[(4)]))){
var statearr_15216_17001 = state_15209;
(statearr_15216_17001[(1)] = cljs.core.first((state_15209[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17002 = state_15209;
state_15209 = G__17002;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$transduce_$_state_machine__14361__auto__ = function(state_15209){
switch(arguments.length){
case 0:
return cljs$core$async$transduce_$_state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$transduce_$_state_machine__14361__auto____1.call(this,state_15209);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$transduce_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$transduce_$_state_machine__14361__auto____0;
cljs$core$async$transduce_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$transduce_$_state_machine__14361__auto____1;
return cljs$core$async$transduce_$_state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_15217 = f__14407__auto__();
(statearr_15217[(6)] = c__14406__auto__);
return statearr_15217;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return c__14406__auto__;
});
/**
* Puts the contents of coll into the supplied channel.
*
* By default the channel will be closed after the items are copied,
* but can be determined by the close? parameter.
*
* Returns a channel which will close after the items are copied.
*/
cljs.core.async.onto_chan_BANG_ = (function cljs$core$async$onto_chan_BANG_(var_args){
var G__15219 = arguments.length;
switch (G__15219) {
case 2:
return cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (ch,coll){
return cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);
}));
(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (ch,coll,close_QMARK_){
var c__14406__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_15245){
var state_val_15246 = (state_15245[(1)]);
if((state_val_15246 === (7))){
var inst_15227 = (state_15245[(2)]);
var state_15245__$1 = state_15245;
var statearr_15251_17004 = state_15245__$1;
(statearr_15251_17004[(2)] = inst_15227);
(statearr_15251_17004[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15246 === (1))){
var inst_15221 = cljs.core.seq(coll);
var inst_15222 = inst_15221;
var state_15245__$1 = (function (){var statearr_15252 = state_15245;
(statearr_15252[(7)] = inst_15222);
return statearr_15252;
})();
var statearr_15253_17005 = state_15245__$1;
(statearr_15253_17005[(2)] = null);
(statearr_15253_17005[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15246 === (4))){
var inst_15222 = (state_15245[(7)]);
var inst_15225 = cljs.core.first(inst_15222);
var state_15245__$1 = state_15245;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_15245__$1,(7),ch,inst_15225);
} else {
if((state_val_15246 === (13))){
var inst_15239 = (state_15245[(2)]);
var state_15245__$1 = state_15245;
var statearr_15254_17006 = state_15245__$1;
(statearr_15254_17006[(2)] = inst_15239);
(statearr_15254_17006[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15246 === (6))){
var inst_15230 = (state_15245[(2)]);
var state_15245__$1 = state_15245;
if(cljs.core.truth_(inst_15230)){
var statearr_15255_17007 = state_15245__$1;
(statearr_15255_17007[(1)] = (8));
} else {
var statearr_15256_17008 = state_15245__$1;
(statearr_15256_17008[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15246 === (3))){
var inst_15243 = (state_15245[(2)]);
var state_15245__$1 = state_15245;
return cljs.core.async.impl.ioc_helpers.return_chan(state_15245__$1,inst_15243);
} else {
if((state_val_15246 === (12))){
var state_15245__$1 = state_15245;
var statearr_15257_17009 = state_15245__$1;
(statearr_15257_17009[(2)] = null);
(statearr_15257_17009[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15246 === (2))){
var inst_15222 = (state_15245[(7)]);
var state_15245__$1 = state_15245;
if(cljs.core.truth_(inst_15222)){
var statearr_15258_17010 = state_15245__$1;
(statearr_15258_17010[(1)] = (4));
} else {
var statearr_15259_17011 = state_15245__$1;
(statearr_15259_17011[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15246 === (11))){
var inst_15236 = cljs.core.async.close_BANG_(ch);
var state_15245__$1 = state_15245;
var statearr_15260_17012 = state_15245__$1;
(statearr_15260_17012[(2)] = inst_15236);
(statearr_15260_17012[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15246 === (9))){
var state_15245__$1 = state_15245;
if(cljs.core.truth_(close_QMARK_)){
var statearr_15261_17013 = state_15245__$1;
(statearr_15261_17013[(1)] = (11));
} else {
var statearr_15262_17014 = state_15245__$1;
(statearr_15262_17014[(1)] = (12));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15246 === (5))){
var inst_15222 = (state_15245[(7)]);
var state_15245__$1 = state_15245;
var statearr_15263_17015 = state_15245__$1;
(statearr_15263_17015[(2)] = inst_15222);
(statearr_15263_17015[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15246 === (10))){
var inst_15241 = (state_15245[(2)]);
var state_15245__$1 = state_15245;
var statearr_15264_17016 = state_15245__$1;
(statearr_15264_17016[(2)] = inst_15241);
(statearr_15264_17016[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15246 === (8))){
var inst_15222 = (state_15245[(7)]);
var inst_15232 = cljs.core.next(inst_15222);
var inst_15222__$1 = inst_15232;
var state_15245__$1 = (function (){var statearr_15266 = state_15245;
(statearr_15266[(7)] = inst_15222__$1);
return statearr_15266;
})();
var statearr_15267_17017 = state_15245__$1;
(statearr_15267_17017[(2)] = null);
(statearr_15267_17017[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_15273 = [null,null,null,null,null,null,null,null];
(statearr_15273[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_15273[(1)] = (1));
return statearr_15273;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_15245){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_15245);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e15274){var ex__14364__auto__ = e15274;
var statearr_15275_17018 = state_15245;
(statearr_15275_17018[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_15245[(4)]))){
var statearr_15276_17019 = state_15245;
(statearr_15276_17019[(1)] = cljs.core.first((state_15245[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17020 = state_15245;
state_15245 = G__17020;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_15245){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_15245);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_15277 = f__14407__auto__();
(statearr_15277[(6)] = c__14406__auto__);
return statearr_15277;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return c__14406__auto__;
}));
(cljs.core.async.onto_chan_BANG_.cljs$lang$maxFixedArity = 3);
/**
* Creates and returns a channel which contains the contents of coll,
* closing when exhausted.
*/
cljs.core.async.to_chan_BANG_ = (function cljs$core$async$to_chan_BANG_(coll){
var ch = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.bounded_count((100),coll));
cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2(ch,coll);
return ch;
});
/**
* Deprecated - use onto-chan!
*/
cljs.core.async.onto_chan = (function cljs$core$async$onto_chan(var_args){
var G__15282 = arguments.length;
switch (G__15282) {
case 2:
return cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2 = (function (ch,coll){
return cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);
}));
(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3 = (function (ch,coll,close_QMARK_){
return cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,close_QMARK_);
}));
(cljs.core.async.onto_chan.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - use to-chan!
*/
cljs.core.async.to_chan = (function cljs$core$async$to_chan(coll){
return cljs.core.async.to_chan_BANG_(coll);
});
/**
* @interface
*/
cljs.core.async.Mux = function(){};
var cljs$core$async$Mux$muxch_STAR_$dyn_17022 = (function (_){
var x__5393__auto__ = (((_ == null))?null:_);
var m__5394__auto__ = (cljs.core.async.muxch_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5394__auto__.call(null,_));
} else {
var m__5392__auto__ = (cljs.core.async.muxch_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5392__auto__.call(null,_));
} else {
throw cljs.core.missing_protocol("Mux.muxch*",_);
}
}
});
cljs.core.async.muxch_STAR_ = (function cljs$core$async$muxch_STAR_(_){
if((((!((_ == null)))) && ((!((_.cljs$core$async$Mux$muxch_STAR_$arity$1 == null)))))){
return _.cljs$core$async$Mux$muxch_STAR_$arity$1(_);
} else {
return cljs$core$async$Mux$muxch_STAR_$dyn_17022(_);
}
});
/**
* @interface
*/
cljs.core.async.Mult = function(){};
var cljs$core$async$Mult$tap_STAR_$dyn_17023 = (function (m,ch,close_QMARK_){
var x__5393__auto__ = (((m == null))?null:m);
var m__5394__auto__ = (cljs.core.async.tap_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5394__auto__.call(null,m,ch,close_QMARK_));
} else {
var m__5392__auto__ = (cljs.core.async.tap_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5392__auto__.call(null,m,ch,close_QMARK_));
} else {
throw cljs.core.missing_protocol("Mult.tap*",m);
}
}
});
cljs.core.async.tap_STAR_ = (function cljs$core$async$tap_STAR_(m,ch,close_QMARK_){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mult$tap_STAR_$arity$3 == null)))))){
return m.cljs$core$async$Mult$tap_STAR_$arity$3(m,ch,close_QMARK_);
} else {
return cljs$core$async$Mult$tap_STAR_$dyn_17023(m,ch,close_QMARK_);
}
});
var cljs$core$async$Mult$untap_STAR_$dyn_17024 = (function (m,ch){
var x__5393__auto__ = (((m == null))?null:m);
var m__5394__auto__ = (cljs.core.async.untap_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));
} else {
var m__5392__auto__ = (cljs.core.async.untap_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));
} else {
throw cljs.core.missing_protocol("Mult.untap*",m);
}
}
});
cljs.core.async.untap_STAR_ = (function cljs$core$async$untap_STAR_(m,ch){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mult$untap_STAR_$arity$2 == null)))))){
return m.cljs$core$async$Mult$untap_STAR_$arity$2(m,ch);
} else {
return cljs$core$async$Mult$untap_STAR_$dyn_17024(m,ch);
}
});
var cljs$core$async$Mult$untap_all_STAR_$dyn_17025 = (function (m){
var x__5393__auto__ = (((m == null))?null:m);
var m__5394__auto__ = (cljs.core.async.untap_all_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5394__auto__.call(null,m));
} else {
var m__5392__auto__ = (cljs.core.async.untap_all_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5392__auto__.call(null,m));
} else {
throw cljs.core.missing_protocol("Mult.untap-all*",m);
}
}
});
cljs.core.async.untap_all_STAR_ = (function cljs$core$async$untap_all_STAR_(m){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mult$untap_all_STAR_$arity$1 == null)))))){
return m.cljs$core$async$Mult$untap_all_STAR_$arity$1(m);
} else {
return cljs$core$async$Mult$untap_all_STAR_$dyn_17025(m);
}
});
/**
* @constructor
* @implements {cljs.core.async.Mult}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.async.Mux}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async15296 = (function (ch,cs,meta15297){
this.ch = ch;
this.cs = cs;
this.meta15297 = meta15297;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_15298,meta15297__$1){
var self__ = this;
var _15298__$1 = this;
return (new cljs.core.async.t_cljs$core$async15296(self__.ch,self__.cs,meta15297__$1));
}));
(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_15298){
var self__ = this;
var _15298__$1 = this;
return self__.meta15297;
}));
(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.ch;
}));
(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mult$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mult$tap_STAR_$arity$3 = (function (_,ch__$1,close_QMARK_){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch__$1,close_QMARK_);
return null;
}));
(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mult$untap_STAR_$arity$2 = (function (_,ch__$1){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch__$1);
return null;
}));
(cljs.core.async.t_cljs$core$async15296.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);
return null;
}));
(cljs.core.async.t_cljs$core$async15296.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"cs","cs",-117024463,null),new cljs.core.Symbol(null,"meta15297","meta15297",2059700778,null)], null);
}));
(cljs.core.async.t_cljs$core$async15296.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async15296.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async15296");
(cljs.core.async.t_cljs$core$async15296.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"cljs.core.async/t_cljs$core$async15296");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async15296.
*/
cljs.core.async.__GT_t_cljs$core$async15296 = (function cljs$core$async$__GT_t_cljs$core$async15296(ch,cs,meta15297){
return (new cljs.core.async.t_cljs$core$async15296(ch,cs,meta15297));
});
/**
* Creates and returns a mult(iple) of the supplied channel. Channels
* containing copies of the channel can be created with 'tap', and
* detached with 'untap'.
*
* Each item is distributed to all taps in parallel and synchronously,
* i.e. each tap must accept before the next item is distributed. Use
* buffering/windowing to prevent slow taps from holding up the mult.
*
* Items received when there are no taps get dropped.
*
* If a tap puts to a closed channel, it will be removed from the mult.
*/
cljs.core.async.mult = (function cljs$core$async$mult(ch){
var cs = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
var m = (new cljs.core.async.t_cljs$core$async15296(ch,cs,cljs.core.PersistentArrayMap.EMPTY));
var dchan = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
var dctr = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);
var done = (function (_){
if((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) === (0))){
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,true);
} else {
return null;
}
});
var c__14406__auto___17026 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_15469){
var state_val_15470 = (state_15469[(1)]);
if((state_val_15470 === (7))){
var inst_15462 = (state_15469[(2)]);
var state_15469__$1 = state_15469;
var statearr_15471_17027 = state_15469__$1;
(statearr_15471_17027[(2)] = inst_15462);
(statearr_15471_17027[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (20))){
var inst_15351 = (state_15469[(7)]);
var inst_15366 = cljs.core.first(inst_15351);
var inst_15367 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15366,(0),null);
var inst_15368 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15366,(1),null);
var state_15469__$1 = (function (){var statearr_15472 = state_15469;
(statearr_15472[(8)] = inst_15367);
return statearr_15472;
})();
if(cljs.core.truth_(inst_15368)){
var statearr_15473_17028 = state_15469__$1;
(statearr_15473_17028[(1)] = (22));
} else {
var statearr_15474_17029 = state_15469__$1;
(statearr_15474_17029[(1)] = (23));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (27))){
var inst_15408 = (state_15469[(9)]);
var inst_15318 = (state_15469[(10)]);
var inst_15400 = (state_15469[(11)]);
var inst_15402 = (state_15469[(12)]);
var inst_15408__$1 = cljs.core._nth(inst_15400,inst_15402);
var inst_15409 = cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_15408__$1,inst_15318,done);
var state_15469__$1 = (function (){var statearr_15475 = state_15469;
(statearr_15475[(9)] = inst_15408__$1);
return statearr_15475;
})();
if(cljs.core.truth_(inst_15409)){
var statearr_15476_17030 = state_15469__$1;
(statearr_15476_17030[(1)] = (30));
} else {
var statearr_15477_17031 = state_15469__$1;
(statearr_15477_17031[(1)] = (31));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (1))){
var state_15469__$1 = state_15469;
var statearr_15478_17032 = state_15469__$1;
(statearr_15478_17032[(2)] = null);
(statearr_15478_17032[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (24))){
var inst_15351 = (state_15469[(7)]);
var inst_15373 = (state_15469[(2)]);
var inst_15374 = cljs.core.next(inst_15351);
var inst_15329 = inst_15374;
var inst_15330 = null;
var inst_15331 = (0);
var inst_15332 = (0);
var state_15469__$1 = (function (){var statearr_15479 = state_15469;
(statearr_15479[(13)] = inst_15330);
(statearr_15479[(14)] = inst_15373);
(statearr_15479[(15)] = inst_15332);
(statearr_15479[(16)] = inst_15331);
(statearr_15479[(17)] = inst_15329);
return statearr_15479;
})();
var statearr_15480_17033 = state_15469__$1;
(statearr_15480_17033[(2)] = null);
(statearr_15480_17033[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (39))){
var state_15469__$1 = state_15469;
var statearr_15486_17034 = state_15469__$1;
(statearr_15486_17034[(2)] = null);
(statearr_15486_17034[(1)] = (41));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (4))){
var inst_15318 = (state_15469[(10)]);
var inst_15318__$1 = (state_15469[(2)]);
var inst_15321 = (inst_15318__$1 == null);
var state_15469__$1 = (function (){var statearr_15487 = state_15469;
(statearr_15487[(10)] = inst_15318__$1);
return statearr_15487;
})();
if(cljs.core.truth_(inst_15321)){
var statearr_15488_17035 = state_15469__$1;
(statearr_15488_17035[(1)] = (5));
} else {
var statearr_15489_17036 = state_15469__$1;
(statearr_15489_17036[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (15))){
var inst_15330 = (state_15469[(13)]);
var inst_15332 = (state_15469[(15)]);
var inst_15331 = (state_15469[(16)]);
var inst_15329 = (state_15469[(17)]);
var inst_15347 = (state_15469[(2)]);
var inst_15348 = (inst_15332 + (1));
var tmp15481 = inst_15330;
var tmp15482 = inst_15331;
var tmp15483 = inst_15329;
var inst_15329__$1 = tmp15483;
var inst_15330__$1 = tmp15481;
var inst_15331__$1 = tmp15482;
var inst_15332__$1 = inst_15348;
var state_15469__$1 = (function (){var statearr_15490 = state_15469;
(statearr_15490[(13)] = inst_15330__$1);
(statearr_15490[(15)] = inst_15332__$1);
(statearr_15490[(16)] = inst_15331__$1);
(statearr_15490[(17)] = inst_15329__$1);
(statearr_15490[(18)] = inst_15347);
return statearr_15490;
})();
var statearr_15491_17039 = state_15469__$1;
(statearr_15491_17039[(2)] = null);
(statearr_15491_17039[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (21))){
var inst_15377 = (state_15469[(2)]);
var state_15469__$1 = state_15469;
var statearr_15495_17040 = state_15469__$1;
(statearr_15495_17040[(2)] = inst_15377);
(statearr_15495_17040[(1)] = (18));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (31))){
var inst_15408 = (state_15469[(9)]);
var inst_15413 = m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_15408);
var state_15469__$1 = state_15469;
var statearr_15496_17041 = state_15469__$1;
(statearr_15496_17041[(2)] = inst_15413);
(statearr_15496_17041[(1)] = (32));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (32))){
var inst_15401 = (state_15469[(19)]);
var inst_15400 = (state_15469[(11)]);
var inst_15399 = (state_15469[(20)]);
var inst_15402 = (state_15469[(12)]);
var inst_15418 = (state_15469[(2)]);
var inst_15419 = (inst_15402 + (1));
var tmp15492 = inst_15401;
var tmp15493 = inst_15400;
var tmp15494 = inst_15399;
var inst_15399__$1 = tmp15494;
var inst_15400__$1 = tmp15493;
var inst_15401__$1 = tmp15492;
var inst_15402__$1 = inst_15419;
var state_15469__$1 = (function (){var statearr_15497 = state_15469;
(statearr_15497[(19)] = inst_15401__$1);
(statearr_15497[(21)] = inst_15418);
(statearr_15497[(11)] = inst_15400__$1);
(statearr_15497[(20)] = inst_15399__$1);
(statearr_15497[(12)] = inst_15402__$1);
return statearr_15497;
})();
var statearr_15498_17042 = state_15469__$1;
(statearr_15498_17042[(2)] = null);
(statearr_15498_17042[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (40))){
var inst_15433 = (state_15469[(22)]);
var inst_15438 = m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_15433);
var state_15469__$1 = state_15469;
var statearr_15499_17043 = state_15469__$1;
(statearr_15499_17043[(2)] = inst_15438);
(statearr_15499_17043[(1)] = (41));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (33))){
var inst_15423 = (state_15469[(23)]);
var inst_15426 = cljs.core.chunked_seq_QMARK_(inst_15423);
var state_15469__$1 = state_15469;
if(inst_15426){
var statearr_15500_17044 = state_15469__$1;
(statearr_15500_17044[(1)] = (36));
} else {
var statearr_15501_17045 = state_15469__$1;
(statearr_15501_17045[(1)] = (37));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (13))){
var inst_15341 = (state_15469[(24)]);
var inst_15344 = cljs.core.async.close_BANG_(inst_15341);
var state_15469__$1 = state_15469;
var statearr_15502_17046 = state_15469__$1;
(statearr_15502_17046[(2)] = inst_15344);
(statearr_15502_17046[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (22))){
var inst_15367 = (state_15469[(8)]);
var inst_15370 = cljs.core.async.close_BANG_(inst_15367);
var state_15469__$1 = state_15469;
var statearr_15508_17047 = state_15469__$1;
(statearr_15508_17047[(2)] = inst_15370);
(statearr_15508_17047[(1)] = (24));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (36))){
var inst_15423 = (state_15469[(23)]);
var inst_15428 = cljs.core.chunk_first(inst_15423);
var inst_15429 = cljs.core.chunk_rest(inst_15423);
var inst_15430 = cljs.core.count(inst_15428);
var inst_15399 = inst_15429;
var inst_15400 = inst_15428;
var inst_15401 = inst_15430;
var inst_15402 = (0);
var state_15469__$1 = (function (){var statearr_15514 = state_15469;
(statearr_15514[(19)] = inst_15401);
(statearr_15514[(11)] = inst_15400);
(statearr_15514[(20)] = inst_15399);
(statearr_15514[(12)] = inst_15402);
return statearr_15514;
})();
var statearr_15515_17048 = state_15469__$1;
(statearr_15515_17048[(2)] = null);
(statearr_15515_17048[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (41))){
var inst_15423 = (state_15469[(23)]);
var inst_15440 = (state_15469[(2)]);
var inst_15441 = cljs.core.next(inst_15423);
var inst_15399 = inst_15441;
var inst_15400 = null;
var inst_15401 = (0);
var inst_15402 = (0);
var state_15469__$1 = (function (){var statearr_15516 = state_15469;
(statearr_15516[(19)] = inst_15401);
(statearr_15516[(11)] = inst_15400);
(statearr_15516[(25)] = inst_15440);
(statearr_15516[(20)] = inst_15399);
(statearr_15516[(12)] = inst_15402);
return statearr_15516;
})();
var statearr_15517_17053 = state_15469__$1;
(statearr_15517_17053[(2)] = null);
(statearr_15517_17053[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (43))){
var state_15469__$1 = state_15469;
var statearr_15520_17054 = state_15469__$1;
(statearr_15520_17054[(2)] = null);
(statearr_15520_17054[(1)] = (44));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (29))){
var inst_15450 = (state_15469[(2)]);
var state_15469__$1 = state_15469;
var statearr_15521_17058 = state_15469__$1;
(statearr_15521_17058[(2)] = inst_15450);
(statearr_15521_17058[(1)] = (26));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (44))){
var inst_15459 = (state_15469[(2)]);
var state_15469__$1 = (function (){var statearr_15523 = state_15469;
(statearr_15523[(26)] = inst_15459);
return statearr_15523;
})();
var statearr_15524_17059 = state_15469__$1;
(statearr_15524_17059[(2)] = null);
(statearr_15524_17059[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (6))){
var inst_15387 = (state_15469[(27)]);
var inst_15386 = cljs.core.deref(cs);
var inst_15387__$1 = cljs.core.keys(inst_15386);
var inst_15388 = cljs.core.count(inst_15387__$1);
var inst_15389 = cljs.core.reset_BANG_(dctr,inst_15388);
var inst_15395 = cljs.core.seq(inst_15387__$1);
var inst_15399 = inst_15395;
var inst_15400 = null;
var inst_15401 = (0);
var inst_15402 = (0);
var state_15469__$1 = (function (){var statearr_15526 = state_15469;
(statearr_15526[(19)] = inst_15401);
(statearr_15526[(28)] = inst_15389);
(statearr_15526[(11)] = inst_15400);
(statearr_15526[(27)] = inst_15387__$1);
(statearr_15526[(20)] = inst_15399);
(statearr_15526[(12)] = inst_15402);
return statearr_15526;
})();
var statearr_15527_17060 = state_15469__$1;
(statearr_15527_17060[(2)] = null);
(statearr_15527_17060[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (28))){
var inst_15423 = (state_15469[(23)]);
var inst_15399 = (state_15469[(20)]);
var inst_15423__$1 = cljs.core.seq(inst_15399);
var state_15469__$1 = (function (){var statearr_15528 = state_15469;
(statearr_15528[(23)] = inst_15423__$1);
return statearr_15528;
})();
if(inst_15423__$1){
var statearr_15529_17064 = state_15469__$1;
(statearr_15529_17064[(1)] = (33));
} else {
var statearr_15530_17065 = state_15469__$1;
(statearr_15530_17065[(1)] = (34));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (25))){
var inst_15401 = (state_15469[(19)]);
var inst_15402 = (state_15469[(12)]);
var inst_15404 = (inst_15402 < inst_15401);
var inst_15405 = inst_15404;
var state_15469__$1 = state_15469;
if(cljs.core.truth_(inst_15405)){
var statearr_15531_17066 = state_15469__$1;
(statearr_15531_17066[(1)] = (27));
} else {
var statearr_15532_17067 = state_15469__$1;
(statearr_15532_17067[(1)] = (28));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (34))){
var state_15469__$1 = state_15469;
var statearr_15533_17068 = state_15469__$1;
(statearr_15533_17068[(2)] = null);
(statearr_15533_17068[(1)] = (35));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (17))){
var state_15469__$1 = state_15469;
var statearr_15534_17072 = state_15469__$1;
(statearr_15534_17072[(2)] = null);
(statearr_15534_17072[(1)] = (18));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (3))){
var inst_15464 = (state_15469[(2)]);
var state_15469__$1 = state_15469;
return cljs.core.async.impl.ioc_helpers.return_chan(state_15469__$1,inst_15464);
} else {
if((state_val_15470 === (12))){
var inst_15382 = (state_15469[(2)]);
var state_15469__$1 = state_15469;
var statearr_15535_17073 = state_15469__$1;
(statearr_15535_17073[(2)] = inst_15382);
(statearr_15535_17073[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (2))){
var state_15469__$1 = state_15469;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_15469__$1,(4),ch);
} else {
if((state_val_15470 === (23))){
var state_15469__$1 = state_15469;
var statearr_15536_17074 = state_15469__$1;
(statearr_15536_17074[(2)] = null);
(statearr_15536_17074[(1)] = (24));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (35))){
var inst_15448 = (state_15469[(2)]);
var state_15469__$1 = state_15469;
var statearr_15537_17075 = state_15469__$1;
(statearr_15537_17075[(2)] = inst_15448);
(statearr_15537_17075[(1)] = (29));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (19))){
var inst_15351 = (state_15469[(7)]);
var inst_15355 = cljs.core.chunk_first(inst_15351);
var inst_15356 = cljs.core.chunk_rest(inst_15351);
var inst_15359 = cljs.core.count(inst_15355);
var inst_15329 = inst_15356;
var inst_15330 = inst_15355;
var inst_15331 = inst_15359;
var inst_15332 = (0);
var state_15469__$1 = (function (){var statearr_15538 = state_15469;
(statearr_15538[(13)] = inst_15330);
(statearr_15538[(15)] = inst_15332);
(statearr_15538[(16)] = inst_15331);
(statearr_15538[(17)] = inst_15329);
return statearr_15538;
})();
var statearr_15539_17079 = state_15469__$1;
(statearr_15539_17079[(2)] = null);
(statearr_15539_17079[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (11))){
var inst_15329 = (state_15469[(17)]);
var inst_15351 = (state_15469[(7)]);
var inst_15351__$1 = cljs.core.seq(inst_15329);
var state_15469__$1 = (function (){var statearr_15540 = state_15469;
(statearr_15540[(7)] = inst_15351__$1);
return statearr_15540;
})();
if(inst_15351__$1){
var statearr_15541_17080 = state_15469__$1;
(statearr_15541_17080[(1)] = (16));
} else {
var statearr_15542_17081 = state_15469__$1;
(statearr_15542_17081[(1)] = (17));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (9))){
var inst_15384 = (state_15469[(2)]);
var state_15469__$1 = state_15469;
var statearr_15543_17082 = state_15469__$1;
(statearr_15543_17082[(2)] = inst_15384);
(statearr_15543_17082[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (5))){
var inst_15327 = cljs.core.deref(cs);
var inst_15328 = cljs.core.seq(inst_15327);
var inst_15329 = inst_15328;
var inst_15330 = null;
var inst_15331 = (0);
var inst_15332 = (0);
var state_15469__$1 = (function (){var statearr_15544 = state_15469;
(statearr_15544[(13)] = inst_15330);
(statearr_15544[(15)] = inst_15332);
(statearr_15544[(16)] = inst_15331);
(statearr_15544[(17)] = inst_15329);
return statearr_15544;
})();
var statearr_15545_17087 = state_15469__$1;
(statearr_15545_17087[(2)] = null);
(statearr_15545_17087[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (14))){
var state_15469__$1 = state_15469;
var statearr_15546_17088 = state_15469__$1;
(statearr_15546_17088[(2)] = null);
(statearr_15546_17088[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (45))){
var inst_15456 = (state_15469[(2)]);
var state_15469__$1 = state_15469;
var statearr_15547_17092 = state_15469__$1;
(statearr_15547_17092[(2)] = inst_15456);
(statearr_15547_17092[(1)] = (44));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (26))){
var inst_15387 = (state_15469[(27)]);
var inst_15452 = (state_15469[(2)]);
var inst_15453 = cljs.core.seq(inst_15387);
var state_15469__$1 = (function (){var statearr_15554 = state_15469;
(statearr_15554[(29)] = inst_15452);
return statearr_15554;
})();
if(inst_15453){
var statearr_15555_17093 = state_15469__$1;
(statearr_15555_17093[(1)] = (42));
} else {
var statearr_15556_17094 = state_15469__$1;
(statearr_15556_17094[(1)] = (43));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (16))){
var inst_15351 = (state_15469[(7)]);
var inst_15353 = cljs.core.chunked_seq_QMARK_(inst_15351);
var state_15469__$1 = state_15469;
if(inst_15353){
var statearr_15557_17095 = state_15469__$1;
(statearr_15557_17095[(1)] = (19));
} else {
var statearr_15558_17096 = state_15469__$1;
(statearr_15558_17096[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (38))){
var inst_15445 = (state_15469[(2)]);
var state_15469__$1 = state_15469;
var statearr_15559_17097 = state_15469__$1;
(statearr_15559_17097[(2)] = inst_15445);
(statearr_15559_17097[(1)] = (35));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (30))){
var state_15469__$1 = state_15469;
var statearr_15560_17098 = state_15469__$1;
(statearr_15560_17098[(2)] = null);
(statearr_15560_17098[(1)] = (32));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (10))){
var inst_15330 = (state_15469[(13)]);
var inst_15332 = (state_15469[(15)]);
var inst_15340 = cljs.core._nth(inst_15330,inst_15332);
var inst_15341 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15340,(0),null);
var inst_15342 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15340,(1),null);
var state_15469__$1 = (function (){var statearr_15561 = state_15469;
(statearr_15561[(24)] = inst_15341);
return statearr_15561;
})();
if(cljs.core.truth_(inst_15342)){
var statearr_15562_17099 = state_15469__$1;
(statearr_15562_17099[(1)] = (13));
} else {
var statearr_15563_17100 = state_15469__$1;
(statearr_15563_17100[(1)] = (14));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (18))){
var inst_15380 = (state_15469[(2)]);
var state_15469__$1 = state_15469;
var statearr_15564_17101 = state_15469__$1;
(statearr_15564_17101[(2)] = inst_15380);
(statearr_15564_17101[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (42))){
var state_15469__$1 = state_15469;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_15469__$1,(45),dchan);
} else {
if((state_val_15470 === (37))){
var inst_15423 = (state_15469[(23)]);
var inst_15318 = (state_15469[(10)]);
var inst_15433 = (state_15469[(22)]);
var inst_15433__$1 = cljs.core.first(inst_15423);
var inst_15434 = cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_15433__$1,inst_15318,done);
var state_15469__$1 = (function (){var statearr_15565 = state_15469;
(statearr_15565[(22)] = inst_15433__$1);
return statearr_15565;
})();
if(cljs.core.truth_(inst_15434)){
var statearr_15566_17102 = state_15469__$1;
(statearr_15566_17102[(1)] = (39));
} else {
var statearr_15567_17103 = state_15469__$1;
(statearr_15567_17103[(1)] = (40));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15470 === (8))){
var inst_15332 = (state_15469[(15)]);
var inst_15331 = (state_15469[(16)]);
var inst_15334 = (inst_15332 < inst_15331);
var inst_15335 = inst_15334;
var state_15469__$1 = state_15469;
if(cljs.core.truth_(inst_15335)){
var statearr_15568_17104 = state_15469__$1;
(statearr_15568_17104[(1)] = (10));
} else {
var statearr_15569_17105 = state_15469__$1;
(statearr_15569_17105[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mult_$_state_machine__14361__auto__ = null;
var cljs$core$async$mult_$_state_machine__14361__auto____0 = (function (){
var statearr_15578 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_15578[(0)] = cljs$core$async$mult_$_state_machine__14361__auto__);
(statearr_15578[(1)] = (1));
return statearr_15578;
});
var cljs$core$async$mult_$_state_machine__14361__auto____1 = (function (state_15469){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_15469);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e15579){var ex__14364__auto__ = e15579;
var statearr_15580_17106 = state_15469;
(statearr_15580_17106[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_15469[(4)]))){
var statearr_15581_17107 = state_15469;
(statearr_15581_17107[(1)] = cljs.core.first((state_15469[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17108 = state_15469;
state_15469 = G__17108;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$mult_$_state_machine__14361__auto__ = function(state_15469){
switch(arguments.length){
case 0:
return cljs$core$async$mult_$_state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$mult_$_state_machine__14361__auto____1.call(this,state_15469);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mult_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mult_$_state_machine__14361__auto____0;
cljs$core$async$mult_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mult_$_state_machine__14361__auto____1;
return cljs$core$async$mult_$_state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_15582 = f__14407__auto__();
(statearr_15582[(6)] = c__14406__auto___17026);
return statearr_15582;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return m;
});
/**
* Copies the mult source onto the supplied channel.
*
* By default the channel will be closed when the source closes,
* but can be determined by the close? parameter.
*/
cljs.core.async.tap = (function cljs$core$async$tap(var_args){
var G__15584 = arguments.length;
switch (G__15584) {
case 2:
return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2 = (function (mult,ch){
return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(mult,ch,true);
}));
(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3 = (function (mult,ch,close_QMARK_){
cljs.core.async.tap_STAR_(mult,ch,close_QMARK_);
return ch;
}));
(cljs.core.async.tap.cljs$lang$maxFixedArity = 3);
/**
* Disconnects a target channel from a mult
*/
cljs.core.async.untap = (function cljs$core$async$untap(mult,ch){
return cljs.core.async.untap_STAR_(mult,ch);
});
/**
* Disconnects all target channels from a mult
*/
cljs.core.async.untap_all = (function cljs$core$async$untap_all(mult){
return cljs.core.async.untap_all_STAR_(mult);
});
/**
* @interface
*/
cljs.core.async.Mix = function(){};
var cljs$core$async$Mix$admix_STAR_$dyn_17110 = (function (m,ch){
var x__5393__auto__ = (((m == null))?null:m);
var m__5394__auto__ = (cljs.core.async.admix_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));
} else {
var m__5392__auto__ = (cljs.core.async.admix_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));
} else {
throw cljs.core.missing_protocol("Mix.admix*",m);
}
}
});
cljs.core.async.admix_STAR_ = (function cljs$core$async$admix_STAR_(m,ch){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mix$admix_STAR_$arity$2 == null)))))){
return m.cljs$core$async$Mix$admix_STAR_$arity$2(m,ch);
} else {
return cljs$core$async$Mix$admix_STAR_$dyn_17110(m,ch);
}
});
var cljs$core$async$Mix$unmix_STAR_$dyn_17111 = (function (m,ch){
var x__5393__auto__ = (((m == null))?null:m);
var m__5394__auto__ = (cljs.core.async.unmix_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5394__auto__.call(null,m,ch));
} else {
var m__5392__auto__ = (cljs.core.async.unmix_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5392__auto__.call(null,m,ch));
} else {
throw cljs.core.missing_protocol("Mix.unmix*",m);
}
}
});
cljs.core.async.unmix_STAR_ = (function cljs$core$async$unmix_STAR_(m,ch){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mix$unmix_STAR_$arity$2 == null)))))){
return m.cljs$core$async$Mix$unmix_STAR_$arity$2(m,ch);
} else {
return cljs$core$async$Mix$unmix_STAR_$dyn_17111(m,ch);
}
});
var cljs$core$async$Mix$unmix_all_STAR_$dyn_17112 = (function (m){
var x__5393__auto__ = (((m == null))?null:m);
var m__5394__auto__ = (cljs.core.async.unmix_all_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5394__auto__.call(null,m));
} else {
var m__5392__auto__ = (cljs.core.async.unmix_all_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5392__auto__.call(null,m));
} else {
throw cljs.core.missing_protocol("Mix.unmix-all*",m);
}
}
});
cljs.core.async.unmix_all_STAR_ = (function cljs$core$async$unmix_all_STAR_(m){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mix$unmix_all_STAR_$arity$1 == null)))))){
return m.cljs$core$async$Mix$unmix_all_STAR_$arity$1(m);
} else {
return cljs$core$async$Mix$unmix_all_STAR_$dyn_17112(m);
}
});
var cljs$core$async$Mix$toggle_STAR_$dyn_17113 = (function (m,state_map){
var x__5393__auto__ = (((m == null))?null:m);
var m__5394__auto__ = (cljs.core.async.toggle_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5394__auto__.call(null,m,state_map));
} else {
var m__5392__auto__ = (cljs.core.async.toggle_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5392__auto__.call(null,m,state_map));
} else {
throw cljs.core.missing_protocol("Mix.toggle*",m);
}
}
});
cljs.core.async.toggle_STAR_ = (function cljs$core$async$toggle_STAR_(m,state_map){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mix$toggle_STAR_$arity$2 == null)))))){
return m.cljs$core$async$Mix$toggle_STAR_$arity$2(m,state_map);
} else {
return cljs$core$async$Mix$toggle_STAR_$dyn_17113(m,state_map);
}
});
var cljs$core$async$Mix$solo_mode_STAR_$dyn_17114 = (function (m,mode){
var x__5393__auto__ = (((m == null))?null:m);
var m__5394__auto__ = (cljs.core.async.solo_mode_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5394__auto__.call(null,m,mode));
} else {
var m__5392__auto__ = (cljs.core.async.solo_mode_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5392__auto__.call(null,m,mode));
} else {
throw cljs.core.missing_protocol("Mix.solo-mode*",m);
}
}
});
cljs.core.async.solo_mode_STAR_ = (function cljs$core$async$solo_mode_STAR_(m,mode){
if((((!((m == null)))) && ((!((m.cljs$core$async$Mix$solo_mode_STAR_$arity$2 == null)))))){
return m.cljs$core$async$Mix$solo_mode_STAR_$arity$2(m,mode);
} else {
return cljs$core$async$Mix$solo_mode_STAR_$dyn_17114(m,mode);
}
});
cljs.core.async.ioc_alts_BANG_ = (function cljs$core$async$ioc_alts_BANG_(var_args){
var args__5775__auto__ = [];
var len__5769__auto___17115 = arguments.length;
var i__5770__auto___17116 = (0);
while(true){
if((i__5770__auto___17116 < len__5769__auto___17115)){
args__5775__auto__.push((arguments[i__5770__auto___17116]));
var G__17117 = (i__5770__auto___17116 + (1));
i__5770__auto___17116 = G__17117;
continue;
} else {
}
break;
}
var argseq__5776__auto__ = ((((3) < args__5775__auto__.length))?(new cljs.core.IndexedSeq(args__5775__auto__.slice((3)),(0),null)):null);
return cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5776__auto__);
});
(cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (state,cont_block,ports,p__15604){
var map__15605 = p__15604;
var map__15605__$1 = cljs.core.__destructure_map(map__15605);
var opts = map__15605__$1;
var statearr_15606_17118 = state;
(statearr_15606_17118[(1)] = cont_block);
var temp__5804__auto__ = cljs.core.async.do_alts((function (val){
var statearr_15607_17119 = state;
(statearr_15607_17119[(2)] = val);
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);
}),ports,opts);
if(cljs.core.truth_(temp__5804__auto__)){
var cb = temp__5804__auto__;
var statearr_15608_17120 = state;
(statearr_15608_17120[(2)] = cljs.core.deref(cb));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}));
(cljs.core.async.ioc_alts_BANG_.cljs$lang$maxFixedArity = (3));
/** @this {Function} */
(cljs.core.async.ioc_alts_BANG_.cljs$lang$applyTo = (function (seq15600){
var G__15601 = cljs.core.first(seq15600);
var seq15600__$1 = cljs.core.next(seq15600);
var G__15602 = cljs.core.first(seq15600__$1);
var seq15600__$2 = cljs.core.next(seq15600__$1);
var G__15603 = cljs.core.first(seq15600__$2);
var seq15600__$3 = cljs.core.next(seq15600__$2);
var self__5754__auto__ = this;
return self__5754__auto__.cljs$core$IFn$_invoke$arity$variadic(G__15601,G__15602,G__15603,seq15600__$3);
}));
/**
* @constructor
* @implements {cljs.core.IMeta}
* @implements {cljs.core.async.Mix}
* @implements {cljs.core.async.Mux}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async15615 = (function (change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta15616){
this.change = change;
this.solo_mode = solo_mode;
this.pick = pick;
this.cs = cs;
this.calc_state = calc_state;
this.out = out;
this.changed = changed;
this.solo_modes = solo_modes;
this.attrs = attrs;
this.meta15616 = meta15616;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_15617,meta15616__$1){
var self__ = this;
var _15617__$1 = this;
return (new cljs.core.async.t_cljs$core$async15615(self__.change,self__.solo_mode,self__.pick,self__.cs,self__.calc_state,self__.out,self__.changed,self__.solo_modes,self__.attrs,meta15616__$1));
}));
(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_15617){
var self__ = this;
var _15617__$1 = this;
return self__.meta15616;
}));
(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.out;
}));
(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$admix_STAR_$arity$2 = (function (_,ch){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch,cljs.core.PersistentArrayMap.EMPTY);
return (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));
}));
(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2 = (function (_,ch){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch);
return (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));
}));
(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);
return (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));
}));
(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2 = (function (_,state_map){
var self__ = this;
var ___$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.merge_with,cljs.core.merge),state_map);
return (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));
}));
(cljs.core.async.t_cljs$core$async15615.prototype.cljs$core$async$Mix$solo_mode_STAR_$arity$2 = (function (_,mode){
var self__ = this;
var ___$1 = this;
if(cljs.core.truth_((self__.solo_modes.cljs$core$IFn$_invoke$arity$1 ? self__.solo_modes.cljs$core$IFn$_invoke$arity$1(mode) : self__.solo_modes.call(null,mode)))){
} else {
throw (new Error(["Assert failed: ",["mode must be one of: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.solo_modes)].join(''),"\n","(solo-modes mode)"].join('')));
}
cljs.core.reset_BANG_(self__.solo_mode,mode);
return (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));
}));
(cljs.core.async.t_cljs$core$async15615.getBasis = (function (){
return new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"change","change",477485025,null),new cljs.core.Symbol(null,"solo-mode","solo-mode",2031788074,null),new cljs.core.Symbol(null,"pick","pick",1300068175,null),new cljs.core.Symbol(null,"cs","cs",-117024463,null),new cljs.core.Symbol(null,"calc-state","calc-state",-349968968,null),new cljs.core.Symbol(null,"out","out",729986010,null),new cljs.core.Symbol(null,"changed","changed",-2083710852,null),new cljs.core.Symbol(null,"solo-modes","solo-modes",882180540,null),new cljs.core.Symbol(null,"attrs","attrs",-450137186,null),new cljs.core.Symbol(null,"meta15616","meta15616",-44581136,null)], null);
}));
(cljs.core.async.t_cljs$core$async15615.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async15615.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async15615");
(cljs.core.async.t_cljs$core$async15615.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"cljs.core.async/t_cljs$core$async15615");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async15615.
*/
cljs.core.async.__GT_t_cljs$core$async15615 = (function cljs$core$async$__GT_t_cljs$core$async15615(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta15616){
return (new cljs.core.async.t_cljs$core$async15615(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta15616));
});
/**
* Creates and returns a mix of one or more input channels which will
* be put on the supplied out channel. Input sources can be added to
* the mix with 'admix', and removed with 'unmix'. A mix supports
* soloing, muting and pausing multiple inputs atomically using
* 'toggle', and can solo using either muting or pausing as determined
* by 'solo-mode'.
*
* Each channel can have zero or more boolean modes set via 'toggle':
*
* :solo - when true, only this (ond other soloed) channel(s) will appear
* in the mix output channel. :mute and :pause states of soloed
* channels are ignored. If solo-mode is :mute, non-soloed
* channels are muted, if :pause, non-soloed channels are
* paused.
*
* :mute - muted channels will have their contents consumed but not included in the mix
* :pause - paused channels will not have their contents consumed (and thus also not included in the mix)
*/
cljs.core.async.mix = (function cljs$core$async$mix(out){
var cs = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
var solo_modes = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"pause","pause",-2095325672),null,new cljs.core.Keyword(null,"mute","mute",1151223646),null], null), null);
var attrs = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(solo_modes,new cljs.core.Keyword(null,"solo","solo",-316350075));
var solo_mode = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,"mute","mute",1151223646));
var change = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.async.sliding_buffer((1)));
var changed = (function (){
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(change,true);
});
var pick = (function (attr,chs){
return cljs.core.reduce_kv((function (ret,c,v){
if(cljs.core.truth_((attr.cljs$core$IFn$_invoke$arity$1 ? attr.cljs$core$IFn$_invoke$arity$1(v) : attr.call(null,v)))){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,c);
} else {
return ret;
}
}),cljs.core.PersistentHashSet.EMPTY,chs);
});
var calc_state = (function (){
var chs = cljs.core.deref(cs);
var mode = cljs.core.deref(solo_mode);
var solos = pick(new cljs.core.Keyword(null,"solo","solo",-316350075),chs);
var pauses = pick(new cljs.core.Keyword(null,"pause","pause",-2095325672),chs);
return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"solos","solos",1441458643),solos,new cljs.core.Keyword(null,"mutes","mutes",1068806309),pick(new cljs.core.Keyword(null,"mute","mute",1151223646),chs),new cljs.core.Keyword(null,"reads","reads",-1215067361),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,"pause","pause",-2095325672))) && ((!(cljs.core.empty_QMARK_(solos))))))?cljs.core.vec(solos):cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(pauses,cljs.core.keys(chs)))),change)], null);
});
var m = (new cljs.core.async.t_cljs$core$async15615(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,cljs.core.PersistentArrayMap.EMPTY));
var c__14406__auto___17130 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_15702){
var state_val_15703 = (state_15702[(1)]);
if((state_val_15703 === (7))){
var inst_15662 = (state_15702[(2)]);
var state_15702__$1 = state_15702;
if(cljs.core.truth_(inst_15662)){
var statearr_15715_17131 = state_15702__$1;
(statearr_15715_17131[(1)] = (8));
} else {
var statearr_15716_17132 = state_15702__$1;
(statearr_15716_17132[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (20))){
var inst_15655 = (state_15702[(7)]);
var state_15702__$1 = state_15702;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_15702__$1,(23),out,inst_15655);
} else {
if((state_val_15703 === (1))){
var inst_15638 = calc_state();
var inst_15639 = cljs.core.__destructure_map(inst_15638);
var inst_15640 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15639,new cljs.core.Keyword(null,"solos","solos",1441458643));
var inst_15641 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15639,new cljs.core.Keyword(null,"mutes","mutes",1068806309));
var inst_15642 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15639,new cljs.core.Keyword(null,"reads","reads",-1215067361));
var inst_15643 = inst_15638;
var state_15702__$1 = (function (){var statearr_15717 = state_15702;
(statearr_15717[(8)] = inst_15640);
(statearr_15717[(9)] = inst_15642);
(statearr_15717[(10)] = inst_15641);
(statearr_15717[(11)] = inst_15643);
return statearr_15717;
})();
var statearr_15718_17133 = state_15702__$1;
(statearr_15718_17133[(2)] = null);
(statearr_15718_17133[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (24))){
var inst_15646 = (state_15702[(12)]);
var inst_15643 = inst_15646;
var state_15702__$1 = (function (){var statearr_15719 = state_15702;
(statearr_15719[(11)] = inst_15643);
return statearr_15719;
})();
var statearr_15720_17134 = state_15702__$1;
(statearr_15720_17134[(2)] = null);
(statearr_15720_17134[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (4))){
var inst_15655 = (state_15702[(7)]);
var inst_15657 = (state_15702[(13)]);
var inst_15654 = (state_15702[(2)]);
var inst_15655__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15654,(0),null);
var inst_15656 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_15654,(1),null);
var inst_15657__$1 = (inst_15655__$1 == null);
var state_15702__$1 = (function (){var statearr_15721 = state_15702;
(statearr_15721[(14)] = inst_15656);
(statearr_15721[(7)] = inst_15655__$1);
(statearr_15721[(13)] = inst_15657__$1);
return statearr_15721;
})();
if(cljs.core.truth_(inst_15657__$1)){
var statearr_15722_17136 = state_15702__$1;
(statearr_15722_17136[(1)] = (5));
} else {
var statearr_15723_17137 = state_15702__$1;
(statearr_15723_17137[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (15))){
var inst_15647 = (state_15702[(15)]);
var inst_15676 = (state_15702[(16)]);
var inst_15676__$1 = cljs.core.empty_QMARK_(inst_15647);
var state_15702__$1 = (function (){var statearr_15724 = state_15702;
(statearr_15724[(16)] = inst_15676__$1);
return statearr_15724;
})();
if(inst_15676__$1){
var statearr_15725_17138 = state_15702__$1;
(statearr_15725_17138[(1)] = (17));
} else {
var statearr_15726_17139 = state_15702__$1;
(statearr_15726_17139[(1)] = (18));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (21))){
var inst_15646 = (state_15702[(12)]);
var inst_15643 = inst_15646;
var state_15702__$1 = (function (){var statearr_15727 = state_15702;
(statearr_15727[(11)] = inst_15643);
return statearr_15727;
})();
var statearr_15728_17140 = state_15702__$1;
(statearr_15728_17140[(2)] = null);
(statearr_15728_17140[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (13))){
var inst_15669 = (state_15702[(2)]);
var inst_15670 = calc_state();
var inst_15643 = inst_15670;
var state_15702__$1 = (function (){var statearr_15729 = state_15702;
(statearr_15729[(17)] = inst_15669);
(statearr_15729[(11)] = inst_15643);
return statearr_15729;
})();
var statearr_15730_17141 = state_15702__$1;
(statearr_15730_17141[(2)] = null);
(statearr_15730_17141[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (22))){
var inst_15696 = (state_15702[(2)]);
var state_15702__$1 = state_15702;
var statearr_15731_17142 = state_15702__$1;
(statearr_15731_17142[(2)] = inst_15696);
(statearr_15731_17142[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (6))){
var inst_15656 = (state_15702[(14)]);
var inst_15660 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_15656,change);
var state_15702__$1 = state_15702;
var statearr_15732_17143 = state_15702__$1;
(statearr_15732_17143[(2)] = inst_15660);
(statearr_15732_17143[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (25))){
var state_15702__$1 = state_15702;
var statearr_15734_17144 = state_15702__$1;
(statearr_15734_17144[(2)] = null);
(statearr_15734_17144[(1)] = (26));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (17))){
var inst_15656 = (state_15702[(14)]);
var inst_15648 = (state_15702[(18)]);
var inst_15678 = (inst_15648.cljs$core$IFn$_invoke$arity$1 ? inst_15648.cljs$core$IFn$_invoke$arity$1(inst_15656) : inst_15648.call(null,inst_15656));
var inst_15679 = cljs.core.not(inst_15678);
var state_15702__$1 = state_15702;
var statearr_15739_17145 = state_15702__$1;
(statearr_15739_17145[(2)] = inst_15679);
(statearr_15739_17145[(1)] = (19));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (3))){
var inst_15700 = (state_15702[(2)]);
var state_15702__$1 = state_15702;
return cljs.core.async.impl.ioc_helpers.return_chan(state_15702__$1,inst_15700);
} else {
if((state_val_15703 === (12))){
var state_15702__$1 = state_15702;
var statearr_15740_17146 = state_15702__$1;
(statearr_15740_17146[(2)] = null);
(statearr_15740_17146[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (2))){
var inst_15646 = (state_15702[(12)]);
var inst_15643 = (state_15702[(11)]);
var inst_15646__$1 = cljs.core.__destructure_map(inst_15643);
var inst_15647 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15646__$1,new cljs.core.Keyword(null,"solos","solos",1441458643));
var inst_15648 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15646__$1,new cljs.core.Keyword(null,"mutes","mutes",1068806309));
var inst_15649 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15646__$1,new cljs.core.Keyword(null,"reads","reads",-1215067361));
var state_15702__$1 = (function (){var statearr_15741 = state_15702;
(statearr_15741[(12)] = inst_15646__$1);
(statearr_15741[(15)] = inst_15647);
(statearr_15741[(18)] = inst_15648);
return statearr_15741;
})();
return cljs.core.async.ioc_alts_BANG_(state_15702__$1,(4),inst_15649);
} else {
if((state_val_15703 === (23))){
var inst_15687 = (state_15702[(2)]);
var state_15702__$1 = state_15702;
if(cljs.core.truth_(inst_15687)){
var statearr_15742_17147 = state_15702__$1;
(statearr_15742_17147[(1)] = (24));
} else {
var statearr_15743_17148 = state_15702__$1;
(statearr_15743_17148[(1)] = (25));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (19))){
var inst_15682 = (state_15702[(2)]);
var state_15702__$1 = state_15702;
var statearr_15744_17149 = state_15702__$1;
(statearr_15744_17149[(2)] = inst_15682);
(statearr_15744_17149[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (11))){
var inst_15656 = (state_15702[(14)]);
var inst_15666 = cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cs,cljs.core.dissoc,inst_15656);
var state_15702__$1 = state_15702;
var statearr_15745_17150 = state_15702__$1;
(statearr_15745_17150[(2)] = inst_15666);
(statearr_15745_17150[(1)] = (13));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (9))){
var inst_15656 = (state_15702[(14)]);
var inst_15673 = (state_15702[(19)]);
var inst_15647 = (state_15702[(15)]);
var inst_15673__$1 = (inst_15647.cljs$core$IFn$_invoke$arity$1 ? inst_15647.cljs$core$IFn$_invoke$arity$1(inst_15656) : inst_15647.call(null,inst_15656));
var state_15702__$1 = (function (){var statearr_15746 = state_15702;
(statearr_15746[(19)] = inst_15673__$1);
return statearr_15746;
})();
if(cljs.core.truth_(inst_15673__$1)){
var statearr_15747_17151 = state_15702__$1;
(statearr_15747_17151[(1)] = (14));
} else {
var statearr_15748_17152 = state_15702__$1;
(statearr_15748_17152[(1)] = (15));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (5))){
var inst_15657 = (state_15702[(13)]);
var state_15702__$1 = state_15702;
var statearr_15749_17153 = state_15702__$1;
(statearr_15749_17153[(2)] = inst_15657);
(statearr_15749_17153[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (14))){
var inst_15673 = (state_15702[(19)]);
var state_15702__$1 = state_15702;
var statearr_15757_17154 = state_15702__$1;
(statearr_15757_17154[(2)] = inst_15673);
(statearr_15757_17154[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (26))){
var inst_15692 = (state_15702[(2)]);
var state_15702__$1 = state_15702;
var statearr_15758_17155 = state_15702__$1;
(statearr_15758_17155[(2)] = inst_15692);
(statearr_15758_17155[(1)] = (22));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (16))){
var inst_15684 = (state_15702[(2)]);
var state_15702__$1 = state_15702;
if(cljs.core.truth_(inst_15684)){
var statearr_15759_17156 = state_15702__$1;
(statearr_15759_17156[(1)] = (20));
} else {
var statearr_15760_17157 = state_15702__$1;
(statearr_15760_17157[(1)] = (21));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (10))){
var inst_15698 = (state_15702[(2)]);
var state_15702__$1 = state_15702;
var statearr_15761_17158 = state_15702__$1;
(statearr_15761_17158[(2)] = inst_15698);
(statearr_15761_17158[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (18))){
var inst_15676 = (state_15702[(16)]);
var state_15702__$1 = state_15702;
var statearr_15762_17159 = state_15702__$1;
(statearr_15762_17159[(2)] = inst_15676);
(statearr_15762_17159[(1)] = (19));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15703 === (8))){
var inst_15655 = (state_15702[(7)]);
var inst_15664 = (inst_15655 == null);
var state_15702__$1 = state_15702;
if(cljs.core.truth_(inst_15664)){
var statearr_15763_17160 = state_15702__$1;
(statearr_15763_17160[(1)] = (11));
} else {
var statearr_15764_17161 = state_15702__$1;
(statearr_15764_17161[(1)] = (12));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mix_$_state_machine__14361__auto__ = null;
var cljs$core$async$mix_$_state_machine__14361__auto____0 = (function (){
var statearr_15765 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_15765[(0)] = cljs$core$async$mix_$_state_machine__14361__auto__);
(statearr_15765[(1)] = (1));
return statearr_15765;
});
var cljs$core$async$mix_$_state_machine__14361__auto____1 = (function (state_15702){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_15702);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e15766){var ex__14364__auto__ = e15766;
var statearr_15767_17162 = state_15702;
(statearr_15767_17162[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_15702[(4)]))){
var statearr_15768_17163 = state_15702;
(statearr_15768_17163[(1)] = cljs.core.first((state_15702[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17164 = state_15702;
state_15702 = G__17164;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$mix_$_state_machine__14361__auto__ = function(state_15702){
switch(arguments.length){
case 0:
return cljs$core$async$mix_$_state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$mix_$_state_machine__14361__auto____1.call(this,state_15702);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mix_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mix_$_state_machine__14361__auto____0;
cljs$core$async$mix_$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mix_$_state_machine__14361__auto____1;
return cljs$core$async$mix_$_state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_15769 = f__14407__auto__();
(statearr_15769[(6)] = c__14406__auto___17130);
return statearr_15769;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return m;
});
/**
* Adds ch as an input to the mix
*/
cljs.core.async.admix = (function cljs$core$async$admix(mix,ch){
return cljs.core.async.admix_STAR_(mix,ch);
});
/**
* Removes ch as an input to the mix
*/
cljs.core.async.unmix = (function cljs$core$async$unmix(mix,ch){
return cljs.core.async.unmix_STAR_(mix,ch);
});
/**
* removes all inputs from the mix
*/
cljs.core.async.unmix_all = (function cljs$core$async$unmix_all(mix){
return cljs.core.async.unmix_all_STAR_(mix);
});
/**
* Atomically sets the state(s) of one or more channels in a mix. The
* state map is a map of channels -> channel-state-map. A
* channel-state-map is a map of attrs -> boolean, where attr is one or
* more of :mute, :pause or :solo. Any states supplied are merged with
* the current state.
*
* Note that channels can be added to a mix via toggle, which can be
* used to add channels in a particular (e.g. paused) state.
*/
cljs.core.async.toggle = (function cljs$core$async$toggle(mix,state_map){
return cljs.core.async.toggle_STAR_(mix,state_map);
});
/**
* Sets the solo mode of the mix. mode must be one of :mute or :pause
*/
cljs.core.async.solo_mode = (function cljs$core$async$solo_mode(mix,mode){
return cljs.core.async.solo_mode_STAR_(mix,mode);
});
/**
* @interface
*/
cljs.core.async.Pub = function(){};
var cljs$core$async$Pub$sub_STAR_$dyn_17165 = (function (p,v,ch,close_QMARK_){
var x__5393__auto__ = (((p == null))?null:p);
var m__5394__auto__ = (cljs.core.async.sub_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5394__auto__.call(null,p,v,ch,close_QMARK_));
} else {
var m__5392__auto__ = (cljs.core.async.sub_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5392__auto__.call(null,p,v,ch,close_QMARK_));
} else {
throw cljs.core.missing_protocol("Pub.sub*",p);
}
}
});
cljs.core.async.sub_STAR_ = (function cljs$core$async$sub_STAR_(p,v,ch,close_QMARK_){
if((((!((p == null)))) && ((!((p.cljs$core$async$Pub$sub_STAR_$arity$4 == null)))))){
return p.cljs$core$async$Pub$sub_STAR_$arity$4(p,v,ch,close_QMARK_);
} else {
return cljs$core$async$Pub$sub_STAR_$dyn_17165(p,v,ch,close_QMARK_);
}
});
var cljs$core$async$Pub$unsub_STAR_$dyn_17166 = (function (p,v,ch){
var x__5393__auto__ = (((p == null))?null:p);
var m__5394__auto__ = (cljs.core.async.unsub_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5394__auto__.call(null,p,v,ch));
} else {
var m__5392__auto__ = (cljs.core.async.unsub_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5392__auto__.call(null,p,v,ch));
} else {
throw cljs.core.missing_protocol("Pub.unsub*",p);
}
}
});
cljs.core.async.unsub_STAR_ = (function cljs$core$async$unsub_STAR_(p,v,ch){
if((((!((p == null)))) && ((!((p.cljs$core$async$Pub$unsub_STAR_$arity$3 == null)))))){
return p.cljs$core$async$Pub$unsub_STAR_$arity$3(p,v,ch);
} else {
return cljs$core$async$Pub$unsub_STAR_$dyn_17166(p,v,ch);
}
});
var cljs$core$async$Pub$unsub_all_STAR_$dyn_17167 = (function() {
var G__17168 = null;
var G__17168__1 = (function (p){
var x__5393__auto__ = (((p == null))?null:p);
var m__5394__auto__ = (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5394__auto__.call(null,p));
} else {
var m__5392__auto__ = (cljs.core.async.unsub_all_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5392__auto__.call(null,p));
} else {
throw cljs.core.missing_protocol("Pub.unsub-all*",p);
}
}
});
var G__17168__2 = (function (p,v){
var x__5393__auto__ = (((p == null))?null:p);
var m__5394__auto__ = (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5393__auto__)]);
if((!((m__5394__auto__ == null)))){
return (m__5394__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5394__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5394__auto__.call(null,p,v));
} else {
var m__5392__auto__ = (cljs.core.async.unsub_all_STAR_["_"]);
if((!((m__5392__auto__ == null)))){
return (m__5392__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5392__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5392__auto__.call(null,p,v));
} else {
throw cljs.core.missing_protocol("Pub.unsub-all*",p);
}
}
});
G__17168 = function(p,v){
switch(arguments.length){
case 1:
return G__17168__1.call(this,p);
case 2:
return G__17168__2.call(this,p,v);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
G__17168.cljs$core$IFn$_invoke$arity$1 = G__17168__1;
G__17168.cljs$core$IFn$_invoke$arity$2 = G__17168__2;
return G__17168;
})()
;
cljs.core.async.unsub_all_STAR_ = (function cljs$core$async$unsub_all_STAR_(var_args){
var G__15772 = arguments.length;
switch (G__15772) {
case 1:
return cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1 = (function (p){
if((((!((p == null)))) && ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$1 == null)))))){
return p.cljs$core$async$Pub$unsub_all_STAR_$arity$1(p);
} else {
return cljs$core$async$Pub$unsub_all_STAR_$dyn_17167(p);
}
}));
(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2 = (function (p,v){
if((((!((p == null)))) && ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$2 == null)))))){
return p.cljs$core$async$Pub$unsub_all_STAR_$arity$2(p,v);
} else {
return cljs$core$async$Pub$unsub_all_STAR_$dyn_17167(p,v);
}
}));
(cljs.core.async.unsub_all_STAR_.cljs$lang$maxFixedArity = 2);
/**
* @constructor
* @implements {cljs.core.async.Pub}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.async.Mux}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async15790 = (function (ch,topic_fn,buf_fn,mults,ensure_mult,meta15791){
this.ch = ch;
this.topic_fn = topic_fn;
this.buf_fn = buf_fn;
this.mults = mults;
this.ensure_mult = ensure_mult;
this.meta15791 = meta15791;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_15792,meta15791__$1){
var self__ = this;
var _15792__$1 = this;
return (new cljs.core.async.t_cljs$core$async15790(self__.ch,self__.topic_fn,self__.buf_fn,self__.mults,self__.ensure_mult,meta15791__$1));
}));
(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_15792){
var self__ = this;
var _15792__$1 = this;
return self__.meta15791;
}));
(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Mux$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.ch;
}));
(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Pub$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Pub$sub_STAR_$arity$4 = (function (p,topic,ch__$1,close_QMARK_){
var self__ = this;
var p__$1 = this;
var m = (self__.ensure_mult.cljs$core$IFn$_invoke$arity$1 ? self__.ensure_mult.cljs$core$IFn$_invoke$arity$1(topic) : self__.ensure_mult.call(null,topic));
return cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(m,ch__$1,close_QMARK_);
}));
(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3 = (function (p,topic,ch__$1){
var self__ = this;
var p__$1 = this;
var temp__5804__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.mults),topic);
if(cljs.core.truth_(temp__5804__auto__)){
var m = temp__5804__auto__;
return cljs.core.async.untap(m,ch__$1);
} else {
return null;
}
}));
(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.reset_BANG_(self__.mults,cljs.core.PersistentArrayMap.EMPTY);
}));
(cljs.core.async.t_cljs$core$async15790.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2 = (function (_,topic){
var self__ = this;
var ___$1 = this;
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.mults,cljs.core.dissoc,topic);
}));
(cljs.core.async.t_cljs$core$async15790.getBasis = (function (){
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"topic-fn","topic-fn",-862449736,null),new cljs.core.Symbol(null,"buf-fn","buf-fn",-1200281591,null),new cljs.core.Symbol(null,"mults","mults",-461114485,null),new cljs.core.Symbol(null,"ensure-mult","ensure-mult",1796584816,null),new cljs.core.Symbol(null,"meta15791","meta15791",-721830798,null)], null);
}));
(cljs.core.async.t_cljs$core$async15790.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async15790.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async15790");
(cljs.core.async.t_cljs$core$async15790.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"cljs.core.async/t_cljs$core$async15790");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async15790.
*/
cljs.core.async.__GT_t_cljs$core$async15790 = (function cljs$core$async$__GT_t_cljs$core$async15790(ch,topic_fn,buf_fn,mults,ensure_mult,meta15791){
return (new cljs.core.async.t_cljs$core$async15790(ch,topic_fn,buf_fn,mults,ensure_mult,meta15791));
});
/**
* Creates and returns a pub(lication) of the supplied channel,
* partitioned into topics by the topic-fn. topic-fn will be applied to
* each value on the channel and the result will determine the 'topic'
* on which that value will be put. Channels can be subscribed to
* receive copies of topics using 'sub', and unsubscribed using
* 'unsub'. Each topic will be handled by an internal mult on a
* dedicated channel. By default these internal channels are
* unbuffered, but a buf-fn can be supplied which, given a topic,
* creates a buffer with desired properties.
*
* Each item is distributed to all subs in parallel and synchronously,
* i.e. each sub must accept before the next item is distributed. Use
* buffering/windowing to prevent slow subs from holding up the pub.
*
* Items received when there are no matching subs get dropped.
*
* Note that if buf-fns are used then each topic is handled
* asynchronously, i.e. if a channel is subscribed to more than one
* topic it should not expect them to be interleaved identically with
* the source.
*/
cljs.core.async.pub = (function cljs$core$async$pub(var_args){
var G__15787 = arguments.length;
switch (G__15787) {
case 2:
return cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2 = (function (ch,topic_fn){
return cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3(ch,topic_fn,cljs.core.constantly(null));
}));
(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3 = (function (ch,topic_fn,buf_fn){
var mults = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
var ensure_mult = (function (topic){
var or__5045__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(mults),topic);
if(cljs.core.truth_(or__5045__auto__)){
return or__5045__auto__;
} else {
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(mults,(function (p1__15785_SHARP_){
if(cljs.core.truth_((p1__15785_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__15785_SHARP_.cljs$core$IFn$_invoke$arity$1(topic) : p1__15785_SHARP_.call(null,topic)))){
return p1__15785_SHARP_;
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__15785_SHARP_,topic,cljs.core.async.mult(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((buf_fn.cljs$core$IFn$_invoke$arity$1 ? buf_fn.cljs$core$IFn$_invoke$arity$1(topic) : buf_fn.call(null,topic)))));
}
})),topic);
}
});
var p = (new cljs.core.async.t_cljs$core$async15790(ch,topic_fn,buf_fn,mults,ensure_mult,cljs.core.PersistentArrayMap.EMPTY));
var c__14406__auto___17171 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_15889){
var state_val_15890 = (state_15889[(1)]);
if((state_val_15890 === (7))){
var inst_15885 = (state_15889[(2)]);
var state_15889__$1 = state_15889;
var statearr_15891_17172 = state_15889__$1;
(statearr_15891_17172[(2)] = inst_15885);
(statearr_15891_17172[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (20))){
var state_15889__$1 = state_15889;
var statearr_15892_17173 = state_15889__$1;
(statearr_15892_17173[(2)] = null);
(statearr_15892_17173[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (1))){
var state_15889__$1 = state_15889;
var statearr_15893_17174 = state_15889__$1;
(statearr_15893_17174[(2)] = null);
(statearr_15893_17174[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (24))){
var inst_15868 = (state_15889[(7)]);
var inst_15877 = cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(mults,cljs.core.dissoc,inst_15868);
var state_15889__$1 = state_15889;
var statearr_15894_17175 = state_15889__$1;
(statearr_15894_17175[(2)] = inst_15877);
(statearr_15894_17175[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (4))){
var inst_15809 = (state_15889[(8)]);
var inst_15809__$1 = (state_15889[(2)]);
var inst_15810 = (inst_15809__$1 == null);
var state_15889__$1 = (function (){var statearr_15895 = state_15889;
(statearr_15895[(8)] = inst_15809__$1);
return statearr_15895;
})();
if(cljs.core.truth_(inst_15810)){
var statearr_15896_17176 = state_15889__$1;
(statearr_15896_17176[(1)] = (5));
} else {
var statearr_15897_17177 = state_15889__$1;
(statearr_15897_17177[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (15))){
var inst_15862 = (state_15889[(2)]);
var state_15889__$1 = state_15889;
var statearr_15898_17178 = state_15889__$1;
(statearr_15898_17178[(2)] = inst_15862);
(statearr_15898_17178[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (21))){
var inst_15882 = (state_15889[(2)]);
var state_15889__$1 = (function (){var statearr_15899 = state_15889;
(statearr_15899[(9)] = inst_15882);
return statearr_15899;
})();
var statearr_15900_17179 = state_15889__$1;
(statearr_15900_17179[(2)] = null);
(statearr_15900_17179[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (13))){
var inst_15838 = (state_15889[(10)]);
var inst_15840 = cljs.core.chunked_seq_QMARK_(inst_15838);
var state_15889__$1 = state_15889;
if(inst_15840){
var statearr_15901_17180 = state_15889__$1;
(statearr_15901_17180[(1)] = (16));
} else {
var statearr_15902_17181 = state_15889__$1;
(statearr_15902_17181[(1)] = (17));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (22))){
var inst_15874 = (state_15889[(2)]);
var state_15889__$1 = state_15889;
if(cljs.core.truth_(inst_15874)){
var statearr_15903_17182 = state_15889__$1;
(statearr_15903_17182[(1)] = (23));
} else {
var statearr_15904_17183 = state_15889__$1;
(statearr_15904_17183[(1)] = (24));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (6))){
var inst_15809 = (state_15889[(8)]);
var inst_15870 = (state_15889[(11)]);
var inst_15868 = (state_15889[(7)]);
var inst_15868__$1 = (topic_fn.cljs$core$IFn$_invoke$arity$1 ? topic_fn.cljs$core$IFn$_invoke$arity$1(inst_15809) : topic_fn.call(null,inst_15809));
var inst_15869 = cljs.core.deref(mults);
var inst_15870__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_15869,inst_15868__$1);
var state_15889__$1 = (function (){var statearr_15917 = state_15889;
(statearr_15917[(11)] = inst_15870__$1);
(statearr_15917[(7)] = inst_15868__$1);
return statearr_15917;
})();
if(cljs.core.truth_(inst_15870__$1)){
var statearr_15918_17184 = state_15889__$1;
(statearr_15918_17184[(1)] = (19));
} else {
var statearr_15919_17185 = state_15889__$1;
(statearr_15919_17185[(1)] = (20));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (25))){
var inst_15879 = (state_15889[(2)]);
var state_15889__$1 = state_15889;
var statearr_15920_17186 = state_15889__$1;
(statearr_15920_17186[(2)] = inst_15879);
(statearr_15920_17186[(1)] = (21));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (17))){
var inst_15838 = (state_15889[(10)]);
var inst_15853 = cljs.core.first(inst_15838);
var inst_15854 = cljs.core.async.muxch_STAR_(inst_15853);
var inst_15855 = cljs.core.async.close_BANG_(inst_15854);
var inst_15856 = cljs.core.next(inst_15838);
var inst_15819 = inst_15856;
var inst_15820 = null;
var inst_15821 = (0);
var inst_15822 = (0);
var state_15889__$1 = (function (){var statearr_15921 = state_15889;
(statearr_15921[(12)] = inst_15819);
(statearr_15921[(13)] = inst_15821);
(statearr_15921[(14)] = inst_15855);
(statearr_15921[(15)] = inst_15822);
(statearr_15921[(16)] = inst_15820);
return statearr_15921;
})();
var statearr_15922_17189 = state_15889__$1;
(statearr_15922_17189[(2)] = null);
(statearr_15922_17189[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (3))){
var inst_15887 = (state_15889[(2)]);
var state_15889__$1 = state_15889;
return cljs.core.async.impl.ioc_helpers.return_chan(state_15889__$1,inst_15887);
} else {
if((state_val_15890 === (12))){
var inst_15864 = (state_15889[(2)]);
var state_15889__$1 = state_15889;
var statearr_15926_17193 = state_15889__$1;
(statearr_15926_17193[(2)] = inst_15864);
(statearr_15926_17193[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (2))){
var state_15889__$1 = state_15889;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_15889__$1,(4),ch);
} else {
if((state_val_15890 === (23))){
var state_15889__$1 = state_15889;
var statearr_15945_17194 = state_15889__$1;
(statearr_15945_17194[(2)] = null);
(statearr_15945_17194[(1)] = (25));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (19))){
var inst_15809 = (state_15889[(8)]);
var inst_15870 = (state_15889[(11)]);
var inst_15872 = cljs.core.async.muxch_STAR_(inst_15870);
var state_15889__$1 = state_15889;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_15889__$1,(22),inst_15872,inst_15809);
} else {
if((state_val_15890 === (11))){
var inst_15838 = (state_15889[(10)]);
var inst_15819 = (state_15889[(12)]);
var inst_15838__$1 = cljs.core.seq(inst_15819);
var state_15889__$1 = (function (){var statearr_15948 = state_15889;
(statearr_15948[(10)] = inst_15838__$1);
return statearr_15948;
})();
if(inst_15838__$1){
var statearr_15951_17196 = state_15889__$1;
(statearr_15951_17196[(1)] = (13));
} else {
var statearr_15952_17197 = state_15889__$1;
(statearr_15952_17197[(1)] = (14));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (9))){
var inst_15866 = (state_15889[(2)]);
var state_15889__$1 = state_15889;
var statearr_15956_17198 = state_15889__$1;
(statearr_15956_17198[(2)] = inst_15866);
(statearr_15956_17198[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (5))){
var inst_15816 = cljs.core.deref(mults);
var inst_15817 = cljs.core.vals(inst_15816);
var inst_15818 = cljs.core.seq(inst_15817);
var inst_15819 = inst_15818;
var inst_15820 = null;
var inst_15821 = (0);
var inst_15822 = (0);
var state_15889__$1 = (function (){var statearr_15960 = state_15889;
(statearr_15960[(12)] = inst_15819);
(statearr_15960[(13)] = inst_15821);
(statearr_15960[(15)] = inst_15822);
(statearr_15960[(16)] = inst_15820);
return statearr_15960;
})();
var statearr_15961_17199 = state_15889__$1;
(statearr_15961_17199[(2)] = null);
(statearr_15961_17199[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (14))){
var state_15889__$1 = state_15889;
var statearr_15965_17200 = state_15889__$1;
(statearr_15965_17200[(2)] = null);
(statearr_15965_17200[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (16))){
var inst_15838 = (state_15889[(10)]);
var inst_15848 = cljs.core.chunk_first(inst_15838);
var inst_15849 = cljs.core.chunk_rest(inst_15838);
var inst_15850 = cljs.core.count(inst_15848);
var inst_15819 = inst_15849;
var inst_15820 = inst_15848;
var inst_15821 = inst_15850;
var inst_15822 = (0);
var state_15889__$1 = (function (){var statearr_15967 = state_15889;
(statearr_15967[(12)] = inst_15819);
(statearr_15967[(13)] = inst_15821);
(statearr_15967[(15)] = inst_15822);
(statearr_15967[(16)] = inst_15820);
return statearr_15967;
})();
var statearr_15968_17201 = state_15889__$1;
(statearr_15968_17201[(2)] = null);
(statearr_15968_17201[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (10))){
var inst_15819 = (state_15889[(12)]);
var inst_15821 = (state_15889[(13)]);
var inst_15822 = (state_15889[(15)]);
var inst_15820 = (state_15889[(16)]);
var inst_15827 = cljs.core._nth(inst_15820,inst_15822);
var inst_15828 = cljs.core.async.muxch_STAR_(inst_15827);
var inst_15829 = cljs.core.async.close_BANG_(inst_15828);
var inst_15830 = (inst_15822 + (1));
var tmp15962 = inst_15819;
var tmp15963 = inst_15821;
var tmp15964 = inst_15820;
var inst_15819__$1 = tmp15962;
var inst_15820__$1 = tmp15964;
var inst_15821__$1 = tmp15963;
var inst_15822__$1 = inst_15830;
var state_15889__$1 = (function (){var statearr_15969 = state_15889;
(statearr_15969[(12)] = inst_15819__$1);
(statearr_15969[(13)] = inst_15821__$1);
(statearr_15969[(15)] = inst_15822__$1);
(statearr_15969[(17)] = inst_15829);
(statearr_15969[(16)] = inst_15820__$1);
return statearr_15969;
})();
var statearr_15970_17202 = state_15889__$1;
(statearr_15970_17202[(2)] = null);
(statearr_15970_17202[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (18))){
var inst_15859 = (state_15889[(2)]);
var state_15889__$1 = state_15889;
var statearr_15988_17203 = state_15889__$1;
(statearr_15988_17203[(2)] = inst_15859);
(statearr_15988_17203[(1)] = (15));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_15890 === (8))){
var inst_15821 = (state_15889[(13)]);
var inst_15822 = (state_15889[(15)]);
var inst_15824 = (inst_15822 < inst_15821);
var inst_15825 = inst_15824;
var state_15889__$1 = state_15889;
if(cljs.core.truth_(inst_15825)){
var statearr_15993_17204 = state_15889__$1;
(statearr_15993_17204[(1)] = (10));
} else {
var statearr_15994_17205 = state_15889__$1;
(statearr_15994_17205[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_15998 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_15998[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_15998[(1)] = (1));
return statearr_15998;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_15889){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_15889);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e16002){var ex__14364__auto__ = e16002;
var statearr_16003_17206 = state_15889;
(statearr_16003_17206[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_15889[(4)]))){
var statearr_16004_17207 = state_15889;
(statearr_16004_17207[(1)] = cljs.core.first((state_15889[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17208 = state_15889;
state_15889 = G__17208;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_15889){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_15889);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_16006 = f__14407__auto__();
(statearr_16006[(6)] = c__14406__auto___17171);
return statearr_16006;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return p;
}));
(cljs.core.async.pub.cljs$lang$maxFixedArity = 3);
/**
* Subscribes a channel to a topic of a pub.
*
* By default the channel will be closed when the source closes,
* but can be determined by the close? parameter.
*/
cljs.core.async.sub = (function cljs$core$async$sub(var_args){
var G__16010 = arguments.length;
switch (G__16010) {
case 3:
return cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3 = (function (p,topic,ch){
return cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4(p,topic,ch,true);
}));
(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4 = (function (p,topic,ch,close_QMARK_){
return cljs.core.async.sub_STAR_(p,topic,ch,close_QMARK_);
}));
(cljs.core.async.sub.cljs$lang$maxFixedArity = 4);
/**
* Unsubscribes a channel from a topic of a pub
*/
cljs.core.async.unsub = (function cljs$core$async$unsub(p,topic,ch){
return cljs.core.async.unsub_STAR_(p,topic,ch);
});
/**
* Unsubscribes all channels from a pub, or a topic of a pub
*/
cljs.core.async.unsub_all = (function cljs$core$async$unsub_all(var_args){
var G__16031 = arguments.length;
switch (G__16031) {
case 1:
return cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1 = (function (p){
return cljs.core.async.unsub_all_STAR_(p);
}));
(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2 = (function (p,topic){
return cljs.core.async.unsub_all_STAR_(p,topic);
}));
(cljs.core.async.unsub_all.cljs$lang$maxFixedArity = 2);
/**
* Takes a function and a collection of source channels, and returns a
* channel which contains the values produced by applying f to the set
* of first items taken from each source channel, followed by applying
* f to the set of second items from each channel, until any one of the
* channels is closed, at which point the output channel will be
* closed. The returned channel will be unbuffered by default, or a
* buf-or-n can be supplied
*/
cljs.core.async.map = (function cljs$core$async$map(var_args){
var G__16035 = arguments.length;
switch (G__16035) {
case 2:
return cljs.core.async.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.map.cljs$core$IFn$_invoke$arity$2 = (function (f,chs){
return cljs.core.async.map.cljs$core$IFn$_invoke$arity$3(f,chs,null);
}));
(cljs.core.async.map.cljs$core$IFn$_invoke$arity$3 = (function (f,chs,buf_or_n){
var chs__$1 = cljs.core.vec(chs);
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var cnt = cljs.core.count(chs__$1);
var rets = cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(cnt);
var dchan = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
var dctr = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);
var done = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (i){
return (function (ret){
(rets[i] = ret);
if((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) === (0))){
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,rets.slice((0)));
} else {
return null;
}
});
}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cnt));
if((cnt === (0))){
cljs.core.async.close_BANG_(out);
} else {
var c__14406__auto___17214 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_16086){
var state_val_16087 = (state_16086[(1)]);
if((state_val_16087 === (7))){
var state_16086__$1 = state_16086;
var statearr_16088_17215 = state_16086__$1;
(statearr_16088_17215[(2)] = null);
(statearr_16088_17215[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (1))){
var state_16086__$1 = state_16086;
var statearr_16089_17216 = state_16086__$1;
(statearr_16089_17216[(2)] = null);
(statearr_16089_17216[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (4))){
var inst_16041 = (state_16086[(7)]);
var inst_16040 = (state_16086[(8)]);
var inst_16043 = (inst_16041 < inst_16040);
var state_16086__$1 = state_16086;
if(cljs.core.truth_(inst_16043)){
var statearr_16092_17217 = state_16086__$1;
(statearr_16092_17217[(1)] = (6));
} else {
var statearr_16093_17218 = state_16086__$1;
(statearr_16093_17218[(1)] = (7));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (15))){
var inst_16072 = (state_16086[(9)]);
var inst_16077 = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,inst_16072);
var state_16086__$1 = state_16086;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16086__$1,(17),out,inst_16077);
} else {
if((state_val_16087 === (13))){
var inst_16072 = (state_16086[(9)]);
var inst_16072__$1 = (state_16086[(2)]);
var inst_16073 = cljs.core.some(cljs.core.nil_QMARK_,inst_16072__$1);
var state_16086__$1 = (function (){var statearr_16094 = state_16086;
(statearr_16094[(9)] = inst_16072__$1);
return statearr_16094;
})();
if(cljs.core.truth_(inst_16073)){
var statearr_16095_17219 = state_16086__$1;
(statearr_16095_17219[(1)] = (14));
} else {
var statearr_16096_17220 = state_16086__$1;
(statearr_16096_17220[(1)] = (15));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (6))){
var state_16086__$1 = state_16086;
var statearr_16100_17221 = state_16086__$1;
(statearr_16100_17221[(2)] = null);
(statearr_16100_17221[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (17))){
var inst_16079 = (state_16086[(2)]);
var state_16086__$1 = (function (){var statearr_16128 = state_16086;
(statearr_16128[(10)] = inst_16079);
return statearr_16128;
})();
var statearr_16129_17222 = state_16086__$1;
(statearr_16129_17222[(2)] = null);
(statearr_16129_17222[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (3))){
var inst_16084 = (state_16086[(2)]);
var state_16086__$1 = state_16086;
return cljs.core.async.impl.ioc_helpers.return_chan(state_16086__$1,inst_16084);
} else {
if((state_val_16087 === (12))){
var _ = (function (){var statearr_16135 = state_16086;
(statearr_16135[(4)] = cljs.core.rest((state_16086[(4)])));
return statearr_16135;
})();
var state_16086__$1 = state_16086;
var ex16126 = (state_16086__$1[(2)]);
var statearr_16136_17224 = state_16086__$1;
(statearr_16136_17224[(5)] = ex16126);
if((ex16126 instanceof Object)){
var statearr_16138_17228 = state_16086__$1;
(statearr_16138_17228[(1)] = (11));
(statearr_16138_17228[(5)] = null);
} else {
throw ex16126;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (2))){
var inst_16039 = cljs.core.reset_BANG_(dctr,cnt);
var inst_16040 = cnt;
var inst_16041 = (0);
var state_16086__$1 = (function (){var statearr_16143 = state_16086;
(statearr_16143[(11)] = inst_16039);
(statearr_16143[(7)] = inst_16041);
(statearr_16143[(8)] = inst_16040);
return statearr_16143;
})();
var statearr_16144_17229 = state_16086__$1;
(statearr_16144_17229[(2)] = null);
(statearr_16144_17229[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (11))){
var inst_16051 = (state_16086[(2)]);
var inst_16052 = cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec);
var state_16086__$1 = (function (){var statearr_16158 = state_16086;
(statearr_16158[(12)] = inst_16051);
return statearr_16158;
})();
var statearr_16159_17230 = state_16086__$1;
(statearr_16159_17230[(2)] = inst_16052);
(statearr_16159_17230[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (9))){
var inst_16041 = (state_16086[(7)]);
var _ = (function (){var statearr_16164 = state_16086;
(statearr_16164[(4)] = cljs.core.cons((12),(state_16086[(4)])));
return statearr_16164;
})();
var inst_16058 = (chs__$1.cljs$core$IFn$_invoke$arity$1 ? chs__$1.cljs$core$IFn$_invoke$arity$1(inst_16041) : chs__$1.call(null,inst_16041));
var inst_16059 = (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(inst_16041) : done.call(null,inst_16041));
var inst_16060 = cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(inst_16058,inst_16059);
var ___$1 = (function (){var statearr_16173 = state_16086;
(statearr_16173[(4)] = cljs.core.rest((state_16086[(4)])));
return statearr_16173;
})();
var state_16086__$1 = state_16086;
var statearr_16174_17233 = state_16086__$1;
(statearr_16174_17233[(2)] = inst_16060);
(statearr_16174_17233[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (5))){
var inst_16070 = (state_16086[(2)]);
var state_16086__$1 = (function (){var statearr_16175 = state_16086;
(statearr_16175[(13)] = inst_16070);
return statearr_16175;
})();
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_16086__$1,(13),dchan);
} else {
if((state_val_16087 === (14))){
var inst_16075 = cljs.core.async.close_BANG_(out);
var state_16086__$1 = state_16086;
var statearr_16176_17236 = state_16086__$1;
(statearr_16176_17236[(2)] = inst_16075);
(statearr_16176_17236[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (16))){
var inst_16082 = (state_16086[(2)]);
var state_16086__$1 = state_16086;
var statearr_16185_17237 = state_16086__$1;
(statearr_16185_17237[(2)] = inst_16082);
(statearr_16185_17237[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (10))){
var inst_16041 = (state_16086[(7)]);
var inst_16063 = (state_16086[(2)]);
var inst_16064 = (inst_16041 + (1));
var inst_16041__$1 = inst_16064;
var state_16086__$1 = (function (){var statearr_16194 = state_16086;
(statearr_16194[(14)] = inst_16063);
(statearr_16194[(7)] = inst_16041__$1);
return statearr_16194;
})();
var statearr_16195_17238 = state_16086__$1;
(statearr_16195_17238[(2)] = null);
(statearr_16195_17238[(1)] = (4));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16087 === (8))){
var inst_16068 = (state_16086[(2)]);
var state_16086__$1 = state_16086;
var statearr_16196_17239 = state_16086__$1;
(statearr_16196_17239[(2)] = inst_16068);
(statearr_16196_17239[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_16198 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_16198[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_16198[(1)] = (1));
return statearr_16198;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_16086){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_16086);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e16202){var ex__14364__auto__ = e16202;
var statearr_16203_17247 = state_16086;
(statearr_16203_17247[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_16086[(4)]))){
var statearr_16204_17248 = state_16086;
(statearr_16204_17248[(1)] = cljs.core.first((state_16086[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17249 = state_16086;
state_16086 = G__17249;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_16086){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_16086);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_16208 = f__14407__auto__();
(statearr_16208[(6)] = c__14406__auto___17214);
return statearr_16208;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
}
return out;
}));
(cljs.core.async.map.cljs$lang$maxFixedArity = 3);
/**
* Takes a collection of source channels and returns a channel which
* contains all values taken from them. The returned channel will be
* unbuffered by default, or a buf-or-n can be supplied. The channel
* will close after all the source channels have closed.
*/
cljs.core.async.merge = (function cljs$core$async$merge(var_args){
var G__16218 = arguments.length;
switch (G__16218) {
case 1:
return cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1 = (function (chs){
return cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2(chs,null);
}));
(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2 = (function (chs,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__14406__auto___17257 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_16269){
var state_val_16270 = (state_16269[(1)]);
if((state_val_16270 === (7))){
var inst_16248 = (state_16269[(7)]);
var inst_16249 = (state_16269[(8)]);
var inst_16248__$1 = (state_16269[(2)]);
var inst_16249__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_16248__$1,(0),null);
var inst_16250 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_16248__$1,(1),null);
var inst_16251 = (inst_16249__$1 == null);
var state_16269__$1 = (function (){var statearr_16271 = state_16269;
(statearr_16271[(7)] = inst_16248__$1);
(statearr_16271[(8)] = inst_16249__$1);
(statearr_16271[(9)] = inst_16250);
return statearr_16271;
})();
if(cljs.core.truth_(inst_16251)){
var statearr_16272_17258 = state_16269__$1;
(statearr_16272_17258[(1)] = (8));
} else {
var statearr_16273_17259 = state_16269__$1;
(statearr_16273_17259[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16270 === (1))){
var inst_16238 = cljs.core.vec(chs);
var inst_16239 = inst_16238;
var state_16269__$1 = (function (){var statearr_16274 = state_16269;
(statearr_16274[(10)] = inst_16239);
return statearr_16274;
})();
var statearr_16275_17260 = state_16269__$1;
(statearr_16275_17260[(2)] = null);
(statearr_16275_17260[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16270 === (4))){
var inst_16239 = (state_16269[(10)]);
var state_16269__$1 = state_16269;
return cljs.core.async.ioc_alts_BANG_(state_16269__$1,(7),inst_16239);
} else {
if((state_val_16270 === (6))){
var inst_16265 = (state_16269[(2)]);
var state_16269__$1 = state_16269;
var statearr_16276_17261 = state_16269__$1;
(statearr_16276_17261[(2)] = inst_16265);
(statearr_16276_17261[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16270 === (3))){
var inst_16267 = (state_16269[(2)]);
var state_16269__$1 = state_16269;
return cljs.core.async.impl.ioc_helpers.return_chan(state_16269__$1,inst_16267);
} else {
if((state_val_16270 === (2))){
var inst_16239 = (state_16269[(10)]);
var inst_16241 = cljs.core.count(inst_16239);
var inst_16242 = (inst_16241 > (0));
var state_16269__$1 = state_16269;
if(cljs.core.truth_(inst_16242)){
var statearr_16278_17262 = state_16269__$1;
(statearr_16278_17262[(1)] = (4));
} else {
var statearr_16279_17263 = state_16269__$1;
(statearr_16279_17263[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16270 === (11))){
var inst_16239 = (state_16269[(10)]);
var inst_16258 = (state_16269[(2)]);
var tmp16277 = inst_16239;
var inst_16239__$1 = tmp16277;
var state_16269__$1 = (function (){var statearr_16280 = state_16269;
(statearr_16280[(10)] = inst_16239__$1);
(statearr_16280[(11)] = inst_16258);
return statearr_16280;
})();
var statearr_16281_17264 = state_16269__$1;
(statearr_16281_17264[(2)] = null);
(statearr_16281_17264[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16270 === (9))){
var inst_16249 = (state_16269[(8)]);
var state_16269__$1 = state_16269;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16269__$1,(11),out,inst_16249);
} else {
if((state_val_16270 === (5))){
var inst_16263 = cljs.core.async.close_BANG_(out);
var state_16269__$1 = state_16269;
var statearr_16282_17265 = state_16269__$1;
(statearr_16282_17265[(2)] = inst_16263);
(statearr_16282_17265[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16270 === (10))){
var inst_16261 = (state_16269[(2)]);
var state_16269__$1 = state_16269;
var statearr_16283_17266 = state_16269__$1;
(statearr_16283_17266[(2)] = inst_16261);
(statearr_16283_17266[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16270 === (8))){
var inst_16239 = (state_16269[(10)]);
var inst_16248 = (state_16269[(7)]);
var inst_16249 = (state_16269[(8)]);
var inst_16250 = (state_16269[(9)]);
var inst_16253 = (function (){var cs = inst_16239;
var vec__16244 = inst_16248;
var v = inst_16249;
var c = inst_16250;
return (function (p1__16212_SHARP_){
return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(c,p1__16212_SHARP_);
});
})();
var inst_16254 = cljs.core.filterv(inst_16253,inst_16239);
var inst_16239__$1 = inst_16254;
var state_16269__$1 = (function (){var statearr_16284 = state_16269;
(statearr_16284[(10)] = inst_16239__$1);
return statearr_16284;
})();
var statearr_16285_17267 = state_16269__$1;
(statearr_16285_17267[(2)] = null);
(statearr_16285_17267[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_16286 = [null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_16286[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_16286[(1)] = (1));
return statearr_16286;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_16269){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_16269);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e16287){var ex__14364__auto__ = e16287;
var statearr_16288_17268 = state_16269;
(statearr_16288_17268[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_16269[(4)]))){
var statearr_16289_17269 = state_16269;
(statearr_16289_17269[(1)] = cljs.core.first((state_16269[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17270 = state_16269;
state_16269 = G__17270;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_16269){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_16269);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_16290 = f__14407__auto__();
(statearr_16290[(6)] = c__14406__auto___17257);
return statearr_16290;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return out;
}));
(cljs.core.async.merge.cljs$lang$maxFixedArity = 2);
/**
* Returns a channel containing the single (collection) result of the
* items taken from the channel conjoined to the supplied
* collection. ch must close before into produces a result.
*/
cljs.core.async.into = (function cljs$core$async$into(coll,ch){
return cljs.core.async.reduce(cljs.core.conj,coll,ch);
});
/**
* Returns a channel that will return, at most, n items from ch. After n items
* have been returned, or ch has been closed, the return chanel will close.
*
* The output channel is unbuffered by default, unless buf-or-n is given.
*/
cljs.core.async.take = (function cljs$core$async$take(var_args){
var G__16295 = arguments.length;
switch (G__16295) {
case 2:
return cljs.core.async.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.take.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.take.cljs$core$IFn$_invoke$arity$2 = (function (n,ch){
return cljs.core.async.take.cljs$core$IFn$_invoke$arity$3(n,ch,null);
}));
(cljs.core.async.take.cljs$core$IFn$_invoke$arity$3 = (function (n,ch,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__14406__auto___17272 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_16320){
var state_val_16321 = (state_16320[(1)]);
if((state_val_16321 === (7))){
var inst_16302 = (state_16320[(7)]);
var inst_16302__$1 = (state_16320[(2)]);
var inst_16303 = (inst_16302__$1 == null);
var inst_16304 = cljs.core.not(inst_16303);
var state_16320__$1 = (function (){var statearr_16327 = state_16320;
(statearr_16327[(7)] = inst_16302__$1);
return statearr_16327;
})();
if(inst_16304){
var statearr_16328_17273 = state_16320__$1;
(statearr_16328_17273[(1)] = (8));
} else {
var statearr_16329_17274 = state_16320__$1;
(statearr_16329_17274[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16321 === (1))){
var inst_16297 = (0);
var state_16320__$1 = (function (){var statearr_16330 = state_16320;
(statearr_16330[(8)] = inst_16297);
return statearr_16330;
})();
var statearr_16332_17275 = state_16320__$1;
(statearr_16332_17275[(2)] = null);
(statearr_16332_17275[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16321 === (4))){
var state_16320__$1 = state_16320;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_16320__$1,(7),ch);
} else {
if((state_val_16321 === (6))){
var inst_16315 = (state_16320[(2)]);
var state_16320__$1 = state_16320;
var statearr_16334_17276 = state_16320__$1;
(statearr_16334_17276[(2)] = inst_16315);
(statearr_16334_17276[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16321 === (3))){
var inst_16317 = (state_16320[(2)]);
var inst_16318 = cljs.core.async.close_BANG_(out);
var state_16320__$1 = (function (){var statearr_16336 = state_16320;
(statearr_16336[(9)] = inst_16317);
return statearr_16336;
})();
return cljs.core.async.impl.ioc_helpers.return_chan(state_16320__$1,inst_16318);
} else {
if((state_val_16321 === (2))){
var inst_16297 = (state_16320[(8)]);
var inst_16299 = (inst_16297 < n);
var state_16320__$1 = state_16320;
if(cljs.core.truth_(inst_16299)){
var statearr_16337_17277 = state_16320__$1;
(statearr_16337_17277[(1)] = (4));
} else {
var statearr_16338_17278 = state_16320__$1;
(statearr_16338_17278[(1)] = (5));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16321 === (11))){
var inst_16297 = (state_16320[(8)]);
var inst_16307 = (state_16320[(2)]);
var inst_16308 = (inst_16297 + (1));
var inst_16297__$1 = inst_16308;
var state_16320__$1 = (function (){var statearr_16339 = state_16320;
(statearr_16339[(8)] = inst_16297__$1);
(statearr_16339[(10)] = inst_16307);
return statearr_16339;
})();
var statearr_16340_17279 = state_16320__$1;
(statearr_16340_17279[(2)] = null);
(statearr_16340_17279[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16321 === (9))){
var state_16320__$1 = state_16320;
var statearr_16343_17280 = state_16320__$1;
(statearr_16343_17280[(2)] = null);
(statearr_16343_17280[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16321 === (5))){
var state_16320__$1 = state_16320;
var statearr_16345_17281 = state_16320__$1;
(statearr_16345_17281[(2)] = null);
(statearr_16345_17281[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16321 === (10))){
var inst_16312 = (state_16320[(2)]);
var state_16320__$1 = state_16320;
var statearr_16346_17282 = state_16320__$1;
(statearr_16346_17282[(2)] = inst_16312);
(statearr_16346_17282[(1)] = (6));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16321 === (8))){
var inst_16302 = (state_16320[(7)]);
var state_16320__$1 = state_16320;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16320__$1,(11),out,inst_16302);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_16347 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_16347[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_16347[(1)] = (1));
return statearr_16347;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_16320){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_16320);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e16348){var ex__14364__auto__ = e16348;
var statearr_16349_17283 = state_16320;
(statearr_16349_17283[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_16320[(4)]))){
var statearr_16357_17284 = state_16320;
(statearr_16357_17284[(1)] = cljs.core.first((state_16320[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17285 = state_16320;
state_16320 = G__17285;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_16320){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_16320);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_16359 = f__14407__auto__();
(statearr_16359[(6)] = c__14406__auto___17272);
return statearr_16359;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return out;
}));
(cljs.core.async.take.cljs$lang$maxFixedArity = 3);
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async16438 = (function (f,ch,meta16365,_,fn1,meta16439){
this.f = f;
this.ch = ch;
this.meta16365 = meta16365;
this._ = _;
this.fn1 = fn1;
this.meta16439 = meta16439;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_16440,meta16439__$1){
var self__ = this;
var _16440__$1 = this;
return (new cljs.core.async.t_cljs$core$async16438(self__.f,self__.ch,self__.meta16365,self__._,self__.fn1,meta16439__$1));
}));
(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_16440){
var self__ = this;
var _16440__$1 = this;
return self__.meta16439;
}));
(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (___$1){
var self__ = this;
var ___$2 = this;
return cljs.core.async.impl.protocols.active_QMARK_(self__.fn1);
}));
(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = (function (___$1){
var self__ = this;
var ___$2 = this;
return true;
}));
(cljs.core.async.t_cljs$core$async16438.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (___$1){
var self__ = this;
var ___$2 = this;
var f1 = cljs.core.async.impl.protocols.commit(self__.fn1);
return (function (p1__16363_SHARP_){
var G__16443 = (((p1__16363_SHARP_ == null))?null:(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(p1__16363_SHARP_) : self__.f.call(null,p1__16363_SHARP_)));
return (f1.cljs$core$IFn$_invoke$arity$1 ? f1.cljs$core$IFn$_invoke$arity$1(G__16443) : f1.call(null,G__16443));
});
}));
(cljs.core.async.t_cljs$core$async16438.getBasis = (function (){
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"f","f",43394975,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta16365","meta16365",-1394870056,null),cljs.core.with_meta(new cljs.core.Symbol(null,"_","_",-1201019570,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"tag","tag",-1290361223),new cljs.core.Symbol("cljs.core.async","t_cljs$core$async16364","cljs.core.async/t_cljs$core$async16364",1198728825,null)], null)),new cljs.core.Symbol(null,"fn1","fn1",895834444,null),new cljs.core.Symbol(null,"meta16439","meta16439",-2017036263,null)], null);
}));
(cljs.core.async.t_cljs$core$async16438.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async16438.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async16438");
(cljs.core.async.t_cljs$core$async16438.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"cljs.core.async/t_cljs$core$async16438");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async16438.
*/
cljs.core.async.__GT_t_cljs$core$async16438 = (function cljs$core$async$__GT_t_cljs$core$async16438(f,ch,meta16365,_,fn1,meta16439){
return (new cljs.core.async.t_cljs$core$async16438(f,ch,meta16365,_,fn1,meta16439));
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Channel}
* @implements {cljs.core.async.impl.protocols.WritePort}
* @implements {cljs.core.async.impl.protocols.ReadPort}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async16364 = (function (f,ch,meta16365){
this.f = f;
this.ch = ch;
this.meta16365 = meta16365;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_16366,meta16365__$1){
var self__ = this;
var _16366__$1 = this;
return (new cljs.core.async.t_cljs$core$async16364(self__.f,self__.ch,meta16365__$1));
}));
(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_16366){
var self__ = this;
var _16366__$1 = this;
return self__.meta16365;
}));
(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.close_BANG_(self__.ch);
}));
(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);
}));
(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (_,fn1){
var self__ = this;
var ___$1 = this;
var ret = cljs.core.async.impl.protocols.take_BANG_(self__.ch,(new cljs.core.async.t_cljs$core$async16438(self__.f,self__.ch,self__.meta16365,___$1,fn1,cljs.core.PersistentArrayMap.EMPTY)));
if(cljs.core.truth_((function (){var and__5043__auto__ = ret;
if(cljs.core.truth_(and__5043__auto__)){
return (!((cljs.core.deref(ret) == null)));
} else {
return and__5043__auto__;
}
})())){
return cljs.core.async.impl.channels.box((function (){var G__16446 = cljs.core.deref(ret);
return (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(G__16446) : self__.f.call(null,G__16446));
})());
} else {
return ret;
}
}));
(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async16364.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (_,val,fn1){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);
}));
(cljs.core.async.t_cljs$core$async16364.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,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta16365","meta16365",-1394870056,null)], null);
}));
(cljs.core.async.t_cljs$core$async16364.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async16364.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async16364");
(cljs.core.async.t_cljs$core$async16364.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"cljs.core.async/t_cljs$core$async16364");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async16364.
*/
cljs.core.async.__GT_t_cljs$core$async16364 = (function cljs$core$async$__GT_t_cljs$core$async16364(f,ch,meta16365){
return (new cljs.core.async.t_cljs$core$async16364(f,ch,meta16365));
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.map_LT_ = (function cljs$core$async$map_LT_(f,ch){
return (new cljs.core.async.t_cljs$core$async16364(f,ch,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Channel}
* @implements {cljs.core.async.impl.protocols.WritePort}
* @implements {cljs.core.async.impl.protocols.ReadPort}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async16455 = (function (f,ch,meta16456){
this.f = f;
this.ch = ch;
this.meta16456 = meta16456;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_16457,meta16456__$1){
var self__ = this;
var _16457__$1 = this;
return (new cljs.core.async.t_cljs$core$async16455(self__.f,self__.ch,meta16456__$1));
}));
(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_16457){
var self__ = this;
var _16457__$1 = this;
return self__.meta16456;
}));
(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.close_BANG_(self__.ch);
}));
(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (_,fn1){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);
}));
(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async16455.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (_,val,fn1){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.put_BANG_(self__.ch,(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(val) : self__.f.call(null,val)),fn1);
}));
(cljs.core.async.t_cljs$core$async16455.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,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta16456","meta16456",-2145906003,null)], null);
}));
(cljs.core.async.t_cljs$core$async16455.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async16455.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async16455");
(cljs.core.async.t_cljs$core$async16455.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"cljs.core.async/t_cljs$core$async16455");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async16455.
*/
cljs.core.async.__GT_t_cljs$core$async16455 = (function cljs$core$async$__GT_t_cljs$core$async16455(f,ch,meta16456){
return (new cljs.core.async.t_cljs$core$async16455(f,ch,meta16456));
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.map_GT_ = (function cljs$core$async$map_GT_(f,ch){
return (new cljs.core.async.t_cljs$core$async16455(f,ch,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Channel}
* @implements {cljs.core.async.impl.protocols.WritePort}
* @implements {cljs.core.async.impl.protocols.ReadPort}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async16458 = (function (p,ch,meta16459){
this.p = p;
this.ch = ch;
this.meta16459 = meta16459;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_16460,meta16459__$1){
var self__ = this;
var _16460__$1 = this;
return (new cljs.core.async.t_cljs$core$async16458(self__.p,self__.ch,meta16459__$1));
}));
(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_16460){
var self__ = this;
var _16460__$1 = this;
return self__.meta16459;
}));
(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$Channel$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.close_BANG_(self__.ch);
}));
(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);
}));
(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$ReadPort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 = (function (_,fn1){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);
}));
(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$WritePort$ = cljs.core.PROTOCOL_SENTINEL);
(cljs.core.async.t_cljs$core$async16458.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 = (function (_,val,fn1){
var self__ = this;
var ___$1 = this;
if(cljs.core.truth_((self__.p.cljs$core$IFn$_invoke$arity$1 ? self__.p.cljs$core$IFn$_invoke$arity$1(val) : self__.p.call(null,val)))){
return cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);
} else {
return cljs.core.async.impl.channels.box(cljs.core.not(cljs.core.async.impl.protocols.closed_QMARK_(self__.ch)));
}
}));
(cljs.core.async.t_cljs$core$async16458.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"p","p",1791580836,null),new cljs.core.Symbol(null,"ch","ch",1085813622,null),new cljs.core.Symbol(null,"meta16459","meta16459",-1924767077,null)], null);
}));
(cljs.core.async.t_cljs$core$async16458.cljs$lang$type = true);
(cljs.core.async.t_cljs$core$async16458.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async16458");
(cljs.core.async.t_cljs$core$async16458.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
return cljs.core._write(writer__5331__auto__,"cljs.core.async/t_cljs$core$async16458");
}));
/**
* Positional factory function for cljs.core.async/t_cljs$core$async16458.
*/
cljs.core.async.__GT_t_cljs$core$async16458 = (function cljs$core$async$__GT_t_cljs$core$async16458(p,ch,meta16459){
return (new cljs.core.async.t_cljs$core$async16458(p,ch,meta16459));
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.filter_GT_ = (function cljs$core$async$filter_GT_(p,ch){
return (new cljs.core.async.t_cljs$core$async16458(p,ch,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.remove_GT_ = (function cljs$core$async$remove_GT_(p,ch){
return cljs.core.async.filter_GT_(cljs.core.complement(p),ch);
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.filter_LT_ = (function cljs$core$async$filter_LT_(var_args){
var G__16470 = arguments.length;
switch (G__16470) {
case 2:
return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2 = (function (p,ch){
return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);
}));
(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3 = (function (p,ch,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__14406__auto___17293 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_16502){
var state_val_16503 = (state_16502[(1)]);
if((state_val_16503 === (7))){
var inst_16494 = (state_16502[(2)]);
var state_16502__$1 = state_16502;
var statearr_16509_17294 = state_16502__$1;
(statearr_16509_17294[(2)] = inst_16494);
(statearr_16509_17294[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16503 === (1))){
var state_16502__$1 = state_16502;
var statearr_16510_17295 = state_16502__$1;
(statearr_16510_17295[(2)] = null);
(statearr_16510_17295[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16503 === (4))){
var inst_16475 = (state_16502[(7)]);
var inst_16475__$1 = (state_16502[(2)]);
var inst_16477 = (inst_16475__$1 == null);
var state_16502__$1 = (function (){var statearr_16511 = state_16502;
(statearr_16511[(7)] = inst_16475__$1);
return statearr_16511;
})();
if(cljs.core.truth_(inst_16477)){
var statearr_16512_17296 = state_16502__$1;
(statearr_16512_17296[(1)] = (5));
} else {
var statearr_16513_17297 = state_16502__$1;
(statearr_16513_17297[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16503 === (6))){
var inst_16475 = (state_16502[(7)]);
var inst_16485 = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_16475) : p.call(null,inst_16475));
var state_16502__$1 = state_16502;
if(cljs.core.truth_(inst_16485)){
var statearr_16514_17298 = state_16502__$1;
(statearr_16514_17298[(1)] = (8));
} else {
var statearr_16515_17299 = state_16502__$1;
(statearr_16515_17299[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16503 === (3))){
var inst_16496 = (state_16502[(2)]);
var state_16502__$1 = state_16502;
return cljs.core.async.impl.ioc_helpers.return_chan(state_16502__$1,inst_16496);
} else {
if((state_val_16503 === (2))){
var state_16502__$1 = state_16502;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_16502__$1,(4),ch);
} else {
if((state_val_16503 === (11))){
var inst_16488 = (state_16502[(2)]);
var state_16502__$1 = state_16502;
var statearr_16516_17300 = state_16502__$1;
(statearr_16516_17300[(2)] = inst_16488);
(statearr_16516_17300[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16503 === (9))){
var state_16502__$1 = state_16502;
var statearr_16519_17301 = state_16502__$1;
(statearr_16519_17301[(2)] = null);
(statearr_16519_17301[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16503 === (5))){
var inst_16483 = cljs.core.async.close_BANG_(out);
var state_16502__$1 = state_16502;
var statearr_16521_17302 = state_16502__$1;
(statearr_16521_17302[(2)] = inst_16483);
(statearr_16521_17302[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16503 === (10))){
var inst_16491 = (state_16502[(2)]);
var state_16502__$1 = (function (){var statearr_16522 = state_16502;
(statearr_16522[(8)] = inst_16491);
return statearr_16522;
})();
var statearr_16523_17303 = state_16502__$1;
(statearr_16523_17303[(2)] = null);
(statearr_16523_17303[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16503 === (8))){
var inst_16475 = (state_16502[(7)]);
var state_16502__$1 = state_16502;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16502__$1,(11),out,inst_16475);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_16524 = [null,null,null,null,null,null,null,null,null];
(statearr_16524[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_16524[(1)] = (1));
return statearr_16524;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_16502){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_16502);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e16526){var ex__14364__auto__ = e16526;
var statearr_16527_17304 = state_16502;
(statearr_16527_17304[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_16502[(4)]))){
var statearr_16528_17305 = state_16502;
(statearr_16528_17305[(1)] = cljs.core.first((state_16502[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17306 = state_16502;
state_16502 = G__17306;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_16502){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_16502);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_16529 = f__14407__auto__();
(statearr_16529[(6)] = c__14406__auto___17293);
return statearr_16529;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return out;
}));
(cljs.core.async.filter_LT_.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.remove_LT_ = (function cljs$core$async$remove_LT_(var_args){
var G__16532 = arguments.length;
switch (G__16532) {
case 2:
return cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2 = (function (p,ch){
return cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);
}));
(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3 = (function (p,ch,buf_or_n){
return cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(cljs.core.complement(p),ch,buf_or_n);
}));
(cljs.core.async.remove_LT_.cljs$lang$maxFixedArity = 3);
cljs.core.async.mapcat_STAR_ = (function cljs$core$async$mapcat_STAR_(f,in$,out){
var c__14406__auto__ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_16594){
var state_val_16595 = (state_16594[(1)]);
if((state_val_16595 === (7))){
var inst_16590 = (state_16594[(2)]);
var state_16594__$1 = state_16594;
var statearr_16596_17308 = state_16594__$1;
(statearr_16596_17308[(2)] = inst_16590);
(statearr_16596_17308[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (20))){
var inst_16560 = (state_16594[(7)]);
var inst_16571 = (state_16594[(2)]);
var inst_16572 = cljs.core.next(inst_16560);
var inst_16546 = inst_16572;
var inst_16547 = null;
var inst_16548 = (0);
var inst_16549 = (0);
var state_16594__$1 = (function (){var statearr_16597 = state_16594;
(statearr_16597[(8)] = inst_16547);
(statearr_16597[(9)] = inst_16548);
(statearr_16597[(10)] = inst_16546);
(statearr_16597[(11)] = inst_16549);
(statearr_16597[(12)] = inst_16571);
return statearr_16597;
})();
var statearr_16598_17309 = state_16594__$1;
(statearr_16598_17309[(2)] = null);
(statearr_16598_17309[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (1))){
var state_16594__$1 = state_16594;
var statearr_16599_17310 = state_16594__$1;
(statearr_16599_17310[(2)] = null);
(statearr_16599_17310[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (4))){
var inst_16535 = (state_16594[(13)]);
var inst_16535__$1 = (state_16594[(2)]);
var inst_16536 = (inst_16535__$1 == null);
var state_16594__$1 = (function (){var statearr_16600 = state_16594;
(statearr_16600[(13)] = inst_16535__$1);
return statearr_16600;
})();
if(cljs.core.truth_(inst_16536)){
var statearr_16601_17311 = state_16594__$1;
(statearr_16601_17311[(1)] = (5));
} else {
var statearr_16602_17312 = state_16594__$1;
(statearr_16602_17312[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (15))){
var state_16594__$1 = state_16594;
var statearr_16606_17313 = state_16594__$1;
(statearr_16606_17313[(2)] = null);
(statearr_16606_17313[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (21))){
var state_16594__$1 = state_16594;
var statearr_16607_17314 = state_16594__$1;
(statearr_16607_17314[(2)] = null);
(statearr_16607_17314[(1)] = (23));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (13))){
var inst_16547 = (state_16594[(8)]);
var inst_16548 = (state_16594[(9)]);
var inst_16546 = (state_16594[(10)]);
var inst_16549 = (state_16594[(11)]);
var inst_16556 = (state_16594[(2)]);
var inst_16557 = (inst_16549 + (1));
var tmp16603 = inst_16547;
var tmp16604 = inst_16548;
var tmp16605 = inst_16546;
var inst_16546__$1 = tmp16605;
var inst_16547__$1 = tmp16603;
var inst_16548__$1 = tmp16604;
var inst_16549__$1 = inst_16557;
var state_16594__$1 = (function (){var statearr_16608 = state_16594;
(statearr_16608[(8)] = inst_16547__$1);
(statearr_16608[(9)] = inst_16548__$1);
(statearr_16608[(10)] = inst_16546__$1);
(statearr_16608[(11)] = inst_16549__$1);
(statearr_16608[(14)] = inst_16556);
return statearr_16608;
})();
var statearr_16609_17315 = state_16594__$1;
(statearr_16609_17315[(2)] = null);
(statearr_16609_17315[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (22))){
var state_16594__$1 = state_16594;
var statearr_16610_17316 = state_16594__$1;
(statearr_16610_17316[(2)] = null);
(statearr_16610_17316[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (6))){
var inst_16535 = (state_16594[(13)]);
var inst_16544 = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_16535) : f.call(null,inst_16535));
var inst_16545 = cljs.core.seq(inst_16544);
var inst_16546 = inst_16545;
var inst_16547 = null;
var inst_16548 = (0);
var inst_16549 = (0);
var state_16594__$1 = (function (){var statearr_16611 = state_16594;
(statearr_16611[(8)] = inst_16547);
(statearr_16611[(9)] = inst_16548);
(statearr_16611[(10)] = inst_16546);
(statearr_16611[(11)] = inst_16549);
return statearr_16611;
})();
var statearr_16612_17317 = state_16594__$1;
(statearr_16612_17317[(2)] = null);
(statearr_16612_17317[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (17))){
var inst_16560 = (state_16594[(7)]);
var inst_16564 = cljs.core.chunk_first(inst_16560);
var inst_16565 = cljs.core.chunk_rest(inst_16560);
var inst_16566 = cljs.core.count(inst_16564);
var inst_16546 = inst_16565;
var inst_16547 = inst_16564;
var inst_16548 = inst_16566;
var inst_16549 = (0);
var state_16594__$1 = (function (){var statearr_16613 = state_16594;
(statearr_16613[(8)] = inst_16547);
(statearr_16613[(9)] = inst_16548);
(statearr_16613[(10)] = inst_16546);
(statearr_16613[(11)] = inst_16549);
return statearr_16613;
})();
var statearr_16614_17318 = state_16594__$1;
(statearr_16614_17318[(2)] = null);
(statearr_16614_17318[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (3))){
var inst_16592 = (state_16594[(2)]);
var state_16594__$1 = state_16594;
return cljs.core.async.impl.ioc_helpers.return_chan(state_16594__$1,inst_16592);
} else {
if((state_val_16595 === (12))){
var inst_16580 = (state_16594[(2)]);
var state_16594__$1 = state_16594;
var statearr_16615_17319 = state_16594__$1;
(statearr_16615_17319[(2)] = inst_16580);
(statearr_16615_17319[(1)] = (9));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (2))){
var state_16594__$1 = state_16594;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_16594__$1,(4),in$);
} else {
if((state_val_16595 === (23))){
var inst_16588 = (state_16594[(2)]);
var state_16594__$1 = state_16594;
var statearr_16616_17320 = state_16594__$1;
(statearr_16616_17320[(2)] = inst_16588);
(statearr_16616_17320[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (19))){
var inst_16575 = (state_16594[(2)]);
var state_16594__$1 = state_16594;
var statearr_16617_17321 = state_16594__$1;
(statearr_16617_17321[(2)] = inst_16575);
(statearr_16617_17321[(1)] = (16));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (11))){
var inst_16560 = (state_16594[(7)]);
var inst_16546 = (state_16594[(10)]);
var inst_16560__$1 = cljs.core.seq(inst_16546);
var state_16594__$1 = (function (){var statearr_16618 = state_16594;
(statearr_16618[(7)] = inst_16560__$1);
return statearr_16618;
})();
if(inst_16560__$1){
var statearr_16619_17322 = state_16594__$1;
(statearr_16619_17322[(1)] = (14));
} else {
var statearr_16620_17323 = state_16594__$1;
(statearr_16620_17323[(1)] = (15));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (9))){
var inst_16582 = (state_16594[(2)]);
var inst_16583 = cljs.core.async.impl.protocols.closed_QMARK_(out);
var state_16594__$1 = (function (){var statearr_16621 = state_16594;
(statearr_16621[(15)] = inst_16582);
return statearr_16621;
})();
if(cljs.core.truth_(inst_16583)){
var statearr_16622_17324 = state_16594__$1;
(statearr_16622_17324[(1)] = (21));
} else {
var statearr_16623_17325 = state_16594__$1;
(statearr_16623_17325[(1)] = (22));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (5))){
var inst_16538 = cljs.core.async.close_BANG_(out);
var state_16594__$1 = state_16594;
var statearr_16624_17326 = state_16594__$1;
(statearr_16624_17326[(2)] = inst_16538);
(statearr_16624_17326[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (14))){
var inst_16560 = (state_16594[(7)]);
var inst_16562 = cljs.core.chunked_seq_QMARK_(inst_16560);
var state_16594__$1 = state_16594;
if(inst_16562){
var statearr_16625_17327 = state_16594__$1;
(statearr_16625_17327[(1)] = (17));
} else {
var statearr_16626_17328 = state_16594__$1;
(statearr_16626_17328[(1)] = (18));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (16))){
var inst_16578 = (state_16594[(2)]);
var state_16594__$1 = state_16594;
var statearr_16627_17329 = state_16594__$1;
(statearr_16627_17329[(2)] = inst_16578);
(statearr_16627_17329[(1)] = (12));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16595 === (10))){
var inst_16547 = (state_16594[(8)]);
var inst_16549 = (state_16594[(11)]);
var inst_16554 = cljs.core._nth(inst_16547,inst_16549);
var state_16594__$1 = state_16594;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16594__$1,(13),out,inst_16554);
} else {
if((state_val_16595 === (18))){
var inst_16560 = (state_16594[(7)]);
var inst_16569 = cljs.core.first(inst_16560);
var state_16594__$1 = state_16594;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16594__$1,(20),out,inst_16569);
} else {
if((state_val_16595 === (8))){
var inst_16548 = (state_16594[(9)]);
var inst_16549 = (state_16594[(11)]);
var inst_16551 = (inst_16549 < inst_16548);
var inst_16552 = inst_16551;
var state_16594__$1 = state_16594;
if(cljs.core.truth_(inst_16552)){
var statearr_16628_17330 = state_16594__$1;
(statearr_16628_17330[(1)] = (10));
} else {
var statearr_16629_17331 = state_16594__$1;
(statearr_16629_17331[(1)] = (11));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$mapcat_STAR__$_state_machine__14361__auto__ = null;
var cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____0 = (function (){
var statearr_16630 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_16630[(0)] = cljs$core$async$mapcat_STAR__$_state_machine__14361__auto__);
(statearr_16630[(1)] = (1));
return statearr_16630;
});
var cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____1 = (function (state_16594){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_16594);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e16631){var ex__14364__auto__ = e16631;
var statearr_16632_17332 = state_16594;
(statearr_16632_17332[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_16594[(4)]))){
var statearr_16633_17333 = state_16594;
(statearr_16633_17333[(1)] = cljs.core.first((state_16594[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17334 = state_16594;
state_16594 = G__17334;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$mapcat_STAR__$_state_machine__14361__auto__ = function(state_16594){
switch(arguments.length){
case 0:
return cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____1.call(this,state_16594);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$mapcat_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____0;
cljs$core$async$mapcat_STAR__$_state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$mapcat_STAR__$_state_machine__14361__auto____1;
return cljs$core$async$mapcat_STAR__$_state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_16634 = f__14407__auto__();
(statearr_16634[(6)] = c__14406__auto__);
return statearr_16634;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return c__14406__auto__;
});
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.mapcat_LT_ = (function cljs$core$async$mapcat_LT_(var_args){
var G__16636 = arguments.length;
switch (G__16636) {
case 2:
return cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2 = (function (f,in$){
return cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3(f,in$,null);
}));
(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3 = (function (f,in$,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
cljs.core.async.mapcat_STAR_(f,in$,out);
return out;
}));
(cljs.core.async.mapcat_LT_.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.mapcat_GT_ = (function cljs$core$async$mapcat_GT_(var_args){
var G__16638 = arguments.length;
switch (G__16638) {
case 2:
return cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2 = (function (f,out){
return cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3(f,out,null);
}));
(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3 = (function (f,out,buf_or_n){
var in$ = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
cljs.core.async.mapcat_STAR_(f,in$,out);
return in$;
}));
(cljs.core.async.mapcat_GT_.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.unique = (function cljs$core$async$unique(var_args){
var G__16640 = arguments.length;
switch (G__16640) {
case 1:
return cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1 = (function (ch){
return cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2(ch,null);
}));
(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2 = (function (ch,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__14406__auto___17344 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_16664){
var state_val_16665 = (state_16664[(1)]);
if((state_val_16665 === (7))){
var inst_16659 = (state_16664[(2)]);
var state_16664__$1 = state_16664;
var statearr_16666_17345 = state_16664__$1;
(statearr_16666_17345[(2)] = inst_16659);
(statearr_16666_17345[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16665 === (1))){
var inst_16641 = null;
var state_16664__$1 = (function (){var statearr_16667 = state_16664;
(statearr_16667[(7)] = inst_16641);
return statearr_16667;
})();
var statearr_16668_17346 = state_16664__$1;
(statearr_16668_17346[(2)] = null);
(statearr_16668_17346[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16665 === (4))){
var inst_16644 = (state_16664[(8)]);
var inst_16644__$1 = (state_16664[(2)]);
var inst_16645 = (inst_16644__$1 == null);
var inst_16646 = cljs.core.not(inst_16645);
var state_16664__$1 = (function (){var statearr_16669 = state_16664;
(statearr_16669[(8)] = inst_16644__$1);
return statearr_16669;
})();
if(inst_16646){
var statearr_16670_17347 = state_16664__$1;
(statearr_16670_17347[(1)] = (5));
} else {
var statearr_16671_17348 = state_16664__$1;
(statearr_16671_17348[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16665 === (6))){
var state_16664__$1 = state_16664;
var statearr_16672_17349 = state_16664__$1;
(statearr_16672_17349[(2)] = null);
(statearr_16672_17349[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16665 === (3))){
var inst_16661 = (state_16664[(2)]);
var inst_16662 = cljs.core.async.close_BANG_(out);
var state_16664__$1 = (function (){var statearr_16673 = state_16664;
(statearr_16673[(9)] = inst_16661);
return statearr_16673;
})();
return cljs.core.async.impl.ioc_helpers.return_chan(state_16664__$1,inst_16662);
} else {
if((state_val_16665 === (2))){
var state_16664__$1 = state_16664;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_16664__$1,(4),ch);
} else {
if((state_val_16665 === (11))){
var inst_16644 = (state_16664[(8)]);
var inst_16653 = (state_16664[(2)]);
var inst_16641 = inst_16644;
var state_16664__$1 = (function (){var statearr_16674 = state_16664;
(statearr_16674[(10)] = inst_16653);
(statearr_16674[(7)] = inst_16641);
return statearr_16674;
})();
var statearr_16675_17350 = state_16664__$1;
(statearr_16675_17350[(2)] = null);
(statearr_16675_17350[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16665 === (9))){
var inst_16644 = (state_16664[(8)]);
var state_16664__$1 = state_16664;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16664__$1,(11),out,inst_16644);
} else {
if((state_val_16665 === (5))){
var inst_16641 = (state_16664[(7)]);
var inst_16644 = (state_16664[(8)]);
var inst_16648 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_16644,inst_16641);
var state_16664__$1 = state_16664;
if(inst_16648){
var statearr_16677_17351 = state_16664__$1;
(statearr_16677_17351[(1)] = (8));
} else {
var statearr_16678_17352 = state_16664__$1;
(statearr_16678_17352[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16665 === (10))){
var inst_16656 = (state_16664[(2)]);
var state_16664__$1 = state_16664;
var statearr_16679_17353 = state_16664__$1;
(statearr_16679_17353[(2)] = inst_16656);
(statearr_16679_17353[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16665 === (8))){
var inst_16641 = (state_16664[(7)]);
var tmp16676 = inst_16641;
var inst_16641__$1 = tmp16676;
var state_16664__$1 = (function (){var statearr_16680 = state_16664;
(statearr_16680[(7)] = inst_16641__$1);
return statearr_16680;
})();
var statearr_16681_17354 = state_16664__$1;
(statearr_16681_17354[(2)] = null);
(statearr_16681_17354[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_16682 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_16682[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_16682[(1)] = (1));
return statearr_16682;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_16664){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_16664);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e16683){var ex__14364__auto__ = e16683;
var statearr_16684_17361 = state_16664;
(statearr_16684_17361[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_16664[(4)]))){
var statearr_16685_17362 = state_16664;
(statearr_16685_17362[(1)] = cljs.core.first((state_16664[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17363 = state_16664;
state_16664 = G__17363;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_16664){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_16664);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_16686 = f__14407__auto__();
(statearr_16686[(6)] = c__14406__auto___17344);
return statearr_16686;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return out;
}));
(cljs.core.async.unique.cljs$lang$maxFixedArity = 2);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.partition = (function cljs$core$async$partition(var_args){
var G__16688 = arguments.length;
switch (G__16688) {
case 2:
return cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2 = (function (n,ch){
return cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3(n,ch,null);
}));
(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3 = (function (n,ch,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__14406__auto___17365 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_16726){
var state_val_16727 = (state_16726[(1)]);
if((state_val_16727 === (7))){
var inst_16722 = (state_16726[(2)]);
var state_16726__$1 = state_16726;
var statearr_16728_17366 = state_16726__$1;
(statearr_16728_17366[(2)] = inst_16722);
(statearr_16728_17366[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16727 === (1))){
var inst_16689 = (new Array(n));
var inst_16690 = inst_16689;
var inst_16691 = (0);
var state_16726__$1 = (function (){var statearr_16729 = state_16726;
(statearr_16729[(7)] = inst_16690);
(statearr_16729[(8)] = inst_16691);
return statearr_16729;
})();
var statearr_16730_17367 = state_16726__$1;
(statearr_16730_17367[(2)] = null);
(statearr_16730_17367[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16727 === (4))){
var inst_16694 = (state_16726[(9)]);
var inst_16694__$1 = (state_16726[(2)]);
var inst_16695 = (inst_16694__$1 == null);
var inst_16696 = cljs.core.not(inst_16695);
var state_16726__$1 = (function (){var statearr_16731 = state_16726;
(statearr_16731[(9)] = inst_16694__$1);
return statearr_16731;
})();
if(inst_16696){
var statearr_16732_17368 = state_16726__$1;
(statearr_16732_17368[(1)] = (5));
} else {
var statearr_16733_17369 = state_16726__$1;
(statearr_16733_17369[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16727 === (15))){
var inst_16716 = (state_16726[(2)]);
var state_16726__$1 = state_16726;
var statearr_16734_17370 = state_16726__$1;
(statearr_16734_17370[(2)] = inst_16716);
(statearr_16734_17370[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16727 === (13))){
var state_16726__$1 = state_16726;
var statearr_16735_17371 = state_16726__$1;
(statearr_16735_17371[(2)] = null);
(statearr_16735_17371[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16727 === (6))){
var inst_16691 = (state_16726[(8)]);
var inst_16712 = (inst_16691 > (0));
var state_16726__$1 = state_16726;
if(cljs.core.truth_(inst_16712)){
var statearr_16736_17372 = state_16726__$1;
(statearr_16736_17372[(1)] = (12));
} else {
var statearr_16737_17373 = state_16726__$1;
(statearr_16737_17373[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16727 === (3))){
var inst_16724 = (state_16726[(2)]);
var state_16726__$1 = state_16726;
return cljs.core.async.impl.ioc_helpers.return_chan(state_16726__$1,inst_16724);
} else {
if((state_val_16727 === (12))){
var inst_16690 = (state_16726[(7)]);
var inst_16714 = cljs.core.vec(inst_16690);
var state_16726__$1 = state_16726;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16726__$1,(15),out,inst_16714);
} else {
if((state_val_16727 === (2))){
var state_16726__$1 = state_16726;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_16726__$1,(4),ch);
} else {
if((state_val_16727 === (11))){
var inst_16706 = (state_16726[(2)]);
var inst_16707 = (new Array(n));
var inst_16690 = inst_16707;
var inst_16691 = (0);
var state_16726__$1 = (function (){var statearr_16738 = state_16726;
(statearr_16738[(7)] = inst_16690);
(statearr_16738[(8)] = inst_16691);
(statearr_16738[(10)] = inst_16706);
return statearr_16738;
})();
var statearr_16739_17374 = state_16726__$1;
(statearr_16739_17374[(2)] = null);
(statearr_16739_17374[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16727 === (9))){
var inst_16690 = (state_16726[(7)]);
var inst_16704 = cljs.core.vec(inst_16690);
var state_16726__$1 = state_16726;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16726__$1,(11),out,inst_16704);
} else {
if((state_val_16727 === (5))){
var inst_16694 = (state_16726[(9)]);
var inst_16690 = (state_16726[(7)]);
var inst_16691 = (state_16726[(8)]);
var inst_16699 = (state_16726[(11)]);
var inst_16698 = (inst_16690[inst_16691] = inst_16694);
var inst_16699__$1 = (inst_16691 + (1));
var inst_16700 = (inst_16699__$1 < n);
var state_16726__$1 = (function (){var statearr_16740 = state_16726;
(statearr_16740[(12)] = inst_16698);
(statearr_16740[(11)] = inst_16699__$1);
return statearr_16740;
})();
if(cljs.core.truth_(inst_16700)){
var statearr_16741_17375 = state_16726__$1;
(statearr_16741_17375[(1)] = (8));
} else {
var statearr_16742_17376 = state_16726__$1;
(statearr_16742_17376[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16727 === (14))){
var inst_16719 = (state_16726[(2)]);
var inst_16720 = cljs.core.async.close_BANG_(out);
var state_16726__$1 = (function (){var statearr_16744 = state_16726;
(statearr_16744[(13)] = inst_16719);
return statearr_16744;
})();
var statearr_16745_17377 = state_16726__$1;
(statearr_16745_17377[(2)] = inst_16720);
(statearr_16745_17377[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16727 === (10))){
var inst_16710 = (state_16726[(2)]);
var state_16726__$1 = state_16726;
var statearr_16746_17378 = state_16726__$1;
(statearr_16746_17378[(2)] = inst_16710);
(statearr_16746_17378[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16727 === (8))){
var inst_16690 = (state_16726[(7)]);
var inst_16699 = (state_16726[(11)]);
var tmp16743 = inst_16690;
var inst_16690__$1 = tmp16743;
var inst_16691 = inst_16699;
var state_16726__$1 = (function (){var statearr_16747 = state_16726;
(statearr_16747[(7)] = inst_16690__$1);
(statearr_16747[(8)] = inst_16691);
return statearr_16747;
})();
var statearr_16748_17379 = state_16726__$1;
(statearr_16748_17379[(2)] = null);
(statearr_16748_17379[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_16749 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_16749[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_16749[(1)] = (1));
return statearr_16749;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_16726){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_16726);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e16750){var ex__14364__auto__ = e16750;
var statearr_16751_17380 = state_16726;
(statearr_16751_17380[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_16726[(4)]))){
var statearr_16752_17381 = state_16726;
(statearr_16752_17381[(1)] = cljs.core.first((state_16726[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17382 = state_16726;
state_16726 = G__17382;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_16726){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_16726);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_16753 = f__14407__auto__();
(statearr_16753[(6)] = c__14406__auto___17365);
return statearr_16753;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return out;
}));
(cljs.core.async.partition.cljs$lang$maxFixedArity = 3);
/**
* Deprecated - this function will be removed. Use transducer instead
*/
cljs.core.async.partition_by = (function cljs$core$async$partition_by(var_args){
var G__16755 = arguments.length;
switch (G__16755) {
case 2:
return cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2 = (function (f,ch){
return cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3(f,ch,null);
}));
(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3 = (function (f,ch,buf_or_n){
var out = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);
var c__14406__auto___17384 = cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));
cljs.core.async.impl.dispatch.run((function (){
var f__14407__auto__ = (function (){var switch__14360__auto__ = (function (state_16800){
var state_val_16801 = (state_16800[(1)]);
if((state_val_16801 === (7))){
var inst_16796 = (state_16800[(2)]);
var state_16800__$1 = state_16800;
var statearr_16802_17385 = state_16800__$1;
(statearr_16802_17385[(2)] = inst_16796);
(statearr_16802_17385[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (1))){
var inst_16756 = [];
var inst_16757 = inst_16756;
var inst_16758 = new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",-69252123);
var state_16800__$1 = (function (){var statearr_16803 = state_16800;
(statearr_16803[(7)] = inst_16758);
(statearr_16803[(8)] = inst_16757);
return statearr_16803;
})();
var statearr_16804_17386 = state_16800__$1;
(statearr_16804_17386[(2)] = null);
(statearr_16804_17386[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (4))){
var inst_16761 = (state_16800[(9)]);
var inst_16761__$1 = (state_16800[(2)]);
var inst_16762 = (inst_16761__$1 == null);
var inst_16763 = cljs.core.not(inst_16762);
var state_16800__$1 = (function (){var statearr_16805 = state_16800;
(statearr_16805[(9)] = inst_16761__$1);
return statearr_16805;
})();
if(inst_16763){
var statearr_16806_17387 = state_16800__$1;
(statearr_16806_17387[(1)] = (5));
} else {
var statearr_16807_17388 = state_16800__$1;
(statearr_16807_17388[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (15))){
var inst_16757 = (state_16800[(8)]);
var inst_16788 = cljs.core.vec(inst_16757);
var state_16800__$1 = state_16800;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16800__$1,(18),out,inst_16788);
} else {
if((state_val_16801 === (13))){
var inst_16783 = (state_16800[(2)]);
var state_16800__$1 = state_16800;
var statearr_16808_17389 = state_16800__$1;
(statearr_16808_17389[(2)] = inst_16783);
(statearr_16808_17389[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (6))){
var inst_16757 = (state_16800[(8)]);
var inst_16785 = inst_16757.length;
var inst_16786 = (inst_16785 > (0));
var state_16800__$1 = state_16800;
if(cljs.core.truth_(inst_16786)){
var statearr_16809_17390 = state_16800__$1;
(statearr_16809_17390[(1)] = (15));
} else {
var statearr_16810_17391 = state_16800__$1;
(statearr_16810_17391[(1)] = (16));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (17))){
var inst_16793 = (state_16800[(2)]);
var inst_16794 = cljs.core.async.close_BANG_(out);
var state_16800__$1 = (function (){var statearr_16811 = state_16800;
(statearr_16811[(10)] = inst_16793);
return statearr_16811;
})();
var statearr_16812_17392 = state_16800__$1;
(statearr_16812_17392[(2)] = inst_16794);
(statearr_16812_17392[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (3))){
var inst_16798 = (state_16800[(2)]);
var state_16800__$1 = state_16800;
return cljs.core.async.impl.ioc_helpers.return_chan(state_16800__$1,inst_16798);
} else {
if((state_val_16801 === (12))){
var inst_16757 = (state_16800[(8)]);
var inst_16776 = cljs.core.vec(inst_16757);
var state_16800__$1 = state_16800;
return cljs.core.async.impl.ioc_helpers.put_BANG_(state_16800__$1,(14),out,inst_16776);
} else {
if((state_val_16801 === (2))){
var state_16800__$1 = state_16800;
return cljs.core.async.impl.ioc_helpers.take_BANG_(state_16800__$1,(4),ch);
} else {
if((state_val_16801 === (11))){
var inst_16765 = (state_16800[(11)]);
var inst_16761 = (state_16800[(9)]);
var inst_16757 = (state_16800[(8)]);
var inst_16773 = inst_16757.push(inst_16761);
var tmp16813 = inst_16757;
var inst_16757__$1 = tmp16813;
var inst_16758 = inst_16765;
var state_16800__$1 = (function (){var statearr_16814 = state_16800;
(statearr_16814[(12)] = inst_16773);
(statearr_16814[(7)] = inst_16758);
(statearr_16814[(8)] = inst_16757__$1);
return statearr_16814;
})();
var statearr_16815_17393 = state_16800__$1;
(statearr_16815_17393[(2)] = null);
(statearr_16815_17393[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (9))){
var inst_16758 = (state_16800[(7)]);
var inst_16769 = cljs.core.keyword_identical_QMARK_(inst_16758,new cljs.core.Keyword("cljs.core.async","nothing","cljs.core.async/nothing",-69252123));
var state_16800__$1 = state_16800;
var statearr_16816_17394 = state_16800__$1;
(statearr_16816_17394[(2)] = inst_16769);
(statearr_16816_17394[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (5))){
var inst_16765 = (state_16800[(11)]);
var inst_16761 = (state_16800[(9)]);
var inst_16766 = (state_16800[(13)]);
var inst_16758 = (state_16800[(7)]);
var inst_16765__$1 = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_16761) : f.call(null,inst_16761));
var inst_16766__$1 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_16765__$1,inst_16758);
var state_16800__$1 = (function (){var statearr_16817 = state_16800;
(statearr_16817[(11)] = inst_16765__$1);
(statearr_16817[(13)] = inst_16766__$1);
return statearr_16817;
})();
if(inst_16766__$1){
var statearr_16818_17395 = state_16800__$1;
(statearr_16818_17395[(1)] = (8));
} else {
var statearr_16819_17396 = state_16800__$1;
(statearr_16819_17396[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (14))){
var inst_16765 = (state_16800[(11)]);
var inst_16761 = (state_16800[(9)]);
var inst_16778 = (state_16800[(2)]);
var inst_16779 = [];
var inst_16780 = inst_16779.push(inst_16761);
var inst_16757 = inst_16779;
var inst_16758 = inst_16765;
var state_16800__$1 = (function (){var statearr_16820 = state_16800;
(statearr_16820[(14)] = inst_16778);
(statearr_16820[(7)] = inst_16758);
(statearr_16820[(8)] = inst_16757);
(statearr_16820[(15)] = inst_16780);
return statearr_16820;
})();
var statearr_16821_17397 = state_16800__$1;
(statearr_16821_17397[(2)] = null);
(statearr_16821_17397[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (16))){
var state_16800__$1 = state_16800;
var statearr_16822_17398 = state_16800__$1;
(statearr_16822_17398[(2)] = null);
(statearr_16822_17398[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (10))){
var inst_16771 = (state_16800[(2)]);
var state_16800__$1 = state_16800;
if(cljs.core.truth_(inst_16771)){
var statearr_16823_17399 = state_16800__$1;
(statearr_16823_17399[(1)] = (11));
} else {
var statearr_16824_17400 = state_16800__$1;
(statearr_16824_17400[(1)] = (12));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (18))){
var inst_16790 = (state_16800[(2)]);
var state_16800__$1 = state_16800;
var statearr_16825_17401 = state_16800__$1;
(statearr_16825_17401[(2)] = inst_16790);
(statearr_16825_17401[(1)] = (17));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_16801 === (8))){
var inst_16766 = (state_16800[(13)]);
var state_16800__$1 = state_16800;
var statearr_16826_17402 = state_16800__$1;
(statearr_16826_17402[(2)] = inst_16766);
(statearr_16826_17402[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
return (function() {
var cljs$core$async$state_machine__14361__auto__ = null;
var cljs$core$async$state_machine__14361__auto____0 = (function (){
var statearr_16827 = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(statearr_16827[(0)] = cljs$core$async$state_machine__14361__auto__);
(statearr_16827[(1)] = (1));
return statearr_16827;
});
var cljs$core$async$state_machine__14361__auto____1 = (function (state_16800){
while(true){
var ret_value__14362__auto__ = (function (){try{while(true){
var result__14363__auto__ = switch__14360__auto__(state_16800);
if(cljs.core.keyword_identical_QMARK_(result__14363__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__14363__auto__;
}
break;
}
}catch (e16828){var ex__14364__auto__ = e16828;
var statearr_16829_17403 = state_16800;
(statearr_16829_17403[(2)] = ex__14364__auto__);
if(cljs.core.seq((state_16800[(4)]))){
var statearr_16830_17404 = state_16800;
(statearr_16830_17404[(1)] = cljs.core.first((state_16800[(4)])));
} else {
throw ex__14364__auto__;
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
}})();
if(cljs.core.keyword_identical_QMARK_(ret_value__14362__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__17405 = state_16800;
state_16800 = G__17405;
continue;
} else {
return ret_value__14362__auto__;
}
break;
}
});
cljs$core$async$state_machine__14361__auto__ = function(state_16800){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__14361__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__14361__auto____1.call(this,state_16800);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__14361__auto____0;
cljs$core$async$state_machine__14361__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__14361__auto____1;
return cljs$core$async$state_machine__14361__auto__;
})()
})();
var state__14408__auto__ = (function (){var statearr_16831 = f__14407__auto__();
(statearr_16831[(6)] = c__14406__auto___17384);
return statearr_16831;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__14408__auto__);
}));
return out;
}));
(cljs.core.async.partition_by.cljs$lang$maxFixedArity = 3);
//# sourceMappingURL=cljs.core.async.js.map