Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!rice!uw-beaver!zephyr.ens.tek.com!tektronix!psueea!eecs.cs.pdx.edu!kirkenda From: kirkenda@eecs.cs.pdx.edu (Steve Kirkendall) Newsgroups: comp.os.minix Subject: Elvis - a clone of vi/ex, part 1 of 8 Message-ID: <2158@psueea.UUCP> Date: 3 Jan 90 21:03:13 GMT Sender: news@psueea.UUCP Reply-To: kirkenda@eecs.cs.pdx.edu (Steve Kirkendall) Lines: 514 E L V I S Elvis is a clone of vi/ex. It boasts about 97% of the vi commands and about 92% of the ex commands. It is generally quite fast. It can edit files that are larger than a single process' data space. Elvis also has a few features that the real vi lacks. Several related programs are included, too. Elvis runs under BSD/SysV UNIX, Minix-ST, and (almost certainly) Minix-PC. Elvis should be fairly easy to port to any OS that has the termcap functions. It is being posted in eight parts. Each part is a uuencoded compressed tar archive. Each is about 32k bytes long. Okay, now let's compile it... Each "step" below includes a general description of what you should do next, followed by an explicit list of shell commands. The shell commands should be viewed as one example of how the step might be accomplished on somebody else's system -- *NOT* the exact commands that you will need on YOUR system. On Minix systems, you should be logged in as "root" as you do this. STEP 1: Make a subdirectory called "elvis" somewhere, and unpack the source files into it. # mkdir /usr/src/commands/elvis # cd /usr/src/commands/elvis # mv ~/News/elvis* . # for i in * > do > uudecode $i > done # uncompress *.Z # for i in *.tar > do > tar x $i <-- on BSD systems, try "tar xf $i" > done # rm *.Z *.tar STEP 2: Makefiles are included for Minix-ST, Minix-PC, and BSD Unix. The BSD Makefile will probably work for System-V; if it doesn't, try adding "-DM_SYSV" to the CFLAGS line. The Minix-PC Makefile hasn't been tested yet. If it doesn't work right, please fix it and send me a working version. Anyway, copy the appropriate "Makefile.XXX" to "Makefile". # cp Makefile.st Makefile STEP 3: Make the executables. You should see no warnings during compilation from the standard UNIX or Minix compilers. ANSI compilers may give you a lot of warnings, but they shouldn't give you any errors. # make (Note: for UNIX systems, STOP HERE! Minix users continue...) STEP 4: To install the current version of elvis (and related programs) in "/usr/bin", use "make install". # make install STEP 5: Remove all unnecessary files from the "elvis" directory. # make clobber STEP 6: Create a directory called "/usr/tmp". It must be readable/writable by everybody. Elvis will use this directory to hold temporary files. # mkdir /usr/tmp # chmod 777 /usr/tmp begin 644 elvis1.tar.Z M'YV-9-Z,>3'FC)PT;L@ 6,BPH<.'$"-*G$BQ8D48&&W0H $" $:,,6)T_(AQ MQDB2&&7(F"$#! P:-6C+0(,*'4JTJ-&C2),J7:DT5,&Q!BX=,(@U!I&#IVK;\Q@53 $Q)PW=>02RO'M,VMEBR9NW.!:'W;-JZ;^08?M.F MC>LY+"S3.>CF#/*Z==R,H9/FK@(W7]4F-TTU;EHY=LI0O1.KRQ]YL9"SH')&@)L(A% B .5]QQ"L0I(YW!*<>< M:A9V Q0E?9MG& MF72462>""C*H&QW)]7E789&]F:<0D(KQ!AM4F4%E&7DF >F9^I'5: )50!I= M:W*P@9!XH0D16VNZ*LBJG<;AA55"?B+D'%:;8A;@@(L9B.J"A3*9G!@#&BK= MA6Y<>;:H M6O^>D49X;B0GWVE9@=C&6_MVQ@8(8N1'1FM4A4S''65X*5\;#P9QE6E\X?'5 MPF58+*%=;+#QQAW:4LN=5G'104<>+6R%T&-8Y0Q"94="'*Z$8V06UUP*L!77 M=,'%YNV6(+S0FATOL %'2L:]5(FK%EUG/UW8N*HR*6N>)!@F%;8L)@%" M"W((\;ED*K@P!@A\1+KJYX7YX'498(L=&@I*JLZDS]B>W=H<8QP4,E5EL)&6 M6'!]EH("_WHK(.2G.9X@N0U.BRY=ZB)JW<,O;YHXO;H>QGBDWU$:UN'X 8RL MLD02')K!("#,!G4T-\PCHQ%/+)?-7F8C8&O?UL*V40&M'JQC>E,6U'5Y&<8:3FFJJEX6IZD8/6 M!M2;U\5N;)G"3:A@IC:VNYR " M^=6%*V#)2@5S5@;KG28RE+$,9C3S(1#B+0E-@IE^+@,"0A+)CZ7""@A$$!3F['EV7AGFO0!1S@C@-:RE'/(O;T, M6V?0F1CTHX#JL0L$ZG3#F1)U'I_4[F%9BH^$H-F[O?3)GHD"8#$A9B" 8C(K M>,2;$?HTI2KA<3L@0%^\7C:R,O7&0+-T3B-M*:JUJIK9*TY*!OFD? M7C7M/$F2$$(H9-=["F9#%O+03Q4;0I6:B, PDL.+FH:]R]4.='5I$V^")[RJ MT*4WIC1D*FV%II"^\F=D->L.O(J&K8$.F8M4 ,_BZP;8E+*0J,S/*A=Y5L^( MM9,.>Y>R<+OBCPUMLW;-66SPVE/Z:4D_'Z,O)^470@/R*FIRF!I=K%;)%.8A M.]@)--\1&R>$$(6I:"F4IX_.$ M5PJ2L"TMHQ\P# 6#88 :)4K2!-,/L:5Z %CF\8 Z: M"9O<0,#G.K1/0[VU3'^ZG(#,(1C"6PA#"]+0A3%[N0UV4-W+\.S*5\<:S(I) M<:F_3,LPJT@-+=!#JTWGY?YBA=97\8$/4%ML"QT;S,K6=>;D$$ED/YN6"JAP M9C$,XT."[ T=IK$T5XE:$8R89^LQL1Q0C.T>9ZG%L,YH&+7_5P,4&,X3' M#((RGYE3:=[4FMMGFC$'K;A[9*HA?= M:)],5$J0?N"<*8WI2V=:63;M]*=Y2Y]:FG#FQANUKLSE8,:H6T;.]Z68DO8& =YTZ1CVB$(UL,215+LO>4 MP" &- %C3&92DQMT\8PUN $,9+!&NCO^\9"/O.0GW\8M:+0+"4A &."PFH3D M2?/ G4/FMW#?+GQ^#&08OLLOJPM;8,'E3P28YO#* M]D3"O>YO?R)LYB'S&E4 \,L@_-VW!EUGV$((:G_YW#L_>!DLP^A%@(?6)T \ M9Y(^YA- ^AUYGX'B'WW3O-\TY5=_^,%/P&,CF_D7((B!<'@!8=U/_ 0@Y#MT MP'_!9WW$IP9/TB[+UWS$AVB?!TUPD'X)T"6QX8"K009?H!<"R'R9]UMKD'EX MT(!=@@>:D8$*&']M\ ;A@7S+\GE$@@=T ('EYQD^\GE.P$ O.'V?AT&^A!ES M('XD2(#QQT$DF'G+LWW=]WEQ4 ?AAX,)F'EQ,5J9UWY.6"13X8.9EQ9T,'K8 MQ%S4=WM J(%S4 =B\%IG B#:9W]E0$AXD']QL3"[LC
    FT8'D MQWVNR'Q?B'DAX'H6Y'D)F(L)P .@2'P],(SQYP-)4@180 5IXP14( 59D"<) MB!6'NH 8 F4CLH$ 8I4(W8^]U,:U62](4D#@BYN 1MX1FETEE]\3W_ M)Y!$<@<#21?$(W(2HC@QZ1L>M1DTC->0 19(ARZQ!=V\R>JU%4E)52W]6ZPD2=[ M!!?5H3Z4407,: (@ 5!, 544 3?^(K9>)+9UXU'2'[8"(ZRZ 9KP)>M-XW+ M(WZ$>9>X"(N:%1O)YY=>R)@G&!X41R3C*"$H0 8I@'VI1)&:Q5GS*"8+V1W; M""N2T9&EM1=AD"=10Q4"X61@H(" IT"2]2"+^ MB#2E0I!F $FJU)K#-9+"$0;Q>%X2$IRCF2==U0(ML)4%&1SQ CDP!0(A$"H8 ME!8.&9AKH)*R48^C>2"ER9'+\DZ-@UA1>2=L<4@N!C?FI9*1 MU)["<1G&D27RP54-*: @@ )MD (H*)3?29O9IZ#P22;#R8W%&:&R2:'^9Z%I M@*&QH:$IR2D=*H\@"BLC6IF?X1/L8R"[0QTVE+6Z5$VB#]$ M))/_@U>CI09H42ID@)8 0AQQ$V0N]I%CL%Z[42=*RID,223XI0!$D 13 5, M$ 19D 1.< 32I8Q4H)@ER'Q :4S8PA:$UA\P*IHR MZJ#$>9H1FITGR@8IH', .4I[ :ENZ!] >B[@ CE785>MI"!< TU=PII,LDS: MF%-/=15_)3Z5YE@9%<40>\U5*H"90(2:EE MHI&$E"4Y&VED6 JLGM1B.93^G M03E ]Y^"<1>?9&A>,IFV.4*N1:][45%FE@#L^ANH^3-R$!U@0AQ$JBD B2$K MHZDH8 HB5[*J0(!X08G0 ?D198BY+ Q M [&)\B!,H*=%D#9S>JQ[RJS9:( (0;7@N(MPY4=M@+7!!P+"2*V+F8W(*+:! M^B)A.(;4T2&I!*WXAX9N>!AP*(=T:'IY0HYJH**+X9G]Q2,_>G#&Z60+JI"5 M"J\QU149I"EYTAL:\VZ%(08:8J2?)!EWX6)9(1C-P3"Q!28"BZ6YQ2<2Q#-4 MN;FE42H<4B9,LA=GHJG]Z9DCFU(+Y()P@1V2U1GRN+5?\3TYQ%:>Y;$ LCQ+>3.VVT,@$ 16 F39 MRD SPS#DP5X M$HZ< )AP (GH [U5LEF0#326T!5Y4MQ3-D@"9:(A)*-:M.I;VR- <2?#)I<,)HT$A;Z*2M M\52C(KS &<,]\Q68$:!WBYESD )B2(9LRZ*.FBM3H:!(BW_>$;%$=!H<:Z0? M++*JL2"'$4):BB:. [W(-9YTH+R%(0)P8,/9E%!VA4O#8B#Z\51ORE ZN4., M*A[? U)G@,;WM!K4=B8ODS-1F5*)(1T0PZZ1\CP, L5J(<5<@U=V<2P@ )=M MJ,7B@3M F] =4*X)1 /1\BA,LF[0C#'HP!5X 1$\ 1Y MPH>)6@?]&! Z1TI=+&V9%H(F1BIE%G\T63WN2F=!E4)<(*X=340YYEC*9%6 MZH(/,@3):@1)< 154*S'FJR1# )T::Q5L*S'O'F(N0422'+5:(%ZT7K1 8C3 M!P*"2+\9I"(W?!,PA.()F2W)R,)@?F(B:R(F**,5>*ZC%2"<[DJC0=(Z? M&KI7H72]D4PZDB";XE=GTQM7TQ7Z1!B;H25,1:MPT4\@X 3[,\(79\Z;196Z\RIF M:1O.>[4)8"!_M8GBVJ(GV!HV2V(MA9C_"7' _#\.Z,YEX!^Q'# ^:5)BS-.' MI3)CD:HM>C820S%4[:_&1<#'\<&9Q4$OXW4Z9!DE)KIG$-84J"VIRG*O$1N+ M459O,1UX4];M3![<+-8<16 UC, .L:S M_(>["0>WW!A7E7%G,E2;.AC*; DVM 0)\];E;39$LFQ;=N= Z8-656,:H*BL *#!_EG=R937, M)!>LZ_)[:PC!OC5PB@&2-E%FBNB"DRM3Z4=\!A9;Q9=XI=41IV!AD M((/V33Q%*A]Y< *4&3)>@G^!#KC&@;AH:"E[)UN$-&9$3N3P*"GXIE)K0_<\? M$]5'"@))(,A30A68]'WN$S=4R4#)0=O]]C&OU1ATT1>IPJ1[[4N$7@:+RLB> M62HYL]V>EMEBX6P!G5!: NI!;16:V@, ">L5IG2U#EOKI'0Q:L=;B5F28>R^ MJWG_:IH%^]ZA/F%*HW0<9A:L 0<'R#>E71AN0, A(QR9'KACD, "=+2EJ:E! MU:+ +NLM]5)P7C.9DKCMD5F <14BGMA1+9P0].UM$.[!ZS2"VS1WO')1!G%= MY>_A_B!-4 5,<*QV^K34S 1% ,[&=14QJ!:MUX(W^"(97\\UZ()6J(/5@196 M&!>B2P8^F">(K=EYI66@7I[$H=D?RAXY4[P J5'W$AL,UB.+Z]HNO]:'FS:] MI$?9 ]G64CZOA9_@V5(7?ZAC+.>\D@#E* 9N?P&1M9 M,?9/SV^:(N]KQK)._I23,R6A'2R!L;/T^I[9 :M+ MG *6L?:Y89YP#]B.Q,M 4TG@1Y7BY&1HF?>(QK(HWZGIV*)S(/H[2_H&;V=R M+]FX)84B-/@Z]R!3< 5)0 5#@ 1ZRJ<37_%YPNCCK(I+W42(F8>=/\3:R>IL M@?8_@V0[4]NA?R95XO9T9OJ]'].!OE,&'>?2->?W[E*!_K_XM!?H9A9XORU> M3\+XVA\LFQ@OF_-O@$MT3)0!6%("PWXF* T9,O;0H!N+''LG,2TK;KT_4OZWA M='P)52IFL"11>2+0]S-0 ![H5-PO(5P%% #:SI1C*SALBO.%*(IT/)93H L+ MH^@@.9*089!BQCYI#@^B^5&Z%P#+\MD38F)(PFP9*E%T)LJ ^#%%J$@5^4 N MN)E&"T B).+I'9$_TY#^"@5:^1E2"6ED%O;T5'Y>NZI@<8QEW8%%U0?O!1NP2K71#*<"8O1A^B7R9)I[2&L2#W^I.Q27V\C&_^#C[DT M=66C>D/(B&VCR'3Q!;;6%C0;B-MQ]NL.5BZM0>$FE\O#((?AN36<]:=O2)BR MX12"2UE #'?#I="1 $%](E!.)0$I4 2& !5X M"(-5&%+;!ZLD;K>3T"C!W* M'M:3)V 8A4E4J(<*8@L4\'HZ58CX3ENP"[*5+_@N !V1("QET 32 >XBE$P? MOU@#/:,="=$8+PO1]C;?X](98R!!44"QAE(^U[&;4="N M(SE# ]&?SL95FPN>"^XQ"3SAL03*&_@-4!X #0C)YK$!D4@232)*G%HJ,2^5 >CC$@M13+1; M^B@H1;[RL0RQ B'J##6%8?!$TN 3T4I07(W3D"@:19,8892BB6**3A%=Y3R= M,Q611AB\BG+Q*HPE)M$5I^%7?'8!CZD"=Q (+\!#Z@?*(T?L#A7).U<$)6@1E/!W8, , MB $P0/"(D<+#$L[(#0"2,:#QT,@ER22;I)-\DFU$3]4E*> $?E6?6D8@@!Q" M 7(X!8J ,S)6R,H)L#SGY4O8B48D@!!$G*"UBP2>/M*$\0O!H3'P/-7B$Z; MB60#:.D$10>DH25LD!^1#;L"<82G,G&<6DJI@)-^1(6):.*5^<0/6RY8@#$0%PL -5U18;J:G.;SG\)$HQ PS*89" MBJD[4>::+J4A.Y3:+E'.2>WX3KB%']$:D@&&!0>D(4A,DEKH'7)##9:']F#( MXB)@'#%I@,JA!]&"++9 #'@1%4U"F,O!I/#4GR%K+;AE7GX/4B*QY-S94!8N M#0;VA6@I)Q=EGJ@!-8%_48<0AR"? RDQ$.2"D/P^M-(380:CFR&V8D#0 (RP M!/*$+OE1.@,.(BE%@TT&CH7 >7+A-88 $]'RYF5S21IP;'%P"L"W*5!>,%09 MR EHM078Y!K(R[Q\[(I1FPA!DE,!"[@SC8%-&0 M09#*2X\P-)>'84+5/#Q3JDD^+8OD(/2RU%5(>)U3#A2,)A#QFH"7I )@4IL] M 2, M6@@$%3Y3$[>$Y* SW&T%]RG&-L._N8= MF0R4H3(F%-L4CI$ G6!LKA@'/Y=>R@I?\$_ )R/X3*5FW+"G.6O M>KH@"!(97$D\*Y1!DUF"#&>YGT;=/\ITI0] UB2W@.)PZ*$1G3M4+EZOPJ"4 M#%EK8ARQ#>A!1&R!TTZ55.%I*& ( (BK8.?P2AG(9.TAI[6P$+%%[=-C:DUS MP%86ABF*Z20#2'*1(XDTEK"I\@%OYR$1#F8,0$RY5::/0I7VO)\N;U?ZEC? M%LP !N4,DVW<+(A\V3"_!PE=46@I6*:YJ;$94%]BI!@]HX6*$*V)\V*?U%M< M[\@7%H8JE=H&EW#2?XZ- \6I/CH^&\>5"J1?RI0:4D,92ADE #I1-RXKQ$HF M8$W@P@X[)%'NM?P)?3BA=@@E&U[A*326H[K&@5+ F6:A;);+K6P^8XJVAP+ M2(ZA3-BY$-HXKNG-81X?B8N6G-P&'#;;IB63)1KUE:@I>50B-(_P8)0?=6_L"^>%,L+? M0K1_R*F0\LPUM2.^!Z@B$![K(-(KQR88:!:#"*";*+G1I[ 6%_1<3IH0SA'5 ME0:VYP)661,( E)@"4R![>7*I L2>%I#X)I- 728)YI 8]"*Y0-ZR<=,)D+$ M&!FCF97O/Q+*AAIPT%)="YFI3D-FQ\)04@)6H7%T)T,GG8F%A"M42EA:)_72 MF'4_%D8K44-KP /H@0E@UMPY%?^14(P!WT.,TLI ]EDAA@_M8F8!!N2C*8 0 M-@/N-*&NQ4S"5A" 6D-CY("3E1)710E5@N+.W/S2;UF!OD$[&, $\ 9S#14C MJJS@)YS439]7OM@-)"N>J=)\U/*4CBT#*54J)A$39[;SZ)S!DDG%PSVD0M!) M2F]2^;0QJI> IL;1'YA+@[0R 78(J$, Y(TJB3'\H MD'X"-W8([[ 5GRH,W2/;3LT!EGFEQXQT&@<$OTL;4W M\03TIB'?@AF)H4N,1:B1UJ["1=L0@\'&Y0Z^P=[LK#)[A#.B'M'@SF"P1 M2550+A]QD_%G9[4"7- 87"PO!(8U8"O/AIU;8[^A]&4LX2!*V\>*BG)N4JD6 MC]V@\^S3L(,==R,T3($A0 Z])(AU1E+@"3 !'VAE"TC3?)I4(;KM$2JQ!IH( M8Z4K9D%G"$"*8W'&2H7=J+)3#$C+J=987\9T<&HN9I]Z!J':]"Z7L&U.NL*\ M" ?:"">:P%ML$IDA+4 &/L;D8%?Y.+;$EIP2%*X@'V%M8^*LM6J#(J>(61B2 M !U,H,VIUV)#-$@JO(10-+:9"\X:EZGW"4+Y7UU]MAA+V@;<:OLRK2YTT;94@MM>3N,#;G>:N U+ M\W8./@%T&YO4[6SZA,+PW6:(>!LZ@0N]38, -]_>N'UKR/JM6OBWH*]DPIUY MEE*@9!2QD7B').B=+>(C^\[BH0$X022\A,$S1@R/&FJ)KE]J5T#[0(@Q(B\RS.\ EA:LF]"GWZM[=NP)V+WWJO;X7^/K> MX2M\AZ_Q/;ZZ5P'(7KTP%5Q#/DT 0B LH$$8 1^59=_' MG%&MX;;*E15_^WWJ;_3%O\^H"JA?%HL%)JY00C+R$? FWO;D!L"OA@AAE23S M^9\Q<'^G;_75OR.87*D)'>!S^5C8V!EPP:[\AB>P!,"O!*(.QB'SK($LQ(!Q M:P*( :LW=%F&[!8I#H/"2(5I8].*MCA@A+L:OR #6^$,1" XD "FP'+0%E*. MZ%@:R.4&T) 9$ $) '>]O;WPN@@6#&L+=* %=,R.I((6< ,N(YF'/8 :+(QQ MAOO[(EVO*>,M:;>1KF258$OVUH6TXA/^R$:\ 4BI83M#2!OQ+ F'.Z>L R@O65%]KX/$# "4%.=\ )58-QD)060%BR)Z$D+H_A/2+DN MF1:F !* 87"X'2>WUQJ+NR0M7HB@ 21F8Q@6C]&P"'@!;/C2U##Z)1RK2UQ) M#N1/+O@2KO"'2L@=CD&" X[ -.RG-+ ^\<"&$CN>8=]RF4S? M2LF,NS$.R#PC(*>!OVNL- 1#:Z"-^"X/%(B:LO3(\%(3/1VY_K[D!)"1S<*1 ML6MM%ZKHL,Q3*@IR*18!/P .+S5?ZD!]S.N%R.9)(I^0N[ W%( ="!DY(_-\ M94<<@D6/40P!:%KV#.!7%&V>WQ)&0+[GV3ZDKH* M)3RAWG:2Q.5/3$[< %$6/1]X^I9E2;Q==C :S)O.I@@,3_ ;?IGO!"U8"33P%B>Y(C7;J><1M2 MDJK,#PK*+]N*0.-_HAX( '":S$6"YM: %EMI'"N[^H0ZC+"!.30>Q/+=&6EP M3'H)I[0I&%W/,&HM\%'5(VDX:$0?UXB<*(L^Y8GH9B"$"0:D2%\/!+Q?MCEE M_:P< QKXW/4I^V8&3"6E!F;#"/BFEI_*J,\UW=4&B'L3O8H1K5 HDQPR!., MPNEP(RR6+(>>0BP+^0@) &%%5 O=F/AEOXPW5%R6=?N?/T:]E6Z$])0>S4NR MG^+>(\0682A-+3)#$=H>-%+]7&,O',[?Y5!7QZFDU!@60JS*X3]&A1V:'_TO MITLK;,L[QN&(#PQ4/R.L,7%PQ MD:V$J5\# 5S #%2!Y!"FD\#W"-.B8S$8:1NT0(,3)_+25"E,2P$$FY2HJ&1( MTAH%H7X;7$&E8Y*>+7I7(4 #M=MVTGZ#FQ9UI'A;!%A:FQ^"92,$I=#,1$AH ME$&A^16=P2DY6MQAV;.QH6=3AUZG<@"#**=T8ZBY-*+^$VCMX$T'V! W^Z_Y M$, #PSY):2H-J:^)X"K$-W7.5<>'^!QPVB:!<99Z3?>Q#XE=[DRDB@UX.E;_ MC%EM+\9-,3004[()#($@ 6\TG*(#4['JR4 #M@;;-GJ6F63! $/"PA88.C- M'3QJ>FQI^02^5QI6I$:U,+;JPA 8N3X?7!WY82?=3@F(:%*?!LF?-/814@9/7NN:.,,-533U0]T6+ MU(>N8ET%]1'LM-")T69Z;H*%@0 BZ'$:LK#%AUX98V#4U*0/8Z.1MX%V=ZQ8HMVDIV\(",)H)=V[D7]Z*'K."RV8<79P<4R8 " M=,!OF$YP ?0]Z^DE NIM(YD#_N%0E@:E,4!?BXO!$%"0H(P%(I&>Z3/E\PT_ M++9-A0G2Z=S 1.;*KL&28;*$0+?WFE:FR%&6)ON8=Y05=(9R2K;RB'BMIIF\U%R+;7?G[\B;%5FSE@!SR'I'L0+QD]">.J9R( S5[P$J-/! MFH_1OM)M0ZA[N-6F'Q[$$=:Y/K Q< 68!-)^"C*K MGL-ZE(@V;,%A$P:+P-2=-2U<-IK=*RY,&.@2S'1*A"$_EXN%D?#0 ML\0$J\=N;ZX6&^:5N"M2%*A,2"#0-[_PBC*S'TV/10_'\QB.I04'M^#035Z' M"AF -X1 ##[+AHPV@H!6E@1*L 7O$JI!6\2VX)"@8AS5_1CVNX+G;TO<,92& M>,/6RH+IL.JH>R;DMM*8C9*J?.U/4RL2?D9+:,>H;96R#V,7SPSXT.NM ;*X M''&L0,&7TA(/74T<3RZGQY5!^.=I")(_0R2 \820.O>JTI W(TQCMQ0)9"LP M7/'Z76I!V[&C\E6X2<4HY+K" 44]6Q?S'K-P91CA4ZW)OL6I1\J:)SV;=S0I MIKSQW4T5X'/G 7]XI=QMCD-,: >GK:$\.D -3GQ.TOAE(FN M[%_^KA,:?&=P\$-.TUA;);VF)UQ\J/"J605X2SY2(*FR'B&ZS!=S/$VQ1G%F MG&NX?"M(H2ABN=L?#:Y'G%&P+UO*L1O;\R[?C#Z@H2 M/\.AC[$@87-2AJ7V,T0&Z!WT*YHG"*\;Q1@&FGMW-9R'S_UW/G("3Z N\>"@ M9KSK&B!7%GJ@VF99"[XU,C2[0N392M6%!@GTA3TA3=@9KG(>7@)? ]0Q\:N12-TR%QK2\@G M'.MS2YA1_QFN&B'@Z'M24[;&ZKI,G!K+9FN#6R7D\(M!&J^+7P=C>@%#@Z:" MD.-P8SW NZO"%>+*B(&"^8IA,)!* B 22F W"V=#.E&GFU)) MK[A^3\[&0:XT"!DAN&&.*G5?1DV36SYZU)0K\@IT6P.LHX!S$+[?I>'P_L5ZV77"=EJC(/Y0IAI!3_DO MC2 P'&@T9%A(K&J)*_\@6O$G1@/C6D+L@7'3!R*?Q8+J%A9$\(?W'J59[1>> M,[5UX1+(MNBXW(,GWCQH &] @:;BBD']+2]?)+NI:-BN-#=X4T=*S[KD@(J M@$ 'B$F+.LHWNN0^%;Q!!&ZWG8GV(NREY59<8I*L/<19]N#&V2\QGD:Y$?CJ M]-'(4D,(&-JFFL?'/J-J:YH\2?M,V[YG2*6$:Q/*V4#!M2Z/NGI-S&S\^-UR M,ASK?!ET>>Z6%H*LUNR#P] MKI^VG;VNP>F]MAA*2A6#&R<$R.KYX[=QQ)*V5X(S5<\S)? MM"7#2U<=&:]_MN7N1E0K)>]Z%X96GM!O6I\J<_WFL1=40!!P EF O-@2IMXE-J4C$(]:^YCR7.,L1_BCSB6P@HN4'\E!@G(-C1J5?#/EUN$5 MTUT[L]"XXU'R23GT4!,XZ_6A5H;= [\ ==2SEK58SB/^6?T0VPOQ"QZJNTZCA)@%^L" MY?@"A;,[J;E^XO=_+RPQOZ%[WW?+4%"4ABYY$/J8G_A 4S1NNH S 8B.EC(I M6@N+]%>]GE;U& ZJQGJ0>K]YJVBS) .VRN2X+CI*@\?,ZH-K196,>CW_YL)U M&X#E)TK=0GY652?@#(MJ#8F7*TV@*0\?#BC-S]%P >>!^V8/P7 39T\H"9QU M6M"[H.0FFBWO#0\1WLOS!TLH:OY3P7DB0!\G"G&?]B1-S*@R9TH,,E:NUV6G M%\[W]1E:8T_ A]B:;\:\EP,XSXSQ^D_/2'0^=W@0 EDZGX:81\1%?D/>3G ! M/A_&EJ(#^E.?L-H->2B5P5V'WE'['\ELCU_LYE*\-D]':J@XR D9'WO,9X'9 MI\5G;/!-_R/&,P-ACXL $P!6?QMO[P;"N%CEFDP*S+"[346+S"[#!^C7])L2 MXF_C;2&&U8NR#VQ@/Z,D T2\AH=OD@:[)L*A@[DF;/T*HT-;V!\##+>J_ /< M!E)*FXYA15EJB[GSNDJB0UO8'P,,MW+XZ#A*,3MEPP$/PB:G9&R<)WH28HUV M"WV<%)18ER%NLJ3*U9%#0:HGB./V0"=H>W1S18;(Y?@,;^,)G+T+>ZVKI"[1 MIHBRU?:&#Q>W8I=5^OEI],FHT&@-)7?^%,$=J/L'LN/^Q6T>5>QZB))Q,@E+ M"XH(T8WYW)IV@VP1] MH +):9YE(-K%VH2+!YL+078WHY40RC5/"+O_\>!5#FX7,5]W4QJX(-]>@*&NO M[QASMZI^OX_9%3^1^J^^F\\L$BLTR&4X0)>5VN@.;2A M*,IE.$"7$4(/@ &@[U,7?8?V>N>,GP2I+@:QRDXX50N%'7:/T!,ZW:[&50\' MZ/)BP*^#QF1UQKWVU3-;D$0!W:G[@"B0"IKDI>O:Z=$H.)9]DHQ.J>8(9_':]>:A7\D1]NS5.U!V< *G5SH MXV2?OPS[56'[! "U+,(%_Z/NP[CJHPO[ '4$_2I(9N*Y!-.%4:)*P\X80J4G MA6-[!HCP7,",,'.+(%9=A0I"4&"BK3'W#/+756( W&>=F8%$[R>YO#:*=8:F M\][N^]WY=:NX%_K9(.C#0C(3S]L(EBZ7C(^-_Z,GCYMLK4E U884S5_A;J8 MTGS41UU4V(P\2P;A5C=$\R0RW" +B,$DBZ[M<6# MD,MK [ODB=$=]"6_R]/!=MAD=<8SL/[]>.U:L_"/Y&A[EJH]*!M8H9,+?9SL M\Y=AORILGP"@ED6XX'_4?1A7?71A'Z".H%\%R4P\EV"Z,$I4:=@90ZCTI'!L MSP 1G@N8$6:XTTI0[Q.!O'MG\NI(RXL1:H ,^"*;=TC:A!GP13("#*@!-6#T MHE[4BWI1+^J-(U*@K,P0L/Y'2LIJ+^NZ?;;SS:.,"K4*]/!H0^1:8$OBJI8* MF628I/Z;R3C^DQJ]'AU)CV%ZF+#;%973$ ]>RYF'$^>"O,6WK),;(4^; A8=.($3%O7< M@#G&2%-++I7$/@7 9G*T^G.XOE68Y5#V=[KW^2S!=&"6J-.R,(51Z4CBV9X (SP7,"#/<:25, O4V!DB77>#7=_Q MJD$2L"OV8&;\%WS#[BPAI[B?O M.R!*2E! ^P2?X!)_@$WR"3RB^R!?Y(E_D^WOSA$_P M"3Z!#V0>G^ 3?((*4 'DY0J@52>P_#J."E !F< MS.,3? +JR!,^P2?X!#[PX?TC:O\CEMM72MQT8Z_0P)EZ'"*5#^0)G^ 3? (? MB(XLZKD]_GA"(I/ "0 +HI^/U($VNF6F_Y'B \C#)_@$G^ 3?()/ '%%_DB M7^2+?'\OOLDK_26A .FE#NU:R>W@=4#"1+22V[$BQ #J*2O=1T64GLN!*1SN M*FD!8@#UE!4\T$C:4(:]"BK@59"7>XF-^[:LB!-B( '@<$7T;YH#9M&ZV9;8 ML]HP026$>)R@P3A<$?V;YH!9M&ZV%8JJZB 4W:"1&5)*H$@]9]D-<(5R_EKR M ,, ]\T^\F4FR[@B'Z+95Y0HH]IED#+8 K2/YE\;=^&&!/:7ST.D!#G!$A5D M=P0*,Y =O]80?IS8)&B 4'12"1HM0T4>,#(7]FPQN^[+\G-]HQ( >S',G9? M&@F_.1O,^<#.IE9R.^Y@VS-/KP5YX?X&_UJ0EY-O%*)?XFK<>2A2*=W!F*ZO MO-:KR1I[%YV7QMA=S66(2-B24<=-[R%U"$VH(H"Z$E?G8>X%HNA*(V:(5M1CN%*] P) M2G9)#:-?'2P"..R%U"$VH$J"6J1H0% T$@E:;0,%'C#R5S:L\?ON2W*S/2-2 M /NQC-V71L)OS@9S/K"SJ97N+_!OQ;DY>0;A>B7N!IW'HI4 M2G1>>E,7;76H"1VPKU-@7(NWE$OZD6]J)>.2($?#SV*P!H2\O1,T^:!D_*!( 29?6YUHO=D MN)[QQ-:0D/_DND,M*7/SA 3D@J*< IWG0A[R;<48B"XAP1N3&J G!\^AW_BS M1WE/>>"DX $T)RG^'K) 17*B\P3%2F",!V-6C>K&::&Q_3%R M!R0 NWI4+U;(""Y4WN"X^RC'!7Q K"K1_5B-='8_H7SA M( ';UJ"*28$DJ M&8:>ET8@ //8U:.*2((EJ608>CX26HFM9;089%BH@.M(QU9>E?[T)5PW1 MFRH$R3YQ@D2.SAT6*R ZTC'5EZ5_O0E7#=&;*HB$/G&"1([.'18_(#K2,=67 MI34TA>-$7( /E&'5(.P9BF-[8[,K;A2Y!.)F.J/?%AX;Y+YB!. 9_2P"O04#Q$+U6"].? (GW1(**2'A"Q M3F30O,Z'PT80O>2<"N(#W# Y<@ \@?2Z0 E8]&6@D[H:QK!)5C^%L&!Y% M^JN>#)!V3"0"N /$&-<8,-/.\8R8VQ0(Z'7HC^CKD47Q.%#PQ.@<(U" 10! M)K"YU^K[BZPXFZ[7EO\_1V/#$UM#0OZ3OU>U AJ4Q&]@O.)4X,2,KQ"K^P2* M(\\2PFK',^J&;Q#I*)/^8]LS8-0M,)VZP)6?:V!^?1%$\B>%]-6"W9W;=SOLW_(S=[;Q_PZ '4\H7WWU1JL3V M\W9H4 !3X(@U=^:";]0SUJ.Q01VVR.\+X]CF^V.HQ(<,R"NRP>]4V?$1:^[^ M)5$OT",-]&I^N2JFAPS(*[+!_R5T2Q9+9?KO':E;9('"C>#;>T]'K+G[ET3- M\,#NRE6JF")2W(+BM 070 %@&O1A%=<0E/!+ N "+:$^<8$#; M>T]'K+G[ET3-\,#NREJ%(I!W[TQ>'6EY81'/ M36 \/@'UHE[4BWI1+QVA2.#8RE[A1!&%VL063 MT/+L=#^3+>Y$O\LV]Q1?Y M(E_DNWOSA!<( KURRKAVJ.D%: 7$.&.8$T 2L0!.@ IF'"3B!)D $\H076 *] M<(+/(%>.65<.[/8J0G "T"!8_;4"6#F20!-P HT 2J0>9B $V@"1"!/>($H MT"NGC&N'FEY "NAB\8 KTRBGCVJ&F%Z "O7+*N'9FL5,3 #K6 MQBJYK,> %R #X$:\2@!>P KTRBGCVJ&F%[@"O7+*N':HZ07FA.@7,:X>:![U73AG7#C6] !?HE5/&M4--+X!YW'LI M/2I>P OTRBGCVJ&F%_@"O7+*N'9FL5/+,!08 L?LJ7^64<>U0$P20@&/VU"U: MSLH\3< *- $JD #TU! 8M0D !)2 8_;4>T/-+PN9IPE8@29 !1* GAH"HS8! M1+)>.65<.]3$7QS\F#UU-\F!,D\3L )-@ I07RI)!1( $W "38 (+&!R.&IW M:@(X4<9I E:@ M"?RI!-!Q>N64<>W,8J $W( Z3N@%#4?,$"'C)'GTX[,D\ 0)R0!PF M=0.&HN8)];P]ZS"I!(HE> RT@3"U4Q, "-@!NE@UD#0580:, !V@ LZD#:2> M)F %FL"?2@!@R]&F(*Q^DS18%LH\F:<,O[(_E0! 0 _HE5/&M4--(>%H4Q!6 MOTD=+ MEGLPS!5[9GTH (. ';$^DO^K;BXS//$W "C0!*I!Y%C Y'+4) 0 M@5XY95P[L]BI"6![H08RO'DZ#U6(S*(V\V2>S#,%7MF?VJD) 30BE./]']S M><@\3< *-($_E0 0CO?E/0^J-TAF)I!Y,D_FF0*O[$\E !! !/CO']T+DID) M9)[,DWFFP"O[4SLU :2-8_;4FZADN +E(0$T 2O0!/[43DT ((!X2J!C]M3% MP&!Z:#@E\S0!*] $_M1.30 @X @&[K*",@\3< *- $JD'F8@!-H D1@ M 9/#4;M3$P (0 +'[*F?W%>XO3./$:"2?VJG)@!*AQK(<"3T_$9P+F2>S)-Y MIL K^U,[-0& "60 *S6:>##F2?SE.%7]J<2 A8 D^*K.]8]QZF=FH" %, MX)@]]=ZP2.G"]LX\1H!*_JD$ *:P#%[ZKUA5'2'G9%YJ"^5_%,)H*?I8H#^ M&W2097@O": )6($F\*=V:@((5JB!#$="K+";X>RRR#R9IPR_LC^5 .)2'.:Z MPVSJ@8 HD !NX(79"PN;D$Z]+(D:R/"*<@RO-_-DGLPS!5[9G]JI"8";H08R M_*X1\4Y- -*%@Q^SIRX&!M-#PRF9IPE8@2;PIQ+ #N^54\:U0TT08 5ZY91Q M[4V\&[D![J3())0$T M 2O0!*A YF$"3J )$($%3 Y';0)(],?LJ3,NA9]YFH 5: )_*@& @"_0*Z>, M:X>:( ,;RAYP^[P2'S M9)XR_,K^U$Y- "#CF#UUI._N4T\": )6H G\J01@&!QM"GK78BSS9)[,,P5> MV9]* /C$T::@\(I-,D_FR3Q3X)7]J9V: /C",7OJ2ND+9YXF8 6:P)_:J0F@ M+G#P8_;4S< =R!5](J,OS*_M1.30"\@8,?LZ=N!NY =@7F:<)6($F\*=V:@( 7B _VI//9]Y,D\9 M?F5_*@%P&D>;@NRG!DT (&!_22#- V!CJ95M6#LC 8 AT-1$P (V /+B=7: M^EZ?>9J %6@"5"#S, $GT 2(@,.AJ D =1RSI[[ $U@;,,R9)_,X 7(X:G=J M @ !?8!.W &J@//10.9I E:@"5"!S,,$G$ 3( )Y @3X@020O.'"#V9NH3OS M9)[,,P5>V9]* ".1"?3**>/:F84": )6H E0 1YX; $# _I) F@? QE(KV[!V1@( 0Z'HB8 $+ 'EA.KM?6]/O,T 2O0 M!*A YF$"3J )$ &'0U$3 .HX9D]]@2>P-F"8,T_F<0+D<-3NU 0 OH G;@# M5 'GHX',TP2L0!.@ IF'"3B!)D $\@0(\ ,)('G#A1_,W$)WYLD\F6<*O+(_ ME0!&(A/HE5/&M3,+!= $K$ 3H (\N%CC%3R74EV[&K1!$,>0]:<&5I+Q":>! M8*#!"%!)*L"#/<.3-W+1MD\@_)NA\+,L/E( 3, )- $BP(,5-W5MS?P1; D) MPX!/. T$(QMP9R*?-D6$>I4"Y-T[DU='6M[+6P-,PN8=DC:!!I@$C&!X7L+H M1;VH%_6B7M0;1QCG15-$,P2L_Q&3[X)HE8+ZWE48XHQH@W.3VL\B?),$4U&V MOJX!VNF 7W@0W96[;3]50E)6(VW[9)8K8]*%&C!8/F8AVT\M<%,L/8T[1+)D M$&@":A1\4+:EIW%YK"-9#&KX!= !O]#'?9*_1O>,KI[(&7++:'N/*A&5BPQ4 M2,A4N2OX]5.5;ZH$]LI5E-O0@EW(SZH4]SP*VWWA M1/4)VH9O_8@]%&8&8E2,#(9Q9++-7?#;VT^T#?YS<<,3[5CA0XUD1&?9=9>P MK*W2F!X* HNTFCL-DMDSK)<\47F+ULBWJZ!O7X@1(2$+2'/_"!R'!M.1J84 M0LM,Y-.FB$C-1#YMBB@F]3SC,)YESXH2#CQ #;\ .N 77H 3O'ZL18?J\'A9 M&+XWM>B7((!=+VJA]^@NFB)Z=S[E7AXT89=>K7-S8$G4HXF]^:/:,UI?UP#M M= !P1O2'G5M>TN.PCCEQL9K]180T]Y,M65&,=O=!G!'-KR]&U7!3"DH-OP Z M #C#8>WXZK2Q=!,STJ!QYR&\5@[(:_2_PD6H7K4*]%##+X .^(5ZTE33RE"= MSJ1!OW7LF5:?0,09 #=YU]ONLIE[%>"2L#,-%V;06/0B*%0BV\2O3XK;P9N& M"T.'3YLBBG>X,-T,")U!*OD"&&6T$D(-OP ZX!?RA$^P)> ]RXWHF:X(58L" M* P3^;0IHG?G4^[E01-VZ=4Z-P>61#V:V)L_JCVC]74-T$X' &=$?]BYY24] M#NN8$Q>KV5]$2',_V9(5Q6AW'\09T?SZ8E0--Z6@U/ +H . ,QS6#M2+>E$O *ZD6]J!?UHMZ( ',_ end -------------------------------------------------------------------------------- Steve Kirkendall, kirkenda@cs.pdx.edu, uunet!tektronix!psueea!jove!kirkenda