lenny@icus.islp.ny.us (Lenny Tropiano) (08/07/89)
A long time ago I posted this ... I'm reposting it because it's been requested by quite a few people. I also patched it with a Mike Ditto patch to make it startup without typing "GO" and two small scripts to turn on and off the debugger interrupts. Unshar this, read the README file, and use the Install script to install it ... -- cut here -- -- cut here -- -- cut here -- -- cut here -- -- cut here -- #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of shell archive." # Contents: README Install Remove db.o.Z.uue enabledb disabledb # Wrapped by lenny@icus on Sun Aug 6 22:10:16 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f README -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"README\" else echo shar: Extracting \"README\" \(4572 characters\) sed "s/^X//" >README <<'END_OF_README' XSeveral people have asked me to repost the Kernel Debugger loadable Xdevice driver, so here it is... For the sake of transporting it Xin netnews, it's uuencoded and compressed (to save some space). X XThere are two quicky and dirty scripts to Install and Remove (their Xnames respectively) the debugger. Once the debugger is loaded, which Xwill be done automatically on bootup (see /etc/lddrv/drivers) hereafter, Xit can be enabled by keyboard input with the Ctrl-B key. The Ctrl-B Xinterrupt is off by default, to prevent accidental startup. Two Xsmall scripts have been placed in /etc, /etc/enabledb (to enable Ctrl-B Xinterrupts) and /etc/disabledb (to disable Ctrl-B interrupts). X X$ su XPassword: X# ./Install (to install) X# ./Remove (to remove) X# /etc/enabledb (to enable ctrl-B interrupts) X# /etc/disabledb (to disable ctrl-B interrupts) X XThanks go to Mike Ditto for the script to enable the debugger, I just Xmodified it and added the disable option. Also thanks go to him for Xthe patch to the db.o file so that systems will boot automatically and Xnot stop at the brk (breakpoint) at the dbinit() routine. He just Xnop'd the brk instruction, and the system just continues on. X XI take *NO* responsibility for the device driver, it's effect on your Xsystem, or anything that it does. Be forewarned that since this is Xa kernel debugger, and can access kernel memory it can be hazardous Xto your machine. In other words, be careful! X XHere are some excerpts from a Memorandum on the Kernel Debugger from XL.A. Weber at AT&T (September 21, 1987). The section on installation Xhas be left out, I changed that with the scripts included in this Xshar file. X X1. Introduction: X XThis memo contains information on the kernel debugger for the UNIX PC. XThis product, though unsupported and never released, was used by internal Xsystem level programmers in product development. X X2. Installation X X[section omitted, see above] X X3. Commands X XThe command interpreter is very primitive that is to say non-existent. XAll commands are two characters with the exception of the command "off". XMost commands will accept an argument which is usually an address of Xinterest. On a command which requires an argument, if none is given a Xdefault is sometimes used (br is an exception). X XThe command most required is he (help). This command prints most of the Xcommand mnemonics: X XBR, BC, BT, DB, DF, DI, DM, DR, DW, GO, HE, KD, KL, KP, MB, XMM, MR, MW, RS, SH, WM, WW, WB, TR X XThe following is a brief description of the function of each of the Xcommands. X X[Lenny: very brief I must say!] X Xo br [addr] - Break Point Set. With the addr argument a break point is set X at the specified address. Without the addr argument, the list of current X breaks is displayed. X Xo bc [addr] - Break Point Clear. The break point at the indicated address X is cleared. X Xo bt - Back Trace. The last few frames of the kernel stack are displayed. X Xo db/df/di/dm/dr/dw - Display b-bytes(8-bits), f-registers, i-instruction, X m-longwords(32-bit), r-registers, w-words(16-bit). Display requested X address (if applicable) in requested format. Pressing return will X display the next logical value. Pressing enter, then return, returns X you to the debugger prompt level. X Xo go - restarts the system. X Xo he - Displays most of the command mnemonics. X Xo kd - toggles the Ctrl-B interrupt. X X[Lenny: scripts /etc/enabledb, /etc/disabledb will do this too] X Xo kl - Don't know if it ever did anything, but it is not a currently X recognized command. X Xo kp - Toggles the printing of kernel printf to the screen X X[Lenny: I noticed some routines in /unix will write to /dev/console (when X this is turned on, specifically I saw this come up several times: X X *** TRAP: out1: signal pending: u.u_ar0 = 0x#####] X Xo mb/mm/mr/mw - Modify b-bytes, m-longwords, r-registers, w-words. Same X as display. Be very careful! X Xo wm/ww/wb - Write m-longwords, w-words, b-bytes. Same as modify, just X can't do registers. X Xo rs - Displays the screen as it appeared at the point the debugger was X entered. Pressing any key will return you to the debugger. X Xo sh - allowed only at the start of auto boot. X X[Lenny: I'm unsure what this does, haven't tried it yet...] X Xo tr - Trace. Provides trace. Does not work without the debug PROM. X Don't know if it will work with them. X X[Lenny: If I ever do get a copy, I'll find out ... We're finding out the X legalities of copying them for me...] X Xo on/off - ON OFF. Enables/Disables the print of register contents at X the break point or a Ctrl-B interrupt. X END_OF_README if test 4572 -ne `wc -c <README`; then echo shar: \"README\" unpacked with wrong size! fi # end of overwriting check fi if test -f Install -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"Install\" else echo shar: Extracting \"Install\" \(983 characters\) sed "s/^X//" >Install <<'END_OF_Install' X# Quick and dirty installation script to install and load the kernel debugger X# By Lenny Tropiano -- ICUS Software Systems (lenny@icus.islp.ny.us) X# August 6, 1989 X X/bin/echo "Installing & Loading Kernel Debugger...\c" X Xif [ "`/usr/bin/id`" != "uid=0(root) gid=0(root)" ] Xthen X /bin/echo X /bin/echo "You have to be root to install, installation aborted." X exit 1 Xfi X X/usr/lbin/uudecode db.o.Z.uue X/bin/rm -f db.o X/usr/bin/compress -d db.o.Z X Xif [ "`sum db.o`" != "21825 29 db.o" ] Xthen X /bin/echo X /bin/echo "Checksum does not match, installation aborted." X exit 1 Xfi X X/bin/cp db.o /etc/lddrv X/bin/chmod 755 /etc/lddrv/db.o X/bin/chown root /etc/lddrv/db.o X/bin/chgrp sys /etc/lddrv/db.o Xcd /etc/lddrv X/etc/masterupd -a init release db X/etc/lddrv/lddrv -a db X/bin/echo db >> /etc/lddrv/drivers X/bin/cp enabledb disabledb /etc X/bin/chmod 750 /etc/enabledb /etc/disabledb X/bin/chown root /etc/enabledb /etc/disabledb X/bin/chgrp sys /etc/enabledb /etc/disabledb X X/bin/echo "Complete." END_OF_Install if test 983 -ne `wc -c <Install`; then echo shar: \"Install\" unpacked with wrong size! fi # end of overwriting check fi if test -f Remove -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"Remove\" else echo shar: Extracting \"Remove\" \(652 characters\) sed "s/^X//" >Remove <<'END_OF_Remove' X# Quick and dirty removal script to remove and unbind the kernel debugger X# By Lenny Tropiano -- ICUS Software Systems (lenny@icus.islp.ny.us) X# August 6, 1989 X X/bin/echo "Removing and Unbinding Kernel Debugger ...\c" X Xif [ "`/usr/bin/id`" != "uid=0(root) gid=0(root)" ] Xthen X /bin/echo X /bin/echo "You have to be root to install, installation aborted." X exit 1 Xfi X Xcd /etc/lddrv X/etc/lddrv/lddrv -dv db X/etc/masterupd -d db X/usr/bin/egrep -v "^db$" /etc/lddrv/drivers > /tmp/drivers X/bin/cp /tmp/drivers /etc/lddrv/drivers X/bin/rm -f /tmp/drivers /etc/enabledb /etc/disabledb /etc/lddrv/db.o /etc/lddrv/db /etc/lddrv/ifile.db X X/bin/echo "Complete." END_OF_Remove if test 652 -ne `wc -c <Remove`; then echo shar: \"Remove\" unpacked with wrong size! fi # end of overwriting check fi if test -f db.o.Z.uue -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"db.o.Z.uue\" else echo shar: Extracting \"db.o.Z.uue\" \(21625 characters\) sed "s/^X//" >db.o.Z.uue <<'END_OF_db.o.Z.uue' Xbegin 777 db.o.Z XM'YV0 :0 & "BES(% !@89 P !T ' 0 "+ @84(4M!(ZP&*Q8T($%A,D=$&G XM#)Z'%D%^[(@Q(0&+/CA:#+#-(P@79,+0"=-19$*?&F7"L C%G,=;'H&X$#-G XMCL<$&P% E>FQJE6+@*YJW<JUJ]>O8,.*'4NVK-FS:-.J7<NVK=NW<./*G4NW XMKMV[>//J10L' 0@^4@$0$()%"";"4P I 60&P#][(_)9Q"4U@('(%DE45N D XM%P"0C%SP2/CAGY,X$_A-[.BDCI(\@0F<2<C9,T@^K3$GL#Q9=P"$"4FD7FUQ XMA&JKK9U8^<=O. 2+G9QXR:T:I*O>U0&(RMP: )\# )"<^_>/R3?RWL$+.?7C XMC6 EZ\ &! /'D53SI_7@!)/P(4("B10V40- 8 !L,%0. +HR70@"'^B0 , XM%H_XMP U K22T!__ $"$?P$XX80N_T!H&X#^*<"/>>2]< 4 "K1'WV=05#@' XM%5($,401(. 8!!0-* "<10J$40<=;_@ PA%/(%3DD4F"L 01""GW#S!(N$/> XME4Y0\0\L0B@VH$6S 2"!$IY99" "_J% R6N?!6!#F23,<%R<-C 8YQ 13OA( XM@AV! 9\:<"(0 UE<F!G2H?J:2@.?5(HJ "VS*=G @R(:)N$-<(!!0CYV>:7 XM$H.X-X 0)B!AP088;# 0 ""\!P(# P! 1ID2T K '64JH&L;C1W*P$MR& B# XMKF08F*EM%PKZCPWK_;JF"[S,Y-\!!$CJF ;# @!L0CPLJF ""D@1;:UW&"@! XMM5O^0P)@"!A@P:3@2/L1M3.]^YF\DR+3;1H&6H!L8P)XLIZ^"#3 PZ2L="N& XM@40,K-'!\#; S:20Z)IN0A2LQ^Z6"#. Q:1VV"L %11_)O*D8G1KAH$42"P XMI,Q2(Z@_"[VTL0 FG+NKNA^3AW !>$QJ@KV?X=O0T$7#YX"N#R=D1+?%3GP* XMP@G@(F@ \G0[AH$.I(R HIL[4VW= 3+BYX)D?%""P#0_-D(Z C:CS2ZH@%S XMMV4$B\FE#&BQM2^ZSF$@#=WJ/9$?:'94)@;&706H18(" W@T&Q-B*YI)R0P XML<$2 8"& &3E8>6JZ+J&@6ITF^Q%"@RHH$4"=J3LI0UHL#4/N .PM0S=PF&@ XM/E*DF1 #QDMD41N>1VX5[C)L'5^##5A1.3ZZGF&@#]V^8: -DR<DKE2<O;# XM>D(0XA\"N)1!6QH)&;#"BT#4R(26Y $C76NZ>I^0"BX#VZ)^H@ H"(H?DNB6 XM&P2HFG$5\(!^T%75 , $JBG+/PQ P ')T"W#)40&@"(7$]H$ O\D !(A5, ( XM3P2" ^:I00Q8V =UU8+9^ ,7 R2?% #'@LIAP'SK61\NG"");]R) 8+:!S\B XM]8@DPN,T)<""#J(8*P"X+R#P"P 6K,2.+"F _]@APG<PP$4S(<$7?H2"!8@ XM ---)%A04 (AU. Y\^&.'GVJD1/T 2L83*"-"6D1 .Q(/7WTR8@688"G@L". XM+ZTO0*5*"#]>@( @BJI]GH,? )0AQS*A @07L $@:N0L2]2("HMPEB/<!P!: XM:%(77/0B&,5(1C," (U>@L4: =D0 \E"CG0$@ 4(*94&X'%3P- C'W\X 6(B XMH !P..01%]E(6#R25.X!@!DH:<G/L(^5%- D#3J9$ F8X!*D= PH:H2%5#H& XM$S6ZE ,$P$0G<.%^7PSC_NJ0SG_ 0YZZ^X@\55#/.@!.AI\9*!.=!<LX6 D= XM67( #OZ!#A(TP01*2".8!I$^!A B)6Q(" <@,)H/V28!9( 0R0$!B8D R5 XMXX)'+0*!D$*$I (PDM5RE( H."EE</!3!,2 9MJ *=0V.EH^'12F'H.IU-0 XM*@"D\-(7-+-!#K!!'A_!R"]YZIJ1# \W3R%$<&H2!4JX#@+*I(-S3H$065A$ XMC:1 B'8.U4S,^X<,,)H^9ZE C_=TAT0INL]XPA"A!7R$/'G0)R5\PEG6L!(_ XMLB08YFC&! 0 1),F+$-E0D(#/E,F>2& )1* !A3$$1H&P SG-;F,Z:MEN\^ XMH@1!-.8?PK"$(.Y7V25.IPX,$ 11RH0"G+*IJ3@M(7)'<US8DD$*@IA"(IQE XM"#@< *B.T8.5\)$E 1#@'_@0@7LZ!@@A"$((@9! !AB@(!#,YC'L!4 #RL2# XM^,* >0!P07QSD,V6*2@(^/5 ?(V032H(0$'?B"^ :3/@; (!#@*H' 5> 0 XM0*"V:X)# "HW&$#<S[O@E0X#W"B -0%@-/1T#2#*Q-+1A*@.7@@ 11T P$$ XMPB(/2 <@H!$(.FS8,6BP$CRR-( !^',^X0. ?BPBA#$EA$+W*[(_]YED\?QA XMB<:CX#=^X(\F=V0Q[P5'<NIP&E9:0I.@V&Z66 I>?8F$ #?Y#"_?F!!.,$ @ XM"+"I(JB@""5HXK;ZR((B1."&SY @&32(A!1@\V8W"^8% J"!!I @#$A?:@&> XMV*H2A% FC$JB3!IX@0;X?&EE;'4*0G"6-[A0-L=@@P0?N!^;\;%/-;MCULX2 XMQ:6A4=!+:TV@#5H KY&IK7_X@I5@T"07K$2/+!& ?^@AZ,)0 (7?,8&&E#" XM$!Y'"TV4205\5H(J_J&/][)C"D-PECDN30XFWN_9T=ZGH(6@"2%H80J,%HRS XMT+'K@OXE-C# @'F%X)G= $ )0"@3#)0 "3J) LPB,84@#"+=@ "& C00)& XMD(S*S/8?W) !+T3D+&IP 1'.<@:&7=*:&5C<")5Y">E,1X3((6 !9.!.'020 XM!]/M1C8?<8)DK". *W#H!0D0 :,5)'(1B> +_@$ (YPPAW^_.> B@!L0JA ( XMA"N<X0['@@PPD1A9).*VZLBZAVR<D*S<EALK2,+%2W[RE"?'"@F!$[F@P.(1 XMW?)M%\<=(/HT HM7V"?^<8 X:HUW , ! H '0N$O'IB<&OX%($C,8FZ+#P@[ XM 0V4!#P/#' )F@;A\AC0/&,<@X]+*_<S$JIU'%C)"DW*(I;NR"<M(6)+7'X) XMF'5<P!VWND=80>"/;OR'I81?2&DFDIJ.%!4D^SO6LB8$ IJ$ 2@M,,HF.H83 XM<W7G/RAA6*G,LYZ!U7UAO7]DK 8TH5@E*+$K9-##5@X!"IT_0UG)!TWBX:%9 XM(F"$E4MQA@!S%@ &H@0CX Z?47DO," ^ 3@6T">))PXUTE6P\%72ATT)(53/ XM,5^.X0SV=#\"B [[=&F&I'^.00XHV&N'M5".(0RL9 B:) A6@B7X<R4D4&AL XMDDMT 'D*,'S(5",8Q1, H >IM7*/\8,0D"L) 0+XY2L;@E\&@%,N\%)2H A) XM:%N.P0T8J('>-'T)<30?^%YI%EA;HC^_E7^PYR>M<5 P^ _48'4,H $2L $0 XM$ "4&'P@ Y %#H61-=6 \ " ^!Q2]7JE10;)X5#+P5T,^%W\X )J=2D' XM<(7$]@2\)8F,YT]9,BS1!F$N,'BZ "$H!EF@ #XD@ ', -@( 1N%@!:0P%P XM P<%J"( < ( ,J !^P$ AG@ !%H X P !*( 5F@ ['> 88X *JD% " )T XM1 !. E8H(GN (IX]%LN4' !0 %] @8F^(B4)8G5IC+"!0 <\@82 +>E16S XMLXG,L4_N" ;RP&R4!6WX<(X(8 >^0P'AL @@D&^.9V$08 B 4#R5YXY)R!CD XM (#P%OZV(G-QH#Z6(!R< "_* 83H0S0 0PL ,PX@3[0!]*D!W/P0%QXR$ XM 4 P 4 8 @ X V46(R6N# *4),,8(E"$"G86(PAQHW7L9,-<@!( ;BH).6 XM:$#6H)1%F05@H PZ"6'S,2+_P /76)4D@@!9.4A%*09Y] 3.H@JB2(K_8 &: XMX8[*<Y;A,0A(, P&" +< 8$ =L 8" =W,(KN* <,( Z@D)' $ CS$9</ XM0)=P$ 9X"0=N,TC6MI,#8(ELT"=/\ X 0 '.(@5QQ@!R0 ;F1 >"9(BR1DE XM:0 G"0 % ", X &V>' X EE.2+^H FC:(F X"P2 <$,(JR:0B\J0O]8 S. XM@@"QJ0O^0 >_V66U692%<#/F4)S^H 5I*0!K:0%M^99Q.9=U>9=YN9> T)=_ XM&9@',)B%*1&'69>*F9>-^0*1692.0)F6"0$WHPFZ"0O7 0%GD)<"\)O]X _+ XM*14'$ HW8P>K> "E 8&4*"I$(X X ]F(%E3.9Z5""O6A@#F B"29A*!IST XM 7Y\5N258#L @M4&'$.0#!H%9I]1EF8 :MD\:9I\L6I<1!@\0)J,(8 9U XM20!@0 YP\ ]@(&;D&(F65:$:1@N,H4AB((^^U1H0AJ0ZJI=@P ZZ":7;B91P XM\ -@X VVUEL@4&@, $0@ 2 @ 3 \)^LV H^^:7%&*8 $#4 8 4:IADN( C6 XM!0P36H 7FJ%:V0\LX*%PP *\>2*H4*<8F0" R:<4^ADC2IX;V@\"X*%,2H]@ XMZJ;IXJ(1IDZZZ2R:@(_N0 #?A0\%N(>.8:::X68'8 MP\ =(^@8N*0A;DE^* XM4(#@@*$/,)CE@ @B !B[\4,Q !*6N MA.9"5%P3P@ +YA0B6. P^^6ZAND\8 XM)@NHF@O%R0\B\)O[ ]5 B:X2R8L%UZBJ'C&0AR$ "_:"!L0*NVBJNZRJM: XMY *Q *Q%B0P^>:=JA:8'\ SUNI^DN ^\@*V*L*TERAS$ZA/1<*;*6I21E8GT XM6*&U*@>W&@BYNJN5@07P*J\ N@WU&@"C:*\)M:@6*JZ..B+[X @>"@9#M!S\ XM(*(8.@#L2K&[4:CQZI4 &@X^J8I$<@8D<*B B:_FX),UR2; ^5._59SZ0 _X XMV@[U*JB#1ZA@P&O+,60,"$;TP+(9FI85*@>(*IZ#B5FU=08N2@!6JF%@@ %' XMNF**- !("K9P4 !C&V%Y20#(Z@+J YP04)N/:8GQ$)95"@AM( -P8 !(Z@:" XM.@B6F ] 2P@>BW\@NZ?CJI7Z8 =@@ -TN[CS$:Z*.B+ZH 4>Z@*#\*2 X 9U XM"5-Y&0:6TB @$9:\1;6=*+40$6U6.ZY8^QE:FZCCZK6"P+9BRQAUN6%F&P!K XMF[9KZZ)NR[L0MIARFU]U.XEX:Y.HVUP(P"E/T+=MP .!.[@V4+D2^K&8^[@; XMF@^DT+F&B[H0T*Q3&V_<^+D",+BCNYBF2[,)@ 7$);:BZ?<6Z&..[*ZD ]0 XM<+*P%+7.!FU56Z&DBB7 ,&(6 0QFH"19N[5RX+(2VZZ5@0DD$ <@H9-(L$.H XM^P'TJU::JP[O)L -^QE["L$3ZZX4;,'YY<&ZH _H@*T>T+P,D,&7\A_P68P\ XMR[6!D)8!8+\(@%D%J Z H!( < 86X+F6AKHR$);.0@A?"V=PVQ=HB@ ^ +3C XM*Q65Y)/.8@5"%L#1MH/%&+2:ZP2:P09'[(W@B$PAC+Y.NKOY69SW@ V85:>: XMJP6C2,.HFP3T>\7Q&P5+.ZB?@0*HD*4^+ <\<*Z "[R,X1>\RI5@0(OKN\A6 XMAP!<@*"3# 8ND+!87 7AF)."\ (5.B+Y4%=B"61=_*D"#,8,(,;[ZPAE?,:5 XMD<9MN,;;V,9KJY^_>0\8,,<VN+^T6:8:C,5CP+<_4,B'' AFD,A0RLA8[ :/ XM#+JI.,ER8,F-3*":'+]KT,EU"LJ?,2+XX W7&*B _!^%RL<(D =:;,I#^A*6 XM!::+>\=4E8GOYAA-2F;+T44,R /^Q,KX@ J:L;A W,"V.YC(BK,OH0#!2,>Z XM@ ^^L)@@\!QD:J8R7,-],*R5^AQ]PP0X"QYSN<J&2P UW)P2@+.U,I<<@,0@ XMC;J1H+KY/&7I^P(IC<71,81B*0ZC:CKP4(RF PO:M,J$P)XUG I@P LD+9=G XMX-- C;J[ :%^M/MB<7-X"R<@'LGML\L? ^\\,_;^\,@6[LZ7-#6=M )W<OW XM( T.#=%E>J: P,U$B<79,*P$C-,ZG1 \;08>#=,U' Y@,-+65M)G<-(?7</S XMP-)5_40O'=,)D %@)22]<YKW2 )$ '[^IOTH N4C0AHF@ >X).=.(G5DM@B XMT"=P<*OW^MA2D0 IP-D@NL[TK,HNH B7D@ M +0L; ]X,,_SN-K1]HFLY]JP XM#=E+G(DX*Q$(C0,XJR (_<.\F@ W@* FL-P[P,KVH (NL BQ_0/FRQ!!V1K' XM#2/!^-RGG6X& -Z)?035'=M+0-O=K OU( Y@8 RG_+K25J%XD%^?G0"ATH;^ XM" 8^$)=%/$Z$<-3BW+2!C IX25=W.@@=BP"V ALT+ZE>[JG'<]MZ*'B( A2 XM\+D0T.!M\*_W?05]LKIL;,]A1%GZ# _^B *C43J.QZ\C,@\DT(MP@ .%# +G XMR@)T\ !@P @0 # 4 CD H(*0Z$4 6"4%MN \^MN,]_N/E@ I#3@A48*<0 XM@*1MX XJ, ",Z<.(R9UZF=E9<+/61MQG<*TL3 \^RK1M4JB%()OVP%LGOD\N XMT.;&^9QJ3JBL3 ^R ;<8&OLS ^^'=N,F(EY/JL"K<.CR 2 !L8 8<D)@2 XMGMAIP-)_#J,PM7C+49&@VF9@FN=FH!EO0-V]3 ^8 ,^Q[5 TG><<X*S;70?= XM&,OA.(Z>B,I?W.EG3@&SBP!>G:&8908"8 <(4%MO0 0*30\R8.J0C<ZISL<) XM$ A_3.#DS,KSP FT+.=H'.M=*HFC6F'_8*J.QZJ \ 8L!:OHL8H)T.;(M,V0 XMW0AK>N@9FMDK+<]$6L]^WMJ=_MNG_:V9R #7H62ZN%:^TN].\! Y:K8NK@OP XMX N9/=7R7NFZ30Z?J,\5=>^Q/0J338KPX >]^$R%2)=XD)YX0 8@4 ![6(MF XMZI> F98D#P0/T.W T.O,G-@&3@,:UN#1O-RL 9',P@K<?.G#0M@(# \'R<^ XMG]BT0,VGC0NI@K,),9<4<-X"H%(1#0R1G@"\L-=U*O5I/1](, 6Q#=_(5)G% XM>#\Q1%BZ#5&?JL_LH,K;7CK>GL.\[GA X,/("@(]K%:]^-JQ/6QM>(V=I$AL XMD-G5 8*\.6FG=C8X)-?VXR%0)4;^@Y>T)5)?=K;\,P'_PY(4)N160"QS0XW XMS #OIO:=B,^%S:9A.J9IG=G]</$CX@[\4- O<9YVD)YV(/($4/+A 0PH#PII XM>?M !)FVHMGX -9/P!3'^D* +W2:[40W+%;?;GX*[(:VOIFS0/,/YC.[\/0 XM3\+2KY7NP J=*P@08/Q;#[\*4+XTS>\)X03_;@8&_YON8 1HJ@ 88+Z%W8D0 XMGXT2SX^J3-X* )V0 '4-PPC 81 ;@H 9$_B[1,LL 2FP" 1, %@@"-V / XM2 4ST@.^0P!(@4) "28!&] 'U& 3.,"15P$ 0Z8*H2@1_4X,, ,K 0A<#9J XMCQ_YHR*@)1 !"A@ U*T8K2@*< 8NC"!@ SQ. ! !;L7H! )& !20,LI !E5 XM(,:4&_@'RHJ>D @TX*&05=E22PGA 5 8.".T $@:",M3V@<'-N"#N# $KQ/ XM9T !!($:* (4@"2P@0%@,T$"0B !C%\@0 +! !($@EY$^. #!AG@FSD38%" XML!C<@#M0 @, ,;4 ,. !.@D)>"MK$ IJ !B !,)#(4 "Q< ,Z@*_)0"\0..# XM ="@$ !" X<-0I\^T6V:+E2!,01PCI"( X DR;U03M!I@0D0#!B2$>.,9@# XM7+@8WH BN0FST,"Q U9':QY>EN 8&3B?88C8)'02N6 !G" "T I$T !. 2 XM$ 24!@[( 2M%!QK 7H,#;H ;*@ P0)SH )02 '0@ =2I5P0'2@"4L@=VX!_< XMP&IX#2F-.YIZ#*#"8($S0 0*C4+P.B@@'P* $G &8D:%(0(&PDYQ+$!@!N?# XMCP(#*J =CL+*@04D8C"\'\C0[+4&(7 )'H]#9%PO8 /()AD@]I ("Q"(8\"( XM"<0YH!(K#!XP RJ (WI$Q\.CFM(F<!:L (F)1.,D#:X1/<2&PL =O1=5X"Q( XM@$5<<\ZBBJDLC!2>H $@H%@5QA;]JMRWAP2%F>I$V("R\($PXH\TS, B!T'K XM4B@ *J#>VAJYT"Z9:#--@:$$9BR +5 K;@ ",#VYE(H8 ,_[ >3F#:@0!K05 XM/9]06F__@ Z &750@+P (/A-_X ,@!EM8 *,U&YBB/%AD R $3$ .-<3*%&? XM 0M\KL?H^-@3920"'DHSS,4%<%M,@0H0 %L1B34(!3 (;I;R.&HM@%<I $1 XM4;:&&7!'7> PDB)_H _ C">33?!@\S" V$@^%$%MG A"@#B2"T9 4<J2AKE< XM B W:B4!( T\% (31&; ^BFCA4 H&,66&L;BE)X*!8 *Z+C;4H(>L Y=L?R XM^!VG(SQY LAJJ(R([*@>H>.VFHYZP$.) ' =:0!(& !&P8"]#A><B6N8S5J XM4>[H.^J\^E@>[V-X- (>BD >,--Q(/T"?P0$?! !*$<%X B:([]ZCH-$"@H XM#% %8<7M,QWQ8$(F!"C &"Q C]MUXVI@<8/-8P3ZPN0:D"B2'US':, /HA2/ XM:D<G,B'$ QUI.J!!C]0 #-(=40'P.")DD8>2D6!@,+@"D ,'7-:4Y 9I\": XM''*0D&Z3 ="2W(!+RD@I<"7GG%CL#X1N2O*;U3@)ZM4_X 6+;!4I@$L !IZ& XM3%(3=^NS*8!0P* "]@ '<R(:0B.;D*P( Y )2V0Q7IR5H !JP!HE03BI)\ XM_(+W]B@%9:0D%\D #-B"2JE-+J4"F 9@P!1P2C.0D_1D-R@EH[)4DH]ST,12 XMI9R,!\["+P5*;:(JR<4^<!8[;E:2RE6T !:;8W "+L 07)H'4*]0P"A,*R"G XMS&G&[0@9+<5D+$5JH',=O@4P 3;6P ('.F]9<L;(Z!E+4?UX FAJ 4R@3$0F XM_P$XT)+@P#Z!G#8 #7BE2$0FY=)'/0!U20Y""C^@ @=$#N > @!&X,$J;(6- XMT<+4-Q"0_,@$ < #0 H$Z":;1XMLD01 D! " !7<2+X ./L8(&X!;5MQ/8 XMX]Y-OVQ=G^B[T .]PQF"T?@0(223"9P!&, 1B=5%J$8M$S8D!!90C?2%$!A# XM@(%R& :( %HP#2P <*@%J@&(: 'L$ 9D <DTPGT0"' :#@#V1.9^X1ID@\F XM ;<P6D(43(3 )@"&("L+,!5_"V0!P!<EZ;2'?:"V3R;:#-MJLVUR3;;IMM\ XMFW S;LK-N4DWZZ;=O)MX,V^V!<56"15;$Y *!< E*;8I #CQCF++ H 3)BFV XM+P X.9)B<Q^*#0T SC4 . N-8HL#@/,A*+8[ #@QH&+K X#S#P#.&Z/8/HIB XM.P2 4Q$ SD8 ."$!X)P$@-,2 ,Y, #@Y >#\!(!S.RBV4@ X40'@7 6 \SHH XMME@ .&L!X*0,BJT7 $YA #B/04Y[#I]! IQ Q<8,<EH500#2$W Z@YP6B+#G XM]"P T""GW1\)( TZ0H=("1? <18 := AE(?\4I_5H$.\A,^0/@%G-N@0/>5] XM LYNT"& @_Y4;.&@0X06!( !1 #@+ ?Q <$ )" #Z [BP Z2 >$ <$0 &0 XME47H$"J!@EK00 (,',!' &"LP"\@ROA $P4" 6<\8"$9@6_$$+G03X !G/O XM,VP &0 XZT&'B(H(H ,H <"Y#SK$S?P,.E0JL!F6!$1W: (P -\% ,"<(BI$ XM$<"5J(0R5"(<47T$,3\#!A '0C0"/%$3M0&DJ 'H ."%3%E1+'I$0T 8!09C XM5(BZ@'U0IE8H!] !YA,8* $TB@"ZJ!#= 1UBAS+1(XH7GXB)T@#8P'S2&I>$ XM #2 [;R@W&6%7E$A.@3.:!H]HE @Q' $ DI 7"#&"@I(*T3008B2G)CVB XM6]$TU"($X &RPA%M!.3A-'R&4BI$)T$J_7>L](A>@E3J%$BI*34 G. ?^(.! XMMTIO*2A(I?[(E@I14I!*.:<P/:+C9I=B0%)*#83HE-0?*]2.'E%:P"7HJ#0U XM +@@108!-YK3CB@OT*9TE -T4P, #.!!,J&C$R#G6 0)ZI* J.T\HL1 @D:! XMC] !WJD!2 8YK1:M4I6T3H$!( BGX]09I,A %"%Z#2(!_#@QGR&]2)$L4%. XM,QT4%!0(T6Z0(B,!':4 $O6(@H-X ,BP4=@J$>4'.0TU_D9,*H0C:# (!;0 XMT0H@7(YH.TB@,PL!9 !\($3C@03E:9^!I0I1>R!!B6=)S:@&0!^D2&!04(^H XM/TB1P:"H'H !$ _P03! ! N5(; B!-!4@T$EE*E2]0 P@*IJHD#J 8 "#48 XM?-2L2@%R&AK]J0 J Z3(@X5665$'X*C18*P"J!"0TZ#!1S"IK,@$2%!P\!$L XM0&-@12I @H:#OOI7#P!YY H)X <H5@ @!WC"'-!%: !^L &G, ;& 8 T[! XM#;B/,H Y[8!EM0-.P2YY"_AQ!MP'&W@(9^ AL 'W\1 :0V1E=)35LF)6 *!9 XMK4AG_:RA-:2T =)J6E&K:G4?8< I3%;&^@;JFQQP#V* #LR!AR &Q@ :F W- XME0WH(J90!I@KH]L5 . -Z*(PX 9RSARH QPI#)"!G%,&M.ME;0.UJ V\ 3M0 XM!FH11^*<NG6]N@#.J5G/0'T; ]*5MI:!V> &WL!#< /--><D@#EP!\( '$@ XM): $D($2(#K@0!G@"0G )""G.X!@%2R#E0H2U@6P@0J[8$7'3G *RE5S9E@* XMFV [+(8]"1J6PU[8!% 'W ;6 ,5-@RL6/5*H#9L@I6Q1( %)-@Z, =J40*@ XML2EVQ_98%H!C&6L9F /5E;:^@5JT7)<L8RT)3Q;$-E8XX(_D !W014"6<ZJ! XMQPH U !ZO:QH@'*N5IX@7LD YORN8@!SDH$T8 ?J@*U@LTYA#@38[*J+T"P XM0+/US<Z.@2^[9^$ \^BS5L2\MH$ZP ;<[* =KB9A-B1:*X('9D,8F+/<->>4 XM60!09NO;I-5%(04&X($H(A7F !K0KG0 ! R%$GMA;^R%10&FE@BD )^2:E/ XM"@ +0#5E@ <NVH9K*REM0.1"-Q:!JMC$^P88+ NH 2,@5IKL3BGK4VP< XMYEI9FVQ[K; %ML)VU9H 3JM8?P J+92 <@*6Y'@ IQ"K$@ 8J $S %Q*Q(T XM+:=%*>%V#H@$4IMC;=&FY0@#EMQ*!7G+;LGCM(6WXC;8CH%U:V';K;/]M:(# XMP<X!?2L2>JV)3;#/MMT*W'Q+8>?MN!VXVW8@]EN#>V'O+0"@N $WWT9<BRMN XM!V)E'8A<=K$*7((+<CVN916WNFBQ6MR1&W'K;:J5N#BVUQ99E]MO6>VL9;"N XME@7L6E7[:F-MJV4!/O?FJEJ)VV$QKL,EN3LWYR;=GIMT@6[2);J\EMU*!3:0 XM!MP C$VU]O;<7ED#*Q)6KKP5N.N6RPI;RZICG<+8!;FZ2-S:V]&0< & #\BV XMZ[4,M &2"W8O+L(%N$<WXK+<?0L 5BZ-Y:Q=E],:78$K%4R N<6WZO;.F@'+ XMFBPL*X^M179 #*3<Q7IWHZ[9G0/_=L7F6X_+>55LCCVV0G?5(EA=^W.E[H^- XMNQ"7[U9>?[MZ"^_A30@[0!,H ]14#P8K , $EB K/ ").1$,@40% "< >@X XM=& 1U*EJ:@@>8780ARE !73$$DAL0R (, $F$ 2( !'03%! "CR!'4$$JH 4 XM* (H( 4D@"U =:UN#R@!>( \C@$W0 ?.+Q[H @@ABN@ D? 0:A$<M;:<5MS& XM"AY0==>L'/@!2@( ;%TX (*< 'V%F&@ZAK@ SP'5FM[7< ". V,@350=4-M XMK'"P<J "&^#+R@;>P 2&P&=@S;)?.;"!0S ;@ ,5F 3?V>I*!MI &-C <\"Y XME@&1MX$34VE] T?B %.1@<@16 (X+0I8$A, 2EP?K$ "!T"13CS0($D7 66 XM<!0)$D0 !B1A(A #IK ,F,(SH A#81HPA6O %+8!4_@&:&$U*(6I2!"HPF;X XM"IOA+/R$U2 7-L->V R#83,LAMMPK@4!0N#[!H$EX*'T&!68 IFG"% !$! $ XMJ( ."!()@0H\@2< IJ 3LD">!@*4($3, 40,0^VQ$*@^A)BZZN9C, 3T$Q" XM0!);8B? B$/Q("[$/0()H.+J>WT1<28F IOX^H( 3ZR9B$ 2F )!8 I,@2+0 XM!(0 $R@"EEC^2D49, -H0 VP 3< !^2 (" $A@ 1* )+= @\@2;@B)T +"X" XM4D#[2@%77 6,@!' QJ#""F!C(\ $GL 50,106 @<@2E"! (P )#&U%BG$($I XMH /PL!3PP<T8'U,!'TP$A _-@+\. GPXR; C^\Q"" "5\ ',PD?C 2*@ ^> XM$@^9";" (+& *[*4@ (^N!=G9(+<B UR$TC(($ *3 $?/ 60@ ^^ ASY"H#D XM*^"/>\0V1@@E&03 XVH,BZ5O.;X"10 6YP<F (E1,?,- E)@$#\!(T"(JX B XMQL.+F H@XB6 C9U $6 ",AE'0&4A<)!O,3/^Q43 $C-EJO*4H[(4F,H@H @X XM@:N<DY=R4^[*SU@(5($C< 3TV!$ H5+ #P-B6XR+?7%9!@Y;V2E#Y;2\EMNR XM$WC+V5<NA^6Q;)=U+;KYOF(Y!2!B^5M%@H0"X&1)P @G6REQEO=R$5#+;!D< XM6X$8X )@0)"0QE @"\3E(X $!G$,R $XH ;@84@LC94#-CX"8GD04X$B, 0V XMBR9Z FVY"(QD$*#'AH +<,Q4( \XV"7Q!'C $) "2@))@( Q\ ;8;]6M V7 XM,?/@>IP0Y"_ZK2)-@!=_8DA\!>+R;.;-T[<(' 'I.XH9,2O63&U9'#L!5ZR) XMS[,EGB)&."%\W[;,?,%Q=TX"WSD)A.?QS 0L<4IX#PE!(D2 !L1/X0, &- @ XM ;,$Z /=@ XK +@'#!HDK#@ 0 \B-!$UT A:R5@$FIJA&P^&;D"5XT.#!)L" XM .J!A?9'"<$>6.B/DA D0X9V!!9AT65H3!"C+;0QL BJ(4,S XO@#RQT^>08 XM%MH;6 0*8*') ?*UT,1H(BB(#"T/+$(_B-#*5P]!Z2'1HQ%T ("> * D6>D0 XM7:&M=#"A"% :)02 "0"E,:!(@=*!4B59:49@$=1TG) $#6%)QXE#6J*AM"EH XMTU!:%N!I*TT9SK25]@5Q&DKOZ(D $JSTCPX <MI0".F)0*01=#1RTA%: ,#1 XMB5 !(G4[#0"UPE$;B !@G1RU'V@(G5K.:(*&< $BM2UH"!@@4MO5B9 !(K61 XM9M61ND<GA">-H E"0] $7H G,")@*MK-15H"*ZB5DO.B>"F$< 8-$!H /D XM:D_0$$1"K>[38+I6W^B)@!!JM3.P"%WZ,PR 0#H1& *")@!8VD1_:^N4$,3U XM9X S#<&#?NM>-!$:0(0F !-:17_K)0H Y/6Y_M4I^EUK@8;P -ZU.KW2[]J- XM9&L$0 "@ZD1(3=^:$C0$UO2MB4%#^ #OFEL' (C]K9OT1'@)"+H ]!3'$*$+ XM0&AI4!U[T4V$6)&Q<74@Z=A5!&1G;'8= ,!#QGZ[$R%3?X8"(#HF DO)V )A XM(C#LF?VO$W4!8 4-H01T;#VMI#OV[)T(FB%CKVI$W;&Q**/NV!8[ .SL>*%' XM X#01M &X%(G:@,0H@THUM[46[N^/6VL;;"E=H0V /TN (R LYT1BC;6OM83 XMP6OO"XD= L[VHF;:6)OX3@27O2^B=MW&VC35;7^& \"R,0N"/@ VH"$8[L'M XM!!1WA#X ^WHB+&X$< !TD>1^W#DS $SN Z Z+_?A5MB>>W ?T@!P A[W=A#< XME!NG?J/'?5;--H(FV V!;R, ! ] P"R>MWD&F][$QHZLB,T H"BFMMW>P'' XM_;K9=.B>W;+S>". WQN\7[?JGMP)0$RO6@2= ,QT .A%U-MT!(#I#5M ]_:. XMT F 64^$5TN]?>=$X-ZE95 # E*O?F(D(S00V)]PV\/.A'@!H)6 $0:=2N XMP[H>[S?OUMUCHW($@*%PO\$V_-:G' M^6V\"_AD4@/9.U I ?,OO^SVM T , XM@-^#&H K@%<]P1LX YH(#'QL5&C]+:L[^,TA8DT:02\ =@T 4OA^8 (681Y$ XMZ 40N0$ Y53APQH R' 5;KD! !]1X9\Z(;CPF].Y'_0,A]/O6X5K@X<]P]E! XM0Y@!,SQJ)^H%X+X!0$Y#T!_[4$1H!D"NK?@6!]XT%(LW;M1]':WV%K^3 )P! XMB.\ D+15!BD(U%C\5(]ME5'!IS8#T-MJ>XM_< #> %1" )#;"4-D!X"__1D: XM0*I&W0W @.[M"-T ^#<A3QC_.U$W .-[Q0MY,/'B"+H!(/#$G<E1-!_/W#2 XMD7?NU9W)G]%$J &,7'5+<MD2 %!Y)F>>B#R#R^X&<*@E^7$PXPAZGL#QS^ XM E'SYN5+E)3S\DW]R!V 30'@#L"3RVX'D+D3M0,HVR<PEX_NR>T 3/DO1P . XMH&U?<P>@OAUV+J_E$=H!5'%O_AD>@/( .0< 3P F(W.(_0#J-D _ $8;TQ> XMSFET0JCDZCQ)MW,$_0!4=$)(YP_@EB?J)F01TCD$8$W_/$)# !9NT/7H/O\, XM$$!K*_3?^]!I]YU&W1# :5?T"$"_-SI52.<18'BC[@@0Q#>ZP=[H)'6C)V\ XM+@'::467 (V'I</HB< X$;0$T.?I? (,B9R>OROZ!##9 'P"*')ZC@ F@+5) XMZ AZ H1RU#T!''I./^DY'8G[='L>U,VW3T_;B7H"'&VB/@&:*5+_#!-@B3-U XMB^W3[T0ZIP#* X!3@$E=T2E S6[K53M14P#C>]:_M%R'ZA&: LQTM3ZJ:7I> XM'^<1NE+O<@10 ;IX.J\ _!2 5P 2?=@MMV+G!@4]L#MM &X!>GHZMP! /5%; XM@ E]V7\H99?JE_UT5W0+8+XI.]P>[1]\M(]P 'X!-,-7EU\L.U%?@!]:T2\ XM\);M.;NVRP367M+3^05 UK*]W]5V;2[; ?5KOP .&W5?@*5=T^FGWJ[M_KRV XME_!TC@$V-G4/+0 < [!SZ@[/$S4&\(<5'0.(:>\^T\,[G:;N;_RU8P"@K=Z) XM=G8_V@&@N1/0'QW>);9W%^@1.@-XZ'2> 6 2ZLX 9KJB9X#RSM^]=Z+. *9< XMP*OR_+ZJ!3P'Y^\Y[;5K -J>SB?-8-< !J*B:X 7^$?>(36 ,E;PR?X"K_@ XM$;0&0 :1W<3#;0"N 1:UAG_5+)ZL5_C #< W@&6/T!L@L^/XMY[.-T!<Q_$< XMZ;5O@$O>XSD\CO?P"'H#]/6*O@%$>X\?\3B^Q,M0^M[C[3N.C_#Q/4)S@(Z> XMSCE _@;@'$!!5W0.P+\3-0>@Z%W^HH-Y6)[E$30'F.SRO0.<\W3> ?QXHNX XM@:BB=X#$C;H[@#[5\Y[\SJ=T.K_2[[PU2/% %++W>:/PVCN $^_S-%Z^>P L XMG<X]0.Y.U!X@*E9T#Q#,,?T8W_3X&H![ "(?H;7C8/< H+W44W5,;]PW?7(7 XM]8Q^TS]Z /X!7'M%_P"\^]93^ C] 7)[.O\ -?S7H^A;7\1_/4FE]2[^U\/X XM1/T!1GA%3]G/OJ< <! PU-,Y"-C5SQYF3_L<;NW]X;3'J<]>C@/P$'#C$70( XMT/'FGL]7]!"PXL9]B-[1"/I:-03Y+@+^-;U'XFT>]JAN^3X"@#>_C^G\GI7+ XM=UL/ )HI@B8!TCY1DP"17? C- DXY "<!*3WAG_PK;G"[],4W] H^HS/"I^[ XMP?\,)>"B<WR,8A$^_@^3Z C:!/CWD1_D ;@)^/,FWP2([0 @.5.^&XGY:#Q1 XMFX!C#S]2OCT?^<R;CJ1\JQ[S5?<-_PPF ./'_-8=4E(^BD\(,7]I,X^4SZU' XM/E^="(4FY7O\"&T"HK9[2/E5W.2?@/D9 &H1@CX!'UOLYV[,>?81.L<_ 18T XM .BBLY_GQ?Z$%ON>/5&?@#&>[Q' "0#O8G^\1^@3\//%_AK7^VW[[9<BU(T" XM'+3)1P'J_O'?_0B- H*Y4T#0*.!27_Y )M(#@/O _"B!XZ. G"GZY_GC7_(N XM.I"E[<6]&\I]93CD#WTW%&AROAM2-NUGXXA^-VS0V^^@;W^>O_U+/?8' &Q_ XM^SD[@]X-FO[V\_CC'P"@J/"'X5]]-[CTVX^OA?]'9_XK__:'Z-M/UYD_MV?^ XMC)WY__G;'_IOO]@6_J3_]KN1V\^BA3]>']"[89[?_D'/_$&W\/_YM_^\,W\T XMS_PG_NVWZK<?>R?\@7NW7^)W^\D6 #S!/_U,+E? /#T)8#,7S?'_'EU$. " XM6/7=?E=?!5@9/'H:X&X0X0E_@5L'& "8=<>?=V$1*(!2@0! Q-!^4<\)6 *Z XM?@F %"@H8 QH.U7 FY0-* T/N5@,%?#DC\E8":7@X(_76 @!5D -F?R6@ XM\94#?G_P7U[B C:!Y5\)2/KE@.M?"7C2Y8#R7PEH_^6 ^%\)2-'E@/Y?"2@ XMYH $8 F(\>6 "" +F-P1@0\@"]C@Y8 4( NX\>6 &2 +^-SE@!P@"^CLT8"U XMPA,H%0P \U/L-P!\;'P@I7?\#0"P'Q]HZ_&!>1X?&/S1?@/ A,8')G^'H//' XM!PZ!D&#UQP=>?_#? !"B\8'=7R=(HO&!X]\A>/[Q@>G?(=C^\8'OWQ^8TO&! XM]A\D2*?Q@?Q?)VC5\8$"("28^/&!&!\D>%9U@ / &@@)JF]\8(,'"59]?.#& XM!PER<'S@<P<)?H!\H+,'"=X)-" !0,14@Q\;[4< ]'35(.RG#:9LU:"#5@W^ XM?L<? 8#M58/&'_Q' +QUU:#SIPVZ=-5@]:<-KGS5X/97#N9PU6#XIPZ&?M7@ XM^:<-NA'58/NG#<YSU2#]IP[^?-6@_J<.3GS5( !8#H)[U: !6 XB@-7@+Z@- XM/H#5H 2H#E* U> %6 YF@-7@@U<.<H#5X >H#8: U2 )"/\5 ($@#5@ K(#' XM7P& I;F$,& !, /&A#;@2H@#QH0[X$K8 \:$/V $0!)(6!T!$3,[# #*%V!0 XM$7 %.(%.8(3\!!:!\H 4-@18&E/(%#@%/4%4T =.A6+!'! &V %" +97&; 4 XM4N&=]17* ,'?9F"@O0I,@ Q0 WP!%]Q_AA <A;:"Y%4&L $Q0/<$ /QJ=*$+ XM8 :D :M550 ,Z%()P1D0 ) !8H 8P&/E 2Z 9:45#(4G05'H'1 '7*&%01QL XM!4WA3M 3 &Q2H?(%%BP%3<%3H!4F!)7A9U@21(;_&9MV%"I?OM/']ACF!)IA XM2, 9DH;*5R!H%8:&62%'L!5ZAE]!U94&I UL0)FP&SP'9>'6-0:P$BO!=D 7 XM(H9T0%XH&>8T=&%;:!48"IA%7W@:AGYQ0BBW&KH$H\&$]AHZA9LAD=89C@6@ XM(588$HR& P%OZ!5 AMCA,U&+;(<3@<+6TWV'L>%/L+J-AV)!>2@:ZH:TX5C XM!.2%>=Y' $U0AA2$<^@1Q L[6G08 \2%1:$!<.@IB*C<@6@ 0(>DH4* !3"( XM*4$!H!Q6B%B V%$5/!/5 EW8(4)Q!V(!L,0IB+E>2F & 4B(A:0%GX$!H ' XM%1V^B##BC18=DH@2XC.B($Z'!D"%H2#"A1+BOO8CIHC[PGM8(4J''Z(!L"&R XMA1&BA%B*1(=.1H,(V2F(-&*\H*)9AT1A2H M4(:S0P"@DO1K3"%L^!3&,FMA XM:?@5Z(>YX:N0'HX%'9B3510> +A:=$@D?@0'P-LU(TZ'!P"-=B/BB1Q)=-@D XMOHD?!5UH%;P$L]N15BMH5B=!^>4^4&XG8H5(!K1788"5I24V:8)B5?"Z,01T XMH1Q07=4!<@!X1[E5:,OADL5^%844%('('I**L0)\>'N)35U!9C@FMGYEHGK8 XM*EZ%^Z&::"9Z!?_A=(@ # 5WXH>( &<J*N2$?LB;ZBD<@DZHI &Y:(&GX$ XM[ .7:!$(@&$B>"@;BH?]87Y(*Z:)NR&;^ :XB2D! C![58H> 6M26J1JX&)' XML/$D (M.N6@1H'*E1>-&%ZY?=L 7<%I9;J6%2Q(JUE9%80+0BZB+"8&U55H@ XM*_PB + $P!8W4Z:X*7:**4$" ,,IB^TA2N$L)F(S0K18'Y*)^&%8@":>A_SA XMFI@?7H?Y(F4 '\J $$&K*":&A[$B>7@M8HRVHJS(%?R' >)'4$ 0B/\AAN@R XM#F\*(HZ8$@A ,&,,,">.#87&CO@A)@ LXI%H,R:,/5JO>" J ''BD?@GWHRB XM0W2H[A6%"H"=>"3.B0T<S$$E?H@*P*=V([:,#9P3)R?*C V<[R0G[HP*@,,F XM)PZ-#=R4.#56B0I ^30C<HTW!Z9X)-( 8./-X2/.C3OC @!'S8AHX\U!0\V( XM5>("4 G-B$OC?I!SS(A/XT>P /@C?B+<B&G C#5 W;@ N(U*8]Z8(%:(IV)* XM<"$\C*9( R(QOHKW8;5H,9Z,/P%Z>"MV!?V5I_4&<$Z*8]#(%H*-*@-K$BQ^ XMB#&$J<@QI@0B ^=HI'5T]"'H2"UJC*,C;H@R9HMB <OX(38 +(6"6#<V ,^! XMSW@@,@",XY$8 P")12$#X#H-B<_C=8 B'H^IXM0X'3( :B-;2",6<H8B!8$V XMJ@Q&FI_X/8**1V*4F!(T -;)U7@@-@"\HO18."8,^R+F>#M^! H#YRA1N897 XM@:M(,E:,GR'I:'YDC*?CRHB:'8]/8OMX QR/8J/T.!TV )(3E.@^%G+?HM X XM0=I.#&-1:#%PCGP5 &D5")#38LEH+0J/I2,"J3)N!;GBA^@ '([>X_%X)6J0 XM+N1<.#=.APX N3@W4H\I@0.0/QZ++J2UH2#"C0[ 0^ TXI <05_X%P:&'@$R XM0!@6,0Z!A&4#4"Z.80"Y/_)R(6*U* &X3LN R"@MVH>_(U>(*0 2,%M:!ZF XMD"DC>;A$(H<6 33P1!J&X!!R4D5BAE<D A "+(S5H@!0WQ QO6-/\/^8D!?7 XMF6A 3@5I9'ZX1E8%V, ;&0 D5XW5<=@8TI%9XD<P IB-U2(!8%>)A0'DR!@2 XMJ!" ) 5H1M:*Q*/%>$AZ!.: (EE:T0$H&!GP2#Z&=:2;P#D2:2ND14!"_@0+ XM0*Q 0 J2*.0!64A:C*UD! D\RHV?8T]02P*2!60N24B&DI_A*-D1: FRFF&( XM&"Y7<L JR4I&DH%,1J J?H::)"UI2U:+NAHN>4;JDLCD5X 8^H:AGU&XH%D% XM+P)(4# N:&2 ?U45 7*@T0@!L !RM53\![$DV\*/9EL;8;GI#Q)3W)9LN%+ XM@$]:!6-B1R 1D %>H1C !B"&94)5(!&L <)#<,@5G',> >4$&A '!V5BN!C^ XM9\#B@N9F?049Y0#VGVF/"QJ210?,D^6DBH!1<F!R $JI.5Z/[&0:T&-IBF7" XMS=%,S0X2 8%E8,5@*0& L%*: 3HE',!33DUK848)3<X @8B#()/@DW'DAR@A XMK)2GY)YE?!D*[N*"9@:4 <Y5-D% " 3XI.IX!]"4'T$&L5):!?X(N="XX9// XMY)5E(&(*Y!%:R12HE7$AIH!BL)-OI1R@,_X$F4)161="DS$ B8@I[&OX9'4U XM!I"36H%$H V5 83E56!4JI5+':9@5[F5?&6$Z"#TDWNE6LGG.0BX&F2I5CZ0 XMQ00-I5G:E;N:@X!WN)5& I)P!K@'AH)V2%>6EF_ &I!S& J)&TY9%YZ2J60@ XMH[#)EF> HH@JKI0TY3=)N;T$LF4;('=I5UE3O! _QI1>H?"8,+@8R"4<H%!2 XM3H5<^"@1J%>(81X 9:D,2>2"=@<(E^J5'" S/1/UC6QI%X8!T.5'D#6LE/C5 XM@]7#-7"JDWAI'"*'" #=L%+J!&] #L<L>HQ6Y9HU4^Y7Y(-+@D_* 60 #N 6 XM,HBE!4QIH"&&8H!X)5[I(E!!+^)6]E<+9NF86=*5W.4= !B:'Q*!6ZE?ZB4_ XM00/ 1VB8,F5BTF%6:/@D#D8'")B1HWD)0QZ8=24-D%1F%7IE6BD'T(VEXUS) XM8O)8;*158%@>"<Y5I%A8%C&")1K@8RJ6=6%B@F.:E]8D7<E7A@2/XV>9ZR4 XM"P!E\%GBB%#F[/59!G]0YF.I9%Y932*4::1]EGD>E+E-LIC0I S NSD(60%3 XMF8$Y9VY +:5XK)0RIKH'97Z86Z8<P%E*!5R<7HD&( D%)38GD\B6,J:3@2E, XMF 9:@ME._GD4XX(F!K@!88!PN1FF:ETEH^EHRH8<05>)!AQ73T$ 0*/ADV+ XM;_A.!@"^4XG)F&"5;\"C6!E(F0O:&_!W%879DVSY!DA>W)5S]1&03ROE&Y & XMM '"Y519/\F6@R6N.8.E! 54K?EW_7D-U)(H3_Z&FD1*4$$)FZA72G!"\9K- XM67E%;,Y0*^4<$&URBSG4#N5J:E;<8A15:X*51>$BY6K^7?C%9_!&U9HB94H XM2-6:Y5=Y^1D84K6F-E2!I02LE*NY?EU9)!HS56LZ5^ZFN4DA&FAO0 PV1X)U XM*Z9$\ ;$ 76 !%9>YE <9*KY=V%.'X$'H)+(EA)6&=!=I00,E:OI9Y6:\*5) XM!6UNG*9F3B5<\)H5Y\6Y4-%4LJ6G=5PEFY^!7[52.E@?SQA03CH 6:2!-@>< XM!'> =J5.J7/:YCE9%:Q0#T#T:*#)F^S7@_41S$LOYYI)!Q0!0<!'$ $P:\'E XM3ID&Z &L! (0 5"2-F<=\#*D ><?]G2D&9;.U7I9X"2=^Y4+-@=8E!L &B5; XM$@%8)17P:&V28Z9AZ0;LC'?DR^D&U 'EYD<0 KQQLJ50>655736E"&!$^IP> XM0>=6-!F4CH>FB&2-BG,#UBD17)5T@*R9$IP =I5LF6YN!=-E @;>_9@-6!G0 XM7DV4$=@$-F\2F1C8Z$EDXE<>6+_I4!8Q(MB5A7FRGB=8"D9DFI0M6$'I$>24 XM,ICQ17J& 3?8D?!C+I2[U5!)9%H$E4"!U2DJAF; >F4&L &<D_'I!FB*XE5S XMQ@; !A8G&? %> _R8M7E/AB:7\#=V0:( 66 +@(O?@%KUAG@:9Z6I6;WB7>" XMG[H(^FE]:HIT *=8:""&FN*8A635A7) B^4& )YUX0!&6)H!IV50R5-67<L5 X0Y"EKV@%I0 LF=WF%[!4 .*8 X Xend END_OF_db.o.Z.uue if test 21625 -ne `wc -c <db.o.Z.uue`; then echo shar: \"db.o.Z.uue\" unpacked with wrong size! fi # end of overwriting check fi if test -f enabledb -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"enabledb\" else echo shar: Extracting \"enabledb\" \(281 characters\) sed "s/^X//" >enabledb <<'END_OF_enabledb' Xcd /etc/lddrv Xif ./lddrv -q db Xthen X echo 'Trying to enable debugger (Ctrl-B interrupt)...\c' X ( echo 'dsabldbg/w 0' | adb -w /unix /dev/kmem || exit )> /dev/null 2>&1 X echo 'Debugger enabled' Xelse X echo "Disabling the debugger when it is not loaded is a bad idea" 1>&2 X exit 1 Xfi END_OF_enabledb if test 281 -ne `wc -c <enabledb`; then echo shar: \"enabledb\" unpacked with wrong size! fi chmod +x enabledb # end of overwriting check fi if test -f disabledb -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"disabledb\" else echo shar: Extracting \"disabledb\" \(285 characters\) sed "s/^X//" >disabledb <<'END_OF_disabledb' Xcd /etc/lddrv Xif ./lddrv -q db Xthen X echo 'Trying to disable debugger (Ctrl-B interrupt)...\c' X ( echo 'dsabldbg/w 100' | adb -w /unix /dev/kmem || exit )> /dev/null 2>&1 X echo 'Debugger disabled' Xelse X echo "Disabling the debugger when it is not loaded is a bad idea" 1>&2 X exit 1 Xfi END_OF_disabledb if test 285 -ne `wc -c <disabledb`; then echo shar: \"disabledb\" unpacked with wrong size! fi chmod +x disabledb # end of overwriting check fi echo shar: End of shell archive. exit 0 -- Lenny Tropiano ICUS Software Systems [w] +1 (516) 589-7930 lenny@icus.islp.ny.us Telex; 154232428 ICUS [h] +1 (516) 968-8576 {ames,talcott,decuac,hombre,pacbell,sbcs}!icus!lenny attmail!icus!lenny ICUS Software Systems -- PO Box 1; Islip Terrace, NY 11752