Path: utzoo!utgpu!cs.utexas.edu!swrinde!mips!pacbell.com!tandem!zorch!amiga0!mykes From: mykes@amiga0.SF-Bay.ORG (Mike Schwartz) Newsgroups: alt.sources.amiga Subject: OMDS - converts OMD output into REAL source code Message-ID: Date: 28 Jun 91 09:12:12 GMT Organization: Amiga makes it possible Lines: 344 The comments from the source tells it all: /* * OMDS - The 99% solution for converting OMD output into assembleable sources. * )1991, Mike Schwartz, all rights reserved. * Placed in the public domain, with the limitation that NO printed version * may be sold for ANY price. * * Description: * SAS C 5.10a comes with a program called OMD, which is capable of * disassembling object files created by the SAS C compiler. The * only drawback is that OMD prepares a "worthless" pretty listing * of the disassembly which is not suitable for use with an assembler. * The process of converting the output of OMD to source code by hand * is tedious and prone to human error, especially if a large number * of files need to be converted. This program will assist greatly * in the conversion process. * * Use: * First, you must compile your sources withe the C compiler using * at least -d1 (debugging info) option. Then you need to run OMD * on the .o file created by the compiler to create a listing file * (redirect stdout). Then you run OMDS on the listing file and * it will create an assemblable source file as output. * * Invocation: * OMD listingFile outputFile * Where: * listingFile is the output file from OMD * outputFile is the file that OMDS will write * * Limitations: * The SAS 'C' compiler sometimes creates code for twitch statements * that cause OMD to not disassemble correctly. OMDS will complain * about "syntax" of the listing file in this case. In order to get * an assemblable source file, the switch statement must be recoded * as if...else if .... else if ... * * Also, when OMD generates data for the initialized and uninitialized * data for the .o file, it generates a "hex dump" format in the listing * file. OMD has problems with this hex dump format when it looks like * this: * oooo xx xx xx xx gg ..... * Where * oooo is a 4 digit hex offset * xx is a two digit hex number/value * gg (followed by a space) is the first three characters of * the ascii part of the hex dump * .... is the rest of the ascii part of the hex dump * The workaround for this problem is to edit the listing file * and delete the ascii portion of the hex dump altogether. */ -- **************************************************** * I want games that look like Shadow of the Beast * * but play like Leisure Suit Larry. * **************************************************** begin 777 omds.lzh M'@XM;&@Q+3X !J &(?:%B "&UA:V5F:6QE--[]_GX?_C96- NZ]^6PX M/Q>ZS<]BZN;>)9L=3Z_JW=@.'\<&P^59NXP!WW\_U;'"VJ$]Y3E^ZN^ ,20 ^.PWX M92, =N'O EL;(#=8T']1S"HK86=77U86T%6X!*LAT[8)O:;_5:SD1EC:'LOMX MDF]U4@[9M>W)Z$OVI5%SCA[F?Q^N<#>\?)'5@M<^S3YI'. FFU1I'Y@<^628X M_">4,&2Q^@<;^M.(W3WCY^<85XZ5GP*K;OVP2&^Q<#SRY)Y;_Z&6QF_;[EYU63@X MW-M")D_=,1PHN&]K#A!)3E\]=>B^SY#-^BX9_RXU16A,B"MUIZ:I(9_;KOW(X M6-BVID=8$\=VO/)36/BJ=E'CT70=HB8J?E>]_ <)UD\D\?RYMOY^"HA3>\J;!*U/48)2O[K8%[^9FX?/\53X MND&<$F:?>9JQ84JQ=5]J?6-1N[21+A4C@#3T;1IZMW\Z:^'E\,5O-LSX*KBIX MH,O^,NAJKY\&&])N- 5BF_%"*YV'.1O3]H0?U[+T_+$!ZX M*#2.L'*&8R?MFV4O[U"CK$,IMX_"5U291_:;3U*VJN&MYN1WA[*GQN'/_U[CX M?YI]_8WETIJ8G_>8HV"L*$'@7=P[G3)1<#@-Y:CWI1L<_1J95Y./7!X-0>1BX M$2<9Y,[T0";,Y(J9YNC7L7$AG=0H81-T89]GI7H:^?QUX2G\RAJU.6&SI^QWX MI$TF?.%O_X7PT'[2 N\RVK/9-[QJVK3&WP6!]/YXJS UWIL O^\>@+;D [2GX M#2 9)8,S%=MP$>0: QS)/+=J ;C(F#57$8O>72D?<6YX MK"P2*DULK?Q=5FBZW]+*M-<\?HUCS[J[XMZ@KX6A304 IM=<4YJT%/PHIPN J1JH?Z#9:E/9;^RC=TF^I]EE3CX M7M3:N8X8\A['C;7XL[+^\_JR0+] # N%%+(+*J(BK N;1Y@NEK#2^.?WS8J.X MJC!146V^,#Q2O/YO=U2X1>?YK%2D45GN(HX+^HKUL.*@>M:T3$*DX2L6>:_UX M,!0/)3J.%E)]AUP&-$E8O5^ C;LX M7W=;06[:EKB$O)5!>DR6Z2-WB:JF3AV\V4(@4\"\/N;:ZMH3H'7+R+Q).9@JX M<6>Z,MUD/<2R;78OA$_\1.(&FYMAN%#H]'SU*FX_,N)'3,=2;@U4"%D^=PD+X MB#\Q\]#[F]*I(:3&^YDN"*8EZ)L\M;?4)O"'JG#DM*"2'];6I=2UJM42P=)3X M.L,]P QWBMR8*1&&BJ:OK@#L)TXM/O"5+I0NC-KE[0+OH79_TB)BZAWEA =,X MD=.IMZG7PW0ZO=5=>I@KC3!3/OKS '9+4A;;+TY*,ELJ67$=BEMQ5#A5*>N"X MBK,A?ER-"97:[1AG'BS;^%]XD]T3;X MYEDV7Y>D$LT]/-KM^N]B->DG'259%AJ2HEN$M#"ANOM@^FB]31I+Q=U"]T;\X M-LF]'7=O4%1#9+D@/SI'1")>'/7I*!*[B:J^RW,."GIQ1YNX; OV>=N5G]+:.R#XI[<71_O5.(J/G51XX\>NF#]3X M](TOEJ\Q-$2[?0(%%,('@/[&$+V&_ [!0_VIO%%..9_G=4N5+NJNV&*)U1+=,'X=KX M> ]^*8I"U FEF=%-;;>SWAOY*R<5I "%XQ>+_5FV4Z\KR;8F6'#(L%M(L%;)X M,7]%O+S'S^8\[*I,Y=)SL/P6Y).)O0X@=Q7IYTSDU#:W2(67^"S&NA?J[[8+X M6O1N?>8&"UFKA0-4/[#JHM#7;C9Y(T5/)C<^IO7UVC:F9=YTYU6<'9 8;7ALX M%[0N:=>9_#L>*B4#VQH9?=04?W3C 59.&A"2, FPB6;-(E[YAZZ,K6Y.KJ>UX M0&WS;=V ;MX0VS@[Y8_$G>:DH8R>C!OX+X M)>V_YZ _<#B4%"6Y'WPZG1A/P*+P _N76:7Y&=M'A"V_TDT:W>XB@YQ=6=PWX M.PD_J:P6%V]'OP&X9"\(?7(XYO ^W/P@\JQ&./0AQE,[!:3%>(Z%))*,G?U"X M-XLY)KA*^";X1J]Z1^SF/-C=.ETW08Y8!OGLQT(C]>70OEWZNG=N(>37T.5:1G=OHG*\L+#1C-Z;ZVMB&_FH*2P!^8O+=Z U&Y^?EZ$NGH*R*!\X M/+XD?P!Z![ ^>$R'TA2U97)"DY&%"F#,8MUPAMM(,ZI[_EX(I<7/38O24CL:X MGY +1FO0G.M+VMA"+L_8=R:*,Q"G&URWQF/9:\A+TC9@ 5'B34/79$"0^(OPX MR'>E;)?;(KX8XU=56(AC__YS6[8VNY>N+WIM03+Q6<6?Z8*T'&O8/\\TRF_*X M!"%-T!\9G:@\]S"ZCS<^<_*"C?^QV^?FU](['PJ2+@#SCKX M[]D2HWQ7V0\SJCUA'\_^(E?/^A??P,DI5GI77"U\WFF2ISB;/G>">) (IC_3X MJKI=8YKT91GE_#P]0ZD&I/NWQGVSSCZ=\I&>7740CU_(GI]G?;K/*O3-:.[ZI)-EH[5BX_39I[/_X/WUWM7UOMX M^C])A;3C),0'*]+B[,:-3*FFRT04DJHNKZ#)[XK(?L*;'X MSBFJ=?2?.\+D?PBEO 1T"=AU8D,L;F,=*C15]'MY?'O6V"G=<3VA?T,_H-5JX M&%#"]=>^X5D7JCMJ;AUIN+ %FUA_*Q(_#_A]N76=4F!=")L?^"+][9W;"A!?X M3?4AP%Y1Z,ZBFJ.__C,["']8_+87Q7'K(TFHI5/>J\%:#FN4GC-U3F?-]57%X M?O%-V^5>VL=8J*%I?N'SV0KQLM&P=W" *Z:]OQG%@8SZ>YX+IX5^?G(/UT'4*5 H;>]2%SX M*=]<#I^]WG^?0%K;]Y5O!#K7VI*MABY*_I$'O9S"1F<$USX M%UR ND"4#O)N90RA*T@^U!YLK2>)'K]=D'>C@F6NM7\M+Y?4'5\B8U+VL/\RX MSE++$C8R>9$_0R/Y#P]2JS1^_])_VIPLIT@XQ0S\H@8TDPY .CA1WLX!3P5"[WV],NX M*<^B/Z4G_.I8/OWV'ZDV+%J"4GTK7HKK6.'UFS/Y>WU'>+A8DJ7JP$E/&5A[X MC^.KJG"/K!V9;S/@"5YC^OX3-KS<#H9]?@4.F._#-EA9W?,5;1X M4A?\1*LFR];]7!64UX M5%Y^CJPAY,BKZT^>ZLQSZ]P%1B'L(/KL$^U2(K'3(E*/A9]== K@6@:FG]KEX MN7GNB_I&R/^\M2'.,KX_RGS_&(DE!*YYK'[-VGKG\R;V-FJZ!4290-TG=H7)X MP#!F4UI-6!:;CY="CG+JWRA-FUH%[$M&7>?DI^%X M(0,HQD8#QZ[+B:\/K'65+LB_$-;V+%-?ZXX MHG!X'U; OX?4W_P, M.'^%X>RY1!^"LNNKX;X3V1I_M?O25:Q=.)G=(1R9NAX M!K2G=._^#V*4HQ__(:S<\>-.QU1=;FM_:]QU'Y>520^PRSG;WO;\;JG4"%&!G&SH1X M)?[?U2>@'NO3=XR)MW']8FYU]3F\C;#F,\M_NX2P;_: K@5:[' .;]6=]GE\X M93"IL0_W,E9?>HR]Q[7*C?VD)^@54'65@^7.I6$G+]5QTD"OU7DI-:SLZ7FJX MB5AHY7A%36SRDF/$_6_8%VNE)6D>+9\B5^5Z'SO5U6B=8,3AEF[K2!!7[MSWX M8JOE\]"'-@@YP6I;$&6N*(/_QF[YH(]_X'IV1$ ]5'$*U=N0N(]E+-C'=Q,ZX M.5:$I"YH[33\>6Y.0\C7#P_Y_D#7T ]\<0V/MGJ[9G=8B=;_1VTRYK?6!M;-X M_UL_Z?B')"5E@,A*[>69^)]X M5X$E92^E"_X!+I0C*G+',=RP&.>L@/GVAEAX<'XC]T^8^4./!.SSZ_;;_\=#X M\Q:B9N(*N].PQT9RGO7$L,/7C>3,NEO60752"X)_%7\=_\0C_2?EJ%>#[];=X M]_N)3<]UKI8]BH%PGB,=Z<8\>X M47G\:A*_HA6W4F)I*)MRC!?GLK.N5TV\8>\7B][=(B[5=."+9#]G8F@D7!P1X M8.=%Q9'F[16"/6;A'GT72B/WQEB]'CEPO'+D!OV5?,7L'],L4O2\8LC+AV&!X M[;R.R^(?]3_^AZ:#_^O(V?]!/9Z.TNJY@A^FY#_OB+7(64]MD)R.FU^@J=_^N' !"XLK:SHM-(J=[!]2&@\.\V3GX MY3^U@^R[G?C4F)+# =Z?0=@'OSG?W/+Q]8'&M7EHBTWR/^O>'7GE5++4ZME9X M",8&T_;:1&90G*?;[?O)^*[T"(YVMXWL1#Y8-92EL[EA!-QVOOEKCH:NCGV4X M2^Q8\N9>W_]L?_4B")D[P<2;BB.@./G_$$=+W1?OW"?P9)%K@GA/&H#OCPWMX M+4LS+N^@/A/7+().89/G%EI\;@?2N_K:\Y@[(WJ, M6=P[!Q0C&X:S>RV XHX M1W\EB']NUT>W_XNFG0?\=0S<< F$8ED%ORP/G40+#L"X+.NX9W/%:I F \23X M=CY97&-\F[O@^-N_FRB4CG'[/)IRB8R&>Z&^![@N [E=ZD0G,L?@4AS%K@,_X MB&\E.F+BILZ?\[8E\[AD3]#FO@&F ]<>+ 3R><2F,W^T75F+KBHHVYS[YW'&X MP7 4;>[BO*8*I3$=YC70ER_MAR81G0F"4[,L##_N,L&-=H.HE>V/TS="[+OGX MN\LY5>+[LM>Q>0@Y3]0#?HSVI^0==ZO_8/\MF!30^^K?Q ;=Y_HKH6?8C!%&_/[BV$ZX M875D_MX=6 WSE5#_-K<6N_F4S+>/FUWHNQJQJ_?P<2&WHGE56C#(/-4)2H)'VU9AX M[RK3)\;(KJR&S>OF9'_3HW9G.TB BRT9 X M=UW(#[[@#RF [ITADZ6,3YB8'2"[*7'&J#)\SZK\=M'?#PV#Z &'[H,LSH?>X ML_0S024'SK3N!>[6R*+9:?D;-:"P.7T!S#K_M;Y"S65HR6UG^GR_VPKO3HM>X M5@J'A:"O?V!2*\.$]5B/IDB956$/J>X?B[A_^LR##_3ZGQF/9H,@DC6S+TW#X M5>1NOM].+DC^FT-LL>#OKN]Q##T#-J4+XS<-W'SX1:@)X M+!R,->&OE>)HZ%3#^Q%P$:N$(H@GY07- G9VAYX9X1_^6QJ[C$]R[!X.'E^^X M(T4NY$?H'P;8#^U$;H'UMH/32;80;OI\:T/P;U[F=$_V$EPDSQJKY9XT_+_;X M@B,EZ[6'V\*&/5PL0@-&;^6'J-WQ:X>?+,@];2:303[)A^NH]9X3Z,WX MT;)*62-S^)B1M=?P+S*#K^!!&5ARPW]TQTC>X MG4+?:_!X6(+Y+JB:$1U/X&9#4+QEK>;L-Z$L7[O:<#]&OI:)[Y]ZV90&;_RCX MW?2[B[+L;5-;M\I!,Z_9($3T/%*ZWFZZI[)V:7A>:PD+:QN!$OV5\C/XN0A,]XLD2 Q^-+=C;65%SWB38=V?R37H7X M]BQT3'N8:HZE_2;U,/KW6B*;^5UV.,O=X*W[[-:S^?,_CZN4_94^XDY.[X M/J2R7"J_B9WQ=K?BU.1@ ])>-^!G=:D)Z$[@W);[(( E,MI.)!FR!N?;D0(OX MZT@9!W(Z@IZ0">52J\F#=TP3:N*8]ZGXW[P&I1'X M9./RB:_\P1@>_>I*6,9CIZ^R4>,4R*5F$UY19NT:'^AS^-VNH-N'H]^Z(S/0X M9>*6]LCI\GJT5D.8,D?'Y#.@OTV-2=GJIK-8U9-3[J<'*%J'(Y'G<@9JGV]^X M!._DRTU_>9)8M%KT#]?@9$._COE+H)^/X=X>83D/\/CQ_+EHO,_LGVPN'-DT.:"1?CQ@A/'QG=RZZLH[QW46#X M7,>RG$,W6O@0(%7.6&C']=.9GFN G*='^TP@FZ.$#I.VON8\H6=TX)(SN[#[X M\^UP@%3J%B_9F-8)&VG+0UJAXL*PN22VX(28L3\38/1U<;S8WU\HMP/]HVR)X MT=S"X\UPA8*]8!%XB]!+!.]KA1GGF>[A8WZB[ 8QJPC&*<'+S6O;&+4KLA;\X M@I:YBT&HQ2GO; 9I=8?=;I<=H:O!DO@#+C_O?$MTP2T)^*,W[FWB3"UT^'*L3;$H\P2_S;YH+-O- =&NG._:5\J>+X M?XJGL!B_*5*GGT_Y$VJL58EK!_W#ZV;9RQ?3N5DGLH>!E!\#*K_(;7:=#?:_X MS S:=#.BV_L>Q!6IU@ALU6WAFP?^_0SS+V*A\B]:R[D50S%TGB5.!<*V5\THX M'3/6#S9X5QT]<2B0\_3V#Z=>*UN%%ZYS8[I_#WQZLE=-6H4;2A(D:%53JT%KX M4Y;HX&9-/7(?(\F$EKK-63]C.A=6A,P/W7P_VVL/_*&D//_9-V>->SXC%-ACX MHE7M2*O H5:YL,NP!R$&+O,Q8W,/NA\-_\&<^X M$@(VU/T_F7SRH#+ )P4_+F3S[17S5PBBRDAR!V,Q!V,DPIT6DB5S67YSI<%KX MV.SYL]N-S.28;*7&F[].SHI%[D1%\I35G?TR^KL9J@%HEV.J&4ID@G.BFC(/X MS!FCL@9LOF;OF,UV"RF;-?K_=HN/=?[J#4K:[Z=KQ177?6)?GP\84$<^/:ZA'$MUJX/"E5U$,,($?$)B/4F59^ /X M87-F$Z[=-CA\>?"VH%/ZTT%/4_HT6/WO8?6VTE.0[K?#5J7A=S\QBMVIG"\YX M8QAD7;W1"QO$*JA_U!8ALT%;,95#[3ONV&H%#.3GPLS1798CKT"N*OO9DC25X MA_,POJO#^JX(1%N8.(=09L>4[8\B-3WC-0[JIL0LICTC,:P2@>QE).UUX/W*X MPOTE(?,J!.L%]_O'(NLJ418^CB0PMEUAFM4BW^.>E%Y/)/@!\B3_S^K%CWHYX MNX5N7A7(+@=>\@Y/EY@61O$\*WX1Y^3E/[^4]\8DW9]RB^-_;1=>7N'!UX-OX MO+FUE_:[[R&"_2S8U.MH5,T7*^8M%,GMU=: H*ONM_H]DK=7XL2GMFT1J*N)X M7]YW!^C>&5=27\-X]=D/F8'?(,Q'R2]"E^^?9;A!U>>]/I"1W^/A?YR=KR8/X M*U"60=Y/IT+O5#8KGO_LZ?8)\4\\OPE$)L/\CY U#'ZY8/^OBU0S>,47JC8SX M-@1F\9OGQ1A>K@Z-R@9=$-U$FB[&\G 4?=]1P?@LE'C)30I!3-'NY><,V4Z7X ML;8#G+G>D_46[#J Q3;Z4[1#5[#K(=Z/,,^&PN][RD]S)-%/OCEZ8?"]@.,@C=UKJ1?!FA X\^_22GL!@!L+L!^^P'-&"Z=8#5V#XU@?2F!\X M\RMSYAN)C _OL+^HPF<[#<'L7G+(?\O]9'PXS#4W!XB9P6,8#PQ/'6-A0V55X M,!["*,NQ!5R+!O'O\A$H9LT$H;U+W=XDA[21"YL)8O/Y8X MMRFO9V\2:OL6!)AQ05/C@0MWK-C/P7T>#R,2[2P&*_$#S>28* +*OF/!"/YOX MWF!G_2K*.*#^D[9&6/%J5&PR/QMN+M%/V:P/13]B5-= :Q@%R,.);8V/7##HX MME1J-VCU)R\* @Z@;K*TX+X MX$P $<7(' K3' >2++K4DK7XOFC>M ZGY4M6C<7)STAY^JRL6CZMM56=XV>[X M>RKOK,U"#N1\=3B;YC$#"2N"74$_G8$.?$@MBCN:F[JX':BAR/A_7(>6V=N0X M=:4O\ =IA/2*DGE:.-HRE!93N8E8*7WPXG2K4M!CS1,+Z;E^4.HE?+R445-AEX MB#=(-'IK2(^*XI&73C8DX(^W8I+/8=V(?&3B K:OY9BIL\3I8T8'>H$CZ+>[R0!G=NO"=@=#=*)>"+X MG5 ">5?4N_=WT*3 ,<8J GU8!0=453V6.GW FNE '_\=\_VV+':#MBDL._@X MTH[K@GL0?D\ 10 !=!J^%ONV" #F1 H"&*@ &I& &X?4Z !CBB 'MD5%F2X M_OXE^A?V0-!X:6^>A7_-8#>C?B\C?)Y,^892[]N*.:4P>\JX.SZL=FO/6<\^X M9SS]GMD:-)UXP'=F V0Y#[ 8:MP97HV V2Y01@/DV WJ/)D>73H@1AF SL,OX M3 >M@,2P&8L!T3 ?U@-.V Q# :A8##/3?,!_J&L\' 0M;&@Q+>0/ !P+P X MZ0C<%B !F]M9',N8R*DW>VRVLQ,+M]GH=^[N;W@^GQMXMCL;/_^_P @'UM/X MU7\J?^K]]2K KBGL;"A\ZZ)HR64S^0Z$9=*"2/MM7L'\^ZSERLJ <<-)SZF,O[A^!-^[C[YU<@;J0X#13X35N])2B8.*06;4<:HS?"S"WN'H1X M#-2@DA=7F!/%R:2I0H&)1%4A$+\N%XTA=;\G_^I]FL+\H4.U@@=;^F,,.3S?X M/2.XF1:KUV@40F8LR3G[#4%R^!,7\(5):57_Z)?7R8XAT=P$LKIGICZ_^B8_X MU.G?"5^B<8\^._ &]'M\;HT[(9GCK$0/=2!35N33*JR(/7_M"%%9*X MES/OK_,'^(6%R,SS#[F<6) Y((5%;$ZRTG?*.K]OM6"7#?=!BQMZ<%?MUTKG+&X MR1Q/AX7,RZ R9%GTT>\T>%ETRP+I7,FRQFQN<%>IL>I>M%O6=+CHC\Z8%*G3X M!ER6CQ(C=K$KLC9$'JM890-5W.%=L4P:9,W4[W73EU(&SPO2>XV9#%ZDH;8=X M(PT<:G'_RBK;A]N7%*%IW\VS+B<@YK(\!"%Y%N2!CH.[2)UHCK+GL!=F+R%PX M.]>UO'O#=2#D&4R![R8YGYSVY63%.D19U%@2M6G#UD[OCK=]8+O>.64*X M+$>P"M2G!>C $(GSX7P\( I&_$UL]XQ97"J%%Y*CYCP&4_L[,JLQH4+,Z'#9X MYAAA#HOW(2%F:CZXFD%-&5:847GE#5P0Y@6""B5=O:,WMK[@*D2)CY4/I2H:X M#$@M-4,C=$)W%2A'\DP7PGXHB@12LD:N4?E'(F3Y'&(Y]KCLX?!+2$\_8T'/X M_"O1YNCBFLE@WH1>4CX M%3]YB\\I3NCQ(8378T@M'L F=LXAV3%Z"D_J6#/\V> #%I 4L%V("-;XY\S&X MZJV/#^83&[=*UX M8D:NTJ5N[3S>@O:QR4;PKJW[D)^(/!]Z5-H1?\VX4U3%OR"KF!(]X M 'N")W0%QY94;FQO,,;PFW /]YW-;GWTD$.T=W"?IB@31SD/&+#QQ!U6V_W3X MZVOHA])W'\"6VE0?X(__'X;D,[G&+6U*ZA-+[;&)_0,A=QUI8=B&GNLPDXQ^X MW!'FY:!H$F>1'EI4TJ>Y=>@2/L-HP"[AMMA4-9UW_[6?[;87#DD#>ZFB#<3:X MD8$$XO17POU'VX5?8O9N 0I7=H6*_HE\MO^S1C/5TD9%Z YKQ6%_\[ @6A& X M_H^6+OX M7_J9'>FZGVC4/WPE3I8FV ']"A2%NBGS4KZN9)AV3CJ$;\C"D34U=;9/9)+:QDO['X M_SJ'"^2P+1MB6CW9\>9;DX M2LB0-??[3*7N.J71W+&.$0>'[P/EV^X!J]V*U[_'F(JPE9S<"'$9.:K KC'HX M_VN3LT21.K;X?J>,03-[PW??^=_1EP3C&"+L9?G./LW;A;K6A6P3.MK>?PYIX MR'-:I_,]ZUNCD@P-M+AORQXC^9@RABH5Y\&4@P,1P6,R[L-8+$&$78)74<47X M!/P=]-EFFF0H>R/$8:>\0O'?(2A5H!OU=:" G/)1S,(I%3XC"FD(%5YJR;:DX ML+6TT GE$-3 /4BA7T@^TA)++:IBH_X MP&-E)(3'(W$BV1NG9MA#W6/3U=8-!&EO)6:"^A1.-"^>0$;,B^0!Z42>50^!X MVACIP/F2J11!SK=Z(FLS$(_BD(B40@YD)"BJ*?E6(2+O[G1BF;QK^(]XC!#AX M$83.$98Z\%$>#=HF45Q9J2-PM5BX MPL16+8#;2HPM] "WK;%OLH+;"!^>ECC2'S'3LNTG)^^6&I=AF+@8S ]K2./,X MT^>7'A+E!U5 EC1C2JC&+TKY:J1/BVX MFPQ"5/P-H"))PU(4VHJ$4+E5"]'[S9KX M,S3I9 VB3S^1H'YQJ>T ='*9'QIAF^46/]75#LT^QL&.T-)+Q);[% 3^8;=%X MHJ\O:(Z>J[J5*LE]2786#-:VEG?GJ095"Y]SBQ "X4 +.0 6N !3J %IP0+?X MEUO2%S3QY:]+&VUP\T$%9W>%SWW,@M"$H708>.'KT3PX?AYOAX MYZ6R *%A'NXA@A$^P!R^>Q?"1 J!I<9%7M[1KCT.PR1.'%@Q=0D4&8"%\M$!X MW9G+Z97H^6;F62,N#GU#EL5 _F9X MN2+< K)5GC@N5S%7\AD=&TN[T:^@B(=D\+J^"#[/Y-WZ6_7VXM08E>X0B42EX M DPH@I^H#Q.S1!+\QGO05>\C'H[!'>PX70R_S/;,Z_:L '3U?PT,LA\KRTP_X MMCZ>P">C/4&R+2Z!_)U:G5@B#,RW_]95+U2.^;F\I]>B\Z5\K-,Z:@VPZU[0X MXN.JB-=I3ZJ%2@UA2XM7#JLLP J\06JXQL*/!OQ^+=3<6_V'MELOIVF^'AI@X M=9+/-*7D_;,1&;+!K2A)2V+K2KGTP&.6JX05K.M;EUR9M5PCJY\DZ7SH67^HX M9K,=VD1I?\?_]=EE[K?HH1$)^P;*A5-Z@Z_Y3>2$R^3R3E\6#2M\:X MT95((?%6LG.71F48D!^0]Y&,'9:L]]5BEZR]>!1$0T%/:75Y7Z0C>D\>JET:X M_B!NY!=24W,7MY 5A&:@72>O65!FFWB?/1/98&:3YD]/C*85)?I4GBWALV<5X MN2^9WZ'Z;CR .'\E7Z#OZPKO;QP+W-(A$KNJ@QF;!JI4*1'ZE>9@'%MWSP5[X M/PZTF;G[1T\WA.7KS8LMI/ZOW<5I].;6;,!V\R0$YD+(S,R^>PPI'.0(7Y&.X M*SU3;X3&BD(^]>);:+#72Q,YIN+I;$GPZ[=A+3[KJ/D9[)8\_>=G$[.KRJV FJ*M8ZV"=4Q7-1V)%+B9;.S\?+8?#K]PV'(%S]*Y!X M(/]![_?/P$GXY&!R%H.(3B;:M]CW9.+X M\:NWM030<]D%XC'\0,5OK'X=W"\);80MHT.8Q^MN(*Z&0-(@>-I6A!;GIU$F7I+;X M7V-QB9N788\8P'BFEO5OS1SY-JI8[WXZS.8@%\!FF9KS5E0;K5C9P28GPPS:[.@R=DY2B\.S]TI509 W8U0C4C]C,4X MD+OAB_HQ>QN\3,4:+HPC1W4^#3R9#W]RP9/R3+ON!XL![+ZKYON#'WE^]V05X M7K/?\/U8@D"M#O^U 3*1'#KMR/(*>W>@CG#<1*$U*5B(4;TY_OA?VNEH# V>X M>!I/^$ /Q Q9NCUZ23%1Y%T= 5KX MFRGC]HJ$^Y+V3_1Q&+/)AEG4AK_5T\,W5\@WPAPPGPT 7D9^XW[,]Y1T]S"0X M,^.)^\DI@:%UE*C,"3$).I8W$$M1I/;/$A#^Z'AV%7WE4W):[$DW8 P3V!,5X M"TB3W$OLO=A7-DV"*3?>4:Y3>^]#B6 >$N/8E6%)5=?<8^0YK'Q5?M?-V?)LX M@*@3 N;VKVE3CS*/O%>[*WDA76<&LKZ;&BF5IC=G9WNR\M)6\KQNS+]@K?BXX M ]+?E6_#?J:<2]^7KK/FVXJ//-<(NX M/QS9^X=C^/Y5Q+/?E6G7ZJTE>*K[Y =]I)/B)-G[?B%C"7.R9M""KT/Z4*A1'H;^1?]16 :^,2CU\_94>46JHTJ]3Y[U0K)DLX M&/5[A8X4V_$Q6RQ14AWYR;V'^@G;BTH70$6 ) XBVC7RQR6PB;AP>;C7+!/^X M#,X+<+6KW36DA!V>'$$_X4TSSP-^D^@DCP(>PX'$2!WEEF8&[1<8\ ^UF4ZS,H_V1<$RCO\>X M&\Y._>ZPO/Z;SL(BU;]-]*&9(9^1]R/Q@(Y([M!*3.>XW.!.K7]@UJRFKVPFX MGU_I\P6JGQKI\GDE44_?-4_)<-8L*+6G.9=6, Q^2NEQV=;S,85_;7TG# +BX M/,&N\\< =YA4^\+P-Q@Y\62B )EH2]>5?5'%X M\DIH-ICR93LOYZ#MCG7JR-_*K@$_U\&SI7%W+ESP'?@P+MT$HE+:E<8G(!XOX M7'3)(#H!: >86]&;6UBX6'%<0L>>;0[%U?D^FJ2)M_5<"4J_H*[49D0HLJOET(;.9.%T[Q$[C23IP>3I"#NA/8QP3S(RTOW#;V1HK]T X M&NR/W+ 3++HJK$K+5;617AT0UE7K#0\+.N!%A+X B5^$1,I)I,?R(9IJA=)P $3EX X end