goog.provide('sci.impl.fns');
sci.impl.fns.fun = (function sci$impl$fns$fun(var_args){
var G__42588 = arguments.length;
switch (G__42588) {
case 5:
return sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));

break;
case 11:
return sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));

break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));

}
});

(sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$5 = (function (ctx,enclosed_array,fn_body,fn_name,macro_QMARK_){
return sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11(ctx,enclosed_array,fn_body,fn_name,macro_QMARK_,new cljs.core.Keyword(null,"fixed-arity","fixed-arity",1586445869).cljs$core$IFn$_invoke$arity$1(fn_body),new cljs.core.Keyword(null,"copy-enclosed->invocation","copy-enclosed->invocation",-1322388729).cljs$core$IFn$_invoke$arity$1(fn_body),new cljs.core.Keyword(null,"body","body",-2049205669).cljs$core$IFn$_invoke$arity$1(fn_body),new cljs.core.Keyword(null,"invoc-size","invoc-size",2053298058).cljs$core$IFn$_invoke$arity$1(fn_body),sci.impl.utils.current_ns_name(),new cljs.core.Keyword(null,"vararg-idx","vararg-idx",-590991228).cljs$core$IFn$_invoke$arity$1(fn_body));
}));

(sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11 = (function (ctx,enclosed_array,fn_body,fn_name,macro_QMARK_,fixed_arity,enclosed__GT_invocation,body,invoc_size,nsm,vararg_idx){
var f = (cljs.core.truth_(vararg_idx)?(function (){var G__42599 = fixed_arity;
switch (G__42599) {
case (0):
var recur__41805__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_0__delegate = function (G__42600){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[vararg_idx] = G__42600);

while(true){
var ret__41806__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41805__auto__ === ret__41806__auto__)){
continue;
} else {
return ret__41806__auto__;
}
break;
}
};
var sci$impl$fns$arity_0 = function (var_args){
var G__42600 = null;
if (arguments.length > 0) {
var G__43375__i = 0, G__43375__a = new Array(arguments.length -  0);
while (G__43375__i < G__43375__a.length) {G__43375__a[G__43375__i] = arguments[G__43375__i + 0]; ++G__43375__i;}
  G__42600 = new cljs.core.IndexedSeq(G__43375__a,0,null);
} 
return sci$impl$fns$arity_0__delegate.call(this,G__42600);};
sci$impl$fns$arity_0.cljs$lang$maxFixedArity = 0;
sci$impl$fns$arity_0.cljs$lang$applyTo = (function (arglist__43376){
var G__42600 = cljs.core.seq(arglist__43376);
return sci$impl$fns$arity_0__delegate(G__42600);
});
sci$impl$fns$arity_0.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_0__delegate;
return sci$impl$fns$arity_0;
})()
;

break;
case (1):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_1__delegate = function (G__42608,G__42609){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42608);

(invoc_array[vararg_idx] = G__42609);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_1 = function (G__42608,var_args){
var G__42609 = null;
if (arguments.length > 1) {
var G__43381__i = 0, G__43381__a = new Array(arguments.length -  1);
while (G__43381__i < G__43381__a.length) {G__43381__a[G__43381__i] = arguments[G__43381__i + 1]; ++G__43381__i;}
  G__42609 = new cljs.core.IndexedSeq(G__43381__a,0,null);
} 
return sci$impl$fns$arity_1__delegate.call(this,G__42608,G__42609);};
sci$impl$fns$arity_1.cljs$lang$maxFixedArity = 1;
sci$impl$fns$arity_1.cljs$lang$applyTo = (function (arglist__43382){
var G__42608 = cljs.core.first(arglist__43382);
var G__42609 = cljs.core.rest(arglist__43382);
return sci$impl$fns$arity_1__delegate(G__42608,G__42609);
});
sci$impl$fns$arity_1.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_1__delegate;
return sci$impl$fns$arity_1;
})()
;

break;
case (2):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_2__delegate = function (G__42620,G__42621,G__42622){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42620);

(invoc_array[(1)] = G__42621);

(invoc_array[vararg_idx] = G__42622);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_2 = function (G__42620,G__42621,var_args){
var G__42622 = null;
if (arguments.length > 2) {
var G__43384__i = 0, G__43384__a = new Array(arguments.length -  2);
while (G__43384__i < G__43384__a.length) {G__43384__a[G__43384__i] = arguments[G__43384__i + 2]; ++G__43384__i;}
  G__42622 = new cljs.core.IndexedSeq(G__43384__a,0,null);
} 
return sci$impl$fns$arity_2__delegate.call(this,G__42620,G__42621,G__42622);};
sci$impl$fns$arity_2.cljs$lang$maxFixedArity = 2;
sci$impl$fns$arity_2.cljs$lang$applyTo = (function (arglist__43385){
var G__42620 = cljs.core.first(arglist__43385);
arglist__43385 = cljs.core.next(arglist__43385);
var G__42621 = cljs.core.first(arglist__43385);
var G__42622 = cljs.core.rest(arglist__43385);
return sci$impl$fns$arity_2__delegate(G__42620,G__42621,G__42622);
});
sci$impl$fns$arity_2.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_2__delegate;
return sci$impl$fns$arity_2;
})()
;

break;
case (3):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_3__delegate = function (G__42628,G__42629,G__42630,G__42631){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42628);

(invoc_array[(1)] = G__42629);

(invoc_array[(2)] = G__42630);

(invoc_array[vararg_idx] = G__42631);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_3 = function (G__42628,G__42629,G__42630,var_args){
var G__42631 = null;
if (arguments.length > 3) {
var G__43389__i = 0, G__43389__a = new Array(arguments.length -  3);
while (G__43389__i < G__43389__a.length) {G__43389__a[G__43389__i] = arguments[G__43389__i + 3]; ++G__43389__i;}
  G__42631 = new cljs.core.IndexedSeq(G__43389__a,0,null);
} 
return sci$impl$fns$arity_3__delegate.call(this,G__42628,G__42629,G__42630,G__42631);};
sci$impl$fns$arity_3.cljs$lang$maxFixedArity = 3;
sci$impl$fns$arity_3.cljs$lang$applyTo = (function (arglist__43390){
var G__42628 = cljs.core.first(arglist__43390);
arglist__43390 = cljs.core.next(arglist__43390);
var G__42629 = cljs.core.first(arglist__43390);
arglist__43390 = cljs.core.next(arglist__43390);
var G__42630 = cljs.core.first(arglist__43390);
var G__42631 = cljs.core.rest(arglist__43390);
return sci$impl$fns$arity_3__delegate(G__42628,G__42629,G__42630,G__42631);
});
sci$impl$fns$arity_3.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_3__delegate;
return sci$impl$fns$arity_3;
})()
;

break;
case (4):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_4__delegate = function (G__42634,G__42635,G__42636,G__42637,G__42638){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42634);

(invoc_array[(1)] = G__42635);

(invoc_array[(2)] = G__42636);

(invoc_array[(3)] = G__42637);

(invoc_array[vararg_idx] = G__42638);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_4 = function (G__42634,G__42635,G__42636,G__42637,var_args){
var G__42638 = null;
if (arguments.length > 4) {
var G__43393__i = 0, G__43393__a = new Array(arguments.length -  4);
while (G__43393__i < G__43393__a.length) {G__43393__a[G__43393__i] = arguments[G__43393__i + 4]; ++G__43393__i;}
  G__42638 = new cljs.core.IndexedSeq(G__43393__a,0,null);
} 
return sci$impl$fns$arity_4__delegate.call(this,G__42634,G__42635,G__42636,G__42637,G__42638);};
sci$impl$fns$arity_4.cljs$lang$maxFixedArity = 4;
sci$impl$fns$arity_4.cljs$lang$applyTo = (function (arglist__43394){
var G__42634 = cljs.core.first(arglist__43394);
arglist__43394 = cljs.core.next(arglist__43394);
var G__42635 = cljs.core.first(arglist__43394);
arglist__43394 = cljs.core.next(arglist__43394);
var G__42636 = cljs.core.first(arglist__43394);
arglist__43394 = cljs.core.next(arglist__43394);
var G__42637 = cljs.core.first(arglist__43394);
var G__42638 = cljs.core.rest(arglist__43394);
return sci$impl$fns$arity_4__delegate(G__42634,G__42635,G__42636,G__42637,G__42638);
});
sci$impl$fns$arity_4.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_4__delegate;
return sci$impl$fns$arity_4;
})()
;

break;
case (5):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_5__delegate = function (G__42645,G__42646,G__42647,G__42648,G__42649,G__42650){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42645);

(invoc_array[(1)] = G__42646);

(invoc_array[(2)] = G__42647);

(invoc_array[(3)] = G__42648);

(invoc_array[(4)] = G__42649);

