PK'MiTcryptofeed/__init__.py%j@C99ĴRB=z̀g^xHBMӄNMn;[?b8<ǭDAJ׉ ﮿H<:i1yD-,h&G+{A6$_R+ -.hlD .T? wPK6MNQl cryptofeed/callback.pyVn1}߯%.P@*&TJ rֳޖw{nzQV!˙93 |cr lrYD+؇EV>.3&d,%2`槓 R!RmI&2 lՉ`9\ "`uꮙ(/8`vP6pLD$kjA")L PB %\e: +o~!jᰅ%/Ԅh*FN(L m4L*~񊙥ϫutL+"|3 )YógL߰bwHsqHD*pxK BQcI =Q?|gz_ HNRݝ| ֙LkǺ2](7n H3ֆ?:u,-<<͞[Ek0+IǵO$k4ϧBB̮ѳ #/![.MB^ߕν{BonZH w (rN~r5.9ϗyإCh:ұ*$h\VFB?9xgʷ)M {//`gE lN573ӏ{tD]LNTZ"HJ,X/;Pm%ɪlN ݂lna+vUq? ptIŠggS3t^ {nrjބZٝANzRPbPKyMJ) cryptofeed/defines.pyVKo6W r]8FZ(P?[6(.-6ITI*Zw;.nT̓rwoƟF慅2*Ϲ[dFhƫv2SځV/R@TZ ø1*܊( GE16;YC2dM%ղCJ$љ뺴j'DC p(Io. UI TFtd-\[/ԓhJl Fz=ءwQܠng<Ovw,#(`?FzLl1kdcFrxƄqa<= Ʀ7v v`{cj+[e"ZGOL<쥳PK'V\cryptofeed/exceptions.pyKI,.V,.KN-,MKN+MJ-pHN-(ӴRR.ddʼnؕPK'MICcryptofeed/exchanges.pymN0 y ]8Vim*JR@%}T}PK'Murcryptofeed/feedhandler.pyYo6PX\-0zXcx)/FKE& k w_,% 6lLws<*h0۝!|L^| B.ԉ C.Υ /zo~)/\%1;F>,lxF*;hkBEA`r B2԰ف Dˍ9RTP}9{R 7դ02\P1^2Mpf#[qֿ带y)5+N0WƊ`.Xuvqu#Vmقs){\nysq3Ogt7o.?NǫW%ͯ7׋v%Qmg{.8O{׆_RpK.~^ˠzuqq?A'|zKf$#Wф4b Gc-~{z \aĎ0Nr 4,ݎNi0~G1iWp7/-dj!$+effB33={rb-+{Zξyx 'M HAD_3EҖy5,ɚI"AiY\ $"bh Ș wuM ֒Uc,4`m{܇k1k dd{yuL9ļҢ9W|z }V?T1%( P+'${Ax÷3YzJrjcx(he. D5/.%ubHy{F4 Ha_v!%׻O.S@r^ė-.oF mG 6>\;%rvmL˂LI-oqg0#SZrԬkWQiYnp)p:|EeX*:?WR^r6PM58'VӲ\G 2iWl)zঀ;j0l70:-6:7\+߆5LɦikSGA|^aQ4"iWuGV[bYN[Fa%_z1rRƭ.,%+2k)F]RԌj\;".0ظA?Vzo57RNa_56}XC }o}Dfgdx]X Mkm4ʓJz1j[qS:R ̑bi; _$爨Ѝn_1?h.Je;4+pu[3G xwR촖TK :ndIC^bUȣv, JCO^S@v8 nT|ln]_}&5*}!3Hq&u݉@m/ V&ar8lWiL~x5>"[Pf]ŞI\ԕwśi9[/ t!lN{?~iq}cE;-A%x C#Pd;k+=K:W|}N-M zs3LD«A& 0 ךU H8gdweӮhh|F^w<}.E磳߇BWd)ih?i@/%8qa4' IQL" R,B 4N9 I p^؁ X {Ve" (, /V글E,_8 g!W3]m1jT^jcAD- bЗ Z( '( KyDҜ2Q"0H4Ϝ #d\ȋpL2̍|}\s񰺿2yvr?@ߖd_z\<<-W/t5]]Os-SD_XaV/ˇͥd!ϋ7t1=8ӄfy*/C]K: \Fݐ,68rGFM=gM}dy{kbUuzRmXC=dԴ&qftajpb]"J0sOApE.i_tZP)N%So3C)D2uۃX Y2B}ki,VFZ4@iB8@y8S_iĚRN̓<|s)Dbyzs'Y> pT1Z|T3[hM_e M{f$hrtvCg _[^JYsft[ë[kR>2nhvP.G}&3Xv,cV4i{S?e0,ͣYպZmK}—կO)nI븴ޛD[`i.0p$cI rQOTen/Uڅ j-(| =l*8PKEaMcryptofeed/backends/__init__.pyPKEaM y]vcryptofeed/backends/_util.pyRMo0 +,NjVbP/ӎ;VJ٬BRi~(\y)PG-KDX>J!{$^îJGNN3s $t0 ݞTq OX5 =KG@GO@ Yݑ\ 2[EU kFZQKN%!r|rpi)d+4NT^m̹WoƑ>M%PCL[..ЃzܐOkG5VTU9G0nqq( .O-t O??5+d`;e "h ]tk . :Alqh!iPKXMo7 cryptofeed/backends/aggregate.pyuAO0 X58B!R&Uڿ-eX{~_E\{ ,͒[',,a CHmR! ʀjlR7-ͅ&l2$,TPNzLE\i' ݠBcUyؖIcR*PKEaM(ex cryptofeed/backends/arctic.pyVo6_qȋ@t0`bŶth!0Z~~34 WF:/ME(C@*U#TƆKq R+]$3%|R@ʁ3$,QLqU4 TA5^d4^58ȑ)FFaKʑj)(+Ni֛ Q3J3otٴ6P_0\`x#z'ʧUH(V(uAvV.q~߼x?8'wFcOTK{3\]]M %?}r#??T])' VH񀟕Nο{̄*uԠEB8֤FuH 'E1ojTGg< ZASeBk CUa,I]K!EN i#ZG(3hl<SHGhݷ)ۋm[={x%t'L-I'E%r1=$ Ǐ߾L6 Z|uɄ)pR)w䞬<*%fMPjv]&wl&i>)+JKY"t_6'=DCO@ۿYЏm7Idy.F Izt[xa>rѶe2+#3[*l>OfRiؼ:/Q$Lz\ΐPNiSb2Jaٜ?Q<Ô.B<.şoPK&rM:$=K_cryptofeed/backends/influxdb.pyWmoF_1E:$k&Sɩ]#d7y$;kmwgvfyfmq'˔:.ҥIGЀIFB9`` 9gps}9 a8U7}.y "+\Q T>)s q>x$N%\W#{ ٌG\$.HHOMlX>3.OMyD.yq}e=x!y$Ka7> ԙ1yCZ&m1GXu4Qh,^. x#.cK`jiLm'ᛉ֢V-6CM]]YF!5YSG_~O?8¿Ûf[̖EBtß1sCVfd$.Ǹ)˄Ej 6 $Ip6N}W K9C&&j/"iCr)LE$|Sav/A5|AeLxߕ.Vf 'T]~8 ,$"Ĩ_;l=:5TSS|+\ bvlu;i鵏ۭf Miv=>uN[pq2.Ψ#;Vջo~i:=vzN!JÇ2XΉ: k㜝sN=;i?tv(fҵؓTA<9αT"LedyFx0aT P teJm!c{ODHn%+ s% 1C["Ok+)`O[@Q.FS 43Z/,RL&EX0լ9Gy9"ꘕXHW7P> $U/M:Xr!fH*BKӘs].d/ҪHbsU=;M }#7>"ވ]6nk+h0|s"1u'VuC"lH< 5;Dw7P vT#h3+]i 0bUYT\G^`EkfY#+]d˝RzK**jJ$ `N 챧w78Vx]+H%$9 ÞtgLӴ1K:W% lhC1ޜyNڥ"SF5+%7P:\ք#[Dܐª8[hi1뉪$+D8R u>f-~ڋJ%Zksh=HGEE6^`[={GouP!%H 2bx'/(W҇Z}`NvBD']^aNBS0TԳ5dЋ=24Q)4.DMWG'~=쑉Ai9KlTn=fowaZ m (6=}װpޢxcMxeώ/|iAM66pmRHܡE󂶯nF?ь.V4լ5c*N{^@^E4Nl hҡ&X Q>FZfߗ՟׷؋c x2VQI|/,#kF3Q/88ewiE<0Bҍ QNbip`@+O? ŴRz(Đw_FnOҰ-ۀPKqM=hcryptofeed/backends/socket.pyWmO8_a!E!~hOnuN\}A(2쮏$lX!yq6 3gό0 YoX NfWƎՆW)u&+vnK۪H2Ye\̬]}:cKQ[JeTrƹ0BV:ZLp9{fB3-+Hq-,Y(yDYKeةVݐM ղ Lmj#yRT;1ruw˳;r=[)R ?آ\+($kP1+0bRI#3Yai**a4P,ct&뙛 :O+m-7YA{EdDvZZ }sW =?nj` JImILZ"A%u6 5E2gY> !zi5͕+^Bϙ6*feA>b^{{{,K]ca\q1,BZeVs1YE=^A[®ֲ)rv LTWB3Ty~x;G=G^6&Qy3MqД+%ݖDAOn UPT~ä;w)fSE|=pk-=.nެ1xM"g[ٸ7w4{5Iu~lYڐm~!&z@㈧-=;cUzڎ۞(SbIi« $pLyiM*xyjDt7u'3!B;6chg] *29Zc[x(l# I?ģf= A % ;])kYL~<ms٫@%w qWѸ8 ISj3t݉E+/eSakoXDXT*1mڱǤ۠>*p ~7pna"P8 qw~\䳐Dn8#J/cDbI3"iZM׉|jrUe9kԿMKSCB[[} @1^_lǥg\$M75^gIo:ƓrIjQhe l4sl?y]q!Uћ}`~wMLauKw!ܦGKUmL]`ε3F7MGT;)}=UNZiT5m#3 v+|+QiPKpMcryptofeed/backends/zmq.pyUmo0ί8 Q"M"EښvZ˪ 9`/`3۴͢Rnu;?{q]יb|aprt|zft8 s+T.AP MzSK85XAF&B}>t{^. zvESIS_ĦtM=9# :vd7~oP nܖZf_;nk4?PKtbMcryptofeed/binance/__init__.pyPK'Mhbcryptofeed/binance/binance.pyXmOH_JR!@i$JBzBлEk{fwM!ͬSҗH{̳t:6n4Nzd0| .DŽ円|!yEܽ[}W'QňbFf|Jgd)L# qEZT)rG\+RdVA$&)fXxj-\PN yZ P3`rMyȤ$fPKDZ,x~ %P挗ɇ\~99-rz1`"'s;Odū4؋J/g( ͽ-X(Y(@"PiZg;3_2 @d@ׇ!ce]\so"dX;Y,xbU_&(\2?P6{~zRz3Œ,&`}&v .65sn؊IRF^FR.c65Tlsttc$v\^Y7Sao]\7($ Bz\l^+5SZ2dY]Fo^㻇vI@u7b ҲT`?l $WsÒVX5^ p<<&TmB7CailjUmC1#6Rmˌ=CM pGoZo|>_NB7#3.+%@f*BA0}-Mv`.}p)P3HX!='=Ts˒M:6 e̬LR=.)LY~Le VcGh*pJu:Q4 YS*5]@ۼUIO ܳTsf"%:+yG&=fc% N,Z6%]Qb)nVdsHC{F^Q ]{n "tK($r'!bqqABfdeSBD(W2L잋Xn:P[n&_^$-IjW@MƄLwPn .Bjs4?Su[?*z^SЋuF XGgb]ާVk¥ж{l[fʊ],S ^\S"P x`5$~Uz8{tgLate G W_JU^rvă3;Ɔ4ݏ$y8=鯑ڙ[w4͋3ï*`@8т8,* <Ւ)liZ"=nűM<\O߸g~LrtD} OK#R^'L$$M:׏ Cvʉ'FsƉ[#;Q $jãEv V»>^=` H*%'Є'03~6"f'TE*XˆSNp NP=ŗ֜8 nl:ĶI'i&H΅ϐ>FW8<\u/Ԉ| ٷ؞&%3oD^(| umT(Wr';_J ePKbMDcryptofeed/binance/pairs.pymPMO0 WVh-4 vcUMiAqN>رg9[{p=$.痳nAhjaN 9dQ=(wi ZbѣSB7^>%ÌT8_vHc СZ!%A0 q('"υY%5y:p[왌NH7JRO rb@LW07Dy8%d/ሜ"/E) D??c JX+u~}PKkMcryptofeed/bitfinex/__init__.pyPK'M  .cryptofeed/bitfinex/bitfinex.pyZo:9zi &0 h[Y#"uP>vZGoRbekYf'L佮U)t" y(,0uK#]r)Akǂ%!ZLq5Dɹޜ||퐛ǧ8 >~C>v5]۫;tp!_Nj02P)&Sdi 3vo-Нn=Q̄nZyGOt!(*Lb:Ip#%4sK3eus~9$E2A'dK?㋋昜 onZ'| ;~3gbIipVEDkاsrUo#F҉bR #P&$**?jvۣwt`!X2k$<) PH'< _xQ4a(IX?a_=?^r1Դ9SAޛ7tλc#7͡gF[ T~$ւIt/ a,'?+oo06{#9yh`M :`󂵉\iܳ<,R9I(qy0ɖs_P8R1ab?OI t-y*I]#h&#G >Q-#nS'/8I*`ތlh&Kêz(u[{(}١?iPf4br7=Aד7Oī\cj.ee {5eiEe67fK TJct=]ay'N^@W TZ"h_+ܱl4A`ڰR]e VInaV`[y4~>+{J+oB!U,7tn8sK-?2^Fw!&G^Zs*mg P̶h7zV˞ꭂS/ gYH i yz"vil}AMj7Я]ڬzКN=d ~fe>c i~PɘMp_\@;M*3в>yqx!e ecW&GW&M01\}u4X$Q!TВM^W~9аmh(Ձ^;0,~yM77k&J@ #:%_Y=X%h=7˨h]=R(onD %k8Uw4gmO% wZiB`S0=nXr<3pLSphUӬ= s]K4\u.zux(Hd+V,qUs,曃:OhŠixT[Ĉh炅뾃5١duߌVqӘ~޺pW5$Us\{=2=,,mҫhwN{V c >f&//WV39:P5"(8{ν"0Cԕgs z1S4WFUaj쓉e3SY \kMg`n &]uKf@*Ӭ HK@J%C>1Lǰ6k,Z˨Mf_PKkM=Hcryptofeed/bitfinex/pairs.pyUPKO0 WUTv@4Mv6)N1|pj⚽r#ЛD0 /Xkg!UE7emJ֮VBAOS(B(@A_3C $,+dsؑlB!1+dg<&JnEVJX@v܋R< d}HHJވ4dERŏv/~E׼Wv6Q]{BnYqà63,`*L @h-\/dbx^bMEAk\u+(0?1ԣ8[o'wQW$had(PK'Mab !cryptofeed/bitmex/bitmex.pyY{o8ߟE yvdĀi/X7-6bo à%EH7CRoŏFJ̏yq84 >\=EA}޻ *z Bn鐹/~^v7_Rz fRrF2g3.b9A݀Ew&Fv4J Ɯ.I?sqܟ]}k\݌;x]|_F6vtsM')?G2L4]21GNXd>ndAu_;]xb;L 0zwl4$-fn[ɊކkRϛS1yGp%ׂ+MA5"bC/̗j Ayx"4s* M 7 .Op.g86Z]tɊI+Ϫ?&ӂ!Ra@ A&hL[jj%=OXDa:|lϒ NsA( _bٱ:^?ϻ'?vIK \U]UT NU8pqrr.h?Hmŋ=|,cDp3B)ݢsڳuN::_YBXF!27./e9B݆( E4eIUa21Z)Ŧ|y'#N |1Ek itj~8cSgŰpهpC ~RLnR?1LM[ | $j%<EAA8mU"CyD  pOXAm uof#s}pipt=Zn8$X/'W~'\.=У֌M\8% \yb7Cvf@Xi@u mP bjt emZ39ш%6rr2ܔ EC5!{~M!sŬ@jER`fv\x{%.)0$Y,*2n>%iF:Tsՠ"taa,eMB8&5h DM'XڡTޫ1NTuU-15F^.S%FU2)h.8ML $ϟ0[Uq/S~5KsMS?rx_y^^o&y/iqفAy_Eu~@-ԝUVu~Gh9+57XBk[\lI@xM ]Vv(g=%Β_Fr2պY W+ukawiHRɉl1j?H7YbibM nmX8WQFbS\$3+{gG$G kfG] jw aiU8UÄjRg[틞7 M|S#b *5҃Y@!O}k`4wwŞh%OwۺTn Ɏ-a&{Ygg$5}no ~܁(vcY`ls,/'P%g"wl=Yřkz"x1fPeΕBJY` g9 Lv `Gi%mWR+:jۖ]ohN9UjWX-{Gfo2E(xmnZM ےw>>CXKJVj5w1 J,kwXu5vl?U PK2kMUQ:cryptofeed/bitstamp/pairs.pyMPMK1W d]E)҃"x,Lۑ͇ԥVL=Z8 E"-wVŝP֌}krRa$D {m w P0֐5 ;vB5,5cR/6@R55Вx| U 9|=ʖ${gU}eƗB紒5۶5 t^Gg|l(l!Fe]0W20Wڢ!.wMLI~ 3.C6h "Y)x}ƠCBKGPKkMcryptofeed/coinbase/__init__.pyPK'M` +cryptofeed/coinbase/coinbase.pykoHEffl[g$ٽh3mn# ah`2̣mLFLJzWVո wpҾԈ돻gBȻ8y2' H,nO>%R7\^&+ϧdF%і;p lv=k،gs꒽71-ˆ=aaz* ĥ}]G愾OA9]wʎ}zO3 }qy#ѿb8.^@ xq;s ㎇+J]п}[zork&7n:\v{\]v`͇wo_<nin! ǧQK@ 62.  $6Cv0٣K>g%b ik͛= LO6J 9Mjv#} و2ZxE0ridmSqѿ T, Ϫ#"K6|H!o: Kz-+qG[3/v:U81cM%;\U.d~O\epGl@ %-MACc9Oʐ~0dž1n e#`Bƴ?Ss8M P`-du}I栩Dů4s0yw)쏧Nkhok5p h7^off>?+["ۥRYslFqYb6ļ3GS#oMl.{2dAE\yn C57I^n "ZM B*!04nnml @1#T O+o85[ؒBZ1p];7u~Y,no8q;xdv %]Əե̺9 ƧH7Fj_{Al<zCpp3 9wV Rۘl+¶1JDR j QH-' yI,+Ư BY%WqPSZ(f(YнZس]ݹ8ia}NzJ%>Zjn ǹvqcGVӎL%H0ML|Ϡ6EaViف*AUqBbc+sv>\\uƣ>^lſfgwf Lxm!"Y F80IZ/J$THU? (lڙW`> 񈡜(~|wbFg6/] I|*DA1XJ6OSqӔ.V&nEVF $MS` <:L~U'SY.p!G>6pftM?{ ysPabQX^`R'aԖMRXd_Krf$E$}ܗpR}DѰ$@iYM 9"zd}vdG'ǦV$)7r :Ϋۥ>R.eqx:ONmá*Ndv:0֪ޑXt 7&4ϭJ@Jq&;HQxAܐhSPjnr.TY⥎&5I^S*3AI-b B:0/rx) ऀ.͐d+Klɼ*\{8tTλ>=[ `m;zGWtG;.bwGm(Z*uWr:bz]yJm6(F~!W+[K "^S|([+Q239B47!6Uı!3Cq.A2D@'!Ag)%JldYa,9 UX|炢&]⭃0$åi]%V;uD_ޒ+Ex)`͠E>MF1(:{9Cs>4 {݄wڨ1.Sޘfx?Аs}[KQfu {FmI8߅( h.~28V dE`ZYL!~Fj}(#r)e~OTRxQAʔD~&*ۏ{;9cSl$KȂ.m&V[ edM L4–3^$b*?*5*Q@xD*WwG4)y= !zg3ESWg"6^Krp=i;vEzXdNįaQM2*1&bzI v23F2-btB:~~^)m`yO7X[yhH3#ҬsalixOϵQ|yͲXL _ f;8PKkMcryptofeed/gemini/__init__.pyPK'M4rcryptofeed/gemini/gemini.pyWYo6~ׯXHNtsl4ba4vZN6;$%ȹ}郎_)Np4~~8OPpUʤ,#sc3 2/2 A!\^]ߞgRM"9劗e™#B.A =yU ȲhY\b-DC Y٩}졤-LIb@![5y"*U.ӡi?z l%^77p|q§[Z}6egW[0*E,U2+EX06lW\J-~_a*<&j%KZ|- @IF sy`=<%xAC@b2. A[\`־,y߿.e-hX@E` 3 C5y%# FHC`)i t lg?%m|BlQ*ЮgsZ%d, jjS4>PM>]`frrx*Nht>s&(2)SЇ^|v<n^' i 8eG,)Tϭ/xžP*{\ĩfHlhur9RS)fiFKS$ "8$IS_o3"HQ<>EvюqߍI'?;DoWtR"8|GodUхFմ0෇[M.w5 a<F(cn2.RR,izXk.tq[NEm8*vh[}+hAF}f[Jlڣs'5K{u[=%[bANx` u&(x^M O; UFЁdKn荲YR[1!1^Ўn6hb3ƲTgڝe~c=۷큷~@ I2m)D7VC*?M=â;ְb5M)rHC&n\}5T@ N1ȒL7x#LZPKiM N6cryptofeed/gemini/pairs.py]Rߋ0 ~_!t{Q(W1~VJq%HVvJNs-'dIRmrnu }N|28v=֝m^N-* TENByP5^(ma /&jVBr]#hm]kSvs@O^ H[Y! آ)KFsv>IsH>_ 5ٳG*_9H-^=z+hc͑8yFr{$15E,i,8N'!rPfGOuh[/&Ic]`O?-5O3e2{'RfY':ELU89 >@g :hSw7`O+k4lLHڀd|ΗYΤNQxevG._$χxs+Ҏ{Vap&,:PKbMcryptofeed/hitbtc/__init__.pyPK'M&Qcryptofeed/hitbtc/hitbtc.pyWo6_A($f+ X5h-mΒt<#)*%;LEOA.D|:$蓳~}-5CLv۴<3Qzs  zDH;AВf\sQUJdj`d \%&zI%ĽE%&*Qq.S^N{) Iv>Z&2kʯ3EϴWy=':)/A6RvEY bb8n0l4/^E,=ݧ˫__F=˫|/Z*pR2-j*nn'Z<}Ca` >|fAN IS^r|Y*&Jqy>};ZyԢBq4X*58=g\uff>ON*E?؅moF;\Z wUrMJxpÛAH݇@ȃQOucΒ:_Ki@vB;cR^TC3+7 rMq'f`=Ü+ݷ 1(0B="ֈ¦8K]cre@F Za$(YNtlOjoۮȗCx09omr0TV,"mG0͠ہW^^Kfs"~WcOX]ǟ):93ۤU%L裈{ڡ2ķW, \=P.0, TIY!Ƈ4lu3NdKDZ`36E'g2d S{{/0Lfn}hȘ&u -Ģԉ!J\_>d'9"U>jZ8)ChIgwJP ~Ij\1#s 5e0K-&! j \kȶ5ڒ OvlXWv:u?Cm?5 #ͱZ"2:mK޳nC:4;mv R iNmO.tX9]m9PA>g#b2P=憪mčC~DHQpx8 j!5L)*Dh*\"f >%3Njg V`/CņRG+}M!B7ۡ^_.nb"F7~?f~՗Ҙ,IUc&3_qfZdJ~3quAQbRQk"@Ai~kQ1tEتQi.Nˮ2Ů{r=yu\mu*B*ԳDsN-+Q`;kH6cͶp}3:,^m\=Swf(?Cu?O2S/v^.h.e ?bK/A/WGE./Qɤ n'ol$M퐴 (28=9SBē(ˀ',c=:Y:rNGEeg,/&C+XN_lN `&QK zFg,=Ј#L5hxtDVp (@;5(Ui|gVjDL.`eZ}=R|f`fPHҊ02him0:D&~*7\C5(Yu+ĖV2m25ܪf%kE0Y)մY`*A#FCOY#""L7G?O%+0MZA| b59Y [L`U X53Bc@qkmszt7C,H+p6B4ը?{g}ːhƭf8f`edt3(a;ٴK;0!~ZwЃ69 ҭ<~t"1s؋&?-:cr#xM'oqv)wBh[Pȥ^MDŽBϬ>^Pqi|Ӝ&o4K^:C6Aui۵sg {% Ӿ-lhz^4V pi^Jl|6ū(\O K@%C)h@ 'd_mRw5u^# TLcDQ VmeV~3㳍q?K[o&җoUf6WN"U[du聪kSF.{MK_N󛷾'"̻i^{Drm%%¼ er`M 6p$nyR̭ 8] )wJ(Z@uVtD\" vs+} TaiL__xQNHc@+|hT˿BNnIqh䄭JMͥ}jVh3St 9O{VfSiiD?:c~ef&|j.7BJmO?Hn˕6jI} [y͚REB/?be!эپ:kH_gRr_UIgޖ?IN:*dЍnTPc/AH6zwh PKEaMD{"%cryptofeed/rest/__init__.pyK+UH.,(OKMM+J-. E% A@6PKGiM;. cryptofeed/rest/api.pyVQo0~Wx*cHuVuַ\8`{QD!ݝΟᕒiBˊȬ!j=+ĦPA(z:~`;VA~Lr{SQQ9Q#S V"x6L!!~-6 qAFE+pE{I Et$yfLb~5nx ^0ƹSakւL}O̠,t~Zj qf5ECs-U#,g!-rI.+3n3xXʾ)AjeRX.i4m޻M5¤C xe] #+1Ukx'R%T ,a J@Y$a 1LOey*PnО49ׂUukdDit@iOaGy F?( ^m43n\aX#굳6Esqb,uD:rVi),ďa>G7I=mљ Dž |-O2p2Ov_r-}|+oE;~zZ9}#؍j>U%=Qlm@,ɻ@Tdӫ~/^^]'k)3_qplc@Yvbr6Fq0џiSu cj-ShR%ˀJ^ΘȠx^gRJ=gb  4)G־FBfPKNiMnaIcryptofeed/rest/bitfinex.pyW[D~ϯmu"Z R[]$`&q2q93ۋZ}.Hs 1"XԞpouy^3jxT?SMo2֏)UMxƨߋl?s TsVSk'Ns#cYuHsQA{z^o7<a<ו7/iH9s*F1rO|VHd寿|wy~&\.W?p+8r{h.Z Ɠ HX Z\ x \b:l`.d2q_$.Sh|_"c>5/? _ZA4y>B%+5'[΀ !dEk>hkʅ%z8j1%P;|;GZ`aƏK7g;ɸ&~FRl'xၟC)-G/3Ƨ xrC:`-[9so'33sa9Mi'bGC1[421P)M?>[YԲH" ŷi*fyKx\ Ɉbʠz"F0焦MV9Z'>Q@ ~jodPj@`&, }aK'\FTlɛq1K/fzjz5{?nnyNo2˃=cw z7]v?zUzt-G;$߹|C6 YBVFͰ!+~.no7#x%O<᧕"z 4:'zMMMMT 0 #0 m@ZeZ{(䎬x9$2| 0lrl9Ep6 |Է`ؖ_7bo,X*w!# zixs[fWv8 nmIdE3(8aCٰvC/9@c-5T *sʓ] ʟ͑v =í(^Uhn }RhP?$3`xjKx;ುY1yxxP8Y~1Zq Th}d?|Z. aoai2~U&ղx 'ת c~`Ф CS .XO&ݡrx,6\yAqÓKZ.’ʠә^!LO ih /w">< &K+%`tcX7cS8ɌGX#hwM-77vCQ@Yn"2v#X0tQdLLpIbϖrg.+0b06<%򸽍P63~SWEXX_jUIic12JNF=ߖ}߫ 28x$tZk[fb`׮i3<2lmIFVujp;M-s1WvNY.r8)k1l}ȹwbi A l4eʿPKiM~cryptofeed/rest/bitmex.pyio6gڊqbT$kRw #6WYH=uPL0,5Ɋ(bD("#Ҏ _/\FخhЙ#ZDpTȂ }%|/?k&)C* Ұ &UɜҔ_}8,f)ilc&s۳NOFwg\}|'pҹxF_w,-TrEQ) W+vog!{'RTN[MhВ,f*6|S̖,W&n'D*C{UH-!_I ǧtiZ4+TaXd=!I!6nb `)88"Yǡ8:O@ ,]<(ONjjx o:ef\X*k}QLt8U $!Y[t Ulc1 n2*7fw6:/l3,8#1SSF^< U&_]ѡ.}6kE}mwRѽD)W-8 3_h\P&Y#rM"x+* 75+53[o4 ]U&h&h`6L!Z*2H.1qU-!"ZC|xaX PQƎ\u| xZupj*rMY.8 R>?mqVstE)Y}vt΋=߲P.\̟H5^7,-wUv9L0Яޒѐ Pr>* Gj9^flk](^a6UWAReݠILbBaBޣ c8ZzIf~.<`[ڢש{906B2dvLlġN)G YFzB=.Vn]flwUy&AmׂNv[5H5=I+ i?/ =o8r2b3&D"ld-V|qM_[WKlE9Zںim b-6EamPȟm^ȔK FwxIO6~/KVR/W2bD.6kD-slPbXttS:rx%V"|KUIHK,¹c/qTa+bK, InfwI.?dNrBrkgX-xAi2)\,!1ctȔ&|ߚB"O!'>z̨RvOĖ~ꇷ^pG4`ElKrU$̎M#/y|yVa|E;iłVr)vG3㯧$bCe'T"-AאVd!2wX(ץ؜sx<$s勸pQkİld>¥|wg=I,:8)lzGFFY+(bpn [ iکY#o~xSQ<{#9MF¸S@#A&På1Tt؃j:'Ƹ0!Ng#h(#eYStA"i[ V@d ,y3{I6x(hK?V~K^QFɿOrR)KHm ěR(/a<FҬsZ5ׅ扈P!?GIh\^!w Xim;%O<~cb́!f :sV"A dt|Ȱia`x;.XZ!yb(&h,2q-sG2jn}ډVL)Uf 6eKW@ ^c+ZTLI+G;Y A3.IqIM-ۅQ:"7ETȻP6j!e DP~xNw7)AwM$s+U(V $̞cF+mUz Ѫ?~lf`v"HYzI z͂ HR M9pPѼ(^Xlp|=g6JjȴrHףL*\2u+o&V9d}tA#5;"t(5ty؆‚͑QFi.G+(sRjON`1<W8L}.:Eg fnTg7EHWoFOr40Pe~l>xpPp. u\/ 8!gTDDbe##v;F L*@R]-jeԪz~uO_P3veZ%I.uH1g3w!C=TAfkvHmxI]͛V` ISoMJ'҆۵VЭYTC:-1lv퍝QOBKjd.1)1sFQ4(G67 ̡U0s_n5?rSa5o,ZIzR)ơyжb|8O; W "VF]V Ǒ=|/lF-H꺉J4 f-e{/ 啵$mO*@oPKEaM W3cryptofeed/rest/config.yamlK Csp8j Doz|}M=zJcd o)@(4/3XNH:{/ڱHOPKiMa 6cryptofeed/rest/gemini.pyYo8n[66(hԒT~3|ȍayqf~PVJ^VRy?TOf$/i:#V3m[K1# @\hBTFb<1xp~s&c+.$޾p9ߑ :^3sQx HnLOLHJ.xr$Ǡw dVK HE:)xRI=0RHrâ^1E@Im،Ph+|295d#kI"!1ˑkY5,v(~O א7 Xc1TkκmVLOG~./! xFludI4?X\V} dJI5A93Y>udZ "FM0_UR;BlYLw4z_n/8 )RfI k'X<&S'rX,:W="+j+[1v|oߢmCic4W8gQC4ډ=y3<|ܸnQB Ldm;bN[ڢGˆwݹ򋲠y9y'iG~Z+_JX&R=3跭E?AC)xj\RHF4nZT T RZ6E3"2NZLj6ԛ 䂭h]5qtCFHVuQ+"n_k Fm8}y sf0-AjI ͡+oؕeՉҵ(6orm8b1rA %Xopl*%t.'AvL.}Å29Ct.l K(V890Uо*Nq%-$fV -8dl9M'N+']Rˈ'[I:in$6Y(3q;5~t/ (:딝%Fp(_z(/j,V ng=wo .f{zmˍ3y".dO!)<=3cr ,pO]7BP}qlY& /@y_^;Ai21`ǶA9da3tlM{hWa2c'Bl.nZvҢ +iq3"z;cPAko'nq:?@,?wt\ZdTe}'2v"9751gV0"H'瞳uKt[GW{}S rFI5{VPKiM x )cryptofeed/rest/kraken.pyZmo "ro.ݻ~hQDټHVA{g,Y8ڢbKp^yJ &Tee$?` mYDsۂ +v#VϮ"B0 ,nNN O , FOߝyJ|W_ ~^.A}_"|^s޿Ld2 !>>'6"hL9JynDx+`~K$>7Ź6l.x+`bS#MlOr[X7-L-q+<#.'? ׫ذ(wuh~zfpf=8U= UV (U*խ<بs1;g24i0`L\+#wzI*OjfK%8E*5(ٌ2ETJEkxl/_aq !C(-P2Qx+XtR#U£~=͉ dE2"Pv135ϳ C |ăsGL769Ҹ Lsz # ƣ^z dxfxy4+9&h)<\y5 (27A7ҿl9 o bfDe~m_IN2g/ T#Ԟ2/全0  ,VkP 0P`&jk@x ]B(Omxr7y"i݇8E f 1?")|͸Gښ 0TNj^_N`R)^l=Au/ή^*Gv`,)a7|0N'E zoh̷f͖Vl6s嚥nmSƹIHG[t-dv:',93%%my5xv)GKDU9%*ǰN3B3qcRQhm{T福b?R\ hGQD{U+ne wX Q|1N3J3R5UWۿNd#,VVԉ䪥[Tn@JjeA쀛'Pת@PYQ3k#q};Uwߝ,[! _:Wfq٥nU#P؃sf{fH(|d 1UN+<fk{)9yi[lz<_AtMpBKÏ=m `f L:!FCs Cfg[vjL9?n \aahrH[hE`b[{_DǾ•jiBCνcPK|iMKJ7Ycryptofeed/rest/poloniex.pyY[o~ׯ0,;q+nZFVm,ĈISvfhY5{\(Jr}(P!əsmg&EN4y)6jiD9M""ٿ+H%3X̐9e ioЌ);9/]RUi LbX:n@K_0bɴ\l p\AP; TKpud~r}R/FVCƈ=j 1F7aYZS{`;XpB% I[@Cjq{';sΦ)kz姹 Dn [uS)yɥ(M^"k(<5BD`qof>iK5ļ+JmkzY=Mu#e0`c_CK -WZs4k ހ7z>)6ֺhC1{YaFiJɓKx!5|2ŶE[t0mi zRivSӆ*l~v`QsqPunC ۪1b[_%ߑӷr3F&#jJWER&6۵[Vnb3Aaчu+@AGw}l84˻.R x3|Y/F78,݁kwh4xq/#hL) []d3*FYɂd &5+5<5v؅JYNR)vLiFaVi.w f񖴃|i$``CS WH/%X.fo ځ 5,C(^8^yaˌaw[ac$NB}yUBqLWf'[.YYw-^.ic_kρ)eȁ~w-2 -%lQdEl&ݢ扅s&rYR;FۀӍDSᑷ]~Yccv>WziCDz0AHhhڜ$MvCjpn#Rx#(9-_f9!;sjK %lUIZwIaI**0>UM0{pڢpc6A&6+E}A|#+6FZ9V_n \IܱoͽXȱH*p p,M Co[w׭6QSh=l{_G8h o;erȶ}1vԍ㏞7ps~bc6#odͩXL+RHyF5 .}59<++鳗 /[v]7]/-tPKMC1Bcryptofeed/rest/rest.pyj >$ =RI&Ab4K{Gl7z_QҖ \tZ_U@[h0Ly`|%;.XFqY36=)$:mK٣O2>ݐؠH`+/Є#-W[iLrgWd5Cp@(:ZU%[UQ}$0\>0a 5n8$>ׇB4F&Y_j;dtd6(KÝGD䂿>bY/_zªIuoO}_PKEaMtests/unit/__init__.pyPKfM$!#tests/unit/test_pair_conversions.pyO0|%H,ҪRn"mHɡ7#6GͷBCOY~/ /PY1,#>z>_"FL+xlgK)fZz"XD -!6hrp朘Vg$sx'F`u`-Wa\jbZv5-a?JS֩q6u,}óhl/8mM_kmf?#$ۤ]9_6{\j\~M7hҖv2$Fyu4 /Ԋ>VjW|vya&S߱Nm1q2#4Ŀwf#'N,',}}3TESenyZ*Sи<5\B5;iiZ.p҈G-#'U tB岕 8(£P[!QG{Z`t UHPoDkGY w0F잲xP ^l^^YJ0V˂H| *$׵l4AR}hT)W8g]|(%qz  <*uM;_ JQQX&\fEn1pRa\οEa⏪ՙaJIRqJƨ^CKMoR"M8ðʢ7}K4E%m2>~/dA*{?PuN&؆·A-ymżN3@09 oj^ lq3l0Ί #E%u9|q0Jb*NNyW^Ӫs-?,mWכJ&jav\qWY==> ^i4sjlQ} I]'u#-^D̘-U7=/–6%;%Rr }i%175@8JoB[i}ש=K(Z)Z5ʊV38PsD޳֊v'1&oU9Z 0Ȓu vi)\̂ /aI9`D+$kW+W>ϻe$v xWa IQ sdq YFl[.7,(_0u.Hpvtd 7uiؖO&^G)Ie{MM$Z1<\0,"6B_(>m*AGq@x0:~ydy>M%̘AfTul#!cA`-BałɰGs?PK`M\J'$cryptofeed-0.18.0.dist-info/METADATAXks_T٪UR]#iұAPl{H=Vڌ.?} 3xaԪ{/DfV:="_wwntS7.x2FtƈMra1;Sn*LEGt!%sv:U$Vӏ*7զfƕc瞡EeeLEg2␏Fwѩ=kƲFV"]j%.m-[Ђy59+ʹkSt ʱPs(DB@]eYX+'TvդWjz7P!fVog%ċ뼴uѵFPZe:˶0|,S3ƻkV'2q4ķYܮQg3^SԔ)șZSn2"If^`7)qM bb Fdr4& E@ˊ*w̅WeB1\ |; <bxj5c,%UCo,y2C%)$[.VhȪ7H=߅K* lA$qNf)U ,/80=K!%G36XjL%Çb2u{'T Ʒs*TgbBظR);:,%;Mo'uz⠎v=l pt~-2 ;ۿ_^b@WG<Y]ril吝}w3WQ *,"Rx;k2ґ_+k%!s!` "oې*κލ՚ozg,S)ʵĤAu<4_ڍ6cnKZ=hA:hQCC(z}>HS 4U*(uds})y9jey`{>L&[bLdݭB5I|R4Y^[1ipΆo<ך*f*I}"ܿNo4R+~''5>6ĭ wḹ!ſ`WInBXv/@Ki^)\HAK vs7(ٛ}2l^eocvL4"R1xHLnFoÁ*+\A@1;XrU˛M|ƴgSJnD¨+߭iVwÓ;A#ue7MI} H==XDp(mK%.znq=i) தv>jҪC8ZN+ZK.œ.1# p]SSVр hFrܳfK"uF9Be\N;Ȼ$pbQ/?Ao#봡KޥxŒy/U@@Hkݱx8~#,Ӽ{Oa^!`N6Ը~eÉ˰D?ҝY&\0N6o=ף%'x `nxZJ%N$,sҷnl$/I7D()336 "lV =8jQxC8.½SJPm&z+]&BDGY&k ѠHv.0둗DYF~͓ {$w/Lc,&JtHIwŢ䕈ӄʭ븙N__^'=0ÿP^4Y |XɆD 1%n 鰢kxMVkR"$;ڼ;bnv(vl7yw }7&O6,\qoueR[ƟZTEQsOK.uA31{ڀ^Bn;1r2un28r?PK`M\\!cryptofeed-0.18.0.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0363 /, (-JLR()*M ILR(4KM̫PK`M4m)cryptofeed-0.18.0.dist-info/top_level.txtK.,(OKMM*I-.)PK`MsZ "cryptofeed-0.18.0.dist-info/RECORDǒJY/,fw IІ{#~T  }y2nl8G-N/ye t3!ιm 1_G o.ȝof9u v!nnigX_< 4AnqQM6n]J`$/]AR; rdDz SfI=tjCݽ5ސ(O); LutCSB]iospH[hNL֙=Z)QSE!?Rݕ{17Pw}>jVF]jԂk$k[j$􈂭2TZ~ ,rhx|Ӑey$~)0-|kT9;IhQP1o:I4εc7i 8B7|v.CWu~wW#f'v Q=bĸƓt$1Jc o$rQQez,J9tixgE6o&^+o&6X?6hSr(*+bG]v2Tn5Q;?ns#<5[ w2̚s ]ȣCwwQ9~4ټLS(dz=f .`߂Z`z#UUPSc8|ph?t>d 8lɂ+:ΚZP(zPt˙7yl({Zu8#k %k#:0B]w?? ѡ5ub:[v3%Wme$M1iጙ)D~t\$3g.a H.2=rܙu}ZF0mg9w\pQXc2?p?`% [{[W JgXl>xPʐDۘ%P>pDG]aӸ^Oe$ lO;|ԬmN:uq# {WeG1 gW(R(\Ф(S}(%| G"/Pz>0q/C X5QcyxlANDC.Et,TFȬ|;͑"+OjX \ 4Fm;R++pG]D VthY7S_ݏ!{¥r!%Yd{'Y5)] įl Zy|ذ&euEsvMQ5=jxn$??jDz.)qy! E-,\cryptofeed/exceptions.pyPK'MICWcryptofeed/exchanges.pyPK'Msq p#  cryptofeed/feed.pyPK'Mur, cryptofeed/feedhandler.pyPK'M[a&Ea cryptofeed/log.pyPKEaMEj!cryptofeed/nbbo.pyPK jMBc.cryptofeed/standards.pyPKEaMcryptofeed/backends/__init__.pyPKEaM y]vcryptofeed/backends/_util.pyPKXMo7 { cryptofeed/backends/aggregate.pyPKEaM(ex !cryptofeed/backends/arctic.pyPK&rM:$=K_&cryptofeed/backends/influxdb.pyPKXpM{w ,cryptofeed/backends/redis.pyPKqM=h0cryptofeed/backends/socket.pyPKpM6cryptofeed/backends/zmq.pyPKtbMD9cryptofeed/binance/__init__.pyPK'Mhb9cryptofeed/binance/binance.pyPKbMD%@cryptofeed/binance/pairs.pyPKkMAcryptofeed/bitfinex/__init__.pyPK'M  .Acryptofeed/bitfinex/bitfinex.pyPKkM=HLcryptofeed/bitfinex/pairs.pyPKEaMb.Ncryptofeed/bitmex/__init__.pyPK'Mab !Ncryptofeed/bitmex/bitmex.pyPKkM7Xcryptofeed/bitstamp/__init__.pyPK'MIuCvXcryptofeed/bitstamp/bitstamp.pyPK2kMUQ:(^cryptofeed/bitstamp/pairs.pyPKkM_cryptofeed/coinbase/__init__.pyPK'M` +_cryptofeed/coinbase/coinbase.pyPKkMLl^xjcryptofeed/coinbase/pairs.pyPKkMkcryptofeed/gemini/__init__.pyPK'M4rkcryptofeed/gemini/gemini.pyPKiM N68qcryptofeed/gemini/pairs.pyPKbMEscryptofeed/hitbtc/__init__.pyPK'M&Qscryptofeed/hitbtc/hitbtc.pyPKKbM+`$:xcryptofeed/hitbtc/pairs.pyPKEaMycryptofeed/kraken/__init__.pyPK'M?8zcryptofeed/kraken/kraken.pyPKkME~cryptofeed/kraken/pairs.pyPK'kMKcryptofeed/poloniex/__init__.pyPK kM/Wrcryptofeed/poloniex/pairs.pyPK'M) cryptofeed/poloniex/poloniex.pyPKEaMD{"%1cryptofeed/rest/__init__.pyPKGiM;. cryptofeed/rest/api.pyPKNiMnaIcryptofeed/rest/bitfinex.pyPKiM~Ecryptofeed/rest/bitmex.pyPKiM. 4 cryptofeed/rest/coinbase.pyPKEaM W3Scryptofeed/rest/config.yamlPKiMa 6cryptofeed/rest/gemini.pyPKiM x )Pcryptofeed/rest/kraken.pyPK|iMKJ7Ycryptofeed/rest/poloniex.pyPKMC1Bocryptofeed/rest/rest.pyPKEaMtests/unit/__init__.pyPKfM$!# tests/unit/test_pair_conversions.pyPK`M'1#cryptofeed-0.18.0.dist-info/LICENSEPK`M\J'$Rcryptofeed-0.18.0.dist-info/METADATAPK`M\\!cryptofeed-0.18.0.dist-info/WHEELPK`M4m))cryptofeed-0.18.0.dist-info/top_level.txtPK`MsZ "cryptofeed-0.18.0.dist-info/RECORDPK==