earleh@dartvax.UUCP (Earle R. Horton) (10/06/87)
[generic serial printer driver, experimental test version] Daisy: Device Independent Printing This is a standard Macintosh Printer Driver, as far as I can tell from the limited documentation supplied by Apple. It prints in draft mode, at ten different baud rates, with options for CTS or XOn/XOff flow control. Strings which control printer action are set by a dialog box which is accessed from the Chooser desk accessory. It is essential to have the Chooser in order to set the baud rate and other parameters. As sent, this driver will send a CRLF pair at the end of every line, and a form feed at the end of the page. These can be changed through the Chooser interface. Also available are special strings to initialize the printer, end a file, or begin a page. Control characters are denoted thusly in the Chooser dialog: control-M = '^M', escape = '^[', and so forth. I have tested this driver extensively with the WriteNow word processor, and casually with MacWrite, MacTerminal, LightspeedC, and the MockWrite desk accessory. I am sending out this test copy in the hopes of getting some fairly detailed bug reports/reviews prior to making the program public. I don't want to have to buy ten different word processors, just to test my printer driver. Because the driver is written to work with a large variety of printers, there are some limitations when compared to device-specific drivers such as ImageWriter and LaserWriter. It assumes that all text is mono-spaced and of the same height, and communicates this information to QuickDraw and the Font Manager. For this reason, best results are obtained from word processors when the text on the screen is in Monaco 9, 11 pixels high, 6 lines per inch. Perhaps other mono-spaced fonts will give acceptable results. Attempts to print justified text may not produce the expected results. Daisy tells the application that a page is 8 1/2" wide by 11" high, and that there are 65 lines out of 66 that it will print on the page. The missing line is to allow for the edge of the paper. Daisy does not impose left or right margins, allowing the word processor to handle this. In the "Page Setup..." dialog there are options for 10, 12, or 15 characters per inch horizontally, and Daisy will give the application a different "resolution" for each choice. Daisy can print 132 characters on a line, and 66 lines on a page. Attempts to exceed this will result in an array-out-of-bounds condition and possible system error. This will not normally happen unless someone tinkers with the 'PREC' resources using a resource editor. More flexibility is planned for the final offering. This driver was written with rather strict adherance to the guidelines provided for Macintosh printer drivers, so it should be able to produce reasonable output with any properly written Macintosh application. It can even handle "Print Catalog" from the Finder, although you don't get pictures, of course. This is, however, to be considered strictly an experimental copy, for testing only. I will not send out any copies of this revision after November 15. After December 25, 1987, I do not want to get any mail refering to this revision of the program. The sole purpose of this copy is to get feedback from other users on its performance. I am adopting this approach in the hopes of getting a few good reports on its performance. Any problems encountered should be described in as great detail as is possible. Vague or incomplete bug reports are of little or no help. Perhaps if I receive enough feedback on this program, I will be inspired to come out with an improved version of it. I am hoping for some well thought out reports on this program, so take your time in replying. Of course, "emergency" reports such as "it completely fails on an SE" should be sent to me as soon as possible. I have developed and tested this so far on a 1 Megabyte 512ke, using System 4.1, and have not tested it to date on ANY other configuration. There are no restrictions on what you do with this product, or who you give it to, but I absolutely do not want to hear about the "Pumpkin" version of Daisy after December 25, 1987. -- ********************************************************************* *Earle R. Horton, H.B. 8000, Dartmouth College, Hanover, NH 03755 * ********************************************************************* --- (This file must be converted with BinHex 4.0) :"84KDA0j!&"549*%BA0C!*!)1ULVCJ#3"!%!N!-i!*!$0`#3!`+S"`%(!3F""`% (!38""J%(!3J"#!%)!3J"#3%+!3S"#`%&4'&TFhN#!*!$8&*&8N4KFeN"!*!%3!# 3"4)!N!438N954'&c@3%!N!4!!!"m+!#3$3+GDPiN!*!'1UJ(!3F""!%%!3F"#3% )!3m!#J#3"JQNN!!"!*!$f3!'!!$rp`!'!!X$%J!*!!)!N!-c!*!bSJ"08S!!N!m "`!#3#3%!N!9rrrrq3!!!!N!!!!*!!$J#3!"&JN!"aN*!!N4#3!3S3N!#(i*!!rj #3!3p3N!#A)*!!C4#3!#53N!!Ni*!1()#3$a-!N!FJ!*!!i!#3!(!!N!#m!*!"(! #3!K`!N!)!!*$rm!#3J"!!N(rJ!*!J3!#3%)!!Rrrrri!N!KrrrrqIrrrrRrrrrj rrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrj rrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrjrrrrqIrrrrRrrrrj rrrrqIrrrrRrrrri!N!F(8&*&8J#3"K%39Q9bFfP[EL!`,M#3"6%!N!-F4'&c@3# 3!`&*3diM!*!&J%C548B!N!@!!*!$#J!"!!J!#!!"!*!&"`C6CA4eF-N!N!-5%9" XC@&cC5"$EfjQD@GeFQA*!!!",!!0!*!&#!&"!"`"I33#6dX!N!8*!BX!(3(("!C $B@jMC@`!N!8*!!B!'3%aL#"%B@PcH6SJ8(*P,A*PE'9KFf8JG'9cG#"fCA*cD@p Z,J#3"4i!"3!Z!&Q)#e"KCf8J8Q&ZCf8kJ!#3"4i!A3!Y!)S'!d&XE-!!N!8H!)` !,J$)"J9'FQpY1[m!N!8H!-d!,J$YN!!!N!BH!2)!,J%1L!08EcS!N!BH!4!!,J% `N!!!N!Bh!!8!4`"CL!G$Eh"TCA-k!*!'0`"I!%F!Ij!!!6%5!*!&0`#4!%F!b)J &4Q9PC$S!N!Bh!-d!4J%["JT$EfjdD@jeEh9c!*!&0`%a!%F"U3B+8fKPCA3J4Q9 PC!!!!FJ!&!#3"H!!C`$`!+d%"&0KGQ8!N!@9!!F!T3"i#!j#Eh4dEfdJEfBJF'& RC3#3"3B!@`!A!0Z)%P"bD@jdCA)J8'pbG#"6CA4eF!#3"4i!"J!Z!$1)"9"[FR3 k!*!'(J!j!#i!R3B+6@pNC@dJ8'pbG!#3"4i!T3!Z!3N'$&"bD@jdCA)J8'pbG!# 3"6N!"J"*!&')#N*KG@3J8Q&dC6S!N!8j!&i!53#5"!#3"MS!S!"*!5Q)%LK)DA3 JE@8JCQpb)'e[FQA*+3#3"9-!"3"M!(U)$daTEQ8J9'9bE@PZBA4[FQ3!N!96!)! !B`&!%!#3"QN!J!"j!8!3!*!'I`#!!)m"3"!!N!D9!)!!T3&!%!#3"UX!J!#l!8! 3!*!'D3!'!(N!HiJ+5@jTG'PKE'PkC3#3"Am!"`#2!(b)#e4[F#"[CL"`B@GP!*! 'U`!)!,X!H3J,4@jN)'pQ)'CTE'8!N!E&!!J!e3"j"J0$9&-!N!E&!+8!e3%*"JK B6fi[@%pQCJ#3"H!!Y`$`!2d%"N0KEQ0PE!#3!jJ!"3#3"3S"2`!H!AX%!Np,!*! &#J''!"i"`J3'3f&ZBf9X!*!&#J!&!"i"0)JR4'&TFhNk)0*3G@e`DfPZdb"@CA* cD@pZ)*!%1#ie)L"LH5!a-5)!N!BS!!8!2!"N"JBa-#"MF'N!N!8S!(J!2!#d"JB a-L"MF'N!N!8S!-J!2!%%"JBa05"MF'N!N!01!!)!N!8H!$`!,J#-"!4%EfjP!*! &(J#J!#i!m!3&3@*[FR3!N!B)!!J!'!%N#"K%B@PcH6SJ5@jcCA*d)%jPH(3J8fK PCA3!N!-B!$)!&!#)!Hd!!3#3"`(J!30+Ef)!N!-Z!#J!8!%S!DJ!!3#3#2!3'90 PFQPKE#"3Eh*d)%0[EQCTCh9bBA4TEfi!N!-B!"m!&!"N!HJ!!3#3"`(J!!06G'` !N!-H!$!!-`"N!5`!!Irr!*!'hrm*6Q9iG#"3B@GP!!!%-Nlk!""1qJ&L6[S"VNl k!Fj1G8j@rr4CMdKj8%4&4N*RUD!JAbe)rr3JE[rdS#P1ZJ-k,8$rq%U!CJC`!'! !!4C+VJ!-CLK1ZJ-#,8$rr%U!CK![,[ri6VS$-PL2F!"J!!$d)'lrr(!"%8!!X'! 1,@i!$2rm)'lrr%)S!,!JE[rm)@lrq!#X)'i!%#"33LJ!4#mZrrbSEb"Zrra)D!" XU1T"qJ&S)Qlrr#0)!'a"qJ(U)Qlrr#0)!*3JE[rm3HJ!E#*Zrr`M5!"S)'i!%#" 3)Qlrr$+S!!)JEJ!3)&!LE[rm3qN!%&#))YJLf#"Zrra#D!!1)'lrr%*S!!`JE[r m3QJ!#L"Zrra#D!!),blrr+Kc)'i!%#"32bJ!!UKb)'i!%#*Z!"!J8$mS!!iJ86m S!!bSGN+R,bi!%%Kj8f9dF%kk!TC2l`!-,blrq%kk!DjBMb!Zrra1AL"I6qm!$#k !6Y"0@9"56e"&6Nj@rrJJEJ!),bJ!V%kk!K4BMbmZ!!LSI5"Z!!K++!#`C`S[,J! )6VS"qPL23UG#TdKj3fa[Fdkk!MC2l`!-6PiJAdr[!!41d%eC8&*$6%p66PB!!#" Z!!`[+!#X6VS"0&L26PiJAdr[!!K1d%eC8&*28%916PB!!%+R)'i!##mS!+a)H9" bER41ZJ(N6qm!$%jH)&p2l`!%6Y"0@9"53da28dj@rqa)E[riU(3JE[ri,@J!V2r d5'lrr+LD-'lrrL!)JI`!"Me!rqi`E[rm)!L"r!!,28$rl$!Zrqc"r!#'d+lrp$" Zrql3L$mZ!"48J#m!,bi!%%kk!8"2l`!+-#lrl-(m!)E3V[rd)%!`[2rr-#i!&-( m!!Br!%*RU*41AL"I6qm!$Nl369P69%4849K19J!!)'i!#(!*-)!JEJ!)F!)a3!! #)'i!#%*S!!BJEJ!)F!Ba3!!%)'i!$(!"-)!JEJ!--8!!!L"Z!"!`J#"Z!"!a3!! #-#i!'-(m!!C1AL"I6qm!%Mk!6Y"0@9084&4&@%j@rrT`3Me!rriJEJ!)-,`!!#" Z!!K8L#e)rrSJE[rk-$`!)#)m)*!&`9()rra6E[rq5QlrrQF+"Ui!N!1'!!KJaNj H6R90@80-48&58%j@rr`J2!#3!l+K(Le)rr`J,[rm6Pj1G9"28P4"6%a26PErr#! m!!!LM+%H,8Mrr#!Zrra1ANje3P9'4N9538a19J!!)'i!#+!I6Pj1G8C5488JN!4 19J!!)'i!##*Z!!a#J$!Z!"#J,NjH6R9#3dp3@5#3!dj@!!!JEJ!)S!41ANje69P 33N026P419[r%5RJ*4'BXF2dp32rF3Ulrd("M28$rhLeZ!!Mri#eZ!!crj#eZ!"$ rk%KZrm41Z[qi@)p1ANje4&**9N953df!!!3k!!!"!!#3!2ri)'lrr$!S!'a1V3! k!!X!!!3b6[S!%%lk!@*1qJ'Z6[S"cNje6PErp&Q25(P34%9'3QHTS#"I,8Mrp#" Zrr5J+8kk!cSY32ri5S"Q"R!!B!!"&NUZ!!aQ+%kk!`)Y32rm5S"Q%#mZrrK1ZJ- b@)p`!'!!!23JE[rmF!%43!#`B!iYEJ!-rr`JE[rm3LJ!X#"Zrr`KE[ri!+`JEJ! 3)&"#+!"%,blrr+K[)'lrr%KS!'bSkN(k!@JLE[rm)dJ!E%(k!HSLE[rm)dJ!P#" Zrra"k!"X)Qlrr#0)!'JJEJ!3)&!LE[rm-UJ!!L"Z!"!J8#*Zrra$k3!38)JLf#, B)'lrr%*S!!iJE[rm3QJ!$#"Zrra#D!!+)'lrr%*S!!J[,[rmU(-JEJ!3)&!r+!! #U()JEJ!3)Qi!%#"32bJ!$L"42bJ!$+Kf3UF[,J!35(P6CA4`6VS#PNr[!!`[,[r i6VS"VPL2)#lrr%jH)&p2l`!-,S"1d%eC8&*28%916PErq#"Z!!J[+!#X6VS#&&L 2,bi!#+Kp)'i!#%SS!,"R#LmZ!!K1ZJ(k@)p#Td+R5(P$E'pc6VS#0Nr[!!a1AL" I6qm!"%l369P38N0-6e019J!!)'i!$#mS!+a1ZJ%d@)p1AL"I6qm!#%l369P38Np 348j19J!!3UFJEJ!),bJ!V%Kj8(*ZG%kk!H42l`!-6PiJAdr[!!41d%eC8&*$6%p 66PErl%KZrrLSG#"ZrrJYD!#Xrr4)E[rmU*S`E[rq)!L"r!!'28$rlM"Zrr`J#)( m!!Xp32rX-#lrl-(m!)E3V[rd-'lrlY#)2bi!&&5!,`![,J!36VS"3%r[!!S`,[r X`I`!KY#Zrr3J3$#mrrm`,J!8`I`!"Mm!3QHSP%jH)&p2l`!16Y"0@9084&4&@%j @!!!JEJ!)F!N`J#"Z!!K`!M&!!!)JEJ!)3QJ!"L"Z!!K`"M&!!!3JEJ!-F!%`J#" Z!!`a3!!#)'i!%$#!)'i!%$&!!!)`,J!B`I`!"NjH)&p2l`!52S"1d%eC8e4%9%9 B6PErqR"#28$rrL"Z!!J`[!!!)'i!#&5),8MrqL"ZrrS`2!!J)M`JN!A"8FMrr&0 Zrrj+E[rqC`S'VJ#3!iB!#'$'6Pj1G8eC3da&39*36PErr#!m!*!$XU%H,8Mrr#! Zrra1ANje8%p59%&-6%p19[rm)$`!!#+-S4iY52rm)#lrr%jH6R9#98C'49*"6%j @!!!JEJ!)S"p1ANje4P*&45#3"%j@!!!JEJ!))Qi!$%+!-#i!%+!Z6Pj1G8*$6e" C)*!$6PB!!#"Z!!LJ"%jH6R90@9"#3dp19%j@rm4+H!P%CLa`r6e!rpa#V[r3F'- p32rH,@i!#2rJ,@i!$2rN,@i!%2rS5'lra%kkrlKBMdjH6R9%8NP@49*$6B!!"$S !!!%!!*!!rrJJE[rm-#J!E%kY!$S!#`!!$V41qJ!J6[S!M%lk!,"1qJ$86[S"RNl k![a1qJ2N6[S%@%je6PErr&Q25(P38N9$3QHTS#"I,8Mrr%UZrraQ$#mZ!!K1ZJY `@)pJ0LmZrrbTSP@2,blrr%kk!kB3(dS!C``[,[rmUDS[,[rmUE!JEJ!))Qlrr#* 4)&"`(5$C8FMrr%jH)&p2l`!%6Y"0@9"558j84%j@!!"9MbmZ!!K)HJ"%6VS#F"! I6PiJAdr[!!3HJ%l369P38P086%419J!!9Bm[,J!)5(S!kNkk!NJ3(djH)&p2l`! %(S"1d%eC8&*+6d*%6PErr%kk#2iY32rm@Bmr21!!,blrr%KirrqTI#"I)'i!##" 3$'Mp!3!#CKSr2!!'2c`!"$mm!!3[,[rm6VS)mNr[!!TJ6L"Z!!JJ8!aSr3)!!QB D2c`!"Mmm!!3r2!!&,blrr%kk#-T2l`!+B#BJEJ!))&!-D2d$!!*Q'$mm!!Br2!! %2c`!"LmZrra1ZJLL6qm!#N(k!kSLE[rm)dJ!UN(k!q3LE[rm)dJ!VL"Zrr`KEJ! )!,)J,[rm6PiJAdr[!!3ZJ%l369P38P086%P19[r+6VS)-#e!rraCMcmmi!%[,[r m5(MrrkPm)&mr2!!'2c`!"6mm!!8[,[rm6VS)-Nr[!!SJEJ!))&"++!!ICKSr2!! 12c`!$6mm!!i[,[rm6VS)$Nr[!!TJ'$mm!!ir2!!02c`!$5mZrra1ZJId6qm!#Lm Zrr`r2!!(5'lrqNKZrrC)E[rZUBdJEJ!))&!pD!!qrrS`E[rk5'lrbLm)6VS)+&# 2,blrpNKZrmUTMbmZrr`r2!!*5'lrqNKZrrC)E[rZUBdJEJ!))&!pD!"!rrS`E[r k5'lrbLm)6VS(l,blrpNKZrmUTMbmZrr`r2!!,5'lrqNKZrrC)E[rZUBdJEJ! ))&!pD!"#rrS`E[rk5'lrbLm)6VS(X,blrpNKZrmUTMd(k!NJLE[rm)dJ!UN( k"-!LE[rm)dJ!VL"Zrr`KEJ!)!,)J,[rm6PiJAdr[!!3ZJ%l369P38NT23NP19[r N@Bm[,J!-)'i!#%k3!#eIrr`JE[rm,@J!V[rN)'lrr%)S!,FJE[rm3LJ!YNKZrrL SG#mZrrbSFbmZrrbT&5mZrr`r2!!"5'lrpNKZrr")E[rSUBdr2!!$2c`!!kLE5'l rk$mmrr`r22rmU+P)E[rS2c`!%$mm!"#SX'!F)'lrr#mS!+T)E[rdUC%[,[rm2bl rp#"Zrq41N!!JE[rm5LJ!YfID,blrq+Kc,blrr+Q#,blrr%kk"pCBMb"Zrra++!# fC`a9MbmZ!!a1ZJ!J%"mJE[rm%#J!YNjH)&p2l`!)(S"1d%eC8&*%6%G06PErr#m Z!!K1ZJD`@)p+!'F%F!"J6PQ25(P38N9$3QHTS#"I,8Mrr#mZrrbTSNUZrraR$Lm Zrra1ZJD!@)p+!'B-,bi!#%kk"fjBMf!8)'i!##*Zrr`L85"3F"dJf9()rra`!8j H)&p2l`!%(S"1d%eC8&*@38a*6PB!!#"Z!!JLEJ!-)P%J8$&T!!)!!L"Z!!JLEJ! -)P%J8%(S!$j$k3!qF!3Jf9()rr`JEJ!))Qi!$#*4)&""k!!Z3qN!,L$C)0NJf5$ C)'i!##*Z!!`L85"33HJ!%%2T!"!Jf5$C)'i!##*Z!!`L85"39)K8L5$C)0NJf6$ C)'i!##*Z!!`L85"33HJ!)%2T!#!Jf5$C)0N`f8jH)&p2l`!)6Y"0@9"55Np#68j @!!!JEJ!-$&!!!fBL)'i!$#!m!*!$rm#S!!)-J!#3!`eQ$#"Z!!K`!6#!F!&J!R! !6PiJAdr[!!`HJ%l369P'58a849*19[rb$'i!"!!)E53-EJ!'!!KZ($mm!!Br2!! %2bi!##mZ!!T1ZJ5%6qm!#Q!!!Ii-EJ!"!!KQ!!(D,bi!#Mmm!!4)E[rq5'lrqNK Zrr+TM9@2,blrqUPJ-"m-3!!"CR!JEJ!+)'J!XL"3-Acp!3!#)'i!#L"S!,)J8(! m-8!!"L"Z!!SJD!#b)&!aI!)%!!iJEJ!+)'J!XL*Z!!SLD3#b)P%J8%(S!#"8L5$ C)0NJf6$C)'i!#L"S!,)J8%*S!")JEJ!+)'J!XL"3-A`#"!!@,bi!#Mmm!!9)E[r q5'lrqNKZrr+TM9@2,blrqUPJ-"m-3!!"CR!JEJ!+)'J!XL"3-Acp!J!#)'i!#L" S!,)J8(")-8!!"L"Z!!SJD!#b)&!aI!*N!!iJEJ!+)'J!XL*Z!!SLD3#b)P%J8%( S!#"8L5$C)0NJf6$C)'i!#L"S!,)J8%*S!")JEJ!+)'J!XL"3-A`#C!!@,bi!#Mm m!!C)E[rq5'lrqNKZrr+TM9@2,blrqUPJ-"m-3!!"CR!JEJ!+)'J!XL"3-Acp!`! #)'i!#L"S!,)J8("D-8!!"L"Z!!SJD!#b)&!aI!*N!!iJEJ!+)'J!XL*Z!!SLD3# b)P%J8%(S!#"8L5$C)0NJf6$C)'i!#L"S!,)J8%*S!")JEJ!+)'J!XL"3-A`#C!! @)'i!#R!"%8!!Yb"Z!!T`!4&!!,CJ'JaZ!!)!#'B5)'i!#R!"%8!!Yb"Z!!T#+!# f6PiJAdr[!!C1d%K"6N4-49086PErbJaZ!!%!#'B!!@BJEJ!+F!%43!#h)'i!#R! "%8!!YLmZ!!Sr2!!&5'lrrNKZrrC)E[rZUBe9MbmZrrDTB$!I$%!!!@BN)'i!#L" S!,)J8(!"-8!!2L"Z!!SJD!#b)&!aI#F2!%"J!!"q,bi!#Mmm!!G)E[rq5'lrpNK ZrqkTM5mZrrC)E[r+UC!!5'lrqNKZrmT1ZJ*F8)mJEJ!+)'J!XL"3-@lrr!!q,bi !#Mmm!!P)E[rq5'lrpNKZrqkTM5mZrrC)E[r+UC!!5'lrqNKZrmT1ZJ)H8)mJEJ! +)'J!XL"3-@lrr!"!,bi!#Mmm!!Y)E[rq5'lrpNKZrqkTM5mZrrC)E[r+UC!!5'l rqNKZrmT1ZJ(J8)mJEJ!+)'J!XL"3-@lrr!"#,bi!#Mmm!!j)E[rq5'lrpNKZrqk TM9@2,blrpUPJ-"m-3!!"CK)JEJ!+)'J!XL"33LJ!(f!!!0)JEJ!+)'J!XL"3F!% 43!!IB!!![JaZ!!)!#'B1)'i!#R!"%8!!Yf!!!+J-EJ!1!!KQ+Mmm!!ir2!!02c` !$LmZ!!T1ZJ$+6qm!#L"Z!!SJD!#b)&"#+!!IB!!!GJaZ!!d!#'BU2c`!$Mmm!!d r2!!0,bi!#Nkk!*K2l`!+)'i!#L"S!,)J8(!"%8!!(f"#$'i!"3!)CKSr2!!'2c` !"6mm!!8[,J!+6VS!CNr[!!TJ)!aZ!!B!#'BB2c`!"Mmm!!8r2!!',bi!#Nkk!%4 2l`!+6PiJAdr[!!C1d%K"6N4-48T26PErr#!m!*!$i+%H,8Mrr%UZrraQ"M!m!"Q Tb5!Zrra1ANje9&"38N4-4d&19[r`5Qi!$QG5-#i!$P0!28$rr'!d,bi!#$mZrra )E[rq5'lrq%KZrr#TM6!Zrrb`EJ!-CJ`[,[ri2c`!!DPMB!J[,[ri3QHTBc!Zrra 5E[rm-Li!%**!5N&QZNjH6R93990)8N&%58j@!!!JEJ!-)#i!#$mm!!#TlNjH6R9 198e86e088Nj@!!!JEJ!)2c`!!DRZ)'i!$##!6Pj1G9088NP14e426PB!!#"Z!!J J8!a3!!0Q!!$%)'i!##"3$'Mp!J!#CaiJEJ!))&!-D2d"!!*R%#"Z!!JJ8!aSr3- !!QB!!*JJEJ!))&!-D!"#!!4Q!!#))'i!##"3$'J!2!!'CaiJEJ!))&!-D!")!!C R%#"Z!!JJ8!aS!&S!"QB!!&`JEJ!))&"+D!!)CNiJEJ!))&"+D!!+CN)JEJ!))&! -D!-U!!jZ0#"Z!!JJ8!aS!YB!$'iQ)'i!##"35LJ!(fF1)'i!##"3$#J!!3!ICJ` JEJ!))&"++!"%C`4`!'!#F!&1ANje9N&-583JN!019J!!)'i!#+!I6Pj1G8C5488 JN!419[rN)'i!##"3F!-`J#"Z!!JJ8$&mr3)!!L"Z!!JJ8("#-8!!"#"Z!!JJ8(" )-8!!"L"Z!!JJ8%*S!!JJEJ!))&"#D!!+)'i!##"3-A`#C!!1)'i!##"33QJ!%L" Z!!JJ8$&m!Q3!&L"Z!!JJ8$&m!YB!&#"Z!!JJ8$&m!XX!$#"Z!!JJ8%*S!"!JEJ! ))&!aI!)!!"JJEJ!))&!aI!8S!"SJEJ!)2A`!H2rq5'lrrNKZrr!r2#!1UHY)E[r `5'lrqMmm%"#Tkd2k!K)Y@IrQ,9RrkMeCrqj)E[rk5'lrjMmm%!5TkdKZrqBr2!! @UHY)E[rQ5'lrj$mm)"#Tkb"3-@lrj!!F)'i!##"33LJ!(L"Z!!JJ8(!"%8!!(b" Z!!JLEJ!))P%J8%(S!#"8L5$C)0NJf6$C)'i!##"33QJ!,L"Z!!JJ8%*S!$!JEJ! ))&"#D!!b)'i!##"33QJ!0#"Z!!JJ8%*S!$BJEJ!))&"#+!!i)'i!##"33LJ!15" Z!!JJ8%)S!$SJEJ!))&"#+!!l)'i!##"3F!)43!!m)'i!##"33LJ!25"Z!!JJ8(! "-8!!2L"Z!!JJ8$&m*`m!3#"Z!!JJ8(!"-8!!3L"Z!!JJ8%)S!%3JEJ!))&"`!4& !!%8JEJ!))&"#U!"')'i!##"33UJ!5L"Z!!JJ8%*S!%iJEJ!))&"#+!"3)'i!##" 33LJ!85"Z!!JJ8%*S!&)JEJ!))&"#D!"8)'i!##"33QJ!9L"Z!!JJ8%*S!&JJEJ! ))&"#D!"D)'i!##"33QJ!A#"Z!!JJ8%*S!&iJEJ!))&"#D!"J)'i!##"33QJ!BL" Z!!JJ8%*S!'3JEJ!))&"#D!"Q)'i!##"33QJ!D#"Z!!JJ8%*S!'SJEJ!))&"#D!" X)'i!##"33QJ!EL"Z!!JJ8%*S!(!JEJ!))&"#D!"b)'i!##"33QJ!G#"Z!!JJ8%* S!(C1ANje68Y%48C"98a!!SJ!N!H!!!km!*!$r%UV!""R(L"V!"!-D!!#!'aQ%J# 3!cC1qJ!%6R919J!!6PiJAdr[!"41d%eC8&*3580'!*!$&!!!'))!N!3(,PK3FQP ZG)!!')B!N!30k!`!N!K@!(!!JJ#8!+B(,PK3FQPZG!#3''!!![41qJ&@6[S"CNl k!AC1qJ'16[S"`%lk!Ga1qJ(k6[S#&Nkk!(*1ZJ$36VS""(!!6VS!FQX!!4"1qJ# i6VS!@%kk!1j`!8kk!&a1qJ"X6VS!4Nkk!0a`!Nkk!%T1qJ"D6VS!0%kk!-T`!dk k!$K1qJ")6VS!)Nkk!,K`"%kk!#B-32rSC`!!-Ja!!!&Q!!#iF!"1qJ"H)"p)j`! i*%JQ55"!6Y!r!#m,,`T1Z[p56qm!#M9!!""1G3a!!!&R&JJU!!%!"QB3)%SL5dc I(!![1!Mm6R9`!#m!)%ZP+#*E#"X!"QB-S#S)%`!'C`3J5D!U)"p-ha`!6R9+U`! 8CM!J2!!!J!#J3$!V!"K'31Y)!%$!!&$i#PjCMbmm4%&836m!UD!J(bG!!"4R"#m !UC*1G5!V!"4R$L"!+&#J+8ja6R&1F8ja6R8r!#!V!"4R#%+V!"3J3+!M-"pJQ#" I-KJd',"B9mRrqNT#Crj1m#$m)&mb'$3BX*KAbIrk5N*RrNl`)2SJAc)B0"L`3Qi +N!""E3E33%(`!!)`%'Iq6[!!!#![!!3[33!%)Lm!##pI!!4)jc`!*!!Q!8K#a-- S!#S"5%A)aG4%5%+3!m$"d)*-h`!m)Kp1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS !R%cI!)`L(dje)#m!"#p"!!3L,`!),em!"%MR-3"1ZJ"m)!&-h`#-)Kp1G5![!!3 [33!%)Lm!##pI!!4)jc%!6VS!,%cI!)`L(dje)#m!"#p"!!3L,`!),em!"%MR-3" 1ZJ!-)!&-h`#-)Kp1G8U!DKa+J@S-4)"%J8kk!#"%J8je4)"1ZJ!@4)"%J8je5S& U#N5"6VS!"N5!6R8Z2!!!rrqbJ'-')J"`!%jeX)GL$)$"5%!b!%*!5%"1GE+(BKS Z!%*!5%#!`8K!5%Fq!%K(MX%`"dK(-JG1G53!*J(LL1+*XSGLq)$"`)Fb!m,!,J0 )4ml!5%I5Kf8)NS*L"%5"6R963'$N!*!%6PErpL"Z!!a+U!!8CQ*1ZJPL$%$rrfB H9BqTVc!I-F!*4#"Z!!`r+!!B6VS*)P52F2pJ!!)f@Bp)H9"548-r21!!UD!JAb* Z!!`M5!!8)'i!$#mS!"5TSL"Z!!`[+!!8UC)JEJ!-,bJ!&%kk#+"BMb"Z!!`[+!! 86VS)[PL2)'i!$#eS!"6rqL"ZrrSS8#"Z!!a+U!!8C`!"d$!Z!""1Z[af!*!$"!( #!!S"[J"b!6!"Q%UX!(KQ@PQ25(P6G'jR2ccJ!+QJ)&mT5!"iX2`!!'F@@Bp)H90 88L-r22!3UD!JAl$m!!"Q&#"Z!!`r+!!B6VS)A&52F!"J!!&`,b`!H+QL,b`!H%k k#!4BMbmX!(LTNNkk!Z*1ZJ&HB!!"6#"Z!!J`+!!D6VVljJ!'!6`!"!!@!!8"0!! '!#`!"`!k!!J!HJ"M!53JEJ!)+@J!(!#F)'i!##PS!#!!S%(X!(bJ!f!!!3BJEJ! ),bJ!(%kk!iTBMf!!!23JEJ!),@J!(2rf)'lrpR!%-)!JE[rfF!Na3!!#)'lrpN) S!!3JE[rf3LJ!"5"ZrrBKE!+S!!JJE[rf)@`#U!!-B!!!X#"Z!!J[+!!N)'i!##m S!#!JEJ!),bJ!(%kk"#C2l`!-B!!!M#"Z!!J`+!!D6VVl,J!)!!J!HJ!#)'i!##" S!"a$l!+'F!BJf9()rra9Mb"Z!!J[+!!JU'S`(`*!!2p63$e!rrj+E[rqE83-EJ! $rrjX2#"Z!!J`,[rq5-$3J%2X!U,6`#"S!"`a83!#B#![,!"i6VS'e&L23U`!H#m ZrrT1ZJE'@)mJEJ!-3UJ!&(!!6Pj1G8e"58iJN!419[rk3H`!I#e)rr`JE!"i)&! `%%kkqSS!N!-"!%!!"!!J5Q`!c'B35'`%+Nkk!5jBMh!"18!!c($j18!!d'!F5Q` !cQB35'`%-%kk!4"BMh!"18!!cR$h18!!d#"Zrr`aE!$3!"JJE[rm3UJ!$#"Zrra `#$&!!"SpI1`!rrSJE!"i)&!`+!!#`I`!$%(X!!$4`$!3d@lrqL"Zrr`aE[rk!"` JE[rmS!3JE[rm3LJ!)#"Zrra#+!!K)'lrr%)S!#-JE[rm3LJ!)L"X!(JJ8%TS!!C R+#"Zrra`!4&!!"`JE[rm3LJ!(5"Zrra`%4&!!"iJE[rmF"-43!!IB")JE[rm3LJ !(#"Zrra`!4&!!"dJE[rmF!Sa3!!D)'lrr+!%)'lrr%TS!""R%L"Zrra#+!!F)'l rr(!"%8!!(5"ZrrbJ"#"Zrra#D!!X)'lrr%+S!#j1ANje8e"28%91)#"19J!!+@i !#!#13U`!L%)X!*G"l!"mS!"1ANje8&**6NP8)#"19[ri@Bp)H9088L-r22!3UD! JAbe)rrK+V[riC`!!YLmZrrLTSL"ZrrJJ8&5),8Mrr%KX!G)[,[rm6VS!T)'l rr(!!%""53%K!3N")30'Zrra)E!$5,blrr%kk!)*3Mb"Zrra`!"!38N")3%*!5%$ 4V[rm5'`"pLmZrra1ZJ"J8)mJE[rmF!!3%&*!5%"#3%K!dDlrr%KX!KS[,[rm6VS !2P#2)'lrr(!!%""53%K!3N")30'Zrra)E!)q,blrr%kk!"a3Mb"X!(JJ8"PS!!8 #BNjH6R96494$6dj88Nj@!!"#J#"Z!!JLEJ!-%"!5f&()rra1ANje3dp3@9088L" 19J!!)#i!#%kkq"!!"3!J!!%!N!-Q!!)!N!-X!!-!N!-Q!!2rr`!J!!2rrJ!d5'` !dNkk!$KBMf!Q5'`#'Nkk!#aBMf!D5'`"dNkk!#"BMdSX!Q*R#NKX!Q*1ZJ!3@)p 1ANje4%9@580&3dp19[rm,`G#V[rmIJ"J!!"8F!!`"p#Z!!JJ3(!!%""1Z[H5!&i !AJ!N!!*"l!+XdHlrr&*(F!!`"p#Z!!JL3(!!%"%#3!!I%)"J&%(X!Uc4l[rmF!! `"p#Z!!JL3"#48Ulrr$!(8NFJEJ!)FJ!5%**!5N&QR%(X!U`T5!#F+@lrr!#J3H` !I+!$,Kp1ANje8&**6P469&*19[rm51F$%#!Z!!K1Z[F+!!-!&&0PG(!!a&"bER3 "j%0XEh-"p%Kj!!%!!%kkrY"BMh!"18!%+#"Z!!`J8%2X!l"`(5,B8FMrr%UX!rC Q#%(k!GBT5!2f@Bp)H9"548-r2!!"UD!JAbe)rra+V[rmCb3[,[rmUD)JE[rm)&" $l!1`F"dJf9()rr`[,[rmUDS[,[rmUD-`,!1mN!"X!lK)`)(m!!Xj3!1Z-#`$`%4 !5-#"r!!,18!$V$!X!m*%3%M!JI`!"KP!!Q*`!"!X!Q*+3'3!!8C#,!*LB!!"2M! X"#L`E!2ZE!K5E!3SB!!",$!X"#K5E!3SX'`$m'mJ-I`!J!P%5'`#2NkkrQ*BMb" X!(JJ8"PS!!8#BQ!!!2j+,!22CJT1ZJ&55N"R!!$3*Qi!$(!!%#`"pNT!CKjq!'! +5'`"dNkkrLCBMc!(8NFb,!1XNN"+3@ESB!T)E!(f6VVq$&L2IJ"J!!"m)'`$pNk 3!!ai!)!*4'F!!+)`"m(m!)E3Lb"!-&#`r!!!CJj)H3!$!!"1Z[eX@)pJ5$`m!)3 `"m(m!)E3Le0'-%E3L#"!F!!3+!!#$%!!)'IN8NB`"m(m!)E3Le5!+8!!R$"'+8J !S%(X!(bJ!dKj!!-!!%kkr5*BMe*(-#`$VT!!4dT!CJ$rI%KX!KT1Z[ef@)pJ(M( m!)!*4'!@5'`#2Nkkr@*BMb"X!(JJ8"PS!!8#BNcI#-"1ANje5%&14%a&8%&19[r Z9Bmr2!!)5'lrm+P`%"p+!'FX)$`!N!2r`+lrmP@2,`#SDc!I$%!!,QB8##i!!2r qC`a"l!"mS!Bar!#!#841ANje3dK&3dY"3Np19[rS@Bmr20rr3UG)H2rrUA`JAbe )rrb`r!!!CJC`!'!!!'kS8#mZrr`r2!!"5'lrp%KZrr")E[rSUBe)E[riU(3[,[r mU(-r2!!$2c`!!kLE5'lrk$mmrr`r22rmU+P)E[rS2c`!%$mm!"#SX%+R5'lrpUQ 4,blrr+Q$,blrq+Kc$'i!![rfCJ4`!'!#F!&1ANje9d&*9%j&@&419J!!)'i!#+" +6Pj1G8K16e"98NG&6PB!!#"Z!!LJ58jH6R9)8&954d8J)%j@!!!JEJ!)S#P1ANj e5%a23dXJN!019[q`3HlrX$&Z!!J!'%+S!!bJ!6!S!""1ANje3da28d9%8NP19[j %@Bp)H9088L!r21!!UD!JAbe)rNS[,[j+UD)[,[j+6VVrGPL2,blq5NkkrjKBMdT i!rC[G%)ZrNj#V[pD3HlrJU)82@lrC2rq2@lrJ2rm3UlrMN(ZrNiY52q82AJ#%2q B3QlrRN(Zri+L"beZrpcrIMei!K$rC%+Zrf""l[p1SK99Mb"ZrNS[%+QA-"mp32j )-'lrr#e)rhipE[rqrf4"l[p1SK9J!!"i3HlrJLe)rN3JE[j%3UJ!$#"ZrN5J&%K ZrNiJE[j%,bJ!%NkkqT43Mb"ZrN3pD!!@rriJE[j%3UJ!%L"ZrN3aH!)3!"BJE[j %S"99Mb"ZrNS[%+QA-"mp32j)3Hlq6L*ZrN3M5!!5)'lq4$&Zrri!&L"ZrN5J&5m ZrNT1Z[k)@)m-E[rrrNKQ#P@2UDm`(c(!#83`,[j)6Pj1G8p348j38NP1!!!'A'! 1!!"3380,m!!!!33!i!""q[rZ)FJ*cQ!!!Ea1qJ!H6[S!,Nlk!$j1qJ"@6[S!L%l k!+41qJ$#6[S!hL"I-KJd',"B9mRrqNT#Crj1m#$m)&mb'$3BX*KAbIrk5N*RrNl `)2SJAc)B0"L`3Qi+N!""E3E33%(`!!)`%'Iq6[!!!#![!!3[33!%)Lm!##pI!!4 )jc`!*!!Q!8K#a--S!#S"5%A)aG4%5%+3!m$"d)*-h`!m)Kp1G5![!!3[33!%)Lm !##pI!!4)jc%!6VS!R%cI!)`L(dje)#m!"#p"!!3L,`!),em!"%MR-3"1ZJ"m)!& -h`#-)Kp1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS!,%cI!)`L(dje)#m!"#p"!!3 L,`!),em!"%MR-3"1ZJ!-)!&-h`#-)Kp1G8U!DKa+J@S-4)"%J8kk!#"%J8je4)" 1ZJ!@4)"%J8je5S&U#N5"6VS!"N5!6R8Z2!!!rrqbJ'-')J"`!%jeX)GL$)$"5%! b!%*!5%"1GE+(BKSZ!%*!5%#!`8K!5%Fq!%K(MX%`"dK(-JG1G53!*J(LL1+*XSG Lq)$"`)Fb!m,!,J0)4ml!5%I5Kf8)NS*L"%5"6R963'$N!*!%6PB!!!aZ!"-!'QB %6VS!J(!!6PiJAdr[!"3qJ%l368&*6L#3"%j@rr"+EJ!1Ce)`,J!18d!p32rmB$3 [,J!)2blrr%KZrrj)E[ri5'lrm+Q0-#lrr,"Z!!aQ$#mZrrJr2!!"U@0J##mZrrK #CkPM-#lrr&*Zrr`b,J!3NN"+3@Dk6Pj1G9"98dK5384*6PEqVPQ25(P38N9$2cc J!+QJ)&mY52kf5UlqYQF!!kKCMdKj8h4ZCcmmi!#TS#"I,8MqXV$m!!"R!!1-@Bp )H9088L-r22!3UD!JAbe)rUk`r!!!C`!$F#"ZrV)J8%TS!!*Y$L"ZrV)J8!aS!!N !!Qm+)'lqXL"33QJ!!PQ22cc`%%+R5(MrrkPm)&mY52rmX2`!!'F!!c![,[rm2c` !#%KZrr*)E[rU5'lrfUQ0,blrr$mm!!&)E[rZ5'lrjNKZrp+TM5"ZrV)J8#*ZrVB `+!!#`I`!$0#4,blrkP5!,`#TAb"ZrUiJ8&5),8MqaR!+28$rp'!d,blrr$mZrr4 )E[r`5'lriNKZrmUTM5mZrq)[,[l'UBmJE[l'F!!3%&*!5%"#3%K!dDlqaM!Zrr4 5E[rdFJq53%T"CVa)E[riU(3[,[rmU(-[,[rmU48r2!!%2c`!"+LE5'lrdMmmrrX r22rlU+P)E[r52c`!%$mm!"#SX$mm!!)r2!!#U*Y)E[rD2ccrr6mmrrfSU8KZrpS r2!!-2c`!$+L`)'lqXL"32c`!"Mmm!!8`%&T!2`![,[rm6VVpjNr[!!SJE[kb)&! r2!!82c`!%c!S!!B'3!!62`![,[rm6VVp`Nr[!!T#E[rfB!!!d%+R5'lrpUQ4-#l rpNkkqmB!"J!D!!8!&J!'!$`!#!"d!"-!F!!8!*J!&3#N)'lqXM!ZrrCE3#"3-)! r2!!'2c`!"6mZrrB[,[rm6VVpD%r[!!TJ!!"k)'lqXL"38QJ!!JaS!!S!!QB+)'l qXL"33QJ!!L"ZrV)J8#*ZrVB`+!!#`I`!$0#4,blrkP5!,`#TAf!m)'lqXM!ZrrB '32rY)&!a3!!'2c`!&$mm!"-r,[rf,blrr%kkr2j2l`!+B"![,[rmUB-[,[riU(0 J!!%@$'i!!IrfCJ$r+R!D,8$q`R!+28$rp'!U,blrr$mZrr4)E[r`5'lriNKZrmU TM5mZrq*)E[l+UC!!F!!3,[l+dDlq`M!Zrr45E[rdFJq53%T"CXBJE[kZS#SJE[k Z)#lq`U!N)'lqVU!P,8$q[L!ZrVk`V[l#Ca)[,[rmUB-[,[riU(0`!'!!!)iJE[k ZS%SJE[kZS#NJE[kZ)&"8L#e)rXC`#Me!rr4J0#mZrr`r,[rd5'lrm%KZrq*)E[r +UBd[,[rL,blqaUQ3!#"ZrXC`!"!38N")3%*!5%$4V[l'-#lrp&*Zrr4b$j*!5N& Q[#mZrrbTJbmZrrLSFbmZrV+TULmZrUkTULmZrV+TX#mZrUkTX%kk!!j1ANje8&* 649498#"19[rN3Hlrj$&mrrd!'%+S!!bJ!8(Zrq5J!%jH6R9548p348iJ)!#3!hJ !!rd#!%)!5!#3"!,,!Q3!N!3#eJ*N!J!&+!2m!!(p!J"#!%J!N!3#b`*N!*!1!J! !!5F2!!%!!3#30AJ!!rd#!%)!5!#3"!,,!Q3!N!3#eJ*N!J!&+!2m!!$p!J"#!%J !N!3#b`*N!*!1!J!!!Arr!!%!!3!#-+i!N$!%0J&m!c-`-!#3"ld$0M!`!*!(AJ3 a-M!`!*!'2J3a1$!`!*!',J3b0$!`!*!'(J3c0M!`!*!'&J3d1$!`!*!'$J3h-M! `!*!'#J3j0M!`!*!'"!8a16)`-!#3r`#3lb-JN#-!3J")!!)#!3J#!*!$"3%#"3) %!!$q!!!#!3-#!$`!5!"D!!%!!3#3r`#3I`8Z38peG!8Z3NpeG!#3!`X+8(*TER3 J4QPXC3#3!b!!"34H69j+!!!#AN`!6!#3"9S!!9'L"84KDA0j!*!$6!#3#!%!N!- i!*!$0`#3!`+S!!'kr!,b!*!$(!'q!!a*3diM!*!$DNC548B!N!0f4'&c@3#3!i* #6N4-!*!$MP088L-!N!1D8h4ZC`#3!kC69&)J!!)!XN4*9%`!!`$@4%a24`!$!3C 34%9'!!-"0N459P)!!!&Q8%&$5`!!!A*38N9$!!)"IJ#!!*!,J2rr!!!""!#3"[r r!!!"$`#3"B$rr`!!!53!N!6`%!!&!!!fe!!"A#cJ!!!G!!!"4!#3"2!%!#i!!!& 5!*!%m!8!1`!!!9d!N!6J!Irr!!!fa3#3"1!"rrm!!!&c!!'jR2!3!%B!!!+M!*! %i!$rr`!!"'m!N!6Ir`"H!!!&#`!"ZEcJ!Irr!!!&A3!"A#M`%!"a!!!&H3#3"1! !rrm!!!@V!*!%hrm!K!!!"FF!!EQi!*!$NM!!"HN!!9d%!!%!TM!!#Km!N!8%!,S `!!j9!!'k!!!&!-B!!"d0!*!%i!!!e5!!(8F!N!6`!!$G)!!V-`#3"[rr!!!aN`# 3"3(rr`!!-Jm!!ERii!$rr`!!-SX!N!3%5801)aG3FQPZG'9b)'0[ER4bEf`JFh4 bD@jRFa"3FQPZG'9b)&0PG(4TEQGc$&*TCfKd)%*eG(4[EJT-DA0d)'aKBQ9X&e" bD@jdCA)J4'PKE'pR)&4PEA"XBA4P%NjPH(3J8'&RC5"8C@e`E'&dC4*3FQPZG'9 b)%0[EQCTCb"#EhJ06Q9iG#"3B@GP)%*[H"0%FQ&QG#"3FQPZG'PZCb"$Ef4P%e0 `EfpX)&"bD@jdD@jR)%0[C'8,4'PKE'pR)%0[C'818(*3D@0'D@aP)(0dG@)(,PK 3FQPZG!a%B@PcH5"$EfjQD@FYK3: ---