// Compiled by ClojureScript 1.7.170 {}
goog.provide('fipp.clojure');
goog.require('cljs.core');
goog.require('clojure.walk');
goog.require('fipp.visit');
goog.require('fipp.edn');
fipp.clojure.block = (function fipp$clojure$block(nodes){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"nest","nest",-314993663),(2),cljs.core.interpose.call(null,new cljs.core.Keyword(null,"line","line",212345235),nodes)], null);
});
fipp.clojure.list_group = (function fipp$clojure$list_group(var_args){
var args__5733__auto__ = [];
var len__5726__auto___7268 = arguments.length;
var i__5727__auto___7269 = (0);
while(true){
if((i__5727__auto___7269 < len__5726__auto___7268)){
args__5733__auto__.push((arguments[i__5727__auto___7269]));

var G__7270 = (i__5727__auto___7269 + (1));
i__5727__auto___7269 = G__7270;
continue;
} else {
}
break;
}

var argseq__5734__auto__ = ((((0) < args__5733__auto__.length))?(new cljs.core.IndexedSeq(args__5733__auto__.slice((0)),(0))):null);
return fipp.clojure.list_group.cljs$core$IFn$_invoke$arity$variadic(argseq__5734__auto__);
});

fipp.clojure.list_group.cljs$core$IFn$_invoke$arity$variadic = (function (nodes){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"group","group",582596132),"(",nodes,")"], null);
});

fipp.clojure.list_group.cljs$lang$maxFixedArity = (0);

