[comp.os.minix] ST 1.5 patch2.uaa

meulenbr@cst.philips.nl (Frans Meulenbroeks) (08/30/90)

Hi!

August is almost over and so is summer, so here is patch 2 to 
ST 1.5(.10). You'll need to apply patch1 before applying this patch.
The patch consists of 3 parts. Save in proper order, uudecode,
uncompress and unshar. I've taken care to use 13 bit compress this time.

Most of this patch comes from the ansi kernel patches from Kai-Uwe Bloem
(Thanks Kai-Uwe!).

A brief summary of features:
- PC 1.5 compatible tty.[ch] and rs232.c
  as far as I can see, it works up to 4800 baud. 
  To get it working on 9600 baud an assembly interrupt handler 
  must be written. 9600 works fine though if the amount of data
  coming to your system is not too much. 9600 outgoing is no problem.
- reworked stvdu.c. Much faster. Adds virtual consoles.
  (set NR_CONS in tty.h to modify the number of virtual consoles
   in /etc/ttys add 101 to get a login process on /dev/tty1; virtual consoles
   are /dev/tty0 to /dev/tty[NR_CONS - 1]. The rs232 line is
   /dev/tty[NR_CONS]. As distributed /dev/tty2.
   alt-undo can be used to switch between virtual consoles.
   Note that each virtual console uses up something like 32k.
   Each login process and shell on the virtual console will use
   up additional memory.)
   HARD_SCROLL is gone. It required 32k for each console, and the gain
   was not that big any more with the reworked stvdu, that I considered
   it worthwhile to give up 2 * 32k for it.
- stwini.c support sector buffering. SCAT_SECTORS in stwini.c can
  be set to determine the number of buffers. The gain caused by this
  depends on your winchester drive. Currently 12 buffers (6k) 
  are allocated. 0 means don't use sector buffering.

For all details see the enclosed file LOG.
The file CRC lists all crc's for the changed files.

Good luck,

Frans Meulenbroeks        (meulenbr@cst.philips.nl)
	Centre for Software Technology
	( or try: ...!mcsun!phigate!prle!cst!meulenbr)