(invoc_array[vararg_idx] = G__42650);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_5 = function (G__42645,G__42646,G__42647,G__42648,G__42649,var_args){
var G__42650 = null;
if (arguments.length > 5) {
var G__43396__i = 0, G__43396__a = new Array(arguments.length -  5);
while (G__43396__i < G__43396__a.length) {G__43396__a[G__43396__i] = arguments[G__43396__i + 5]; ++G__43396__i;}
  G__42650 = new cljs.core.IndexedSeq(G__43396__a,0,null);
} 
return sci$impl$fns$arity_5__delegate.call(this,G__42645,G__42646,G__42647,G__42648,G__42649,G__42650);};
sci$impl$fns$arity_5.cljs$lang$maxFixedArity = 5;
sci$impl$fns$arity_5.cljs$lang$applyTo = (function (arglist__43397){
var G__42645 = cljs.core.first(arglist__43397);
arglist__43397 = cljs.core.next(arglist__43397);
var G__42646 = cljs.core.first(arglist__43397);
arglist__43397 = cljs.core.next(arglist__43397);
var G__42647 = cljs.core.first(arglist__43397);
arglist__43397 = cljs.core.next(arglist__43397);
var G__42648 = cljs.core.first(arglist__43397);
arglist__43397 = cljs.core.next(arglist__43397);
var G__42649 = cljs.core.first(arglist__43397);
var G__42650 = cljs.core.rest(arglist__43397);
return sci$impl$fns$arity_5__delegate(G__42645,G__42646,G__42647,G__42648,G__42649,G__42650);
});
sci$impl$fns$arity_5.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_5__delegate;
return sci$impl$fns$arity_5;
})()
;

break;
case (6):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_6__delegate = function (G__42652,G__42653,G__42654,G__42655,G__42656,G__42657,G__42658){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42652);

(invoc_array[(1)] = G__42653);

(invoc_array[(2)] = G__42654);

(invoc_array[(3)] = G__42655);

(invoc_array[(4)] = G__42656);

(invoc_array[(5)] = G__42657);

(invoc_array[vararg_idx] = G__42658);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_6 = function (G__42652,G__42653,G__42654,G__42655,G__42656,G__42657,var_args){
var G__42658 = null;
if (arguments.length > 6) {
var G__43399__i = 0, G__43399__a = new Array(arguments.length -  6);
while (G__43399__i < G__43399__a.length) {G__43399__a[G__43399__i] = arguments[G__43399__i + 6]; ++G__43399__i;}
  G__42658 = new cljs.core.IndexedSeq(G__43399__a,0,null);
} 
return sci$impl$fns$arity_6__delegate.call(this,G__42652,G__42653,G__42654,G__42655,G__42656,G__42657,G__42658);};
sci$impl$fns$arity_6.cljs$lang$maxFixedArity = 6;
sci$impl$fns$arity_6.cljs$lang$applyTo = (function (arglist__43400){
var G__42652 = cljs.core.first(arglist__43400);
arglist__43400 = cljs.core.next(arglist__43400);
var G__42653 = cljs.core.first(arglist__43400);
arglist__43400 = cljs.core.next(arglist__43400);
var G__42654 = cljs.core.first(arglist__43400);
arglist__43400 = cljs.core.next(arglist__43400);
var G__42655 = cljs.core.first(arglist__43400);
arglist__43400 = cljs.core.next(arglist__43400);
var G__42656 = cljs.core.first(arglist__43400);
arglist__43400 = cljs.core.next(arglist__43400);
var G__42657 = cljs.core.first(arglist__43400);
var G__42658 = cljs.core.rest(arglist__43400);
return sci$impl$fns$arity_6__delegate(G__42652,G__42653,G__42654,G__42655,G__42656,G__42657,G__42658);
});
sci$impl$fns$arity_6.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_6__delegate;
return sci$impl$fns$arity_6;
})()
;

break;
case (7):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_7__delegate = function (G__42665,G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,G__42672){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42665);

(invoc_array[(1)] = G__42666);

(invoc_array[(2)] = G__42667);

(invoc_array[(3)] = G__42668);

(invoc_array[(4)] = G__42669);

(invoc_array[(5)] = G__42670);

(invoc_array[(6)] = G__42671);

(invoc_array[vararg_idx] = G__42672);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_7 = function (G__42665,G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,var_args){
var G__42672 = null;
if (arguments.length > 7) {
var G__43403__i = 0, G__43403__a = new Array(arguments.length -  7);
while (G__43403__i < G__43403__a.length) {G__43403__a[G__43403__i] = arguments[G__43403__i + 7]; ++G__43403__i;}
  G__42672 = new cljs.core.IndexedSeq(G__43403__a,0,null);
} 
return sci$impl$fns$arity_7__delegate.call(this,G__42665,G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,G__42672);};
sci$impl$fns$arity_7.cljs$lang$maxFixedArity = 7;
sci$impl$fns$arity_7.cljs$lang$applyTo = (function (arglist__43404){
var G__42665 = cljs.core.first(arglist__43404);
arglist__43404 = cljs.core.next(arglist__43404);
var G__42666 = cljs.core.first(arglist__43404);
arglist__43404 = cljs.core.next(arglist__43404);
var G__42667 = cljs.core.first(arglist__43404);
arglist__43404 = cljs.core.next(arglist__43404);
var G__42668 = cljs.core.first(arglist__43404);
arglist__43404 = cljs.core.next(arglist__43404);
var G__42669 = cljs.core.first(arglist__43404);
arglist__43404 = cljs.core.next(arglist__43404);
var G__42670 = cljs.core.first(arglist__43404);
arglist__43404 = cljs.core.next(arglist__43404);
var G__42671 = cljs.core.first(arglist__43404);
var G__42672 = cljs.core.rest(arglist__43404);
return sci$impl$fns$arity_7__delegate(G__42665,G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,G__42672);
});
sci$impl$fns$arity_7.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_7__delegate;
return sci$impl$fns$arity_7;
})()
;

break;
case (8):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_8__delegate = function (G__42673,G__42674,G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,G__42681){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42673);

(invoc_array[(1)] = G__42674);

(invoc_array[(2)] = G__42675);

(invoc_array[(3)] = G__42676);

(invoc_array[(4)] = G__42677);

(invoc_array[(5)] = G__42678);

(invoc_array[(6)] = G__42679);

(invoc_array[(7)] = G__42680);

(invoc_array[vararg_idx] = G__42681);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_8 = function (G__42673,G__42674,G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,var_args){
var G__42681 = null;
if (arguments.length > 8) {
var G__43405__i = 0, G__43405__a = new Array(arguments.length -  8);
while (G__43405__i < G__43405__a.length) {G__43405__a[G__43405__i] = arguments[G__43405__i + 8]; ++G__43405__i;}
  G__42681 = new cljs.core.IndexedSeq(G__43405__a,0,null);
} 
return sci$impl$fns$arity_8__delegate.call(this,G__42673,G__42674,G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,G__42681);};
sci$impl$fns$arity_8.cljs$lang$maxFixedArity = 8;
sci$impl$fns$arity_8.cljs$lang$applyTo = (function (arglist__43406){
var G__42673 = cljs.core.first(arglist__43406);
arglist__43406 = cljs.core.next(arglist__43406);
var G__42674 = cljs.core.first(arglist__43406);
arglist__43406 = cljs.core.next(arglist__43406);
var G__42675 = cljs.core.first(arglist__43406);
arglist__43406 = cljs.core.next(arglist__43406);
var G__42676 = cljs.core.first(arglist__43406);
arglist__43406 = cljs.core.next(arglist__43406);
var G__42677 = cljs.core.first(arglist__43406);
arglist__43406 = cljs.core.next(arglist__43406);
var G__42678 = cljs.core.first(arglist__43406);
arglist__43406 = cljs.core.next(arglist__43406);
var G__42679 = cljs.core.first(arglist__43406);
arglist__43406 = cljs.core.next(arglist__43406);
var G__42680 = cljs.core.first(arglist__43406);
var G__42681 = cljs.core.rest(arglist__43406);
return sci$impl$fns$arity_8__delegate(G__42673,G__42674,G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,G__42681);
});
sci$impl$fns$arity_8.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_8__delegate;
return sci$impl$fns$arity_8;
})()
;

break;
case (9):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_9__delegate = function (G__42682,G__42683,G__42684,G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,G__42691){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42682);

(invoc_array[(1)] = G__42683);

(invoc_array[(2)] = G__42684);

(invoc_array[(3)] = G__42685);

(invoc_array[(4)] = G__42686);

(invoc_array[(5)] = G__42687);

(invoc_array[(6)] = G__42688);

(invoc_array[(7)] = G__42689);

(invoc_array[(8)] = G__42690);

(invoc_array[vararg_idx] = G__42691);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_9 = function (G__42682,G__42683,G__42684,G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,var_args){
var G__42691 = null;
if (arguments.length > 9) {
var G__43416__i = 0, G__43416__a = new Array(arguments.length -  9);
while (G__43416__i < G__43416__a.length) {G__43416__a[G__43416__i] = arguments[G__43416__i + 9]; ++G__43416__i;}
  G__42691 = new cljs.core.IndexedSeq(G__43416__a,0,null);
} 
return sci$impl$fns$arity_9__delegate.call(this,G__42682,G__42683,G__42684,G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,G__42691);};
sci$impl$fns$arity_9.cljs$lang$maxFixedArity = 9;
sci$impl$fns$arity_9.cljs$lang$applyTo = (function (arglist__43417){
var G__42682 = cljs.core.first(arglist__43417);
arglist__43417 = cljs.core.next(arglist__43417);
var G__42683 = cljs.core.first(arglist__43417);
arglist__43417 = cljs.core.next(arglist__43417);
var G__42684 = cljs.core.first(arglist__43417);
arglist__43417 = cljs.core.next(arglist__43417);
var G__42685 = cljs.core.first(arglist__43417);
arglist__43417 = cljs.core.next(arglist__43417);
var G__42686 = cljs.core.first(arglist__43417);
arglist__43417 = cljs.core.next(arglist__43417);
var G__42687 = cljs.core.first(arglist__43417);
arglist__43417 = cljs.core.next(arglist__43417);
var G__42688 = cljs.core.first(arglist__43417);
arglist__43417 = cljs.core.next(arglist__43417);
var G__42689 = cljs.core.first(arglist__43417);
arglist__43417 = cljs.core.next(arglist__43417);
var G__42690 = cljs.core.first(arglist__43417);
var G__42691 = cljs.core.rest(arglist__43417);
return sci$impl$fns$arity_9__delegate(G__42682,G__42683,G__42684,G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,G__42691);
});
sci$impl$fns$arity_9.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_9__delegate;
return sci$impl$fns$arity_9;
})()
;

