PKױBk \websockets/__init__.py]K I#EP J\Rl+feE\K9_k`˩1k w4!\4ařgUuM<Bnzf2 &}ZI {S$hI(c{ }&+ZX,hn6fXa\]uZYؔzG[ 0w TN9ϰ5S|OϾuIS~n}%.s< yvfr˵f׷#LZw\x}q{R2{>flW89TH6NݏO|L5ѕ'I 0 l m>{3 @ +}QO65V+#'=^7UGOǻm}q#Q6Mx1x_JscC itAuI b{B!Q)j5DڣdkҌ1lH[]v*T!9]sNDǯxA2WD !e&"h6-HT|BpՒK؉ccIBA'= آUysNZ^"[t2p軀%i.R$x=xj C"4\/\P/ph®'?Gdp3.ګv~4%]#,tagq77o~ , HЅ!֬b}xΨ4p[(؛mi͠kRfUfu~4 qi$Z5Tⷾ5{ LDĉȈ8ciX$^^Jo@f; `eJI<}7LDeЗWSn~hn5GӴg=\LnB@t5jox4qD9Q􄴺s9n[I3 NjӶ{[˝n3{$ӛ#B5WwefGPKI?F;a"Q,websockets/exceptions.pyN0 } k  qMb8 TGq1xz܎Cb=D'E!\c>+ `tZs 4ʲ uEm.2o4}@+9x)B4jQ \![F^9&: G"-0;+ho݌ ar:\k@n*\-)̈́W&",O,m"alE.7'w\WvPR]v5wi~websockets/framing.pyXms~bCOcJIڲ]i8KI3HTGp$:L$]>,h]m8,*_7|eTvͭI ͶBS orfy`̎g<! %Tߜ2S 9ga7zL80owvCђTiQ[qisNN+2UFrl-=J&g-"#'ahаPu'LJzն~2VWmV2s'3 ی?եy[9+˯:(KV%spv<9{wu0qëǧᄎ)<|wv6O+L5gn}1m2+qkJU!G0ye`(kuE t-,8}ڮPYiug@%K̖>A(ѱ!ن#F y,˒ll8jNߥ٨a]x>+K†퐆;,09O rڹa*aO:4 Q>c Q}NaYvģ@\H෕ȫut mjӍkkőc9mBM0w5w\E`6\"Z퓁<|K/z׏}Zk/.`o~h{j[Y4?xԉl\o=M2=-"bW?a/r+w{7b+b,5FB)B{r4cMAͮCqu 6)H㑗W3i~#ɽGxlHͽzZB×,sL$E?{8/GV ꄝhR7pJr!B%ӳ82"9SKK,iG0)w7 t#0˯:}O\JS-tHzZ΃i{o< O5>qK҈xءFTppFk2m{x_{gp>[xm? '\qi[tSvxXwÈp6?l%O2'UIqj9#2-ʑkg4ϝ%hTsgRdօoi(vr8o9i:x[J^}4uS(8݇`䜴!už`}?}}.?'c+! lx?]xXh Wb!SH8di7\&Si!~ȓ[cKp,ᲿPKI?FVI|qwebsockets/handshake.pyWoF ~_Ad1[7;k]q6IaKhYݝywe;-a{X^jݑ<#=;; 3V WZ&htE#2GH15< !_pugeA&U NR:#!Ҙ! \ L2 0dfF\:jsm~ |5G 1SQa]\bq>70bQhÞ)Jj¯ml!R؞Yfǝ5",Eڜt4ӍzQ7iΟ~' Pe}o:hJY{?AD]}^F|"w$IKSɪը,MVk;&Dgz3<@f 5&7"7onDNƻdux# QohGt ԏay/YRc-B^';;]:v_LOw!g}1.,6MGDw]mHkvbH521҅tSsT3)U[s*U9Z =F=%틃@ZnBp<.A14  9s}o*Wʿ<>=`pnRjfXּ0ٚH0$q5Yri YZ2IhçK1{ MV kg@XFtIE5þu`}B¤۾tmgY` LQR B1{?gdl-/4{fIԼzGZq#sMcira6 ե֢je a#O6xTLFlVF $+1AQ#*[ 6vb3nL%v(O] h\ = ˒LD?Ub\@[Ҷa'"GJN1bvlTaؠй= l2fy:Abx<9@~N`İ Ir52fg@c-8;F$4 p9݀Ky]pU[dVb2a3\I7gz% ^! >#@R%L]$E$U-:X78N?uIbQӈIⅇ&0- PF\ = OO'AIkc4%ë0}Pm-dk$_c@#5~K`hx>%ZT!B+|kc1z5K~/Uu Zwo6QG.!rtBKG`hP0dob{3=F@ǀmU{Ņ[=<\\ؖ0(e)x<Ԣg#z]gh#h~Z4u7N xR(.?0\ǚg4\Ž 쏃c^_k?8(I%C 9nY+ȐȎl2v6ct&8Cu^'^;gUGM X,\Zh@ȹ7y!Zz[@jd'Y{j׆P)]c=7#SaD^и ?_VTb"T6{"`e]c;1GD&hq)?@i9nO8W <:+iV,o/o~(\CgZn!Y14B^p :D@ָav֊[`"v2AFyΚ 9nry KTא¸`:`!˶֪:ħYcy%X p$me#Uv{Lv05w6!;QŌQ[;f|K$YI^@ط`;>N 1 $]8> \]#Fz\v͈M;\&CX aحM9&+oDca?cQEh_[LjDnK<9DщhRy+_kb<K?%Tn i/ p`|lq5E`=qNl - B8.5eqnek \ Fn@ k ˛/"3eKU#E7zo`Ρb>v5|u ъ̙ٱGLVx&mdqW *yYREAOF`mho6Yj GڽcD|f{+t,TfKu.ð= r/k;Ɉ`=0n(k7(D"(I;j [u8ȉKJCG@vш8 VNѲ9(YҲؗڸ޼@MGXJl$ݽW٫;;5*U56^6'G}hTK#Q=ٱqxmKp9Zg]B~;o:="yn[v ޚUWCG59qgLt )jw,g7e7hMs!>ɳ Z5<\  JΚݯmj&G|& q<:[smBC=<7fRN1 Ե(h Q{vHbxf#T] $6F91ݶlK5LjSK8)Ѣç d4 ˃pӚ:t=otn-OA̚6o١ȷxp; bXe(beP4ѩC2l@eow%Qqk65NcmV`3 ZgxbTٙ v1=#p+#atQN$gjn[6x9ݣ9Dr|ǚ[k>}/R1pQdROW*;<98ĂhlqTy*E!m؅-X>hM70v;0сӓS{94"čn^:b`ar|d~yNg ?I08>'wP{@Ȟhp::~P6CmO)$otȷpK}~HvMxq7Ў6gI \Hܕ'GC;*u"_;@\`SNڐUpeq!vISx9q7?κ'*ml?ymȃK}8lX~x|c^PϺC{^=+?it`nzM.:ABlᾄ t_PKI?FN' owebsockets/server.pyY[o~8@I Pfݬ1"59"gXP3rHJm[3onn=#Z͉mLT b`3I(el֤Pw4vAѪ2$_C0LHӯ5C+E>0"x~.s3KV$er֨RpI,iU?P^==0Kw]g!kٿ;&UB]YU6Iѷ݇GKXy{Qׂ;͂ @2KZG}e5˲JI(>^>hp +_jEU ζ㾔ĈS=kK%!"bGLE! Bċy^|c/hГ*@V9LP9 QyL ]8riΤ*R"M?? dɲ*"ɪ]BN2ÀX׉}D[^pL[;zp*u[d2&6~_4ׁ;Fqke,Gf5-U[K4/5}cImfZ 8tRf\SG]|Y,sM 3&hrO];^B˱KO(4!3 YHȼJU§}=5ccI5ocF-UFٚoM?14uUȫflmReZ CSeaS G\n̮4#πCh~}B &8!mC,x䷉cʗX x4pK0]KjH\^A^f: Ι? W+H^ 8}=큱Lf2%~DD˅3 fB煿Ҿ኿aZ9 P#GϢ}]da@GOwP%Td:;OF] 2E>,Am^%L'p(X ed{63rRF ɟX,? Gl&?oVoc;@YoQ_?Z[hΊh$Nť-) nGoCZ^MZ7K,r:7UmV*ħޜZLPxcZ| nY-K0?4*רO-s+>n!0<ֺDe\>sLVNb`Vz>W\A,5̆tO^omo\A?_=09KD.D}Ld76kmX?.pĒJ4`yg(AmK&a]R2 ނ4ccpщ.ﳾ d\m7F5];{&|v})oY$$u93ʈ6{ $S=vz!Tw^scTH#gѡvo,=o" zl⬊}Ì͎#\+ڝ);y}Wk;yr4ɒ P)zz8Є;hD;Թ)zVs?[s޷4?yWWlHgQ[-#oEDGVn#Kq_PK?F?q, websockets/test_client_server.pyZmo6_u$w00"˶Ų9a(Y:ǬiR#;RDn]1I$wsw|Bj 7Z> U-8OVNדJ Qw
%]2([ˈfrh-Yٞө/]FA3> c%4%Xrܑؤe.`  $h2IY9}i }Ua!4QtJ|1@~NpWCl5mL1"UTp\Ǧ!lЬ:&CcV u\& j ѐȟĎڢB57#Onvji ;/ ]cj0&̄h0#?|ZcT#_! \Sb3zəfj65'R;ٳ—ƾg1VвWPݳs(@=njvBn:7L2mjB jE, K-#>:?m>_=J &?;""m 0ױRS$,gk Qj7W'na,7c2J@8Zl]t#^ rzh`1tڌW<#wlcxetCʧdRT{%X |WS{m+Q9j)q q4Jzo~AjVx5O!bʉޏ+.c0<}|<2܈ $ߎOGQ5G{[= "݀۔ޔ2q;B ,X܂}M.$oVXwT} U螴yX{io~(<Sp$oT̨-q{ Ke TՎҝ Uk-x[*|%>[H b3KY%AǢB F Ql8G1y;YA?;weQ Ip4>o;~"qg&w?(=DۋZqs L#k>{&<!NePhyg4S8v ݦtpRꤕr4>o 'ϟߛohp7Hnu#.zlYO =U_sJw |y+&L%R[-mM8X )]jNЦXdLӋ!A$g Y[+Ӑ'4f[2> ]~1`/o1gxq짃2Eyĝb*ko4{Enmީ4 =oЍ#/g&6Ǝ,*>:Nc Io(?Gi[C +"MU~Q~я1:H xsc xMMQbtryѩ7?fVlbw?8ҟꛎV8g/_fouS{*ڋӇ3ubԝ3)~ GҿPKQcEY websockets/test_framing.pyWmO8_ai?4V)PH|8v `uw"7MB8߱N:/ E@{yaˌ EbJR ՠz@c |IƐ)SI@] xȓs!kpq~u,蒥`0*%\L!t*c}JpOb"A} IOIӷV)<p W Г`݀)HÄKp,B1%HI*~4<_8)4J%.0n̓+k8*x=ˀǖa"cRpM6Nm"<>tRߑشoTޑh"g/FD[tKZʨ&X3(EOz qj>mhU^Xޔk616>j[T\uIV·ܟr6܉2̺]6DO20˧YxO}d7p2eYmǝDӢ/-7h@3ߒ@y0{0(@Y>9D((}Z&i*Cv!4ǻfn6?jRuCQ9xXHz$@O ]=m`NumhfwDw"\ !aklzD&{==g6&-b2vquMf}8?mNZqM?0Ltjtk:P@GcUc>=hmL!t'8orVg냲$3$#hC?#]3UcOΟ%Zet ߁=3Ã8oW\oQ[p^oV~GԍwOI-fU9_ Mvjď~܆jDߒwv)_xx:11q>L>0 a]ko:+1*y)d`gX'q/PKױBx8Ѭwebsockets/test_handshake.py[O@+6@QAD(pKTi@זn0wZ Ħ/9s,(p L7GUXs Hu!f& JlK=Gȧd9F(`Pj>05 U-̠t(ڄ)Z2pJEZ=q7-tq^֨ fr{Kjɨ觵ɠ^/°3{$\ƚ "H5$ʯv8`حTV 8%~" >>w# = LaUpai%ɀr!v0,0]T)SN\#ҨY A±b&[k<3{9=88y83lpKLC)^TL3X m̒d7n@݄p:6O|9@ JTA"Ca  !=, $d< :& sb)uY*!X #tqEXGF!rŜVrv3}C` '6);>styYRif\^bj1B"> [%6KҙE.dNz*6/i7uGGHf<;>F18ʠ5E!kD8~VGT2jݬ_kVZ:RY:L1^#[f;79c(ʙiD[8%yvNOϼ5Ư#+g/M ntC/QȄY}yі$$R0W1E}[Wιi(T6"~y _\G6O2dʐ3-Wn&WЛPx |ei8솝_G?|?zx𮺃ӭ6/TS[G;Rɵ37'+[x _r>E#ǣe̓*Q/aK. ͊-OLV2ylj5h4P}Еc[0 "5춲?NO2)萔CN!Zˑ8{PKrcEKZ Ywebsockets/test_protocol.py\n86?lᴝvI&4`hvȢGzhc_lϡnDɒ/iĈD~C|6"+ŤÙp:S*WE3 Ō $qܻUT+_PN|tƃiex %\'Ʒ02Sgb6M\ޒd4NIsB~~DD %䒮Ș!yDDbIfԽCTJ r: L6IO:Pr1ga?^l 1b[:F14 dSpWRdD4yQ/Oe f$v qx!A5!h0Y"60Wlwy+x y]+@2Ϩzy|bD!9XiOڄ1OSqf|GxKh(A=#)>m;p *LK9JtrM ]<2G 4%@?1iEd2ћ lofĭ~ȴZna F[T(=١K}ߡT:>]N(Iiz j|cO"D ^ Z|P/Q/U(T{a9<.RC>V>Z?gpBr SP/Bf9B'q{0IXp_YM9^M$ch2)w ?}5$q] ~5 ܏Z-swϻwEϦ]QE>ScKǀy?D PAnăsWx0h f4 D,XbJ1Oe* }j:ąG܂<%blٯ׷?wk$Dߖ1AƯ Ŝك\D5@{ ݏԗvym$ nqx4G\m]N(^w&~ Deo%#֙[spqӧ߁#xOH9, ExgWa$v}հwy;HGŴE]ȱq-A+1`ƒWkMޙGKTG 3=3ő?9~ /w+qҞλ1Zp,mN Є㑅?ZkQ=x<&&=ZT,z5'/咑${EUiR]ruo<-ZMi{3W-лE9?Xy)z3H$Jm۸I[Y,$VV B9\Tqr|D1 +[ n.~BҐZwsm.0˧3m(X̛2+]\T*lU@CWh‡$6*o!iw+CK%\l]>M=rRQU?"|oS E1h?7 }g(]Am AKIdøXf6h&& \l?`#{U"&} EbruPl>4"`]~҈SmRՄպOgdԆyj]kK55#`4gp9wI .k^k=dM*)Yt:д2ϻZ}˭T:Wzrym0߲XAǹJ'̫E,=|aiWSV)9%9 rɥ5 c D+]*"&Q6|tiv?乸z|t*9Hէʞ O ̒ί"͏@?cT[B4ԧ{IAv?KC%C?'D*0 z9Ώn>8 ˈt!ٰb nme g{+FTzᒰBrLb7f2 _g +S7)JI ^ۣ#eUN Ӧe6UTbG lpCjT⻩@ϓ0$t-;cIGR[:G o)[Ԑ)F)&0K E{wVf6~&%؞bK>[ M]RlsDzi m;ꛟ2fԢmMz)&8QO /^(AZ-$!Bgh>kh?Z}evB鬹1xo $0G4SS}IF Zgd3jB[\ arn4P_,]zBߝ,qB*U<yDˀu.~9>R7*u?V!q15)ewi5N=/faոhc%S%36`'h/3| V0)0 k1fjX 34hEq $\>\1eЍ73pT>S3ɧ,4[bGKO풽/цI5u&DY' >] W6٩8X`q"sV!'4*lXU*$%ܵ>'!TWQ,JSL]NF\Agd~UfmW]>*؇9z̍]m\nTQV%kNaeЯ#v4Vro;WGTmI~RM^.;Y`l4-ltIO"Lzw.1/0VmW難1WX7$]/'cǚ޸iqUoM~53[QPKױB)websockets/test_uri.py}Mk0 b (1CL,'N-gm>NC#[QukQ!9JkjH)?E|IVl'.c/cop mhRW\&!:d}'H;6.m7fGƑ[whGt`,{=qr #EigZG- I(ll%BN]Q 'ԥ/.Jc%VZ[x*Z[Ko!&`3؀>QRR+1և~PKI?F/D1websockets/uri.py}S]0|X'"P !R_@:B8ۡٵB!RdǞݝf3)(zAmtx8ի!xKgLֵu  Wuv%!޿ b5^hZanх,\[1͐9+KiLYpJͿ2 P[cR?XlB> ? *c'$UF'S38>GңS|>J5huժ<<ϱXZ8K͋i8$#҃eޠi!`If9N uUHρ(ρ'IW*A{2JHA V+U'M UmޫN-|x'_3z ߺoѤ1⎤nW0)`7Fs:dL,#($/zvD5@'.<:[,VK)2XՋy8Q_RJG5ur{CiSdynu۫n}XLao7Xj &)V^N?KFaJ"F;ИM&websockets-2.4.dist-info/metadata.jsonSMo@+=RkP = E* WAhYfpb!̬DN͍}f9z|`\+ 6>r1E%,n10y]p/@+ބ,x'lWfͤ'RNV;Qm;؄hԴ*6-{Z"7&&($co [L"3,]wIݱϓ4[h0 x|0Qa Jw@F]}! HTvߡthLƼ3N "6 e5,.3eryaûMW&-zUU-˻r!ִAAFLfl>RU4m~ۣf:0pvci1 *[)7(Rª\yxl(sЙ)[ L–(АJ/Nk/!ރuu?~}z#x3qiO>٭Iy57x/>qxrEhToMPKO?F} &websockets-2.4.dist-info/top_level.txt+OM*ON-)PKQ?FP `pwebsockets-2.4.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0323 /, (-JLR()*M ILR(46KM̫ PKQ?F~^W!websockets-2.4.dist-info/METADATAUKr7oT3I,yBJ)9bN䀘 c|703"ld#Dןy?yi~(cggldgvfEw3«뛛o/Ù hC~^ mt%籉>H]_G:)`1ƌ3Tss1Q],k؝=%|Y2pw*,t%{:ʢ{r/Zi AD9,u_G&SNV3:@C;"tkj&{M,u@y~z }nRmjK;HZ&:O鯗ύ/fWl)} Q i~Aa/cUuR@zΑL0u.l"}  }PMQm'SdZPg6pRp,Xj}^6x= Xm DB Ʀ_C _Lf(ժ5J!ە"5T5UbRdXWRM$H#p4zGA+V0ZDjm' OծVIC˘*+-ՔC\6tt{b2;ʡ ){[>.n C0mcI}ߟQZ>2ò[1X44 s= } >K}Ft/wX2ƾPKQ?Fwebsockets-2.4.dist-info/RECORD}ǒHD̛@/-F#̅ }J}*+\h*_AP~qEK8Aѵ㓨hAse+paUCcwـAG187b0¦h'm3B[?ɽvt '2rs Dk}yN<:rR}Lၦֵ xj<+&"0䵾ɺEBn-ڻ[xS_qgC /V?tɓ?>cI* Vs- pE_j/pxdቃp +{U@.(疦$E3abNS@4/HF;.':R E*w{*.)9#E1Lu=̈H-Yޕ5>V[~6[?+]żPUI_Ty/%Q aׇGB!n1pQ#&qcH3ER˅0wm&u 6%Uw4w>0x4OഷJ]ߢRvPTӋ8Vq`?~ J;ܾ$eNF5 Z} h :䏱AW"fM0##l+KhWA`x#6: &oH%]a`2R0S-}׻SMJe?R9eonP;rv)s^}ZrHޡfu] o&=[9voqR^KsyWNP)Pjmh=Bw1b!#: ǫ]Ug?㳭\"]i~` websockets/framing.pyPKI?FVI|qwebsockets/handshake.pyPKI?FG T websockets/http.pyPKI?FQu?websockets/protocol.pyPKI?FN' oh,websockets/server.pyPK?F?q, 5websockets/test_client_server.pyPKQcEY =websockets/test_framing.pyPKױBx8ѬBwebsockets/test_handshake.pyPKLKDGV'* Dwebsockets/test_http.pyPKrcEKZ YGwebsockets/test_protocol.pyPKױB)?Swebsockets/test_uri.pyPKI?F/D1Twebsockets/uri.pyPK?F`oVwebsockets/version.pyPKQ?F#m(AWwebsockets-2.4.dist-info/DESCRIPTION.rstPKQ?Fj̘>&Ywebsockets-2.4.dist-info/metadata.jsonPKO?F} &<\websockets-2.4.dist-info/top_level.txtPKQ?FP `p\websockets-2.4.dist-info/WHEELPKQ?F~^W!)]websockets-2.4.dist-info/METADATAPKQ?F awebsockets-2.4.dist-info/RECORDPK4Ke