home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.minix
- Path: sparky!uunet!munnari.oz.au!metro!ipso!runxtsa!bde
- From: bde@runx.oz.au (Bruce Evans)
- Subject: Re: Check_crc.c revisited
- Message-ID: <1993Jan21.061421.20703@runx.oz.au>
- Organization: RUNX Un*x Timeshare. Sydney, Australia.
- References: <1993Jan20.014415.2360@crash>
- Date: Thu, 21 Jan 93 06:14:21 GMT
- Lines: 221
-
- In article <1993Jan20.014415.2360@crash> cwr@crash.cts.com (Will Rose) writes:
- >
- >Wim van Dorst's check_crc is pretty much essential for updating Minix,
- >but it's a long time since I've used it and I keep forgetting that the
- >script file is on standard input. This is a repost with minor changes
- >to parse the arguments so that the script can be either an ordinary
- >argument, or on stdin as before. This means that a parent directory
- >name must be preceeded by -d.
-
- Here is a later version of the program (now named checkcrc.c). The
- differences are almost as old as the program but are quite large and
- useful.
-
- Experience using this program shows that the feature of searching
- several directories is harmful. Someday we will need `checkcksum'.
-
- * Version 2.3 (24 April 1990)
- * Fixed sscanf trying to read an unsigned short with %u, by
- * replacing it with smaller, faster strtoul. Beware that strtoul
- * is broken in Minix 1.5.10.
- * Fixed leading digits being stripped from file names.
- * Fixed calls to the isspace macro so negative characters don't
- * violate the domain of the macro.
- * Delimited file names by spaces at the end too, to support
- * trailing comments.
- * Changed the output format to the same as the input format:
- * crc count filename comment
- * where crc and count are strings of decimal digits (perhaps
- * with a leading sign), filename is a string of non-spaces, and
- * comment is the rest. When this program is used as a filter,
- * the crc and count are not changed in value (unless they are
- * out of bounds) and leading directories are stripped from the
- * file name if that helps to find it. Input comments are always
- * discarded and output comments are always made.
- * Printed usage message to stderr, so all stdout has nice format.
- * by Bruce Evans (evans@ditsyda.oz.au)
- * Version 2.4 (28 April 1990)
- * Search distribution subdirectory.
- * Fixed harmless bugs with cptr < file during file lookup.
- * by Bruce Evans (evans@ditsyda.oz.au)
- * Version 2.5 (13 May 1990)
- * Use getopt.
- * Search /usr/include for include/any and /usr/lib for lib/any.
- * by Bruce Evans (evans@ditsyda.oz.au)
-
- table
- !"#$%&'()*+,-./0123456789:;<=>?
- @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
- begin 644 checkcrc.sh.Z
- M'YV0(T* >"$FC9L7<] H& &""IHT<T! !!$&1,(R;-A0E#/FH9TR+D" D%*Fz
- MS9N/%-WDH?/0S1D08LJ8>2.G# B6$]D8+,/B)IHR;D#4<0,GS)@U"R72@9G'y
- M8A@[!E^F66J0SAN*(,RD86,SC!LR-_/ B0I"1,*L6\N("-GPZLDR<N[(F6JSx
- M#!Z(=*(FU<IU3D\Z8FV:18.6*X@68]:*S/*F#H@Q7BFRF7/53)DR8'%!-Qw
- M#AVO9,+( 6L03IVE4,,D'9I0=$^:3,..=5GV+ ^^:GN"/..";1(S/B>*[I@&v
- MY<0Q;]K X4J')X@\C9/>V:IQSF6?-F=F?#.==ILR<^:$.=-U*<NZ7W4L3)! u
- M1)&O(-X OYAQ(_&/+D0D'?+&37/_<^@@4D=E'#4&1RZ,D=05<H0!!QR8Q<;&t
- M&Y"Q 41,<RQG5WQ!.>28$I')$ ,(,=R@ PPQZ"###23FD,,,"D 1!!5(]$"0s
- M03J\4,<<<MSH1HX[]EC'&&* L ,(=L%!TU(RTJA &L UY]EAP)U H($(CG'"r
- M816)0,(>,?0A @@A]% 68F,>>5Y0"HA4(!I7M2:'@%=0!X(;;RPUQH1BQ"0'q
- MDG=Y1A9N(' A@I4_83E&@B<8J@!&UCW:49QHB"9@$7C0T> 8>=%F**(%KG'@p
- MHEH:6B@*,<A 0PPS/%;IILW),0<7*2A@'5AFO> %%B^\,*8/H"K** @\\'!"o
- M$4X0\<431GQA1!),%'&" KRJ0"T(*H P1*)K?#%J@H>UH"VWV#U6AQPU^5>8n
- M37/DX5E)%)T1AD%35C2$%$. H)-GUUJ+!;8@5"$>>>K]JT("5XK*$0A;M 6m
- M&7C-)<9I:?3G<!IR=,%P"^:]H>%';%R<\<9V:,S#J/O2T6^_2+K 6[\(<SOJl
- M80_C==A2.O*(T,(MV$%LSCWR.(:.<)S1(!EEO!"#"S6X$ ,,"7*TLL$-_00"k
- MQ)Y)3+'%$/\IVAEU?*=N&-O=$9%67PV:UMER)%<N36F<81#9+&.M:1H3Y]6?j
- M1$'9(5K%.UI4AQA=%VC57."Q583++O2$7!MM@#;'"W:_,!FXT]47$\LS#056i
- M3#/5]%ARD7\U^>5C@'#'3T&)D2=A=N'EPM0 /W'>GVZ$\=U-#;HQ1^B1Z^U[h
- M3W,,21AG%MW](%E<A0$Q;85S2E-3N7^WV5<L(^?&1W)T^I)7><3P@D%[UH'Tg
- M"^#+<--50(_O1OGGIY\26."+KY,8Z*NDOE4LMW]__GE0'PM$8Y/((4TH[^L/f
- MQ(1'-C;D878&8]D33F.:I50J(N?)"DW:$)^YR"UW&AG5:SPXMQ VQC\](53Ue
- MLG-",CB.=$"A P0!MKB71=!@"9B!#&80@Q&)I$0P4-_C2D>&R4%&AJD3B1*7d
- MR,0E/F$),*N!%&'0*I'4P 8VR,'H(">Y%XP!8F8P [B:2$8E@M$RZ5H*"F9 c
- M S;:0(E7O $,:H5#*=( !U6<@0UB4 ,M#K&+>'(#>(PWQC(NT3K#(8P9YL45b
- M,M N6PZQR1/UM9/-B*X_#@0!'.;BGPA-AR7EZAD(4, ]UUDG!?&!@_#8$LDMa
- MBDUE5 O=U:"$QABNJS-P,ENYC$*'.I#M,0L#S>B&(D.1.&0BP L#5>; LN)-z
- M)0QB,(PL+8,9LHC!*&M8GZM")4)M1FX--ID*DCB3!KAH,V'QFI<;6(;)IF3Py
- MC'"Q)6[FP$JKE?(-UHD/!4\CD8CL2"9UT(@LLY:&Y;F$9<U[WDNB=[AR1J0Qx
- M2Y$/,%.7,GH^LFHVL<IG-")1S6BR;4;373]! (7!Z21U1$B..MF24M55:BG0w
- M<<P=O+*43Q)F*C/,5A+TU)_/T$N3Y1P#>.(#G'OEBS)FH,-,:]*3U:6A(R" v
- M$QO XD$T1!0X-?&I&UY)5):%X31PDM5#X%#/,C2%@""0VT>"0H8ZV.1 U93Au
- M19] 0A""@'MSJ%A0E@:#4:Z((IO<2HMPD ,Z BP!2>!=.>EW5[CD=6\=?4A$t
- MG K5?^)*21!RPYCHU1SG$14KS5$.3423!Y8E #?UG,A,Y^"&$RP%?%GA3*QZs
- M(DS*?&=URM07>"*BI.Y!DRLY!4$"B/ 4FY!$7FY@#PIJ@EP@J,$H;Q #/<= r
- M3YIXQ@68J8-ALV4%Q^J51$X;)1]!T(1$MB@'<S1MPKRUL F]80UG@TUDH$D9q
- M-IRF*_"I2$W8H,SB9"<M*Z1(1 QBVO;]4U8$$4U_7M &@Z0!#Y0;TAHHUQ^Rp
- MD0%<PB1#A:>:(/5RB[VIBQN>:A(1%41M##TQJ@NR)4PJ- $**S:M&)I2)PZ>o
- M0 CVM8D0%-S:NT8FI;)2H]G(-P8@]!(N8YB!"\ZUJ".[P ULV"X(NBNK[\K n
- M!7U%55\=-!>-Q,!%Z:5: EHI8KC11J(9*A"4GGK+D=;$)!^AG[P,$MPQ6VUFm
- M9A@*I[X[$?+9%VDNY-N[/"O1'9$E@^UZ5QM0@,H*L2&G"1!"@;Z:S\A.)(.;l
- M?$-(.:B]O"*M0=%L2D>\0IX+PXP)E53=5 @SJA[T8,OPP0U77,(25V]9='-8k
- M0T$A!!:8H6 .!RHH'2(R8P'3 0C4=8$=ZO!D$_I'G8*#JDX$&=\_,11NX)%Rj
- M HI=8Q#<.,<@V'';>NRWH !Y2B@8\ON*?&2.*)G)+G RE*5,Y<<&Y<HC0A6+i
- M@A!8+X-YNPF8(!TJJ$$Y!&^D>+J#MQ^GH>;<27=EX (=)&Z]@46\M:=.M4TGh
- M:NOYK6O69ZCUJRT"IX!^SB;71APS<0B;FORR)*ILRCPI"<Z!!&EG0_NCZ5Z@g
- M*;>Z("$RIG$:;(QCMX:;QULJ-PC.+>2\KMO(;G7WDA$D[RBSK-Y6=H'Z4""#f
- MOO*[R^<-,[82$ 0R /HP/B,E7$Q9!E1Z3'BF+?O9*0,'R>;EB!$B%-H4*IDSe
- MP(TE'$1!L9WPAC200=O<'KJWBZYCI/O8W-9M.I&ACN1W4]WG\[ZZ=_=VY59Qd
- MG08@^+I@OXQ>@!OAP1$*#V3<$"4YY.'05W$Y_8+"&A&G/JPU734(2E"'GLP8c
- M9C59CE'((LZ-SR%R&8%+"F5KSJQ9):!LD?12,_K2Y'6O,6R V43$T#9P!L4@b
- MY'4P'L#;M*=!^O1XB%!"R0(QN0T;)F4@"T$?E/>V<5"%$+<H#M$?(4=C\"H9a
- M!!$98A0%9!1M8Q%7(4CRDA<H,6JPXEA7TQ^N!3-0\0;\Y7#OI%+@%UD%>"!Oz
- M &E$@!%#1Q=@@7_6$QL#*%2;81Y6 Q29\09O\!=Q4@</LB0PHRF,1!9#%$/Zy
- M-W;;0FH1DD$017#)U#'E(AZ[@SP!2!3\5(0%,W8(LS#(04SK$F [Z!\PLSKQx
- M-%$>-X5C@VMWXQ(/!1Q(,P9#]TOM-Q41@0(0(@>5 @<K-W8;5Q'K1QMY=09Nw
- MD (I!& 0-U(505!G!AR!U (I"!ZTA3TX=(7+5"XD5DP@< 6L$QR\!5(-PD$3v
- M85D"AA5\,5LW>&?!!!]>^%JB@R=Z4BDN$2'@YS?@A@)#T1<8]!-G51,P U&?u
- MY3J>,P>H)$QUN% 88SC89DGLHCR\EA7VAQTP8X+A%"75]Q-L (?:M'=*X1M,t
- MR%.0PX,;T15L,%/N C-8 QFC$2'"-(3\I(C *!G:&!$&!!(P P6<U!Q@L2/Cs
- M44"[%8_:Y!F?)@?$<Q4-E#P:QD\7="=/Q4(&ITQU5FQ"( =#8A-%4&YK6 8,r
- M"00+U"ZAX0)OH <N\%7TMGGWY@*@QW4X$'K]%G8 -P5E8%YVHS7"(SB$TXO2q
- MXWKGAWI@\2IMX(HP40=G,%FZ-P:J]"<\L"Y7<RYJ8QCNM08T6)!-<9 )"0(+p
- MZ14-^9 1F0<369$7J5V:5V6<QS3BU2KEU12D)W8'(S V01Y6H4J01I+FU3Y^o
- M9CX"R3?PDS2P)4S^@S<%1TGX SY&&6X(*51*R9"CY)!,"9%J")5A0)$6B9']n
- M\@+40BTCD)8'Q .)QG.!04]HX .*R9@VX9CN@A"?(4.369GO\V>7R2F!X0*=m
- MB06+^9EJ22SV>#^D29FF:9FJ&8:\49JGV9;$,A1X<6&T"9N.20<0\X&E22UVl
- M$2O?IRYB^7:,M@/"F2EP$10.B"UO]S7*B07#V9Q\$U&J9!!D,)V*B31H4P8)k
- MP 1)X 1%, 5)H 5%D !/ P.)62W:PA&?4205,@8!I4P14FSE)0?9= 0AT00Nj
- MB!$]X01EH%0TD4U3X"ZA%1'\(0>]U5][HP*(B06>T5^I4WMX>'M+,E'QN04Ri
- M<$4:8R9[<"U-! -X ,F"@,]0:)/(R(IB@==1P,RT*(S ,V, ,M2@,P@ ,Th
- MT*(U -A4 ,M:@,P, 8VT*)R5 8WP (BRD0DB@-/@P,MF@.ID@,M&@8Q0 -Ag
- MT*)B$ ,V( 8M.@8Q@ ,H!@(D2@8QX#PM6@8Q(%0M:@8Q(!-*^B\CB@>IPD,Mf
- M&D1/(Z,K8J-DZJ(=&J-]6@,R( 9 VJ<PF@,[VJ<W( -FD*1]:@,R0 9%NJ1+e
- M1*(O,@-4VJ=X%*9:.@,WX*5]&@8S4 -9VJ=D, .$\Z68.J8D:@8S$$9I.@-(d
- M$Z=D1**J JDR2@-M=*<PBJ)]>J4H$J0T4 9%JJ@T, :.2J*Z&@:)2J(U<$= c
- M2JE*1*(_:@.E2J*$2@.@VJ2""J5]F@,]FJDD6@8U<!EM6@-C8 9?2JJLB@=Db
- M4 ,XX$+2*A(DJD<UP*>V:@.+VJ)<VD-W6J.^2J(W8 -DD*QX@$5F4*S.FD6%a
- MJJQ=NJ/SVJ=B< ,UL*UX$ 8W< /7B@<Y< -?UJ(X< ,SX*VM>@-DH*Y]BJ26z
- MT:(%FP.!1J+(*@8H%K'**J;-B@?P2JY!B@,XH+!X< ,X@+%WJJ,!2Z<]&P,My
- M*@,X$$0RB@,[1*MS.@8Y, ;M2@8Y@!EIF@,XX!RMF@-A@+)-BJ@DR[$YD$55x
- MBEX;*P8Y,*A0RZ0X^[4-BP=82@8WJ[$3&Z1A4+;\BK%(VZ<^VJ,R*JKXZJ)6w
- M&J,TZZYB8 8OBP=$0@;M:@9] K;II[9<R[$3*ZYX@ .$.K9]@JI5NJ59>K@Vv
- M !D^>P-C$+(W*E0WBZYC$+<R, 8R *CU.@94=*=$6K1KNBIM6ZGI%QJ5J[@Xu
- M(+E?5" LZ[B+ZSPRD+9D ,6&Z\V,+8N2P-4>K@W4 8=&Z1E( 8^6Z[O>J,Rt
- M<;,SH*:#*P-EH$/\2JY]2Z(P@*0H>KAAE .2*Q,QP;**N[CI:@;MFK@Q8+%?s
- M.P,;"[]]!+*-"J6'*Z4\"[)GBKE;"AE5^J86:Z9#^J6ILKAN.JQIRJ7J>KA/r
- M6K0F:J4R.J2RZZ+K.[@]"@,WBZ,=:J0F[+-"JJ^[.ZV9BZJ8^R):6Z6O:K%Bq
- M(*L;FV2RRK(\U*[E>P.2ZZKE^L+T6J*#FKYT*@/HE;2,.K@Z1 8A#*.CRJ,Bp
- M<K.0FK%&VJ&3*J=N2Z@E6:7H:K'@&@9CBP/PBKEF<$652ZXT(+GO^KKK"@/Ro
- MZL6\RT9E$,*JDF3\BJ4<?$=*? ,T@$7"2@,&^ZRJ<J,X&JUV#,,82P8X+,0;n
- M&[(N$J6?.K9(6@-#G+&5BZPQL+@%.P,SV\A'+ ,$"\4V8 8A3*-2RJ]=6K18m
- M5 ,&.[ #>Z-[%+=7Q$9&;*J(VJY22[!MBEYMO+:2ZR*G"[)7J\!:N[%Y"TV[l
- M[*PZ>L(]&[= 2Z,[NR+\*J8<O+5*/+).F[1!:Z.'2R0FR[*$"L0Y/,1;6KF:k
- M:P8S3#AC"TU]HJ5J&[JD;*@8B\L_BL6B.LM6ZK,^ZJ9[N[Q)"TU0G+>&>\^Mj
- M*L5MO+QP+*F^3+>+2SAAP,QDH+E1BC1G[+C3J] _"[LL3+N'3*0G/ 8T$+>Bi
- M' 9Z?+J#NZ9EP,%4B[2'*Q,Q,,2NVLEK#,J-VJY?FP,X#+F3K+@S'$8$[-$Vh
- MH*:S7+X^.ZQ2Q*-(>K/D^R(RFKVKC!E*_*9FP)Y8T ?<Z9Y5 >.NS"1XX%7g
- M Q?^58+%*!IW9QC\ 0=Y4%5J- 2H]&4]"P)3T!QU!Q1VK4P$DA'!!0).\ 14f
- M4 0"<GI!MA%@PU5ML"-+$1-\ P*]0QYDJDT=VC0L0T8DJ3WT(P>);4L341.Ue
- M]#Y!.!U"E5,LPXZ:5HG?(2L@$#E-03XTT: .!UOR51_(<4!5 8 _@3$?E=JZd
- MXQ<LHU9DD6EM"$QQI6HX$12(UA@< 1(B45+1]%0.&A0<V$S,K9=M0S'4-E)Mc
- MV&!TX(X(J"_]\3V3Z#'F!%<+-%)J!10L8Q5VC=>1. 5\S8QLT!/R30=]K1%+b
- M:5_3?3U@L2T2!@)&8%U^<@:TFBU/(#8-\29X,B%G\$"'V9TRL1-" =:C@@(Za
- MZ3@<@4HHH*'0M 4H@.$+XP,^ (X@$HF *5G0(:XP6C-#/%8N*HY.(Z24?4z
- M,J%WYRJB@2V9AH<0U]4XSF9V4'@EJ$QDDYPWOIEL]IPJ@!M?8!0JF%?15 9(y
- MC@744A6MK4XH\#5C^C5VD +LD0 OD"T9%#G@YSIDT!02M5XS Z%7[A\)P.4[x
- M$.;4XH )H )>O@5=,.?4$J)V;.<JH).:,N?L,>98X8"\9$Y*4A7FY.9V/"$Nw
- M@3 TX2TG1 >$;NC(@2Z&XY,@!TJ.OD06*DA@D1 9FND@=NG9DNDUP2G:@B_8v
- M$J%+!.EG@##G0NG$A.JZ16O',V E!NM*%.H8VCWF(@>G7NC98E29.!&?KD3/u
- M$BUW;@9P0.ABGBV$XCGGW1^>!A?3_>J4"NBX(>V&OI//F!8/MSO@-VTV,3%At
- MU.B^/B"OD@#HO@7B29[FB9XK$ -[/NV4)$B?A6C!IDK<;L=8G@!PT3;$WCGPs
- M828P,.>C%@<0?_E5]!4?"P\0,_$/!+5!7L<4_YI/"XKF&J8Q,SI2X3\GX2r
- M)8YT8/$8KT3>GA9?@/#;:>R @A=!:1,!!AM.4 5,P 0K+Q(#/P;@GNJODNA_q
- M(DL9-#/S69\IN>PBD35#LA0XGCS*] 7JCNOJCD9S22A1;Q ST?,Z+@=W;C<@p
- M8"8YO_,?'S%XLS5!43PKN>J'0SU]R/1?GP GFQ;R/I[E>9Y%<._Y;NC(2!%Do
- MH :,G7>P<9)R*?> ?DW6L4*X_O=?&RO6MVOLAS&]WNWOK@*0S!E \>,RK_B;n
- MOSN;-.&]&QMB+_<:GP!O%_20/4AL<%5I-:!O%_"4:NBH'>6[Q-EA8XURW^,!m
- M9B9Y#@-[3JE.91@A'OMF<IRJM.6<W>6<;0<](0)DH -TH -V( (I@$IEHI3,l
- M@DI^G@!S\$D=@0)OQ_W4@C":[VUD< (%DP!+)/9F$IV</9WLKT3<5Y)K(/^0k
- MD4^NI?[EG_' @>%HH&N(/U7R-;"?PB-_6( ]0+MV9 9^C6\J>,^O! 0(5]$Uj
- MM(D(Z F\#^*D /F7 -J0P1N GX&S;4!*Q1YB!QU %2,P 2Z1/M#_Z)_+N7_Ei
- M+__9A!-@!_B?"E0B',\FF(D8(/^62/T+ S P 7JGK]+ZUM\2620;I<K-/Y'Ph
- M X-@ F"!=@P*^K]1\G:T$YGP?<N/CIP6(\<&JMP2F7W98L#]B9(D;2@<^/%Wg
- M<P'@@;S>T!N\WO"S"2C #(BE.8 "T%U/F'=Y#ST1#]]D$ S@BWL5V *5E#TFf
- M@ #+'^UK&[8O@Z [8N0VT*"P"7@) $J,$@PG[LQ$UN@(<J .[H2>T"A:R_6[e
- M@G]PQZD 0:CS""$(:($B(=!50F_#!6# "9A.2R02_K]X!_S&GIEH%*X0!/ !d
- M/K#ORL 6J(6NQMN,@!. 2E#AZ/ /!L&MX+])-S,LH:9X/EW0#H( $R#H\!&)c
- MF"-'(@8RPTHW]JP/-*2$FJ(G4,.=U!.>Q@8\A58N 1JZ(! ><E^Y^'L3 6GHb
- M!.]VGYJ"4W$XA:BL<"'<T/^HW0;)+1IFJ) BR3 A%,XN<BETP2(4!;UT!JT&a
- M,LI'_9"2?#?#D!/P26.C'GF"('('LE 28H+9B1"P 0=M!;)P#]G%0N0)$5&8z
- M+#:H,A'FC*B+#0UD(](&D3AM7@(Y@B#LS]$E@#<X2@3020QQP XL."!4H@HUy
- MQ?4SAM5P!:P ^4<HS$0UE'^>K_<]AITD_W@B"BB*?R+[X<(M80)27 CPB00(x
- M*/H.VR,47P51K(:?L/M-P:M8#6VAMWD!Q+#\;1O-)Q7;X@H@$3V0Y>TDI2C_w
- MH."=:XNWL!6^PO:D[Y@ #,HFLF2^4*W=@C>D25I@"^Q()IB3BF#X\L9W02V0v
- MT,G!O&XX".6?)$0!8B_[#4($N 0EPO\#AW]"7. &5'(7L\:L 8UX@362"!!Pu
- M%T=$B<LK>J ,2)2ZQQ6TX&D)+/ZA =HC"%@6)*" J(QJSR<%&*MP%63=7)* t
- M7$"SQ*DPEP&_PQ[JC7G134P&F]#]$L!W: ,Z*0^ 1MQP'9T#*QJ+%^KPC)*Hs
- MV(=48UJX?APP\RV^/F0F>*--N(N"ARZVQW61 MG#)71KH)$]6L=9XAGZH_?3r
- M%$=D/*:%Y^<K#.0E5"8*DBOX'OWX'0RD9FPAW=#)03G&..4BI'.0CY^O[61'q
- M$. 7_>)GO)">PRV.1F.((A/>NGARBS$\-$8J1QYA H44D?VO_)U(E[<9@^%Hp
- M! %[ !V61N!(!QJ@""@!,* &.(828 /LR^YI 6RD,Y0DCJ!(& EFB(X7T!@No
- M05/73;ADI2N/_7&)4+R#AR%WX(C4'IU"&98_O]@47R3,ZVKZ;@KH&CB ))0#n
- M8+@E1R+7%)19XO9^$23\C%QR803#\WB'7B*IZQZHI*]TQ=%![$*16ZR#XRU1m
- MDL:UB./BX(*<ACB.ZM4!,X!*@J&B3'%3X LD@2E !)* %'" 4T_=_1PZ\ 5,l
- M M(XB@E0TB%#-Z F$R 4-(3'CFS0IPM$?6R"R]$(R$Z89)!?F>M"#F'@0#Y)k
- M)W[&.$@GS<1,R"R64D*6!3E@_3JEF4 !S:X(!$+ 5@HGI1(ADD8222K)W=,Dj
- MER24I $1(79X!K]0DY;"L]1KBR0MD $L.1UC(<MCAASAA33*+\D?1^28?'EEi
- M$B\BQ9Z2#,M 7XR!M<Y17DM9ATH,"9G"?PES88B$:QD42<Z22)2PD(Q810S7h
- M#<72&&"6GS#[%8'M!R218L*L='S19#9*05GAPMK''%/T:66.@1181MCDGL Gg
- M-!(.I$!<N>"F1 8)EJ"(&PH3(KGZBD?K&S# 02Z,MS_Y_P)EZLA^,1/$Z$)>f
- MZ"6I$-0\F<3$6XH$<(D"CF227)+E\DE&R5FR[M+(*!&78-.^I !Z*1?OI<S4e
- ME[8.A:P+QQ$Q82;6] ]A4HG\RQXI,&UE^8,4R6B4Y$"M^5&J0KC\FN3229: d
- M<QD1G@B]9)0@!FZ&(C!Y,*,@I<HJYR(HH("]V4)2X*V44$HN=0PYPQ-;DB =c
- M\7-'D&L.1W3Q_ 1&/!(0$G!CU Q[A#$T1L/H&&"M=I(,DX$R\ +;O(%;$Z2Lb
- M$)JI-^_""8P!GK,]!;G4P>0T9(R4<EPA6CH'ST='FF=:4'TW#S@0"D?'Y#R?a
- MZM-"HL.]32AAUXU$ ]]).0XEX/DY0Q>"8D6#X7>2L"(0"N'P/&<D2X$(WHA^z
- MH"/8<A!3#MRS'EZ%M^ 3Z)D=BE$&@8?**+<P(V?DWJ 13A$)06 ID$'"\"[@y
- M0$^ $NW-:O1/EO3V1HIE>@$](:NX'N1&&!1A23J?''1Z](^;\T'9PA080?Q%x
- M#CB0$#J@1NC&B4OX@R(D%7/R/W(*K*-4R_/K"07<</?HG=[C>PR/VI&[ .,\w
- M!-^[*$&PH7UX/>'W$(@?\BR9"? S;LCPD!^M0T]H%D_$6I(I+;A$,*<<:!V:v
- MSS.>QJSQ/I1#%W4.(N"#7D 9YQ;[RBZT/FT4#KS1Y_<_+B -$*-AAOTMRAI u
- M&ZW/:Z2>A71$\ !+F 9R8Z%9C5BT-/Y'\;@I+Z4(:!_6;T0^R!-82:4E]1R1t
- M6O1YLJ(:"4:7 "#UC6:4]GR[-:DC_Y_G(Q;.\CT:PU3*+<V>D/1\+: %5,4Js
- M"@=?:8DC%(M2!;S1PT B_. )@(MDE/YIOER:,44"%&2!R$)9, MG 2V*P).(r
- M$N!A*:2*5=$J6@"_ P-W('4@!F(1+!0&J3@!8$!-L(XVH3<G!<FQ%(7B4"2,q
- M;U$JQL106(C@Y.'I'J5IAQII&0@!"D K) 47]%G**3V=%@+U35 *>/H>P *:p
- ,H6_VP2.H(Q-(IA0 o
- n
- end
- --
- Bruce Evans (bde@runx.oz.au)
-