break;
case (10):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_10__delegate = function (G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704,G__42705,G__42706,G__42707){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42697);

(invoc_array[(1)] = G__42698);

(invoc_array[(2)] = G__42699);

(invoc_array[(3)] = G__42700);

(invoc_array[(4)] = G__42701);

(invoc_array[(5)] = G__42702);

(invoc_array[(6)] = G__42703);

(invoc_array[(7)] = G__42704);

(invoc_array[(8)] = G__42705);

(invoc_array[(9)] = G__42706);

(invoc_array[vararg_idx] = G__42707);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_10 = function (G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704,G__42705,G__42706,var_args){
var G__42707 = null;
if (arguments.length > 10) {
var G__43424__i = 0, G__43424__a = new Array(arguments.length -  10);
while (G__43424__i < G__43424__a.length) {G__43424__a[G__43424__i] = arguments[G__43424__i + 10]; ++G__43424__i;}
  G__42707 = new cljs.core.IndexedSeq(G__43424__a,0,null);
} 
return sci$impl$fns$arity_10__delegate.call(this,G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704,G__42705,G__42706,G__42707);};
sci$impl$fns$arity_10.cljs$lang$maxFixedArity = 10;
sci$impl$fns$arity_10.cljs$lang$applyTo = (function (arglist__43427){
var G__42697 = cljs.core.first(arglist__43427);
arglist__43427 = cljs.core.next(arglist__43427);
var G__42698 = cljs.core.first(arglist__43427);
arglist__43427 = cljs.core.next(arglist__43427);
var G__42699 = cljs.core.first(arglist__43427);
arglist__43427 = cljs.core.next(arglist__43427);
var G__42700 = cljs.core.first(arglist__43427);
arglist__43427 = cljs.core.next(arglist__43427);
var G__42701 = cljs.core.first(arglist__43427);
arglist__43427 = cljs.core.next(arglist__43427);
var G__42702 = cljs.core.first(arglist__43427);
arglist__43427 = cljs.core.next(arglist__43427);
var G__42703 = cljs.core.first(arglist__43427);
arglist__43427 = cljs.core.next(arglist__43427);
var G__42704 = cljs.core.first(arglist__43427);
arglist__43427 = cljs.core.next(arglist__43427);
var G__42705 = cljs.core.first(arglist__43427);
arglist__43427 = cljs.core.next(arglist__43427);
var G__42706 = cljs.core.first(arglist__43427);
var G__42707 = cljs.core.rest(arglist__43427);
return sci$impl$fns$arity_10__delegate(G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704,G__42705,G__42706,G__42707);
});
sci$impl$fns$arity_10.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_10__delegate;
return sci$impl$fns$arity_10;
})()
;

break;
case (11):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_11__delegate = function (G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719,G__42720,G__42721){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42710);

(invoc_array[(1)] = G__42711);

(invoc_array[(2)] = G__42712);

(invoc_array[(3)] = G__42713);

(invoc_array[(4)] = G__42714);

(invoc_array[(5)] = G__42715);

(invoc_array[(6)] = G__42716);

(invoc_array[(7)] = G__42717);

(invoc_array[(8)] = G__42718);

(invoc_array[(9)] = G__42719);

(invoc_array[(10)] = G__42720);

(invoc_array[vararg_idx] = G__42721);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_11 = function (G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719,G__42720,var_args){
var G__42721 = null;
if (arguments.length > 11) {
var G__43439__i = 0, G__43439__a = new Array(arguments.length -  11);
while (G__43439__i < G__43439__a.length) {G__43439__a[G__43439__i] = arguments[G__43439__i + 11]; ++G__43439__i;}
  G__42721 = new cljs.core.IndexedSeq(G__43439__a,0,null);
} 
return sci$impl$fns$arity_11__delegate.call(this,G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719,G__42720,G__42721);};
sci$impl$fns$arity_11.cljs$lang$maxFixedArity = 11;
sci$impl$fns$arity_11.cljs$lang$applyTo = (function (arglist__43444){
var G__42710 = cljs.core.first(arglist__43444);
arglist__43444 = cljs.core.next(arglist__43444);
var G__42711 = cljs.core.first(arglist__43444);
arglist__43444 = cljs.core.next(arglist__43444);
var G__42712 = cljs.core.first(arglist__43444);
arglist__43444 = cljs.core.next(arglist__43444);
var G__42713 = cljs.core.first(arglist__43444);
arglist__43444 = cljs.core.next(arglist__43444);
var G__42714 = cljs.core.first(arglist__43444);
arglist__43444 = cljs.core.next(arglist__43444);
var G__42715 = cljs.core.first(arglist__43444);
arglist__43444 = cljs.core.next(arglist__43444);
var G__42716 = cljs.core.first(arglist__43444);
arglist__43444 = cljs.core.next(arglist__43444);
var G__42717 = cljs.core.first(arglist__43444);
arglist__43444 = cljs.core.next(arglist__43444);
var G__42718 = cljs.core.first(arglist__43444);
arglist__43444 = cljs.core.next(arglist__43444);
var G__42719 = cljs.core.first(arglist__43444);
arglist__43444 = cljs.core.next(arglist__43444);
var G__42720 = cljs.core.first(arglist__43444);
var G__42721 = cljs.core.rest(arglist__43444);
return sci$impl$fns$arity_11__delegate(G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719,G__42720,G__42721);
});
sci$impl$fns$arity_11.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_11__delegate;
return sci$impl$fns$arity_11;
})()
;

break;
case (12):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_12__delegate = function (G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731,G__42732,G__42733,G__42734,G__42735,G__42736){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42724);

(invoc_array[(1)] = G__42725);

(invoc_array[(2)] = G__42726);

(invoc_array[(3)] = G__42727);

(invoc_array[(4)] = G__42728);

(invoc_array[(5)] = G__42729);

(invoc_array[(6)] = G__42730);

(invoc_array[(7)] = G__42731);

(invoc_array[(8)] = G__42732);

(invoc_array[(9)] = G__42733);

(invoc_array[(10)] = G__42734);

(invoc_array[(11)] = G__42735);

(invoc_array[vararg_idx] = G__42736);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_12 = function (G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731,G__42732,G__42733,G__42734,G__42735,var_args){
var G__42736 = null;
if (arguments.length > 12) {
var G__43458__i = 0, G__43458__a = new Array(arguments.length -  12);
while (G__43458__i < G__43458__a.length) {G__43458__a[G__43458__i] = arguments[G__43458__i + 12]; ++G__43458__i;}
  G__42736 = new cljs.core.IndexedSeq(G__43458__a,0,null);
} 
return sci$impl$fns$arity_12__delegate.call(this,G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731,G__42732,G__42733,G__42734,G__42735,G__42736);};
sci$impl$fns$arity_12.cljs$lang$maxFixedArity = 12;
sci$impl$fns$arity_12.cljs$lang$applyTo = (function (arglist__43459){
var G__42724 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42725 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42726 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42727 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42728 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42729 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42730 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42731 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42732 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42733 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42734 = cljs.core.first(arglist__43459);
arglist__43459 = cljs.core.next(arglist__43459);
var G__42735 = cljs.core.first(arglist__43459);
var G__42736 = cljs.core.rest(arglist__43459);
return sci$impl$fns$arity_12__delegate(G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731,G__42732,G__42733,G__42734,G__42735,G__42736);
});
sci$impl$fns$arity_12.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_12__delegate;
return sci$impl$fns$arity_12;
})()
;

break;
case (13):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_13__delegate = function (G__42740,G__42741,G__42742,G__42743,G__42744,G__42745,G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,G__42753){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42740);

(invoc_array[(1)] = G__42741);

(invoc_array[(2)] = G__42742);

(invoc_array[(3)] = G__42743);

(invoc_array[(4)] = G__42744);

(invoc_array[(5)] = G__42745);

(invoc_array[(6)] = G__42746);

(invoc_array[(7)] = G__42747);

(invoc_array[(8)] = G__42748);

(invoc_array[(9)] = G__42749);

(invoc_array[(10)] = G__42750);

(invoc_array[(11)] = G__42751);

(invoc_array[(12)] = G__42752);