table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 patch2.sh.Z
M'YV-(T*\$)/&S8LY:!2, $$%39HY(!Z"" ,"81DV;";*&>/03AD0*!"&D0-Bz
MA@L9-%(H!-$F#)F/,'"\F 'C18P<.6" B %#APP;(*I0&0)"3!Z69>JP*>-&y
MC!P@8^;0N6,#Q\HI;^IL_$@FC9PR8^B\D7/TA9TW;%ZT*9@&SPLS<L*XF?/"x
M39D[+^ H7%D&ST,Z!<^ ,)-F*<0K29@P*?KQC4<Y=^2DH4.'Z=Z%#26*)#GFw
MC1LZ80K.T;%RJ9LS=-" 8/GFY>K7J]V$:5-F98O;N$'@WIV;M^_?P(/_7KDZv
MQ@P<.'1#;B'G=O,6$=V,85/GI5JV;CN[(7S&!1H78[J:(0Y;)_,[S)W?!M&Yu
M34LW9.A*G?YFS)H77>>LD4-G#'CQY(% 0PTU*(?><\^Q]X9[<L5W4']LU'=?t
M?OOU!]Y_:8RWT&HRS)###0:F)R((:Y0AAUUIT6??A>%E2)X,,N @0X@(KE?Bs
MB1>]H)U4WF&HX6LSW%!#<N>)F."-*.KX!AQY5+6&"W/X&& .-IBW7(W0(9GCr
M&1'VV.*/0-XP XWJ96EBDEJRX26 &\80 PTT@%@DEB2>F2,<<KPAEG?$_43#q
M#$#-66:=.*8EQQP=R@ >>3'@0""9(Z;Y8!ACI!$&GQNN9@-/D!YI9UI2N42&p
M')B^%H,,IW9JXZ</DM%2J2#(<$,.,]"@JIF%/F@'&74LFBD(.,!Y*Z%)TM;&o
M6'FPR*:I,]0ZK*1XUJ>LBQL">H-QS[)*6;)CD%=5#;8*&JFV="2;4*8#.BNNn
MI[G.Y]FT8.Z4 PYCKKMJNW2X>JE_7P98@PQ6'CBHI%+%M\9T3_*[[&HS-#JCm
MO;@F*949$<+!)+S^_IDMOFB0X=]W_;8)PX#A7CDPJU*M(089&&?:Z V!FCPNl
MOBT5U/)K-)Q*I,SL2DQ'&V; L2:UKW4(0[T\W^MS&W#@ :64F<I0P]$;^XQGk
M073<_%I.#R<=<8Y2S9$5?$/'"X(-0U8--AUVI/'2&V43YR8.-\CI-;%KW\&6j
MUK'"F8/:H.8A51EM\"T@S("_ )H82QE.D]T"C\A&&F*\(-<<:9@5M&2?F>$Ki
MD#&5''F"DU?.1!)"/"$%$45(X4(04TSQ8@[_#EOZ"Z>GOGKK+@P1X*8!&[F>h
M6&C1)<8;>CX=LJD$0BX\=,2S87P=A;&L,-$<PO HQ"!$3Q=;65\?;PTVW+#Sg
MZ.LQ\<01C ):(/=#2.'[" IDV'U6',7J@PDQ@,#'8&?X"AQ <((MM& V8^C"f
M"4#@ Q#@IPQVJ(M2V*" [J&!*0QY0A6&@(0>B*4.'*G@1>;P$2IHD(,>E$,=e
M:D.8E?3@A3",(0RC,YWJE.$Z;FB+DK:3ANZ 3#P@D*$085@_,W2O#%(!00ATd
M0P8"%J2&+SG!#BQH&=B !0UO ($(\* ;]GPE#( Y#0BZ\I6P((N&U'F)""KXc
MFC:L@8Q.E$X:RW "!;30?I5)XA);T,03/'&..&R+%*GH!C:NYHI9W&(7Q_#%b
M, J&C& 1"UG0:,- XF&-L'$C'/THQTJN)8=XJ&,+$:E%+D*G+W2(2U@"0TGKa
M?%*'VN%.V4!"!52F8(TD["-=O("%%[Q@@3S@ 0&G@(0@2.$+17B"$1;8P#]Zz
M$CL[E.4/[6<"$R@ "RK()@A<X(*\?"6"SG0E-&/90^\DP B2 4$3PG 4-X$ y
M!CG0P9!\8JN;Y.2:N0GG#5^9'<](,P%-\ P(@E 'P<CJG3V)00U\,B-[PN":x
MV8RH1">J HAJ,V<LB!,()'K-U734@2H  1'*0!B[0,0,8\%;1LAY!JV ,0WOw
MVN@+/CJ"EY3T(T$0RA.^((0D/&$*L GJ.Q/P@I#B@0Y?T%L.P=/%.I 0!%= v
M8F5.= *(A*$.8F$I"'KZ4YE><XDU)6E!/C*$+TAA"HGZ0A*<0(4O%-,)1&!"u
MZX * Z*&]%")8BITG/J1.43H#B8" 5&P!@(T-&@IA_(J%E83UIN*M A&R"D3t
MVCH$)L .J$&M:U$'4[&+C:&+8TII@<0"@C.4@0X@\ P;CI(:,%8D#7KXB IFs
MNE@0-':L(#B=$XIP!2D$ 0I"S:Q=%307M)1!KR"(3!@&.#F33@2UG:%.&]P r
M+)W,EJ8VQ:T3=OI6(A S"$LH0G!C,%R\SD!1GX4.&3QS M3R5;!4F,(+I!#?q
MPC9()&M@Y76QD!N,:G0W'_WH9D=ZTY.F-$W$Y8Y+ 1/3_3(VNW89J$YYZE/,p
M!G>HFSUJ4O>67A"\-ZJ#HZI5L5H??_9PJQ56+%@A3%:SHO6\:F6K6X, 5[F>o
M=2?E1=1YD?M>O[X!L"09[&?L"Q_$0L3!MF7Q8R-;A<E^H;*7%:IF0TJQ)7D6n
MM*DER6BS:%K4JI:UAD4MYF*KV >+-<*ZY:UO@7OAU4R9N&)K7(>5R]RQ6A6Zm
M:*G#=*M;YB2?^2/;G3%<OQO>\>8XKQU>KQO:Z^&G#B&^\ZVO8>&#7_W2EJ*8l
MSJ9%0VJ#'+! 2!N-:(!KNUDEI^8C;M"S& +[!B,:5@Y-I- 8)>,1B @T#UDAk
MR1P$5YDV]'FS* C#'.:@9U;.:%1IJ/4.4XD6Q*9 Q7YVK!..200I),$*19A"j
M DPUW'+!(0UC" -&CJ*3E/8/R2-@"H!J.^K<=/K3[\/-J%=3ZC]3$02I;L.Ji
M2=)J^\)ZC ]9PZR3C<344A?76JD(KPGWZY &>]C%%N.Q:8W$9><)(R9Z]GY7h
M;.]I?Z':U\[VMAG6[3Q\.]SC?F>6=]+G=,/'1>QF]W>/F4PC*( $)MP@$G0Sg
MFW?2"P:G4FA.6KG/<9K8ASX"0345P)%C-1$&-A"6/BT9S7).TXA\X(,"2"F"f
MKTAE+(TQXM3Y676D?VDPH5D*&7!Y6A" X0[I_>S8C<Y#LXL'##NXPAB^,(8>e
MD" &13QB$D5  KWS701*[($6C8,<$4SQU(5, "G'TL."B/NU9&8\#EC 'JU\d
M9<AC_DCA]]ZM%BYDB$)4$(,H_2 532C@_!%?$%$OP\#G$;5[[&-[WA.?04+>c
MD"#@NBF]6(:7BA&29ISD[N^+R3:^T2L$7#ZE19D&VTM5B4R,_H)X+Q\(2<CWb
M%RRD%3F2R.$SLOB.!'@9)7D4Z3MH/A&R3_-7HTGHG\#]W7<]];=._E)V$96Ja
ME'[XUWKQ]WKZ$7M)AP*U=%2WI "Y1$"[U$N_! +!-$S%1'/*Q$RJQWT$*"'Xz
M 7L6<G9+-W/(I$PWEW,<Q'.^%A,T$70U,'0#"'\>2"$(*(+6U'2M\4Y19RLQy
MZ'WV\8$'&() E'7\AT5:Y'62%'8;>%\=^(,T*(3V8P9I5P9KYX!M]W9QMX2Lx
M)X-."(+B@W>&UW=_9WV#-WJ'EWA:! ..1T@*('G]1WEG8'D9$7KOQ'ECX'E,w
M(6:P)7IA:$?5=WJT-T,]Z'I 6"'\DG2!&$-%6'[_=U0!R$J#6("%6(,)N(!Tv
MT( /6%4OP$N^!$S"= (D6',:&(DSZ(7PHG36A$W:Q$W>!$%*LGKOYX,&:(C@u
M<4[IM$[MU#_P)$\] 0,-A1,/Q5_K08I=&(3\8HMI,% %M1,@$A,Z8!PZT"SRt
M<D^JF&D3M6D@4 ,SP (O&&J:%G.KD0!FT$2*MR1,@0(B\$ 1) <=HX:<!P,Is
ML ,?E0#V@P+C2('OI!)8L$0)((Y@)&[H&&YNX 9ZDEIP@$'J^ +MJ$7Q.(\Hr
M)0<HX 8]  ,[X 8\, ,5N0(K\&Q[,(_T&$0141]TP ;V2 8L@ <L$ 8-65O]q
MF"$HD(P\ (\@T)'""!W:R(U_ V#@" +B2(X&>8[I^!+KV(XB\(XK&8[U>(_"p
M!(]?Q9/^"!HD*0("29!>=I#4E9#L2 8Z(0)'R9,/&9$369$7F9$;.9,>F8R*o
M!U-A09+C>)(IV94M:08O28$RV9&A:((X=T([=T K^'-!-RLZ08RS2(DVR'1Hn
MX'0Z*"R".8DAF'1$R'5("':I942+^82'>'926!A4R':HA86Z\5F5:8I?F'>Dm
MYW> AT?71WAAB'@AH'@B," UL(:_YX9&"(=RB'D? 9MVB(>@MX<@8(:E]X>Sl
MEX@JI2,%>(J)2$2HJ4?9=P)I GY5]!K"MTB-Q$K(QWXJ-7\L\7PDX9R?LG_3k
M>4J.2"GI)RFN=XH*:$MLITN;*(&>:('&5(++Q$#%>9ZRMW35N$W=A">N:)['j
M.0;(J$[LM!.Z&$\U$ //^(O4F!O^*2&U&%#415 &!2)NH@,#8J%CXE";9HVBi
MEI\T8 /<.",<55LNMVX>1:+UR$%) %POI$Y5 0,PJH_0<5L19@1,4 7$] 5-h
M #M+(&5X  ,W,%P$@5HMH1^-1H6#D5(4XU0.(49GE2C1 0=8U7)*1@5)T 2Mg
M\P5&( 5%$ 5%,R P Z-,T&UI0!LD,28%(:7058"#\15QL$+2<13HIFXP=Z+]f
M!:('JAOR5HT<^HT1=38P\&G6U:&K 0769@5!0 7B11O#%@:FQ1)CL /]N%F,e
M.@>.^A%B4 =F8 :!]9!%H2>JD:93VB"IA55JVF>&>FV)*EYGX38@H0)W $8<d
M\07K=09;X'%4P*-3L (QT 4I@ +Q2&\A%:O]@0:T^@:"809U(!T,-A?WPQ[Bc
MEA%(UI1&H#I78$Q$  *M&FMOP'<%"!CV :SRN(\@4*U2<*VKHZUOX*KK]05=b
M]@6 01OB2JW6BJWJRJ[=2D)(%:]E,*_D:J[HFJW;.D;Y>EKB-A)MX*]+!+#Va
M.K#@XZT2XJ\G*JS)6;$6>[$8*T,555L;U8_]Z'KP*FQKX+$C]QH;FQLOR *=z
MIJ>W\5&IBJB*BA2-^JAM$*F3&E*5>JE%H:F<2A*>>CRI$:6C"A^E2@>GBF0Oy
MNZKWVD0H *NR:JRU>JO'E*M3L 2[VJN_&JP@E5Q/>ZS)NJRKY!D005HH)ZVTx
M=:(+6Z_I^@6&^@0F1 59  5%@ )+2[ 0:Q_@N@:<AP+;F@(DNY)I>Z[VRK92w
MX+9N&[=S6[?M^J[\NK=]^[?C&K@!"P*$:[AP*[=T.[#MJJ_P6J9EL+<Y^Z@Jv
MT 9?  >IY+?]"+CEJK;96KEOB[B9NZ[<^@7Z>K!RT :@BT26*KJD:[IR@+H)u
MH+H,N[9M^[J86[</ZWJ.*[O &[SC.K$@E;'2.[W4VP,;:[(D"[*@H1\D&U0;t
MVZ<C^J<S4 ,WP )!4B C"AOU* <#U)I%41AL4+JG"P(:21 8(;_-X0.[-@>=s
M2QO/"P(?M1H::95=<1J=:Q]S,*XSFJ)(L*)HV 0O&J,!W#WEDE1A4")U  ?Br
MZK&;!0=O,&R4LUI<6R(>-D!4 +=]MAIX\@5(.!)TL,$W"P(>#,*,<Q0MS!\Rq
MS#E3U7)T.AXH:D0HH*(LJG@0C ,PRI0<2R)BT+\F L/#52)Y<#PCT40"A'XIp
M'!% / <<084'O 80T:(Q\&SCR,00&8_#5646<Q0O04)+$1:*!1WX]!J;E01Bo
MYP:GRA$C09XF8E5?,1%C<(=MH!3&)Q@")1<@\*3G!0+-];DY7!^Z2T6%\\:On
MD934@1!?0#&.RI%Q3(] #!(H\)*?\:M?Q ;\N@($'!A=/ <I\&PF4*XWFJ,[m
M6K7/UJ(R>2B77,EHX*_0T8].N5E?IL@_U@)C\1(D,:2V9D2CS*\L 493A:3[l
M!1VKT0<TU</S-LE ;!<:9KN^Q@.*E\R>2[\R3*<&G+<0080U61+D8[Y5P;(Mk
M,,'KV[Z*9[_QZ[O/5K_PB[\MH+^"P\3_.\$#+,YGD,K_NQK;8L$8K,%F',,Sj
MC#DU/,(?D<$,@<+[M0*VQ< .[+Y%?,3Z"!LK?,,OG-##M= A;,-2Y<(YC#6!i
M-:<OY\.,9=%#[*)&+,%)K#)D[,2;!<52_&]5[%I(MAKUJ,471 :I/'L[(<9"h
MS:]E+*F;A<9,,D9(=!&1Q,,K7<T^?<VH] 7:3('=7'RD_,T4?<KC#&Y>[#]:g
M=Y<VEY<ZIX(^UX*H\H(ZT: K<I\W>)@Y"'7" M<)XYA:!YE2)9G]AM>GF)EJf
MQYEN!W>?69__Z2-@6)ICN)RHI9JDQYJNV2$?(IOAUX:3)QEQ*!MSZ)N47;Z=e
M)P>?IX=D!IQ^Z$+)69]BFS57-YR)N(C^)YZI1)ZL9)ZK/4OIR8#K"8'MV8D4d
M^(EFK8&V/1>LG73X^:>LR)\1--P\@@8!BHL$^DX&VA/=J*'GS-RLG0 -40?*c
M:% 9VA,7ZB'3&(S@VZ'B*P/FFQSI&VVX!0=H(#A++!9?@ ;3(=81^6R?[ ;/b
MY@,-A 25E01#L 1?0$Q)8 14L-$ 3*)*%@2G<P1.@*5L5;(T,%SBUD/4Q08Ca
M\:B303ACFT44$<A=#0=+,9D6)!$;Q]X1AFV/ICH\E06*:F&K<: R(*1YD$<Dz
MCM*BG<&HY1')U^$5$08>0:7VIN)?D*M"(%<#7@1'(&7#14)G0!M#UF\\+DG=y
M$P:,(UMGF^#""@))\!DFHD*FJZV1-!80P6)D\ )>9R(>T41&T<ACH+MCX0)Ox
MO![GE=[LC%WVYM[P#:_=2M^3$Z[Z[<F!SM\@X-^G$^ #WL &CN!X[E@,G@0.w
M#N%4(.$4/CEG<.$9_A$;W@8^_N%* 1@BKH2I8>*TQ7&.I>(F=$Q"X.+9!AL\v
M@1(T;N/]AN-@ON-CGEBD9:E!'FP8H7%93J,?0>1&CN13H.1,OEE.#N5>9D13u
MGE*+,^+32FHAU>535>MBWN-.?5-GGN9RL.9%<131\N;#%N>*5=Y^JDT$HK)Ct
MLM[ SN52$ 4P\ 6HKCJ9A0<Q,ES'TL<I91A\/*1Q01:<EZFHU4!3D 53(.]%s
ML.)2(.2.E03OC@,(K_#U3A,\N5EBT647Y+,IA3E,\^>3(:=9'L?MCAA.D 1?r
M$.]08$Q-$/'OA <Y$])Y3!M396 D\6JQ%G L]\PH_A$D;_(QP+8JS_(PX/(Vq
M /-Q(?-[G*0U/\4 9Z0B2EMP+.V%/L6QVL>TKN/XIFI[+.?HIF25]02([O!>p
MVF;!:&:.%5Y9D#K8JE;O/E[XM![I7B5WSJ=]BHWTP@+(X8TGNQY&C/<YN:=Fo
MCUN)^@4]'_&I_AJ?//B%+_9*U_) 6L_N'@40/^]2@.#M#@4'C_9"8/CTOAJ?n
MC/E?H/EL[Z6M//2/#\YB/_D)G^J,C@44O5E<!51P$/.G%5C-?BA<3UL4/?)Km
M9?(H'_0JWO(Y<TV[KV2%__,I+P4K'_Q#_Z'$K^5;*R,O& 314>U8KQW,AG$Dl
MX<'\$24,CUMK15E4L!@7-O0 ,UQ)\ )/(,-C@5J>>O5ACOT7AUC?'V'A_V3Ck
M'\L]6A[V3E[(?EKIQYA%AQ('$;@?:LD/5LXP5+\C<VG,'3;B"8&*)Z"O#I4;j
M>$(,8 %NHG_HI, 788; $U ?QV0*) $M(%Y>P]"+:3!@3%&J,. 7 IFO<2H)i
M\"-$EY32-MX&4LAW(*_1X98F\ 0"C1" '270S> !(7#$4J"0$C9*Z%@0)&WEh
M-LI %C$69Z3KV1L>&&A$( FL=RA0!>(L%EBF]$RCB8&L80G60"=X Z.@[DMPg
MKR^D7($P4P8GB:CP.F/K@H" (G!JV%<E@U;_1F]@A",U$>)@7P$-_"$P/+_7f
M\ 8?V:RC Q !!_2H3+6I3(2<HV,)YL\A0HWP$!@9'CL-'Z$(0(%7QE. 8.Y[e
M?NU.$W+"'UCL3" >& )9$!0J&5&(HP;<" R"+0]@B*EJMEF&@%80&[K&L!RDd
MB  1[ (50E)M[B5DJC-@6DB"L$DN%R$C',,=85P&SF/XA K.W@R!*G!66-QWc
MD5M"1:$(*39UAPZ%DDHI38 (!($7@ 2.P!!X 4/@"(Q#)3<.K8 ZY":?T*R=b
M(+VDUE@0T&EK0P>[S9*E@X.>S@Y2;<1MECRF_M-U^IJ^,R+ZL+4)MLUDA3J3a
M86L!GR4A*C;2Q'=,$QEZ;,!)LFD1&"$C+)MEH$U9Q#9Q-MP4*V($>@MMHXTDz
MFC;3X]IHCVIC$DY">0 1BP7;%(EL>T1BQ+;!1!SP)*+$V<EMEVBW:2).-($Jy
M$"BZ0/))N+&*SK 3>Z)Q2T7(;3]]DQ>@$YL$3X02 $6@2*A8H1,J5,[0 4!Jx
MO+V]KY$BEH15[(G:;85TMUB1''91AWA&!<*ZF;OOI4TN((A@=_J$ I$=EN(=w
M? !-<6E$+:/)M 4VCDC*0 EP<6R)H( @$.#P31F@0E:%NHR #&%3&,-#^@BGv
M9C!XA22R>_*0$D%P2\0)Z(DRH ,.8X_2#H]A$AX+C^ "V #G(39BH#5.!#+ u
M,C(":5F-92 .L #8J!M%11Q(+AGO(XBT*Z=$JED(F(O(,3DJ1PXU%G<"-YI[t
M<_$!EJ\.H?<^RA)9#;$E3]0W!/8:LJ.'*PILJM]L1R]F'5\#4\P#XQ$BK(;Ss
M.!' HX0@<>FQ/*JP]\:_V*-Y-(OMD7&\QWYC%/)(8GP-6FS^T2Y& B 92;-Ar
M@C80"I(%ZV@=JY>#?)"!J#P6@:[0K K+7T 6S5&AL "  1T=8'YJ&.JL.IZSq
M&&&^P@7@PSXQ;B?4 !< I%P #O@;4H@SXL<\@55PBZ<*705'5" ITJ+GZB-^p
M? V^A0G(Q[/Q3DQ"3'"1?V,ZD(J,P .*3P.YA*:EB=Q&QW!<,L(("%1-,@PTo
M$!2@>'#C;WPV025(#DD0 2-8I*(8.C%2S)P?#!(@FXV)Z%ZOH0E, 2CP_*XCn
ML(@5-X!%X@ 7,'2^ FYL(FFR(JQ)ZM(FM9_'@@U&H DPR-IR')>CHWR4T3'Fm
M1,H_]:%"E(AL,[#!!:"2,[$:OH!WC(])K,UHRJ/"*2G7>025F/(UC,JI0ETHl
M5X_D.V9QDZG*37DB.F6AC%\!LII91TC)*WLEIFF.<"*C_+V61?>8XX>D >B-k
M!HR,2YDJ60-KS BK@0Q<0*TTP=J,4Z (047= )Z80Q@KXP4B @,N?GQ (<E?j
ML,^M')!?P3*4RR4RI(+/>+(#CDHNH!;#TC;$R%3((C0RC!2<.^ 0\L=(^ B/i
MX2APO,(P$@(>5OF/D^''U9KVR*GN 'M CPH0!?P &97@H,.PV0B^"S8H'N$7h
MQ^; &C-:J>0U;,P3V#&;0HTK.")3"':+<AG'T&6S09>DH5RF2MPH&U?#Q1P#g
MOBO8W( 4D))T0G!9(A0M0KB$BI!KWAS[PW%Q;&92R9I9$3YFS@P#.S,E]0^Af
M C2!V=#\F):G0GHPI,DR92:FQ(V% UJ2 1G 1VZ Y2";80!$M0"="29?PQ+1e
M=1_A*YP!FN<L&0Y?B6-)$U.. :;A ASF:Q@!.B-0S0&3F4=6 )Q@FZMAB4B$d
MA$D1I 8(R!,.,T ^1C?P _*FM8PP025 ?H&IT2QA@^(T(ISS6DJ'A- UH<,2c
M&0+XD2)(3@Q2$(+/9,AX2(%E/$XD(N=2BA+,(HYSD;&&EX WO6:;H9G0TK;$b
M@"K1 J:ESTR52R10LL?A"0-4  W  <X3)#T.#MD?D4C'9"018DF41OI#)<.Fa
MYPL#\&@%L !I63;/Y@$!"IY3032UY_GM_*/OO#!@LV:23S)@-L, V@11P2:,z
M64[XV3UK9K )G^,S!I1/^WD^@\H288_LLWK.@?T97.*GV!2@]--\ILV,@@/Ry
M)\54FA[!>X($\)D"Q.?\K)_WTX"JSZ.00$_F GV?#;1_/M !>C]9 )6PH Q4x
MJ#C0[PE /Z@$19]N<X0*B.2@0&-H4)FA8P2"@M#SB0$/9QC0GRA4J"P%;.GJw
M<H ,L*!2TX?"!C)P+8.*5MJ-V!-YZ(4DVCDK9K,$HFS3@Y+-"$I TZ8(C4Q]v
M3&[23;!YI*3H:^A^O=-T"I;4*2C3)75IG;<S&^D$W>ET:D/IK*.;LR=DDJ49u
M/ &G#9@!Q7-\'D],F3R%#9YI:L-S!CA/Z&DK%$_#D %4XGK*@:G!!N# ]JR;t
M&O1_=M  RD(+:/I$H#S4A+I1[IE!Y:<0O:$L (9RT4':2J&E*/6@K[2,XM#$s
MJ4-+J/N$9E]3A4;+7-I"GZ<L!::_4YANT!I*3$UI#D6E[=-ZSM(VHDQMJ"YUr
MH3;@F'Y197I+22D9#:&G%#_Z4FF*3/EG+1VFI72"O@D:H$U3Y1+-ADX4BA[1q
M53I&JN@4%9R,A)-NT:A73E/H.5VFHU0KE4WDJ4,360^=IJR4<,A/&% V8^D1p
MO:#!])]V4X%*/PDJ>S2HJA2A@M*%VE#/2SOMHB"U62X1L0"5U&<:0%*6U#A4o
MB3BZ324JU RH8W2(IDUZ"D?+98G*$,/E6X;+PJ48)-E--0/#A3'V*)4F'H:+n
M$ N,$<RZ0#TZYR%*Y,.0-_(0K:4@OK36[J'0>6M+T2S&1)\(1/@A7?.'=RVKm
M-D69:#\&HA$JB%_G(+[$LTA6C<A"K$+ZJK!EH:JX52=B&+*(CDV+9$0T) +.l
M%P[PB)$GLU6>D4B'_.IN$FV>D0ZM1.%4L8H3EX ;K8TFAB=W.=M624YD%8\5k
MMUDB3(2DAJ)[^FWP"0/-IP8B*3)K:SMNJT@J]B?,VB6<&SI)1M#-G>RB P46j
MNR(P:HZEM;5FQ0BUC Z*5UPHB4PN>L@_90/0VPT85-^(L?2PK17$&MA+"W]%i
M@ GXNFHV&8'846U1@A&)08<B@ 44E11P M6/LS"I6^:H)%6W2880P?4 1PQ"h
M6I840K@WVV)G&1$D0RNIR[+"')<.2>$QC?<9<, 6Z )*+:0DAV^#!RY"<FF"g
M26K(/#LL]U'JJX>9"Q9.O[Z:!$L'AN=_#; [ 2@06 .K-UP#2E&P8)"^DLI:f
M25B@V.PC ^9ULQ@!#)>L#DP9,#E#LX_V&0=+6)8+'/@"?33%AI05ZZB4GD: e
MG'7B*-C8/_=2!(J,):HPQ]T85PUX(G\J<[VNB@>Z2M<^\Q>MJW-%JB@0P3G8d
M^QIAF\A^I;#^%< .EP';%C@L@OVPJ&7!SM@1:U\A;'[ULA,6S5I8,;M9AJ<,c
M*[,9H<-^!#1;Y8BCB&65X=7$N@0=6ZY8K(\5M$WDR&8Y&CMD;"R.;0UE@-#Rb
MV!9K#$7;CPFR$\%B$-D*J6B?'Z-%+5. "@C#)?!B"2U!<@/>$8NQAY%T0$A9a
M"S "7.0E5(:PX,S.H(.5"BK$C14T7 M"4(L*Z(:P<BY,D<W2-OA#';@\.P(Ez
MYB$1EA]$'#NIM=-LJD55%+27>HX]=$'YD+5"UJ=HF!"37;,5N77;GAVSFDC0y
MJ!(*M[/DK1(VSP01'6MKM:N,[309D=NC5U<37Z42:NCQ7#:0F&4&Z^6A0_CVx
ML*9$Q=J'6&)CE11I8I9(5H(X?  0;;NLN2+AMC:@R%G9$U%\3T<Q/HDB^H1Pw
M/\4^A(JIM14M-U8A<9_;@)*M!@I!P2BQ>-U(KL=U;MMM+5)'9[2+!@3+G91Uv
M\0+:V1%5 76NG&BR>9$'D!UO<US0@%_<29.QD[@&'K"_%(?)H9U&%Q0&W<N1u
M!OKB7U2Z'X$'3(ZU@ BM+HK"NA3HRQ$DKWNB<&Y(:10;\MP0JHH&=D4 T?4.t
M:^3K0I&/( *BQ9Y  W&WI;5=TQIW^>EZN EI]\Y-6WI(5:\M/L2J$??E<MM^s
MF)C K<LM% )QKQ%$<TOB.B[D58A3"*Y>H8<8$1\OBB@;BZTB-K9YFYKVJOOJr
MJV("L&*V-Z39;E-A%1,"-['ZIL6*VH@3M,@3=[<ETIZ:V'#'DV45#+=73T!6q
M6J*>K)#%_:Q&,;AQ7%9A=X<O?E*Q8$MKXEX]\72]WWZY)KS6C84[4_L8I63Up
M+5J8PS7TF]EW]&H?29@<2>0VK($Z( 842_9-LQ7L_8ZK:[)99L,;* -B8%\Ho
M%M=UN([7P)H-6"-DZ8?EY3::E_.Z)OSW<B6N_WLL\&\8$,!Z"R0\+LAU3>AOn
M2 $C&V:IC(& !U/XEU*INAM8AGE@#L-Y-,P'!@^O<2IPF/U;O/KO I9=!W9Tm
M2A43 8$),!EH7BO) K.'_\2""Y?Q>L&N"F1-&C* 6&RP 5Y)"1AVU2WM);*,l
M,,DZP%A ![L*H1&""P;?_"S[)0G[7QC<$F[L%';"%!@+:&$@W$2\,-, PV%Xk
M#,<N5\6Y9 -MV%N$)=Q] 3= $NS0A%4!],QCY>!>0F4Z"[=(P4R-6_1@RZ6$j
M!U8@KL$2F'D]X3V\ FU&%?X9H<$-,)4LW((5\!I.M)$8#>OA<:6&Z];LRR$Ai
M& 5\614P!S@/8=%O85@'*TA!3(E]L N^Q#<0$?,M19R*^3!+> C\8A#_8+I%h
M6-J5'8 U=X .Y*Z9)5MZ5RHQQ4.F:;4K8'R)@!7J8L0AY6IX.5+QB*5Q^-#%g
MK]@3ZS :O+TB\"PNP(MX_MKB<#>):4LG=EC3N-;!81"K'XXP)Z[$2IBP%" <f
MRQ9HE[K96^_7S6V4LD6#?1<+N"8>JQ=+%<Z#(S>*,?Y=FQ@!P^,M[*KF\<E9e
M Z5+.VIB*'R.8? \_B)D( _@XU32:_6Q"F!?./@=NV)+7+?F,5"C0A,9"2]Dd
M,@S,[,,76%8862.#A'P<[C8*2$[(8G@E\V+0L\_*UCIV?]$7IK@!9"QF-@*Mc
M&L@R:W<58_SEMU3R2"[$,'A981$V8)(2,3@.QQ78%IL7](*-2?+ LF4%P2$,b
MJ9]\BPF2'"#*T4$L3P;@Y90)\?$B+& YAPACD$!8/LE8<,<*^2F_Y2$#ED62a
M:Z3+0\8NG^7PVD?1\APX2)#Q&8MDMYRXX#+_PLAD63#;X9$0:AAA0;A._Q@+z
M>*Q1W!H\0QFXS%XADH3DO,R883%8#A7\(3(7A+N,E7.R7F;)IUDLP '5;);Qy
MLFLNS77+EM4'N?#F_C(H(U*K&2'CY(KLJFR9O@K%=3DXHV4\T&K,P&B^S;LXx
M-WM@R5 9:/-8F,PD004P0K1,.)&(8L[*R&[A% XL;(YU\A*^*B2$=O40LBR'w
MZ;!A[B%S6#A39/.,CA\2[K+*-_@)S^?73+=>I0+->EV8/6O'^,QYBNT7^,\&v
M^@UF9H]EH/^S GW.Q+F)["]9/(&'LWGVSR;4PP3HF<R1M:]VM,FS.;PZN0+Mu
M%0YTAD[0M/$L ^1^U* S](.NQ1:O7)1CTAR=#3%;0 @;.=?"WSQ NSJTKS5:t
M:+DSO(3O#)VS\<#"K_LU1W?D7>NC-PJ0%M$]A$A': K&H[MQ2E[,-1H&%[18s
M=="N-'@.*:7CW^7 (NV58?#H(APX4R9_XR:B FC7!80S.\Y,TZZ3&'K@%>5"r
MQ6TY2[LJ:^R-1_$E:P-S&1Y":/,,E\'"9_8(9)EV;02"K+MT5IL^R&P92V=Cq
MPD)"X$.B_IB,FAAO%!S+E"TT?Q;1ZJ:,).HY8)0Q=5)VU)PZ#T/A:U)=00*4p
MY7)L);KJ(^S;I)W<&ML[">Q+[V '19YIM)'FPO K#1QE#*>FN>R;O<48H1*.o
M@4CMJTFRL;8+5*SX"+7.L*RFBB:&QG#&N,QH,@V5@[#8,BY*6M?&WR:M HP6n
ML^;6#!E0XK)PO:-[M(YVTG!@4'_J@945D$J2YM#OFDF_ZW(=H@G+LDY=DKI,m
M[VFL@IR'S+]NS5-:<X(/ZRR? 7:S[M92$EEQB3+@,C&"EX["MC@J ,)KW(IQl
M\\#2V"YL;]6!X6FG62#G&=DVP$Z+ 93D84@V=&'9*-M.DP&4M*(30,S60R?;k
M90.<G)VRH4LI;MD]>XRH,H>-L3=+7WASIDLH;^LI?;3+0-+V#"+;S4+K:Q>?j
MG[,.3@/2+P<L;?H,@YE"#/P"7D$W@H1GC:3"=M5.PUS;53VLK!VU\>O4+E)3i
MY4 CP9,MM9&47P%R%#O_DI"F+(YOVHO-:=:C*\?C(:.LI,,7@&)DF2/8YBE-h
MTQ8V8 ;.M1EA$^HA0],@\^,NR]>9/=QA[:RI0//Z6=#]B&S#6<JL CJS7?#<g
MHME3>VP8C-/>P!2[V)U8'@- &BRD&=EO%I205E[CYKI\P?+V%_'&_AH-+.ZTf
M':V/AYZ8R/MY=;NJR(!_D<=<7M.V60>O@=*A EP %^G8>IK-=6#C@+SS]*]Ve
M59FJ>JCG,["W1C%^[=$\*P6_ZYK\D?MU;SH#?/MA'R\,;>.VF$LV%GN+?A<<d
MO<W(]#=$"#WQ&UVSY$I!NC#P!X;=Q)L]E*E;9F74=(4FVE.:@$=D'(? YS4,c
MEN FF"U4<.7M96]LI2++I#H$O\KT6!&,<GID 2W:QH7P+]"<]17H3@ C_,^-b
MM?A@KV7XST[A!8>&L_!-I:\">"<6W='!1%?GL5VWRW#[T]W9FT24CB\0 [#(a
M&_#&#SQY)_'I33F^@ QPXE"<%JON)%Z NG? AMA%2XC;;B!N -$RO*0.9>!<z
M3^D1;A;S-WT4X_^[:/;O-_Z?L:9L:%8OW']'4VH=RM"V!=_3[8^%2>NVW679y
M7VJ6870\0]OQ(CN4:S80[X]\_!+Y<0YNR)%*9-APA/Q8EW%$OL_^L]C0"F_Nx
MA3_R&A?)D?CWCM8N'#\;8"E^R@'I>KD#0YF(NVTD-08_6!D@WR):CK, @2P5w
M=KG!'AN7" 1X;X$MH1G)2P[1* "(U_(1G<M!.2/CY7/97P/S9S/,P3C'F^#3v
M>(-'9R"^O1:X-381U_J+[^4T*U6P&GRPQ\^;L*@ 3 :_)WD27U9=7)7KYVJ>u
MKA$DK&02Y?L.,\*>1;=G>1.IY?S[A1.6%GY:T/(=&&9#>XNW\E@U&01Y9;7=t
M41Q;UPQ)W*L%."PF W" 7N0$L/T9M'DK/RW&2BH@\XC>MW$6+M[:?SS1$@Z.s
M/ADNMBIN&M7[>I?GE,X2F@83Q^(>G9C7=#Q@Q7&Z/'?GK=QM+ 4*K<4A> +Wr
M:!=[LS2$/=ML?@PK^9>.\3% *XP#*/.$KR$**$!*]3%AXVO"G2KC/.'':"[!q
MYLL KPDZI@,P"EAQGJXP!K_ EQL+&\QHXP&D72&'L)%!Q@#:1(";RS/,4AIMp
M.>M 1ZV_EM,PU ?'C6W:3]L-^"O _D1Y)KY9"XL=!F.-HR'8G4+Q60-;\S.Xo
M];GNM)M59%?;GV%D"'8J*0>JS!WX[$UDLM> RCXVX@/?N2#A:B4!]FSJV O"n
M&6?A<*!VH_;J!Z0$.U.4 W-83V U>$DPK]QNG^P5U+&O%_8[U*70ISONH3T'm
M^/8E =R=' M_#"I$L<MVR?X9>()@M^WB!EX-&^A>86. 8$]V>2BX(Q7^5*D_l
MVK@ZZZ?BO(,&EXS8/?MV!^T5=@8(=M-B%^+"/,.]D40HD_<W(=AGGVFY9%>%k
ME WXU7[?4WMWI^UVB+J[=4N;U(:+NB%Q]5TH$QDBG/3VR\>>QU@#AFT6FU?Uj
M-%TZQGIV?8_A];Z>G?^ZEJY@(;[!5P2PX!G(P$C@T3&>\\ !$J(=;#Q9X.@?i
MC?. =""_V[<RD7?L>$+'R( C_]YA,(5@\F;=(J^P&-_DEW<]IO(Q[,+W&Q(/h
MU>'?O#PL'=[%NZI4@M#,:Y-K-5.ARY_X,)?B#\6*AS5^/<JS8;X3K0H\[:+Sg
M&"&NAQ0M;T3$AAE(\U9OS7_Y(A/F=?4WI\:"NYZOL'L-O24W3>]H)>V0-WH8f
M'8T!?%A Z93<[K+TYTW2#;VEK["8/HDG+TC+S$-"K;[EMYIV;11;':+U>$"Oe
MV7H\]*#EJ]$VEH)I4>,)_&'9^.UUR]GUC#\#J?[(L'H=G\AMW*O7S/THUN^Ad
M64]K--.M5^@ZG2HC%<<]Z7&R#M[*H;Z5&_DF#N8'<[4WZC3=R%_Q;N_2;3%Jc
MSAHR77ZS9"IJA$.JNV^6]#QQW>S2<EI>NU6'Z,SKW;_[>$^WYOV[NN5AH-WKb
M>WVOM6"#NN_W.OO?:QAC(>M5^<!/E07_-1Q\H&VGW]5?P;$<;MD[_(??9B+^a
MB?KA";_>ASLXY^W[%L>'^%,DJ$Q\?U_O#SJL$=DZ&[UW=(KO:PEZ,.^<'C_!z
MK7&LDE2&&<P/VC)_+L_[TLW#"SK-UU;B9H6 R9ROJ_=7K\GV.CU:U0=[_.3Ry
MT,\V]>O[0[?O<\VJERNP>=52=KIB[%;=7!T8=DVJL]K<YXLKG.A9,IYPP[:;x
ML*2!X1WN;SFM.L/XNB.S[YL,[<&XL;C[R'P4NX3!++M1<=^OYP7M"_]T:Z_Vw
M S'4!^-C#*F5>V0'B1UQVX?%IQ;?7V6@KM/5\>(__"QYMHWTH@[N*;G]]F*Cv
M?_.7_B1.*2P%ULCID+]W _E\3KI_-F&1Y* ?%L>KUW^Y<7_NKUMMH"OP_F^_u
M^H/Z&Q #9-GW_WZ'Q>&)NNI?U>-8.V[K:Z_D'W\]QQR1.)TKV*<;O=6^=K#^t
M++EP[QW$_?E9N4[G%7B?^)M_,*ZF"C9T6>78V@KK7^S=RO5% +%R[+E P^"Fs
M)?ZS%JZGZ?H"+CQ&]DSW*;F^&/Y1?/W7<WVAH$&"'G<)IIPD]^*6 &O 2&2&r
MM&CY)1!K4W[^6\(=V/61&=*BY5T?\,/K2R#64CJ!ZPNX$_S)\JX/^ _6G^_.q
M-+[\G7Q+V#V1&=*BY5T?\,/K2R#64GIR'T"X#48B,Z1%RR^!6%MMM6\P$ ;Xp
MW\D'L%OA 3' Z=QX)\_0A7#8!&E@CI8A UH6S-3\>>G@B?$9IK_:5QF!F_[Ko
M=)51P#@]Z5__]9RF2?[RS^\#[1*SW+=;,FMNTLVY2PIF=N1%7'.3;M/]F5_.n
M^OG_E%QE%+"6?KD%<_>G_"+AE8-_6.Q&1,(K]_7LN]6_<1(^!F2 E#[JG,ZPm
MO')?S[Y;_1LGX=H9"<YF6/_&23@IWD/QFO.#\?MJ6%ZYKV??\3H,)SC*ORMZl
M146?TNX5#?AZ?=V1^;4IU^G,<"GX>GW=D?GU_Z?D]?JU%\R\+ZYY=#[FUT%:k
M2B?P74$]Y+*OU]<=F5__?TJ^*YR*WBA6OEY?=V1^S?4SME:]BF7=HM<MBI$&j
M<KL-=^,]V8:SAS<=P\5:>CV),5RL]4)J+LX'N%D\X2 AAHNU_[VH.7E]M.%.i
MK9?#^C=.PN6(6$OHQ5^G?TH;[L9[L@UW:KV<D]='&XYOTJ,/3^!L')^#A%B_h
MJ#DY_ZKC2%F/![KXGR_T \*($F7=HH=76!,#JJ<7G_B$)3+$@.KYD^&_.$]<g
M$4*,=!EB@R<"?OGG]\!,C'09<%.5U7_\_QE- TI<_O :S]4_OZ];\%Q">/&)f
M_Y4-8MR/<E295--]2OX5C#>G)_WK?YP+'J32(- Y[<_.[-QJJWUKO*VK:V5De
M':E#*$S\@84G^D/BAO_CZJ=F92?[]:_LV<^R7F7PIK7"*R.NQ9NX"8@W231?d
M[X"*NFU=^X?!-_>2VR-D$,\M\YV^W@'M:";-ZQ#G*O.=OMXA](HA>2MX,**]c
M/;UN D[< -7+;T7BO_5-;@).@+9N.'!G;\%EK*E-4F#[S[)PSVKOK:SEB55@b
M^\]"<85B!/)MR1<I;ES2RBJP_6=YOBH 0D)("/E"KI<*Z$?8OL.0$,EP>9"-a
M5/=4TD\GD*KA.2!T0A4P)E0 (I2LC=)15$ _"@*TT6YG, /H8X, ($Q&H1:Fz
MY83^0:JR0!-H :B"!N2 !*!^V6_)VB@=105 2 @)(5_(]<4"27?N:A&)&W>3y
M[MRE0', -<CHJ(L%DN[<U2+; NYF9;)_5-U7V$=%(&%'J:C=@H82E3%) OHHx
MW5!XDK59L/UG^67$QF*T/X@ !<YAHIH(1"L( ,)D%&H5RT_-RF1_1ZFHW4+4w
M$I4Q20+Z*.G.72T2*E(TW&75>5$$A(W6#G=9=5X4 5(!: @-O,NJZY''.2M?v
M(,T E0:"1-,-A2=9F^4)N $1YIDY.>9 .8?LQ<P(W0GDTDZ(I2T_E57;CQ!0u
M5A#9DK]_W<7&R XLD&XH/,G:+$%@V!".*T<2"$N;[X4%*0^TG3(5ZI0=M,4"t
M/[7K3[6B'5*F@-XH5K2SHX24=E=6$-F2OW_=Q<8 %=+R7C*CE]_P1F8 CKJ3s
MHIE<0$<)*>TNT'070B->2 N0@\%NBGIP#L'P:("*IZK7:LH%=)3KBP7(/MB/r
MU=(UAD&!<YBH@(74J G#<T $)H<P0-H#0;CC&O[ZVF+I%YA6F[RTOK2EW54!q
M8])6ME27:C-NXE^(*3)EIMI4;H138V!,ZV!J]^6PGM<FCL8,&K:[)% $S$K"p
M*P(AYYAPJ2! !+* V\,"[2X)%($BYUN<P!1H DG@A&4I+A4$B$ 6@ TR@%4Ko
MF210!+Y FAEPN8H*M$(.0F..0!"D :Q:R22!(J"CG@#K6'FA-E&U0@Y"8XY n
M";0*17O:"?J* !KH@%-Y7UU7L;2[)'#P>"#K6'FA-E&U0@Y"8XY "0Q&[2X)m
M'#PJX%N<P!1H DG@A&4I+A4$B$ 6@ TR@%4KF21P\+C4$"@"(>>8<*D@0 2Rl
M0'"A :Q:R22!@Y=F!ERNH@*MD(/0F",0!&V KF8"N$7^H87WU7452[MC F4Ek
MT"2_)(#"4F4P:G=,H*R(PUQ%8>I+JIP!K%K),(&R\@2( +A,?DD A6%*JX %j
MVAT3*"M% -LX :!G;5"8CVH4K%K),(&R$@2(0+7)-@>/"%R;)# %.E_+,V*Li
M6LDP@;(2:I\ %* P\271%3@J(%1D@*YF K@E5- !I_*^NJYB:7=,X. ] 6PCh
M!:1 %7 "R$0*++PV(P-8M9)A @<O^24!N(5,I,#"PY0T@%4K&29P\+94$&@"g
M:^4((!,IL/#:C%7  NV."1P\(<"EP$N,\:Y2H I  2I@"GD"JU8R3.#@40'?f
MX@2F0!-( B<L2W&I($ $LD L#$8Z.*"\!%\C_]#"^^JZBJ7=-8&R0@2HP,)Se
M]]NRW36!LD)?8%P7E0&L6LDT@;*B0:C C BI.*"\Y$;J\14 94J! D2AE26Jd
MZO?E=%Q9+]HA):"\!%\3*NB 4WE?75>QM#LYB?]@7*H<>CPA*Z<;Z?$1-LN.c
M4E&[A:@E*F.2!&1*# L"@# 9A=JS\2*!3E"8 L:$"B@6'1Q0DDB_R8PXRIA0b
M 3@M+_G81Q W,3G;C14'7Q%^1M#P#MN$(<C!^"-N.DI(@3"302A#A);@&H*Ca
M1F#J)*%$.&U60A1JM^:6"Z;E?[<$[2?G5H/Z9;\=Y?IB@797!8Q)6]E270I3z
MW@19J 6[A^?R66X*3HV!,:V#F0!ND7]HX7UU7<72[IA 60DTR2\)H+!4&8S:y
M'1,H*^(P5U&8^I(J9P"K5C),H*P\ 2( +I-?$D!A0J4* #TIP*J5#!,H*T4 x
MVS@!H&=M4!AL0 %5 .A) 3Y0!9 )MG$":7^S, '<$BKH@%-Y7UU7L;0[)G#Pw
MG@"VD0)2H HX 60B!1:>4#DF3Z (L&HEPP0.7O)+ G +F4B!A1=<CHG<8M5*v
MA@D<O"T5!)K 6CD"R$0*+#RA<DR,0!%@U4J&"1P\(<"EP$N,\:Y2H I  2H u
M)'D*EP(ONCJ@O 1?$RKH@%-Y7UU7L;0[.8G_8%RJ]"GA,KX,%]-G*ZXO%G"Rt
MM="YOH =I:)VBV)AU4J&=1B!3E@%LE6S/!4P:KC8E 2/6O)O=7B<8(3!8H%Vs
M)PYS%86)+XFNP%&!-H,#*-RQJ-9CY!^]KTF($#)$97#PNY/!%NUI9\>FU#X/r
M+,3*1+0$.>#%7$!'"2E+G;*>B<LCE,"-IK,J^F%'9I&O,T J=0$3#/R2O<K!q
M?6XB.LJ>QP/D281]D2T&$1S"&5 -Q J<KQQ^B4%.6!:8G6]*JD"$R> ".DI(p
M.6%9@!=.!.F11:A2ACBI-V_]B# 4$!?JH 4Q9*Z%(F"X':9>\]:SX9?J<J,0o
M0*XU55J"'! X$N&+;#&6T5%""O7[*X$E-7B=J>QELP)59@Q'JBH+O'NSSP,+n
M'2)57#HI#! <=\9/Z$;1"#(0BU1JHGEOB)6): ER0. @A*Q E1<-:EDU%A*Um
MN)8O(C9D W',O]7A<8(1))*9-PK1)("\\,':!7%GJ28)])"#J0'WCB1-9U4Tl
M[4EM(OP2@YRP+%!5Y&O/.J$;A=ZG6>0Q&":("^@H(66I S.'2:Q,1$N0 P)Gk
M<;J!ML'01)A.P!S2 3/*P7T>6"2"N(E5@B/X, W @*2B54>YP%Y&.AR7CK)?j
MVMU942L-[ @@@6OE74'"NCMD!P]U5 $C8 7%RPL0$&F?[(/]6"U==?4Z,9 ^i
M+L5SEDLK_]"""^@HTT[00X1 ED16S60R(OR2O5X0(=O'^ K+Z"@AA0I\,XG h
M2";#7L\(T$'<Q.1[(_XK9-GRL?5:C ,K7C@1!M(;R .!P05TE&EG1.JU& =6g
MT(JZK!J"%6$*0@M89)SG]G0ZAP5=#-FJF356A@JY@(X24OZ""P-61P0C0(3Zf
M>GF$$KCY"(!%(\1-:7T4VEQ<> BLA+Y, 1?044+*A41H1P0C0(3Z>GF$$KCYe
M"(!%(Z":@A23O]VLL3*LA+Y, 1?044(*$: ""T\BE @VWT-40[2"K]_L):&6d
M:)%_&QI"R I4F3$\SM#P@-J<.:(N#:*CA)11866 8?N)$$^EWV1&H01NTK@+c
MZ"@A18-0@1DA$<2-V*@3;+Z'J(9H!5\]EPOH*/NEW?T%%X8"#L6SX0(?!074b
M:S%.MU# H4@!^:R/DJZU5+K:'^=I F5%@U"!&?$_FD!9H2] Y7\T@;)"!*A a
MY>,\7"" H8!#D0+R61/\Q=+Z*"@>*B %JD 1T$?M[D)JL$/Q;+C 1T$!]5J,z
MTRT4<"A20#[KHZ1K+96N]L=YFD!9T2!48$;\CR905H@ %:A\>^M0I(!\U@1_y
ML;0^"HHGLC"!8I?V-\LZ,9#/JC+L0?LAE,"-IH,(,=D%=)200@38"VIQ4]2Cx
MCWD7*? :G\A'Z*.<;M8L"0+XK$!SN*D,]T9W2@2JU%'NBK0^"A $@_!+]BH'w
M^ZBOF0QL3.Q A)CL CK*M#,B@::[$)HBP'DP\KT)%73 J53R9S4=B@])R(Q>v
MGO- 'J7WYCI*2,F,,?E]98V.LE]:=:#I+H2F"+#J;(=;A%),1@&' K\5!#&.u
M @Y%/NNCI"M4T &G4KJ...>1D_AO"NBC=",]_.A"4#)"*2:C@$.!WPJ"&$<!t
MAR*?]5'2%2KH@%,I74>\\<E)_#<%]-%/U=7KQ$ ^J\JP!_%(7)@+7'>'2828s
M# W;'1W  S$9!1P*_%80Q#@*.!3Y;)'U:##B5$K7$6]\3.#@40'?X@2F0!-(r
M B<L2W&I($ $LD#:3S?2XR-LEAVEHG8+44M4QB0)*!8=O$X,I(]+\9SETLH_q
MM. ".DI(H0+?3"(PDLFPUS,"=! W,?G>B/\*6;9\; $"5FC.(/:K9_,0.LH%p
M'DAO( \$!A?044+*7W!AP.J(8 2(4%\OCU "-Q\!L&B$N"FMCT*;BPL/@970o
MERG@ CI*2+F0".V(8 2(4%\OCU "-Q\!L&@$5%.08O*WFS56AI70ERG@ CI*n
M2"$"5&#A2802P>9[B&J(5O#UF[TDU!(M\F]#0PA9@2HSAL<9&AY0FS-'U*5!m
M=)20,BJL##!L/Q'BJ?2;S"B4P$T:EW/;15&5QJ6^.QG.(N-C'X&V!;F_X@(Zl
MRGYI=YS+ (8!%,#I]-89YTBS,PZ%&!$-D@H0#.,"-3NH3 $- E?RF<>TQVR k
M)"B>++#R?$H0,*]<H&8'E2F@0>!*/O.82677!Q&/Q05J=@*8 AH$KN0SC\G"j
M=GWC0P&<;@T\F__!M\2-&>,"-3NHF-N08,:D&19H=W_!A:& 0]$VA<H>F/'Ki
MO?V% ;KE!U! RAMP]&4*\(&4-^"( !6H?"Q )P0K+E"S@PH*.!0I()\UP5\Lh
MK8^"XJ$"4J *% %))<VP0+N[D!KL4+3-X+('9OQZ;W]A@&[Y@90WX(@ %9 "g
MG"?E#3CZ E3,&!>HV4$%!1R*%)#/FN OEM9'0?%$%B90["25-"O:(66=&,AGf
M51GVH/T02N!&TT&$F.P".DI((0+L!;6X*>K1Q[R+%'B-3^0C]%%.-VN6! %\e
M5J YW%2&>Z,[)0)5ZBAW15H?!0B"0?@E>Y6#?=373 8V)G8@0DQV 1UEVAF1d
M0--="$T1X#P/R6AFQIC\OK)&1]DOK3K0=!="4P18M9(12C$9!1R*MBE4Y"3^c
MDQU8(-U(#S_:[H123$8!AZ)M"A44X >:@!&  OD,:+BK;S- 6IF<Q']30!_]b
M5%U-!>+"7."Z.RPF"QY?2UO:'1W  S$9!1R*MAE<4$ 3, )0()\!#?%.$EJ9a
M D(F30 *H+#_T5:J0!%895G9R=9"Y_H"=I2*VBV*10=3@>H+#8EN9?RRQCM^z
MT0%":[R7*'79+T2W,I+Q0$X',"R7[V,&4+'H8$1V;" (N/F#.EHK,#+/',Y(y
M@E "-\?%_39I(P\1:))/"\S!V<Q3JN ,H/<-B1MU$$%WH@#^G8\4RT<QWO$+x
MM33!7RRM\X"I]0RIUGX %HT0-Z4U:\&7AIK@@ 3Z,@7$_FHPWO$+M4R&<A&3w
M3:UG2+7VXX1E 5XX.UT":\&7AIK@])E13#DTE9FG_"9MUMFQ*;7/XWQM&<64v
M0U.I&T++YX46:MGG<;ZVC.(TX!#. !H@5B:"T*8&KS.5';S00BW[/,[7EE&<u
M!GR7F=\LV,S]I<N*X,%02^L45:AEG\=YC+T:@/B7_6"@H3(0VO9 $.ZXAN\Wt
M['PT*)9V]P18AQ7@4D& "&0!=7+P'HVVD>NL\O(()7#S$;A\&I761R&(Q1>Qs
MW^Z> !'H@; P&PZ7>GW'%D2HJPQ,2YC4ZU/EM8FC,1/[[>X)1($J4 2J0!'(r
M5OSO_/DR4S6E]GE@H4K!AVF4"\72[E1'$+@"J7+&;9:XX#!EK*=BSINJZ8%!q
M%"!,O'9L?%^(4.RWNY_26XI $" "68#_*4L+SV8OCU "-WT%S9?XV>D2CD)$p
MRB+,>5.)_7;W!*Y5>*D";$:H3+@8S:.Y=%) :.'LY8B1A^-K:K?!62UBG^P_o
M =9A!;A4$" "6<!_M+Q#.LL4S] [I%V?PI.LS2( H3I5>K!IX$TQ6"SP4S_*n
MEWT#S'E3F?G-\F5SG6PN6D<KRW%F1JAN""V?+UJG:I_'^=K"F7V7F=\LV RZm
M3%C24J^/%FUAU8"Q187]CV( [30>X+JEJ_T16H   .TT'N"Z:5Z\ 0'GC1PZl
M<T"H>*$ "PB"!NE\H0-"3IDQ=KX4/+BCX<.-$BF229.1S9L[&B-V= CQX$00k
M(S.B29.2H\>6(4&D<2.QC)LP8FK26?DQXLN=$M.0$4H4YTLV.\M\&4.'#=.;j
M(%^V>4.F3)NI5:^RS$H1JANI<^B$H5-GCMBB+BEN[?HU[=JV8D?X'&FFX<TZi
M;N:D.7.6#(@Q:,+( <'&+MLY.Q*\4,$X3%K&44$X;JN0(4O @@F7,8Q8,<$Ph
M9")+INQS3AV+(,) )=S&)T4S!D'$L-%"3!J*2!,N_!MX<&$09N2$:;/SS)<Rg
M<N08A+P:!'3IB\>\ 8P0! HW RV"; XB3QDZ*3H3#WW\C9WK@)]'G]X4M/'1f
MI^7\SB,?.^3U]QDFAD5AK/$%4O#!@=!*-Y6V6!IBU&%&#%M(,<4720A1A1%3e
M)*%%$2"LH%L7D4VFVV4[P5$'11&:809T+(!P1AV*&;:6=6X8-AQ+#NK4H@P5d
M7ICAAAU^&.*()5(F0XXZN:$BBQ*^N!@*N"TVQQUAP %'<^GMV >#6)A(!5!Lc
ME!$;DVV$,89T(- Q$!W*!<;&6F:&X08(%LHP@PP@, ?>8EW9D<889KI11QMBb
M0-?F0+_-X1%E:<E1!U45S:&G#%\D5!""<KCPJ&>13DJ1');NF:E"<'Q!ZA>Ha
MD2''%DY(\86%7S"1A!-%3$&B7UB,T)49F:W:JAPH^&E0>BBD*BP9KFYAK!Q=z
MI,#K"&F8X=T02"0!!0@]] #"K504P82T85*&@PPUP ""&);5R:Q%<\Q1QAPNy
MJ(<%%%(D8440X3I%T;!?G)ON%EUP"\(>-\& QPQ&X,!" A";.,033<2@@W=Fx
MF0E#"CN ,'$3,_0Y&!HLUDF1PC,4@8.]#RDL0\,/1TS9QS)<C$+&NG'L,<4Tw
MB'P&R>N:#(++*MO[94-ZY5@MKU!4(82M0V@&IZB57GKJJAG/ :NLM-J*JZY@v
M4FOM$+-.836X7R 1A!-$,%&$A0T9\8045P0A!1$@?('O$U3PG0441:  @AUOu
M*-7D@3S%B$*HE))JM7"DI@!Q AS'/7?==^>]=]]4_!WXX(4;EC'B="C.^*BEt
M8@KY'))#7#D6<M-M-]YZ2\&WWX +3KCA<WE%NNE3-Y[ZJ2I$[OI*2?-EN>R9s
MUWY[Y[F#;OAV227NW>E5F[IZZY2#V9")2(S,6!GOL5$1]5$EM#@:V[%AV!MNr
ML)%'T(?)5J: \U/1>0KU[OB]"MT*H  '2, "&O" "$S@ 57PJ,DE8%7:<0.Pq
MSC Y$"3@(0]AH$, J, .>O"#( S@CO"E+WZ!""F5F@K\)EBLG1@D1COY KOJp
M0(8844^&8:!AC."@F/W$*"UO2)5O$!(C,JPE##)L% L: C$,8K!WY$+ALU13o
MG3O,!#&5PLQ9[(7"&,XP-9,S48I6I!DXE&$T%XM!#& 0HQG @(VZD<$;8W2>n
M,7"1)R"XX1>I:"+J/:F,9R1#&M?8QCG&T9!UO"-%>*@?.N2!CY1A MGF\(;:m
MT&$F;CB#(J46Q"0N*(Q*\HX:U?7%].0F!MYYPR45-0<SCH9UFS2B6CQ)'9F!l
MH 8QLD&,;F##Q:QL1U+D2AD@J9DST,&1+D!#,;_0.Q#<P2 Z\@S"R@6"*9QGk
M<#W<3D)P%D$XO<%\C%S.>:"3D"KAR6Q[^M8+GN"I#7[+6D0XHA :Q2UOU>!,j
MAIF"F^ PS^YT"P0RB)' U'6'-+#!?&?P"73HI!L7W!.(<%A7H]JI$!!0 0UFi
M&FC]W' "BB0F1V4J(U0HTLI QBA"%+F#F1+S'H)(AX=GH). 5*G,DK[R46?*h
M Y;F9\Y5!NTLP*+(&ZQEAA6]QDQ5L!L5#C,3.-#K4[QZ" ICD@9*RJ$I*!Q=g
M-Z73F*98Y Q5I0,K@X>ZQRF$5&!Z"*D,MBQ7M?!/K[N)B:!@D3'(9@QUF)-8f
M84*2JN;&3J*+B@IYPM5RYL8B9)@4?O3JDS'DH7^>D:JU4.#%'!J&![?<V.&^e
M:# B%,$(7Q!"$*I A"2YE'RVX:N@NI+']\C!#":Y \MT,ED]6A8$F$V7*5>$d
M0QIV]K.A'6UIJP,'B[P'CU1EK7N@ ]N3S):J5C4897F"K*1*@0I?,((4BA %c
M$+Q@LY;E6'4T:E>.>E1-:P H(%]I+[%=*UO;^B>XQ$6NAV@5?MYLC,$8N1\0b
M\,$[B]LG+4'0@ISA%K.2_,(4^@:%T":!"A>:0K:,0 5R5?"_*) E$H>8D +7a
M(*XL,1$3WC"&]%*O26*-3AT4E! K&M1,\CHF>7QJ4S+4ZZ)FJFL92**HKX95z
M456]247/4+A,+HI^,V&63]8U/Y_&Y NQK4@9P)H6&*V+C#X=(W!XDB Z")DRy
M'R5#F19C$:C,*X]W(M!(C/R;(X^A3*;),I=5K"!\QF9WHGM#$)OS9>08!+6=x
M^G)D&4/B-:  Q \QD37+1"F?<E8Y>X7N8:?\X[4"EJEV2FB;,%H1.D'V)GK,w
M@UA10*H6^$"K80%)C!(<!"(08;M3N! 1])6$*<SM=0\)]:A+[8,GQU8H1>RKv
M57&=1]Z*0=1E(/4<3/WDF0!;M7Y=C ]\  (<(-J[,_NHIGW*3?P6UL[P*@.Cu
M*>+3MM#(?#ZN,JD^S1)=)YO7J+:*JK4HE:U^DW7($[>\L V")@0!6[<"T3_Yt
M9;<DS/:^A+WW?GOH2/^"H I?B,)NFG*EWV QP)WD<'JFF0"[[MMB"4!X?A/"s
M!V]!?,$QZ-B RE"@E72\70#50<@%:V_]EOSA"J:"#%1.H#4TI0\WJ3@=+JYAr
M6FZ<B1XW4PUD+O)OWQSB1*@!SUGN<Z3#W 9,I[FW%?[T+Q#!!E-ON=7W?8.Lq
MGV6P(_>OR;U^@[!7'0LOWS<.S%[OK=M\[43 @=M_?A.3E/C036F"$:!@ZC:8p
MX0N36HRWFG[OID@,HR6F[;IN"VDS516;4+%Q-2MIIJX0"H^/IE-"TC0_\*34o
M(.E-E%W;4H8^^Y0.::A-=NQD>OH5]PUG4$X;:F.8,N!!3569GT^V\S,ZNN ,n
M];J!'&%PX\0 )R&K_YF765+18V_:3+XO[KP$ [^$)"K*+L8B8BZ2WDO>R*?Pm
MRBOLC1SZO28F(6'H<Z#2L)8TP"^/UDH3'NI5@Q)0-(.#5BT A@+6A5W:Q5T$l
MAC'P<P;I 6U6I0*5Y5O4]G!*E5W;U5W?)4?I80(F(&1.1( 5>(#=56 WLX Ik
ML (K(&ER (%NT%N716 %:($(F($;TX#^Q0<>^! J6$]#<X,.F!O4ABXV8&'%j
MA123)0+'-#\X4P*"M%$=I1G75&,@P(1<X 8B$"// D,M6$I-H6^M!W>"1W@^i
M8'@3\2X&HX+YIC36(C'P]0+^!G"X8B\W(8#%(DP@8 )X$@178&&\]@:.828Wh
M-S=ZV(6-\84/M&P^X(=JL5<FX"U^((A74!_Q4VB =Q,6P19RX :"@P*VY5O?g
MM4::Q0.896T.-UTNZ%VZ\4:O W18P"N3$4*P&(NRJ$$*X4"K8G]4P085=$$8f
M1(L<)(O &(P+Y!E-\S1)$#4H=(LD5A5O]4)](DP_Y$IDP#H-(44N=%6@Y$Q7e
MI$QKA3/ A$>]0TQS8$S(5%/.T4S/) ?15(UX5&.U5!U1=FQ[=7E:MEXU! )Gd
M@0?/5VQT\$<[,DV*=DT^58#Y(4XI1B]RR!)3=42TA%5X%(&I,8=XU(D1J9!Xc
MQ%^.Y) D)6 <EE;@Y5O> HH5M3C2F!!X* 19$"[$1H<0R8.@F!XM&9)KU!04b
M:3 B21DH0)*!E!#35FT;" (HJ9)855O&=EO_])+\>(HR"0--@9'SXRT)Y@1/a
MH#<%USE#Z1W-A(=/X&I0D!Y.:3 )MI5$0)7Y8I5S.%E9"0)%8 5%X 1=F1_]z
M!95DLY9M298/E@44QY'TY"TQN90@\ /JE4:F57MQ4 >_829K,BAK<$T[HH,,y
MR6$&<T\BDI/-U)-$0' .!F$*-F$5=H<@D&"7205!D)E30&R7^!J:"$$K-!C-x
M* =:Z((V5)0Z!)>.]$-Z240P\9A*Q$2\^$3"E *KR"O_(XS$69S=XHNVZ!8[w
M,1-#Y$!.Y(O&&9W .$). S728QBWZ ;,^1NMJ87;B1[L*!?72$SAQXW;E!D[v
M(@9Z9A5;]IW$!!YNH ?0\2:,HIT0\ALQ(I]LXB8@ !C+>9\4\8__\W!P($N6u
M9Y]#9']W\H='MIAE$%$[H1EYX 9V5%"79%&=PVZ62&GJ)C62(CQF53S_T8HLt
ML5;>TE;$\BS$YG>&MI*3]9]#Q(>(J(@,U8@@\(A3< 7;U6IX>1->R$1]R*"!s
MF*,[2@0]^AF3^'?!2:+#*9U."D+(.3G9^1L.U)L*\2A/FJ4=1)W&B(QX-*5Tr
MT)I1!([CF8WEF47>*$T#F@1N\!OT!Q7R>4Z7XF>+ 3]FDC$:6J(<FF(>2C6.q
MHSUG-:)2U8[2V)1&06XSX18#Y9$FFD+#(J8&8P)8DS[.<HV[0J*)1AE2<!'0p
M)#)_@H^'DBB=,EN\]BP&,T51Q6_61!$KUB1_5)AE4 =EP&YJA8AIH""*5RFFo
M!B$2PE:VVB(I9XF_*B%[X:N["JQ'0BM#PB$>4@1>9:LS\3-8PJ<G.JP3DJQ"n
MDBU'@ 1U$RY2\*R[FH1J]I06)055X*RVI!3D,ZY02&X#007F"B+6%U:*$:9=m
MXAE(0X< %U_>,E_C(E>405<7<5=YQ5 @ :J(0DYT:H_UT@1A %9V9"@)NU81l
MZE/:P5J<2*%EP#^S=4E5%3#HHB[> C #5:E_<JFU:FIXP!P2<;#>XK&*&K)'k
MPI3":FIUE1$NNVD?JU$B0K,EBHB^=A)"83 P"[+I,K/@VFLD\07.EK-%R[.Zj
MD;1(\1P_$11.FZA&JRXB$JP_NZL\<2!+<;4[*[,BLG,U>VHTEVH10;18"[4Si
MD+2]\Q6Y.+0OV[9D"P(TD+2CLQEN(;8Q>[0B(G5G&[>9LHAXX;=9>R1@AS1[h
ML328JJK7U*H^E1CJB"6PP9]A,'G[]H=:F!^PAU=S(@=?E@!O@IKX!T_PZAU-g
M0#9$ *_IP9]PTF0# 5'79QWZ"!T_83[S1RC_5XL#,1)S0"8'FF*2PF*Q@:B(f
MV53C4SXQPI]50BAG8AUDL&UQ(ABP!S^CFVMWXE,"DP/TIHU+QBG%VQV*42B^e
M1Q$^(;PVPB3 QV.]JP*\F"?I)+XK1KZP,2.*82=BA1_\F2A\%;QB<#_XZ%S6d
MQ[WHD@/9VR>6L08GA648!1NL9QC]:R;>5 <!;'G6XE-I,@?IA24)$6/.]!OLc
MLR()'&9FH4F9JWV"HDTHUF7O2[KT8U<6453F Q0GYF3"EAMZA1CU\BUR$0;Sb
MX[_I>\&& 1YW$". E<#FQZKR(L$#L7K[5L$7#+YW0K_&JU*P,<0"["8#P7)Ra
M(#\)O#AG=!B55!L/F69N$4$L!)P]/ 3VDT)JS)KIX<7R<V1A@&<Z^U34UY@Zz
M 5'*)EZV%&.C)TQRJ[8'T5[Z"E\\Z*_UE93R^&ZV^K5#_&P;DX;*PQ)26*V#y
MQ4)9" *>!5JB15HQ\LG!)<J?2392:9>=$R,Q(% Q(@5Z>&T2 V>+82?S0[F&x
MEU?C8P9NXEHM3&<(T<-!<"=^1$96O(^X7";QTF>75E 'E4=C@%>+847A.V?Cw
M"W]97+4";,L[U<.KVI\1Y5/%/'V]" *P*JO]*1A&1F.&6T[2T0:'0<LSQFEQv
M*S5WD1#'_+Z>X5XHL*^+[ 3A\J\6*4/(IFRFMK?M+!0KN84%S6LWJ]"6[+@Iu
MFX@,ZBV!,JY_['"0J-%$6@0\:EIJ-LAT 1;RMK;^TRN)K"W_'-"-;")%H,W#t
MVV6&M1CJ>:''3,8)=U"*<FF[.ZNS18>FBH<QT#H20S%\<G])( 51$#([D@!:s
M+!5I( =Q@ )34 03PS9VDP48HM3$YH4.5-05@V;?HM0]T]1/?2!2C0+RBRE)r
M'07$YFX&[0-3.\GSE@1%4"L!EW/\4@47@BUK<P0@\E]V_05-L)5%T 1Z305\q
M_05^[02 S9L0(]AWO5U#4 3Z\C:SXM%&ZG"##:]K,P5-\&#>FMD\^CIZ48C\p
M]H;9$H<#)YKY,ELFPJ9N*AMI$*<^90,XD ,P@$J(<:O-BU%W\M2_?,VTVF^#o
M5WB'-P=K8C *\T:!=]QC>'A#1P;+?7/8%05OE+<W$8;(K2ISL!@W)RMM&03/n
M+89DB!#@[2W8-=[EW=UAH"C>@@+<'=VLHB@8E@13.05# &%\@-\*1@1#0 3 m
M"0)>P)NJ"]UD> 9;$E%XB +^K=_\_>  +N#$-M]D:(;Q;>&'9X9XZ ?>\>#[l
M/07]G=\3#ISM3=]IL%!J]^&C*05WDP7]W>)O(P4Q_@7P:J0U[JU24.$(?GBQk
MIQPK[N M_N(UOETNGN-$G@2CJ>,\;MX^#AUB$.09HF AWM]"\-\!WN3=_>-1j
M?G,.?N40+N)3/@4E'M%K.#-MJ-H!EY"9:E'B9C[GB[NR 1/D,RAFHE*Q 1OCi
M6MST>A!_S*CG@9HZ.1I+ZHJ_J*6(3D!1"C&W"%'.V8M8FNB2+D!<:IUXW.C[h
M)*;AZ:D&09[;B*;HJ:;4I#]9X$SZFQ!K?62TJV44I:GHQ">N$D2H#F%71A$.g
MZE2Q$<T/NGZ:5(_<85 ZT1TM(B6MQ5RQI<=L+F54QJ?8\Z>J$ZB,FA":_*@Jf
MVA0L6HE=*]?BRG)D0*Y&$ 1,4-58Y<>1(XG77N@D^HJ3ONZ+?H@'8A<'\>@9e
M%.GK+NF5?HS7F4)]'J8JNNE39*:?WHVAWA  21FDWL=2AAH\]5>F]\!7YB**d
M0L/F,U2N2D;)44ERNB>MGO%\HAQ5=6;7-07]&3_;%^P)<1)W,NQ !G]LP*Y<c
MC!QYQ0:MCJ]ZNNQC]:%E!:@B&NV^RBKO(J;63HFF::O;KO & Z_G>I5Q?:MPb
M@ENZ*M?1B@;3"ATP">]A6N[$<>XKP8J&7N^3WNZK0F)V0BBZ6$&0OD%>;^_$a
M6)WX?NEN(?8:RP::C@76^">>/BCF^;T"2DUN'/<$T;A&-LYYJE9[>O-^.CRKz
MXY%:+ZP]3^W7Z*+>$:2+:"9:201/@"NOZTC/<5S=T0+>0I< ;>-( &M(\ 1,y
M4%IG2Z.,Z(@HL)67']@@\ 11<*[G*N#F+O1;+YSEDO:)#O9NH695^ISTSOM/x
M>N]>BCJJPNW=^? [,1)U53IY1 9VVOQ1?1'@2?=D:O< C_>@OD4[TB,JH (Mw
M0OW/KQHF0LV7&QZ!GHD0P2E'MATT'26*DI[K^1(JP!73KS3E;TOH3\'JCXG$v
M;$4\B18@_;8(W[(7!:^:8(EPQFGJD<HC%3$"K B*=<9IOLG[V"+\B=0A,28!u
M+]3"(6-UR2[=\"GPQZO,@$;"1VK&JQ0^*T%6LL>SVWFIJE&A**!W$^Y? =PQt
M^L_Z&2N*-OD\D^O#%4J/US ]Q1/?2N .+($#[C1E(A10R6K@^,N!E((OM8B@s
MIZ2:@AM0,T<05R6@$M@4DM#FLPT=QEM<06ZG](S@/Q&"P,K"F,&G5P+-%DOXr
M47!G#:)!"<&U)EH)+%92L%>)"&6E(9C5AY!:46_JY2HCN >S51+85MWJ;4@Mq
M+9@'3>!9\@XA0 A>-&XW/S@0&RQZW:[J><"KAV^R'NX[6VN0"VXH /@=U RZp
M:U+$K_@U$"GE%F+,& A^9T\AI,(L9?SRW:IPA<L/#PP5,S"FQ)/VXW\![SQYo
M/\_0(W2ABR FQM!:. C@,_]$G8E(=6>!O?"G-6#$:E<RQ#3*@2I A\'GJ'Z>n
MBC(U;^ :>HMDF/N8U.Z;A4[*]WV!.]!(RH"\NU)H#QU*IUKH]M9A.UQ^+2)&m
MN(%'1HVPGR_L=-L/BPB\8=@0P-\4S$:;8LX<F0=X9-CA8=HD^Q#9O",3(;%$l
M%?YA,F(E(? GA[A7]IZ8>',<+S:H)P=F)ACB!',FC42LW(E+8_7XT9/8> )Kk
MA7&&<=8GVL)Y:2G:H0W @3(A5FP,5'E<(M#P@2B=AU9BH+3KAFZEVO6=3YCMj
MWD"+P(.1;T8QPH>7'D1$1,R(24OU 2)O(?MH7Q% ?0IILM !/(#1(L=NJ1Z<i
MD-@ AL6'!;A>NHLDSJ5,E _O<,S2@W18$>DC3[D7LK'6,$3H4QMLPVW #90Vh
M6?R9? %H] 45RL/BY/NL1@PP8=#A'4*GQ6B<Z&'H<(%?X#$"EC%S: C>FK)Fg
M]0L$A)F(EQO:&@W8>$\@?LP/5((S4("YL1_SXV,,-<TPPMQ'.K,\=&#F30L!f
M%"O*!E[[&B" VL" #67S6"#.PXR)SRA&JDEU%K0&#$!9VNC%> >D5P2.#MP1e
M,7HFG V$+1%Y6A6X8P)_3VFP&=!HO,Q)3VLG%\3@):IT=F[JF!JPB::NRFC$d
MV&,FUF+)FUPUPG*M%,L0&QZ>E& B(^G2K)([@>=8BO]S)@9!#LP/&T9&$@5Yc
M2 N3(KU4+$YC$H+(HA@()B&3\ \ 21FJ@ 2)"("!3LB/'\)YH)!^F',R;!H1b
MFNX842S4"$-4504]VHL$('0NCA=I:)$L*82MB##@.$[2^187@K)9-K;$-31;a
M%M !O"F&((4_QYNZR4Z052[G1]8:&P?+G !H$VV8K4@=2=YT0Y8DUH,['0>_z
M/,EA,G;,Q)0L;)X%L2V8O=;7 "-@0Y)@DG!YR4X()IVDH2"3<$=*7@BO<=?6y
MI&)KDW^M",!)B#$ZYN3K@!AV$DHR$5;T0-:?&^ [O:)Q]86VJ/O4'64D3HW1x
M5,@ R"@')./PNY33:>UU*5LX/#;E9H0.G1$+)$ V1;Q"XVA<#.:DK<T U*@:w
M=</W<HVN 3;NC"8@ ]+#'*B-AH'U!#O=2*+<2V_L&@%'Y%&;&$ <*TV?&HHOv
ML"@"Q:,HJ=Q"UM@",0 ZNIB0@@*HHW6DD1;*1C*T79,CP99"^Y9Z,K-5MLM6u
M)'G4H$P 2I(G,,DZ*2;O9)2$.5/2LUG)T*8_LJ21?)==4EY^2419+Q5EGL27t
M%P)-'K;$MM@:VYOD37)28-))@LD3QN2]W#=3DD\R3$#IV 0E;RJ4$O-0ALF*s
M:2\7)9!RE) R>3@N5G3:]HV)4'.LS5L0G->V(RPEJ)Q.JQ!B"(8P@!1@X;R+r
MAS<S5#:$8F3I+N/.7)*.Q(ST0B>2-(>)E<(@8H0\DIL\8$80X( ZF@])(W(:q
M9S?<0N/M(12)!3:8DR#@ =- -:$")P A&8'<L&"N#VPH7SB%/[:!2:%,^.,]p
MN6E9XS8:!G/B[)H/!5,.X8QJED1DL\N$RO;"*#C%+D2> L9I+(.\0!1CIFO6o
M&4ZI$[I"Q0069T;.M,HZ \5FU4]LEAW*/H@&TD"Y'L+%PI.$KS@^RYP7+:DEn
M<YP76^ YGL"CR!:#3KA4)BB@:7JFY@8#C( 1:&0^$N;P3IGC1* F9= Q/,8_m
M1KR8-R/A90LRE"XG :P<L7,P]TUS SG%L\TASY9R'7)#4YLY9P=Z\J;I^7;Bl
MCL;  S"@9CS--@<G[,0<8%G*<S%X!04Q/[YGP$R+T9-\7LSS"0-F /',GB:Bk
M?08&^-D]%\/W/)T&0\--A.\6/>D0 NUPW?(+C#>'@UW.%065H$T "NP/"Y, j
M.(Z5*D(\P0R@ !&P,R^& 'V?;:: 7@R^U0-* ![@ G*@"ETA,M851*83>9D]i
M#O&X"H,Q)]*"@P!IYT%!-D]&*3U[SOX<&NB3!LB<ZE#/\F9IR"1FXGM&3/PYh
M/HWH36!%A ^(6(3%L:14YJ14C$$3%K6[>$D'?"8\E(5A=!81HWRQ+_H%'B.Cg
M?ZPA!$7C>/A"%%J!1YG!15:\+;,Y Y0SU%3<KG9IF.B(1=[C95 ,^N$]^$1Wf
MD@2L19NY/.+L&CJ(&/%FO%CLZV@\BHZ@-@'T!##I9O-@\<R+_9#S@%/:S*7Ie
M@/7*)9(1%&#+L"%,> .9,U'I0U4" @PI1="%;F!#NA,H0$8&Z80LB?+O05@+d
MZ5!);,@JD0,%9=\ KQ0Y+''*-\M<L.5A+2R+Q:(DYWD!*8J"/Z$6GM >2X\Jc
MJ1;Y(T-]3L+X7E3:861ICS"N:44?",OV$!,14;MJ*MY(<FFS+@+.XI&$:-_0b
M(>\ 3^6:/!V7D*R>8H1SR8/Z4#*44>"00=DH'*6CC&2^06TO\]^L-H$C,UV;a
MP>%C=$CRU:C8UTXM3#\=@@DTA]*0J^*C-NEDX:="<"HJT)&:'L[@C#JH0&I&z
M*51'U$D;ZD=C7&J(W^PK-R11UQP?\T*2!P6$ '6J4"^I3352/3*F)M0>.*2.y
MZI&"EV*1+%+"/W862<>\? A8-*BFU*:'6>;@B\@1WQ(%><%MNB"8"!U"05N5x
M"++!0$@GY( F#")7%02P(K<(1M/H!VEW(+.,FKV?B4;M:@@9(6S4A.2[O!I'w
ML< <79W($=KAT2VB1W'& ;QI'C';D)^%=4HYE3JR#O-AW20D?F88^Q5B%&@3v
MK3&T,X,Q3P,JVCH[? NB,2Z(2AE@)D4% 3/SH@X:>', O84")14DE27<UN]Vu
MA[R%>',"Y.UL\1##8%M%JJLP+<NT1KC2"/4C*5ZX^P)/@$B:*R<@05U<>Y&4t
M.C7-]=0XA%$G"VT=K7CHN6J7(!#:'%MUW7$A8@7PFN2P')I#?Z /Z?2[WC//s
M]%RCZXRK M1UQE5%]3JC7(ND:$$%5%!I540D6N=K>+T04* J:37]FEYYC5-Zr
MK])2LD3%@W8 #VQHV5%+P"_JN"J@0?<KKR&?I$.FE<.ZZE<52+N;HIX2:)98q
M#P)82X@;O8Q3M+ >UF:'^!2KB< 9>K2>0=8_"@*.P#4I"/$"0M2QLR!;>EH+p
M8%=\:P.2!EH6^SR+%="2DN<L$(IXH1@>"TYII(*TSD$O6QHT[$IM2'C=+D:@o
MTD,F^,8I/W.M/"BVMC3*\$RI0O(<#9KFIE&237,C\A%%>**:IG/"'WQ4!F3+n
MCMUN.?2]Y2KY%FCMVX?+;U5.PF6Y]%#@P.2!<W)?0,'=*L_DX!!MA"-QB];,m
MI=,0, D5'E55JCRP1M%4)ZLE\RD&@X1$M0=6OK6D)9,JW-&H>R40D5J':E:Cl
M:EED'555?+*$N3HML*O$*!MGXR^NC;;Q-D0>"O ]A*+.W$^$%\&0PSL3C>)#k
M+HJ;>U4I#]V*-;$YDW3QEIZ98OOJM36Q:]3%@@@\=C]E[ I$K,Z.>-S1&YM'j
M19@JY:-=QFI2$RQ[3"W/R1. 6.9W#81+ VA$#2;I=0EA7!411D$12I!=T5U:i
MUM[B%&J(\L!L'M"E%855QMN#QY^HGUW9*SEQ)YX'!44LXZM,[8$^(+X9MB=Kh
M)#7:["L"M8^C.5576QWZ29N8%__BH)R$A+#1*FMAJGY:TTS0%'+";CBK(CNGg
MB1'NP#5>L[)^P[/IIT$$3I@VH!I1X=!KC:TS<J7N4&^!='&5IHV#DP6M2L6Ff
M%W*?GE,D5F#U8/"FL<KY$L(*^'QL*?11@=&7*TK?Z8N>L-9,> &1:_GBT'_Ie
MBBCW*^H,?O,#003\B!%X-^7N0D16&'^N9T6G8'(MXK[J$+Q>1(PP)QD7*EQ<d
M_$ @*$E@:)Y>$$LLIA6#[0@E4VR9AB@!9-X"$:O@ ."I#K4G>+V'QYL;  /#c
MO0-IAN58WH00 GY "+BN:LAD[MJ& '0DC-V0H$_ ""@ $M WJ@"V(##+86B<b
M"QP  W* GM!M(& Q92)Q\P+ZIAWA0 H ,<R%H6$#:$#/D+YG@0U4W]3A NP(a
M'\!!%X%]@  1T '_S$4$O]37^B('GGD_1( " &%@X [8D19@1^"O^+6^8& 'z
M7($Q,!5Z  E@E@(H(U($$4 "!O!4$ $@( 1X"Q$@ [KO#+ !(J!C#$@%X-00y
MPT P"(-A)\PYP1"G*C -N,"4]#58A'94V\Q$ R; 8T !  L%, +J20*)OKB+x
M^BI.^I-,;' "40#I=R"( #R0@,Y7-N1U.'CZBM\=' 9Z<+<\7RG _C8Q$) Vw
M7X 7"!,OX 0<&"KL>\5;\-7"U,;_O@ FW(.Q;[G *62SAYQ-T9@?RQ><K"A-v
M0)48A&^2N7#;T0H"<V!"(0;I !XXPQ H8_[IXBJHA"!Q7XN:,!-!P(@H".A@u
M9G]%5$@ 2T ($($$D),"S'%4$_1'(:2 5O,%_HV2JXI#@USXBC( +,Y" F@"t
MLX82YR3L@8DSEPK8Q&/)$P<!4#S4> 4K'@.9F.-\ 2M@^OA%$G ;(X\]X <'s
MD0#4A!C8 C2 1-@280D_ZI@X8Q88\<QXB;#AB$VQFI@*<Z 8CX%C_!QM2<VQr
M,P?PL.Z(45R*W>$U-B+:^!C+@"Y@2P:I.*9Y)@(R,5>[H^PJS<6HF? K 32Wq
M&=!$3&<U32[-$&E48T0<<78;+^*=[1A^/"& W%X&,FR-.+OA(*//&-".^PIKp
ML3Z[H2&3XLPPFJ) ]Y7(Z;,BKY;!"0*ZKT8NQP\9UA0!*@"2^3$3M0Q\*MSXo
MT?\!,11&#!@"_1A!7E9Y,6XD2G<8QP,Y 8PFY5,$0#(,L"4W(#>IA1C!)R#*n
M#F$XPN>XG.1'/)1EP!, R30 *2OE,,"4.0D<>,J-9'YPA774*X+R4(X!1;EEm
MH$\<H)4U#"OSRF"YOVS3J6R*S_)55LLP "=7AZ3LEFVE4Z9-8AD: ^6-7)=!l
MEA.0R&O$EJR,OMR4]\DL!<QTV1V.)AP0 PZS6HX!67F\;.6W_)?! V0>S.58k
M* <,M(R8V;)F[LNHY"]_I;D,FJGR:+[+2/0F*^;-[)<=,V0>R_9B,M1D/& #j
MCG)O"GF?Z22\@/!1?"P*%@ 7..(% *\8(00P;&06S53@7I@^HVQ+@/.(.6+&i
M&3D#+_7UG)?<<09H$EF.5&=:=YUC1'1&SD^-+)-CUQR=@Z\1D,@TP#<_0UI'h
MG-& >?[.2V4[$['N?&$]VA*0R+UY/(N\\IR= =K_4E_,V3FWYL(L!?"S/L8#g
MS->6"+?M"62D9D**Q_0D0H7C%7B/]YE9GA58X,4]:(-<'2@TF:&$_#DZB^CFf
M)@-LR0EE63$912]HR<S8F$ G9<G-+3-+#$2:XA;#B+D,,UHTA[@1;9IGF26Ee
M @/!FC")(#V:C$!1MLGRF3(8 =UC)HI 9N7/3^!)XP'Q7!V>@'\%#&KI2C-Id
MO:&EX[,M@0)0.4QC!_[<UAYTA*X.^H2A4+RVIAF,PYP[:2;"#L@&6373:M>"c
MZ= "F3"[PT@\EF[%@Z'$D[DR\X&.W'U%<5!&Q4G +QYJ%-#B\/.BMG'2F0E<b
M:LKL!"ZUQ!E""J + U_A2WR?@/%% L@7GL& <^%&F&\.@+YBF PK$^RK?;D"a
M]_6^23C\CF&U@(N;L#(YOT#8 Z_?]@L;*%ZLYM4\6)F8 ?H[&J3P-<F_^[?_z
MYN EC*Q]=0!VP&/  "/@# 9SU^\+?L 1> +' !Q0 VI !KX^;H #!^$\HA_ y
M2NZJTW%J7)?K%!P=4@L)=L'86@:G 1KL@P](KM;!:N%=]& /$JS5[Q NPOKHx
M").'8STLG# 5@,+.VC!4X2O\ K+P%CX!HKH(?.'@^*^I=<.>U1WH#+N3-*P?w
MUC#E(@/Z\0U3AD3L*DI>FH #C5A0"^6Q!,N:P&Y^(S@;9S.!EQRA:L-6$*),v
M>BP- :5RLWMG$,C9.]M$9!_WJ:#JQT'0#],KBGIHF<V);8?-'M&]<P@@;<:;u
M!ZH,/+/:W;E07V6L[3N9[QM)VI0A":P3.B<HINR%]D7JY G$AG=1\AA)=Z!Xt
MO#-]OA'KH";0P$]<SW699I/7(6 $C@#9;A@ZNT0GWS@V(R!-TP[:NS@)>):Ks
MS#O+]O)!VX-#73TQNQ,Y\?',SFQ530JPI4E<N1M&?(8!.QN#A!LYH$C#MM?Qr
M-T6[;/=FU%T=B("_8=MV+M=-6>$PM4,S)[8U^)5TH\_>V3#,-N;. DV@!<@ q
MS.R]3AK@ELQC*0S%;M]YM&FWB<!MN@V50&Y9/+V-@-:VWJ&$,MAA=3$<,G;Pp
M';[%]_BV@.2[JF/ #5@C,N &P.IIO:L_]AWJ0+7:,," [OM]Z;==$-B_&OT*o
M:_8+<]VOL?;? =M5].!E_6+(@+.F"-":P$AK)5R_ ?BUAL':6@$DX&[-@+$Un
M!); Z]<&K)%SO8$[L/H%P>YZ!+?@DDQ(#H,*MM<K_%O'X!E<@SM(Q][59"!-m
M#.P.4K"%,!$N,$:X?1F98YW#??5TA-CW%S],;"RLA441%U8;7M@(@.$;GA:*l
M>!D.V9,!#9=-D]V&+8+*]F2W&Q?+ ;SR&Q1DS [-MCL(J&+L4<0U,2=.X^2Bk
M(;#Q-"%VJ4\P#A"T,2) C"(>:;/$%EC'0%1>L&[\P,<>PB[NQ53@%X,(T7D<j
M?J4>Y^,:QK34G,@Y2'G(A2KD>8,7,P%?#(P9.7YPY/&.CX<C)FJ'WK$'.N2;i
M/)%W\N(P.K%A N#CPV(+V !E'(]ASK H>4C #;T \#B- W5HYN.!X2)D3TA^h
M1 *9]<L-VH$[/&<^[AB&>9I@)L(DD(U64_X6<4H<9BV'E</\1-V,M4DT!JD]g
MS99)'^6\W:(9KYTV'T?[R)@!ZO8"T !UZ\X4.6_K:$AQSF$K*G%>[-R=VY$@f
MC00 7#<OTI1A;EX&_W5_!)":V-WD09\_9_VV70PW[TS,U>&@ESQY0160^7;Xe
M4N?6<V-M+JVZYP5T:-U!6BJE<:QMIE'O0$CCWL$\H(?G; 3\.>]\TR9"H)<,d
ML6;0=5V0-3+K?)_W[D>LHX3 H;Z>;X3_M4-UGL_?N:#(7,1<+;QM9SK-SZTVc
MWR [W12G\2?PG_,V16:\G,=C&1EVN( 6^A"02E1@G _OD,QXCWEVN.@4H?:0b
M[ZCN#D/3!>KF\QP$M/2HX8[+ *RZ#.SA3L-CN,VF1H+;1@J_ZYDW;#1LT[<)a
M 2.<%"\C<YB-9P0,BOF(+2^ .9"!=BX^)N3E@2;;\&^;Y;&DK9!  F"699EJz
M1V_)G0!F@"^GRF/)1E^!!% #0C44']7HVU2K;_;-JE=U\YW?%+R*ZW"0G7W1y
MP/;=W[B:B._V&]3#AW4!+];60K@;<09>?Y,X!->_$IR*TP$KC@8N> $^P!J<x
M6U^&#@Z#/[BX7MXR@(0#-W4MK%&X"#8?]SJ.Q(" XL+K-0N.4S)<7_-K&WZLw
M[4!B*;_]^H 4]X,-Q!.V$-<D]?V^VY$GK(^B<!*7V'/ "C/QBVV^I3C'#O!Uv
M +^;89]K3FTK;L/9<7S4K4=7P6, !2Q-"+6G*\RY'*M^;E5(B2"41)G9F7!Bu
M210%#[GI9T#(7)*[^#/:!!RH%T&@,;P)3I.$$"OF=!\!U[E<&NW !@[%2H0-t
MM2=-( 6>61C:B9!I B5>X^*T%&]Y=&*9,&,]$<?K>,U0(A%H);43*P;^,(D:s
M$^;9\'L0,HEBR=S >C$$7D-T^<:7IQKZG3D'N]8CL"@3?O-M%NMCZKD<!?6Ar
M>#"+R[\&0O%#Z&9LR+G60;EE"1ACUV65QF+#((4\"$A.LPRUH>BB/CP$*9"'q
MHD*AKE=@B!%G*AK:B% *YF^\7'<!/LVGP($QT +\1!H@PB4%%P.+&$Q]?KR*p
M=.1Y14!T'G$S3O;FL_6"IT/)]L>$R*?JO)D0% <!.K0!(7,ZCDH>S_7T8R<(o
M\I[H-F?5Y%@"+J %5(%Z(01,@E>($2V@!:P!"]80\#3<QC&9NRO\KD1*&A>#n
M3R'99G/!_.V=\&9HB)D0 ?XWF=A?E$:ABCQKX0'C* DE$Q^P&_N]O5^__UN!m
MHX%]3RT,/FLAH71@)+\!?9^O'/Z]3PN4!##8F(5?\.O]PQ?X'/\M>HSNHQ9Xl
M0L 5-_5GG>WX8Z^Y\U 3L#.XP>1OUJ!L!22WQJ[9I7WY'&43D=XIGL3O-/!Lk
M1H, )S Q=G8"B- FHM(?)+&6N:2#;''>C_HW4CDID !.=W7X^7GS_FP%SZS<j
M+,*2"=*(+2C]QJ._\RD#/VP2S\@S8_V!%]I#L]P :%<[(IL(=$%O!IEGYD2^i
M9&$=K:Q!;8ME4"8;7F/J)X#E<_5;?M:_$T0^-W3],W(G@C39$/M>X[,'Z'@Lh
M$=%^XE\,:Y\@MOU'_/:I@%YFRW/_GCC1;^(]:=Z TB<XS]E/PS,2408I@Z0(g
MR)XMH,CN\TW.S$ZH%T6@;V?N@W!NIGSMQRGOQ^3E$=BK&=8$XP?ZE)3TNWOAf
M%2,64QY03\HUQB#A.H+[\0">G6=?J*)(LQ4<?/[73@1B^"'V]WX47_MK*7RTe
M"#<77O1'\2 =<L]R\!.:!- C3G?R\R>YHM"C/H7(;F5GB_%BO[)'8BT&)/)'d
MZ?\@.0].T=,G\H+U:9_B_*'_9>7PKH58DI V"B*PA_^7 _#,@^;IQ,*&*U?Yc
MPFGYA9(?D1GIR0T#*(?]<N ,'./=0"*2OO)O$\(+1\2N&>G)2:=I&!SPPK0Lb
M_B4#+[X)7KP_38T8;_TW8/XH RH10%O_#<0(=2& +O^,),8JP [H'O-G]F&.a
MSV_YNJ=YFHB8_R^8A#2++H.TJ?5,LS &S!]ER/RV'_&7SJ;6,^71&#!_9K_Rz
M1ZC,+[7-*D]( %?P))@_RM CG/[)6U#&_^M[!N=91N41-JH.9S]".?V+Z"!Xy
M-]*A7 E !4BS6I+TW7QN +)NJJ#?B9]?LV=DSY1FHSSIN_G<T#O>LK>09M'Ex
M_GS/ *KLS_N[M6<=T3-T',I5C(\)-JH.VS^UK 4XP:OVRB.;D3TSFGT3\T<9w
MMG]JZ1%$WLC/R)ZY)DZ"^:,,VS^U] BG/R.)L>I="W#"M*A>_+ 6X 2OVBN/v
M;$;V3-4;S;Z):5&]P[AT$GDC/R-[INI=$R?!M*C>85PZG?Z,),9VH$7\<=E)u
M7.K5FTKT=J5JR@M8]>B;&C%6 7;6_%$&.[M<[X0=:!$$HWD&4&5_WO>H/>N(t
MGL%YEE$[X/R'JVEQ_M#_LCK_X6K/.J)G<)YE5$_#@5%N(IP_]+^LTBRZ,"@Os
ML?M33!O8&HSM\H$-0V=1UN/E26%%IMBO_/;._>L8\/K^YL$PB/_9'QC*_WFTr
M*/._HCA_Z']9.;PO$_4:<2"\WH;XZ7I\FY'I= XJ^#+G[\XPWBI9N&7@^;^!q
M&M&P_LQR<?><QO]R>4M"'T'\3GI_^):DE$BQHH^:3Y!Q)[C>-A*9(V.Q7C@>p
M(?\AI:?]$'I/P?[MZ %BZZ*:A@%>QHC=B5C11^^66!)-?(<]@'T+5 '2;+!0o
M2V!/5F+GI1I05<)R&0;/$[KJ3_=96)SB77_-T7!4>+>ADQ$*13F8CQY!$SF\n
M+^.WBKYJR@M8]>A-&'G8$;$#<]".S8$[/@<>L^]U8"I0+N!Q'(%]"U0!_6B)m
M@$D:V0+]OQP(^G9 "]U9[O$Z8@?FH!V; W=\#CQFWT7%%P,>QQ'8MT 5T(^6l
M")BDD2W0_\N!H&\'M-"=Y1ZO(W9@#MJQ.7#'Y\!C]IU/CP'@<1R!?0M4 ?UHk
MB8!)&MD"_;\<"/IV0 O=6>[Q.F('YJ =FP-W? X\9M]I1'$ 'L<1V+= %="/j
ME@B8I)$MT/_+@:!O![30G>4>KR-V8 [:L3EPQ^= (?9]Q>2O-@ \CJ/_EP-!i
MWPYPC]>1]"D7,UP,(!0)#WDWGQO2Q$](*%C>7L0.S$$[-@?N^!QXS+Y/"C?Oh
MC"PQU?#_<B#HVP$M9#AWH>1X';$#<]".S8$[/@<>R_36PQ)3#?\O!X*^'=!"g
M=[9UO([8@3EHQ^; '9\#CZ7YK^P=\ SW.![+ W/0CLV!.SX''ML*[\%- (_Cf
MZ/_E0-"W UIH5&BA.RLY7@?/-_Y+9BY4BT%1?[I/;+#;_!^>]0@0BH1W1.S e
M'+1C<^".SX''[$#7_R9L '@<1_\O!X*^'5@B8-)YLJJOC&(J AO00J.B#FBAd
MM,X]7D?LP!RT8W/@CL^!Q]! U_\F; !X'$?_+P>"OAU8(F#2>8X*Z)>,M-"=c
M90-:Z,[6 2V4UEO'ZX@=F(-V; [<\3GPV)M1#@0">!Q'_R\'@KX=6")@TGF.b
M"C:@A>XL&]!"HZ(.:*$[6P>XQ^N('9B#=FP.W/$Y\-B;^6+I W@<1_\O!X*^a
M'=!"HT(+I77)\3IB!^:@'9L#=WP.//9FQCCEF@/ XSCZ?SD0].V %AH56NC.z
M:J&TGAY C(DP C"YO4<7(.NFX =Y2!-KXL,O+)YL_?"#\[-^@Q@$; %Y82:Vy
MPGMP$X>F8$!]F5W8B"050 %V0'+0(11@!U* J8EFW\3I$7W3UP)FXQZ8'%P x
MLE%B.Y "3$TT^R8HJ&.@ #N0 DR--)L#*$@U< '(!E51K1U( 84'?@P$2SA4w
M48 =2 &F)II]$\\TU"0'%X!L$ ,%V($48&JDF=GU%CMG<G !R,8R'[5]90)4v
M  78 <E!AU" '4@!IB::?1..K5GV@ /A I"-$MN!%&!JHMDW"?<= P78@11@u
M:J39LFD!JH$+0#:HBFKM0 HH//!C(%C"G&0'4H"IB6;?Q#,--<G!!2 ;Q$ !t
M=B %F!II%@8!"A7A I"-93YJ^TH$G  *L .2@PZA #N0 DS-FG NF,4.F)HKs
M>!):P&S< Y.#"T V2FP'4H"I61,G 05U#!1@!U* J9%F9C>^V8$48&KD$3;Br
M I"-93YJ^\IA48 =D!QT" 78@11@:M:$<Q&.&\>!< '(1HGM0 HP-6OB)(3[q
MCH$"[$ *,#72+ QZ!SN0 DR-/,)&7 "RL<Q';5^'@!1  79 <NR!H(H"[$ *p
M*#SPXPUPCP3 !2 ;);8#*<#42+,PZ!WL0 HP-='LFU 1+@#9'H)7JU)< +)1o
M8CN0 DR-- N# ,8.I !3$\V^B2@::BT@)]F!%&!JHMDW,0%#K6-P <B& NQ n
M"C UT>R;,+>.X19MYK=-(.T.MK0%-&!&SZBU_;8(Q#(:#MC2%M! [H0#Y&+&m
MMD!@WP)50#]:"0D0Q\"&RT,@#HHWA4)IHF+:$7,"6]H"&C@T8NW"OQ&_.3@2l
M"TQ@]Q[^S)B>Q.DF8(/25U@5"PZ8&B^H>\Y9&2"1==K*SP\E>"<>F.>$ZC$0k
M9?+>KO=M66RV)?]EPHR>46O[;1&(930<Y+],Y$XX0"YF; L$]BU0!?0CTR)6j
M#DJ+^70IQD_,.4@Z$/Q7..>Q?Q@.+,C18^A=OZ;P0X)ABAG[=VO.9)6L^FU+i
MIB6J;7;R$%(C3O'9!B$/M/HL848DF+(_[W.@T&,1_NA3,L3+)_]EXK>9R;7Mh
MS&K8ED\4.*445Q6,<H\F/6)"ZPEAQ1@HS0,"E@#KES)F).5KDE]7PYZ9VI;;g
M-Q"GY ::>'E<0TG)$:.AX]8\9XD]_+\<"/IV(%+Y?SG0!K9 /S(U7A!GB(C>f
M>-7 AD2ZLVB=N34%\.<@IB(* '\IH!^9&B\(!]! U_9(]GU2N'F#@ +L0(QHe
M@BQA6YJ)W D'3(T7I!YE@I=Q;'5A"?N1J?&",.HP$5??BE^=P*TX M_2OM>!d
MJ4"Y<N=7'APQ0@4X"%R%@L3+^1OJJ.21'9D4XR?T.M)!ZRC(Y?0C4^,%J4>9c
MX&7A'KE>!(N Y<F8,N=C6=6^3PHW;Q!0@!U@9;*L0Q8HAI)B_,2<&Z3-WB(4b
MMWYD:KP@'$ #73M$>(MDSA-,"VK0TX\>#J"!KCTHYEPE+S)\BH_U(U/C!?$*a
M/#N[9(P[F#_*4!$5!<53^@H+A%+[D];FL.P;&Z3!/\TC_CW#OU;^RY4#?D(Vz
MC%(F@7X>E/S@<V(1#I@:+T@]R@0OXT$;@XF4XJJ"!G+G5[;QIL8+XI4V@.YLy
MYK=-(.WNAA#CO<I7K>VW12"6<7KP%@>1.[_R82 7,[8% OL6J +ZD6D1_W1>x
MV9_W(R,LOU_I' -4I#HH_6PZ$ @ZOIW)JO)J%BNEGTT'@A4@ E4 U+M;:?;Fw
M[0[K70S^ER"LB#%P:.K'0>FX-<]98@__+P>"OAV(5/Y?#K2!+="/3(T7Q!DBv
MHC=>-;"1JNS[I'#S!@$%V($8T019@GVO U.!<N7.KSPX*"FQL>^3PLT;!!1@u
M!U@9NK.9WS:!M#O[7@>F N5ZAV?4VGY;!-)BV^BXO8SVO0Y,!<J5.[_RX*"Dt
MY )[ /L6J +ZD?FC#.*?SBO[\WYDA.6.F+$MT/_+@:!O!TS+S^\*79_IY09Ss
M$OM]?TC9$8>U1XP!\T<9E'XV'0@$'=_.9%5Y-8N5TL^F \$*$($JD/QUFILUr
M,O/"KE1->0&K-):?3W9TR Z8&CO+@U  ^$L!FH7CT"$4<'UOE$W^G3Q(L^P!q
M;TR/E7Y !I/V751\L=SYE0<')1692O!1+DKK8%*]@QT!X0KC!OS..@XQ'.CNp
MA- ;PY:\;'6.7USIWBXP,< (-,^.TUMCLQ&(GIE>7MH!2@K(3 0(3>L&(4V8o
MCQ[!GQ;_U_<,$*.P$4DJ@ +L@,A4@H]R45J'0O35*(/T&V!:/?[?"<_"RST#n
MHT.95S2=V@%38V=YD!TP-7:@1=SOP\"#3L 6. $;ISI\-H,S+^R(O(!5C[XKm
MB!5M2)83@ JP Z;&SJ(@@S$&7(X2?)17-)W:D:Z[O]6%)40!=L#4V%D>9 =,l
MC1UH$3[(#I@:.] B8F?! .$G8 N< )9KW_GT&,B=7WEP4%) IK29!,6#3RW@k
MLQF<>6%7JJ:\@%6/OJG9 5-C9YF;RU&"C_**IE,[TG5WFRHZ&-FH6%&\SV9Pj
MYH5=J9KR E8]^J9FWVE$<<B=7WEP4-)#:0=,C9UE;BY'"3[**YI.[<@_.0%<i
MH'_" "U\?@\##SH!7*!_RH 3L'&JP]!V NRZFCB-C4+V$L*\L"/R E8]^J9Fh
M!TR-G65NY@]2 ,O8\,QV;G: $^;#06A$92^".Z)G,.F8=4V#OQ=0'7S*O+ Kg
M55->P*I'__)^P _X 4VDJ2G!1WE%TZD=,#5V%K=X"Q-@!TR-'6@16^!>#Q44f
M8 =,C1UH$2D@6KQ3.V!J["P*,AAC@)C4E4YEMR_BO+ C\@)6/7HO8>APRC=6e
M^HP8J@_-P/IB#8=]%Q5?+'=^Y<%!2<G%C&V!P+X%JH!^M!)F; OT_W(@Z-N!d
ME= CQL!*F"8/H4;BSC%@'4VG\(0!98??" %Q,2/3O.G5&4KP438(X;E&+H:)c
M$ (BKZD5-K;$!*@ "K #.D,)/LH&(3S5R,4 'TNEJ4F_.@XQZ%#NA .FQ@NFb
M)2P@FH1 :>)!6$ T"8'2!-DRO;RT S%""Y\ D5G8B"050 %VX%#V@>C(+>V a
MJ8EFW\3I$7W3UP)0B25$ 7; U$2S;^*91-.5\S=38 F8N),) )O"C]QM-8/?z
M, $C,"/I4#\R-5XP+0T!*8 F.6AA8TM#0 J@ #MP*"?#MV,"3&#MVHXJL*WXy
MV(_<;?Z3WUB!I<+'?N1N4Z+\QG?.2#ID!TS-FG N_\0.F)HKZ%P*3"T&DW:@x
MZW\3N6<'8L2W"W=%($; $3M@:J[@26@!K2QGN!PX"#$*V^AV BC #AQ*)?@Hw
M&X3PC %+1Z=*@:AK7X> %$ !=N!0*L%'V2"$YPSPG_PF5T2-IF8'3(V=-1AVv
MP-38@2EX,@%@4_@5.80-T(%!J00?Y17EO88.I_B>B[ B"@7\: &?S>#,"[M2u
M->4%K-)8/Y&$M-%Q>QGM.Y\> [GS*P\.2DHNL >P;X$JH!^MA!G; OV_' CZt
M=F E](@QL!*FB81% 7; U-C9X.@M3( =,#5VH$5L@7L]5%" '3 U=J!%I( 6s
MD"WY$,JL@7; U-A9Z>(@4L 8H#BWTSO8 5-C!UI$[(P6==QTPIP3@ -.P,4Pr
M$9YE"$B!(7 QB#5B<O.EGXG8 5,3S;Z)P; #ID;U1K-OXG+L@*E9$\[%6]@!q
M4Z-ZU\1)<#EVP-2LA:;G+>R J5&]:P%.N)RM\![<! JP S'"#IB:-7$28H0=p
M,#71[)L<2B7X*!L$S#D!-^ $7 P3X5F&@'Y;H7<,,;GYTL]$[("I4;W1[)L8o
M##M@:J+9-W$Y=L#4J-XUX5R\A1TP-6OB)+@<.V!J5.]::'K>P@Z8FK4 )UR.n
M$GR4#0+FG( >< (NAHGP+$-@"238)G QG/]PC0U:0O+6'ZUOAYJ:'3 U=L#Ym
M#]>C%Z]<#AWJ1SQ(F@T66&+?V\+MS)UPX% JP4?9(&#."? !)^!BF C/,@26l
M !1P DW@8CC_X8JPH,.@>$:LI:G9 5-C!YS_<#48WR[<.:M:ZQWZ$0^29H,%k
MEMCWMG [<R<<.)1*\%$V")AS HK ";@8)@)7,(&+86?UGF=( /9=5'RQW/F5j
M!T>,. $P] 0<RLGP[9@ $UB[MJ,*;"L^]B-/ !$X 1<CMK&-B]'\?,^,M.^Bi
MXHOESJ\\.&+$":A")^!0*L%'V2!@S@EH B?@8CS#)' QC LY.5!=@0@W-3IDh
M!TS-FG N_V1C\"8[T/6_B=RS ^8Y7L4(.&('3,T5/ DMH)7E#)<#!R%&86-+g
M'!8%V(%#J00?98. .2=@#)R B_$,:\W%D,E'9B?,-O3> YN:?3=,;2I,]:-#f
M:0=,C1UP_L/58-@!4Z.GX4 S\1;?+MPYJUKK'?H1#Y)F@P66V/>V<#MS)QPXe
ME$KP4=Z$7Y%#V  =&)1*\%%>4=YKZ'"*[[D(*P(16TF#,R_L2M64%[!*8_U$d
M$M)&Q^UEM.\THCCDSJ\\."@IN< >P+X%JH!^M!)F; OT_W(@Z-N!E= CQL!*c
MF"8/P3$,BCO>RB^_UB@8WF(/>&/EWR:$U\+*%5%C"_2)&2D%CL"5>QK_9@DLb
M$;@C!8[ E=LN1&")P!TI< 2NW!'8+FUIB< =*7 $KEP6$!>J?8G '2EP!*[<a
MTSA72P3N2($C<.7\#6 #:$%@B< =*7 $KMP0R )K8XG '2EP!*[<%<@6X6*)z
MP!TI< 2N'!,X MLE"RP1N",%CL"5(P)'8+MD@26R:U6@ZD0A;@ +$9-F:T[Fy
MA5VIFO("5CUZ%L^[4Q4=L@.FQLX&1V]A NR J;$#+6(+W.NA@@+L@*FQ RTBx
M!42+DPD FX(*L .FQLXR-RI"7,1#^5I8+'Z<6(GRTJ:,#!^S Z;&SD8J.V!Jw
M[$"+P);0\4YX"_N^8O)7&T !=@"01?1GAE+0#*.'58]>6 9Z/@;/XMN=X '>v
M0ET )E1R,7*I1ZJ1N',,6$?3"7-.0! X 1=#8E2!*G QI%ET:55-;5N:B6(1u
M[M-#86-+'!8%V(%#J00?98. .2= ")R BR$Q2,O%D&;11?H1_Z:V+<U$L0CWt
MZ:&PC6XG@ +LP*%4@H^R0<"<$S $3L#%D!@;XF)(L^A2)2P764X V]),%(MPs
MGQX*&Y&D BC #AQ*)0@0 !N1I )N=BC  @+$F#!SRH X0>2$#A O5( 84D7(r
MPS%UY,QY(P>$F#!CUMP)(X<,"!4O!B:X@R8-&X4HVK1HD0)$DR=6BC"A@L).q
M"H%8$L@I0R=CP($%#R9<B,0A1(D4H5S,N+$CG#=STM!)\\;-R90$#2)4>,*,p
MTX@@D%B1"@(-QS1ZNM()PP9$&#<F[921L_5@W:M9MW;]JK(-B!X@[)"I X=Do
MF#8]?ZKTBAB%5QZ(88#X 2(&B(>60?A(W,*'&SEO[FPF;1JUZH=N4M1LT1EHn
M L.5#6,&H9FS9]"&1SL9\H1)P8*<AQ<__AE$&]D@:,>PW>:-7CIO>K( X6;[m
M<]M#B\HY&E8I625G)18A\G#O6!!IO))),P<.FS!Y" =-8R9!Z-TPU)04&W*0l
M5$88VK$VAFO;V5':&&.\P4:#I9V66@LQ;*<<$QA*%E09;"S%'PBA]8!8# (:k
M1*"!"-JQ'0PO4NC#@JG)"*&$'B8 HHAFD$@98C*D.,:*0[48(V\R6G@'AAH2j
MQR&*X!%E%%!)O7?"$NF!H%-[!8KH%1OQ*8222OSY=UEF0A(X!AHDS9&@@S,Ri
MJ&"$$X*P871SXFC;C@J-6.*):<JQ9IMO/B@GC'G6M4)G.?()7X]_@A#D<4,*h
MRJ9&A<99(Y)V.IEC>%,.- )_9)31HQ-%K+<>4F(M=8(;61(QA10/E6I'&F,Hg
M-,=<1<T!PE!7\:5? G[BAI@-*:B4P!IBS.<&''70@8((7, PPPQ;E$#&#MI*f
M(8*-KJV08:+B?BKE>$"-4 9>_+%JWD)M9#G%$;2"D! =()Q1(!PMC?'KNO,)e
MYM6809'Q!@A[*.OGF;RED,##<(9!!QT=F8"8'S/8IF.(?4+Z(P@T@, '']P=d
MAM@-#D<\<4=\():QLHXN+)K+FIE@0LF[S9!#RJ79(<<98FP10Q>'&20A1W-Lc
MX15M,\#0A<8Q>SPSR#7?S# -.R< I\] ;^%TT70BK32>-#AM6Q\@L.023"4Fb
MMEAC!4+F4TT^H&F;GW3 8;)!&7T1H1MSU*18'7/<H=6:*.1MKGCD5>DJ$UDFa
MP<1#\24D+)ANB F6UG/0R 8;"5(A115%@+LIG$HRZ=SBH99G91.Q3@Y"J2_1z
MH1#FFJMD1^>H?9Z@$4$P,47I"LJ)NFNJ?Z<2J.BZ:R40D0^!!.6 [X7OH!T1y
MG  :O$L(NHL@B$ZZZ7?82&>3Q27/>O.NNPI%K-+7"B)1"F$_+/>>?[\=\,(3x
M#R>-Y4L4^I[DG?4UKE5D84.6I-"$APSE7LYY0ZGTXSBRH$%>#;0742(X0>WYw
M"75EP ,=O$8T$RWD!R>HR1Z> @(B%&$((("#'-)@!XDII#JE\I7VB 4I$(I0v
M:"5$S EJ< (0V(PUU7'#&VJ"%A<.80I#<$(3A@6QGOTL:%]#C+],> (%KD8*u
M1Q#"%X3 A" ,80G- :,8KX"$)%"A"%#CV*-(Y,,1#FUO)XA!"A-0D":^\(Q3t
MW*'6>A8&..!0(5K$HQ<Y([XB-(=_P],8WO1F0HS(P6]="9S;"&<X.B!.<6=;s
MWKD.^*X3^"%+38A/&O#0@BE0P5YP*,,8^(,K$)2A<X7451GB4(=UY6I8$5')r
M2=)R%S*\! 1T0(-"S."]U,3G#+;$92PUR$M?ED$'PI1(08H 11!L 01LV$$8q
M=M"&'<AA!V?8@1@6<LILIDV90W%G04;TEP>NBP[8#,I)$@"#A\B@!N ,DZ]&p
ME,0W9#,!,7A(#32#NX'VJ*#RG&,88FA/-^#SH&Q(#<@\HA5?&<@N*TN#&**Eo
M$#'DP7:)H4LO2900A30F/M*2340)2M%;WC.??%0!L2RZ%QEN\)SI7"="C)91n
MC8" F1UI0R'_=0;ZV"ZI!^T*&_*#D*R<P2MAZ\B(Y+ =:'+$(S5-B$6SN;D/m
MEJ:@*GP86A+RDC'@JZ!'E8N]X)([?1Y'9B8,$,(>E@"T_#.@F=/AY@;I \QMl
include patch2.uab
--
Frans Meulenbroeks        (meulenbr@cst.philips.nl)
	Centre for Software Technology
	( or try: ...!mcsun!phigate!prle!cst!meulenbr)

croes@fwi.uva.nl (Felix A. Croes) (09/01/90)

meulenbr@cst.philips.nl (Frans Meulenbroeks) writes:
>[stuff deleted]
>   HARD_SCROLL is gone. It required 32k for each console, and the gain
					 ^^^^^^^^^^^^^^^^
>   was not that big any more with the reworked stvdu, that I considered
>   it worthwhile to give up 2 * 32k for it.

You mean for each virtual console? That is not nesseccary. Instead of
2 * 32k * no_of_virtual_terminals, only 32k + 32k * no_of_virtual_terminals
should be needed, if the code is written right.

It might be even better to keep a copy of the characters on the screen in
memory, instead of a copy of the screen image. The speed penalty should be very
small, only the screen buildup after a console switch is much slower.
Or are you intending to add screen graphics?

Felix Croes    (croes@fwi.uva.nl)
--

Felix Croes    (croes@fwi.uva.nl)

) (09/04/90)

"Felix A. Croes" <croes@FWI.UVA.NL> writes :
>meulenbr@cst.philips.nl (Frans Meulenbroeks) writes:
>>[stuff deleted]
>>   HARD_SCROLL is gone. It required 32k for each console, and the gain
>                        ^^^^^^^^^^^^^^^^
>>   was not that big any more with the reworked stvdu, that I considered
>>   it worthwhile to give up 2 * 32k for it.
>
>You mean for each virtual console? That is not nesseccary. Instead of
>2 * 32k * no_of_virtual_terminals, only 32k + 32k * no_of_virtual_terminals
>should be needed, if the code is written right.
Yes, that might work. Haven't thought about it yet. But it implies that one
has to copy 64 KB on every virtual console switch, or do i overlook some
points here ?

>It might be even better to keep a copy of the characters on the screen in
>memory, instead of a copy of the screen image. The speed penalty should be ver
>small, only the screen buildup after a console switch is much slower.
>Or are you intending to add screen graphics?
I thought about this when when i was about to rework stvdu.c. I decided that
(a) it would be a lot of changes to the existing code. The current virtual
    console implementation has not involved that big changes.
(b) maybe there will be screen graphics some time in the future, and then
    the whole screen contents must be saved anyway.
However, the much smaller memory allocation for virtual consoles makes it
very interesting for people with memory shortage.

--
Kai-Uwe Bloem, i5110401@dbstu1.bitnet

meulenbr@cst.philips.nl (Frans Meulenbroeks) (09/04/90)

I5110401%DBSTU1.BITNET@cunyvm.cuny.edu (Kai-Uwe Bloem) writes:
>"Felix A. Croes" <croes@FWI.UVA.NL> writes :
>>You mean for each virtual console? That is not nesseccary. Instead of
>>2 * 32k * no_of_virtual_terminals, only 32k + 32k * no_of_virtual_terminals
>>should be needed, if the code is written right.
>Yes, that might work. Haven't thought about it yet. But it implies that one
>has to copy 64 KB on every virtual console switch, or do i overlook some
>points here ?
No you don't. If you want to do it decently, you'll require 32k for each
screen and 64k to do the hard scrolling in. Otherwise you'll end up in
the situation that when switching consoles you'll have to exchange the
data between the "real screen" and the "new screen". This will give
an administrative hassle to deal with. Not very nice.

Still, with the new stvdu, I prefer to add 30 buffers instead of giving
up 32k for hard scrolling. The gain here is much more. 
Of course if you have > 1MB you can have the best of both worlds.

>>It might be even better to keep a copy of the characters on the screen in
>>memory, instead of a copy of the screen image. The speed penalty should be ver
>>small, only the screen buildup after a console switch is much slower.
>>Or are you intending to add screen graphics?
>I thought about this when when i was about to rework stvdu.c. I decided that
>(a) it would be a lot of changes to the existing code. The current virtual
>    console implementation has not involved that big changes.
>(b) maybe there will be screen graphics some time in the future, and then
>    the whole screen contents must be saved anyway.
>However, the much smaller memory allocation for virtual consoles makes it
>very interesting for people with memory shortage.

It is indeed interesting for people with memory shortage. However, in the
future it is quite possible that screen graphics are added to minix.
I know someone is busy porting MGR. In that case the effort to keep
a copy of the characters is useless. 
I would suggest not to invest time in this issue. It has little chance
of becoming "the" standard.

Speaking of virtual consoles. 
I believe I have 3 different implementations of it. Currently I use the
one from Kai-Uwe, because it came with his tty/rs232 port. In the future
I might switch to the one from Gordon Irlam, because it looks like that
one is going to be the standard on the PC. I haven't studied the various
implementations in great detail, but at first glance I saw no big
differences between them.

On the other hand, I don't know if I really want virtual consoles. 
I think I prefer something which would allow me to create multiple 
consoles dynamically. This would perhaps require pty's and the
possibility to access the screen memory.

--
Frans Meulenbroeks        (meulenbr@cst.philips.nl)
	Centre for Software Technology
	( or try: ...!mcsun!phigate!prle!cst!meulenbr)

croes@fwi.uva.nl (Felix A. Croes) (09/05/90)

meulenbr@cst.philips.nl (Frans Meulenbroeks) writes:

>I5110401%DBSTU1.BITNET@cunyvm.cuny.edu (Kai-Uwe Bloem) writes:
>>"Felix A. Croes" <croes@FWI.UVA.NL> writes :
>>>You mean for each virtual console? That is not nesseccary. Instead of
>>>2 * 32k * no_of_virtual_terminals, only 32k + 32k * no_of_virtual_terminals
>>>should be needed, if the code is written right.
>>Yes, that might work. Haven't thought about it yet. But it implies that one
>>has to copy 64 KB on every virtual console switch, or do i overlook some
>>points here ?
>No you don't. If you want to do it decently, you'll require 32k for each
				    ^^^^^^^^
>screen and 64k to do the hard scrolling in.
Decency has nothing to do with it. Obviously you prefer virtual consoles 
hardware scrolling. But for me (and perhaps for others) the reverse is true;
I want at least to have the *possibility* of hardware scrolling when compiling
Minix.

> Otherwise you'll end up in
>the situation that when switching consoles you'll have to exchange the
>data between the "real screen" and the "new screen". This will give
>an administrative hassle to deal with. Not very nice.
Why "not very nice"? True, it will take some administration; true, it will be
slower. So what? It is simply a different way to solve a problem, saving 32k in
the process.

>Still, with the new stvdu, I prefer to add 30 buffers instead of giving
>up 32k for hard scrolling. The gain here is much more. 
>Of course if you have > 1MB you can have the best of both worlds.
I have only 1MB, but I want to have a choice!

[stuff deleted]
>>However, the much smaller memory allocation for virtual consoles makes it
>>very interesting for people with memory shortage.
It is the only way that I am going to accept virtual consoles.

>It is indeed interesting for people with memory shortage. However, in the
>future it is quite possible that screen graphics are added to minix.
Optionally I hope!

Speaking for myself, my private version of Minix is certainly going to have
hardware scrolling. If I have time, I will post the diffs.

--

Felix Croes    (croes@fwi.uva.nl)