fipp.clojure.list_group.cljs$lang$applyTo = (function (seq7267){
return fipp.clojure.list_group.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq7267));
});
fipp.clojure.maybe_a = (function fipp$clojure$maybe_a(pred,xs){
var x = cljs.core.first.call(null,xs);
if(cljs.core.truth_(pred.call(null,x))){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,cljs.core.rest.call(null,xs)], null);
} else {
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,xs], null);
}
});
fipp.clojure.pretty_cond_clause = (function fipp$clojure$pretty_cond_clause(p,p__7271){
var vec__7273 = p__7271;
var test = cljs.core.nth.call(null,vec__7273,(0),null);
var result = cljs.core.nth.call(null,vec__7273,(1),null);
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"group","group",582596132),fipp.visit.visit.call(null,p,test),new cljs.core.Keyword(null,"line","line",212345235),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"nest","nest",-314993663),(2),fipp.visit.visit.call(null,p,result)], null)], null);
});
fipp.clojure.pretty_case = (function fipp$clojure$pretty_case(p,p__7275){
var vec__7277 = p__7275;
var head = cljs.core.nth.call(null,vec__7277,(0),null);
var expr = cljs.core.nth.call(null,vec__7277,(1),null);
var more = cljs.core.nthnext.call(null,vec__7277,(2));
var clauses = cljs.core.partition.call(null,(2),more);
var default$ = ((cljs.core.odd_QMARK_.call(null,cljs.core.count.call(null,more)))?cljs.core.last.call(null,more):null);
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,head)," ",fipp.visit.visit.call(null,p,expr),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.block.call(null,cljs.core.concat.call(null,cljs.core.map.call(null,((function (clauses,default$,vec__7277,head,expr,more){
return (function (p1__7274_SHARP_){
return fipp.clojure.pretty_cond_clause.call(null,p,p1__7274_SHARP_);
});})(clauses,default$,vec__7277,head,expr,more))
,clauses),(cljs.core.truth_(default$)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [fipp.visit.visit.call(null,p,default$)], null):null))));
});
fipp.clojure.pretty_cond = (function fipp$clojure$pretty_cond(p,p__7279){
var vec__7281 = p__7279;
var head = cljs.core.nth.call(null,vec__7281,(0),null);
var more = cljs.core.nthnext.call(null,vec__7281,(1));
var clauses = cljs.core.partition.call(null,(2),more);
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,head),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.block.call(null,cljs.core.map.call(null,((function (clauses,vec__7281,head,more){
return (function (p1__7278_SHARP_){
return fipp.clojure.pretty_cond_clause.call(null,p,p1__7278_SHARP_);
});})(clauses,vec__7281,head,more))
,clauses)));
});
fipp.clojure.pretty_condp = (function fipp$clojure$pretty_condp(p,p__7283){
var vec__7285 = p__7283;
var head = cljs.core.nth.call(null,vec__7285,(0),null);
var pred = cljs.core.nth.call(null,vec__7285,(1),null);
var expr = cljs.core.nth.call(null,vec__7285,(2),null);
var more = cljs.core.nthnext.call(null,vec__7285,(3));
var clauses = cljs.core.partition.call(null,(2),more);
var default$ = ((cljs.core.odd_QMARK_.call(null,cljs.core.count.call(null,more)))?cljs.core.last.call(null,more):null);
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,head)," ",fipp.visit.visit.call(null,p,pred)," ",fipp.visit.visit.call(null,p,expr),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.block.call(null,cljs.core.concat.call(null,cljs.core.map.call(null,((function (clauses,default$,vec__7285,head,pred,expr,more){
return (function (p1__7282_SHARP_){
return fipp.clojure.pretty_cond_clause.call(null,p,p1__7282_SHARP_);
});})(clauses,default$,vec__7285,head,pred,expr,more))
,clauses),(cljs.core.truth_(default$)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [fipp.visit.visit.call(null,p,default$)], null):null))));
});
fipp.clojure.pretty_arrow = (function fipp$clojure$pretty_arrow(p,p__7287){
var vec__7289 = p__7287;
var head = cljs.core.nth.call(null,vec__7289,(0),null);
var stmts = cljs.core.nthnext.call(null,vec__7289,(1));
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,head)," ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"align","align",1964212802),cljs.core.interpose.call(null,new cljs.core.Keyword(null,"line","line",212345235),cljs.core.map.call(null,((function (vec__7289,head,stmts){
return (function (p1__7286_SHARP_){
return fipp.visit.visit.call(null,p,p1__7286_SHARP_);
});})(vec__7289,head,stmts))
,stmts))], null));
});
fipp.clojure.pretty_if = (function fipp$clojure$pretty_if(p,p__7291){
var vec__7293 = p__7291;
var head = cljs.core.nth.call(null,vec__7293,(0),null);
var test = cljs.core.nth.call(null,vec__7293,(1),null);
var more = cljs.core.nthnext.call(null,vec__7293,(2));
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,head)," ",fipp.visit.visit.call(null,p,test),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.block.call(null,cljs.core.map.call(null,((function (vec__7293,head,test,more){
return (function (p1__7290_SHARP_){
return fipp.visit.visit.call(null,p,p1__7290_SHARP_);
});})(vec__7293,head,test,more))
,more)));
});
fipp.clojure.pretty_method = (function fipp$clojure$pretty_method(p,p__7295){
var vec__7297 = p__7295;
var params = cljs.core.nth.call(null,vec__7297,(0),null);
var body = cljs.core.nthnext.call(null,vec__7297,(1));
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,params),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.block.call(null,cljs.core.map.call(null,((function (vec__7297,params,body){
return (function (p1__7294_SHARP_){
return fipp.visit.visit.call(null,p,p1__7294_SHARP_);
});})(vec__7297,params,body))
,body)));
});
fipp.clojure.pretty_defn = (function fipp$clojure$pretty_defn(p,p__7300){
var vec__7305 = p__7300;
var head = cljs.core.nth.call(null,vec__7305,(0),null);
var fn_name = cljs.core.nth.call(null,vec__7305,(1),null);
var more = cljs.core.nthnext.call(null,vec__7305,(2));
var vec__7306 = fipp.clojure.maybe_a.call(null,cljs.core.string_QMARK_,more);
var docstring = cljs.core.nth.call(null,vec__7306,(0),null);
var more__$1 = cljs.core.nth.call(null,vec__7306,(1),null);
var vec__7307 = fipp.clojure.maybe_a.call(null,cljs.core.map_QMARK_,more__$1);
var attr_map = cljs.core.nth.call(null,vec__7307,(0),null);
var more__$2 = cljs.core.nth.call(null,vec__7307,(1),null);
var vec__7308 = fipp.clojure.maybe_a.call(null,cljs.core.vector_QMARK_,more__$2);
var params = cljs.core.nth.call(null,vec__7308,(0),null);
var body = cljs.core.nth.call(null,vec__7308,(1),null);
var params_on_first_line_QMARK_ = (function (){var and__4656__auto__ = params;
if(cljs.core.truth_(and__4656__auto__)){
return ((docstring == null)) && ((attr_map == null));
} else {
return and__4656__auto__;
}
})();
var params_after_attr_map_QMARK_ = (function (){var and__4656__auto__ = params;
if(cljs.core.truth_(and__4656__auto__)){
return cljs.core.not.call(null,params_on_first_line_QMARK_);
} else {
return and__4656__auto__;
}
})();
return fipp.clojure.list_group.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [fipp.visit.visit.call(null,p,head)," ",fipp.visit.visit.call(null,p,fn_name)], null),(cljs.core.truth_(params_on_first_line_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [" ",fipp.visit.visit.call(null,p,params)], null):null)),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.block.call(null,cljs.core.concat.call(null,(cljs.core.truth_(docstring)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [fipp.visit.visit.call(null,p,docstring)], null):null),(cljs.core.truth_(attr_map)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [fipp.visit.visit.call(null,p,attr_map)], null):null),(cljs.core.truth_(params_after_attr_map_QMARK_)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [fipp.visit.visit.call(null,p,params)], null):null),(cljs.core.truth_(body)?cljs.core.map.call(null,((function (vec__7306,docstring,more__$1,vec__7307,attr_map,more__$2,vec__7308,params,body,params_on_first_line_QMARK_,params_after_attr_map_QMARK_,vec__7305,head,fn_name,more){
return (function (p1__7298_SHARP_){
return fipp.visit.visit.call(null,p,p1__7298_SHARP_);
});})(vec__7306,docstring,more__$1,vec__7307,attr_map,more__$2,vec__7308,params,body,params_on_first_line_QMARK_,params_after_attr_map_QMARK_,vec__7305,head,fn_name,more))
,body):cljs.core.map.call(null,((function (vec__7306,docstring,more__$1,vec__7307,attr_map,more__$2,vec__7308,params,body,params_on_first_line_QMARK_,params_after_attr_map_QMARK_,vec__7305,head,fn_name,more){
return (function (p1__7299_SHARP_){
return fipp.clojure.pretty_method.call(null,p,p1__7299_SHARP_);
});})(vec__7306,docstring,more__$1,vec__7307,attr_map,more__$2,vec__7308,params,body,params_on_first_line_QMARK_,params_after_attr_map_QMARK_,vec__7305,head,fn_name,more))
,more__$2)))));
});
fipp.clojure.pretty_fn = (function fipp$clojure$pretty_fn(p,p__7311){
var vec__7315 = p__7311;
var head = cljs.core.nth.call(null,vec__7315,(0),null);
var more = cljs.core.nthnext.call(null,vec__7315,(1));
var vec__7316 = fipp.clojure.maybe_a.call(null,cljs.core.symbol_QMARK_,more);
var fn_name = cljs.core.nth.call(null,vec__7316,(0),null);
var more__$1 = cljs.core.nth.call(null,vec__7316,(1),null);
var vec__7317 = fipp.clojure.maybe_a.call(null,cljs.core.vector_QMARK_,more__$1);
var params = cljs.core.nth.call(null,vec__7317,(0),null);
var body = cljs.core.nth.call(null,vec__7317,(1),null);
return fipp.clojure.list_group.call(null,cljs.core.concat.call(null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [fipp.visit.visit.call(null,p,head)], null),(cljs.core.truth_(fn_name)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [" ",fipp.visit.visit.call(null,p,fn_name)], null):null),(cljs.core.truth_(params)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [" ",fipp.visit.visit.call(null,p,params)], null):null)),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.block.call(null,(cljs.core.truth_(body)?cljs.core.map.call(null,((function (vec__7316,fn_name,more__$1,vec__7317,params,body,vec__7315,head,more){
return (function (p1__7309_SHARP_){
return fipp.visit.visit.call(null,p,p1__7309_SHARP_);
});})(vec__7316,fn_name,more__$1,vec__7317,params,body,vec__7315,head,more))
,body):cljs.core.map.call(null,((function (vec__7316,fn_name,more__$1,vec__7317,params,body,vec__7315,head,more){
return (function (p1__7310_SHARP_){
return fipp.clojure.pretty_method.call(null,p,p1__7310_SHARP_);
});})(vec__7316,fn_name,more__$1,vec__7317,params,body,vec__7315,head,more))
,more__$1))));
});
fipp.clojure.pretty_fn_STAR_ = (function fipp$clojure$pretty_fn_STAR_(p,p__7321){
var vec__7324 = p__7321;
var _ = cljs.core.nth.call(null,vec__7324,(0),null);
var params = cljs.core.nth.call(null,vec__7324,(1),null);
var body = cljs.core.nth.call(null,vec__7324,(2),null);
var form = vec__7324;
if((cljs.core.vector_QMARK_.call(null,params)) && (cljs.core.seq_QMARK_.call(null,body))){
var vec__7325 = cljs.core.split_with.call(null,((function (vec__7324,_,params,body,form){
return (function (p1__7318_SHARP_){
return cljs.core.not_EQ_.call(null,p1__7318_SHARP_,new cljs.core.Symbol(null,"&","&",-2144855648,null));
});})(vec__7324,_,params,body,form))
,params);
var inits = cljs.core.nth.call(null,vec__7325,(0),null);
var rests = cljs.core.nth.call(null,vec__7325,(1),null);
var params_STAR_ = cljs.core.merge.call(null,((cljs.core._EQ_.call(null,cljs.core.count.call(null,inits),(1)))?cljs.core.PersistentArrayMap.fromArray([cljs.core.first.call(null,inits),new cljs.core.Symbol(null,"%","%",-950237169,null)], true, false):cljs.core.zipmap.call(null,inits,cljs.core.map.call(null,((function (vec__7325,inits,rests,vec__7324,_,params,body,form){
return (function (p1__7319_SHARP_){
return cljs.core.symbol.call(null,[cljs.core.str("%"),cljs.core.str((p1__7319_SHARP_ + (1)))].join(''));
});})(vec__7325,inits,rests,vec__7324,_,params,body,form))
,cljs.core.range.call(null)))),((cljs.core.seq.call(null,rests))?cljs.core.PersistentArrayMap.fromArray([cljs.core.second.call(null,rests),new cljs.core.Symbol(null,"%&","%&",-728707069,null)], true, false):null));
var body_STAR_ = clojure.walk.prewalk_replace.call(null,params_STAR_,body);
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"group","group",582596132),"#(",new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"align","align",1964212802),(2),cljs.core.interpose.call(null,new cljs.core.Keyword(null,"line","line",212345235),cljs.core.map.call(null,((function (vec__7325,inits,rests,params_STAR_,body_STAR_,vec__7324,_,params,body,form){
return (function (p1__7320_SHARP_){
return fipp.visit.visit.call(null,p,p1__7320_SHARP_);
});})(vec__7325,inits,rests,params_STAR_,body_STAR_,vec__7324,_,params,body,form))
,body_STAR_))], null),")"], null);
} else {
return fipp.clojure.pretty_fn.call(null,p,form);
}
});
fipp.clojure.pretty_libspec = (function fipp$clojure$pretty_libspec(p,p__7327){
var vec__7329 = p__7327;
var head = cljs.core.nth.call(null,vec__7329,(0),null);
var clauses = cljs.core.nthnext.call(null,vec__7329,(1));
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,head)," ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"align","align",1964212802),cljs.core.interpose.call(null,new cljs.core.Keyword(null,"line","line",212345235),cljs.core.map.call(null,((function (vec__7329,head,clauses){
return (function (p1__7326_SHARP_){
return fipp.visit.visit.call(null,p,p1__7326_SHARP_);
});})(vec__7329,head,clauses))
,clauses))], null));
});
fipp.clojure.pretty_ns = (function fipp$clojure$pretty_ns(p,p__7331){
var vec__7335 = p__7331;
var head = cljs.core.nth.call(null,vec__7335,(0),null);
var ns_sym = cljs.core.nth.call(null,vec__7335,(1),null);
var more = cljs.core.nthnext.call(null,vec__7335,(2));
var vec__7336 = fipp.clojure.maybe_a.call(null,cljs.core.string_QMARK_,more);
var docstring = cljs.core.nth.call(null,vec__7336,(0),null);
var more__$1 = cljs.core.nth.call(null,vec__7336,(1),null);
var vec__7337 = fipp.clojure.maybe_a.call(null,cljs.core.map_QMARK_,more__$1);
var attr_map = cljs.core.nth.call(null,vec__7337,(0),null);
var specs = cljs.core.nth.call(null,vec__7337,(1),null);
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,head)," ",fipp.visit.visit.call(null,p,ns_sym),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.block.call(null,cljs.core.concat.call(null,(cljs.core.truth_(docstring)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [fipp.visit.visit.call(null,p,docstring)], null):null),(cljs.core.truth_(attr_map)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [fipp.visit.visit.call(null,p,attr_map)], null):null),cljs.core.map.call(null,((function (vec__7336,docstring,more__$1,vec__7337,attr_map,specs,vec__7335,head,ns_sym,more){
return (function (p1__7330_SHARP_){
return fipp.clojure.pretty_libspec.call(null,p,p1__7330_SHARP_);
});})(vec__7336,docstring,more__$1,vec__7337,attr_map,specs,vec__7335,head,ns_sym,more))
,specs))));
});
fipp.clojure.pretty_quote = (function fipp$clojure$pretty_quote(p,p__7338){
var vec__7341 = p__7338;
var macro = cljs.core.nth.call(null,vec__7341,(0),null);
var arg = cljs.core.nth.call(null,vec__7341,(1),null);
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),(function (){var G__7342 = (((cljs.core.keyword.call(null,cljs.core.name.call(null,macro)) instanceof cljs.core.Keyword))?cljs.core.keyword.call(null,cljs.core.name.call(null,macro)).fqn:null);
switch (G__7342) {
case "deref":
return "@";

break;
case "quote":
return "'";

break;
case "unquote":
return "~";

break;
case "var":
return "#'";

break;
default:
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(cljs.core.keyword.call(null,cljs.core.name.call(null,macro)))].join('')));

}
})(),fipp.visit.visit.call(null,p,arg)], null);
});
fipp.clojure.pretty_bindings = (function fipp$clojure$pretty_bindings(p,bvec){
var kvps = (function (){var iter__5440__auto__ = (function fipp$clojure$pretty_bindings_$_iter__7352(s__7353){
return (new cljs.core.LazySeq(null,(function (){
var s__7353__$1 = s__7353;
while(true){
var temp__4425__auto__ = cljs.core.seq.call(null,s__7353__$1);
if(temp__4425__auto__){
var s__7353__$2 = temp__4425__auto__;
if(cljs.core.chunked_seq_QMARK_.call(null,s__7353__$2)){
var c__5438__auto__ = cljs.core.chunk_first.call(null,s__7353__$2);
var size__5439__auto__ = cljs.core.count.call(null,c__5438__auto__);
var b__7355 = cljs.core.chunk_buffer.call(null,size__5439__auto__);
if((function (){var i__7354 = (0);
while(true){
if((i__7354 < size__5439__auto__)){
var vec__7358 = cljs.core._nth.call(null,c__5438__auto__,i__7354);
var k = cljs.core.nth.call(null,vec__7358,(0),null);
var v = cljs.core.nth.call(null,vec__7358,(1),null);
cljs.core.chunk_append.call(null,b__7355,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),fipp.visit.visit.call(null,p,k)," ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"align","align",1964212802),fipp.visit.visit.call(null,p,v)], null)], null));

var G__7360 = (i__7354 + (1));
i__7354 = G__7360;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__7355),fipp$clojure$pretty_bindings_$_iter__7352.call(null,cljs.core.chunk_rest.call(null,s__7353__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__7355),null);
}
} else {
var vec__7359 = cljs.core.first.call(null,s__7353__$2);
var k = cljs.core.nth.call(null,vec__7359,(0),null);
var v = cljs.core.nth.call(null,vec__7359,(1),null);
return cljs.core.cons.call(null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),fipp.visit.visit.call(null,p,k)," ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"align","align",1964212802),fipp.visit.visit.call(null,p,v)], null)], null),fipp$clojure$pretty_bindings_$_iter__7352.call(null,cljs.core.rest.call(null,s__7353__$2)));
}
} else {
return null;
}
break;
}
}),null,null));
});
return iter__5440__auto__.call(null,cljs.core.partition.call(null,(2),bvec));
})();
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"group","group",582596132),"[",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"align","align",1964212802),cljs.core.interpose.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"line","line",212345235),", "], null),kvps)], null),"]"], null);
});
fipp.clojure.pretty_let = (function fipp$clojure$pretty_let(p,p__7362){
var vec__7364 = p__7362;
var head = cljs.core.nth.call(null,vec__7364,(0),null);
var bvec = cljs.core.nth.call(null,vec__7364,(1),null);
var body = cljs.core.nthnext.call(null,vec__7364,(2));
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,head)," ",fipp.clojure.pretty_bindings.call(null,p,bvec),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.block.call(null,cljs.core.map.call(null,((function (vec__7364,head,bvec,body){
return (function (p1__7361_SHARP_){
return fipp.visit.visit.call(null,p,p1__7361_SHARP_);
});})(vec__7364,head,bvec,body))
,body)));
});
fipp.clojure.pretty_impls = (function fipp$clojure$pretty_impls(p,opts_PLUS_specs){
return fipp.clojure.block.call(null,cljs.core.map.call(null,(function (p1__7365_SHARP_){
return fipp.visit.visit.call(null,p,p1__7365_SHARP_);
}),opts_PLUS_specs));
});
fipp.clojure.pretty_type = (function fipp$clojure$pretty_type(p,p__7366){
var vec__7368 = p__7366;
var head = cljs.core.nth.call(null,vec__7368,(0),null);
var fields = cljs.core.nth.call(null,vec__7368,(1),null);
var opts_PLUS_specs = cljs.core.nthnext.call(null,vec__7368,(2));
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,head)," ",fipp.visit.visit.call(null,p,fields),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.pretty_impls.call(null,p,opts_PLUS_specs));
});
fipp.clojure.pretty_reify = (function fipp$clojure$pretty_reify(p,p__7369){
var vec__7371 = p__7369;
var head = cljs.core.nth.call(null,vec__7371,(0),null);
var opts_PLUS_specs = cljs.core.nthnext.call(null,vec__7371,(1));
return fipp.clojure.list_group.call(null,fipp.visit.visit.call(null,p,head),new cljs.core.Keyword(null,"line","line",212345235),fipp.clojure.pretty_impls.call(null,p,opts_PLUS_specs));
});
fipp.clojure.build_symbol_map = (function fipp$clojure$build_symbol_map(dispatch){
return cljs.core.into.call(null,cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5440__auto__ = (function fipp$clojure$build_symbol_map_$_iter__7382(s__7383){
return (new cljs.core.LazySeq(null,(function (){
var s__7383__$1 = s__7383;
while(true){
var temp__4425__auto__ = cljs.core.seq.call(null,s__7383__$1);
if(temp__4425__auto__){
var xs__4977__auto__ = temp__4425__auto__;
var vec__7391 = cljs.core.first.call(null,xs__4977__auto__);
var pretty_fn = cljs.core.nth.call(null,vec__7391,(0),null);
var syms = cljs.core.nth.call(null,vec__7391,(1),null);
var iterys__5436__auto__ = ((function (s__7383__$1,vec__7391,pretty_fn,syms,xs__4977__auto__,temp__4425__auto__){
return (function fipp$clojure$build_symbol_map_$_iter__7382_$_iter__7384(s__7385){
return (new cljs.core.LazySeq(null,((function (s__7383__$1,vec__7391,pretty_fn,syms,xs__4977__auto__,temp__4425__auto__){
return (function (){
var s__7385__$1 = s__7385;
while(true){
var temp__4425__auto____$1 = cljs.core.seq.call(null,s__7385__$1);
if(temp__4425__auto____$1){
var xs__4977__auto____$1 = temp__4425__auto____$1;
var sym = cljs.core.first.call(null,xs__4977__auto____$1);
var iterys__5436__auto__ = ((function (s__7385__$1,s__7383__$1,sym,xs__4977__auto____$1,temp__4425__auto____$1,vec__7391,pretty_fn,syms,xs__4977__auto__,temp__4425__auto__){
return (function fipp$clojure$build_symbol_map_$_iter__7382_$_iter__7384_$_iter__7386(s__7387){
return (new cljs.core.LazySeq(null,((function (s__7385__$1,s__7383__$1,sym,xs__4977__auto____$1,temp__4425__auto____$1,vec__7391,pretty_fn,syms,xs__4977__auto__,temp__4425__auto__){
return (function (){
var s__7387__$1 = s__7387;
while(true){
var temp__4425__auto____$2 = cljs.core.seq.call(null,s__7387__$1);
if(temp__4425__auto____$2){
var s__7387__$2 = temp__4425__auto____$2;
if(cljs.core.chunked_seq_QMARK_.call(null,s__7387__$2)){
var c__5438__auto__ = cljs.core.chunk_first.call(null,s__7387__$2);
var size__5439__auto__ = cljs.core.count.call(null,c__5438__auto__);
var b__7389 = cljs.core.chunk_buffer.call(null,size__5439__auto__);
if((function (){var i__7388 = (0);
while(true){
if((i__7388 < size__5439__auto__)){
var sym__$1 = cljs.core._nth.call(null,c__5438__auto__,i__7388);
cljs.core.chunk_append.call(null,b__7389,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym__$1,pretty_fn], null));

var G__7392 = (i__7388 + (1));
i__7388 = G__7392;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__7389),fipp$clojure$build_symbol_map_$_iter__7382_$_iter__7384_$_iter__7386.call(null,cljs.core.chunk_rest.call(null,s__7387__$2)));
} else {
return cljs.core.chunk_cons.call(null,cljs.core.chunk.call(null,b__7389),null);
}
} else {
var sym__$1 = cljs.core.first.call(null,s__7387__$2);
return cljs.core.cons.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym__$1,pretty_fn], null),fipp$clojure$build_symbol_map_$_iter__7382_$_iter__7384_$_iter__7386.call(null,cljs.core.rest.call(null,s__7387__$2)));
}
} else {
return null;
}
break;
}
});})(s__7385__$1,s__7383__$1,sym,xs__4977__auto____$1,temp__4425__auto____$1,vec__7391,pretty_fn,syms,xs__4977__auto__,temp__4425__auto__))
,null,null));
});})(s__7385__$1,s__7383__$1,sym,xs__4977__auto____$1,temp__4425__auto____$1,vec__7391,pretty_fn,syms,xs__4977__auto__,temp__4425__auto__))
;
var fs__5437__auto__ = cljs.core.seq.call(null,iterys__5436__auto__.call(null,cljs.core.cons.call(null,sym,((cljs.core.special_symbol_QMARK_.call(null,sym))?null:new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.call(null,"clojure.core",cljs.core.name.call(null,sym)),cljs.core.symbol.call(null,"cljs.core",cljs.core.name.call(null,sym))], null)))));
if(fs__5437__auto__){
return cljs.core.concat.call(null,fs__5437__auto__,fipp$clojure$build_symbol_map_$_iter__7382_$_iter__7384.call(null,cljs.core.rest.call(null,s__7385__$1)));
} else {
var G__7393 = cljs.core.rest.call(null,s__7385__$1);
s__7385__$1 = G__7393;
continue;
}
} else {
return null;
}
break;
}
});})(s__7383__$1,vec__7391,pretty_fn,syms,xs__4977__auto__,temp__4425__auto__))
,null,null));
});})(s__7383__$1,vec__7391,pretty_fn,syms,xs__4977__auto__,temp__4425__auto__))
;
var fs__5437__auto__ = cljs.core.seq.call(null,iterys__5436__auto__.call(null,syms));
if(fs__5437__auto__){
return cljs.core.concat.call(null,fs__5437__auto__,fipp$clojure$build_symbol_map_$_iter__7382.call(null,cljs.core.rest.call(null,s__7383__$1)));
} else {
var G__7394 = cljs.core.rest.call(null,s__7383__$1);
s__7383__$1 = G__7394;
continue;
}
} else {
return null;
}
break;
}
}),null,null));
});
return iter__5440__auto__.call(null,dispatch);
})());
});
fipp.clojure.default_symbols = fipp.clojure.build_symbol_map.call(null,cljs.core.PersistentHashMap.fromArrays([fipp.clojure.pretty_fn_STAR_,fipp.clojure.pretty_condp,fipp.clojure.pretty_quote,fipp.clojure.pretty_cond,fipp.clojure.pretty_fn,fipp.clojure.pretty_arrow,fipp.clojure.pretty_reify,fipp.clojure.pretty_let,fipp.clojure.pretty_type,fipp.clojure.pretty_if,fipp.clojure.pretty_defn,fipp.clojure.pretty_ns,fipp.clojure.pretty_case],[new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"fn*","fn*",-752876845,null)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"condp","condp",1054325175,null)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"deref","deref",1494944732,null),new cljs.core.Symbol(null,"quote","quote",1377916282,null),new cljs.core.Symbol(null,"unquote","unquote",-1004694737,null),new cljs.core.Symbol(null,"var","var",870848730,null)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"cond","cond",1606708055,null)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"fn","fn",465265323,null)], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,".",".",1975675962,null),new cljs.core.Symbol(null,"..","..",-300507420,null),new cljs.core.Symbol(null,"->","->",-2139605430,null),new cljs.core.Symbol(null,"->>","->>",-1874332161,null),new cljs.core.Symbol(null,"and","and",668631710,null),new cljs.core.Symbol(null,"doto","doto",1252536074,null),new cljs.core.Symbol(null,"or","or",1876275696,null),new cljs.core.Symbol(null,"some->","some->",-1011172200,null),new cljs.core.Symbol(null,"some->>","some->>",-1499987794,null)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"reify","reify",1885539699,null)], null),new cljs.core.PersistentVector(null, 16, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"binding","binding",-2114503176,null),new cljs.core.Symbol(null,"doseq","doseq",221164135,null),new cljs.core.Symbol(null,"dotimes","dotimes",-818708397,null),new cljs.core.Symbol(null,"for","for",316745208,null),new cljs.core.Symbol(null,"if-let","if-let",1803593690,null),new cljs.core.Symbol(null,"if-some","if-some",1960677609,null),new cljs.core.Symbol(null,"let","let",358118826,null),new cljs.core.Symbol(null,"let*","let*",1920721458,null),new cljs.core.Symbol(null,"loop","loop",1244978678,null),new cljs.core.Symbol(null,"loop*","loop*",615029416,null),new cljs.core.Symbol(null,"when-first","when-first",821699168,null),new cljs.core.Symbol(null,"when-let","when-let",-1383043480,null),new cljs.core.Symbol(null,"when-some","when-some",1700415903,null),new cljs.core.Symbol(null,"with-local-vars","with-local-vars",837642072,null),new cljs.core.Symbol(null,"with-open","with-open",172119667,null),new cljs.core.Symbol(null,"with-redefs","with-redefs",-1143728263,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"deftype","deftype",1980826088,null),new cljs.core.Symbol(null,"defrecord","defrecord",273038109,null)], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"def","def",597100991,null),new cljs.core.Symbol(null,"defonce","defonce",-1681484013,null),new cljs.core.Symbol(null,"if","if",1181717262,null),new cljs.core.Symbol(null,"if-not","if-not",-265415609,null),new cljs.core.Symbol(null,"when","when",1064114221,null),new cljs.core.Symbol(null,"when-not","when-not",-1223136340,null)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"defmacro","defmacro",2054157304,null),new cljs.core.Symbol(null,"defmulti","defmulti",1936112154,null),new cljs.core.Symbol(null,"defn","defn",-126010802,null),new cljs.core.Symbol(null,"defn-","defn-",1097765044,null)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"ns","ns",2082130287,null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"case","case",-1510733573,null),new cljs.core.Symbol(null,"cond->","cond->",561741875,null),new cljs.core.Symbol(null,"cond->>","cond->>",348844960,null)], null)]));
fipp.clojure.pprint = (function fipp$clojure$pprint(var_args){
var args7395 = [];
var len__5726__auto___7398 = arguments.length;
var i__5727__auto___7399 = (0);
while(true){
if((i__5727__auto___7399 < len__5726__auto___7398)){
args7395.push((arguments[i__5727__auto___7399]));

var G__7400 = (i__5727__auto___7399 + (1));
i__5727__auto___7399 = G__7400;
continue;
} else {
}
break;
}

var G__7397 = args7395.length;
switch (G__7397) {
case 1:
return fipp.clojure.pprint.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));

break;
case 2:
return fipp.clojure.pprint.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));

break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args7395.length)].join('')));

}
});

fipp.clojure.pprint.cljs$core$IFn$_invoke$arity$1 = (function (x){
return fipp.clojure.pprint.call(null,x,cljs.core.PersistentArrayMap.EMPTY);
});

fipp.clojure.pprint.cljs$core$IFn$_invoke$arity$2 = (function (x,options){
return fipp.edn.pprint.call(null,x,cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"symbols","symbols",1211743),fipp.clojure.default_symbols], null),options));
});

fipp.clojure.pprint.cljs$lang$maxFixedArity = 2;