(invoc_array[vararg_idx] = G__42753);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_13 = function (G__42740,G__42741,G__42742,G__42743,G__42744,G__42745,G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,var_args){
var G__42753 = null;
if (arguments.length > 13) {
var G__43461__i = 0, G__43461__a = new Array(arguments.length -  13);
while (G__43461__i < G__43461__a.length) {G__43461__a[G__43461__i] = arguments[G__43461__i + 13]; ++G__43461__i;}
  G__42753 = new cljs.core.IndexedSeq(G__43461__a,0,null);
} 
return sci$impl$fns$arity_13__delegate.call(this,G__42740,G__42741,G__42742,G__42743,G__42744,G__42745,G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,G__42753);};
sci$impl$fns$arity_13.cljs$lang$maxFixedArity = 13;
sci$impl$fns$arity_13.cljs$lang$applyTo = (function (arglist__43462){
var G__42740 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42741 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42742 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42743 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42744 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42745 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42746 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42747 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42748 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42749 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42750 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42751 = cljs.core.first(arglist__43462);
arglist__43462 = cljs.core.next(arglist__43462);
var G__42752 = cljs.core.first(arglist__43462);
var G__42753 = cljs.core.rest(arglist__43462);
return sci$impl$fns$arity_13__delegate(G__42740,G__42741,G__42742,G__42743,G__42744,G__42745,G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,G__42753);
});
sci$impl$fns$arity_13.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_13__delegate;
return sci$impl$fns$arity_13;
})()
;

break;
case (14):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_14__delegate = function (G__42759,G__42760,G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,G__42773){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42759);

(invoc_array[(1)] = G__42760);

(invoc_array[(2)] = G__42761);

(invoc_array[(3)] = G__42762);

(invoc_array[(4)] = G__42763);

(invoc_array[(5)] = G__42764);

(invoc_array[(6)] = G__42765);

(invoc_array[(7)] = G__42766);

(invoc_array[(8)] = G__42767);

(invoc_array[(9)] = G__42768);

(invoc_array[(10)] = G__42769);

(invoc_array[(11)] = G__42770);

(invoc_array[(12)] = G__42771);

(invoc_array[(13)] = G__42772);

(invoc_array[vararg_idx] = G__42773);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_14 = function (G__42759,G__42760,G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,var_args){
var G__42773 = null;
if (arguments.length > 14) {
var G__43468__i = 0, G__43468__a = new Array(arguments.length -  14);
while (G__43468__i < G__43468__a.length) {G__43468__a[G__43468__i] = arguments[G__43468__i + 14]; ++G__43468__i;}
  G__42773 = new cljs.core.IndexedSeq(G__43468__a,0,null);
} 
return sci$impl$fns$arity_14__delegate.call(this,G__42759,G__42760,G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,G__42773);};
sci$impl$fns$arity_14.cljs$lang$maxFixedArity = 14;
sci$impl$fns$arity_14.cljs$lang$applyTo = (function (arglist__43469){
var G__42759 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42760 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42761 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42762 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42763 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42764 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42765 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42766 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42767 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42768 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42769 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42770 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42771 = cljs.core.first(arglist__43469);
arglist__43469 = cljs.core.next(arglist__43469);
var G__42772 = cljs.core.first(arglist__43469);
var G__42773 = cljs.core.rest(arglist__43469);
return sci$impl$fns$arity_14__delegate(G__42759,G__42760,G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,G__42773);
});
sci$impl$fns$arity_14.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_14__delegate;
return sci$impl$fns$arity_14;
})()
;

break;
case (15):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_15__delegate = function (G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791,G__42792,G__42793,G__42794,G__42795){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42780);

(invoc_array[(1)] = G__42781);

(invoc_array[(2)] = G__42782);

(invoc_array[(3)] = G__42783);

(invoc_array[(4)] = G__42784);

(invoc_array[(5)] = G__42785);

(invoc_array[(6)] = G__42786);

(invoc_array[(7)] = G__42787);

(invoc_array[(8)] = G__42788);

(invoc_array[(9)] = G__42789);

(invoc_array[(10)] = G__42790);

(invoc_array[(11)] = G__42791);

(invoc_array[(12)] = G__42792);

(invoc_array[(13)] = G__42793);

(invoc_array[(14)] = G__42794);

(invoc_array[vararg_idx] = G__42795);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_15 = function (G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791,G__42792,G__42793,G__42794,var_args){
var G__42795 = null;
if (arguments.length > 15) {
var G__43477__i = 0, G__43477__a = new Array(arguments.length -  15);
while (G__43477__i < G__43477__a.length) {G__43477__a[G__43477__i] = arguments[G__43477__i + 15]; ++G__43477__i;}
  G__42795 = new cljs.core.IndexedSeq(G__43477__a,0,null);
} 
return sci$impl$fns$arity_15__delegate.call(this,G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791,G__42792,G__42793,G__42794,G__42795);};
sci$impl$fns$arity_15.cljs$lang$maxFixedArity = 15;
sci$impl$fns$arity_15.cljs$lang$applyTo = (function (arglist__43478){
var G__42780 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42781 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42782 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42783 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42784 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42785 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42786 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42787 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42788 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42789 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42790 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42791 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42792 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42793 = cljs.core.first(arglist__43478);
arglist__43478 = cljs.core.next(arglist__43478);
var G__42794 = cljs.core.first(arglist__43478);
var G__42795 = cljs.core.rest(arglist__43478);
return sci$impl$fns$arity_15__delegate(G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791,G__42792,G__42793,G__42794,G__42795);
});
sci$impl$fns$arity_15.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_15__delegate;
return sci$impl$fns$arity_15;
})()
;

break;
case (16):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_16__delegate = function (G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809,G__42810,G__42811,G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,G__42818){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42802);

(invoc_array[(1)] = G__42803);

(invoc_array[(2)] = G__42804);

(invoc_array[(3)] = G__42805);

(invoc_array[(4)] = G__42806);

(invoc_array[(5)] = G__42807);

(invoc_array[(6)] = G__42808);

(invoc_array[(7)] = G__42809);

(invoc_array[(8)] = G__42810);

(invoc_array[(9)] = G__42811);

(invoc_array[(10)] = G__42812);

(invoc_array[(11)] = G__42813);

(invoc_array[(12)] = G__42814);

(invoc_array[(13)] = G__42815);

(invoc_array[(14)] = G__42816);

(invoc_array[(15)] = G__42817);

(invoc_array[vararg_idx] = G__42818);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_16 = function (G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809,G__42810,G__42811,G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,var_args){
var G__42818 = null;
if (arguments.length > 16) {
var G__43479__i = 0, G__43479__a = new Array(arguments.length -  16);
while (G__43479__i < G__43479__a.length) {G__43479__a[G__43479__i] = arguments[G__43479__i + 16]; ++G__43479__i;}
  G__42818 = new cljs.core.IndexedSeq(G__43479__a,0,null);
} 
return sci$impl$fns$arity_16__delegate.call(this,G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809,G__42810,G__42811,G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,G__42818);};
sci$impl$fns$arity_16.cljs$lang$maxFixedArity = 16;
sci$impl$fns$arity_16.cljs$lang$applyTo = (function (arglist__43480){
var G__42802 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42803 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42804 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42805 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42806 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42807 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42808 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42809 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42810 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42811 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42812 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42813 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42814 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42815 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42816 = cljs.core.first(arglist__43480);
arglist__43480 = cljs.core.next(arglist__43480);
var G__42817 = cljs.core.first(arglist__43480);
var G__42818 = cljs.core.rest(arglist__43480);
return sci$impl$fns$arity_16__delegate(G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809,G__42810,G__42811,G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,G__42818);
});
sci$impl$fns$arity_16.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_16__delegate;
return sci$impl$fns$arity_16;
})()
;

break;
case (17):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_17__delegate = function (G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829,G__42830,G__42831,G__42832,G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,G__42840){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42823);

(invoc_array[(1)] = G__42824);

(invoc_array[(2)] = G__42825);

(invoc_array[(3)] = G__42826);

(invoc_array[(4)] = G__42827);

(invoc_array[(5)] = G__42828);

(invoc_array[(6)] = G__42829);

(invoc_array[(7)] = G__42830);

(invoc_array[(8)] = G__42831);

(invoc_array[(9)] = G__42832);

(invoc_array[(10)] = G__42833);

(invoc_array[(11)] = G__42834);

(invoc_array[(12)] = G__42835);

(invoc_array[(13)] = G__42836);

(invoc_array[(14)] = G__42837);

(invoc_array[(15)] = G__42838);

(invoc_array[(16)] = G__42839);

(invoc_array[vararg_idx] = G__42840);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_17 = function (G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829,G__42830,G__42831,G__42832,G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,var_args){
var G__42840 = null;
if (arguments.length > 17) {
var G__43481__i = 0, G__43481__a = new Array(arguments.length -  17);
while (G__43481__i < G__43481__a.length) {G__43481__a[G__43481__i] = arguments[G__43481__i + 17]; ++G__43481__i;}
  G__42840 = new cljs.core.IndexedSeq(G__43481__a,0,null);
} 
return sci$impl$fns$arity_17__delegate.call(this,G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829,G__42830,G__42831,G__42832,G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,G__42840);};
sci$impl$fns$arity_17.cljs$lang$maxFixedArity = 17;
sci$impl$fns$arity_17.cljs$lang$applyTo = (function (arglist__43482){
var G__42823 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42824 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42825 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42826 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42827 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42828 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42829 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42830 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42831 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42832 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42833 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42834 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42835 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42836 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42837 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42838 = cljs.core.first(arglist__43482);
arglist__43482 = cljs.core.next(arglist__43482);
var G__42839 = cljs.core.first(arglist__43482);
var G__42840 = cljs.core.rest(arglist__43482);
return sci$impl$fns$arity_17__delegate(G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829,G__42830,G__42831,G__42832,G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,G__42840);
});
sci$impl$fns$arity_17.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_17__delegate;
return sci$impl$fns$arity_17;
})()
;

