Files
oldlinux-files/Linux-0.12/mail-archive/linux-activists.92
2024-02-19 00:21:02 -05:00

9929 lines
428 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[0263] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/01/92 01:41 (17 lines)
Subject: Re: shoelace
Date: Tue, 31 Dec 91 22:36:19 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
In order to use shoelace under linux, someone will have to compile
laceup.c. If someone does this, I will post the other components
that have been compiled under minix. A more reasonable method
would be to just adapt that portion that selects the menu of
which partition to boot, and make that part of the linux
distribution.
This is particularly so since, linux and minix treat device number/names
differently.
Integrating the boot code is important because linux will be
going to a differnt file system (bigger) than minix, which will
use 32 bit inode pointers instead of 16 bit ones.
--[0263]--
[0264] daemon@ATHENA.MIT.EDU (drew@kinglear.cs.Colorado.EDU) Linux_Activists 01/01/92 15:21 (22 lines)
Subject: Re: Porting g++ 1.40.3
To: Wolfgang Thiel <UPSYF108@comparex.hrz.uni-bielefeld.de>,
In-Reply-To: Your message of Thu, 26 Dec 91 04:02:45 +0700.
Date: Wed, 01 Jan 92 13:14:17 MST
From: drew@kinglear.cs.Colorado.EDU
--------
Hi,
Did somebody else try to port g++-1.40.3 to linux? I am having problems
with the estdio FILE structure. I tried the MASSCOMP define, setting __rend
--------
Gcc 2.0 is imminient. Some one in our CS department is playing with a beta
version, and although I'm unsure of the release date, it may be installed
before next semester. Gcc and g++ also become one product in 2.0.
Save the trouble of porting another gcc in the future, and do it when 2.0
is available. Then send in diffs to the config files to the gnu people,
any conditionaly compiled code in any source files (should be
unecessary) and have it part of the standard gcc distribution.
--[0264]--
[0265] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/01/92 17:06 (81 lines)
Subject: Re: VC distribution probs.
Date: Wed, 1 Jan 92 14:03:53 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
Thanks to John Schutz for finding the bootsect.s ommission.
Move bootsect.s to bootsect.S and apply the following patch.
Its purpose is to avoid defining the same constants in two
different places.
*** boot/bootsect.s.orig Tue Dec 24 23:15:32 1991
--- boot/bootsect.S Tue Dec 24 23:22:17 1991
***************
*** 3,9 ****
! 0x3000 is 0x30000 bytes = 196kB, more than enough for current
! versions of linux
!
! SYSSIZE = 0x3000
!
! bootsect.s (C) 1991 Linus Torvalds
!
--- 3,10 ----
! 0x3000 is 0x30000 bytes = 196kB, more than enough for current
! versions of linux
!
! #include <linux/config.h>
! SYSSIZE = DEF_SYSSIZE
!
! bootsect.s (C) 1991 Linus Torvalds
!
***************
*** 33,41 ****
SETUPLEN = 4 ! nr of setup-sectors
BOOTSEG = 0x07c0 ! original address of boot-sector
! INITSEG = 0x9000 ! we move boot here - out of the way
! SETUPSEG = 0x9020 ! setup starts here
! SYSSEG = 0x1000 ! system loaded at 0x10000 (65536).
ENDSEG = SYSSEG + SYSSIZE ! where to stop loading
! ROOT_DEV: 0x000 - same type of floppy as boot.
--- 34,42 ----
SETUPLEN = 4 ! nr of setup-sectors
BOOTSEG = 0x07c0 ! original address of boot-sector
! INITSEG = DEF_INITSEG ! we move boot here - out of the way
! SETUPSEG = DEF_SETUPSEG ! setup starts here
! SYSSEG = DEF_SYSSEG ! system loaded at 0x10000 (65536).
ENDSEG = SYSSEG + SYSSIZE ! where to stop loading
! ROOT_DEV: 0x000 - same type of floppy as boot.
*** tools/build.c.orig Tue Dec 24 23:22:59 1991
--- tools/build.c Tue Dec 24 23:23:38 1991
***************
*** 26,31 ****
--- 26,32 ----
#include <sys/types.h> /* unistd.h needs this */
#include <sys/stat.h>
#include <linux/fs.h>
+ #include <linux/config.h>
#include <unistd.h> /* contains read/write */
#include <fcntl.h>
***************
*** 32,38 ****
#define MINIX_HEADER 32
#define GCC_HEADER 1024
! #define SYS_SIZE 0x3000
#define DEFAULT_MAJOR_ROOT 3
#define DEFAULT_MINOR_ROOT 6
--- 33,39 ----
#define MINIX_HEADER 32
#define GCC_HEADER 1024
! #define SYS_SIZE DEF_SYSSIZE
#define DEFAULT_MAJOR_ROOT 3
#define DEFAULT_MINOR_ROOT 6
--[0265]--
[0266] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/01/92 18:51 (34 lines)
Subject: gcc 2.0
Date: Thu, 2 Jan 1992 01:47:37 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
To: Linux-activists@joker.cs.hut.fi
drew@kinglear.cs.Colorado.EDU: "Re: Porting g++ 1.40.3" (Jan 1, 13:14):
>
> Gcc 2.0 is imminient. Some one in our CS department is playing with a beta
> version, and although I'm unsure of the release date, it may be installed
> before next semester. Gcc and g++ also become one product in 2.0.
>
> Save the trouble of porting another gcc in the future, and do it when 2.0
> is available. Then send in diffs to the config files to the gnu people,
> any conditionaly compiled code in any source files (should be
> unecessary) and have it part of the standard gcc distribution.
I've also been fooling around a bit with a beta version of gcc-2.0 -
that's the reason I wanted to have some kind of 387-emulation in 0.12.
I can happily report that cc1 compiles without changes, but the version
I compiled sometimes aborts without any error message (not due to linux:
it does the same thing on a Sun). In any case it seems that with the
387 emulation in place, gcc-2.0 shouldn't need any difficult porting: it
compiled at once after "./configure --gas i386-gas-sysv", and after I
removed a "-lPW" and a "-g" from the Makefile.
This all leads up to the sad thing: gcc-2.0 is /a lot/ bigger than 1.40:
the binary is about 800kB for cc1 alone, and with all the C++ files, I
won't be able to port the whole thing after all, due to lack of disk
space. I gave it one whole 20M partition, and wasn't able to compile
more than the C-part before it ran out of space. I'd guess you'll need
at least 25M free to get everything compiled. That's why I have been
working on the 387-emu: at least whoever ports gcc-2.0 won't have to
trouble with the floating-point patches.
Linus
--[0266]--
[0267] daemon@ATHENA.MIT.EDU (John R. Schutz) Linux_Activists 01/01/92 22:26 (22 lines)
Subject: More VC distribution problems
From: john@csrnxt1.ae.utexas.edu (John R. Schutz)
To: linux-activists@joker.cs.hut.fi
Date: Wed, 1 Jan 92 21:18:52 CST
It's possible that I missed this in the patches somewhere, but the
following needs to be added to your include/linux/config.h file:
#define DEF_INITSEG 0x9000
#define DEF_SYSSEG 0x1000
#define DEF_SETUPSEG 0x9020
#define DEF_SYSSIZE 0x3000
I would have liked to make a diff file, but since I'm a complete loser
who doesn't know how to use diff, I didn't.
john
--
| John R. Schutz | Email&NeXTmail: |
| A learning NeXTie | john@csrnxt1.ae.utexas.edu |
| (512)328-0587 | "We are all victims of dead men." |
| 3009 Hatley Dr., Austin, TX 78746 | -Charles Fuller |
--[0267]--
[0268] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/02/92 01:42 (54 lines)
Subject: VC
Date: Wed, 1 Jan 92 22:40:45 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
Now you know why I am posting this before sending it to Linus.
Perhaps I should explain. Disk space for me is extremely tight,
and I do not have enough to do a test patch before posting.
I have to do incredible contortions just to get this done.
But with your help, hopefully Linux will not have any serious
problems. Here is the patches to, not one, but two files.
*** include/linux/fs.h.orig Wed Dec 25 19:32:44 1991
--- include/linux/fs.h Wed Dec 25 19:34:39 1991
***************
*** 22,28 ****
*/
#define IS_SEEKABLE(x) ((x)>=1 && (x)<=3)
-
#define READ 0
#define WRITE 1
#define READA 2 /* read-ahead - don't pause */
--- 22,27 ----
***************
*** 62,67 ****
--- 61,71 ----
#define PIPE_FULL(inode) (PIPE_SIZE(inode)==(PAGE_SIZE-1))
#define INC_PIPE(head) \
__asm__("incl %0\n\tandl $4095,%0"::"m" (head))
+
+ #define NIL_FILP ((struct file *)0)
+ #define SEL_IN 1
+ #define SEL_OUT 2
+ #define SEL_EX 4
typedef char buffer_block[BLOCK_SIZE];
*** include/linux/config.h.orig Tue Dec 24 23:18:14 1991
--- include/linux/config.h Tue Dec 24 23:49:25 1991
***************
*** 44,48 ****
--- 44,55 ----
If you want the BIOS to tell what kind of drive you have, just
leave HD_TYPE undefined. This is the normal thing to do.
*/
+ #define VIDEO_VGA_50_LINES
+
+ /* Don't touch these, unless you really know what your doing. */
+ #define DEF_INITSEG 0x9000
+ #define DEF_SYSSEG 0x1000
+ #define DEF_SETUPSEG 0x9020
+ #define DEF_SYSSIZE 0x3000
#endif
--[0268]--
[0269] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/02/92 19:07 (97 lines)
Subject: Final version of the job control patches....
Date: Thu, 2 Jan 92 19:00:19 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: Linux-activists@joker.cs.hut.fi
Reply-To: tytso@athena.mit.edu
The final copy of my job control patches to Linux 0.11 have been sent to
Linus; if you want an early peek at them, look in
tsx-11.mit.edu:/ALPHA/jobcontrol. The following is the NOTES file from
that directory:
New Features added by these patches
* Job control (setpgrp(), tcsetpgrp(), signals, wait(), etc.)
* gethostname(), sethostname()
- try using the included hostname program!
* getrusage()
- not completely implemented, but the skeleton
is in place.
* getrlimit(), setrlimit()
- try using the ulimit command in bash!
- nothing looks at the limits yet, though
* gettimeofday(), settimeofday()
- for that microsecond accuracy some people demand :-)
(well, 0.01 second accuracy, actually....)
Notes about patches:
1) I integrated in John Kohl's patches to tty_io.c, since I had also
made changes, and at least one of his patches depended on
my patch being made first. I have included the other patches
which he sent to me as separate patches in separate files,
in case you did not get a copy from him.
2) I changed the name of system_call.s to sys_call.s, since system_call.s
is too long for RCS and !@#$! 14 character filenames. You
should either also make this change (and modify the Makefile
appropriately) or edit the patch file to change the filename
back to system_call.s
3) Currently, MAXHOSTNAMELEN is set at 8 characters. I think it
should be changed to 64 characters (change in sys/param.h),
to make it like BSD. Unfortunately, doing this will require
recompiling libc.a and the shell, since it uses the uname()
system call. Not a big deal, but it means that when you boot
with the new kernel, you need to make sure you have the right
version of /bin/sh installed.
4) When we add time zone support into the library, we will need to
do something about how Linux sets the time from the CMOS
registers. The problem is that the CMOS clock ticks localtime,
and POSIX specifies that we should be ticking GMT time.
Currently, we're not, so it's not a problem; but once we
start including TZ routines in the libc, we will need to deal
with it. My attempt to solve the problem can be found in
sys.c: adjust_time(). I don't like the solution all that much,
but it's the best I could think of at the time.
Things to think about:
A) Perhaps the task_struct should go in malloc()'ed memory. This
will free close to 1k for the kernel stack. We may not need
to do it now, but as more things get added to the task_struct
(like BSD-style group lists, etc.), and as the kernel gets more
complicated (for example, when networking code is added),
I suspect we will need to do it sooner or later.
B) Speaking of which, I haven't looked at the new VM stuff that does
paging. Does the malloc() routine still work, or will it
need to be modified to coexist with paging?
C) Another good idea would be to unify the buffer management and
the free pool memory management, ala SunOS and the latest
Sys VR4 design. This allows free memory pages to be used as
buffers and vice versa.
D) Currently, gid_t is a unsigned char. I would strongly suggest that
we change to be a unsigned short, and represent it internally
in the kernel as an unsigned int. This will make life much
easier if (ha, ha) we ever decide add the Andrew Filesystem
(AFS) to Linux. Since this effects the stat structure, this
will probably require recompiling large numbers of programs.
E) If a Linux machine stays up for greater than 248 days, the number of
clock ticks will become > 2**31, and jiffies will overflow. I
suspect something really messy will happen then. We can make
things better by making jiffies (and all places that refer to
offsets off jiffies) unsigned longs instead of signed longs,
but even so, it is still conceivable for a machine to be
up for greater than 500 days.
This isn't a problem now, since Linux is in beta test, but
saying that Unix systems are too unstable to worry about what
happens when they've been up for more than 500 days seems
a bit wrong to me.
- Ted
--[0269]--
[0270] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/02/92 21:05 (1676 lines)
Subject: shoelace
Date: Thu, 2 Jan 92 17:44:55 PST
From: pmacdona@sol.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
Here is a quick hack to get shoelace to work under native
Linux. All that required was coaxing laceup to compile.
The catch was, no minix header files could be used.
All the executables are provided, so there is nothing to
compile. I provided laceup.c only in case some adventurous
soul wishes to try adapting shoelace properly someday so that
large file systems could be supported.
Please note. I have only tested this with my floppy drive,
so be wary..
Just follow the readme file provided, and you should be fine.
table
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 shoelace.tar.Z
M'YV04LJ$(=.F#("#"!,J7,BPH<.'$"-*1 BBH@T:-$ J,@1AD:.%3UN!,G1z
M1@T9%6O$F '#Q@P9-VC8J!@#1@R3&V%,W,FSI\^? .K,H1-&3D4 <MZ\H0.Ty
M8=*E3:-*G4JUJM6K.Y&4D5,&1)HY(,* B%,GS9@U(-"$.0N"SAL09\K0 3$'x
MS9LR;-9V=0OBSALY:.NX(;,5A)LP=-+8*:. 21HW=?"XJ!B$#9NV:+Z"X$HVw
M#5<R?<. '?,F#)['9T#D'5.F#IRV;TFW@9.&31D7"BI?IH.F:QD\9<;4(2K&v
M-MBB7>$DM9.&,!D6=-_RWMI5LYNEF=VD=JM -FW;DT$D :'\#7/GJO6Z=C$&u
MQ!LW;/)X=0-BC.BN<]X4#$MFL1LZ=20EE +YU7'9'5_U!A9?=,@AWT!AP)&8t
M=G39A9=>Y"4%QU;Q15<0&6'D@9L"4-AVGV%+W5;1>&HMYAY\\M%1QE!E@,:;s
M9@CR!D(;\IG!QAMPP"$?&7(H5@8+!+XE1E=W%.5&C2,J(=1<9KQAV1MW8-85r
M5P/M9T9MR2W77(W0A3$8"'F\44>%:K(!VI(@?/GD9 I@9:=58BA%QVH&W>GGq
M51S%E-%('7T$DD@D533#11Z!H!)++LE@TPTTP5###3J!H-.?G/HY95%'/<64p
M5:)V:NJIJ*9:50 #0$" 1@?!,\!""A#04 0#(K .NDD$D,,LQ 0PTVW("#o
M*W>JHQ,P!S""C"/8. (-+P 0@H@% @!@CS" T)&""?_0(8 )BM 1@!0F$$,$n
M J-P C!G@ "T(-#.!'/X $LX/B#B 0#^&(.(#1KPJ@$N!SD"C G'&(#'m
M1@"8P(@'>@" "ZY0V * %/8Z<, N_@2@119!T * O1<+8*\<]2 ,P3TF(#L*l
M/ <D8H$\!Z#C3@":( 0!!!8#P,0;0X'P0EUW\0E G0%4D4@Y5EQ!C $T,R+,k
M/38@JW BURSBA $!.$#S(#<? , B=A# CSRDI!,) $Y#?<4B1A"PB!4&1 -.j
M--(,8("[$U@@;PSV*.+#O^LP ,,_=-N--Q!U!"!$(G4G@C?6_R(2C3_!_ * i
M +,$@$,^<PPP1 #_Q" -U@4C8@TBQ42#CNPD (- ,(I@.Z\ B&#CP0&+>(% h
M //8.X<!)MN[SCH!^!.(/P 0(,<IZUR@Q193*'( (<#0P0 M#@PQQ2ZX-@/!g
M%NNX\X\X7WB1"#M=#+,%%E# C,\!_XP3"CT'( .#.18@ 'L<8!AQ"T0[$ f
M :(6/ (,HFX"^,<-T&&-?VR!<ORPG#\6X8#[)<()^FB$(?"Q#RC\PP[^."$_e
M'LB/ S""M!#QP;^,8BI#<(/!@ '31 -P,@X80*R,7GH@ %$9(0"NA0!0V)d
M@0 H)(YN"FB$(T@8A7] 8PM0>(01\'%#?.A0 .M0P#] 6(=5C!$!=6 $W?"1c
M#C'\(VZ#2* 5T$: *S2"$-&CG#YR8 =]V,$+BR Y;CH!R_2804<A 4 /NB/b
M1A!! (DX1O!2: 1_: \34%!$ 3"1A1P$HPX-2,0^C@"('P3%'"?$QSH0Z0#^a
M+<("!!Q$.B P"&TLLI4U@V7.%O"/! #C#P:X& "<B(!!& ,"Z^A$#( !!2RDz
MPQS^@",[(! U7,@*"LN$@C"1^ -_U- '-3' (0Y#7",XGX<I,< !A$, 0S y
M ?88P ?Y<8Q*XJJ>^-B .H93P",T1YU&$ Z:G&V2K8 5Y3S1RXT0C=_J.X>x
M\1B $?@1@V3H0E92("(ZU-&/;RZTH Y=73PLIX_@Z2,7!0# -,:QB$>H<Q&7w
MB&<B<&DS IH4I2H=1R"&X0]Y>H$>]83'0>J),P#<4%9]6)P=\'%">9P0'B>Dv
M!SJ X$TF)O2&T*M#!8(GCVB,8P _3<1/_V$$>! 55^M0!E8#<(<'&,, P ! u
M W ABV&B8QO]0)\_\)D)@0[A'^D@1S_B!@4&^H$ A .$#X9Q$#H<0!%%( t
M$V&,MS(V: 1( 3P2,8\ E' *Z/@'/[:PA70"3Y>!2$?T:GE+_M7T (1#1RKZs
MX<L_#, 7V4H$/-+AB'X X MD^,H:2$.&;!U$ A/@@A.^\"7;'*8-BCQN<I?+r
MI^<B3+K*7=(9Q#"'.<1J5Q28K@L8H@^S 2"\ROV"<AXS*C/@"@#(32^7R%"<q
M-[ #(?%U0AD& R*B $!6!YG =+7;WS#\=U<"3F]FR$ 8-P# 7=A=[ASLXP8]p
MO <3[\WO%X92E%$E1,-N^$)O!C*'@D5XO_3M[D'*>Q#T+A?%2"M#7"/\A3:$o
MX3$,T? 8>G.6+S$BP]/]0IY2])\5X#?(%GY2?0<!Y/0V=T9IT /_6AQD-(R!n
M#699PQR016,]S"'*?;H?E=.+XB'3@<OPG2Z*980'IKQC5_G5+IL]3&/2"(DYm
M82#&D=/[HX&L9E-I3F^(YQ <M_R+QF*H@QDD)(?_FM?%&R:*'/;TALL&>KG!l
ME<.$S:3/"+M@#ESQL!^:[ 3VA!HA?R"U"\@ :KD<I ^DWK"%["*'2Q@7Q$2Sk
MD!OJBN@?G271 #YOD.>+M+X>1 #3%<(3GD"%*21!"T7XW$$",%T? 4E(!UD#j
M0I"M7 2YX2M$H8,6MCU=5J]!#/>!V+&G:P0B4"$(0F!"$:P@KVE/=[YOT#8 i
MN/!>;CM!V<R>0A&.<!"@ 8#:RA7X$*CP!"DX6]H'GZX5BK#PA@L\(0AWPGK_h
M0X;W[*'?]Q8(JRU4"'(K=[[U'<,10*[<)[5YQT5) \N=X.PC."$(5*B"%(P;g
M<>4*(0M4*,(4H% $*1B\YTZ(,:W=T B3.P'?BY%##&8^7Y?380%4%WG'"7V!f
MF:OJZSL1 QS$X (T@/WL#RD)1@Q5*$*%A.T@@12E'+62ELB !C.X5*5@ (,9e
MY 3M@(?(IXRBD5*12D^!3[SB%]^4%ZA 2!000(F+P0H" $$6AE(88P )L@_d
M/O(@0,$04@""(0 I#T4Z QKF,@00%*'TO;F#YST/ B.4 2]QXLI>8G/ZL)Q)c
M*'O)#%CR8P8Z-(DK&3+/F,B@@]E'/@$QF$R:UM1Q%,U%.7)!,680@R8U]24Ib
M,O(*'3R? !E(W_LF<M&-1G/ZU*_>^F:ISG_60@?<1)[V10CN7) [K_DH?GWa
M!WHP( ,MT 0AT@(QD ,XD ,)@ 1KL08UDGOZD1ZLL1YCX'DOH *X'@@0 1Ez
M("?!UQ6^AAAI\!Y@\09FH"7UH1]P\![[10=@\1@J:&8@D')HH0(9J C0!@@y
M" )"\ 5$D 13L 1#\ 1$4 1?\ 1&8 0"1P7EEP <B()F0&ASP1?!-0?#]0:$x
M$7D9N(,?^!A=\8.5]X-*R(1%X(0), -0J +N8093*!>P48-CQX4:R($>V(-?w
MI@==@8(@<(5H05Q=411R$")TJ(,\"(8)\(-!.(1%>(1?, 63%P,:2 =YL"$\v
M" *"\65G\"2@ 7-&L8A$:(1%L 6**(2AZ(A3T 4[4(=L>(=@V(9O"(.^!QIYu
M."/SP1=B)P9A(0>#*!\XJ(%>V(,_F 1$\ 50,'D) .&^(5/0GE?0(R/B(PXt
ML(S"^(@4QW .]VQ(>(P)@ +#6(Q0L +?^(@I0(V(F(C66''9"&W16'[FV(QBs
MR 1/, 1+X&SLR(W>F([8:(_;*([Z:'':2([O6 ;.&&_S6(\!"8G0-Y#H* 5"r
M5W03!XZ3EX\&28_\:(S^6)$(R8Y34([!>(X_Z) ")P41V8XRP) _: 0X-P7&q
M.)$A^9 D603@Z(\B"9$R*9 ?V8SHJ)+-UHZ2F),$&9++UFP!B8\IN9(8>90]p
MV9$,V9!#>9$*>9) B8Y': 47:91?( 5/690TN94<Z9&'J).*.&]0.7E2&99!o
M^05-()-)$ 0MV8UC:95<&9=0"9;,2)#HN)9!Z)8*^9-HN9,K690NJ99LZ9;An
M^(-ZV98X^9> 290<:98H^054( 5!8)&""9=?P)-7Z8^:F9!V"8+..)F5N9%(m
M&)61.019P 1)X 1'N([;B)FB:9GWZ(^Q29J+>9?.B)JJR9I%5Y9GB9L_B 3$l
M>(3+A96ZN9JMN9D_>)R\Z9JW"9KH*)Q$0)SM2 .1:0100 5OB9G229V'^07=k
M603+Q913N9/9V8[0YY? ^05CB)[YB)W:^9WP*9 ;V(IW.8-S*(B$^(L*0(F6j
M^(&8Z ::R(GUH19&,8:DR)Z6]XBJ6">,]Z 0&J$2.J$46J%701IN\"5G8*&Fi
MHG:#0A*(<BAPQQ'# @,907>0\A(FBA(@4!-W)P-_QZ&J,GBA@GB'!Q4RFJ,Zh
M:A4CH(/(V 2/D09X4'KOH:$!0H+O47N=UZ,C ),(!ISD7]I,'Y,JBDTT (>g
M. 8(J( ,:'IN$'4R AI58A1/DB7[Q1Q)X08%\1\K2!@Z" (R0(!!H!Q;NH )f
M$ 0,%H%R(!BJ 6YO:A,%6!1URH!XBA[EP1K=]1=]V@93BJ1N\*8Q4 ,M8'MBe
M,*@)$!!M8!X1R%X<(A"+ :DYT )/, 9T4*<X<*=Y"AJ$P1RL01<;,@9I\"7Vd
MD1CO :DP(*JD:JJHBAX0F =Y4A2@ 22T2A]F AI<D:F+(:83M@9O*@,XT )3c
M4 9PH*N%&H$T**PE^*AO2@6]L1E\^H(.XJK!$:MI8(MB@65%PX<<-AAA\"-/b
MXA4V%A<+\A9]1@8C,@)[Z@:3]P)R,09'DP<TT@8O0%_ " +<VA4T"*[R,8(Ra
M<ASTD0;QFAS# 1MQ,1U&(12H48-EX2:3P:U?\:8*VQ>U<1EP GR@$:LJ6*\Uz
M*!_>X8+_<8(2DJUQ<F-L, <C8F;[*A1R<#1RX*]8!AEX\ (_&QDOD 016[ 'y
M&R=6\B/>EAHAJQEP(!J$9B/2T:T0* =/<AG%JB5NT*H,TAMO2@>4V(=%$G63x
MD01S\1C!-:NV.!UM48E[F(*]^JMR8"-JD;;LYP9/0JHU$K95VQ48FA_@8;#=w
M"AEML"1&H1ENNVGT 8A*:Q1NRQ6V80=F0J4@T*N342("06B;\8&%\;5[,;9$v
M8B1&,:8[\A==01A$41LVJX%4>*9T06&.NQ)(VZU5<B5-"P)/"Q91VUT1"+J7u
MNQ59>[9XBXE3&X=8QJB6Z[:'.B/Y ;EP^[AM,2,3DAI;ZQTD* :U,:7_IX-Ot
MNB1,"Z<X8 ,ZD !CBJCB:P,GX+"@,0/CN[YQ"'RA)QCE(2-\2P:DAP,P@ ,Xs
M<+INVJ3.2BE\X;XU4+[G:XONJ[[S:KQADB+WF[[^RQA-&@9YXB($7+[7T;E#r
M422DFJVNFWU?FGR(^KP@D,"UVQ6WR[09"Z[E"A8,&X(K.!LN*XM\Z+9 ^FU#q
M>K7#NZW=RL*VB""648-=8;+SX1YU^[GT6AJ@L;6)5AN@<<-"^B):\J8^(B*$p
MVQ4BT )S( +N$;-)*H-FD*9SP8=BT;)/PJ;/A1\ALL ;G :O,1UO.@=Y<+A6o
MTA84;!O2Z[9F_((C,H7[VJ__&K O,(4*$*1T\,=TX*]R+,B&K !MT :(K,@ n
M*R,"^\@*H,-X$<F!3,DO@,EL<,)*B[LK_!]%8HMS\*JQ&B/=NLB4W(=EP*HSm
MTK'=VH+=E0;:BV6)8:Y<X;U-*BJK6KZ1JR>N#,NAQX-A8"!S,;"O_ *#V 8Il
M@!N]' :,&K&_G !NNZKQ%X=VILI=09E- *]A$!<2V ;%_(''S ;)O*J#3 8Pk
M\,P^F@ >&X,G"",,#!IWT!OTX<NO[!5@H<QVP,S2#,V;(<VU",RK#&9MJ(+>j
MW(?"5<YF<,YST<ZRK!F:H:F\V!P-]LYBP,UT@=!\V,P0&\XULL_WO%^;H2>Ki
MRL]&H\[-#,T\G+J>46C^I]+7,1>,2Z"F>\VOG,UI/'Q_&\HJK!UO2AJ\.",Mh
M.!C[A;[(D1; VJ81B )#JAEF(A^&B[@IT'Q5ZL\ W0;EB\VM&@/0P:C7810>g
M@0)NN]!^Z)$KO<QF0 9XT-4[W:HR$-:/H:A#B@+6%B3R@0=JK=6(\=8)X-5=f
M,=<[4M=&<=?MFA]Q\B-Z#0)#V@(=K8<TO10%&AP0B+]OJM5HX-9P3<PS0-=Ce
M[=BA9Z"JVM!#^@*. AU1.VE3*K-#6@*.HM9F5LUN2X."#1U)K86;2A^+*\U,d
M$B(NW:1):R+!12$BH-5<7-%>?!AL,!FZX1X6:QB^?1S(QQ5G *P1*!I>81EEc
M<-V?/,%GPA5PP"=O(A]:W=(?3 <IK<]V4(,H_<HZ>!YEH!^Z7<(@,(T.NJ/Zb
MS:%^2!S[#2@6L79NIRDC&J(D$:?!DA)U%RD#. .50@,Q$ ,Q^M^>PF&$AQ0Va
M6A6&1^$<WN$*,0)\4'N,+20,C85SH(-\@.*.X@(R4 /SL6-]J";%@1_+%^-Uz
M,..N+*#<6\(V /G5N):I@!F -\4 ,L7@.LQF!%?N0OC@8VCN-?AAX==^-Xy
MW&!?-K:+XN.ZZ(=SH -<H )H /_,0(RH .$-@(J4>8".@(YH -M0 9D7@,Sx
MX.5@K@.+U@,P@ =DD()YCA)][N)]KBEXD ."+@-BD>=N*.@UX!&(/A-Y'@."w
MC@-8G>(@ON(MWN1/CL=1'H%D,1 Y?N7R<0.2\N-<+N0QL.0MSFIQ0 :H[N*/v
M >-3#N4UWNFJNE^@#@*BKN5 WN5?'N9C7N9GGN9B/@=L[N9P?G<P0.=A?N=Yu
MON>%7NB C@=^/NB%?NAXD.AYONB";@:.C@>0GN>2CN(J/@,NX.I=Z^2QKNDUt
MGNZI:^L[GNND+EPG7NEDX!I8QK9BFA3D;.2I/@>K#@*0O7YT<7MML,!^ 1A"s
M+@-\0.Y(/@=*SO"8SNX=+>4R7N7N/K;PON7RKNQB3@=D;N9E@.; ,NS%_N9Dr
M3@/)WNMV#@=XKN=\+NW0_NQY3NA];NW8C@?:WNB"_NUX$.X@KN+\;NZP7O$Tq
MCAZ9H7J?ON/ PG?Q;N)"/@.M/G*L'O013_03'X%'C^X7+Q]+K^M<SO&_#O(Bp
MK^;$'JG&?O)MKO+,[O(R+^W1/NTO'P.ZB.@O7P,9H?./'NF3+NZ5?@3[M15Fo
MP=1U"^1\'^(../A^2!Y%X=LRHFF[N(=BL+HXK>\JB*$-LK1;H>+<1X.)41"Rn
M/"-=0;EL4 >ZG+IU\,CR(?JDO\ V!H$J[K:/P6&6X:@B7",! L-SX-O2FR<Zm
M0MJ:?R;$-Q=<CAMW0.3>E@9\X/=/PL&"7]I8"/8>G^S!/O)KGNPF?W>2KO8Ll
MS^@$SOW>W_V:TGP>/O[D7_[FKQ!\XAKG_Q.!4@,N/N &_G8#'@,0;BDS@:(Mk
M,0.1&J>5HO\W,.'KKRG0J,*3X:C"A@N "#!"81V$ E\QD$X50_PZ"3 "4@!j
M*Z %O( 8, -JP W( 1/@(B ")(!=Y(J#@ YT $)0 P '6P"&,4K\@$ N ,Fi
ML KDOKB@ T! "0 +6Z %9(G5EAB&51>($V "!&R!_@:WND!^@QM/(XXP $A@h
M#(J %VF"] H(%#XT_J /X!W4 :"#$D &#D(B 9?,!$4@15"#!C (& Jg
M#X 0& *$L C&X!F\ ^)B';"!4$ #4L%! 0X0(<H@"\(!/!@4 C"* )XH, f
ML Z<P$&@@W80 "@" , #9 =" &-\ \D !X0 ^A !%@'+P A\( 90 <P ^@e
M 72 ZP#$7 0H" A)(4 J"$1,#!0? .I I; (T ,"$$9BX2!<!\:E%J9"d
M)T@(C4LZT +_(!@B!$#0![Q('7 !Q# *T@$(T 81 !+8 06 ";R-H" *C4LRc
M# HQH!D. F#@#Z"A-#P(=8 6AH"#T :O( Q QL (: !'M 4R Z/ AJ( "@b
M@S @X0Y"#8$ UY .?( 'X MD(10(!=\0 0#<" %D$5N((T *@@QTP >PAa
M$UD'*. 0!L2!Z$Z*@!D$!@3@'\ @#@-*:)!1(@*L0W8"J/"1)8)+CP(R6 8z
M\*M$]@+,C-)8B?ZJOU$P . $WL)3(&<Y;2NT ?OP&LZ49W@/:VHN**PZ000:y
MFG_J"C?0^B@MP7"RZ,,-K!-)L:8MQ<%0)QK-$# 34A%(F+2G" "NHMZB;/,Ex
M+8B<PB"#N&)4I&QF0G<!!^% '&Q#G3 ]6\BB69L[ !9HD UZBU@1+(H<]T;9w
M;- XLX$GKBO6-[G(M.JB,",TI.HOU(DI8"&>%&L /^A*^9%*J&V#,/I0UP)v
MK4$\(-Y5&,9 'OA9A,$HH(#_4(X *&1C%^1,IZ)JE88^-!&:UCDH3 @1K<@u
M&@54:110J%$JR@G0P!J-@KJ2:8YO0T"N0<061N,<*(UO+C=2MMVX(VI$&A +t
MA&'"%(GEMK+"#PIX<Z5QT2A'U>C\T,)J8WR?ZXYU!;P&!THC"$@ ( **(4=s
M,=5T%REK844L\7W'@M#X[!B.(X^E,<\! !B !0! "7@8)> -^,<NF 2XFW=Sr
MCPU"/L@@^;CXZ&-XO(^+IC2JQ[=@!LJ F7J/MFA!-K3YF'T@EW@,/1&R3B2!q
M!I,89)6CJH$DH02X !40&*-58C0*!2U1<(02@ -&7W6<$75""/@:M! C961%p
MH)$V<C;^A< H! XC<.QR/A)(K@DAJ6GJA!.XC*TQ!3TT&(0B08*2K!-20)AEo
M&N H'V*DDD20I2PP6@$K<?IHG!ZJDHGB2S+)P-@$G"-TG!%C8#K21C1Y*/! n
M"1A ; /U DCP'UZI(_\D35R21[).D$%B"./!#-T,D4&RH'W(@/C$/B,:DLVm
M(DH9^24UXUD(C/PG3]&'-9DHU>2@! !&8,3%"/%8 W."G1Q #Z-.W('M^'VFl
M%,(29GZ1+W!%A'! V $E0 A7P"JA 5/P7M"!$* 7K (, (T0 MZ90T EHNDk
M""""1% (Z$ P7"((H!%4 420"YXEX^@%SC(8+I.UX0KN031( HE &:R#70$ j
M&H$02 #,,EL&PUJ@+M$!#& "7K!9/LMT^2Q' 01HAS7$@6#+9QD4-, Z;(=Hi
M(!CT2@S0 N"A/*P + AU! &L @JP+T<*H4 #CQ+ M .&X&RI)?!<!'4 HD9h
M#+D&/V %JH![U %]D @J@;ID'F?#8;;#-K@L"P$;>)86LV6J2XWY,COF-5@Fg
MU?)9<LLG #)%)LDTF<]R7"*$8Y!2VN'#K((, VP@%) DN %8B7ZK*&%)-]f
M^2SI@!\8!%3S'^@0 Y .N$%":)A'\QA$S&?9 Q!"S,28_T 1C,V.:0WX 2(@e
M!JP !X"#0R8R[X$O>"^+!!X@ 699,_^!T"2'+O-9 @&T^0_8I;6T@F@ ';R7d
M?TD"#T %,)CH 8&9)( <!F.Q2;'/,?E,V#<#;E93!4FYDS$;3-MQDWYV8"c
MJ)MW$R'HEKT9.(/A.C@;K?,?#$[/N2[5)1HP ,:%<:9 3X LXR$ZN 0J0"'<b
M0S1 8P+%F0$Z( )3$ZTR3R+ "20FEA375+#XXD&=(<49(<D\ KT3GD(!8(Ga
M280 6! 2J $8$ \M)C0@G(8S&*(#1Y P%PGMO(?1\UG" 'U(/4U [L2>*= !z
M;$]T< "\I\(D!OBP#T"# % '%@ QC 8#H X4@%&($*@G$+B?[1 =>(.&" !\y
MYS5( <(3@+9!;# B@ W0)N!(&OVE(-@!SB [D0#5L"XH -3X#U]YRC H EAx
M88I-=8D".L%!4!UBLV]&#\YY,=?F/T $T& 19,U%T CZ)C^8!ZI@$=!.9IDYw
M_V8%!0 /P!84 6J /M5E^$0'!F"\N,^H60;CIS"L S@@?&[0#OI!:6?A5)?Qv
M$ W44!*X!I;G^P2@7E1KTH$%B@JKX+", Q"4!)H#6%A!Y>$WB(@Q%(!>T0 u
M0RTF)4";NF"-&A5A, !RZ+,$I"21 '3.S$E$^Z;H%*+J\HB2 B6J+IEHT"27t
M:D &%*TN0T10!5]ENB@$CP J/DLI68(E9[&Q0YL@!,:"51H$("AOM,'0%*2s
MR "D)25PI,&P%1B78U $" $",)L]=&;6 DO:-9H (> '20 /((">"0SJP#U r
MHB7S9.(*-& +5*@5H *LM&,NT2* #/)E',6"_A)_HH%<H$*) 2#UG<'@!/Q/q
M!A!*1^G[! 87X)0^RSJ #-#!*' !P$-I ,56@^F0#C]!\VSG,+1K(D%,\ )p
M90<J= R\4WD(!N0I+ZVG1>"0WE-3:D;39S#DI^A@" #4/FI/HR8PV(,=55TBo
MC)'X4/BI/OT'Z, !C%2,JE%-Z@)XJ2OUAJX.EYI246DV: .D02@@0RP*] !n
M"C"H6W1>CE.%JB^M:!TPH>J4 Q152V!1?><D, $9E)Z*THQ*2H%!!7BI6+"?m
MS@&@*@650%$M!E+@H"94^,E0ZX!#5:=-H*C.@*HJ#V$ 5KVH :"DME)@( ' l
M*DB= &25F (#%! *>"@8[*G!$ W8@:):CPYJ#:$ <90:GM \4%2-P5WUG<.@k
M!&152"!8">M0*0+,X&L6@</:-XDI( %NZ)SSLP. )LZ-E8IL^R$ 4 U (j
MM@$=N *)P!O$@&V0,[4E,. 'BZ / )YT"V_)1W8 >&2%7 /.D #@BL@2 31i
M@+C2 7G@!!2+#BD!G$6Y=H^M(ERA*W&M ]35NM(! _!60"4N3"P[X _NUMI:h
M!R")-T@$+LZUYM9$X%%/(NSLI..4%T36-,@-WLL@Z /,8 &XU1,Z"HKJ.-"Lg
M?10=@ ,2X! 99A7@!<#T'_0-B,D'GB7/4:WSLFO UHS9""IL,(2FTI05N((Lf
M*#+K@4E, ,+D(/ ! 7 /L($G=9W&!6MF3AU26AYLA*T&NT)LX@$+BTQE9H:Ee
MF<^2B.[8#QM-I^F(10 E]L2F6 "P8EOLB_6;1J47S%@ZX HUJ\5$!B\5#7#0d
M@X %>0$ZX $C50P2@X6Y#OQ &^0%:%-:4DMKB4F?Y;8DKMX27(I+7#$(]$$ c
M\ ,SX,RB33P( ^I ";BR678;[(HNBP[" 5D5LV1V!)1+<IIEO<&@K0->EA<<b
MVB(P9KMH'R &!!2R]@%DP&0=0"#8M%KS(/R!!5IOKB? # =%-0LPV 1K!13Ma
M/$T$Z*"#,H.N&@O0)F1!!D1472*" "!8$\(_ *WIH [T V%H#P'L J #;Q5@z
M-H"1R#]7K>\D *YV8>("1;H-Y0GM]*41%I).TB!;1.>E-6BS'W8>;-(EZD/My
MJUY]EAY5#2 -+ #F&TN8 #P<*O6U+W*4:VH1T4'K@ ])E5T:SNM +,E!/"6x
MI'+5>XI2[6V[S /Z-LO> 6;[! )N#6$!-+6KWE3$"E.#0,*EN&A $S#;"Q!Pw
MR^? -:FAA.*B P9P<0WNLT0#O8#9BH,%X!!!0,2]IP[@I:(#:G!,]VWM/+G8v
M@-FJ I9;0>5M5X4 ,O<3U-PLNP^8;0%MN1YWW@;#;=A71>X9&+H8UP.DE!38u
M WCNRS6I$T#FR@"H:W(3*Q"8NN@ ?#<&N)R?>X]_:HBE\78W#-Z<L< V(4&t
M#NKJ[M5\*G*+@7G)LH8 [&X"!T5VU8 D_;A[-0/(W$9P=S$N*@"[%RB@+@.Ps
MFP4<%#$-K?]3TS(#!? ':@"LE;6T%FU&T;7K4=& -@"['(#O,I%?RPS603% r
M ^( [&J@S\H,_L&NR)>?MO6^%S]P J:M:\6\M%,7F(#;6P68@2(HB(U UZ*.q
M)E!ZI<%!L+T'H0"$C(.J"S# Y8R=%[:'4M)NRS;!K6@1MYQ4J3;1;4H.IBX6p
MU((K %8PSW'Z/)E(9*4#+"!\FIV1F$85*3K ZN6E +05\HO1V) 60<:X?NBo
M 7,P=74G.@!SD', ?( ,JA#!0<UM!*4 ##S++> %OD!*A(DOX/B9&589%FD0n
MD_R+7-$K2L6P:"5 P]L;4FJ+:(PRL<5.4*1I&Q( #2XR-+S&0U6]$K!(& %m
M/\K+0!*$P(D@"5, S/C',< %?Z0,R),^& C;P!\\I(:P$"X!1#@(%V$D?(23l
M< G( 6["!D)A,H 74V.K##^<[RW,REJ)1PY"KF2,PX""H@-/,'7%+/$TGG6 k
M&*S0>B,&GVL1<,,*U0P*UZ#P ; @,:B>>30%Z@+SXCMG00<@P&%U?'K<6?N&j
ML2 @0 ?T8 G2T /X7K_*S#:1@-V,^ BC_1@1[@P_)P#OSA0!I F0$!-:!]i
MH!DD4#K:0"/Q Z7$$50)8.*0NHG_)S.<HAW4Q;[A3PL(>L'L3:< LY:20 Q0h
M;WQG!6C%,O0-(X*> 0!4QRZ .!:3$#!+#_M#@VAWS09'-(F^X64<-'$%"HRBg
M1>!\%N(Z C"*CJ@!.-P$2_,_PH(@D+ZY:=MD!K$XC9LB-/H,":!!4 1M^%&f
M7([G* /ELI$X&E!0_VL(<DB"_0,0QA5[XU 8<XP/M:"+& 3M^&%3$['\1RFe
M SX !:*!U%D%^^D!",?SV-*6XSHP @(Q$/"XRG@;'V(_P(;?,#V&'& $$J];d
M>;"/*[$ \,>^<Q^D0T[LC3M 0=X R!(=7 -72TSY02 M)GV 'PR !_ (SL%[c
M\;O)N T;1'X0#,2!)&4 D*0),.)@P 2@50VQ.@@&Q@7=LR-D7(Q5<I5@"D[b
MY48 E:WR5#:E5YD;HX-8$&.MBD@&R6!9+#_EJ#R5:T9:/L2&H"V;TK><5[_Ra
M&U[*37DNFV5V8@#,,E;> GJ9*P,"N/R7PW)@)LMTF9T4 ,.LEF% 8N;+2;DQz
MRV7(/)B#@2"YR^B@ %SF;MR5^W)(!@2 >2R79:G,3N0):-8&_M4MD^;%;)KCy
M\F->S5.9+F/E5Q";]_)L9LRHV3&K9KH<!"@S7N[-BADXIV;!#)K# '(6R6V0x
M'PQ.Z#P&IS-JMH@[X T74-/J/]>!OC6ML*(* @(T( 5R,@,8B36$!_Q:?C!+w
M4HC6A"P, !$4@"+ "8[O.P8 !8 BMV%I20AV 1! ILJX$##C1) -+JEPU:1Mv
M\+D*Z*!I,>ZS\GTO;;CYML-=$'T#]( NT-_V0&/?:;R@72>Y1 /=]R"C@Q=@u
M8A@R'(:>#[D$A%6S8US<,3%&!X6@)#/B^3N'C4M[70<J&0U( F3I?SW KO"=t
M%R # &*0F@.$= J$J)RS%&1.!NR &4O<@ 3_H G0DCX /NG !"B'BJ *( !$s
M #XM8C!H P@ :P#<X 2+XLT00"<=0PF!&+J11IH$Y##5Y .>(!FN'D701/ r
M!^4D 8S!7XL VB 7L1UAT FN@VP0G9UH2M3 E*UBU8< P178U)9\D7E 1 HHq
M12.KRA6;*@B9*ER9+JZ8"0^"-($ 7]CO?E_%N95E(8J.@G4@ 33#=% .\&8Sp
M%(/P8!=TZD6+#\0@/5 =BZ .P(/>X3;AIMP,*(E 'B@!D4D/$D$5H >OLPT6o
M:UDH!E=('XB":3 .'.6,N*?K #] !Z 0IMJ\_NLH6@AH *+<X>F0%7P_Y+En
MLE[67(08.)!N'0K7+S[&!^C@&6Q.6WVJ=8@K=!=H0 28&/];"(ZR//0#%R"0m
M.EA\8#%KM2SLK0CU9OY6./LMK3*R/AMAN6##:H3--=YL<067RR!9RT*R[)KIl
M 3N)RO0 "TJ5"%"N;;7)+@+%1%W_5U3M ; @/T #0&!?5^("X*_1@3^P )S8k
M(/9I)PBK);8LS-6;Y1I\S)!934GFL4:9.GL7< $3X[.+]7M5V A[9U+3D6FLj
M'[;.7@1=@!\T[?D*M:VEU";:5/MHHV%XK3C((<I>!^7:J 3EH* 7K4L7 <Ui
M-SK;:I%]._,P.H ")U >)@&<?4.!P>ML!&6 '##IE#@%<$$X/AM<( 2:@47 h
M!$@ V@&@* 0 (,^P !:["A 4S38EC++<!8<,&J/1F1>W)7;FQPN3,W+K"6g
MPV 14 $2($E!( ,P(73 <4L!=! *].W"9"R.) 3"[A"(!BA!!$T$MKL,,A;5f
MS;IS]^L.%[(;'52!Q\E+G?330"!=& !\83M=E9L +[#3?3H.$( =$ /N 2(e
M HL@"' *Y(OQ2 N>(7DL GTZ0 01=$R+L#>_X#7%@&3,32+0'2)A?6Y"6("d
M $!,64%":(*D8!>"@K/1!#" ,< 5C: )@,$FP @:01>P!O^56J1!2: P^P Nc
M: %UP(#39_E=+-F@^EX$VIM[VP$+L XTZW_%!2M ,/Q:6H"]0?CV[MX1 'R+b
M;_*MKLWW.J"@!'Q]MV^K_+[5=_R.TKQ@':378HL+8, #* 2"H('.[Q8>PKMWa
M Y#AXQL:Y,O$D;YUN,:(W^8;B#?!;!W!@X(P6 =,X(2_ #\0QBUX#O@#1F 'z
M= %&8 <> &3IX8Q@U_Y:1K .O&\3@ 4KG(F_\#O * X#:>%++>%L^\K'@"Ry
MN/7NXG7 %73Q-"@.*C@N< %''!LH<1;^P9OX'8CAX3N*E^\B<+YQN"#?X4V@x
MAR. 'VZ]+28PR,Z,X(A7@@HNP0G!(G#D1KP0!())KL>Y-Q_WXU)<7:^#0/[!w
M![D_*>2<'(C_6EBPQ5U('Z 6=<!O)P&UC0O&.!(XX6=<"*AQ-NX WKB=CN.Hv
M0U@.\SQ>R?=X'\_D?WR7Y_!%X,NQ># _Y,<\*,@"4W[-4T PL,JHH! D X =u
MI=4( P<$.:#/7L$['J51P7]%!0#@#Z0#8CC ZX "^.=0E!!4@*DK-IGQFLZHt
M#[T=?M;[4K^%2OV.@O6[37]6GVPV%;A59@3$%!$DA'20#!;"?T4$!X .R(!%s
MT @03O< 4V $M!>(LJ,-28S;@0$P!%<<WX8 1H!$Q "Y[/#/LMT(-*%9Q] r
MZ77 A1.9HP.IL!,WN3LP%C#@W4P!4(!#K $Z9L2A MDD!%I #+ @DRE#D@5q
M*?#4 >A"K@*$8*FC4@U0U@F %# A=2"MJV5#4-:!+K.N OC 3D."7$T)&@$-p
MB+EU8*\S<'Z85Y% 4&?&Q/16*G&MKBSGN)U&!3 =$1!E%]!*^\"M= LG_0#\o
M :5>"YCZ+# Q4%VJ4W6KCM4)N%:G US]'WAUL"ZRT8$L .UF?1JC=;6N/O4 n
M;'?K<%VN'V)S -OM>K'&ZWJ=K_MUP/X\^T #]'BD/7U#:=3>U;]Z'0CK4J4.m
M]':3C=<7.2'H.D1<+AQT"UX$CO@!>"_</'OO<4P^PW.Y(.'D-]R#6W'W#;^'l
M+R^@ U+@A&/P"J"_LSDE%^\B_ *L@[MZPE-X# CO+MR6DW=-7L/1NR?OY:!<k
ME)/RZ]T%4,$*Z *P8 D0P_U-![C /=@&ZP +B'$_H.'-^!^0 @ \ -AI5H#3j
M%T /H 'OY0\PPSI XG.ZG<8%/CT(G,\FP H O"5W +A\BI/5<5[.@?GI1N?(i
M7!00PP">!GN ->P#%'X W(,NP K:("18 ?9[Q/MU4\KB96L?H (L'0:4]AP0h
M#QZ ([@%'=W%"O5@Z,#9 6T/AHNNM*.#,G %N&QG?Y93 +1@ 7 * $"+"D"Jg
M6;ZTIP :7T,P $QG!7\@8WN8-NC@G:>4IP.CG+XRX^>!X@\"43XH!^'3LH)&f
M#P#\0 ](X"Y6*I=Y0XP&*+W-?IKB.<XC8J0*6HQ!6B7@)#X6, /WG A8?)]Ge
M]"F>&8109CP#4OP)L)C8 *ZS G3P"T ]KB\B18 =(!$)@%3/.B&XA^E &"#3d
M7._DH3PJ )(9!+X^B*0ZRVFL+?V2$00(%5LCPZBP*G_]9V^5ZX!4$]V?SVWc
MWP6GWMC_@T77#M<]"VCW<1TKFX. _3V-O=1<]SB@W=L]>*_;T<$-.#3W4'+_b
M 1*P[F& OG_W^+C?)P)Z?P^-_3HP.*:5&4A\9D!,"8'$'P%]L _49SI ;!@a
MOZ\$#%\V&VM77L /N#$OGAS_#VQW"A O,<Z& +%E@(, #F]#G* G6:&+@0Cz
M)@(1#P2 *S<.KLH8!B0"/$ +%?'-)^?;4)"(>"S #SP^5D8 -^J#(#OBP5Qy
M 3J WR[#=("!+RD&W!*/ A6B7$[[D60N($N,O %^>VAV(,E@ B4 5D&! $@x
M&: 90 (A $,0 19-QC(\SH #A(!-F# PWMUVXW&C0"2 ! E 0= LNS:8* .w
M$J@\2 3(P-*$_=7-,!LW,XS=% !<2G%PX,8YP-W/ (R? .AJR _XD6 YB",<v
M8'I;Q&;=!NTZ/B"F%-UL%Q-@L '$(#IHAF;@'@ !#& KZ@ S1 ((8 4@ 6:(u
M!2A "LC8R)* WWZ4G0B&?_.ORL!_MS;#10 %=G94+P+D0'+3 2106^D $5#Ct
MY*!T)((N0 X>/#EH@^0@!03[_RI4EF&NI@>*H# W4W(0C=?!O[#3YU^L>\P-s
M30_P/UDNY$U _X?]-0(4P)1V7]0!.<!_Y9,54*]:];<.K$IF6UY73(0# " \r
ML @@ 9\9.W !HF4A6Q.@M2$!U1L;(0?P2[)?[K?[V0IT I@IQ5KPQ_[IT,Tq
M /\5.4 V $' #$E [)!V)_ZIP'^;$T .4 BGC,7_4'!5R )(!51@[\ ]% p
MOI0.S /N&>=4!OQ]7A]C,1H9"&P !E4KT6_26]B'L@T"TE10@$BH;^Q$[0<"o
M0@$HT 4( B0"C0 68"U% \R2&KAT,1':'VP!#*0#F #/U;\]=/?;V8"R;8!Hn
M(&+G0XE65=E?QJ$-68P#RF8"\GX)G2. [IAM(#8Y ;^ PB6(E0(/(*Y&B#0m
MJY5.=%,U93?A3:M3&Z;]20 )V@I0"!""8A LD [$;P@!PB9$$8(66YQEE1$"l
M>57F9%IQ 7=5@L8LD8)WG,7$"I"!J$,6A [< L/6$L$ I .Y -XD^U%_?=KPk
M-P @ 10 &FA"+%UX@,SW !@"3<![T0@$ 1E$(? ,_@,Y #0P#48 UJ 08&TQj
M 3"3%@!)0 .S$Q409$EEBD @ A,@L^2VO0((@(" ]0 FQVM=@CF- I >\%i
M(* #E !I4!#P7MAI@( B(!"^@X^@/,AMJ8/!T*YE#^*#O8 ^F 9) /U@#@ 0h
M$@()P$#(#@8!O ,\^#EYA#_4 / 06@#Y(+^4!E$#P] .<!$N QY<01@$# (g
M83P($A)1Y&!#& ",A"6A,)0&273XW$5X""R"C0 &:)8I437A/Q 4"A(^72LUf
M#-@-WQK,)!0V @PA#2$,;&^5P#;X @"&5'&I TZA4CA-K@.% P)FB* 2 "e
M&@ @L _<@Z>3;04%^(,E !VP! @!OQ8@L -4A<^2'/ --(!-!!&(!CZ"2* 2d
M6 <T@8, (Y6@!86N&2"P#O!M@6%!](8%A739.N"/P86"H"E5_86"HZ!210GZc
M4$34(_C_H8&4U!OF!Z5!'D#-%1<Z<*M (M )J$MBTS;XT/$#", T%&&)5H b
M/P0!F$M]7R%0%,:%9Q 6\ < EB /_8/D "%P MU$( DQ,]T*D9AP<!"U <a
M'H?,X4& ' ( S^%SB -,3A3 <G@0!'\' 29@'0( 8,#D- EXA^#A0? =BH?Az
M(0 P'IJ'Y6%TV!Q"A^NA>N@<MH?K(32@13V'Z,!\"!^^AP<!%] ^N8?L(7[8y
M'_Z'_&& V*FQ OOA?0@@&H@"XD% !,QJ!1, H UH4<2 %B4/:%$L0/L$ #2(x
M_"$14" V%NT3.] ^80(;XG\(!JR'X$"(^!PR Q;B(- (;(,!0#K0!KAG*N(Vw
M* "D V$ C+@B3DSI0!5@(VZ#"$ ZD 3 B$6 J]#Z47_\0"$@#?0!"4",^"P%v
M /> -E R]4T)FFP8%ZX#.$!/1@!,0^O X59GG7$G@!(%)5)?1B$#$ @X$DK u
M^10[18F^0)?&B.D#+\ ?0 W469 <$K<(2HDFF3Z@ OA9@T"0:#<$B42BD<@'t
M0 !CHFIH<)1,:("U](:M U& /<0F^@%*P);X!Q0!@2*_!/$5 H4BL:4HCG$Ls
M@*/8)5**W%:E&":.B41 F<@L>8IHHII89[6)U$"4!@BD U9 , @[;8.# #CPr
M" P"R #0M14&0^F #^ J*E&PHJQ(*YZ!MR)@80+LBL%BK#@K(@.STS:8#C@ q
MKF*>*"0&B6U@D(4$9!!I8)#E0^U\Z< -H \(0[QB*^4K(@/ HE<( D2*P5 Yp
M5@H5 F0 OR0V%87T0#NT#B !"($Q@"ZJB[;AL\0.N(LPBKR8+@I#ZT"II2_2o
MBT4A/^ NPD+_8C#$:]6+P1 YT [= \%B>%8'_ ,XS9X=- !,T MMB_*41: n
ML[@G0@ /P"_0\S%+4>$ZT" :%7IBZ_< W (?8U/H.@5L&F/K%RUF3-,B&A@5m
MP@#2@,7(+UT=6%-4" #T 0* +. .5@(*6+G8"P2-<I0!< ]T E$A46@MP0$$l
MP!10."6-IE2U^"RQ@</ PA0Q2HJ-10C@)3Y+.P"G& S- 5>:UXA0Q4Y6HFM(k
M:7U-M%,*((MA65T Q<?)/734PM!4"' !SQ*Y5(L1C3I$ O!K\0)+@#$P +0 j
MZT#%V M<C#J$"G U!D,\Q]6Q-_:- \ *L XP;X?C/S 2Z1#X0Q' -_J-($#Di
M6'/I$$E "!4PMD,*U-ZX#M NL"]>!#,A47AU6$N(0!=8U&X)N2)O( L 1$h
MCN8BY2@+8 %U'$(@"^ !>!_C*/1U <! ]A4,J8UB$"'@(N)-Y*+6]%ZL RQ g
M\@@ U%S.8R[$MSF/T..-* R-1)$C &!P&'1BDZ?HC_D3M< V6#AYBA83! #Lf
M(0+ 'BX [!$"2 3)<!#,3G3C&X@!I /N@$*P!+2,T.),*#6F3=A@.K )*$PEe
M(Y_(]+%7!< NT 7<5=GC]M@!4&S?0"OX+>%T@A?MM YT05Y0)U 4XFIBX\OXd
M#TANX9#JL YL $"4$%449H8ZDW15 /P">-,3D C\3%%3UA04; !*%/G( & c
M:.#)5"<L 02A01@2"H__ /%83!%3>@8.&)*QC6[C=?%9Q8T04_SH>LF-16%"b
MX, U><54 .!#=8U]DQP@ KR&." O$ "04V>6^N<V(I$ 0#KP"0B1*4#L%#GBa
M34?<&F0/[0$HH ,P!<1#HYHA$+()@X/ ,' %(8S_P*?%#UR)X! (T,7M$!:3z
M^@A'^H)=P!RY01:%=:095 8I4=-7W[09-@*RH"SDJL5.8M#K%SLYD?[0(*D%y
M40!SY,(T!2A12J0H6!3"=5K0/C /O(%F4"^@0Z5!F4 ]H!4VDC 3 U#(09+/x
M$C%%#TR2EI03U).UACP4/< +CFJQP"DI#*8#5X KJ37A?KK?O\"^$0+$&.P4w
M.A532E1-1TN2>;+D7AAD[8' WPZP/](!H*#S-^8Q#L"?\ =T.5/1I%)5%.H"v
M^0W61@BP5P] 0T<"'@3](D(00O8"12&!QBW-42@D0J!"]@+,&-;DT%E"W]?Tu
MAP04@?LC$HA,[G[_&:*G"UA+ZX#9L A4 J$3-(" 0$+6!1H^L41,, 58 ; t
M?K.<VT8.J()] +@0()+30 Z0$S! S! Q<"_R4(H@$K)IJ649ALY( 9I8]1 s
M&P0-=%#H@!B$#6!!X),59#%1 T@$(P O)4M!5#8&N#$#31H<T0-0 O598W$ r
MA ),)9<EQ>$YB1#E& K (F0%3&J!0(T $+P]0$ 85_BQ@#D?D/ OX T $5q
M@!D0"(P!&, _< \T3*1 4YD(3 $H0"+0 <25!X$O@%?R"OI6#C ,'#*0I I(p
M6U53\X#V1P( GM P< 'E "?Y!! \)EW'&0$P \- 1H $N$)=)615!QXN@5-o
M+("=IP0X1 0 6?DOS$\+@%K)5@( ., Z$ &P072ES0!:- -1'V(!#)1^TL3?n
MQ0^0@1_5%41(+G.+A# 0\!V)LN4ZT !TC&,0%" %H$#HP!( +P( 7U]MJ?J9m
M05U@'6 "Y&IFD#%0^\$!KUL9^!JT>DV?-="L24W:GT@Y!X8 KEH7L+.-E<DDl
M"B@#,) C92*P##B-65 YQ _%;$@$/L!;-FM^Y1&7#2 $71,.R#!-ALH@,\@%k
MRGQVP#,7#/ #.4 T8 ? (H 3"@ +%=D@")P.B "0D L%QE 1(F[R $/)C=j
MPQ$@8<*$XN!R50,$A@[$4IA@W@%2G&=&Q2E"#N80L%RQ $+ B2D/E$.)@!"Xi
M", !1:"U]@] <+J<(KA(N4(!UR(%1DR.0@"-6?T=@@<''6 #]&3Y#63A\R$ h
MEZ#<E E:4Q19WK0WC4':GP. !3%,%M&-F6-VE^70(9A0(@ +Y2=5C$D#B8!$g
M60; X.; 9$$L0,8P/36!$!6.4!08 'D:I"5=9D(:&\YGKK&03)#4IK#)L^-f
M5_\5O)6J+1/I C <Q!P%,#B%@1@ &: 9@4#F %E$P0@70X"/0 OT%3J$!U e
MPZ1I'@2.)J0Y @@!D*8=U/)=*HN $/!8YDO8FU66U\V9BT 60 "L !E ^$8!d
MM%0,0'9&#\P!)L#XET%@ [BF&!3550'HP'\5.<T%U%L*P 8V ;N%LJ<04&\/c
MP"L0 %IEP-6TV02P R?E2#<*( 3L%1=@IU5.-UZ?20OM>-\F.;=YQ6]G$!;4b
M:09[T6:7R6SB= $ E$=1[%3#8!%@#!)P^( <YP1%:=5FY21KTIKK@!& $*AQa
M_,!BA;7Q RE UE9NNA#[@ (@2Q%HE$5PA0\@:'>:7W=3/7<XW0"P6ZT#JY0Bz
MT*<]=_T"1>D$+0'@U;>Y\RF WIK3B"L: \\FLVF5H0.[@+4$^R4$.4 V8 >Ty
M;25E"E"@,9OK0!-@;%*.L!\GB U >>@ KFFGL0-37JNG 0: 7)X=T DF\OFx
M5!>0K8!6652'#+2;#%-)V0AP C H-DX=@%56=:&<J: +AM8]VWR0T% 9>E/w
M"9R\5)9IIQ%L- "5AP^H?_Q '8 -C)W$8=:FQJ$#<D 1.'06 44GO:G^>6Q]v
MP+$9 41IR%K6R0[L>?3 $;<X9$Q!(I1'#P!NW$";Z:D]#9^D>=E8KII^9C75u
M5OI^6^9DJ7:" 9O".!;6(0";I>L4;9@!@P!;^0V(EI\#'5 #' .M!RC@!PP5t
MCB4.X%(. 1P 'W![ @"L)UM)3Y!+_-L0,#D6GYMC\1ED%F/ . V6GR5T@0)s
MH/I!5M&E"/!MAH'/'QEX-B !9V /B 2*0>0 > D,'''MH-GFVTEN:1 ?X%]1r
M;@F='# 0,G]C4!O4:*:7WMH/,!"&D\Y?#W@!5H<]X#+8#/: D%^PB?TI:]D9q
M.? # (LG]E6.0%_KJ:RAG7:?L*F_+D!BI.+0/%W_.V=!F<7 *-M T\5%E0Yp
M%0$+:!'H?;*!V%^^Q$$: >N #W 0))S+7^54_0T"#:<=H $0:+E:!B&T;6A:o
M&P/@FFEMX<7#E[[Q ^T@/;B>"0$DYXP)@M:80%GD5 <@ E@;._#@M:!(9LN'n
M!HQ_X("?QK$9@1)H-MD#T@$/P 4X3N9U^.<X687R;!X4.HD#]GU% #C 01H m
M'B2]%T+V =R G08.W),G9 JY0AJ)=("660=\H"&H$?A] IOT9CHP/." "VCPl
M-_S1 1W $#A0^J$D:/C9>8X?B&8CIQ!DFPI3&P"M$0*<EMFV6:2A,6<MZ4'1k
MG-B T]D&@0,^Y%3'!51PX #0Z4$)G5 >&DH."*#GGP?E_U6334 <*@OE ,B j
M'<!E,@ I@#8VU1E]S)H']8 .H&FH_\<!2)'=P]?) ,"7P!4(.E^JG;( S-=;i
M+DPYP#2 B.X 50 X( >T *THKCEX_E>I:"B$>%8/9EL.NH.V0=S X'G$A5&0h
M)P0@>0)N5X1%^4FN;@@ #+ -X *L0#N4^TT;RU#HH%:" /_ !H$$X /+8 :!g
M!- #O5L[-+MI TP%0N5;,A&$@&T% >"C^F@@<$R)> -I\T</&(E)74(*#RD f
MH0 MT.[E<L5$6'< I)Y^DP"P3'!NGR3A1[R90?E N- !Y'ZD)JZ 5@X">@#0e
MP(4N EH !+ #: !U0 1 DR*"J1I*NM^!FO< J6DK/ "5 #"0"N!-ATRJ"0$,d
M3D* (!%!M&T2 "* #-"#4=1L>5D@;P0 .K!R@):6!O(VRL5N6M ET)M9&A\0c
MZT:\G:4D0)46E[YU\Y!Y<0\-;R"0W4"/(F]R*01 ETX>#A$$P%B8I81I#0 !b
M3$/K'@,P#35U4]==R@;EI6\I7\J7TJ590&,*0.&E;NE>&KOUI71I!F"9"J9Ga
M V2JF<:EDRD240:@9Y>I/X&6FJ7HP S02C$1;*EH&@(A;PP 75H(B%X, &:Jz
ME\ZFL5MMBD3$ [BI;AJ9]J9T:1,P=@EOJBEO&@*)I2.5U%26QFYAZ3?@<*EKy
MEH8TP0#D2CH;1]H A ***3GD,&&)0<!&J:8! $;B \ ) .L)S@0 )@!8I _x
MP'KV =##>)5FMEBX4)IIJ[%I,10[4)6= XV 6)<+D$M'5"G ZYE-90 [$ 5:w
MIV'?!P=VYE;!@#M 0\(#(M--Y0TTJ$ 7A-H]Z ,JH,:K!U^?P /\ >X51EJv
MA<H#P -U #S!+= !.8 1:1A2D%- %& Q^9+H0!%@7+RG_ ST >PH7[;4$FCu
MJ@-^0 ;PGL:G"H"*N@[4 A!ZOD'K!)Z(#XP$+5MQQKC9P$D ,( <<D/Y +Jt
MP+/DSDT#^L"/NC7-I]A ?:IFL@,,V%=Y4;(#"\04\%\=4W6 5!HZA!= .L9s
M)/X :VH=, &HE4$B., XJ&]6&0- 3"6?#X5%- R!$M% &< " 'W@)]Z!]$!r
MA:4TX =L !_%"AH--$/30$X9#4P#90 "H*>-E6FF&:#^00!J)94F / #?< $q
MP)U.0V#3-/0+W9N=*O@T /@!>,U_!0M90@09J5H!@ "F*@Z -X4"%("LB@&8p
MJB? >T&GJJJ+6Y!H!@0#^ !T)4.1!A ((!*"$,)@#'PGKZJ^50\$ RD S0Do
M,L Q(:V #" K"JK_%*S"EE "3 P ,@ /&:K8Z$ &*RZH_T:PF M+J+ 'Yn
M?42!@"0* . !C-\&@ !X@^8J.("N"D.]A#%0#B%8]T,P@ Y, ,>J <:M^A/]m
MZK\* (@9 NL"T)4JJPAKPFH1E0!BAD 4:Q6LR>HXT*T. _ 9XC>N%@ %*Z"Hl
ML6I-O<0P0*!-JV:?SA:O(@1*JCI@K^*KVJJ^&@B,K.IJZH:R :P'@,!*L.:Kk
M",#,2K*6K,V09L6PH@,.:[8ZLT:L"8#)ZF+) X ;/1"FFFEO)JBF!?9I;QK6j
M-DX6:UT /A (E $-Z2H5"-QI!0<!!P%,JS2D,K MQ(:50## GCH#K*<YL)ZVi
M>N[I(" ._ '#JE-V\Z&L5AD\H @PFW,@ 8 (,)MF0!0%N 8 R@![&I;1J2T$h
M/X"XMEZ11']*#_RG"$& "K@);E[?5 A\$F^0Y@Y ^?$!*L#BMKIEKI3?'[#2g
MK6X4@.8: LD!E1/I:KHB '? G+:Z^:2"WXFS9*T#1MK9\+J:KC-@D,I03EW,f
MI_-V^I&I<B8#0+9"?H<E(C &,:6^I3@@XLV9PRLR@ J@K<! K!@ =(.=$#'De
MDXT?1FFB>'SA3>L P1%'8 #&FP?*4R(1Q0",:%78J5;0]X5$T +FJQ9$ \Q+d
MP@#UUKSV><^K8\&E"DUI)N#&9EJ4H6EF&@(% IOI,"29;J9T*>_JF$H3+,#Tc
MU@6L>)73F]:\BDQ9I_#JKB(#RY73T*Y6JQ$JNXJW4K#= P_AP%*KQ&N'^J'6b
MFA^LV3>B@A+3WT&4#MB;"8$&"\(B R2 "%L'1*L;[ E;E2VMZ8 (<&]NF=_7a
MBXI$- /!H%5B,=UMZ( P$ S>0XM;$R /F $PG3_ E$:OZJE.J00E OQI'8 .z
M0*X'08 ZQ5:QCRN .@\(J!& ^8H!I)MU@ K0","ACBL6"P!(KL]:?WK%>K&Ey
MP!F+#O2GW( :&Z!VC%V $_L+'*^_0!4 #_2BB8!OJ0_0 '] &E!G?0!^ * 9x
MU964,Z?") RHH8JJX#6IM@%7;'BF;+9![$">!GA"5]- &\ ._%>2W YAIRU$w
M >!B%:6]FN@ XWET[GFJQ/W' RI. :"N:<HZ04=G '"GL:?8 'M:!'@3^BD5v
MF\;"L5G9MF@4E@'(@.4I32 !P>L#6TU%L!OL<H4!?)O*;!WP 4"S$ZS()*IVu
MIRG387H0I -PP+TIO[ZP,:R':@5]LR8L/"#*,J_@K P[!**SY6P=0 1\L]7Jt
M\XJ\RJW+*P70O,JS3:GTV@WZ?KBJKFJJTFR'$ <@J]*JVVP]4(KIEM&2/U1Hs
M[0/[5,?G^PVQ2(0TP- N$1# +F!>+%KDP#$@//U62T ><*MM PE<L:; _7<$r
M6G$6RB5P.6430 S8:>/G+;"\$@,GHV3Y"@@#!. 'D @$ X% .$!L!0!,0"6 q
M# BL@.;%0 0T E\=)V>G$0.- ![5ZA$#1\ @X'KY ?ZJ I?40A+)W! @ZZJp
MJ<!NY?<! :I;)_#3J@,00 ! !10"6%;5N \8 '[ .K!;24N3YQ2UN"$ [.E!o
M)PP( $F?5;L/K*KN0!(+#[@7'J";R@],FG;:$AL#- &\['X:TO)PN1HN8,=^n
ML>C !1"3#K.L@.5Y>?ZN0( "^W%691<LY"<R>0 NK-EGS8ZJWJDV&T9V _>Fm
M"TM#JK20!3$0SGZHR%6[VL[" /8 I86V)J_U[#T+O>JST$ =H 7TL][IKKK-l
M0@+&(#5[VA(#Q)">40<D =2L9UM-]0"F+>2'S]*VL2UQ^\3BMOQLKMK;FJI&k
MP'L1JWJG!&T8:0.\%T*L0IL "+/BZT,+>"(1^L!C^W@]=)GH9^4UU6^2G <Gj
MTE:A=QH66E):94'4M6F540/XZ467$! .]U"OA1#H N22 ^<#3E&+ .NX ,@!i
M"\ =( 34D2O$;Z4$Y 'O@&"%-ZD.N)X#APPD<!^42KL(+ [ )@!Q0 1VTOh
M\>&F +-?B6DWJ+2-0!X@2%Q:#ZXXX0=P Q@N.>7 ,0/1 IP#PP 4*D!8)$.g
M0TE?'4D Q+@"@!] #D0#;0 U$*CB X4J1@< = L.Q)T6 2J_9\"EP $@$; f
M(. /T !>'C 4#.FUFFI?&PB,0:U7$BO8$K93K(SAN 97P,!B*Z#J _8 F5<&e
MT *2K74ZO<67E)O5F@CD ]'L3<7G5K/= PWYYU:KJ^T,N^?6L"2JGDI\ZA8Kd
M)":4*_FPZ$ Q% Q)J=N0Y34 B*?\P#) 0_2R7*R;BP[4 7'N,(L.&+-OYG4:c
M]IF7U&5SR\$64)VM9AOHJKJ%;E_EVD)^)VS-L+3V"F#E% #I!@ -:;#*J6Z1b
M*P2G^\M&KHRMMB#GCKH'ZIL) B2S+RP$2\ZZNA0C/!O"BK/,[ 0[HB);/&P6a
M!.E* O? &PC7HIPA3@L'=@970-<#D A\ 00 :)O-UJK&((VZ#/P!68"6FH>&z
M BR K H#8(GPEKI;JJ9O0%<A%P6$EO]5?-JRU0 H &): Y B&GZZ@O> @UIy
M8/%L[H$J[#60$'2,85F3>,CVJ+:D$ZD$@ ,H:3D1 @AJJ]3Q92UQLN# Q^NQx
M];)E #BPYO8!X("GNPW,D<*F5(<%015U@)FG\&I!($!#"GX::\4F,< !R+M2w
MP"@;S6:=Z$ S>Z$6? 9OO8N/T;SL0&BF\P9[,B_!:_ BO/A8:%$'D /H #K0v
M[2)4V!_/>W1B;18@E98(F+OH+OIG$,VQ90 U4.=.;VP "= ,J@.,WU@(#12Zu
M+P"L!=3R (" ='FVPJH"+7=KJGX MZIUFS+YMF&D P"A%;WH 8@,M5^B"\$t
M(#)) /KN=[K-QGY>$.)+0R:O?T BD Z@K'/@ 1!%)0.- ",0!0 "NT*X% SHs
M ^6J--"4):O+JM:4 %@#]6L^=0\$ ^\ #8D/7*L8*[?*K H,=)\X(*XZ978Or
M.@ !( +!@+Z !\R! P "H Q$4:JO.+"ODJROK\<*#DQF<*\ZL*5% \@O G!Uq
M\JP':S#4K ("XL ! RD7NPI.@ ,Q%H(0)1J"P@#$.NSU*R6O](OR)JO9JP;p
MZ]'Z+$51P\! U+-JK AKTIH(? .TKRF%#X2L/BOTJ[0&:TQ:_#"FUA%A'YY;o
ME0VZX1*'*L[.H']N._L [+UN0"C YBJ#0"$!@&ONE]5!>SJ&G1TD*G:#JA.n
M'W"L^ <,1(*$"*P, /J0.K;"% " H E& P% OH ]"!J$0!&XA\P ARZ+VS]m
MR@!HP*;J*J 06'6FZAC9PD(#T< //\6P*ZOTBJP8@#U*P2 ^S[!(VL4?/@%l
M .-JS> "@[^_;_)[/OVYII0RH#G,@06 ]DL TZPE*_C[ 8R_E^Z>BP9KI>EOk
M%"4,Z+\^:_\[#+"G^8"^\ %HI>.J/)'9OL#J0!H,L]J_WB\VH+]*MF,J!?"%j
MG:D)G3GP>O4 >$ SN0Q]7Z% )2Q5I@/. +F$O:T #0 F(%=>FPA7(Q +_ ,Ai
MK](9#/0!^NFOI0%V (Q 4_GUUKPXG1,0R#9E!1$#,(-Z@/)<) ?>-0"<@"Q,h
M!&@ !,! Q(L6 "2 :_4!$</&< !0 + B= BT ' DVE&L<.V $9@!U@\U4 g
ML3#G1 "4%ER (, Z=@'LP!V K$6"#5,W7"Y]PV0?5MC]%0#6L!P #X0"ZC !f
M" Y# GU: Z .YZTXW05Q!XL#D 0'10 H -D9.U 'P)#79JZ&=!( 3@#09J=9e
M@'R (4 W(1[$#F\#A0!]+ LG!#3PA2 $X +,VX"@" !E9%EI04=@ @($N*"d
M(,$%" #1$@-P002 "G$B8!+KI2$Q 2@%R,3X\#]0 " "LC LK!%K@+0P0WP+c
M \2ZQ0! &@ .\ P+/JU ,NP)$4 <+5F4 "@"S?%.!U7&\8)$DP ,4P5/\4Rb
M\2 PRC4 //$AI [/PDAG1XP+&VMYW6H&#PP"^< !8 ?L 5MG#+ #= "X0%/Ia
M&J! H0 0@)B>3]J $M"4Z: 5@"@,6N8 PD =@.5U ?! ,# .9)U_[%PA5V(#z
M+=8_I!=+E1EQ^I;7@6O1$@40])H+*#$DH)<& )*49KP(F NF%!V #X_& 0"5y
M9^:!Q4UE"M !0,/I6U37 %##V^R2Q64!PTWEDF6G\0/E1 J #+M6.G%8?' \x
MP]%PL(<$&,,#P"8A"^O#HW"5"Q27Q1XQ0/S^D7U;UVZ\4ERAS*;+\(-. _C w
M,T0$R #&:B&PRI%#?BSY4*1JCP<!=YP#A*(.@':L4N1U$L 0L![? ?G 0QR^v
M"1(0 !X*3FAOB8 <8#=PPS^Q0EP+4T3' $@ 1T#1("K@#?IQ,%PI/<;.T!!u
M@\%A'<^=.W%3&0@0QP@!5(%0Z4W(L7)\$" 1!R:N2%"(Q0$R1^P$# )\@&>Lt
M0^19S.8BD WAJ=G0Z,<?.P"#0)TY1Y%SS5^Z.Q9OQ-#Q/T $>,;K !R@WN6Ms
MZ7")O!![Q 01@JP@JT[30"#;!L$#DEL?4 4 *CP0:!9:<C8FSOWKGJ W'$Br
M, SW:31 ,P ,:,2;Q8NLM1$ 8C*9G @$ 8)$,6$CD[B%' 8(N($#C'#<8)5@q
MPI.Q/W$^&0.<A<\:\IJ@MA4%H N@QP! "N D3@-579YL1?AU,X!N ;CA T\Kp
MK?0T$$U80#,Y$H4"E?*T 0PDQYFR0$00(1&=0+VD#IN@U50!8!(]39@R,<8%o
M<\K$&$6D?:Y[ZG!,-9-5QOS;) H$))_' !!P?!)-M+%", H(QOQ; 0 *-)5Xn
MTY+57+Z9##!\J05U9!W3,6""8D$* *(Y=;2<T1(!D .L !XR ) '3,E5LD!Tm
M^P(!T%"G/ V>P.10!] I8V\$8 Z0.TX;VT":B2T#R]LRE1SR$JL, !#@5\H!l
M_.DW["K_@JR>,6"" A1W)LH6&>?%>S&B:41ZPUN JXP"60&IK(F1*FO*K/)!k
MX"K#RDTEP\P&&&DLW3[L 4)^[W)3&2]WR_1R58P@&P++9W36,1\$'_.\?/M6j
MQ0U3IQP ] T50*=, %8"(+,Z4)51 88 T%4#J,,N&SH@ BS=N6YK+[A=-=Ri
MMIPR2\S?\BA0%WM!!-N:6><^#0TP A!M6D$,<ZF5"%2-?J9ME0!8 2@0:$$%h
M&&E^WZ,<*4^VWZME6UNE08% C-4#\ &6\ -0U;'-F[#?&$/U ,,R0@!*X%O!g
M(/I)"$P!,=8^< #< 07DYA@([ //HZ-W",!]>27>M 0P#T9 -+ .U '[P") f
M =0#8_)!4)Y:"ZI36)9JV@U[4#%A B%ZBT!!I 0($AC@P;D"= #PLH\[#(#,e
M^P #, 1DS*/P'*LO$T3_ !.@0- !7:(&:ON%SH%LE,PMA[Q7\O H#-BG\4"Dd
M&ESEE$3 !S#*%0 -LL7 "1;/ZNF#[$^PQMNL?65V&!SH0 [<,;E!:UL:) B\c
M%T%G_18Y#8K%<^$YRL)TU_ 0L'52SDTE,34^>T'E\_(7U4'/NS$!V*<Q .RSb
M%[0':0&"Q 0P"'S.)"XD 050:TLG*5L.!U%9V^F<.N\4K+/K7"0CS!11(I 0a
M'9TD953'!+@*B< %C0"$ L(Q$C HD\]8:@ #8P"PC&]FPBE% :'+H W30/Bz
M0"\Z"L#&8:3U5"XM MVRJ_FEW;[2<*\\_M$#Z4 \\#4!R AS.[R]%9)'G"U!y
M#FD!U7+"3!#!:HL S!.%IL]P-+<6&P!?ET&L /4 %)T':!]$LQ29;#F%XL#x
M@#&PG"\1QG5 <^4$$9W&,!*1 31]2P0/W#UX +2RQ/D0)P(\0"&'#Z#1X( Lw
MB2'S"F2 GY9&9[T3[7>YMM4!<F Z *Z5HR>SMOP[(\U5V3 P!-#*]C N7" Ov
MFF]G!AT2,\ARY4^;1SO#R? V*TL^FT#T.EQ:W&D[ ,@".R&^P"KAPT<QWETu
M<@PLLWX[<U/9#T?0@.?;64K# '. BTH 9 $(!#P$9>4BP EM (40W3T2L<'t
MQ ""!!\ 'B\"Q[0II4SW:51 #) 9![W'](N[=&J K' CP .HD*SP**!#$P&^s
M@"E%!%@"M!#>1B)S3A1 PBP=,P$A<=7Y]6;3VW0BP J#Q*84$X +]&GL-%IVr
M30=72&<\/4]3 >UT!:!#4P&X0$9$/0, D'0Z+4D3 )1T?<M.9T3,<R;=#$O/q
MOC$,'9U1GFVFG6N5Q*F'IR]8"1B3B"8V8 Q"PB7JEHD.: ,3;3HP#.!-F"8@p
M8 E/ -GN!NU2;\*G0'D9_*'.'K/JW$ _TO6P2RPY+TO'6GE:"("#D1[[67/=o
M >.;%80.\ &!M+_L9]H#BJ,5E YDMRVGF!@,U- !X)=&#S!,S+$7Y 'VPY1%n
M,& .%$14@ .PO1UK=H 1L )"D&29+QT.1&6O)G"%UQ7(1Q S;58/T\5:BF,Wm
M'&N)0%E- +#2.FBVC$20 G-DKM8CD@,( 23M4U,!)S$V2@_0 >> 8EU:,-:"l
MQ+$F#4O11),4[6OY@F0 S$L7-Y4FM2P -#O572= L57(0G]T)R#,(IK1V^F8k
M!=$!>X"RED9_7PSS"4!!K0-I %'#R0!2U8YD9TQ &"C;AP ^M86T0&:!1Q.j
M#$"W-UK_RQVDWR8#"-?T ''- (RXY5 8 5V7$Z0DPTP,\%&C&BX@3#K*90"Ri
MVZ1-MJ-:/-"<AG4J*3"0$L4-S1 *_2&C ^/ 8]L[2P,*E$G4$*69*EK(ZUBDh
M%!IR"C \0P,IT7CA HP7G5JMQ J,1(]P2+DUK:E_ 5 -&%N!P'?QGRF [@ g
M\9D*%0+\P$1;+A4"S,!$"P6@ =1 ?Y0"00%_LOG%5- !UL#B5@A Q-MI/E?f
M4)H .10##0" EH@'3%-M#0V.V!CLP$3+2,YT6Y#D 2EB&-CV#8V&3#1ZE@:e
MMMQ(!R39 94U(&+7A\VIRH8&$0+D8R' "GC8(/:3G0Q$V24I*DP(+ '/DHH-d
M"[385S*,#00<<39 F*U$7=E?;M?887]4"@"2;3 J3+T 'J!A<WPJMBO08G>-c
MSL!$FP9U D>9%!1BDT 50)B%-1<3#&T:5 ZX9^D F)<0J '@T\8TT8(6&D"4b
M;0;A QQC(0#0@9K^I(:=!C4=]E"=?6>7EM'D1+L.F!T7MH[-+=8":$"/K4I.a
MM#B3UT9</0&YP$@% $13!L#4=@\L$ZH C<T(>-B%$X^M/DT#A]8D^&.;V.%"z
MYZI$_=IM-H<]T4IW*K8CL&<7 GTVG#U#3;0L-;;D:1,"/@"<AP[ ]-I4Z5Ay
MIZ^U@)&-*VX#"8$J.#C"V@O;Q78-/@!ETT@$L#W8F5L=53B9VX#%IHT0^ +9x
M@(@M1.';L78)Z0KP3&!;2<%JN]H =YLK:P_<M39"@&OKVKRVBLUF_P/LJ;/]w
MY2I1>O:7RRQ5VX#%-. J<DY$MCB%!4RTZO;([5MQ2W%6<085]M@6$2[:!VP v
M]/9!4$?1V!EV,(1$J!;;K 80#-+<-K;)_0^4W.PVROTM[7T9 +_M;X>40YO/u
MM*HIP3A@( 1RU]QC(Q@PT<IJ" &N5@M(W0TA-A!E@@/ FK!&K.&AGR3S-S<.t
MV5 WLX1U_P-4MQ?T;?4"7 "[';7-VE.;/F ,9 M6]]G-JY%.OYH\X7574QLIs
M?7T,C&H) ,^E_9G*TL Z8"OH;/EK*8 $3+09-;+\A?T"LQJNE@6QIQ,GWLUUr
MZ]W#&M^="$P#W5\, 'FK3M@ M/<+.BAR<[XD><.UB4#E[:M=WEXTL;9YLU?4q
MP"(<!08=4D 3, 0$ 7@;!-;X[$010GI4=#0!2$$C_(6!E S 2,F>WFG-T"A p
M!$Q#2E,70 *U H8VH+PGR(4OP)Z !@0!SG<*5 F$60\I#RP-T %4 -= 77Y,o
M1Y;(A \H67A3DR6+0<G5U$J'LK&<BX0W$%R)EV\WP[U$WMIX0*X-MNW:P( Jn
ML&2E ^0E0K +T #9-QI@!&3?H 4?4 ULSV004+8 .M@%P/*]$*"DZ8!%!T7Mm
ML0;;K28-8&VCG+664Q7*T, 0B+)!9E' FN<]P6H+$P<Y0UAKZ, CD"K^ T23l
M!*X0()JJ@$( 4HJ70G<2T A$ 1L$R@8(\ " != !Z "_) \$>S9 X! %C -k
MM042@"Z@A!\$0T 1+FS: PPU)C(/R(4C0!J4!P19E%MNM0*"6$86B55-F5A^j
M&XJ5?K-8ZS<'F0(H:S\X!L 'C%=MN X@W?7,]\ T$ S-KAR 7/B&&U [@ XPi
M7@T!<F%0H+>:#CS &SX*I ,7 ,R4\C;>Y8!EVS#)X'CH$6=;+0#IW1VD!VA-h
M!EWVBA#\7D( #R"'IP.&-T(@!/!# @ 2_H1O!'7 /, UY%;L5.1:9(E88G@=g
M0(9[9TN6^LU!%K]Z@ P M0!NX"Y- @$6Y P-6T/LV-^*G;IU4 D/CWS0-Sf
MH!6 47KJ 0*7>%" HP:<!P$G[HG7 >U *'X0C.*XA2F^A*?BJ[@WT(IGL:]Xe
M^3V&H]\(@2U>304#2]8PGNS^K@B (XZ,DZI5:PS 7>*A#$#W)Z;A0]&X08=Hd
MH@"+IB(D '3BG[@V#@!PXZ5X$OZ-J^+7 "O.<X#AL#B2=8Z7X;4X&GZ+0^,"c
M0 _ BP>& X _F-"MU'>0#J #I$$J=#5>#PKA% /X 4<<1C&-JX(* " 0# Pb
M!SX">),0\'L1 -Z@+Q"]X@-$P&[X<7!9P"$T :T&&( 46Z4GQ=%.0! !"3Ea
M2[F"R)0_Y4YY5*Z40^53N53>E%?E6/E5KI4GY>2 @9&54^5;N54.EH_E8GE9z
M_I6;Y6'Y6:Z6I^57.0% EF/E#,!;SI:_Y>R 5SZ7.X=V>5+.#WCEN_$!MP&Ly
M U] 7QX * #KP-S@ 1YP#< Z\ 0(Y@E ]RJ8BVD_@&#. *!MNU5_Z^AUXPKYx
M04 Y*&- !> #4 #OQ8^\. 60T6N.= [[,:[EA*@"RE";9NUUB\,H1[Y$=<#w
MN&>".0'',(EXUIH1D C$ ( ;F!H%+AM0 %(UIL:94;/21HSU9 ]=Y#0,J:!Iv
MT!W0#_H &$A\ 6\%T: (N +Y@".T!_P!%0!V?A'6T7=0/K "T %#0#J@u
M QB#V/F4\@'\ 1$ =DX&I$'[VS8[ MR;V/FD,0&D Q: ,=B3X4WI0 4 /@.>t
M_'E&6&PIH>"$E!:*4V]_*S[@9!JO>JL3) 4 ?" $?"2I0/'6 Q5>$KC-]^!s
M7K6.0?:SL;8#L@._ 4) &0"W6[5IJS] OD-B8Y050'7'_PG"RE^IL,ZX%T,r
MZ!BZ@7YX;^@\J"EE6<M"OT"L=1"HZ![ZT<D6CP%^P%>%#(3H" &0+@M!%K/0q
MW6<ZL,4)P*(*^:'H27J)+@L!Z2PZ9$&F.NE#P)2>HI?H67JP!Z,/ 4L6T6G[p
MV7_QX@!0 G"<16H<D)2CZ?$?(F Z& '6U1&7"+AG<C,NP 408QBU11E6CGV8o
M7_=W"2D 1?@08$+PF 1 (%X'Q -+5NG7 A1,-=#(TMVT*UW,L +P0#8 0 V$n
MK20IG$%9P!4X++O(&5 FL2F/>GCVJ3W"/0 4, T14,$JZQ@-34-^P!/ $05+m
M_=\X2P$8 OX@!H?WZ@$VJ0TPJYMK6!O#Q ,, KX %$!!DM^Q^/E-D9_A3I8Ll
MQ$%* #IQ0$2![QP)P:]NJU&7P;0A($_W?Q6 JGZ9$P 8*H0^"M !Q-@9Y(>3k
M )"%!>C[;=U3YB:H.NE-\_41=[]AFDC -*1#S 'INO%*#P2N4M2^OK7Z9!2Wj
MGJ:X_NM:DUKI 2X-Y= B(/3YIR,O_YV#1P%<LP"0/0]3LM 40$$N3"#EK=9Ni
MQUE5A%@72J$#U4"+ME7=EA\[,F!<6.NRD$[LK9\-XRP/H*T_:PW3ROZ#FT!'h
MG 4>K9NJZ'9" (T' "/Y;3H0-@ !42BPLE_K728%P(3*0H# BF63@@!"^S0Tg
MG=7J J .2@,L2W9/(D2A+P0WN^SG#4U#1-DCH##U /4Z0@"#Y.NR$+]>MF^Mf
M7D3 [@2IE5QKP?ZU>A%M6Y>YL#^N#?M(";%_[.W ?XZ07NQE4,9NMXML)?M1e
MME7A V2@Q&X>!\LK>[%L2L"3*!!"'1!=ZRV[MG[B996O^E!1 "3N",$ZL+BCd
M["';Y4ZJ1N[;>LP^#<WL00$$0#1A[EQ6Y1XLUT$+P9,\N;:9A9NKEKC5"X c
MYW80?)*S^P6'$$!NHP 5, WEEY4 ;<NEVN[S: BT>0\ '8#O?GR-C+R[\@X b
M^)6.19GI.F463;*3>$4, X5;D$GVA4"06Y0\NI5N(N\"=ED4;M_C]DZ[>^^6a
M&X2MN8GOMSLNX,G-[F(?P_2Z=N^B6_INNFUNXSLNP+N:[_$[\08!T.^4F_T>z
MO@=#MGN=5V&S0?![XR:_QZ4 _/>NOJ.D!7SAQD<A;B%0_-[ "_#K.P&?OT^.y
M_+L"[[]?\*3; X^_>V%S!.4W&L>E'E/<G68V8,, =FK";Z;B=^-& 4#D^S<Vx
M!0VP\+A2"0^HH_!=F\!-</M,*_P7<%FX\#L\T-7#?UBSMMB7^>7?$'?_'<2Ww
M\',$'U#$(^L2^7.'CJM8:#@.CYU*\0S39JK$0^3FN"Q^Q3-96;P0#_8I J[;v
M"0]E6M[M>I6Y.GD!C(45@*NAI6B\X[9U=]V9M_YWPP_Q?SK0I5LIW#H3,^WVu
M,FQREG8U?@CRS6!TY0K0 ?& +?S'0H%"_/16]N56 ?>'A<@3\LG5<M6V2?&)t
M_'?5R.L6:B.3!L6?\,4W(&_)2_$0 ":O#!CR3R<J[UV-6(W\>64/Z!8X?!98s
MR3,.O2EPA<JK\H)\A0I=S0.FP/AA"=#I.U90P XL$[7\%: *2O$X.":/#)CQr
M6> GR5HIPYNI;)6F=G]: "7/6UE+V](E?['1 <SM*K]<V0"(_"O/R%=7*B@=q
MT&O. X;\G<G)O_*+.CJ_-957**A*BH2G5^W5>L6!NE?P56OE!;U7^RLTGP6Vp
MI96?VWO" UW'@"95R\<-CGC+'8IFG4 7G_P-:%*OT,WG2* .4&$&@%#QR== o
M/R!NA<UE@-,:!>9*RX0@W\7'I5\\,'_(5.0M5BTOO0GR"$ =O\#GQ_2U'(B^n
M>4'1 !V:3QX$*B0^(- S]/#9_'WS16/-D/,Y7I-#>:D:H "@0$A$O-!@719Mm
M*0&@U#/UZ( \L(G=;F1S C%\LUDA97OI 4K#(Q!Y:EL- 53B_'U)>8!@?"P^l
MBYOAZ3@:7DG^F='9#PX!:.0'@",1UE)QBX#_O!1RI+_ ,M&;D[J_:^J7H/9Ik
M"^JTF;7F:J;[]_A$H4"LG5@WZCX#;V!^/+EI W#@OS<M7;K@#/@[5)W!%MQj
MV=A+%5L 9"\,HD",_67OV&< HGW EXSRFY1HL>63\0'@Q!CD&.J!_$!DC [Ti
M )I]&[WS$IND?15D]6*]V4!NK]J_W*@V/! $E/:_/3J " CWL9U,26RB 1, h
M$3 -_ !HP QP#9006%!R+P$P]WXI$D$/- .;_?JWMO4!2AXY_&FQ \V >]8'g
M.-C!7D+@"R0$GD/FS@=404TO%Q!PO76?/7P-WE.TE 778$ZQPCOC+!4K_ Hf
M4*Z$#N0 W'V4' 1$:>S .A# H=HDP$>6!:(#'D""#PSP >!"L ?A2_@&O@%@e
MX1-E(V P]-XC!/$]/!"9D\,# &)LI]&0)&PS:(^[N( ;) ]]OIG(;(+*,"VPd
M5MD'U054H5U ,]@%8 /$U))%3+6W9X-Y.?ZMM#]^< 6^\@ V;1] #10"7G8Uc
M2 [5 "Z=:TT-^ $#0*Y&#:0 =0 5!0] >>];!7#5D4,,0/S*!4R%5MFLU05(b
M<19<4-"RU0&@>1W0>O%]6! W4/2V7OR]!V6L@0/K0*-!P,6A.W[5.?Z9%;+0a
M0Z?1K90<'0\E[%$0OJ&NA@79O'$^,X .Y %X?L,']?JQGST6%.FC U] I1_;z
M_7:=_:*?!@Q=>GXV*C593.0 7(>^VODEP'XO!GU0V6AVCP5AO1" I[^7Z5=Ey
MT(F<0M !100'P&JW0^-?\ @\+@+(E05W9@'IP@!'6CDB ][99T7D U&2!=9&x
M#,CIOQ8QD&:VF[B ^L?@-9][0 ;1!P #NCX6I L$^18Z2GC$S0+N&:H-#A#Xw
M5="JCP[( 'B^Y,8'* %#OFA%#*P#-D IM!_]6LA =H9&I "_UMW9!XC4OA_6v
MQ@$$5\A "K #S*Y;0"I4C$G[?N/B0&GI0D@ ]( 'G7%(OI_7!2 #Y/WXAVMUu
M 0?_IJ7P_U<:@3K?!F7\2\#X]R8RM!P?$B 6!E?3?AVFTD9I;Z*3_^BSG"[ t
M!@6X1;91H$V0$$@3/, 7)OT5_+!FSF=*B7A0 !B:0?1>^*W%! \ >[ZDQ71;s
M:OI8D*0?#1S9E-9JZ1!1 )\6/+#J!4-]@ 60"["P , X'*JM/+<'U #4EHLr
M]=HV7KT5@"-05:AR (DC ?!6K !J]9MV#!B#B< ],$P#72XNN9L(Y $(P.M<q
M!' )8 "<1#$V^!0M'1MSO:<TWW;!-24!5S5:0,^=._M9Y6*(@1S_\'11W;^p
M(U$:% *\7GT /, // ",P 6P*\!T\("7YP"0_D(%Z@]Y 0"@?V/1A>JW38"+o
MA0P@ 5#>)KIT&O=6&9:%#'10[$!V1@SX 3S 40O3<?S3;!. #*P *JU]:^T[n
M_T>G508.-++P),YFIPW_N#]]2PSL>> ](]E79N#9*I8\X95GSW#3 2PT6*0m
M0L4!U/X)W>F0OF$#GL0#T C8JEP6A/Y6Q #&0';K F#_M+_#W^;(>[#B(RF!l
M ](!M@;-WT@G=%8*,0# /I_ 8#_'SG%50.A:[$4Q/X ZQ1K"?1OLU"+VO,Lk
MG8@!Z+,^P.W/"17]:P)X_ZI.I3WS'SN@M ?=:01(Z"Q+$RV]F;[MO^(U43+Uj
M_U12M2P38/B,RU*+2@<D K!VICVI0B;@J\/U&K.4_K9,_Q5UC1^ #;#_6P=Li
M*-9;12H-((2N( 9*2 (2 /P :S]/C =GUJ+2^J_<%]!*;1#$G^(/ ,#X*]TEh
M =DV , /$@&''4!2BD-=6A0!CP!#@) , ( (< +L$X(]>)-9&D&$>E,@2SXAg
M_!(!? %@DPL3./7N0'$@'0(-P#UV>QLGT &$210_H ,J5 ( $ 01:FX2-Uf
M1?2 C$!<V;K@^#0(!,H<@# <[_-41W@ =#Y>R]80L!1.H0%0#^,>N,C"P00e
M +)<<"@=@@Y $:A$*XCH_1J!KAHX%"!0@4 )5"!,0VB!!+)&X)IF$]C"0O0Dd
MT:@W_+0 !_ %9A ^62QO'0(7:C#7^)O)%(&3-404S9_\*32 R:0#X@+9(.Pc
MO':!D\!U@2_0"_+EXQ.9 .%-=AIN +RI@W+^P5.UB 1""0'XWR'CO_(OP/(Qb
M^$Y^SY!@CPCPZ 3]F_[9J=)0PJ;RWZ-OD 3=89CQ 1Y;-00.P!E$ %! ^;7 a
M R" +H ;( Q@&W@+] .RPHX X$ O8% %"@ M)N1 @]_XAK?#SWPSA)%8(>]z
M:5J!3K%:(/6F$SCS42"@ ND 0(#.GW&!#I (Q 3V 7.!?1])8"_0$@@,3)()y
M X<FQ$#5B3&P\U=SF:/ HH 0A-80!D $:"F*OTQ6<@KV2W'T0$ M@"6/+ x
M T(I,R\7H B:"&6$'! TAB5IF5%N4F $ $> 3,FGP_2RVRC-#G&3 8'FUw
MFG( 6RW #2Z &*<$L6Q)_4P(<X",R P ': %, 9LST!]>2)^@#E #: !R.]Mv
M ?R"7"]0GP\KO^<%0 SV]ZX!-02"CXXI"%AT<@S*$Z8 &1%KC8%/!( 8_ ?,u
M :X@<P $ %VJ$E ,Z)@, 4PI4X!>2GBM3B;),^C%;MI*NJ@3PBCG,^@9U((\t
M $J#_+UC0")@ 1<;M /,!O6"Z !\ #$@LO?6J0)< = !1 #<8,-'-\@;S(BDs
MV6B#H4&0W7"0HE4</ Z& )2#9AWFX G!.>@9! [. J:#]Y#J8&@!/*A!60) r
M 8 3H#O#5W*#8 ==(DU8!1@8RJIU2<IOC3NHM+\ _@X]\'9(&A0"Y(&( ^Zq
M?HPU31_\X!W@-_@/V M" ?R#^+W)(+P&$^ ?A-54;>Z#&9$;@&=P/X@.. $@p
M".$Z(1M=#3K@#= @- *84JP 5Y"%BP2A.U@@#"VLSOA[A1E_RR+ /#@ > ( o
M7=*#KSO^%>YN-@4=)!#N!2V$D;U!P!Y )]4 \ QV][XQY$&7F*5A1EA,V!'Jn
M$!8'<P#P25ZP1$@'F XF BZ#&9$DX82P-C@/<1*>!N=*>JHA@ 2DSU/ &U/1m
M *8W6AHC44@)NG(/R 9HXZ K;+$'P&[(7B<F% "\S' ZU0 HP"2@V&)H4@&(l
M"94ZV*5_ !Q@E,,TTHB@ P0!)\)T $V.#?+,8AKY?8(U YW@5J'0;M"%LVDMk
M7,2$72@L0)\&NS3^F;7 ^=AT4,#/"C3@:](VRM4X8ZHR7P!3"A_G&' $V!+Jj
M QQ6CH!>U3;+B#9PJ@!H>1P]C(#X%@!@!U !H &4=H@RL[]$P#. ]O7BHJ(Hi
MJ<A5[AP_40+ ?980. SM]"0G3CYY&C6@3!CW<9^=PL@\:#(Y(3ED43C^B>KHh
M:N0Y>2Y)X8WIAA6LL:XE! 9EJI.[SNMG/*7H0R+8P I!U 66", $ /4.PLg
M JB%/[Y63QQ*6T@I#/1=O?Y[AJ;9$+4'V+/H>P:PT=8!8X!%2[4GV /72:YQf
M 8)!)C46P+]0!:6V,32UQR8^S !=P,4'"# Z>@3JJ0X $$-2(0%@8AA<T5,=e
M 7!E1X#E$ZE0 G(P Q<Z@69+_*NHGED*B: :%]!]9)Z=@5\P!$+-H62NBS4d
M#/LVC 5IWEZI^Z,!V#Q9$41/2(1 0#O V[4(V *@ -@KY@#;G7/IU#566@24c
ME=)30@#6$SZ (4A%"PUF:;8T89DH2DGA-+@"T!(N J8 QI__FO8G&V( R-*Xb
M3< G!@! @#Y 3!YNP>4E0X.;<.R$@JH > SA"Q54[(NJ@1D2=V05$8'B 6@a
MI&1O1[T_'7JIK/2?J0.0\T*#*X DH=,0Z'(:%"U-Q (*IH-FT!" 6 %\!$"z
M#74&;1D&0 [ &$!(,XGL>%A/2P , ! @@?'DY1!#3)/#)//(-$$JW00X &Hy
ME!8W925)T^)/W<#JZ@!\FG@%1X>RR:8@3657H@4TE6!/9R4:@&FIK?16J@#Lx
ME>9*=:6[4C7,=F@7NP!<#KE0H"7MCP% K10Z/#@L#A,!C4.W(>^'@#( B!QBw
M#[.$?8C=$PG $F,Y@ZJ9ROPV0!5E&3I@#]"^$IMY ;X^K4%F""=O<?,:[/[$v
M";2'SR.WT/#0K017DBNUEI2'\*2NDC1L9VA;*0&(EF!PB"C14P[@&%"B BW u
M &(SM)!TDM&0O;(-Z/XT &"'D";-"@[ #-"L6@>, -0 +(!45@4!H8(U6\8Ut
MUW!K_4,OR/]PKT1[VI41GVA/(L/3X)I&2Y@08$_- 2!-J3=$ &4)M' ("+,,s
M 9I!:S%P0):/ E (X &4=N9*!S\B(A+@B#@% '0GD@ NB<OR-U)72/*HY6Pr
MO0QZ()!G5N+FX!>[ 0'P0W ?1 <0*(A !!&7 $\ "@!_S7IU?AAHY1#$ ",q
MXXP*_X ]A0. @S1IJNP58Y(!ZP!Y"@=)R-$PR!84@Q0FR0 @@%,+,: " 24p
M='(AT*.2SDBDMM('B !P4]X+40!BDRV@2D5"7)CX?1)@XSOSG6CIF,*%\A&Bo
M UX!S#U:B$5%M*23Z@"H#G !J("FTB @#Q)?,@\F L0T=8*D3XSKSJ(."#YAn
M ,X!G)OI#2KOA%<Y2=PDJR9:_X _@"RE$Q5,7 <@2S!-ZKO-7)*H!Z"^$[! m
M *8 40-T@!. DFAZ"A=X Z)DZ351WM)P/GCC,]V1"Q<)WX#!V;-$F*@!^ 6,l
M$],[R,3,C3(QG7@0$+!( '(EHQHB #6QBW)BXP:DFZPT2QFRS#@)X?17,@#Xk
M=6 ZX!9 &T/</CUB>H=@HIRB!ZCU"J%]80$P $ ) (88 H&P%@>-.XV4W!j
MM5)-D*9840A :MCR@6LEI42'>A"C%+T'^#0(4 )@ 0 K"<Q ; 'Y!10 >,i
M =AHSJD<WB?)B\?)D_YD$;D_OX0"@%,K 2"#@@*DWG(!:1^1PM4,FH@. ,UUh
M3)QJF*I\DS9@_,4[V"\I Z !X@ 4 #1 \5.8@0< ;2);R8VP'-)#%)3PB9Mg
M;UA7$P!%% ? *@,*Z L5>$HOR)+ICREE^Y4L808T0[0F_Y4Y'P. L<!T+=Hf
M"ME;_QOZC!Z(&L /P0#8 P8!I[BV@ :'$Q <,(AIA!<4Y2^(A5. X")B >De
M8SY#A(!C0,TEKNAEZP747/ @%R%& Z(&>"-&PZAJ/A] J6OXAT@K'@!&BLVd
M <J*2: :SA?GZ*!6)"M&40Y/BX3>BSU $!!8K -($A*+[[WL##/@B ,&$ UQc
MD;R*(:[1HEB1K&A6%"2L%IMN"2[7HBT MFBL808 X))/_@3$(C4 #Z(".","b
M XQ7P(#ERM1GBD),(06P6:8H>) QC@[@XE=YZ2[J[' 8YPU''AQ ?$'T!H5a
M 38I30!2 %DF$)".D0V1B;0QWD7I8GCQ#] U6"^R :R+QBM<@,@$!/!8Q &@z
M 0",\QN1R2MFNH@#8 (@&'D!VL5?RW11XQ,4>#JM%TD520 \R!; ^],&X2QFy
MYC8"=( PRF\Q&21:E ,%T^+Q<5 %IM.#]2G0<N EZ+6I/FXFRQMH@,:()(x
M<@@'31" 3A/$?[,+R&\D=NI,Z1MJ0#N( % *X(=(<?0!'8#=$ + O/ ;J@0$w
M F8Y=$ UDB"@J#-E/ A4&0$ 5\8L(Y6QJ(,&*#D )@!21P #2@"S-F/ B4v
M&;&,11T20)A1RVAEW#)FL:",U( P(P9@S>AFA YY&:^,Z0 Z8YOQ($ ."#,"u
MD)Y%=AU0P 4H@W!:;(-@65I$; #%7A,$8:!2,^GT 8@\A !/0 6'&1#+4>Q$t
M%W$MP$6PXHD1M5B^.2X>@UR,,,;88NLEOI@&X0<56Y@!;8:F(#, "U 'V & s
M%C.-=P 38VF1N)A:-"ZN&%N+I\508W-Q%W!T2 < M 1PFZ/$3MHF'2 /6 CLr
M& DA])Y=0+ QHY*V:2@=!'B-%1Q(8WN+&.*_H0/ J0 L*1R-WHCQ O15G 9Yq
M&<-(<T*C#C.@!7#$R03$BXH J(!L#J:1Q!CBL@.( 61T"I-]@*7I:@)@Z;/Lp
M6+:-&*#@HOEHUHABK#6J&"V,+4;E(G.Q]Q*E(070 6"!J$8Z P(P((%<"S8o
M& DA7:57([M1T\AOY#2J%GU0GT:!8XR1X!A?_*\$</@ /<*.XZ/1RV8RC"N.n
M<3Y0E #=HAR R\0," K->$HO#3_*8AJDM*,'8@;D DYQ5+@ 0,N'P01:D<\Pm
MDRYS%8"?H[: MKBJNSH$ H0!HH#,W02/'Q)T),9 _B VS( Z"QC #P %" REl
M JI1=@!P2>\EVJ2*JP,(&D$K_T2)([<QN!@!V#2F&+\X !5<XXMQN;AQ9 8\k
M'-,!:39+$3$DKG#$0;7<0?H !UQP3W &T ,01@\58@A)@,Z0,8H@,0,Z?FPj
MIY98B0 ( (6-7((_*CQF$& Z0!3@(6-ZB/G0P?4 &P!WJZYHPX!L8#A*0$0i
M0Z@%XX?#':^ "M)WU(-0:#)WFZ-=0(%K7ZCK"A+!=;R+OJ!KP"5@>_9UQ+6<h
M%C=#SK_'2F@QN$A:1 *8%BV.MD;6XAX(U,AV%#4NBRQL'D<LR-J/%( WT3R6g
M!1J/8A!!8\Q(I568FS1"41@!6IF[8UPA* 598 88KT !D 5!HTI+WS0<Q#>6f
M&,V._L8O3LA+[:AK[+T\' N.R<<ZP"$N;::S^_:9 0F/T<=!8UC0X\AD"3F2e
M I*/:9 C0(P%P )%<008><PV-D><XT3,BU@(6 $<>;:/$8#NX_<Q_'C4(C^*d
M'?.-%$??(ZVQTXAQ9#$F%W.-Q<?FXL-Q'="%L9B@H4 !JH,W%"B@4;7&0J)(c
M& N,*SE*P'71?A-AU"_B +H =0 6 #\D6<(->$%Z4 16!8#IS-?1G@@.L&D5b
M 3 !)3DO2#" A=8& 07 ,PH!MB@&8T)'TL@Y@0,HAAB,78 TB-?N#H('" !@a
M<"8 BH4N0!Y*O**JF?RU@W0 :*T:0'WQO??J,P+X(+D!0$@A)#HJ5F2$1$)Rz
M@I:0XH FY!.2&T EP@'Q%7T!&("OT/CG@X(-B$,2: 8!X8 /0!)2I2 .V$-&y
MX7P!%H <@#:@#_ -,"9D^:8HA*']5H'16U,&N"9A(8\X[X!AB/U1)(A_+ )(x
M'PF-1L"/H_\1 !EIW"S>'*<A.4<&I&;QU%B ]#.^^FYAA; Y9!%2#(()(*9Dw
M:U0G2\@RP-<1%# "( )4 C@_OH J "P@!C \JP* N@ 4P#G8P2RYVB*I$".v
M'[,YY<=UX]@Q _E[/#MV(-F/(4CW([6G120%>"<Y'U4UE!;X6[6/&!+* D..u
M(K>+H+DI2CJ +#U.LA4_29]L@#(DYH)$2#9(A(2]/QWDAL_P /@K0-:, LVt
M6+0_@H0N53;1S02/DS-]G/)C 4A #ZGSX(#, BY@PH 0D=^"#;@KWB*$P Xs
M%NI(?#Y]"S^D R!TA$&Q&A$ ::+,'4 EG):YRR&@?10F_@!+4PQ@(IF#M$CZr
M'(DQ&DF.Y#3$(UE,& ;P^?(;(\F2Y#Z U;A.:">('BUS (!?P"D.UP4 " +Xq
M:>X!YH#-6R7)3Y-/+)Z@Q:(SW: 1E^B1O6(%(.PT:ZAPB9\YRC8$&D E\DJ.p
M0<"2/,EM2"H@2X00,$OR \"2'<5M2#*@6=-0ZLG\ 7! &83XTQB$];.7'(-Lo
M#N\ @P!!'9M&YE0 4-_546A,.YNFF6_NJ+=-O-J,LZ@TUKP!0'\J@V !@/+Qn
M >([\1LZ@,_I-_0'0 *0XCJ+(,8'P"MR&_>97$""NFP&N3KKXM5L$# .:/E(m
M#G(ELQLP@'N&O8(!Z &,$^T $8"8&P"@CF*D&H5T?VJ3PQ#<I&Z2-SD,<0QUl
M?]!P!$6HU>^J3'6U&7?Y?M@KDLFL32)@ B!;27%HN5H^.D5_ G #P"!,TQ&k
M 8,FD)3/Y(>Q+2":/,4AY&*1I\D)@%5B=@,,DG.)]-9K;R82@,6$&_!A$VN)j
M:,A[EK/)S?EPMF<LRQEJ$K6'O1\] .T)6!+Z\P50EI (TCN^805@0*F] CYIi
M#[,%XQ7JH3+IE)A*M(?D0;A)R47SH$:KAC@("!TB$[)<&)%9HA\ '."N28&Dh
M QR#6D*^X0$ =(@!$-.4EM9*;:6X5>@PM 2@A 8>(H,!M1\-Y0_15?-#)-Z9g
M[U0'&,3T5!B HWC$V30%*25-,#9+DPD TW0[Y#1YFGZ'3D-1$ZG)#&!J.F0$f
MO51-?QS'(>5H=I7E^R'B!3E&!DJUTQH@'M Q>4CEXZ0!FQT"3802%S"4,[R9e
M 7 !&@$.XJ/)@_0!@#VU?"X F"9(P*8I#^5P" 7H*;MH#ZD^C9;P22A"PQYZd
MWZX.BX"AS!7'%6)>@.#Y)V=WHJ7"X0Q M*01D&;%0Q*574," (DM3(E$Z !Lc
M U!)9*P" (N2JS6HE"<8GTPB!0!'99WG+;4(&)T-I?*'::5 @$J1?PA 7"1Hb
M >I*QD-9F! Z ))J$H= X0 '(#;SU!!U40+F$4.FO:36!)T@"C ?/4-\UVAa
M?K:*;I!!R!U@C-4] [B\GYQN$)L>T7?'_+2X:2BJE<(!^Q&UD@O$TG0"8%+Nz
M*><T%8#;8;=2U&12S/T$ Y),J"8LI7G';<-4^.KQB09H*P ( !U@#8"-*CAEy
M^<(R*0#-&9^( V0$ZC%FSF T]#53&88'9W.:@P2.LG1Z=JA]0/?GIO)W*M8Xx
MTG)'FS?5 0U*K"-Q0M X0;!C!*E"DLOHF>4$@;]QI-8 8Z<RP) ( QEK/#&:w
M>=*/M\:!9=4IU%AGP8($S%A'3I TE0=IZF(0J=60)34KB( PW=(IWY3-P0?Pv
M /H3>B,/T!%G? -YP@? WZQ03R#8'2X@WT<.2>"-?>9WH9L 7@CO?L>^ZX!Xu
M+;^65P':F^T-][8Y>0A4 6IP^P8*3MKR(( "D.@\!"A*UI)_P#?@+KD3N *Tt
M0_ F!@ <0+8 IL0(V0,\0%1*& >$0'Y#1.>CTQY95$ !A@!< 1!@%/?DL@3$s
MY\(!]8"4@C) $[ #L"OR!+ -,>1B 0 !8 KX%OR /R6J"7 )4+ )A L&!84r
M"Q80%(PQ ]B/P(L$!80"XP%.0!XPQ#@",%V @# CXWD:M5"S"@'<(/6+5$q
M ]HA"Y:% -^![P 2F C ^B6"0&HPD+ Q+>\C._I[.B6W1A(@(@M<#EM0 C@p
M37 5:4PC?9R>XD"Z%YV+[>7X,OPI?82%/ S*%^:+\^7K@("@/IR?;F^1%]"o
M (( \,OXI<YQ?DF_K%_:+]&70H#\I?Y2 ,"_[%_Z+_^7_TOS)701;*DJP 2\n
M @8 T@ >@#/@$, &L )@ 3H!.X ASI-K$T (, #T (0!J8 # !O %4 (4 -(m
M,-$ PH 2 ^@!] "& )D N H( N@!1 @@D(R 1< N( /8 _@#S@$A !" 5Xl
M V0!$DQPP!^@'U *Z %\ -X!@X4D@"7@'"#!Q 9\ _@ VX >P#E #= '6 5Lk
M _8 '0 > $* :.4"B #X (!%H Y0!9 "; && %(,0\"X !'0!Z@". #,&+Qj
M YP!80!"0"3@BPD P 3( ZX!>@ ?P P@TR0$T .4 XH!;$Q0P#W & +\ 'Xi
M S !U@!30"R@%V .8&,B FH!^ !R@ _ !_ #8 1 #P ;0 .0-D2'2 .(!C\h
M (8!TX 50!D@ R .0 .4+:$!30 Q !3@!Z %( /L +X!3X!&P"F@; D$" ?Hg
M 0@!/P!<@ >@$( HP@6X \J6F(!,0"8@%_ #T 3H,G^9^8"R989L<9<0B/ Mf
M!+( _YF$ !#@$9#,E"<- YJ9\!!\ #03$$ (< $$ 1("T )P!C@FHD0( 3(e
M'KF9!X$R0#.@&0#.! %\ 4 ! [DI9H'I!B $0 B( B@!&H V0#LSQE8.X 3 d
M $0!\TQ(@ > &, +L ;,,VD )H!ZP!K =880P 3L !P!(0 "0#S@$U "2 (Lc
M '0!>0"> S(@$] 'F ,< *8'NP Q0"T@"! -X%U! R(!HX!B@ (@ ] &\,/(b
M 5X!)0"[(A@ !6 P X )( _0!. .@%Q +6#FRK!8 K U0 2@!V /: 4,a
M \H GH!50,BKC7D*X 3T B@ ? !I@!?@%( !* %8 ' XT( - !P H !( &$z
M & 7@!I@"= \*@.,?&) 38 LH >P # '! !4 4L VI7B4PA "W ^ *:.8 y
M )8!.( %0"L& L )P"&( -H!68!) "A@#K -:"(B!)!9^0 L !+F#T &" :Dx
M 'P MP!7"P &4!F6@6@ 'P 5@ H@!S "R #< !85&R79@!D@#]@!3 *, 7Xw
M M(!,@ \@!? ?X(% 18 *( +P!W "*@&9 *T 7X W8!(R,( "L 'R *D &<v
M =P!T@!& "&@!M J(?$V/H!#X!Z0 U $O )D ;0 S@!TH I &:)#O@$$ ,<u
M 7( 88 J0!8@&. 'B 5, M(VT( 1@#T@$\ #> ?, +H R@!.@"C 'F ".0A t
M F0!T@!VP _@ F *: 7 TP 8H G ,-P/Y('& 94)A0"@H!7 #@3%E +P 5,s
M HP $ !\@#- "X +J #0 X@ " $49#F@') $& 9D ;0 5P '0 Z K!<2H&Tr
M"'$ 38 _0!Y %= $^ 1X!I< " $HP#L " 4%. /@ NX![X!:P /@&6 (.0B q
M 4!=W8 I #2@&" *H !L HH!)H!3C\6@'G!5N@)H ?@ P( I@!F !# #J *Pp
MK) =P!!@!; &\ (^ 5D *8! 8!AP/02!W % 10 [H 60 ^0"=@$^ $& 48o
M $Y1PR%J@## !! &\ 6L *H!"X!YP"] .A?BI 4 ?( K(X^P"3@%[ )* 0$n
M Y)R_P4/@ . &7 &P ,L *H!JH"G@Y!C&!(,* %\ -8 N(!I@"@ !A ,V 3Hm
M 7)K!P%L@!1 "1 '"#$$ RX!9 !/0#S@&\ &0 A@ V@ ,H!A0!R@#& -D 4Ll
M KX O8(YX+RJ&_ $J #4 ;P![@ CP(C3&5#11 B@ '0 J8 ^YQ: G)8'V $\k
M 4H!=H!AR#> "* +V ,, N8 C( 7@!J "Y %R" S8 *H &P!]@'# *\ <$j
M 7P $@ P0!\@&.">H?1("YDLOR=^P"R2;VE[8ENJE#Z7!,QTI[ISW<GN;'>Zi
M.]^=\,YXI[QSWDGOK'?:.^^=^,Y\I[YSW\GO['?Z.W<4DZ/C$T(@^2/P/ @$h
M9"9'5)!($,(3(>!WT,R)[2 ,;,S)42CD(/!9<GAFAR ,#<K)$28 PO %0 A,g
MCF !$(9.I\73=@EA %Q^CS@ ^!*/)T( &0!AV$**:Q:;$ ;7"@#@>P0":(>8f
M E2>8$P( Z_AY0D.@##,&&:>" $20#NDI#/RQ = &(PO14\( S;P>X3P 0"0e
MRX">!P$:0+L'YVF[7+6 #4:>M\L6PWOAX[EJ\0!L/1$"64\ O@ZWD0"'O6d
M>K">JQ9X8.'L(("Y/ @D <B>54]/#=PS[#D&F'NN6M8 <,_@I6D$[MF[/ C\c
MY*"> (#=Y4$ %G00^![]+CDG[X7OD<+H(& )@'O:0 X"OTC )R\) /"4&GDBb
M 5@@'9R7Y^7S(" ,F'NR0)(!GL^#P#4@[\D"44^-/,$!+)"=P<@3#]#PM ? a
M/5F?FCGCPN2(%=#PA,J,/&F?!P$-@.P3(< (%+M)G>?!X'>YT' ,C/RI D^z
M0("?B,"#@(1NY$D/*-<\ 9"?S<^#0!< ^4D**&\6%T:>U<^#@!P ^>F3\GMRy
M/X<XB0#D)QM@B%,)$'\.<48!R$]>P!<3%9#^_&)V4T:>/("A$C ^1G_/ @Xx
M Y"?T)Z#0,ANY D(,*>]U:Y#"(%.F7UE<M3'.0C4 Y"?@S: 0)4Q*:#&GDBw
M \"<%8!=P>2(!9!]^P!(0!$"%-"#0 M@5[ YVM-%/2^@'S(*DEASY&FL.P@Lv
M 78%WZ.5710 !+IOV% +( +% N@ OT#, "90.X0-L -5 7Z!X !8H0<-[)u
MZ4:>N 7J*X ".H"]02P0+$!+E#)X\@3"7H0H 6P0/$!+E!>P!/4!:H,8(&Ft
M!0X"")21YQ44 / -8($B 5!MDC#+)ZI-G3#RA .@VNY:95!46P)@)#(YH@2@s
MVB( ;%"$@!OT(/ !B(,>!'@!J+83@!T4 ( '/0C4 /:@?5 @ \ $(IJ8P+Lr
M0?D!^@;,X,@3$7H0" /L04D (D^_R\@3$GH0(/J,/#$!(D]7X"54Y&F0?'EBq
M0@\"G8 ]*!/ P4#YW(-R ^H 35!3*"H4 &"Y>GER !X&)X,]Z"OT(+ -&(E\p
MC\ :DMT@"T4(0 -"#?6 V2AL%#)T<BSI53XG+I,CHBAYP5CJ"9$I21U@7^Jo
ME%@ RM"# !E I30#B(:F0%1*/P!K*#T ='D$T(:"+JL 4Y?OD1'Q(/ %"(?^n
M-4L[:0!K*#M@OH<44(>R0P$!UE \0!^ '!(/G8>.Z*RADYN#P"@ 'VH/C058m
M0QD OR=>P#_T]Z0,L(;ZG@X"U "#Z.\I]7+Z_#T5PAJB!P%\@#44!D"W]!N,l
M/"FB!X$(@#]F<D0**.ID #:B"(&.Z$'@! 2/0AX'X>?)=$O8U''!Y 2/8D"k
M ) *=&#WT$@"A 3?>7\%E*B[ZQL T[4)IH'2(D**[&,/E&;*"0@*'H0N 2Dj
M1(N5^M"4*!, U-8*4(J"VG8!*5%8@(]I&! 5]3%% _PQO"M6 2(&X 5I0B@i
MVL0!7=&#@ WT(' ."(LR688X\@"SJ$P4 * /,(N" P@.GP/SPD4K(*( ,"_Ph
MKM !;*<)@'G!KDBN.PAL .RB4\PA3@D ,"H6A8NZ /:B" %-V*R0, H .(4>g
M!(H C%%LP.:$"L 8G7CN&QBC_0%I*&.4%3#$<0/(1=4A[1 \ &/T($J>8HQRf
M T1LA)?DBSKDU%,)8(PB0ST!C-&EZ$$ %< 8W8:6/1&C*A9BS"^ ,:K^M'\Re
M1BFA !K &.4;_D-V(PB2](!C%%.0#)SRH"?00@P HYUC%%(P!#' %!SX5U!d
M !8A '0'44(0 ,:-Q9 &HN=L696L1@.]I8:-RY ,BC !L *33!H >908@c
M.&-LX-%N)C'F8W@0L"O>9Z8 Z%$9Z$$ B:8:U<Q!@,8 Z-%UJ%@4/8H/0+4Ab
M>OJCT8,OIA^@YG+1:GL" P!Z%%( *CG$8 >Y3\41=&CF !(I] %02KN/ BHa
M M"CJ(#&G2P /1H(U05$2$5LSH **0LD&X >!0.8&,8!Z-&<* #@'< @U82Tz
M0_(!Z-'Q9^%3WW+1\MT4'/0MO"N6YT$ Z!OL8\VE4P 0-*$0#O$!9 DC7IRy
M,\L7"-*>YS:.1QH G88H 9JD%@-()R0"02KAVS<429VC3:4SP)?4O-E4@@-@x
M25D!7TQ)2'U4#MI44@1@26D!V-%) ):TW D <$(B2 &B!X%5 ):4&H!JHP5@w
M27D 7TQA )4T/Z2V9 8,2G,%[9!K ):4 P#I! >,2=N83:5F7W-4+ KII =@v
M28D S4P'!>^*GE(?=5!<M(XF$P!/:=!S&J(!T)0B!-@!%<_' X*4#'!7L0&(u
M2MF6[1 @@*FT$FH/70(X*.R*S;/&"X*4$L!;2@/,2C<"FQ,]"8(4$]#QQ#+^t
M2K$ ^H9%P*_4=<CX?)6*/:<AHH!?J='S() *^)62 D1LL8!;:8*S?78LY68Zs
M YRESI>#0#;@5XH \,>, Y:EH$MW@+;T(+!7J@?\2KN? (!^P+H4 %"AC![Pr
M7.R*O3(( ,_EHD4#F(9D '@NO"M&P!P0!' O10A@+P\")@" *=@3PO "V)<:q
M3)UV#M,6PS0$"J P/0C,0:4W!=,F:%/I"Y QM1@TE=8 $5, #9K#M QO1WNp
M 2JF;<Q3SR 90H.2):B3%$ %"1)0,>T<@8 Z 2@3($ ^H920,AT W80N 6$o
M3/M>BTV4*1X@*?<,Z)CZ\QQ$*--\* @@( @I07H&]@!(5-+8#T 90H)T#?Tn
M U"F! "5T@$@X,*[*OP%&+BF" $,@$J) Q!PN6B-^2(&8-.#@!DT.90V76P.m
M<6P ;=.P7@^@;2H551"U33&B ("&"X(4"O#%!!$.2[^89("RJ9+T(- &:)M&l
M/X,";=-UB(JE;;KQM#(*3M]'TQ!'0-LT^PD H 2T386? (!-0,#%KMA)HY>Vk
M38V? (!70-OT"WH0J 6T3;D!$"!@P.;4UNE:60:T3<$!OZ=I0-L4]^D@:ILRj
M ER@>30$*1(@^Y8.6)VR+0LK !Y0-N4 E L;9VM2=F6F1L! %G%.CJ4 P Li
M ):GPY O9@2 K&)77)KD/J&G!0>1)PB K,(O+>U$.Q&DL 6" P >[K&TC?8h
M ,BG%4X> /FT_GF0(Y]R XPT30#R*13T($ %X)Z.+DL[7@#R*1,4 % &H)YBg
M0!,A<@#R*0C@BPER1)#"/HT*]E.V9VE'$4 ^Y04L[C8!Y-,@Z$% %. _'7XFf
M0EH!%5344B)$%A!!-=+L LBG440 #& ?(KZ-(F23T6B*H4$JE)N&J(-4*%2e
M3 X"Y@ 5:M@. . .R*"R[K0%9)47@,Y":&'+> '$2>@ , 7@(#D"_ %4%@ d
M -(?< A*@#@## && -\ ;P#8 )[!0!@+3#"4*(R49VH4%3;@!15CM&UL*(Vc
M49^H+(@HZGB!N<!<V#C0 <P 7E0L:AA5BSI&_5FL 40:OP4S@'JA2/ ?0*,*b
M2*ZH8-39@!CUM^!&A:.24;L+% 8[ZA+UBYI%A1+P41\#;]2X0!SU"T 'L .,a
M =*H>=3O@"&5N8#.^ (,(H(+D@&=P!? 35 <J#&8!BRI P$AA0M PE%$Y45 z
M4@NI4M0O@!L#2U 3.*6N42>I:H+ZPQV5D/I*3:424?,$PX'?@AU@T4!'/:.Zy
M4O6H;-3? A%U.*"%$*9^ 8BI0]1AJEO@84!$W:1B*(*=S=0ZP#/5F'I)%5(8x
M4\VHT-1;:G.AT_D%L , 4LT$@E0\*BIUO/ ;F%+\4B6I4E0SP)6!:' ;F*6Jw
M48&IAM0JP8; #7!.W:,N&H8#-@MW:B35GCI?J*<&4]\098 U@#\UGGH'*!+(v
M" :J4E0X #X5H3I>$ Q4+!ZI^M1Q*O!I6L&ID .$4VFI\-1T:A(UHEI+'2^<u
M 6P,5P*(ZB#UG8I.':.V*]( FXC?@B'C.8)ET$/\%D8,<(!:Q&\A4Q,<0%TLt
M4?L5=P![!4<UHSI&/0.\ 80,#P@=@DZ$)\)0_2V$&EP .H&*A;"BJ+IA2*)Js
M4LNILM21ZCXUF"H& PP59NI5=4UP!=@($ D #L&#(-1=5U*J&AJ%JSN#T(r
M5'>J)54 @%:$GHI6W:/V4]NJP50.0U15G-I1?8$85-NI4E6)*JD";E%4;6-Hq
M!XJJB($W0!J@J%JQ.%,P5>6H8P [P%P5HYI6;:8.*&P,+@<A63,5LNH6V& Lp
M4D5UP(K#JGJ!E1I$A:M.4N< (%4V0 OB#K 5\"YL4HL"<8'1:FG5F(H'&*W6o
M!'X+8H I!%-5#%!0=95<584,!55C*FW5HCKZJ O$4<$$A]7:@ @FCEJS&*XRn
M%]:JAU7=0Z+AHDI2W:.J4E$7 P&F:@FBMGI0]:RF4ET#_06\*EV5I_I;(*:&m
M 9BJNU3&!7-UJAI/K5CD4_.J==4-AEN@N6%=':-&&B8-;0( P%< ,4")8*JVl
M*WP-R]79ZEL5O<I=Q:K6+72K=0L?@5# [,!<J%CD28JJ)0A2!7N5O]I8):)Nk
M(J DC88OP%H5M@H8,*9^"5P>7P:5:NY#;)$',*9F*O8<OP5LQ6# PLH5:*V&j
M6"4$P@IC*E=US^%W:*:Z"7X#DE4B:ACC]B!B4 IH&YJI9P#,ZG^UF1JU. L i
M%X@>OP4JJO/"F/I1-1 84X,+=@ 6JS%UE7H'>*WZ5^L=<(#LZF_AH9I3_2W8h
M!T*JNE4W1,W"PFI@9:;*6,$$'M;[ZAO B6H7R#<84]T59P 9 +MCR@K"R*8*g
M&=P0M8'?@@0&\=!,Q5YP!=BL;@$)@8?50*!D?:^N5W\+ZE4S:S.52Q!2K;$*f
M6C<8EM7WZBG#P=!,1;*."82II(K9 &Q53\ D$:9"58FL159NJHQUPOI>G548e
M4^< -XX^:Q&UP&!4%0A@63NMDM9.*QH@PGI+K5N\!^(#@-8&@7,AUMJSP#8Td
M6LT9R(P: ^J"J&$0:*9Z4\6KO]7!P)-!Q1I27:Y^6M4;6P%6*R6U- "#: Z8c
M 8ZM4PZFP!R5O?!L):+N& 0#6@;F@N[!TCIG^+3>."PETM9O:H8"TGH4H;7Vb
M+%:MM-:Q0X65B I3?0Q4"8RI6@ Y !L@MFI,_0W(" 8#<X"VAAD 1M%,U0(@a
M!BZM?M;X*E:UH(I=_;<N6;$$=U5::]?"UOIEQ0-D(O8<&=9FZK4##I!8E;82z
M48$4KE5-Z@:C:X$8$*;"5-$-IY'W:M<BU4I$30+867NM&XPQP*(UCAH&@$ 4y
M4;\4QM0GP)/@R$KTD %8&SJNOE9>*K65M;IH:*0&#)NI,]8R@+'5VHH&P+;.x
M 8ZI4PL+:Y]!I;-F;;367-&LOP4Z0,7"1Q#.F*F6 1X9FHJ#JX#5M]I,O6$(w
M!62NO58BJL]5ERIF_;D244.K8U95ZK<A,7!2U4-T09JI7%5 *TKU, @N+,*v
M&?0$2H.!:YH"UMI,+4%(5AVJ_8J#:U&.W2H0H T@-;RLCP@MP%8@F?I$5:Q:u
M6D>L9=1>:K65B#ITZ*TF 3(4AHP.:S.U1" 4N+S*";@7<M:$:[\UV>IQ+;PFt
M+Z84\-;%*[PUECI3+;M:70L>K@9&JD(5!B%,#6.$,T8,;U=,S1B X?J(\+K.s
M 3ROF5=CJN\5^+IVU;Q*79<"C-> ZXV5B%J"F"^\7G<,RE8]P#;U^4IR_0*<r
M 3*N>U9TAAN#[TI$Q;X"7;VO<E5CZI/@#+#GX+=F']H,*M4QZY[ F!I>#:3&q
M44NL,59&:KY"=3F%V+?^%GPB:8HX*G6UU_IB-;%N&/( 70L/ZZ[5IJI>P*>^p
M7T4.PM37R(P Z5HCB*,2&@*JI=:! )%UK %2G;0N!6P0QE3O:AQU]FI:G0-Do
M5:.NA=7("'!!WM$@ ,'*!0P7]U=>Q'7 ! N#*,'J6D&L(U@LA']CJ_IG[;IZn
M7P&N@=7<FB<5QZ!MO3V\7_4#G@C3:ED5 CM9];Z*5<.N"MBC:]#5F#H&F V4m
M7^.HG-8: 6+ P!!-=0/T6+6J3=>OJF< WEI0C1"H/UZN;U>W0!!6MWI&W;(Rl
M%XZP<53SJI4U0C 38:0.52,$9XH3:^,CPBJL0*W^.^^P>-A])Q*5/?"U]% 4k
M./ZP XX2QK" ):#@2%'0/VP ]X^:P$D 1J$I<'<.0# <. H-1P$D#ZL!<3R0j
M'Q( 5X"[J@]"3^ 8V4,8!:X 08H33!7B+3 F&7T4!)P/; C1 ^G!]" D<#^Pi
M'EP/L <+"2JV]G![N P$7;49O8>MA?Q"X!'\.#XT,.0;S =4+/3A_$!]> M(h
M1; /]U:[!?=A^O!]2!&('\@/YH?NPYH@_1!\T QL,URQ\(=6!7N!_F!_^#RPg
M(>(93@V111"#<>%["%!D*@0#80H0@!V 3.(E4%0P1NX"G=A9!.T!B'$@T,36f
M-F E.Y)P+/#"+I*/#<& +4 /ZUA3[&U@%BNEV#_T'QP$ @VQ-VA!3"GV$8Ee
M(/(Y"8 A@%I .[#;N#+4 ;803P8C1FA$>A%],'),(P00DHHLA:5B:)!O*&((d
M!XH:CIJ8!J1&>O%D:%T(($(5-1$[@*4"4W%UQ8SP!>P#10,40"9B[AJ!0+.2c
M'F005];=@'1@S&J@F .@ -P9SX<[!>["E?'00&:(++X-B@_6AJ4.%X$?0&5\b
M": $M(?]10L@)FNI:)/( >("M(BY*V+@]B&RT!'$&-@#6=D;P%;6/&"I* *Xa
M 2:RK $QA:("%/MM$,5F90D0!H@\@*6"\P <L!&85QL$&HLS '3@'2NM0 QHz
M/3ZOEKI$@V!6#B$&N,2N5$^J&U8/!NA!!F #8,C2*1(0=HHI@&N@!3%ID%Y y
M8&0BC=E"Q 9#FBH468N /8 D(< Q8 B N&)" MX4L\ 9H$M@ R@05$1V,ENx
M(EBS!@K7+-7U## '6$749G4<M]E.1&XV#/!$5:CZ9E6S/%GA+*B .+O9D+?Nw
M%XZSMED"16N6."L8,%E 9X&S! JD06>6.!MU^#*\!XZS:%;7[)P!//L>L%X v
M%Z:PY%D* 7&6N]";3<V&9XFSUP&%17K6/.L6( J,/]VSY5G7[)>AX#&?%<]Ju
M&L ,_5GB+)&@%A&@9:2"7,L !5KZPGU@%=$'6$7H(%X=HX\MA @@QL G*#N(t
M '003!$ A1G5#/"@[5I$:+L"/(!%1O4-;F&S0 /X #JT%MDM1(@68'$T"#>4s
M'4ZT(P ([4461'MZA4&\:%&T']H!JF W&"O,-'B:&>T U2_ZAG@1ANC]= "r
M:4.TZHT2!)%61BNAS458:'^T$EH>R),V1FL&0&JD(/@210 HP$ "!("EA0(4q
M.I01(P 4 \KB05NEO40\(@(25(#^!-SB$A&=W6W8-, ,C-151)AV,!"K $;$p
M*JRT,9@B0!%@"6"-2-,")?*T>]H^;3)"!R&FY=!N::\ JXDD , AZ##GH4Q o
M'_85; A[ZR#B1A*#H _09=, HMA"A+U5>%&@ !6H *BLH $H0/>R-:L"@ ZPn
M%U( "K_ZA%JD\?&P8%,(6;L+( !1+0J 5&NJ)8TH_.@0FUJLA3I6L H:@*K&m
M:KN7I]I4;:ZV56O3 ,"V!V2UZ]CF *IV%3&LW=4V!R(/:-=C;?>R3=L4\18(l
M:]L,G-ID;;[C]O"K10%H:R,/RUH%0+.6O= 6",'.!62UM-I.K5% !1"N'=>Rk
M*:2N)]C31[>65-NNQ=;J:DFU\-H6K%$ 79N;+=6J:R,/[-IK+:OV%@$7D L(j
M*[JU[ 7H *G67TNO3=6*:^VUQ-I*G=J"60NQ_=>J .JP7UD'[;=VSDK9X-=Zi
M:FNUUMI5Q+?6)8(A\-BN:Q6V_=IP[;=6#%N4[=92:U4#Y5GHP,LV7?NR#=:Nh
M(EZVX=DP!A"V92NKG=GV:V6VV%DW;;B65+L;R<B:;,&U#MMF[<(6__J=149Pg
M()BV:HH7!'E L/H?* SP)UJS9@8F"?;@&M%P.--"&U01D%J-A1L"B=&Y\'3(f
M((X??)&YP"\":ZLGL$&0(N01] BO;1$ ;+N&$-M62" 7-I&]B R"'SMFO4%De
M(%JS7(X&P1; 14& JUR&;86TCP^QP-HV-PN:'=P.( JW3ELV!&C6;FNU_=OFd
M9G=O/)$SQ1;@!](# &( ,26MS<H0 ] !&"XY4!@;B,$[A$T!5!$:ANR6-QZc
M:A\:+E?-+>?V- L#@ [ !JT85O8K6_@2_$3B=JR*?@3-8>;0\[!(='1V$2,b
M99$/G=O@+<Y!YX"$^#D$':8 E4L.A 5&+%MW[0KP)_ZT;@E&+14 "O $H"NYa
M 4@/HQ$7 '.62.!<(#UL:84 00 B0!,@"' $&(V ;\.WQ-EX16P6!M %" 'Tz
M &( I <^0(@#?ON:C<W& .JW/8 9 *JVD/$?<&3<&.@#1@ 9 H@81NJ&P.@y
M;#VU_EK4JAV@'*$ 0,U6!,BU<X [@.'V<)LC@''\(BH"K=EDZU]@@UNW%>'Zx
M1IJHC)H(Q ?W7WO\(.%R(-"V- C^1$7 =($"0-MV;DVX((#.+0Q@!Q!ZR.#Fw
M< NV>=84$&K5@1NJLP- !T0 ,! 1 *H6!&"_=3TH(7BXI <++D<@@SNE@'&@v
M #*X4=S4+ CW1' "N .< 0) &4!0H 8WL&V +0;W.X.EP0@/ZV4H=:'=S^u
M0)JX[0PM+DD A]NYE8O)<2L"> '.A10W44#%360X.<:X$H(V+OTVBYL P,EVt
M!4X ,8 O[E,V#5 1J./R<*NJ @%^)9C#D L". '( !2Y:-L?K@S@D<LED.06s
M<KFX<Y4:2":W<SL#X.1&<E<1GUS.Q0F !H#)#5(T<D$ - !3;LL5E6O,0&:@r
M2.BX+0I9KB>W#W#'!0'P<A,%D-Q9KARWEHO.N.7R(A05CMP:1"?W.%L1^.7Zq
M<C40%]P4! H A[O&K>&Z<DT )@")[9F@B3O$14#D;_>W(0"T+397FPL:X.9^p
M9;44,H E[AXW3K"AO>(B6WD11UP9B$BC!I(4R8'L0#H,(!@WP \D(SL$$2X<o
M1;H 7 W@ B@3/"5M0.8<;L J5J0 %05!8"_/<[R<E.S8MSC1SD"),"Q%>(6n
M=+< (E8R0!< .B#1/<[F<1D#( &2+6L !2#!Q>C&+ 8#&]TBKDEW0D &6 '\m
M;QVV%8%00X" /K##50 \="VQH(=,K*MD$[L4Z,3.8EFQ' U1;#R6O?#3X-NRl
M!6H8A0O?AI@"N(J!T$!H:Q4 (MVN0 )W5ONSY>DB6XVX%EOH !%D0T#!E>*.k
M9DD5:I'@@%AD(+#!Y4!0:#$$N-?*+42739$&<.&R(2(E0XH5+KG6#>#6!7(0j
M!]2Q[8K5!QWB@LNFL /4=<6KG8NZ*WU ]6&]S4" </NUIXRZ;@NBHGJ+> L@i
M;I$#BEO#KL5VT5#799 T,SHD8($5[A@B;8M[K>O2(-*ZZUK)KA$@"2!OB#R(h
M8BF[R(BZ[:MV-#"1S5KL=2VVIUTP01JCK,N&H$&D,5Z[I%K0[)-AMANV37R(g
M8*0;^P$9KE5WMZO[Z-P6;<$$WHBA!!.@,E$$&.W*&Q*Z=ET*!G%W/V#<55L\f
M&5 H(AW@Q# N5L$@.EZ!:2Y>(V6:QG@Y6K0/>-V;JFZGEK20[3VB@MF0$&8e
M-=ZP\]0)+@*". 3F0$:0!#88S@68J3]7NBO;]6V0'L(O^%O20P] AYO%!0G<d
M4V$0* 10$WDI#&!R(G( 7AO/1'>;9HB* (FR0,$= >Z=(%WKAP NHO'/0VDc
M@!JZJ5EG;LI52!#>C=U^*0ZZT('3;7P7NIMR10R4>,>[FEOZK59WOQM;[>\6b
M!*"[4-L?K@E =TO>/>@>9_NX5MQ\[0M"ORN#I6#,>&6P< MU;FJ6DIOLD./Ja
M7.NH[MS0B!S@B%L4P4*\+38$@!&E2)6 *5+$N(%<>)$$?Q*.P%;W2)#A/;?*z
M 5Z\/5X9;R6W!W "2 &X=#F\:I$I!4,7NDO)14" <6>X[=RA@)3WB'L6H1*Hy
M"08#7]XR+_05S1OC3>F> -B\;EX0KT+7PSOG=>BR(D 3X!Y:J=6;X%[P$4(x
M,T(:X@P<1$4 H@O>/>V^!HR[:U5OA)Y@NDOF%0%8D9:X UX0@!.@"L $8 (4w
M>#D"3]XS:I0WV7K$1=2,,22]7EZ!+G0@MNM<\.\R<^.\'U[H[DV7#1$0\'2Xv
M+4"[F9$>QEID./ AD>M*<V>L X%1;<H6!& "P+U"!\ :D8WYAAD !8![30'Lu
M>D>]Y1$F;N>V%N'>[?:^>O&\DM=9+SS7<VOK+=N"!I"]99$Y0*"7U[M?\/7*t
M<1>ZBMYG+J<W]("^5=^R;[F](@<EKX$WSZOAY?."!:0B:9'?0'" V3OCF/>.s
M>FV\90 X+[Y7V O-Y4"(<0&^T57B[&X6+)#-[=*2'N"XYUYV+CXUP5L$6/;^r
M=J4BIH<V0!+ !$ $"/3J>9.M$E]&;[ZW#U"(B.:.-D0.XELW;)N!.#36M5<(q
M:*>P( ?0+;7O6MFL$&D +08[=UM[X#B>!OQ#?D>>(VR(@"XR!XBZC 7,8STp
M178D+E\-;\Q7SCOS??06>^T6KY*K;]_VM8NIH4)(>].[:5L;A.T6.D#NW?86o
M?7<DX5J;+U[C ;L&$/4N!18-T $4@$^62RN9* +,>;BW=*5N[V!63\NG;4*0n
M'L*\B0(XKAHWQ9$H@/:2 5 ;]^^[;4W[UN+8*2";W&O.=\YPPH \_OS)0IXm
M>X>[X=Y4;SOC-.OD)?CN>=F]DQ%W;]JV!I&/U=F2,W*]&%YZ;QICZQOL=?3.l
M<(^P=M\S:GG$0<N!D,A:-O 3N@@9Q#U6[,L66.'J7DF\Z-UU+>D!OJDGP+VBk
M>*F]D=^S0(*B/5&&:$*D=-N^D-_F;\ 7NBO&=?T&85$ S%_L@,@A0:%PV$<4j
M)5*Z/XCR+T#B*Q'TS=.J(^2V3E\.;()7ZNL>H/H61E:_3)*LKY27]MOH#?$^i
M>B^OA(;.K$Z#F/'5K=[.!\84-@9+W0IWX[I[S0.<?96_T%_M[T @00&-@ *Dh
M=*< 2( G0!%@N3L$$$\$ =82N]YG1#&B(W&<W?=V+^D#G=M\K>$BP?L?4.(*g
M>#NWWES2[\!WY!OU3?TR1WHCF1%#"6?$*. 9 8T4!D8CW@+]+\SWUSOQM?W"f
M!KZ_.MF@+6A@[^L&@ Z$?Z<#$^#E1&H".=&;./^&@)D3R0G/A(-6[CL:^>&Je
M@$\?"5Y"@PL8C0OPP-_*@&&]\M\:L!7F!@QA36@D86,C,!+@2.C!-B($YD7Pd
M?[N^%0&6;5' *)L$7LTN@<NSI(<F< 18_!L%_D<X)RS (6#UKW."!)R:U0-Kc
M&J:U2F"8K7: ]*"1D-N^ )K O5R0P!/8^1N/.$A<)3:ZF6 3#'L";FN;8 3Gb
M@8FR>V!(L!]8$GP&H 23@BW!@N!-\/CW)3&2*$D@@GT060F81$G"% P", %Wa
M@5/ %8L5L A 0#$&3O7&@->Y3]_YKPVX,H(#_HTT2N# ;0%#R1SX.%('WO 2z
M@66^%-]3,!(89PL(-@PX@<T,G&#)!&5"-K&-0/^*@T<3=8DM\'<W]/ ++M?&y
M:]L "=XW1S$8!FP&1@:G@=N]S)$/P7/$E2$=<6,D9O, UA'L2#7X#IP-/@(7x
M957!R5E6<"#X&RP!)@,D*!(3A@ES,$28'%$"K@B<,GZX@5LYP'%6C)NOW6 Dw
M>!<-&%X3P"GC!1QZH-=J"N*_-&!\<&7$L@L>\9! 2,HC ^%K,->W($S#O0AWv
M;C/"IMH?[@X71/+I+?.Z!>J^IXPC+@A "#<&AN/R<&W"F@)3[0I@!1#R%>,Ru
M<E.]*8GS1$?B##P#1O!^;M<CD%7Y@ ^C4@ODB,JVA.TC> S\2$RXEUL$EN,Zt
M<^6^#.#9 'GDB)OGP/"F<\G 'H$U;EH8#K 6]MSR1]S").$X;J*@O3'N%:_6s
MA44 _Y&0\/>6"%Q670>[<YVS;@#\2/L7TC'.730<=,G )P 80)NWE\L7I@OXr
MA?&^GML B6!8XEM6I0S_<,6MVU[,,&"8#+ 9_O6*<=L;35Q(QQJ7/L #('"Lq
MAMN_=(^0+YZ7!EP@L0T<2)X6] &6L(/$)1P6CI",A1,%96&0P%F8LSL+SDR<p
M)\(1:8#9;1\X(>R)" 0;@9W"XEY<\'QB*FP/I@%/2.($%A(P"7Q$0V+EY9#4o
M1WZ[8F%=;X9W_RL3KOWZ?U6U)8+*!?"WB#'\G0OX18R_5]<&,/@W^KL&F/XNn
M**J_9XB4;O(77#L(A@([A-6\V%]P\/:7]\N&>,=F"=P6P >CP#V#^\"\:)!@m
M=A\?K]UVK@A@1/*"(%?,*K(5G9(5B;Q7UQL*Q@5#(Z8 #&%"L$-X'&$!ANY*l
MB%TDM)%L;Z)D1K(H2<)^>3O$WM^#L"RX$*P(_@0G@KFVB^"X;X: VIK@U9&,k
M??TDE))%R9KD1?PGB1&G@F?$(^)1L"?8"HP+UDC4)4S$Z5X10*:64Y(D$1(?j
M28C$/A(C\2,829R@J$G$), 1YF O\2Y81RPA?I(<+J(D,PLJ29HD4((EEI%Hi
MB8VR7&*E!$OB%BPG)D= B7G$(H L"67C44,;Z9),2KXD6^$V<>-7W_']C1-Gh
M);P2Y> 0L%8BX."9N!-#>44 I=@RB8KX3^(I:90(BDD";^+Y<$,X05&5L!'Cg
M@CO%C>+CK(2X31)<>)/T@U&L<H 5L:#C3D*$N10;> G%,F(!<2%X(DPG)DSLf
M)>S$HN(H,9_D37LF0?S:0*S$EF(.<9$85GPDEA4GB3L3]PAS,+*X-$$FCA(7e
M2AX0DV)*,;"8-K(A'NC"B(G%6V)C<8*B-N$I_D%PBT/%J5D)\0PF4@(CF92Ld
MB6TDEA(M@ZL8UHLMAA-KBZ7 NXDL<++X"CP%;DX\B7/%>.),28.!44(M[I1,c
MBX<DZ^(9;KM84RPB3E"$)XH3YN"#,:XX7*PK%I6 A<L -1 E[G&6AOL4UA3Pb
M<!FYK>&HL'8">NL56 I/=#D"$N)5,:H$P_LN-@[')U8 R6%'L:Q7!'#AA>ZJa
M:@' 6X$J1+=B>FN\-0"O<"G&G^&D;_;W @OW14!<C(.^R5L<L=SV8ORH^QA7z
M!.C#6X#D\ \7:9P&0/KJ(=R[2]_J;<+I.'O\=0 _@=VVBF"YK=-8V\O>K1G?y
M/A).8%X?R7Z874OMC1K?/E"\8(ZAK]*7>OLU=MAR('2ZX8?V,.MW[.N/;7<0x
M,YR][&!/[P]7GKI?R/VN*HZX=X QL*^8))#J7?6V>A>_O5PSP/YU9TP'4/NVw
M*-B^.F/Z\.?7T_OQ'?=&CMNV<-_X;[KWY;ON50-+1?:OJ]]8B1:F6OSM70JLv
M*@C"CM[4+!=5HI*J'?;2'N#&78%+K5TV ,&& .JJ(&3'E][_P$\CC;'4'5PDu
M+3HP4=D>B,QB*TQ[6&K8!HH/MPAN;%/7X<2K50!4=&L/"MQTK2CV;WR+@ Z8t
M&7@@7=VU;MJBK@O7?>T6@,.Z[8'.;N2637 A:%4@>U>XW-W(PZ46M3L^AN$*s
M,S*R*UQ2[?H8XDO;7>2N?C&]A=W4+!0@"" %H (D ?S'3P G0/ 8BV",X!]Kr
M)]:W6 "Z+0?B S.LR.SF(#@0D5Z3!LR!TBN4M1_CC[D0F]Z*P/RXUTO=!8((q
M6Y&[B%HG@*)V*,'=Y?Z"=]?'/6&^<6)X@USO+0@<<4^])&'#L:N7*LS.W1P7p
M?%&_5IBU*F DT,M"GOV6A_N_S5RO[U[DV#L6\8VD(-P6"E^V2+-7LMO]G2\\o
M@/G#U5Z1P^17;8SQQ5] !U#(E6,JLKF7AASK5?K>D#W'>A%/![S7*4(Z7G8%n
M*4B]J./SL-RWW[N^;=]ND>W!-N33+V#XX(L6H0\DD1F^M@$>\AD9XIM&#B*Gm
M9BV^X%W.+R4UG,'QY?L*'* 6>31;W78*ESR7?B>?"D;*=^5;\M7/,PYM@;?l
M>['!#EV#A7@W+##I90TH;/4#%%Z!1RQU,B#<%>,*DN<,/%]!<H&A_0L%*"#Wk
MCY,02X@F!,!CV96H7=3Z?443*&&K,/V7,((EL/K:-( COV&.0'!8W\N!^/K.j
M((PD+Q*R[]75[#LV)CUD;8$C:U\J\C/Y1:(C[O[2?5$ *.2\[]XW>WM+!OQ6i
MD3^_ H= K>%W<$P24/SJ;Q/'3N1I,FUDBLS>U4-8?F^^&5^=[R%!E3R%_?QBh
MD>'"FF,><26YUIOZK< @DU/$KM\=LGBXAVSO7?3.A(W ZM0? :$!FWQ&WOT^g
M>OT>8XPH# -99O';Q1MW+U'(>^-0[_3XE?%"%AR3DV4DA6-6+Q, <=SXO29Gf
MDT,/>]]6\O[XE8P?I@(,?L7)9XC#;^(WC<L1."</BD4.3V2RL0F !W+0??YBe
M>[&_V.,K<D,YBPQ4[C (?-' <61:+PYY [,7 1Y/E$,P'Y* ,NRW='S5[2,_d
M<V^_"N4R $/YVQ A(1!W(+X"XPU"Q%.9M[%$#A?3@$TPP@P8C RF!4,%>,&Hc
M8,2Z,YA$@0V&<X&# 3-(C%.S.&,=[L^X-:Q2-B"K)8( 6("+L<>8ABPA+@'Pb
M8$ #1I@E3!(FL:R$:2PSEA_+3)C7QA1&"N,F"!AS!-( +ETR\/6XPP "^ %4a
M<E4 )P 00 TDM'P"4 J#-=+& N.=[9&8IYP<)B O:HT R]TC@#$BI=M*?BW'z
MELD12(($ +M8M;PE9BUW 0C(4X!W0_\8"5 $2-_.EJ$#K>3@L@&9N&Q<[DCDy
MEG?+.Q$9L6\9N"Q<;C8(C6_!R>7J<M;8N8Q:'F<4BJ?+V64#,A:XZ'!<CM4^x
M(JK+XV4I &ZYNYPIWBEW&)+&O^56,A4@"T!T*"_+E^G+S.+G<FHYNKQ:?B^Ww
MEEO)X@DB ',93(Q<_@($F ?,ZV7=\G[YN^Q?CB\;F%D366/L\H.9"+!=]O:Rv
MEP?&[N5) WR9@!Q@3B_;ER?,'F;NLH+9NRQ=;C 3D!7&$F:%L8@9NLQ@UC#_u
ME^6V'^9[\7F8 P$S[LP2<]W#PHRQ\FM7G?P7(""OE+43+64$Q.QVLSQI\"K;t
MCG7,%67);M688 R# ([XF/W*+67]L$DXPTP'Z"D#B'7&V&.W,1NBQORF]1HCs
M'^##.Q$2[Q-8:[M=UD9LC:'&;&.N -BX0]Q,+ANGF<L :&/=,O;7;*QFUC(Or
MNS2Q[F/*AD5YJQRK2"%KE-\;6%TDKD?YH]S([=S*D$G*F.+%,8]YROLXEB93q
M6H$C]N2A<G0X0/QHIB;GDZ&\^^2E,F4#=)R%$2C'?@'-5F5G;D*9G<IG[BI#p
M<^D"QMJC+(.6%4%[\%* *5C!VHS<+*&!+)#4 .EZ8PD7UMCW )CB. !K)NIRo
MDF?-I(^N1=Q"7<L5QF7L"7:WI>)'!>CA+Q :Z<;F(%:VJ&#'AQ%@!K <#LZRn
M@J$#@F"?[<>6/ "T704S<,4 V>.*P#TC" +Y+1K3D%4 <("E\ ^7KBO'I0\Lm
M,CNW0P D /^8/?$_=O2ZCD$/KN:8\;\6V%QK1EZ49V>QX-AG:LR8U^R)H#_(l
M1LH M&9A<Q'#V(S'$-.F19C-F0_0 U\@+<(-_JLNCRO.J8$W,?2XVBR=K>K"k
M ;K-">%O<[@9.6MM#L^RFW^SWF8V17L6KZRH: ?7;ND".N%'[J..ATL?X .<j
M=SG./=EN, H W3Q8!I32!3Z_8($5 +Q9WJQ>%@+\CXW&((#CK$Q75\MNOC>Si
M(3@/9P*QP)-A%DN210OD-)*Z'P(@R. B"9""F%),-OR\3!'HP(^@)"O\[5:<h
M9!LUXP?0 Y_8_^!LUD 0;:V[01 C0 Q@;(QM]N]J(*2XI%HQ &]W?'R@!>[Fg
MCP^[GMHQ0$ZUKGMVEMJNG<,5I61I[FIW-.+;@ ZHEY\ 2X"\,-)YZ4P?F.V>f
MFB^^>N?B;IG7S,MX=B%7<E\ ;=XL\J%YG+MX7@IGGCW/C^?(,SZ9AGSQ%3R#e
M!LZ[)N'U[OZ8"H $^"MC 5"]AF:1,J(Y40"JG=7F5)'+.(?:,P)9IASF#2FWd
M>F7#-61]\A>YW:NH*3RG9+D"D)J6\:^WPWM0-@O+<2^^MUW8\[1WO8O?[1N[c
MGO^[9=[\[NDYXLOS3>?&D$7*R.<NLKJ7T3PAGM3 66$54EM,S4QC4U-&'C_#b
M>:G/YF'AL!QWQ.L 3F,H;'.J<-X6;PK(_^RY?0'<E4$" NC.,YG7_OSK#;IVa
M+[^U9./O\Z^7\NQW3AVC>Y7/<N0^[U2$#!#H'3^3@0_-GN7;;@V$ 9V:'293z
MH-O,,N15,R4V\2"E1;7U80,<'PH1!?QC1%$1:''P/_ ?-H"[0]YA[N"B\/DUy
M8MN=C]@#R%1 "+V"OH#@="4/DP<H #[74I=YV,AR'MPBM./0P^B!2-&*1:F^x
M'UH/KP??K^PA"FU[P#W<8F^RN=C? ^>"%XN",#XL-<H#P-B$+/DA^B"-C7$Hw
M19"QV@?>P#+6^U!0=<9.*:"QQ%C5@*>B&LM^J$*K'N8"-8ULQC:65-&-Q3_Hv
M'S /!]GN111Z !&HT,MB9AD0#HBS0 0BH'R610,LC^T0]PF&A<R"#X%D_I#(u
M('3,[^$<Q)^VK\Q2CB6?(28/& $;0-VV$XWCD$)0(>@0HVA7\@$9L(R*KMO:t
M&$X#;0!Y;3,X!3%6=B _>ET1[PI7M%R ?9'MK=3R!73,^@E?A"CZ+U%;)B'?s
MEKD1@]KR1#.:V0!;9M_Z)!@2X>7A<G%9(C&1F$93 :K1LN5PA#<:'/V<.$=Dr
MHVG/V^AK]%3B'!UA1D:@ ,[1"&9Q]'EYN9R.)D\P)MC10N.^!#9Z'MT_]C#Cq
M(_#1[U]YM'*Y?UQA;DJ<HT/,"XEUM&0"O[R=>$?SHZD _N@5P$&Z7MR:*$?Kp
M).[+]65]M$+ZP)R.AD8[I.?+]65Y-$B:66R0GC CF#72S.@)<SNZ&VV2[DA+o
MI%O2S>7/A#E:)9V/CD3LHSO,%&GRLD<:P QAOBZ_I /,!6EI-(@Y)ZU>1DGCn
M)EK)*&9W-$^:"!"17DJ'F&72%VGPQ'!"/%&=V$=?)9324NGI!%5:'JUBADKCm
M)9++"0E4]#[ZQ^R> $O/)LS2)&E5+3 :AH&,YD7L)W(01Q$V;22X-?MC_A\Gl
M 0+(3^97<BIB%5&$?E#4+]X 90>PI1]V!DV8EI&T.&P D X<M Y:[]"B,%'Xk
MH $-Z\X@]"16*D"$[DM30([0R(@@ ,UA/"#91+[Z)U # &?A@]:YW7%E0 Z j
M!6P,<1*BP?9A+K#4 #Z8 0P$T@L,A?XA6W%?C=2 'M#0S8&,A6;:V1 G$ QTi
M,)(4?^FCB$OV>GNGY4$D (BHQB5FPQ, /$%$?5/\)9#36@F& W/Z"_"FB%48h
MIX_3YV6F='.Z25$18$9#-5( DP<]"7>:*8N(, +0 *P 9@VPAAL K*'280&Xg
M >8:%"/W]&>#N>*>I@& I]/3A@%LKTK',$#8H!@9!CX;;8&,@!L@(]#K2.WJf
MEJT ;HD@@&HBN*S6Z$[C)J;-Z&DZ@'J:/3W7>$^S .+3;@ ![D1"0IV?3O&Be
M!"S4;0$'1X9Z*%S?3>V" !#47P %M1"""M"@)D\W(Q*X$>H)]86Z0IW.W5!#d
M.M;3'FK^-(G:0'V@3E OJ%G4;PH'-6A"[ARC=D_C;]W1'.KU]([:0'VB]E&Oc
MJ%O4?PGS='K:2#VC=D_#IS\;&>H+-0V@/GV?3E+KIS_4_6D1-8":N6(8L$\'b
MJ5W4!(EI\Y0:1]V>ME!CJ#74W0@O=8X:1.V?SE!#J1_4"EP)-96Z35VCME%Wa
MJ-L"8.H[]9!Z[JRG7D^#I_W4ANHS=90:!G"43>UZ:WFU:HV/KJ+Z*/V=GD@(z
MJLO3Y^DU-87:2GVAQE+/I[?4 ^K[-(Z:/XUM!E /J)?4)FH4M8J:08VJ1D9Xy
MJ7FX^^GW-*Q:3 VK%E#'<B?50^H90)&:34VC[E3+IP_5HQ%L+XAZ1%V@3E4[x
MJ5G5Q6I7]8U:+@:HYD_/JO_3<EHQ+YYZ5[VI?D\#JT?5[^E6]>2A29VB_E&3w
M'I+5DX=7=;-:5HVK+D_' *C5A^INA)(:7-VC[E8_J;75UHQE=;1:2(VIUE17v
MJ=W4GFHM-9=:72VL)FQDJ<O4W^H2M;(Z/PVK!E,_JS/4M>HR];P:39T 4%,7u
MJJO55^I?]40"6^VO%N#"J\75L>I-;H@:6EVN?E'GJ674?.IT=; :V_P69E=Ct
MK W6'>LT-:%Z0BVR-E1?K.75*>N&-:,Z7=V-B%33:3FT<]K@ H?6,NT3F"\4s
M! B8@VD0!2 V41 #N $@ID\4CX+\!]_![E$IH,Q*.'[0[$[)="36 #*9YEDGr
M0%*[5P N+0A "J#J%0]TK8\ FL?1%?@*L(5>$U_,C00]EV. &$V'@L ML_Fq
M!885)6J0P(!W;DVWKEO;K7L &HCQ *@UQTJ]6$VWH94#](=L1NLC8R$6,#-$p
ME1W&*H EP9BB#""YI5XD!?( &8OI@QQ 4#: '),!C@/FH8]01X .A 640'<o
M5]D0;HM5PYAU-+W >&@P*K ,,0?.A>2:T, &2$'D")P<<(P]QLLBV8L?F&1<n
M72<#H%@= 11C2!%]H 'H(A05 @%Y:[F"T<R,I<<R-=0/;P'@0W]BE;&9Q3)8m
M*_0$98?)@.U8X)&1Y0OH4$$-+P F;1G@!2#6$*6*!U(0S-C6])=!J+&[;E&4l
M.Y"J1HST0.,#.L",I3 P,([)2X&RPVC:;ZT9 +4&"9S7]HPI!>P:;,'*N%USk
M:8,8BPLU0<\"A0$F N8+LZZK0JD 9]5B$$>(&\4,:[7.PM0@R+#0E"A50#4j
M1+($A=2P ![E2' 1E_P!2H6S0<PQ]& @JT7$&$#,I"H)FR62%0WA>VOJ.AJi
M(-H5^=G7M0JB)1O"AD( ,C 4&@H6]L""QJN!N&"3!R864N<@2/^:G)&DD#J+h
M2J37N5BC@?;"#3#"%CN_ 6"S@N!^Q8L >)'7$!+@!H@ [X$3P%S@X!&N0%DPg
M8QD5L-K\ 'TD.Y :B*6RK[T/[NMV19, 8!$-?A!<-\ZV^ QI[ G@4W'PN&RXf
M!R86"V+<V6GZ*S"^'M(NN^X6;6B0JUF@-AT:8.LN"+H5B6OD !NB>YV+)F)Se
M://8\(LDA>2Z^=$5_F##(<0"0^S(@VM !3 B\&%O,V;82PLL0<:B)3O%_FE4d
ML;L7(FP$-F/ ALT2P6&C5#4008#3=(78!=$4H4"T!I*H'0<B;OLZ+?+)IJE:c
MCR<65^>] ,0"85$&0 V<L=<$% 8%@*)FHU&6W5^#/MH"?H')P 6[AHU$76O\b
M,]H:'H&@1Y*#"J, 2 *< ,@94HO31^1:37 "0#Y\"1@,/XO4@ Q[=.$B\ ALa
M+<[99(!T=C/;TE$#X&)LLX4<(XX6QF2@":"%2&7$(4"M7N=)-I: K$PC.%L0z
M*Q@,^=QC-GN$JG%[H%KH+O0/"H#)[<29P;"JG=1NA3O96(*T /!XDAW,U1$Py
M,809;HM3-O&"3;# /@/049<89P*3-CIV%B&-)1#8!1;8KXP71!V D/V 54&Lx
MK3$$ XH7P63@IIW ?FE'8;P#>0$9! 4CEFI]@.H6L]6S. Z^ '-DJG$C^*OBw
MFN49< &E@+VBAYW1WF7G,X2NPHSK1>\A!&/*=AA/LLO7G@QP1EQ@,I %0&.;v
M";H#95;.11X[IFT4&&-K(=K06 8(1%A 9@RUH-K6'T 2X#;PVL@K RYIA#(u
ML$/:HA("@>V:G(&.K0VTH2LDN ?9P)CBMRO#M@N8*:(. &$R=E2[;?'$E@OTt
M!HP"6PO'-FQ 7'N(AL"XLLO8O W;A<.8+P#0G@L(M.\ !.V#*@B@K(W,3HLDs
M-MX"?.UFM@* IRU_$#\8H[<"@6L7P8=U(*L 2%JD,$39% *IQL,B8I'0*%R_r
MCT?;@.SQ /!AI*T9$&0'93D:S8R(=D/C@BR'G@O(!GX8^FL51/GZ"M$@L&4,q
M!V06,FRI<W;XPVHA=E1T.300C[KTMGI[O<W>;F^[M]_;\.WXMGS[40?5U1,Hp
M ) =< KW1T3[47<#<']T/^Z]B0Q?,1F OWT#H!0P.D+!45T927H;$>OH('! o
M8%;8/I)S+)OB3Y+>[F\#.AS<@ P)=]I91I+)]I$,N%L !6X#MZ:@0\P1"&O[n
M2!;<B%CP!P1FB-W)$%[@!4C<%8%'QN 8Q=W@]@BLN ?;W.LV (P[3@ 6\!73m
MN%7<@ P6-R'#5VS(0/S^N+D?-VY&QMHU%$P"" 6?/OZ\<X$3-W_;OXWD!F0\l
MN=&QH>">Q8S[47<1N'M@N%DB/8M0\&>;PLWE3G%7N5O918I7MH^$P]KC)G.Wk
M +K<0&Z6")L[%#RY57"7N6O<1@- !FC6R1UE_;>ZN2W<<6Y_1<%51A *KF9+j
MN4'<5.XOM\]"/0 'D.,VN4$".@L!-X%;Q*V, D\NCD""6+$[X<[Q/W?MG3+i
M<>D LP%)-XB[P-WIY@A<NBW").Q61:+@R.W@5F7+<9?8HFY.]X';1[)[W7(Ch
MNB_<-NXEM@^UT>WA)AID&O[<B>Y<]V-@8.'K]@S0N8D&81$[]ZU;Q:WKWCK,g
M%PK=] $?]Y0;UZW$'G:S 93-,I(VP!K@UPWLIG:W1(;=VNY,0RA8VWT=0"P?f
MN@'=2&Y=-[E;"Y'E?G-X!L*\%>Y@=[6;B?W@%7?WNC.XFMA5][2;V3WLWCKLe
M7T/!!M841+>;W\W$#G@7NMO<\.Y]=[K;VGWB\)'4!6S=Z&X'MZZ[+A *7AT;d
MN17>$N]A]^JXW0WQEG=_N^G=.FY/-T@@I:'IGG27NA,%B(%&09BW4O'F-G,3c
M./P<+0I)0:5;1H(82$ROO._<X ^4 *2CZQ$*QF;[BEG>#.Z<-X$CR]'S)@/8b
MO/\D0&^7MT= Y\WCF'DG"K8.00#$;](;SPWS=GJ3!#8;*F^D]Z,.(^#E]@@Xa
M.#P"$ X:@/XB%+S9.'K[2%C>7&_PAX,#TB$IN 'H/\C>9 6Q<V[!9#VYGXXz
M.% ";6^41RAX#8"I0?QJ*>C>:P?N!]M[W'UU]17_O>O>!(Z==R@8,A#$"//^y
MO8/>@N\21I9;FO'SQGE'OF?=,A(.J^';\DW@ '2$@CFL66\9R>-;Z0W+'7&Ox
MN2D19N]$P>@;SYT1D$2<OO, <F]:-^<;[ VG.';/ 5H/<V_$M]>[10&G@ &Xw
MO5W?IFX%0)-[ODW\+GX;OX_?ZFT-A,RU53%]*&=W!=0"C0VK-M=BX#$7< VHv
M('(?7H("MA1CDEVY]D-(L[$$"H#P=75#Y! C> O$/MS6\&M]+>KV/< 7X'XWu
M-2R[PN/WP&1 !@(Q1EM7LS4;1N]%[B3"_"V@0'][G<O.!.S,-24;_IW/'1$@t
M(U0 "/ $N )\ 8X +U&S(;+646^NM0!Y/"! /@+<'P[@#/ ,> (<S,%UEL8:s
M!;K?TVW>Q1(Z6T$F<$-+1<[?]]4I1@(@:ZL9>0TD*?#?'@%%1?%Z9,$/OGS(r
M!]S?=0LP!P%\*BL>,8"SMG<$4P);MO6[02R5E5D$E,?-,(X9^,.;.[ "%V;Lq
MK@W@VVJ. .Z8LM&VOJ\Z*N+6'(&[M1;<;JV!F(*SIG$78 %F+&D;+U!HZ MDp
M!F <(/#N\ A<DDV'3A#$(<P,N %N!3O5#/X6:!%T!8ZQ:W "Q73@W9T&US(Lo
MM.D":P W!F:@?EUHR%;@!KS@*@TU]AIC/B#[T*)*,6#@ESK(QI,@ZE#$<$'0n
MKH/'^=S610><&5M]R \HM(W7%@W0\20;^\ <4!/, 3H$*'#NQIN TMH"AX(Gm
M #3@L/!8N .\] #I!0%\,[RT(^7Q0.LAZDT%\%H_ ;K6CP<,>"Q\&*X UT" l
M.80 'PC4A1FY+BO,,%[7L4VUQ8N]A?.B**#*8!#/,O+@8([?+A7U2"$CZ!"4k
MK6T#8-V2!O+!AA&D&%)D9#/9](>9MF4@4I, L'#8:)_:*@V(!6>6*,"FN#K/j
MP678Y_#!]FB 2Q"F ',DKI/A7 $V1$<6J6K0=@]$8?+A 8LY0(JW6U&^1MNRi
MLS,?"0 ! 5(#-# $OX8;5&46[G!^L:)BXFQ']@]81L[$<@!9QH# FF&[\ P4h
M#<R@ (M!]F7@ H/430[DP54:U=FI!>XZ%&O?#FS<!>8 ;@ M]N7B.I E&&I/g
M+ 0>6POC=8+D#2[,P%A0"$+:)O'Q0P( )?YEN+)JQ$/B\'"A@#K<&SXC0&9Pf
MA<L8@XB']^8#I#W,-H!OPKT/=G"Z@#35R1'$UG0,MJ$#>NLZ -^Z:%#=;D/Ge
M*U0090HP1UNCH8$$=W(8KP<":H @.!$\_DU6QG&8+H#'"'%*QHFC'5ZUX#YXd
MG1>[LVO@14:\)6X++X?/KX?8!O#* *N6!+$8Z!!(OYTCIFT!-B:<!X[C@*Q.c
MQ>4#)-WD@TE;F@'FB&MW!6HB\-6<.%A@U:O2\*F^M:_.FH'TMM?:#IX3KT*4b
M,FH=I(?\0#8<D$T.QV%LQC'BD@8:!K&B(V[2N, PLU\=QXH*L5"#)(X?"(YGa
M+)@DM=HXR=55.;X=F!F?""XP6PO"@'0\* *:9H[_QI,4M0BRMO?!QO @J%F\z
M!9H$[]JW %Y<+W[0D&R@(';C88*=ABG\.TX?,&N\!5H?U0'W,$HU+K#AQ6C?y
M :S' /&N #,V%7X90(37C0?@P@6TN%A\+2XSGD.O"<(9!]P&=HB ;=C'YB2+x
MM)44F>OX '0 <Q],&)?&ZP8!PLW0 U[5F'-?@%@O8.^6@UL-IBC2=$D\#J+w
MM[,$B)'W *MA^AT(#V+<H9W'9W GAP+[I]U[D!M?8 +*Q][WMU&DJ_TA#SVTv
MR,</H-;WLZ6F"C',CD/8.LBR;7$?N1PXUTP;L%8$R"\7(XN,!1RC>0&KE8TKu
MMT&MA.PC>8 B,7 98!$$KV?8#F/<:X976A&'<%M8'?H3AA)WA@6[JFW6%I';t
MOQG= (\L :0C1<[.T$#4Q<6Q]=B=KH%<=XPF+Y*C /( ,P(%^1J )RY^B XPs
M188/(XL\P#,C%GL66%Y;P[<$THJ_0#JV%PTA)FI G^_:/W#R>"%[%%N@4 IPr
M+L0"8V4%@/@7<C&1Y7T'LYFR$(W5[UAY1/ #WY'S1C+:GVS:-DM;CY'F%M4-q
M(BQU&5E?<VWC1'!XE@^HRH_(W8H^^-D"? T6#P.H'Y+E0G(KKX8[N]'/B'1/p
M!^SDD]S7P @[:8 A@&!OR\O'J^Q:MV>[5VXTV*'>L'OE>6MF^9H@+!XD1WPTo
M-*;E2PRP@*A@(6[2T)7;RC78\P7Y )S@,: ""NW*K0;WW(^P:[<[-PKYX8;n
MP8,@ /-S.>9U2$O5SA)P/D3;'W+Q^)+$ITV+X-:Z+1#A.>TB=DK[DMVYF(>Wm
M(9;7+O$BN DB+$"YJ WTP&L/ 0*+A2][&8ZI/8Q0S%>_;@L50!_\\< IIZ(Rl
MF[7DNV,(:QC<^W 480__-,H#LX&[=DTD;@S(KM,R8Q_F* R'\8*D;-$5>#G/k
MP(,8G]UH.5K@(9X47FQ\R"/:3'-7N:*B#TZV,!(TFOL5M/(Z^?M:X'&3Y3&@j
M!:+DW0I=.8&<]M$D&#Y(4T<89NMF=BR50 @@+-2"*S?./#N"'W<9@'I53B+i
MOY_?$0(2QU];-&W5IF;CR74@O&\8N 8B:?'9-I@G*3*R[FLX 6;\=Y&W]1&4h
MP4?A^%SA0%Z 3-'0;EU@P0O-6_#0^1%$WZG*?D'C.OS;A6D9=*( ,4V915HOg
M.%04)H%* 6(ZWP>UCDQ;.&H44^LA=-7::AT 816X"L(SB !0#P,@X ((X+DLf
M!.Y-6 L0"X :' /" >LXHP!C(!E@"X@>,Z1"E*1 :P 8#='T0ARND(V 8Xe
M J8!CH!A0-R('Y K^050 L0 B8!P0 H@'[!,0**@ Y@!LB5TP . ( +R!:8d
M#Q &*JEM@.K ?) .J!4L$] !^8 L7]V ?]X/T#B=O]@! G0" "T@ E"AXY^/c
M2_[GVH!Q0L)@81 *F 0 -(!$?3_>3) @@X 4!@T#DP HP +^HG2@(X.J 4,b
M (@!=0.K =8@>+XUZ!H(#^X&"@"* A@D&X"(? @47(!MH)H@#H@&K -$ ?Ha
M Q( $JE<P#%E'K *& 2\ R C(!@0!# $1 ,(#GM%@@!)/320>/@C"!10#UAz
M0:$!Z0 W F]"Y#E2QN@T T *G0; L=#-(U< +$T,4MZ0 H G]!S \ #Ly
M,U/H5P,QNA4 6B Z 1XL2+T&9W12P <@'> "(*%W #CH'O2Z 0C]82 QH!B$x
MD2*@6X L !9 "] ^X$B]#+ != !K62[*E/+]0P9XD&1+&LO)3!4@@F .8.A9w
M :X+"@-]@ F@@DX : &48SR//[?_3/-\:S ,&/'%]X0(EJ OUO3<"L"18@'@v
M J[GJ@,D@-\@>#X(,+ZLT*T 271W#A,]%W ]9R=,N;(!KO2#@+, 6A"@X@08u
M - !P)+N^?<\? YS&@'L YP%,(/@^7MP&/ ,\*0["PHF$(!0.C'="F!,CP9Dt
M W8!U'/;R@ EJ[G_ DTUN0I8 /@#.]!"+6JP.( -[IL/1;NAQ/&J!+-P#Ps
MTGWI<G1&@#) A*8P^&(Q H !T )I 3K@"6!-QZ:; +3I7X#XP3/@?]Y"@ 4Hr
M $0!BH Y@A> ) [8 :T 30&?\3?0<K >.#&N:O8"_P!U1PK0!^@'8 .0 (<q
M ;HF 0!D33_@?XX,$/'4#78!&H-[P#A@%] %N:9<S4#I"P,. AM @1X : 98p
M ,8/R0,+P'4A'; *" ($TP .P 'P%"=#F .(#EY ]('_W-R3N/@I@4^,(^9o
M#[!S;$/44P/ >!5-_ND _( 8#_.1H@ )!4-QFD _">_W,M0 # HHY1GR/4n
M#>X&>8.]0=_ ( ,: ,$#I0!;0#"@>& &M &2!PL#AH'>'7(@>2 <B!(N!S8m
M CKF@/.@>< =" Z(!V8#E '#P4; #2@#> Z@!W(#F@'M@/<@07 HTX+X!WXl
M#H 'P@/B@?%@ I \F "@U#/J?0"-E1W + =U(5FMYP'T /I@28@'> -8#ZAk
M YH!MLN+^MT L8XWT!OP#?P&??6_>F"]<. #(*P;UAD'=_7'0>1@<E Y<*Q#j
MUC<'G8//0>A@=% Z.!VD#E8'FG7.^NL@=C [0 ?4#FX''?4V@!.T=_ ["!X,i
M#XH'$P"P46L=I7XWB*V?$&CK:8,QC+T)MQX]D /LUA-%Z?76>B@ %M &< &,h
M C! H0!<0(%]%# Z(RUX ;( C(!OP-ZG;.@!(*R#>?0!(:DV0$(=H3XMD"+*g
M5J@L"(,(X#_ !8 !2@AL 3SI!@!.0 I@.#@.: 28 ? !G8 #P#8=(= ^>!_$f
M#^8']8-T01L@?Q *P > :?X' 00#@#Z@#<!8^)__W8#J# ,# ![A&T D!@Xe
M -8@Z0!SXO_<%? /"+$W$+P&X 0K@!9D5I .0 6\$5P B0 3P#6 . "F!ADd
M W(ZV0 F.C] '^ (8 -1 _8!%84H@(&]%@IF]P!T \CL(_9::$- '^ "< 18c
M ,[L.3\Q.P%@']!G]P VAT!!H S.S^@0F<)B@%$#KITV %F">]U;M-: 1Xb
M ?8!A1NZ&TCKL/ G[-XB$<H!^P"IR;1EF+ +( :( 0HWLX*U%J?]#.!I1P<Ha
M T+M3(1*^Z4=M' *Z-)- _(EH@"/>OV<U)X-.+5_8VSM^9)1 &%]UPX%V 5Lz
M WSM@0!@N[IF%+!9+ZB1VKL!OG8W@+*= # *Z*LG CP @'5< ,NEV!X..+7Oy
M N !OG920)9K:H!%4<H1 ;;IGO1 @)YAT8X-: . %M!'TPGM3T6+"G %&!^0x
M,D$+JX!&D2ZGD> )R+#%[HHQ?4TD @.@HS U$"8L CP!!H!K3:!S%$ ,: /Lw
M O@!WO8N0+T='8 ,P 'P#4L #_=3>Q&'U(X". . %B !.H!O@FTR7. 5Tv
MW.MHA#100 K@#, #F/E4M"3NXX,9@!8 M% $T+?30OP!5Z4SP"+ V#;' 7$u
MF:[M&H K !U$Y^X!L &< =H%N!4WNM =!T!TUP$<W9==UW81P!4 %, "8+FKt
M8Q\ H0 D -%="7 &^ 4P <X Z 5@!/ \+9,V*T,':CN9P PF[E%P # +M7s
M )P OP : -C] > $: 3X D@(89<3F;IFZ)!Q!RUT !) 4X.1^R$C%$ $(+H;r
M <X 9'=@P&[E<I-T5P%,W3^U) 0P'*% +Z(7 ( !HH $%M7]"K!<X>0 q
M#<SN_Y XT\X]Z&YWQ[L; /3N32-L@N(]X+X(&"%$SCP!^H!]@-V='K /0 >@p
M IH C0!30(9M&6) JK?O C( ,W=.7Q)@BN,/V+PO5W!4&Z>GDNC= Q!T_P6Do
M?M !:( FP"]@V84.$ ,T 48!_ !*UAT "( ." &03*8!HP 70-(]H[0+B ,<n
M ,8'TB>GD0W \?X/L %@D]OOV7=T #<@'U!#B"*8 ?@!Z/:G0:Y$W6X.R <Tm
M CP!XH!\P+4=%" &*+L'W$,!TJ>=NPG CN +\ ;D ] !&@#<NRD@ ._[Z;V/l
M#_@!60#00C3@F;-OSRGA W8!X8 ,_"Z WCX^> =DX-$!N@ .O $ %.!1/RPMk
M5Q@ NX!OP G^%( $F$Z@ [H!&8!OS/DMX+Y2 ;VWWAWP!W=P@/_=%Z ->,!?j
MN:0FHX#S^;7=$B &V 6TVT$+0 #6!!% ^S, T,EX /KNH0#Q^\X]H_0+B#/]i
M"9D SO?C(!\ #$]]MP. X:5/5Q\FP-"A_<Y^=[\?!X<']??_>P >M, ^F4[Hh
M[^P*+@!]0+R]>T #Z+OO J8!)W@Q@ V ;R@"" 48 '@P_X6R2=[K B"'SP=<g
MX'WM5(!RY2.*\FYYORX: ?8!BH!+O":O$0]:4*-,)[()Z R =@.C&"G[BSf
M/$GQ<2;0@A1@%$\$R":D$DX(]@!T@-OJFT WL ?T ' %B2Q<P"H%B6 *R ?Le
MX0,*Z(!^0#X@$[\/6*Y( 78!QX 3/"+@"/")9R9PXK-GZX1'5 1@8$5$[!Y$d
M$0#PCGC%"0: %.^$ RUP 9CQ0RU/@!C 'P!:" 0, /;P7*AL@CJ>F1"OT0=\c
M$U8H'0 7._X]HLZ0S)74$-P!!OBA V+="^!/] .8 [H]2P 7NSH@"[),& 5@b
M <X Z0!E0$&A3^,%4 #\ FP%YJ\E@$'^#'!"F"L"#8H(7@!V &@A V (#+SGa
ME@SPC'6Q@@%@'? 'P 5\WC?M82D$P!+ -[A5-P*H QQ#)OE%@DO^A%"ENCG)z
M!BWM&GET@ C@'B!J/\GKXSV$P8,H@C^^B*4$H!R84AKR^9*8O*H]+.4+4 *Ly
M'$'RE0-^_#J Z"49[W?U?GQC8"A? \@Y1>55U.I:_+Q0Z"K?#_^'R\(4 ((x
MY*DL*ZPE@@0@_UZ,VP60 GSM^X E #H>1[5-K[R+ C@!8H &PK4=#:!S-P(8w
M $8!,M!=@$G^D[11!RT( J+Q;C2"/#!@FPX1V;G+0!,!VH!8P !@I9 "F 9Xv
M%;P*.P5&P!SA"'!G^@)@ 'YEZ',/@"9 #"!,V*:SY>WQQ !!8]W@%E_IZ4)Yu
M",-+H/BTDQW>5C * .8.$_RHP!V0&C>'4":1RAL$=(!C4^W9E@>'Z WD"@4t
M9E9G$P0E@%6KAF,$T =(#TT*9#V&R1:A..^7OYHM CX H 4O@ ; #H^W&<Y3s
MYX_S$@1+>R< M! +>'!-#2[OB C0#L JI27]P PX4'SU_;1/"X@AX"1'\^Cr
M ](!505!@A' 'L!!$BCXYP9P$_=10 : %$^"YY]LYXD NX!4/#H@$C"@)P+Hq
M#(HU1@!Y "@ F75\-\ WE.@@<X.B>[W]'T+EW+GK *X OX"@'SI@'X $\!@=p
M!^L!2("L/"8 '? .X,!K*B?TG/?N00( 0[]SMP%< 1+O:W<EP'%P _^03X&,o
M 9( _Q =_<Z="0"BA\A7 8#TKIUT36'&"-#_8=)K?TH Z [ #U@!Q"AKP/0n
MQ:('H/=0@)#> T"D5]&C X@!+GHDPAG@P.F@CP)\M(8./7BK/"8@>* )R,I3m
M M !R0 ./+M ">^>%P,85>H!4DDC@#M K# /T\)[ #)*67EWP*@+": /H1NXl
M X('\(#P^_C]"E"*!RTT !KT"?J)^R5@&__.VB(,3K8(:P0J/0& O)<.^ )Lk
M$%;SN'AFR'Y>^X-BJ1,@$3P ]H#I1 T!#'":MZN[T:)2&W7M@<B$+D^/=\O[j
MVO< PPGI(3*/'H\P8$-M ^#SHGDQ@%T>+[\+\ .XD6KK$[%\2:N^<;"&VM7'i
M#PKR,M!50@,A%/"8%P88U]53T(!8 &@G"!"BW(J @X!4\59O;-^&$"M/P, h
M 0#S9X!R?0_ 5L ': ;8ZD$+^H :_!2^>T"KCQ_TZA?OF(#0_&B^AP";9\=Sg
M BX S7AT?3J@T^F8/P-X%?X!MP!4@!>@J@>P)P(,Z_/R&_5R?2#K6B]"T]9Sf
MZP<HPX"=PE1Q+W\&$,P_$W?N?'G00MF$5*:S7,S3XPOVD'G)/&7>,C\.P,P/e
M S3SH(470,.^7'^NEX&JZ]GUC(#2/#W>DUY#T 98VK$!3J/\NB6 !E"^,0)Hd
M SA(2IVTP2Z %7""]P*8YV5+-003P#;]A."S]P)P T +Y( 1D[J&;E"%\@*(c
M \X);8!K^Y"=;L -N))1#KXM1@!K@")>\+@=W 5H D[P'8"G_3(A:C^UGZU;b
MVM4!H 4A@-:>?DYG(09([7?V^G=R.C% 'S L$P.(3,1+E -[0#H@!Q N+S?a
MY4GS@Q ] K$=W5-O;R#L%$(&H(4<0 _@F\!!ZM,TYY$ >Y/F/-U G% Y2-W8z
MM$)OH'?\N0\^0A\\F#SY 03U%H!Q.P+@%^!C+WH5 0(*Z8"D8ZO7<C\,:"&(y
M%>@!K=Y=@"0@ ]]^)\!GSUP 17NG@AU 'O +^@%,)UKWB0#4>O_G S X^QP0x
MTEKWRX3H?>M^$7 X"#) %CP;8#ER@, %, +: , $%KW*05YP@%@*J^+!P (w
MV]L VI^VS4_AG@9)6-\SY.D!N "ZG_;^I[ $2/G]%$(!!/CHO3!A% %N (Lv
M$W8!Z!%@_6@^>[^?G^+@ $;W0 @@$1!D&"ZO[;3 MH H_L"@*U@@F^=MVEYu
M CL&?P< @>_@N\!4+#CSQ/W*Q6\WRP/4[]%6+O7[IT!1 Y@$!A?_.*MP&,t
MYMOO^?I:_ 0?B> .6(LQ$=8(67H?^\Y]R)Z59][W (H 8'NQ?1N U=3"WP;\s
M O+U[Q<B@ )?#""TNP)H?T:'(E,$?IWG'Y+##]87\=<\0RTS $#!!( _5[V;r
MQ_3Q&_6=PN< M$ (\.%;T04 YK$I_MQ^:C"UMP'XV-OO-WP;0 Y_/[_#5]ZXq
M\84)BW<?NQ*_BD^%]YDM_/KV!H!6?0V!'E"X/]PS\-D(:( !@.,>+W]EMP$\p
MYN4!*GMS0 K &A -, =T\A<!'\-3YQZ$$*"93P1P AP!&G6[@27_#!"LR>1Oo
M\COYG?Q /1\,\\P^0+$7(@ *C%PPD9]$;#*;^5/YC7YG'Q/OCE EJ^9!^4Sn
M0[X ?95U02+@RU')O^2[\H/YL?Q9/BC_F?4%F$$1 :HR7 '0#.?E8_)_^6_m
M\H7YQ/S-_,'O"\#92I M\T%!L7H!9.1]\EYYQX5<WH= 'H#'?&1^,C\.J,Q?l
MYG4*+WLK0"9>M7D$H \[^/YK/QY_LK^GI^9MP*$ G+X-GST.6<^$3"M;"!Hk
M#U#N\GN.^LJAY4X'N !D-$_PC0 ?@!T>8_"N1P=P 8@ K": ?LJ>GF_/;]GCj
M\S7SBH!^_H4)92_0K^>S[+T*2GE[0&2SH,^]/W6*4OP 32]<P--^Z "6IQMHi
M@+P [H"L?-:K"R $<+&;LRSZ-X 3? 9 HT\$V"9T]$,JK*9TOF3A%<5Z%^FWh
M]$OZ+OMB?B^_FS\- .;#\H?YTGP?P&->'Z"R/P>D *X!T8!S0%I_"A (. 84g
M\TE<T\\.2UBJ&U"<\09L 2*;]T%HG?>&;G#[\0*H [+R6"]C0!#@U(?31P?Tf
M @;[ZAK:/26+&! $J.@C\$_PF*:-/JG]+:^*7\[;#3P ?/F4/A1@N3*GL>JKe
M[%WZ!/U\?ME]EE<J9.A#OF2@/8"4@A_@X.?9)^F_]$_Z5@G:S0%@.J&88^E_d
M]K'ZL/W1?B(@9,C0=P#TV#'X'H A^Q/?3C\"" +\ L3OZ "&; FE4;\+0 =@c
M 4 +7Y:D/$>?LH\.L 4\[<OU'*3 G%0?@!#!'^%?YZ_MMOE0@&V^<^]LK\TCb
MW@DKMOEUO6D$!.!L-R'8 &SSNP!>P',_E3*L*[A/]WWM8X"G/2!_&[ (\ '8a
MYM$!7-K<_&Z^ \,& 60 8CN\OS;_FN?I@\\^ (( )+XP7T,_G9?IK1%2.%Oz
M$?0(HWL7/B6K# $R*6=$+9%"7T<?EY^B]#'1P1\LG[XS?D@/G"?B%_8OP:<y
MZP7Y$7XFOCY@[0[%EP"<Z_/U\7D"_\*DCG_'#_'K\4?\!*FZ 1+!!G#BWZ!Ux
M\4?SBGWY^P]@BK]&\!L(\EGX^H 5@ '@R8]A/_"?ZP_\2("S.HFKM3_0-^D7w
M]%/Z% "126]S]4XY*-9X 13W8![;OFL_M%_,;_!#$LH*8@5YP'Y_Z! *T,WOv
MW'GS=G<SS_]%D*BN00=8&W_R%B O@#S@%Z";QXO^ -#TN (?O"$@M'!PKU+9u
MW8] $A0X%1,ASP]380%(^E/O:OXNOU>A]6[F6038 M0'B8!#0"G_%H#*#^DGt
M^-?\7OY\?DW?P9^5AP?,L7X 97ZQ@CT@TP_:3_47\X\ =H,OP%\>QC]DYRU<s
M]D_]FG[8/IA?NY@.^ :(>+C\M?ZL_AQAJ__,_^J'\_O[8_VR_ED_K9_6;^MKr
MYK$@M/5P"+2?E4_6G\R;]='Z:OUS %O?K3]'@.N+4GP!>GX9@ _@_[4%R)=,q
M 40)'99EV;K?KH_7OP-HF?@XG'[&@2= ?6!W#RV@ Q( /@"I">5@LR#HI_7Cp
M]FGZS'YO/C0?K%_,%^MS^Z7]X/ZT?N$$E5\X@=G/^?\A=GX/ )[?%X!*X NNo
M^RN15,1W?^W=%\#<^@9L :X P3FZ0:!_T%_H9P24_+$'*/^+?^M='*#O/P+9n
MW;T!,)6@[_]+:H(]@/?[ OS]GDQVO[O?YZ_G%X0*_??N\'X^0%@J'L#<HO>;m
M$&0/^<%\_\&=W__SAZE< S;W3 1]/++_X*_J-P1T^C_]"!7>OKW?U!_05_"Sl
M^9?]SGR%O[-_EG\?O/<S3-8%9)\H KH?IB(,J._KY\W\BGNM^M9_P:_J3_AWk
M];_YT?R&?[3?VS_M#_=;^[5 =H,N@#\Q$(@.: /P '(K=_VGO]M?ZK_O-PI5j
M_9LZ]7U3"IR_X+_W/_OS\M/^?_^%?SC_WYZES_AO_*M4Z #UY\X_Y"]* / _i
M_DW^*/]/4EF!JT#HM].[ Y K)O\I0,P_T<]Z-P2@$@[NH06[.\W_3_CZY_F+h
M_"G]KG;<?[L?Z2][5_J[%!__3O_[H!AA0$CYI_K[^Y, F7^M/[ _V0_;E_J#g
M_7?[59FQ_]:^\V_K1_MS\YO]X'RVO[W_/OCV[]-\.9#_L=RB/=[?X,_WO_4?f
M\R4 $/Y>?R.'_N_Y+Q6>.OLJFW]R?KQ_='ZF?V( R'^" #L ^1+H .P .@" e
M?K1_A7Z^ V V@0#@$,@BW[Z?HY^O@"0?E8 "8"3?G-_Z #53^Y^\'S;?UQ_d
MQ7Q>?XP#WW^E?;%&9'\C?<%^-'W^?\A\K7Z&?+%^9WX&>/E_A74: /8?#2*Xc
M>W\ ^@"0'KA[>@#[ #Z @4M&[!X405X?&X$/WY8%.8 4A,'?>UYHWE9>5(%b
MX#I3?*$ !WX'2'X 2G6\?S: P@0[?O1X8'F_?4-\;0!9>4TOW Y $9]N'L#a
M "4%S7E4>+\0['/1*V40BGQJ&!=_=7[M>7A^(THQ*B%W?7ZO #D :'QV VY^z
MM7_H '\ >X 3@ !W/WEQ*%X W@!9>=@ $'AX@-$2=H!I (!W^GFU&EX )06[y
M?&D#TG]1?[A\9!_]>. 4P60@#. LW[I?&%^U10'/TQZP0/V %EY\!HA '!!x
M3'JR?E!YDH#Z '* !8!9>9R K0"0@(TM@H -!&U_[']T _T?9WY9>78^\ Xw
M "YVVBB>>[V ]@#>&5=V(4.G3@X ?X#$ #@ B'Z$@&%YAH"(@'X BH!? (!Wv
MC8"<@*X %G?,>5$=0'VQ@'2 !H!V@#D MH"C ,^ 0R"[?"^ $@!_@'( YX Ru
M?T8 TX")@.@ #0#8@+. 'GW<@/IY!'\S)IAZDX!B@.@ /P#"@'X KGX*"'1^t
M1W[B@)R V@#X@)0#.25^?5EX&7I<>%YX% X &%X,143@=1W" 3@6AX @ 3s
M@=ADZ #\ #< E ,R)5X Y@ .@5MX('I0?/D -P#V?G0#YQ\C@4)]Z !H&W< r
M8 0. ,KY0";-XIZUW89)>L J !\?<$#Z@!,?KM\1@"W'W8 Z@"[?18 #'W/q
M+$8 /WU!?7X 4@51 .> 5W9& %4H=@#B .!_O7WF%,0 & !P@-0 H0"B ',$p
M'@"D %8 OP":>>@ <0 @@:R 9WZA +X 7X' &*!J ,,UX 9X'Z@*$ V@!?o
M@=P 8H'$ PS2P!G@=Z ^'C,!+@ ;P!O'<1V18!2>KL ,'OM=PI[]WET+<0 n
M<T3= W)G?X': -H V@39 B8$RWM/!;L ;X'J=ZH "WMS-S4$C8$>#]D$N "1m
M@9.!PP0G!.H#=@#L *5V=S(V *P "WOH3YZ!'"30!VZ + #;= Q\Z@#I $ Xl
M/H$L@-Q_#'XV?90#44D+>[J!5WWU?YMYN7Y+>E6!7@ M@46!PX']?WT:U&F4k
M ^\57@!=>\N!9G_E?Z!\M7PQ%T9[8@6&@-2!J'[*?L9\_W]G>V(%V #"@=6!j
MRG[#?MT#87GF ,$#MQ_^?6!WH@ V )0#-25& 'E(R8%9>=X (WHU %EYV@#Hi
M ,)-67G6 "QZ:DCN@>@ @ #Q@48 &SCT@<$#/B!^ /B!V0#Z@7X _('3 *"h
M_WUD :"9$E/ Q\\X'K@0M[67GB -5]#X+X@; #X+\@:H #X( @J0 $X)@g
M=\0"E ,(@AN"<RQ^ !Z"C@ @@LH](X)_0BF" RL6@L1V= ,[='L#X "9 )LWf
M4("A>#4 0P>6=M0 H 6E .$ HG:4@3N">@- 'H#/X+3 $&"0P!#@AAYR4WHe
M (0 28*Q=DN"?GV[@22 E4/32O=!2G6:=EEYR@#R<WM[1()> - H 5- %F"d
MGGOJ "-0-PZA #)].W?X ',$ X*" )87S7G$=LYVJG9-+Y].:(+Z !MY;8)[c
M@CD$?8*&?30 :()&@C8;X !*@L,$]S0 =_Z H@"(@E6"H 7C (R"*'[J )=Zb
MZ@ [@B-0M@7$(/T H "@ %8 RQ7%@*: %WI>@3MW88$]>I$3>8+X 'N"M@)Ka
M=UZ!Z !6 )."EG;X * %EP"7@J@G?7NT@8![Q3@U!+" 6X)J*L, /4- !+)!z
MZ ", +J"EG8Q%UX >1W-@D, 73K-@J=._@"R?NP5XQMI \$#M'5W !H NP"5y
M /-]T0 O -\$<WR)?"=[_'BG3D@Q9WZV1<1VEG:!@G0#Q3>;=EH0SP S $,'x
M[SZZ@J-[:RC.=AA^S7E4>OH XBA]!!]^;7MC /-]>@#A@B41;H#D@O9ZB'QPw
M@/P N ! %8,$NP!: ,]]#02@!=H "D',><YYW0.\!'T$Z "3 %@*1 "#! 5Yv
M!'9=@5^!JH(0>>0 ,P!*,VT H8*C@C)Z]#!?@:A\.'I.?+*"+P S *N"P0 Hu
M@Q=\NP!( /-]]P N '9XIGK]@> OWA5>$P X0!7=H< 0#AX/T\QZ(!-(ZD$t
MZ !>>]\$RGJ^@OMWQ #P +)W_7:8=N@ AP!"@ZUX8!"& %:#ZP J *UW5H,6s
M>],O=Q.) ,P#J1M?@_L >@.) #L#Q@ [!1DVIGRT=V.#^P"#$VN#=8/J?>UZr
MV7MK@^D +P!I=5Z#[@#[ .D X"#M?:UW@H-.@GT?:8.+ )\ M'=U) @ I1Z]q
M)K=V>W>J=XI^(WJ-?K)W&8"U=VE6N7<Z-KA[)1V&@X8 @H-M@XN#C8.A=L, p
MD(/*/9*#(8 ]?8M^KW?J )F#Y "U=RD ,@"=@_L = #V-+8"%8"(@Z2#44Z,o
M@XZ#J(.@!4P JX.4@Z&#HX.*@[Z#IH./@Z %+ #$@Y(4/W^U=]T O#FF #HVn
M=@!%)J*#;(/(@ZD;IH.) )X \@"1,]B#B8-H@[Z#V(-M@V^#OX/[ '.#X(.\m
M@]J#GG[?@XD MP!T@^&#B0#8@X>#^P C4)QZXP ;!&N#=X-6@WF#M@*<>N4Kl
M?(-6@Z( Y7OI )0 3G6Z@W6#O8/;@\"#J8.) -@5DX,$ +\ ?74+$940*!8:k
M ?2#.C8<)W6#0 %A&T N #!$QJ$^P"A@U:##(3H@XDDH 5+ !&$(8 EA-F#j
MXX,-A*>#J8,K "R$Q8,8 PN$[8/*@\, YW=$*S6$J7?;!#B$,(0HA%11H 7Ki
M $4@$H30@!6 )H0YA,"#!0"@!<L 1X0MA#>$:X,GA#J$32/H *L 480VA,,$h
M082E@\"# P"@!8L 6H0_A%.$2X1"A*:#T(*@!6TOFS=2A%R$5(1,A/L X@/2g
M1&.$281=A%%."'NT=^\^=(1*A':#)@2V #HVRD;S?9\ *P U!#D__(/T@_Z#f
M:X/J?9QZLDGD>^%[RRR[ (TXH 5Y "L -GAX -T \GC+>G4#'"0+ +L H 3e
M=UH E81$ .L 02^A@,L5!21V #=Z P"[ '( E7L;=7E]]T',$*^$ZW_X?K.$d
MTW\,>1D1=P#:@G8#LX01!#< N8!@@G< %@"[ 'H $W<' (2$/B^M>FU[9P 3c
M=_$ *@!2@_$#GG0;!=X WW:^=HT VP#3"3-VZ7;$ "0$#030@F(%N83^ )]$b
M[Q73 -,)@P1B!1AV#7>)>_]WM'>R?WD=?02V@KI0+P"132,7W0"T>'YYVA\:a
M/3<G97P]!$@ 102> .V$Z "E - 2803LA)AV_P!6 H YH1.>O1ZZG;P)+4Fz
M^WFA>_QYU12E '0#SA!&>6N 6SB\@)F$4X.">\Z"! !J?(($9WYE%E=V-BT_y
M!=T?.@ [=\ 87N3@-Z$T8*M+,$#^ OA2E]_P B$VT;3'I2$]MTT'GHA&@#x
M"CI' /\ .@";.=< 57ET?D)\$7XQ@*0 !G:\?DM\?7ZZ -T A]!*GU[" Zw
MA1MU=21 %[M\&W4[ &=^I0/I '< J0-N@%.%'84U!*H NP V4 -X37@V4* %v
MW - #^#=@6Y -B$"'H] %P :H0I -,)EG:H * %A0 D #9XH0 @ +:"NBY>u
M 'B%Z #U6T5[:8 8@YZ";P,,?*8 ZP!5 ,$#I@"0>5X% 0 L>PA[BW0QA1($t
M12\E "1[, #H=.YV\#4^@_-Z=0!:(UX CX7: )&%+'L[!8MT0BY!>TP%?03!s
M ]Y%>$I3 U\A= .F )=ZI@".A9"%K4DL>XL O"%: !PD:WJCA;B%DH6;?KR%r
M'"1=*,V"$@2[ "@ <X4E="@ 2B#J&34$5@ +@[@ 0(/= -H SWNK>=D"?0 8q
M@F 06P3K "L=S8+!A:>%4D[ $#*!,87AA0=[MP"+=+L (0#+A2M-]X323(,$p
MYH6EA;F%PX6+=!PDNP#I )%#'SZ .D ]1F/?.L 60#RA::%Z(65A<UYWWE7o
M,Y>%KP D "1[3#'@A?.%PH7X?(MT]T$%$0Z& X8:*^F%6@"[ !H RX7D ))Xn
M(WD\!)9Z\845AO2%+ 7$A=44E "AB2&NX7VA=44=R8&AD)$U7G(>;L !0#+m
MA9\ DGAV \UYEWKZ )IZG'I5 &TTK7J[>]B%K7F[ .T V -7'R< TPG9A"=[l
M0H;Q)>:"#G[C$KL [ !K .B$'W[K0^, Z'@/ .MXJG=(!,D V@#?!$J&T82!k
M>XT#K'E^ T NP#- $:&'0!(AN=VO'H<?6F%MQ_C 'Q#"A&D (4E,GIEA1YWj
M'(/W &"&]7A6 .IV+#;"!/2#?39CAKAX@ 1.A@( #WT8'%( NW:!AI$SAH9=i
M.IX '3:C(P=W'3;: ^L '0!WAJ %8A>T?1@ NP"S $:&GP L7V%\\WCQ XXAh
M+ !D '0 WP#K +<?D(9QA-V#'3:3AIAXVP/5%/$K=0,K (8 ?39DAA4ME0!&g
MAI(8=H7W=SJ%M8:WAO>#N *C0*UW?38'AJ9[YQ7M,BV%:H".@?]W+#9!>_H f
MDSZ0%9TG>R@??KL A0!&AAP 2TKJ&AR%\0.M=R@U5S)K>QT??02[ /5AH 7\e
M )F%W8:_ADN&&(,%%)B&\G,( )N&F(;/AEF#, Z1>H:\(82 +-]HH:M>O"&d
M_0 & 'N&/'O$ -0 @(9& %AT)0" @Z, A @A+YYT@#I 8M= /2 )IZ6@6#c
MAD$!" "[ &D %P1> -0 XQ*L&KP"KGG2 ,B&WWT<AS][07O4 .@ !M%>T=[b
MU13DAM0 NP"D!: %1@#JA@X$Q "]@O$#5'N6=E=[Z #. &,L6WM2@<$#7WM+a
MA61[9GMI>W0#:GLQ-@\C= /0 =(=0 U *$ #(>D>M.%=@4_ -< TPDG!"^'z
M50!&AN\ "X9?>05^#(>[ '8 +@" A7A[C2T^A[(E"X>%=3 2X>L>74 A!4,y
MA^=Z#(?J?0))4X=(!/L U@"2?6F'6(>[ $H 1H:E %V'.(;2 )=Z"((3AW4#x
MGH+^!%"'\'LR>G6'Z #& 'B'E7KH()0#010'AP=(GH+0 %4%-X=\ANIVKW: w
MAH8 Q@"#@U$ (AZ>A]F#QGD=?%2&&X,J "$ YH2& !TVNP!& $:&,0![A>\Lv
MK(?I@X8 KW;>&;L 1 !&AAX LH>M=Z]V>Q.VAQ)+DQLU>?H NP W $:&R#"Lu
M)K2'](.WAPD NP U $:&\0#%2+.'OX?,A\*'?0#J +L ,0!&AML TX?UAM&&t
M$'@2 "1[Y(;%AR$ 1H:] ", ^1+>AFJ#X8:)>$\N'!_7A@< 1H:= .F'ZX:Cs
MAL, ?(-]-G(0K7?( />#Z!%U $ B@#"AH@?V@3'%"H A@#$ /L @ !>$ZN'r
MS8=P2G8%I@#5 ,][P8? AZ]V43*;@@.($E''%(R&)1RRA88 _8=X:Q>'^8?[q
M ,B PH9W@]4VM@#]AVL>$HCA>-"&*'@1 *N'((@?%?1%HX=W@Y^'K7>?ASR&p
M @753NN'GG3;!/=UM743 /:$='P=A1:'?@ /?$*&=W1.AK00JX0& -@#V8(3o
MAO"& %*<>]T#LH3:@G!\WP#!=Y4 (@#0A'R&1HA( &.&V0)^ ,\L_'@00E"(n
M,H'PADH *1LC>10 NP#> #-W9XAP?&^&"@!KB/)V<8B[ +< P7<\ %R(ZAJ:m
MA 0 N89WB&^&: I&P0 _H9OAK8& H>!>[M[:7R,!2*%_(7O2E=VW7O= X1Yl
M$GWU("X =0!S&NE\ P#+%9$YFH@\ )>($7TI?00 RQ4K (F'<8=M '.'#P",k
MA^X Y81-?;@":8<NA>,#K !:B"$ 27D^>?\01H4L?K%X5@ @=$N%K(.K=S]Yj
MH( $&WX S'N8 '\69@#Z '\ )0")AU*'0(.1 *V(^WU:@+@">X8-!%:%X(0-i
M!%J%^@!<A>\KRP2)B,4X089_B+AX$0!QB'Q!'P#3"1$MT #7A7^(8HA@B&6(h
M"Q?H $$ YH@?@Z)[S7D] )Q$HGKZ #T !6@,_6(0 /V=*-[]HA! 91W$@#Kg
M -I\]8@ %>$0L "7$ ( L 4 $2 2/ .F(289P@+:%_'C7=J@ @77<A6T#f
MWQT,?*( M74 (0N%I AB/R((HD?%0:)H@ PA.AY1P"L %-Y= .B #T 3P [e
M(Z @1@"B )=ZH@![$VF#F7@=42N)ZP"^ !V)#24NB3:)+HDPA"E]:%)M >L d
M0XDYB2N)/ #6#-T 28G>>DN)(P!T &*#-(E$B2N)RQ4< '>%LG\HB6F#=22Lc
M * %^ "PA?IYJ@ "'V $7 "[ ,@ [@.CA8$CCH42!,$#7G83!&D %H.)>7<Fb
MHX5IA"<$7G9V $D47@!E1;"%(WGH?*8 0BYB!16)MH62B&D8CH7<>\6%;XG(a
MA3T 8 "@!8D 'P!,?"6)X0("!>X _@!;@,0 6@!P@#-^W(7\A7-"N !E$TR#z
MHWMZ W>$8!X2.[ &P!%>Z" ]@#H>:AU.(;Z *2)JS.FB0,XCHEA=Y&)6WMGy
M?M&"]@"P #T RWC!$'8 ]@#:A[6)$0"WB;R$KXFQB0A[GP.\>P\4;'R*))& x
MVA\]0DL%L$VUB>$ '@!)>4"#&P#1 ->%^@ ZAE&!.X:' #X @"<>EX 2P0(w
M@WR&K5ZU=3H /C)=@WH$ZP"+&Y. Z(4*>[L ) "UB9( UHFXB:^)$WL]@A5[v
MVWK8>MYZAP @ !A)=H8@ +6):@ > ,][08$D$]9Z^XG9>OV)W7H9>\, 4T7Cu
M QP M8E& />)KXG=B?6(['J2 +Q[@ !-(^0#M8DE !>*^(6/"#($!XJNB#)Yt
M^@!9(MZ)Q7F' !8 X'DW )&$)8I(1C)^W8D)BCL AP 4 8 ? #3 (R'(0 2s
MB=Z(5(/E2'R#:B Y+$YUH8E7=H8 :B#(B::)Z 1 !H Y1N& )5#28I+BNHIr
M:H.50RL /R&0!(8 ZB '=Y5#K8E4BD@@5HK)B7!\W EBG$ '0"L)IX E4./q
MAI5#O(F^B6&*3(K*B8R(S(D@.P<=-1R& .5(VA^')[8 Y4C_=\ 0H 4; /6'p
MM! / /\ M@"50W^*_P"@!3H(ZH=> *H NBZ> ("*ZT,9(S4<'"NRAN(&AHI=o
MBKM\2HIBBJ6)GP.)BJ %50!0BE,#K7?J("F)UT6' , 0K7=ZBMT#% "6=H^*n
MH(JU=:4 BX%_B:^*D(J BK5U9P"TBJUW:B!W@VH@88HXBN&)G'K. X%7H-%m
MBM, 9P.> $N*%X;RB=, )8I(-?D2L N .EYJ@"P " Z7FK .AYA@"JBIN*l
M:B#ZB:2)#8H7>_^) 8KB>[L SP"/"*"*6Q!\B,:)O(H.*11[X8K^B1"*$HKIk
MBH<#C8I?B>F*;P 5 .J'G@!. (J*MHHV&_XS>(HF!&2&*@"&BOV*AHHF!&&*j
MWXK8>F6##XH:>U>$PA2T>)R*OHJ, YR*BX0"!2$ 1B'LAF&&OX+$ +V =@-Ii
M _"#N8$;==E[X(D4AG8#GP! .&"*E8 @A<],D 2< $I_#00EBX<%5W:? $I_h
MK8F[ ,D CP@=BE>$-P"UB/F&P@ [BXR($HI;$#^+! "[ +\ 0HLMBR$ 3H0#g
M*T:+\7U*BSL%<@!-BP$ 3XNW %&+PP## $V+[P!^)/B)Z'D BB0N&W5?BW$ f
M88N2!:B*P@!EBU^+$P X*NV)- "6=O A'FPB:E^O #DB3*!<RSBA^H:Z(!Re
MB^B%=(NU=08!]X3<B?J"^8BS GP Q #[A;T")@6A?;0 =8L4AGN+%X:+B[5Ud
M;1Z BQF*^8C9 GP SP -!("&.8JZ? 0 O@"P .X#MP OBER '(OP1+-URXD"c
M * %>P#XAAD1OD'W=1.#*A!>>>:) X<A&ZV+IHMTBJB+ZT.QBWH$'"0\ &^+b
M07M:$!0@YXAC&!$ C8IPBZZ+A7EW&[J+S88 );:++8MUB@@ JXNC>Z.+?(;'a
MBU>$9"KY$M6+.P5UBK5078B>=$"(V((> !B)#XN@!08&WP3*A+-UVT$[=^*+z
MPP!,BZ %,!_FBQV%WXN7?>N+4XN@!28<1(BDBY5#Z(O@B^N+6HN@!68#\(OYy
MBS4$#(.^>2J*8P"CB3"&IA2F>XB&D72%.0$G"(Q5=!U\+X72>LV"E887 T$x
ME7?+>$X$$P"[ *< )8I9@;1]8AH& "P 0P'E .L [0 QA2^%,86R>M44;D4Yw
MAH*+5'H[BI4 HWLQC'T 28&PB0F,"(:_A,B+!HI3'*Z)K8G=BV*&H'J5'EL%v
M[H@%$>&+;0 [!1Z*H 4X !>*K7K@>RYXW0,= %",?P"3!0N*X(KI>R\9Y7M6u
M3@ VW3@>P $*04" '" V@"[ )\ CPBU=9@ U(:)>0H Z "M $L$?WOQ Y9Vt
MU@!!>V$I!0!WBL^)W0.N*4L%)H?H &D "P!,?-@ XH;<(>,L1@!+@'Y[C'G1s
MB4>+B@ EBJD 8HG")6U[?0 EBIH 8HF[ %$ )8J0 U[=WC%=H5?M76$ -2&r
M@R6I&M6(6HO@A)-[M6=TC.@ 9@"?C-H?S3B4@;L I0FU=5$ JHS5%&]\[8FUq
M%ZV,Z5^U=30 LHQ9$ @#\@3->=Y"+@2'C.6"! #?A%B%''4' #P N#17&K%Zp
MR(Q\!$$J!P=T>_1XM75% ,@X1 2!>YXPHSYB^"(B8-(!'4@_WP8B:%^+XKJo
MBQA\E0.;BX>+R"TOAJ6'R'D0C#&&EX6% -$]F%)(!%H "P#GB..,$(PNBL=Yn
M: .S/#< TPD,,V$ <XD0?#",=0-\ *\ ]HSIC/B,5S/9>_R&?HADADB(ZXB5m
M'@QYX 3H+E"&? EQB(B!E"S6 +!V@R7N'T:,&H8EB@@ E(J%B$6(0XQ^ &"(l
M28ADB+N$%HTV !B)AGT:C<9$OW="BU>(%XV1+AJ-=H@=C?( 7@"@!:\ ^HI]k
MB&*%'HN@B:6!LW79,\2+%X/:'PL HWMX/TMZJ@0:@\]T9P 2 N%>1U;!,\Zj
M%H7A)>YUFR71>_XCS"=E?C6+X8G^>_( ?3Z\@!(%706U&F4%J011@? <HH1i
M!$*-+0!XBTMZLWZC>A<^!$9PC?^(08%HC5:*37Y:BE<S#WT] %$I906A>U^-h
M((83A7X JAIE!9=ZR!HWA3Y\# # AE-Z$7I^ (8 5(W= PQYQ8 "?*@D<(#Vg
M *YX^XMA*?P 505*C5$R @7# U&!Q'ECBDV*<@ PB)A2B7N'BT4F08&BC;Z#f
MV((OA@$ _BHF P( .P"FB78 ID3 "I\HHFOC:D;904# 'F-6HK;B3:*KXG!e
MB@( ? "F3JN-L8F,@Y\#<7XZ?!%Z97[&1*U[T8+]'\M[NCG+>S2%B !$ (P#d
ME8!3>K< 0#AR . RP0J? T$OHU .*%^(XLHBRJ+UT7 R&&OXPD "R*=XVBc
M>VD#2 "DB?XJ8R0OB\J)+XRB>S>*)HM\ $$4NWPFBWL3)HOU=YN)\HN\'OEYb
MQX(]*>>(]W7='A TPD2!61Z$7PBAB"+.(8$*80 0#AJ? ( ZS&?05R-="W[a
M !X F3AO(.:)[()!>_AU82EY 1WG(N,@UV-LGY&A%&!]@#)C?MY= 2)@["-z
MRHWWC041$86)>[5X_((V/\V+"'M .%]Z9X??=CF-N8#=C1([\P T,NH:LD%$y
MCC^.XP!(CNR*)HN#$R:+5W:NC3B,-(XIBS:.H8WDC9 $2(,GBXR#Z8TH'>."x
M0(9, )B-)8[5?6002WH8@WP 'P! C;J-58ZRB9\#_A1.CD >X;=B&R&VHQ,w
M $:(XXA&C(U_#8Y$ )]VP0#JB%: [8B[A.@ 5 !]CH*+ 8GN'P>).@2>>_F(v
M_HC6)_6(:"H#B06) (D(B91W"XD-B0^)RDJ CA.)]'BF0ZAY6AO-@J>,?B.%u
MA;&!<WPBC3B'K87\>'4DLVT4/M&+_'@*C=F"NWV\A&PHI'V%&=1_?GE!C,4Xt
M4XYV T< VGQ? +,AL#TIAQ4 :C^;)52%?8 <)#@DZ8!<,;A^_H2BC+-MO(YUs
M)"H RWRXB]X M(H<)+4F+(N@?+^.0!=$ (497 "H)\$0QXXK%?M[?8![$ZZ)r
MH'S@! -"UW:L $M\5%'H #8 6P4> .V.5W8R@;HY,H%H/!H1Y "M>@9X67G/q
M=. % #L.<F W([^CO$: 8\G*>*.O'I8>E9YNGR-@/ :RP!JC'IYN'YI>C]Yp
M#8^H@.@ TP!JC&V.44[/>VD#TH[4CM&.PP!W'A\0 @!X/WIX?HX6?B>/>GGHo
MCGYY: .F%$< MXZXA*!\S(Y_-4R#K(Z4B-*.H 6@3U2(;A6\CMN.IT[=CM^.n
MX8[_ +6!)GL"C,0 ,G3GA+^,X *^0?,0_@ +A?F('Q5@!*2 07X4?)EX^@ Hm
M'6L$EWI1C?@ ,8QR B"^ <)$\G]8@?%:E*'AIK!+J.5(,9-CT$.W<-=V6!l
M61?TB"4%^TR4+%8:87D& +:&]@#I@WYYVXD] &8#<P!Y%@F*R8V^COF$[XV^k
M@[Z.;8^4+#H $P#&>><5S2<;B[R-^@ % #$I@P1E$P( -T17=E\ 8T63@.P5j
MLH'KA^L 80#)@+-,U12=CX^/:P0I!=2"6P3_=R0$51T-=SYXZ8 > &LMO@#?i
M@_X> 8NI=P!^P0#OA8@ 0':?=3F$) 0\A5L$*AJ%'*F/G@"KCZ$ K8]6>3-^h
M("VRC[5W]0!XB[:/W@ '@VL$)X2' "0$A(_3>>V#U(^1,W./@X42 (R/Z34]g
MB(%[ XRR00N.J@#Y>5HM%WZ3@#Q]P(AA><: ,8 [ !( +G;X (<F;H"HCJLSf
MEH#_@DL%3X/1CW4#:8^">]8 5XT'@GIY7@ N%EX _X^^>=H $H>"=Q"%T@#]e
M>>D U@!G P60F7C2 %F/!9#1@ETJJ'78 !:0P0/8 "R,L'H<D,B,U3?G !N0d
M8@4=AZAUU #1@C4E'(<=D*H:*I @D'4 (I #D-=V*X7! U04!9 TD-H#DP4!c
MD!R'*XO8 %J%U@ W&F, .8=6>Z %H15,?%U[0H=A>Q%^1(?NAT .RG\>("&b
M<B"4 ]H F!"[ #X )@!DAZ %^3XKAP9X27XC !$ ? !9AMR%")!/D+D%ZWL"a
M!6TE-Y '@EF/1GLU!"H FXD,?/8 N !F X,$0AS?BZR%<2[Y=<T ;8*[B]9Xz
MTHOXB[R-HHT<?'=U^WF7>G&0OGE1C;9XA(N] &&.'84.A?P H0#D & '"0?y
M /]W_G87?RAXO@ 2BVLLW7UY&?P HP"1D)60F';]A/Y0D2I^ Y&0H'?H )( x
MF9"DBGYY R4? $I)#M@VD##XA0 '&#F'8,,\8 !P#?!."/Q3B$ _U]D!&[w
M'#L AP5V ( 0=SJ+ #T 4#Z+.GIY/P ?=JZ)B0"B$,Z0\@)N % ^G1#8B'\ v
M_@ %/[M\NRR[?1L$NWR3&=U[4#5:1-T0&W79D+E^U()< -V0=@,V+1P K7JAu
M 0 6G1U U0R:CIK+)0%.P V .^0DVL,,PY(<WGC>CMW[Y ,?<6*7C(I!/>0t
M;@#*&^N)B0 $D3I[1X]1C8EYP02Y!74##'P\-(H$C0- "0 _@ 1COMYH0 (s
M -.0U10A .U]=P5D01^#ND'23!:1D01' !A!/@ ;D8D @U#K:6 0NRR^D"HHr
M;@#K -XF>2R_C[,\^P!13F(%SH)=CY. Q) I*"F,0P#9B', ,"32@LUYW)#Fq
MA7DL,86+ -^0YH4= !]VX 0= ,^0CB'2,-=VD!&I-SF%]'C&D,B06!!E1<")p
M '1/CZ"%8 0SB?0 AHV\@ =(7(5% %^%6)$+D3T$%9$7D860F(_4@LR&47Z5o
M TQZ,)' D+%<?@!^!& $<C%ZD74 [HW:D-2"1P#^ $^15)&B$%"159%N '&1n
MZ(1P&UJ1R9"X%GQ\=9$[D=F(=P Y/\^"09&3@"4&2I%&D8.1H8W<D$Z#SP#]m
M .J(:Y'VC\]T?R%0C::.8(5U>[2+K(OP&EL ^(9ECI8 HI&5>ND:887YB_MXl
MSW2( *$$=0.U=2L 8)&1!,F0]7HF*_X CB%& .AYV8V- Z%[?X@?%7MZ^ #+k
M>AMUUW8, "V1"X,[=]*1.I&- WX#UI'TB&XT2H@[ALV"<@"N>6XT?0#H?-Z1j
M^ #[A&\@]8]5AJ< ZXD<)-)YZ1KUC]8UZ)';=/V/!7F0$:, [Y"C !N1.W?9i
M=]&1;@#:A(J(>(XW=74"'X , 4 .@'Z@D>+ Y)D&8QUS'K= X6*F8T\A[H]h
M+8_\>-&"94/->7"*_'A@BGN/=H[4BQ"2H3),?+*+ )*RCLR&XI&5$Q22(GFPg
M "T OHGAC761K(MECFX$,GY!BH)[28]Z@I2!203\ B*A1D? U$+IXS% *N+f
M\87YC3B,Z("T=1,$8@ $=[2.VGOZC3X$Q7DU ZD;2P6) #< #'P4CAPD[QN?e
M>WH$_8_ @JZ Z(1PD)*&&W71@A)]^H[2'WX L7@B4S]YSH(A!,2(&P4W%>B/d
MV(PXAO8 :3 R>6^-/@24 Q9,'Q7!(_R )!->AG^0WHM*>_Y6H 4> \1WYXLEc
MCKL . !A * %\P"QBTY]3WA%+\Z)@I)M>Q4 AI+O<XF2''V+DIH C9(=A<U]b
MM8FK &'*(K%=HN2>@"7DO!!IA^H><HZ*'R^>:R1NP"! )&2NH0*@-@ N "4a
MCT 5_(CX "&('!G;00N.UWS8BT*-.P#G>/.(;XWQ!-5Y?GGI (A:P2=6TP6z
M:@#$DK<G?P C?ALIW0, /_EU#0"\DNV)%2U] )&2:XO;B:%[AH4<).D $9&Uy
M>#").R.9B 8 %9*9>/DF/X6U>(603H/L?;1]*!9F T@$S3C3"<0@!06SDIQ$x
MGGNSDG=)=0 !DLR2= J&O>/SW1U(+F2SW2/ ( "X6^DJ6'?GG<DG"- !O9w
M@OY[X 0XCOMYNP!Y )&2<Q2T?5T Q)*/$W4 B%S<A<@:%GTS;: %6@ 1..\Lv
M_'@+D[5X$H6U>!PDX@#K "X <I!V!7X MP!7A_R2,@1_C$F.0HT2 *3O9+-u
MC4MZ;(M,>N@ =P"W +"2J4#$DG4":'F_ )>)0(,Z "V3(),.0.J-+)*_DEYYt
MMI$=DD>+1 &@!3L ^7G;=+@ S +0 @@#D * \MTT0(<=M0"A1, "F3N0(*s
M RX Z@##(9 #0"- 4H,SW&#;2 S8N &F3:9.+!., 40,E/4\ !@#C $H r
MBP#EA7\ UC+^ #!!*P3Y ,YC!P# /#E([0/# 'M,-BD$ *8 :P)R%M$ Z0#+q
M$/, IP#> X, [@!T+>\ @",D\,@+!?W )U/+R #%3013P !(H ! J 4 p
M& #D (>3G 4K)%0L=AK@!-I^/".I-^, 1@ I /< = !" &=>.0#/ ', 12#'o
M /T 0#. $X 0#/ $\ ;#$.)RP B9-_$*0 JPE/ (^37RQS !X 1@!' &T#n
M_P*1!(&3#B<. ,F3X@++D\Z3I0 1 ,D XA89!$\;C 6KDR03ZX$K%G,#D70_m
M.#H$'@!3*L$0EW>S-MJ3 0"D *T " "1C:L " #D * NZ0"X JH 7!M8 )<%l
MJY/F (H 5 !V ^("M3T'''DC<1/0 '0 ]BK= Q$ K0 X R4$0#VDX@>. #4k
M .,'^9-U .\ V7O> ,, 3@"./+D5Y).J. )X(I#M%<$5LB4Y '^3-@ (E#8Ij
M"@"L !64) Z 4 :P)-+9B3K0"# ,< +#&MBM 0J1H:E/ B"9 %3.4 06Zi
MCT< 2FDZB3\Q7/ )8&H@2MDSPC.1.7=SDXD!__+^23=),&?,$C=Y/C &&h
M?)-^DW0 3P ME-! ,)3= ST 0Y0Y ,L$: LZ !A!R@"/DX\01G0" #B4.I05g
ME*1;-)07 /F3X #P -<%#92=DS8I^HHZE*23R%&9.C24,"%O44>4IY.IDZ5#f
MB0!6E(L 691#('\ !1$+%_P ZY.E"MJ3! #+DW0 &"IKE)"3# #UDP^4^)/De
M . 4#4* 'N4.@0B &T#\@+1 $F"RBM3+G-[@I-V -F3>S]?!*H 20#.DZL d
MWY-(%.T#H'P" .23Z8/G *H#B@"G*<$5GRI0E, #!M/ +J/_0#?%0, &$'Zc
M !D$WP!I)KXK40/ %1MU0'3Q)1X A !A $!T= !% (L . 3#E(0\0%3A$MH\b
M8I3ZDMR4A1F*/-,5G3G_ ..4E1,X!/ \\@#& -F-BP0V ->4Z0 Y! T#UY12a
M1#5V\ /*2:".= 2/?*U>7)(! -4Y4WU\D I')@7?>HD 80 A$"(3(I#UB$8&z
M_(CYB 43>R@ B1*5E'CN?, .9#V "@H28'X "I[X #>>3"&9'K7C(,$U3G9y
MC6",H#E\D(% (EU OV-)9/= W(@>#^J! )T2GIBCG0$'19'C1.26A & ),9x
M<8\&DBF* (EU)H.-&7QSD,UY3P!7C_(9;(_" ^@ T@#Z>:",Q "X%? !0 Lw
M%S&54(]' -4Y:9'8C=!U\7I\D-@XN@4RDKM[:0,WE5 $4((;>DF5C8!2!? v
M-8<$ %\ @HL^E8B.096$C9&/1)7Z $:5%Y(D+D8 "@!DE16/[G5!@I0 :I5Lu
ME=5Y2I4+ #24GX2Z!5*5DA-;!%655Y4_%,B15I+-AEV5\ RDHM\-I4X!#4$t
M>%'YCCF0FX(N>1PDNI"J+<"&;X*:%8HC1($Q%;( [Y+' )))7@ $?T%]J95Bs
M!<<\W(7@ *23/ 8' @ :C52@9=Z'"\9A$8 W@"QE7T6!P!& !MWT($,?.8 r
M)97ZCI0#FI5O@CH!? !7&BYY/0!U)G\ .)6%,"B5+GG0C<R5P1,&'2>1;1"Hq
MCR]Y8 0P)(6,"XLB-&V#A8QT Y(P+GF_@>L K0 ,?.( #'SG'\R5#55: ,25p
MF96<@LF5RY5O@LZ5T)4% -*5+WF5$]65;!O8E=N0TY5@!)".,B57C-AZX97Lo
ME>0 $@5%@48 [)7B )=Z)Y.F Q\<2C,E9U._(AO@O 221UD>Y=ZW "DD\L5n
M#6N8E11^QY7I )H -G7< !J6,7G&E0Z%O )RC266E /< %.'*)9!),(E&98Mm
MEH^"QI5D>]H?,P1$@3F4F4$I!#HF=@"">KP !'>:?^X D4>H T2!)Y%8$"D$l
M/Y:M*2B.E -$EC0Y,Y;P@#>6W0-B #N6T1E8&ZB/!)#: !MZK8/2 /I^J2)Vk
M=YH]ED>B%*8 %01? "\WP0/N -&"[@ IDG"*1@#D@5X _($1390#6I9UAU1[j
M)P0[)4N6-0!"EDZ6Z0" +_Z5J(\P&I,;)I)JEF(%;)8JDC^%+)(Y)4*!=I9Vi
M *$%2Y:- &>.?9:J!0^(T(%IEFN6L #\ C^%Z0 H(966NI78E4!]:Y:0!?X h
MOHGI -0"GI;> -B5-9$9>>P5!@"&@>AS&7DL@?B"P40A@<$#?8% B:&6AI9Ig
MEAV0.)7D *%[V1^3&R:,<@"7EH:6F7CJ +Z) $.?CU@*00$"!<H _@ M "P7f
MN'M\ ,^6.02X>S4B&U#,EE,USY8L%W( R@ ] (\3=P U &V#PP"4':< IP!3e
M $ 4P!- %( [ #LENZ68P!3 /"6\I;QEO26\)8' %( \Y;PEAD ]);T %$ d
M\Y;A %$ ZP Z'7IZ>#]1'4*!XY5X/XN6Y@"^,\*57'N=>RR244GBE86,43(]c
M +:6B(:AA70#W@!X#D$!V8[L -&"[ TA9J.E0"N ->%+74+@2<$^(&& "27b
ME7KF )=Z"Y?5%-DXZ'P>EZV5(9>I/N@ 9P KEWQ]H7N"EK%U'"<HE^@ 4@ Ya
MEX6,H7OK@1.7U12W@0P 9! D +6!JP/S )8&#P6J.- C 7W .L C 6( -D z
MY026!LDQ$P#33Y<%(P % ", 79<' 0\>'DE13M 0_C&P!D, PP!+ (B3T !Uy
M.&PI3R<\(^@ ^QN1 (< ^P"I&W&7$CL '767=Y?_ "D=NI3^! )(4#UYEY"3x
M9P.$ER(=-RWW &4 @"3 /< "8>I&P4 S7.2A98&%QXM%H, Z#;# (.5"P!Bw
MEXL$^0#C '^,^0!T 0< QG4L-/H ^(=@$%F+*#"?EVPQHI>.,]$ V ^=*>7v
M5S.6!M@R&P"<E\=)C 62&W@ @)=JEUX06(_.>?\ >0 ' /< WP!E0H, WP!Bu
M/7D "P"5EW<GZ#;G%=( 50!6 /IW40#)D!D @R8/ #D RP!S !$ AP#: ! %t
MD0"3 )( H@3K *."T@!Y '$ IS8W,=2"R@ 5!;I".0#> '( !@#;=X0Q=P \s
M -$ X@#1 -8 DVOOEW( ]@ +%X0Q=@!HC=X T0"EA>$ T0#7 /R7\I<23L( r
ML@?&=(, $B^]*!D \P#1 .X !)@[ "@$=P#? %.+.P!6 /P <P#8 %H A #Vq
M '@ (0"$ .:7^12"4MH $FIX/_P &P!> /X WA+W -< S)>7EXL$!BH*,":8p
M> #O ($L"0 JF.XH$P4NF#"8T0 RF.\#7@ *,,27QI?(ET68\0-9 %L K5Z)o
M '4ONHJ) $\ LB7_ .$ I 58 *QYP!*+ "\ BP"ZBO\ 9P $ )YT= 3EE+@0n
MKQ-6E9 %C)4UA=44^X#UCV$KO'/D#V=+M&T %S>@%+ R4 " @T #UNI1(Im
M7W4>T@K^$38 0!@E (&8KPV$F#80AIB#F$<8B)@S +]7+%]+ RE?1PU26RMOl
M-QC3"SM?W6E 7QP![%D6840!; %R#'0,-0LQ;KH-G4YS<NP1?EP9"S0(.F9;k
M7E01.QC_$8YED66NF(MEKYB09;&83AB394\8;@)U AH(4P#.<10"NVMU HP+j
M@ AWF& !0P"J"7%;&&!) $8 O7 H "4 =0"D!QT'M@A2$0E@, Z>#/ +RYC-i
MF$L#NYB#"!19[!&P6>T!.&#+F'P-&VA=7MX%86W$F$D QIC""<F8*@W,F!H+h
M<P&Y:$4#< (^ )U;S)B$$O96E8136"L 4P!S#'D"H)BA<'=58 %<$50 ]IA$g
M /B8^IB?F& !SYAT9.Z8B $P#AE9S@5G +P!BQ'2"I)D?0A 7PA?6 ;69C=9f
M]PYH ;A4[ H. DX2E VB#\]:WU5$;1QREY3<F($/.&"Z$7]>5!B06%==_A%0e
M;0A?HVE0$0J9&VBYF$,#G@Y&"R(--YE*#+%:'0;>!>-R"W-+ P =@#1!QX!d
M,5DM"EP* #E:TD19A&56DERE1I26QP&G9@]5HP!,)F5F+QB=W!H$1B9G @Wc
M)#4-Z5A<$0H 21&" 1\28&C_ 8\!I \."J$ 7@" &F"<VQ> %@ 7@"' "D b
M4 !> +2!MP"@94!]70#R "@ Z0!= +\ 70!' "D !B0.'!$ + "* %T 8@!=a
M ,D ;I!= #=(B !"9IN7H0 M 0 70#4 %P Z@ M ,L 7 "D %P 0P N )L z
M0CA< /8*RTY %P 7@"S&@@!>)CT#Z-4>IA' 4\ $PM\"%!;%%ZG#!@",@A4y
M""D-LQ*PF6,,*0BSF5*959E%#*\+(0RS$DD1U@%H$9T+HCJ;<S.9K!+,$5P1x
MW"AU @43SYDA#DD1*0XK -&92P/6F?X1>9BMF3UNPICB#QIHJI@MF9D0Q9DUw
MF6(!U@T& J "4V?,F941 9E88>T1C7._<@=SQ@%U E4 ;@"+<@-M*P@+<V19v
M0%Z6:#01ZG%?6:,ZL@B=.C$-<EE& 68&A!+NF6X /0+:;WP!]0KTF?:9/'&-u
M"Z!DQ0KT7($139D6F@"9@1'UF?>9J&TQ#)!5S > $74"0E\ +MM0A!56G0 t
M/Q#4;^I88P+W<;H-@PSL;T(0Z$7T#R\ -P'.-_(-] V$ 8%8,A)F5*E;O5NTs
MF=UMV@'>!694<5BW71YN9'#A![Z9*F= FAL*F0AM5I 1N@^"#0AH< A)FC8-r
M2YIA 0B9<0T& ;B9KPQ/FOL!A%WW75.:$EZK6TJ:=%0;"L*9P4X966^385YOq
M<>L*( +N"@1LM@%( 8(! !; %$+.@)ODRF:,A+H"I01Q@%%#*ARAEE'5-X%p
M6P!IF@,V>9HD 3R:97%["*%M@ LF"%8"!@&>5H1FJU_E:\QLLFNT5Q,826,1o
M"X::B0(J"V(!Y6L79($+#0*D6=8*^G(;"UT0]0HZFC(25PBQ;?"9C@H *J:n
M>0$=5CD0&ETFFF "/Q"O:*R:PPI>505S=U:1FCR:9'/V5E(0> &J3MT 8 #:m
M & UP!@ -( S5.E$& 0R-7-ZT 8 "D & 0!6< ,U3D@!!(XL 8 #L &)Tl
M8 * #< A0 K33< @ !@ $8 -P![ -.:. !T & +@!N#F ,!!I & EP Yk
M %\ 8 !+ /--9$!Y4[&9O9EBFKY;-@W F;>9<@&YF8$1^9J\F3V:$UZ_F;:9j
MFQ)M5B&: 15=$&T-4U1, 5H-&P&0#:(ZS@L9"S8&:@"*"EL+8@V*"E&:O1$8i
MFEI>+)E7F5(1?A&G#.,*[0H +,-7)H;FA&:$ENU"O)5:U? )]X%CPP )X,h
M))KE<!<B8 ':F?0/8 &E$JN9KIG%DDD1&P/?"B9?XA$(;Q4!I1*234)7&PMIg
M"\1MB0(5FC29T)DZFWB8D@(]FQ\!-Q PF3N;0)L: <69FPBH"[5LN)KRF5:9f
M-YJ[;7*:#@9;FL%.9YHIFX@'A@PRFR2:;0 UFRYNG4Y<<L\+2 $$#3H8P)BZe
M#6N;IF-<FNP-=)CJ#-AL=IO3#"(-JPHPFZA74PAOFW&;6 MX 0H!"@#&9#A<d
M8U:%9\8*(@<9"ZQH<9H* +!CN@O'7"=<DIMS;7-C; $E &X"2P./FYN;[@$Hc
M7$4-2PSN8?E8H9M=$ H )5]>9S)L<E5" 380+9GG$0@!" @ ,<4N)NZF[F;b
M69L* 7\2WDO=2Y&:UXKN2\6;[$O'FP8RZ$OQ2_)+]DO-F_=+YTOZ2_M+ $S3a
MFP!,YDOA&;QS4R"6 3 4<)C<F^4/JFR!:1P006NJ<^.;) $Y: ,(A5CY#S4!z
M- \:#4!OF\ $.I.4FMT!KISN7/=F^</F&F3![IR36B;!YT'46BJ6%1HJ =6y
M:*]866BQ![-876BV6+H'N%@D#KI88VBB:;U89VAB LX!:FC/!VQHG'#&6)0-x
M<&AG FUQQ6O@!_EQ>&AP;7MH@W!]: "<?VC96/('G)CU!Z%IF@&0<^QO!UR'w
M;'-P80F9<'YK2PUG #\"Z ;K<,5C]VN#;/<1GVG/;8UQOG&9;(0!\U0D$AE>v
ME!J3<DIHDP8-;Z!K@&Q+#04!ZF&O5CT"B@J6<+,1,@MG: YL,@BK<J1KA6B@u
M!P59B&A# ?X'"5EP"E<*#5E;"A!9> IY<30"31$I6IY8&UFF"P-Q'UEL"%I9t
M7%F/:!%9$UE@67YGQ&C::V%97F:V9IH"D@IY698*T0K?$>E8E6B-70,/40>4s
M.BU965DQ (UHE@I>"K-I[P&06;M;91+QF28(M >46999#EE<"KL*$0AC""UEr
MM <W 9B<75E; 7:<-%7\ 8^< @I_$;B3TE1\G/0/H9QSG!X(BEG\<6)Q00*:q
M<EE9,P!K63)9F%FG"EY9=IRHF YBC0]@ 3)L89O :;^<I566G*$*HPJE"KJ<p
MFYRK</%K9'%N<PQRHYH^"'L*K0I% )0+ @J?G)(*R9RZ"D8 OFF6.L%I)%H0o
M8HQRFSK,#9^<MPK;G,N<00!J<11>PYRY85-8EIQJ68&<N@I( #96!FQ1G/-4n
MA&OA#92;% *)G* '16O0"M(*U JI"AIM^0;VG$8!YE5'62QMKVF3!I=MR0?Um
M621:GYS/"F.<RYQ# /QPDVB4#UL',@"C9!<(DUFWG!.="@BG"M4*'A@O<;]=l
M,)P-9,MC15IJG$%:<@%J +,!2UIM#0 *?5I* $T 2&GC8^5K W'N;%%G%0SYk
M8TT*: G##%\ ;@!& :L*C%3.:?<)3P:;52<(;@A$G3V=]PEU#80!0)V)"]<!j
M2YUH:GT*]ID'7VY44YT^G6D +UB=#]4!-09=G46=/0@V!E@(0@93"J=IN@U9i
MG?<)"&1? +L)]0A."JL)?%H(9&&=KP@W!VL)<ENJ7A]@2 ARG2F=.5H\ $,+h
M00NR53Y:85IE509J' @WG2X - !B 4P,> $9;;\(30K::P-4-5HE6C!:+PY]g
MG=UK00N@FD1:E9U'6I>=(UH; IJ=D)T\ %,(/E0F"/4'@IV;G2I:HYU'$:"=f
M1EJIG7, +1&*!JR=*IVBG:^=3IVW :>=H9VCG?9K6P%$6H5:QG!\G4!:(@!_e
M:4]:&%IX6AM:Q9V7"+-7%PB[.'A:#U4&"L (/IT;6CMB_P',"F1:5EIZ&JM>d
M30!3 '.=[PK[!:</A%HW:X]>3@"Z#VX+W5DR"]=;/IT3!]D( 623!R( 19GHc
M:TB9CV@76JI:XYT% 4F=X@JP"HB<VF_HG?<)BUH<8!Y@:PD) %)BG%AZ 1=:b
M?UH88!I@_YUUG44 IZT;?.=?UHA9"-DU&BD70R>QPV #!5=!IY_"?Z=S%W<a
M70*>#VYX5P6>6UH(GAM@')X4GAZ>JFP9GO<)V5WP!AV>%IXL$:!9*9X]"$4(z
M3@"C75:5)IXNGOX*GVWSG4=H5PQ #<!MJ0&K9#USF@%$#*1MM!&!" P&GSJ$y
M!O>=3'$J<;0'\F<. OML5U<S#5Q529ZE#_B=Y K4<NM@TP'R 9\Z-0[\<J 'x
MYPI@"* "M9FL 4AL7PJE511E;P'":*QIP _=#4$14&T=!T\"M ?,;&X+X0N3w
M"[@' @(3 K$,/9Z_ :P!U!%?"Q0-AVQ\G':>,6TD"ZQP@PBO 8X+>UL@GF6>v
MQ&@Q!G!P')W\"7%I H89UQ:TPDB"=!;OVC! 9MSR0%H "EQ3G&Z80]B_)T]u
M"&5FT 8) &D.AUL>#2D(J'*>GDUQE#H7&(Z=/IU$9\4(H C)"#T/, !A6UQSt
MV@MJ6Z)HL0J)"*]@_ @O *6>KP=-7%())EP1<2('?A&5:X (!9J\;S\.)9M@s
M!O,.OIVJ6@8(&9M"G5F:'W&("[YH6UI5"5D)'V = =X.? ?<GO,&F0E$ "IOr
M?0[BGG]:W9XU>.>>K$_BGFIIFYY+#3YR;V:%" >>20 V!\M;#@GL"4 '0@>Gq
M68H.-0"V6W@ 80!B 4@BTEN'$?2>DIYK6I2><VFY6<I;PUNC"+-97F5Y;;X*p
MI0&##X\!LU>46^5BD@VCGJ\(JPE0 %4 5 !" %4 2PA58*:>^@NIGNYQ<@MEo
M !2?30T7GQ,+RU5W6X4(F&BE:<@'KFFP::MD!6"W#]N>DYXI"-IF!IJ4&EL!n
M;UL'"7);J@@<"(D/)0@9GS*?; B. 555U' .G4L!X9S\"=]:TIU'6_Y:;Y/Am
M6N1:.5CS6BE;J5KUFUZ?_TX57:9S@@)#:^2;( &M<XT"26L,#B\!LG.46>^;l
MZ4[QFU<!E6E?GQX.OG.O F!/]R80 ;@"-R7'%Q-TT@+4 GP 5I,' - "@ !Tk
M']<"V2W)= 8 0@0! &L#I0"[ %$0Z " +[X =Q.A ]:*.@ > +88[16P "H j
M$'@! %0ZL0#N((J 7D]3 +\ 0 /:>K, 4":['N @_@#+ -84GI\* +, @#=i
MAI%T5@.1$\T#K)_R +L IP,Z&72:_@## &8A,R"U %&&*1"@@Q-TNP"&+],Eh
M4G5$=49U6@7='_8 4'7)GW0 [P D)^< H "V&/X S#X- $EU%3HL #$ / $g
M !^8 S0Q "H0 "YG_(0(AU8 +0 $ #V .0 DI_?'<8 G !D=4P6A1L3="D#f
MY +F N0"[#3D FP P"Y ]DMX (N / 2"@"B6*42B'#OG4>9Y@%)F0L(:9-:e
M7)E::F5P96QE;F4Q& ^@-!@@ 7-E70%U97H(<I.*$ < +B;= P4 /CKK /0 d
MPP!1 ^,#N +@ ^8#6P"'DVIWT@!6"24XM@)-F' \/D70 \%]P"4!5@ ]P#Wc
M #<QCQ_& *\OC@7^ ,D LGA^$PL /Z!80-:*O!Y^$_4 6 !,B<20! !Z4# b
M:QG_ )8&#@':!>Q994_O!2X&6A0* 95W8P;Z!?P%4UBV2^\%"09. 0&7Z!;a
MH 8J"1!AT&"P'Y!64&*@9@H%R@.UBD4 H!;*"# =U6S$<1!G(&P)H?!M,%z
M_F-K"<()!P%N ",1&0=F5*L-(R/^!FT 3U3R5L]671$S!QQ8IP;HENL&R@51y
M"R(ZRG0S!WV@10!/ ""?V5'O!1D'O0J9 :,"-T^1H$X VEWR!OLVG*#3!;EMx
M?0(8!],%,7(?9&!.GP/3!4=RO0IG TX'Y5943QD'BUH_9K88]@;*!?4*79UJw
M)+"@+0= A)815$S!T$ P65%!Z8(_A,9!WX(@ A4-<&@3@ U#1,8:1N'H'=7v
M. JQ'_X&$Q@( 0)%HJ!/94<'@Z &6 @!8RG0H!,'Z@C'<],%-0V] ;!0G@ Su
M!XM: @<$!\P"O* :!\,! 4,]4#,'LYY "$((M2,9!^()DPE) $('+T\9!Z (t
M7P#EH$,E2 ?$95@ ^&&731D' 631!O\MUDO5!DEQ5UD&H?X&T 9:"0D!@ 89s
M!T,'S%T4 1"A/@<CGT8 10<( ?X8X*"-8P!A!@%B #,'"P8-!@!0\J ,!]Q;r
M3 CO!DP6\J!U 0A8U4ORH&4 N%<( ;PK&0==G=%63#?^!KX++Q(0!T@'H ]#q
MH=\C):':6>H-,P=K$B)3'J'SH'0 *%@ -TLHJ 3!I 22 WD$AD'P0%7H80!p
M%RT9!Y>@\@AB48*@TP6S5U!7[@6BH(B@<U9.+OX&BUJ-"-$&[% 9!W.?<J%So
%H72A.@J@n
m
end
--[0270]--
[0271] daemon@ATHENA.MIT.EDU (Drew Eckhardt) Linux_Activists 01/02/92 22:01 (33 lines)
Subject: mkfs -c
Date: Thu, 2 Jan 1992 19:51:55 -0700
From: Drew Eckhardt <drew@hazelrah.cs.Colorado.EDU>
To: drew@hazelrah.cs.Colorado.EDU, linux-activists@joker.cs.hut.fi,
I initally had Linux on the second, smaller partition on my drive.
It was error free, and I had no problem doing a mkfs on it.
However, I have another, 32M partition I'd like to sacrifice to Linux, and it
does have errors on it. However, when I do a mkfs -c, the parameters
come up, the drive light blinks for a while, and then it just hangs there -
no disk activity light, nothing.
I can cntrl-C out of mkfs, but after it's died, I don't get a prompt back again.
There is NO furthur output from mkfs.
Pertinient information :
Software
Linux .11, as distributed with minor boot sector patches.
Hardware
386-33, Elite chipset, 4M ram
Western Digital WD1006-MM1 - very WD1003 compatable
Microscience 1050 (1024 X 5 heads, MFM)
Seagate ST-02 (currently ignored)
Seagate 296N
the problem is always reproducable, occurs irregardless of what's mounted
as the root file system, and any disk accesses performed before the mkfs.
Any ideas? mkfs source or a newer working binary?
Some one needs to get gdb up and running. Any takers?
--[0271]--
[0272] daemon@ATHENA.MIT.EDU (Drew Eckhardt) Linux_Activists 01/02/92 22:07 (8 lines)
Subject: mkfs -c still
Date: Thu, 2 Jan 1992 20:03:42 -0700
From: Drew Eckhardt <drew@hazelrah.cs.Colorado.EDU>
To: drew@hazelrah.cs.Colorado.EDU, linux-activists@joker.cs.hut.fi,
Looking furthur, I find that when the -c flag was specified, only 1000 blocks
were created. It's getting stuck there...
:wq
--[0272]--
[0273] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/03/92 02:12 (29 lines)
Subject: shoelace for linux
Date: Thu, 2 Jan 92 23:02:03 PST
From: pmacdona@sol.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
If you didn't get my last message re: shoelace for linux,
you are probably one of the ones whose mailer cheerfully
bounced the message because it was two large. So instead,
I have uploaded shoelace.tar.Z to incoming on nic.funet.fi
Below I repeat the message...
--------------------------------------------------------
Here is a quick hack to get shoelace to work under native
Linux. All that required was coaxing laceup to compile.
The catch was, no minix header files could be used.
All the executables are provided, so there is nothing to
compile. I provided laceup.c only in case some adventurous
soul wishes to try adapting shoelace properly someday so that
large file systems could be supported.
Please note. I have only tested this with my floppy drive,
so be wary..
Just follow the readme file provided, and you should be fine.
--[0273]--
[0274] daemon@ATHENA.MIT.EDU (jim wiegand) Linux_Activists 01/03/92 02:45 (129 lines)
Subject: lp support (Alpha level)
Date: Fri, 3 Jan 1992 02:32:11 EST
From: jim wiegand <V5068U%TEMPLEVM.BITNET@FINHUTC.hut.fi>
To: linux-activists@joker.cs.hut.fi
Hi Y'all;
here are the lp files. they aren't much right now but they will make
the printer go. (that reminds me- put a line in your init code somewhere that
calls void lp_init( void ). i forgot to put the file in the archive. oops)
right now i am working on the following (mis-) features :-)
o ioctl - to handle error recovery, translation, reset, etc.
o lpd - basic queue services
in that order.
and now for a few stupid questions:
what does the GNU getgroups() do? i wanted to compile cp(1) but make
barfed on this- not found.
is the message passing stuff going to be in the pipeline somewhere? i
am asking this because i need some sort of system log for the lpd.
what does POSIX say about printers & does anyone care?
thanks for the airtime. jim[v5068u].vm.temple.edu
---[cut here]---
begin 666 lp.tar.Z
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
KGN$:ON$<WN$>_N$@'N(B/N(D7N(F?N(HGN(JON(LWN(N_N(P'N,R/N.3#>$8
`
end
--[0274]--
[0275] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/03/92 09:08 (14 lines)
Subject: shoelace for linux
Date: Fri, 3 Jan 1992 15:59:12 +0200
From: Ari Lemmke <arl@sauna.cs.hut.fi>
To: linux-activists@joker.cs.hut.fi
In-Reply-To: Peter MacDonald's message of Thu, 2 Jan 92 23:02:03 PST <9201030702.AA00807@sol.UVic.CA>
Peter MacDonald:
> I have uploaded shoelace.tar.Z to incoming on nic.funet.fi
nic.funet.fi:/pub/OS/Linux/tools/shoelace.tar.Z
arl
--[0275]--
[0276] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/03/92 11:24 (63 lines)
Subject: Re: lp support (Alpha level)
Date: Fri, 3 Jan 92 11:06:05 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: jim wiegand <V5068U%TEMPLEVM.BITNET@FINHUTC.hut.fi>
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: jim wiegand's message of Fri, 3 Jan 1992 02:32:11 EST,
Reply-To: tytso@athena.mit.edu
Date: Fri, 3 Jan 1992 02:32:11 EST
From: jim wiegand <V5068U%TEMPLEVM.BITNET@FINHUTC.hut.fi>
what does the GNU getgroups() do? i wanted to compile cp(1) but make
barfed on this- not found.
getgroups() is an optional POSIX system call, derived from BSD systems:
int ngroups = getgroups(int gidsetlen, gid_t *gidset)
(this is the POSIX definition. BSD systems have the type of gidset as
int, which is not the same as gid_t (unsigned short in BSD, and unsigned
char in Linux) --- this can be confusing)
This is used to support the feature where a user can be a member of more
than one group simultaneously. At login-time, login(1) uses the
setgroups() call to establish a list of groups that the user is in, and
this list is inherited by all child processes. When a groups-level
permission check is done, if any of the groups in the groups list match
the group of the file, then the user is given group access. The
getgroups() call is a way that the process can inquire about its group
list.
If cp(1) from the GNU fileutils is trying to use getgroups(), it sounds
like there's some sort of mis-configuration going on. Its .h files must
somehow think that it's being compiled on a BSD-like system. It sounds
like either something in the /usr/include .h files is tricking it to
believe that the getgroups() call exists on your system, or you need to
frob some #define's in the configuration header file of the fileutils
package. In general, I've found that programs which are told that it's
compiling on SysV R2 or R3 machine generally work.
Alternatively, someone could try adding setgroups()/getgroups() to
Linux --- this would be a good thing, since the BSD way is much easier
to use when you belong to multiple groups.
Date: Thu, 2 Jan 1992 19:51:55 -0700
From: Drew Eckhardt <drew@hazelrah.cs.Colorado.EDU>
Some one needs to get gdb up and running. Any takers?
Some one needs to get core dumps and/or ptrace() working first. :-)
The job control patches have a hook for the core dump routine, but it
hasn't been implemented yet. (I wanted to wait until after the VFS
stuff settles out.)
Another thing which would be really nice to get working would be
profiling --- both user-level and possibly kernel-level profiling would
be nice. Also, assuming you have a swap partition, it would be nice to
change linux to do crash dumps after it panics. In short, it looks like
there will be plenty of hacking for people to do after Linux 0.12 comes
out. :-)
- Ted
--[0276]--
[0277] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/03/92 22:30 (11 lines)
Subject: serial port hang
Date: Fri, 3 Jan 92 19:25:00 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
Sometimes I when working for a while, including kernel
rebuilds, reboots and powering of the modem off and on
The serial port refuses to talk to the modem anymore and
only a hardboot clears it. Anyone else seen this behavior?
--[0277]--
[0278] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/03/92 22:41 (17 lines)
Subject: Re: serial port hang
Date: Fri, 3 Jan 92 22:37:32 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: pmacdona@sanjuan.UVic.CA
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Peter MacDonald's message of Fri, 3 Jan 92 19:25:00 PST,
Reply-To: tytso@athena.mit.edu
Yes, I've had it happen once, and I haven't been able to reproduce it
since.
Interestingly enough, only once of my serial ports wedged, so I just
dealt with the problem by switching my modem to the other port and
continued work on /dev/tty2. A reboot later on did clear the problem.
The next time it happens, I'm going to try reading out the serial
registers using /dev/port to see if there any clues to be found there.
- Ted
--[0278]--
[0279] daemon@ATHENA.MIT.EDU (John R. Schutz) Linux_Activists 01/03/92 22:59 (16 lines)
Subject: Re: serial port hang
From: john@csrnxt1.ae.utexas.edu (John R. Schutz)
To: linux-activists@joker.cs.hut.fi
Date: Fri, 3 Jan 92 21:55:47 CST
I have also had this happen every so often. Soft boots haven't
cleared it, even when I reboot into MessyDOS, and use a comm program
there, then reboot to Linux. The only thing that seems to clear it is
power cycle or reset. While it has happened a few times, I have not
been able to figure out any conditions that lead up to it <sigh>...
john
--
| John R. Schutz | Email&NeXTmail: |
| A learning NeXTie | john@csrnxt1.ae.utexas.edu |
| (512)328-0587 | "We are all victims of dead men." |
| 3009 Hatley Dr., Austin, TX 78746 | -Charles Fuller |
--[0279]--
[0280] daemon@ATHENA.MIT.EDU (Bruce Evans) Linux_Activists 01/04/92 06:53 (16 lines)
Subject: Re: serial port hang
Date: Sat, 4 Jan 92 15:26:05 +1100
From: Bruce Evans <bde@runx.oz.au>
To: linux-activists@joker.cs.hut.fi
If the serial ports sometimes hang after booting linux, it is probably due
to inadequate initialization. See the Minix-1.6.16 rs232.c (i.e., my rs232.c)
for (almost?) correct initialization.
If they hang after heavy use, it is more likely one of the xx50 bugs. E.g.,
the interrupt ID reg sometimes reports no interrupt when there is an
interrupt. It's necessary to check the modem status bits and possibly the
line status bits directly before leaving the interrupt handler. Someone
says that these bits sometimes lie too and it helps to disable and enable
modem status and output interrupts a lot.
Bruce
--[0280]--
[0281] daemon@ATHENA.MIT.EDU (Bruce Evans) Linux_Activists 01/04/92 06:53 (43 lines)
Subject: Re: lp support (Alpha level)
Date: Sat, 4 Jan 92 15:42:01 +1100
From: Bruce Evans <bde@runx.oz.au>
To: bde@runxtsa.runx.oz.au
Cc: linux-activists@joker.cs.hut.fi
>getgroups() is an optional POSIX system call, derived from BSD systems:
I thought it was a required POSIX system call.
> int ngroups = getgroups(int gidsetlen, gid_t *gidset)
>(this is the POSIX definition. BSD systems have the type of gidset as
>int, which is not the same as gid_t (unsigned short in BSD, and unsigned
>char in Linux) --- this can be confusing)
To handle this mess, fileutils-1.5 (which implements cp) has
#ifdef POSIX
#if !defined(sun) && !defined(ultrix)
#define GID_T gid_t
#else
#define GID_T int
#endif
#else
#define GID_T int
#endif
and it assumes (GID_T *) in the prototype. I think another gnu utilities
package uses GETGROUPS_T to allow for gid_t being different.
>...It sounds
>like either something in the /usr/include .h files is tricking it to
>believe that the getgroups() call exists on your system, or you need to
NGROUPS_MAX.
>Alternatively, someone could try adding setgroups()/getgroups() to
>Linux --- this would be a good thing, since the BSD way is much easier
Minix has { return 0; } for getgroups. This is good enough for fileutils
to work.
Bruce
--[0281]-- (nref = [0304])
[0282] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/04/92 13:15 (47 lines)
Subject: nonblock read; ptys;
Date: Sat, 4 Jan 92 10:07:08 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
I also found the tty_read command to be blocking when VMIN=0. Now some
questions about the solution seen in the job control patches. Which is:
if (!time && !minimum && !L_CANON(tty)
nr = MIN(nr,CHARS(tty->secondary);
Now for the questions:
- Should open with O_NONBLOCK implemented by setting VMIN=0 and !L_CANON?
- If so, should the above be changed to just return -EAGAIN?
- Ditto for fcntrl O_NONBLOCK?
EAGAIN is what nonblocking read is supposed to return in errno
on failed reads.
Next, some pseudo-tty questions:
Ptys are pairs of ttys, the Master and the Slave. Anything written to the
Master tty, appears on the input of the Slave, and vice versa.
I am implementing the Slave as just a normal tty, but to save
wasted buffer space, I have the Master tty write directly to the
slave read_q and then call copy_to_cooked. Likewise, the Master
reads come directly from the the Slaves write_q. This not only
saves space, but also unecessary shuffling of data to and from
queues.
Is this approach sound? Aren't there concurrency problems with
two processes manipulating the same queue at the same time? Don't
the serial and tty handlers have the same problem, cause even
though they have interrupts disabled, the tty_read or tty_write
processes could have been right in the middle of changing q.head?
If there are no concurrency problems, then master ptys can just
use tty_read and tty_write, with modifications to point to the
right queues, and the q->write() pointer called in tty_write
calling a function that invokes copy_to_cooked.
If there are concurrency problems,
would tty_write have to call a seperate pty_write function
which would (shudder) cli() and sti() around writing across queues?
This would result in more code to maintain in future.
--[0282]--
[0283] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/04/92 17:57 (37 lines)
Subject: A screen dumper for VC
Date: Sat, 4 Jan 92 14:55:02 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
Someone, somewhere said "when you have virtual consoles, you almost
don't need a windowing system, except for cutting and pasting, of
course". Well cut and paste is hard to do without a windowing system
and mouse, but dumping the contents of the screen isn't to hard.
One to many times I watched my modem go "NO CARRIER" in the middle
of a mail message I was composing, leaving me staring at the contents
of a screen I knew I would have to completely retype. So I implemented..
setterm -dump n -file dumpscreenfile
or just
setterm -dump
These options to the setterm command cause the screen to be dumped
to a file. If a console number n is specified, the contents of that
console are dumped, otherwise the current console is dumped.
If a file is not specified with the -file dumpscreenfile option,
then the contents of the screen go to the file screen.dump in the
current directory.
Technical Note:
To avoid adding another system call, I defined TIOCSNAP in termios.h
and used ioctl to do the dumping for me.
The SCR_COLS and SCR_ROWS should be defined in <linux/config.h>.
Instead, I currently just check if VIDEO_VGA_50_LINES is defined,
else use 25 lines.
--[0283]--
[0284] daemon@ATHENA.MIT.EDU (Owen Cooper) Linux_Activists 01/04/92 20:44 (12 lines)
Subject: FAQ: Non-ftp access to linux
To: linux-activists@joker.cs.hut.fi
Date: Sat, 4 Jan 92 10:11:35 PST
From: Owen Cooper <owen@seer.mystic.com>
Hello
Do any of the sites that archive linux have email servers? I
lack FTP access but would very much like to get a copy. sorry if
this is a FAQ.
Thanks in advance for any information,
Owen Cooper (owen@seer.mystic.com)
,
--[0284]--
[0285] daemon@ATHENA.MIT.EDU (Rob Soukoreff) Linux_Activists 01/05/92 03:45 (35 lines)
Subject: Two Beginer Questions
Date: Sun, 5 Jan 92 03:37:42 -0500
From: Rob Soukoreff <rwsoukor@descartes.uwaterloo.ca>
To: Linux-activists@joker.cs.hut.fi
Hello Activists:
I seem to be having a problem figuring-out Disk Partitions. I have
an IDE drive, with MSDOS 5.0, and two questions.
Question #1:
When I use DOS's FDISK, I can only make a maximum of two partitions,
the Primary Partition, and the Extended partition. Now, since DOS
wants the Primary Partition for itself, this only leaves the extended
partition, which Linux won't accept. How do you create a partition
of a kind other than Primary or Extended for Linux?
Question #2:
I see in many places people talking about having four partitions on
one hard drive, but I seem only able to create one Primary, and one
Extended partition. How are these people creating more than two
partitions? Are they refering to separate Logical DOS Drives within
one Extended Partition? In particular I am refering to the file:
INSTALL-0.11, by Linus, under the section titled: "Using it."
Thanks,
Rob Soukoreff
rwsoukoreff@descartes
--[0285]--
[0286] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/05/92 06:44 (11 lines)
Subject: short question...
Date: Sun, 5 Jan 92 12:40:06 +0100
From: d88-man@nada.kth.se
To: Linux-activists@joker.cs.hut.fi
I am trying to read the keyboard via int 0x16 from setup.s
this seems to work until Linux have booted then the keyboard
is hanged. But if I for example press ctrl+c after I have done
the keyboard read the keyboard is not hanged when Linux starts.
Anybody have any ideas of why and how to avoid ?
This may be uninteresting to most so please answer to me directly.
/Mats Andersson (d88-man@nada.kth.se)
--[0286]--
[0287] daemon@ATHENA.MIT.EDU (Rick Buhagiar) Linux_Activists 01/05/92 07:13 (8 lines)
Subject: Unsubscribe to linux
From: rickb@phoenix.pub.uu.oz.au (Rick Buhagiar)
To: linux-activists@joker.cs.hut.fi
Date: Sun, 5 Jan 92 11:30:25 EST
Can you please take me off the linux mail list as I now use xenix.
Thanks.
--[0287]--
[0288] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/05/92 10:35 (14 lines)
Subject: int 0x16
Date: Sun, 5 Jan 92 16:30:42 +0100
From: d88-man@nada.kth.se
To: Linux-activists@joker.cs.hut.fi
As I mailed earlier int 0x16 seems to hang the keyboard for Linux when
used in setup.s. I guess the keyboard must be reset or something before
starting Linux (after the int 0x16). I said something about when pressing
ctrl+c afterwards seems to "undo" the hanging this was not true (it was
just as it looked) In fact it seems to hang at random (with possibility
going towards 1 :-( ) If anybody knows how to reset/or anything the keyboard
outport etc. Please let me know ! Or any other ideas of why/how/etc.
Thanks in advance...
/Mats Andersson (d88-man@nada.kth.se)
--[0288]--
[0289] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/05/92 11:56 (41 lines)
Subject: Re: Two Beginer Questions
Date: Sun, 5 Jan 92 11:47:25 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: Rob Soukoreff <rwsoukor@descartes.uwaterloo.ca>
Cc: Linux-activists@joker.cs.hut.fi
In-Reply-To: Rob Soukoreff's message of Sun, 5 Jan 92 03:37:42 -0500,
Reply-To: tytso@athena.mit.edu
The problem is that the fdisk which MS-DOS uses very limited; it only
knows how to deal with MS-DOS partitions (my 8-bit CP/M machines from
ten years ago did better than that!).
The MS-DOS partitioning scheme does indeed allow for having four
partitions on one hard drive. The problem was that four is just way too
small of a number. So what MS-DOS did was that MS-DOS knows how to make
two partitions --- the "Primary" DOS parition, and the "Extended
partition", which is in reality one of the four "Primary" partitions
which can be allocated on a hard disk. This leaves two other partitions
which MS-DOS FDISK doesn't deal with at all. Other operating systems,
like OS/2 or Linux, can use them, if they can figure out a way to set up
the other two partitions. I thought you could indeed use the Extended
partition for Linux, but this is sort of a bad idea, since the wrong
MS-DOS commands could easily trash your Linux filesystem.
If you want to set up one the third and fourth "Primary" partitions,
there are two ways to do this. The first is to use something like
Norton Utilities, and mess with partition tables with a disk editor.
Norton Utilities' disk editor is actually fairly sophisticated, so it
knows the format of the tables. You still have to do a bit of manual
calculations to get the ector numbering and double-checking, though.
The other method is to use a more sophisticated FDISK command; the one
supplied with OS/2 will work. I don't know if there are any other PD
versions of FDISK out there that will do the trick. There is a fdisk
command under Linux, but currently it will only print out the partition
table. Eventually you should be able to use the fdisk that comes with
Linux; however, for right now, that's why I only recommend Linux to
people who are willing to hack on it. :-)
- Ted
--[0289]-- (nref = [0293])
[0290] daemon@ATHENA.MIT.EDU (Tom Ivar Helbekkmo) Linux_Activists 01/05/92 13:30 (46 lines)
Subject: Incorrect path parsing in fs/namei.c.
From: Tom Ivar Helbekkmo <tih@barsoom.nhh.no>
To: linux-activists@joker.cs.hut.fi (Linux Activists)
Date: Sun, 5 Jan 92 19:26:17 MET
There's a problem in fs/namei.c that affects absolute pathnames. It
can easily be demonstrated by e.g.:
# cd /etc
# cp rc /
...which gives an error message (can't remember the exact wording) to
the effect that "//rc" can't be opened. This is caused by the
concatenation of the directory, a '/' and the filename, which gives a
double slash.
Of course, multiple slashes should be allowed. Not being familiar
with how, exactly, namei parsing should work, I can't offer a fix.
What I did locally, just to minimize the effect, was to check for
another slash near the top of get_dir(), where it recognizes a leading
slash as being the root directory, and just skipping that second slash
if present.
Also, another bug somewhere (race condition in the file system?)
showed up after I installed the virtual consoles patches... Starting
three shells on three virtual consoles from /etc/rc in direct
succession caused the file system to be damaged. It turned out that
this was caused by the three instances of bash accessing the
.bash_history file at the same time. Staggering the shell startups
sufficiently in time fixed it, as did disabling the history file
feature from the .profile file. At startup, the kernel would report
trying to free block (NNNN:NNNN), count = N
while starting the shells, where the last N would be sometimes 1,
sometimes 2. Running fsck on the file system would show that number
of references to the same (actually unallocated) block. On the good
side, fsck fixed the file system.
A bit of good news: I'm running with the posted shoelace here, and can
report that booting from my hard disk with shoelace works great. No
more floppies here, except for my emergency boot floppy, of course.
-tih
--
Tom Ivar Helbekkmo, NHH, Bergen, Norway. Telephone: +47-5-959205
Postmaster for domain nhh.no. Internet mail: tih@barsoom.nhh.no
--[0290]--
[0291] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 01/05/92 14:27 (15 lines)
Subject: Re: int 0x16 (reading keyboard)
From: Yanek Martinson <yanek@mthvax.cs.miami.edu>
To: d88-man@nada.kth.se
Date: Sun, 5 Jan 92 14:22:17 EST
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: <9201051530.AA25892@dront.nada.kth.se>; from "d88-man@nada.kth.se" at Jan 5, 92 4:30 pm
> As I mailed earlier int 0x16 seems to hang the keyboard for Linux
...
> outport etc. Please let me know ! Or any other ideas of why/how/etc.
You don't really have to go through BIOS int 16 to read keyboard,
potentially causing problems. You can read it directly, on port 0x60.
A value less than 129 is a "key pressed" signal, with the value bin
the scancode of key pressed. A value more than 128 is "key released"
signal, with the value being scancode+128.
--[0291]--
[0292] daemon@ATHENA.MIT.EDU (Rob Soukoreff) Linux_Activists 01/05/92 16:18 (21 lines)
Subject: Partions ok now...
Date: Sun, 5 Jan 92 16:13:41 -0500
From: Rob Soukoreff <rwsoukor@descartes.uwaterloo.ca>
To: Linux-activists@joker.cs.hut.fi
Hello Activists!
I wanted to report that my partition problem is fixed! The program
edpart.zip from wuarchive worked great! Many thanks for all of the
suggestions.
Do you think edpart.zip should be mentioned in the FAQ?
Thanks,
Rob Soukoreff
rwsoukoreff@descartes
--[0292]--
[0293] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 01/05/92 16:28 (14 lines)
Subject: Re: disk partitioning
Date: Sun, 5 Jan 92 13:20:27 PST
To: tytso@athena.mit.edu (Theodore Ts'o)
Cc: Rob Soukoreff <rwsoukor@descartes.uwaterloo.ca>,
In-Reply-To: [289]
From: John T Kohl <jtkohl@cs.berkeley.edu>
Reply-To: jtkohl@cs.berkeley.edu
I use the 'edpart' program I picked up from WSMR-SIMTEL20.ARMY.MIL.
it runs under DOS, and provides an o.k. interface. I believe it lets
you select partitions on cylinder boundaries, and does the rest of the
calculations itself.
[of course, you have to calculate from blocks/MB to cylinders...]
John
--[0293]-- (pref = [0289])
[0294] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/05/92 17:31 (44 lines)
Subject: Re: Incorrect path parsing in fs/namei.c.
Date: Mon, 6 Jan 1992 00:25:45 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: Tom Ivar Helbekkmo's message as of Jan 5, 19:26
To: Tom Ivar Helbekkmo <tih@barsoom.nhh.no>,
Tom Ivar Helbekkmo: "Incorrect path parsing in fs/namei.c." (Jan 5, 19:26):
> There's a problem in fs/namei.c that affects absolute pathnames. It
> can easily be demonstrated by e.g.:
>
> # cd /etc
> # cp rc /
>
> ...which gives an error message (can't remember the exact wording) to
> the effect that "//rc" can't be opened. This is caused by the
> concatenation of the directory, a '/' and the filename, which gives a
> double slash.
This is corrected in my version - it will be in 0.12. I had expressly
forbidden zero-length pathnames, as I didn't know what to do about them,
but tytso implemented the same change as you wanted, and it seems that
is what linux should do.
> Also, another bug somewhere (race condition in the file system?)
> showed up after I installed the virtual consoles patches...
> [ deleted ]
>
> trying to free block (NNNN:NNNN), count = N
Right - this is a race-condition in "open()" when using the O_TRUNC
flag. I knew about it when I wrote the code, but happily forgot about
it (as it seldom happens on a single-user machine - I've never actually
seen it).
fsck should report "Zone XXXX: no file uses it, marked used in the
bitmap". If you get another message, please tell me. The reason this
happens is that I didn't know how to handle a truncate on a file that
was in use, so I ignored the problem, and forgot about it. I think I
have a solution, and I'll try to get it corrected in 0.12.
As far as I know, this bug is totally harmless (except for the message),
and just results in a unused block on the disk. fsck should repair it,
but if you got another message than the above, I'm wrong.
Linus
--[0294]--
[0295] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/05/92 21:09 (12 lines)
Subject: kermit
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
To: linux-activists@joker.cs.hut.fi
Date: Sun, 5 Jan 92 21:04:43 EST
I am having trouble getting Kermit to work with linux. I set the line to
/dev/tty1 (for com1). Is this correct? Doesn't seem to access the modem.
Also when I send mail to linux-activists-requests@joker.cs.hut.fi it gets
returned.
What am I doing wrong?
Thanks.
--[0295]--
[0296] daemon@ATHENA.MIT.EDU (Christopher Provenzano | ) Linux_Activists 01/05/92 23:21 (13 lines)
Subject: VFS
To: linux-activists@joker.cs.hut.fi
Date: Sun, 05 Jan 92 23:15:46 EST
From: Christopher Provenzano | Food is Great! <proven@Athena.MIT.EDU>
Ok, I just mailed Linus the VFS code. Hopefully he'll include it in the next
release. Ted there is a prerelease version
/afs/net/user/tytso/linux/proven/vfs910105.tar.Z, can you make it publically
available so anyone who wants to look at it can. More stuff for the VFS is
coming but the current version does include all the functionallity of the old
fs, and hopefully very few bugs.
CAP
--[0296]--
[0297] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/06/92 00:41 (21 lines)
Subject: Re: VFS
Date: Mon, 6 Jan 92 00:35:43 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: linux-activists@joker.cs.hut.fi
In-Reply-To: Chris Provenzano's message of Sun, 05 Jan 92 23:15:46 EST,
Reply-To: tytso@athena.mit.edu
Date: Sun, 05 Jan 92 23:15:46 EST
From: Christopher Provenzano <proven@athena.mit.edu>
Ted there is a prerelease version
/afs/net/user/tytso/linux/proven/vfs910105.tar.Z, can you make it
publically available so anyone who wants to look at it can.
TSX-11.MIT.EDU:~ftp/ALPHA/VFS/vfs910105.tar.Z
- Ted
P.S. If any one knows of some email archive server software which takes
little time and energy to set up and run (very important! :-), please
send me a pointer to it; I've gotten one or two requests for a mail
access path. Thanks!
--[0297]--
[0298] daemon@ATHENA.MIT.EDU (Owen Cooper) Linux_Activists 01/06/92 02:27 (12 lines)
Subject: setting up linux with dos 5.0
To: linux-activists@joker.cs.hut.fi
Date: Sun, 5 Jan 92 21:24:13 PST
From: Owen Cooper <owen@seer.mystic.com>
Thanks to everyone who replied to my last message. I have now obtained a
copy of the linux boot & root images (I got them from ftpmail.) I tried to
create a non-dos partition for linux in fdisk (msdos 5.0) but am unable to
set up such a partition. The dos manual says that the other operating system
should set up the partition. any help in resolving this problem would be
appriciated.
Owen (owen@seer.mystic.com)
--[0298]--
[0299] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/06/92 02:53 (29 lines)
Subject: Re: int 0x16 (reading keyboard)
To: Yanek Martinson <yanek@mthvax.cs.miami.edu>
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Your message of Sun, 05 Jan 92 14:22:17 -0500.
Date: Mon, 06 Jan 92 00:48:08 MST
From: drew@hazelrah.cs.Colorado.EDU
--------
> As I mailed earlier int 0x16 seems to hang the keyboard for Linux
...
> outport etc. Please let me know ! Or any other ideas of why/how/etc.
You don't really have to go through BIOS int 16 to read keyboard,
potentially causing problems. You can read it directly, on port 0x60.
A value less than 129 is a "key pressed" signal, with the value bin
the scancode of key pressed. A value more than 128 is "key released"
signal, with the value being scancode+128.
--------
Infact, you CANNOT use BIOS calls in Linux. BIOS is INACCESSABLE in protected
mode, which Linux and all other REAL operating systems run under. There is NO
Code for handling int 16h.
You either talk directly to the hardware, or let a device driver handle it
for you.
code for handling 16h.
--[0299]--
[0300] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/06/92 03:03 (47 lines)
Subject: Re: int 0x16 (reading keyboard)
To: linux-activists@joker.cs.hut.fi
In-Reply-To: Your message of Mon, 06 Jan 92 00:48:08 -0700.
Date: Mon, 06 Jan 92 00:58:16 MST
From: drew@hazelrah.cs.Colorado.EDU
--------
> As I mailed earlier int 0x16 seems to hang the keyboard for Linux
...
> outport etc. Please let me know ! Or any other ideas of why/how/etc.
You don't really have to go through BIOS int 16 to read keyboard,
potentially causing problems. You can read it directly, on port 0x60.
A value less than 129 is a "key pressed" signal, with the value bin
the scancode of key pressed. A value more than 128 is "key released"
signal, with the value being scancode+128.
--------
Infact, you CANNOT use BIOS calls in Linux. BIOS is INACCESSABLE in protec ted
mode, which Linux and all other REAL operating systems run under. There is
NO Code for handling int 16h.
You either talk directly to the hardware, or let a device driver handle it
for you.
--------
Sorry - misplaced that original mail - whenever I leave even for a short
time my mail box fills up with mundane sys admin mail, etc and I can't
always find the good stuff.
If you're calling int 16h BEFORE the protected mode switch, you should be
fine. Make sure you haven't cleared the interrupt flag. As far as reading
the keyboard directly....
This gives a SCAN CODE, not an ASCII value, which must be converted
if you are interested in the value.
You can use an index into a translation table, but this means you must store
all of the keys you are interested in in the table - a real pain. You also
have to worry about shift states if case is significant, multibyte scan
codes, etc.
--[0300]--
[0301] daemon@ATHENA.MIT.EDU (Stephen. Clawson) Linux_Activists 01/06/92 03:14 (28 lines)
Subject: Re: setting up linux with dos 5.0
From: sclawson@cadehp12.eng.utah.edu (Stephen. Clawson)
To: linux-activists@joker.cs.hut.fi
Date: Mon, 6 Jan 92 1:09:38 MST
In-Reply-To: <m0l0moo-0000LcC@seer.mystic.com>; from "Owen Cooper" at Jan 5, 92 9:24 pm
>
> Thanks to everyone who replied to my last message. I have now obtained a
> copy of the linux boot & root images (I got them from ftpmail.) I tried to
> create a non-dos partition for linux in fdisk (msdos 5.0) but am unable to
> set up such a partition. The dos manual says that the other operating system
> should set up the partition. any help in resolving this problem would be
> appriciated.
>
> Owen (owen@seer.mystic.com)
>
Try getting pdisk.arc from wuarchive.wustl.edu in /mirrors/msdos/dskutl.
Someone else suggested edpart, but I tried it and like the program that comes
with pdisk better. I'm not sure what the rest of it is, but there is a
program called part.exe in the archive that will do what you want nicely.
edpart dosen't seem to understand partitions >32meg and managed to mung
my partition table up a bit... I used part.exe to set my formerly extended
DOS partition to XENIX and things have worked fine since.
steve
// sclawson@cadehp0.eng.utah.edu - University of Utah
--[0301]--
[0302] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/06/92 11:58 (293 lines)
Subject: SVGA-alphanum. modes
Date: Mon, 6 Jan 92 17:43:12 +0100
From: d88-man@nada.kth.se
To: Linux-activists@joker.cs.hut.fi
I have finally had time to finish the SVGA-detector. This patch will
look for clues to determine if/what SVGA-card available. If it finds
a card it will ask (at boottime) if one wants to select from the modes
supported by the current card or just do a 'normal' init without SVGA-modes.
This is not the best thinkable way of doing this, I will work on a version
that can do the modeswitching from 'user-mode', which however is FAR more work than this straightforward hack. But the detection part of it must still lie
in the kernel (at least that's simplest). But this is good enough to be
usefull/easy to use.
I have uploaded this code to both nic.funet.fi and tsx-11.mit.edu.
I have only been able to test the Trident part of this code. People out
there with different cards could please test this and mail results. And even
the Trident part is not guarateed to work since my card seems a bit strange.
Cards supported: ATI, Ahead, Chips & Tech., Cirrus, Everex, Genoa, Paradise,
Trident, Tseng, Video7. People with code to guess other cards and what modes
they support could mail me, or implement them themselves as long as it
gets spread.
Finally, the patch someone (can't remember who) sent out with the 'standard'
80x50 mode for VGA could be implemented in this code as an extra choice
but I can't remeber how one did it so could please someone send it to me,
and I can tuck it in at the end ...
++++++++++++++++++++++CUT+HERE++++++++++++++++++++++CUT+HERE++++++++++++++++++
begin 664 svga.tar.Z
M'YV04HH$(=*D"("#"!,J7,BPH<.'$"-*1 BBH@T:-$ J,@1AD:.%3UN!%E1
MA@T9-RK6B#%#1@P8-V#8F,'QQ@T:,#;FG,BSI\^?0.O,H1-&3D4 <MZ\H0/4
M8=*E3:-*G4JUJM6K4Z=8.1*D19LW9,J @!.&SA@T9>: H/,&!),T;NK@ ;&F
MC!PW9=BX4*" "IHT:LF:10/B3AHV;$"4<1-&#!NQ>=[46=M6J-@PB->B!8$9
M#IHP<=O833,&Q->P:N?4@0/GC1PZ9<B $)-'0>0Z1K5R;3&F*!D7()+0*7PX
M,9FV<]K2!C$'S1O#;LYH%GLZ+6<[80XW?LQYN!BE=.BD$:T M&PZ:.5 EFPZ
M3![F><N,&?X&+X@W9J:;!FO=-0@U0GD''F=JN>%:&Y@!ET1^MRDP1WSS<0:"
M;EU5I]^#=*S60E)UB&>?89F%T>$;"(K7&V+OP67&@>W!U0)<:="A 'Z%_746
M".HEQT:':=0' F @G/7&@VYPYH9L&.I'11%2-*&8&W8 AYT<:6QWV1ACN$8&
M7&>P41M<%Z*%&'!^V57&BNJ!<)MI >)8QE=VB(6>6(O1(4>*1;H 1U)F'";G
M9\-A.$=?3#8!7!!L)*<F>VVT"=<8.X;%669S@K"E&6:8Z<9PL,G11F]PM% G
ME=:9D50;^O7YF *=?AH&'"Z$0<9Y@"Z*6Y"^,;=::Z_-P<)]1MV!QGL&#O=H
MI'^^.6EB;#%'EGJL;B:>:/?EE]QK7$Z'J@XMI,!7F0^.5=99UA5U&6MLI!$;
M9?J]NN<;>U8)&PBJIO6K>=,56>FH>0R:I1PYMG9DMLW>9I2LKW;ZH[Z;9;EI
M=GB=9Y>K<-#K)YM#S7;9K+&QVI;!:TT,JL6/*<@@>\>Y<<)P:QAX1XUE<49&
MPG;9"L)G<?ZJ7I9MP''QG K4=5=>1LK&AE)K_)A?I5E*VEN1.[]QAAMIZ+'>
MK0C#T>FO:>07HZ5O6/<UB&PXZ-S+* B[&(%UG?=&"OI=FJEZF^Z'VG79L6$E
M<>CIMV=:=<K\JEU[*?!"$V6I%<21=LV17)$HP-4I7G3H8"D..'@%&A",S>S"
M&NBY\*"W"M2KUK%UA$6&#GP%-%!!"23@%Y#UB>7"[0HXK&,9+HSA@MP)$-&U
M&2W42Z]_+Z0;%QXO"(T7&R^<)<<79,AA1_3U[=Z[ @C"U?OOPP<_?/$7HPE"
M\G#)]0*,=+S0O1O;8[B:Z.!C*CZFY'-G/OK+O_#=4B^0'ZP&U2I0Q6I6"0C"
MK&+4(\8P2V2O$M6F2%6@,L2F8WUIB[N\%+?AJ05 &<L2'-Y3*;GE3TYMJ125
MSH"&X6QI9VRY4WF.M)8\P$$LYBL#'L+0L\=83C WXD&+X.<[N8& !T.0@@_X
MH@"L./&)/]'=&TI6Q.%!\8I3X<A%,C*2CGP$)"(A245B8(,;U$ E+'$)#&C@
MDC."( 8QJ,$-9J 3+-H1BP$JRE&>PI2K\/&.@ RD( =I%148,DC9FR+OQI"
M*=2A2$20SQO/&(,;Z( &-M"!2]Z8@QS$0 $M""4BW: ]W^'E#HU\) B4 !J5
M@$ &,- !#&(Y@Y3$H),R4( A=\G+7JI EX>D00Q80(.4\%(!%1E!6/IDGR=(
M(0E'^((5DD"$(CSA"U (PA&*$#L4J %CYQ#&J:VKN:X9C@J2 $,\)"#6:[1
M6\E<)ES$XDQH2I.:UOQ"$YY0S6YZ$YRD'&?$F..<UX @G>MLYRQM #<3@&"=
MF((G")1YIGF"H)[1G&8UKSF$)S!A"B!( I&^LUP"K2<!46G.MGI3H:"P*$0
M-<,LX>8#'X !]X*P43EV<QG9A2?UV1"$IQ0A"F(5 8UD"A%F4E/G]YSHU\H
M E>^$ 0LB+2D 24GDE)ZT)4J% 8X1>9.*]I3>VHTGU(-PA>$8-5_FE2K!#UG
M5Q/JSC HE:=--2M0HSK5(;05J^*$JSD-BE"6SG(,W@IE"T @3&*F1+$M$.M2
M+8K1I^8SF]OL)F!/NE6Y%O:K-+@K6?/Z4ZCNLY\B=6M6!SI8E=)UH0U]*!XB
M*EF\7M2I9^6H1T&:6M4&EK5<_6Q+8QO3F8*@IC?-Z5B9>EN]0E6H1#4J20'Z
M6Y1ZUJON+ -Q9VL&T3*WLKGEJUJK>E7J<C:NA,7N+,,:S]$VM[1HG2I;R_M6
MX%[WM3"P:VW="]Z]IO4+?J7O:JV;7OPBMHF$M,K[OB>W!#MX(5K$R!>]V,60
M3!@DPMPD"%;2DI?,P 87&>-+5E+'!YLX(GDTBD;^Z$?PG/C%,(YQ578YQ-ZE
MLDBL+-*&.:F#E>@@!AFY90YRJ=@:F[(,J'0DCENYXUOVV)(HX>20@>G+*E,9
M!#/( 3%M<-!=@E*4629F#D 6;%*%G62XH'RU&>&.;@ #4NLB )6,%$TBX4'
M0Z%2=-Z\1#J+=2AE(4V0/F.4>&U*#'4PPQ9>(@,:=&$'9J:S#B<W:#VJ(,]C
M&"$*4@#IBDS:+D62' CL, =#T\$,F^ZT8O! :3N\(0VR81\*7 UK3HOUTW<9
M]:MEXY@U4*\,=OB"K&E-!EM7^=A7KH$,6&"#&'39D%]>; UJP&P<D%FQMV8U
MJ$%PM.C0!=1Y^4(;0#>>,J @SW6($!U0I8*UM,'6GM9VKKLM'4"_9C5?F%89
M5#UG7<,:!&<H0W@F-NM=V]K/%7G!+SG2[MF=+C4"!\%J9D/"S0AP0Y+QT&4$
MM)06Z%NL!WW!?IE;!"Q009]%:,(7E@ "WYZWM7,U+ QDX"TZ3]8^'77"%Z3P
MA"N =+KU);!K9:[=E\J6MC:W;<X!O-N6 WW G2TPT;>+*>,BE[W+M2@1GFF%
M(GQAJ$9X0LN_B>X(52\-<1*V&U84<X7B ;>I:Q3>?Z$DU?3"F,WKV"#B]T8
M&&$($J7RL8])XQS@@ 4OR<@QBSQBQ,? VF6N"*!-Q.WZ2$<T7[G3%Q8CFQX\
M5-63%S2]9Y/HN8G[3:[)P^9IZ'D8@)XHE!_]^TZ?>=7;>SBMAS2=0U^:L^BQ
M58NVP:/[W6_>5]HH[2[*&8(MAS%LH0L@\/P>0" "_\$E@&@0P:^<4 4F, $$
M?= ]<V O:-\C_TEV@,,7FO_\Z(-@^B) PA,*TH,7:!\$W/<^"%B0_^^'/]+C
M%VB]1V@'Q1ERL'SM)WW4UP+6YP;8IWW]!W[B9WSF5X"+D7X)^'[4)W_T]P)"
M(0<OP$?WUW_;UWW^)WY_9B?IYD)4DG8JTA;35X%D4 =MT 9YL 4M\6C@9RDM
M6 9JMR+\5A'$-D0%5VNQHW @X'!N@AD<E 0@16R_8B"* 3#^D1Z\$W*"-WC0
M1F,L,0.(-P/6MGBB!&0W@'C3=FVA)%8)@&B88A=J%R,HP(:FAWFIMWK%IFH)
M@ 9D\(9TD&IJ: 9'PQJJ)VL'%U(!-W">XH=TE@ 7" >+!GV>URH[D #]QHA0
MHG[L%P.0&#*>@H=#D09^6!$) "<^R!9?8!G34QVA&%)=TW(A@"9KL&EPLP='
MV&YW(!99\DCTP3! <@:OYFUOD#0J('):V$M7%D=:5DD><4RBJ!X9DFMIH&I]
M8&:+18$$F'P'R'S.MXGPUX /6(+Z]W_52'X#:&GHAXG;Z'[PQX%%4'\C:((2
M"$H@((_6:([*9P<9"'\,* ;7UQP0"(_B&("45X'MUHCYN('SUXX>. <@*(+@
M>(+R*%9#.&P&)U9[H(:BYC-DP +1&&UO= ,V@'@XX&QE5HR$=TBP5(:P-&9B
MN%@N<7@R, ,>$7DA-8VBN'EX (=P-XE(Z 1U5P0ZA9,Q$H5+L6IP"#?#*%;3
MZ&=T-H2'V"I%6&SO1WR+:&JH)@)+TB0]X# E0 9XT)7WMW0=]5&_LG0\YW.<
M1HF+B&F:UBJ_8FIL6(@)8)4H( )<X 9<( <B()?]MI3SZ&<R%IB".9B$69B&
M>9@0(4#TTV"(^401QD4D$49@=&$E 4M1MF%IY&$VP65OU(4V4&*-24@IMD<N
MUF)0$9JHF9I/1&.*.0<WMDI,1DDYT&,Q<$D>(61$)DJMZ0*GE !-X",Y9A%O
ME$DP4 .:=)NXE(5:>&4S0&T2QHSS*(IPD@!A@ <L, )#E014, 52E0 ZA1Y
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
M$=V#3,U?GLE!/L'JKLPZO=V3K.3>S>28_.5;'M.##&NXNJCXBN!-#05%(2N
M(18/SL^FK="#K*XW<,T)R^H >N+,;<=E@,=Z#.*XRNX]'O )'^]? ?(/4N](
M?N\2KP;?+=2X2MXSGMIAGC140"5A43<+'^%77=P9O]KZ[=8/+=>Q/=82C0=G
M<0;].=@-C]45SO/ [=="K]Y%K]8>F_04C1DU.@5V AH!IQG9$I\+HQ__DS3@
MJ19W$ 9S(.FS#=H4W>HR,*!X0:*.4Q3O\9XV>@>NT3:^:QKOT1M%6R.D,?7G
MSK@8(@9M?[-J$09K0?-U AQ7$"/.(>I?4RF%K!YKXXLQ.]^T+=!F -HZY1BX
MH1ZR<>I+3K]R0/@76GP"1_@(&]!T/7/>V6^04OHRL/JLC?34F?E-^[3$G?LN
MO,-]7"PTWV]3GN/]SN/4_.1U(O)+H?B;8O(\G>0IO_+__>0NC]I8$O-)2"32
M<?-GOM<0+=M7_?)B8/$<7=SBK@:,2^1N8-'FK=3"'R=N0-[EN\H8S?1Y_?.P
M/<L:?=55K]?KW?IVC:W5OK46V Q;</M^3R]C1;W^]]ONWRZC:)+-7OV^I4 D
M/-[QTW[*[SPMAC/@_'I:]--W0DT#QK^$]?*N'\'S8E: 3;V!E,#]G-YP"W^H
M;?RE/:5W_M(?_+L![&^5N3])<P/E7^O#;P*PY]D^OD;6A!M9"VQF3:_9*;HV
M;1J@SPMZ+Q"NR8?\!]GH6@P(@&UM"+ZV(H@ H^!$,X"5**Y1P24HQX!@%EQK
M1!"P\:?(IM?.H!)<@TP03!&VRD;7$EF'\VT2,-UE*ARXXZ0;VN*#-DV1"3GZ
MI (!H0=$6/Y+?XD3CT?!SD#O UC_:D^<IPXV!W=::4L RPY?K1,< .UZ'6C[
M=?P)4I@T9'>_!M@BK$KY2Y#=KU18VNB 8T"$ ^Q;H<+_)0N3'AM$;'4 AI4O
M2*'<-!@9V!/-#X/]JU*CVZ(#()MU=P#JH0&C5[[:&QS[5[_P+M2T!$#TEN'1
M6VN)4,WU-HC7XB#A<@.&=$#<M08;]M@&7#0,AL]PN1V',<#;')A2L&&N4*^-
MPRLG#-7A4&N'@9#'-<+ZEPXUF"3,,Z70AIU" X;9Z-K;P62A081U01.FYT!
M%*@#I"%IX(L7\KA$'XHCAP;Q$:H!&&8@0L,=9&%[[,8E *N1%.X@+[17/:P^
MT" K9R!(XAOH-RX18:D&7=CZ"-9_BXD1+!=BM8.XB,3@6EMOA@WPT3?[E.I<
M6RU+ ZOP?SVV3.BG.&&TJP&@T X8L'FU!4AAU!H.?JI>]:\!]M@VFQ(3=T-1
M@CVVHW&?DJ$3LV%0;!%)L?^V!V$A6G1-.@4)F E$4@?JE\9 ))*B6:@&UB!7
M ,V1R!5O9UU!J\ HDR3<$FM7.<"_7;R:!KTZ%X^P#^@A9JR,QE#5V 5>8#6(
M1"]0)6=1#*U=%>QD.Z\?;K!-(>[(8"\S=P,.',8 Q6@:C1EJC(32<#5N0]?8
M"T=C.&2-<+"3O<9O&!OK6$C;C)S+<T'&MF!J"(1NJQHM ,9YFYA!!*: #I@"
M26 S_D,[4<5F74@T8)DO"18QQL5,:J-JM'+3$1\R$X2U%ANC<$0A8T'/# ?$
M%]?&PZ7"#OLL[TT^"^(&?D6E@(]FC%V(@="H4TS-N@ 2^*M#38J6DP9<@%B
M 2T J205X+ 9SV'EF$NI\+%EPTOHL,J=0[MJHK#5V<2]MB7JTTF\B$J/CKTP
M?,4&PN'2$XT.TLK-@34PS[1BB7P)L80Z(1"!5ACKH3_LC;N'1<*!E^ #S==G
MPVHU4C2J1L4X#R_A/'QLY9'.Z!2#9U!H1&.@3]GK/-K'OZ 6IA<(&0ZFYO 5
MLC20!B:%=(R-B#!"2K0)J0;KDV!K=>9NU1TUXY;S<E]H]'X;;J"=17JX%<DA
M?Q,XP!$$0 'UJ!:0B!(! 72&!S !(]!G_A+88(=A4BF.2598)CD6FDQB;G(V
M.JT-J2;EF+@#65KQ,[8ZB8<IS5V1')-<\4[^1J55$<X J6(=HL@%V+VB1:%8
M +1ZE35J!M6@VB!G]M:5V77+9M<9$R]39+14&9H)4RH-E4I2]05H Y E<IN
M58*V33A+:I2I' [IH@W$B!X 2XSEKT J7.8($ $J\"1R7,Q*E<HR :P$&; "
MGJ6K9"<#ZEG.!K,G%EH/%L@!>"!>DK-^TPAC'28T>\<Q 8B /9D6^F1 H )5
M0 HX 9NB%RV(ZMH-U>'P80?MX!C$@G^@7?=A3A@%$,8N'(:',&,N0 14(OL$
MPP#41NIUG1! A<P\1R\KV.R+';%B2Z8!??F;PH+E<&J[!0^<)>>H,1$=&>B8
M3NMCBLQH-S)/Y#Y$6/=29>I++J84PH6%6 ZO2YQX&Z;A&@)&?=@2WB8T[$<Y
MD#$WYLWT4S! 9T[*:&?N_%L6$P] ,V7F2Q$ DL15#I@VL*1F_@@R0-,0%E.<
M<W)P;;X[I(4)W9PFQ ,V@6OB.1"#YSI)OP%X!T_@N4U\R27UY:OJ 6H3>B&.
MN& &PL!\P UV 6%5!"= @_!#PD18+;,,)"U#R<C )LJTFUASV< Y+V3G: *]
MW&:)#)J]3:=%;> <KS-FI-.8T0 \)P/, )Z; 2?N*[3-NFGK[N;,80%^ZH3M
MS3:F.[&;VP2=%0]X5BC;J>OJG#%[G4B->(:X(G<\>R?6A'98,W8ZK=G9Z\I0
MKSL\(#/:B0$\1T;()_@T9L-$MN"$TSDWJR>SVYI^2DOAN1HP,H6G;%E6]Q-Z
MSH2]R3W7B>'"<S<!@+:XD1<X$Y[[])VB<YU,F_F9.Y<?F]H4!Q1KEJ'XZ3S7
M5?I4H-!3CLS/\[FNM(QLH9^G4P1ZQM59G)0GC7-V-&YDQB3:V3]I7.^#$X4P
M@@*HD.2G< *>HP':$R/<T N*!XB5^HR;/^O 43 QX'Z&P!11"XF"B'J>SJ6^
M-F>_H6::#&6&RTTH3#PH%94!^ V*6C.W.47Q Y@(V, SWW16R)&A4D8E2UT
MKB7,SS72^ZC9[E256J(I5M$RVA*>Z$PSGIBPBXY1*^I%P6@9C0$L:\6QD;A)
MS8A<@^.B<52!SIP,&J#.J""5 >/S?F*$2$I%R:AL^:)8=(T"4OX9 RCI#EDC
M%72,AD9WMQ@R&2)EE8H4EO!/&3 R]^@?U9J8-)3ZT4N*0QVI8&1E:]2'"E(:
M<!VI&<G3G'DTD?912WI%>VDA0WX0-)CV/0JZ23_HS/&D[ J7TE)B.DP#:1^%
MI'0TBQY3[7=*E^4MM:47009P4%<Z36TI)M6F8^ /=E,*BDV=J305I.]TF/+1
M<_I'B9@H$BLN #:PFEMS)/1IY5!.@^=6R@ M$Y.<C;.:"<MF)IP1FL1YCA:R
M;'..@Y_>3,?A1%631;VH&#6C:M2-:D<*R*LX(&2 HS:%QT29)!.%$2-(Q2;0
M!,S486 "A1,Q+D$&@":1>A5&TXHI35:!Q=#4G9I11X!/_:E -:@*U:%*5(NJ
M43VJ2%4!C "EFH2H)/B2?$3A+_8]?O'U*H5'K1C- F>(A<"(5'P7!_$]T2'C
MC8"GNAGH&P/Q$33"87#5,P(F<E;=H!&R,I*.O4H35C&&=Q +XXFI[L?>8!F4
MQG\[F!6"/X O[[4VK.K$ %])HEFH56-6 _;"4D6JD#6R2M;)2E3YPF*E<36
M#\15/B!%? @74 )0 <<AQ[@!92 #L@2G2V6I(L1@%1.*QOH 5R@"&P!)!!;
MMX!IG0-F +86 2*@ SYK:'T,I!4)Z Q8.QXR&EM [IU"Y2 --"5=D!7$JY'
M(KD. 1VP&I)K$.BMH/6TEH'DN@1.*QE(KK?U#237&] &=,"#2*[E52@D5QJ0
M7K=K;2VOOE4'M('O6EMC0'EM W)@O-Y7,9!<:\!]=:^RM;P"AN0: W8 4I$#
MM16I[( 8(%SC:XSH;#I@#=0!ZQIAZ:ML%0(1-K_6UNFZ!EYK;>6M:X"_>H$&
MFUV=0W(5KFL@!NC6)P %(JP,6+%1(,+.@!4K!2(L#5BQSE%KF%<-FW)T@!V@
M R-@!N@ /!#_XFLATZV6I/GHUF,Y!N9 <EVNS;4KR0'6H50IJY6]LECVIRI5
MIBH\VA#=& [\HGKY!PKA%?A#E8Q_7RR,_8I1ECK+D@F@ F4)N_V*!5?D?L68
MRV0L0*DF.C'")!'>@_@5,^^!T@% J_U^10K45#APK):);GDG4L.N."?K8CF
M#+[76>HBK]D8JH-=@(RK>D+R[%CU#VOB2G(&UL!Y](.P4"1<;VE^#,E@%*ZJ
M8ZVR63;6REJCRD3&JB/ABZ\ATH8PIGIG^]5E':C8-;2.UM)Z6M] :M4!JQ78
M0HH36UMO:VZ-K;PUO@+7$3M<BVMYA5=/EKF2 >=*!J"KA=T"T[6ZUM;K&E])
M%'?UKN#5O(K7VDI>S2N W0+IU<G65O9*7=\M?,VN\Y7 WE<>NP7:;1O@K[75
MO\I7>ZL#!FQ]-; Y ,'*UH&Z8$EL:'VPQU+"4M@U\&TQ[!K@MQS6P\I6$"MB
M':X.,+&U%<6JV-C*8ETLC)6Q--;&XE@=H&,9DFYM CX6R I9(AMLS>L80+(Z
M0,G&5B8K;V4KE-VV4I;*VMI'FVMYS:X=JW2VP0%:YB<C+JM,JKG#UK2BUK>#
M;-- D(TERS;D-EOS^FQW:\V=ML*5N.H XXIM:^O/Y;;>5KI25SA 8<OMN^VN
M8^#;AE?]ZF[1*W7MN8.JO=K=^)IOZ^N^I;O_MK_^5[MK<&5K@95)"A<'N1X&
M6W,A;H2=L..VPB97BXMQ(ZS&W0(<-[C67) K6T7NBFVQ:^#%DMP8NP9F+,FM
ML6O@QI+<'%LY7&YLA;D_-L@.V2*;78]L;$VR-W?GGE:\>W:#;JV=$$07-AA=
MUC%6>VWNJ ^$<?;%UZA;;(_M:FT)KI79RE9GJUNC;78%N]5V[%Y;Y&IVM2W:
MU0'1=<.NW;:;7<UM;86[<E?=TMWS^E[O[GK5N^V7[WY;^RI?^:V_!;BR5>"*
M!L*+=P^O#$B\+:'A-EX@&W$AKVR]KA1W\F98M=MADVOFI;;QE?/.U@@[<JT)
MZ!6]UH3TFEYK@GI5KS5AO3OVY<9<V4MSC6SN+0*X=\GNWFP;9:N'T 6^N%;X
M4ASBJ^!^G+9RNC0 ZHI78CMU5:O5Q9W15^M.7ZY;?;_N=J6V8I?L<E^?ZWV?
M*_C]MN&6[49>MWMNXVZZ30[KE^"JUWD+?P-LS>V[AO?OLMO]*G@'+O\EL#L
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
&/_?H?BH
end
--[0302]--
[0303] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/06/92 14:08 (30 lines)
Subject: Re: SVGA-alphanum. modes
Date: Mon, 6 Jan 92 13:53:39 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: d88-man@nada.kth.se
Cc: Linux-activists@joker.cs.hut.fi
In-Reply-To: d88-man@nada.kth.se's message of Mon, 6 Jan 92 17:43:12 +0100,
Reply-To: tytso@athena.mit.edu
TSX-11 FTP server update....
d88-man@nada.kth.se's SVGA patches:
~ftp/pub/linux/patches/svga.tar.Z
edpart and pdisk have been uploaded from wuarcive and placed in:
~ftp/pub/msdos
A quick summary of xterm/VT100 escape sequences can be found in
~ftp/pub/linux/info/xterm-seqs.ms
~ftp/pub/linux/info/xterm-seqs2.txt
I uploaded the last because it might be useful for people wanting to
hack on the console driver. In particular, it would be neat if ESC [ ?
3 h switched the screen to 132 column mode, and ESC [ ? 3 l set it back
to 80 columns. hint, hint. :-)
- Ted
--[0303]--
[0304] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/06/92 14:46 (44 lines)
Subject: Re: lp support (Alpha level)
Date: Mon, 6 Jan 92 14:31:59 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: linux-activists@joker.cs.hut.fi
In-Reply-To: [281]
Reply-To: tytso@athena.mit.edu
Date: Sat, 4 Jan 92 15:42:01 +1100
From: Bruce Evans <bde@runx.oz.au>
>getgroups() is an optional POSIX system call, derived from BSD systems:
I thought it was a required POSIX system call.
I stand corrected. It is required; I was getting confused by the fact
that NGROUPS_MAX can be 0, which means that there is no supplementary
groups support, and getgroups() will then also always return 0.
Minix has { return 0; } for getgroups. This is good enough for fileutils
to work.
I've fixed it by actually implementing getgroups() and setgroups(), as
well as POSIX_SAVED_IDS. Patches have been sent to Linus; if you want
to look at them, they can be found in TSX-11.MIT.EDU in
~ftp/ALPHA/job-control/grppatch.tar.Z. The patches are relative to
Linux 0.11 + the job control patches, but they shouldn't depend on the
job control changes except for silly things like system call numbering.
Note that programs which use the getgroups() call will depend on the
size of gid_t and will need recompiling when/if it gets changed. gid_t
is currently a unsigned char, but I would strongly recommend that at
some point we change it to be an unsigned short (at least). The problem
is that if we do this, all programs which use the stat() or fstat()
system call will also need recompiling.
Another change which is similar is MAXHOSTNAMELEN, which is currently 8.
To change it to something greater (I would suggest the BSD value of 64),
will require that all programs which use the uname() system call be
recompiled. No big deal, except that /bin/sh is one of them.
Neither of these are particularly important to make, so perhaps we
should batch up all of these changes and make them at some future point,
at which point everyone will have to recompile all their binaries.
- Ted
--[0304]-- (pref = [0281])
[0305] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/06/92 14:53 (13 lines)
Subject: Re: SVGA-alphanum. modes
Date: Mon, 6 Jan 92 11:45:27 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: d88-man@nada.kth.se
Cc: linux-activists@joker.cs.hut.fi
It was I who sent out the patches to get to 50 line mode.
I also implemented the Virtual Consoles coming in .12.
Note that it would be desirable to run a windowing system in one
VC and be able to switch to other text-mode consoles.
This means not using the bio (yuck) or finding a way
to use V86 mode to do the switching. This would be nice
because it is a step towards DOS under Linux.
--[0305]--
[0306] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 01/06/92 15:00 (15 lines)
Subject: Re: 486 problem
Date: Mon, 6 Jan 92 11:52:59 PST
To: nicholas@cs.uwa.oz.au (Nicholas Yue)
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: [128]
From: John T Kohl <jtkohl@cs.berkeley.edu>
Reply-To: jtkohl@cs.berkeley.edu
I finally found and corrected the problem I had with booting a 486/33 at
full speed.
The problem was the BIOS "Fast A20 Gate Option". For UNIXes, this
should be DISABLED; for Mess-Dos, it seems to make no difference.
[A droid at the computer store said it has something to do with DMA]
John
--[0306]-- (pref = [0128])
[0307] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 01/06/92 15:51 (18 lines)
Subject: The partitioning problem
From: Mika Matti Jalava <r36110m@kaira.hut.fi>
To: linux-activists@joker.cs.hut.fi
Date: Mon, 6 Jan 92 22:44:55 EET
Oups, I seem to be forgetting the basics. I think I sent my previous
posting to someone personally instead of the list. Whoever it was,
sorry.
Anyway, how are the bigger (>32M) partitions meant to be formatted?
Now I know where to get a program to make them, but... Is there any
way other than getting a new dos (I have 3.30)? I am not going to pay
any more for dos than I've already paid, especially now that there is
linux for free! And actually, is even a newer dos a solution, haven't
they got the same 2-partition limit as the older ones, the partitions
just may be bigger? So, what program should I use to format these
beasts?
Mika
--[0307]--
[0308] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/06/92 16:39 (41 lines)
Subject: Re: SVGA-alphanum. modes
Date: Mon, 6 Jan 92 16:30:43 -0500
From: tytso@ATHENA.MIT.edu (Theodore Ts'o)
To: pmacdona@sanjuan.UVic.ca
Cc: d88-man@nada.kth.se, linux-activists@joker.cs.hut.fi
In-Reply-To: Peter MacDonald's message of Mon, 6 Jan 92 11:45:27 PST, <9201061945.AA12593@sanjuan.UVic.CA>
Reply-To: tytso@athena.mit.edu
I suspect that you would want to use the raw I/O instructions to do the
switching, and not try to use BIOS in V86 mode. I really don't know if
I'd want to trust the BIOS, and in any case, if you want real speed, you
will want to be talking to the VGA card directly anyway. The X server
in the X11R5 tape already has code to talk to a couple of Super VGA
cards; it probably shouldn't be that hard the kernel mods integrated
with VC changes so that you can switch around.
I've thought about what it would take to add V86 tasks; since each V86
task requires that it has 0-640k in Virtual space (you can't just give
it a segment), each V86 task would need to have its own set of page
tables that would have to be swapped in when it was running. While this
would be tricky to implement (the task switching code would need to be
changed --- carefully), it has the advantage that we could at the same
time get rid of the 64 process limit. For the 65th through 129th
process, we simply use another set of page tables, and so on.
We'd also want to intercept all of the BIOS and DOS interrupts and
replace them with blocking versions of the calls, so that the MS-DOS
tasks can run efficiently. Yet some programs will try using the raw I/O
instructions, and in order to handle them we would need to trap
attempted I/O instructions and attempt to emulate them. Then's there's
all of the memory-mapped video that would need to be emulating by
putting in hooks to the VM code.
All-in-all a pretty big job....
- Ted
--[0308]--
[0309] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/06/92 17:32 (14 lines)
Subject: SVGA-alphanum. modes
Date: Tue, 7 Jan 1992 00:23:45 +0200
From: Ari Lemmke <arl@zen.cs.hut.fi>
To: Linux-activists@joker.cs.hut.fi
In-Reply-To: d88-man@nada.kth.se's message of Mon, 6 Jan 92 17:43:12 +0100 <9201061643.AA21121@dront.nada.kth.se>
d88-man@nada.kth.se:
>I have uploaded this code to both nic.funet.fi and tsx-11.mit.edu.
nic.funet.fi:/pub/OS/Linux/kernel/svga.tar.Z
arl
--[0309]--
[0310] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/06/92 17:34 (25 lines)
Subject: VT102 codes
Date: Tue, 7 Jan 1992 00:30:03 +0200
From: Ari Lemmke <arl@zen.cs.hut.fi>
To: Linux-activists@joker.cs.hut.fi
In-Reply-To: Theodore Ts'o's message of Mon, 6 Jan 92 13:53:39 -0500 <9201061853.AA07025@tsx-11.MIT.EDU>
>A quick summary of xterm/VT100 escape sequences can be found in
>
> ~ftp/pub/linux/info/xterm-seqs.ms
> ~ftp/pub/linux/info/xterm-seqs2.txt
Also VT102 codes available at
nic.funet.fi:/pub/doc/HW/terminals/vt102.codes
I'm collecting all hardware documentation I can get ;-)
especially interested in different PC cards and their
dip-settings.
Also I'm going to put available my drivers (sources)
collection (for different PC and non-PC devices/cards).
arl
--[0310]--
[0311] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/06/92 22:01 (134 lines)
Subject: Re: SVGA-alphanum. modes
To: tytso@athena.mit.edu
Cc: d88-man@nada.kth.se, linux-activists@joker.cs.hut.fi
In-Reply-To: Your message of Mon, 06 Jan 92 16:30:43 -0500.
Date: Mon, 06 Jan 92 19:47:25 MST
From: drew@hazelrah.cs.Colorado.EDU
--------
I suspect that you would want to use the raw I/O instructions to do the
switching, and not try to use BIOS in V86 mode. I really don't know if
I'd want to trust the BIOS, and in any case, if you want real speed, you
will want to be talking to the VGA card directly anyway. The X server
I disagree. The actual mode setting will be called ONCE when the
Xserver initializes. Initialization code for all different VGA cards is
often radically different - with registers spread all over the place,
with different values and functionality. Saving a few hundred clock cycles
one time on a machine with 20 to 40 million is not a big deal.
in the X11R5 tape already has code to talk to a couple of Super VGA
cards; it probably shouldn't be that hard the kernel mods integrated
with VC changes so that you can switch around.
I've thought about what it would take to add V86 tasks; since each V86
task requires that it has 0-640k in Virtual space (you can't just give
it a segment), each V86 task would need to have its own set of page
tables that would have to be swapped in when it was running. While this
would be tricky to implement (the task switching code would need to be
changed --- carefully), it has the advantage that we could at the same
time get rid of the 64 process limit. For the 65th through 129th
process, we simply use another set of page tables, and so on.
The appropriate CR is stored in the task state structure saved by the 386 -
so switching can be basically automated. You have some inteligence to
share the BIOS and manage the IO bitmaps though - to prevent contention
problems. Also, V86 tasks can only address 1M + ~64K (address carry
present in 286's and above), requiring at most 256 + 16 second level
table entries, meaning a single secone level table (1024 entries
MAX per table) and first table entry. Spares for video memory bank
switching are also desireable.
(Excuse my terminology -= I can't keep tables and directories straight)
We'd also want to intercept all of the BIOS and DOS interrupts and
replace them with blocking versions of the calls, so that the MS-DOS
tasks can run efficiently. Yet some programs will try using the raw I/O
DOS does not need to be trapped. You run one copy of DOS per VM - this saves
MANY reentrancy problems, etc. As far as what needs to be trapped -
1. Disk BIOS should write to the Linux routines, with extraneous routines
trapped - ie no go for format, etc : we want a minimal functionality
first.
2. Video set mode int 10h function 0 should be trapped for mode, and
only allow VALID VGA modes, the setting of which will be sent to
the Linux window program (outputing to X11) All other BIOS
video accesses are OK except perhaps the set palette, which
we would probably only emulate at the register level (eventually)
and let BIOS do it's thing. Also, we need to keep track of
state for text / graphics.
3. Any BIOS routines that talk to registers that are NOT being emulated.
A simple solution would be to block any and all BIOS calls, a better
solution would be to change IOPL once in BIOS and cause all read /
writes to fault -, setting a blocking flag. If the blocking flag is
set, you wait until it is cleared by a ret / iret from the BIOS code.
Video RAM access is handled by having a buffer allocated for each machine.
Text, and CGA are no problem at all - these are not bank switched, and
lack the special EGA / VGA ALU / barell shifter, plane mask, and
bank switching used for 16 color modes. Each task has its own
video memory buffer. You after a refresh alarm expires, you
look at the accessed bits in the page table and update those regions that
have changed.
Trapping interrupts in DOS :
Not overly complicated. When an INT, INT3, or INTO opcode is executed
in a vm task, it creates a general protection violation. When you trap this
fault, you examine the VM flag in the flags on the stack. If it
is set, you use your special DOS handler which looks for one of these or
other IOPL or VM sensitive instructions and perform the appropriate
emulation.
instructions, and in order to handle them we would need to trap
attempted I/O instructions and attempt to emulate them. Then's there's
all of the memory-mapped video that would need to be emulating by
putting in hooks to the VM code.
Other stuff for a complete emulation of real mode :
trapping of EGA / VGA Palette, panning, and palette registers.
trapping of "normal" PIC mask register, timer ports, keyboard
registers (tie to the ttyp of the Linux proram) and eventually maybe
serial / parallel.
It is a nice idea, and would make an incredible summer project
after some one has ported X11R5 to Linux.
Virtual 8086 mode allows you to use almost all of the BIOS and any DOS
or other real mode OS underneath this mess. You have a few interrupts
that need dealing with, the hardware interrupts to simulate, and
some ports to trap, but other than being an exercise in protected and
VM program - it should be not overly difficult, just time consuming.
-----------------------------------------------------------------------------
I'd be more worried about getting X11 up in the first place as distribution
for R5 is around 150 megs. The two possibilities I'm looking at right now
are
1. It is possible to use
NFS servers over serial lines. A direct link, at 38.4K baud
could be made to a machine with disk and build done locally.
I think one such NFS program is PPP - are there others?
How soon until sockets, rpc, etc are implemented on Linux?
2. Large local SCSI disk
I've been offered a 340M SCSI drive real cheap (locally),
and am getting there on my SCSI drivers - after Winter USENIX is a
definite possibility for completion.
For work, we're currently installing X11R5 on our HP 68k Unix boxes -
I'll see how soothly it goes and take a look at the Xserver code
to see what needs changing.
Again, a lot of goodies like X hinge not only on some one having enough
disk space to do a build, but on availability of key Unix networking
related features.......
i
--[0311]--
[0312] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/06/92 22:33 (65 lines)
Subject: Re: SVGA-alphanum. modes
Date: Mon, 6 Jan 92 22:25:05 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: drew@hazelrah.cs.Colorado.EDU
Cc: d88-man@nada.kth.se, linux-activists@joker.cs.hut.fi
In-Reply-To: drew@hazelrah.cs.Colorado.EDU's message of Mon, 06 Jan 92 19:47:25 MST,
Reply-To: tytso@athena.mit.edu
Date: Mon, 06 Jan 92 19:47:25 MST
From: drew@hazelrah.cs.Colorado.EDU
I disagree. The actual mode setting will be called ONCE when the
Xserver initializes.
Well, it would be called when the X server initializes and each time you
switch bach and forth between Virtual Consoles. I suppose you are right
that it won't be called enough to make it worthwhile. I still would be
nervous about the BIOS code doing something funky like messing with the
interrupts and what not, but that's probably just an irrational fear on
my part.
DOS does not need to be trapped. You run one copy of DOS per VM -
this saves MANY reentrancy problems, etc. As far as what needs to be
trapped -
Well, in my conception DOS calls would be trapped and emulated by
calling the appropriate Linux filesystem routine, so that DOS programs
would be able to use Linux filesystems and Linux devices. Once we get
the MS-DOS filesystem working in Linux, it could even get to MS-DOS
filesystems that way. (!)
The first cut implementation probably would just run native DOS in each
task, though, since that is much easier.
It is a nice idea, and would make an incredible summer project
after some one has ported X11R5 to Linux.
Agreed; this would be a very big project! You actually don't need to
port X11 R5, though. It could just be done on top of Virtual Consoles,
and in fact it may be easier to do it that way, and worry about the X
interface later.
We probably shouldn't worry about it too much until after we get Linux
in a much more polished state, though.
I'd be more worried about getting X11 up in the first place as distribution
for R5 is around 150 megs.
Well, you don't need to grab the whole thing. The X library is 3 meg,
and the Xt toolkit is another 1.1 meg. You may also need the Xmu library
which is ~350k. Then the device dependent portion of the X server is
800k (and you don't need all of it), and the device independent portion
of the X server is 1200k or so. (All of these sizes are source only,
with no RCS directories).
A lot of the X11R5 distribution are big, (somewhat) useless things like
games and demo programs, and then there are the big, slow, and really
useless things like Motif. If you strip out all of those programs, X11
really isn't as big as you might think....
All of this really doesn't matter until we get sockets and networking
running, at which point SLIP, NFS and SCSI support might be in the
kernel already, making the whole space issue moot. My, it's nice to
dream, isn't it! :-)
- Ted
--[0312]--
[0313] daemon@ATHENA.MIT.EDU (Stephen. Clawson) Linux_Activists 01/06/92 23:10 (14 lines)
Subject: tseng et4000 detection
From: sclawson@cadehp10.eng.utah.edu (Stephen. Clawson)
To: linux-activists@joker.cs.hut.fi
Date: Mon, 6 Jan 92 21:04:19 MST
I just installed the svga detection patches to the kernel, and
while it is *very* nice to be able to use a bigger screen, the auto
detection didn't seem to work on my system. I'm running a 40Mhz 386
with a Diamond Speedstar Plus HiColor, which uses the Tseng ET4000
chipset. Has anyone else had this problem? I had to force the system
into realizing I have a tseng card to get it to work.
steve
// sclawson@cadehp0.eng.utah.edu - University of Utah
--[0313]--
[0314] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/07/92 00:56 (25 lines)
Subject: Re: SVGA and the kitchen sink.
Date: Mon, 6 Jan 92 21:49:06 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
Two things. First I think bios and therefore V86 access will be required
if for no other reason than because two many clone vendors rely on it
to deliver "compatibility".
Second. Before X11 can even be looked at, another feature will be
required. That is, shared dynamic linked libraries. I just finished
working on a Decstation 3100 for 6 months using Ultrix which does
not have this. The executables are monsterous, and the only thing
they eat more of than disk space is memory. Plus, if Linux is to
be distributed over ftp, and we wish to permit access to distributing
binaries, then much net-width can be saved. But most of all, since
Linux is fast evolving, if we want to avoid frequent recompiles of
all utilities every time a library routine changes (such as job
control requires) then we better get shared libs fast.
The moral of the tale is, if anyone out there is currently idle,
and knows something about compilers, and is willing to tackle
shared libs, please step forward at the sound of the tone.
^G
--[0314]--
[0315] daemon@ATHENA.MIT.EDU (Rwo-Hsi Wang) Linux_Activists 01/07/92 01:34 (15 lines)
Subject: The way to X11. (was Re: SVGA and the kitchen sink.)
From: rhwang@cs.utexas.edu (Rwo-Hsi Wang)
Date: Tue, 7 Jan 1992 00:26:57 -0600
To: linux-activists@joker.cs.hut.fi
Peter (pmacdona@sanjuan.UVic.CA) wrote:
> Before X11 can even be looked at, another feature will be
> required. That is, shared dynamic linked libraries.
Could someone give us a list of features (preferably in the order of
implementation precedence) that are required (and yet to be implemented)
before X11 can be ported to Linux? I'm curious about how far away
Linux is from X11. Thanks!
Regards,
Rwo-Hsi
--[0315]--
[0316] daemon@ATHENA.MIT.EDU (SMTP@FINHUTC.hut.fi) Linux_Activists 01/07/92 02:19 (43 lines)
Subject: Undeliverable Mail
Resent-From: dyslexic jim the domain mangler <V5068U%TEMPLEVM.BITNET@FINHUTC.hut.fi>
Resent-To: linux-activists@joker.cs.hut.fi
Date: Tue, 07 Jan 92 09:11:16 EET
From: <SMTP@FINHUTC.hut.fi>
To: <V5068U@TEMPLEVM.BITNET>
----------------------------Original message----------------------------
FINHUTC.hut.fi unable to deliver following mail to recipient(s):
<linux-activists@joker.hut.cs.fi>
550 Host 'joker.hut.cs.fi' Unknown
** Text of Mail follows **
Received: from Finhutc.HUT.FI by FINHUTC.hut.fi (IBM VM SMTP R1.2.2MX) with
BSMTP id 8017; Tue, 07 Jan 92 09:11:15 EET
Received: from VM.TEMPLE.EDU by Finhutc.HUT.FI (Mailer R2.08 R208004) with
BSMTP id 8016; Tue, 07 Jan 92 09:11:15 EET
Received: by TEMPLEVM (Mailer R2.08 R208004) id 2523;
Tue, 07 Jan 92 02:11:09 EST
Date: Tue, 07 Jan 92 01:47:54 EST
From: "jim wiegand[v5068u].vm.temple.edu"
<V5068U%TEMPLEVM.BITNET@FINHUTC.hut.fi>
Subject: lp support & daemonology
To: linux-activists@joker.hut.cs.fi
hi all;
I am working on a print spooler daemon to go along with the lp driver
and have a question about the general init/rc thang. I have installed a test ve
rsion of my spooler ( it's really an exec that has the personality of a daemon
:-) ) in the /etc/rc file but the question is this:
When a person logs out of bash, the lpd is still busy opening & deleting
files. i.e. it is not safe to turn of the machine & it is possible that it may
seem like nothing is going on. so, is there/will there/should there be some sor
t of rc0 like AT&T uses for shutdown? what do you folks w/uucp do? will this be
in 0.12 & if not it might be a nice project after the lp is mature.
I have fixed up a bunch of bugs in the lp driver & will post a new versi
on in a day or so. The lpd uses a printcap file & reads the disk as little as
possible to build its queue. The lp should be Posix-compliant and will have a
lot of the features of the BSD lp filter: tab-expand, margins, form size, &
font, all printcap set. What won't be for a while is queue control.
&& thanks for all the info & replies.
v5068u@vm.temple.edu jim wiegand
--[0316]--
[0317] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/07/92 03:25 (20 lines)
Subject: Re: tseng et4000 detection
Date: Tue, 7 Jan 92 08:58:23 +0100
From: d88-man@nada.kth.se
To: linux-activists@joker.cs.hut.fi, sclawson@cadehp10.eng.utah.edu
Linus has had the same prob. The strange thing is that the code to do the
'guessing' is taken from a book/vga-doc files that says that it has been
tested to work properly ! If anybody knows how to do it please let me know.
I have read the postings about BIOS or no BIOS in SVGA-handling, and I would
just like to say (in my deffence :-) that this is just a small hack to help
people having bigger screens (remember Linux is still beta-version) and it
is not meant to be installed for good. I will work on a stand alone program
to do mode-switching from a runing shell, it's just that that is A LOT more
work. This code was finnished in a rush, mainly to let people test the 'feature'
and to test the somewhat inconsistent card-detection code (I do only have one
card to test on :-) And for that purpose the BIOS can be used since it's just a
int-call from the setup which is running in native mode so the BIOS-call there
really do no harm, it's just a MUCH more simple way of doing it instead of
doing direct I/O to the card. And by all means nobody is forced to use the
patch :-)
/Mats Andersson (d88-man@nada.kth.se)
--[0317]--
[0318] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/07/92 14:28 (75 lines)
Subject: SVGA...
Date: Tue, 7 Jan 92 19:23:33 +0100
From: d88-man@nada.kth.se
To: Linux-activists@joker.cs.hut.fi
Hi again,
I'm getting more and more confused about this, trying out the code on a
computer at the place I work it detected a Paradise as a Genoa ! And if one
looks at the code for Genoa this is mighty impressive how it could !
Anyway here are two more versions of the Tseng detection, since I guess
most people have Tseng or Trident those might be most interesting to have.
Just change the old Tseng part to one of these and try. Please let me know if
you get either of them working.
/Mats Andersson (d88-man@nada.kth.se)
-------------------------------------------------------------------------------
Attempt #1:
notrid: mov dx,#0x3cd ! Check Tseng 'clues'
in al,dx ! Could things be this simple ! :-)
mov bl,al
mov al#0x55
out dx,al
in al,dx
mov ah,al
mov al,bl
out dx,al
cmp ah,#0x55
jne notsen
lea si,dsctseng
lea di,motseng
lea cx,selmod
jmp cx
Attempt #2:
notrid: mov dx,#0x3bf ! Check Tseng 'clues' Acoording to
mov al,#0x03 ! Ferrano
out dx,al
mov dx,#0x3cc
in al,dx
mov dx,#0x3b8
and al,#0x01
jz even
mov dx,#0x3d8
even: mov al,0xa0
out dx,al
call setATC
inc dx
in al,dx
mov bl,al
call setATC
mov al,bl
xor al,#0x10
mov bh,al
out dx,al
call setATC
inc dx
in al,dx
mov ah,al
call setATC
mov al,bl
out dx,al
cmp ah,bh
jne notsen
lea si,dsctseng
lea di,motseng
lea cx,selmod
jmp cx
setATC: mov dx,#0x3da
in al,dx
mov dx,#0x3c0
mov al,#0x16
out dx,al
ret
--[0318]--
[0319] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/07/92 14:32 (27 lines)
Subject: lp support & daemonology
Date: Tue, 7 Jan 1992 21:22:31 +0200
From: Ari Lemmke <arl@zen.cs.hut.fi>
To: linux-activists@joker.cs.hut.fi
From: "jim wiegand[v5068u].vm.temple.edu" <V5068U%TEMPLEVM.BITNET@FINHUTC.hut.fi>
Subject: lp support & daemonology
hi all;
I am working on a print spooler daemon to go along with the lp driver
and have a question about the general init/rc thang. I have installed a test ve
rsion of my spooler ( it's really an exec that has the personality of a daemon
:-) ) in the /etc/rc file but the question is this:
When a person logs out of bash, the lpd is still busy opening & deleting
files. i.e. it is not safe to turn of the machine & it is possible that it may
seem like nothing is going on. so, is there/will there/should there be some sor
t of rc0 like AT&T uses for shutdown? what do you folks w/uucp do? will this be
in 0.12 & if not it might be a nice project after the lp is mature.
I have fixed up a bunch of bugs in the lp driver & will post a new versi
on in a day or so. The lpd uses a printcap file & reads the disk as little as
possible to build its queue. The lp should be Posix-compliant and will have a
lot of the features of the BSD lp filter: tab-expand, margins, form size, &
font, all printcap set. What won't be for a while is queue control.
&& thanks for all the info & replies.
v5068u@vm.temple.edu jim wiegand
--[0319]--
[0320] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/07/92 14:34 (13 lines)
Subject: VC final patches
Date: Tue, 7 Jan 92 08:48:38 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
I mailed the final VC patches to Linus two days ago, and I just heard from
him that he never got them. I had both mailed a single big file and
a pile of split ones, but I guess even they must have been too big.
Well, I have uploaded vc.tar.Z to incoming on nic (For you ARL).
Linus, can you get them from there.
PS: this includes the new tty_io.c patch which has pseudo ttys working,
so throw away the last patch I sent you.
--[0320]--
[0321] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 01/07/92 14:34 (15 lines)
Subject: Re: 486 problem
Date: Tue, 7 Jan 92 11:25:50 PST
To: linux-activists@joker.cs.hut.fi
Cc: nicholas@cs.uwa.oz.au (Nicholas Yue)
In-Reply-To: [306]
From: John T Kohl <jtkohl@cs.berkeley.edu>
Reply-To: jtkohl@cs.berkeley.edu
Yesterday I said:
> The problem was the BIOS "Fast A20 Gate Option".
Actually, that wasn't it. At the same time, I upgraded to 4M simms
rather than 1M simms, and the problem went away. Oh well...?
John
--[0321]-- (pref = [0306])
[0322] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/07/92 14:35 (69 lines)
Subject: Re: SVGA and the kitchen sink.
Date: Tue, 7 Jan 92 11:28:26 -0500
From: tytso@Athena.MIT.EDU (Theodore Ts'o)
To: linux-activists@joker.cs.hut.fi
In-Reply-To: Peter MacDonald's message of Mon, 6 Jan 92 21:49:06 PST,
Reply-To: tytso@Athena.MIT.EDU
Date: Mon, 6 Jan 92 21:49:06 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
Second. Before X11 can even be looked at, another feature will be
required. That is, shared dynamic linked libraries. I just finished
working on a Decstation 3100 for 6 months using Ultrix which does
not have this. The executables are monsterous, and the only thing
they eat more of than disk space is memory. Plus, if Linux is to
be distributed over ftp, and we wish to permit access to distributing
binaries, then much net-width can be saved. But most of all, since
Linux is fast evolving, if we want to avoid frequent recompiles of
all utilities every time a library routine changes (such as job
control requires) then we better get shared libs fast.
A couple of points. First of all, job-control does *not* require
recompiling all of the utilities. /bin/bash needs to be recompiled with
the job control commands built in, of course, but that's about it.
Secondly, many of the changes which I (at least) have been talking about
requiring recompiling all of the utilities because they mean that the
system /usr/include files would have to be change, and the structures
passed back from the kernel would change as the sizes changed. A
dynamically linked library wouldn't solve this problem.
Finally, people should be aware that many shared libraries implemented
under Unix are not fully "dynamically linked" --- that is, when you
change the library, you often have to relink all of the utilities or
they won't work at all. These designs are great for conserving disk
space, but they're hell for evolving systems, because with statically
linked programs, at least you know they will always work as long as the
kernel interface remains constant. With shared libraries, often times
replacing the library will cause all the programs which relied on the
old version of the library to break, even if the kernel hasn't changed
at all. It is possible to do it right, but whoever tackles this one
needs to be careful about the design....
From: rhwang@cs.utexas.edu (Rwo-Hsi Wang)
Date: Tue, 7 Jan 1992 00:26:57 -0600
Could someone give us a list of features (preferably in the order of
implementation precedence) that are required (and yet to be implemented)
before X11 can be ported to Linux? I'm curious about how far away
Linux is from X11. Thanks!
Well, I believe the only unimplemented feature which is absolutely
required is Berkeley-style sockets (or a socket emulation library,
although the real thing would be preferable, IMHO). There are a lot of
features which would be helpful but not required. They include:
* Networking code that goes with the socket() implementation
* Symbolic links, to make dealing with the source tree easier
* SCSI disk driver, to make it easier to hook up big fast disks
so you have room for the complete X11 distribution
* Shared libraries, to make the (many) X executables smaller and
usable on systems with small amounts of memory.
I suspect that implementing the above items could be done in parallel
with porting the X server, once we have BSD-style sockets. The port of
the X server itself may not be trivial, so one should not discount that;
however, getting the X clients to build should be fairly easy, as long
as you have the disk space.
- Ted
--[0322]--
[0323] daemon@ATHENA.MIT.EDU (Drew Eckhardt) Linux_Activists 01/07/92 17:00 (9 lines)
Subject: symbolic links
Date: Tue, 7 Jan 1992 14:47:16 -0700
From: Drew Eckhardt <drew@kinglear.cs.colorado.edu>
To: drew@kinglear.cs.colorado.edu, linux-activists@joker.cs.hut.fi,
Is anybody implementing symbolic links so links can exist across
file systems?
Looking at running SLIPP, etc?
--[0323]--
[0324] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/07/92 17:17 (16 lines)
Subject: Re: symbolic links
Date: Wed, 8 Jan 1992 00:07:02 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: Drew Eckhardt's message as of Jan 7, 14:47
To: Drew Eckhardt <drew@kinglear.cs.colorado.edu>,
Drew Eckhardt: "symbolic links" (Jan 7, 14:47):
>
> Is anybody implementing symbolic links so links can exist across
> file systems?
I've been meaning to do these for a long time: but something has always
come in the way - this time it was the VFS patches: I want those in
place before I start changing the fs structure again. If 0.12 is more
stable than 0.11 (ie not so many patches), I'll do it then.
Linus
--[0324]--
[0325] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/07/92 22:58 (18 lines)
Subject: micro-emacs
Date: Tue, 7 Jan 92 22:50:20 est
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
To: linux-activists@joker.cs.hut.fi
I have been trying to use uemacs, but am having some trouble with saving
a file. ^X^S I thought was supposed to save a file...but doesn't seem to
work. How do I manage to save a file I've edited.
Also my computer doesn't seem to want to do a warm-reboot. Is this normal?
I have to use the reset button.
One more thing...when using compress to decompress a large file (the manual
I think) I get out of memory type errors. I have 8 meg of ram, so that
doesn't make sense to me. Any suggestions.
Thanks.
Teresa
--[0325]--
[0326] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 01/07/92 23:48 (27 lines)
Subject: lpdemon, init, shutdown, uucp
From: Yanek Martinson <yanek@mthvax.cs.miami.edu>
To: linux-activists@joker.cs.hut.fi
Date: Tue, 7 Jan 92 23:41:55 EST
Cc: V5068U@TEMPLEVM.BITNET
In-Reply-To: <9201070713.AA15276@joker.cs.hut.fi>; from "SMTP@FINHUTC.hut.fi" at Jan 7, 92 9:11 am
> and have a question about the general init/rc thang. I have installed a test ve
> rsion of my spooler ( it's really an exec that has the personality of a daemon
> :-) ) in the /etc/rc file but the question is this:
> When a person logs out of bash, the lpd is still busy opening & deleting
> files. i.e. it is not safe to turn of the machine & it is possible that it may
> seem like nothing is going on. so, is there/will there/should there be some sor
> t of rc0 like AT&T uses for shutdown?
When my init is done, what you do is start lp, gettys, and any other
such stuff with runlevel 2. So they get killed when runlevel changes
to 's'. Then write a shutdown script that sets run level to s, then
cleans everything up, kills any remaining demons, unmounts
filesystems, etc. Then syncs a few times, and says "Ready to power
down or reboot" and just sit there.
> what do you folks w/uucp do? will this be
There is no uucp for linux yet as far as I know. When I get done with
init and login next thing I'll do is try to get Taylor UUCP working.
t is a public domain uucp, pretty comapatible, and with some extra
options..
--[0326]--
[0327] daemon@ATHENA.MIT.EDU (Pietro Caselli) Linux_Activists 01/08/92 00:22 (24 lines)
Subject: Yup! ... a bug.
To: linux-activists@joker.cs.hut.fi
Date: 7 Jan 92 10:36:39 MET (Tue)
From: zaphod@petruz.sublink.org (Pietro Caselli)
I know 0.12 is on the final rush anyway there is a little strange bug with
0.11 I cant trace off.
I just finished porting an AT&T uucp on Linux ( a few more beta-test and I'll
post it on nic.funet.fi ), well after polling my host and after getting my
CARRIER LOST ( I said I need some tests :-) ) Linux hangs with "ls -l" !!!
My question is Why ?
Anyone had a similar problem ?
P.S I have a tcsh6.01 working on Linux, I need also some tests on It ... if
people on the mailing list are interested I'll post it too.
Ciao.
Pietro Caselli |
internet: zaphod@petruz.sublink.org | IF YOU MEET THE BUDDHA
: pietro@deis33.cineca.it | ON THE ROAD,KILL HIM.
Mail : V. Pietro Mattiolo, 4 |
40139 Bologna ITALY |
--[0327]--
[0328] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/08/92 03:57 (10 lines)
Subject: Re: micro-emacs
Date: Wed, 8 Jan 92 09:49:03 +0100
From: d88-man@nada.kth.se
To: linux-activists@joker.cs.hut.fi, tselling@natasha.iusb.indiana.edu
saving in uemacs: ^X S not ^X^S as in the real one.
No warm reboot: I have the same problem as do more people I know of, the
problem is (as I know it) the AMI-bios in my computer, do you have an AMI ?
If so that's almost surely the reason. Anybody knows why ? I haven't looked
into it. You always have the red button ... :-)
/Mats Andersson (d88-man@nada.kth.se)
--[0328]--
[0329] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/08/92 04:31 (13 lines)
Subject: SVGA (again...)
Date: Wed, 8 Jan 92 10:26:11 +0100
From: d88-man@nada.kth.se
To: Linux-activists@joker.cs.hut.fi
Linus has tested a new aproach to detecting Tseng which works. I have also
looked closer at the code for Genoa, I had screwed things up a bit so to say.
I think that's why it detected a Paradise as a Genoa :-)
Anyway I have uploaded a file called newsvga.tar.Z to tsx-11 and nic which
include the new Tseng and the corrected (hopefully :-) Genoa. It is a new
diff which should be applied to the original setup.s not the patched one.
I cross my fingers that this one works :-)
/Mats Andersson (d88-man@nada.kth.se)
--[0329]--
[0330] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 01/08/92 05:36 (21 lines)
Subject: what's wrong with ESDI?
From: Mika Matti Jalava <r36110m@kaira.hut.fi>
To: linux-activists@joker.cs.hut.fi
Date: Wed, 8 Jan 92 12:25:29 EET
What might be the problem with my ESDI drive that I've tried to get
running with linux? It is a Magtron MT-4115E and the controller is
Joincom.
The problems: I start linux with root on floppy. I get a message like
"unexpected hd interrupt", but immediately after that "partition table
ok.". I try fdisk, and that tells just right what's there on the disk
(a 32 M primary dos and the rest of 115 M as an extended "don't
use"-partition), but right after that an I/O-error, and if I remember
it was on on device /dev/hd5! I don't even have a second drive. It
might have been hd0 though, I'll check it. Anyway, what's this
unexpected interrupt? I think it shouldn't be too much work making the
ESDI drive work, as it "half works" even now. The 20 M MFM drive I'm
using now is getting a bit small...
Mika
--[0330]--
[0331] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 01/08/92 09:15 (24 lines)
Subject: Re: lpdemon, init, shutdown, uucp
From: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
To: yanek@mthvax.cs.miami.edu (Yanek Martinson)
Date: Wed, 8 Jan 92 8:50:22 EST
Cc: linux-activists@joker.cs.hut.fi (Linux Mailing List)
In-Reply-To: <9201080441.AA08208@mthvax.cs.miami.edu>; from "Yanek Martinson" at Jan 7, 92 11:41 pm
>
> > what do you folks w/uucp do? will this be
>
> There is no uucp for linux yet as far as I know. When I get done with
> init and login next thing I'll do is try to get Taylor UUCP working.
> t is a public domain uucp, pretty comapatible, and with some extra
> options..
>
There are several of us working on it. I've played with both the Taylor
package and Will Rose's UUCP 1.2 The former needs quite a few library
functions that haven't been implemented yet. I've made some progress with
the latter but I haven't finished yet, no time :-(
--
Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil
nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30
AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc
WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com
--[0331]--
[0332] daemon@ATHENA.MIT.EDU (Robert Duncan) Linux_Activists 01/08/92 11:49 (23 lines)
Subject: AMI BIOS (was: micro-emacs)
Date: Wed, 8 Jan 92 11:38:37 EST
From: duncan@erim.org (Robert Duncan)
To: linux-activists@joker.cs.hut.fi
In-Reply-To: d88-man@nada.kth.se's message of Wed, 8 Jan 92 09:49:03 +0100 <9201080849.AA21293@dront.nada.kth.se>
I am running Linux on a 33MHz 386dx clone with an AMI BIOS.
I have never had any problem doing a three finger salute (warm
reboot).
For some reason though, kermit (the binary from tsx-11) doesn't
seem to be working, although other copies work fine under both
Minix and msdos. Any ideas? Should I just get the package from
columbia and build it myself?
p----------------------------------------------q
| Robert H. Duncan |
| Environmental Research Institute of Michigan |
| PO Box 134001 |
| Ann Arbor, MI 48113-4001 |
| (313)994-1200 ext.2880 |
| Internet: duncan@erim.org |
b----------------------------------------------d
--[0332]--
[0333] daemon@ATHENA.MIT.EDU (Peter Cooper) Linux_Activists 01/09/92 00:53 (87 lines)
Subject: bugs in linux 0.11 and Q's about alarm()
Date: Thu, 9 Jan 1992 14:34:56 +0900
From: comrade@uniwa.uwa.oz.au (Peter Cooper)
To: linux-activists@joker.cs.hut.fi
First a few Q's about the alarm() call.
I had the impression that if a 'slow' system call was processing and
an alarm signal was recieved, that the slow call would return EINTR.
Is this in fact the behaviour expected? I have a program that relies on
the fact that the system call is aborted with EINTR rather than simply
being restarted by the kernel. (I have hacked my kernel so that
tty_read() return -EINTR, rather than -ERESTARTSYS )
Does POSIX say anything about this??
Also:
There is a bug in kernel/chr_drv/tty_io.c
At the end of the tty_read() fn, there is a line that reads
current->alarm = oldalarm;
This SHOULD read
if (flag)
current_alarm = oldalarm;
Flag is set if tty_read uses it's own alarm.
The effect of this bug was to produce 2 alarm signals if an alarm occured
while read()'ing instead of the single signal it should produce.
Also:
Something very odd seems to be happening when there is a key in
the keyboard buffer.
I have code like:
main() {
signal(SIGALRM, handler);
alarm(2);
read(0, buff, 40);
printf("All ok\n");
}
handler() { printf("Alarm\n"); fflush(stdout); }
Now this works fine if you just run it. In 2 seconds it tells you that the
alarm went off. BUT if you run it and type a key before the alarm goes off,
then the alarm doesn't occur untill the buffer is empty. i.e. untill you
backspace to the beginning of the line, or you hit return.
NOTES: The alarm definately doesn't occur. I have code that has the alarm simply
set a variable, and it only runs once, no matter how long you wait before
emptying the buffer.
What on earth is happening when there is a key in the buffer? It happens
in other places as well. Try doing...
cat < /dev/tty4 > /dev/tty64
cat < /dev/tty64 > /dev/tty4
(note. I have the virtual consoles installed. )
Then get a bunch of stuff comming down the serial port.
If you type a key while it is comming down, it will stop dead until you
delete it or hit return, regardless that bytes are pouring continously
down the serial line. I am very confused as to why this occurs...
FYI:
I have a 486/33 with a 120Mb IDE drive. I have jobcontrol and
lvc-4th installed. I am using shoelace to boot. I have 4Mb of
memory.
PS: Just an aside: Does anyone know why
doshell /dev/tty64 /bin/sh
doesn't properly attach a shell to the serial port?? Dialing in through
the modem doesn't get you a shell.
Also, when you do by rather incredible contortions do get a shell on it,
you don't get a prompt
(We achived it by dailingthe machine under DOS, rebooting to
linux without hangingup and then running doshell /dev/tty64
/bin/sh. running doshell from /etc/rc DOESN'T work. doing it by
hand produces a shell with no prompt. Vi doesn't complain about
it not haveing a term to work on. What gives? anyone ?? )
--[0333]--
[0334] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/09/92 02:27 (178 lines)
Subject: a df for linux
Date: Wed, 8 Jan 92 23:21:28 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
Here is my quick hack for df for linux. Of course, soon VFS
will come along and more will have to be done, but for now, this should work.
PS. I did this because by reflex I keep typing df to see if I'm full.
****CUT HERE *********************************************************
/* df.c: Copywrite (92) Peter MacDonald: distribute freely, don't restrict. */
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <linux/fs.h>
char *hdr1="\n inodes inodes inodes blocks blocks blocks mount";
char *hdr2= "device total used free total used free point";
char *hdr3= "--------------------------------------------------------------------";
char *fmt = "%-9s %-7d %-7d %-7d %-7d %-7d %-7d %s\n";
void do_df(char *dev, char *dir);
int main(int argc, char *argv[])
{ int i;
sync();
puts(hdr1);
puts(hdr2);
if (argc != 1)
for (i=1; i<argc; i++)
do_df(argv[i],"");
else
{ FILE *F = fopen("/etc/mtab","r");
if (!F)
{ fprintf(stderr,"/etc/mtab not found\n");
exit(1);
}
do
{ char buf[200], dev[40], dir[150];
fgets(buf,200,F);
if (feof(F) || (strlen(buf)<6))
break;
sscanf(buf,"%s %s",dev,dir);
do_df(dev,dir);
} while (1);
}
exit(0);
}
#define oops(str,arg) { fprintf(stderr,str,arg); close(fd); return; }
int fd;
int nibblemap[] = { 0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4 };
ino_t count(unsigned numblocks, unsigned numbits)
{ unsigned i, j, end, sum = 0;
char buf[BLOCK_SIZE];
for (i=0; (i<numblocks) && numbits; i++)
{
if (read(fd,buf,sizeof(buf))<0)
return(0);
if (numbits >= (8*BLOCK_SIZE))
{
end = BLOCK_SIZE;
numbits -= 8*BLOCK_SIZE;
}
else
{ int tmp;
end = numbits >> 3;
numbits &= 0x7;
tmp = buf[end] & ((1<<numbits)-1);
sum += nibblemap[tmp&0xf] + nibblemap[(tmp>>4)&0xf];
numbits = 0;
}
for (j=0; j<end; j++)
sum += nibblemap[buf[j] & 0xf] + nibblemap[(buf[j]>>4)&0xf];
}
return(sum);
}
void do_df(char *dev, char *dir)
{ int it,iu,bt,bu;
struct super_block supstruct;
if ((fd=open(dev,O_RDONLY))<0)
oops("df can't open device: %s",dev);
lseek(fd,BLOCK_SIZE,SEEK_SET);
if (read(fd,(char*)&supstruct,sizeof(struct super_block))
!= sizeof(struct super_block))
oops("super block unreadable: %s",dev);
lseek(fd,BLOCK_SIZE*2,SEEK_SET);
if (supstruct.s_magic != SUPER_MAGIC)
oops("not a valid file system: %s",dev);
it = supstruct.s_ninodes;
iu = count(supstruct.s_imap_blocks,supstruct.s_ninodes+1);
bt = supstruct.s_nzones << supstruct.s_log_zone_size;
bu = count(supstruct.s_zmap_blocks,supstruct.s_nzones) <<
supstruct.s_log_zone_size;
printf(fmt,dev,it,iu,it-iu,bt,bu,bt-bu,dir);
}
table
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 df.c
M+RH@9&8N8SH@0V]P>7=R:71E("@Y,BD@4&5T97(@36%C1&]N86QD.B @9&ESz
M=')I8G5T92!F<F5E;'DL(&1O;B=T(')E<W1R:6-T+B J+PH*(VEN8VQU9&4@y
M/'-Y<R]T:6UE+F@^"B-I;F-L=61E(#QS>7,O='EP97,N:#X*(VEN8VQU9&4@x
M/'-Y<R]S=&%T+F@^"B-I;F-L=61E(#QF8VYT;"YH/@HC:6YC;'5D92 \=6YIw
M<W1D+F@^"B-I;F-L=61E(#QS=&1I;RYH/@HC:6YC;'5D92 \;&EN=7@O9G,Nv
M:#X*"F-H87(@*FAD<C$](EQN(" @(" @(" @(" @:6YO9&5S("!I;F]D97,@u
M(&EN;V1E<R @(" @8FQO8VMS("!B;&]C:W,@(&)L;V-K<R @;6]U;G0B.PICt
M:&%R("IH9'(R/2 @(F1E=FEC92 @(" @('1O=&%L(" @=7-E9" @("!F<F5Es
M(" @(" @('1O=&%L(" @=7-E9" @("!F<F5E(" @('!O:6YT(CL*8VAA<B Jr
M:&1R,ST@("(M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TMq
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2(["F-H87(@*F9M=" ]p
M(" B)2TY<R @("4M-V0@)2TW9" E+3=D(" @("4M-V0@)2TW9" E+3=D("5So
M7&XB.PH*=F]I9"!D;U]D9BAC:&%R("ID978L(&-H87(@*F1I<BD["@II;G0@n
M;6%I;BAI;G0@87)G8RP@8VAA<B J87)G=EM=*0I[(&EN="!I.PH*("!S>6YCm
M*"D["B @<'5T<RAH9'(Q*3L*("!P=71S*&AD<C(I.PH@(&EF("AA<F=C("$]l
M(#$I"B @("!F;W(@*&D],3L@:3QA<F=C.R!I*RLI"B @(" @(&1O7V1F*&%Rk
M9W9;:5TL(B(I.PH@(&5L<V4*("![($9)3$4@*D8@/2!F;W!E;B@B+V5T8R]Mj
M=&%B(BPB<B(I.R @(" *(" @(&EF("@A1BD*(" @('L@9G!R:6YT9BAS=&1Ei
M<G(L(B]E=&,O;71A8B!N;W0@9F]U;F1<;B(I.PH@(" @("!E>&ET*#$I.PH@h
M(" @?0H@(" @9&\@"B @("![(&-H87(@8G5F6S(P,%TL(&1E=ELT,%TL(&1Ig
M<ELQ-3!=.PH@(" @("!F9V5T<RAB=68L,C P+$8I.PH@(" @("!I9B H9F5Of
M9BA&*2!\?" H<W1R;&5N*&)U9BD\-BDI"B @(" @(" @8G)E86L["B @(" @e
M('-S8V%N9BAB=68L(B5S("5S(BQD978L9&ER*3L*(" @(" @9&]?9&8H9&5Vd
M+&1I<BD[(" *(" @('T@=VAI;&4@*#$I.R @"B @?0H@(&5X:70H,"D["GT*c
M"@HC9&5F:6YE(&]O<',H<W1R+&%R9RD@>R!F<')I;G1F*'-T9&5R<BQS='(Lb
M87)G*3L@8VQO<V4H9F0I.R!R971U<FX[('T*"FEN="!F9#L*:6YT(&YI8F)La
M96UA<%M=(#T@>R P+#$L,2PR+#$L,BPR+#,L,2PR+#(L,RPR+#,L,RPT('T[z
M"@II;F]?="!C;W5N="AU;G-I9VYE9"!N=6UB;&]C:W,L('5N<VEG;F5D(&YUy
M;6)I=',I"GL@=6YS:6=N960@:2P@:BP@96YD+"!S=6T@/2 P.PH@(&-H87(@x
M8G5F6T),3T-+7U-)6D5=.PH@( H@(&9O<B H:3TP.R H:3QN=6UB;&]C:W,Iw
M("8F(&YU;6)I=',[(&DK*RD*("!["B @("!I9B H<F5A9"AF9"QB=68L<VEZv
M96]F*&)U9BDI/# I( H@(" @("!R971U<FXH,"D["B @("!I9B H;G5M8FETu
M<R ^/2 H."I"3$]#2U]325I%*2D*(" @('L@"B @(" @(&5N9" ]($),3T-+t
M7U-)6D4["B @(" @(&YU;6)I=',@+3T@."I"3$]#2U]325I%.PH@(" @?0H@s
M(" @96QS90H@(" @>R!I;G0@=&UP.PH@(" @("!E;F0@/2!N=6UB:71S(#X^r
M(#,["B @(" @(&YU;6)I=',@)CT@,'@W.PH@(" @("!T;7 @/2!B=69;96YDq
M72 F("@H,3P\;G5M8FET<RDM,2D["B @(" @('-U;2 K/2!N:6)B;&5M87!;p
M=&UP)C!X9ET@*R!N:6)B;&5M87!;*'1M<#X^-"DF,'AF73L*(" @(" @;G5Mo
M8FET<R ](# ["B @("!](" *(" @(&9O<B H:CTP.R!J/&5N9#L@:BLK*0H@n
M(" @("!S=6T@*ST@;FEB8FQE;6%P6V)U9EMJ72 F(#!X9ET@*R!N:6)B;&5Mm
M87!;*&)U9EMJ73X^-"DF,'AF73L*("!]"B @<F5T=7)N*'-U;2D["GT*"G9Ol
M:60@9&]?9&8H8VAA<B J9&5V+"!C:&%R("ID:7(I"GL@:6YT(&ET+&EU+&)Tk
M+&)U.PH@('-T<G5C="!S=7!E<E]B;&]C:R!S=7!S=')U8W0["B @"B @:68@j
M*"AF9#UO<&5N*&1E=BQ/7U)$3TY,62DI/# I"B @("!O;W!S*")D9B!C86XGi
M="!O<&5N(&1E=FEC93H@)7,B+&1E=BD["B @(" *("!L<V5E:RAF9"Q"3$]#h
M2U]325I%+%-%14M?4T54*3L*("!I9B H<F5A9"AF9"PH8VAA<BHI)G-U<'-Tg
M<G5C="QS:7IE;V8H<W1R=6-T('-U<&5R7V)L;V-K*2D@"B @(" A/2!S:7IEf
M;V8H<W1R=6-T('-U<&5R7V)L;V-K*2D*(" @(&]O<',H(G-U<&5R(&)L;V-Ke
M('5N<F5A9&%B;&4Z("5S(BQD978I.PH@(" @"B @;'-E96LH9F0L0DQ/0TM?d
M4TE:12HR+%-%14M?4T54*3L*("!I9B H<W5P<W1R=6-T+G-?;6%G:6,@(3T@c
M4U5015)?34%'24,I"B @("!O;W!S*")N;W0@82!V86QI9"!F:6QE('-Y<W1Eb
M;3H@)7,B+&1E=BD["B @(" *("!I=" ]('-U<'-T<G5C="YS7VYI;F]D97,[a
M"B @:74@/2!C;W5N="AS=7!S=')U8W0N<U]I;6%P7V)L;V-K<RQS=7!S=')Uz
M8W0N<U]N:6YO9&5S*S$I.PH*("!B=" ]('-U<'-T<G5C="YS7VYZ;VYE<R \y
M/"!S=7!S=')U8W0N<U]L;V=?>F]N95]S:7IE.PH@(&)U(#T@8V]U;G0H<W5Px
M<W1R=6-T+G-?>FUA<%]B;&]C:W,L<W5P<W1R=6-T+G-?;GIO;F5S*2 \/" *w
M(" @('-U<'-T<G5C="YS7VQO9U]Z;VYE7W-I>F4["B @"B @<')I;G1F*&9Mv
F="QD978L:70L:74L:70M:74L8G0L8G4L8G0M8G4L9&ER*3L*?0IIu
t
end
--[0334]--
[0335] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/09/92 02:42 (5 lines)
Subject: df
Date: Wed, 8 Jan 92 23:27:37 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
You might want to add a "puts(hdr3)" to main in df.c. It looks "nicer".
--[0335]--
[0336] daemon@ATHENA.MIT.EDU (SMTP@FINHUTC.hut.fi) Linux_Activists 01/09/92 03:14 (158 lines)
Subject: Simple su utility
Resent-From: jim wiegand <V5068U%TEMPLEVM.BITNET@FINHUTC.hut.fi>
Resent-To: linux-activists@joker.cs.hut.fi
Date: Thu, 09 Jan 92 09:56:26 EET
From: <SMTP@FINHUTC.hut.fi>
To: <V5068U@TEMPLEVM.BITNET>
hi all;
this is a shameless hack of the BSD su. even though i cut out
90% of the code it will still give you both a simple su shell
and a login shell. i needed it to test out setuid/setgid for the
lp stuff, since it fiddles with the permissions ala BSD.
enjoy!
begin 644 su.uu
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
`
end
--[0336]--
[0337] daemon@ATHENA.MIT.EDU (Brian Syme) Linux_Activists 01/09/92 04:48 (22 lines)
Subject: linux partition trashed by windows 3 (maybe..)
Date: Thu, 9 Jan 1992 09:23:41 +0000
From: Brian Syme <gxlr07@udcf.gla.ac.uk>
To: linux-activists@joker.cs.hut.fi
AAGH!
This is the second time its happened - the first time I put it down to some
0.10 fs bugs, but this time some text in the corruption gave it away as
windows 3 (and in particular Word Perfect for Windows - again.) Since it
only seems to happen when WP4W has been used I'd guess that it's either WP4W
itself, or windows 3 swapping a large program (never had any problems with
write, etc.) Has anyone else had such a problem? [I know this isn't really
a linux problem, but..]
Never mind - I had full backups, of course [ha ha :-(]. A question: is there
any way, or how hard would it be to get a way of mapping a given range of
physical memory into a user process's address space - I'm thinking of the
full screen addressing provided by many (most?) vga cards..
--
Brian
--[0337]--
[0338] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/09/92 06:46 (38 lines)
Subject: Re: bugs in linux 0.11 and Q's about alarm()
Date: Thu, 9 Jan 1992 13:39:05 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: Peter Cooper's message as of Jan 9, 14:34
To: comrade@uniwa.uwa.oz.au (Peter Cooper), linux-activists@joker.cs.hut.fi
Peter Cooper: "bugs in linux 0.11 and Q's about alarm()" (Jan 9, 14:34):
>
> There is a bug in kernel/chr_drv/tty_io.c
>
> At the end of the tty_read() fn, there is a line that reads
>
> current->alarm = oldalarm;
This is corrected in my version (and will be in 0.12) - the alarm is no
longer used, as I got tired of the contortions needed, so I added a
simple "timeout" to the task-structure. Thus system calls with a
timeout now don't need to mess with saving alarm etc. Using alarm had
another problem: if it was blocked, the task wouldn't be awakened by it.
This was no problem in versions < 0.11, but the current version needed
something better.
> PS: Just an aside: Does anyone know why
> doshell /dev/tty64 /bin/sh
> doesn't properly attach a shell to the serial port?? Dialing in through
> the modem doesn't get you a shell.
I have hacked on the tty's quite a bit, and although I never saw this
problem, I hope it is corrected: I simplified some things in the
drivers, and I think it should work (also, I've hacked pty's till they
aren't recognizeable: I think I have the stalling bug fixed.)
While changing (and simplifying) the virtual consoles, I also changed
them to use EGA/VGA screen memory, so that they won't take up space in
the kernel. This means that the vc's in 0.12 will work only on a
EGA/VGA, and I hope that won't be any problem. It shouldn't be too hard
to patch it back to use a kernel buffer though.
Linus
--[0338]--
[0340] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/09/92 13:05 (39 lines)
Subject: Re: bugs in linux 0.11 and Q's about alarm()
Date: Thu, 9 Jan 92 12:57:18 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: comrade@uniwa.uwa.oz.au
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Peter Cooper's message of Thu, 9 Jan 1992 14:34:56 +0900,
Reply-To: tytso@athena.mit.edu
Date: Thu, 9 Jan 1992 14:34:56 +0900
From: comrade@uniwa.uwa.oz.au (Peter Cooper)
Is this in fact the behaviour expected? I have a program that relies on
the fact that the system call is aborted with EINTR rather than simply
being restarted by the kernel. (I have hacked my kernel so that
tty_read() return -EINTR, rather than -ERESTARTSYS )
Does POSIX say anything about this??
POSIX doesn't say a whole lot about this, and it's somewhat confusing
what it does say. The problem is that 99% of the code out there
*doesn't* check for EINTR, so restarting a system call generally works
as a better default. The problem is that you do lose in the case where
you're expecting the system call to be interrupted.
You don't need to hack the kernel to change what tty_read() returns to
solve your problem, however. You just need to set the sigaction flag
SIG_INTERRUPT for the alarm signal, and then the signal handling code in
the kernel will set things up so that the system call returns with EINTR
after the signal handler is finished.
It may make sense to set the default flag for the alarm signal so that
SA_INTERRUPT is set. But then again, it may not. I suspect that no
matter which default you pick, some set of programs will lose because
they're either expecting the EINTR and they don't get it, or they're not
prepared to handle the EINTR and they die when they get it.
Fortunately, there is a programming interface to select which behavior
you want, but that may mean that you need to recompile your program to
set the sigaction flag in order to make things work.
- Ted
--[0340]--
[0341] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/09/92 20:01 (10 lines)
Subject: keyboard when recompiling linux
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
To: linux-activists@joker.cs.hut.fi
Date: Thu, 9 Jan 92 19:53:09 EST
I have just recently started using linux. With some help from people
here I have got it up and running. Shoelace seems to work ok as well.
But when I recompile the image and attempt to use it my keyboard is messed
up. I assume that it is set for other than USA for default keyboard, but
I cannot find where that is set. Any suggestions?
--[0341]--
[0342] daemon@ATHENA.MIT.EDU (Russ Nelson) Linux_Activists 01/09/92 20:30 (28 lines)
Subject: Networking.
Date: Thu, 9 Jan 92 17:20:33 EST
From: Russ Nelson <nelson@cheetah.ece.clarkson.edu>
To: linux-activists@joker.cs.hut.fi
Hi, all. I'm not on the list (yet), so if you reply to this, include me
in the CC:.
Eventually, people are going to want to do networking on Linux. And
they're going to want to do it with a bunch of different Ethernet
boards. Well, there is a bunch of freely copyable (copyleft to be
specific) MS-DOS Ethernet drivers called the Clarkson packet driver
collection. I'm the editor of that collection.
These drivers all use a common skeleton that interfaces between FTP
Software's Packet Driver Specification, and the code that's specific
to each card. That code could be reused if someone could find a way
to keep most of the entry points identical, or at least similar. If
the entry points into the device-specific code need to be changed,
maybe we could find a way to do it so that all the drivers can get
ported at the same time?
I'd do it myself, but I've never seen the source for a Unix Ethernet driver.
Does anyone know how such code is structured? I've got a book on Unix device
drivers, so I ought to be able to understand it if I could just see it...
--russ <nelson@sun.soe.clarkson.edu> I'm proud to be a humble Quaker.
Peace is not the absence of war. Peace is the presence of a system for
resolving conflicts before war becomes necessary. War never creates peace.
--[0342]--
[0343] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/09/92 20:44 (10 lines)
Subject: still a keyboard problem
Date: Thu, 9 Jan 92 20:38:57 est
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
To: linux-activists@joker.cs.hut.fi
I changed the config.h and mused make on kernel directory and src direcotryectory,
but though it seems aI have a slightly differcent keyboard its definitlely noNOT
a usUS-101 enhanced keyboard. Namely I cannot find < > keys and - / are on
the worngrong keys etc. Wheyy is it theat the original image works ok but I
cannot get a new one to work?
--[0343]--
[0344] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/09/92 20:53 (9 lines)
Subject: compressdecompressing large files
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
To: linux-activists@joker.cs.hut.fi
Date: Thu, 9 Jan 92 20:45:26 EST
I am also having trouble decompressing a ~177K file. A 170K or so file
decompresses fine. Have I hit a limit on compress or can more memory
be allocated? I get out of memory and segmentation fault errors.
I have 8 meg of memory, so it seems strange to run out of memory.
--[0344]--
[0345] daemon@ATHENA.MIT.EDU (Stephen. Clawson) Linux_Activists 01/09/92 22:27 (19 lines)
Subject: Re: still a keyboard problem
From: sclawson@cadesm12.eng.utah.edu (Stephen. Clawson)
To: linux-activists@joker.cs.hut.fi
Date: Thu, 9 Jan 92 20:19:14 MST
In-Reply-To: <9201100139.AA06101@joker.cs.hut.fi>; from "Teresa Selling" at Jan 9, 92 8:38 pm
> I changed the config.h and used make on kernel directory and src directory,
> but though it seems I have a slightly different keyboard its definetely NOT
> a US-101 enhanced keyboard. Namely I cannot find < > keys and - / are on
> the wrong keys etc. Why is it that the original image works ok but I
> cannot get a new one to work?
Some things might not be being remade quite right. I have problems with
this quite a bit, and have just gotten in the habit of doing a 'make clean'
then re-making the entire kernel. Anyone know why remaking parts of the
kernel doesn't seem to work? A friend of mine has the same problem.
steve
--[0345]--
[0346] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/09/92 22:38 (16 lines)
Subject: make
Date: Thu, 9 Jan 92 19:31:13 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
When changing header files you currently have to go into each sub
directory and type make. ie:
cd mm
make
cd ../kernel
make
cd chr_drv
make
etc.
Don't know why.
--[0346]--
[0347] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/09/92 23:34 (7 lines)
Subject: what-goes-where
Date: Thu, 9 Jan 92 23:27:12 est
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
To: linux-activists@joker.cs.hut.fi
Is there some sora file somewhere that tell s what files go in which directory.
For example what goes in /lib vs /usr/lib.....etc.
--[0347]--
[0348] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/10/92 00:03 (82 lines)
Subject: Re: still a keyboard problem
Date: Thu, 9 Jan 92 23:52:17 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: sclawson@cadesm12.eng.utah.edu
Cc: Russ Nelson <nelson@cheetah.ece.clarkson.edu>
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Stephen. Clawson's message of Thu, 9 Jan 92 20:19:14 MST,
Reply-To: tytso@athena.mit.edu
From: sclawson@cadesm12.eng.utah.edu (Stephen. Clawson)
Date: Thu, 9 Jan 92 20:19:14 MST
Some things might not be being remade quite right. I have
problems with this quite a bit, and have just gotten in the habit of
doing a 'make clean' then re-making the entire kernel. Anyone know
why remaking parts of the kernel doesn't seem to work? A friend of
mine has the same problem.
The problem is in how the dependancies of the make files are set up.
Each subdirectory has a bunch of .o files (which depend on the .c and
the .h files), which are assembled to gether to form one "subassembly"
.o file for the subdirectory. So for example, all of the .o files in
the kernel subdirectory are linked together to form kernel.o, and all of
the .o files in the fs subdirectory are linked to gether to form fs.o
The problem is that the "image" file is created by linking the
subassembly files together (fs.o, kernel.o, etc.), and the top-level
makefile only knows that about this dependency; it has no way of knowing
that since the .h files have changed, the .o files making up the
kernel.o file have changed, and it needs to cd into the kernel
subdirectory and do a remake. This could be fixed by adding more
dependency rules, but it would substantially complicate the make files.
Actually, I'm not sure why we have the second level .o files, unless it
is to speed up the linking of the kernel when you are only making
changes in one part of the kernel. It would probably faster if the top
level make file assembled the "image" file from the component .o files,
and the dependencies were all in the top level make file.
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
Date: Thu, 9 Jan 92 20:45:26 EST
Mailer: Elm [revision: 64.9]
I am also having trouble decompressing a ~177K file. A 170K or so file
decompresses fine. Have I hit a limit on compress or can more memory
be allocated? I get out of memory and segmentation fault errors.
I have 8 meg of memory, so it seems strange to run out of memory.
I doubt you are running out of memory. Are you sure that your ~177k
file isn't corrupted? Typically you will get an out of memory error if
the .Z file was FTP'ed in ASCII mode instead of binary mode or some such
thing.
Date: Thu, 9 Jan 92 17:20:33 EST
From: Russ Nelson <nelson@cheetah.ece.clarkson.edu>
These drivers all use a common skeleton that interfaces between FTP
Software's Packet Driver Specification, and the code that's specific
to each card. That code could be reused if someone could find a way
to keep most of the entry points identical, or at least similar. If
the entry points into the device-specific code need to be changed,
maybe we could find a way to do it so that all the drivers can get
ported at the same time?
First a disclaimer: I haven't locked at the FTP Packet Driver
Specification; but I suspect the one place that will be a problem is
interrupt handling. Presumably the Clarkson drivers are interrupt
driven and not polling off the clock tick, right? I suspect that if
they're clock tick driven, it would make things easier but it would make
performance suffer a lot. If they are interrupt driven, then you need
to worry about installing a 386 protected-mode interrupt gate, and
saving all of the 386 32-bit registers; and if the drivers were designed
for the 16-bit DOS world, they might not be up to handling this.
Also, how nailed-down is the interface between the "common" portion of
the packet driver and the "device specific" portion of the packet
driver? I suspect that we would want to dump the "common" portion of
the driver and speak directly to the "device specific" portion.
Having an Ethernet driver sounds like a really cool thing! Of course,
the thing that would really interest me is a SLIP driver.... :-)
- Ted
--[0348]--
[0350] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 01/10/92 03:46 (29 lines)
Subject: Re: keyboard when recompiling linux
From: Mika Matti Jalava <r36110m@kaira.hut.fi>
To: linux-activists@joker.cs.hut.fi
Date: Fri, 10 Jan 92 10:33:56 EET
In-Reply-To: <9201100053.AA05736@joker.cs.hut.fi>; from "Teresa Selling" at Jan 9, 92 7:53 pm
Teresa writes:
> I have just recently started using linux. With some help from people
> here I have got it up and running. Shoelace seems to work ok as well.
> But when I recompile the image and attempt to use it my keyboard is messed
> up. I assume that it is set for other than USA for default keyboard, but
> I cannot find where that is set. Any suggestions?
Here is an excerpt from /usr/linux/include/linux/config.h:
/*
* define your keyboard here -
* KBD_FINNISH for Finnish keyboards
* KBD_US for US-type
* KBD_GR for German keyboards
* KBD_FR for Frech keyboard
*/
/*#define KBD_US */
/*#define KBD_GR */
/*#define KBD_FR */
#define KBD_FINNISH
And KBD_FINNISH is the default. Change it to KBD_US and you should get
it right.
Mika
--[0350]--
[0352] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/10/92 05:48 (42 lines)
Subject: No subject found in mail header
Date: Fri, 10 Jan 1992 12:34:52 +0200
From: Ari Lemmke <arl@sauna.cs.hut.fi>
To: SUPERVISOR@novell.oih.no
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: SUPERVISOR@novell.oih.no's message of 10 Jan 92 10:39:16 MET-1 <MAILQUEUE-99.920110103917.416@novell.oih.no>
>Please delete my name/address from the linux-activists.
>
>Thanks
Really people - stop these _jokes_ - on our mailing list.
This mailing list is intended ONLY for Linux
related discussion, not requesting.
The one and only channel for requests is
Linux-activists-request@niksula.hut.fi
I even think this kind of mail do not belong here,
but .. I wonder where we always have illiterates.
"The only way to get on this mailing list was
Linux-activists-request@niksula.hut.fi and the
only way out is Linux-activists-request@niksula.hut.fi,
there's no other way than Linux-activists-request@niksula.hut.fi
for address changes."
BTW. we have atleast 140 people getting this list
around the world (+multiple secondary lists). In couple
of hours (within my session 16.00-12.20 [huh, all nite long])
we have had more than 20 new subscribers.
When the list gets bigger we might have more trouble
request messages on wrong address .. I really want to
prevent that. And this is yet an other reason for
the news group.
arl
--[0352]--
[0354] daemon@ATHENA.MIT.EDU (Johan Myreen) Linux_Activists 01/10/92 11:55 (18 lines)
Subject: Three Finger Salute
From: Johan Myreen <jem@sauna.cs.hut.fi>
To: linux-activists@joker.cs.hut.fi
Date: Fri, 10 Jan 92 18:45:17 EET
In-Reply-To: <9201080849.AA21293@dront.nada.kth.se>; from "d88-man@nada.kth.se" at Jan 8, 92 9:49 am
> No warm reboot: I have the same problem as do more people I know of, the
> problem is (as I know it) the AMI-bios in my computer, do you have an AMI ?
> If so that's almost surely the reason. Anybody knows why ? I haven't looked
> into it. You always have the red button ... :-)
I have seen this problem too, on a MikroMikko 4m346 (also known as
Alfaskop 4m346) from ICL Data. The funny thing is that the warm boot
works on model 4m336SX from the same manufacturer. The machine doesn't
have a reset button, and the power switch isn't even red!
--
Johan Myreen
jem@cs.hut.fi
--[0354]--
[0355] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 01/10/92 12:06 (12 lines)
Subject: Re: Three Finger Salute
From: Mika Matti Jalava <r36110m@kaira.hut.fi>
To: linux-activists@joker.cs.hut.fi
Date: Fri, 10 Jan 92 18:51:06 EET
In-Reply-To: <199201101645.AA16180@sauna.cs.hut.fi>; from "Johan Myreen" at Jan 10, 92 6:45 pm
Various users have noted that their machines don't work right after
warm boot. Sorry, I'm not able to help, but if it helps anything, I
can tell that something has changed from 0.10 to 0.11: With 0.10 my
machine had the same problem, but 0.11 boots OK in every situation. My
machine is a 386-25 with Award BIOS.
Mika
--[0355]--
[0357] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/10/92 14:32 (7 lines)
Subject: length of file names
Date: Fri, 10 Jan 92 14:23:10 est
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
To: linux-activists@joker.cs.hut.fi
I was just wondering why the file names have to be so short. Would
it be difficult to implement longer ones, say 32 characters long/?
--[0357]--
[0358] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/10/92 15:47 (162 lines)
Subject: A kill for linux
Date: Fri, 10 Jan 92 12:32:46 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
There may not be much demand for this one now that Job Controls is
coming to bash, but for processes that are unattached to a tty
(like pty pgming) it can be usefull. Also daemon management.
Here is kill.c. Note that .11 has a bug in sys_kill, which
is supposed to return -1 on a kill of an unknown process number.
Because of this, kill.c never warns of illegal kills.
Use kill -? for info.
******CUT HERE***************
/* kill.c : copyright (92) Peter MacDonald: Distribute freely, don't restrict*/
#include <sys/types.h>
#include <signal.h>
#include <strings.h>
#define ERR 2
const char *usagestr = "usage: kill [-signal] pid ...\n";
void oops(void)
{ write(ERR,usagestr,strlen(usagestr));
exit(1);
}
void oops2(char *str1, char *str2)
{
write(ERR,str1,strlen(str1));
write(ERR,str2,strlen(str2));
write(ERR,"\n",1);
exit(1);
}
char *itoa(int num)
{ int sign = 0;
static char buf[15];
char *cp = buf+sizeof(buf)-1;
if (num<0)
{ sign = 1;
num = -num;
}
do
{
*cp-- = '0'+num%10;
num /= 10;
} while (num);
if (sign)
*cp-- = '-';
return(cp+1);
}
const char *signames[] = {
"HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "UNUSED",
"FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM",
"STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", 0 };
int main(int argc, char *argv[])
{
int i, signum = SIGTERM;
if (argc < 2)
oops();
if ((argc>1) && ('-' == *argv[1]))
{
if ('?' == argv[1][1])
for (i=0; i<NSIG; i++)
if (!signames[i])
{ write(ERR,"\n",1);
exit(0);
}
else
{ write(ERR,signames[i],strlen(signames[i]));
write(ERR," ", 1);
if (i==10)
write(ERR,"\n",1);
}
for (i=0; i<NSIG; i++)
if (!signames[i])
{ i = NSIG;
break;
}
else
if (!strcmp(signames[i],argv[1]+1))
break;
if (i < NSIG)
signum = i+1;
else
if ((!(signum = atoi(argv[1]+1))) || (signum<=0) || (signum>NSIG))
oops();
argc--;
argv++;
}
while (--argc)
{
argv++;
if ((i = atoi(*argv)) <= 3)
oops();
if (kill(i,signum))
oops2( "kill: no such process ", itoa(i));
}
return(0);
}
table
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 kill.c
M+RH@:VEL;"YC(#H@8V]P>7)I9VAT("@Y,BD@4&5T97(@36%C1&]N86QD.B!$z
M:7-T<FEB=71E(&9R965L>2P@9&]N)W0@<F5S=')I8W0J+PH*(VEN8VQU9&4@y
M/'-Y<R]T>7!E<RYH/@HC:6YC;'5D92 \<VEG;F%L+F@^"B-I;F-L=61E(#QSx
M=')I;F=S+F@^"@HC9&5F:6YE($524B R"F-O;G-T(&-H87(@*G5S86=E<W1Rw
M(#T@(G5S86=E.B!K:6QL(%LM<VEG;F%L72!P:60@+BXN7&XB.PH*=F]I9"!Ov
M;W!S*'9O:60I"GL@=W)I=&4H15)2+'5S86=E<W1R+'-T<FQE;BAU<V%G97-Tu
M<BDI.PH@(&5X:70H,2D["GT@(" *"G9O:60@;V]P<S(H8VAA<B J<W1R,2P@t
M8VAA<B J<W1R,BD*>PH@('=R:71E*$524BQS='(Q+'-T<FQE;BAS='(Q*2D[s
M"B @=W)I=&4H15)2+'-T<C(L<W1R;&5N*'-T<C(I*3L*("!W<FET92A%4E(Lr
M(EQN(BPQ*3L*("!E>&ET*#$I.PI](" @"@IC:&%R("II=&]A*&EN="!N=6TIq
M"GL@:6YT('-I9VX@/2 P.R *("!S=&%T:6,@8VAA<B!B=69;,35=.PH@(&-Hp
M87(@*F-P(#T@8G5F*W-I>F5O9BAB=68I+3$["B @:68@*&YU;3PP*0H@('L@o
M<VEG;B ](#$["B @("!N=6T@/2 M;G5M.PH@('T*("!D;PH@('L@"B @(" Jn
M8W M+2 ]("<P)RMN=6TE,3 [( H@(" @;G5M("\](#$P.PH@('T@=VAI;&4@m
M*&YU;2D["B @:68@*'-I9VXI"B @(" J8W M+2 ]("<M)SL*("!R971U<FXHl
M8W K,2D["GT*"F-O;G-T(&-H87(@*G-I9VYA;65S6UT@/2 @>PH)(DA54"(Lk
M("))3E0B+" B455)5"(L("))3$PB+" B5%)!4"(L(")!0E)4(BP@(E5.55-%j
M1"(L( H)(D9012(L(")+24Q,(BP@(E534C$B+" B4T5'5B(L(")54U(R(BP@i
M(E!)4$4B+" B04Q232(L(")415)-(BP@"@DB4U1+1DQ4(BP@(D-(3$0B+" Bh
M0T].5"(L(")35$]0(BP@(E135% B+" B5%1)3B(L(")45$]5(BP@,"!].PH*g
M:6YT(&UA:6XH:6YT(&%R9V,L(&-H87(@*F%R9W9;72D*>PH@(&EN="!I+"!Sf
M:6=N=6T@/2!324=415)-.PH@( H@(&EF("AA<F=C(#P@,BD*(" @(&]O<',He
M*3L*("!I9B H*&%R9V,^,2D@)B8@*"<M)R ]/2 J87)G=ELQ72DI"B @>PH@d
M(" @:68@*"<_)R ]/2!A<F=V6S%=6S%=*0H@(" @("!F;W(@*&D],#L@:3Q.c
M4TE'.R!I*RLI"B @(" @(" @:68@*"%S:6=N86UE<UMI72D*(" @(" @("![b
M('=R:71E*$524BPB7&XB+#$I.PH@(" @(" @(" @97AI="@P*3L*(" @(" @a
M("!]"B @(" @(" @96QS90H@(" @(" @('L@=W)I=&4H15)2+'-I9VYA;65Sz
M6VE=+'-T<FQE;BAS:6=N86UE<UMI72DI.PH@(" @(" @(" @=W)I=&4H15)2y
M+"(@(BP@,2D["B @(" @(" @("!I9B H:3T],3 I"B @(" @(" @(" @('=Rx
M:71E*$524BPB7&XB+#$I.PH@(" @(" @('T*(" @(" @(" @( H@(" @9F]Rw
M("AI/3 [(&D\3E-)1SL@:2LK*0H@(" @("!I9B H(7-I9VYA;65S6VE=*0H@v
M(" @("![(&D@/2!.4TE'.R *(" @(" @("!B<F5A:SL*(" @(" @?0H@(" @u
M("!E;'-E"B @(" @(" @:68@*"%S=')C;7 H<VEG;F%M97-;:5TL87)G=ELQt
M72LQ*2D*(" @(" @(" @(&)R96%K.PH@(" @(" @(" *(" @(&EF("AI(#P@s
M3E-)1RD*(" @(" @<VEG;G5M(#T@:2LQ.PH@(" @96QS90H@(" @("!I9B Hr
M*"$H<VEG;G5M(#T@871O:2AA<F=V6S%=*S$I*2D@?'P@*'-I9VYU;3P],"D@q
M?'P@*'-I9VYU;3Y.4TE'*2D*(" @(" @("!O;W!S*"D["B @("!A<F=C+2T[p
M"B @("!A<F=V*RL[(" @( H@('T@(" @(" *"B @=VAI;&4@*"TM87)G8RD*o
M("![( H@(" @87)G=BLK.PH@(" @:68@*"AI(#T@871O:2@J87)G=BDI(#P]n
M(#,I"B @(" @(&]O<',H*3L*(" @(&EF("AK:6QL*&DL<VEG;G5M*2D*(" @m
M(" @;V]P<S(H(")K:6QL.B!N;R!S=6-H('!R;V-E<W,@(BP@:71O82AI*2D[l
<"B @?0H@(')E='5R;B@P*3L*?0H@(" @(" *"F-Ek
j
end
--[0358]--
[0359] daemon@ATHENA.MIT.EDU (Peter Cooper) Linux_Activists 01/10/92 22:30 (9 lines)
Subject: select()
Date: Sat, 11 Jan 1992 10:02:42 +0900
From: comrade@uniwa.uwa.oz.au (Peter Cooper)
To: linux-activists@joker.cs.hut.fi
Are there any plans to implement the select() sys call sometime ??
If no-one is looking at it, does anyone know where I can find detailed
specs on what select does, and a rought idea of how it should be implemented?
Thanks.
--[0359]--
[0360] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/10/92 22:34 (47 lines)
Subject: News group or mailing list?
Date: Fri, 10 Jan 92 22:24:51 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: Ari Lemmke <arl@sauna.cs.hut.fi>, torvalds@cc.helsinki.fi
Cc: linux-activists@joker.cs.hut.fi
Reply-To: tytso@athena.mit.edu
Date: Fri, 10 Jan 1992 12:34:52 +0200
From: Ari Lemmke <arl@sauna.cs.hut.fi>
When the list gets bigger we might have more trouble
request messages on wrong address .. I really want to
prevent that. And this is yet an other reason for
the news group.
I had earlier proposed a mail digestifer <-> news group gateway; well, I
finally have that software working on my system. What it does is this:
*) Mail sent to List-Name is posted to the newsgroup.
*) News group articles are collected together and sent when they
comprise a digest of between 20k and 30k, or if that
doesn't happen in 6 hours, the news group articles are
flushed out into a digest.
(All of the numbers, like the 20k, 30k, and the 6 hours can be adjusted
as appropriate.)
The general idea is that we can use this to replace the Linux Activists
lists at some point. The question is when do do we do this and how.
I actually don't have very strong opinions about whether we do
alt.os.linux now, and transition to comp.os.linux later, or whether we
start the process for comp.os.linux now, and start doing the transition
60 days from now, or whether we just wait for a while if the pure
mailing solution is still holding up.
Linus, Ari, what do you think? If you want, I can turn on the software
on relatively little notice; it's already been installed on my news
server.
For people on the list: how many of you would prefer to get this mailing
list via news? How many of you would be able to receive alt.os.linux?
How many of you would be able to receive comp.os.linux? How many of you
would prefer to receive this via mail regardless? PLEASE DO NOT REPLY
TO THE LIST. MAIL ONLY TO ME, AND I WILL SUMMARIZE. Thank you!
- Ted
--[0360]--
[0361] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/11/92 00:12 (10 lines)
Subject: select
Date: Fri, 10 Jan 92 21:05:38 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
I hacked together a (very rough) select system call, as well as pseudo
ttys (even rougher) and submitted them with VC to Linus. In further
correspondence with him, I believe Linus has both of these smoothed out
and integrated in 0.12. If your looking for a project, maybe you
could try symbolic links (maybe see plains.nodak.edu:pub/Minix/usenet/
1991.Jun/symlink.sh) or shared dynamic link libraries (thorny).
--[0361]--
[0363] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/11/92 02:06 (97 lines)
Subject: nice and renice for linux
Date: Fri, 10 Jan 92 22:59:05 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
Here is the nice and renice utilities for setting the priority of jobs
at startup and while running respectively. It does not include
the system call sys_renice, which is trivial to implement, so renice
doesn't actually work right now. Note that nice (and renice)
should be checking that the caller is root if priority is negative.
At least I think the system call should do the checking?
******CUT HERE**********************************
/* nice.c: copywrite (92) Peter MacDonald: Distribute freely, don't restrict */
#include <sys/types.h>
#include <signal.h>
#include <string.h>
/* link nice to renice to change running processes priorities. */
int is_nice;
void usage()
{
if (is_nice)
puts("usage: nice [-n] command");
else
puts("usage: renice [-n] pid");
exit(-1);
}
int renice(int priority, int pid)
{
puts("renice system call not yet implemented");
return(0);
}
int main(int argc, char *argv[])
{
int priority = 10;
is_nice = (strcmp(*argv+strlen(*argv)-6,"renice"));
if ((argc>1) && (argv[1][0] == '-'))
{ priority = atoi(argv[1]+1);
if ((priority>19) || (priority<-20))
usage();
argc--;
argv++;
}
if (argc<2)
usage();
if (!is_nice)
if (renice(priority,atoi(argv[1])))
usage();
else
return(0);
if (nice(priority))
usage();
execvp(argv[1], argv+1);
puts("can not execute");
exit(-1);
}
table
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 nice.c
M+RH@;FEC92YC.B!C;W!Y=W)I=&4@*#DR*2!0971E<B!-86-$;VYA;&0Z($1Iz
M<W1R:6)U=&4@9G)E96QY+"!D;VXG="!R97-T<FEC=" J+PHC:6YC;'5D92 \y
M<WES+W1Y<&5S+F@^"B-I;F-L=61E(#QS:6=N86PN:#X*(VEN8VQU9&4@/'-Tx
M<FEN9RYH/@H*+RH@;&EN:R!N:6-E('1O(')E;FEC92!T;R!C:&%N9V4@<G5Nw
M;FEN9R!P<F]C97-S97,@<')I;W)I=&EE<RX@*B\*"FEN="!I<U]N:6-E.R @v
M"@IV;VED('5S86=E*"D@"GL@"B @:68@*&ES7VYI8V4I"B @("!P=71S*")Uu
M<V%G93H@;FEC92!;+6Y=(&-O;6UA;F0B*3L@"B @96QS92 @"B @("!P=71St
M*")U<V%G93H@<F5N:6-E(%LM;ET@<&ED(BD[( H@(&5X:70H+3$I.R *?0H*s
M:6YT(')E;FEC92AI;G0@<')I;W)I='DL(&EN="!P:60I"GL*("!P=71S*")Rr
M96YI8V4@<WES=&5M(&-A;&P@;F]T('EE="!I;7!L96UE;G1E9"(I.PH@(')Eq
M='5R;B@P*3L*?0H*:6YT(&UA:6XH:6YT(&%R9V,L(&-H87(@*F%R9W9;72D*p
M>R *("!I;G0@<')I;W)I='D@/2 Q,#L*(" *("!I<U]N:6-E(#T@*'-T<F-Mo
M<"@J87)G=BMS=')L96XH*F%R9W8I+38L(G)E;FEC92(I*3L*(" *("!I9B Hn
M*&%R9V,^,2D@)B8@*&%R9W9;,5U;,%T@/3T@)RTG*2D*("![('!R:6]R:71Ym
M(#T@871O:2AA<F=V6S%=*S$I.PH@(" @:68@*"AP<FEO<FET>3XQ.2D@?'P@l
M*'!R:6]R:71Y/"TR,"DI"B @(" @('5S86=E*"D["B @("!A<F=C+2T["B @k
M("!A<F=V*RL[(" *("!](" *(" @( H@(&EF("AA<F=C/#(I"B @("!U<V%Gj
M92@I.PH@(" @"B @:68@*"%I<U]N:6-E*0H@(" @:68@*')E;FEC92AP<FEOi
M<FET>2QA=&]I*&%R9W9;,5TI*2D*(" @(" @=7-A9V4H*3L*(" @(&5L<V4*h
M(" @(" @<F5T=7)N*# I.R @"B @(" @( H@(&EF("AN:6-E*'!R:6]R:71Yg
M*2D*(" @('5S86=E*"D["@H@(&5X96-V<"AA<F=V6S%=+"!A<F=V*S$I.PH@f
J('!U=',H(F-A;B!N;W0@97AE8W5T92(I.PH@(&5X:70H+3$I.PI](" *e
d
end
--[0363]--
[0364] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/11/92 07:47 (19 lines)
Subject: Re: select()
Date: Sat, 11 Jan 1992 14:20:14 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: Peter Cooper's message as of Jan 11, 10:02
To: comrade@uniwa.uwa.oz.au (Peter Cooper), linux-activists@joker.cs.hut.fi
Peter Cooper: "select()" (Jan 11, 10:02):
> Are there any plans to implement the select() sys call sometime ??
> If no-one is looking at it, does anyone know where I can find detailed
> specs on what select does, and a rought idea of how it should be implemented?
Select is already implemented, will be in 0.12. It was originally by
pmacdona, although I have hacked it quite heavily. It currently works
(not too much testing though) on pipes and tty's (including pty's).
I'm hoping that MGR could sometime be ported to linux: does anyone know
what more it wants - we've got pty's and select, but no /dev/screen yet.
Is there anything else mgr wants?
Linus
--[0364]--
[0366] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/11/92 18:14 (35 lines)
Subject: Symbolic links
Date: Sun, 12 Jan 1992 01:00:35 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
To: Linux-activists@joker.cs.hut.fi
Ok, as I didn't implement the VFS-patches (they seemed a bit raw), I
found that I no longer had any excuse for not implementing symbolic
links, so I did :) I haven't tested them very much yet (don't you get
tired of me saying that? But it usually works anyway), but the small
tests I have done have worked out beautifully. So 0.12 (still due out
wednesday January 15th unless I get problems) will have them.
One problem is that I disallowed nesting links - does anybody feel this
is too much of a restriction? Hope not, 'cause 0.12 won't have nested
links, and that's final (unless someone wants to pay me huge sums of
money for it).
Note that the symlinks will require a new fsck (don't worry, I've made
the changes already), so you'll have to install some things from the new
root-floppy when you install 0.12. Or something like that.
0.12 will still have these known bugs:
- the serial line sometimes locks up. I don't know why, and I don't
want to know. I want a patch that fixes it :-)
- Some harddisks don't like linux (even though they should). Maybe not
a bug, but a deficiency.
New bugs (possibly):
- When using VM, there are /a lot/ new possibilities for race
conditions. I haven't heard about problems from those few that have
tested it, so maybe it's ok. Knock wood.
- The job control bash for 0.12 is version 1.10, which has a bug with
command completion. Not fatal, but irritating. 1.11 should hopefully
be out soon.
Linus
--[0366]--
[0367] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/12/92 07:39 (21 lines)
Subject: Re: Linux (HD-controller reset failed: d0)
Date: Sun, 12 Jan 1992 14:29:28 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: Humberto Ortiz-Zuazaga's message as of Jan 11, 23:36
To: zuazaga@ucunix.san.uc.edu, torvalds@cc.helsinki.fi
Cc: linux-activists@joker.cs.hut.fi (Linux activists)
Humberto Ortiz-Zuazaga: "Linux (HD-controller reset failed: d0)" (Jan 11, 23:36):
> [ HD-controller reset failed: d0 ]
>
> I've got all the gccbin and sources installed, and want to ask what is
> the current suggested fix for this? Before I mess with my boot image,
> that is. For sure this should be in the FAQ. :-)
The current suggested fix is to wait for 0.12: this particular problem
should be solved (knock wood). If you cannot wait for 3 days, there
were some timeouts you can change, but I forgot which: they are in
blk_drv/hd.c. I /think/ this was solved in the VM prerelease (on
amaru), but that one has other problems (memory size hardcoded for
testing).
Linus
--[0367]--
[0370] daemon@ATHENA.MIT.EDU (Derek Lieber) Linux_Activists 01/12/92 13:09 (24 lines)
Subject: trouble booting 0.11
Date: Sun, 12 Jan 92 12:41:08 EST
From: Derek Lieber <derek@watson.ibm.com>
To: Linux-activists@joker.cs.hut.fi
I've copied the 0.11 "bootimage" onto a 1.44M diskette and attempted to
boot off it. It gets as far as "Loading system..." and then says
HD-controller reset failed: 80
Kernel panic: HD controller not ready
I also see a small "EGAc" in the upper right corner of the screen.
I've been running protected mode minix on this machine (a 20MHz 386 Everex
Tempo LX laptop, VGA display, IDE controller)
using the vanilla at_wini.c driver with no problems.
I recall being able to boot the old 0.10 version of linux with no problems,
although I just played on the diskette and never tried to mount a HD
filesystem.
Any idea what I'm doing wrong?
Derek Lieber
derek@watson.ibm.com
--[0370]--
[0371] daemon@ATHENA.MIT.EDU (Derek Lieber) Linux_Activists 01/12/92 14:59 (23 lines)
Subject: trouble booting 0.11 (continued)
Date: Sun, 12 Jan 92 14:39:09 EST
From: Derek Lieber <derek@watson.ibm.com>
To: Linux-activists@joker.cs.hut.fi
I just tried using version 0.10 of "bootimage" to run version 0.11
of "rootimage". The system comes up fine. I can access the harddisk ok,
for example by running "cp /dev/hd0 /dev/null".
But when running "fdisk", I get:
/dev/hd1: ..stuff about partition 1...
/dev/hd2: ..stuff about partition 2...
/dev/hd3: ..stuff about partition 3...
harddisk I/O error
dev 0305 block 0
and the program terminates. Now device 0305 is /dev/hd5 (ie. 2nd harddisk),
but I don't have a 2nd harddisk. Does linux for some reason expect TWO
harddisks? Is this the reason I'm unable to boot version 0.11 of the
kernel (as described in my previous message)?
Derek Lieber
derek@watson.ibm.com
--[0371]--
[0372] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/12/92 15:40 (50 lines)
Subject: Re: trouble booting 0.11 (continued)
Date: Sun, 12 Jan 1992 22:25:38 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: "Derek Lieber"'s message as of Jan 12, 14:39
To: Derek Lieber <derek@watson.ibm.com>, Linux-activists@joker.cs.hut.fi
"Derek Lieber": "trouble booting 0.11 (continued)" (Jan 12, 14:39):
> I just tried using version 0.10 of "bootimage" to run version 0.11
> of "rootimage". The system comes up fine. I can access the harddisk ok,
> for example by running "cp /dev/hd0 /dev/null".
>
> But when running "fdisk", I get:
>
> /dev/hd1: ..stuff about partition 1...
> /dev/hd2: ..stuff about partition 2...
> /dev/hd3: ..stuff about partition 3...
> harddisk I/O error
> dev 0305 block 0
>
> and the program terminates. Now device 0305 is /dev/hd5 (ie. 2nd harddisk),
> but I don't have a 2nd harddisk. Does linux for some reason expect TWO
> harddisks? Is this the reason I'm unable to boot version 0.11 of the
> kernel (as described in my previous message)?
No, this is totally normal: the kernel tries to read from the second
harddisk, and fails. No problem. The reason that 0.10 works, but 0.11
doesn't, is that I changed 0.11 so that it does a hd-reset at bootup,
mostly to test the code. Ok it wasn't so great an idea, but it showed
up the bug in the reset-code.
If you can get linux up and running on some machine (0.10 works, but has
bugs, so 0.11 is better), you can make a new 0.11 that works somewhat
just by changing the line
static int reset = 1;
to
static int reset = 0;
at the head of hd.c, and recompiling the kernel. This works, but
ignores the deeper problem of not being able to reset the disk. I still
think you'd better wait for 0.12: it's ready, but I want to test
everything out for a bit yet. I was still adding things to it
yesterday, now I'm just playing around, and trying to see if 0.12 fails.
Linus
PS. Ignore my warning about bugs in bash-1.10: bash 1.11 came out
yesterday (the day before?), and was very easy to port to linux. I
haven't found any bugs yet.
--[0372]--
[0373] daemon@ATHENA.MIT.EDU (John R. Schutz) Linux_Activists 01/12/92 15:40 (31 lines)
Subject: Re: fdisk problems
From: john@csrnxt1.ae.utexas.edu (John R. Schutz)
To: linux-activists@joker.cs.hut.fi (Linux Activists)
Date: Sun, 12 Jan 92 14:33:45 CST
After seeing a couple of people asking this same question, I decided
I'd reply to the list instead of individually (sorry to the majority
who probably know this).
It is normal behavior for fdisk to report the errors about /dev/hd5,
etc, if you do not have a second hard disk. I am not sure which of
the following is correct, however
1) fdisk has it hard coded to check a second hard disk
2) fdisk checks on all /dev/hd*'s
I am not able to check since I am not at home, but suffice to say that
it is normal. I think this was written somewhere, was it not?
Derek Lieber: This has nothing to do with the fact that you cannot
get 0.11 to mount your HD. This is a seperate bug that will
(hopefully) be fixed in 0.12. Linus has stated that it is. It has to
do, from my understanding, that some delays in the HD init are not
long enough? Anyways...I'm getting over my head...
john
--
| John R. Schutz | Email&NeXTmail: |
| A learning NeXTie | john@csrnxt1.ae.utexas.edu |
| (512)328-0587 | "We are all victims of dead men." |
| 3009 Hatley Dr., Austin, TX 78746 | -Charles Fuller |
--[0373]--
[0374] daemon@ATHENA.MIT.EDU (Mark_Hahn@transarc.com) Linux_Activists 01/12/92 16:24 (8 lines)
Subject: frequently-asked-questions file?
Date: Sun, 12 Jan 1992 15:42:38 -0500 (EST)
From: Mark_Hahn@transarc.com
To: Linux-activists@joker.cs.hut.fi
Is there a FAQ for Linux yet? I'm especially interested in the
breadth of different machines that have sucessfully booted Linux.
thanks, Mark.
--[0374]--
[0375] daemon@ATHENA.MIT.EDU (Thomas E. Kunselman) Linux_Activists 01/12/92 18:14 (50 lines)
Subject: Device driver text with source.
Date: Sun, 12 Jan 92 17:56:29 EST
From: "Thomas E. Kunselman" <VAATEK@UKCC.uky.edu>
To: linux-activists@joker.cs.hut.fi
I was reading misc.books.technical and thought someone on here might be
interested in this. I'm a new subscriber, so hope this hasn't been
posted before.
Writing UNIX Device Drivers
By George Pajari
(c) 1992
Published by Addison-Wesley
ISBN 0-201-52374-4
323 pages, Paperback
$32.95
This book provides application programmers with definitive
information on writing device drivers for the UNIX operating
system. It explains, through working examples, the issues
related to the design and implementation of these important
components of applications programs.
Written by an acknowledged expert, the book uses full source
code listings of real devices to explain the underlying concepts.
Complete source code is provided for 12 drivers, including:
- block drivers for a SCSI disk and a line printer
- a character driver for an intelligent serial I/O device
- a streams driver for a token-ring card
Covering System V Releases 3 and 4, the book provides essential
practical advice for all UNIX applications programmers.
--
Quantum Books | A Technical and Professional Bookstore
----------------------------+------------------------------------------
Cambridge: 617-494-5042 | E-Mail: quanbook@world.std.com
Philadelphia: 215-222-0611 | Mailing List: quanlist@world.std.com
-------------------------------------------------------------------------------
Thomas E. Kunselman | INTERNET: VAATEK@UKCC.UKY.EDU
Information Specialist | BITNET: VAATEK@UKCC
Office of the Assistant Chancellor |
#4 Administration Building |
University of Kentucky |
Lexington, KY 40506-0032 |
Phone:(606) 257-1633 |
-------------------------------------------------------------------------------
--[0375]--
[0376] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/12/92 18:53 (42 lines)
Subject: Re: Device driver text with source.
Date: Mon, 13 Jan 1992 01:34:24 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: "Thomas E. Kunselman"'s message as of Jan 12, 17:56
To: "Thomas E. Kunselman" <VAATEK@UKCC.uky.edu>,
"Thomas E. Kunselman": "Device driver text with source." (Jan 12, 17:56):
> I was reading misc.books.technical and thought someone on here might be
> interested in this. I'm a new subscriber, so hope this hasn't been
> posted before.
>
> Writing UNIX Device Drivers
> By George Pajari [deleted]
A small word of warnig: linux looks like a unix, but I implemented it
from scratch, and with very little litterature on how things "should" be
done. In fact the only things I knew were how the interface should
appear to the user: the result is not the same as either minix, sysv or
bsd when it comes to the kernel innards. Some of the choises I made
worked out well, some not so well. So far nothing has been a total
disaster: most things have been relatively easily adaptible to the linux
kernel (demand-loading and paging comes to mind: they were essentially
painless to do for linux).
This doesn't mean that this book wouldn't be very practical (it probably
is), but it does mean that you cannot take the code and use it directly
for linux. Of course the underlying algorithm may well work splendidly.
The three books I had as references were:
"Maurice J Bach: The design of the unix operating system". This is a
nice general text, and has some simple algorithms for some things.
Recommended.
"Tanenbaum: Operating Systems, Design and Implementation". Hmm. I didn't
use this book much for the actual implementation (other than getting the
minix filesystem design out of it), but unless you understand the
principles ast writes about, unix kernel hacking is difficult at best.
"Crawford & Gelsinger: Programming the 80386". What can I say. If you
want to program the 386-specific stuff, this is a must.
Linus
--[0376]--
[0377] daemon@ATHENA.MIT.EDU (Juan Jose T. Noyles) Linux_Activists 01/12/92 18:53 (5 lines)
Subject: Filesystem
To: linux-activists@joker.cs.hut.fi
From: juan@noyles.pha.pa.us (Juan Jose T. Noyles)
Date: Sun, 12 Jan 92 18:13:47 EST
Does Linux use the same format as DOS?
--[0377]--
[0378] daemon@ATHENA.MIT.EDU (Lawrence C. Foard) Linux_Activists 01/12/92 20:27 (16 lines)
Subject: new to this list
Date: Sun, 12 Jan 92 19:59:46 -0500
From: entropy@ee.WPI.edu (Lawrence C. Foard)
To: linux-activists@joker.cs.hut.fi
I just signed up for this list. As far as I could tell there is no stty
available for linux yet so I went ahead and wrote one, I'm also adding
features it needs to perform the same function as getty.
The todo file says the init program is needed, if no one has done this yet
I would be interested.
Is ps available yet?
Assuming there isn't an stty program available that I missed, I can send the
stty code to any one who is interested.
I'm really impressed with what I have seen so far, I've been hoping something
like this would come along for years :)
--[0378]-- (nref = [0380])
[0379] daemon@ATHENA.MIT.EDU (Yanek Martinson) Linux_Activists 01/12/92 21:50 (16 lines)
Subject: Re: init
From: Yanek Martinson <yanek@mthvax.cs.miami.edu>
To: entropy@ee.WPI.edu (Lawrence C. Foard)
Date: Sun, 12 Jan 92 20:30:02 EST
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: <9201130059.AA23867@wintermute.WPI.EDU>; from "Lawrence C. Foard" at Jan 12, 92 7:59 pm
> The todo file says the init program is needed, if no one has done
My init is almost done, should have been done a while ago but I was
busy with "real work" (things all crashing for various strange
reasons)
I still need to write the stuff that lets it chnge run-levels though
(I think I will limit it to only 2 levels, so I can use signals
SIGUSR1 and SIGUSR2, does anyone see any problems with this?)
--[0379]--
[0380] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 01/12/92 21:52 (11 lines)
Subject: Re: new to this list
Date: Sun, 12 Jan 92 18:01:40 -0800
To: entropy@ee.WPI.edu (Lawrence C. Foard)
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: [378]
From: John T Kohl <jtkohl@cs.Berkeley.edu>
Reply-To: jtkohl@cs.Berkeley.edu
The stty from the GNU shell utilities (I think; or some other set of
utils) works with minimal porting effort.
John
--[0380]-- (pref = [0378])
[0381] daemon@ATHENA.MIT.EDU (tthorn@daimi.aau.dk) Linux_Activists 01/12/92 22:56 (23 lines)
Subject: No VFS means no FFS?
Date: Mon, 13 Jan 92 03:53:45 +0100
From: tthorn@daimi.aau.dk
To: Linux-activists@joker.cs.hut.fi
In-Reply-To: Linus Benedict Torvalds's message of Sun, 12 Jan 1992 01:00:35 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
Ok, as I didn't implement the VFS-patches (they seemed a bit raw), I
I haven't seen the VFS-patches, but as I understand, they are
essential for the Berkeley Fast File System.
The current file system has no impressive performance, and
was hoping the addition of FFS would improve the situation.
Also, the ridiculous 14 char limit to file names is blocking
my use of Linux for a particular application.
Don't misunderstand. I find Linux great, but it would be
even better with FFS.
/Tommy
PS: What is happening to the SCSI driver project? I might
be able to write the adaptech 1542 lowlevel driver.
--[0381]--
[0382] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/13/92 04:23 (29 lines)
Subject: Re: No VFS means no FFS?
Date: Mon, 13 Jan 1992 11:08:42 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: tthorn@daimi.aau.dk's message as of Jan 13, 3:53
To: tthorn@daimi.aau.dk, Linux-activists@joker.cs.hut.fi
tthorn@daimi.aau.dk: "No VFS means no FFS?" (Jan 13, 3:53):
> From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
>
> Ok, as I didn't implement the VFS-patches (they seemed a bit raw), I
>
> I haven't seen the VFS-patches, but as I understand, they are
> essential for the Berkeley Fast File System.
The VFS that is available as alpha (tsx-11, ALPHA) has the problem that
it wants you to rewrite almost everything when you add a filesystem (ie,
have a minix_open, and a ffs_open etc), which I find a bit boring, and
also makes for somewhat ugly code (several versions of essentially the
same set of functions). I decided that I didn't want to lock into that
yet: it might still be the way linux goes, but I don't want to have an
official release that binds me to something I think could maybe be
implemented cleaner.
VFS will come, but I'd rather see it (I'll implement it too, perhaps) as
a collection of just the low-level routines (read_inode(),
write_inode(), read_dir_entry(), write_dir_entry(), _bmap() etc), where
the general routines like "link()" etc would be the same for all
systems.
Linus
--[0382]--
[0383] daemon@ATHENA.MIT.EDU (d88-man@nada.kth.se) Linux_Activists 01/13/92 05:47 (25 lines)
Subject: kernel panic...
Date: Mon, 13 Jan 92 11:35:20 +0100
From: d88-man@nada.kth.se
To: Linux-activists@joker.cs.hut.fi
I got a nasty kernel panic when using uemacs this morning:
Kernel panic: Trying to free up swapper memory space.
In swapper task - not syncing
Bug or not ?
The scenario was a uemacs with 2 'windows', I had exited uemacs several times
(with ^X^C) and used gas in between.
Although it doesnt't say much I wrote down the preceding infolines
if they can be some clue:
EIP: 000f:67c4
EFLAGS: 13213
ESP: 17:23558
base: 0, limit: A0000
Stack: 0 ffc 13f 5412
Pid: 0, proc. nr: 00x07
89 02 eb ef 8d 65 f8 5e 57 c1
The panic resulted in a corrupted CMOS too ! Which I recall somebody had
earlier.
/Mats Andersson (d88-man@nada.kth.se)
--[0383]--
[0384] daemon@ATHENA.MIT.EDU (s_ebach@rzmain.rz.uni-ulm.de) Linux_Activists 01/13/92 09:23 (12 lines)
Subject: How about 'mvdir' and 'df'
Date: Mon, 13 Jan 92 15:10:24 +0100
From: s_ebach@rzmain.rz.uni-ulm.de
To: "Linux-activists@niksula.hut.fi"@netway.rz.uni-ulm.de
Are there allready running mvdir's and df's under Linux?
These two I REALY miss in the standard-distribution.
BTW: What's the de-facto-WHERE-SHOULD-BE-WHAT-standard
setup of GCC?
TschauTschau
Bernd
--[0384]--
[0385] daemon@ATHENA.MIT.EDU (Russ Nelson) Linux_Activists 01/13/92 11:30 (50 lines)
Subject: still a keyboard problem
Date: Mon, 13 Jan 92 09:58:59 EST
From: Russ Nelson <nelson@cheetah.ece.clarkson.edu>
To: tytso@athena.mit.edu
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Theodore Ts'o's message of Thu, 9 Jan 92 23:52:17 -0500 <9201100452.AA04055@tsx-11.MIT.EDU>
Date: Thu, 9 Jan 92 23:52:17 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
Reply-To: tytso@athena.mit.edu
Address: 1 Amherst St., Cambridge, MA 02139
Phone: (617) 253-8091
Date: Thu, 9 Jan 92 17:20:33 EST
From: Russ Nelson <nelson@cheetah.ece.clarkson.edu>
These drivers all use a common skeleton that interfaces between FTP
Software's Packet Driver Specification, and the code that's specific
to each card. That code could be reused if someone could find a way
to keep most of the entry points identical, or at least similar. If
the entry points into the device-specific code need to be changed,
maybe we could find a way to do it so that all the drivers can get
ported at the same time?
First a disclaimer: I haven't looked at the FTP Packet Driver
Specification; but I suspect the one place that will be a problem is
interrupt handling. Presumably the Clarkson drivers are interrupt
driven and not polling off the clock tick, right? I suspect that if
they're clock tick driven, it would make things easier but it would make
performance suffer a lot. If they are interrupt driven, then you need
to worry about installing a 386 protected-mode interrupt gate, and
saving all of the 386 32-bit registers; and if the drivers were designed
for the 16-bit DOS world, they might not be up to handling this.
Most of the drivers could be rewritten to operate in a polled mode. The
3501 and ni5010 will not work that way, because they don't have a buffer
large enough.
Also, how nailed-down is the interface between the "common" portion of
the packet driver and the "device specific" portion of the packet
driver? I suspect that we would want to dump the "common" portion of
the driver and speak directly to the "device specific" portion.
Right, that's what I'm proposing -- to keep the device specific portion,
and talk to it from protected mode.
Having an Ethernet driver sounds like a really cool thing! Of course,
the thing that would really interest me is a SLIP driver.... :-)
SLIP isn't as tough because it's based on the serial ports...
-russ
--[0385]--
[0386] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/13/92 11:31 (13 lines)
Subject: Easy way to report problems.
Date: Mon, 13 Jan 92 08:22:23 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
When 0.12 comes out, and you have a problem, like a panic,
you will be able to take a snapshot of the screen with
setterm -dump n
No more will you have to laboriously transcribe all that information
on you screen. And hopefully, accuracy will improve.
(That is, if screen dumping made it into .12? Linus?)
--[0386]--
[0387] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/13/92 11:46 (28 lines)
Subject: Re: No VFS means no FFS?
Date: Mon, 13 Jan 92 11:32:30 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: Linux-activists@joker.cs.hut.fi
In-Reply-To: tthorn@daimi.aau.dk's message of Mon, 13 Jan 92 03:53:45 +0100,
Reply-To: tytso@athena.mit.edu
Date: Mon, 13 Jan 92 03:53:45 +0100
From: tthorn@daimi.aau.dk
The current file system has no impressive performance, and
was hoping the addition of FFS would improve the situation.
Note that a lot of the basic ideas of the FFS can be implemented without
changing the filesystem format.... for example, the idea of having
cylinder groups and allocating blocks trying to make sure that a file is
in one cylinder group.
Of course, you really can't change the 14 char limit without chaging the
filesystem format, although I could think of some really ugly kludges
one could use to make the change in a backward compatible way...
If we're going to redesign the filesystem format, perhaps we should
start making wish lists (keeping in mind that it may not be practical to
implement them all). My wish list item is per-file ACL's, with
expansion room to handle network-authenticated entities: i.e., Kerberos
principals or X.500 DN's (yeah, right).
- Ted
--[0387]--
[0388] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/13/92 11:55 (29 lines)
Subject: Re: Easy way to report problems.
Date: Mon, 13 Jan 92 11:43:34 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: pmacdona@sanjuan.UVic.CA
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Peter MacDonald's message of Mon, 13 Jan 92 08:22:23 PST,
Reply-To: tytso@athena.mit.edu
Date: Mon, 13 Jan 92 08:22:23 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
When 0.12 comes out, and you have a problem, like a panic,
you will be able to take a snapshot of the screen with
setterm -dump n
Maybe I'm missing something obvious, but.....
After a panic, the Linux OS is looping in kernel mode, waiting for the
user to type the reboot key. (No other processes are going to be able
to execute.) How are you going to be able to do the setterm -dump n?
One comment: when people send in kernel crash reports, they should make
sure they specify which version of the kernel they are using.
Obviously, if you are using a kernel with patches, it's going to be very
difficult to figure out which routine was responsible by looking at the
EIP output. Hopefully in the future, the kernel will be able do crash
dumps, and we will have crash dump analysis programs to figure out where
things actually were dying.
- Ted
--[0388]--
[0389] daemon@ATHENA.MIT.EDU (kevin dahlhaus) Linux_Activists 01/13/92 14:37 (5 lines)
Subject: subscribe
From: kevin dahlhaus <dahlhaus@cis.ohio-state.edu>
To: Linux-activists@joker.cs.hut.fi (linux mailing list)
Date: Mon, 13 Jan 92 14:27:43 EST
subscribe "Kevin Dahlhausen"
--[0389]--
[0390] daemon@ATHENA.MIT.EDU (Lawrence C. Foard) Linux_Activists 01/13/92 17:36 (16 lines)
Subject: stty uploaded
Date: Mon, 13 Jan 92 17:22:03 -0500
From: entropy@ee.WPI.EDU (Lawrence C. Foard)
To: linux-activists@joker.cs.hut.fi
I uploaded stty.tar.Z (README,stty.c,stty) to the incoming directory on the
ftp site. It seems to work ok, if you find any problems send me mail and I
will try to fix them.
Three problems that I think are OS bugs (or just not finished yet):
winsize is always 0
Vt delay and ff delay share the same bit in the header file.
a shell started on a terminal is always killed when you exit the lowest
level console shell (I assume this won't be a problem when init arrives).
stty sane will set all the terminal characteristics to the way the kernel
has the set on bootup.
--[0390]--
[0391] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/13/92 18:41 (17 lines)
Subject: stty uploaded
Date: Tue, 14 Jan 1992 01:32:02 +0200
From: Ari Lemmke <arl@zen.cs.hut.fi>
To: linux-activists@joker.cs.hut.fi
In-Reply-To: Lawrence C. Foard's message of Mon, 13 Jan 92 17:22:03 -0500 <9201132222.AA25467@wintermute.WPI.EDU>
entropy@ee.WPI.EDU (Lawrence C. Foard):
>I uploaded stty.tar.Z (README,stty.c,stty) to the incoming directory on the
>ftp site. It seems to work ok, if you find any problems send me mail and I
>will try to fix them.
Available at nic.funet.fi:/pub/OS/Linux/bin/stty.tar.Z
Non FTP sites do send to 'mailserver@nic.funet.fi' mail
with body containing 'help'.
arl
--[0391]--
[0392] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/14/92 18:10 (8 lines)
Subject: list is functioning
Date: Wed, 15 Jan 1992 00:55:49 +0200
From: Ari Lemmke <arl@zen.cs.hut.fi>
To: linux-activists@joker.cs.hut.fi
List should work now.
arl
--[0392]--
[0393] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/14/92 18:44 (20 lines)
Subject: IDE drives and Linux
Date: Wed, 15 Jan 1992 01:32:07 +0200
From: Ari Lemmke <arl@zen.cs.hut.fi>
To: linux-activists@joker.cs.hut.fi
Received: by peabody.iusb.indiana.edu
(15.11/9.5teg) id AA28307; Tue, 14 Jan 92 18:19:14 est
Date: Tue, 14 Jan 92 18:19:14 est -0500
From: Teresa Selling <tselling>
To: linux-activists.niksula.hut.fi
^ ;-)
Subject: IDE drives and Linux
I am planning to purchase a new hard drive to replace my cramped 80 meg.
I am considering a Quantum 240 meg and would like to know if anyone is
using this drive with Linux or has had trouble using it. Thanks.
--[0393]--
[0394] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/14/92 18:45 (47 lines)
Subject: Re: No VFS means no FFS?
Date: Tue, 14 Jan 92 11:56:40 -0500
From: tytso@Athena.MIT.EDU (Theodore Ts'o)
To: Linux-activists@joker.cs.hut.fi
In-Reply-To: tthorn@daimi.aau.dk's message of Tue, 14 Jan 92 13:49:09 +0100,
Reply-To: tytso@athena.mit.edu
Date: Tue, 14 Jan 92 13:49:09 +0100
From: tthorn@daimi.aau.dk
Which brings me to the question I've always wanted to ask:
How do you use FFS on a SCSI disk? Given that SCSI disc's use
logicial sectors and automatic bad sector remapping, it doesn't
make much sence to talk of cylinder groups. Is it possible
to avoid the logicial mapping?
The short answer is: with great difficulty, and not without a lot of
success.
Usually, SCSI disks will generally keep logical sector whose block
numbers which are close together in the same general area of the
physical disk, but this is not guaranteed. Depending on how automatic
bad sector remapping is done, the revectored blocks may be at the far
end of the disk, or scattered through out the disk.
So the FFS algorithms can be somewhat useful on SCSI disks by
distributing files across the entire disk, and by reducing (somewhat)
disk head activity by keeping files in the localized area wrt logical
sector numbers. But of course it will not be as successful as when the
kernel has a much better idea of where blocks will end up on the
platters.
Another thing which comes up with SCSI disks is that the elevator sort
algorithm (which sorts the disk blocks in the request queue in an
attempt to reduce head movement) will also not work as well as
traditional disk controllers, again because there's no guarantee that
the logical sector numbering has any relationship to the physical blocks
(although there usually is some). However, there is usually some cache
memory on the SCSI controllers on the disk drives themselves to help
this situation a bit.
Fortunately, the CPU time required to do the elevator sort and the FFS
placement of disk blocks is small enough that it gets swamped by the
time to do the disk I/O. So even if the elevator sort and the FFS don't
help as much for SCSI disks, it shouldn't cost that much to use the
algorithms in any case.
- Ted
--[0394]--
[0395] daemon@ATHENA.MIT.EDU (Mail Delivery Subsystem) Linux_Activists 01/14/92 18:48 (21 lines)
Subject: Returned mail: User unknown
Date: Tue, 14 Jan 92 18:19:14 est -0500
From: Mail Delivery Subsystem <MAILER-DAEMON@peabody.iusb.indiana.edu>
To: tselling@peabody.iusb.indiana.edu
----- Transcript of session follows -----
550 linux-activists.niksula.hut.fi... User unknown
----- Unsent message follows -----
Received: by peabody.iusb.indiana.edu
(15.11/9.5teg) id AA28307; Tue, 14 Jan 92 18:19:14 est
Date: Tue, 14 Jan 92 18:19:14 est -0500
From: Teresa Selling <tselling>
To: linux-activists.niksula.hut.fi
Subject: IDE drives and Linux
I am planning to purchase a new hard drive to replace my cramped 80 meg.
I am considering a Quantum 240 meg and would like to know if anyone is
using this drive with Linux or has had trouble using it. Thanks.
--[0395]--
[0396] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 01/14/92 18:50 (20 lines)
Subject: No subject found in mail header
Date: Tue, 14 Jan 92 17:22:08 CST
From: johnsonm@stolaf.edu (Michael K. Johnson)
To: Linux-activists@joker.cs.hut.fi
While we are discussing what we are missing for X, I would like to
mention one small thing -- /dev/mouse. It would be a cute trick if
someone who has the spec's available for several mice put an autoconfig
mouse driver in the kernel. This might actually be of use before X,
but I can't think of anything right off....
I suppose it would make more sense to write it, but not put it in the
kernel until it was needed -- linux is small and clean; no need to throw
junk at it until we need the junk...
michaelkjohnson
johnsonm@stolaf.edu
Look, ma, no .sig!
--[0396]--
[0397] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/14/92 19:08 (34 lines)
Subject: Re:
Date: Tue, 14 Jan 92 18:53:23 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: johnsonm@stolaf.edu
Cc: Linux-activists@joker.cs.hut.fi
In-Reply-To: Michael K. Johnson's message of Tue, 14 Jan 92 17:22:08 CST,
Reply-To: tytso@athena.mit.edu
Date: Tue, 14 Jan 92 17:22:08 CST
From: johnsonm@stolaf.edu (Michael K. Johnson)
While we are discussing what we are missing for X, I would like to
mention one small thing -- /dev/mouse. It would be a cute trick if
someone who has the spec's available for several mice put an autoconfig
mouse driver in the kernel. This might actually be of use before X,
but I can't think of anything right off....
The 386 X server sources in the X11R5 distribution comes with support
for the following mice: MicroSoft, MouseSystems, MMSeries, Logitech,
Mouseman, BusMouse. Except for the BusMouse, all of the other formats
just require access to the serial port. You don't need to put
the mouse support in the kernel, except for the BusMouse case, and even
then most of the hard work can and should be done out of the kernel.
One thing which will require some kernel work for the X server is to add
some ioctl()'s to the console for switching it to direct mode, where you
get scancodes instead of ASCII characters (X will do its own keyboard
mapping and remapping), and some other ioctl()'s to do set and reset the
keyboard LED's, and start and stop the speaker at a specified pitch,
etc., etc. But that shouldn't be too hard to do, although I don't know
how easy it will be to make these changes work with the Virtual Console
mode --- we do want to be able to have an X server running in one VC,
and be able to switch into another VC to do debugging work.
- Ted
--[0397]--
[0398] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/14/92 19:30 (25 lines)
Subject: linux-0.12 is available
Date: Wed, 15 Jan 1992 02:13:40 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
To: Linux-activists@joker.cs.hut.fi
Ok, the subject says it all. The kernel source and the disk-images are
available on nic.funet.fi, and I'm assuming they will migrate to other
places in a couple of days. There is a RELNOTES-0.12, but installation
is similar to 0.11, so the installinfo in relnotes is pretty minimal.
Note that even users of 0.11 should boot up from floppy first and copy
all the binaries to their proper places on the harddisk partition: fsck,
ls etc have changed with symlinks, and bash (/bin/sh) due to job
control.
Also note that I've decided to change the copyright to have the same set
of rules as the GNU copyleft - I got some mail asking about it, and I
agree. The old copyright still holds for now - I want to make sure none
of the "co-authors" would mind, but I'm pretty sure they won't. It won't
actually change the copyright very much: it's the handling-costs extra
etc.
I'll send some additional files (the complete fileutils, the new library
and libc.a etc) tomorrow.
Linus
--[0398]-- (nref = [0403])
[0399] daemon@ATHENA.MIT.EDU (Derek Lieber) Linux_Activists 01/14/92 19:59 (14 lines)
Subject: thinking about graphics programming
Date: Tue, 14 Jan 92 19:36:45 EST
From: "Derek Lieber" <derek@watson.ibm.com>
To: Linux-activists@joker.cs.hut.fi
With all this talk about X servers and such, I was thinking about
writing some graphics programs which would be able to do their work
outside the kernel, by accessing video memory directly. Does linux
let one establish a mapping between a region of a process's virtual
address space and a region of physical memory (I'm thinking of
something like the shmxxx" family of system calls for dealing with
shared memory)?
Derek Lieber
derek@watson.ibm.com
--[0399]--
[0400] daemon@ATHENA.MIT.EDU (Networking Research) Linux_Activists 01/14/92 20:32 (23 lines)
Subject: Re: IDE drives and Linux
Date: Tue, 14 Jan 92 19:22:15 -0600
From: l00017@eeyore.stcloud.msus.edu (Networking Research)
To: linux-activists@joker.cs.hut.fi
>Subject: IDE drives and Linux
>
>
>I am planning to purchase a new hard drive to replace my cramped 80 meg.
>I am considering a Quantum 240 meg and would like to know if anyone is
>using this drive with Linux or has had trouble using it. Thanks.
Well, I think you must mean the Quantum 210, since they don't
(to my knowledge, and I know the quantum line pretty well) make a 240
meg drive. I've got a Quantum (Plus Impulse) 210AT, and while I haven't
tested Linux on it, Mach likes it quite a bit. The geometry of the drive is
873 cyls, 13 heads, 36 secs/track. Maybe this will help people who know
more about what Linux likes and doesn't like answer your question. I
haven't, to be honest, brought Linux up yet myself, but I intend to use a
Quantum 105AT for it.
-Mark Holden
l00017@eeyore.stcloud.msus.edu
--[0400]--
[0403] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/15/92 00:29 (15 lines)
Subject: Re: linux-0.12 is available
Date: Wed, 15 Jan 92 00:22:14 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: Linux-activists@joker.cs.hut.fi
In-Reply-To: [398]
Reply-To: tytso@athena.mit.edu
Linux 0.12 is available from TSX-11.MIT.EDU. For most U.S. sites, it
will be much faster if you grab the distribution from TSX-11 than from
nic.funet.fi.
I will grab the 0.12 libc.a sources and include file, and any other
ancilliary files as soon as they become available on nic.funet.fi.
- Ted
--[0403]-- (pref = [0398])
[0404] daemon@ATHENA.MIT.EDU (Morgan Schweers) Linux_Activists 01/15/92 01:10 (18 lines)
Subject: SCSI question
Date: Tue, 14 Jan 92 22:03:25 PST
From: mrs@netcom.com (Morgan Schweers)
To: linux-activists@joker.cs.hut.fi
Greetings,
Being a novice at fun stuff like kernel development and device
driver design, I'd like to know under what circumstances I'd need
a SCSI driver.
I have a 20Meg floptical disk drive that MS/DOS thinks is just
another drive. No device drivers are needed, etc... It is,
however, a SCSI device. Does this mean that I'll need a driver
for it under Linux?
Does anyone have any good kernel and driver design books that
they can refer me to?
-- Morgan Schweers
--[0404]--
[0405] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 01/15/92 03:07 (14 lines)
Subject: 0.12 available on tupac-amaru.informatik.rwth-aachen.de
Date: Wed, 15 Jan 92 08:55:50 +0100
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
To: linux-activists@joker.cs.hut.fi
As the subject says, the new boot/rootimages are installed on tupac-amaru.
The library stuff will follow as soon as it appears on nic.funet.fi
BTW: This means amaru is up and running again....
C U l8r
Robert Blum
--[0405]--
[0406] daemon@ATHENA.MIT.EDU (Nicolas CAILLAUD ) Linux_Activists 01/15/92 04:21 (13 lines)
Subject: Linux & Mgr
From: nicolas@cli52fb.edf.fr ( Nicolas CAILLAUD )
To: linux-activists@joker.cs.hut.fi
Date: Wed, 15 Jan 92 8:29:37 MET DST
Hi *
Has someone tried porting MGR to LINUX ?
Is it much faster than with Minix ?
Thank you all
Nicolas
--[0406]--
[0407] daemon@ATHENA.MIT.EDU (Simon Marlow) Linux_Activists 01/15/92 05:17 (11 lines)
Subject: UK keyboards
Date: Wed, 15 Jan 1992 09:53:47 +0000
From: Simon Marlow <simonm@dcs.glasgow.ac.uk>
To: linux-activists@joker.cs.hut.fi
Unless I'm wrong, LINUX only have support for Finish and US
keyboards, so can somebody give me some pointers as to how to add UK
keyboard support to LINUX? Also, am I the first UK 'customer'?
Thanks,
Simon.
--[0407]--
[0408] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/15/92 05:29 (271 lines)
Subject: Re: SCSI question
To: mrs@netcom.com (Morgan Schweers), linux-activists@joker.cs.hut.fi
In-Reply-To: Your message of Tue, 14 Jan 92 22:03:25 -0800.
Date: Wed, 15 Jan 92 01:18:28 MST
From: drew@hazelrah.cs.Colorado.EDU
Greetings,
Being a novice at fun stuff like kernel development and device
driver design, I'd like to know under what circumstances I'd need
a SCSI driver.
I have a 20Meg floptical disk drive that MS/DOS thinks is just
another drive. No device drivers are needed, etc... It is,
however, a SCSI device. Does this mean that I'll need a driver
for it under Linux?
Yes. Most definately. The current SCSI situation is that I'm working on
a multi-tiered driver (interference from fried SCSI hosts, family visits,
long ski weekends, sysadmin chores and Usenix) with abstract high level
disk and tape drivers that interface with low level SCSI drivers in a
device independant manner. The low level driver needed for each SCSI host
merely has to send SCSI commands and return the results / data to the
high level driver- bad block remapping, etc are all handled by the
high level driver.
The initial low level driver will be for the seagate ST-01 / ST-02
controllers. Other hosts should be fairly easy to adapt to - see
the interface spec following this.
Does anyone have any good kernel and driver design books that
they can refer me to?
-- Morgan Schweers
--------
Current interface spec for SCSI driver - should have everything
(keeping my fingers crossed here) ready within two weeks after
Usenix. I've added a command queing function, where the driver is
notified on command completion, so that multiple read/writes etc. can
be accomplished - much better than the kernel blocking until the
read/write was done....
-- hosts.h --
#ifndef __HOST_H__
#define __HOSTS_H__
/*
File hosts.h
SCSI host adapter include file.
*/
#define MAX_SCSI_HOSTS 1
/*
The Scsi_Host type has all that is needed to interface with a SCSI
host in a device independant matter.
*/
typedef struct
{
/*
The name pointer is a pointer to the name of the SCSI
device detected.
*/
char *name;
/*
The detect function shall return non zero on detection,
and initialize all data necessary for this particular
SCSI driver.
*/
int (* detect)(void);
/*
The info function will return whatever useful
information the developer sees fit.
*/
char *(* info)(void);
/*
The command function shall return the SCSI return
code in the low 8 bits, a driver error in the high 8
bits. Target is the target ID, IN normal numbers - not a
bit. The cmnd is the variable length command to
be sent,
buff a pointer to the buffer which will be read from /
written to, and bufflen the length of that buffer
*/
int (* command)(unsigned char target, const void *cmnd,
void *buff, int bufflen);
/*
The QueueCommand function works in a similar manner
to the command function. It takes an additional parameter,
void (* done)(int code) which is passed the exit result
when the command is complete.
*/
int (* queuecommand)(unsigned char target, const void *cmnd,
void *buff, int bufflen, void (*done)(int));
/*
present contains a flag as to weather we are present -
so we don't have to call detect multiple times.
*/
unsigned char present;
} Scsi_Host;
/*
The scsi_hosts array is the array containing the data for all
possible <supported> scsi hosts.
*/
extern Scsi_Host scsi_hosts[MAX_SCSI_HOSTS];
/*
scsi_init initializes the scsi hosts.
*/
void scsi_init(void);
#endif
--- scsi.h ---
#ifndef __SCSI_H__
#define __SCSI_H__
/*
For documentation on the OPCODES, MESSAGES, and SENSE values,
please consult the SCSI standard.
*/
/*
SCSI opcodes
*/
#define TEST_UNIT_READY 0x00
#define REZERO_UNIT 0x01
#define REQUEST_SENSE 0x03
#define FORMAT_UNIT 0x04
#define REASSIGN_BLOCKS 0x07
#define READ_6 0x08
#define WRITE_6 0x0a
#define SEEK 0x0b
#define INQUIRY 0x12
#define MODE_SELECT 0x15
#define RESERVE 0x16
#define RELEASE 0x17
#define COPY 0x18
#define MODE_SENSE 0x1a
#define START_STOP 0x1b
#define RECIEVE_DAIGNOSTIC 0x1c
#define SEND_DIAGNOSTIC 0x1d
#define ALLOW_MEDIUM_REMOVAL 0x1e
#define READ_CAPACITY 0x25
#define READ_10 0x28
#define WRITE_10 0x2a
#define SEEK_10 0x2b
#define WRITE_VERIFY 0x2e
#define VERIFY 0x2f
#define SEARCH_HIGH 0x30
#define SEARCH_EQUAL 0x31
#define SEARCH_LOW 0x32
#define SET_LIMITS 0x33
#define COMPARE 0x39
#define COPY_VERIFY 0x3a
/*
MESSAGE CODES
*/
#define COMMAND_COMPLETE 0x00
#define EXTENDED_MESSAGE 0x01
#define SAVE_POINTERS 0x02
#define RESTORE_POINTERS 0x03
#define DISCONNECT 0x04
#define INITIATOR_ERROR 0x05
#define ABORT 0x06
#define MESAGE_REJECT 0x07
#define NOP 0x08
#define MSG_PARITY_ERROR 0x09
#define LINKED_CMD_COMPLETE 0x0a
#define LINKED_FLG_CMD_COMPLETE 0x0b
#define BUS_DEVICE_RESET 0x0c
#define IDENTIFY 0x80
/*
Our errors returned by OUR driver, NOT SCSI message. Orr'd with
SCSI message passed back to driver <IF any>.
*/
/* NO error */
#define DID_OK 0x0000
/* Couldn't connect before timeout period */
#define DID_NO_CONNECT 0x0100
/* BUS stayed busy through time out period */
#define DID_BUS_BUSY 0x0200
/* TIMED OUT for other reason */
#define DID_TIME_OUT 0x0300
/* ERROR from TARGET */
#define DID_TERROR 0x0400
/* TARGET was busy */
#define DID_TBUSY 0x0500
/* TARGET disconnected prematurely */
#define DID_TDISCONNECT 0x0600
/* TARGET was off line */
#define DID_TOFFLINE 0x0700
/* TARGET wants US to send IT a message */
#defibe DID_TREQ_MSG_OUT 0x0800
/* TARGET parity error */
#define DID_TPARITY 0x0900
/* TARGET requested reselect */
#define DID_TRESELECT 0x0A00
/* TARGET was not in the range 0-6 inlclusive */
#define DID_BAD_TARGET 0x0B00
/*
SENSE KEYS
*/
#define NO_SENSE 0x00
#define RECOVERED_ERROR 0x01
#define NOT_READY 0x02
#define MEDIUM_ERROR 0x03
#define HARDWARE_ERROR 0x04
#define ILLEGAL_REQUEST 0x05
#define UNIT_ATTENTION 0x06
#define DATA_PROTECT 0x07
#define BLANK_CHECK 0x08
#define COPY_ABORTED 0x0a
#define ABORTED_COMMAND 0x0b
#define VOLUME_OVERFLOW 0x0d
#define MISCOMPARE 0x0e
/*
DEVICE TYPES
*/
#define TYPE_DISK 0x00
#define TYPE_TAPE 0x01
#define TYPE_WORM 0x04 /* Treated as ROM by our system */
#define TYPE_ROM 0x05
#define TYPE_NO_LUN 0x7f
/*
Every SCSI command starts with a one byte OP-code.
The next byte's high three bits are the LUN of the
device. Any multi-byte quantities are stored high byte
first, and may have a 5 bit MSB in the same byte
as the LUN.
*/
#endif
--[0408]--
[0409] daemon@ATHENA.MIT.EDU (John T Kohl) Linux_Activists 01/15/92 12:12 (19 lines)
Subject: Re: linux sockets and stuff
Date: Wed, 15 Jan 92 08:47:28 -0800
To: ury segal <ury@cs.huji.ac.il>
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: ury segal's message of Wed, 15 Jan 92 16:41:57 +0200,
From: John T Kohl <jtkohl@cs.Berkeley.EDU>
Reply-To: jtkohl@cs.Berkeley.EDU
> From: ury segal <ury@cs.huji.ac.il>
> Date: Wed, 15 Jan 92 16:41:57 +0200
> I understood U R writing the linux socket liberary. When will it be ready ?
I've said this on the list before, and I'll say it again now. I am NOT
working on BSD networking.
I _WAS_ doing some work to port various utilities that come on the BSD
networking _release_.
John
--[0409]--
[0410] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/15/92 13:15 (83 lines)
Subject: the rest of the linux-0.12 distribution
Date: Wed, 15 Jan 1992 19:49:55 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
To: Linux-activists@joker.cs.hut.fi
Ok, I have uploaded the rest of the linux distribution to nic.funet.fi.
They aren't visible yet, but I guess they'll show up tomorrow or so.
The new files are:
- fileutil.tar.Z, which contains most of the GNU fileutils. It's not
the latest release, so if you want that, you'll have to compile it
for linux. No source changes, but a lot of -DSTPCPY_MISSING etc in
the makefiles.
- hd.c. I have gotten one problem report already about hd-handling in
0.12. This is a correction to kernel/blk_drv/hd.c, and should
hopefully correct the problem. There was also a problem with a
second harddisk not working although the first one did: I think I
found the problem, and fixed it. If you cannot get linux operating
at all (but the bug wasn't that severe, I think), and are thus unable
to recompile it, mail me.
- include.tar.Z. Yes. Yet another include.tar.Z. I don't save old
versions, so I don't do cdiffs :(. I still expect patches to be
cdiffs. Bastard, ain't I?
- lib.tar.Z. The library sources.
- libc.a.Z. Compiled libc.a
- mkswap. This should have been on the root-diskette, but was
forgotten. See description in RELNOTES.
- system.tar.Z. The latest sources to the system files: mkswap, mkfs,
fsck and fdisk.
- utils.tar.Z. Contains a new tar (you can use the old one to untar
this, but this should understand about symbolic links etc), make,
uemacs and some minor programs (sed and basename I think).
The old utilbin.tar.Z file should be replaced by 'fileutil' and 'utils'.
The old include.tar.Z, libc.a library.tar.Z should be replaces by their
newer versions. The old uemacs.Z, bash.Z can also be removed from the
archives.
There is some overlapping between these files and the root-diskette (and
older versions of linux).
And over to other things:
Someone asked on comp.os.minix how to move non-tar files to a linux
partition: the INSTALL-0.11 told about tar-files, but not about things
like libc.a. The easiest answer is to tar the single file into a
tar-file, and then the problem is reduced to something we can handle.
Another possibility is to use the mtools package, but there were so many
questions about it the last time that I'm not even going to mention it
this time around.
A third possibility is to just write the file to a floppy using
rawrite.exe or NU or something, and then reading the floppy and
truncating at the filelength. This means you have to remember how long
the file was. Truncation can be done by 'dd' or by 'head -c'.
And one warning...
There are easy ways to make fsck report errors on your harddisk that
were introduced with the demand-loading in 0.11. It's not a bug, but I
thought I'd warn everyone:
While a program is running, it's inode is marked in use. Thus if you
delete a running command, it seems to be gone, but the file is still
there (standard unix practice). Sync a thousand times, and the file
will still not be really deleted until the inode no longer is in use:
This may not happen if the file was /bin/update or /bin/sh.
The result is that if you reboot with a deleted file in use, fsck will
wanr about a lot of unused blocks that are marked in use. No problem,
'fsck -a' repairs it, and it /really/ isn't a bug, it's just that we
haven't got something like shutdown yet that sees to these kinds of
problems.
Linus
--[0410]--
[0411] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/15/92 14:16 (31 lines)
Subject: Re: raw disk device
Date: Wed, 15 Jan 92 13:58:51 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: Peter Gober <qed@cs.tu-berlin.de>
Cc: linux-activists@joker.cs.hut.fi, erweka@cs.tu-berlin.de
In-Reply-To: Peter Gober's message of Wed, 15 Jan 92 19:48:32 MET,
Reply-To: tytso@athena.mit.edu
From: Peter Gober <qed@cs.tu-berlin.de>
Date: Wed, 15 Jan 92 19:48:32 MET
Having not much knowledge about UNIX devices I tried to port "mtools", a PD
collection of MS-DOS read/write-tools for Unix. It compiled well, but didn't
work, obviously, because it requires a raw disk device instead of a block
disk device. A driver for this seems to be missing from the Linux kernel.
No, you can just use the block disk device. It's already been ported to
Linux, however. (although it's pretty easy to port)
On TSX-11.MIT.EDU:
/pub/linux/ports/mtools-patches.tar --- contains some patches to make
mtools compile on linux and to add support of > 32 Meg
DOS hard disk partitions.
/pub/linux/sources/usr.bin/mtools_sh.?.Z --- contains the latest
version of the mtools package
- Ted
--[0411]--
[0412] daemon@ATHENA.MIT.EDU (Peter Gober) Linux_Activists 01/15/92 14:17 (20 lines)
Subject: raw disk device
From: Peter Gober <qed@cs.tu-berlin.de>
To: linux-activists@joker.cs.hut.fi
Date: Wed, 15 Jan 92 19:48:32 MET
Cc: erweka@cs.tu-berlin.de (Reinhard Koehn)
Running Linux on an IBM PC, what could more interesting than being able to
read/write MS-DOS diskettes directly?
Having not much knowledge about UNIX devices I tried to port "mtools", a PD
collection of MS-DOS read/write-tools for Unix. It compiled well, but didn't
work, obviously, because it requires a raw disk device instead of a block
disk device. A driver for this seems to be missing from the Linux kernel.
I am not able to write this driver, but would be very thankful if someone
could tell me whether I did something wrong, or would write it (it can't be
difficult for one of those experiences Unix hackers...).
Thank you.
Peter (qed@cs.tu-berlin.de)
--[0412]--
[0413] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/15/92 14:58 (82 lines)
Subject: console problems
Date: Wed, 15 Jan 92 11:43:06 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
There are a few small anoyances in the console patches for VC.
All in all, .12 is an amazing leap over .11.
First, to the termcap, you should add to your termcap entry,
:rs=\Ec:
This defines the reset string. Otherwise, window sizes etc hang around.
It seems some systems define \E> instead of \Ec, but this according
to DEC (who created vt100) is to reset to application keypad. So
console uses \Ec. Argg.
Second, autodectection correctly identifies my ATI card, but only supports
132 line mode, which my monitor (and preferences) don't. So, anyone know
the correc mode to use? The old code I have has to use int 10 twice, once
to set the mode and once to set the font. Also a termcap entry for 50 line mode
needs to be added.
Screen dumping isn't working cause the handler in tty_ioctl.c didn't make
make it through Linus's vicous editing. Screen blanking ditto.
I note that when at the bottom of the screen now, hitting enter causes
an unpleasant jitter on the screen, in VC. This is probably as
a result of using Video memory. I plan on posting a patch (as soon
as I get time) that will let you use ram buffers instead of video
ram, as a conditional compile. It turns out that when X shows up,
we will need buffers to store video contents in anyways, but ...
The problem is that the screen size can be determined dynamically
at boot time. This is nice, but I think a conditional compile
should be added to setup.S to allow the individual to select a
screen dimension as the default, either with a timeout upon
selection, or with just a hardcoded one videomode. ie
#define DEFAULT_VIDEO_MODE ati3
#ifdef DEFAULT_VIDEO_MODE ati3
use ati3 as default
#else
use detection, (maybe default to 80x25 if timeout)
#endif
The other problem with my old console.c was that the buffer size had
to be hard coded. This was tough to do when the screen dimensions
could vary dynamically. My new approach will be:
/*#define RAM_BUFFER_SIZE (MAX_CONSOLES*MAX_COLS*MAX_ROWS)*/
#ifdef RAM_BUFFER_SIZE
static short vc_video_buf[RAM_BUFFER_SIZE];
#endif
This will allow each individual to either specify exactly how much
precious kernel memory they want to give up or, how many consoles
they desire of whic maximum dimensions, all without modifying code.
This will also allow VC to work with non EGA/VGA, not a problem
for me, but no good reason to exclude them.
It will also allow screen blanking to work on all systems, again.
None of this should be too tough, since Linus has already done all the
knotty work of dividing up a single big buffer. And when
X (or MGR) comes, coexistance should be easy.
Finally, setterm.c will be changed to no longer consult your terminal
type. Else, you will note that con132x44 does not allow setterm to
do anything.
Sorry about all this mess, but due to my situation (sob, sob), I
don't have all that much time to devote to Linux. Most of the
stuff I submitted to Linus was, shall we say, half baked, but
well intentioned. But I am ecstatic to play any part in it.
In fact, it looks like Linus and I, between us, have managed
to pound out a design for shared libraries that is excruciatingly
simple to implement. That is what I will be working on next,
(unless Linus beets me to the punch).
--[0413]--
[0414] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/15/92 15:27 (29 lines)
Subject: policy for accepting patches to 0.12
Date: Wed, 15 Jan 1992 22:09:37 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
To: Linux-activists@joker.cs.hut.fi
Ok, I forgot to mention this in my last post, but I'm afraid I'll have
to warn all of you that want to implement a new feature: I will not
accept big non-localized patches to 0.12. This doesn't mean you cannot
implement something neat, but it does mean that it probably won't be in
0.13 unless it's so neat I cannot live without it.
There are good reasons for this: I'll have to do some studuing that I
missed the last semester due to working on linux, and the courses start
tomorrow. That was one of the reasons for the fixed release-date of the
current version.
Also, VFS support (which is missing in 0.12, although there were
alpha-patches for it) will probably be implemented for 0.13, and I need
a relatively clean kernel for that: as pmacdona found out, the patches
that get in put after other patches have to be extensively edited to
fit.
This does NOT mean that I won't accept bug-reports and patches. Also,
it doesn't mean I won't accept the init/login package: I assume that
won't touch the kernel very much. I hope this won't be a big problem:
most of the things people wanted are in 0.12. And with VFS we'll
eventually get the longer filenames that was also high on the list of
wanted things.
Linus
--[0414]--
[0416] daemon@ATHENA.MIT.EDU (Steve McCoole ) Linux_Activists 01/15/92 16:42 (20 lines)
Subject: Adaptec SCSI driver work underway?
From: smm@acd4.acd.com ( Steve McCoole )
To: linux-activists@joker.cs.hut.fi
Date: Wed, 15 Jan 92 15:37:13 EST
Greetings,
Does anyone know of any current work underway on a Linux SCSI
driver for the Adaptec 154x series? I'd really be interested
in Linux but all I have available to me is a SCSI drive ( have
to cross-develop and experiment on the same disk, not good.. ).
I'm also not really clear on what type of setup was needed
under Minix(?) to do cross development for Linux if I under
took working on this myself.
Thanks!
Steve
--
Steve McCoole | smm@acd4.acd.com / uunet!acd4!smm
Applied Computing Devices, Inc.
Terre Haute, IN "The Silicon Cornfield"
--[0416]--
[0417] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/15/92 18:17 (30 lines)
Subject: Re: Adaptec SCSI driver work underway?
To: smm@acd4.acd.com ( Steve McCoole ), linux-activists@joker.cs.hut.fi
In-Reply-To: Your message of Wed, 15 Jan 92 15:37:13 -0500.
Date: Wed, 15 Jan 92 15:57:59 MST
From: drew@hazelrah.cs.Colorado.EDU
Greetings,
Does anyone know of any current work underway on a Linux SCSI
driver for the Adaptec 154x series? I'd really be interested
in Linux but all I have available to me is a SCSI drive ( have
to cross-develop and experiment on the same disk, not good.. ).
I'm also not really clear on what type of setup was needed
under Minix(?) to do cross development for Linux if I under
took working on this myself.
Thanks!
Steve
--
Steve McCoole | smm@acd4.acd.com / uunet!acd4!smm
Applied Computing Devices, Inc.
Terre Haute, IN "The Silicon Cornfield"
--------
If it hasn't been lost, you might want to write the low level interface part
of what i'm working on - I've got disk and tape drivers on the way that are
independant of the SCSI host and low level software. The final (I think)
revision of the interface hosts.h and scsi.h files were posted to the
mailing list.
--[0417]--
[0418] daemon@ATHENA.MIT.EDU (Tad Hunt) Linux_Activists 01/15/92 18:21 (15 lines)
Subject: Linux-0.12
From: hunt@cthulhu.control.com (Tad Hunt)
To: linux-activists@joker.cs.hut.fi
Date: Wed, 15 Jan 92 17:59:23 EST
I'm having a problem booting the new Linux 0.12 bootimage disk.
I downloaded it, uncompressed and wrote it to a 1.44MB disk with RaWrite.
Unfortunately, when I boot, I get this:
(some IBM graphics character)
Loa
And the system halts. I don't know what's wrong since Linux-0.11 worked fine.
Does this have something to do with the graphics card detection? I have
an ET4000-based SVGA card, if that matters. Any suggestions?
--[0418]--
[0419] daemon@ATHENA.MIT.EDU (Tad Hunt) Linux_Activists 01/15/92 18:33 (21 lines)
Subject: Re: Linux-0.12
From: hunt@cthulhu.control.com (Tad Hunt)
To: drew@hazelrah.cs.Colorado.EDU
Date: Wed, 15 Jan 92 18:17:45 EST
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: <199201152316.AA07001@hazelrah.cs.Colorado.EDU>; from "drew@hazelrah.cs.Colorado.EDU" at Jan 15, 92 4:16 pm
> Has linux bootstrapped (Ie the loading..... mesage finished)?
>
> Do you get hex numbres too - or a single character?
>
>
>
No, that's the problem... It starts to say "Loading..."
but only gets to "Loa" when it freezes.
At first I thought it was a bad download but I went and downloaded
the file again, compared the file size to the original but it still
won't work.
So basically I get a single graphics character (same one every time)
and "Loa" and that's it.
--[0419]--
[0420] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/15/92 18:34 (37 lines)
Subject: Re: Linux-0.12
To: hunt@cthulhu.control.com (Tad Hunt)
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Your message of Wed, 15 Jan 92 18:17:45 -0500.
Date: Wed, 15 Jan 92 16:24:05 MST
From: drew@hazelrah.cs.Colorado.EDU
--------
> Has linux bootstrapped (Ie the loading..... mesage finished)?
>
> Do you get hex numbres too - or a single character?
>
>
>
No, that's the problem... It starts to say "Loading..."
but only gets to "Loa" when it freezes.
At first I thought it was a bad download but I went and downloaded
the file again, compared the file size to the original but it still
won't work.
So basically I get a single graphics character (same one every time)
and "Loa" and that's it.
--------
Your binary is corrupt - Loading is printed in a single int 10h call, so at
least that much should be printed. The graphics character and hang would
indicate the boot sector had been corrupted. You might examine it with
debug or NU and look at the Loading message, etc, and compare a disassembly
to the source.
probably isn't getting to the first int 13h call.
--[0420]--
[0421] daemon@ATHENA.MIT.EDU (Jon Tombs) Linux_Activists 01/15/92 19:16 (38 lines)
Subject: Linux install
Date: Wed, 15 Jan 1992 23:15:00 +0000
From: Jon Tombs <jon@robots.oxford.ac.uk>
To: linux-activists@joker.cs.hut.fi
:->From simonm%uk.ac.glasgow.dcs@fi.hut.santra Wed Jan 15 23:32:57 1992
:->Also, am I the first UK 'customer'?
Maybe not :-).
I've just got round to installing linux on my hard disk, after being
suitably impressed with the 0.11 bootable images. I've today ordered
a second disk so until that arrives I'm sorry that I won't be doing any
programing.
A couple of points:
In the INSTALL documents it asks you to (in a for loop):
cp -r /dev /user
Not surprisingly this hangs as cp trys to read the devices and doesn't cp
special devices (well it didn't for me!). Can I suggest the documentation
changes to:
uncompress < /usr/bin/tar.Z > /user/tar
/user/tar xf - bin dev etc usr tmp | (cd /user ; tar xfv -)
which will copy the /dev entries.
Also has anyone got the -M (multivolumes) to work? I get EIO at the end
of disk and never asked for the next volume.
Thanks for a fun time.
Jon.
---
_________
/ <jon@uk.ac.oxford.robots> UK
/ _ __ <...!mcsun!ukc!robots.oxford.ac.uk!jon> Uck
(_/ (_) / / <jon%robots.oxford.ac.uk@nsfnet-relay.ac.uk> World
--[0421]--
[0425] daemon@ATHENA.MIT.EDU (Robert Blum) Linux_Activists 01/15/92 21:19 (11 lines)
Subject: All V0.12 stuff is now available on tupac-amaru
Date: Thu, 16 Jan 92 03:09:24 +0100
From: blum@cip-s01.informatik.rwth-aachen.de (Robert Blum)
To: linux-activists@joker.cs.hut.fi
The subject says it all... And my apologies to all who downloaded
the corrupted (0 Byte) bootimage of 0.12
This is corrected now
C U l8r
Robert Blum
--[0425]--
[0426] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/15/92 22:55 (10 lines)
Subject: kermit send/receive
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
To: linux-activists@joker.cs.hut.fi
Date: Wed, 15 Jan 92 22:46:21 EST
I cannot seem to send/receive files since I started using 0.12
I think the problem lies in the virtual consoles because I know I cannot
upload/download when I am rlogged-in to one of my other accounts at school.
Is there a way around this? It would be nice to upload/download in the
background by using the virtual consoles. Does anyone have any comments or
suggestions?
--[0426]--
[0427] daemon@ATHENA.MIT.EDU (Teresa Selling) Linux_Activists 01/15/92 23:06 (8 lines)
Subject: Availability of additional 0.12 files at tsx-11
Date: Wed, 15 Jan 92 22:53:18 est
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
To: linux-activists@joker.cs.hut.fi
Does anyone know when the fileutil.tar.Z utils.tar.Z ... new include and
library files for ver 0.12 will be available at tsx-11?

--[0427]--
[0428] daemon@ATHENA.MIT.EDU (boltonja@cs.rose-hulman.edu) Linux_Activists 01/15/92 23:21 (14 lines)
Subject: virtual consoles?
Date: Wed, 15 Jan 92 23:14:19 EST
From: boltonja@cs.rose-hulman.edu
To: linux-activists@joker.cs.hut.fi
Can someone please tell me how to use the virtual consoles under
Linux? I can switch to the alternate consoles, but there is no command
prompt. I am relatively new to the Unix world, so I am probably missing
something simple.
Also, how do I take advantage of the alternate SVGA screen modes?
Thanks.
Jerry Bolton, Jr.
--[0428]--
[0429] daemon@ATHENA.MIT.EDU (Andrew Gillham) Linux_Activists 01/15/92 23:43 (61 lines)
Subject: Re: Linux
Date: Wed, 15 Jan 92 23:35:49 -0500
From: gillham@edmund.cs.andrews.edu (Andrew Gillham)
To: tim@maths.tcd.ie
In-Reply-To: <1992Jan13.141829.2257@maths.tcd.ie>
Cc: linux-activists@joker.cs.hut.fi
In article <1992Jan13.141829.2257@maths.tcd.ie> you write:
>Is any independent person actually running Linux,
>and can give an opinion on its merits
>vis-a-vis 386-Minix?
I've used both, Minix386 about 6months ago, Linux for the last month.
Linux is a lot faster I feel, and ports better according to people on
the mailing list. It is compiled with gcc, and feels pretty stable
and solid. I would suggest you give it a go for a couple of days
and see how you like it.
>While I could be convinced on this,
>it seems to me pretty unlikely on the face of it
>that anyone could really write a reliable operating system
>from scratch in a short time.
>After all, it took Tanenbaum years to write Minix,
>and he worked night and day without stop,
>and had a team working under him too.
>One only has to look at the sources
>to see the sheer intellectual work involved
>in such an enterprise.
Then Linus is a f**king code poet. I don't know how long he's been
working on it, but if it's been "months" I'd be *super* impressed!
Right now I'm just real impressed.. :-)
Seriously though there have been quite a few contributions from other
net.code.poets to Linux so it's not like it was a total one man effort,
though Linus seems to have done most the core operating system stuff.
I'd suggest you send a note to "linux-activists-request@joker.cs.hut.fi"
and ask to be put on the mailing list if you're real interested or that
you just download linux itself and play with it or read some of the release
notes and/or code if you're just mildly intrigued. I don't have a lot
of time to dedicate to development (ok, none really) but I *really* like
the idea of a free, evolving (rapidly) UNIX clone that isn't "owned" by
a big company like Prentice-Hall and has all the hassles (and costs) that
come along with commercialization. It's Linus' system but because it's
free (except for your net connections) I think it has the potential to
become a popular, well supported (ports) system..
(ok, I got carried away..basic thought: I like it!)
>Timothy Murphy
>e-mail: tim@maths.tcd.ie
>tel: +353-1-2842366
>s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland
-Andrew
--
=====================================================================
Andrew Gillham ****** Andrews University ****** (gillham@andrews.edu)
I would've added a cool .signature, but I already mailed this letter.
--[0429]--
[0430] daemon@ATHENA.MIT.EDU (Humberto Ortiz-Zuazaga) Linux_Activists 01/15/92 23:49 (31 lines)
Subject: Re: virtual consoles?
Date: Wed, 15 Jan 92 23:37:48 EST
From: zuazaga@ucunix.san.uc.EDU (Humberto Ortiz-Zuazaga)
In-Reply-To: <9201160414.AA17439@cs.rose-hulman.edu>; from
To: boltonja@cs.rose-hulman.edu
Cc: linux-activists@joker.cs.hut.fi (Linux activists)
Reply-To: zuazaga@ucunix.san.uc.EDU
X-Envelope-To: linux-activists@joker.cs.hut.fi
boltonja@cs.rose-hulman.edu wrote:
> Can someone please tell me how to use the virtual consoles under
> Linux? I can switch to the alternate consoles, but there is no command
> prompt. I am relatively new to the Unix world, so I am probably missing
> something simple.
first do: doshell /dev/tty2 sh &
Then switch to tty2 (Left ALT - F2) and bingo! Shell prompt. This is
real neat.
By the way, in case any of you were wondering, your serial ports are now
on /dev/tty64 and /dev/tty65.
> Also, how do I take advantage of the alternate SVGA screen modes?
I pass on this one.
--
Humberto Ortiz-Zuazaga INTERNET: zuazaga@ucunix.san.uc.edu
Dept. of Physiology & Biophysics BITNET: picone@ucbeh
University of Cincinnati CIS: 72301,2303
--[0430]--
[0431] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/16/92 00:32 (66 lines)
Subject: Re: Availability of additional 0.12 files at tsx-11
Date: Thu, 16 Jan 92 00:26:51 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: Teresa Selling <tselling@natasha.iusb.indiana.edu>
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Teresa Selling's message of Wed, 15 Jan 92 22:53:18 est,
Reply-To: tytso@athena.mit.edu
Date: Wed, 15 Jan 92 22:53:18 est
From: Teresa Selling <tselling@natasha.iusb.indiana.edu>
Does anyone know when the fileutil.tar.Z utils.tar.Z ... new include and
library files for ver 0.12 will be available at tsx-11?
They're there now. My apologies for the delay. First it took a while
because I couldn't log into nic.funet.fi (because too foreign users were
logged in), and then I was away at a wine tasting class (we did white
wines tonight; yum! :-)
Also, someone (qpliu@phoenix.prinnceton.edu from the source files) has
uploaded to TSX-11 a quick and dirty implementation of init/login. I've
placed it in ~ftp/pub/linux/sources/sbin on TSX-11, and I've also
forwarded a copy to nic.funet.fi. It looks pretty minimal and
bare-bones (it doesn't appear to support run levels), but it appears to
be functional.
Perhaps this and the other init development efforts can be merged
together, with the best code being taken from each.
The README file for the qpl init/login follows:
------------------------------------------------------------------
Although there are other people working on init/getty/login,
I couldn't wait. Being dumped into root is not so nice.
There is no getty here. I put /bin/login in the getty field of /etc/ttytab.
What is here:
a patch to init/main.c that makes it exec /etc/init.
init.c
getttyent.c
getttynam.c
ttyent.h (from BSD)
login.c
init.c:
written based on sunos init(8) manpage. differences are
that the -sb switches are ignored, the window="command" in
/etc/ttytab is ignored, runs only /etc/rc and ignores
the result code, utmp and wtmp are not updated, SIGTERM
is ignored, does not create /etc/ttys, and any
undiscovered bugs.
since the manpage doesn't say how the getty entry in
/etc/ttytab is parsed, using strtok seems reasonable.
works for /dev/tty0 in 0.11. should be able to hang
terminals off the serial ports, but i can't test it
without terminals or cables.
getttyent.c, getttynam.c, ttyent.h:
functions to read /etc/ttytab.
login.c:
does the basic login stuff. accepts and ignores -p switch.
uses stuff in getttyent.o and getttynam.o to set TERM.
makes a better filler in /etc/ttytab than /bin/sh, making
it easier to avoid being root.
--[0431]--
[0432] daemon@ATHENA.MIT.EDU (Timothy L. Kay) Linux_Activists 01/16/92 01:21 (59 lines)
Subject: Use PERL rather than C for system commands?
From: tim@pokey.cs.caltech.edu (Timothy L. Kay)
To: linux-activists@joker.cs.hut.fi
Date: Wed, 15 Jan 92 22:08:25 -0800
I've been following the Linux discussion with great interest, and I
hope to download a copy and try it as soon as I have time.
I'd like to make a suggestion to the activists group. The suggestion
goes against the grain of typical Unix system administrator
philosophy, but I think the suggestion warrants serious consideration.
Here is my suggestion.
It seems to me that the language PERL is ideal for implementing many
of the pieces that are currently missing from Linux. For example,
init, getty, login, shutdown, halt, cron, inetd, etc. could very
easily be written in PERL rather than C. Most OS-support programs
(including the ones mentioned previously) are not time critical. They
run very infrequently, and the performance degradation (if there is
any) should be inconsequential.
There are several advantages to using PERL rather than C.
First of all, programs would take up much less disk space and RAM. It
is true that the PERL executable must be in RAM in order to run a PERL
program, but only one copy ever need be in RAM at any time, and I
think the savings elsewhere will more than make up the difference.
(On my workstation, the PERL .text section is about 4 times as large
as the login .text section. If perhaps four or five memory-resident
programs are replaced by PERL scripts, the break-even point is
reached.) Also, if the PERL executable is always resident, then
loading PERL programs from disk should require very little time.
A more obvious advantage is that writing PERL programs is much less
time-consuming that writing C programs. This is due to the fact that
the compile step gets skipped, and because PERL has a built-in
debugger.
Third, I find PERL a *much* better script language than either sh or
csh.
Additionally, PERL contains special support to aid in writing secure
programs. It is easier to write secure SUID programs in PERL than it
is in C.
Finally, PERL scripts are architecture-independent. If Linux ever
gets ported to multiple architectures (which I am guessing it will),
all support programs written in PERL port with no effort at all.
There are several disadvantages to using PERL.
First of all, PERL must be ported to Linux. Of course, PERL should be
ported to Linux whether or not my suggestion is adopted.
PERL is a very *expert* friendly language. Learning to program in
PERL involves a steep learning curve. It takes quite a bit of
practice to become proficient at writing in PERL. I believe the
effort is well spent.
--[0432]--
[0433] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/16/92 01:57 (17 lines)
Subject: Re: virtual consoles?
To: linux-activists@joker.cs.hut.fi (Linux activists)
Date: Wed, 15 Jan 92 23:42:42 MST
From: drew@hazelrah.cs.Colorado.EDU
> Also, how do I take advantage of the alternate SVGA screen modes?
--------
If your SVGA chipset is supported, you get a prompt to choose a screen
mode, or continue for normal EGA operation.
(Personally, I like the 132 X 60)
--[0433]--
[0434] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/16/92 02:19 (20 lines)
Subject: PERL
Date: Wed, 15 Jan 92 23:14:50 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
I am a little opposed to using PERL for development.
Because.
We already are using C for most things.
Sh script has to be there because bash is.
Everyone would have to become experts in a third language.
I mean, as far as I am concerned, I'am a little peaved that sh isn't
more like C. Going to PERL will take us even further from the KISS
principle. And..
Shared libraries are coming, so executables will be getting smaller,
and the break even point for PERL will be increased.
Don't get me wrong, DO port PERL. But sell the farm...
--[0434]--
[0435] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/16/92 02:37 (37 lines)
Subject: Re: Use PERL rather than C for system commands?
To: tim@pokey.cs.caltech.edu (Timothy L. Kay)
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Your message of Wed, 15 Jan 92 22:08:25 -0800.
Date: Thu, 16 Jan 92 00:28:19 MST
From: drew@hazelrah.cs.Colorado.EDU
It seems to me that the language PERL is ideal for implementing many
of the pieces that are currently missing from Linux. For example,
init, getty, login, shutdown, halt, cron, inetd, etc. could very
easily be written in PERL rather than C. Most OS-support programs
(including the ones mentioned previously) are not time critical. They
run very infrequently, and the performance degradation (if there is
any) should be inconsequential.
Can't do standard library calls in perl :( -
init, shutdown are definates
getty - maybe
cron - probably want to use alarms for the next event, so no
inetd - we want to use listen, so no
Third, I find PERL a *much* better script language than either sh or
csh.
Agreed! Let's get perl for Linux.
Finally, PERL scripts are architecture-independent. If Linux ever
gets ported to multiple architectures (which I am guessing it will),
all support programs written in PERL port with no effort at all.
Non-issue : any of the programs mentioned above, halt excepted (If we
are to code in an infinite loop with interrupts disabled) will go
no deeper than mayuking system calls.
--------
--[0435]--
[0436] daemon@ATHENA.MIT.EDU (Karl Heinz Kremer) Linux_Activists 01/16/92 02:46 (23 lines)
Subject: Problems with bootimage
Reply-To: kremer@sisd.sisd.Kodak.COM
Date: Thu, 16 Jan 92 08:37:05 +0100
From: kremer@sisd.sisd.Kodak.COM (Karl Heinz Kremer)
To: linux-activists@joker.cs.hut.fi
Hi linux specialists,
i've downloaded the linux software yesterday and tried to create the boot disk. I write the bootimage to a 360k and 1.2M disk with rawrite and used both as bootdisk. In both cases i got the following output on my screen:
Loading.
@X:0404
AX:020A
000
CX:0006
DX:0000.
@X:0404
AX:020A
and so on. What is my problem? Is the bootimage corrupted, or is my machine not able to hanlde linux (386SX 16MHz)?
Thanks for your help
Karl Heinz
--[0436]--
[0437] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/16/92 02:49 (13 lines)
Subject: Re: Filesystem
To: juan@noyles.pha.pa.us (Juan Jose T. Noyles)
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Your message of Sun, 12 Jan 92 18:13:47 -0500.
Date: Thu, 16 Jan 92 00:42:13 MST
From: drew@hazelrah.cs.Colorado.EDU
Does Linux use the same format as DOS?
--------
Nope. Supposedly, it uses a minix file system.
--[0437]--
[0438] daemon@ATHENA.MIT.EDU (Mark Denovich) Linux_Activists 01/16/92 03:00 (36 lines)
Subject: How to get Started
Date: Thu, 16 Jan 1992 02:46:53 -0500 (EST)
From: Mark Denovich <md3z+@andrew.cmu.edu>
To: linux-activists@joker.cs.hut.fi
Cc:
I just learned of Linux today. I have a few questions:
What files do I need to get this running?
Where?
How Much disk space do I need?
Does linux support communications? (i.e. Token Ring card)
Thanks,
Mark Denovich
Computer Consultant
Carnegie Mellon University
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ Mark "it's only a small blast furnace" Denovich @@
@=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=@
@ md3z@andrew.cmu.edu or r746md3z @vb.cc.cmu.edu @
@ phone: (412)-268-406 Standard Disclaimers Apply @
@ Quotes: 'Hey I smell smoke' - Eric Furst @
@ 'Aggggh my computer!!!!!' -me @
@ 'fizzle'- computer @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--[0438]--
[0439] daemon@ATHENA.MIT.EDU (ury segal) Linux_Activists 01/16/92 03:14 (13 lines)
Subject: swaping
From: ury segal <ury@cs.huji.ac.il>
Date: Thu, 16 Jan 92 10:07:23 +0200
To: linux-activists@joker.cs.hut.fi
I have a 25Mhz 386 running linux. I have 40M hard disk, which divide into
2 patritions: 32M for the root and (hopefully) 8M for swap. Althow
I read in the release note that mkswap is avleable on the root disk,
I couldn't find it. Can someone tell me where is it ?
Also, What about TCP/IP? s someone working on it?
and ; where is /usr/include ?
--ury
--[0439]--
[0440] daemon@ATHENA.MIT.EDU (IJW11@phx.cam.ac.uk) Linux_Activists 01/16/92 03:14 (9 lines)
Subject: No subject found in mail header
Date: Wed, 15 Jan 92 14:56:28 GMT
From: IJW11@phx.cam.ac.uk
To: linux-activists@joker.cs.hut.fi
I'm interested in a UK keyboard too. The American one is infuriating. I've
just repaired my machine (faulty RAM) so I have enough memory to compile, so
I can probably do one within two days or so.
Ian Wells.
--[0440]--
[0441] daemon@ATHENA.MIT.EDU (IJW11@phx.cam.ac.uk) Linux_Activists 01/16/92 03:17 (8 lines)
Subject: No subject found in mail header
Date: Tue, 14 Jan 92 02:59:22 GMT
From: IJW11@phx.cam.ac.uk
Apparently-To: Linux-activists@niksula.hut.fi
Has anybody done a British keyboard yet? The American one is getting infuriating.
I'll do one if no-one else has, but I'm lazy... 8-)
Ian Wells
--[0441]--
[0442] daemon@ATHENA.MIT.EDU (Rwo-Hsi Wang) Linux_Activists 01/16/92 03:18 (12 lines)
Subject: Linux and ESDI
From: rhwang@cs.utexas.edu (Rwo-Hsi Wang)
Date: Thu, 16 Jan 1992 02:08:19 -0600
To: linux-activists@joker.cs.hut.fi
Does Linux support ESDI hard drive? I checked the mail archive of Linux
but couldn't find an absolute confirmation to this question. (Linus put
"ESDI drives should work ok, but ...". Another person mentioned that his/her
ESDI drive didn't seem to like Linux.)
Thanks.
Rwo-Hsi
--[0442]--
[0443] daemon@ATHENA.MIT.EDU (Rwo-Hsi Wang) Linux_Activists 01/16/92 03:23 (12 lines)
Subject: Linux and ESDI
From: rhwang@cs.utexas.edu (Rwo-Hsi Wang)
Date: Thu, 16 Jan 1992 02:08:19 -0600
To: linux-activists@joker.cs.hut.fi
Does Linux support ESDI hard drive? I checked the mail archive of Linux
but couldn't find an absolute confirmation to this question. (Linus put
"ESDI drives should work ok, but ...". Another person mentioned that his/her
ESDI drive didn't seem to like Linux.)
Thanks.
Rwo-Hsi
--[0443]--
[0444] daemon@ATHENA.MIT.EDU (Mika Matti Jalava) Linux_Activists 01/16/92 03:30 (28 lines)
Subject: Re: Linux and ESDI
From: Mika Matti Jalava <r36110m@kaira.hut.fi>
To: linux-activists@joker.cs.hut.fi
Date: Thu, 16 Jan 92 10:19:51 EET
In-Reply-To: <9201160808.AA25887@cs.utexas.edu>; from "Rwo-Hsi Wang" at Jan 16, 92 2:08 am
> Does Linux support ESDI hard drive? I checked the mail archive of Linux
> but couldn't find an absolute confirmation to this question. (Linus put
> "ESDI drives should work ok, but ...". Another person mentioned that his/her
> ESDI drive didn't seem to like Linux.)
I have been writing about my ESDI disk every now and then. Now it
SEEMS to work OK, but be warned: if I get any read errors, the system
just hangs, doesn't even boot with ctrl-alt-del. Also I had to remove
the printk statement in hd.c that puts "unexpected hd interrupt" on
the screen, because I was getting so many of those messages that
sometimes I couldn't see anything else on the screen. Luckily I had
other drives to compile a new system.
I am going to try fixing the driver so that the interrupt gets handled
as it should, but it might take some time as I'm not experienced
systems programmer. Anyway, the hd driver LOOKS simple enough for me
to try. But first I have to find some info on the ESDI controller, so
I'll know what it wants.
In the meantime, you should be able to use ESDI drives, if you can
live with these nuisances.
Mika
--[0444]--
[0445] daemon@ATHENA.MIT.EDU (ury segal) Linux_Activists 01/16/92 03:31 (13 lines)
Subject: swaping
From: ury segal <ury@cs.huji.ac.il>
Date: Thu, 16 Jan 92 10:07:23 +0200
To: linux-activists@joker.cs.hut.fi
I have a 25Mhz 386 running linux. I have 40M hard disk, which divide into
2 patritions: 32M for the root and (hopefully) 8M for swap. Althow
I read in the release note that mkswap is avleable on the root disk,
I couldn't find it. Can someone tell me where is it ?
Also, What about TCP/IP? s someone working on it?
and ; where is /usr/include ?
--ury
--[0445]--
[0446] daemon@ATHENA.MIT.EDU (ury segal) Linux_Activists 01/16/92 03:53 (13 lines)
Subject: swaping
From: ury segal <ury@cs.huji.ac.il>
Date: Thu, 16 Jan 92 10:07:23 +0200
To: linux-activists@joker.cs.hut.fi
I have a 25Mhz 386 running linux. I have 40M hard disk, which divide into
2 patritions: 32M for the root and (hopefully) 8M for swap. Althow
I read in the release note that mkswap is avleable on the root disk,
I couldn't find it. Can someone tell me where is it ?
Also, What about TCP/IP? s someone working on it?
and ; where is /usr/include ?
--ury
--[0446]--
[0447] daemon@ATHENA.MIT.EDU (drew@kinglear.cs.colorado.edu) Linux_Activists 01/16/92 03:53 (95 lines)
Subject: Re: Problems with bootimage
To: kremer@sisd.sisd.kodak.com
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Your message of Thu, 16 Jan 92 08:37:05 +0100.
Date: Thu, 16 Jan 92 01:41:02 MST
From: drew@kinglear.cs.colorado.edu
Hi linux specialists,
i've downloaded the linux software yesterday and tried to create the boot d
isk. I write the bootimage to a 360k and 1.2M disk with rawrite and used bot
h as bootdisk. In both cases i got the following output on my screen:
Currently, unless you patch the boot image, Linux will not boot off of a
360K disk in a 1.2M drive. Messy-Loss hard codes the number of sectors
into the boot image, where as Linux finds the number from the BIOS.
Problem is that the BIOS returns the MAXIMUM capacity of the drive, not
what the current disk has on it.
As far as the 1.2, the error dump shows that it was probably formatted
as a 360K disk.
This is the error dump code, working perfectly in the MASM version of the
source, binged by me on the translation back to Unix assembler
(Perl script was one way.)
I should probably explain it :
The loading prompy prints one '.' for each track read, before it is read.
The Loading. means a read was attempted on the first track
Loading.
I left off a conditional jump in the translation to Bruce's assembler
syntax, so a register was printed where it should have been,
but the first hex number is the return code (from AX) of the failed
int 0x13.
ah = error code, 4, I believe sector not found?
al = sectors successfully read.
@X:0404
After that, the registers as they were on entry to the int 0x13 call are
printed so we know exactly what is going on.
AX:020A
000
CX:0006
DX:0000.
AH = 2 read
AL = sectors requested
bx = address
CL is the starting sector, 6
CH is the track
DH is the head
DL is the disk
This means that the read of ten sectors, starting at sector 6 head 0
disk 0 cylinder 0 failed after successfully reading four sectors starting at
sector 6. Means sector 10 was not found, 9 sector diskette,
or perhaps CMOS setup wrong.
Try reformatting a disk with format a: /n:15 /t:80 and rawrite to that.
CMOS setting of the floppy.
@X:0404
AX:020A
K eeps retrying.
and so on. What is my problem? Is the bootimage corrupted, or is my machine
not able to hanlde linux (386SX 16MHz)?
Thanks for your help
Karl Heinz
Floppy disk problem, no more.
--------
Well, I'll fix the cosmetics of the error dump, and can also fix it so that
if a sector is
not found, it changes sector count to that, so it can adjust itself to
9 sector disks. Any other sugestions?
--[0447]--
[0448] daemon@ATHENA.MIT.EDU (Nicolas CAILLAUD ) Linux_Activists 01/16/92 04:19 (9 lines)
Subject: Re: Linux & Mgr
From: nicolas@cli52fb.edf.fr ( Nicolas CAILLAUD )
To: linux-activists@joker.cs.hut.fi
Date: Thu, 16 Jan 92 8:38:24 MET DST
MGR is the Bellcore Window Manager
See Comp.os.minix, certainly also
comp.sources.unix
Nicolas
--[0448]--
[0451] daemon@ATHENA.MIT.EDU (Lars Wirzenius) Linux_Activists 01/16/92 05:41 (11 lines)
Subject: Re: Linux
Date: Thu, 16 Jan 92 12:27:46 +0200
From: wirzeniu@cs.Helsinki.FI (Lars Wirzenius)
To: tim@maths.tcd.ie, gillham@edmund.cs.andrews.edu
Cc: linux-activists@joker.cs.hut.fi
> Then Linus is a f**king code poet. I don't know how long he's been
> working on it, but if it's been "months" I'd be *super* impressed!
> Right now I'm just real impressed.. :-)
I think he's been at it since about April, 1991. Can't be much longer than
that, since he didn't get a 386 until spring 1991.
--[0451]--
[0452] daemon@ATHENA.MIT.EDU (Jack Dunn) Linux_Activists 01/16/92 07:44 (14 lines)
Subject: Obtaining Linux
Date: Thu, 16 Jan 92 07:31:27 EST
From: Jack Dunn <jack@headless.larc.nasa.gov>
To: Linux-Activists@joker.cs.hut.fi
I am interested in obtaing the source
to Linux. Could you please tell
where I can ftp the sources from.
I am also interested in being
added to your mailing list.
Jack Dunn
jack@headless.larc.nasa.gov (128.155.20.25)
--[0452]--
[0453] daemon@ATHENA.MIT.EDU (ury segal) Linux_Activists 01/16/92 08:39 (11 lines)
Subject: easyest way
From: ury@mosque.huji.ac.il (ury segal)
Date: Thu, 16 Jan 92 15:06:03 +0200
To: linux-activists@joker.cs.hut.fi
What is the easyest way to move files from my sun to the linux machine?
I'm tyerd of using the diskkets, so I thout to use the RS232 port I have,
and connect it to the Sun's, and use kermit. Does someone ever tryed that?
--ury
--[0453]--
[0454] daemon@ATHENA.MIT.EDU (Jon Allen Boone) Linux_Activists 01/16/92 10:22 (8 lines)
Subject: Short Introduction to Linux please
Date: Thu, 16 Jan 1992 07:56:29 -0500 (EST)
From: Jon Allen Boone <jb3o+@andrew.cmu.edu>
To: Linux-Activists@joker.cs.hut.fi
Reply-To: jb3o+linux@andrew.cmu.edu
Cc: Jon Allen Boone <jb3o+linux@andrew.cmu.edu>
--[0454]--
[0455] daemon@ATHENA.MIT.EDU (Timothy Cullip) Linux_Activists 01/16/92 10:28 (30 lines)
Subject: Uncompress corrupting files
Date: Thu, 16 Jan 92 10:05:42 -0500
From: Timothy Cullip <cullip@cs.unc.edu>
To: linux-activists@joker.cs.hut.fi
I am new to Linux (I've installed 0.12 and used it for less than 2 hours).
It looks great!
So far I've found one problem: uncompress can do weird things.
This is what I did:
cd /
mkdir test
cp bin/* test
cd test
compress *
uncompress *
What everything seemed fine up to and through the compress. But
uncompress * resulted in some of the files uncompressing fine and
others not. The ones that didn't typically left the .Z file and a
corresponding non .Z file (that was bad - like 0 bytes).
If I did an uncompress on each file individually by name (rather than
using the wildcard *) all is fine.
Is it the fault of uncompress, or the wildcard *, or am I doing something
stupid?
Tim Cullip
cullip@cs.unc.edu
--[0455]--
[0456] daemon@ATHENA.MIT.EDU (Jay Maynard) Linux_Activists 01/16/92 10:44 (18 lines)
Subject: Boot problem with 0.11
Date: Thu, 16 Jan 92 09:26 CST
To: linux-activists@joker.cs.hut.fi
From: Jay Maynard <S0JM@ADMIN.HSC.UTH.TMC.EDU>
(Yes, I know 0.12 is out. Will it fix this problem?)
System hardware is Mylex 386SX-16 motherboard with 7.5 MB of RAM, an Everex
EV332 ST506/MFM disk controller, and a Seagate ST251 40 meg disk.
When I try to boot 0.11, I get an error message complaining that the hard
disk controller reset got a return code of D2 or D0, and a kernel panic.
This happens no matter whether I boot up from power off, from the front
panel reset switch after booting DOS, or with an Alt-Ctrl-Delete from DOS.
Is my hardware flaky? Is my hardware even supported? How do I go about
figuring out the problem?
...Jay Maynard
--[0456]--
[0457] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/16/92 10:50 (38 lines)
Subject: Re: Uncompress corrupting files
Date: Thu, 16 Jan 1992 17:35:42 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: Timothy Cullip's message as of Jan 16, 10:05
To: Timothy Cullip <cullip@cs.unc.edu>, linux-activists@joker.cs.hut.fi
Timothy Cullip: "Uncompress corrupting files" (Jan 16, 10:05):
> uncompress *
Ok, this has come up before. The bug is (I'm told) in the
estdio/compress pair: either compress does something it shouldn't really
do, or estdio has a subtle bug that shows up /only/ with compress, but
the fact is that [un]compress doesn't like several arguments. There
should be a fix for this (a patch to estdio), but I have never seen it.
Do the uncompresses one by one (or in a for-loop), and things are well.
Someone:
> kermit on 0.12 doesn't work.
Yet another thing I forgot to say about the new release: the device
numbers for tty's have changed: tty0 is now a "general console" - it
always uses the current console to read/write things (current at the
time of the system call), tty1-63 are reserved for virtual consoles,
tty64-127 are reserved for serial io (possibly line printer: how about
making it a tty-device?) and tty128- are reserved for pty's.
The com1 is now called /dev/tty64, and com2 is called /dev/tty65. Users
of the alpha vc package for 0.11 will recognize this numbering. Hope
this was the only problem.
Yet someone else:
> Cannot find mkswap & include.tar.Z
mkswap was intended to be on the root disk, but I forgot it: it can be
found at least on nic: /pub/OS/Linux/bin/mkswap. include.tar.Z is in the
kernel subdir. I think the other sites have them too - search for them
from the closest site first.
Linus
--[0457]--
[0458] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/16/92 11:14 (28 lines)
Subject: Re: Uncompress corrupting files
Date: Thu, 16 Jan 92 11:00:02 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
Cc: Timothy Cullip <cullip@cs.unc.edu>, linux-activists@joker.cs.hut.fi
In-Reply-To: Linus Benedict Torvalds's message of Thu, 16 Jan 1992 17:35:42 +0200,
Reply-To: tytso@athena.mit.edu
Date: Thu, 16 Jan 1992 17:35:42 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
X-Mailer: Mail User's Shell (7.1.1 5/02/90)
Timothy Cullip: "Uncompress corrupting files" (Jan 16, 10:05):
> uncompress *
Ok, this has come up before. The bug is (I'm told) in the
estdio/compress pair: either compress does something it shouldn't really
do, or estdio has a subtle bug that shows up /only/ with compress, but
the fact is that [un]compress doesn't like several arguments.
There's also a problem where if you control-C a "zcat filename", it will
often delete it's input file! I usually type "zcat <filename" because I
get paranoid....
I suspect at least some of the problems is that we're using an old
version of compress. I know I've seen patches on the net to fix at
least the zcat lossage problem.
- Ted
--[0458]--
[0459] daemon@ATHENA.MIT.EDU (Derek Lieber) Linux_Activists 01/16/92 11:15 (62 lines)
Subject: uncompress and estdio
Date: Thu, 16 Jan 92 10:54:37 EST
From: "Derek Lieber" <derek@watson.ibm.com>
To: Linux-activists@joker.cs.hut.fi
Attached below is a patch to estdio that was posted to comp.os.minix
awhile back. Last time I looked, the linux version of estdio did *NOT*
have these patches applied. Maybe that's what causes the uncompress
problem?
Derek Lieber
derek@watson.ibm.com
-----------------------------------attachment--------------------------------
Newsgroups: comp.os.minix
Path: arnor!bywater!uunet!uunet!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!ira.uka.de!fauern!NewsServ!rommel
From: rommel@Informatik.TU-Muenchen.DE (Kai Uwe Rommel)
Subject: Yet another bug in estdio (fread.c)
Message-ID: <1991Oct3.111254.23702@Informatik.TU-Muenchen.DE>
Sender: news@Informatik.TU-Muenchen.DE (News System)
Organization: Technische Universitaet Muenchen, Germany
Date: Thu, 3 Oct 1991 11:12:54 GMT
Lines: 38
I noticed another bug in estdio/fread.c. It does not set the _IOEOF flag
when hitting EOF during an __ioread() call.
The diff below fixes it and included the previously known bug with
readsize. I don't know if this fix catches all situations, it works for
me.
*** fread.c~ Tue Oct 30 05:33:23 1990
--- fread.c Thu Oct 3 11:17:50 1991
***************
*** 66,71 ****
--- 66,72 ----
MEMCPY(p, q, (size_t) readsize);
p += readsize;
q += readsize;
+ readsize = 0;
}
else {
do
***************
*** 105,110 ****
--- 106,114 ----
reed != 0 && (red = __ioread(fileno(fp), (char *) p, reed)) != 0;
p += red, reed -= red)
;
+
+ if (red == 0)
+ SETFLAG(fp, _IOEOF);
if (reed != 0) {
if ((readsize -= reed) >= leftover) {
Kai Uwe Rommel
/* Kai Uwe Rommel, Munich ----- rommel@informatik.tu-muenchen.de */
DOS ... is still a real mode only non-reentrant interrupt
handler, and always will be. -Russell Williams
--[0459]--
[0460] daemon@ATHENA.MIT.EDU (Humberto Ortiz-Zuazaga) Linux_Activists 01/16/92 13:32 (24 lines)
Subject: Re: Boot problem with 0.11
Date: Thu, 16 Jan 92 13:09:29 EST
From: zuazaga@ucunix.san.uc.EDU (Humberto Ortiz-Zuazaga)
In-Reply-To: <9201161528.AA13668@joker.cs.hut.fi>; from "Jay Maynard" at Jan
To: S0JM@admin.hsc.uth.tmc.EDU (Jay Maynard)
Cc: linux-activists@joker.cs.hut.fi (Linux activists)
Reply-To: zuazaga@ucunix.san.uc.EDU
X-Envelope-To: linux-activists@joker.cs.hut.fi
Jay Maynard wrote:
> (Yes, I know 0.12 is out. Will it fix this problem?)
It did for me, your milage may vary.
> When I try to boot 0.11, I get an error message complaining that the hard
> disk controller reset got a return code of D2 or D0, and a kernel panic.
I got 0.11 to work by turning off turbo mode. The 0.12 version works at
full speed, with no complaints. (Thanks Linus!)
--
Humberto Ortiz-Zuazaga INTERNET: zuazaga@ucunix.san.uc.edu
Dept. of Physiology & Biophysics BITNET: picone@ucbeh
University of Cincinnati CIS: 72301,2303
--[0460]--
[0462] daemon@ATHENA.MIT.EDU (gordon grant) Linux_Activists 01/16/92 13:52 (18 lines)
Subject: FAQ anyone ?
Date: Thu, 16 Jan 92 15:53:14 GMT
From: gg@jet.uk (gordon grant)
To: linux-activists@joker.cs.hut.fi
Is there a FAQ for this list ?
An information sheet ?
A couple of sentences to get me going ?
anything at all ? :-)
Where can I get Linux by mail ? we don't have FTP access here.
Can I run it from a partition or my SCSI disc ? (Adaptec 1542 with
Fujitsu disc).
gg@jet.uk Gordon Grant Jet Abingdon OX14 3EA UK
Voice +44 235 528822 x4822 Fax +44 235 464404
--[0462]--
[0463] daemon@ATHENA.MIT.EDU (Donald.B.Taber@SYBIL.RISC.ROCKWELL) Linux_Activists 01/16/92 13:52 (23 lines)
Date: 16 Jan 1992 08:37:29 PDT
From: Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM
To: Linux-activists@joker.cs.hut.fi
X-Vms-Original-To: LINUX
I'm new to linux and am, of course, filled with burning questions.
I've been playing with the floppy versions and am all excited about
installing it on a hard drive. I have noticed, however, that 0.12
seems to be lacking /dev/hd8 and /dev/hd9. Does this mean that I
will have trouble installing it on a 2nd (hd5) hard drive? Should
I swap hard drive positions to avoid it? I imagine that once I'm
up with sources & a compiler I can get everything straightened out.
I'm reasonably proficient in C/C++ but have only a user's knowledge
of Unix. Can anyone suggest a good reference to get me started
on the real guts of unix architecture, administrative details, etc?
Thanks.
Don Taber
dbt@victoria.risc.rockwell.com
--[0463]--
[0465] daemon@ATHENA.MIT.EDU (ury segal) Linux_Activists 01/16/92 14:02 (8 lines)
Subject: Socket for the people !
From: ury segal <ury@cs.huji.ac.il>
Date: Thu, 16 Jan 92 20:28:29 +0200
To: linux-activists@joker.cs.hut.fi
Is someone working on sockets ??? If not, I may do it.
--ury
--[0465]--
[0466] daemon@ATHENA.MIT.EDU (Timothy L. Kay) Linux_Activists 01/16/92 14:19 (15 lines)
Subject: Re: Use PERL rather than C for system commands?
From: tim@pokey.cs.caltech.edu (Timothy L. Kay)
To: linux-activists@joker.cs.hut.fi
Date: Thu, 16 Jan 92 10:55:30 -0800
I recently submitted a message suggesting that Linux use PERL as the
implementation lanugage for many of its system support programs. The
follow-ups indicated that people aren't familiar with the abilities of
PERL. To address specific points mentioned in the followup, PERL does
give access to essentially all of the Unix system calls, including
alarm() and listen(). There is no technical reason why PERL couldn't
be used; it is simply a question of whether people think the
philosophical change is justified by the advantages gained.
Tim
--[0466]--
[0467] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/16/92 14:26 (29 lines)
Subject: shoelace, and console
Date: Thu, 16 Jan 92 09:25:33 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
Beware, that the shoelace patches I posted overwrite the byte at offset
that is used for the swap device. That is because I tried to get
clever and put the "rootdev" in that is in the shoelace config file
and put it where Linux expects it, ie offset 508. It never worked,
but I never took it out of the code in shoe.c. Somehow,
it ends up at 506, where the swapdev is now stored!
So guess when I found this out, go on, take a guess.
You got it, right after I blew away my minix partition, to create
a swap partition. So I can't recompile shoelace without reinstalling
minix. I don't have the diskspace for this.
If someone out there has installed my shoelace patches, and has minix,
can you change the 508, to 510 in shoe.c at around line 548, and recompile.
Then maybe upload the executable to nic? And maybe let me know?
Also, there is a problem with special characters in console.c now.
Even reset doesn't clear it. When I figure it out, I will post
it as part of my console patch for blanking, dumping et al.
I don't want to repeat the slew of patches I put out in .11.
Peter.
--[0467]--
[0468] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/16/92 14:52 (24 lines)
Subject: No subject found in mail header
Date: Thu, 16 Jan 1992 21:19:58 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM's message as of Jan 16, 8:37
To: Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM, Linux-activists@joker.cs.hut.fi
Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM: "" (Jan 16, 8:37):
>
> I'm new to linux and am, of course, filled with burning questions.
> I've been playing with the floppy versions and am all excited about
> installing it on a hard drive. I have noticed, however, that 0.12
> seems to be lacking /dev/hd8 and /dev/hd9. Does this mean that I
> will have trouble installing it on a 2nd (hd5) hard drive?
Argghh. Yet another root-diskette bug. This one is simple to rectify:
make the new devices with;
# mknod /dev/hd8 b 3 8
# mknod /dev/hd9 b 3 9
and all should be well. I don't have hd8 and hd9, and used just a "cp
+recursive" to get the files copied to the root-diskette. I will write a
C-program to print out 1000 times:"check the rootdiskette next time".
Linus "shamefaced" Torvalds
--[0468]--
[0469] daemon@ATHENA.MIT.EDU (Arlie Davis) Linux_Activists 01/16/92 14:52 (24 lines)
Subject: Re: PERL
From: Arlie Davis <aldavi01@starbase.spd.louisville.edu>
To: linux-activists@joker.cs.hut.fi (Linux Mailing List)
Date: Thu, 16 Jan 92 14:24:46 EST
> I recently submitted a message suggesting that Linux use PERL as the
> implementation lanugage for many of its system support programs. The
> follow-ups indicated that people aren't familiar with the abilities of
> PERL. To address specific points mentioned in the followup, PERL does
> give access to essentially all of the Unix system calls, including
> alarm() and listen(). There is no technical reason why PERL couldn't
> be used; it is simply a question of whether people think the
> philosophical change is justified by the advantages gained.
>
> Tim
The technical abilities of PERL are not being questioned. But using PERL
would greatly complicate matters, when there is no storage benefit and a
performance degradation. (Before you reply that PERL is interpretted, or
interpiled, remember that very soon Linux will have shared libraries, and I
believe Linux already has shared and sticky binaries.)
--
Arlie Davis
--[0469]--
[0470] daemon@ATHENA.MIT.EDU (Timothy Cullip) Linux_Activists 01/16/92 14:53 (13 lines)
Subject: VI for Linux
Date: Thu, 16 Jan 92 12:27:29 -0500
From: Timothy Cullip <cullip@cs.unc.edu>
To: linux-activists@joker.cs.hut.fi
Is there an ftp'able vi (yes, I'm a dinosaur) binary available for Linux?
I have this sickening feeling that it will take me awhile to get gcc up
and working to the point where I can easily compile a version of
vi (e.g. elvis) so I'd like to have a binary if there is one available.
Tim Cullip
cullip@cs.unc.edu
--[0470]--
[0471] daemon@ATHENA.MIT.EDU (Arlie Davis) Linux_Activists 01/16/92 14:54 (8 lines)
Subject: newsgroup?
From: Arlie Davis <aldavi01@starbase.spd.louisville.edu>
To: linux-activists@joker.cs.hut.fi (Linux Mailing List)
Date: Thu, 16 Jan 92 14:20:35 EST
There is enough traffic here to warrant a newsgroup, wouldn't you think? Or
is the privacy worth it? comp.os.linux would be pretty impressive.
--[0471]--
[0473] daemon@ATHENA.MIT.EDU (Timothy Cullip) Linux_Activists 01/16/92 15:07 (13 lines)
Subject: VI for Linux
Date: Thu, 16 Jan 92 12:27:29 -0500
From: Timothy Cullip <cullip@cs.unc.edu>
To: linux-activists@joker.cs.hut.fi
Is there an ftp'able vi (yes, I'm a dinosaur) binary available for Linux?
I have this sickening feeling that it will take me awhile to get gcc up
and working to the point where I can easily compile a version of
vi (e.g. elvis) so I'd like to have a binary if there is one available.
Tim Cullip
cullip@cs.unc.edu
--[0473]--
[0474] daemon@ATHENA.MIT.EDU (Corvin Zahn) Linux_Activists 01/16/92 15:10 (10 lines)
Subject: linux on PS/2 P70-386?
From: zahn@nova.tat.physik.uni-tuebingen.de (Corvin Zahn)
To: linux-activists@joker.cs.hut.fi
Date: Thu, 16 Jan 92 20:49:41 MEZ
Hi,
does linux run on a PS/2 P70-386 (ESDI-drive) ?
Corvin
--[0474]--
[0475] daemon@ATHENA.MIT.EDU (Lawrence C. Foard) Linux_Activists 01/16/92 15:29 (18 lines)
Subject: BSD sockets+TCP/IP
Date: Thu, 16 Jan 92 15:14:19 -0500
From: entropy@ee.WPI.EDU (Lawrence C. Foard)
To: linux-activists@joker.cs.hut.fi
IF YOUR WORKING ON TCP/IP OR SOCKETS READ THIS...
It appears that no one is working on sockets or TCP/IP yet? A friend and I are
planning to start working on this if no one has already started work.
If you are working on it please please write so we don't waste our time
duplicating efforts.
Questions:
What ethernet boards would you like to see supported?
Currently we are planning to buy an intel board but don't have money to buy
other boards so would appreciate donations or loans of other manufactorers
cards. Any technical docs would be helpful, or source code for software that
uses them.
--[0475]--
[0476] daemon@ATHENA.MIT.EDU (Pietro Caselli) Linux_Activists 01/16/92 15:34 (21 lines)
Subject: Re: VI for Linux
Date: Thu, 16 Jan 92 21:08:17 MES
From: pietro@deis35.cineca.it (Pietro Caselli)
To: cullip@cs.unc.edu, linux-activists@joker.cs.hut.fi
If people on the mailing list is enough patient I'll post my
porting of Berkeley Vi 3.0 ( I don't know if I'm going against
any copyright ... if some one knows plese tell me ! )
It worked well with Linux 0.11, I don't see why it shouldn't with
0.12.
I just need some time, a week, since I destroyed my HD and I'm waiting
for a brand new :-(
Ciao.
_
| Pietro Caselli
| Dipartimento di Elettronica, Informatica e Sistemistica
| Universita' di Bologna
| Undergraduate Student
--[0476]--
[0477] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/16/92 15:43 (24 lines)
Subject: No subject found in mail header
Date: Thu, 16 Jan 1992 21:19:58 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM's message as of Jan 16, 8:37
To: Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM, Linux-activists@joker.cs.hut.fi
Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM: "" (Jan 16, 8:37):
>
> I'm new to linux and am, of course, filled with burning questions.
> I've been playing with the floppy versions and am all excited about
> installing it on a hard drive. I have noticed, however, that 0.12
> seems to be lacking /dev/hd8 and /dev/hd9. Does this mean that I
> will have trouble installing it on a 2nd (hd5) hard drive?
Argghh. Yet another root-diskette bug. This one is simple to rectify:
make the new devices with;
# mknod /dev/hd8 b 3 8
# mknod /dev/hd9 b 3 9
and all should be well. I don't have hd8 and hd9, and used just a "cp
+recursive" to get the files copied to the root-diskette. I will write a
C-program to print out 1000 times:"check the rootdiskette next time".
Linus "shamefaced" Torvalds
--[0477]--
[0478] daemon@ATHENA.MIT.EDU (LCDR Michael E. Dobson) Linux_Activists 01/16/92 16:24 (38 lines)
Subject: Re: your mail
From: "LCDR Michael E. Dobson" <rdc30@nmrdc1.nmrdc.nnmc.navy.mil>
To: linux-activists@joker.cs.hut.fi
Date: Thu, 16 Jan 92 15:23:56 EST
In-Reply-To: <199201161919.AA06121@kruuna.helsinki.fi>; from "Linus Benedict Torvalds" at Jan 16, 92 9:19 pm
>
> Donald.B.Taber@SYBIL.RISC.ROCKWELL.COM: "" (Jan 16, 8:37):
> >
> > I'm new to linux and am, of course, filled with burning questions.
> > I've been playing with the floppy versions and am all excited about
> > installing it on a hard drive. I have noticed, however, that 0.12
> > seems to be lacking /dev/hd8 and /dev/hd9. Does this mean that I
> > will have trouble installing it on a 2nd (hd5) hard drive?
>
> Argghh. Yet another root-diskette bug. This one is simple to rectify:
> make the new devices with;
>
> # mknod /dev/hd8 b 3 8
> # mknod /dev/hd9 b 3 9
>
> and all should be well. I don't have hd8 and hd9, and used just a "cp
> +recursive" to get the files copied to the root-diskette. I will write a
> C-program to print out 1000 times:"check the rootdiskette next time".
>
> Linus "shamefaced" Torvalds
>
Either that or include the instructions in the INSTALL/RELNOTES and/or
keep them on your working copy even though you don't have those partitions.
I don't have 4 partitions on my first hd but keep the devices in /dev "just
in case"
Regards,
--
Mike Dobson, Sys Admin for | Internet: rdc30@nmrdc1.nmrdc.nnmc.navy.mil
nmrdc1.nmrdc.nnmc.navy.mil | UUCP: ...uunet!mimsy!nmrdc1!rdc30
AT&T 3B2/600G Sys V R 3.2.2 | BITNET: dobson@usuhsb or nrd0mxd@vmnmdsc
WIN/TCP for 3B2 | MCI-Mail: 377-2719 or 0003772719@mcimail.com
--[0478]--
[0479] daemon@ATHENA.MIT.EDU (Arlie Davis) Linux_Activists 01/16/92 16:38 (7 lines)
Subject: Duplicates...
From: Arlie Davis <aldavi01@starbase.spd.louisville.edu>
To: linux-activists@joker.cs.hut.fi (Linux Mailing List)
Date: Thu, 16 Jan 92 16:14:13 EST
I'm starting to see duplicate messages from the mailing list -- any clues, or
is this just a net.hiccup?
--[0479]--
[0480] daemon@ATHENA.MIT.EDU (IJW11@phx.cam.ac.uk) Linux_Activists 01/16/92 16:48 (21 lines)
Subject: No subject found in mail header
Date: Thu, 16 Jan 92 21:21:41 GMT
From: IJW11@phx.cam.ac.uk
To: linux-activists@joker.cs.hut.fi
> Color me an ignorant american, but what is the difference between a
> U.S. and a U.K. keyboard (besides the pound symbol for currency)?
First, thanks for replying, I wasn't sure whether this got though.
The differences involve:
Key '2' has a '"' when shifted;
Key '3' Has a pound sign, nort a hash;
The ' and " key is pound sign and '@';
and there are some other odd keys, noticeably the fact that the
backslash and backquote characters have moved by miles.
I have an American keyboard, but it's twice as heavy as the
British one that I uae, and since I go by key symbols when
typing (professional typing, eh? 8-) it gets on my nerves.
Ian Wells.
--[0480]--
[0481] daemon@ATHENA.MIT.EDU (Rob Soukoreff) Linux_Activists 01/16/92 16:49 (30 lines)
Subject: gcc questions
Date: Thu, 16 Jan 92 16:35:30 -0500
From: Rob Soukoreff <rwsoukor@descartes.uwaterloo.ca>
To: Linux-activists@joker.cs.hut.fi
Hello Activists!
I am unable to compile with gcc, (on Linux 0.12, 2meg ram, 386-sx, AMI bios).
When I type gcc filename, I get:
gcc: installation problem, cannot exec cpp: Exec format error
I think I just don't have the correct things in the correct places, so:
1) Where does gcc (and accompanying files) go? /usr/gnu/bin?
2) Where do libc.a & libreadline.a go?
3) Where do I put the files in lib.tar.Z
4) Where do I put the include files, include.tar?
5) Is there anything else I need, and where should I put it?
I appologize if these questions are FAQ, if so could someone point me
to the FAQ?
Thanks,
Rob Soukoreff
rwsoukoreff@descartes.uwaterloo.ca
--[0481]--
[0482] daemon@ATHENA.MIT.EDU (Lawrence C. Foard) Linux_Activists 01/16/92 17:12 (10 lines)
Subject: WD card
Date: Thu, 16 Jan 92 16:44:24 -0500
From: entropy@ee.WPI.EDU (Lawrence C. Foard)
To: linux-activists@joker.cs.hut.fi
I got about 10 requests for the WD card in the minutes after posting it :)
If I can get ahold of one I will probably try to make the first driver for it
(this is assuming no one else has claimed sockets+TCP/IP yet). Does any one
know the name of the company that bought the card production from WD?
--[0482]--
[0484] daemon@ATHENA.MIT.EDU (Paul Hetrick) Linux_Activists 01/16/92 17:20 (40 lines)
Subject: Re: BSD sockets+TCP/IP
Date: Thu, 16 Jan 92 17:04:15 EST
From: hetrick@sparky.eeel.nist.gov (Paul Hetrick)
To: linux-activists@joker.cs.hut.fi
In-Reply-To: <9201162014.AA00798@wintermute.WPI.EDU>
> Date: Thu, 16 Jan 92 15:14:19 -0500
> From: entropy@ee.WPI.EDU (Lawrence C. Foard)
> To: linux-activists@joker.cs.hut.fi
> Subject: BSD sockets+TCP/IP
>
> IF YOUR WORKING ON TCP/IP OR SOCKETS READ THIS...
>
> It appears that no one is working on sockets or TCP/IP yet? A friend and I
> are planning to start working on this if no one has already started work.
> If you are working on it please please write so we don't waste our time
> duplicating efforts.
>
> Questions:
>
> What ethernet boards would you like to see supported?
> Currently we are planning to buy an intel board but don't have money to buy
> other boards so would appreciate donations or loans of other manufactorers
> cards. Any technical docs would be helpful, or source code for software
> that uses them.
>
TCP/IP and Sockets are more than I have time to tackle, but I might be
able to point you to some Code and docs. Try FTPing to zaphod.ncsa.uiuc.edu
[141.142.20.50]. They have a PD (or at least freely distributed) telnet
program for MS-DOS with drivers for LOTS of ethernet boards. The source
code for all the drivers is in one BIG .zip file. If you could base your
low-level drivers on this code it would probably make it easier to port to
other boards.
Hope this helps
Paul
hetrick@eeel.nist.gov
--[0484]--
[0485] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/16/92 17:30 (34 lines)
Subject: Re: BSD sockets+TCP/IP
Date: Thu, 16 Jan 92 17:12:39 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: hetrick@sparky.eeel.nist.gov
To: entropy@ee.WPI.EDU (Lawrence C. Foard)
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: Paul Hetrick's message of Thu, 16 Jan 92 17:04:15 EST,
Reply-To: tytso@athena.mit.edu
Date: Thu, 16 Jan 92 17:04:15 EST
From: hetrick@sparky.eeel.nist.gov (Paul Hetrick)
TCP/IP and Sockets are more than I have time to tackle, but I might be
able to point you to some Code and docs. Try FTPing to zaphod.ncsa.uiuc.edu
[141.142.20.50]. They have a PD (or at least freely distributed) telnet
program for MS-DOS with drivers for LOTS of ethernet boards. The source
code for all the drivers is in one BIG .zip file. If you could base your
low-level drivers on this code it would probably make it easier to port to
other boards.
If this is the Clarson packet driver stuff, be aware that the code
assumes you are running in 16 bit real mode. It may be non-trivial to
port them so that they work in a 32-bit protected mode. You may want to
look at them and form your own opinion.
Whether or not you use the MS-LOSS packet drivers, it would be a very
good idea to have a well-defined abstraction boundary between the
Networking/IP layer and the Ethernet driver layer. Then you can publish
the interface early on, and people can write their own drivers for their
ethernet cards with a minimum of pain.
Lawrence, I assume that you will be using the BSD networking release as
a base?
- Ted
--[0485]--
[0486] daemon@ATHENA.MIT.EDU (Ari Lemmke) Linux_Activists 01/16/92 17:37 (30 lines)
Subject: Hmmmm...too much of a good thing? =8^)
Date: Fri, 17 Jan 1992 00:26:50 +0200
From: Ari Lemmke <arl@zen.cs.hut.fi>
To: linux-activists@joker.cs.hut.fi
In-Reply-To: "Ken Corey, CSCI Major..."'s message of Thu, 16 Jan 1992 15:59 CDT <01GFE18S1YRK003ISR@vaxb.acs.unt.edu>
>Is it just me, or are we ALL getting 2 copies of the mail about linux?
It should not happen. There was only one person who had
2 entries caused by requesting two times ;-)
We have no 300+ Linux activists on the mailing list, and
every day there's 20 or more requesting for joining.
You can check the mailing list:
'telnet niksula.hut.fi 25'
'vrfy linux-activists'
and to quit use ;-)
'quit'
I'm going to start RFD about comp.os.linux, and when
the voting comes, I hope you do vote for it ...
Still we are _not_ going to end this mailing list,
because there are sites which don't have access to news.
Also for the future we might need special hackers
list .. where only Linux kernel hacking is
discussed.
arl
--[0486]--
[0487] daemon@ATHENA.MIT.EDU (Randy Appleton) Linux_Activists 01/16/92 18:08 (22 lines)
Subject: Mtools and Me
From: Randy Appleton <randy@ms.uky.edu>
Date: Thu, 16 Jan 1992 17:52:47 EST
To: linux-activists@joker.cs.hut.fi
I'm rather new to the Linux world, but I have been able to boot it and
get it to recognize my hard drive. However, I'm having a bear of a
time getting things onto the hard drive. Does anyone have the
binaries for the Mtools package they can send me, or tell me where I
can ftp the same. I'd really appricate it.
Also, can whoever adds people to this list make sure I'm on it. I
sent in a subscription request, but havenn' heard back. Nor did my
mail bounce.
-Thanks
-Randy
--
==============================================================================
Is it fair to the young people of today that we keep raising the
national debt? Vote against George Bush!
============================================Randy@ms.uky.edu==================
--[0487]--
[0488] daemon@ATHENA.MIT.EDU (Linus Benedict Torvalds) Linux_Activists 01/16/92 18:47 (42 lines)
Subject: Re: gcc questions
Date: Fri, 17 Jan 1992 01:22:52 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: Rob Soukoreff's message as of Jan 16, 16:35
To: Rob Soukoreff <rwsoukor@descartes.uwaterloo.ca>,
Rob Soukoreff: "gcc questions" (Jan 16, 16:35):
>
> I am unable to compile with gcc, (on Linux 0.12, 2meg ram, 386-sx, AMI bios).
Ok, this comes up every once in a while, and I agree a FAQ would be a
good idea. We had one, but it got out-of-date even before it was ready:
linux has evolved rather quickly. Just as a pointer, there are
linux-activists mail collected at tsx-11 (or was some time ago), and
people new on the list might want to know what the problems of
yesterweek have been.
Gcc can install in several directories, but the following is what I use:
from gccbin.tar:
/usr/local/bin - gcc
/usr/local/lib - all the other stuff
/usr/local/bin needs to be in the path (as an aside: bash-1.11 has a bug
which results in an abort() if your path ends in a colon, and you try to
execute something that doesn't exists: eg xyzzy).
include.tar.Z should untar to the /usr/include -directory tree if you
untar it in the root directory. Check with "tar tf include.tar".
lib.tar.Z doesn't need to go in any special place: I have a source tree
under /usr/src, and I put it under that. You don't need this file unless
you want to recompile the library.
Additionally, I've linked (use symbolic links if you wish, testing out
new features) gcc to just 'cc', as that means I sometimes don't have to
change the makefiles at all. Likewise, gcc-ld, gcc-as, gcc-ar can with
success be linked to the files 'gld', 'gas' and 'gar', somewhere on the
path. I have all the /usr/local/lib/gcc-XX files linked both to
/usr/local/bin/XX and /usr/local/bin/gXX.
Linus
--[0488]--
[0490] daemon@ATHENA.MIT.EDU (klaus@ced.utah.edu) Linux_Activists 01/16/92 19:26 (11 lines)
Subject: debugger for linux?
Date: Thu, 16 Jan 92 17:05:25 MST
From: klaus@ced.utah.edu
To: Linux-activists@joker.cs.hut.fi
X-Envelope-To: Linux-activists@joker.cs.hut.fi
Is there any kind of debugger for linux? SOmething like gdb would be nice.
Is there such a beast.. yet?
-klaus@ced.utah.edu
--[0490]--
[0491] daemon@ATHENA.MIT.EDU (Paul Rubin) Linux_Activists 01/16/92 19:57 (16 lines)
Subject: Re: BSD sockets+TCP/IP
Date: Thu, 16 Jan 92 16:46:58 -0800
From: Paul Rubin <phr@ocf.Berkeley.EDU>
To: hetrick@sparky.eeel.nist.gov, linux-activists@joker.cs.hut.fi
There are at least a couple of free implementations of TCP/IP,
though I don't know about sockets. One was written by Russ Nelson
and is GNU-copylefted, but I don't know what functionality it
includes. I believe it is ftpable from grape.soe.clarkson.edu.
The other was written by Phil Karn KA9Q and includes pretty
much everything, but I'm not sure of the exact distribution
permissions. It's called the KA9Q TCP package. I'm not sure
where to ftp a copy but "archie" should be able to find it,
or I could ask someone. Having no network hardware I haven't
really looked into either of these. I believe there was also
a free package written at MIT that was the basis for FTP Software's
implementation but I don't know more details.
--[0491]--
[0492] daemon@ATHENA.MIT.EDU (Peter Cooper) Linux_Activists 01/16/92 20:13 (8 lines)
Subject: Re: VI for Linux
Date: Fri, 17 Jan 1992 09:58:36 +0900
From: comrade@uniwa.uwa.oz.au (Peter Cooper)
To: cullip@cs.unc.edu, linux-activists@joker.cs.hut.fi
I have a compiled version of elvis. It took virtually nothing to compile
it if I remember rightly (no patches). I will upload it to nic.funet.fi
and tsx-11.mit.edu in a few hours.
--[0492]--
[0493] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/16/92 20:24 (12 lines)
Subject: Re: VI for Linux
Date: Thu, 16 Jan 92 17:13:34 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: comrade@uniwa.uwa.oz.au
Cc: linux-activists@joker.cs.hut.fi
Elvis has some problems, including failure to keep the screen representation
accurate (extra, missing and duplicated lines) and no line wrap.
I know, cause I have been using it for several years. If something out
there does a better job, lets see it instead.
Ps. I am currently using it under linux as well.
--[0493]--
[0494] daemon@ATHENA.MIT.EDU (Tad Hunt) Linux_Activists 01/16/92 20:31 (9 lines)
Subject: Device numbers
From: hunt@cthulhu.control.com (Tad Hunt)
To: linux-activists@joker.cs.hut.fi
Date: Thu, 16 Jan 92 20:12:01 EST
Can anyone tell me the device numbers for /dev/hd3 and /dev/hd4?
The docs only seem to mention hd1 and hd2 and I'm having trouble
figuring out the minor device numbers. I want to use /dev/hd3 as root
and /dev/hd4 as swap. Thanks in advance.
--[0494]--
[0495] daemon@ATHENA.MIT.EDU (Adam Goldberg) Linux_Activists 01/16/92 21:31 (29 lines)
Subject: Booting problems...
To: linux-activists@joker.cs.hut.fi
Date: Thu, 16 Jan 92 20:15:44 CST
From: Adam Goldberg <goldberg@iastate.edu>
I can't get Linux 0.12 to boot:
Here's my equipment:
386DX-25, 4M, AMI BIOS (dated '89), Hercules Mono.
105M Priam RLL drive, which has >1024 cylinders, hence I have a DTC 7287
controller, which maps the harddrive to having 32 sectors/track.
Here's the problem:
I boot & get the Loading..., then '*MDA' goes in the upper-right corner
of the screen, then '2 Virtual Consoles' & '4 pty's' then (argh)
'Kernel Panic: HD Controller not ready'.
Sometimes I don't get past the Loading..., sometimes I get to the
panic.
Any clues?
+-----------------------------------------------------------------------------+
! Adam Goldberg ! "It's simple! Even a PASCAL programmer could do !
! goldberg@iastate.edu ! it!" !
! tabu6@isuvax.BITNET ! "Remember: the sooner you fall behind, the !
! #include <disclaimer> ! more time you have to catch up!" !
+-----------------------------------------------------------------------------+
--[0495]--
[0496] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 01/16/92 21:37 (12 lines)
Subject: FIFO's
Date: Thu, 16 Jan 92 20:19:32 CST
From: johnsonm@stolaf.edu (Michael K. Johnson)
To: Linux-activists@joker.cs.hut.fi
Is anyone working on FIFO's? if not I might try them next month or
so. Anyone with any advice on this, please mail me.
michaelkjohnson
johnsonm@stolaf.edu
I don't do .sig's
ha. got it right this time.:-)
--[0496]--
[0497] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 01/16/92 21:40 (33 lines)
Subject: DTC SCSI
Date: Thu, 16 Jan 92 20:18:01 CST
From: johnsonm@stolaf.edu (Michael K. Johnson)
To: Linux-activists@joker.cs.hut.fi
DTC (division of qume) is sending me chip specs so that I can write
a low-level SCSI driver for the DTC3180A/DTC3280A pair of cards. I
don't know what other DTC cards it will work on, but I should find
out when the docs come. When I do know, I will post.
A word of warning -- There is a miniscule but non-zero chance that
some people will have to upgrade their driver BIOS to use such a driver.
if and only if this turns out to be true, I will contact DTC and
get the necessary information for upgrading.
When I do this, I will need beta-testers, because all I have is a
very brain-dead ST296N that responds to almost no SCSI commands. I
will need someone with an advanced SCSI drive ti check to see if it
passes SCSI commands correctly.
If you wish to beta this (due to my busy student status, I make no
guarantees about time frames) please send me a note, and I will
keep your address. Bear in mind if you do this that it may be
awhile before I even get the specs, let alone start coding the
driver, and that is dependant on the high-level drivers coming
out....
happy linuxing...
michaelkjohnson
johnsonm@stolaf.edu
I don't do .sig;s
' oops.
--[0497]--
[0499] daemon@ATHENA.MIT.EDU (Michael K. Johnson) Linux_Activists 01/16/92 22:11 (33 lines)
Subject: DTC SCSI
Date: Thu, 16 Jan 92 20:18:01 CST
From: johnsonm@stolaf.edu (Michael K. Johnson)
To: Linux-activists@joker.cs.hut.fi
DTC (division of qume) is sending me chip specs so that I can write
a low-level SCSI driver for the DTC3180A/DTC3280A pair of cards. I
don't know what other DTC cards it will work on, but I should find
out when the docs come. When I do know, I will post.
A word of warning -- There is a miniscule but non-zero chance that
some people will have to upgrade their driver BIOS to use such a driver.
if and only if this turns out to be true, I will contact DTC and
get the necessary information for upgrading.
When I do this, I will need beta-testers, because all I have is a
very brain-dead ST296N that responds to almost no SCSI commands. I
will need someone with an advanced SCSI drive ti check to see if it
passes SCSI commands correctly.
If you wish to beta this (due to my busy student status, I make no
guarantees about time frames) please send me a note, and I will
keep your address. Bear in mind if you do this that it may be
awhile before I even get the specs, let alone start coding the
driver, and that is dependant on the high-level drivers coming
out....
happy linuxing...
michaelkjohnson
johnsonm@stolaf.edu
I don't do .sig;s
' oops.
--[0499]--
[0500] daemon@ATHENA.MIT.EDU (drew@hazelrah.cs.Colorado.EDU) Linux_Activists 01/16/92 22:14 (28 lines)
Subject: Re: VI for Linux
To: linux-activists@joker.cs.hut.fi
In-Reply-To: Your message of Thu, 16 Jan 92 21:08:17 +0600.
Date: Thu, 16 Jan 92 20:02:59 MST
From: drew@hazelrah.cs.Colorado.EDU
If people on the mailing list is enough patient I'll post my
porting of Berkeley Vi 3.0 ( I don't know if I'm going against
any copyright ... if some one knows plese tell me ! )
It worked well with Linux 0.11, I don't see why it shouldn't with
0.12.
I just need some time, a week, since I destroyed my HD and I'm waiting
for a brand new :-(
Ciao.
---------
elvis, compiled with the SYSV options works fine, also can emulate ex,
and has other neato faetures like scrolling left to right instead of
wrapping lines, and allowing the cursor controls to remain functional
when in edit mode.....
I've got binaries if people are interested - I just couldn't live
without my vi!!
--[0500]--
[0501] daemon@ATHENA.MIT.EDU (Morgan Schweers) Linux_Activists 01/16/92 23:07 (12 lines)
Subject: GNU Emacs?
Date: Thu, 16 Jan 92 19:50:13 PST
From: mrs@netcom.netcom.com (Morgan Schweers)
To: linux-activists@joker.cs.hut.fi
Greetings,
O-o-o-kay, I just found the 'Emacs' patches on tsx-11.mit.edu, and I'd
like to know if these are 1) for .12, and 2) for GNU Emacs. If so, I'll
be spending a bunch of time compiling tonight... *grin*
Suggestions?
-- Morgan Schweers
--[0501]--
[0503] daemon@ATHENA.MIT.EDU (Michael Almond) Linux_Activists 01/16/92 23:27 (23 lines)
Subject: DOS emulator
From: mra@searchtech.com (Michael Almond)
To: linux-activists@joker.cs.hut.fi
Date: Thu, 16 Jan 92 23:11:55 EST
Has anyone considered creating a DOS emulator for linux? I have heard
the the GNU hurd folks had expiremented with this with reported success,
but I don't remeber ever seeing any details of how they did it.
Does anyone see how the current design of linux might prevent creating
and emulator?
I'm not sure what all would need to be done in order to create an
emulator. Anyone have any pointers?
Thanks.
--
Michael R. Almond (Georgia Tech Alumnus) mra@srchtec.uucp (registered)
digital presence associates mra@searchtech.com
1017J oak chase drive uupsi!srchtec!mra
tucker, georgia 30084 (404) 491-0036 (office/home)
*** League for Programming Freedeom member / GNU supporter ***
--[0503]--
[0504] daemon@ATHENA.MIT.EDU (Peter MacDonald) Linux_Activists 01/17/92 03:19 (37 lines)
Subject: ps, and some vc junk.
Date: Fri, 17 Jan 92 00:04:08 PST
From: pmacdona@sanjuan.UVic.CA (Peter MacDonald)
To: linux-activists@joker.cs.hut.fi
I have all of the features of VC working again, including
screen blanking, screen dumping and using memory buffers so
more consoles than your single page of video memory will allow
can be used. These buffers use kernel memory, but would have
been required when a windowing system comes along anyways.
The unpleasant juddering of the screen when scrolling is also
eliminated. Does anyone else see this or is it just me?
Also, terminal reset is fixed. It wasn't resetting back from
graphics char mode. Finally, I got rid of the check in
setterm.c for the terminal type. But since setterm wasn't
distributed with .12, it won't affect to many people.
I will probably not release it for a few more days, so I can
test it some more, and figure out whats going on with
vt100 graphics chars, but if you are desperate to alpha test,
drop me a note. The patches are not too extensive, and the
main goal was to disturb .12 as little as possible.
I have also written a poor persons version of ps. Actually,
it is more like a skeleton. But it correctly gets info from
the kernel, and runs as a standalone program rather than being.
driven by function keys.
However, it should be made to look more like what
people are used to. If someone wants to volunteer to take
it and extend it to have all the nice options, let me know.
I think ps is one of those very system specific functions that
we can not pull in from GNU. But, if you have an idea of
what it should be modelled after (Sun?) speak up now.
I am announcing all this so hopefully, duplication is avoided.
--[0504]--
[0505] daemon@ATHENA.MIT.EDU (tthorn@daimi.aau.dk) Linux_Activists 01/17/92 03:20 (19 lines)
Subject: Adaptec SCSI driver work is underway, yes..
Date: Fri, 17 Jan 92 07:59:38 +0100
From: tthorn@daimi.aau.dk
To: linux-activists@joker.cs.hut.fi
(I'm double copies of many, but not all mails also.)
I'm working on a lowlevel driver for the Adaptech-1542.
I've just read my first sector:-) I'm planning to base
it on drew (drew@hazelrah.cs.Colorado.EDU)'s highlevel
stuff.
I'm in as much need for the driver as any, since without
it I'm only running floppies:-<
/Tommy
Tommy Thorn email: tthorn@daimi.aau.dk
Computer Science Department "People shouldn't work because they love it,
Aarhus University they should work because it hurts."
DENMARK -- Bob Sparacino, former Xerox executive
--[0505]--
[0506] daemon@ATHENA.MIT.EDU (gaia@leland.Stanford.EDU) Linux_Activists 01/17/92 03:43 (169 lines)
Subject: US extended keyboard
Date: Thu, 16 Jan 92 23:40:21 PST
From: gaia@leland.Stanford.EDU
To: linux-activists@joker.cs.hut.fi
Greetings,
The following is a patch to kernel/chr_drv/keyboard.S to switch the
infamous keys of a US extended keyboard:
ESC <-> [`~]
Ctrl <-> Capslock
-Alfred
*** keyboard.old Thu Jan 16 12:28:26 1992
--- keyboard.S Thu Jan 16 12:15:09 1992
***************
*** 304,316 ****
#elif defined(KBD_US)
key_map:
! .byte 0,27
.ascii "1234567890-="
.byte 127,9
.ascii "qwertyuiop[]"
.byte 13,0
.ascii "asdfghjkl;'"
! .byte '`,0
.ascii "\\zxcvbnm,./"
.byte 0,'*,0,32 /* 36-39 */
.fill 16,1,0 /* 3A-49 */
--- 304,324 ----
#elif defined(KBD_US)
key_map:
! #ifdef EXTENDED_KEYBOARD
! .byte 0,'`
! #else
! .byte 0,27
! #endif
.ascii "1234567890-="
.byte 127,9
.ascii "qwertyuiop[]"
.byte 13,0
.ascii "asdfghjkl;'"
! #ifdef EXTENDED_KEYBOARD
! .byte 27,0
! #else
! .byte '`,0
! #endif
.ascii "\\zxcvbnm,./"
.byte 0,'*,0,32 /* 36-39 */
.fill 16,1,0 /* 3A-49 */
***************
*** 321,333 ****
shift_map:
! .byte 0,27
.ascii "!@#$%^&*()_+"
.byte 127,9
.ascii "QWERTYUIOP{}"
.byte 13,0
.ascii "ASDFGHJKL:\""
! .byte '~,0
.ascii "|ZXCVBNM<>?"
.byte 0,'*,0,32 /* 36-39 */
.fill 16,1,0 /* 3A-49 */
--- 329,349 ----
shift_map:
! #ifdef EXTENDED_KEYBOARD
! .byte 0,'~
! #else
! .byte 0,27
! #endif
.ascii "!@#$%^&*()_+"
.byte 127,9
.ascii "QWERTYUIOP{}"
.byte 13,0
.ascii "ASDFGHJKL:\""
! #ifdef EXTENDED_KEYBOARD
! .byte 27,0
! #else
! .byte '~,0
! #endif
.ascii "|ZXCVBNM<>?"
.byte 0,'*,0,32 /* 36-39 */
.fill 16,1,0 /* 3A-49 */
***************
*** 518,531 ****
.long do_self,do_self,do_self,do_self /* 10-13 q w e r */
.long do_self,do_self,do_self,do_self /* 14-17 t y u i */
.long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */
! .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */
.long do_self,do_self,do_self,do_self /* 20-23 d f g h */
.long do_self,do_self,do_self,do_self /* 24-27 j k l | */
.long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */
.long do_self,do_self,do_self,do_self /* 2C-2F z x c v */
.long do_self,do_self,do_self,do_self /* 30-33 b n m , */
.long do_self,minus,rshift,do_self /* 34-37 . - rshift * */
! .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */
.long func,func,func,func /* 3C-3F f2 f3 f4 f5 */
.long func,func,func,func /* 40-43 f6 f7 f8 f9 */
.long func,num,scroll,cursor /* 44-47 f10 num scr home */
--- 534,555 ----
.long do_self,do_self,do_self,do_self /* 10-13 q w e r */
.long do_self,do_self,do_self,do_self /* 14-17 t y u i */
.long do_self,do_self,do_self,do_self /* 18-1B o p } ^ */
! #ifdef EXTENDED_KEYBOARD
! .long do_self,caps,do_self, do_self /* 1C-1F enter ctrl a s */
! #else
! .long do_self,ctrl,do_self,do_self /* 1C-1F enter ctrl a s */
! #endif
.long do_self,do_self,do_self,do_self /* 20-23 d f g h */
.long do_self,do_self,do_self,do_self /* 24-27 j k l | */
.long do_self,do_self,lshift,do_self /* 28-2B { para lshift , */
.long do_self,do_self,do_self,do_self /* 2C-2F z x c v */
.long do_self,do_self,do_self,do_self /* 30-33 b n m , */
.long do_self,minus,rshift,do_self /* 34-37 . - rshift * */
! #ifdef EXTENDED_KEYBOARD
! .long alt,do_self,ctrl,func /* 38-3B alt sp caps f1 */
! #else
! .long alt,do_self,caps,func /* 38-3B alt sp caps f1 */
! #endif
.long func,func,func,func /* 3C-3F f2 f3 f4 f5 */
.long func,func,func,func /* 40-43 f6 f7 f8 f9 */
.long func,num,scroll,cursor /* 44-47 f10 num scr home */
***************
*** 550,563 ****
.long none,none,none,none /* 90-93 br br br br */
.long none,none,none,none /* 94-97 br br br br */
.long none,none,none,none /* 98-9B br br br br */
! .long none,unctrl,none,none /* 9C-9F br unctrl br br */
.long none,none,none,none /* A0-A3 br br br br */
.long none,none,none,none /* A4-A7 br br br br */
.long none,none,unlshift,none /* A8-AB br br unlshift br */
.long none,none,none,none /* AC-AF br br br br */
.long none,none,none,none /* B0-B3 br br br br */
.long none,none,unrshift,none /* B4-B7 br br unrshift br */
! .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */
.long none,none,none,none /* BC-BF br br br br */
.long none,none,none,none /* C0-C3 br br br br */
.long none,none,none,none /* C4-C7 br br br br */
--- 574,595 ----
.long none,none,none,none /* 90-93 br br br br */
.long none,none,none,none /* 94-97 br br br br */
.long none,none,none,none /* 98-9B br br br br */
! #ifdef EXTENDED_KEYBOARD
! .long none,uncaps,none,none /* 9C-9F br unctrl br br */
! #else
! .long none,unctrl,none,none /* 9C-9F br unctrl br br */
! #endif
.long none,none,none,none /* A0-A3 br br br br */
.long none,none,none,none /* A4-A7 br br br br */
.long none,none,unlshift,none /* A8-AB br br unlshift br */
.long none,none,none,none /* AC-AF br br br br */
.long none,none,none,none /* B0-B3 br br br br */
.long none,none,unrshift,none /* B4-B7 br br unrshift br */
! #ifdef EXTENDED_KEYBOARD
! .long unalt,none,unctrl,none /* B8-BB unalt br uncaps br */
! #else
! .long unalt,none,uncaps,none /* B8-BB unalt br uncaps br */
! #endif
.long none,none,none,none /* BC-BF br br br br */
.long none,none,none,none /* C0-C3 br br br br */
.long none,none,none,none /* C4-C7 br br br br */
--[0506]--
[0507] daemon@ATHENA.MIT.EDU (Lawrence C. Foard) Linux_Activists 01/17/92 03:48 (12 lines)
Subject: mga trouble
Date: Fri, 17 Jan 92 01:48:36 -0500
From: entropy@ee.WPI.EDU (Lawrence C. Foard)
To: linux-activists@joker.cs.hut.fi
Has anyone else had trouble with virtual consoles on monocrome cards? I
downloaded the new version and it worked fine on a system with CGA or EGA but
doesn't work on my monocrome system. When you try to change to another console
the cursor goes away but the screen doesn't change, also typed input goes
someplace else (I assume to the other console). Playing with this for a while
made the system spontaneosly reboot.
I'm not sure if this is a software problem or just incompatible hardware.
--[0507]--
[0508] daemon@ATHENA.MIT.EDU (Brett McCoy) Linux_Activists 01/17/92 05:05 (32 lines)
Subject: trying to free free page errors
Date: Fri, 17 Jan 92 02:55:19 CST
From: brtmac@maverick.ksu.ksu.edu (Brett McCoy)
To: linux-activists@joker.cs.hut.fi
I just got linux-0.12 up and running on a machine here at work tonight.
Works great except for one problem, I keep getting these kernel panic's
and messages that say 'trying to free free page'. I don't have any of
the other information that it printed out right now but if anyone would
like it I'm sure I can get it without much problem and send it to them.
I have a sneaking suspicion that the particular hardware setup I have is
partially the cause for the crashes: 20Mhz 386sx, 85M 3.5 drive with a
15M partition for root and a 6M partition for swap, VGA (although the
VC stuff doesn't recognize any of the VGA text modes, EGA 80x24 only :( )
and 1 (that's right folks, ONE) Meg of memory. I have a feeling that the
amount of paging and swapping that it is having to do is overworking some
portion of the kernel and is exercising a bug pretty rigirously, but hey,
what better test?
I am amazed at how well it runs even with only 1M of physical memory. Now
for a question, is there any way I can decrease the default number of disk
buffers from 405 to something more reasonable like 100 or 200 so that there
is a bit more free memory for programs (380k or so is a little tight). I
can deal with a little bit decreased disk I/O performance due to the increase
in buffer cache misses.
Well, that's in for now folks.
--
Brett McCoy Computing and Network Services
brtmac@maverick.ksu.ksu.edu Kansas State University
If the minimum wasn't good enough it would't be the minimum.
--[0508]--
[0509] daemon@ATHENA.MIT.EDU (meajjk@Skferc.NL) Linux_Activists 01/17/92 06:38 (33 lines)
Subject: No subject found in mail header
From: meajjk@Skferc.NL
Date: Fri, 17 Jan 92 08:42:41 +0100
To: linux-activists@joker.cs.hut.fi
Lawrence C. Foard wrote:
>IF YOUR WORKING ON TCP/IP OR SOCKETS READ THIS...
>It appears that no one is working on sockets or TCP/IP yet? A friend and I are
>planning to start working on this if no one has already started work.
>If you are working on it please please write so we don't waste our time
>duplicating efforts.
I am not working on it, in fact i haven't managed to get Linux running yet. But
i will need something like sockets to get X running.
>Questions:
>What ethernet boards would you like to see supported?
>Currently we are planning to buy an intel board but don't have money to buy
>other boards so would appreciate donations or loans of other manufactorers
>cards. Any technical docs would be helpful, or source code for software that
>uses them.
The WD8003E from Western Digital would be nice to start with because it cheap
(about $200). The source of a device driver should be somewhere on the
sun.soe.clarkson.edu site and i think i also have it somewhere.
Jan Jitze Krol
PS. Are there any brave guys out there who want to help porting X-Windows to
Linux? I think it is a bit big for one person to do it. (X11R4 is about
150Mb and X11R5 i even don't dare thinking about). But first i want to
figure out what i needed for this port.
--[0509]--
[0510] daemon@ATHENA.MIT.EDU (Simon Marlow) Linux_Activists 01/17/92 06:55 (27 lines)
Subject: Strange GCC error
Date: Fri, 17 Jan 1992 11:13:27 +0000
From: Simon Marlow <simonm@dcs.glasgow.ac.uk>
To: linux-activists@joker.cs.hut.fi
I got this really wierd error from GCC yesterday while trying to
compile the GNU textutils package v1.1 (I know its already been done
but I don't trust anything unless I've compiled it myself). The
particular error occurred when compiling the file lib/regex.c using
the command
gcc -O -I. -I../lib -DSTDC_HEADERS -DPOSIX -DUSG -c regex.c (I think)
the error was something like 'unrecognised insn at line 5285'
followed by a short listing of GCC intermediate code which I havn't
written down. It only occurred when optimization was turned on.
I believe the problem is caused by the include file 'string.h' which
defines all the string operations as inline assembly code (as the
error only happened when this file was included) and in particular
the 'strlen' function (as this is at line 5285 in the source).
Unfortunately I was unable to repeat the error on a smaller test
file but the error was completely repeatable on the regex.c file.
Is this a bug in GCC? Can anyone help?
Simon.
--[0510]--
[0511] daemon@ATHENA.MIT.EDU (Kent Williams) Linux_Activists 01/17/92 07:54 (18 lines)
Subject: Re: BSD sockets+TCP/IP
Date: Fri, 17 Jan 92 06:43:01 -0600
From: williams@herky.cs.uiowa.edu (Kent Williams)
To: linux-activists@joker.cs.hut.fi
> [141.142.20.50]. They have a PD (or at least freely distributed) telnet
> program for MS-DOS with drivers for LOTS of ethernet boards. The source
>
>If this is the Clarson packet driver stuff, be aware that the code
>assumes you are running in 16 bit real mode. It may be non-trivial to
>port them so that they work in a 32-bit protected mode. You may want to
>look at them and form your own opinion.
>
What you need to know about an ethernet card IS contained in a packet driver;
which is, after all, fairly low level. You need to know what port to
stuff commands in, how to set up interrupts, where to get data out of it,
and not much more. Most of the stuff will be congruent -- in fact, if
linux provides any support for setting up interrupts and DMA transfers, the
drivers will be simpler than the clarkson drivers.
--[0511]--
[0512] daemon@ATHENA.MIT.EDU (Prof.Dr.Ir. Stolk (Brammie)) Linux_Activists 01/17/92 08:50 (21 lines)
Subject: Re: X11
Date: Fri, 17 Jan 92 14:36:43 +0100
From: stolk@fwi.uva.nl (Prof.Dr.Ir. Stolk (Brammie))
To: linux-activists@joker.cs.hut.fi, meajjk@Skferc.NL
Hi,
About X11: Try ftping to 131.159.8.35
It features an 386 port of X11.
The neat thing about it: it takes only 18MB, and features
some SVGA cards.
The stuff runs using SCO UNIX... the big question: will Linux
do as well?
About the binaries: let's get some more of them :-)
Surely binaries of vi and the like are sheer nescesities.
My attempt to compile elvis failed, but that was probably
due to using old include files.
Long live Linux,
Bram Stolk
--[0512]--
[0513] daemon@ATHENA.MIT.EDU (Simon Marlow) Linux_Activists 01/17/92 08:59 (27 lines)
Subject: Strange GCC error
Date: Fri, 17 Jan 1992 13:29:00 +0000
From: Simon Marlow <simonm@dcs.glasgow.ac.uk>
To: linux-activists@joker.cs.hut.fi
I got this really wierd error from GCC yesterday while trying to
compile the GNU textutils package v1.1 (I know its already been done
but I don't trust anything unless I've compiled it myself). The
particular error occurred when compiling the file lib/regex.c using
the command
gcc -O -I. -I../lib -DSTDC_HEADERS -DPOSIX -DUSG -c regex.c (I think)
the error was something like 'unrecognised insn at line 5285'
followed by a short listing of GCC intermediate code which I havn't
written down. It only occurred when optimization was turned on.
I believe the problem is caused by the include file 'string.h' which
defines all the string operations as inline assembly code (as the
error only happened when this file was included) and in particular
the 'strlen' function (as this is at line 5285 in the source).
Unfortunately I was unable to repeat the error on a smaller test
file but the error was completely repeatable on the regex.c file.
Is this a bug in GCC? Can anyone help?
Simon.
--[0513]--
[0514] daemon@ATHENA.MIT.EDU (Alan B Clegg) Linux_Activists 01/17/92 09:16 (18 lines)
Subject: Re: your mail
To: meajjk@Skferc.nl
Date: Fri, 17 Jan 92 9:01:34 EST
Cc: linux-activists@joker.cs.hut.fi
In-Reply-To: <9201170742.AA04804@ercx39.Skferc.NL>; from "meajjk@Skferc.nl" at Jan 17, 92 8:42 am
From: Alan B Clegg <abc@concert.net>
> The WD8003E from Western Digital would be nice to start with because it cheap
> (about $200). The source of a device driver should be somewhere on the
> sun.soe.clarkson.edu site and i think i also have it somewhere.
I have three of these boards that I am willing to let go for $120 each. Please
let me know if you are interested. They are still in their original boxes with
original documentation, etc...
-abc
--
abc@concert.net Alan Clegg - Network Programmer
MCNC -- Center for Communications
--[0514]--
[0515] daemon@ATHENA.MIT.EDU (Robert Duncan) Linux_Activists 01/17/92 11:01 (11 lines)
Subject: mga trouble
Date: Fri, 17 Jan 92 10:33:42 EST
From: duncan@erim.org (Robert Duncan)
To: entropy@ee.WPI.EDU
In-Reply-To: Lawrence C. Foard's message of Fri, 17 Jan 92 01:48:36 -0500 <9201170648.AA02616@wintermute.WPI.EDU>
Cc: linux-activists@joker.cs.hut.fi
I've had the same problem with a hercules compatible monochrome
system. Probably Linus doesn't have a monochrome system to test
the code on.
-Rob Duncan
--[0515]--
[0516] daemon@ATHENA.MIT.EDU (Jay Maynard) Linux_Activists 01/17/92 11:10 (21 lines)
Subject: Re: BSD sockets+TCP/IP
Date: Fri, 17 Jan 92 09:26 CST
To: Paul Rubin <phr@OCF.BERKELEY.EDU>
From: Jay Maynard <S0JM@ADMIN.HSC.UTH.TMC.EDU>
Cc: linux-activists@joker.cs.hut.fi
(Paul Rubin, about existing TCP/IP packages:)
> The other was written by Phil Karn KA9Q and includes pretty
> much everything, but I'm not sure of the exact distribution
> permissions. It's called the KA9Q TCP package.
The KA9Q NOS TCP/IP package is available in several flavors for anonymous
FTP from ucsd.edu; look in the hamradio/tcpip/nos directory. It is licensed
for amateur and non-profit educational use.
NOS is probably going to be a lot of work to port to a native Linux
environment, as it is a monolithic program with its own built-in
multitasker and user support system...some work has been done in that area,
but it's a pain. Different folks' efforts can be found on ucsd.edu as well.
...Jay Maynard
--[0516]--
[0517] daemon@ATHENA.MIT.EDU (David Engel) Linux_Activists 01/17/92 11:12 (19 lines)
Subject: Re: debugger for linux?
From: David Engel <david@istwok.ods.com>
To: klaus@ced.utah.edu
Date: Fri, 17 Jan 92 9:17:11 CST
Cc: Linux-activists@joker.cs.hut.fi
In-Reply-To: <9201170005.AA10496@ced.utah.edu>; from "klaus@ced.utah.edu" at Jan 16, 92 5:05 pm
> Is there any kind of debugger for linux? SOmething like gdb would be nice.
> Is there such a beast.. yet?
I'm looking into it. I suspect implementing the ptrace system call will be
the hardest part. If anyone with kernel experience (any would be more than
me :-) wants to tackle ptrace, let me know and I'll concentrate on compiling
gdb. Also, does anybody with access to gcc 2 know of any changes from 1.4
that might affect porting gdb 4.3 to Linux?
BTW, does anyone know how to patch the keyboard driver to increase the repeat
rate? I like a fast keyboard and the default repeat rate is driving me nuts.
David
--[0517]--
[0518] daemon@ATHENA.MIT.EDU (Gautam H Thaker) Linux_Activists 01/17/92 11:14 (15 lines)
Subject: Please remove me. TOo much mail traffic.
Date: Fri, 17 Jan 92 11:04:26 EST
From: Gautam H Thaker <gthaker@ANDREW.dnet.ge.com>
X-To: aitgw::Linux-Activists@niksula.hut.fi
To: LINUX-ACTIVISTS@joker.cs.hut.fi
I can't keep up. Please remove me.
Thanks
Gautam H. Thaker
Internet: gthaker@atl.ge.com ("reply" won't work).
GE DECNET: atl::gthaker Dialcom 8*777-6412
GE Adv. Tech. Lab. 609-866-6412 (office)
Route 38, Bldg 145-2 609-866-6397 (fax)
Moorestown, NJ 08057 609-767-4396 (home)
--[0518]--
[0519] daemon@ATHENA.MIT.EDU (Gautam H Thaker) Linux_Activists 01/17/92 11:29 (15 lines)
Subject: Please remove me. TOo much mail traffic.
Date: Fri, 17 Jan 1992 11:01:04 -0500
From: Gautam H Thaker <gthaker@ANDREW.dnet.ge.com>
X-To: advax::Linux-Activists@niksula.hut.fi
To: LINUX-ACTIVISTS@joker.cs.hut.fi
I can't keep up. Please remove me.
Thanks
Gautam H. Thaker
Internet: gthaker@atl.ge.com ("reply" won't work).
GE DECNET: atl::gthaker Dialcom 8*777-6412
GE Adv. Tech. Lab. 609-866-6412 (office)
Route 38, Bldg 145-2 609-866-6397 (fax)
Moorestown, NJ 08057 609-767-4396 (home)
--[0519]--
[0520] daemon@ATHENA.MIT.EDU (Theodore Ts'o) Linux_Activists 01/17/92 11:49 (89 lines)
Subject: We really need a FAQ!
Date: Fri, 17 Jan 92 11:34:50 -0500
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o)
To: linux-activists@joker.cs.hut.fi
In-Reply-To: Lawrence C. Foard's message of Fri, 17 Jan 92 01:48:36 -0500,
Reply-To: tytso@athena.mit.edu
Hmm.... I think we really need a FAQ soon..... a lot of new people have
joined the mailing list and they're posting questions which have already
been discussed on this mailing list. Which is fine, since they don't
know that, but it may be frustrating to people who are already on the
list. Is someone willing to volunteer putting together a FAQ and
posting it every month or so, along with diff's of the previous month's
FAQ sheet?
To all you newcomers --- Welcome! If you have the time, you may wish to
look at the mailing list archives, which can be found on TSX-11.MIT.EDU.
It's in ~ftp/pub/linux/mail-archives, and I have archived everything on
the Linux-Activsts mailing list since November, 1991 (during the time of
Linux 0.10). You may find that many of your questions are ones which
have already been answered.
Date: Fri, 17 Jan 92 01:48:36 -0500
From: entropy@ee.WPI.EDU (Lawrence C. Foard)
Has anyone else had trouble with virtual consoles on monocrome cards? I
downloaded the new version and it worked fine on a system with CGA or
EGA but doesn't work on my monocrome system.
The version of virtual consoles included with Linux 0.12 does indeed not
work with MGA cards. This is because it attempts to use the CGA video
memory. I believe Peter MacDonalnd (pmacdona@sanjuan.uvic.ca), who
wrote the original VC code, has patches to change the VC code back to
using buffer memory instead of video memory.
Date: Fri, 17 Jan 1992 11:13:27 +0000
From: Simon Marlow <simonm@dcs.glasgow.ac.uk>
I got this really wierd error from GCC yesterday while trying to
compile the GNU textutils package v1.1 (I know its already been done
but I don't trust anything unless I've compiled it myself).....
the error was something like 'unrecognised insn at line 5285'
followed by a short listing of GCC intermediate code which I havn't
written down. It only occurred when optimization was turned on.
It's a bug in the machine description file included with the distributed
binary of GCC. Linus added some instruction patters so that it could
take advantage of the string instructions, and they didn't work out
completely right. The way to fix it (for now) is to just compile that
module without optimization (-O). When a new version of GCC binary is
posted, hopefully the MD file can be made smart enough so that these
errors won't happen.
From: meajjk@Skferc.NL
Date: Fri, 17 Jan 92 08:42:41 +0100
PS. Are there any brave guys out there who want to help porting X-Windows to
Linux? I think it is a bit big for one person to do it. (X11R4 is about
150Mb and X11R5 i even don't dare thinking about). But first i want to
figure out what i needed for this port.
Date: Fri, 17 Jan 92 14:36:43 +0100
From: stolk@fwi.uva.nl (Prof.Dr.Ir. Stolk (Brammie))
About X11: Try ftping to 131.159.8.35
It features an 386 port of X11.
The neat thing about it: it takes only 18MB, and features
some SVGA cards.
The stuff runs using SCO UNIX... the big question: will Linux
do as well?
What you've pointed out is the 386 server which is included in X11R5.
It will probably be quite useful in bringing X to Linux, but first we
need to get minor little details like BSD Networking and Sockets to
Linux... A previous message sent out to mailing list (look in the
archives) discussed other kernel features which would be nice to have in
conjuction with X.
About the binaries: let's get some more of them :-)
Surely binaries of vi and the like are sheer nescesities.
My attempt to compile elvis failed, but that was probably
due to using old include files.
Look at the "binaries" directory of the FTP sites; there's quite a bit
of stuff ported already, including elvis. The program "em" which is
available on in the utils.tar.Z file is a micro-gnuemacs, which may be
quite useful to many people.
- Ted
--[0520]--