[comp.os.minix] Cross compiling under Turbo C 2.0 Part 1 of 3

mullen@sdsu.UUCP (deborah mullen) (03/31/89)

I got a lot of requests for this and found the time.
Much of the source is in compressed and uuencoded format to save space.
--Deborah Mullen

----------------Cut Here---------------------------------------
echo x - readme
sed '/^X/s///' > readme << '/'
XI got a large number of requests for this, so here it is. Included is
Xall the assembly files needed, all the batch files I used and all the
Xutilities I hacked at to be able to generate minix code under dos.
XI used the Turbo C 2.0 professional package from Borland which included
Xthe Turbo Assembler 1.0.  All assembly code is in the "ideal" mode for
Xthe assembler.  I did not use TC's integrated environment. Besides the
Xadvantages of faster compile time, link time and smaller code space, the
Xorder of the library does NOT matter.
X
XIn order to conserve space on the net, I compressed the files, and
Xthen uuencoded them for posting. If you are having trouble with 
Xcompress, check on a unix system near you for decompress and uudecode.
XThey should be compatible.
X
X
XDescription:
XPosting 2--
X  Contains all the utilities to be compiled using TC include files and
X  used only under DOS.  Each source is self contained.  When linking, I
X  used wildargs.obj provided by Borland in their startup.arc file on the
X  disk labeled "examples/bgi/misc".  The programs will still run without
X  linking wildargs.obj, but you will not be able to use filenames as "*.c".
X  Compile them all ( model does not matter) and put them in your DOS "path".
X
X  addcr.c: Changes the EOL from LF to CRLF.
X  arm.c:   This is a hacked version of the minix ar.c. It contains two
X	   new options: "n" which on extraction converts filenames to
X	   those accepted by DOS (replaces extra "." in filename with "x",
X	   and when adding to the library, stores the filenames in lowercase.
X	   "a" which on extraction changes the EOL from LF to CRLF and
X	   when adding changes the EOL from CRLF to LF. Other options were
X	   deleted.
X  build.c  This is used to build the minix boot disk. I have only included
X           "diffs" against minix 1.3 build.c. Use minix "fix" to get the
X	   source. The Turbo C library routines	for diskio work fine. 
X  chmem.c  This version allows you to have more than one filename on the
X	   command line.  Used to change the stack size of minix commands
X	   before transferring to minix.
X  dc.c     Used when making the bootblok. See mkboot.bat.
X  dos2out.c Used to convert .exe files to minix format. This one was not
X	  linked with wildargs.obj.  A new option was added, "-i" which
X	  generates the format for separate I&D, resulting file ends in .sep,
X          the default is combined I&D with the file extention .out.
X  mcc.c   I used this when compiling the minix command source files. It calls
X          tcc, tlink and dos2out with all the proper switches and flags. The
X	  default is combined I&D. With the option -ms, then separate I&D
X	  format will be used. It has buildin paths for the minix include
X	  directory and the library to link to. I used "\usr\include" and
X	  "\usr\lib". These can be changed. See source for more detail.
X  pack.c  This is a hacked version of the minix command compress.c. I have
X	  only included the "diffs" against minix 1.3 compress.c.  Files
X	  compressed under minix can be decompressed under dos using this.
X	  Most of my source files were stored under minix as libraries of
X	  of compressed files. To get them to dos I did:
X		doswrite 0 libname.za < libname.Z.a (under minix)
X		arm xvna libname.za  (under dos)
X		pack -d *.cxz        (under dos)
X		ren *.cx *.c	     (under dos)
X		addcr *.c            (under dos)
X	 
XPosting 3 --
X  Contains all the assembly source files ( and model.h, the
X  header file used) used in the library and in the kernel. It also
X  has diff file for fsck.c.  This is the one C source code that TC
X  choked on.  It did not like some of the macros.  I just expanded the
X  macros in the function doprnt(). Note: bootblok, catchsig, getutil, and
X  sendrec have filename extensions of .a -- after unpacking, change to .asm.
X
XPosting 1 --
X  Contains this readme file, klib88.asm ( cuz posting 3 was too big) and
X  all the .bat files used under DOS to create the minix libraries to
X  to link to and to make the different modules of the kernel.
X  See the files for detail.  They are:
X    doit.bat: Creates the minix boot disk. Assumes the minix executables
X	      kernel, mm, fs, init, fsck, and bootblok are in same dir
X    mkboot.bat:   Assembles and generates bootblok.
X    mkfsck.bat:   Compiles fsck.c and assembles fsck1.asm, links them, generates
X	          fsck
X    mkinit.bat:   Generates init
X    mk.bat:	  Usage: mk name [sep], where name is mm, fs, or kernel.
X		  If anything else is on the command line, will make it as
X		  separate I&D, otherwise combined I&D.
X    mklib.bat:    Makes minix.lib with all the C source code
X    mkmlibs.bat:  Makes tmodel.lib and smodel.lib.  These are the different
X		  libraries used for combined I&D and separate I&D. It
X	          also makes the different versions of crtso and head that
X	          are needed. 
X
XAs you can see, I did not include minix C source code.  All the C code
Xcompiled under TC except fsck.c (diffs included), at.c atrun.c.  At.c and
Xatrun.c also had a macro that TC did not like. Just replace it. The
Xinclude file "a.out.h" needs to be renamed to a.out and the name changed
Xin ast.c and strip.c. You will have to transfer
Xall the minix include files and the C source via doswrite. I suggest, if
Xnothing else is available to you, putting it in libraries and then unpacking
Xthem with utilities given.
X
XAll the assembly files were converted from minix 1.3 .s files. 
XYou will not need to take any of the .s files from minix. Just use the
Xones provided.
X 
XI used setjmp.h and setjmp.obj that came with Turbo C.  In this way,
Xthe register variables di and si are saved, and the special compile option of
X"-r-" is not needed.  So remember to copy the setjmp.h into your minix
Xinclude directory. 
X
XBefore using mkmlibs.bat, certain routines will need to be pulled out of
XTurboC cs.lib library using tlib.exe.  These routines are listed in the 
Xbatch file.  Probably all are not needed.  I took everything that looked
Xlike they were compiler routines.
X
XUsing the utilities and batch files provided, everything should be go
Xsmoothly.  For details check the batch files and the comments in
Xdos2out.c.  Have fun!
X--Deborah Mullen
/
echo x - doit.bat
sed '/^X/s///' > doit.bat << '/'
Xbuild bootblok kernel mm fs init fsck A:
/
echo x - mk.bat
sed '/^X/s///' > mk.bat << '/'
Xecho off
XRem  Batch file that makes mm, fs, or kernel of Minix OS
XRem  Usage:  mk module_name [sep]
XRem          The last paramenter, if not null, generates Separate I&D
Xif "%1" == "" goto err
Xecho    Making %1 module
XRem
XRem Compiler options used:
XRem 	-k- : Do not use standard stack frame
XRem     -f- : Code contains no floating point
XRem     -G  : Optimize for speed
XRem     -mt : Tiny model
XRem     -D  : Define symbol i8088
XRem     -I  : Directory to look for include files
XRem
XRem Assembly Options used:
XRem	/ml : Case sensitivity on all symbols
XRem     /D  : Define symbol ( used for separate I&D)
XRem
XRem Linker options:
XRem	/m : generate map file with publics
XRem     /n : no default libraries
XRem     /c : lower case significant in symbols
XRem    Names is a file listing the .objs to link
XRem
XRem    All C code is compiled with the same options
XREM 
Xtcc -c -k- -f- -G -mt -Di8088 -I\usr\include *.c
Xif errorlevel 1 goto err2
Xif not "%2" == "" goto sep
Xecho Making %1 module -- combined I&D
Xrem
Xrem    Check if in kernel directory 
Xrem
Xif not exist mpx88.asm goto nxt
Xrem
Xrem    For Kernel, first file is mpx88 not crtso
Xtasm /ml /i\usr\include *.asm
Xif errorlevel 1 goto err2
Xtlink /ml /n /c @names, %1.exe, %1.map, \usr\lib\tmodel \usr\lib\minix
Xif errorlevel 1 goto err2
Xgoto cnvt
X:nxt
Xtlink /ml /n /c \usr\lib\headt @names, %1.exe, %1.map, \usr\lib\tmodel \usr\lib\minix
Xif errorlevel 1 goto err2
X:cnvt
XRem  Convert to Minix format
Xdos2out %1
Xgoto done
X:sep
Xecho Making %1 module -- Separate I&D
Xrem
Xrem    Check if in kernel directory 
Xrem
Xif not exist mpx88.asm goto nxt2
Xrem
Xrem    For Kernel, first file is mpx88 not crtso
Xtasm /ml /i\usr\include /D_SID *.asm
Xif errorlevel 1 goto err2
Xtlink /ml /n /c @names, %1.exe, %1.map, \usr\lib\smodel \usr\lib\minix
Xif errorlevel 1 goto err2
Xgoto cnvt2
X:nxt2
Xtlink /ml /n /c \usr\lib\heads @names, %1.exe, %1.map, \usr\lib\smodel \usr\lib\minix
Xif errorlevel 1 goto err2
X:cnvt2
Xdos2out -i %1
Xgoto done
X:err
Xecho Error: Must give a module name, either mm, fs, or kernel
Xgoto done
X:err2
Xecho Got an error somewhere
X:done
Xecho on
/
echo x - mkboot.bat
sed '/^X/s///' > mkboot.bat << '/'
Xecho off
Xecho Making Boot Module
Xtasm /ml /i\usr\include bootblok
Xtlink /ml /n /c bootblok
Xdc bootblok.exe bootblok 512
Xdel bootblok.exe
Xdel bootblok.obj
Xdel bootblok.map
Xecho on
/
echo x - mkfsck.bat
sed '/^X/s///' > mkfsck.bat << '/'
Xecho off
XRem  Batch file that makes fsck module of Minix OS
XRem  Usage:  mkfsck [sep]
XRem          The last paramenter, if not null, generates Separate I&D
Xecho    Making FSCK module
XRem
XRem Compiler options used:
XRem 	-k- : Do not use standard stack frame
XRem     -f- : Code contains no floating point
XRem     -G  : Optimize for speed
XRem     -mt : Tiny model
XRem     -D  : Define symbol i8088
XRem     -I  : Directory to look for include files
XRem
XRem Assembly Options used:
XRem	/ml : Case sensitivity on all symbols
XRem     /D  : Define symbol ( used for separate I&D)
XRem
XRem Linker options:
XRem	/m : generate map file with publics
XRem     /n : no default libraries
XRem     /c : lower case significant in symbols
XRem
XRem    All C code is compiled with the same options
Xtcc -c -k- -f- -G -mt -Di8088 -DSTANDALONE -I\usr\include fsck.c
Xif not "%1" == "" goto sep
Xecho Making FSCK module -- combined I&D
Xtasm /ml /i\usr\include fsck1.asm
Xtlink /ml /n /c fsck1.obj fsck.obj, fsck.exe, fsck.map, \usr\lib\tmodel \usr\lib\minix
XRem  Convert to Minix format
Xdos2out fsck
Xgoto done
X:sep
Xecho Making FSCK module -- Separate I&D
Xrem
Xtasm /ml /i\usr\include /D_SID fsck1.asm
Xtlink /ml /n /c fsck1.obj fsck.obj, fsck.exe, fsck.map, \usr\lib\smodel \usr\lib\minix
Xdos2out -i fsck
Xgoto done
X:done
Xdel fsck1.obj
Xecho on
/
echo x - mkinit.bat
sed '/^X/s///' > mkinit.bat << '/'
Xecho off
XRem  Batch file that makes init module of Minix OS
XRem  Usage:  mkinit [sep]
XRem          The last paramenter, if not null, generates Separate I&D
Xecho    Making INIT module
XRem
XRem Compiler options used:
XRem 	-k- : Do not use standard stack frame
XRem     -f- : Code contains no floating point
XRem     -G  : Optimize for speed
XRem     -mt : Tiny model
XRem     -D  : Define symbol i8088
XRem     -I  : Directory to look for include files
XRem
XRem Linker options:
XRem	/m : generate map file with publics
XRem     /n : no default libraries
XRem     /c : lower case significant in symbols
XRem
XRem    All C code is compiled with the same options
Xtcc -c -k- -f- -G -mt -Di8088 -I\usr\include init.c
Xif not "%1" == "" goto sep
Xecho Making INIT module -- combined I&D
Xtlink /ml /n /c \usr\lib\headt init, init.exe, init.map, \usr\lib\tmodel \usr\lib\minix
XRem  Convert to Minix format
Xdos2out init
Xgoto done
X:sep
Xecho Making INIT module -- Separate I&D
Xrem
Xtlink /ml /n /c \usr\lib\heads init, init.exe, init.map, \usr\lib\smodel \usr\lib\minix
Xdos2out -i init
Xgoto done
X:done
Xdel init.obj
Xecho on
/
echo x - mklib.bat
sed '/^X/s///' > mklib.bat << '/'
XRem     Batch file  to make minix.lib  using tlib
XRem
XRem     Minix.lib just consists of the compiled version of the .c files
XRem
XRem     The files were compiled with mcc -c.  All the options are built
XRem     into mcc.  The command mcc is used for all the compiling done
XRem     for minix
XRem
Xtlib minix /C /E +abort +abs +access +alarm +atoi
Xtlib minix /C /E +atol  +bcmp +bcopy +brk +brk2
Xtlib minix /C /E +bsearch +bzero +call +chdir +chmod
Xtlib minix /C /E +chown +chroot	+cleanup +close +creat
Xtlib minix /C /E +crypt +ctermid +ctime +ctype +cuserid
Xtlib minix /C /E +doprintf +dup +dup2 +exec +execlp
Xtlib minix /C /E +exit +fclose +fdopen +fflush +ffs
Xtlib minix /C /E +fgetc +fgets +fopen +fork +fprintf
Xtlib minix /C /E +fputc +fputs +fread +freopen +fseek
Xtlib minix /C /E +fstat +ftell +fwrite +getcwd
Xtlib minix /C /E +getegid +getenv +geteuid +getgid +getgrent
Xtlib minix /C /E +getlogin +getpass +getpid +getpwent +gets
Xtlib minix /C /E +getuid +gtty +index +ioctl +isatty
Xtlib minix /C /E +itoa +kill +link +lsearch +lseek
Xtlib minix /C /E +malloc +memccpy +memchr +memcmp +memcpy
Xtlib minix /C /E +memset +message +mknod +mktemp +mount
Xtlib minix /C /E +open +pause +perror +pipe +popen
Xtlib minix /C /E +printdat +printk +prints +puts +qsort
Xtlib minix /C /E +rand +read +regexp +regsub +rindex
Xtlib minix /C /E +scanf +setbuf +setgid +setuid +signal
Xtlib minix /C /E +sleep +sprintf +stat +stb +stderr
Xtlib minix /C /E +stime +strcat +strchr +strcmp +strcpy
Xtlib minix /C /E +strcspn +strlen +strncat +strncmp +strncpy
Xtlib minix /C /E +strpbrk +strrchr +strspn +strstr +strtok
Xtlib minix /C /E +stty +swab +sync +syslib +system
Xtlib minix /C /E +termcap +time +times +ttyname +umask
Xtlib minix /C /E +umount +ungetc +unlink +utime +wait +write
X
/
echo x - mkmlibs.bat
sed '/^X/s///' > mkmlibs.bat << '/'
XRem     Batch file  to make the model sensitive  MINIX libraries
XRem     and the startup object files for each model, tiny, small.
XRem
XRem     There are 4 .asm Minix files for the libraries, the other .obj
XRem     files were taken from the TURBO C cs.lib.  These same routines
XRem     are used in both minix libraries, tmodel.lib and smodel.lib.
XRem
XRem     Before using this batch file, copy all the lib .asm files and
XRem     the lib turbo files into same directory with this batch file.
XRem	The result will be in lib directory in current directory
XRem
XRem    Delete any existing .lib files
Xdel *.lib
Xmkdir lib
Xtasm /ml /i\usr\include *.asm
Xtlib tmodel /C /E +portio +sendrec +getutil +catchsig
XRem
XRem    Files from Turbo C library
XRem
Xtlib tmodel /C /E +ldiv +llsh +lrsh +lursh +lxmul +oldlrsh +overflow +pada
Xtlib tmodel /C /E  +padd +pcmp +pina +psbp + scopy +spush +setjmp
X
Xcopy tmodel.lib lib
Xcopy crtso.obj lib\crtsot.obj
Xcopy head.obj lib\headt.obj
X
XRem Make smodel.lib
Xtasm /ml /D_SID /i\usr\include *.asm
Xtlib smodel /C /E +portio +sendrec +getutil +catchsig
Xtlib smodel /C /E +ldiv +llsh +lrsh +lursh +lxmul +oldlrsh +overflow +pada
Xtlib smodel /C /E  +padd +pcmp +pina +psbp + scopy +spush +setjmp
X
Xcopy smodel.lib lib
Xcopy crtso.obj lib\crtsos.obj
Xcopy head.obj lib\heads.obj
X
X
X
X
/
echo x - klib88.asm.Z.e
sed '/^X/s///' > klib88.asm.Z.e << '/'
Xbegin 777 klib88.asm.Z
XM'YV-.P(*'$BPH,&#"!,J%*A@1\,$2]BD$8,#AXLP<]HT?+BDC!PW9=B ,).&
XM39F-.T"H;/*&3!J29<B,?",'!)4Z<L2\ <$DC9LU(,3D 4&DC$XY8=" :%*'
XMC4DW#56",&+4!8@8,5A<S8$CAP(%29P,85*%2!$0;5J&=('FJ\.45-"DF3.R
XM9!D08]ZXH1/&)]TP(-S4:2/&(X@W9D!@G%.&,)NA><G<K4.G9!HZ0^6\H>RS
XM#%V0,6,&'4H'S<F4:SR"9&/5INFA8>24T8%2*APT>>9\R0LGCXX$O--X!D$F
XM#-^1FMLH=I/GCFG9(.CL#,/<N<>[/M$VIIDGJLHQ<+ZT\3SG=_#AX^?,"7-F
XMN)GD(.9LEC/FKG3BGBN[,9Y&KW<0;+PQQAJ_N;2>&":!X!,='LE1!QQTS/&?
XM;'-()]MO%%J(W5X-/A@A""B4L1^"9;Q@8!@DDI&"8G255L90=UP75!EFT'17
XM@ .BD,)_8M11$AE?S)'&&;_U^",(-(!P!TTR5>C@&'3@=!<<=<QAFDQZW5=A
XM& /.5).09^S'AH0I?3>'';_!H5E]9$@)@IIO!'A&=#NM9X=]IH$@VQES,2@'
XMF5*-(1L=::X9DYMEP%'2&W/>EZ&-T>6Y9Y\> :I2>W3LAD9RLR4P*$YNT 6#
XM@HD9" <;80PU%UIZ";CI&^-I%0.I"M*A(%UY!2C'?YA^4<8986!81I0?T37K
XM2\3-=6JJMX)0Q!%!:#7J&R[*<<=<ITEE1QI \N8;<&_T1IQQ@-VWK60[(:4<
XM"GKA%2=-R<ZQ[%!MRN'3G(,B5=]A;CRV8YGQ"?K%@[_-(6B<(ADLFXB* =@9
XM" ^"F)U\9M!Q1VQE:"64N[W=^Z]4"G]!QAMWN%'PP4X%O+ ;#4L$$G$DLXS"
XMQ(A9C+'&D(6;A\>\#ON%4 P*&P89?XW&('*P-ERE87">H>YR,GU:;*TL@F!'
XM&&S4D:U*LNE$K;!>VUIC34-0(043+03!!!4MF,7$?W=T_<;7"5Q\F9=XH1$;
XMEWY&RK#<U(+P'QEMA/&%;$/_1@=2H9IA6'''%69Q&0PC082[>VGFE&'4R31>
XM6G)T!S#AAL=]6:>+4S>'XS5!#ICD,3+\.7=0@V YYHLC[-%_C7V!!^M"8UF3
XMZ4<'004(9>#!H!N2>;Y=Z! +Z4:C>0J1Q!-3P-U7IOER.9N2V],UMI[#ZKNA
XMGU>SH57GY!,;JH)[Q8NB263\Q^4:FL;VV_UND$Q_>WG;&Y0,\YZDI28/.HE-
XM_0!FIS)\@0Z8^<*=QJ"#^(3A3M'!#/S\Y" (6:T,4((7#/!P@UF-#PI3>($,
XMOA*5N-RE1DXAV;W>9*AZ#0=C^"$)2&22G=*LBB0)8M\8L$8_I"EG,Q'B%G;H
XMX (%'($)3Q""VD#PA=OD9C<ZTX$3BA $*6AE-^%)3WFVV,4OXHA 9/0B%1]U
XMH30Z$8I29 (5C<0&((%)BUQ4XQC.A,<RXF50?53C%WHUAE>-)Y!OC.(4)<@M
XM+/8FD%_L%=!FD\8O HY0E:1BW(PR-TSF,9%QI"+I#E>&Q&529(7[ O$HF<<O
XM]NYW'H$D%4-&,#<^49%R#)+ 1E8R67[A?OF3@R\;^, (3M"7O?I5L&P)QT7:
XMC7OE\YXOAX6&(-$!#HB\92A]A8?+(-(MKGDAPF0X/>0I3S58HZ& #D4AQ4!G
XMB)OC(<M\*#Z[-%&;BX0#==) 03=&Q0JQ2</\;LB\<1W'276 DI0DA,]<YHHF
XM.KC"$Z1 A"^. 2=57%-$)UI1*L)I#%5<W$8IJA5Y2:0-WI0H14&93YIDR@8U
XM&&E'JU@>E<YT@@\<J$R_>"[Q8(1 -N5I(^'@4IFR-)<(H@[^'BK,H%)1F49U
XMRPJF2M6J6O6J6,VJ5K?*U17\1RI@#:M8B4(N$$SA5^/92T.ZRM:VNI6M"IC"
XMLYI0!"<<[PM$,%X0OG*N,_Z&"%<  0P2D("4M*D-;1C*U>PU4+PM34F74<H9
XM:4BC-.!! 29- TH)E0# "I:P*=E2ETYZM_%=5 ZRB1]?Y@ 4%*3F(R'AE[\4
XM0(<V8).PGAUL8=U5A_@AQF@W9 /BR) S1<4$LW18PQONA-K>_E4(*A%!1V";
XM,+YT:;D=<H-65@N4'H! ! J0( AS2J*_!C8&-) !<1Z$ ABD8+<5H@E[Q%F3
XM!77(@Q.TD(0@F ?QCB$&YOTL?.4+P/'E5X0DG!6[S& &QM!A1_SUKPP"K-O0
XM$IB^'PQA34980A QY@QI??!7ZDJ$*5 QKU38ZUK?RN(6N_6K8XVQ5(:@%K.B
XM541T6+&+=\QCJ\9UKG6]*Q6*@ 4J*" (4YA"%>@*@B%,00=?&'*1M5)B'1#A
XM"%)X0A6@P,(=J* '8 ZSF,=,YC*;^<QH3O.95= 0%1"6L%;4C;?>G("PLMG+
XM:LZSGO?,YS'?V36KT@QG7G:>HB%(0$#Y;9SYF<[9A:XU2;#5JN!91*'0!F!O
XMPHV<=88"$ 5H>BN2#T[JHQ44?/H,*Y),A7S"'[V4^M0KFF1>>BOB\,;9D;Y1
XM0 *H9"4SO#FT%WPAJLY )N!(Y-?R(]$&[QLA78^ACLA^=BE;EP;90*D_+#/#
XML'7-:Z6( 0[(;J#?R,>G"E6*VU522ACP$.Y@*^:RNTYW4-@-6@MB4 SP[C9>
XMZ U?=X\AW_(F [^!C4&!H]M*\4E#NS$HI(,KQ24+OXM+'$Z<.42\XA3WS,4]
XMH^NTV"$H<&"!O.KM8)#3Z4UO6-#)&R@3CC,!!K1)@,??S8(M?'L%,L!!%^J]
XM;A!X5RYG0$,+F&28)<D!2XF9@0Q:((:[J5H_K8:*S)>;K)K?7 8VV/EN7>)S
XM )%LZ$<O.I,.D_2E-]U63V=U9?PS]8__FP4T(#E?Y&"KY*7NVN5\-C^!(AC"
XM$! ^3U< $P"L:_K49-TLB$&]]=ZEOA>FOG1)^W[6SK*AD8%"='G!56Q0>$%5
XM7?&[O=NJEB;/^-PX?I,R=TU,JS-=!RA</ '];I-T=KK\%NA")_KPQHY#TG><
XMZIYA <1W.QSO2C[J>)'(@+[2=IK;' XXIX'64]+SGP\I]V'?_=')#@*E,_UN
XMHJ;/29HO)*M#7P8RF'["NQZ@.X!=,MI'>O?-#O[YU.?W;L<#W.4>F[HK3U_Z
XM,2>,QW>#\7A&%!_V=Q),,&&==WCZ!WHI,8"!48"&L2KAMR^6AWD@H'DQP'F>
XMXGGE!X%4,WJ,47H?%F+D1BFK!R_>XGIS P<\(0/(1GN787N)@7OO)W;;UWLE
XMB'\5)W(*MW5TX5T7>!<#R'PSYQ+FAW-95V]<YUWMEX/QQWU/IQAD<'GDH6OL
XMHX0PT(5&@ 9.F 9=AQ@--BP'J$](X31A<!L@, +P@SP20GYIL(3HIWY"PGY?
XMIWM*,G:_5816B(7JH84%57Y=" -?2')BZ%UD6'(%I!QHR!Y(P89NF!U$@X14
XM)W!+J'3J)W!=AX-Z:'3R-TF\I5;-]W;/MP(S  /J]V]XZ'Z?R(>)(8JSIE:Z
XMQB 5LF\L@ .%"(:A%XMY8(L@X />I70W8 ,XH!5Z\1@P,W_%B ."DP!JX 9Z
XMP!,S@&QP4(%^$G6UF!_$H7^&: 3@R(L1:!I=XHG9=Q4W$!0UN'*40RN3%(?1
XM.(U,4(WUABSO&(S#* /-Z#<L<P8[<1_SJ&MJ8%MFA003=3Q,D"3UZ(O R /,
XM:(S\" +^>'()*7@S$',S]W:ZV(7B*%AXL)&C,GJA,B0[]) X('@T@)%4AWC_
XM1G+NQC=UD$ZS:"ND]X;KEA*@T3P 8AR[LXVW^':%& ,=:26;44=*8H0ZTS"B
XM""^  8J*82OEHEEE\ ,"*8\U@&QJ,!@PB"QE<"=2)QLPZ'%S( :+EY2S(HK&
XMT3"5,1[ Q3'= 8T$.04&*04(:0,@L'CD"!3C SIW\8Z"%U.Z9B4U\78BZ)0M
XMZ"F)PBIV, =W4);B,BM.F991R9:&V7I,8 ,J^7&8>(J:>)=;!T*#N1E[H14^
XM 8+T 0(F4'%T0)K9>#3(DI/'58KZQYFJZ(1X  (!L6_-XGUGUY8SJ6MX "_X
XMQ@+X5F_XAIO4=YNKPIMW Y,R*9HTV8,), =U( :XN&YE:5N4T9>_.!PMH!@*
XM]9RT%IAB8)V86)Q;=YNYR8JKXH;WV#^VD@=F^%'D$9LLJ'\M"5_MB"RB)RH"
XM*8T\<0/(ABQ\"5PM8AK]^(\[P00WH&OP@HD"5V^ID9BV&(#_*8\"NI!>!WLC
XM Q):809$%"F"%G3,1U0PJ''UQD9W$:(N8F^BD7I^$H<F6G'(IJ(8MVL<&H2[
XM9:,3AZ,P*"0UFA^0TG ^VHU!&E_087!%FI\[*J3OE&^PAYY-BJ1]":4PB)TI
XMZJ0K:J4@=Z0: G+<%BZ^EJ54.A+#%H>#$J3N<W*4UI,,^ALSQYGI)WST%EI?
XM*AF"TA@X)AJR")U!<3]O^#D^2)M=P +Y27U%<VI:>(4@<(I85ZA8FA*E*1LH
XM>'R4MZACT*A7IW/$6:=X$1O0TXA>YXKG"(J+*A...J>1"C]YBH)%B*F:>G[2
XMUZF+!ZI#(:I1^(I')Y $^7+A-G>V A+*4RL>H8UN\65]EJS*NJQWYF9O!A[B
XM01YT5F=@U:S+>JW8JF9_%A>!AD0/LRJ%DQI% Z(_F92_!1AB-%\'2!W-\1P;
XM,FX9F(6AI4_[<A_L:AW0$1*, 6E0.28[46CCYH?QJA[J="ZB@1&*$16/.!Y]
XM<Q\M2FD;](]Y0A)_8BM.^5LM:JG8IAWJ,5]-E!*1UBQM*A.6]E70*D8H, ?T
XM45+TL1O*MP9SP+(@M8C#HA5$DRD#&+.J^04T*V(I@:\KFC(U\"9[P["5XDYW
XM091T1Q<HT('?%R$I\+%1X034@B=IV:+I"D!"H@<9 P(GT 1;6P8GT"S985,F
XMA@+P:: KPCYM4"6V4ABFEV,12!/61@>/T1I#H#?3,T,96UEN<!D;^UM9BR?V
XMD0?76!=!5%!I6TC4P2?3$Q5WXZZ0E3(F,30G)QU\(1(GHGH?*SAP(1=T(6CZ
XM<1?).!1JXAD><2<'>A<P>K0M>@)#,+9Y85MVL2LID3S7""4MLA-P>[J,(0=W
XM(A,AHK-$4U)S6'7Q$7(@%[5? ;9IP+5=%P,RB(C0>ZX<NQX E!U.VYN@*"'A
XM=;+D$7/ZAJ+]AD$<%V\(1S075XG--YPC%WK,DSQD%XNW61A#]%B%4T@/,T1N
XM< +1F;1PX'!C6K["QAYQJ'?(=B+*9E_-!2$R*F] ZI(,EP84-WP$G"P^J(0V
XMAP<K@%Z;F(CS6W*_I;'MTB,,MCL)8!)T47X;W,&UN5N/I73J:"L!,C0H0#3-
XM,A]_RA@[0F>A!<(]RWU^.+BZAFS%EWQ[9X/XL6J3M[&NA\.(U\)-",.,,7\S
XM['66ZP):W$0^_&Y=1Y\$ZWB&T8<B G]%[(1#B,0#HL1#3![SI0 JT7Q;X!DZ
XMX!*0ZJG>8GKQ*P<G0!=@_!D46!/W485$G "6EW L,+V&I1?^ZY9U4;%[N*N&
XMS*A*J,@PT[^VDL<4>XNF*ILLX+Q<VP(B2*F-\7@?6FV</'8CXQF8/(HY9FQD
XM$&V52VUUN[':QAZ%EYABV9BAUYI&>)MK.1SWD<=8$<GL&VU)B;5NW!YA"H,6
XMG!(\2L%%&L%3^J5$:J(##,U::J8&#"(4,BQTP< =]"'W$2=-PA<,TL,SJKYD
XM>J<R"GODJ\UEJG&Y3 ?(5AK&T<>*D3(P!+,AT&7(FJT"/= ]T*QT=D;3:F=M
XM1M ,C:U_1@1ST5A#  55L&P-'"&M(07# BJ'891PP)A58P:]=6WMDCY:TT1?
XMX%<J(< 7=\O$QB_Q85UKX&S'%H8'DB#B["'O?*7LYIG:O*8N+3[PPD;(ARI^
XM4L]JRM'#3$0]B6<-_=1]9M!OIJ()7:T+#=58G6=_9J,B,E F$M'*UIL.FR<F
XMO40@H#<D2R.0@BJW>$8HK:+B*V_?=G&7X8/?)G+@II\T"8-B@!$8YA.2T4V/
XMB[Y*<8K29YQ;N;IO M+W ;<J6C\^FLWD4Z9!W<Q=VLZ0\FU(G:5KNM2;LRM7
XMG=6B;69235AT9$=#0F<*[=2CW=IBUJP@( 0^8I2 @5 *!1WX+&E^G&ZBD242
XMF[0RC3=@(B9SP*^XTQ>ATF9O,@9:\=%WH!7#,@8NL#X%!:Y<(A<O(QG7&+][
XM814NY"6%H]L!&P9LB;#M 1)(P2 +I *C<=8*=#'0D=,.#-UX4!\>E-N*43&&
XMT:(B(-]T( +;E2?#G4YB;+OLO2I8(Q]OPMMDT!K?/> B\<<S)+H/<RT^-$]Y
XMLC1?0J\OA,IRR]XFJM@0/H%^)P?;52?MZ!S\I!0B[08D/4__2D0.CJ!40VFK
XMJ]PM_N*M802LYA1YH!76@>$O--*4USZ@LKOC%H4F<2<)0Y)8H]QZ2P8N@R_>
XMZJ&XHSG-HD_JP:> >A] 2S47X\?V B]CG;1.S@;*O3') T*#-B> (35NT *-
XMV +^#3^V37E:@:#UFB<YZ5C2<P;*W:)Z<W3P?1?G7:SJ;='C#-YIV2XM*EIK
XM,.-&&*)S<6GL#5:G'21#DK)#8DUUP&!:(0?*"R8[$A5/P& .1A<6CMWJE*E\
XM02(*  5# %;>)0,TH ![M"?1>Y(H%%@J4>LG&5Z9?D<4-]<2W)<!W+XA][ZA
XM98;?MG(P.#Y<4A_J,4,+^\ ()Z4$5Z441\W;GG!V/9LW=]B[=9Q$M2!(#B:>
XMSF ^R,(W-\4_C'+H?G(?%1V-A6.AXX-1?',ZQW.W281G3N*/-ZCX=L?U1B6V
XM,N(%_H;J7B&?;@;Z/IMWN (@(.L[EYQ=!^%%],=C*^L$S\&JZJD(O]P,W^D.
XMS^[-%\43CQ<J^RL7[\4 'R9,+1,<S_(?OP*SNJHCOT<E?P;K#O$I+_%B2/&]
XM_O+5EW R'T^M3AX=/P57</-9QP(Z3QF+?0<]__.6[>V3;<W2/*/:OO69S:7&
XM7LV9G>QIRME*'>.?#="NW?9@5MK <2:H^4?#HMI6S=IN/]K;"KH?]">!FQA[
XM]'%@B2K4'K!\P3P*Q"]E8-R%!$(P*]S!C5URH&TD$Q6KWD-Y\EJK89,)9ULF
XM,3S,@L\L0X(QZ>.7O/AT+]Y;@OA'UT2!+[Y1.G#SUG5P_H>85^QY#5^1;Y3O
XM0=Y3DG(<LBO*CM<D9X8@8?6]SY;G'OS07L$Z^NT]JF]:+VY$2IW6*2]2[ZE'
XM[Y[=J<0XDDZ+)5 D<L $B?U;8%,5;S;)2UIT\/)Z0Q>:'UN0+I&:43)TLA.H
XM(@?,#(UP&_@BB"SRHEE(!_Q',IK;/AD#O H&G3^.DOZDP+SI G<))]&$PB$2
XMX%P%R6/'Z3XTC:<QDWJ2_\M,C0K]00'UEUDV2Z&" 2GA='FE3,:B=H(^^5N9
XM2E2A")<R0[)#X MW6F$!4I0&Z%'61$B1 Q P)3P(R,&ZX$ +\ 'AH036-3DF
XM M4?OED!-4 5L8 *HR>,H ^0%RE-L]P-[P(#*(X.O!PCT 'N!HSR4;I 2N N
XM @^%S1S$\P3 D5PY'A5"N3 7!\$R[!2@DGR,8]S$O^H"J#!&&* X6&JWZ)M-
XM9BL6UK! 81"KBAS 6I4R*AW1@H$I*[G@P=ZB%4Y+1A$0/6P@P2#_5V_H27Q 
XM T5))J0MN 42J-UZR'>X#I"XGE(RG4+.\VD!AZW9)3P8I &!GZW0$L&F272]
XM<#&=@I \LV:Y$-SYJ 0P?'[AD J&T8\7&CMC"!TT&V*R9_6FC'$?^F1#CE7>
XM<VUPCY 8DC)@]Z2"M;J&>J^%\#T*1VB(B&*S'MCCY.@0+$'UD$7&4A:H0E70
XMA;30/PH)IS@,-2$J,!5)1QSL!7/Y"TGJ); .'+,^ "+ALAI*)%V0-]M7GW26
XM@HL14:'/W8<UT#_N $K3AIPBYJ@<K-"1(%:+0H<FYCY@"N01!WP$'$!!F.$:
XM"2*9@#580"KJ2',A3O D=Z$K7@ ]W DPH8XX&X+4$E]BO1DAJ:A9W$1[""O&
XMCQHP=-%M4_R_Q# 4MV%$FD@B,2G*@1@0\1)/6=(5T6NS[1:F8N0^@@+ %/80
XMP(" X.2 LE^]N8E=IPL^0V33%.\AG+.&X%"T94.?H4SBV)M9;0$M+D*UO=>M
XM!LVD<PKG\'J$1)P(V Y#.TP,[]"D,(M5H4QFW%R 7)^!<N@D^Q4&'HO"0!@U
XM,/((Q.O0W<)+,@$6(!!!)!X8T!92'AI(/#*@-&Y$TL@(1<)'%(PG9R26@9*8
XM!DXBCHD.ANLD[$2^ICYB &OL1>2F68PTO=4>R !K&@E]@7X(I+L GY1)511!
XM7-&[4,6U>!6'VD;SBLT1-(Y%IJ1_5A5:Y():,26TQ:+8%:%":-.+3PWNC9+A
XMT@U5PC=$C^DQO*S'4D(&XIJ52 #.T./@QV67[+H-<  X]U%)^<?HEVX2P/G2
XMCV]'!M0 &] )&<?J, P*TBYU+_Q##!^0$?B-*:$1O8!:2'>N@AE0B\\&LNG'
XMX&/87MX)NHW9X4 N%V(XATY1$TH)08P223,B( 02@"&: :611HH5&T $.E*X
XMB P8Y@2 )3MW!TY ,S.0.XU%'DD!R0O_#87$?L[01.W'>@87X6-#4X^I9)6T
XM1Q#P'JTD06,SJ*1TV(N@X7"F9-O9CWBM3#I)PE8AR^0U*Y#L"T'JGPC9(%4'
XMZP !$=*8Q2']B(EBP(7L2!J20]J*&/ A:9J(7)'%JT3J)Q"#(EE&G%R1[@[Z
XMO,@09H8FQHRLD3<R1T*7L&(##M%N^9$U9GP(R<2$1!B3D1R&[$M*7C->R"3!
XMS9K4CU"R/RI#LS<LJJ27'&APKZ?,F;MX]_+BK<Q6?#%T53G[$ ;$5<-P$C/D
XMMZ  Q@6 /,+Z@"#VHD>D,Z*%RFK'*EE=&@%&[H7?IC(HAQO8<4R))CXH>)@J
XM MQ=(![)LE^0AF(Y')9%X:L7]R(JM"CF4AG@2?LP'Q8M?9PXQ6 '4HY,,!7Q
XM<(8 BYR@KAR=@,M3(J)S?3>(5>E@C*[D-":,=6@%@_4&^AIC0$:HKF;IR8\!
XMM&#,"8B8'F%L204$)^^87YD#$<R2;SC+I[0X)L)V6A'Z!)5Y3(II,<56LQ@A
XM0F CX0VNR#YP9B'"&^.1+0',5&$II,()Z%DB4R4P","H)"37Y6,9%%-/+,1A
XMELSRA.OPF-TK:2K-D# FSAK)0 OL2D^RJ=8CJ6+1PZM =(%K:09SB;A$ K,$
XM$4GE)V 17;$B2-!Q"2\/\Y'@/F03(P*#9#0Y]FH,F,)Q8PACE%WCC\7O;='"
XM.A'MX 5@2Q[QDK EG(O3HEK7GW!^ZZOKR379)V[P#<5A4M]N3>J;"'7LNE'&
XML3BED^.<"YC3[EKDN+-#(&SY-:R=X#I.3O\+%\+A4&HFUPE]^MW6 6(9TV)%
XMENP0-=7%2JPZ7Y ',A(@43A8BQF4+4.!!BP!?+AYIN=,VI-4QQ3='-^XBOZ=
XM,7-E.S,IO9YDEX3TSPS(*QWI=*$A^X#BL /@>Q?41C'*PWO))>(E#BR&IL=]
XM.K)KD3+HX/Q"'@7EMQ1/\G:JYHVAPF.P N&=2\F5Q\I8'#IDP^E0S3XHA!$R
XMV:!3F:')N,@$BC<=K9\!39YAD(KTE.:Y!I[G<?(N;BAE#I _,2/R@%YH.0$T
XM,0Q0C3"=JI,!%4'-L8+@J=FWRN9 *V-$9TJ=7",Y\!@$4H(X%R(H*Q&DU[03
XM)J'4.84WU#AY3S?4O2)%6NI0C8PD2!JHF1"E)@WUH&\'/6FS-K$O9E)[<Z*#
XMJ@DZP-H"!PH5*[I@SLEM^JF:-#Z,VNY HC&G0C6JN4D3"I4(8BVUL>_5RW32
XM/>H5-T(60W-^WL2JA!#)0-P!CD&3<"6HDW,N5D@"T*-;P%< "S^JH>IB@J.=
XMC"Q8_4TOMSTN5".]=0VADOZ&[- 22>?/BBP-@RLF4JW@0NO IV(9I<N128>'
XMH$=;(@SPC9V0K'71IP$ORPF]9#05,)J0&@3T$.)1([5DSP3R]1_N4TBGA$?H
XM#PU.)0B!NS$#R(X".!<72=>P4O7A2CW2^0P"S:+D%%-\H4Q1WU3P<.!C"?92
XM]?%+J2"M*0DCR 8E!K25+MII"C"7+..9,%)PBFSNJ4BX&[-K.+2+2#A-?TLU
XM+77G(B41-LGF+69(X1@*%3&F]9]O5]EV@+%Y?HI.IX& K'2+1B+F.Y>I0H>"
XMM03A(FAHB)1ETR99U+)VX=)\$(E\=^JGAK6<ST R*HC*(8?H@5DXB.Q0UW8C
XM(J."=X@+:@?5$110Q4\(6 A3ZAS%1IJA=HL2;9PU(6ZN@<B)T(+IJB"9+;-+
XMC(\6E02$0!.H>+-.2+0MHP8O2I<X=7$AD &&T+Z":"#@;CD!9V1L 39& XP 
XMPPP%3Z8PEX6EY0+2O&HX4VQY;'Q^4VX!F"*;EX(4E0TX$*3A1 7MT6UR2#  
XMH :&)CH'>XNU7%%)2B\8Q2/*+1BD5=5*M*(K>81?A-WFA!8E>-"'>](JO08Q
XM8!"%X!:ESY6E4;GJ!'OG"8R &K5#5M1RDI9J)O>9H485A/96G/=;=XL32 ),
XMX N$T/' 5,N45H5'=V%U(IN)-#)J1>NL.6HT.M@6$PG"S.AOJ:+G ;(=LO(3
XMP>*==S&O#&DXI-<"6B*!4#UR<:0L?H#,FB [49@F;*14<"+E,?G EOC28B4#
XMF,FRQ3.P!QTLYTXS4I@M27$IT,E@?YEE^WHVRG,6J6=683'8- .I-FI5\K7<
XMQPR177@LCVR*J>V*<W$#0& 4^QE.=:G 3Z/G/;7J#%&A1PTQ_2CIP)B0F;A0
XMK' )!IV+J[1U1*NM_)4.K<WP2K#R3$C)W>&&2]8]GD<D>ZW^S!78'A!C+^#3
XM&#$JWU#E;*?Y$FMDM.O(,LZ(:)@9>T&?,J^4(-OJSHA@J:9!.:S3<?-,FDAX
XM:;+5-.8LN/0%(-$ T"N?-6=Y5A&7T@4<5.OP1ETH"+2%.[ XRD XG4Z50=?T
XMCV0W:6F:PGFK^XQ._40\<$ZO6#>U0&9HSE93+C9/IR PW2U7]FX8U'S*+[B8
XM&IA&C%8VS( 2!7NPDT]#L4$-;Q"U(F='A=\Z@S=GKTEU-K7W^8XLE556<(^6
XMP"#/1%CPXK$%EN*P+XXNE8$P1%Q4K:V*SV&\C'9!'9P%M(@7\\)SB=N%2>G*
XM XQ1MNQ"_XF<!"1\\H.A@DX<TUUY3)IP!K3FR%1L4?-$^A9[X;BX3]\2$K*!
XMYKVQ\*)L[:.W(;%'R6_RJ<4)6,D#X2Q:A_!R#C]F%[< )^/$&X]3L $ZR3G]
XMW,V7+3>&4W)R6'%#(!$.A14WHE/>+%AQ<[Y&)^J\8(_RXT3*%0#OUH]WZ:^"
XMC':6E<:&E#1H!N.=*\!W&A;@68:$YX5KI&5 (=+0C"3N8NL+BT#>LS+1FO#Y
XM8U]0B4HW%%5G6%1FD5&W!-WAJ&?J(2"P^\I!1"I)M14F5<B!#]^0;.!L8S"4
XM,#4VR-1A8<NV3=!;0M+'IL:L5:53X=!FO0,^%?4,RWDH5'W$Z'ME26CO7A;!
XMJIAZ[&[QA*OB88E/J]O,))N-BJSK[.66V!LUHQ8L5WNP%-9&B<X<]5@#8M8#
XML=M,Q%XVLM<,:24T%+9I[U.MO2G[;*.:DN65(8.7N($MV25KK^W]7-+V85Q&
XMIOGHKJWNS;8N@W15'I;Q+-!I(A6WXO O'E1SBVE4ALB(&>D6U5@^>5M]CZ;^
XML[<J(?(*4W1A>ACEOAT2V0%C64W/4&U$@SYA9@1WE\0,@[MZ?Q9S_)O/+G .
XMSA95.,_-Q,UKLM#B)B^,&[\T;K<#J>+FXZH@;/=P$+"[*;E*X>3ZFSX+AS8.
XM Z91I3/F(C(7"3N_F"W<;SKW./!<CI$[?^X2$KK)8@P%3\AR=)&K)SM%W'/Q
XM1-VQ8T993]4-%U>WU_C8G5%.+NK?#:YT .P:,+%;T^!7V75@(]5M2:1*J78O
XM!MM58&YWZ:ZDILM<]:Y9W"U]=SA4Q,!K*X JX<T,AM>[-I_BM6Z83X6 ;$-R
XMEQE6 9@G$BOE=:P1MH 1&\O&SEBOQ'FPGG>;M5S8$WJWV>AU9JBW3"7#'Q6(
XMN=Z%1;@9UO4FM8^08F<OWO.]?&8N9HI)PGMI+R36:M%66/I%X5B"U&%25$K=
XM:5U5!\F5'1Q-'E"8;;C<7IJPDJF\BR3I3BGK5V!,,Q!OKX/'_#!Z%=]B#:U!
XM[]HAR^ XW9<,Y>)Q$\1$58L:#F7-,_J,24)_Q]ZWRX]4YZY1W+XI$:>#X'2X
XM_5?BCB_-ZZ+@D!56E%CX#5BNX;#JRB\*2L;MBPK7W+Y[G,IQ,88/^C;'C)4N
XM-I%&8HN:)/I.?<RQ\E#P>(Y(\"[X. &01<5P&I."O^LZ ;GS<N//>XA+KXFE
XMCK"7$7NV8ML0+G&R@C$RQBZ^$M91D2TRGZD-@*:>)(B\L!>0F^UY&4"U::ZX
XMZ. @68>J8Q)T 79XR^AA&$RQ=V ?=J>,B093#-.ZK?&@GL]&M+8&= H29:](
XM0 %AX7C$@!IP&J?"2 ,!.. &H(&/P8E%@_Y-H!(!X;2HU-$X/ (_+,H,DRZ(
XM !"5&LB "&AOW29>E@G^:RC4 [S(M083N/7!@N(B'"7P<W/(<3"U0'@5GM!<
XMF2C*WX_R#.7*TY=!0%*^"DQY#S4%F3 2 4,3" M)  NX"\^'W,0&?* .WJ&W
XMX"X0DNA2!QR06F7""3R!(5-!0, 5Z"+/U0D<@=(\!() %: "U\,)5) MYAV$
XM@%J##E6";XW#84E+-P-:4,+K$ 34TII0E >64*L)AWDIHX'.%4[P0X\00+"B
XM<!04$2 38$X-2!(UX :<9?XI$O@$!JFE >OT0*6"8IR]Z5JN'K"1TK2&)\ R
XM$@O8U%\OPQ,>NO1&QS!R(8(Y72@*BI4:D .F@C/J0E-A5&3D 0U6L@!M+A,N
XMI(J5-8,8D4Y%'3@#Q3%BC1N+42>X,@ 1 2[ *>&!#8T'SG+RM10@0>X>XQ@:
XM*8(O2)!T.0.U> :B0I>;:/#L 2/$#.  _@PUO,.'@=&_HQ#QPQBIV AA=%@2
XM!JIV/#KQS(:W!EN[A4#Z'J$ JG4T[G$H9DQK:,UZ!V[EQ_H//VD*<K<HIV0Z
XMJ.I@J7_3IPG'Q1U$791S.$^9:%NWJ'<1/M&0'> $@Q@@GJ/&Z%^'J\Q !VS0
XM"1AD5C2!2<*<I\!O@PY$:3'/B,VJ3DA$&Z +N;F<O,9TJ)XWPAD@ YP%V=CF
XM?GL& D1?TUR>05#41@MA[V#=M$H)1& PN&=5HZDA!$W0-;FE^)E?&B8BSD!I
XM\#1:4,1TEL!"!6L/8FX!TR(Q+!I[:9Q1-72IU>M(!LP 46:7%(VF0:8,,1!U
XMEE_-<ZXQP>*W:.!#!.14/:525VSJ8J3:7ICJ%503C@ 1.!XU*"0 /6K=[%8U
XM@&C5K]K4Q.H>1JYGF+&H ;AZ&AYK7GV%;M^R%C IP58+:V(MKW,#LN[5]YH*
XM3CN'"ZVE=7="U;2:3%GK^J&R*,BG1D"C1N)D:FUM(3 +?9@#>H#"J&H4]!1<
XMM5)0UYME1S1L-J"QR]TZ6LKQVEC[:WH-B"1$PT8#SP5?NVL\.:P[4+\6$BS;
XM7NO('( CF_7@+-@Q^6#/:IG]S8#7<:$#KOHW=+&Y,Q*S]:8^U4@[0F3LH8U4
XMB73'3M?L#\*X:I)-M8W3R8;7N3K3K.QTTJNC-LP.V%[[0^QKFZVR<3;9KM=9
XMZ%[S[(XTL)_U]3'8# )A$VW49;0A6Q<KRDYFB97JBMVU%R7'1M<?.VOK;6#]
XM(5!VV-[5;[ME^VJ9K:]K=K'6U?,Z<NML9KU;ZG;HNMM!.V\7;GFVL,\8_^D2
XM\5AP4^Q3/;K-\6V\VHE[72_NM/VN4S;F'MLB 6#K2,9-%];VY1;;;CMWPVUE
XMO;M]-L$&W<!E=E?KONT60'(1P -L[FB4BY9L&&0RP]!PVL%.UXZ<'+^<AYT&
XMS2IA2T2)-+:1/4+*8K=+;#6YLA3P%K[*%7!7JUBLB.\JX7-\ (H%DB!B5/0 
XM^_T$E@!5#BM^:']7O,R=,!)0LF9:S,EGC94J].OL-Q0@X.E;[6RL\HP"$OC_
XM!BMFM'Z# "<0R+A/%758U-MVH83P4KZ%20X&0\O0K+@;!TLAI7%_+)!O\CZV
XMW +I)-^"2H ">P?;"JR"0L(JS_!F#'^AH S!F>BTMW6G5F$;X>Z6R-VZ T/H
XM'M$!(_N.544./*B$0!88,CSPB;]L2(7FE#B_*[1,D+<ZP"<>M=F %/?B3A>,
XMQRDKCL6=>'DPVUP<)%<!.$ $5??3%F2-)76S/S+A@[1G;$T_57%-'C+$4X;#
XM>!-7?V3<56/L,QZGPJL6O]AZ0(K;\ W^-;MK'"4*C)J()'%]LT<4+/:4N<>K
XM#1J!-V@F=,"C1KPKZ31&Y=+8;8#>1F3*]88(3(>\;)1/CI8>EB Y"*2,#M6U
XM:M]$]LH;X4A*4!O%PH?A'@8W1 I6AIPH.2NII"7VR&?F]A(68,(LGSDT+S-1
XM(0@,B(KX/XS0!5VA!^B ))#M<T)2R H)+]1\T-%?)05H;4 .4(V5AYS"FX&,
XM>'QC:40BW4CJ=7%Z_H!(HX.B>ICHR64P_6,#;$!I7(.GT9YCVE8*;])64CB>
XM+?&A)P!\'M"[^']]#W> *F)T ), '/H]/SSJ0Z)3].YHT0D21E\A)_TW>'2(
XM'M+O.4 GZ;J&#@/;6FELKSEID^;3*=@4D_XR02KQ([;I-STE3 &/FR?X2X;A
XMU!Q&P: 0%;(C@H1.CS#'Y'0")^Z8_:QP(5^#LXF.T8 : ,@-.1A4?U =A,0 
XM1CZ%:XY3@A U0:M?9S5.=;; 65\<&82G@Y"0Y\F=N34'ZF$&[EV2N;=)PD:4
XMY9)W':\7M$SL+B0#^0@;BLWCA9=+$G/&[N^\:>>#V7QRFB,#,"3Y: %=;8$%
XMOT5'DG/'VIOH5*^R%^0NG@BIB34!P#$-]ASC:@$2+&AM=#8ABD+T=#L\;@X,
XM"\T.[<==R(:J2 /\N<B=[&08WF!UU#@#:,!!;^OA%>;<@-1XQC.O3[(5F?2C
XMG4!P%(Y,Z52LBM^HNH]AQ5L5X^HA=X S (SKFZM>UKW[5W> 8QT0PIO=/0;$
XM@(^$ _A[?$B!(G \C$ 740!3T<7.ID%+=[X 3%$_-HJH=,@1 E,&.@N *2X=
XM[<#T,3PGA5(<#JD>A(2B'+J#W85 WOKG"EZ?!Z;*8,3>;&2_:'%H([[S>E/.
XM54@M;SIO ,E=DJ^@2AB[I4U@*_7#C[/)CGA$>Y;"[!X>PF>R+*$YBBUHMQ6B
XM7<,#AQ#E*TK#:9<[JCU/4!/58(;T5[*#6+(=A#SX><F9:4(X*[-?,R_L=H%,
XMU5=5-#4MW[QO%(:Q@92TK&"(G!O1H&_7)C_H>+MO=[D9C+O?7>E5W(_[Q]D"
XMRQT--'<.%8<P*4V9[M2]-#K3N#$=AWMV_T)QOJK?7?/. \.[>N_NRA6]BW=Y
XM4\C9NWNO-Z#2L,MW^CX5[CNAU^^!5L"_E!KP\@*\2_%(!9[!'WBFC.'S^9-3
XM]3+ P=/V.B?A17V%O_ _WM5W\573X1O+EWZK@W+$DWAXL=35"\1"\2J>DU"+
XM(@9.-%J9:E%USK9?^5&EVQ<??O<,QP26]?$YJ0)*R'<% :*<E/L7\F(2ICJU
XM$3[2;.8$GQZ5A@GK';!$'R>*A=>P_E]>GK/_4N)<'&^?:%_EN77%,^>#2JW3
XM=24^[XW)7&?K=UZMY[S%^PQ92%3PTVQ)(H@!I  ]O#!--B>7H:1(K%6!*@K#
XM]%6XS:-S:?,H(9/,X<F!G"S0#:0M 7%:O&SF8_*L@<6C_ JRX:79?^4F197$
X,F)@H0V2,3!$C,0H 
X 
Xend
/