break;
case (18):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_18__delegate = function (G__42846,G__42847,G__42848,G__42849,G__42850,G__42851,G__42852,G__42853,G__42854,G__42855,G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,G__42864){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42846);

(invoc_array[(1)] = G__42847);

(invoc_array[(2)] = G__42848);

(invoc_array[(3)] = G__42849);

(invoc_array[(4)] = G__42850);

(invoc_array[(5)] = G__42851);

(invoc_array[(6)] = G__42852);

(invoc_array[(7)] = G__42853);

(invoc_array[(8)] = G__42854);

(invoc_array[(9)] = G__42855);

(invoc_array[(10)] = G__42856);

(invoc_array[(11)] = G__42857);

(invoc_array[(12)] = G__42858);

(invoc_array[(13)] = G__42859);

(invoc_array[(14)] = G__42860);

(invoc_array[(15)] = G__42861);

(invoc_array[(16)] = G__42862);

(invoc_array[(17)] = G__42863);

(invoc_array[vararg_idx] = G__42864);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_18 = function (G__42846,G__42847,G__42848,G__42849,G__42850,G__42851,G__42852,G__42853,G__42854,G__42855,G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,var_args){
var G__42864 = null;
if (arguments.length > 18) {
var G__43489__i = 0, G__43489__a = new Array(arguments.length -  18);
while (G__43489__i < G__43489__a.length) {G__43489__a[G__43489__i] = arguments[G__43489__i + 18]; ++G__43489__i;}
  G__42864 = new cljs.core.IndexedSeq(G__43489__a,0,null);
} 
return sci$impl$fns$arity_18__delegate.call(this,G__42846,G__42847,G__42848,G__42849,G__42850,G__42851,G__42852,G__42853,G__42854,G__42855,G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,G__42864);};
sci$impl$fns$arity_18.cljs$lang$maxFixedArity = 18;
sci$impl$fns$arity_18.cljs$lang$applyTo = (function (arglist__43490){
var G__42846 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42847 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42848 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42849 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42850 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42851 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42852 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42853 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42854 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42855 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42856 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42857 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42858 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42859 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42860 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42861 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42862 = cljs.core.first(arglist__43490);
arglist__43490 = cljs.core.next(arglist__43490);
var G__42863 = cljs.core.first(arglist__43490);
var G__42864 = cljs.core.rest(arglist__43490);
return sci$impl$fns$arity_18__delegate(G__42846,G__42847,G__42848,G__42849,G__42850,G__42851,G__42852,G__42853,G__42854,G__42855,G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,G__42864);
});
sci$impl$fns$arity_18.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_18__delegate;
return sci$impl$fns$arity_18;
})()
;

break;
case (19):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_19__delegate = function (G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875,G__42876,G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,G__42887){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42868);

(invoc_array[(1)] = G__42869);

(invoc_array[(2)] = G__42870);

(invoc_array[(3)] = G__42871);

(invoc_array[(4)] = G__42872);

(invoc_array[(5)] = G__42873);

(invoc_array[(6)] = G__42874);

(invoc_array[(7)] = G__42875);

(invoc_array[(8)] = G__42876);

(invoc_array[(9)] = G__42877);

(invoc_array[(10)] = G__42878);

(invoc_array[(11)] = G__42879);

(invoc_array[(12)] = G__42880);

(invoc_array[(13)] = G__42881);

(invoc_array[(14)] = G__42882);

(invoc_array[(15)] = G__42883);

(invoc_array[(16)] = G__42884);

(invoc_array[(17)] = G__42885);

(invoc_array[(18)] = G__42886);

(invoc_array[vararg_idx] = G__42887);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_19 = function (G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875,G__42876,G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,var_args){
var G__42887 = null;
if (arguments.length > 19) {
var G__43493__i = 0, G__43493__a = new Array(arguments.length -  19);
while (G__43493__i < G__43493__a.length) {G__43493__a[G__43493__i] = arguments[G__43493__i + 19]; ++G__43493__i;}
  G__42887 = new cljs.core.IndexedSeq(G__43493__a,0,null);
} 
return sci$impl$fns$arity_19__delegate.call(this,G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875,G__42876,G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,G__42887);};
sci$impl$fns$arity_19.cljs$lang$maxFixedArity = 19;
sci$impl$fns$arity_19.cljs$lang$applyTo = (function (arglist__43498){
var G__42868 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42869 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42870 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42871 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42872 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42873 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42874 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42875 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42876 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42877 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42878 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42879 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42880 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42881 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42882 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42883 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42884 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42885 = cljs.core.first(arglist__43498);
arglist__43498 = cljs.core.next(arglist__43498);
var G__42886 = cljs.core.first(arglist__43498);
var G__42887 = cljs.core.rest(arglist__43498);
return sci$impl$fns$arity_19__delegate(G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875,G__42876,G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,G__42887);
});
sci$impl$fns$arity_19.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_19__delegate;
return sci$impl$fns$arity_19;
})()
;

break;
case (20):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function() { 
var sci$impl$fns$arity_20__delegate = function (G__42895,G__42896,G__42897,G__42898,G__42899,G__42900,G__42901,G__42902,G__42903,G__42904,G__42905,G__42906,G__42907,G__42908,G__42909,G__42910,G__42911,G__42912,G__42913,G__42914,G__42915){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42895);

(invoc_array[(1)] = G__42896);

(invoc_array[(2)] = G__42897);

(invoc_array[(3)] = G__42898);

(invoc_array[(4)] = G__42899);

(invoc_array[(5)] = G__42900);

(invoc_array[(6)] = G__42901);

(invoc_array[(7)] = G__42902);

(invoc_array[(8)] = G__42903);

(invoc_array[(9)] = G__42904);

(invoc_array[(10)] = G__42905);

(invoc_array[(11)] = G__42906);

(invoc_array[(12)] = G__42907);

(invoc_array[(13)] = G__42908);

(invoc_array[(14)] = G__42909);

(invoc_array[(15)] = G__42910);

(invoc_array[(16)] = G__42911);

(invoc_array[(17)] = G__42912);

(invoc_array[(18)] = G__42913);

(invoc_array[(19)] = G__42914);

(invoc_array[vararg_idx] = G__42915);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
};
var sci$impl$fns$arity_20 = function (G__42895,G__42896,G__42897,G__42898,G__42899,G__42900,G__42901,G__42902,G__42903,G__42904,G__42905,G__42906,G__42907,G__42908,G__42909,G__42910,G__42911,G__42912,G__42913,G__42914,var_args){
var G__42915 = null;
if (arguments.length > 20) {
var G__43503__i = 0, G__43503__a = new Array(arguments.length -  20);
while (G__43503__i < G__43503__a.length) {G__43503__a[G__43503__i] = arguments[G__43503__i + 20]; ++G__43503__i;}
  G__42915 = new cljs.core.IndexedSeq(G__43503__a,0,null);
} 
return sci$impl$fns$arity_20__delegate.call(this,G__42895,G__42896,G__42897,G__42898,G__42899,G__42900,G__42901,G__42902,G__42903,G__42904,G__42905,G__42906,G__42907,G__42908,G__42909,G__42910,G__42911,G__42912,G__42913,G__42914,G__42915);};
sci$impl$fns$arity_20.cljs$lang$maxFixedArity = 20;
sci$impl$fns$arity_20.cljs$lang$applyTo = (function (arglist__43507){
var G__42895 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42896 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42897 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42898 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42899 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42900 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42901 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42902 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42903 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42904 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42905 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42906 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42907 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42908 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42909 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42910 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42911 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42912 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42913 = cljs.core.first(arglist__43507);
arglist__43507 = cljs.core.next(arglist__43507);
var G__42914 = cljs.core.first(arglist__43507);
var G__42915 = cljs.core.rest(arglist__43507);
return sci$impl$fns$arity_20__delegate(G__42895,G__42896,G__42897,G__42898,G__42899,G__42900,G__42901,G__42902,G__42903,G__42904,G__42905,G__42906,G__42907,G__42908,G__42909,G__42910,G__42911,G__42912,G__42913,G__42914,G__42915);
});
sci$impl$fns$arity_20.cljs$core$IFn$_invoke$arity$variadic = sci$impl$fns$arity_20__delegate;
return sci$impl$fns$arity_20;
})()
;

break;
default:
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__42599)].join('')));

}
})():(function (){var G__42926 = fixed_arity;
switch (G__42926) {
case (0):
var recur__41805__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_0(){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

while(true){
var ret__41806__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41805__auto__ === ret__41806__auto__)){
continue;
} else {
return ret__41806__auto__;
}
break;
}
});

break;
case (1):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_1(G__42932){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42932);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (2):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_2(G__42946,G__42947){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42946);

(invoc_array[(1)] = G__42947);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (3):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_3(G__42957,G__42958,G__42959){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42957);

(invoc_array[(1)] = G__42958);

(invoc_array[(2)] = G__42959);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (4):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_4(G__42968,G__42969,G__42970,G__42971){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42968);

(invoc_array[(1)] = G__42969);

(invoc_array[(2)] = G__42970);

(invoc_array[(3)] = G__42971);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (5):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_5(G__42977,G__42978,G__42979,G__42980,G__42981){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42977);

(invoc_array[(1)] = G__42978);

(invoc_array[(2)] = G__42979);

(invoc_array[(3)] = G__42980);

