goog.provide('sci.impl.core_protocols'); if((typeof sci !== 'undefined') && (typeof sci.impl !== 'undefined') && (typeof sci.impl.core_protocols !== 'undefined') && (typeof sci.impl.core_protocols._deref !== 'undefined')){ } else { sci.impl.core_protocols._deref = (function (){var method_table__5622__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var prefer_table__5623__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var method_cache__5624__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var cached_hierarchy__5625__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var hierarchy__5626__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),(function (){var fexpr__43220 = cljs.core.get_global_hierarchy; return (fexpr__43220.cljs$core$IFn$_invoke$arity$0 ? fexpr__43220.cljs$core$IFn$_invoke$arity$0() : fexpr__43220.call(null)); })()); return (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2("sci.impl.core-protocols","-deref"),sci.impl.types.type_impl,new cljs.core.Keyword(null,"default","default",-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__)); })(); } sci.impl.core_protocols._deref.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword("sci.impl.protocols","reified","sci.impl.protocols/reified",-2019939396),(function (ref){ var methods$ = sci.impl.types.getMethods(ref); var fexpr__43226 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,"-deref","-deref",-283116853,null)); return (fexpr__43226.cljs$core$IFn$_invoke$arity$1 ? fexpr__43226.cljs$core$IFn$_invoke$arity$1(ref) : fexpr__43226.call(null,ref)); })); sci.impl.core_protocols.ideref_default = sci.impl.core_protocols._deref.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,"default","default",-1987822328),(function (ref){ return cljs.core.deref(ref); })); sci.impl.core_protocols.deref_STAR_ = (function sci$impl$core_protocols$deref_STAR_(x){ if((function (){var or__5025__auto__ = (x instanceof cljs.core.Atom); if(or__5025__auto__){ return or__5025__auto__; } else { if((!((x == null)))){ if((((x.cljs$lang$protocol_mask$partition0$ & (32768))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IDeref$)))){ return true; } else { return false; } } else { return false; } } })()){ return cljs.core.deref(x); } else { return sci.impl.core_protocols._deref.cljs$core$IFn$_invoke$arity$1(x); } }); sci.impl.core_protocols.cljs_core_ns = sci.lang.__GT_Namespace(new cljs.core.Symbol(null,"cljs.core","cljs.core",770546058,null),null); sci.impl.core_protocols.deref_protocol = sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,"cljs.core.IDeref","cljs.core.IDeref",-783543206,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"protocol","protocol",652470118),cljs.core.IDeref,new cljs.core.Keyword(null,"methods","methods",453930866),cljs.core.PersistentHashSet.createAsIfByAssoc([sci.impl.core_protocols._deref]),new cljs.core.Keyword(null,"ns","ns",441598760),sci.impl.core_protocols.cljs_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"ns","ns",441598760),sci.impl.core_protocols.cljs_core_ns], null)); if((typeof sci !== 'undefined') && (typeof sci.impl !== 'undefined') && (typeof sci.impl.core_protocols !== 'undefined') && (typeof sci.impl.core_protocols._swap_BANG_ !== 'undefined')){ } else { sci.impl.core_protocols._swap_BANG_ = (function (){var method_table__5622__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var prefer_table__5623__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var method_cache__5624__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var cached_hierarchy__5625__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var hierarchy__5626__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),(function (){var fexpr__43253 = cljs.core.get_global_hierarchy; return (fexpr__43253.cljs$core$IFn$_invoke$arity$0 ? fexpr__43253.cljs$core$IFn$_invoke$arity$0() : fexpr__43253.call(null)); })()); return (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2("sci.impl.core-protocols","-swap!"),sci.impl.types.type_impl,new cljs.core.Keyword(null,"default","default",-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__)); })(); } if((typeof sci !== 'undefined') && (typeof sci.impl !== 'undefined') && (typeof sci.impl.core_protocols !== 'undefined') && (typeof sci.impl.core_protocols._reset_BANG_ !== 'undefined')){ } else { sci.impl.core_protocols._reset_BANG_ = (function (){var method_table__5622__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var prefer_table__5623__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var method_cache__5624__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var cached_hierarchy__5625__auto__ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY); var hierarchy__5626__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,"hierarchy","hierarchy",-1053470341),(function (){var fexpr__43258 = cljs.core.get_global_hierarchy; return (fexpr__43258.cljs$core$IFn$_invoke$arity$0 ? fexpr__43258.cljs$core$IFn$_invoke$arity$0() : fexpr__43258.call(null)); })()); return (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2("sci.impl.core-protocols","-reset!"),sci.impl.types.type_impl,new cljs.core.Keyword(null,"default","default",-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__)); })(); } sci.impl.core_protocols._swap_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword("sci.impl.protocols","reified","sci.impl.protocols/reified",-2019939396),(function() { var G__43312 = null; var G__43312__2 = (function (ref,f){ var methods$ = sci.impl.types.getMethods(ref); var fexpr__43269 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,"-swap!","-swap!",-535359318,null)); return (fexpr__43269.cljs$core$IFn$_invoke$arity$2 ? fexpr__43269.cljs$core$IFn$_invoke$arity$2(ref,f) : fexpr__43269.call(null,ref,f)); }); var G__43312__3 = (function (ref,f,a1){ var methods$ = sci.impl.types.getMethods(ref); var fexpr__43270 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,"-swap!","-swap!",-535359318,null)); return (fexpr__43270.cljs$core$IFn$_invoke$arity$3 ? fexpr__43270.cljs$core$IFn$_invoke$arity$3(ref,f,a1) : fexpr__43270.call(null,ref,f,a1)); }); var G__43312__4 = (function (ref,f,a1,a2){ var methods$ = sci.impl.types.getMethods(ref); var fexpr__43272 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,"-swap!","-swap!",-535359318,null)); return (fexpr__43272.cljs$core$IFn$_invoke$arity$4 ? fexpr__43272.cljs$core$IFn$_invoke$arity$4(ref,f,a1,a2) : fexpr__43272.call(null,ref,f,a1,a2)); }); var G__43312__5 = (function() { var G__43313__delegate = function (ref,f,a1,a2,args){ var methods$ = sci.impl.types.getMethods(ref); return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,"-swap!","-swap!",-535359318,null)),ref,f,a1,a2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0)); }; var G__43313 = function (ref,f,a1,a2,var_args){ var args = null; if (arguments.length > 4) { var G__43314__i = 0, G__43314__a = new Array(arguments.length - 4); while (G__43314__i < G__43314__a.length) {G__43314__a[G__43314__i] = arguments[G__43314__i + 4]; ++G__43314__i;} args = new cljs.core.IndexedSeq(G__43314__a,0,null); } return G__43313__delegate.call(this,ref,f,a1,a2,args);}; G__43313.cljs$lang$maxFixedArity = 4; G__43313.cljs$lang$applyTo = (function (arglist__43315){ var ref = cljs.core.first(arglist__43315); arglist__43315 = cljs.core.next(arglist__43315); var f = cljs.core.first(arglist__43315); arglist__43315 = cljs.core.next(arglist__43315); var a1 = cljs.core.first(arglist__43315); arglist__43315 = cljs.core.next(arglist__43315); var a2 = cljs.core.first(arglist__43315); var args = cljs.core.rest(arglist__43315); return G__43313__delegate(ref,f,a1,a2,args); }); G__43313.cljs$core$IFn$_invoke$arity$variadic = G__43313__delegate; return G__43313; })() ; G__43312 = function(ref,f,a1,a2,var_args){ var args = var_args; switch(arguments.length){ case 2: return G__43312__2.call(this,ref,f); case 3: return G__43312__3.call(this,ref,f,a1); case 4: return G__43312__4.call(this,ref,f,a1,a2); default: var G__43318 = null; if (arguments.length > 4) { var G__43319__i = 0, G__43319__a = new Array(arguments.length - 4); while (G__43319__i < G__43319__a.length) {G__43319__a[G__43319__i] = arguments[G__43319__i + 4]; ++G__43319__i;} G__43318 = new cljs.core.IndexedSeq(G__43319__a,0,null); } return G__43312__5.cljs$core$IFn$_invoke$arity$variadic(ref,f,a1,a2, G__43318); } throw(new Error('Invalid arity: ' + arguments.length)); }; G__43312.cljs$lang$maxFixedArity = 4; G__43312.cljs$lang$applyTo = G__43312__5.cljs$lang$applyTo; G__43312.cljs$core$IFn$_invoke$arity$2 = G__43312__2; G__43312.cljs$core$IFn$_invoke$arity$3 = G__43312__3; G__43312.cljs$core$IFn$_invoke$arity$4 = G__43312__4; G__43312.cljs$core$IFn$_invoke$arity$variadic = G__43312__5.cljs$core$IFn$_invoke$arity$variadic; return G__43312; })() ); sci.impl.core_protocols._reset_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword("sci.impl.protocols","reified","sci.impl.protocols/reified",-2019939396),(function (ref,v){ var methods$ = sci.impl.types.getMethods(ref); var fexpr__43273 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,"-reset!","-reset!",1965723739,null)); return (fexpr__43273.cljs$core$IFn$_invoke$arity$2 ? fexpr__43273.cljs$core$IFn$_invoke$arity$2(ref,v) : fexpr__43273.call(null,ref,v)); })); sci.impl.core_protocols.iatom_defaults = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sci.impl.core_protocols._swap_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,"default","default",-1987822328),(function() { var G__43322__delegate = function (ref,f,args){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,ref,f,args); }; var G__43322 = function (ref,f,var_args){ var args = null; if (arguments.length > 2) { var G__43323__i = 0, G__43323__a = new Array(arguments.length - 2); while (G__43323__i < G__43323__a.length) {G__43323__a[G__43323__i] = arguments[G__43323__i + 2]; ++G__43323__i;} args = new cljs.core.IndexedSeq(G__43323__a,0,null); } return G__43322__delegate.call(this,ref,f,args);}; G__43322.cljs$lang$maxFixedArity = 2; G__43322.cljs$lang$applyTo = (function (arglist__43324){ var ref = cljs.core.first(arglist__43324); arglist__43324 = cljs.core.next(arglist__43324); var f = cljs.core.first(arglist__43324); var args = cljs.core.rest(arglist__43324); return G__43322__delegate(ref,f,args); }); G__43322.cljs$core$IFn$_invoke$arity$variadic = G__43322__delegate; return G__43322; })() ),sci.impl.core_protocols._reset_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,"default","default",-1987822328),(function (ref,v){ return cljs.core.reset_BANG_(ref,v); }))], null); sci.impl.core_protocols.swap_BANG__STAR_ = (function sci$impl$core_protocols$swap_BANG__STAR_(var_args){ var args__5755__auto__ = []; var len__5749__auto___43325 = arguments.length; var i__5750__auto___43326 = (0); while(true){ if((i__5750__auto___43326 < len__5749__auto___43325)){ args__5755__auto__.push((arguments[i__5750__auto___43326])); var G__43327 = (i__5750__auto___43326 + (1)); i__5750__auto___43326 = G__43327; continue; } else { } break; } var argseq__5756__auto__ = ((((2) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null); return sci.impl.core_protocols.swap_BANG__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__); }); (sci.impl.core_protocols.swap_BANG__STAR_.cljs$core$IFn$_invoke$arity$variadic = (function (ref,f,args){ if((function (){var or__5025__auto__ = (ref instanceof cljs.core.Atom); if(or__5025__auto__){ return or__5025__auto__; } else { if((!((ref == null)))){ if((((ref.cljs$lang$protocol_mask$partition1$ & (65536))) || ((cljs.core.PROTOCOL_SENTINEL === ref.cljs$core$ISwap$)))){ return true; } else { return false; } } else { return false; } } })()){ if(cljs.core.truth_(args)){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,ref,f,args); } else { return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(ref,f); } } else { if(cljs.core.truth_(args)){ return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.core_protocols._swap_BANG_,ref,f,args); } else { return sci.impl.core_protocols._swap_BANG_.cljs$core$IFn$_invoke$arity$2(ref,f); } } })); (sci.impl.core_protocols.swap_BANG__STAR_.cljs$lang$maxFixedArity = (2)); /** @this {Function} */ (sci.impl.core_protocols.swap_BANG__STAR_.cljs$lang$applyTo = (function (seq43280){ var G__43281 = cljs.core.first(seq43280); var seq43280__$1 = cljs.core.next(seq43280); var G__43282 = cljs.core.first(seq43280__$1); var seq43280__$2 = cljs.core.next(seq43280__$1); var self__5734__auto__ = this; return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43281,G__43282,seq43280__$2); })); sci.impl.core_protocols.reset_BANG__STAR_ = (function sci$impl$core_protocols$reset_BANG__STAR_(ref,v){ if((function (){var or__5025__auto__ = (ref instanceof cljs.core.Atom); if(or__5025__auto__){ return or__5025__auto__; } else { if((!((ref == null)))){ if((((ref.cljs$lang$protocol_mask$partition1$ & (32768))) || ((cljs.core.PROTOCOL_SENTINEL === ref.cljs$core$IReset$)))){ return true; } else { return false; } } else { return false; } } })()){ return cljs.core.reset_BANG_(ref,v); } else { return sci.impl.core_protocols._reset_BANG_.cljs$core$IFn$_invoke$arity$2(ref,v); } }); sci.impl.core_protocols.swap_protocol = sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,"cljs.core.ISwap","cljs.core.ISwap",2045511362,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"protocol","protocol",652470118),cljs.core.ISwap,new cljs.core.Keyword(null,"methods","methods",453930866),cljs.core.PersistentHashSet.createAsIfByAssoc([sci.impl.core_protocols._swap_BANG_]),new cljs.core.Keyword(null,"ns","ns",441598760),sci.impl.core_protocols.cljs_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"ns","ns",441598760),sci.impl.core_protocols.cljs_core_ns], null)); sci.impl.core_protocols.reset_protocol = sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,"cljs.core.IReset","cljs.core.IReset",348905844,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"protocol","protocol",652470118),cljs.core.IReset,new cljs.core.Keyword(null,"methods","methods",453930866),cljs.core.PersistentHashSet.createAsIfByAssoc([sci.impl.core_protocols._reset_BANG_]),new cljs.core.Keyword(null,"ns","ns",441598760),sci.impl.core_protocols.cljs_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"ns","ns",441598760),sci.impl.core_protocols.cljs_core_ns], null)); sci.impl.core_protocols.defaults = cljs.core.set(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sci.impl.core_protocols.iatom_defaults,sci.impl.core_protocols.ideref_default)); //# sourceMappingURL=sci.impl.core_protocols.js.map