Path: utzoo!mnetor!uunet!husc6!cmcl2!brl-adm!umd5!cvl!elsie!imsvax!bob From: bob@imsvax.UUCP (Bob Burch) Newsgroups: comp.sys.ibm.pc Subject: vmusic87 / fixed, hopefully Message-ID: <779@imsvax.UUCP> Date: 23 Dec 87 06:10:29 GMT Organization: IMS Inc., Rockville, MD Lines: 371 from Ted Holden/ HT Enterprises Several people asked me to repost this, and it's just as well; the old version couldn't handle large applications and the version I posted the other day occasionally hung when there was a slight miscount of notes between voices, as in Lyle Kimball's version of Scarborough Fair, included. When a human musician gets slightly off count from his group, he hears it and catches up. Computers can't do that just yet. Vmusic is based on the notion, first elucidated by Steve Muenter of RocketDyne, that if you continuously add a fixed number (frequency) into a 16 bit register, then the frequency with which the 16'th bit of that register will get set will be absolutely proportional to the frequency itself. There are just enough registers in an 80x86 device to do this three times inside some kind of a timing loop, length of note times tempo. All of this leaves nothing in the way of compute power for anything else to be happening on the pc while the two or three part music is playing. Vmusic, unlike Pianoman and one or two other earlier attempts, is not faking anything; the harmony and tone generation are real. Kimball's version of Scarborough Fair sounds quite good (to me at least) and it would be neat if other people could begin to code different pieces for Vmusic. This version should be able to play music for about 25 minutes at a stretch, and it is possible that a number of classical pieces could be coded in entirety for it. When coding anything long, it might be best to code a line or two at a time for all three voices, making sure that the total count of notes matches up for all voices at each step; like I said, the program can't know how to catch up by ear if they don't. Ted Holden n begin 644 vmusic87.arc M&@A"04)93$]. , 34L0$ "0 7)]]?W # ,5F2 8$,#Q)N"9T D%*,0 M!P@Q#GV,<<@C# X?9$!DS,@CX4*'%A4^? C2H1@9#11X''G&9,2)("I&W*@Q MYDJ(($(N))G3)$H%8EST%)E08DR&#!<*U2G2* ^D/]DX/"/T3 P;1!\63 K" M:9B<8#$6K(BPZM6L8A".3#ORZ\F44A6:Q7IS:],Q,;_J[4IF;)BR"L_6%8G4 MKMN?!P<6M!)C;4,09E;@* ,V9.2I8)$^O@RBS%2'D2&OZ(RX($''+45/K@Q: MLDBW+%L[]+QY=.@R/T% &A"T*TPR%'%B["RZLT/@1Q\*E7@\^$SBMW_R$()# MJ)"SU$%D9^+P2,$C((J "%(P" @CH[V/+RC$.G;M(-2+!X^^8'W2*:F[QYI] M>_?OX:TWWGGIE?O )$5]!\Q%HWPH%X09708E9,0-QE#W5%64T:3A<0I2% MF!Q#/DBHP&F)B>@AAS5YF!&(&(ZX86[Q"16$0PJ")]YT78DWGXTXQA<@CSX4 M\9-G0I5Q%FVT>6C65UG5S[I))/':21E<'Q5 M"2969&*(I8Q=IJ0!&@A$3TY.00!. , 34>@$ "0 5I]UOVX# ,=F*\ MH0'B2 P;($ 0.9A0"$%( X(P5#AQR,,!0G" @!A$8T&/1W T4 #"R J"/HIH MA+@0(8@A$WD(F2C1I0\B.%PDA(E0IL>9-D8.K)DP9$*3(&GH!'%3:4(B3A6N M'##$H\^&(A4,!!'D8LJI10A*?2JVY4Z&$*]RG'I$J5"";76:=!IR*5&(0#<. M\,'SZ50>4!/R]6CQ+8B,A\6:I#GQYE^<>N..M"-C*U2=E_WJK9KPZF&/706K M3!C6K^' %%WV!>&Y8]&H<8^>U%DW84VA,PXW[LO2:F"(@W>*]>Q0-N.@6@E" M9KT\=D&T \PFUDLT-5.+G3/BY@JRNVRQ7Y]6C)F7:V.<+@RO)GZ\J$>DD=TJ ML#/CC8R"3N?2SFG>97F^$RT'&'B3>=TR-EMIVZY57G6-+E?A3>QXRF)5]^.G4%&9.+<=96@IR")Z( M86VW'&K2]=5:4NDIH $:"$5#0T\ $X P !-3_ ) !(GT4OV@$ QV M9(!X0P,$FX)A7( X@P.$F14+'38LT]!,0S(30921J/$B"!!C&HX!P4-,0Q!A M4(* 1 .C08*?) !,:0AD88U0=P$402$D89'?#;LV1/2 )@9EPZX658;YZM6A0)?CE"MBM6+HP M98(D*49L0Q\CHV[<>)4,YM&:&Y9$N:+LDVZ;LBIHT"-%3S=)=;#DW"#$* M:1._G35WWXB]2_Z>&3SP\+DC-1]//J8VX[H: !H(1T%42$52 # $U-< M D $Z?<%UX 0 #'9D@&!# \2;@F= ^!@CPP4('F<:@@CC\ P.$&9 1'0H MQL7"BV1 E'%(!B2(,0YYB+FX\*$8@6(:*.BH<(S),B=SDA&H4J- G!1!K*R) M@T>8BS2/:IRH\:(9IQ?+@)0ATTZ,@04/@@AYQJ'2A#@S)C3C4.I6D3D3=IV( MM";)BSV#6F0:4:/,M4K%U'RH5J-7J$W1CLE)-K#2IWXQ1L6XU:'-DU05V)F! MU6!!G&4D,B2I6>)8QB,QKKB84*[3%3[M*OB<,3/:G6<9$GZ]-:K3UP)+GHP: M60,:"$=2145. P !-3S ) !"G^U9R $ QO:+#!82<&"#(@S- M<09$&!<@Q,2PX9#APC(@QD D,Q$$1H4'0XY9$;+,PI$@>(19Z ,AR(8/(W8, MTT#!F8L9-W;\"+%,1X0H>8@!X0,EF84(CX* @X/H&!H0-::42#&,18\Y#^ZL M"3)IU!4_/9XDJ7(A4Z=0LPIM,?,J1JD<*?+T&'8D1*$3:Q8E>70CC9H!!]J1 MD3(I3C,0SW0T@S9CQI,'%ZJ,V&*AF!8.TZYG' V1<9%(9^NJ73R9+2F!AH(3T1% $X # $U)X D &>?&R / 0 #'9BL*'QAH:/,F7, MG#ECI@R9,6/(('1!!@<9&0@5,G0(42(9%V-PC)'10 $9B1'+X#"#HTS*E2T? MDN%QYF#"A0T?IOP8%#'F(R+G3!THP,HBDY(E5JQH7*,B1- MHI0(TR57EAS)U"PJ->G-JE>SVIDAU"#9HV8U,EWY].V8J6>MMLQZTJM*L"_! MRAP;%2Y5O5A+:@ :"%)%040N344 ! !-06! ) 6N?D/]P4 P-% 0$ M 0D!%31E0-@I(V=.FC=N0+PQ \)*FSH.QX"X@R;-�@VH1QDP<$G#)OX+!) M.*=,F38@Z+P!@2;,0A!IYL1$&+!,&#ELTI290T>BFX1FY+R!665*$2=%J+@ M 2()"#)IR+@Y4;3FS9$EY?AD@Y.,3Q!A=,JD^>8."#8_SY0)^%-.F#PZCY8Q M2R;F3#$)Z2!TLX.J53(SW;2="N)@0CAB6[HINK#APXAST+RIPZ8O8+1B5@9< MJ_)N2(P>09AY(P?TYJ(R:H1,XZ8.G:$LT+91B91UR#=$3=:1 P?X4,9)BMY) MPX9-P-=P;*/U2R<,V3&;)TNDJ/BVVIF"68X16R;BZM9A0)Q)LQ SQ#-HW?05 MG#,@]CK:198\,S,MS31G@.3?##"P ,D S!FA&]B55;>&&7D)D088N3!!D3J MO3&47Z[9%A -,, 07U],6)C0$FFT(89U;)R@TX-O8.4&?!.!,,48/XG!VF8! M@F!$&&FTMA:%KX$@PPTANA#00 4%\19M"=VG74X@*/;6>PQ5Z1)?(^X4V$O% M*61='0GI]QP<=%S&8DF?E7>;6'WYEUY+V,D' G9MB"1?"T$=A98<9]31AINY M"8:1EP%!]L89=L'4!H!H%*686Y_)@1]:.L'Q4U$UIN?"BD6I\8882@JD $$( M+-C:47?@R= 6QF7KE,;0F"&7@4<88M@6&D$(796224HR& =-R@B&J@!O& M)E0C1,Y2%!X(<[RG&G,;RGGG4GKVU6="<0GJ)JXNG.&"#DLJ8$43324Q! A' M2%'$4^F>AY,;1(T$(8>E[4<>OBN5L= WGSC#K]%&6,>_6$1QAC MT,%&2?ZE09&]0@0QA;MOC11H&'*!($*_(E!;W<1NZH2L@!'E2H==()Q@QPDF M!W2"%:3;:\<;'B6$@@PVE[QZZW.D4/"OP::F*!EU0-@7E9^3>1H;:;:@J1QT M!%23'&U E$=A(. '=$)0I#'2&TV,U"6T-M-QQTQOA-?:'65ZJ+ 7$"!!9V9Q0T"00 40%,&" MQ)%# ^<0D!J$* 8V>@EM?E(2*9!A*B.P@0QBT+.5_$T^,@Q#;JP0AJG(0 8S MB $1%: !&@A30T%21D%)4@ 34M0, ([7 K$CK,8+ ,=F* 8((#Q!.! M14 (,2@#!!$00U88%!A$(8B$"RLN-"+QR$6+3QH^C#@1A,:/&2UR!.&Q@0*, M#!U"E'C0I$68)U=Z?%CQ8<*5%6&&E$FRYDF<*B6ZK.AQX="'-1N%=K0JD"X%IN:'7M5Z]6I M0#_NM.F7(DN;@1/VM)EPJLW M('22%CV2,^JXJ=?R_+@XJ.;69CM356MS:N&\:)W6+7DZ*U_#725"5N"6-5G3 MNY,R/GRRXF6/U4-KMJO0)4S?QV\3/PS:]F"NX9DBEFB[MF"74@5;9A];_L/K M]6U_)E__],/3*\4GA'?4I<42@<*-!AULJLVFF$SZQ81;:;HQ2!]X,OT57%7C M?2?A5C%YY5)SXKEUE('ER9<=?MD]MAUQ"/+W6X)0W<5?9N=]>!9V^=$&X7L* MQ%?9??3A1Z1\F='X7(4HUN)J69GZ$)G #ED:FCC8"1M^0A*578&;N M529D9/.M9U]]E27YX9=W2N>B8X6"0-I_,K@ B0.N&1%0P255.>"<\Y5(I:5 M@F:<2TS0<-%P0A0DA*>U*E001YX>L:MRG<[JJ5 SR%0$7PTY56Q1#6D4+'S! M"A$M2,4F=.Q'1#0TU$(I><11L-\.FZQ)#7FKG+'!'BONN@1::Q&W3D*:;KK4 MHIOAN$\L2U.S"D7K+Z[:5NO=<-G&!*]ZX<8V;UKE0HKNNL(*VRY5W-KZ*V;G M7JLN6\7ZA&R]S+[U;[\ DY;O1QH[I.VXW2KL:<+7)AA$PY=Y#/'&-15AL4D% MP?=K0;XR-#!*MN*Z,Z\L7;SQTO5Z?"_(^XKL*;0 XUJOM02O_&YO+G<=,[D8 M8QOQTO.Z(&JQI>:\JIW1N9IG:VQ;>%A(L,J:S-_1S3,(U/! M!MYKX? 95&U,@9/',M<)PSSNS&$G9//897]JP,0PN%?"L3RO['+\G?R[Z0!=$]TO#X=UWKD@+&F4RIRB6"&YUO2F< GOE$@T &@A63553 M24,N15A% 34U2H "4 E0*9K% Q ,3;1 "9 !@( 0P#DDY!/UK(( ( M % &(@ . " -0)!QP)B.?#I*ZMBI(ZJ.K3H"ZTBN8[Z.%@),5"$3P)J:@VI2 MJNFI9JN:SVJ&JWFNYKR:!P1,S* 4@(JF6YJR:=JG::.FHYKZ:OJL*;JF! 9, MK" 6@(:R(LK2*&NDK)2R6LJ**:NF[)NR@LI.*ENJ[*VRQ\IV*UNO; $"$S<@ M!C!C\9#%61:O6=QG<:+%E!9G6IQJL:[%R!9K6VQN\;_%&PI,;*$:@)76=EHC M:JVI]:S6R%K3:YW P,0AO@&H"?XG^*K@P(+K"Q[BP$0;S@&(B7XG>JSHU:*; MBXXO.@.. .J -P1>$_A?X+N!WP=^0H*))-X#X"$_BOPQ\@?)IR1?E/Q=\@TC M'S3RS2,? 0I,=$." !3!X!4,CL$@'0SFP6 @#$["8"D,QL(@+PP&PV T#(K# M(#P,"K# 1 ZL", )+@[AXA0NLN%B("ZVXJ(P+O+CX@@,3(1#D "0060>1,Y" MI#9$OD/D!@U,!$.4PE%I")6=4"F& Q,!\+J!)R)X-H*G)'B:@B+J# M)P,33%1%I0 (@NDAF#*"J2>8CH(I*ICJ@NDOF!*#J368;H,I.)C*@^D]F/*# MJ0,43#1!K@!@P*L*O+[ *PV\&L'K$KQ"P6L5O+[!*QV\YL'K(KQ" @"OE?!Z M"J^L\!H+K[OP.@ROR_ *#:_H\ H/KP14P**[ %@ ;PSP$@'O%?"J 2\L\ X# MKS7P.F#!1!T,#, *!@-A\!,&=V&P' 8C8K E!J]B<"\&+V,P. ;C8_ "%TSD M0<@4D9P(R9F0# [)!& P$04N [!%S'_$_$C,I\0\2\R]Q"Q,S,?$3$[,,CT2 M #X!&)T1 U4D4DX,P&C2B@!&'V/ .>T@9G4Z[0 "@-7KM#.1U>V(#8;5\;3S MQ]<&S",VV_6\;?4][23"=CYR&["/V'HDPDX7PV1$P#^" _*/1FL#T'0YN) M@-14!S (.R1 G8@1_"SB!P$V+%*(/?YD\HL2CQ<2N>9AX6.#(H4 \ \,Y,0@ MS>BE1PY%(WYP8\$5FH1S@-&PP %+#E P28"1FM2!O(!T%$%ZIU_'CKMFIAN M-.H#J,ZZZ[ O@LTBF.>2X#WI##!,"S (+H4M1M]>>:;1P\Z$.NW'P#TB4B? MSAG_0.\YZ$BH7_5.%[_\@0Y\_!"@]0)P.7^ SQ]^ZX(PE!( $ B.<) @@.$0 M-Y$@=.0(&3F ;R!Q@!5I9'&XJ( (&>T0+!#A<38G &NT A?N&YWN""<\;Y1 M */5/:)S# M%H@9@&B 8Q'(" 76UL=,7;CL'N)8!#X&D _/<6F8 M=9RD/_P1BK0MP@-N6X0%XI:+M<7 'C'XAR;:L8#K.8!NB[ !WA;A@[UIXASU M9* AV@%!3[P#@I:(!S+U@4EF3I(?_L!%( 0@VW(;A$.X%H^P\;/LFEB&P%= MA",(N@A;''01OE#H/P.JB7\$]!>9E*0A\(%,1\Z1F=I\8QP-RQ>P8G9FA[VIG7,J5AS>4BC^12H0O4=\(1'/.-%@'G*8QX=T(!5 MK<8T9ALV$)O814"E, 0H2I:A%I9$%+WQAG@%M)T7A*4]Z M%I.@B3 H0A4:W"'"N#"@IFXAWP;ZE>(%O>KL<4'(';A.A?4 M 0O'&*@_)IK@@X[-$ J=R']ANT!M#KC =7C!&2&:B5PHY1[Y&( A..S>8OH7 MC,;E*NC6H8M0<-*Y1NN!3.@P1EA<]:_^:,$__@#:XQJ-&#[PP#I,D(@"_$($ MZ_# %7#A&^,!(W+$, "2&2$,( N9R$40 )&K0( H3UD8HQ!R(BP @G5LF+\+ MM/*0BWSD)"^YR9IX\H^EO XJJQG+6DX$E[U<9S"+F=C%. ?_TC'37J@%!JGXQ4W'F<+ && < R"I8LY%=X&8F \#)4#8 MJ>WL@U 36L]=5G6?1Q'J,;/ S"-&,Y1;+>I?D%K)ID;UG%==95Z_>L^RIC*M MUV'K0/-ZT(G(WH4U0;UD!T-Z730 @ ]$(NE69'I'$?$TT"V0:]U M4&HXR_G3!F WJ]5][%C+&\SJ'C,.<$UB'W_:!_1F,[N![>Y4WSO=:Y8VK*-\ M[U'DVP+[1CBT%5X$0_?"VB4.P"@NCG 3<#O2N(!E$RS-B1O;U-_)=2V *QS6 MG5(X&*$. EB'$W@@!)RO PD\<$(=*+"UKK$M;&,S0-DXO0X8 M\( )0R\Z@PV =+8M'0#KP /IA!U W#-:V#+V]*!L X I*,"L'Q"';PP891W M%8TO;Z-.QXH^OKK]F/$])@#X<("\^\, ?AAE,A'37G^/ FOIF 4!-%L'#7@2 M:_2%@%Q[S,S#MR,=E5B\#QK_^'88H ^2QYJB%VCY=-QA\5!G0]M5[(]*]N > MGIXDWGVA=S]$H/!<9:C?Z7N"Z$ZWNM?-;D5EU]WOFE?C:4L$.NNVSLL?8/%4 MJ$,:5N]7Y:*C&?:(/723*5WJ&LVZV%V$=G4!" 3DHA"9\$4F1)>)"(#7:,5_ M?P!RH8CQ_@( >EBIT49!-^7C;)7_B M]4[Q)'\8A4_ZU [\Y$\ E3PN930..%.NI56U=3\M-U9\U%,UA%N\HUM%Q5O% M)F, 8&DV=D::MF.45T=WQF9(1G"G%F>I]F6! MJ'#(]F5AQFR =F;H%F2]-HAO5HCOQF>L=F71EF>+.&M_5F:"!@RO5G&'AG&& MQVB2Z'&/%FF35FECA&E\:&Z=EG':1F2CUFZ6F&K$5HN;N&6Q1FS+UFR02(O& MQF:_5HG"!F^[6(R*^(NS5FL6<&O:-G%Y1HK5-GJ1@VW.YFH?YVW@)FYC1&ZQ MN&G8^&, MVZXF(P,UV<=UXL+%V^S]G#[-HS^UHY&-G#(:(AS=G#G6&_KJ&SR MZ&SJ1HW3=G'EJ'$LPC0L CPL CHH$V. Q3 M( 7/PPZ+X 4*, C#( ")()2+< T&0CBT)+.- <4X$QRP !220".( SKT V+ MH _KD V+( _K4 U/Z0!/F7/+D A6@ !H277#()4#L XU8"V+H Q=H 5;H ]8 M@ 104 <)@ 58\)+B, #[L Y]<0W1( RP( '0D$'F$ ;1H R, P#@ [14 R) MN9@$T)C1T SK( V+H)%FUI'KX @@.9HCR6Q_,PP6&353XSZ@F0BBR0BER0BG MN0@FB9(J>6HYY)(P*9/?4Y,WF9/XL),]^9-!.91%>90*D)1+V90?\)11"0Y3 M6957F95;V95?&9;.9"W6,@=D"0YSD'/)@)9J:054%PQNN0Y#()=T:9=XJ9=\ MZ9> *9CK, H#X W1, R7R9B.N0P#8)B(J9C\^9B1.9F5N9^9Z9B<20R?N9&+ M()JD&9*.<)H1%#@;- ")@T)*@9&3(P"AL QV^ LO\ ":E KK$ J5$JAY*(T*CHQ2GHF&@HFZJ,D*DE&X$!'6J$ M<*&)(Q,: 0-U,!$O8 5M4 =SD 9CX )C\ 9M )#\ 9PD =RD 9G@ 9T (Q MD ,X8 ,O@ ,WT*8X (@@ 14 )%X 9T4 9R =C.@=E, WJJEO( <@D 9N, 9L4 >4JJGNRJRH^@%/,%QZ"@)WL*YK M +K>JYO8 9T< >D:J[/.@9K$ 9G4 8NP 2SV@9P\ 8@8 ?B6@?F"@(M0 ,@ MT ,@, -K"@(H< 88.P=SD (L(*[,B2P,N< ,I )0, 1VB@=PH*=IT :1>J9TD ;C"@)Y0*T@T+!G MF@9G.J9E2@ WL &Q?LD-'I D:D$1T[C5T+GIJV2:\ L24+^1@P# 8&EK@[[JRP2E!@6%N H1 MD#P;T,!K9+\\B,!*!F3 .T.XH,#6RX-&H+N\"V\=S&K BV51L&53$&4A#&; M.V;":\&92\)8-@6AD+]:U;V:E+^2]@]6,[Y8-S@& +ZA +ZBDPK>VT:^9#F% M4$J!(+Y-5P=UX WHT WL$&6^J\+!F[FC\ K.-L*+4 0EO !%, 5T\ (N/$._ M0,%+IL%5=$1G[&;H, #NX,(F0 Q>_+M7O [#\ O^X Y*]@NQ\ !,!#7&0PX0 MK EJ L \N,=]W+V!# R#7,B'',&1H\=\? 6_$ Z ? 6"K F$G#R1K D2C$2* M;,D. &-_,B>7,BA3,E]W *FK,F.S,F0K,J3/,J_< 6OO,F=O$:?O,JV; BY M',N[;,BTG,B5_ N,#,NHS,O%O$;9&V-*P0=CY @ P,J6; K!O,S$C,BB?,SS MD,VRG,K<;,V_0 $1<,KAS,SC[ _MP+\8\+](9,.D![Z:\,#<',3KD OZ<%?I M0).X@ !2L +"P+U%K'$HB;W:2VGA\0/+BT,KJ0G0BT3@R[]^\+[Q7-!9?*): MK,_\[,\ += $K4DH"62?:P*+4 A37K%X&RC:](HCG'2G Z3( #H M /YX-0:!\0KC==QQ=5#7-#:Y$N)T BE% I<7<,8S=6A(--\'4U^_0M$'&"" M3=@ 8-@8A]7[Q]4Y:DJ+% HXW=B6_=>2?0Z#7=B'C=>CH-C@JQH@ -J/'=DL M-]FF?=F)C<7%^Z'KL (_'**8K7$@^J*Z+<1337J<&0HT&MR\C=$T>F>#T -[ M%P>>!*+AH0:A(&0+8 !E1@=A<&=(W8AC5F;5O0[7G=TW<&=7C=$KS=U9UM/? MO=1#=MZ:]-N5B]B:5+FUV-S/[4F<.=VA$&K7?6O:78O=';LGZM\& .#E;6SP M37HR+>#K#68$'M4OW=NC4-R82]^DA[D=A]]\ -T^0*/\K6[7O6\!WH_='9"A M(.(&0.()3F\+?M,".60GKM0=]^+[1Z-M3=N:Q+GI\ 3]0,Y.<,[*G,ZA_0M= MX'X+) 50L,EO ,_;+,E&L]FA-)F'4 ^;+0!4A0ZX()'L<)%'H320H "Z8 P" MX C:P @&X _OL C$4 "5$@L$, WHP C2, !@)@#P, H& \F$ I*L6D0, H* M ]6XP#PT T P BE3.@&( 'P( Z)CBOP8 P&0 /P( Q.0H D.<$D.<(D.<, MD.<D.X ?H OI$ "E5 *KK@OP0.TC8.TA MH N_0.TDP.T?@ OL[ %08.ZXP T X !0X #HP X,X.Y8T #DSL?GCEWJSN[N MC@WQC@Y)T #+P!C H Q*0>[MW.[H< GTKL@([P@-X '%0&:H#@#B#O$6<.NX M( 5'_&^C@O;ONH?8/'%WC@;;P'+C@MU(.ZA@ 'P<-T: ]TD *[< H!@ Z. M$PH6 _HP ( L NV4/,N$PHOCPXZ "PH /H\ 25S?+H\ (]OPLU+Q/+X ** M< *,, &@ XX !#L [S, RQ0 ;HX!P>\A4]+ /D8 _Q0 #"@PX> !8H C$ M, Q0(/?H(!-_">?2@ YO#/J8 X (-D"#[, A1A@6!< X? "!< R6L*3\D .M] N0=@6T M0 6K;IN X 0Q@05;D 5:X%U=\ $'\ RX@ P D 5;L X'D$.,D0PSL UC7N;: ML C1L #30 <'L (>H.:#L X0X AI_@XF @^H!K#0 <-8 +:/S#=__T , RU M9 +_X &^,0HYGP@.P/+*]_+$X &.'ID+$/X3D.F./@H48.JH+@,"P.X&, 7+ MH/UJ?O[@7P<+8 *4WAKL[P*^@?/P0 M,L.JA<.I6<^H3L0R>=.KA$0#+$ JG MOC_]0P\VX A$H&4[4 4"\ <'P <48 ([4 !R\ FL -58 !\@ !_< FL ,5 M=PZW>ES< (% $ P$DA8 (#4 6NNP)5H&4#4'$] $ ( <$X,H ( 0FL (% M, <$4 0 !*, C'@ +\ ]UL WHX ("L SH( WW8PR+< U ]ND(L^>ZW>ES M ,% $ P$DJ8-)=X+HKT 4"L /:( <;8-)-0 FL (-, <$, C! %+L /: M< <&( <(L /(( <$L C!L C3, C'@ +\ ]UL/=#L0SH$!1 ]NGK\ FW06N MNP)=( [H US0 2#< P(L #_4 ?M@ YI<#_.L C?0/U[O@(.T.ES0 "#$ P0 ML 0[H UW8 !R$ ([@ QRT $8U>GGM.<#, T#$ P] $ ( <$X,H ( 2CT.EC MMN?X, PFW00$8 (KT !S0 "#$ P0L 0[H UW8 !RD H[@ QR4 HF/?Z+T 4" M, #3, #!T ,0 !R0 "N# !"8(M;IF4[4 4&P)@.=RP %W8 [P"7P( <4L ,6L.=W MX !R8 JVNEW8 ! ]NGK\ 3Y, PFL -=( !RX %W4 FL ,-( <78 ([T 4& M< NNP--0 !W\ (F/?Z+T 4Y-_X[4 4"P*YW4 FL ,%( <98 ([4 4& M< <0( >NNP,5=P<(8-(59])5D/6[.PC'@ +\ ]U\ H[8 %[7@!$ [P\ ],^24+$ S#D#G

