[comp.sys.mac] IconWrap for ShowINIT

thecloud@dhw68k.cts.com (Ken McLeod) (11/25/88)

For those of you who have mind-numbing quantities of INITs whose
icons march across the screen at boot time, and would like to
see ALL the icons displayed in neat rows, I submit the following
improvement on the INIT recently posted by David Phillip Oster.

The following is an INIT file that will "wrap" icons displayed at
startup if there are more than can fit across the screen. A new
row is started ABOVE the first, and so on. To use the INIT, it
must be in the System Folder, and must be renamed relative to
your other INITs, so that it will run at some point BEFORE the
icons hit the edge of the screen.

Caveat: if run before John Lim's "Moire," or Tim Maroney's "Backdrop,"
those two INITs will crash. The temporary solution, until I either
figure out why or someone on the net points it out, is to make sure
Moire and Backdrop, if installed, load BEFORE "IconWrap." Otherwise,
IconWrap appears to be "perfectly safe." Naturally, you use IconWrap
at your own risk; I will not be responsible for any loss of data, etc.
due to its use.

This INIT is public domain, with one restriction: if you can improve
on this code, you must post it to the net! :-)
Bug reports are welcome! Please let me know if you find 'em...

-ken      thecloud@dhw68k.cts.com

--------- begin file "IconWrap INIT"... cut here ---------------

(This file must be converted with BinHex 4.0)

