zlibstream library

Dan ddaglas at gmail.com
Tue Dec 26 18:55:05 PST 2006


All,

I cobbled together a stream class which compresses/uncompresses data on the
fly.  It comes in handy when transmitting compressed data over a socket via
streams.  I hope you find it useful as well.

Dan
begin 644 zlibstream.zip
M4$L#!!0`"``(`.2KFC4````````````````)``0`345402U)3D8O_LH```,`
M4$L'"``````"`````````%!+`P04``@`"`#DJYHU````````````````%```
M`$U%5$$M24Y&+TU!3DE&15-4+DU&\TW,RTQ++2[1#4LM*L[,S[-2,-0SX.5R
M+DI-+$E-T76J!`F8ZAG$&Y at J:`27YBGX9B87Y1=7%I>DYA8K>.8EZVGR<O%R
M`0!02P<(`=72<T<```!'````4$L#!!0`"``(`*2KFC4````````````````&
M````;6%I;BYD74Y-2\-`$#TWD/_P"!02:)-[@X(BGKR)"(J'[>XF&=S,E-V-
M]0/_N]FVE.)A>,S[F'E- at YLI#N(WN%,\3^]4R+.FP0-IR\%NL)NVCC2,C(KX
M(#TKS\3]!BR\WGDQDXXD#"W&UL!3L%`17S)YR)[A*;S7>99G-.[$1WP[VH;H
MK1K;"S9$4\]#TOZCSL8/(8-4HJSPDV?`XT'#T8(KL-WC=NHZZZTY:F6B7N9_
MIS7/%I>F>W*V]$6T(=;Q,]:I65&ETU75)NADCND!Y>2$>SABR[*"'I1_?3NL
M:$__Y]AB[RG:SG%9+`W6ZVLL0[$ZIQ*FL[]Y]@=02P<(#9+V1?4```!W`0``
M4$L#!!0`"``(`*>KFC4````````````````,````>FQI8G-T<F5A;2YD[5EM
M;QLW$OYL`_X/$P/7DQ)%4IQ<>K"B`&USN19(FL,E08$&AK':I2PV7%)'<NTH
M;?+;;V;(W>7NRG'2Z^&^7(#8$CD<#N?E>8;T;`;?5'YC["D\R33^OU"9.SJ<
MS>"9S(5VXA2VU4K)'`I39E+SU$^9U5)?G((V^N[6FJ+*O30:<E.(*<!K)R#S
ML#.5!7.EP4KW=GIT>'18HJ02\%[)E?-69.6"1F6Y-=:#\\6T&4W&\GV#I**_
M.*?E:-;B`$U<&PNE*//MCJ0*L:HNH"/K92E8PPREOS/EU at KG\!"S2N?M-PB;
ML[HG4#E4S^9#?MV*H-`)>XG^<["VIFPLGH;)5QM1Z]T*BZI+E^J#:HL_KJST
MN-L$"C&8PZ4%SD5UWP"9I1J=4CN?Z5Q`GFEM?+T'K(S?@,%O&07+<41RC+:#
MG]&VEV'Q*3R5R at L;O_YZ=`BPM?(R\X*^D&N_??'J^_:`K`%_9TJ9'*6*(.0,
M^`TF at 5S/_$9@:FQ$_A:E+C(R#ZXV`H=MD!62/L.5L*)5`QE^(_.UP&U<9G?3
M(/V#!A/DC2W<!+QE9X#;9GAF"I1X)_**$U*LUS*70N>\N(YRX^QS-I[R98;I
MC8=`O9#EOLH4:7^+:U[K9E4;YIO7X4JI/8>"_'B^JM;N/:;;0;7:>?'F#&=P
M:''`*G*C/;H%CV36&"W-QZGW0D](O:T\%)G/$@6F\C=H:.U%'2B>*%D9H^"<
MT at B6L,Z4HU*(HU?68*S;88`/],-OI!O%K`B'FL#PB,N3^8._A at E*^,&@NE3+
MAV/.)+F&47?QHX</QCAQX#?67&'<K^!O[W*QI4B.CG_0EYF21;,?T!+Y'OUN
M+Q!SGE>852L!CY?P\`%^Q]'E,7RL486JQ9N7_*&WZWB\B-:T%L.C)<QOMN5:
M$+C>N/D-MK4V!+M<A04["O;R`,5AVG/Z,,VZF8K1I!/4F3S"*+"N?D9'N3;G
M4W,8+`\H9[*5H at 3QMN*T(:02O3$GQ-LX5.<1EP2JBIN$/)Z?D73(Y>%$*'@,
MC1*70H%T@`PBUU(4$V!4D9X&J>8C7*9E$W.=(HL'AEN8&1S2)L.CL9S@]`OW
M^H4B)1&N,B>FTRFC7Z`_<RFLE86`2AE"&SS at B#^9]=H)/X&7./(/XPC:$'S'
M$2W;_*'Y)(>^"^!,>B!+$'AZS*$A4+5^-)_`#9*)]3-D/*3RD)=*>*%VX'8Z
M1Q,T)F-!/($0B4ZK7`2MM4&\O6+XW"#@%K4B="&R-P+O:4"J2<2;"62Z&"#A
M/C=U-JZH]BEUOD5T?SNZ-%@\MU'=6MA)F*1J&9,>='[P')XF0STX:7!3"`ZA
MVFH.J1'Z<Q^%:\*A^@AL0_Q'56=%B585<(4T$X7IZ'>M4`+#S-Z2"K&SD%9@
M(W,IHM0(=W;5RHE_54)[="8V$!95[268<1NT<#"XA8;H2BGX[3<^'BP)5%I$
M18^.T(>5\N/FR-10:7&1D140)G&W+9K%Q!HW"!./EZFVE2EVK";*W`IIWN8/
MHSU%C^LU-";D!Y>5=>L0, at IUU-2PK\23>F;F40JMXV*C2C4:_=10=I`9X3CO
M1$ZPZ$WT<XD>=<SQ"N$0O87!PZ:'(G at E8)-=4N3#<EX;^2NX=LR[AZ:.CGQ0
MX/24C5PKK*W;[;]037T!LF3YIZ+.ZJD2^L)O<.1XPE;V)EC'AP!AB"9\CL<]
MD6!(S<Y8(;QO(+E6+.0`S=#)\*063XV*B+<#S8<3UA)68"%KZ38\,,3/+O*?
MA;.R7WHG[AH!?-)T++B)=\3(-\E1Z4)8M6.`X(WX4$3DB+Y+8'::MH4=-&Z]
MO48YI5_;S]YBC^D<%2'>^E%TWK@/+]-V(.SP9@[3*9EP-FZ\C#)#'W^.\K6J
MW&8T3ES'D>RG3*H_N*\="8L/VHO%M'1*B.WHWGP^#Y,?:@]LJ3V+ODW(RHMW
MB%UFF.NT+O+CQV635]0U*UE*37TYK:&;#0&2":7&;HJ"%>E?[7B\=YGP4DF_
M"S$-J17\2]$-'L;3G<7L)UWO"- at B+D5K&S/9P[=A%12U3K\]#B*+NBFF#\39
M([F<+^2C3AU]]95\1/6UD'?N<`Q)W1MYAAJ#''Y>Q&M#X@"$C;+*-_7Q&YN:
MSJ)>G!P+.[`XRNDTK_5:X2NK0T]?F at HM)M1'3BL:T-D#)YP5F/9U=@08D1S]
MJ%'^U^GZ%(;$3/.1D>(UP<%6X2]*N5J`SN)%<]UM!-L,K:5OYGGVR_^)_GJB
M_R(6)W#]G23>ZW/3WKU+XNQ*MS&5*LB/3E(^XJ<\P\PCEB('<VM<5.4VJ3".
M#3%Y[-1UQ(3FSDRW81+CVP7;+?Z,G%\8+7CSSG6XPVSD2*[(\(J34DN=3YQ*
MBXZ>',WK`7X/[O<Q">\U7C37=@0([GHVF"VC44IU26[C5L$<^A!Y8(QM0:">
M:$BY[6$I@@X-)H at 3P8%!+\&'^M%EC1"G@`N)-W^*B;:K#T>NB+?ISS4[]>+0
M[!"%(06 at V5V@;.WLX0%;&CFUN>>'5.0=DD-\*DQ!P\_G3U\_>W;^]-GKE]\G
M]^&$LS]M1ZZ,$W^`'>G>46>]]\'1X0>Z.>YY27L9.Z:CPTH3O&+]_!KOF:M*
M8JTQ#$.-K#E".H:4!\^Y'UC",;T58L.,(+>R]):Z-N^P$LLM/>E<<MM,'?3[
M'9;4Q?1XL5?/^0EINF[R?CO95%&#^BSRJ;GSD\YLOXI/_O(P9$N;G_0ML#_U
M`MP!W)O7=)\<'KN=]EM<%U\@@_=ZW5/RZA%MNPX)1JW>]*[=6UUW>X\3+$]L
M:+LWCL'0F"054/8\,FMP3CLWHJ_/D;CL+@[TS`BIUZGI5AVWWE3220EWXOXQ
MNB"$?=SIG>,+4*VJS>MXLV-J#23E6B^EZ;GL)-F$=@<XKI/]%%D&K2Y.$ZGZ
MIG5,LOM?P`;"XR"+/56ZVQ=I:L1)U[CI\U``&ZQL153?MAW4/H0^7!,)8L/5
MO$,EAT?&Q+Z"+^K4MY694B1VYX_R5'VP=F2O&X9BYR?U&>_,AFEKQ=TF;SN9
M$OZVX9L_34P&:<Y^:?Z4D=S)QE&6^)T&Z5;/PEVC4"A-="CK]\9.^K/E2>T@
M6UY;.Z4;IV_JU!?T:SXU85!(K>[`D-S0==DPTN%^/NS<'!)ER962>NL9/'G^
M!.;3>U]_/6''T(6?02.4W&F0.[B;O+QV_`O\BH at -%.,K$IRQDV9-1[!MF5U5
MXJ6A9-<B^A9BS7<EM>N:VE9]'SV9-4HWI9>=!A;NA&U_^N>+'_]^V@<^<KE#
M(H(?7[P*3SC8#I:9SS>WFAM?@_G[T;:Y]NW'9+X(+H<<A.-<4U14?`6[]ND_
MO`M0&>6L[1.RP[W3Q2?A4OJ9B]E$7MY49ELS_1KKU5<,:H<=F;539$^R8+!U
M2G*IBA[#[14ZZ6'7_<_!KO\`G`<(=__+=-W_GP+][W/7M2@^=,8>P?L#N.=^
MM-[PZ/#?4$L'""*8ANH."@``XQ\``%!+`P04``@`"`"BJYHU````````````
M````"@```%)%041-12YT>'2%54UOVS at 0O0O0?YAC"]B*FP5ZZ*E)[*0&F at 1(
M'`3;&RV.;"(4J>6'O>ZOWS>4';B++A;P at 0)GYLU[\X;^8<WZ.056/>$45#A0
MYP/-:4I/BZOY_0*'56;Z='EQ^?GB<C;[3'4U5X[F:F-5Q*W6Y?1UTRMCF];W
M=557JRV_U_-=QR%2=K@;`L=HO)OBE[8\[>R!C!MRHC at VH9RNJ_\(]#F=1;9J
M4&MC33(<*7F:-T3S":T/I+E3V:9)70W![XS&?4RZ^8F&FIMC:0&B%_?^V8)"
MY(@:UP<"8!_9[CBB!CY0TI/S@,[#X,.I!>,VB%]M33QQK:M]4`.*O],)/@,(
M->A_D%&[W2)0I;I"JD;QBWT`.[>ADQZL2:ND0-W1FM&48V(5#;1)_J(+'H#4
M&<MH&R'&)0Y.V9*TSC*&"6&XO&-'?L=!^O3M&Z?FWS/;8[0:<=8/`)6.$\>$
MHW?T:MP?ER#^S>\1 at 9(&@FQ]MIC<WH<WVINTI>_&Y;\I&M>R2+<5'B5S&@=N
M36=:@FX9G-[!94"C;@U.=!R>!H\BX$\S0,]V:W8LJ2(*J`JHX$G$U#AKH,DT
ML(4N.#Q29]5&QKKR%/B8,Z%>O7%=K;.Q.I;4$W%UG!;,[)J1M32R"6B*2IJ$
MUI5W$%T^?TE'R+W7IBL6HOGM]ZN[9T2UP9](W"-%)@1?^1.%4;#I9D+3[$P2
MS(DT<H%9336O\Z9(=!6I9Y>P%*,FK&"8Z'.`PF7H`(`N^`UY;:&O]L("*)H;
M47B\%!^#D<ZME)K^E15VZ#!&$;U`-97H at ++D]XZ"B6\%?7%[N[Q9+AYN_J2'
MQ]6"7I>K;_3ZM%PMGE=X*>Z?OTB4.):O+4SUX2.5#_C=VG,''[<8]$6/XYX,
MP8!L\N+]E(,[6ZU6G$5;A:DK:;PK&\5P<YO$CCB9UK!K\9)T95T)=H.Y&6&^
M.T<Q93.MWZ.HB[GG,!JCQYIM5.(QV\28(>9R]$LO962K!W&PW`.>@SW(Y[%N
MF9^JJ^NR8^-S6D2;+ZY?[NCUZNEA^7#WY>3S,M(BN(SQS/4RUM9F>;`4R7)'
M=`!XS5;A#<KAV$)=:3Y[(T65%D=Y`,=WZE=CC7BF(VR>6$>J=ZI-/J#)1RQP
MX![/P5$IW;1-,CTW?;3,PX=/L]GL8ZETVL/SAL_\5QC_YM_@'U!+!PB`$V:D
M:P,``&,&``!02P,$%``(``@`H*N:-0````````````````L```!#2$%.1T53
M+G1X=./E"DK-24TL3E4PT#,P5-!5""E-53`TTC<RTS<R,#!3X.7RS,LLR4S,
M48"JX^4"`%!+!PC*_#7D,````#,```!02P,$%``(``@`Y*N:-0``````````
M``````X```!Z;&EB<W1R96%M+FQI8NU;?W`35WY_:QL08(()0AAB at I(LQ`2'
M2"",'$QB(UF08,?&=@R8'T)8DBU;MH2TDB$8HHLA9['B`EQ*<W>A!^UR)6W:
MIKVT)3G:<C&!7*?3N9OIY,)09NX/:W4IM'.]WF2NDYM3O]^WDK4K=KW.=3*=
MMK<S[ZO5OL_W^[[O\]Y^WMNU_+-YA-@)*24,H4?B`5+^4C!P(,I%?)[!-5XR
M-I.0\QN&6NG)1<;11<[5$%+F:F[LG.'N;-K96>9H=3;-<#L;.QO+T,QPM+[0
MT5GFWMS140J%?&,V><L"T4O+&#P/I$H)F3%3.L<69\TJG!MF,^2;):2$G.LD
M[6ZGU5)(Q6KIAO,.>K[>W<.%(BTNQ[HHYZV5ZFNEJD`@T.W0\B-72\D<0LX]
M3>S:P6U1GV^@Q15LD at 7?T`'7VD+1;AIB+H1XDJS6#E$'QKLY&.J!.&WQ@>X!
M]"H'KZ?(D]I>5LMP),#Y%'XI$UGH=GO=@Z&A`'39W><9\@9]$8(!8>3.K2$U
MN@%=L6#P<(NKL:\[CFX/@-M*PD[!KC\8B_:UN"3X?%UX3S`4]>7A%7EN<NQY
M/9%>J\WM[JR->]QPWMGHZ<Z=NK:UQ;L;/>BU`+R6D,70B+7S<-CWW)`_Y&X+
MU+K=`>AV-R(>5$/TRA$+U1!1.<*HA at C*$8O4$`-RA$D-T2='+%9#<')$I1IB
M4(Y8HH;PRQ%+U1!>.>(A-81/CJ@"Q%)2"8BU!42C1PY9I at J)R2$/JT*&Y9#E
M:JDHVC'K39NV@&+:M`70ZQ%=KZC2*XI>C^IZ]2J]>M'K,5VOH-(KB%ZLKM>`
MTHM*Q0I=+T[IQ:'72EVO/J57'WH]KNLUJ/2B$EBMZ^57>OG1:Y6NEU?IY46O
M)W2]?$HO'WJMSLNMW&N]W*M(B=HD*:K1;:W(C7H]J=]:K*BU&/JMT?<;+O(;
M1K^GP*^1/#OI1T79MCGF]_LB/F]._N$&ZZSKQ+6H.3#DZ_1TV_/GL!IX<M)K
M^0TBQ1218MU27ZP0:359I>S+.EE?#BAZ<@!]UNKY*,FF&:_3\U$R37.SZ?DH
M6:8<K]?S4<H$58E:/1_E+4COP`UZ/DH1HQIFU_-1"@35ASH]'Z7$4H5]6L]'
M*5]4O3;J^2B%DNIDO9Z/4H2H!FT"GSJR0>&SUB+S<=2V'NCW]2BIR%_$",_H
MWNMQY<U'MSC/ZN6JE#ZJ?`UZ/DKA\Y)4.9GM=ON#7"SJ\]+M7J->"*4*4A'<
MK.=S4.%S$'T<>CX1A4\$?9QZ/CT*GQ[T:=+=*2K);Z3DNW2]E'>_)$U;=+V4
M][\DLEL).3-"F))'M3>_^3W,:7QZ>4P;M\'M=@0]T6CW/01.'3#.'0AV7Z7/
M8^?*2:FK97.)JP4^FNBC%%Y^3GI\>JL,SI_/G>/U;7">JB9+I7[:L`7K6K>[
M)>2-!>FNJQLGU1`\#_ at .<82,S2")RYL=)&4FRR27#3VYC(J\)*@3H,M)E7*I
M4$4V`7(8'TT42%<@R/DB6H](%?B<XXE$/(<]X;!OR-M#3$C3Y(:QL%^$#*RU
MA8UD*#`$8?/$$9(:*=IJRC:C114QK8I"8\HD?!K7"SMODCI<5.?7\!G4N,YI
M7._3N#X@:_NUHKJ at AD]4XWJOQO7"L]A4 at VJU1GQ1']<1BD5ZI"="DCI"ZJ;P
MJ(WFL"J/\N"^7.&:NUX;B+;"!('X!XHF8PZPSA?RTUJ2.IF?V4J$+1IX"1,<
M)(^H5=O#H6B`"X2&*.11'0 at FJAIF`[Y):!KRMKB"$(:DCDT!<\0B$DP;TN'C
M),AZU81Z0N'#KDAH4)7+03H6"6+[XJ[@N44U)_IRP7\(=H`.>WZBM,4#W0[%
M:+?&N'",R[U_055X6C4%*5 at 0Z-PUA;]==3Y(OE-[DA2G3FUM.`+ZX<<=\:X!
M?,^ATM-X`4,W.=5J*.M:F@=\"0SU[J#[8N3\$'E<%6V5H>EV/$Y6J@*EESBX
MU\X'54VR;A*6BT927R5F->1ZBLS%FAKAT;H'\XAA/8!$PHFI0;K-].@!(GJ`
M@]/)HU\O2E@/$-(#^*:3AU<OBE\/H"F>>4!P.GD,Z$4)Z`$X/4"4YO&UJ4%]
M>E%Z=6=R']RVZC>B='\U'?+T<-)6!!-Z2;:95=F\>.*>0-!S((AKR`!Y6+5E
MW."@*`6*ELR\[L1S`(5ZPE,7CHKZ(A`;ZO5Q/<-X4\74NULK0?".\FBDE0L!
M$=171LD?W$GJJ)9T8>:3.C>`>VP-Z2H`*<Y3Q&J^8Z%P8SB,[ZB=KFV#VT"7
M`I2'8^KM*^`Y\+3B>BAT&C$]N02B9(6JU$9R+S]VY-]^/*8'0Y"J;-_W2@;W
M+.H[C@(2<:KC;T-,B^MY;6F?1&AJ;AXQ/)5"Y$$QO2BZS6A*>QX0F4X>!_6B
M:$I['J`I[7E`:#IY^/2B:$I['J`I[7G`X'3R".I%T93V/$!3VO,`;CIY1/6B
M:$I['M"K`Z#*/O6MJM!V at -6&Z!N at W(L@>RC<=##F"49A]YM_813`6U`)6Q\*
M.P;#"@Q)?47C"84+;?70/Z$-:-S+7"@OBW at O+[VO,;KAI$]0JBH]^3H!<N"+
MA$6Y5!601K>SCI[B2C/YM+QB"E_97_:FA!7^7DA2`V3-5`^(*G_B+)]\[N_Q
M<&2>V^T[U.,+<^Y@(,J1!^5__/2%`\%0+YGE'O0-]H0/0VMQ^`*`(=^P$AF.
MA!`YO^B50OYEH?1FQ/+BD",T&(9'UFC^#\H#TL/+??52DM!,#Q((#4^NO_=!
M"X1;90A[<4L!64N3E?G!5EZ5#_8 at F8N9<'V1T'"##9>]W,2I:Z*LP0-IO at 50
M>$?A*GFH,"PP[R8G("0"$W`1S(U)J*R],RL)4[*LZ&V5\HU/<RF^>;I8R]`7
M5J/7)C[]?_'I9,N*ST[#H?P&WW7BD//?(T*9B4D<%\K!C at I&L*\(56"_(K!@
M$T(-V)<%FXDY)M2;F*."T\2,",TFYHC0:6)>$O:8F,."U\0<$H(F9EC at 3$Q<
M&#$Q,>&XB>&$E(F)"J^;F(CPIHDY*`@F)BR\;6)"PKLF9DBX:F(&A>LF)BC\
M at XD9$/[)Q/0+_VQB`L*$B>D3_LW$]`J_-#'^2S--C.\29.:]!,ET7X*\#)<@
MQ5GDXMG2$OI"<BCN"0:\YL"0-$?,!V)^?,5B]D1ZUYC-+;$H9S[@,S^SR5QK
M@^]P=1/M_3KI1R>3_CVY*0^S\*G8D.R;=D"+/)X#2 at .4J[E?L\!1.(.C'DHU
MHU*A>LA^!R/[#4G^<.$@0UD$Y6,H'F6[JD=S[M,`I0)*)10SY at 3%0N at O<6C^
M6Z&T0=D)93^4/BAA*(>@)*",Y=I^`\H%*)>AO`/E"I1K4#Z"\D,HGT#Y"92?
M0OEYKM,54"JAF!F)BWNZ//SV^+*/PDPK7)L#I:$4?YI%R$BI-%]/ETX=AX[E
M^9K2B<L@&N].W`/[EVF4E'?3U6"_F[X&]B_2<,LG_CS]$=AWTG#G)_XL_4.P
M?YK^!.R?I$$!$F^G?P+VC],@!(D_2O\4[%MIC'8Y_3.P?YC^!=COI$$<$I?2
MOP(KB`3L'X at H9;\O&L!>%%'0+H at 58+\M8 at Z_)U:"/2^BN+TIFL%^2T2)^Z:(
MN7U#1*%[0[2`_5T1Y"YQ3K2#_1T15"_QNM@`]NLBB%_BK+ at 5[!D1-#!Q6FP#
M^YH(4ICXFK at 3["D1%#&1$O>#Y440QL1)L0]L4 at 1]3(R)8;!?%4$F$Z^*A\">
M$!,HO^)QE%]Q#.573*'\BJ=1?L7747[%-T!^19#0H^(%D%\1=/2("!R_)(*8
M'A;?`?D505&'Q2L at OR+(:DP$ICD1B(Z*P'-$!)H/BL!R6`25#8G`])`(1`^*
MP'-0!)H'1&"Y7P22`R)PW"<"Q;TBRJ\(!/LRP*\W`_3V9(#=`QF at U9,!5O=G
M@%1W!CC=EP%*]V:`T3T9('1W!K4Z`Q3NR@"#.S.P*#1EH*_.#'1U<V;,R)1D
M^M#L1[,3#;!NR,``S,K`V)6(X#$C#>F6IJ]"[<1I,&D#FBM&ADF_B^8=-&^C
MN8Q&0',!S9MHWD#S.IK3:%)HQM`<1Y-`,X+F$!H.31A-$$T?&B^:_6CVH-F)
MIA--&YIF-%O1.-$TH*E'8T=C0V-!4X.&8!=^B>9M-"DT`"XAXVMDB\6<MK:.
MKAW)<9YCJ_ at 1UCR:;3C:B.I+)92,7B]+.MGR?H:_2;^WMV77XYJ276\O0(SM
M;;R3-=)O;=2>^.SE^X)40)`;DT%2-,A8<9!*61"^F663V\S\.+\P>S8!.2>/
M6+(<6ZD(3#^3CNHNM:LU[V%/Q[89QK;-ON&80[;WDUR-+=EA[V<FO]8G.QI&
MKU>,CK"5,[FR&XXFAA]W[]L]>MWP`:Q:YT^1B45P5WPD+`7[?>$)L#>%36#?
M$[:!O2%L!_OA1#?%N"DF1#&O4,QIBCE',=\%>UVX0C&H3>,3/P#[@?"/],K'
M8*\)J#A_(V313AS%81M&8T>SE@[@O((`,G-_0<;7RP:T?/2>T<LOHC123MII
M'[W)%?C1\2(,]@T8:!L?9.TW7$[FAFLVJ3M6/W\4QV+TF(W$%O8SV;A%8L9E
M2W;9 at 89LW)Z-VW+C![.ER\Z[;.T=O*N&-V2W5\+PLLE.MAH(9$FL`B]79-NK
M\I>3>]@:",JQ-5A.O5"_71K@?;;5>]AZ*5AI)UN?W"<U5V&]7;>OGEMZ(LN9
M^*X&WE5_LGSI6/EJ!UR-E]5]'OD7F$OTNC4+\=GV'7"Z>APF3,TIXY+VMESN
M]<DN&%4C#N7>W1(+K\V09DC5![`C.;^13,!.+_&^\"#8OYU80L^W4O;WF1B7
M\!TX_;M+*/'O74(I_UYZ.4(F0"S*R'A&- at KS1N]53L%ZGO0;KB8 at W$#ZF1U2
MCCF"=@`O3B at 2ZWPG#(^3M6"WJO/\V@%7#[T!5#66R;$X<?N8"^CH9&O`I]IZ
M#7!5]%ZR4$98&2-31GGY??XFS'DE3V;*TV8UGM92GI"MJ[@)3UP1+M#9_CX]
M_WND:^)',KIB,KH>D%3G!J10A:6X*V9(OXJ.K1%(`))H5ZH47:F!6HO4%1I#
MT97<S8O)+R1"!4VIGJ;7A>=DW"K+9GY'<CQQI(EP"_M+>0=E'!D<EP9#^M@]
M3LZ7$P''_Z\%F`LSE2$J"B'*IA'BKW(AEDF[8AIB05L';^"WE_%+1HDA^<GN
M7>-DO'*RGBEYD,B/\W/)!*R0STW`XKA#"5RH">Q2`HV:P!>5P$6:P$XET*0)
M[%`"%VL"VY7`2DW@=B5PB2:P30E<J at EL50(?T at 2^H`16:0);E,!EFL!F)?!A
M3>`V)7"Y)O!Y)="L"=Q*QDVR:?@(3,(%HZ2,_V!<6?&H5L5C6A6L5L4*K8J5
M6A6/:U54:U6LTJIX0JMBM59%C5;%DUH5:[0JGI)7_%Q681F]5T47YYO6?[T!
MFR7";['QK99D,VM<_7U^1PWOKH85T at BZ5XD"G_P8]+#RE/$!^&+>^''<<_+A
M[!9+XO,YW*S$"'AS"Z2/(W at IGFVUW#V8^'Q>;!:&9N[6;`RRENBBL3TL>Q*6
M3PA%UYLQXZJ[%1W]S*EFUKX]MY4J;W)MY%ASY-O\37YQ]BP'.XWL<$UVN#JW
M(42YY18EW;:DNY[_#^L/F.&&!:W.3Y_)9K/\AW0AV\-:</W-K[ESB7#&Q&P1
M8"/D(N.;F`(%UCP%'UIO0VI&/VP;3-;/P%;P33:^!<FH!#)>K.'W(AFX*IIQ
M^4_^&'I@/F6<CTOIQA_/?_5;$.[DK&R39<QI,XW^FHG. at BPJ7'>'\</ZF1_@
M)O_H?TID&0F'&Y0*>CK_^%GP]<,^QC1G_O%7X1Q=LM`V?-P]#$X2B4;F[A,;
MH6?1A318?L7V)\N[[U9L[R\YU<G:V_,4.M!YR\81MGK^*SZ)F!:2/4.YC-5D
M8]7\AW(N]]J2>^OYSX'+HPT+6IR?9G\-+C!N&FS^"-G\%653/M/6\H:3.--.
M%D_!=?**Q;(*&V_PJ\_:]5K3N5:KD0U:C=@5C<AKZC2;?UJK^8WR"OE:6J^R
MELKK-ZG4RP,_H]7BL_***EE%0QMON,7<JF*A\E89BP'-LNK&T7OEO.$.<P<!
MACME+$R+(LAF"KF]ZG8]0,IOU^0 at JV40!X5`,XUEM_:P9;0U`[1VR\F6W8]V
MPI,`;;/1<&</:Z!-5T#3=YRL`?9-1>@FBH;F`W-NC[!S:!9&R.)VD)TCH>4$
MNG0(WJ)3O_7^^HMSR$RLH^_7S\^$!0J?=4Z6$.7Q[YO(?_NPDF!AD[1+4=6$
M9O3KO_&_R\$]/:U_'=/!3?Z%B='[\2S]D2*@OLA_YS%DZC]QZ+\I_M][T($O
M[`&;UJJ!=LXM</,(\P7_AY&9SL^=F>G]>OK_\DC\#QZKBR\HGYE(UQ?Z)U,8
MI"_A?W=_._1?RO%?4$L'"&TZ7K>8$@```#X``%!+`P04``@`"`"EJYHU````
M````````````"````'1E<W0N='AT[<U-3L-`#`;0?:3<P>Q@@\J6<_0""1G:
MT"13\D-;3L^4`R"Q?Y(7MOS\>7_LERC5Q)J6-=8<ZWR+O)7VF&*;WO)XGM.R
M]'F*H6_G9KX]U]6^[-[S,.1+/QW*Y76-2S\,T::8TSDU:^KB9;?;Q=J/:;FG
M-ET7[3:<ZNK^XG[>#^FUKLI<AL^M?SM%.^?+5'*O\;&-YQ*1O]+\BX?F^Q9=
M/OS?TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-
MTS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-
MTS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-TS1-
MT_3?NJX>IQQCGE-TS=H\/-75#U!+!PBW>C#E.0$``'6T``!02P,$%``(``@`
M\$"7-0````````````````T```!T97-T+G1X="YZ;&EBJYCS]JROWV$''K8+
MM4ON''R3T'QJ6O$7)D[)6Q=4 at C\Y1_N=G\*LL+%^DOBV/W\JZ]],U[AZ9-8T
MTVLRKVNZ]TS]-B-I]KU/%?,N;_I2V;4P_WG:/MOK5_>]N??9X(FWO>RIIZ6]
MWO8\%Y?-N&QIFOWJ4>KVVT=O]6?N7&X6*_[6;,ZK5_\>U=WC?[EUW:F8MO-K
MZZU=K9^?#BE:_W%C[W.AB?LO_>EN?_9;+-;NS_W+)KX#C[[<W[5.;KE,\KS@
MDK.W;&RN7N6WR`_^#@!02P<(:LW[@,X````_`0``4$L#!!0`"``(`*VKFC4`
M```````````````(````36%K969I;&5U4DU/XS`0/3=2_L-(<"!(\0^(M(?0
MIE#4PHJ`EL-*E6.;8G"=DCA\],!O9\9)DV:E/51Z,^_UO9EQ3B!MW'-9)3#C
M%G\;P^LP.(&E%LK6*H%=4Q at M0)9;KBTQ?WAEM=TD8$L;[ZI2-L+ITL);PXUV
M7R!*J1C`0ZV`._ at JFPK*#PN5KE]9&*##;+Y,+W/X!?$&XL9JYU3M():J:#;_
MH\-@:&MKM%405\HHCBGQ+=FNTL7-.K^;HH(F93(,EHL+K/9&%[6K%-\R1+Z[
MOKVX'C-E\8(1]'^*.#T[N$7P-PPF1T*TO7^\7\\7RXR4=UDZ6V7,?3J87J4W
MEUE..`SR=/6[5=#TGC\`MO=CA`$W!A(0N(0=)7IZ(K<2N^W6T8 at _/<,5(G)`
M)3H,=8L.+=H2VQ-2Q:*3C:@P:-,3RE,&SIGZ5#WV-^GPEN]ZW,WG\5X/_8*[
M[[Z0`Q0#Q/4/Q8J_JB=MU#>-P?*'^7SQF.4)4"PP"4QX0OHZZ0[BU^AO<DZO
M at 1IQI!&M9CIHO`_.B6>A2QR]I1\>N5''^[SP"L3[TS]BRO:?"%VQ_PJBX;+=
MJT?]<F3_`U!+!PAMKSIXL@$``&(#``!02P$"%``4``@`"`#DJYHU``````(`
M````````"0`$````````````````````345402U)3D8O_LH``%!+`0(4`!0`
M"``(`.2KFC4!U=)S1P```$<````4`````````````````#T```!-151!+4E.
M1B]-04Y)1D535"Y-1E!+`0(4`!0`"``(`*2KFC4-DO9%]0```'<!```&````
M`````````````,8```!M86EN+F102P$"%``4``@`"`"GJYHU(IB&Z at X*``#C
M'P``#`````````````````#O`0``>FQI8G-T<F5A;2YD4$L!`A0`%``(``@`
MHJN:-8`39J1K`P``8P8```H`````````````````-PP``%)%041-12YT>'10
M2P$"%``4``@`"`"@JYHUROPUY#`````S````"P````````````````#:#P``
M0TA!3D=%4RYT>'102P$"%``4``@`"`#DJYHU;3I>MY at 2````/@``#@``````
M``````````!#$```>FQI8G-T<F5A;2YL:6)02P$"%``4``@`"`"EJYHUMWHP
MY3D!``!UM```"``````````````````7(P``=&5S="YT>'102P$"%``4``@`
M"`#P0)<U:LW[@,X````_`0``#0````````````````"&)```=&5S="YT>'0N
M>FQI8E!+`0(4`!0`"``(`*VKFC5MKSIXL@$``&(#```(````````````````
C`(\E``!-86ME9FEL95!+!08`````"@`*`#\"``!W)P``````
`
end



More information about the Digitalmars-d-announce mailing list