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 /