:$Nj*BfpZ9h*KF#"*6NP8!%P15946D'p3!3!!!!!!!!!$$A,R!!!!!!%!!!!#dJ!
!!G)!!!!l1@i!$J!#1@i!%J!'B#i`,!!#X'i!$Q`1-#i!$T!!E!!#$NC*BfpZ9h*
KF#"*6NP853)!!!"*6NP88fK[8!!!!!!!!%P15946D'p3!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!Rl+fD!!!!!!!!!-0rr4J&M!X!!5`EJ!3E```,J!3N!"X!!3p32r
d5QlrpQB'5Qlrp'F-,``r,[rf2blrp+LSF!%SAdjH6R8!!(RX!eJ!MNKYh!"1ZJ!
3@)p)EG`-6VS!"PL26R919[ri,``SEJ!))"4BJ#e!rrJ),3!"fcjR%NKZrr`[,[r
i6VS"*P#25N!!!!(1B!i!!%P1593!!!!!!!!!!%(krqj1F8jaB!!!eQ%%!!!!!#*
I6R8JAbm-6VVrm#K4+8J"[#PI!F!TA`(%19m"b#PI!FT+H!NZC`!!KM!i#5b`E!'
kEd*`#$(!#5`ar"!a#5i'E2rB!EJJE!(+)Q`"bM!T!!D3!'J!!Ja!!#"Q'NSi#2*
R&#"X!FT`#$&!!!)JE!(+F#Ja3!!')'`"bL*X!FS`+3!'N!"S!!)-3!!JCL*+1!M
bCa`JE!(+-@`"Z!!%)'`"bM!S!!3'32rJ)'`"bM#!,b`"bMmX!FJ[,!(%)'`"Y%k
3!#mX!E`[,!(!+&mJAdl36PEr,NkkrbBLL#m-6VVr(LK4S5JY52rm3QHTG"!I5J"
R#$mm!!UTb'"1,blrr+Q5,blrr%kk!&C)E[riU'i`,[q)88!j3!'i-#lrLJC!rq!
j3!'k3UFr2+MX(c`!!8kk!$BJ(bP!!E4)H[l-2cbSl"mm!!&1ZJ!i+&p1ANjeF!!
[#6(!!L"1GA!!B2BLAb"IS#P1q[rX)Pm5(c!I,`P+!@F%TdCJ!U0',dJ!"%je)Pm
5(c!I)&m[#8S"C`5Q4f!#SNG1G3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
"!!!!!Y)!!!(5!!!!1`!'"M`'3!!!!"`!-J!!58j*9!!!!!S!!!!!8!!!!!!$VR!
)5@0[EPGbBA$'aJ:

--------- end file "IconWrap INIT" -----------------------------

--------- begin file "IconWrap.c.sit"... cut here --------------

(This file must be converted with BinHex 4.0)

:$NPMEfjAFQ&`,Q-ZFfPd!&0*9#&6593K!!!!!!a`!!!!!)YD8dP8)3!"!!!-F(*
-BA8"!!!!!!!!!!)##NPMEfjAFQ&`,Q01595He!!E"%`!#J!E2ei!!!!$!"Y&dJ!
%%p`!'Y@b!!C"9!!E2ei$AJ%$!#3!!3!!!"V9c&4&@&4,38K-!3#IV9,@Rl+i3!!
!!9`!!"+G!!!!R3!!#deC$PC!!!!!!!!!mcS!!!3)+0!#3B-"MIaEb,#K`iF3'bT
)-ZD0QbYb`X"a-FD&!)*8LQ#KXL3)%LB$!8!!!)`JJ*!!)dZH6,QbTFZE1!0qDLA
&@N!*R3)'i"+aU0'M5*-UAFUdU81#"!!B!2!aS!)!#3`dX4LQSMZK"!-J"$$@L&3
%&!`!)FJ"J0N!4DJ%%8*33K%M6UJ3p$#!hF+E"Jj`'E$ZEd!%8Jq!!5p80%L3!'6
-'cGAj)5"if)-#$0[j)"JNZB-'MTci*3T3fB)L"NZB-3B1*!!#TSdFd!NFC+%#JJ
iBHL-39-QjC!!0h$b#%Q$%88+%(6HJ%MMKNiC1@2+`+%$)S`E-L"Q1Me6"LM0J@4
UdT&5CJa6Q!VEP$%UK`8)-@(QF!4ad'V9-AANb#P6&-380'rZV'`CPHDB0A2UY'%
a8%`CL(1MKQ($KZJCYb"%c&dX!X60R$XaZJ"KXLUFZ($HU'9VaLV+S5Q$$K4a4b'
FbRIclR@CaU#EP'(N[+Rc&+K3`fH)0JAKTX`G%,U2Ka(caNj91M5MaTeEG1$"URG
SZS(-N5TTb(2'c+8,!NhDXaZh6jl*d3A*"&2ST'&-r!h6`)Ra(Jq+[%bEjXqGP&*
fj2&d3NTZ#-A'394*9"a(("'@3%3[LFC6'XkaN8GIADeK98`Jh&&9ETkPa44cpJ'
9KPJK$$6%G(64SD&C)MBe4f"LIFK8'U9GTK02+CdfaQ*XV(8(6fJ-0i--H#`jd&a
HJ4#%%d4!GJ94C13&3K01KG%JD[AYk-D&Lk@K4i3KMTLBBBi00#4MDjQK@aYfk6H
E@A-)9H0rC2#i)A4938Q(H`N-e"T24QdRaSC,N!$Aa"K-P2%''6S-C%BCMH%4!KP
Sh'%$$QZ%!1JB#pC""K#ecH&#(@1Ni3*(GB$`484IZ%AUEUGbkLQS$@PQ8"[[c8&
(END4N8!--E`J3l)ii,$$@@QYeCC63f89aPNE%K''(@P!"F9*M+8""`K2#([83!Q
NHfbb-Y$`3V-k*("'LMb&'0%DMTNP4Ke-0I&''SNj"C83BIa&KQlMLTF@'S5Ukh#
kR8@Pd"a*[M%'A()%ZCf28TcKKVk(4959MjR0JHl$kJT*C(XZE*CG(Mp`jPpS#XQ
aBCjXm*['36SJaeY6CT!!G6,+#IJ,F&8QJ%#``3Llei!+,c633%!JM%!8UDC@a31
ABb"44KKCCH`$#&!hB,8E@'F&!Jp6M&8&(%(3i!)D2NK04aiDC9@DX(+`bP38GG5
f"K%+(EG(ZP3$,MMKB4ahaS*SXC&5fHP+*4%FFQ!B8aPEh'"$&cZJZk!EMbRd90X
FKCjZCPb1'pjiET5XHJ)[CNaKEXR0$N9-C'e(aKT(+*5(lV`IY4dEG!3Ia[$SlNj
(lb#F)6cacaYr&KX&Vd%pp0Ra9-EXbTX""4d5!3T&4(5%hJF)L[r&q"fK0h"hhSF
P`,IIm1QhHeKc*("i!P5,M9l'a"3ba14Dpr0+A+T#1I[K43j-3F2X+)Bq$[e&IIR
,brl#d)Bja+m-H1KG"Zq``3k#J)*hd0D`30!c'1!K"c)B3ZK!+%)K[1%04A*+!Ul
3"1NPJB!F58!,mB!$)mJJIU-l3`+H`)D1i14('0Q"`kJ@'U+3!-8hNCN-'bT$-L#
4,@S8K'!#-#B(+H5&B'U4SVUS4XBBJF!j%+c0BT!!Sk8hQ-%-DQ&+fF*)K`5d)3a
i+!)CU+,'+DVJ)44LcemF-j65#!T-GLa0GkTLaa1+*ceIE%!5alLbXTa`@ab*QaU
TCT3fd#`h0`Z+3Vb$Q"-1kbmY3)YDS'+(h%`ZDTX%9-IF%$SqqR&5hfX!9lb5!"@
3!%&B`dbIe%DJ0k+8JAC2J%)@K0#5+6LK#Ne)J!Z$J)-L$-&Xc5b1CC!!i-dTB,-
*3CM#%V5*KaM!B&RJ2)`c*e)%)e!"R9)i`NS5J!0$XN8L1&L"$'"J&Ki4acKd2-j
TK1@P"R%NCQ9MTMb,3j!!)6c"#9G)!K'SJ)4d,@Q0Kc6S)dqcT#E*`#aT`9&9$*5
59P+V0Qf*D$LVNJ5,1Q%+8!M#%)U3!#iD`!#N3l%0EK*cX-CYakF[53-H-)8EX1J
aDP-l*(41FjVG5'3ZF-"H8X45PeCf86-UBFU4k,1B+`+U!FIF5PHqNKX1MZ8S6HN
0S,Ec*MC!4M*Ifk*PRPLbcC3YULp*bj[Hq#qS1-%iAjd$#ZD!P*+a)+f1CH`BN[P
BC+k9"A`U!fE6XSCGTU!"V&X)f56V@'-+5hE#A1YSN8*CdkV9+lem)&-b'lTG)N&
J43,"(qI3@Bmpkkm`#FpL%Q#(`LEJX(G)V%mDX)H"T+80rN2AIjcM!MBNB,&`5-%
+@"!%'"35T2C6CD$'%TIYJ1eJ0HQIZLMAKi'dM3j[LjY2T"J3qi&55M4JbhBBqKH
8pZBc6,&Up##hQ*3X45,#L9XaSjD!jdBA""$@,B#U#q(ZXU#ZF)f`KK'R![XkTcp
d+'p6b)$H'cfXE"UHEKQUHpf-D*F&F`!P'43-hKKrq(&[L"aqLBEL#+ZBaGKpX5i
pCNJ2"mTMYre[@m9#P[9',F86[N1,Xl[Gc$kX[MDZ5QB$'jDhbZ(%6rEaK+dEj1f
Q0CP&cR*rSR4JSLei)1dGL%%AUam9KU%KI[&3#(S!!KLN),VTQM-+l6`h%)cYMi%
FC"Rqh&bJLZJ%LCNA)rPM'0+8"P!JQ15cj*-MrTah1-8j6R)bUDj"(l$3I'C#2Hm
CK(bZK,k(R%XHba-4-aeN@(Be#'qZf%!(jSA3L[33#2J-!K5SfTlie+F6eXB$%-6
J*eiBCcR2QFiPc'k-dc(M(G"BP4E`ZDBAaDP1Lc$+3dCbe[`T6JJ65ZT!P`B&m$l
c@P[JJmaCK#NY!)'m[8,[)JAY*chiYNdcZP%NI2CK*NJD#RMS3b#5)3@-(PTp$k)
KhDBh4%JDbSj+`p)+*8Sq40V35fh$!LG,[--#FmYf+,iKJf,k5Nr4%TIFi#@i8T@
!D5M6QBc9k`6XQ`lp2Ja68VhUC,pkD$qRYld[-Qak)V[9bJE"#P3bF)ebp0VY69I
@%c$RH&Z@hr@Z#02cRA3Iq*X1!"Ii43R1dB1V+q(&CVJFIZLpKdFFU1FH#f4JUKl
9`P%qGGe3Vm[1R1HpJ8jm*U1fZAhYXJGPA(`Q[(f#3UGm,fPf@FmkeBK3KRfG)6j
b3)%)Z!#(+j3"dL0L$Vq`@&I)D('[Q!'5#&,`@kJfH!l3EI3[U@[GRl1J"8'qFSF
r3c%*pmN-D9M,cm%Xh5Mr-LZr$ll`%d$m*'dC,'jY-[26p@2V$[PM`(Iap+Z2(#6
MpTNmC[$Z9faG*MSapKMKlNr"LcQPN!!)LfTJV*XEQ2m[T`X&hI9REPCIVBGTH%8
CX!G&k[9Qh$GQR!3RC4&qf69qG9"mY4BF0'GAFa&LFQ"H*1Cr$,Kq,*CP-dB$d5G
q48Cq*,KMqmGJ@FF9`L)bmN9l!#49BE!'0I&*cJ%9F@0TVT3pQ44R9#0JIb3FCX!
EAV%cfp%#qFCbd6-@+B&K8(%35C&*$9"FhH*(B8!8bp9S58B'46)KFB%%UY-qJe-
i#4!(C(!%N!$M36A)&R("&RG!9drd(CLQKJ1@B`9'DJ2"&@,4"SBK"pdeAqlP0R"
$!i4iHlQ(,Pm`6!!L"emBKNA@A49L4DNK&"@iI5*SA3PJB9D&"(!QCfD!!N,!,d(
K"MlKGP13!!Gc)!3E!3FSi%idb%C1N44f443-44m'p4m9@"AlBRLqNaIE36P-94@
kahQ[K!B`D&9*J3+I5([SJJ4-B$&Vi)aM#)hS3M9%35D0F5C`+"%i&MQhK#jdPc`
+-BSQS)CXQ'1UBMlS!if9NfeR&#e0TijYk!+[NajpTAT2S5U&4hNJN!"[cL*GJ#4
)hX&R+'#2l)L2Pd3AqlJErHJ#5iG[(b%$f-KK3h%EZ'CAQ!B6-T%N$H4qLG9d6R!
%Bd%&VK%%(jKH+'"4dN409'"0f'3@9("$E)#5#`'2ar9H1!Nh+hNM+)"FL@8@,MP
0eA4068#60YQ6&rQ'R1GjS#GkT2G$Z9JN81'4-d%Z5a!#XeGl8T-!FID'#A*3Dm%
I[,%JIe%HjaF#T!D$iM@$kL-e$3$++!!!:

--------- end file "IconWrap.c.sit" ----------------------------

-- 
==========     .......     =============================================
Ken McLeod    :.     .:    felix!dhw68k!thecloud@ics.uci.edu
==========   :::.. ..:::   InterNet: thecloud@dhw68k.cts.com
                ////       =============================================

jkjl@munnari.oz (John Lim) (11/27/88)

In article <15979@dhw68k.cts.com>, thecloud@dhw68k.cts.com (Ken McLeod) writes:
> 
> For those of you who have mind-numbing quantities of INITs whose
> icons march across the screen at boot time, and would like to
> see ALL the icons displayed in neat rows, I submit the following
> improvement on the INIT recently posted by David Phillip Oster.
> 
> The following is an INIT file that will "wrap" icons displayed at
> startup if there are more than can fit across the screen. A new
> row is started ABOVE the first, and so on. To use the INIT, it
> must be in the System Folder, and must be renamed relative to
> your other INITs, so that it will run at some point BEFORE the
> icons hit the edge of the screen.
> 
> Caveat: if run before John Lim's "Moire," or Tim Maroney's "Backdrop,"
> those two INITs will crash. The temporary solution, until I either

The crash is because I've been using an old version of ShowINIT that
didnt do an InitGraf(). Here in Australia, it's pretty difficult to
get source code for all these freebie things like ShowINIT. The original
ShowINIT i got was in a resource and i had to reverse engineer it.
That's why I never knew what version of ShowINIT i was using (until
you forced me to disassemble it !).

Guess it's time to upgrade to a newer ShowINIT. It still puzzle's me
why InitGraf() is needed though, as it is initialized by INIT 31
also. Perhaps someone can explain...

ps : a quick fix to moire is to replace PROC -4064 with a newer ShowINIT.
	This will be remedied in Moire 3.0 which is under development...

blm@cxsea.UUCP (Brian Matthews) (11/28/88)

John Lim (jkjl@munnari.oz) writes:
|Guess it's time to upgrade to a newer ShowINIT. It still puzzle's me
|why InitGraf() is needed though, as it is initialized by INIT 31
|also. Perhaps someone can explain...

Actually INIT 31 only does an InitGraf on 64K ROM machines and Mac II's
- not Plusses or SEs.  The relevant code looks something like:

		tst		Rom85
		bpl.s		not64k
		<lots of stuff for old ROMS, including _InitGraf>
not64k		<stuff for all machines, but no _InitGrafs>
		btst		#$e, Rom85  ; Yes, #$e
		bne.s		loadinits
		pea		-4(A5)
		_InitGraf
		_InitPalettes
loadinits	<load inits>

(This is from the 6.0.2 INIT 31 - your mileage may vary.)  So _InitGraf
is only called for 64K ROMS and Mac II's or higher.  Anyone at Apple have
any idea why?

-- 
Brian L. Matthews  blm@cxsea.UUCP   ...{mnetor,uw-beaver!ssc-vax}!cxsea!blm
+1 206 251 6811    Computer X Inc. - a division of Motorola New Enterprises

thecloud@dhw68k.cts.com (Ken McLeod) (11/28/88)

In article <2588@munnari.oz> jkjl@munnari.oz (John Lim) writes:
> [the reason why IconWrap and Moire were in conflict]...

 It turns out there was a simple explanation for the apparent incompatibility
between the IconWrap INIT and the Moire and Backdrop INITs...and, naturally,
it was my fault. In the main() function, the call to InitGraf() must
be bracketed with calls to save and restore A5! Otherwise, the "real"
quickdraw globals are lost, and it was only due to the sheer coincidence
of all my other INITs calling InitGraf() themselves that the IconWrap INIT
worked. Due credit goes to John Lim for pointing this out (thanks, John).

 Some people have noted that the SUM inits, which don't follow the ShowINIT
standard for startup icon display, get clobbered if a new row is needed,
since they're drawn at a hard-coded location above the first row. While I
haven't tried this, if IconWrap runs before the SUM inits AND the SUM inits
run AFTER the second row has been started, their icons should be offset to
the "third" row. If not, you can always change the LEFTMARGIN constant
and recompile the source. Speaking of the source, it's very important to
set the "System Heap" and "Locked" attributes in LSC's Project Type dialog,
or else the INIT is almost certain to crash.

 Here, then, is the much-improved IconWrap (version 1.01). It's still not
too long, although it now has its own icon to further crowd your startup
screen! :-)  Further revisions, if any, will go to comp.binaries.mac.

---------


(This file must be converted with BinHex 4.0)

:$8PMEfjAFQ&`)%P1593!58j*9&0SEe!K!!!!!!!!!!GK&P%!!!!!!3!!!!De!!!
&Y3!!!+`!!!2"&'0SC@0VD@jR)%e',d4PBR9RCf9bC`)!!!"843e*BfpZ9h*KF#"
*6NP8!J!!!%P15946D'p3)3!"D!$!!!"*6NP88fK[8#%!!@J!`!!!$#3!!!!!!!!
!!!!!!!!!!*qbYQJ!!!!!!!!(B3!!L9!!!3!!!!!!!!!!!!!!!"3!!!!$`3j$FQ9
KG'PZCb"869"-Fdd#!!!!9%9B9&&&4$%"!!!!!!!!!!!!!LF!!!!!$RJ!!"!!!!!
!!!'@!!!#!*m@PN'I&TBp!!!!!!9I!!!!!!!!!!!!!!!!!!)!!)P9!!J!!!!!!!!
!!)P8!!%!!!(HB!i!!%P1593!!!!!!!!!!%(krqj1F8jaB!!!eQ%%!!!!!#*I6R8
JAbm-6VVrm#K4+8J"c#PI!G!TA`(819m"f#PI!GT+H!NZC`!!KM!i#5b`E!(+Ed*
`#$(!#5`ar"!a#5i'E2rB!FJJE!(D)Q`"fM!T!!D3!'J!!Ja!!#"Q'NSi#2*R&#"
X!GT`#$&!!!)JE!(DF#Ja3!!')'`"fL*X!GS`+3!'N!"S!!)-3!!JCL*+1!MbCa`
JE!(D-@`"b!!%)'`"fM!S!!3'32rJ)'`"fM#!,b`"fMmX!GJ[,!(8)'`"a%k3!#m
X!F`[,!(3+&mJAdl36PEr+NkkrbBLL#m-6VVr(LK4S5JY52rm3QHTG"!I5J"R#$m
m!!UTb'"H,blrr+Q5,blrr%kk!'B[$8[ZrbSKc3N%5'lrq+KZ+PmKc3N%-#lrL&&
!18!"b$!ZriS'32rJ18!"bN+R2cbSl"mm!!&1ZJ!f)"mT3!(%5(Vq[$mmU1`I2!!
"6VS!1#KI6Pj1GA!!,`Na`!)J6R9`!'$f)PmJAk!T6[Vrl#*I%Km`(bm*5J&R"+G
'B!+M4Lp)!!41G5*I%Km`(b"I,`P+!@F%TNGJ!U*(6R8!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!@a19[lk,`LJ+5mA5'lrqNKZrra)E[lkUDJr,[rk2ccrrdk
k!!SJAk!U6Pj1G8j@!!![#d+R,ca*3diM2bi!#UQJ)"pR)#"!S#NQ5#m32bi!#%k
k!"3J5k!U,`LTSbCI6PiZRdjeB2C19[kX51Fr(#mi#34,l[rm)Fd*"%KZrrLSENK
ZrUbSEc!i#5cM@!T!%#'`H!NZCaJ-Z&"KG@`+H'F)-I`!#!NXB!Baq!Tq#5a"l[k
X-#J!$!4!!#K)3$!i#5`Y32mQ,8$r+JCZ!#$r,!CZ!#$r+LCZ!!TK0$!i#5`b,J!
)DJ3b2!!Sd%%a`!NXieJ+3"!K-F!*,NKZrUbSI5(I#34-hcMm6PiJAeb26Y"*l[m
B+)X'P!!!!)!jI!!%!!4#V!!'+A`!)!!J!!S[$%AZrUa)DJ!#5(S!,%KZrbBr2!!
$3UHSl!58!!!!J#m-5'S!!NKk!"")E[mQ2c`!!8+RU1a1G3!!!!!!)!!J!!!!(&0
SEe!!!!!"5801)`!!!!!!J%C548B!!!!!!)!!!!!(58j*9!!!!!!!!3!rrrrm3!!
!!S!!!!'2rrraN!!!!!Q3!!!!#C!!!!!*NIrrLC%!!)Q4!!#*N3!!LCI!!)Q6J!!
*N3!!LC!!!!!*NlJ!LC+S!!Q6Z!#*N!!!!!Q6ZlZ*NUUULC1lZiQ3!!!!#Brrrr'
!!!!"3!!!!Mrrrr`!!!!!!!!!!!!!!!!!!!!!!!!!!$rrrrarrrrqrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrprrrrq2rrrr!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!"!(rrrrk!!!!"[rrrrD!!!!@UUUJ&S!!!"DUU!!@
J!!!&UU!!"D!!!!@J!!!&SrrraD)!!%@L!!"&SJ!!4Dq!!%@R!!!&SJ!!4D!!!!@
Zi!"&UU!!"DlJ!%@J!!!&VZlZjDlZlZ@ZlZlPS!!!"Errrrf!!!!"rrrrrb!!!!3
rrrrmIrrrr[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr2rrrr$rrrr`!!!!X+dPMEfjAFQ&
`)$%Z-$%J+$%a,c)h,cJi+3fT-6Ni1#"LH5",,L"0BdaPEf3!!!%!!!!'Y3!!"E8
!!!#X!!1`dJAL!!!!(!#D!!4*6NP8!!%!+N*14%`!!!"#4P*&4J!!!%j6D'p3!!!
!@NP$6L-!!3"Q!!!!!&!!!!!!!@jk!)!!#5!!!H)!!l#HGV[rr`!!!e)!!!!!!)$
rr`!!!h)!!!!!!!$rr`!!"B8!!l#DG4hrr`!!!hd!!!!!!)$rr`!!")%!!!!!#%P
MEfjAFQ&`#&0SEhG*6NP8(b!:


-- 
==========     .......     =============================================
Ken McLeod    :.     .:    felix!dhw68k!thecloud@ics.uci.edu
==========   :::.. ..:::   InterNet: thecloud@dhw68k.cts.com
                ////       =============================================