goog.provide('sci.impl.protocols'); sci.impl.protocols.extend_default_val = cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol("sci.impl.protocols","default","sci.impl.protocols/default",-1134880191,null)); sci.impl.protocols.default_QMARK_ = (function sci$impl$protocols$default_QMARK_(_ctx,sym){ return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(sci.impl.protocols.extend_default_val,sym); }); sci.impl.protocols.__GT_sigs = (function sci$impl$protocols$__GT_sigs(signatures){ return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__42582){ var vec__42584 = p__42582; var seq__42585 = cljs.core.seq(vec__42584); var first__42586 = cljs.core.first(seq__42585); var seq__42585__$1 = cljs.core.next(seq__42585); var name = first__42586; var arglists = seq__42585__$1; var l = cljs.core.last(arglists); var vec__42589 = ((typeof l === 'string')?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.butlast(arglists),l], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arglists,null], null)); var arglists__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42589,(0),null); var doc = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42589,(1),null); return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(name),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"name","name",1843675177),name,new cljs.core.Keyword(null,"arglists","arglists",1661989754),arglists__$1,new cljs.core.Keyword(null,"doc","doc",1913296891),doc], null)], null); }),signatures)); }); sci.impl.protocols.defprotocol = (function sci$impl$protocols$defprotocol(var_args){ var args__5755__auto__ = []; var len__5749__auto___43611 = arguments.length; var i__5750__auto___43612 = (0); while(true){ if((i__5750__auto___43612 < len__5749__auto___43611)){ args__5755__auto__.push((arguments[i__5750__auto___43612])); var G__43613 = (i__5750__auto___43612 + (1)); i__5750__auto___43612 = G__43613; 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.protocols.defprotocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__); }); (sci.impl.protocols.defprotocol.cljs$core$IFn$_invoke$arity$variadic = (function (_,___$1,protocol_name,signatures){ var vec__42659 = (function (){var sig = cljs.core.first(signatures); if(typeof sig === 'string'){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sig,cljs.core.rest(signatures)], null); } else { return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,signatures], null); } })(); var docstring = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42659,(0),null); var signatures__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42659,(1),null); var vec__42662 = (function (){var opt = cljs.core.first(signatures__$1); if((opt instanceof cljs.core.Keyword)){ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentArrayMap.createAsIfByAssoc([opt,cljs.core.second(signatures__$1)]),cljs.core.nnext(signatures__$1)], null); } else { return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,signatures__$1], null); } })(); var opts = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42662,(0),null); var signatures__$2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42662,(1),null); var sigs_map = sci.impl.protocols.__GT_sigs(signatures__$2); var current_ns = cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.utils.current_ns_name()); var fq_protocol_name = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(current_ns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)); var extend_meta = new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794).cljs$core$IFn$_invoke$arity$1(opts); var expansion = 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(null,"do","do",1686842252,null),null,(1),null)),(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(null,"def","def",597100991,null),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(protocol_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"doc","doc",1913296891),docstring], null)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","cond->","cljs.core/cond->",-113941356,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,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.Keyword(null,"methods","methods",453930866),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"name","name",1843675177),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,fq_protocol_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"ns","ns",441598760),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","*ns*","cljs.core/*ns*",1155497085,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"sigs","sigs",-1653119622),null,(1),null)),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),(new cljs.core.List(null,sigs_map,null,(1),null)),(2),null)),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"var","var",-769682797),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,(1),null)),(new cljs.core.List(null,fq_protocol_name,null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,extend_meta,null,(1),null)),(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","assoc","cljs.core/assoc",322326297,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,true,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__42692){ var vec__42694 = p__42692; var seq__42695 = cljs.core.seq(vec__42694); var first__42696 = cljs.core.first(seq__42695); var seq__42695__$1 = cljs.core.next(seq__42695); var method_name = first__42696; var ___$2 = seq__42695__$1; var fq_name = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(current_ns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(method_name)); var method_meta = cljs.core.select_keys(cljs.core.get.cljs$core$IFn$_invoke$arity$2(sigs_map,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"doc","doc",1913296891),new cljs.core.Keyword(null,"arglists","arglists",1661989754)], null)); var method_meta__$1 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(method_meta,new cljs.core.Keyword(null,"protocol","protocol",652470118),(new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),(new cljs.core.List(null,fq_protocol_name,null,(1),null)),(2),null))); var method_meta__$2 = cljs.core.update.cljs$core$IFn$_invoke$arity$3(method_meta__$1,new cljs.core.Keyword(null,"arglists","arglists",1661989754),(function (a){ return (new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),(new cljs.core.List(null,a,null,(1),null)),(2),null)); })); var impls = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [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","defmulti","cljs.core/defmulti",723984225,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,method_meta__$2,null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","protocol-type-impl","cljs.core/protocol-type-impl",155177701,null),null,(1),null))], 0)))),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","defmethod","cljs.core/defmethod",-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword("sci.impl.protocols","reified","sci.impl.protocols/reified",-2019939396),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$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"x__42601__auto__","x__42601__auto__",301177903,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"&","&",-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"args__42602__auto__","args__42602__auto__",-875691221,null),null,(1),null))], 0))))),null,(1),null)),(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,"methods__42603__auto__","methods__42603__auto__",804601793,null),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","-reified-methods","cljs.core/-reified-methods",-1833109469,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42601__auto__","x__42601__auto__",301177903,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","if-let","cljs.core/if-let",1346583165,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,"m__42604__auto__","m__42604__auto__",966401625,null),null,(1),null)),(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","get","cljs.core/get",-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"methods__42603__auto__","methods__42603__auto__",804601793,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"m__42604__auto__","m__42604__auto__",966401625,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42601__auto__","x__42601__auto__",301177903,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"args__42602__auto__","args__42602__auto__",-875691221,null),null,(1),null))], 0)))),null,(1),null)),(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","if-let","cljs.core/if-let",1346583165,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,"default__42605__auto__","default__42605__auto__",-269041138,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"default__42605__auto__","default__42605__auto__",-269041138,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42601__auto__","x__42601__auto__",301177903,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"args__42602__auto__","args__42602__auto__",-875691221,null),null,(1),null))], 0)))),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"throw","throw",595905694,null),null,(1),null)),(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","ex-info","cljs.core/ex-info",-409744395,null),null,(1),null)),(new cljs.core.List(null,"No method ",null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null," found for: ",null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42601__auto__","x__42601__auto__",301177903,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))], null); var impls__$1 = (cljs.core.truth_(extend_meta)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(impls,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","defmethod","cljs.core/defmethod",-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),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$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"x__42610__auto__","x__42610__auto__",-513698104,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"&","&",-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"args__42611__auto__","args__42611__auto__",2113698948,null),null,(1),null))], 0))))),null,(1),null)),(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$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"meta__42612__auto__","meta__42612__auto__",361751699,null),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","meta","cljs.core/meta",-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42610__auto__","x__42610__auto__",-513698104,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"method__42613__auto__","method__42613__auto__",444036894,null),null,(1),null)),(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","get","cljs.core/get",-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meta__42612__auto__","meta__42612__auto__",361751699,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,fq_name,null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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(null,"if","if",1181717262,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__42613__auto__","method__42613__auto__",444036894,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__42613__auto__","method__42613__auto__",444036894,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42610__auto__","x__42610__auto__",-513698104,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"args__42611__auto__","args__42611__auto__",2113698948,null),null,(1),null))], 0)))),null,(1),null)),(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$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"method__42613__auto__","method__42613__auto__",444036894,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42610__auto__","x__42610__auto__",-513698104,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__42616__auto__","default__42616__auto__",-2034286577,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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(null,"if","if",1181717262,null),null,(1),null)),(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","not=","cljs.core/not=",1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__42613__auto__","method__42613__auto__",444036894,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__42616__auto__","default__42616__auto__",-2034286577,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__42613__auto__","method__42613__auto__",444036894,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42610__auto__","x__42610__auto__",-513698104,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"args__42611__auto__","args__42611__auto__",2113698948,null),null,(1),null))], 0)))),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"throw","throw",595905694,null),null,(1),null)),(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(null,"new","new",-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("js","Error","js/Error",-1692659266,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","str","cljs.core/str",-1971828991,null),null,(1),null)),(new cljs.core.List(null,"No implementation of method: ",null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name),null,(1),null)),(new cljs.core.List(null," of protocol: ",null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null," found for: ",null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","protocol-type-impl","cljs.core/protocol-type-impl",155177701,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42610__auto__","x__42610__auto__",-513698104,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))):cljs.core.conj.cljs$core$IFn$_invoke$arity$2(impls,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","defmethod","cljs.core/defmethod",-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),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$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"x__42623__auto__","x__42623__auto__",976349210,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"&","&",-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"args__42624__auto__","args__42624__auto__",-1435390600,null),null,(1),null))], 0))))),null,(1),null)),(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$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"method__42625__auto__","method__42625__auto__",1275895256,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42623__auto__","x__42623__auto__",976349210,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__42626__auto__","default__42626__auto__",426612289,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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(null,"if","if",1181717262,null),null,(1),null)),(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","not=","cljs.core/not=",1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__42625__auto__","method__42625__auto__",1275895256,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__42626__auto__","default__42626__auto__",426612289,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"method__42625__auto__","method__42625__auto__",1275895256,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42623__auto__","x__42623__auto__",976349210,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"args__42624__auto__","args__42624__auto__",-1435390600,null),null,(1),null))], 0)))),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"throw","throw",595905694,null),null,(1),null)),(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(null,"new","new",-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("js","Error","js/Error",-1692659266,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","str","cljs.core/str",-1971828991,null),null,(1),null)),(new cljs.core.List(null,"No implementation of method: ",null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name),null,(1),null)),(new cljs.core.List(null," of protocol: ",null,(1),null)),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),(new cljs.core.List(null,fq_protocol_name,null,(1),null)),(2),null)),null,(1),null)),(new cljs.core.List(null," found for: ",null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","protocol-type-impl","cljs.core/protocol-type-impl",155177701,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"x__42623__auto__","x__42623__auto__",976349210,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))))); return 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(null,"do","do",1686842252,null),null,(1),null)),impls__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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(null,"def","def",597100991,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","update","cljs.core/update",-908565906,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"methods","methods",453930866),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","conj","cljs.core/conj",-460750931,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))); }),signatures__$2),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),(new cljs.core.List(null,protocol_name,null,(1),null)),(2),null)),null,(1),null))], 0)))); return expansion; })); (sci.impl.protocols.defprotocol.cljs$lang$maxFixedArity = (3)); /** @this {Function} */ (sci.impl.protocols.defprotocol.cljs$lang$applyTo = (function (seq42641){ var G__42642 = cljs.core.first(seq42641); var seq42641__$1 = cljs.core.next(seq42641); var G__42643 = cljs.core.first(seq42641__$1); var seq42641__$2 = cljs.core.next(seq42641__$1); var G__42644 = cljs.core.first(seq42641__$2); var seq42641__$3 = cljs.core.next(seq42641__$2); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__42642,G__42643,G__42644,seq42641__$3); })); sci.impl.protocols.extend = (function sci$impl$protocols$extend(var_args){ var args__5755__auto__ = []; var len__5749__auto___43635 = arguments.length; var i__5750__auto___43636 = (0); while(true){ if((i__5750__auto___43636 < len__5749__auto___43635)){ args__5755__auto__.push((arguments[i__5750__auto___43636])); var G__43637 = (i__5750__auto___43636 + (1)); i__5750__auto___43636 = G__43637; continue; } else { } break; } var argseq__5756__auto__ = ((((1) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null); return sci.impl.protocols.extend.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__); }); (sci.impl.protocols.extend.cljs$core$IFn$_invoke$arity$variadic = (function (atype,proto_PLUS_mmaps){ var seq__42934 = cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),proto_PLUS_mmaps)); var chunk__42937 = null; var count__42938 = (0); var i__42939 = (0); while(true){ if((i__42939 < count__42938)){ var vec__43259 = chunk__42937.cljs$core$IIndexed$_nth$arity$2(null,i__42939); var proto = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43259,(0),null); var mmap = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43259,(1),null); var extend_via_metadata_43638 = new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794).cljs$core$IFn$_invoke$arity$1(proto); var proto_ns_43639 = new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(proto); var pns_43640 = sci.impl.types.getName(proto_ns_43639); var pns_str_43641 = (cljs.core.truth_(extend_via_metadata_43638)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(pns_43640):null); var seq__43262_43642 = cljs.core.seq(mmap); var chunk__43263_43643 = null; var count__43264_43644 = (0); var i__43265_43645 = (0); while(true){ if((i__43265_43645 < count__43264_43644)){ var vec__43286_43646 = chunk__43263_43643.cljs$core$IIndexed$_nth$arity$2(null,i__43265_43645); var meth_name_43647 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43286_43646,(0),null); var f_43648 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43286_43646,(1),null); var meth_str_43650 = cljs.core.name(meth_name_43647); var meth_sym_43651 = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43650); var env_43653 = cljs.core.deref(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())); var multi_method_var_43656 = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43653,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),pns_43640,meth_sym_43651], null)); var multi_method_43657 = cljs.core.deref(multi_method_var_43656); sci.impl.multimethods.multi_fn_add_method_impl(multi_method_43657,atype,(cljs.core.truth_(extend_via_metadata_43638)?(function (){var fq = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43641,meth_str_43650); return ((function (seq__43262_43642,chunk__43263_43643,count__43264_43644,i__43265_43645,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43650,meth_sym_43651,env_43653,multi_method_var_43656,multi_method_43657,vec__43286_43646,meth_name_43647,f_43648,extend_via_metadata_43638,proto_ns_43639,pns_43640,pns_str_43641,vec__43259,proto,mmap){ return (function() { var G__43658__delegate = function (this$,args){ var temp__5802__auto__ = cljs.core.meta(this$); if(cljs.core.truth_(temp__5802__auto__)){ var m = temp__5802__auto__; var temp__5802__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq); if(cljs.core.truth_(temp__5802__auto____$1)){ var meth = temp__5802__auto____$1; return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args); } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43648,this$,args); } } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43648,this$,args); } }; var G__43658 = function (this$,var_args){ var args = null; if (arguments.length > 1) { var G__43659__i = 0, G__43659__a = new Array(arguments.length - 1); while (G__43659__i < G__43659__a.length) {G__43659__a[G__43659__i] = arguments[G__43659__i + 1]; ++G__43659__i;} args = new cljs.core.IndexedSeq(G__43659__a,0,null); } return G__43658__delegate.call(this,this$,args);}; G__43658.cljs$lang$maxFixedArity = 1; G__43658.cljs$lang$applyTo = (function (arglist__43660){ var this$ = cljs.core.first(arglist__43660); var args = cljs.core.rest(arglist__43660); return G__43658__delegate(this$,args); }); G__43658.cljs$core$IFn$_invoke$arity$variadic = G__43658__delegate; return G__43658; })() ; ;})(seq__43262_43642,chunk__43263_43643,count__43264_43644,i__43265_43645,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43650,meth_sym_43651,env_43653,multi_method_var_43656,multi_method_43657,vec__43286_43646,meth_name_43647,f_43648,extend_via_metadata_43638,proto_ns_43639,pns_43640,pns_str_43641,vec__43259,proto,mmap)) })():f_43648)); var G__43661 = seq__43262_43642; var G__43662 = chunk__43263_43643; var G__43663 = count__43264_43644; var G__43664 = (i__43265_43645 + (1)); seq__43262_43642 = G__43661; chunk__43263_43643 = G__43662; count__43264_43644 = G__43663; i__43265_43645 = G__43664; continue; } else { var temp__5804__auto___43665 = cljs.core.seq(seq__43262_43642); if(temp__5804__auto___43665){ var seq__43262_43667__$1 = temp__5804__auto___43665; if(cljs.core.chunked_seq_QMARK_(seq__43262_43667__$1)){ var c__5548__auto___43671 = cljs.core.chunk_first(seq__43262_43667__$1); var G__43672 = cljs.core.chunk_rest(seq__43262_43667__$1); var G__43673 = c__5548__auto___43671; var G__43674 = cljs.core.count(c__5548__auto___43671); var G__43675 = (0); seq__43262_43642 = G__43672; chunk__43263_43643 = G__43673; count__43264_43644 = G__43674; i__43265_43645 = G__43675; continue; } else { var vec__43294_43676 = cljs.core.first(seq__43262_43667__$1); var meth_name_43677 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43294_43676,(0),null); var f_43678 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43294_43676,(1),null); var meth_str_43679 = cljs.core.name(meth_name_43677); var meth_sym_43680 = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43679); var env_43681 = cljs.core.deref(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())); var multi_method_var_43682 = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43681,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),pns_43640,meth_sym_43680], null)); var multi_method_43683 = cljs.core.deref(multi_method_var_43682); sci.impl.multimethods.multi_fn_add_method_impl(multi_method_43683,atype,(cljs.core.truth_(extend_via_metadata_43638)?(function (){var fq = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43641,meth_str_43679); return ((function (seq__43262_43642,chunk__43263_43643,count__43264_43644,i__43265_43645,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43679,meth_sym_43680,env_43681,multi_method_var_43682,multi_method_43683,vec__43294_43676,meth_name_43677,f_43678,seq__43262_43667__$1,temp__5804__auto___43665,extend_via_metadata_43638,proto_ns_43639,pns_43640,pns_str_43641,vec__43259,proto,mmap){ return (function() { var G__43684__delegate = function (this$,args){ var temp__5802__auto__ = cljs.core.meta(this$); if(cljs.core.truth_(temp__5802__auto__)){ var m = temp__5802__auto__; var temp__5802__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq); if(cljs.core.truth_(temp__5802__auto____$1)){ var meth = temp__5802__auto____$1; return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args); } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43678,this$,args); } } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43678,this$,args); } }; var G__43684 = function (this$,var_args){ var args = null; if (arguments.length > 1) { var G__43685__i = 0, G__43685__a = new Array(arguments.length - 1); while (G__43685__i < G__43685__a.length) {G__43685__a[G__43685__i] = arguments[G__43685__i + 1]; ++G__43685__i;} args = new cljs.core.IndexedSeq(G__43685__a,0,null); } return G__43684__delegate.call(this,this$,args);}; G__43684.cljs$lang$maxFixedArity = 1; G__43684.cljs$lang$applyTo = (function (arglist__43686){ var this$ = cljs.core.first(arglist__43686); var args = cljs.core.rest(arglist__43686); return G__43684__delegate(this$,args); }); G__43684.cljs$core$IFn$_invoke$arity$variadic = G__43684__delegate; return G__43684; })() ; ;})(seq__43262_43642,chunk__43263_43643,count__43264_43644,i__43265_43645,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43679,meth_sym_43680,env_43681,multi_method_var_43682,multi_method_43683,vec__43294_43676,meth_name_43677,f_43678,seq__43262_43667__$1,temp__5804__auto___43665,extend_via_metadata_43638,proto_ns_43639,pns_43640,pns_str_43641,vec__43259,proto,mmap)) })():f_43678)); var G__43687 = cljs.core.next(seq__43262_43667__$1); var G__43688 = null; var G__43689 = (0); var G__43690 = (0); seq__43262_43642 = G__43687; chunk__43263_43643 = G__43688; count__43264_43644 = G__43689; i__43265_43645 = G__43690; continue; } } else { } } break; } var G__43691 = seq__42934; var G__43692 = chunk__42937; var G__43693 = count__42938; var G__43694 = (i__42939 + (1)); seq__42934 = G__43691; chunk__42937 = G__43692; count__42938 = G__43693; i__42939 = G__43694; continue; } else { var temp__5804__auto__ = cljs.core.seq(seq__42934); if(temp__5804__auto__){ var seq__42934__$1 = temp__5804__auto__; if(cljs.core.chunked_seq_QMARK_(seq__42934__$1)){ var c__5548__auto__ = cljs.core.chunk_first(seq__42934__$1); var G__43695 = cljs.core.chunk_rest(seq__42934__$1); var G__43696 = c__5548__auto__; var G__43697 = cljs.core.count(c__5548__auto__); var G__43698 = (0); seq__42934 = G__43695; chunk__42937 = G__43696; count__42938 = G__43697; i__42939 = G__43698; continue; } else { var vec__43298 = cljs.core.first(seq__42934__$1); var proto = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43298,(0),null); var mmap = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43298,(1),null); var extend_via_metadata_43699 = new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794).cljs$core$IFn$_invoke$arity$1(proto); var proto_ns_43700 = new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(proto); var pns_43701 = sci.impl.types.getName(proto_ns_43700); var pns_str_43702 = (cljs.core.truth_(extend_via_metadata_43699)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(pns_43701):null); var seq__43301_43704 = cljs.core.seq(mmap); var chunk__43302_43705 = null; var count__43303_43706 = (0); var i__43304_43707 = (0); while(true){ if((i__43304_43707 < count__43303_43706)){ var vec__43333_43708 = chunk__43302_43705.cljs$core$IIndexed$_nth$arity$2(null,i__43304_43707); var meth_name_43709 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43333_43708,(0),null); var f_43710 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43333_43708,(1),null); var meth_str_43711 = cljs.core.name(meth_name_43709); var meth_sym_43712 = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43711); var env_43713 = cljs.core.deref(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())); var multi_method_var_43714 = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43713,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),pns_43701,meth_sym_43712], null)); var multi_method_43715 = cljs.core.deref(multi_method_var_43714); sci.impl.multimethods.multi_fn_add_method_impl(multi_method_43715,atype,(cljs.core.truth_(extend_via_metadata_43699)?(function (){var fq = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43702,meth_str_43711); return ((function (seq__43301_43704,chunk__43302_43705,count__43303_43706,i__43304_43707,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43711,meth_sym_43712,env_43713,multi_method_var_43714,multi_method_43715,vec__43333_43708,meth_name_43709,f_43710,extend_via_metadata_43699,proto_ns_43700,pns_43701,pns_str_43702,vec__43298,proto,mmap,seq__42934__$1,temp__5804__auto__){ return (function() { var G__43716__delegate = function (this$,args){ var temp__5802__auto__ = cljs.core.meta(this$); if(cljs.core.truth_(temp__5802__auto__)){ var m = temp__5802__auto__; var temp__5802__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq); if(cljs.core.truth_(temp__5802__auto____$1)){ var meth = temp__5802__auto____$1; return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args); } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43710,this$,args); } } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43710,this$,args); } }; var G__43716 = function (this$,var_args){ var args = null; if (arguments.length > 1) { var G__43717__i = 0, G__43717__a = new Array(arguments.length - 1); while (G__43717__i < G__43717__a.length) {G__43717__a[G__43717__i] = arguments[G__43717__i + 1]; ++G__43717__i;} args = new cljs.core.IndexedSeq(G__43717__a,0,null); } return G__43716__delegate.call(this,this$,args);}; G__43716.cljs$lang$maxFixedArity = 1; G__43716.cljs$lang$applyTo = (function (arglist__43718){ var this$ = cljs.core.first(arglist__43718); var args = cljs.core.rest(arglist__43718); return G__43716__delegate(this$,args); }); G__43716.cljs$core$IFn$_invoke$arity$variadic = G__43716__delegate; return G__43716; })() ; ;})(seq__43301_43704,chunk__43302_43705,count__43303_43706,i__43304_43707,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43711,meth_sym_43712,env_43713,multi_method_var_43714,multi_method_43715,vec__43333_43708,meth_name_43709,f_43710,extend_via_metadata_43699,proto_ns_43700,pns_43701,pns_str_43702,vec__43298,proto,mmap,seq__42934__$1,temp__5804__auto__)) })():f_43710)); var G__43719 = seq__43301_43704; var G__43720 = chunk__43302_43705; var G__43721 = count__43303_43706; var G__43722 = (i__43304_43707 + (1)); seq__43301_43704 = G__43719; chunk__43302_43705 = G__43720; count__43303_43706 = G__43721; i__43304_43707 = G__43722; continue; } else { var temp__5804__auto___43723__$1 = cljs.core.seq(seq__43301_43704); if(temp__5804__auto___43723__$1){ var seq__43301_43724__$1 = temp__5804__auto___43723__$1; if(cljs.core.chunked_seq_QMARK_(seq__43301_43724__$1)){ var c__5548__auto___43725 = cljs.core.chunk_first(seq__43301_43724__$1); var G__43726 = cljs.core.chunk_rest(seq__43301_43724__$1); var G__43727 = c__5548__auto___43725; var G__43728 = cljs.core.count(c__5548__auto___43725); var G__43729 = (0); seq__43301_43704 = G__43726; chunk__43302_43705 = G__43727; count__43303_43706 = G__43728; i__43304_43707 = G__43729; continue; } else { var vec__43342_43730 = cljs.core.first(seq__43301_43724__$1); var meth_name_43731 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43342_43730,(0),null); var f_43732 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43342_43730,(1),null); var meth_str_43733 = cljs.core.name(meth_name_43731); var meth_sym_43734 = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43733); var env_43735 = cljs.core.deref(new cljs.core.Keyword(null,"env","env",-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())); var multi_method_var_43736 = cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43735,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"namespaces","namespaces",-1444157469),pns_43701,meth_sym_43734], null)); var multi_method_43737 = cljs.core.deref(multi_method_var_43736); sci.impl.multimethods.multi_fn_add_method_impl(multi_method_43737,atype,(cljs.core.truth_(extend_via_metadata_43699)?(function (){var fq = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43702,meth_str_43733); return ((function (seq__43301_43704,chunk__43302_43705,count__43303_43706,i__43304_43707,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43733,meth_sym_43734,env_43735,multi_method_var_43736,multi_method_43737,vec__43342_43730,meth_name_43731,f_43732,seq__43301_43724__$1,temp__5804__auto___43723__$1,extend_via_metadata_43699,proto_ns_43700,pns_43701,pns_str_43702,vec__43298,proto,mmap,seq__42934__$1,temp__5804__auto__){ return (function() { var G__43738__delegate = function (this$,args){ var temp__5802__auto__ = cljs.core.meta(this$); if(cljs.core.truth_(temp__5802__auto__)){ var m = temp__5802__auto__; var temp__5802__auto____$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq); if(cljs.core.truth_(temp__5802__auto____$1)){ var meth = temp__5802__auto____$1; return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args); } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43732,this$,args); } } else { return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43732,this$,args); } }; var G__43738 = function (this$,var_args){ var args = null; if (arguments.length > 1) { var G__43740__i = 0, G__43740__a = new Array(arguments.length - 1); while (G__43740__i < G__43740__a.length) {G__43740__a[G__43740__i] = arguments[G__43740__i + 1]; ++G__43740__i;} args = new cljs.core.IndexedSeq(G__43740__a,0,null); } return G__43738__delegate.call(this,this$,args);}; G__43738.cljs$lang$maxFixedArity = 1; G__43738.cljs$lang$applyTo = (function (arglist__43741){ var this$ = cljs.core.first(arglist__43741); var args = cljs.core.rest(arglist__43741); return G__43738__delegate(this$,args); }); G__43738.cljs$core$IFn$_invoke$arity$variadic = G__43738__delegate; return G__43738; })() ; ;})(seq__43301_43704,chunk__43302_43705,count__43303_43706,i__43304_43707,seq__42934,chunk__42937,count__42938,i__42939,fq,meth_str_43733,meth_sym_43734,env_43735,multi_method_var_43736,multi_method_43737,vec__43342_43730,meth_name_43731,f_43732,seq__43301_43724__$1,temp__5804__auto___43723__$1,extend_via_metadata_43699,proto_ns_43700,pns_43701,pns_str_43702,vec__43298,proto,mmap,seq__42934__$1,temp__5804__auto__)) })():f_43732)); var G__43743 = cljs.core.next(seq__43301_43724__$1); var G__43744 = null; var G__43745 = (0); var G__43746 = (0); seq__43301_43704 = G__43743; chunk__43302_43705 = G__43744; count__43303_43706 = G__43745; i__43304_43707 = G__43746; continue; } } else { } } break; } var G__43747 = cljs.core.next(seq__42934__$1); var G__43748 = null; var G__43749 = (0); var G__43750 = (0); seq__42934 = G__43747; chunk__42937 = G__43748; count__42938 = G__43749; i__42939 = G__43750; continue; } } else { return null; } } break; } })); (sci.impl.protocols.extend.cljs$lang$maxFixedArity = (1)); /** @this {Function} */ (sci.impl.protocols.extend.cljs$lang$applyTo = (function (seq42924){ var G__42925 = cljs.core.first(seq42924); var seq42924__$1 = cljs.core.next(seq42924); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__42925,seq42924__$1); })); /** * Processes single args+body pair for extending via metadata */ sci.impl.protocols.process_single_extend_meta = (function sci$impl$protocols$process_single_extend_meta(fq,p__43365,default_method_QMARK_){ var vec__43366 = p__43365; var seq__43367 = cljs.core.seq(vec__43366); var first__43368 = cljs.core.first(seq__43367); var seq__43367__$1 = cljs.core.next(seq__43367); var args = first__43368; var body = seq__43367__$1; return (new cljs.core.List(null,args,(new cljs.core.List(null,(cljs.core.truth_(default_method_QMARK_)?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,"farg__43356__auto__","farg__43356__auto__",1722841654,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","if-let","cljs.core/if-let",1346583165,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,"m__43357__auto__","m__43357__auto__",-1256252281,null),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","meta","cljs.core/meta",-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43356__auto__","farg__43356__auto__",1722841654,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","if-let","cljs.core/if-let",1346583165,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,"meth__43358__auto__","meth__43358__auto__",-1272288892,null),null,(1),null)),(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","get","cljs.core/get",-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"m__43357__auto__","m__43357__auto__",-1256252281,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43358__auto__","meth__43358__auto__",-1272288892,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(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$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43358__auto__","meth__43358__auto__",-1272288892,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43356__auto__","farg__43356__auto__",1722841654,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43360__auto__","default__43360__auto__",259975546,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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(null,"if","if",1181717262,null),null,(1),null)),(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","not=","cljs.core/not=",1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43360__auto__","default__43360__auto__",259975546,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43358__auto__","meth__43358__auto__",-1272288892,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43358__auto__","meth__43358__auto__",-1272288892,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(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$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43358__auto__","meth__43358__auto__",-1272288892,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43356__auto__","farg__43356__auto__",1722841654,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43360__auto__","default__43360__auto__",259975546,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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(null,"if","if",1181717262,null),null,(1),null)),(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","not=","cljs.core/not=",1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43360__auto__","default__43360__auto__",259975546,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43358__auto__","meth__43358__auto__",-1272288892,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43358__auto__","meth__43358__auto__",-1272288892,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))):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,"farg__43361__auto__","farg__43361__auto__",28850410,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","if-let","cljs.core/if-let",1346583165,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,"m__43362__auto__","m__43362__auto__",32103090,null),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","meta","cljs.core/meta",-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43361__auto__","farg__43361__auto__",28850410,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","if-let","cljs.core/if-let",1346583165,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,"meth__43363__auto__","meth__43363__auto__",756259232,null),null,(1),null)),(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","get","cljs.core/get",-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"m__43362__auto__","m__43362__auto__",32103090,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"quote","quote",1377916282,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43363__auto__","meth__43363__auto__",756259232,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),(2),null)); }); sci.impl.protocols.process_single = (function sci$impl$protocols$process_single(fq,p__43429){ var vec__43430 = p__43429; var seq__43431 = cljs.core.seq(vec__43430); var first__43432 = cljs.core.first(seq__43431); var seq__43431__$1 = cljs.core.next(seq__43431); var args = first__43432; var body = seq__43431__$1; return (new cljs.core.List(null,args,(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,"farg__43423__auto__","farg__43423__auto__",1905825111,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43425__auto__","meth__43425__auto__",-1386137286,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","type","cljs.core/type",-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"farg__43423__auto__","farg__43423__auto__",1905825111,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43426__auto__","default__43426__auto__",-68140947,null),null,(1),null)),(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","get-method","cljs.core/get-method",-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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(null,"if","if",1181717262,null),null,(1),null)),(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","not=","cljs.core/not=",1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"default__43426__auto__","default__43426__auto__",-68140947,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43425__auto__","meth__43425__auto__",-1386137286,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(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","apply","cljs.core/apply",1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,"meth__43425__auto__","meth__43425__auto__",-1386137286,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"do","do",1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(2),null)); }); sci.impl.protocols.process_methods = (function sci$impl$protocols$process_methods(ctx,type,meths,protocol_ns,extend_via_metadata){ var default_method_QMARK_ = sci.impl.protocols.default_QMARK_(ctx,type); return cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43473){ var vec__43474 = p__43473; var seq__43475 = cljs.core.seq(vec__43474); var first__43476 = cljs.core.first(seq__43475); var seq__43475__$1 = cljs.core.next(seq__43475); var meth_name = first__43476; var fn_body = seq__43475__$1; var fq = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(protocol_ns,cljs.core.name(meth_name)); var fn_body__$1 = (cljs.core.truth_(extend_via_metadata)?((cljs.core.vector_QMARK_(cljs.core.first(fn_body)))?sci.impl.protocols.process_single_extend_meta(fq,fn_body,default_method_QMARK_):cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__43463_SHARP_){ return sci.impl.protocols.process_single_extend_meta(fq,p1__43463_SHARP_,default_method_QMARK_); }),fn_body)):((default_method_QMARK_)?((cljs.core.vector_QMARK_(cljs.core.first(fn_body)))?sci.impl.protocols.process_single(fq,fn_body):cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__43464_SHARP_){ return sci.impl.protocols.process_single(fq,p1__43464_SHARP_); }),fn_body)):fn_body )); if(default_method_QMARK_){ return 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","defmethod","cljs.core/defmethod",-180785162,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,"default","default",-1987822328),null,(1),null)),fn_body__$1], 0)))); } else { return 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","defmethod","cljs.core/defmethod",-180785162,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,type,null,(1),null)),fn_body__$1], 0)))); } }),meths); }); sci.impl.protocols.cljs_type_symbols = new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Symbol(null,"default","default",-347290801,null),sci.impl.protocols.extend_default_val,new cljs.core.Symbol(null,"object","object",-1179821820,null),new cljs.core.Symbol("js","Object","js/Object",61215323,null),new cljs.core.Symbol(null,"string","string",-349010059,null),new cljs.core.Symbol("js","String","js/String",-2070054036,null),new cljs.core.Symbol(null,"number","number",-1084057331,null),new cljs.core.Symbol("js","Number","js/Number",-508133572,null),new cljs.core.Symbol(null,"array","array",-440182315,null),new cljs.core.Symbol("js","Array","js/Array",-423508366,null),new cljs.core.Symbol(null,"function","function",-486723946,null),new cljs.core.Symbol("js","Function","js/Function",-749892063,null),new cljs.core.Symbol(null,"boolean","boolean",-278886877,null),new cljs.core.Symbol("js","Boolean","js/Boolean",1661145260,null)], null); sci.impl.protocols.type__GT_str = (function sci$impl$protocols$type__GT_str(t){ if((!((t == null)))){ return cljs.core.str.cljs$core$IFn$_invoke$arity$1(t); } else { return "nil"; } }); sci.impl.protocols.extend_protocol = (function sci$impl$protocols$extend_protocol(var_args){ var args__5755__auto__ = []; var len__5749__auto___43767 = arguments.length; var i__5750__auto___43768 = (0); while(true){ if((i__5750__auto___43768 < len__5749__auto___43767)){ args__5755__auto__.push((arguments[i__5750__auto___43768])); var G__43770 = (i__5750__auto___43768 + (1)); i__5750__auto___43768 = G__43770; 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.protocols.extend_protocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__); }); (sci.impl.protocols.extend_protocol.cljs$core$IFn$_invoke$arity$variadic = (function (form,_,protocol_name,impls){ var ctx = sci.ctx_store.get_ctx(); var print_writer_QMARK_ = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,"IPrintWithWriter","IPrintWithWriter",-1205316154,null),protocol_name); var impls__$1 = sci.impl.utils.split_when((function (p1__43483_SHARP_){ return (!(cljs.core.seq_QMARK_(p1__43483_SHARP_))); }),impls); var protocol_var = (function (){var or__5025__auto__ = (function (){var G__43495 = ctx; var G__43496 = new cljs.core.Keyword(null,"bindingx","bindingx",679516896).cljs$core$IFn$_invoke$arity$1(ctx); var G__43497 = protocol_name; var fexpr__43494 = cljs.core.deref(sci.impl.utils.eval_resolve_state); return (fexpr__43494.cljs$core$IFn$_invoke$arity$3 ? fexpr__43494.cljs$core$IFn$_invoke$arity$3(G__43495,G__43496,G__43497) : fexpr__43494.call(null,G__43495,G__43496,G__43497)); })(); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { var or__5025__auto____$1 = ((print_writer_QMARK_)?new cljs.core.Keyword("sci.impl.protocols","IPrintWithWriter","sci.impl.protocols/IPrintWithWriter",1832791161):null); if(cljs.core.truth_(or__5025__auto____$1)){ return or__5025__auto____$1; } else { return sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(["Protocol not found: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(''),form); } } })(); var protocol_data = ((sci.impl.utils.var_QMARK_(protocol_var))?cljs.core.deref(protocol_var):null); var extend_via_metadata = new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794).cljs$core$IFn$_invoke$arity$1(protocol_data); var protocol_ns = new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(protocol_data); var pns = (((protocol_var instanceof cljs.core.Keyword))?"sci.impl.protocols":cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns))); var expansion = 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)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43499){ var vec__43500 = p__43499; var seq__43501 = cljs.core.seq(vec__43500); var first__43502 = cljs.core.first(seq__43501); var seq__43501__$1 = cljs.core.next(seq__43501); var type = first__43502; var meths = seq__43501__$1; var type__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$3(sci.impl.protocols.cljs_type_symbols,type,type); if(print_writer_QMARK_){ return 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","alter-meta!","cljs.core/alter-meta!",574694262,null),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,(1),null)),(new cljs.core.List(null,type__$1,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","assoc","cljs.core/assoc",322326297,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword("sci.impl","print-method","sci.impl/print-method",281191566),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol("cljs.core","fn","cljs.core/fn",-1065745098,null),null,(1),null)),cljs.core.rest(cljs.core.first(meths))))),null,(1),null))], 0)))); } else { return 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(null,"do","do",1686842252,null),null,(1),null)),(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","alter-var-root","cljs.core/alter-var-root",-1342668238,null),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","update","cljs.core/update",-908565906,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"satisfies","satisfies",-311664218),null,(1),null)),(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","fnil","cljs.core/fnil",479587341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","conj","cljs.core/conj",-460750931,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))], 0)))),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol("sci.impl.protocols","type->str","sci.impl.protocols/type->str",1214133319,null),null,(1),null)),(new cljs.core.List(null,type__$1,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.protocols.process_methods(ctx,type__$1,meths,pns,extend_via_metadata)], 0)))); } }),impls__$1)))); return expansion; })); (sci.impl.protocols.extend_protocol.cljs$lang$maxFixedArity = (3)); /** @this {Function} */ (sci.impl.protocols.extend_protocol.cljs$lang$applyTo = (function (seq43485){ var G__43486 = cljs.core.first(seq43485); var seq43485__$1 = cljs.core.next(seq43485); var G__43487 = cljs.core.first(seq43485__$1); var seq43485__$2 = cljs.core.next(seq43485__$1); var G__43488 = cljs.core.first(seq43485__$2); var seq43485__$3 = cljs.core.next(seq43485__$2); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43486,G__43487,G__43488,seq43485__$3); })); sci.impl.protocols.extend_type = (function sci$impl$protocols$extend_type(var_args){ var args__5755__auto__ = []; var len__5749__auto___43793 = arguments.length; var i__5750__auto___43794 = (0); while(true){ if((i__5750__auto___43794 < len__5749__auto___43793)){ args__5755__auto__.push((arguments[i__5750__auto___43794])); var G__43795 = (i__5750__auto___43794 + (1)); i__5750__auto___43794 = G__43795; 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.protocols.extend_type.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__); }); (sci.impl.protocols.extend_type.cljs$core$IFn$_invoke$arity$variadic = (function (form,_env,atype,proto_PLUS_meths){ var ctx = sci.ctx_store.get_ctx(); var atype__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$3(sci.impl.protocols.cljs_type_symbols,atype,atype); var proto_PLUS_meths__$1 = sci.impl.utils.split_when((function (p1__43511_SHARP_){ return (!(cljs.core.seq_QMARK_(p1__43511_SHARP_))); }),proto_PLUS_meths); 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(null,"do","do",1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43549){ var vec__43550 = p__43549; var seq__43551 = cljs.core.seq(vec__43550); var first__43552 = cljs.core.first(seq__43551); var seq__43551__$1 = cljs.core.next(seq__43551); var proto = first__43552; var meths = seq__43551__$1; var protocol_var = (function (){var or__5025__auto__ = (function (){var G__43561 = ctx; var G__43562 = new cljs.core.Keyword(null,"bindingx","bindingx",679516896).cljs$core$IFn$_invoke$arity$1(ctx); var G__43563 = proto; var fexpr__43560 = cljs.core.deref(sci.impl.utils.eval_resolve_state); return (fexpr__43560.cljs$core$IFn$_invoke$arity$3 ? fexpr__43560.cljs$core$IFn$_invoke$arity$3(G__43561,G__43562,G__43563) : fexpr__43560.call(null,G__43561,G__43562,G__43563)); })(); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { return sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(["Protocol not found: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(proto)].join(''),form); } })(); var proto_data = cljs.core.deref(protocol_var); var protocol_ns = new cljs.core.Keyword(null,"ns","ns",441598760).cljs$core$IFn$_invoke$arity$1(proto_data); var pns = cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns)); var extend_via_metadata = new cljs.core.Keyword(null,"extend-via-metadata","extend-via-metadata",-427346794).cljs$core$IFn$_invoke$arity$1(proto_data); return 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(null,"do","do",1686842252,null),null,(1),null)),(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","alter-var-root","cljs.core/alter-var-root",-1342668238,null),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol(null,"var","var",870848730,null),null,(1),null)),(new cljs.core.List(null,proto,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","update","cljs.core/update",-908565906,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,"satisfies","satisfies",-311664218),null,(1),null)),(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","fnil","cljs.core/fnil",479587341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol("cljs.core","conj","cljs.core/conj",-460750931,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))], 0)))),null,(1),null)),(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$2((new cljs.core.List(null,new cljs.core.Symbol("sci.impl.protocols","type->str","sci.impl.protocols/type->str",1214133319,null),null,(1),null)),(new cljs.core.List(null,atype__$1,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.protocols.process_methods(ctx,atype__$1,meths,pns,extend_via_metadata)], 0)))); }),proto_PLUS_meths__$1)))); })); (sci.impl.protocols.extend_type.cljs$lang$maxFixedArity = (3)); /** @this {Function} */ (sci.impl.protocols.extend_type.cljs$lang$applyTo = (function (seq43515){ var G__43516 = cljs.core.first(seq43515); var seq43515__$1 = cljs.core.next(seq43515); var G__43517 = cljs.core.first(seq43515__$1); var seq43515__$2 = cljs.core.next(seq43515__$1); var G__43518 = cljs.core.first(seq43515__$2); var seq43515__$3 = cljs.core.next(seq43515__$2); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43516,G__43517,G__43518,seq43515__$3); })); sci.impl.protocols.find_matching_non_default_method = (function sci$impl$protocols$find_matching_non_default_method(protocol,obj){ var or__5025__auto__ = (function (){var temp__5804__auto__ = new cljs.core.Keyword(null,"satisfies","satisfies",-311664218).cljs$core$IFn$_invoke$arity$1(protocol); if(cljs.core.truth_(temp__5804__auto__)){ var sats = temp__5804__auto__; var or__5025__auto__ = cljs.core.contains_QMARK_(sats,sci.impl.protocols.extend_default_val); if(or__5025__auto__){ return or__5025__auto__; } else { var or__5025__auto____$1 = (((obj == null))?cljs.core.contains_QMARK_(sats,"nil"):null); if(cljs.core.truth_(or__5025__auto____$1)){ return or__5025__auto____$1; } else { var temp__5804__auto____$1 = sci.impl.types.type_impl(obj); if(cljs.core.truth_(temp__5804__auto____$1)){ var t = temp__5804__auto____$1; return cljs.core.contains_QMARK_(sats,sci.impl.protocols.type__GT_str(t)); } else { return null; } } } } else { return null; } })(); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { return cljs.core.boolean$(cljs.core.some((function (p1__43565_SHARP_){ var temp__5804__auto__ = cljs.core.get_method(p1__43565_SHARP_,sci.impl.types.type_impl(obj)); if(cljs.core.truth_(temp__5804__auto__)){ var m = temp__5804__auto__; var ms = cljs.core.methods$(p1__43565_SHARP_); var default$ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(ms,new cljs.core.Keyword(null,"default","default",-1987822328)); return (!((m === default$))); } else { return null; } }),new cljs.core.Keyword(null,"methods","methods",453930866).cljs$core$IFn$_invoke$arity$1(protocol))); } }); sci.impl.protocols.satisfies_QMARK_ = (function sci$impl$protocols$satisfies_QMARK_(protocol,obj){ if((obj instanceof sci.impl.types.Reified)){ return cljs.core.contains_QMARK_(obj.sci$impl$types$IReified$getProtocols$arity$1(null),protocol); } else { var p = new cljs.core.Keyword(null,"protocol","protocol",652470118).cljs$core$IFn$_invoke$arity$1(protocol); var or__5025__auto__ = (function (){var and__5023__auto__ = p; if(cljs.core.truth_(and__5023__auto__)){ var pred__43575 = cljs.core._EQ_; var expr__43576 = p; if(cljs.core.truth_((pred__43575.cljs$core$IFn$_invoke$arity$2 ? pred__43575.cljs$core$IFn$_invoke$arity$2(cljs.core.IDeref,expr__43576) : pred__43575.call(null,cljs.core.IDeref,expr__43576)))){ if((!((obj == null)))){ if((((obj.cljs$lang$protocol_mask$partition0$ & (32768))) || ((cljs.core.PROTOCOL_SENTINEL === obj.cljs$core$IDeref$)))){ return true; } else { if((!obj.cljs$lang$protocol_mask$partition0$)){ return cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj); } } else { if(cljs.core.truth_((pred__43575.cljs$core$IFn$_invoke$arity$2 ? pred__43575.cljs$core$IFn$_invoke$arity$2(cljs.core.ISwap,expr__43576) : pred__43575.call(null,cljs.core.ISwap,expr__43576)))){ if((!((obj == null)))){ if((((obj.cljs$lang$protocol_mask$partition1$ & (65536))) || ((cljs.core.PROTOCOL_SENTINEL === obj.cljs$core$ISwap$)))){ return true; } else { if((!obj.cljs$lang$protocol_mask$partition1$)){ return cljs.core.native_satisfies_QMARK_(cljs.core.ISwap,obj); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_(cljs.core.ISwap,obj); } } else { if(cljs.core.truth_((pred__43575.cljs$core$IFn$_invoke$arity$2 ? pred__43575.cljs$core$IFn$_invoke$arity$2(cljs.core.IReset,expr__43576) : pred__43575.call(null,cljs.core.IReset,expr__43576)))){ if((!((obj == null)))){ if((((obj.cljs$lang$protocol_mask$partition1$ & (32768))) || ((cljs.core.PROTOCOL_SENTINEL === obj.cljs$core$IReset$)))){ return true; } else { if((!obj.cljs$lang$protocol_mask$partition1$)){ return cljs.core.native_satisfies_QMARK_(cljs.core.IReset,obj); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_(cljs.core.IReset,obj); } } else { if(cljs.core.truth_((pred__43575.cljs$core$IFn$_invoke$arity$2 ? pred__43575.cljs$core$IFn$_invoke$arity$2(cljs.core.IRecord,expr__43576) : pred__43575.call(null,cljs.core.IRecord,expr__43576)))){ if((!((obj == null)))){ if((((obj.cljs$lang$protocol_mask$partition0$ & (67108864))) || ((cljs.core.PROTOCOL_SENTINEL === obj.cljs$core$IRecord$)))){ return true; } else { if((!obj.cljs$lang$protocol_mask$partition0$)){ return cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,obj); } else { return false; } } } else { return cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,obj); } } else { throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__43576)].join(''))); } } } } } else { return and__5023__auto__; } })(); if(cljs.core.truth_(or__5025__auto__)){ return or__5025__auto__; } else { return sci.impl.protocols.find_matching_non_default_method(protocol,obj); } } }); sci.impl.protocols.instance_impl = (function sci$impl$protocols$instance_impl(clazz,x){ if((clazz instanceof sci.lang.Type)){ if((((!((x == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === x.sci$impl$types$SciTypeInstance$))))?true:false):false)){ return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clazz,x.sci$impl$types$SciTypeInstance$_get_type$arity$1(null)); } else { return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clazz,new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(x))); } } else { if(cljs.core.map_QMARK_(clazz)){ return sci.impl.protocols.satisfies_QMARK_(clazz,x); } else { return (x instanceof clazz); } } }); /** * Returns true if atype extends protocol */ sci.impl.protocols.extends_QMARK_ = (function sci$impl$protocols$extends_QMARK_(protocol,atype){ return cljs.core.boolean$(cljs.core.some((function (p1__43595_SHARP_){ return cljs.core.get_method(p1__43595_SHARP_,atype); }),new cljs.core.Keyword(null,"methods","methods",453930866).cljs$core$IFn$_invoke$arity$1(protocol))); }); //# sourceMappingURL=sci.impl.protocols.js.map