Xref: news2.mv.net comp.os.msdos.djgpp:8222 From: SubSpace Newsgroups: comp.os.msdos.djgpp Subject: findnext && WIN95, Random numbers too... Date: Tue, 3 Sep 1996 14:25:28 +1000 Organization: University of Southern Queensland Lines: 359 Message-ID: NNTP-Posting-Host: helios.usq.edu.au Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp I'm having trouble with the following program, in that it doesn't find the last file in a directory when running in a WIN95 DOS box, but works OK in WIN95's plain DOS mode and in a dos box under Windows For Workgroups 3.11. I.ve looked in the FAQ and this news group, but no one else appears to have suffered from this. (None of the files had long names) The program is my attempt to write a quick 'n dirty file encrypter using a simple xor with a sequence of ramdom bytes. I've included the source for UFCCRYPT (which my program calls) so that anyone interested can compile and test it. I'm particularly interested in feedback about my rnd11() function. /* * Pseudo random numbers, from an 11 byte key * Placed in the public domain by Steve Ripps, q8536254 AT helios DOT usq DOT edu DOT au * 20-8-96 28-12-95 * I think this has a period of ((2**87)-1)/8, ie 2**84 */ unsigned int sreg[3]; /* must be 32 bit. Don't forget to SEED it. */ /*----------------------*/ unsigned char rnd11(void) /*----------------------*/ /* sreg[ ] sreg[ ] sreg[ ].........sreg[0] || <--------------------------------------| ||> ^ |>_ XOR_____>______old_bit_____>__________| The 11 bytes of sreg[] are used as an 87 bit shift register. This gives us the odd number of bits which is required by the algorithm. sreg[] is shifted left, and the bits from sreg[2], bits 21 & 22 are XORed and the resuling bit is fed into sreg[0], bit 0 on the next shift. */ { /* shift 11 bytes left 8 times as 3 32 bit ints*/ sreg[2] = (sreg[2] << 8) | (sreg[1] >> 24); /* do the shift */ sreg[1] = (sreg[1] << 8) | (sreg[0] >> 24); /* do the shift */ sreg[0] = (sreg[0] << 8) | (((sreg[2] >> 23) ^ (sreg[2] >> 22)) & 0x7f)\ | old_bit; old_bit = ((sreg[2] >> 15) ^ (sreg[2] >> 14)) & 0x80; return (sreg[0] & 0xff); } begin 644 rs.zip M4$L#!!0``@`(`"M@(R'NU3U.>!<``+1#```$````4E,N0\T[_5/;2+(_)U7Y M'QI?!620C663A`V8+9:0;-XE6]^GCV%31@,(1+`X!]YY%\"2P((HDS>0!C% M''CB9S=RSC-P%EDD)4\@3#-X\U_O3DZ:(*=,PB**8P)$8^<26!S39`$S)OUI ME$P4]#F34P*NA@<^RP(7%)QR:)00##5$P9%1QI$*[LLTNP&9<0Y1J-!Q:`60 MSF64)DCT)+KB29LFON5,YAD7K_$7M:S!6X+,,FY)XX'"`S,^0ZC(QXQ=1[-\ M!F+.>=`VTTYB%B627TM#&@)(KWAF!;"(%"N*EBBKP%709A;`<=F*,O331"J( M`GK=<23A:,K]RV$^,X,/YZ9KIX%YS0.,C4AG4&2 MS\8\@PE/>,9DFK4!3J>$_=+01;!\E.\-M\^ M;A,\"VF>I9.,S<@F(4DE60BP!;N!FS3/(&17ZD\DJR"MUDZYD$;\%7Q7+(Z" M2-XH(O^11QERF44LAH!;[5B6-D6<+L2F)26(2'!,L24XRWQM_>,L5\C#-/,5 M65(R_U)8_(?:6N)(H.6D"7'NI[,9SHNC1$T0L/;I\.-Q^_2W$U0AO_;C/."! M14EDL!C)``9BAJOKI\-3#5>F,";1^GH5L,H",Q:JN+>@>'O21L^PV5:D70R& M;06GAL9G1&""0+,\@3!+9_#E_:*G3CR+PLX M:=7.:[Z`>"_H:]\U8'X]YYE44`.R AT Q#5JR9%R24]3=D5ATA"%DVFDH"%42:D MQ2RC&8?_SH6$J1JTSQ/)LP-8(#MSQ0M1GAY93N=!-^S;]O1T(,;@]_>WDMO0]`9/L]NCOPX^W M%@1^SF'%Y_SBPH`G-R3R&=F[77#5^7!>^P7G/3UQ7G./(&_FO*#^YTB003FS M5$A*%JV-[0GZ'6V.[N5:2_@;P$/<0F].?[I\SL7)ES.%TZS:D8TL;M; MG[@#'UG`0>09!Y9-KLY&&SH>Y#X3?,,LO>Z+^JPN'!'+VO^C@)#:**'5"F\/ M+PX'1S]CDR(I*.U>B]O1X]`347B-F9"0)GRMN;QJR5ZS/,%UJ_N^O/_TPPMX M\\L0QNFU7C4PE.@+@Y2+9$/"(LTNU[!C^]E3_.]OEJI](3,%IST]J#<&4;K4 M-L]2GPNQU*K(6FY)E\>(&[$M)).J&6![DR)PH4^DJ!S*LRQ)[Q(31^.EQG%T M!XV/$E]N2Q-B!`K$?AIC1*BC1<>P-#-/(H78DOSYT_MK&)ZRY`W+`C0C?Q&` M/U7<&Y&J,=;6M+&!1F';?OK\]L/Q)X#=3J71QO8&+NY&I6,PO/CU>#!\_\LG MU3>$*[,*SK/SI&&PO8O3,8OA5Y9%;(S>$]'Y4Y;ARCS;&;F?^.(3F_$S;V>T M]^QIGJ!?H1`@`43&)V>]T9X6R^F4 AT YA&(:[<"8:A3!._-(?SH)SS-LW4Z!8V MHADBP/H<(B6- AT XMQ)%?/68>IZL>G,9<+SA/P61P+R)+`\YSF71*.1#Z[4%-< M_93PQ1Z"/;Q*HX#<)H;->1SY#".P<&&&KG[,=0)6Z&F>I3+5JQ,C+06A(M^Q M4GRRJ5,A8F-SOG`U0YN"Q;*Y9R!]2!7%J!V!4].0_`L30J]@]4.4&1E.9[Y4 M8\'!#(7"T&X3\2$/.GI?\AN;"5)B5$S"F,\5G?M'@X-2T^JSJ5V:(9."6//9 MTV_/GJ+`%+A^QX6HWU$4XPJ,?*@K2(T8Y^%9MX,VXL]S*1P#1/U>3*.8.]&^ M]PK6UW'H6M_KH2.';_B%T'$E3!T<#!96M+4UZJMG:OO^[*EI;K6B47_CO+-1 M(&J0.>/M1HO*HM>#F\ZGSQ\^%$20<>6"37AEAC_/ MHD2&#C3.D\$0`,[0EXU8F,#9&CKU$;3L)H%2LW)+1"X?0^QRMH/2,%H^;^"H M\P8)Q^)2J,XSA:P5&&QJ9L)F_#Z,]R*B?54%FYRFF**I.3PH4!>Z,;JBQ-!1 MSYAM4:IFLD,T;TKO,'6E;+"2!381C*)A*:,L@//K2#I>5>%^FEQA:*Z;*6Y6 M%`.32,*47U/ZUX=*4K@I\&>_G;"0<=0S3TCP9-B2C(G7,J;N3$PP$YC1]JG M>`H%>NV.62'HU3[E<8RI+`*)0G`]E2K%BN:+.UBBV^S)>K'U%<_Y\>")X':7W;+EQCRHG=XZ-O+Y+];J>UV_KA)4!WM^5U6S^\H-;W9AM& M[F'*<"[N;G[JMGRFMN[+D0<\/=.D9!N;[96?NYF%#HY,)[X MH6FD6YWH`(SN/HW:]D._.R,4,,#M+>RW'O6YM1,.X'&?W\V$@POX^LO@`C\' M]'UATJ1J$WYND0M,SHI*2QIJZD=Z,R)X@,4!EL#N*\`:4SV+LU$1BR%"C5;X M,1"D06#K,PJ>FB9@,8W\*49/4^T(%#X:R^))FD5R.FN#Q4Q5%T*DAL4\E*XM M$FE89#HTMCMR=5/7 AT W6L-B'1BG6D6L]`B61"0KI AT ES;\`D74 AT UY7(TBDT.9A2(0^./9Q?Q]V MFW!K&KP1'!Q`=Z>)Z2NZY"`E"C0J!&*']:YM2W]NB[P;^33/B*$ZVWNQ#,_;,?!V.S31AD%+%W:% MU>SL455F[N>9P&J<24XP4\[27.(^YS'%E;+&P`3(14J;]DJYU_&:E-#T.^!0 M80+[FVW<0VV(LK`DYMR/PH@'R^4EIZOGKR&`,D&%^E80XQ3YB'DRD5,7KE4+%=HVP_F>3;-8F)B-*)N- MHTF>YMH^8"E9R]C,;HSY;*Z'8'F+32JC9FP28<'A;+>VNZ8^C+=':9X AT KPB& M_#36K2A_*-)#/V9B:C;NBK:^%NE>L55&$R3S+LRZ2`9)QCCN?0@+OI%Q&`SU M>_BA0Q[I"#<,;(?G, MA6D4!#Q1H`:DQDB4(T"G(RK?KTOU54+A&BE\>PI+@'H4]&/2J&.PN6ND^&Z M5BE("`H#QS85@&\Z,I9TZI51<0\%(BQ:A0$/==FILE]$+?"Y/#@X@.<"]O?W M&ZY>IXCL;SP)HA!GFQQUS:`&^$:RNXSFT(9U:+>AXL5(`+3?-*80AD>+J5`J4H9V4"0" M6CU:K7B:$24YW[O/*I%V.XA`:-;C-)T;$-\-2P6=3,HL&L,Z>"^;*R"NM$?5 M3DDP59](&<"OF2_C&^AVJG4@=`G^-.)7'':P+IG/$FNB"D;CS.OV=EZ\?+7; M[GC=4385K`4-DS`C_EIAX.RYUQ6CAEN3L-XU5$8^%PUW!7/@->%':&0->`V- M5J.IUT!66ZN/@M,E.-,Z'+/X`1X/9X?@B#H<0<[DGX'3T_2P.AP\E,.$9`6< MEMT$8_JPTEI="1Y?Z5-04R*WV_8_-^<'[)GH>M"B'VW2"*P4 ME=<3K95V\M=8R5]C(W^-A?PU]E%:!QE'Z=JQ'#0T!9]B74:AXX3S?HCYVK)# MS,9;6+2AB9P%VPLZDN;7D3Z!1CBXVZ'#X\*A(*90<'ZIP+J=#^[P^/CO%\>? MWEA#-4E//Y0\CM68YE[=1-[B85.:2YBF"Z`T2>^S'A/*+H/J72TJ*O7`QFDFG1*(97T1)H"6[O3F AT 7Z0K DOT Q./E9SK?F?O>K^W=[VU M=9<5F<4*UCH;.84I7($D&%<"J!*@J+ M#*%`8P"[N.`?T'UE>$@5Z[8J*I#=<=<@$&-QX< MS!$\S:\JXI^2!*+S::&B*?YNS]E*7,>?C@:_G9S6)&%-"K;Z1I1+*C]BL9_' M[+Z;!:O%6E*]0_02I"_D#0O[O"NO%=P4Y.GBA%MU&Q7B#P[ZL+NW AT A!3HUZ* MADC-1W:),7FQM$5<\DA?&W?GY:0[RBY MY7FEW"A5M^9'YH%9`?)^C^A6VK];D$GN%0( M>,`<]%81C_HL!>2R'[()"_J.OHN.6T5O0>C^/E;F5IEG&8/(Q*>I*0-HZ6-Q M%,,[^6T=PTN"HK`TRK5^@7GUDBPC6W:>%.N'RC-K`,]WO[;4/W"^9!BV+_G- MCW2 AT UG#/[ZK"+3!5./I7-U,%??_NENJN:.])C1;CAA:V]@(_E4G0GRX!34EY M>[.V95GI-;3%+CF+TB?P%4[!M9%K:Z?B'ZJ'0TL:/:E[AH*/C'/$KX&8$NLX M#T-.IYQ3SN8U8P*G-,9FU>UB8UF3$%@<89)OTQ4W!2A)%_?)H&9T]0KB_RDD]XW*=Y%TG7'>MHK8.U>UM=J=H8JH MRKIL,#7.![KD%\E_0BE%[?8Y;2Y7ZJ;`LD)'.W5R=9T+HU-E8U&@73OO=%Z9 M):CXC0/4E'9R:&/6TR$YMHBFL7A[1>%DM;?!GFI%E`XRX?[/]B;94:W4J2MB M3W2IL-%N-YI[*]W1F/F7>B/.KR*L[RX5:,JS;4W^XP\SB AT KXC$6)@P\LF_BV M_JWO"#8?#\E4QZE&VP>\HX/&[$(2J*]?XN!-)"Y=F"\NQBQPC49M(5L7.NG. MCN;:7JTO2\MX^1:W?"?VAAU-)+C9V'IS^/M+M-,SH"P)ML]B+L!(1D MF30;"YJ*@"H3K<]%\!97 AT 3S%U)V.?8VYW[ER=-;#8SWUX"$7+FRJQ[).[^-M MJ^)(@643K\!,/[OUG[V2KF54"I)WYG6QPUYD*6_6V9(KZO&@WZU=BDCP+@5B M=DFSWL AT U./0"^8SW9=(Y75S'`65Q?_C^W?#XW:]FE>-)Q3PC0,4!?HFRMQ)E M5Z/L5E#60757 AT -I9":JG0?7N!=6[`ZK?]^QBTW>>J$)N!JS971Q)IM'ZN>%V MFP\/+T=O_]AX]-C6FV(LT!K9VKH?[H-CM?M87R?F]GL/4&#\3/TZC36!+NF= M3FV+LG=5\H4K+^>1'GO6+W\W*Q+85SVNJLT$?2T* M9_[!YA"9.P?%*L.PK)JLPXU`N)T8;0*08:5Q9A+/`!H`QQF MV51G/O<>XUAP?9L`:(35(QP24]\H@+I)_DEP7;V%Y&A-'?2AT\0K2#32BGBM M#QO;&ZO;7V\4ZX9:6RV[;O`7K3>=^E4FZIM.=IH)68H AT O!Q:&6;RC?E-:>?H M2VFX#MGE8)QJ[*"0]6F6XRTG7FH%Z2K156;0>6YF2H#ZU9#*RJ)+)$-\?81B M'X5$'K(\EEIGVQ@@BU1[8:-FT:5AZ(OAC AT ZT5:]K0CK>EPW47_(\VN\0?QXN MP->%N(0917V=46OC<(-<%=99JVUK);SFJJ3N#5D;WHAE5RR*\9[X6G'W\LF3 M\O:ES AT T?.DP\666!1:\6>-%OCV*K-DK[:([I&:Y$4I?/S`MRYC5!O$E*5^IE MJM=W<4_ZZVM\:]">?^K4T''6G+KTUM>=ZAKH][O-IFJLMJWU.X4I%V?/U%.4 M(8DTQ!RFN?$Q]8/F8L&;(^8U,\9JS>C:%%&Q6FYLK)3XT AT Y:%G9);TT1FIA? M\;COE:>') M=*-P<0C>^EG3SE=[!A-Y$3KVF[,,NKQ>?:>FV.38XPMC)T(&BC>W\25-YZ+= M;AM++`*DWIQ4)J*.C/H4ON;^#RO."Y9 AT GZ8IB&F:2=K15##4"G1WP!C)=I8' M?Z\D2%5*O)>K9.ZA6(HL"Z.2$96GK2%(\W',[1_)XDO]50E$_GP!??,>)DYN M"&:V9?CN)'BF%(S#J![FX6L$F(BJP0\'$C7E-9AMI'YNN.HODHO5%1TMU/>^ MY^V1IRXYK!RDJ4FT,58SR9]W1\TBBUR^UU^N?CHBT6&JLT=_$8MQZU4\"QOT M^XA`#]`W\W06\A'?W,5S#))"$-'+%_+&!8'IR?`PEE5A+DN"R%.`]_=?-_YU MOCV*+(]A>TF96[MN(Y8/JK.;!(]79_=UJ4[U_)^HSE*%6)/UBJWC1W:]6H6" M?3A]C`J[!P>-_U#3A=_[-=9-DC,;XYU'JK?3X)$+INPF,$+0=<`_97RQ__M! MWS(._Z?&2QM\"MAT`]GQNLWR&C)"JE[3;;?;W1&1OT)>O;OBHEEFI6NG6U?D M3H6;GOM]/L>6^N`!UU8LI"C+U*[B.(EK':_+EB^WI6-4 M(#B4($$`#P`I<6/_]YON>>)!4G)RM=ZL",Q,]_1K>F9Z>G"P^^PI[,+G'U_O MA]EJ7KR$15QD`K++J\*J#UN AT W. MT9'3P;]N!W[,&(-/Z:RX"S(&/Z:+9$J@'7B;A%V-X.PJRB&.)EF0K8`_SA`L MEV#'L$H7$`8)9&P:Y446318%@ZB`()D>I!EAN$VGT6R%A;P+ED%QQ:!@V6T. MZ8Q>?GK_&=[)'GYB"?NBB/E_-Y%<0P3!HN>OB*N6U;,D$+E1IQ%%SWK(@*5: MO_GT"7[\YTOO[\[O0C?/C\\<,_/[WI`GQB3$E;BK5)XEK:,X[U M-LT83%D11'%NI/"O=`$YIS2>PE6P9)"QD$5+3F<`83I?/5:K<9I<$N\$<=^/SIU/#S]]9?VS2,+A9%%'?#)V[7;.$ MY:KBX-G39T__&B5AO)@R>(46D5QVKTZP<#9E,_CAS?>??RHWF4:I:,&2:303 M"&8)-OYT=GKV]C5_YR^\%_D..0[KL`0@&WPX/7O]\[LW__7F'3S7+J(#\Z`( MKV*V9#$X88=X-$7=JR=.]PAZW@'G\LA]_NSIP2X0DQ_9_RZBC/Q(3B8P#7C/ MJSG+7U(]_3G5I;"SF(47J,$=5'M00,S0*WDN3**"&N\&R50($#B@`$(`SR40 M=A^$1;R2$#FT+C AT 3%YY[T98PNVG6!#[P2^`#WP8?^`**6 M3=&4)LS0.E2DDB*ELQ6JVQ$R6`99E"XX AT BR\B AT H6%HM,J%^JGK0<9L&*Y%A< M!1$EEX00641\ MBR2/+A-.+HT/)>;C=0V$3(Z-72A!5(R,2$V3);NO$#L/X[^+BFYZSXF:=H.P MN[B!UH=@$<,[MHJ#9-K^=G(UE8#_'D2NU,6/:(9LLKB\Q$Z%ICD/4P:L"(7G MV+D,PYVJ1GYZ_=IS/?0_5<>OT3=!$,=D8$='W:/^=^11>,GG]V__&VZ#\$IYW0/;85I([1+!4HW) MFE36L;).;))PPX""A=T+?)RFO,<@GK/LMM4^MJ1I:-!,"Y^GEAF:,]$9$+H; MMBJ"R;DS&)^[X^-R73[IG8\[ZMFQGEWKV3L?']OSQ:?O3UOYI`/+-K1V6P+? M;KO5"J^"C/_FD_9>:]ENMQMYBXI6['0@=CN0\=^,_T9%AKY6RQ`:&AQC@]\A M2 AT J(Z!FD1"'OP.X-T8>%=U=1S%H<8'^_#;^+,H`;&,$+6QJ],?_O6%7/TJP5 MC8;'$.WO'P/!/ MH&6UV/-Y(U!]=LH]^J4 M;T#G;J/;K=.M]%4A/'9LPK-M(L\>*?)LF\BS;Q9Y[&ZDW-M&N?=(RMUME#<* M73Q_U8CS$4H\=D89_\F<47Z,12Z:Q`B-*'-YD6C\5?QDK%AD"=0\57G,BKZ^ MDM>H3 AT K&W6HW)F?D)C?&JRIN[+A<\6?YL('_'_)AG)&8M^E4/%D,(VBU)&GM MV&G#JU?@N6WX`J;454K-2JVSQM9"+8_TDP]VDN0C&XWZY`2 AT U[:LW_(E34:+ M`,[@80".`D!>'P+04P#^L`Q09B=&=K+'LI,]EIWLL>QD#V6G8:0?0SS*CB&S MA[2T-8=S'HM^:3K`-X4-_RDKPW:9:I>Y]-;4[MN=A-I&?N#M%R(2!=,T89`F M(?ZA/7Q_0/Y";.INV`JF+*/XP2Q+;ZE%FD67V"WNS58%@]-/K]^^Q:9=Z5W$ M=I@&XSQTSON#,6?F=Q)7_[`#_A'_/Z?2\SK@]CO@\#+@9<#+^D/^_QZOYYQX M/J\?\/HAQF;`X<7`B_N\:9\W]3FXQ\%=#N[P,H>7`2\;\'9]WL[GX-Z`0`>\ MN,^;^KPI!A@\WM3E90XO`UXV0+2\N<][\S@%'D?ANJ)77 AT R\>(#$<1"?@W@< MQ.5H7(S6\3)`*CB8R\$2XV9J'+F*\C)8B=A3M8)NZ$GB7 M.7IWK06DNX.RK/S77`B&F[K]\,Z1%.P>Z:-ZR0HGYX4+4T`]NKXP!Y0LZA2E2\H:2*GW2#FDPR,E=&$M@$T'0J]H&J04CTP'0=#P MT#K0!%"/:!)H&JAROR&AX:$-HN6TQ\(NR13&`@[17OU!L(D<.-7 M4OW9%8,WP.[G04)1SB*8Q`RGB/`*2#=#.9#D+RJ!%$,,"$G:C%Y$ M":YCV/G`'Q]O\6 AT D1ZH4@D.KS"?I/<1I>K.8YTT6R;%X[KGGDB AT 5CW!H\22- MC>SQ4$@9Q4)\#H1T41Z>9:,=(5WD':6(O"'OI)@C:;^>X)W,VY6NC&15'7IH M3LB%WFI;Y&/Y^7!\[H]QL(_,T AT -71K\+3^;+P2"M AT U3J2$OPA/J1"!I0?>F6 ML>P0OG8,.D2(Q1D5=')GA#,,Z.CGB"-Q,&V79/,HH4>VI!3A-YQ]Y/_2YQ AT Q2:FAX4+MW/ MH9$&T2%)=>JD$@D*]%`*U37H-;@E5%#S7;]9+PJ5`K'5WI>H78,*/&4.=4%Z MLKFD`-2TZ1O=*']28I0$L4602NA'1I`:OQ2R%N"A&19".LVD'AJ46A^#CEX\ MD#WTC6"5:8'3C&Y AT J53-09[H AT JA1X\A5ZE7"K^M%ZL+QC*4IM'H,*<%Y2KT* M_69!DG`\`VOCUXJSN7?,G+E)YXZ9+XCSGB740XMSQ^+\J([.YK9G>01%==\R M+=]P3=3ZS>.E;PW7GK$4-8VIF4XSJJCUMPC2-8)1KD)-B3`P`E0T*&6NX]R7 MH#;:P\I8E'[4Z9DY@;H9-/M()6_;G`XMZSRRO/?`LM:Z()7CUP)R*E[<5ON1 M\21"`%N&MFT6:B)Q+2$JTCUK]M!^N=&$;*^COY9(;)ILCLZ*Q MK0DS:-:+9ZE94J74ZBC!JLEG(-$/MT\V8)N0;RED:`18FA?[ MUBRQQJGUS/BSYT4]A.66AM#*1<(ZBY0>V;$]M12 AT FE;5NEVI7:\KW#JZ AT 4%% MS1U+!X>6NGN6KW25$+98I&=[%6/=RHT[UJRAO9#:T*UQY_U.>7[T+%=NC4'J M0GN)9L[MZA:J AT 1A^EB#K*]`H MQ_-:VN$E41$%L:B86VOPVZ#(HOOZ$E4"7&!;7,2;N$#SOE_/VY5-?6F[[8L] M?O,>WFS@?;%[\X=BHT?K<%_L:,0^;VML8D/@P1,T;`D2;(I#'&X2-(5Y'BYF M:EX2,NUCI0'X,TD`)#.2NQ),NQ)>+T+[3*&F%;6CQ/R>C MG6#G;ZUPOW_4?BG>3_D[?]KO>U2RO]/=:1LD'!91$"Z#Q!L*&&^XQ_%)3(XK M"AUWCR.EPCV!C*3U2Q!F*0:<M5R MG'W^]AU'Z[4I>-[BKZ]X;\[@9:\-;2MR\&'N4!+8)A9LHND+S%0_9-IPH50^&_-[1P*:R_.Y6WCWQ M7J:2H_N#5*I!S$3LI@@F+U'?,GY6UZ((N=DIF&?D7K,'5K7I)AD AT DOT VEL%`D7]Y MEY9ZRTO4BA`BQ[7(,:V/=W=)"7PBS[%@61+$\0JIQNGV8LHH AT RB?,ZPO8#$O M3QCZ6,W($$-(;E^Y,B/E:7HQ#YV7Q#9:=2E:C4*6DL)(L>F"$RJ)JZ1J M*J'#5K%73QEJLA;R4S]*?B*VGE-P77L.$0JLR;^N AT 4,!'(3%@H1)HL:,-@S; M*QUJ5F2$D?-P AT Z.?DIYD;'_.&9&JE%F4#'RX33GKF,(2S:(P2`H3`OXWR]+N M&@4)\6.(SQV?.^YP;`>:J=(MZ<;]A>SZ2532LN+;$%9?>:,I,*9&`K=_YA.7-1)52%L-G^).=4I!`FP>\P) M9\;_T+CE=;14DQF4_-^\^6B%SE%,_!\,P-MDF=ZP*8 AT CH@"*Z%9$O^]2\(<5 M%R)`%%[C9)"3?!V'G`]:U AT Q\[0]4$Y6%A2?[-"IN AT _SF?#@&M>3LW0]['?[7 MI[\N_77H;V](?WWZZ])?1ZW,JA3@'\)L1>81L_ AT G\)MGUWIVU+,`Z0U-5<^W MGEWKV2F#2!BJDC#BV;6>G3*(@!%5`D8^N]:S4P8A&%E%,.K9M9Z=,@C"J"J$ MT<^N]>R407I#4]7SK6?7>G;*(%)9$L9Z=JUGK;YR8O6SI_/L`H=1*^A`4D[D MV`WHF!JW+(G,X-!U40>N.U#P_V[G\N@[@8,1#.4+Y4S`"'K'$,$K#@_1WIZ5 M;\'!1KU2AL6U:'W-6P_YCVS]I!@-=Z.]:TQ*X#!?1JW AT O#AP_3&\T$O9`KX# MUV^W_Z9M_'K\TB#7V^76,HVF[7G&&9JUGG_7<^_A>8&X=TTNC MSUDAI+7LP*0LK>5Q67B3FLAD-[L3XK113JY?%50T:RTYKWJ0#6$/HC'O^@G' M\V5DK>=M+FJI!2(+/\+),F/B5D`Z AT YT).L^=+KRE97 AT JG"H+@T6.]U1NF4X= MQ7.['3P+7XKU$0&2EZ1FIA9NV6W.K/6T3,)'V4,8LR#C#5IY$61%!\*D("&2 MA]JE0FURO$Y*4&3L\/?]_;82BVB\MP^2#QQVU_PG9X= MJL5*1V:EE&:=MYHD6/!'V(?;`-,&>/]BHIA&&<.D?"'D%**5 MB\W\\3K/Y;BV[XIFO.Z%Z+L-O`#4(K'2^P$,Q^?BP>5/UV,J,GEMY:!RC[:8I2F42)I9(UVV!F\E%44PWR*V'$?:+RTG=,N%V\A2*V MN^`,O*%OPB4"DA:1Z`KTPC-*(,WH3F%JN4K()]U:M^_2=(XFP2$IGI+3(MTF MG).#0C3RN%[D!<><0AZG=]UN#>>!$J*>$V0&JMGG=B#G!*6SEBEJFSS.!]IB MQ;,95>.*HFZP:*LBSX3R=M!F]QW^7\5HZ5^CY:(G&=NXE4FZZ+VN]_>/UQFC MM<&WT)%KN-;>P1_;DWY]`'PM+67J9FKYBGPB;)2">65]XZTAVDL[PD1S=HFA M.[I4DAC[,1M*#2FV09U2!S#/T#KFBX*9`(I?LDZQ"=);2CL1B!*&]$8000<: M3*;G+5DNXX:$_U9>>(PRWG-*EAH'(>MHL)RA"8N65UFZN+R22J?Q1WN^>*7R MPJ:Y\:$(D:?BBBI_60%>HLQ8,%V5 AT HX:0"?8-9F_,H[\4M AT P_WT%/OZ6%X!) M`==.!ZZ-'Z)T(KP1H(I*MN9(_^=P=`,?'Y0#S+%*KVETT#;Y.[^IBKUA/Z@,+"R5P<]I>7XW-L"+3YM49:;WS> MLB AT Y.<'1)!-[Y4V9$H8]YW$8G'$3#5]*&)P:!I,TO8Z&QV"0,^@6*MP:#A@^ MCHK-&!XB":^$H2TMZ3$T;,;@;#S[66],U7[)!J@,S"6#1UB5OJ(@<<"C<=2E MB9+80-(V(WL(28\W,U+/!JJV&=U#J'JLV6T1U#8;?`A)C[#")U^K4S>ZTK43 M=X"18LJREK!F_3F;JX4G]MT^7KOOP8)>^9B&L@]9Q,&%J=U`]WZ*O$^1:5B"9DAH\H,LP'&&OVW6 AT U$KN^\0" MU;3R'&OE;ZL;-7DJ%E]3>7HMJ6'6A0L9K,E903M4<607%5V#Q$+W/BW82XG" M!/8QWD(;)E&$MH0KSN!6""-G2_S8AH4&0_9Y%[Y?V3DUT;_%M@=M1)EZ!_=B M:1*O:.EJ8<`1BHO8?,Y"/+W AT 2/(B2$)FT7W0L'VB]S!)R'7C- M*)A$8<9C%?]8J>:HWXP"S0=56<-Z`(/C,A6.C:)B AT 8THOJNAZ$/)0%2(P([" ME+#N AT 3O8$+1)!8L&(0YC,P!Y4QS$IL#>GEG-RONTV?R\(I_QN6D\/A=C9&/\ M0(Q;'9[VL:&C(23UDV'`+$G"CVJC(:;<@1H1I"-8V6VF.=KN:%3FF!>]>`'YN5.OO:JR\Q9ILI+JN AT J22UHM_O#FDPX(`4>:12RG M.,=:IT*N2(,$89AF4W))8ETF/!+3$[IR.O:\5]%BT\E8]6!,6,&HE(67GT=C M$PN+9JV00_;@RQ<(X00&'CKPT.JC%C`>E,/%'/[D!*[5T8[82"A2K3C<@/,= MP1YO^9!X_0>Y4REY<.OU1&/Z&]O9%9GB_]8PYZ_50?^ MDC.^Y$SLWCC6.1H>XM;F26LV6R*`N^ZC*VM##]:LL`Y#*0<5VR]Q8;24$3M: M);V0ITO4G?F"@1I)\@L&UACB*+Z,..PY"D#N4`]G8T*W-Z+C$]W4M9KN[:UO M^M4.T%L#V!E41[!%LZL)MD@;06M)<1BZ(1V-Z9,.O.3D!%KN$/9UN1EU2UQF MPJ[C2;(D6SO^8UK#X8-;T[\UK=>8$\[D+AUO+RV4PG-MM")L]NK5 M"$I?7+*4B$)U:T)U-PM5L>(^2JCNHX3J/DJH;E6HALFJX+1!5A<$E07WYU(R MV)LUR6!V),%\4&O#AZPJ7WZH?BJ%5_&:S%WG?M3BK;K^";*5RO?2"T7\/A'O M"X52]8['\N-%]^J;1PHO`>(W=I"X1L!,`68:4#F AT T=(=]0 AT U?H_'(]SR*=-E MF2JS'!<&;3%QK3\^QWJP(F2>B/1*AV.W4K7Z1-A"Y(_/6[(CC-JN0>1O1^09 M1([\UDD#(F\[(O=!%+D-B&JH'&SD;).2;+6))HPI2\5LH*FW%1$<&43KI82M MMB$:/H0B;%5#5$-UR!O%VVQ)M=I$TX#3%&_3'+;:AJAO$&V04G\[(O]!%/D- MB&JHT'+C;;:D6FVB">T[WJHY=SLBQR#:("5G.Z+>@RCJ-2`2J-"ETJ9JZ1S3 M"^VDEF[YTS[X?=W:W"$V4;B?>BF^$)H5XG,A\OM>18H7]_!)),J+6RP9FT7W MD?F"+]/[;3MS3JQ0TT4Q7Q07`CENNUIJAD"82BHBU1Q;NUK>1$XPFFU;EP-]L5B4`>,!3;<0\GS M`>M:E%[S#6`?:*O55F9BM@,YR*4-G;+0\:]2G%[UX.)%?!=L*0U`?"RLUZZ1 MV9>+UMZCZ!3+J/XF.I7"A,1WT*_82O+H/3>J%,R(=.CBCM1PQO$JF,]7I7M^F"*<,)$/A^%!'2PS<4)A<;.-QMCLUR3]5/1ZZ M<,89R,7)TY*%A?S\?L;F&]'8KE@+M AT W MU5?`-L(H`+%K6M.ELZ5+IZ%+9U.7CNIR?:Z+=0;13!56U`IK=%1;1=6>*W

]K.9-D"Z/*X MOE*>PYZ,PY AT I:N,$6W629MITMLZ:>(L8G3Q>>:]T0G8E#E\RQYRW-+@CKW9R M(9P[Q:C0/JW+/1B.^XO1\-=O0)@]`&'SG)BS`AUX>4K$:S)B"_/#FT_4%MO0 MO1]]9BCO"&6KR AT 45@7!MI%UL-O0-E/+18&,IK3"'9H59FYOPI&O"(,?;J'=L M)V.E.T`FL6#]C%$Y%>I`6+N6)L^00LHPA2_$DCS`IZBV=H-T>.341;]N62F5 MHO[W?U!+`0(4`!0``@`(`"M@(R'NU3U.>!<``+1#```$``````````$`(``` M``````!24RY#4$L!`A0`%``"``@`$I0&(>"6278,'@``NV@```H````````` J`0`A````FA<``%5&0T-265!4+D-02P4&``````(``@!J````SC4````` ` end