Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!gatech!hubcap!ncrcae!ncr-sd!hp-sdd!hplabs!hpfcdc!hpfelg!koren From: koren@hpfelg.HP.COM Newsgroups: comp.graphics Subject: QRT source Message-ID: <1140003@hpfelg.HP.COM> Date: 25 Feb 89 23:18:21 GMT Organization: HP Elec. Design Div. -FtCollins Lines: 332 Here is the QRT 1.4 source. I nearly made the decision to not post it due to its size, but I had a bunch of requests for it, so here it is. The uuencoded file is 65 kbytes. I will not post the documentation, as someone has apparently already done that. Fair warning: this code should be reasonably robust, but it WAS developed for a university class, in a short time frame, and there ARE bugs. On the other hand, it is free, so you can't hardly complain. The most important known bugs are as follows: * triangle command doesn't work right for non-right triangles * patterns won't map to quadratic surfaces correctly * bug in lexer - should do malloc(strlen(x)+1), but instead is malloc(strlen(x)) : the +1 is to leave room for the null * rumored bug in mapping polygonal patterns to flat surfaces - i've never seen this myself, but have been told about it - at least *some* polygonal patterns work ok - see the demo PIANO.QRT for a file with a hairy polygonal pattern mapped to a flat surface Here goes! (part 1 of 3) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CUT HERE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ begin 666 qrtsrc M'YV08L2\P>-B#("#"!,J7,BPH<.'$"-*1 BBH@T:-$ J ABAHP:&BO&N%%# M1DB.(F%XA%&1QHP;%VO,@"$C8\62-VYLG,BSI\^?0(,*'4JTJ-&C2),JC:A@ M1!HW8]C4(5,&A(@X!2X=6LG!H@>(-H\!8&'11X6>G: L&,2 M"A;QLQ6K>G3J,^^\"I$()[6 U$T9L&91<"!*12#L%)D")4O4*A(V1R# MMHP=NI\(40)<>%[7R/>"4"=%# MB) G6%* *")'#F 429Q0*2+%21 F7_"GG10LQ !##"D@-P((<15F!EN[E3$& M'45$(5MQ)HSGFGELO'''7"DDJ)L5$E)H86T9DF=>'7"H)T>(R/7AU5>IU6AC M6A NYA9<478"#, 0<:>NKUT,,44"#!7Q$@\,%'D60J>EYZ93C*1!!-0!'B MDA719Y\<^.G'GW\ "O@$@0;*(.*"#58'86/FX=%#HF5P^,88+I3'JWEVE!A# ML'56F>NNF?;J0X? XK'"L#X4.^&Q>""G&ZX^Y,&LFLY"ZT(>+5!K+1W8)LN9 M>=Y2*VX>TS9+K+'(WAJ#>7I\FZ2OP.I1KKS5TIOMMC+@JZ^FXNH1+[CS7ENO M C)Z!5:7%->8(Y-OQ35777<)1MB0@<$1!EULL%%&AV?0U0:I&#OI692C4Q!F7[)UQ@J!T M&'VZZ?2K5K_Q%!TRL "'UV[0,8/89--!@[8+_ED&=MH)P9UW*!5Z]:*_>RO*; 0.M -HPNCY1-BKCGGGI=]]NET\5LZ[6&D+JN(;EXN1^:;=YXV M#:;';K;I*(A^+H(B;GNO#[HVD5_R:OM]]1_/N[X9H_+O?P]T"\__N7+P_Z>-S_U$5!LJ!L= ML 2HK?@]+U_T,Y[U]( _[>EA@ ;SWP,!Z((+GB^#!L07 FNGP ["3UG0ZU\0 ML%"_LEF/?6G3WOO45; 4-F&%LJDA#+]6OAD2S'LX7!?T1IB[$OKPA]U2(0LE M>#_C:8^!2)Q?$&MX&>,%<']45&(.V45$?NFO@2B$( Z92$$GFI"&&9RB"*UX M1B2*D85"+&,"$]:\B-%H9W@\R\4P!@(>;>Q''A,2"/X2&"K((0UA<,,93,8R M)KD,2F[($F8T,S//8.EF>MA2'C\["$O MG- :9SC/M3LPKJ]_TV/B#F5G/N=Y+X1#A.>O^NG/)$:P>DV,X1<+6D#P_4^@ M"SPAMR"83X264:$>+"A%';I!B+81B=$;(T+WF3\?QD^'6A1B93QZQ).R2XM, MK*)"H>A2@ZJQ6RSP*!3="%.+5K"--7WC%GU 08]F%&(2XZ1250 A/_JH8T'J MRR")=$A%N@ $5$!#&O!BGSK0X2E5V2H(W/ &.H @#G5(@UUT<\@SH($.+ !! M(LD @CNDH60@.(/&GBK70!9&D8C)2QK.H-? T $-B:3.'-A:AJ"Q(0]C+4,9 MJ$*&N(K!J]0QJUWQBMAB@8";("##&T"PEZ^R@3H@Z&Q5OMH&)54$M*+-+ C: M^E87[+%ECGE9)#%)22O53)*9S-E2-^G)@4C!,*1D057/D$JG5:V54X,EU);; M)S_Q$FZ"HAM'"K7<8JZG!U+(SQ&<>:I4*8Y5C7N<@6J 3E)WC=B" M^9[KB6B$GGP-XT5IV;=$^+47N_:K2"^2Z[\3"G!-(0N9^;YK!0C.7Q[L^4 " MG\&+_HJP@L-H80Q#F+\!2_"X8I34X>;QMDQR*L> -!A!$A($4:A#&,C@HS2, MH9$Z>J1D=ANSWM+LDC';HUBPBH0D3 $$1@:!$YY A>PDX0A(:+(1N*8=*@1A M/T2 <16"0(2^42$)0SCR6H1KXIT5%P\QGG&-QY!94\4MMSE*X.9O- \+^-G0? M>A'W)EVA'"+OTBQRT>JVV4VD80@%EX[GIGT'/$^C"-4R)H/M1&3'$^-X,2H& M9%1!!N-8K_G6C,DM)('K8TO:+,BD&C(5BGSD)"^YR>&%LI2IS.0K%R'+@^:R ME\$LYK!HLLP5.W.::5P7&[I9R*0R:;.7$Y5D*78^]X8;I<+IB?>6!\ !D8,*TB<*@J'?!. >[TF$, M:! /YLN^I#$@O2I)8,+?CL"XO1&N"(K#?O++MOR[FNP,T+]::U,N?.[Q\?\< M(09K$@9KD"P587Z(AU5/\ 1?8 1%< 7 P3=-<&0<(7^RMWS<)'1E< =6 S3[ M-Q=ST'\&"(#_)X"-58#E=WY(IGY%P'X $(8JCV!:ER!%CB(JJ6 188&140($@((NU1XNV*%=L,(!D %G7 M 5;!YP8BX'^]Z(L#&(; J()+]@7*,07\P1M^N(: V(8B0%8@8$J()P?%$AC3 M*!?5>(TCF(T!N(UYF("O2 1%8(E.<&T12#A_.'^<* *$\3;4V($J4P;\9XW8 M:(\5\8L'Z(U/X 1?@ 1/T 2"4P1.D 2N2('** )W !AL0%>(2 =9Z 9X059N MT )H\ 9M0#1QL8B'MXZG5"*\")$2.7TJJ 7\P8#YP8]8H(GG6)")]114$1IO M@!UK\G2+]U6,J%@@ ,Y:8\[.89#\ 2!(P5?8 7_4068*" #28,B8(,X.'UO MT"%R\ 5/<75V$#1UP(4.68\ZB8^46!5_,P53\ 7+IDQ?X)/:(8,$.8L>R)! M-P)4]^9-?T 15P 1?!@5,D 3\,9:!& 8=6(MS$4EM MH)A?!0*(]C931R28^N MZ86PB9?NQY$!@@50X#37YIGH:#)F8%9*$Q<,@@?J,2&3!9F]6)S9<9P628S+ MZ1O-F9N#67NT)9TC0YTG=YUV,8\/69FF(!,X)W)&9Y8 MYIP%"9WHN2:-:)TEDIVM"9':&)]WV9U\@YS@R9Q91IYD>9X*J9Y"BIWN29<6 MBJ0U.I\'"B *BI^Z68,-NI^^@W7_N75K,J!NX8DF,P>JJ@^@(F@P=SX:NNBJIM<%C&BJLO0%9RT ;+ M"JR7NI1F@'A:L:FMRJS,.)K1^JK!NJTJMXC=BJJQ)R$P"0?C&JQ8<:VD^JO> M>JE+EZ[P>C)CXZ;8>JO2^@)K,@=IH >U>J_NBJJRRGBC"B%C* 4XVJ3B^:0A M*:73&:3L2:3"::1!2*/=F( &VH*,\Z6"29;Z>5K\&1C^": "6J1 B"0S5JQH M\*AR6J?[QA%X"G DL:>+80,J<7"!JG"#:A,@4 ,U< ,S('$L.[1$6[1&>[03 MYQ10(175)W):P14=M[0@9Q7@Z@8D-W>3UR4Y,@2,B)*Q*E=;!WVQBI)E@TA0 MJ9+KB!US )-5\9:'% 9BT*9Q-0=:AP;?@72?A21U19*5)5=\D;=5H8,3$EK/ M9Z8DNR9R51]AD >V]759FQI?H@!7\"I,D&7+]H"42P2:T19@0624,KE24+G4 M$4F'514[1E=+V5>;UP:ZEW(@H *KP8]&T!;7L;F+T;D9:IIX ;L*P'(H47PQ MIWJ;V[F\AY:E!72\6V*/:S'?005P:S)IZW-E X)!-TA[,2&+B+8O)KATX*98 M!2Z)ZUH5P:^A80;7>[9XX2(VJ08[B"B2=58CAP9>][K+6R-?PG), %9C BYD M%U?[FR1. !A'4SH@$";_NR;]NR3Y*Q<_0S(F@S(JT[\@ 5LD$AE$,#/*L$^ M S1" \%&D\ HL;+ =QY86= MBXM:!5ANP;LH82IXS!&XO"2[C!)8K,5F7#*Y?':NS,OU 0)](,:ZP= MNYG_B#&VK,OU,\Y+,@5JS,9N#,=PI (S@"^+389+ MD 5\]-=N3=F:/<:7#0=Q?=ITS=EW+<)ALM/IW-/N 1]ES=H<$2:QC=M0#->9 MC1(O7<>[C1(RC171%@7-T5<<2^)L36 M#,;;;=E:K-Y3/5< '=Q73=#DCVZ*;?X;Y54;5;,;\/#KE>P7*%/"$7Z:($/ 2@&A4XC 0N'E=[!7"^ 6@;&43[.&EC)*GG,J)?)TD.,ZHN1W#>-R(.-. MWA90SLHWG@=5[A8RT@<-/@;KW=Z$MFWQC1(87=]IW=&N > HP=]-/=A?G. V MMM("WM+A7>#$G=5@O.!>CK4G?AH1_KP4+KTIAQ<8?K[9RVM5"^(<(>*A:8LE M+GE_KAHI7C;942(Y+L%23N4TKN,$G.69WCP]_N.B_#.U..1A4.20H56](6W$N>ZG= M3A9?,@+QB'Y/P(]RH;0?U[3K>K7XSK0A1^)0JP!4 S5M(1=W\ 6R M),%PT>13Q[X3HO ,"1R')!E?52R:G&(17W6R"A4X/,<[+HRK4C4@$ 2UN'AH M !P>/IH0W^2F;HL[#GXCPR0J4(70LN/6!2B@\F1!L"1FT"%UX19UL90[3BON MI;SK;A;??LLH-YK01Q51 30;_G0PV7(G-Q?J?O1A\24]/^YFE01ST-0[OO4_ MO_"K>')-;L8#C!R("1AF1?9E.SE?A;@C*0>+*?51M_%KW-*CV[I7C_7W:^F^/V-7P+=D9X_$^_M[ M:_QTA?Q85QBCQ;NJ#+PR!W20$0/)4ATH@ *7"[J5ZP(#NP8]0/8-7R)DEP*. MX@27R02OU\J(0Y^, P;Y!A8@ P[$"2%_JN=)M #TQU@"E,IA?U( +,D=;K?[ MF JI6'A^:WWMH+G2^1Q@) %-%LZPC!:U&1GP-$]\S4%I@"?\,)=(&XH@+< '"* M+G5F.!@\61)7T$H9B$MQQ2ZP+G1RG\0=F*,+E:6RV(&S05I:Q%R(*QTBTR2+ M(9 ?ILST:4MO(/U9NBF(9R"$)VPM/4#_J1_-8 KC4C+T#YX"%JV8;4D-KR#G(0#BD$./0&YJ 67@.N2$Y- &A!D1H M0W38#:^A"QB#V@!(0@:X0FE([D8%%%S\^(AX5'\I1.&A #B,(F]K^*0 R? MA' 2V"D](@'_S0&6%=0=&4B0 BTH/SP!?)#=U F0Z (3(%KY"AIQM!$2.8+$6ETQ3AP%-D 2* (Q&!JN@$ MKJ(3R(I;$?_U *\H'19$, $4<://Z(A"T0P[Q3-4/X@&592A,X0%^A !A 'L M14&TA6P"%EL,71&+$9 LLHPUX0%AS2ED$W#Q8A0*IN@4_1->U(MV[#U@ :XX M&,F/8=PN>R8Q I/%P!CCDC-\C/S/_TE&,V1E*B.CN8R/1C.B!,ZXICRC40R- M=(DT#D33&)>P45S$C7-QRK5&I8,7I>(1H(JU;38*1L*(8D;A*>D!!@_AG1(4 M$!Y-![0P';#0=%26=3@[Q@ P9 $&$3_N/Q9P#"6?C-(1\- 6NC(0< \]Q"W\ MCXO!Z?@\.I "8( +@ %Q14%RO0;Y(".DV&.0#M+U)$648![5@'D /W?E,_:1 MB%?_)"&6ZI#F02Z@'%GR)!HCEFJ,3Z)#8JFPZ-.0XL6XCDKQ*=;%NR@";%,1 MH(WD<3'TQ_D7\? >RM%[K67'+08:.193HTY_[A M4PB(EF%& ABC /EJ=-\ T>*$3F#)50U/^!5JR>>" EK.45>4O9,K[F"&N M0T$ AJO#CM"="G@HF037,I5H"4)!RD4(^[Y$J3R5CC)57L,Q4!S&@*S0#9X2 M5$(-8JEY7(DJ*Q3$\C% !BXI$%4.&$E0TM!"9 AB:1Z,AA@8)\:R6\J: N0(5SZ@(J9 M&73#OT1*)P2I2:2!;_<@XT)9,QN%BF#Y"9 M;X-FT@&8^3QFY@YZ$AK39TZ(&%4H85^MQ("+LGL-$JC3_# +FU(2O-+O1;^V M%_&(P-O04(R2["@ 50;S L-B\$^7,!-V 6%H5G1$@X@KQ!",-(C!"$86'A-X M&W2@@<4%FU<1$N(G$@\AP K"23E))X,B1/R**&'A442+^!2;QVUT&]AA)!:! M>7<2R9)*I *R*PA,A.*)'%(W-<2." M1AN)$G!DS]&1VQ$J?J-/$2IN)^"D7:C3#E0PUN4[F2>3_)[ MOLX48#X[YY- ?QKQ;PU/LF@\"\6<](R1$07LH]GTC_;B1&L"ES'N)(L552T) MXE@DE+/24"+(P,F0-.#@>@.D,]%%RG4W-420_ZHM)@ ID@3A:$18>(J6C M*[1E+LR(^2Z)XAGEHQ5!BE)20&I%C4 5T ):@)/^0CO*,3&F"?T";P\PQ#TT M]DA%)"I=<)/TCP91$1"4B)$L#:4^H&2*3"3S]6@8"HB?1W)^EM( ZDO!9"H- MILBSC>)%+'JYI, Q9:(^P&4"G8H &1#%2\H**>!].E-H>O9B#OW\G'O4FBZX M'*D_K>@4>$)&X&_XAF]J1W%FS]M![K.9UC!VNHK+U <(3;,2.IM<+EU+5D#N]=+G>#\!)4.:CL00@U; OP=L$F5?X15^BZX$ MRD@2 JN76AFAW:X12I='R) >V=9LH3'O:RJ=L,F1-N'KZH^LT):4(X[P'F?+ MC(DK?6L6QI5X."#Q8>[3#1=R,>"!TL0HXTH>H*H[,X9^RB>P&%8H*!1Y'$%& MZ@:0UQ^J1M6**VLB)A4+LLDDSN8@09N>46WRA1Y@!MBF;J"4J!)3FH 5RCVF MJFGJ 5?UKS) V)/R5(Y\*0-JM2I,2VBH&_KC,C6(;9,AO+-<9Y,B-[W$RRD3 MA4]-/#[3 2=Z3B]Y1A<>"KV+>Q56;LA"D4UY)!2 /,ZS+5@*'%-<7V?@& +) M%24L5QW17*WH<9T"F=0C.0'G.5T39#V%BL_5T%2DVTE^6(8G]1W8D'343S[0 M P H0ET2!725#M.^@46Y@RRM"+ P6#P)=3I0BZ3\-*COR0RPU^- 33GJ]KRF MK'.AODZRNEW'(^XDK*+)L$*&GFCR4%Z$M:SU\Y3*4P2+':LK5'Q"&HDWW-?. MEUB?!(4%/Q;6Y058#7L_.:Q"K:2O$PM8)LPT8OTJH]RO O69^M=H"F S+&'H M ;_4Q1[/[XH7L\",?:@.]GFBA,!Z8P,J_-RQ[72 K=@?&V3G:8/XT T(%IFWR@!*&!+I _1% M>J $, ; *$F:(\T >Y@!"90*+* &]( "T@3*L[(B6>17;Y%?\P4, ".<)AW: M0W,X#]VA.F2J[5#2IM=,UP**KQ,;3$%:5:"W>MN-.%6M47>E4?:NET*]J$JX1! MKI(!NFI7/28P= '>T@7(@1ZP0A&NS'$!9X#A'MR$*P9ZP!#0?TU T M:\"C;2J2%6Y65KI95Q1B53 4>C-.=E:'^#>[K."TG!?1)KI9%MM##^>>49R, MTRV@Q,?)/,E:Y82)M94FFM;;R!GA*23UK:03N/+5X2I,/"Q>O*[1E2-T5[?@ M=$7 UVSZWA-LEH7)53=\/IEOFXA+:\[@B%]TO0Z!@(L>W6O M-)=-7ED%:T7I:Q*PKUQV-&[_\U\()%]KHV"NP 38V'EY5"1?[)9?UGF[6\:#2^XLV0*AP5J&RR MLPZ4;X"*/'M-TB@V];,]P$]64!2P0\71"6FT!;=WB,-Z6 XS+>^EC[[W'6+: M2JMI>VT^-+B;T@6H2X4K<9/O\HVX#7?Y5MR+6P4R+H28,6TLVUX>4)OP>JZI M!7,F(#ZJ6M/!:E>H?E0_YY<)X%H E!\))%/EM4YU_?X?"5D7*"2$% \7TOY: MR 5I?U>GYW)_R3;;,ELZX&RA;6F\H$0S@QK-6V-2V=%<>$942[AN-6&[Y1I%E0VL@:4*!Y JJ)JWM/#] MWEN:DV^YZBP=E?RV;/K;MTI-!2[!_;@5@47H5\@@A"]FZ]$,0IC!U+O(2@L;N EL"5&;&3 M.(EBPS5@B0EOW(6O9[;J5@$H (K5+GH-D%,V$V]8.#MW$>_F7;.0%.[&4Z1( MBW.DG.4+=/;TTJ;42SCR;'+DLQ%B#$R!.B &E,Y3*H^MI MO8FNV($TL(%""Z@J$=GK=7T)W4L/WR$[)+Z_=_AN$TMK#YWJ"=F'?S;0#EH' M!(' W=%!_S8WX< M3NU7U]Y" AE_AQ/]Q9 5$O_R7V"KD2=DAKR]T=:"AD9J6VU[G_;SB7P,>H& M%C!6R@H(R ,=%!&B)D08%]J3!CYQ,C44FM"D-LAN*B4!,&7 JH 5+@_6T/(V*F6PU*M+5S=4K<-:8A?K M,FRLP.FQ,E;=X#9%+A0FN5,8;Z9&OV1+HIU)6UVK]P0G+D'2:DM=$MA-U&UX>3 M$-9%Q'QX$3]=R.-U'[%7G,T5@1,/ 4=,7K^B>77%E)@:6V)=+(M;;"\^GE77 M"L0 K N MM;-Q3KMTH#MS!DM<>0OO-2U/Y<7B\7Q@K>R+U;QX M$<0^ 1&;=]W"K"T6_GD" ^BMK"3;@GU^SE,408L &3LY:RQ6=;Q^%_+R6,D; M/.>J)L;/MKC('MD12VQ!='\5T5'VG9;H@7NB,^\P]9$C]CXA9&9M=PJ"W26[B7VP.2V^='<8!:?7B8PF*C.%Q[)7'#(@>&]HI M0 +X F)M+_W'*_CXJN.R3$[WK3'MR)XVO28\#CS,OD;!]D[DU_047[OXUG= MH ]:\NEH_VB')/* -+X#DB,+6[5LFO2QI # RE8-#. "W "GX[1-P-76VC() MDSH'UH T*ES;5D++%M""@?G637YP'-B+6NH0G)2%JBNS%H)&I6NL*U%]DMZZ^OI5 M) $M8'8A\7N&SW-47N[C9/NNX_4Y[5?VVI3NX@)-00_T,"72L=E(SU7F3*.A M(X86)DPZ&,LN*(UG98#)YA[7$4R;8T"+CH6O@ R^ZM =&]MVC6SAGZ7^M YCYL+2FG!.9IMKF5P[JU--_KWBHZDZ[I1-9V>!#CX4.LAW-SBK:ZMOD/2]U_+7:E-W8M MQ-R5>]/F_$QVM6MQE@['.3Z_XFPX>2]QDI[%^3H_2V?T;+TU-'8^W[3VW9^J]O>OW,&7/^#M]R^=$V[[K,Y#&GS8ZS=+7+Y"=BW0C MF85#F)D^WC ;HR/V(&&O.,!_7UY4',$9*I?Y @,\8U_P)^*B=2R,!KPR&CRW M5QL@PB.IF2WA"Y9PKXH6JRA%32#MN .VBM#:!\>H!_@ M@/[?))R(#U,.36,;=%L0MBV<1_=8[&FBX;>0'J9&MD-;\27[H?ONB^;@,#QB M$T,@Z\5QN!7%T6/#WV8W?XLY[I#GV__[8HQ>!.FEAW$"C M- 0UV:VW2@L3V#L#$$3I%;19NM#:8RYMLC/CMK @3\(M$[&@<<@X!_].%IO< MY?@K3\[ &VO@5@,X.]2B@.'=LS$$BJC3KO9.VZ$\'01O[0;UT_#W5?_:C#RY MB:VAQEPU6Y8LZF?;J*7M*2?)(Q7%F-2KT<$(D='@VB'9:XO S/*IZU=.KAH+ MKZ$U\P^5MJ=/)=2IZMW)43J^)V"XS;<1=#HGB6)7=:IMRFB2W;U8J@N8GM);ZK M=3FO&NO5S"F3Q5YN,$I)".WO*[@L=F M0#S5K[/3$.M7_6!SYU?\R=NW*1;BJ/A)FF?Z+8CEM]-(X6D=?P56J@3 M: ^9/,S%4>RDQTE8'$S[L+1N#0=T&RLVAQL++9.<6I]KJH!S. MVS8Y;RV[\)S+;:2L-4SU4CZU44-5TUL9W+?MQ$Q=YV(5BNGPLKK/82WB7JMA MV6SNZL9=E@DZU^NJ*2?SO&731*@9I4)WRPU=+G?NB%ZL525%YQX7_<=K]-/= MT5,W.=WH3( ).^&1>T*8:@8W\TK8S!OA>N>6G6H&=_-*V,VO^07X<9U'!G^T MQ&%<_$]*%[D_7U;MU>9]FHHZM52?3%0])77MG7:=NG9UK]B;@!;RN7V]";+[]=5DW M]<,9?+MGO2Z)D;,H5LZ"MZO;< CNV'ED$!BQG$&_/HG9GMGO=7A^WZI=CW=' M8&\](,NPI^,&5? Z<+C>V"UVFH6N@[U*=) O3^PM<0A']KA=V5_1$8N=GM6S M?^'2--?3<'#/V3/T%/\>(];-AX9S;]JC/1>G*ZJ[1O?Z&'M#Q"-OC^=R0-A7 MU'J?]N[],M7WUIZUP_ML#^>Y/;0O^(L]W[?Q?6]%C>P*&;%HWN&C>WL?\;\\ MPN_LUUL++/Q_+^2M;=L1.H9_XT!>R[OZQ1W;&F]&7 M_H2^L"B?W4?QHF]%/[N'WE"R_>''<,U^VX*K1VTJW"W$-LU>(@^^6K< MMG_\J,\C=_O:=PM#\K?;\2#>G'&[SM_C1?JXZWHEG8I#]B ?V36?1Y+SNBU MO+7L]\6 RRFR+I\^23[8!GBL^LL1M3 _\(Q:P9?&1VVUKS;64^8G66_]!3U( M]13)88E>P:\?OR.\8#)44C5?7J':"/R*MVG\T<#U4V4+VP7\T^K? _AK::?Y M:9Q[K%0(* $A=:2^&"85!%;)R+R]5%G'U[DI@4U.F#3Q0-.1&^+()," D6%$<@%*@%)X!=XC-F!59=59&7\19C(ZF,&KC]38%6D MDI MM(H; + M94,-0W%5#F7;B6$,(*-WF2T)P9N5D8J$%T+ !2@398"6W@9(FKT7(. PM;-M M4G&< 75$C6H!45M0!$83Z,5Q] 5V=R/(&O=+45 T8"N5A'P!F= 1@*Z5@R#; MPB/]C0'4WQEP6-P_+2 [R'8\#E\@E4;VS8/8%)9EB4@!W8$C,YSY9KA3]N>) M["I-SAQ@?E!Z*,#7D$[E6-U>+U7V,8'A8)H5.8EQ?& _6#5=3:8)0;@.*AK3 M!$)( VA(1E?'UE$UA/F9)?(WK"):EBR5_?T=3Q.8!?[5<8-,/"CWR5/TX!C( M(_5F@9)-HK!TQ8351$WQGFEX7=Q,V@2( 04:.-(6^E0?V@,T% M+J$;N(>T@VT' 40#R(!9H4T81>&$U]NG$!%. 1.A3TBSO3\53-+Q!6B$B40/ MT!&6#1_A!C<4;G$+(5((%VIH@EU*B#=E15"H]Q6%->%(R CV86,-6"A9E5L$(5TS%?(A[B -@!6F?&YA M0E42\DA>(7]@&IY08J$_ABK@26:A05@5$@@U 5L(&XJ&5E8]"%X% 7-A71C' M97]Y84:X$?J%'J'W%Q(:A5268<@5)H8D('60%G$\OHZV8Q0$.WQ*S"(2%#M\ M"D>@[*@$C@$(@' (*C0!LV,1Q ^B]#B'$%X! :2$&F!KM19,0P)XE8EX/Q7*8M"*=$D\BFZ E88&C MT8(W*((1XY^7V/M!>+_?DG K<6,O8EX1)%IX8D +L"-6!?%?2%8JSG^;"DH0 M_/Q*5P5'$ 2P 7? XI*^(!U^0<\3!D1<8Y&#.'G@?\/!,M:,K0DXS*V4!S2) M:).OR%SX;<[!E @>#$/.(BV1 '9(09! )FH1BDWB&B@?=(HK8#0H$I&(6-&U MX;M1@V3)%% %" '"01'0&SP!4$ 6@'TX5I!!T#5\G(E0HF94ARF +!)DT/F) M6NN+=['>5 2=RV=P!"F ZTN*V(N $^6$.+'Z,0D,HX<48J@.#R. %"E.C+)" MQ