(invoc_array[(4)] = G__42981);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (6):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_6(G__42989,G__42990,G__42991,G__42992,G__42993,G__42994){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42989);

(invoc_array[(1)] = G__42990);

(invoc_array[(2)] = G__42991);

(invoc_array[(3)] = G__42992);

(invoc_array[(4)] = G__42993);

(invoc_array[(5)] = G__42994);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (7):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_7(G__42999,G__43000,G__43001,G__43002,G__43003,G__43005,G__43006){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__42999);

(invoc_array[(1)] = G__43000);

(invoc_array[(2)] = G__43001);

(invoc_array[(3)] = G__43002);

(invoc_array[(4)] = G__43003);

(invoc_array[(5)] = G__43005);

(invoc_array[(6)] = G__43006);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (8):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_8(G__43011,G__43012,G__43013,G__43014,G__43015,G__43016,G__43017,G__43018){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43011);

(invoc_array[(1)] = G__43012);

(invoc_array[(2)] = G__43013);

(invoc_array[(3)] = G__43014);

(invoc_array[(4)] = G__43015);

(invoc_array[(5)] = G__43016);

(invoc_array[(6)] = G__43017);

(invoc_array[(7)] = G__43018);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (9):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_9(G__43028,G__43029,G__43030,G__43031,G__43032,G__43033,G__43034,G__43035,G__43036){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43028);

(invoc_array[(1)] = G__43029);

(invoc_array[(2)] = G__43030);

(invoc_array[(3)] = G__43031);

(invoc_array[(4)] = G__43032);

(invoc_array[(5)] = G__43033);

(invoc_array[(6)] = G__43034);

(invoc_array[(7)] = G__43035);

(invoc_array[(8)] = G__43036);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (10):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_10(G__43047,G__43048,G__43049,G__43050,G__43051,G__43052,G__43053,G__43054,G__43055,G__43056){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43047);

(invoc_array[(1)] = G__43048);

(invoc_array[(2)] = G__43049);

(invoc_array[(3)] = G__43050);

(invoc_array[(4)] = G__43051);

(invoc_array[(5)] = G__43052);

(invoc_array[(6)] = G__43053);

(invoc_array[(7)] = G__43054);

(invoc_array[(8)] = G__43055);

(invoc_array[(9)] = G__43056);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (11):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_11(G__43061,G__43062,G__43063,G__43064,G__43065,G__43066,G__43067,G__43068,G__43069,G__43070,G__43071){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43061);

(invoc_array[(1)] = G__43062);

(invoc_array[(2)] = G__43063);

(invoc_array[(3)] = G__43064);

(invoc_array[(4)] = G__43065);

(invoc_array[(5)] = G__43066);

(invoc_array[(6)] = G__43067);

(invoc_array[(7)] = G__43068);

(invoc_array[(8)] = G__43069);

(invoc_array[(9)] = G__43070);

(invoc_array[(10)] = G__43071);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (12):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_12(G__43078,G__43079,G__43080,G__43081,G__43082,G__43083,G__43084,G__43085,G__43086,G__43087,G__43088,G__43089){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43078);

(invoc_array[(1)] = G__43079);

(invoc_array[(2)] = G__43080);

(invoc_array[(3)] = G__43081);

(invoc_array[(4)] = G__43082);

(invoc_array[(5)] = G__43083);

(invoc_array[(6)] = G__43084);

(invoc_array[(7)] = G__43085);

(invoc_array[(8)] = G__43086);

(invoc_array[(9)] = G__43087);

(invoc_array[(10)] = G__43088);

(invoc_array[(11)] = G__43089);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (13):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_13(G__43097,G__43098,G__43099,G__43100,G__43101,G__43102,G__43103,G__43104,G__43105,G__43106,G__43107,G__43108,G__43109){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43097);

(invoc_array[(1)] = G__43098);

(invoc_array[(2)] = G__43099);

(invoc_array[(3)] = G__43100);

(invoc_array[(4)] = G__43101);

(invoc_array[(5)] = G__43102);

(invoc_array[(6)] = G__43103);

(invoc_array[(7)] = G__43104);

(invoc_array[(8)] = G__43105);

(invoc_array[(9)] = G__43106);

(invoc_array[(10)] = G__43107);

(invoc_array[(11)] = G__43108);

(invoc_array[(12)] = G__43109);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (14):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_14(G__43118,G__43119,G__43120,G__43121,G__43122,G__43123,G__43124,G__43125,G__43126,G__43127,G__43128,G__43129,G__43130,G__43131){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43118);

(invoc_array[(1)] = G__43119);

(invoc_array[(2)] = G__43120);

(invoc_array[(3)] = G__43121);

(invoc_array[(4)] = G__43122);

(invoc_array[(5)] = G__43123);

(invoc_array[(6)] = G__43124);

(invoc_array[(7)] = G__43125);

(invoc_array[(8)] = G__43126);

(invoc_array[(9)] = G__43127);

(invoc_array[(10)] = G__43128);

(invoc_array[(11)] = G__43129);

(invoc_array[(12)] = G__43130);

(invoc_array[(13)] = G__43131);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (15):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_15(G__43133,G__43134,G__43135,G__43136,G__43137,G__43138,G__43139,G__43140,G__43141,G__43142,G__43143,G__43144,G__43145,G__43146,G__43147){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43133);

(invoc_array[(1)] = G__43134);

(invoc_array[(2)] = G__43135);

(invoc_array[(3)] = G__43136);

(invoc_array[(4)] = G__43137);

(invoc_array[(5)] = G__43138);

(invoc_array[(6)] = G__43139);

(invoc_array[(7)] = G__43140);

(invoc_array[(8)] = G__43141);

(invoc_array[(9)] = G__43142);

(invoc_array[(10)] = G__43143);

(invoc_array[(11)] = G__43144);

(invoc_array[(12)] = G__43145);

(invoc_array[(13)] = G__43146);

(invoc_array[(14)] = G__43147);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (16):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_16(G__43152,G__43153,G__43154,G__43155,G__43156,G__43157,G__43158,G__43159,G__43160,G__43161,G__43162,G__43163,G__43164,G__43165,G__43166,G__43167){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43152);

(invoc_array[(1)] = G__43153);

(invoc_array[(2)] = G__43154);

(invoc_array[(3)] = G__43155);

(invoc_array[(4)] = G__43156);

(invoc_array[(5)] = G__43157);

(invoc_array[(6)] = G__43158);

(invoc_array[(7)] = G__43159);

(invoc_array[(8)] = G__43160);

(invoc_array[(9)] = G__43161);

(invoc_array[(10)] = G__43162);

(invoc_array[(11)] = G__43163);

(invoc_array[(12)] = G__43164);

(invoc_array[(13)] = G__43165);

(invoc_array[(14)] = G__43166);

(invoc_array[(15)] = G__43167);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (17):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_17(G__43174,G__43175,G__43176,G__43177,G__43178,G__43179,G__43180,G__43181,G__43182,G__43183,G__43184,G__43185,G__43186,G__43187,G__43188,G__43189,G__43190){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43174);

(invoc_array[(1)] = G__43175);

(invoc_array[(2)] = G__43176);

(invoc_array[(3)] = G__43177);

(invoc_array[(4)] = G__43178);

(invoc_array[(5)] = G__43179);

(invoc_array[(6)] = G__43180);

(invoc_array[(7)] = G__43181);

(invoc_array[(8)] = G__43182);

(invoc_array[(9)] = G__43183);

(invoc_array[(10)] = G__43184);

(invoc_array[(11)] = G__43185);

(invoc_array[(12)] = G__43186);

(invoc_array[(13)] = G__43187);

(invoc_array[(14)] = G__43188);

(invoc_array[(15)] = G__43189);

(invoc_array[(16)] = G__43190);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (18):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_18(G__43192,G__43193,G__43194,G__43195,G__43196,G__43197,G__43198,G__43199,G__43200,G__43201,G__43202,G__43203,G__43204,G__43205,G__43206,G__43207,G__43208,G__43209){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43192);

(invoc_array[(1)] = G__43193);

(invoc_array[(2)] = G__43194);

(invoc_array[(3)] = G__43195);

(invoc_array[(4)] = G__43196);

(invoc_array[(5)] = G__43197);

(invoc_array[(6)] = G__43198);

(invoc_array[(7)] = G__43199);

(invoc_array[(8)] = G__43200);

(invoc_array[(9)] = G__43201);

(invoc_array[(10)] = G__43202);

(invoc_array[(11)] = G__43203);

(invoc_array[(12)] = G__43204);

(invoc_array[(13)] = G__43205);

(invoc_array[(14)] = G__43206);

(invoc_array[(15)] = G__43207);

(invoc_array[(16)] = G__43208);

(invoc_array[(17)] = G__43209);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (19):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_19(G__43215,G__43216,G__43217,G__43218,G__43219,G__43220,G__43221,G__43222,G__43223,G__43224,G__43225,G__43226,G__43227,G__43228,G__43229,G__43230,G__43231,G__43232,G__43233){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43215);

(invoc_array[(1)] = G__43216);

(invoc_array[(2)] = G__43217);

(invoc_array[(3)] = G__43218);

(invoc_array[(4)] = G__43219);

(invoc_array[(5)] = G__43220);

(invoc_array[(6)] = G__43221);

(invoc_array[(7)] = G__43222);

(invoc_array[(8)] = G__43223);

(invoc_array[(9)] = G__43224);

(invoc_array[(10)] = G__43225);

