PK)MRcosine/__init__.pyKMUUPJ/KUPK9:M^-cosine/config.yaml.exampleSMo0 WhٹNҥ;8V`),&jKDgdg.H||$E>!Po(at h5bΒ{:]j\]` \!Vumm+0xdt>#ė IIJ~n3أx3.2~ ww$"p[K4ޭN8qrOR<(^lE[!R9(t|Wt-<]?n'M麲!a÷+sInk:ץgbm}!etFKciv&dŢzJ8tHCUpԶSJuō)'E_1%NrIߧgɐG~Zri53Raյ1+Knk6BB;|{^x9%*܄;@po0 B9¡nVOdgHoKi!ݾJ / <H=nPeѤ.;ʟt>;"K<"J PK)Mcosine/core/__init__.pySRRRV"CS} }#C ?'1%4O!(?73/2SAW9(3=DJ:=ĜPBQjqjQYjҒx[uQEPԹxsq8.> >\PKF5]E]m{E e,:Jj}{}!)(7 .Xtm̐|> ߛ>go~/U^pw~`5;2QN?G/%yU%T<"Acqe䂼ԪQr}z ٬^-iK%g-5U2/WiJ쑋=/vkX #"EˍXJhnx>$ w.I"FӚmG^U;:(%SlmYRZ+rgeL7lqtnm 7"~8C|}WdrZ6U޶&j˓Hԋٌ_AKA̲U  س\l!mdkd K%i)n (A$k8 6Qڗh3+YE,~` WqND1Q@qs(f|C}g9SD;Ĥ]o1t%b!Gh \Ae'=%6|4ƪ@K->a~*WjCmCV{ywj0kv2 \ҶN${ aB+cD/-V帻$^ټ)sJ >~!e'_/ A{ 8.L,R\:=2bAGmzI`g8+*"pzPpOK"8\\ZU/F L/YOԷQS !tf'³#6XsG#ޕb|[ǀ%H@FĽj)] s׽qrA޸H@9k)TJ. w[`mhКGK"\w\$[N$E#$M*%A6U= X''%]RtSz R+jȮpswՐىU嚝V9i! MZ8FԬ*--x=$//G㰋x`nC0Z#|8k"Z_v Lc( ͞lpjG15M`id Lr'iNs8cPgMhvyl<`iFYՉ 'ߋjh osxS<xE):juЂHXl VINCPው f^4믇8[`LEZ^nNy(c}-QAt۠_"(|>{:؈tS'b9}N: ڐ ND1F<>+W 60N`.'_P?Չd;iɮQs^tĪyMn6}a%-UiF^QAO*)cyʲ⻂lI8R6xTGֽGP6{hb@ő`ArxTa+gΌ:9-AaR? `[5gЯLhPYϽs^\>y\Cw,\|<RP퉋g2(H \L*/dT500TW|uISJgS4ȁ1B+J4NxLx} Y_1e}L<ӆzO'?T9ޞK)d^ 0`h(B5V{z]zBFT9/@U &8dHFwdwt:LsQEzdLT_Fγ9Q#W\w9:ZհMM' *=EAÛL]%}׼4tN+Nx;NxQn%`4+Ybۢ{ڳxȠPW3 /]qfP P4RlyyUA55o戓l[EMKv=x5 qEiAbrPwml 4|Z6k>l\JiVeâDķMnHe|{zƂO KYʡGSѦq|YԤ 4WwmH=8nq0G:/gHՑ#BnwsnPKs3M.Wqcosine/core/instrument.pyTn0}+,HۧjRUY*ktOYIf'7e BXi{>\^c7./W+3xh*tU'CkQ֒,.B4ː )$A|4 Q$V $!hFJRa`?><=oBjj}Bt 1x"-i tjk7l6zEVdb_6w7h}wlQZmr(lBn>yR!B5!3neX},ٗoT4@3c;èׅN.zvx)%0(@;A(Y7kb8{!k7o] v4~Pjr0uz3Aәڴ1&a#&&6 L_%졘;yB# ֩ڱNDHʙ /+Jz"djtiޘC֮oF{32[ {Cڣ7gS6GHg7}Gi>5vHZ O<Ѫ[{ mg/vbDRǕ6`DQ*J MbBC A6xnsQ@@Ŋ))L?Ary{I7 ~Ʉ,0-ు$g|S ml;6a8 -x=[87ȥn yٙu {ӦSEcha`R"dE!j2>\\s+jAd}.K:w i[W]4T&=SÐNOpaf(3^;9{s5)p['Yʦ̈xk2m[u`KML}^SwJ:kӭ۶iJmg h-qY0uVqsaҭ(Dv s-: +Ia)؊*M845 .kr+wn} ERuzx<;)'ZC>xroo樓N))s炲yZ Yێ(T;bR K G+3PKM2M:A p5cosine/core/order_worker.pyn8zm,xq It?rHt -5nd;i+pBHp8_ g/~ͫ׿)K[S,b]QU#7AԒy$]uU$dF TD|&xg{ h%yѮXRR,)ߜ.\-p˔SeU[4ΪEqg#iK>VΪ+(rX"|UWVAҺ-XU&*eU&ӭkڏH˼()9*byoA/Ӗ&]!9le6S3Eg]ڭ=TƇӷɻ?N>?=9eݭj)2:b^ů&=OCUS"Ӿi ,l,ӓITwHoó^ҶEq䒏ѬNP8I>$ZS4i]OIQ]ZX{J5@vfDBQR˘qb6gNmN4e2Nu:C;[eM]*5H0n!,҂ @|W\D&v'Pjkg`"QkeVZqls!8 t~G7Hv״^W+;rYA[C )k|vTl+Ѧ`Q59?([5  W%+xJ԰%h>^>!Vˌ%?[ʢEſ9WsC68ʀr]0G"_5L} 䌞d%#싻{eZG,]^)? aֶnSRεN n =DxEWAJBI{NAo;eOoRlj`f8 nj9h w3P4m[-hnVY3~snx"LjnD= )H״Z侷Zi^q%mL*߉RcѵFzaA÷z#pfx`afD*)oIъ=7?R3bnn?lEڛ?j.K6l>\H x+|)Y"K \XƳ E_b#Eﭱ Ǥi_$7 P.p./F$@e @VrVl VյQG'G36R"vXWHOZvGɓ'vۀ(2R#9(~QS;ucה:ɓs&Lr6pB?+p >yALަK/$65k &bZG?YO}Ҷ]h )ϲo;2JKѾWA|___?\eZ,} ,U z:m7S~aChL;;vM\[ zyY@I#'=-lq~k˓ ռ88rf`GcgwDCS6l?& :\T7]/H/Vj-kXKv0r^L0cܝt]%Z7"ׇ}sAq^7UYԕ3rg' #@A". 0z}m\KLϭze? H9H"&դ Qb?ϬXη<%`C%q@_ցĈ cÊj0 e<: 0]7euW ЋMyYxˈ7y`A&\ԴDdr]bK.Dd&3cD/#C$P=p WHcdW uE72 $csˀ9rjSٹ!) ,[M/X$)皤e 'eOUO&gVKOxy~>E$KLvZ rUuc*s'e7.d9V.L%Pr}8޽᳓r{iɿl+UI%7}C#4N6.ŕmm b}ҧMU7tr6T%#N%jޟBہ+yhťOQebEqA #l xT%ώ#0}Nb= Îm d6l  ܌5ɮO[|NG 8)q೅_7nƜbp}kA4k\OˏxX޴/9.2JUHj%QNx@zyFe:|YW®?oSp+ G.6um{(̈́mM+i K4 l[;K+CeKv[,ͱޮ&Oaj?јD%ںgޔ& I)L ]q`X1mh;kU(@̽ɦB1PT[V e])ǶG@qLb' Jk)r".٧Xj&QFD1S+p(G"Z8) F^iUjbvF0Y/vnN=o>h DkQUᦹ@s@)qGf66غC)0e]OdC$NƉѸIӣ5SmPT_?PK2\*MX9 cosine/core/proc_workers.pyVn6}WJ W(`E6MnL$A~Y(;۾U0lI3svf苋wW}{ukZ pQgGF!B /brB뚸W(РP"mN sC&A?=mۻ}S&(AkƷjIAkg Ksbwx*A&׌QͯkB/aO j fVV fY جÂ~a\,Z J2e7IB`Cc"PofdD#3bڂ !k=On_K7}ey[0!Z,/-ytj=0Ɨ[}l <DJI %Giḇ+U.֕d(ZWW]I[*>CiڦvbLzvq};X[NG4l%"(ӆsZwo:`z140tX̩tl,x !}F<1$,";ʫW[ (F([}*q+HO.౻PE Ͱ:02kJ +k7LA`3=!_=75x7NFeπŁo@ rL7zy:db1k?]w\߼,%gƤCu6ɽsbz4;qb }fò%|gg4yLy"MÓD.*V*% ~EܒUI1^TšJy0_>>MA`'x|7kMqx§)h/16 +%WLf 53 Mr178:Huju8 ڼR -d~aU6A"UT?"ql]4%2Nhza[fS1<k7F!,r5׍"×qfR(fϑ!m7³TY#p˼eJ [q #٨Dc$g,1,},mХ^A,s#!GY&Yΰ%6[euH{F[7F3kMqt%$)>7ᆿi?%BL(ziCͲΦY*92[kGӦfn9 (AU튆2kj˵# 6vROq}w]]=6PK E|3C$ g8L+m%ܩK5LT|_p0!/hP̒bsڥyҁ]B\uzw?Kx(mdb} >OMXJ(fs.+Лv\.6{^l2\bV(լD6MqJ:qvr=%%VBo0֣oFj lNzߝBdⲤmҦG3t:ò-tnL%/PFR[oO*r&]bN.(' aHёo Jb|'|^2Ɲg u=zq<eVL.w]8WKqhiizu:-gNs(cXFE떠 ` qr ]R1X9@& f˕z䝻C`i%#\ ӳ{ڑa :rno?XwlV _ l,\Xx< 3f'؞Z7)3j_m0B+ddfPB0yAE1t NskBԪl*7 ?E7t~~| oxy8R6 sY=0vrdSY#+z)}zO0swPÜt,nL;uޜzrR4qW:2݆>l_Prۢw;' 4A6B}[&F_sWk@plR@h v]H Ln.fY ՊnęP6U߰QUr39eUTKJG؉epC@XӠ, n7o'XGs=2o8DauH_?p_׫+ o럮oǃrGt#s(!mPi(Fmtt{PK)M8 cosine/pricing/__init__.pyJ@C<M[A(F˚L&f6Bdc0ŋ^(/Vr勝QuM[J4\AbOh}1(cXD(jђp5~v;*duqf iàڒ cCŌ| fCf7( g(h^~jIgHܡ&lf >Mשȱ{xZڼ1ȳ[q0$F>!9L=Yf7PK4z1M>} cosine/pricing/base_feed.pyVn6SpES)P m. C`$,I5<^cOCR(ʍ A,|?gY#w|wW-C) ](f?#K*d$D'È1p\dJхE >}{JXEi+D >O+˹$9$fC24朕t)%QS\#x!Ar'LiӭUW݇?noo2+,eHHXU!x R,Щ,%6),6Du פ{e3mjIkn| &$ٶ}jU"H(gP( gher+w BχxYdȬ vAFYK?.jo0[]߼b6DaDºڭezSʿtodHk?3m)?X[ܸT !q%a2קqXm}Y|&TA&, KcrSj-yԉQqytDgjpb#! c? :eٞ.4#Iu7Pm Hc |9]x{ G)e]C.Bi~STvR^渁p'M ]P&hN=\2+Wf)_2ߺByh|OОWAyN FpIjLiΛ'u'ݼ,RcyV쨽a+ *ѪcmREPK-;M)Ol+ &cosine/pricing/cryptocompare.pyZ{O:›&PCmu:wvĢ(4nK.Pٯlϱ΃{*>wyq;?=;qFX*[i6e A:IB'rh@ p% 2$b큀/ mEs7i ?G5dz=g`4͵n% StSyr: |\fIIAڎ L` -ԹJ]N)y.Je;RWw|⼨bwJwNok-M}MȵñTA(6=9;>t;~yݧr?'͹ɸk9|yu6R>}sp|rr|%?#& ;T9~P֘\}:X1?5M1"Ύ|H[sWeڈgxej@m_/%*;į~,pݯ+.tCn:N)#obFa3B@Mb87Y˵dΜ]зQ|74RXtX$OzōaS=s+5L#k<J`xS0$bq$a.`%ɝj ~E3^ rHTې AR*iVUV2 ~E<_t+Kn uPF}]`US` jwa ed7lˆFYXx*tڡ?vk0Ke`K`]jڽdprz2) 2BY}cm-F*㪒TV!3ZpOMd9s \f!1|'8[l =b3Yҙ7;LEU"*I~|쑷ؼ&YkqjkT7sOrR.95ʯP{ Z4Ж .m^CY^S֝W啪LJ^UՆ0UM\0_g7Y53bl<([Q`}.f Jv򤠣"|3'lEk/EV,*X~1ϫn&14}Bjyx; nYRήaκq:˼yQLqW!Q 4<Ǚֲ^{,>[%Jo)Ӻ<[g)ԂO0P/ZN9A/ՊsyNhuj\X7^zPK)MF"cosine/pricing/pricers/__init__.pySRRRV"c} }#C ?'1%4O!(?73/2SAW9(3=DJ:=ĜPBQjqjQYjҒx[uQEPԹxsq8.> >\PK,[+M`+d%cosine/pricing/pricers/base_pricer.pyQN0+V@J)pAH=PD*$Fk'|6 aYq23;w:Ó|L)6n޾Y؇1olEwH}0 1(jm FVjWɀLBFzd8pT`8okH%r˳l2S3!Da!w ;U dX26j >xSaj"ׇ5a-?&/pD0/eZİ[lJ͛0#ؤ*6on%JvA'RIǯdDn( PK"Z+M/'r#$cosine/pricing/pricers/nullpricer.pyJ1zm՛"Bj/m0IG5|2 "Ù$Iq|nƣdt=cmTbma*mI%̜?.>˗2R€E&&Jxp$%LנE<,7c.BJOz"mqsWr}lq\ V1m \AJNR} VUwΤ{)WHӕ/GEe`jA\"`yODE;l%Z$QB!R]ޡO@E|PK)M\ϚFcosine/strategies/__init__.pyej1ya{PZ(z(([L{qw@6#DG5d 2+B2%zNZl+PH; _;[H5Ʒnpuu/UL3L،oLyE)aZ\-k=Ҽa-;zA_cL %zNOW(:еlYIߖ<'XaYM. v ]ă<-{C| &v2XmrZQXu [j eտSVW\°was͉'=yt(-ot8fZ"n!5kJPKM2My""cosine/strategies/noddy_floater.pyWn6S$Ge 4]0Z:VH"CJN ؓ툔dҖ,0!0%|uR^7˼ʷ9yK.<ɟVVDO)"A@J "1k[.̈od{h/_o^^ .k"Y[ I!KVn4k Wy4(); ]1%!Z'\w+^KOӏK tsQL!@xy$::":ß:"P)x}Dd:{`2SCG5do`Ay;JH&d[Ojh & &cbҧ&7 !)tX]A%FaߥxCQ_$L+W)#N_l[t  CB (DF&` mRCy;.-D^e4[Q󄗂Iҙi0Q79:6zwQbm Hoϊ@nY5g[mR^*LG?V2{Yu{mzm7v&w__PK)Mfʵ:cosine/venues/__init__.py]Mn0>(,G*hS@AdKfl$kdueh6eY&zv2dztڇ`r9@든Nb d RdI)X@;/RzSlw8$*ơ7O2W<6f:tiUme4M[ k3 L΂`;7K1`S2m9&d7B\Ԑ<ٝAZx-wY9TqC!h뜋 5MZ ԸA8 y s*L <13Jh$"d 6|D`*adXW͈zT/jR^BL 60n({rL $>b}T;z81'MCQ{‹50ԢfxώaNY/OnN.7LF~_O'I}~`©y7Fi<6w` % |zSCG3%oZ0Rߜ|@+L82Uߌyt;'mo~w'/N{5(c"YcQHhZ(%$Z|}9sIׯ k `/=+ ^!{{Acm'%(_{jdgdѦٶ(2F+LFt}@eѹ/2.dQRd"@wmܧ(VWMSJT:paU5h r*L/ m/` aWAGcL>LZnwcjxO?|} eБ#óEPK1)MZwʑcosine/venues/bem/__init__.pySRRRV"#3} }#C ?'1%4O!(?73/2SAW9(3=DJ:=ĜPBQjqjQYjҒx[uQEPԹxsERs2s J@Ҿ.> >\PK!N:M =%cosine/venues/bem/bem.pyYr۸S` Q*l{MJV]r#yێáHHBM V3~F Hvf$2|<޿}۟޽~(j|2v`d`"ADiJ$J*h<^mC2&}#JXQ(]^?/5a E>P`d}K,Hh* .Wzh*0e4l6GFdAUN(*DO.OPxٞ`I: Lx 4J\CY4H\LǛr6Zήg2<߿M ,M9mf1Ϡov>+v3_v}sE{Ɇ0kJmLGSԤoi,3p5kYMA[4*Y18U!)hm͒8PITq=C`Ͳ'?$RBz,FRH=^0? E F*|YdjA)#HɡPGoH%XN>h(`'(#J$M 4GU ԻHv`l L Z)a}9>а*R麱OA&]C͢5ծJdȒAʸI qx\ f2.AN mt` &`MR# _k{K5ΧF3>1U:o":'gtыHn@o/X. m01,6*9O$~RC oCg0AI UIµu 6YfCIqS8)7lכ"C8PP>B*d@Q'R̨BŁiIR!!rw (dry PrMS@%jO]CI(=终esrx;n?Ԝ`kDe4Vv)FmER(54pŹ(@ ydpLKdL HĞ?qH{72l.fʚï*`lE1&غr@O%j$VnDXGeXO)XA1-׻z`9'PR7'Ibq.c/\q3F3`/&5<Hs]Rl.h$d!)v k{.`w-pcwIvLMJqsx.u)Ζ/.(i2͇Bq@hSN@~|瓻=e:8[DvUGx@mu(KSRhss-L@ 'XJ<]TA.x "yf)ol 0US-3'g^~ԫT z<HoEw#QXjhӂCQkhϭ䦃:_D1S :Ԅ#y_tgsAktuޭ[ssߝ y\-ZS*E\J"?( L[P_AQ1Kq(fz/ѩ8(xWL iq|;_ӫէ!狳<}^N1,B^>uQk(m PmeK Y![n3',/(SLS xƚ!!^<{5q8P/-1n派$Ҝ;`IH\NJގ jm:mn.xC k*hk) el 2z0m$}m,htu\:u_=͚g;W*oXǧ.\]kI1;Wڥtj/XXj˓꺢s#4`;FsL.g>k/>:=ʹP<[,u.,^ g}^B4Ffb5\j nůq+^ݠMmn;RQ^{WٱPKg;M cosine/venues/bem/types.pyXn6S +v( &ػ C# E*$U@{=٨ɒ,:;z2X!ww/|<,8z4]0tIF A1)$A|ϱ&uq? =eT2YfۻQa h 1(>)0o{rvX~/жg qs^Jcy JRk |i*x} s,> W6_2eYb徰ά$w_?ޠ" +>0Ao>aZ]t>r{#5h׵0s̤A؜dQWPKa^\##+͌UD(Glc#D~ Ѯ):!s)}/n3 %%05NǧsMu[{E# Mes0Zb/{ 8ZʕQ\gd{t:i,I}4`M0r voeV%SRsVV;|]0u锿 3:sOv E֣aܶ['pH*@(l Ҕ|7I 8vQnY>uMFrd;o9gXc*K׆Y2YUD=h{Z ѦvUZ5C*h+S[ʚ㢱#.L#@;*B3HhEiߴ'K#d*N[yx3KM њ4/b:Zhe/@=~M#ROkדeP~[{wQܚSmwC:)Tz۶݁tO~/2g=S$RX]v&Χ[OZLӕ3''t// V:_l|?wAX5#TZ8UeQ"PKL-M;xrcosine/venues/bem/worker.pyYkn8SIv(M8]t hUˢKRqAؓԃM-3g"3/7^& R4e8c7+)$AzH N4 C@Ędr8hs(g _N l(.XZ;,\S)k@K"(^~xѐELbJo ۧSXN&% $f$AbftZ5 1KSʘ[5K24_S.*5 3'4l3*e cq.@7r)w)ܝl1&<=a44FR0Z*Ohx_NЗb6T)0M#G[彛2"HHÆ#dY*)jˎώg d'v.u7cpy gvtR#I KJ64a1r=wQzA 0c ~&XeKIDXyp|޲5+FIcj &eBB=ZmY¤uvj qTOqt8ȱXbyCs4Ú`T2۪QƎ €Cm 5㄂0ZDW1L|bP3;HEfgc3d>Olg'so3H Cv K[ Uk@p䊢 PB  "(̄] V3mE\!ƶ1*],W|F> '; x7hA N }|ɦ}>*z8ꐹZ$(i:mГ9 hm~-|E?t:r{y^jy&S[[z! 3xc?Өdd鞘Z1"+7HnW%Q-s|ymH:7y4ai!\6Jl e:G5#fY`J*|A+[:9}1Zʚ3pQZ(0])tEUג7+wGnVvSlv-)t5=a֘ӐБwI%ŘS'6- Bͬ),Vu':ۃfeB]p1mbFܔm|TJIT,m<:Yw hgR;}gqw2PvӪEr-XB 1 -TN è3FBY-y:Q!C[K..~9$>.µA+4엸[Җu "'hTmR/*m{WM#𣏕G/#"Bp% ׍}NotTtG~ڧ' _Jp9<*Wѐ[)60J5dV{TXZ"47˗=hHSFz2iIE~J-k<{U=`ę #EuC-K j%p kuuf}Bn5YS}""b:MTB^]\96 /CK@̡r=B'-\ltWr ߗ>wZ};\봫:nW(Ӯ5ܮzv-]JnUut_g [mZwhEluw2E*`T"Սg}3t1=糔i|MNU1ZC+/zT[PKM/ԪA3(aB}shl-%XgV)`L+6̩i=oRh39dQ75,QT4Wb,RaqX>-m\=5\Ì Kq_;i/=J-mgxM9|v($D+$蘛"_'Fa$LC>,f"VCa /̢Cyk'}US,{6#[GoQ3>wPKMY׷N5g[ C!${ހ|?oߺgJR e4]>۹bJLU*pteWB?O)j$O֠]ERRm'/"]V8Rj!'9|[b\oaV蹀=۴r!вue >zAk`bOƤ{֙5\ƍQº5PrB4F_wr6M~M9Evl72Hn˸8P(/dDth8̓$o3z e"#7qjlE*UC%54sN+['X<|$6M:GZtl;b lZjb|>59: !>5b0s;P7]Rnyt1JۆtREQq}c#t>&E}-:{ac$~F{GC$E~~[!=Тr9sW5@h~ 8S:Dv a0}D!AV`#B<6J}ժ.7.xu5a-2|u 4ӘWyTjd\|p`'+ы%,qvCMCyG>qcsvtVp2_0? ޘ݃Ma:;Ј?YjZRe]tjvR0 Fڍǭa2@8:FMV{Q2%L9qNH~j;WϿ B8"+\Sl(MD6u0huݙ'3#]Gz>qJ؎yU%f"鯉TU_puM+5H9BVQ5ޯF4zB]Z F@*2Xq%nC7pC&m״ߩ?un]BqbQza;!H#rtLYdžn8^j_'Y$!x)" g MnQf,!]Zie _*Mrv9U>8!gG?~oõ]%ԹRD} b/cosine/pricing/base_feed.pyPK-;M)Ol+ &3cosine/pricing/cryptocompare.pyPK)MF">cosine/pricing/pricers/__init__.pyPK,[+M`+d%?cosine/pricing/pricers/base_pricer.pyPK"Z+M/'r#$eAcosine/pricing/pricers/nullpricer.pyPK)M\ϚFBcosine/strategies/__init__.pyPK}.Mm/ǯ"Ccosine/strategies/base_strategy.pyPKM2My""Ecosine/strategies/noddy_floater.pyPK)Mfʵ:Jcosine/venues/__init__.pyPK`1M/O*Kcosine/venues/base_venue.pyPK1)MZwʑOcosine/venues/bem/__init__.pyPK!N:M =%]Pcosine/venues/bem/bem.pyPKg;M [cosine/venues/bem/types.pyPKL-M;xrV_cosine/venues/bem/worker.pyPKM