D 5T8 ! H 1U$ \Q^0'*P!&9PPV,H TV4 QW@ V M0 Q_0 "L8 **4 )'H C(H /,8 <"H C,H #)0 >SVP[S8 HXIP/$8.;*P!&9 MPPTV0 S% 0L!H JK6KN'@?^ MX.ZNX \QI 8K$/N[@(.5 Y=H P M< C7H +!8 _8P ,H, ?H8 C!\#SO, /JP F+\ Z X R $ C/L*2 D \0( <+ MH B_I TS( V D X0L [P CY@ !RT "*, Z*\ V*H ^*8 TR8 ^ D X(H #) M0"'1H [1L W0P W^D QU8 ^=@ , &&J0W1L W0P W^ MD QUP [0$ U%L /L4 ?0H A&8 #V8 R 4 <. W9 W4$ W3$ W2L '74 _0 W^D QTH)CD$ W3 M$ W2, ??H +EL '>L '7D _KD [#@ A& "Q@ !-L /L4 ?D WD$ W3$ W2 M( <+L /7($H[X TXIP/E4 _18 VVKP59P(#& AUH #1X W00 W1, W1( WK M4 #^ SY0 <,( /Q@',Z4 [#X#T+H UT@ .*X X+( T6 M<@_0< _24 R,0C2<%78@ N@ +( UUP "', VP8"T*8 ]U0 "&( ^P@ @+ M( UX@ #^@ P#X"K2D ?XH #M@ <# CF\ ?#, FQ\ DJL QRX 2 D \?< =+ MX _!H C^ C. B D \1( =**0PS( V D X0 CYD !RL !RKPCBH C6( /V M CI@ #1H [1@ W^D QU@ ]SP *T YT@ %(!.#( T @ <0H #_8"'W WW M( T%(!.#( T @ _#D _#$),S( W#@ XYT ]RL /+T/3](

    L CW8 $?$$,(L CF"3X,L /"X <"L C"L /*X <",)<[$ Q5L0C! MP ^JL +!0 <($ 70! L@, ^JD 7S0 H?L CET 7*$"0_&4,*8 **T RT Y' M, X)T/T>2U5'( [W\,;_0/CCD "+\ PKX 0*$),S( TQY+J)T !=H PN>PQ9!@O7H R$QPTV0 Q_ M0 #H,/I9'@, H R$QPTV0 Q_0 #HP"5\N?-Y<@Q9!@O7H R(80*!4!6Q< UT MX F$ A5(0O70 >C9 "G?@;I'RYY$@A5(0O7(/W#@ [Q\ ^[@!$S-$/LGP$+ M,, #, JG_@4', R+P T>8 /%\ <$, /C2>_@%@A5$0O7(/ZP( #_4 "!4!6S M< UT( "TP . T ?I0P<)T A5 .K+@=+4&2X L/L NK\ "!4!6Q< UT8-(= M4$I$L.JXD 0X#WV( R 4 <0$ A5,0O7D.4E "X X/L NK\ #'D&6R< W1 M1@&,T 06D A=@ &,T 0:< Q%P &NS A-X $Q^0'*@!@S( TSD R+T $9+P2K MW@)>,PC: !S0 Q.0.>J0PTN0@=4$I"L.J-4 E>DPM>LP@=0 L_L.KA&9/) MOP/8<*: D M>HP$TUO7RL C3L +0D N0M@@=D/%"L.HSD R+T &T 2,'Y/* M0'C8 /$\ <$8 +%4 4,8-)-@ FW0&T 2K+@?3'PPTA@ME MD"?'4 3@\0'*0'C5P3@ M\0'*0'C<8 /$\ <$8-(=, C[0 !V0 "TX .K'I/*@!@F$ A5$0O74 <9X$FG M'AX8X 7N?P4FW04(8-)5H !SW <,\ _F8#6GC@;IOP/:0 <%8 **<#3#$ 4> M8 6.X 7^$$/Z0&1=@ SQ/Y=0 $+,, #, JG'D/Z8-)=@ F704*,,=]P !> M\ %9L /:4 ?+ L:D _#X%T'\ %$U@4(\ _F8 *!4!6R< UUD &>=.KA@0%> MX/Y78-)=@ FS65SW <,\ _F8#6GG@;I;P*(@! [H UT$ ##$ 4>8 6.X 7^ M$$/Z0&1=@ SQ/Y=0 $+,, #, JG'D/Z8-)=@ FS65SW <,X 4?D 7#X%T' M\ %$U@4(\ _F\),QE/4@\ ]U< 'H, 3_P ,:(/Y#P ,-4 ?T8$G_P ,*4 <( M@0YL\ ]=L C<8 /$\ <$8 *!4!6Q< U#YTFG'AX*,$/LWP48L # ($K*@!BX M@ 8 , JGO@[U\),QE/5"\ ]UT "PT #H, ;_ L*@ Y>\ _H$ G_T 6+P TV M0 Q_0 F$ A5(0O7,'2>=.KAH0 SQ/Y=@ $+ RBI R(@0MI "C<.KK4 \_ M&4,,@ [6X@\I7PQV@ SD SHX K^P ,-0 <.P ,:0"%#$ 1&@ @$L -.8 !U MD-OQ@ @,@ [2X ]=H R^$4,(8 +&H!I>_Y,QQ #H8 S^D/+%8 <(L A.8 #\ MP IHOP+(X <),#P@@ [8X _BD ]8 $WC< #\P KHP S^( [Y@ []X ]=H R^ M,3D@\),Q9 +H +^4 =#, /V@ Y!X \\H %TH $\P*\#T/7R@ XSX \\4+$, M, 2#X \@0 ?S@ A"( =;(/.@ Y;X _CD &X(P 6< #H, 3Z( <)L #)4$M= MX/D@L Q6<^IJ(/ S( WK\ Z3 P+&:00HL A6H *X(P 6< #HX GY$$,L@ XJ MX ]U$ +@8P(K$ Q^L !1 $VP +H$ 3^( [YD 6-8 <"8 $?P ^L@ XTX _B MD _H4 ;^T 6>#P+*X!NQ\)8*$ LY9P"Q$ !='0N*8YLQE/5ZT ]UD +HT G] MP ,:0 <98 _!T#R+UP!T 'V$ P"(/T\P*\#T/7D( / T-6P4/.XT ]=H R( M(0/ L [X\),QN0CFN0#20&/H4! QA >0)IJS@^J$ GS0 H?T 4$SQA[KQ23 ML S:K^:_X#4FH @-( /M< 3)/PX)T/T>>P<#< 3B< ^+< _CD #=[[&S= 3B M< ^+< PK8 QT0 !#H 1// R+P VK5 0 D 0 X 0 P#Y7 !<(!T @ 8 X 9Y" ![ !P)'Z3 E5PH M@&FY #$ #0 #J;E7W &$ Q80(!H$1*$ !>$ !R$ "($ "@0.T!( T! MX X!P "P ("P 0" <"0 D"P L"0 X" $# 0# <#0 H#P T#@ $$@ 4$ M@ D$ X$@ (%@ <%D!L@8 " 8 #@8 !(4/P' ,( L( ,) P) 6#K@#6 ML@! $"0- P-8"T.