(invoc_array[(11)] = G__43226);

(invoc_array[(12)] = G__43227);

(invoc_array[(13)] = G__43228);

(invoc_array[(14)] = G__43229);

(invoc_array[(15)] = G__43230);

(invoc_array[(16)] = G__43231);

(invoc_array[(17)] = G__43232);

(invoc_array[(18)] = G__43233);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
case (20):
var recur__41807__auto__ = sci.impl.utils.recur;
return (function sci$impl$fns$arity_20(G__43237,G__43238,G__43239,G__43240,G__43241,G__43242,G__43243,G__43244,G__43245,G__43246,G__43247,G__43248,G__43249,G__43250,G__43251,G__43252,G__43253,G__43254,G__43255,G__43256){
var invoc_array = (((invoc_size === (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));
if(cljs.core.truth_(enclosed__GT_invocation)){
(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));
} else {
}

(invoc_array[(0)] = G__43237);

(invoc_array[(1)] = G__43238);

(invoc_array[(2)] = G__43239);

(invoc_array[(3)] = G__43240);

(invoc_array[(4)] = G__43241);

(invoc_array[(5)] = G__43242);

(invoc_array[(6)] = G__43243);

(invoc_array[(7)] = G__43244);

(invoc_array[(8)] = G__43245);

(invoc_array[(9)] = G__43246);

(invoc_array[(10)] = G__43247);

(invoc_array[(11)] = G__43248);

(invoc_array[(12)] = G__43249);

(invoc_array[(13)] = G__43250);

(invoc_array[(14)] = G__43251);

(invoc_array[(15)] = G__43252);

(invoc_array[(16)] = G__43253);

(invoc_array[(17)] = G__43254);

(invoc_array[(18)] = G__43255);

(invoc_array[(19)] = G__43256);

while(true){
var ret__41808__auto__ = sci.impl.types.eval(body,ctx,invoc_array);
if((recur__41807__auto__ === ret__41808__auto__)){
continue;
} else {
return ret__41808__auto__;
}
break;
}
});

break;
default:
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__42926)].join('')));

}
})());
return f;
}));

(sci.impl.fns.fun.cljs$lang$maxFixedArity = 11);

sci.impl.fns.lookup_by_arity = (function sci$impl$fns$lookup_by_arity(arities,arity){
var or__5025__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(arities,arity);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return new cljs.core.Keyword(null,"variadic","variadic",882626057).cljs$core$IFn$_invoke$arity$1(arities);
}
});
sci.impl.fns.fn_arity_map = (function sci$impl$fns$fn_arity_map(ctx,enclosed_array,fn_name,macro_QMARK_,fn_bodies){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (arity_map,fn_body){
var f = sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$5(ctx,enclosed_array,fn_body,fn_name,macro_QMARK_);
var var_arg_QMARK_ = new cljs.core.Keyword(null,"var-arg-name","var-arg-name",-1100024887).cljs$core$IFn$_invoke$arity$1(fn_body);
var fixed_arity = new cljs.core.Keyword(null,"fixed-arity","fixed-arity",1586445869).cljs$core$IFn$_invoke$arity$1(fn_body);
if(cljs.core.truth_(var_arg_QMARK_)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arity_map,new cljs.core.Keyword(null,"variadic","variadic",882626057),f);
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arity_map,fixed_arity,f);
}
}),cljs.core.PersistentArrayMap.EMPTY,fn_bodies);
});
sci.impl.fns.maybe_destructured = (function sci$impl$fns$maybe_destructured(params,body,loc){
if(cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,params)){
return cljs.core.cons(params,body);
} else {
var params__$1 = params;
var new_params = cljs.core.with_meta(cljs.core.PersistentVector.EMPTY,cljs.core.meta(params__$1));
var lets = cljs.core.PersistentVector.EMPTY;
while(true){
if(cljs.core.truth_(params__$1)){
if((cljs.core.first(params__$1) instanceof cljs.core.Symbol)){
var G__43579 = cljs.core.next(params__$1);
var G__43580 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new_params,cljs.core.first(params__$1));
var G__43581 = lets;
params__$1 = G__43579;
new_params = G__43580;
lets = G__43581;
continue;
} else {
var gparam = cljs.core.gensym.cljs$core$IFn$_invoke$arity$1("p__");
var G__43582 = cljs.core.next(params__$1);
var G__43583 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new_params,gparam);
var G__43584 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lets,cljs.core.first(params__$1)),gparam);
params__$1 = G__43582;
new_params = G__43583;
lets = G__43584;
continue;
}
} else {
return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new_params,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,lets,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),loc),null,(1),null)))));
}
break;
}
}
});
sci.impl.fns.fn_STAR__STAR_ = (function sci$impl$fns$fn_STAR__STAR_(var_args){
var args__5755__auto__ = [];
var len__5749__auto___43586 = arguments.length;
var i__5750__auto___43587 = (0);
while(true){
if((i__5750__auto___43587 < len__5749__auto___43586)){
args__5755__auto__.push((arguments[i__5750__auto___43587]));

var G__43588 = (i__5750__auto___43587 + (1));
i__5750__auto___43587 = G__43588;
continue;
} else {
}
break;
}

var argseq__5756__auto__ = ((((2) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);
return sci.impl.fns.fn_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);
});

(sci.impl.fns.fn_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic = (function (form,_,sigs){
var name = (((cljs.core.first(sigs) instanceof cljs.core.Symbol))?cljs.core.first(sigs):null);
var sigs__$1 = (cljs.core.truth_(name)?cljs.core.next(sigs):sigs);
var sigs__$2 = ((cljs.core.vector_QMARK_(cljs.core.first(sigs__$1)))?(new cljs.core.List(null,sigs__$1,null,(1),null)):((cljs.core.seq_QMARK_(cljs.core.first(sigs__$1)))?sigs__$1:sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(((cljs.core.seq(sigs__$1))?["Parameter declaration ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(sigs__$1))," should be a vector"].join(''):"Parameter declaration missing"),form)));
var psig = (function (sig){
if((!(cljs.core.seq_QMARK_(sig)))){
throw sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(["Invalid signature ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(sig)," should be a list"].join(''),form);
} else {
}

var vec__43290 = sig;
var seq__43291 = cljs.core.seq(vec__43290);
var first__43292 = cljs.core.first(seq__43291);
var seq__43291__$1 = cljs.core.next(seq__43291);
var params = first__43292;
var body = seq__43291__$1;
var ___$1 = (((!(cljs.core.vector_QMARK_(params))))?sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(((cljs.core.seq_QMARK_(cljs.core.first(sigs__$2)))?["Parameter declaration ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(params)," should be a vector"].join(''):["Invalid signature ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(sig)," should be a list"].join('')),form):null);
var conds = ((((cljs.core.next(body)) && (cljs.core.map_QMARK_(cljs.core.first(body)))))?cljs.core.first(body):null);
var body__$1 = (cljs.core.truth_(conds)?cljs.core.next(body):body);
var conds__$1 = (function (){var or__5025__auto__ = conds;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.meta(params);
}
})();
var pre = new cljs.core.Keyword(null,"pre","pre",2118456869).cljs$core$IFn$_invoke$arity$1(conds__$1);
var post = new cljs.core.Keyword(null,"post","post",269697687).cljs$core$IFn$_invoke$arity$1(conds__$1);
var body__$2 = (cljs.core.truth_(post)?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","let","cljs.core/let",-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,(1),null)),(new cljs.core.List(null,((((1) < cljs.core.count(body__$1)))?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body__$1))):cljs.core.first(body__$1)),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (c){
return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","assert","cljs.core/assert",1075777968,null),null,(1),null)),(new cljs.core.List(null,c,null,(1),null)))));
}),post),(new cljs.core.List(null,new cljs.core.Symbol(null,"%","%",-950237169,null),null,(1),null))], 0)))),null,(1),null))))):body__$1);
var body__$3 = (cljs.core.truth_(pre)?cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (c){
return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","assert","cljs.core/assert",1075777968,null),null,(1),null)),(new cljs.core.List(null,c,null,(1),null)))));
}),pre),body__$2):body__$2);
return sci.impl.fns.maybe_destructured(params,body__$3,cljs.core.meta(form));
});
var new_sigs = cljs.core.map.cljs$core$IFn$_invoke$arity$2(psig,sigs__$2);
var expr = cljs.core.with_meta((cljs.core.truth_(name)?cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),name,new_sigs):cljs.core.cons(new cljs.core.Symbol(null,"fn*","fn*",-752876845,null),new_sigs)),cljs.core.meta(form));
return expr;
}));

(sci.impl.fns.fn_STAR__STAR_.cljs$lang$maxFixedArity = (2));

/** @this {Function} */
(sci.impl.fns.fn_STAR__STAR_.cljs$lang$applyTo = (function (seq43283){
var G__43284 = cljs.core.first(seq43283);
var seq43283__$1 = cljs.core.next(seq43283);
var G__43285 = cljs.core.first(seq43283__$1);
var seq43283__$2 = cljs.core.next(seq43283__$1);
var self__5734__auto__ = this;
return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43284,G__43285,seq43283__$2);
}));

