Kernel Debugger Loadable Device Driver for the UNIX pc (db.o)

Lenny Tropiano lenny at icus.islp.ny.us
Mon Aug 7 12:13:39 AEST 1989


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 at 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 at 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 at 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 at 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 at VH$6S 2"!$IY99" "_J% R6N?!6!#F23,<%R<-C 8YQ 13OA(
XM at AV! 9\:<"(0  UE<F!G2H?J:2 at .?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 at 1;:UW&"@!
XMM5O^0P)@"!A at P:3 at 2/L1M3.]^YF\DR+3;1H&6H!L8P)XLIZ^"#3 PZ2L="N&
XM at 40,K-'!\#; S:20Z)IN0A2LQ^Z6"#. Q:1VV"L %11_)O*D8G1KAH$42"P 
XMI,Q2(Z at _"[VTL0 FG+NKNA^3AW !>$QJ at KV?X=O0T$7#YX"N#R=D1+?%3GP*
XMP at 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 at 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 at 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 at 688"G at 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 at 1!-.8?PK"$(.Y7V25.IPX,$ 11RH0"G+*IJ3 at M(7)'<US8DD$*@IA"(IQE
XM"#@< *B.T8.5\)$E 1#@'_ at 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 at 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. at 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 at 0;X?&EE;'4*0G"6-[A0-L=@@P0?N!^;\;%/-;MCULX2
XMQ:6A4=!+:TV@#5H KY&IK7_X at 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 at 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 at 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 at M,,HF.H83
XM<W7G/RAA6*G,LYZ!U7UAO7]DK 8TH5 at E*+$K9-##5 at X!"IT_0UG)!TWBX:%9
XM(F"$E4MQA@!S%@ &H at 0CX Z?47DO," ^ 3 at 6T">))PXUTE6P\%72ATT)(53/
XM,5^.X0SV=#\"B [[=&F&I'^.00XHV&N'M5".(0RL9 B:) A6 at 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 at 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 at H PZ"6'S,2+_P /76)4D@@!9.4A%*09Y] 3.H at JB2(K_8 &:
XMX8[*<Y;A,0A(, P&"  +< 8$  =L  8"  =W,(KN* <,( Z at 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 at N,H4AB((^^U1H0AJ0ZJI=@P ZZ":7;B91P
XM\ - at X VVUEL at 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 at 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 at 07P*J\ N at 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 at P&O+,60,"$;TP+(9FI85*@>(*IZ#B5FU=08N2@!6JF%@@ %'
XMNF**- !("K9P4 !C&V%Y20#(Z at +J YP04)N/:8GQ$)95"@AM( -P8 !(Z@:"
XM. at 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 at 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 at A?"V=PVQ=HB@ ^ +3C
XM*Q65Y)/.8 at 5"%L#1MH/%&+2:ZP2:P09'[(W at B$PAC+Y.NKOY69SW@ V85:>:
XMJP6C2,.HFP3T>\7Q&P5+.ZB?@0*HD*4^+ <\<*Z "[R,X1>\RI5 at 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 at +.U,I<<@,0@
XMC;J1H+KY/&7I^P(IC<71,81B*0ZC:CKP4(RF PO:M,J$P)XUG I at P LD+9=G
XMX-- C;J[  :%^M/MB<7-X"R<@'LGML\L? ^\\,_;^\, at 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 at B
XMT"=P<*OW^MA2D0 IP-D at 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 at 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 at 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 at 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 at 9FMDK+<]$6L]^WMJ=_MNG_:V9R #7H62ZN%:^TN].\! Y:K8NK at OP
XMX N9/=7R7NFZ30Z?J,\5=>^Q/0J338KPX >]^$R%2)=XD)YX0 8 at 4 ![6(MF
XMZI> F98D#P0/T.W T.O,G-@&3@,:UN#1O-RL  9',P at K<?.G#0M@(# \'R<^
XMG]BT0,VGC0NI at 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 at 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 at .^0P!(@4) "28!&] 'U& 3.,"15P$  0Z8*H2 at 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 at 0%@,T$"0B !C%\@0 +! !($@EY$^.  #!AG at FSD38%"
XML!C<@#M0 @, ,;4 ,. !. at D)>"MK$ IJ !B !,)#(4 "Q< ,Z@*_)0"\0..#
XM ="@$ !" X<-0I\^T6V:+E2!,01PCI"( X  DR;U03M!I at 0D0#!B2$>.,9@#
XM7+ at 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 at +P (/A-_X ,@!EM8 *,U&YBB/%AD R $3$ .-<3*%&?
XM 0M\KL?H^- at 3920"'DHSS,4%<%M, at 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 at 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 at P!1P2C.0D_1D-R at EH[)4DH]ST,12
XMI9R,!\["+P5*;:(JR<4^<!8[;E:2RE6T !:;8W "+L 07)H'4*]0P"A,*R"G
XMS&G&[0 at 9+<5D+$5JH',=O at 4P 3;6P ('.F]9<L;(Z!E+4?UX FAJ 4R at 3$0F
XM_P$XT)+ at 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 at YP6B+#G
XM]"P T""GW1\)( TZ0H=("1? <18 := AE(?\4I_5H$.\A,^0/@%G-N at 0/>5]
XM LYNT"& @_Y4;.&@0X06!( !1 #@+ ?Q  <$ )"  #Z [BP Z2 >$ <$0 &0
XME47H$"J!@EK00 (,',!'  &"LP"\@ROA $P4" 6<\8"$9 at 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 at W&6%7E$A. at 3.:!H]HE @Q' $ DI&#4 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 at I14I!*.:<P/:+C9I=B0%)*#83HE-0?*]2.'E%:P"7HJ#0U
XM +@@108!-YK3CB at 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 at 7(YH.TB@,PL!9 !\($3C at 03E:9^!I0I1>R!!B6=)S:@&0!^D2&!04(^H
XM/TB1P:"H'H !$ _P03! ! N5(; B!-!4 at 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&- at 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 at 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 at 0!G@"0G )""G.X!@%2R#E0H2U at 6P@0J[8$7'3G *RE5S9E@*
XMFV [+(8]"1J6PU[8!% 'W  ;6 ,5- at RL6/5*H#9L at I6Q1( %)- at Z, =J40*@
XML2EVQ_98%H!C&6L9F /5E;:^@5JT7)<L8RT)3Q;$-E8XX(_D !W014"6<ZJ!
XMQPH U !ZO:QH@'*N5IX at 7LD YORN8@!SDH$T8 ?J@*U at LTYA#@38[*J+T"P 
XM0+/US<Z. at 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 at BD )^2:E/ 
XM"@  +0#5E@ <NVH9K*REM0.1"-Q:!JMC$^P88+ NH 2, at 5IKL3BGK4VP<&#8
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 at 7L6E7[:F-MJV4!/O?FJEJ)VV$QKL,EN3LWYR;=GIMT at 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$, at 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, at 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 at 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, at 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  _- at +\. 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 at XB6 C9U $6 ",AE'0&4A<)!O,3/^Q43 $C-EJO*4H[(4F,H at 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 at 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 at 8;P -ZU.KW2[]J-
XM9&L$0 "@ZD1(3=^:$C0$UO2MB4%#^ #OFEL' (C]K9OT1'@)"+H ]!3'$*$+
XM0&AI4!U[T4V$6)&Q<74 at 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 at THUM[46[N^/6VL;;"E=H0V /TN (R LYT1BC;6OM83
XMP6OO"XD= L[VHF;:6)OX3 at 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 at 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 at -^#&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 at 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_ at 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 at +5)
XMZ AZ H1RU#T!''I./^DY'8G[='L>U,VW3T_;B7H"'&VB/@&:*5+_#!- at 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. at -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 at 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+ at +^-;U'XFT>]JAN^3X"@#>_C^G\GI7+
XM=UL/ )HI at 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 at 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 at 9/'H:X&X0X0E_ at 5L'& "8=<>?=V$1*(!2 at 0! Q-!^4<\)6 *Z
XM?@F  %"@H8 QH.U7 FY0-*  T/N5@,%?#DC\E8":7 at X(_76  @!5D -F?R6@
XM\94#?G_P7U[B C:!Y5\)2/KE at .M?"7C2Y8#R7PEH_^6 ^%\)2-'E@/Y?"2@ 
XMYH $8 F(\>6 "" +F-P1 at 0\@"]C at Y8 4( NX\>6 &2 +^-SE@!P@"^CLT8"U
XMPA,H%0P \U/L-P!\;'P at 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 at Q\;[4< ]'35(.RG#:9LU:"#5 at W^
XM?L<? 8#M58/&'_Q' +QUU:#SIPVZ=-5@]:<-KGS5X/97#N9PU6#XIPZ&?M7@
XM^:<-NA'58/NG#<YSU2#]IP[^?-6 at _J<.3GS5( !8#H)[U: !6 XB at -7@+Z at -
XM/H#5H 2H#E* U> %6 YF at -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- at 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 at 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 at 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:$!<. at 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 at 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)=- at 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 at 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 at 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 at M8HRVHJS(%?R' >)'4$ 0B/\AAN at R
XM#F\*(HZ8$@A ,&,,,">.#87&CO at 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 at 0B ^=HI'5T]"'H2"UJC*,C;H at 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 at 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 at W4H\I at 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 at 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!"_ at 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 <)#<, at 5G',> >4$&A '!V5BN!C^
XM9\#B at 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 at 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 at I[&OX9'4U
XM!I"36H%$H V5 83E56!4JI5+':9 at 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 at JKI0TY3=)N;T$LF4;('=I5UE3O! _QI1>H?"8,+ at 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(-+ at 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 at 8RJ6=6%B at F.:E]8D7<E7A at 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 at 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 at 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 at _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 at -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 at 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



More information about the Unix-pc.sources mailing list