sci.impl.fns.sigs = (function sci$impl$fns$sigs(fdecl){
var asig = (function (fdecl__$1){
var arglist = cljs.core.first(fdecl__$1);
var arglist__$1 = ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,"&form","&form",1482799337,null),cljs.core.first(arglist)))?cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(arglist,(2),cljs.core.count(arglist)):arglist);
var body = cljs.core.next(fdecl__$1);
if(cljs.core.map_QMARK_(cljs.core.first(body))){
if(cljs.core.next(body)){
return cljs.core.with_meta(arglist__$1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(cljs.core.meta(arglist__$1))?cljs.core.meta(arglist__$1):cljs.core.PersistentArrayMap.EMPTY),cljs.core.first(body)));
} else {
return arglist__$1;
}
} else {
return arglist__$1;
}
});
if(cljs.core.seq_QMARK_(cljs.core.first(fdecl))){
var ret = cljs.core.PersistentVector.EMPTY;
var fdecls = fdecl;
while(true){
if(cljs.core.truth_(fdecls)){
var G__43596 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.identity(asig(cljs.core.first(fdecls))));
var G__43597 = cljs.core.next(fdecls);
ret = G__43596;
fdecls = G__43597;
continue;
} else {
return cljs.core.seq(ret);
}
break;
}
} else {
return (new cljs.core.List(null,cljs.core.identity(asig(fdecl)),null,(1),null));
}
});
sci.impl.fns.defn_STAR_ = (function sci$impl$fns$defn_STAR_(var_args){
var args__5755__auto__ = [];
var len__5749__auto___43601 = arguments.length;
var i__5750__auto___43602 = (0);
while(true){
if((i__5750__auto___43602 < len__5749__auto___43601)){
args__5755__auto__.push((arguments[i__5750__auto___43602]));

var G__43603 = (i__5750__auto___43602 + (1));
i__5750__auto___43602 = G__43603;
continue;
} else {
}
break;
}

var argseq__5756__auto__ = ((((3) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);
return sci.impl.fns.defn_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);
});

(sci.impl.fns.defn_STAR_.cljs$core$IFn$_invoke$arity$variadic = (function (form,_,name,fdecl){
if((name instanceof cljs.core.Symbol)){
} else {
sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2("First argument to defn must be a symbol",form);
}

var m = ((typeof cljs.core.first(fdecl) === 'string')?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"doc","doc",1913296891),cljs.core.first(fdecl)], null):cljs.core.PersistentArrayMap.EMPTY);
var fdecl__$1 = ((typeof cljs.core.first(fdecl) === 'string')?cljs.core.next(fdecl):fdecl);
var m__$1 = ((cljs.core.map_QMARK_(cljs.core.first(fdecl__$1)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(m,cljs.core.first(fdecl__$1)):m);
var fdecl__$2 = ((cljs.core.map_QMARK_(cljs.core.first(fdecl__$1)))?cljs.core.next(fdecl__$1):fdecl__$1);
var fdecl__$3 = ((cljs.core.vector_QMARK_(cljs.core.first(fdecl__$2)))?(new cljs.core.List(null,fdecl__$2,null,(1),null)):fdecl__$2);
var m__$2 = ((cljs.core.map_QMARK_(cljs.core.last(fdecl__$3)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(m__$1,cljs.core.last(fdecl__$3)):m__$1);
var fdecl__$4 = ((cljs.core.map_QMARK_(cljs.core.last(fdecl__$3)))?cljs.core.butlast(fdecl__$3):fdecl__$3);
var m__$3 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"arglists","arglists",1661989754),(new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),(new cljs.core.List(null,sci.impl.fns.sigs(fdecl__$4),null,(1),null)),(2),null))], null),m__$2);
var name_m = cljs.core.meta(name);
var m__$4 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(name_m)?name_m:cljs.core.PersistentArrayMap.EMPTY),m__$3);
var macro_QMARK_ = new cljs.core.Keyword(null,"macro","macro",-867863404).cljs$core$IFn$_invoke$arity$1(name_m);
var expr = cljs.core.cons(new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),fdecl__$4);
var expr__$1 = (new cljs.core.List(null,new cljs.core.Symbol(null,"def","def",597100991,null),(new cljs.core.List(null,cljs.core.with_meta(name,m__$4),(new cljs.core.List(null,(cljs.core.truth_((function (){var or__5025__auto__ = macro_QMARK_;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return name;
}
})())?cljs.core.with_meta(expr,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword("sci.impl","fn","sci.impl/fn",1695180073),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"macro","macro",-867863404),macro_QMARK_,new cljs.core.Keyword(null,"fn-name","fn-name",-766594004),name], null)], null)):expr),null,(1),null)),(2),null)),(3),null));
return expr__$1;
}));

(sci.impl.fns.defn_STAR_.cljs$lang$maxFixedArity = (3));

/** @this {Function} */
(sci.impl.fns.defn_STAR_.cljs$lang$applyTo = (function (seq43314){
var G__43315 = cljs.core.first(seq43314);
var seq43314__$1 = cljs.core.next(seq43314);
var G__43316 = cljs.core.first(seq43314__$1);
var seq43314__$2 = cljs.core.next(seq43314__$1);
var G__43317 = cljs.core.first(seq43314__$2);
var seq43314__$3 = cljs.core.next(seq43314__$2);
var self__5734__auto__ = this;
return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43315,G__43316,G__43317,seq43314__$3);
}));

sci.impl.fns.defmacro_STAR_ = (function sci$impl$fns$defmacro_STAR_(var_args){
var args__5755__auto__ = [];
var len__5749__auto___43608 = arguments.length;
var i__5750__auto___43609 = (0);
while(true){
if((i__5750__auto___43609 < len__5749__auto___43608)){
args__5755__auto__.push((arguments[i__5750__auto___43609]));

var G__43610 = (i__5750__auto___43609 + (1));
i__5750__auto___43609 = G__43610;
continue;
} else {
}
break;
}

var argseq__5756__auto__ = ((((3) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);
return sci.impl.fns.defmacro_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);
});

(sci.impl.fns.defmacro_STAR_.cljs$core$IFn$_invoke$arity$variadic = (function (__AMPERSAND_form,__AMPERSAND_env,name,args){
var name__$1 = cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(name,cljs.core.assoc,new cljs.core.Keyword(null,"macro","macro",-867863404),true);
var prefix = (function (){var p = (new cljs.core.List(null,name__$1,null,(1),null));
var args__$1 = args;
while(true){
var f = cljs.core.first(args__$1);
if(typeof f === 'string'){
var G__43614 = cljs.core.cons(f,p);
var G__43615 = cljs.core.next(args__$1);
p = G__43614;
args__$1 = G__43615;
continue;
} else {
if(cljs.core.map_QMARK_(f)){
var G__43616 = cljs.core.cons(f,p);
var G__43617 = cljs.core.next(args__$1);
p = G__43616;
args__$1 = G__43617;
continue;
} else {
return p;
}
}
break;
}
})();
var fdecl = (function (){var fd = args;
while(true){
if(typeof cljs.core.first(fd) === 'string'){
var G__43618 = cljs.core.next(fd);
fd = G__43618;
continue;
} else {
if(cljs.core.map_QMARK_(cljs.core.first(fd))){
var G__43619 = cljs.core.next(fd);
fd = G__43619;
continue;
} else {
return fd;
}
}
break;
}
})();
var fdecl__$1 = ((cljs.core.vector_QMARK_(cljs.core.first(fdecl)))?(new cljs.core.List(null,fdecl,null,(1),null)):fdecl);
var add_implicit_args = (function (fd){
var args__$1 = cljs.core.first(fd);
return cljs.core.cons(cljs.core.vec(cljs.core.cons(new cljs.core.Symbol(null,"&form","&form",1482799337,null),cljs.core.cons(new cljs.core.Symbol(null,"&env","&env",-919163083,null),args__$1))),cljs.core.next(fd));
});
var add_args = (function (acc,ds){
while(true){
if((ds == null)){
return acc;
} else {
var d = cljs.core.first(ds);
if(cljs.core.map_QMARK_(d)){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,d);
} else {
var G__43620 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,add_implicit_args(d));
var G__43621 = cljs.core.next(ds);
acc = G__43620;
ds = G__43621;
continue;
}
}
break;
}
});
var fdecl__$2 = cljs.core.seq(add_args(cljs.core.PersistentVector.EMPTY,fdecl__$1));
var decl = (function (){var p = prefix;
var d = fdecl__$2;
while(true){
if(cljs.core.truth_(p)){
var G__43622 = cljs.core.next(p);
var G__43623 = cljs.core.cons(cljs.core.first(p),d);
p = G__43622;
d = G__43623;
continue;
} else {
return d;
}
break;
}
})();
return (new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol("cljs.core","defn","cljs.core/defn",-1606493717,null),decl),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),(new cljs.core.List(null,name__$1,null,(1),null)),(2),null)),null,(1),null)),(2),null)),(3),null));
}));

(sci.impl.fns.defmacro_STAR_.cljs$lang$maxFixedArity = (3));

/** @this {Function} */
(sci.impl.fns.defmacro_STAR_.cljs$lang$applyTo = (function (seq43337){
var G__43338 = cljs.core.first(seq43337);
var seq43337__$1 = cljs.core.next(seq43337);
var G__43339 = cljs.core.first(seq43337__$1);
var seq43337__$2 = cljs.core.next(seq43337__$1);
var G__43340 = cljs.core.first(seq43337__$2);
var seq43337__$3 = cljs.core.next(seq43337__$2);
var self__5734__auto__ = this;
return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43338,G__43339,G__43340,seq43337__$3);
}));


//# sourceMappingURL=sci.impl.fns.js.map
