From: Andrew Nemeth Subject: TStr255 class; a C++ class to replace the pascal Str255 string type. Why bother? Because I'm sick of horsing around with utility string functions for simple things like string assignment and concatenation, either with pascal or C strings. The class has been designed to be as transparent a 'drop-in' as possilbe, and use of inline functions mean you don't have to pay any speed penalty for using it. A small metrowerks project has been included to show what the class is capable of. Step through the project's code in a debugger to see the strings chop and change. Andrew thinks: "Shouldn't Apple be doing this?" Small CW7 project included Andrew Nemeth aznemeng@zeta.org.au 24 Oct 1995 Blue Mountains, Sydney Australia (This file must be converted with BinHex 4.0) :%e46G()b068JBfaKFh-Ja#jcDA3!8dP84&0*9#%!N!3MIJ#3"2Sa8dP8)3!"!!! MIR*-BA8#5!#3!aC)5#!J$e46G()b068JBfaKFh-Ja!#3%1Ei!*!$,J!)!83"R!# 3!`8!N!q'!!!#!2q3"!%!V*ET&+ba5-F!N!CBAJ#3"L,i!*!+d'm0$3JJ8N9"4&p 043#3&m86!*!4&J!!!l3!N!-@!*!%9%9B9(4dH(3!!+bY4QqXV8Ca!!!"6!!!!Zm !N!2C!!!"j@+"KXm!N!E1)K%!#"c-G`LLJM2HcM1fI(,[j+cNlM11D[G83Gb1c6J UHF+-PfSir19RFq1Z53Q*IIa*54iRVSN)'@`I+ZY)jR0mk"Pr4mrBCT0XKA5DF8, 0TK"6B'cbq3$GGUcTQr'5drBc$Yl4k[Kf6$9Yd463q'Flq&669%$4K1G9dm$Sd1J DlG5"cCKUT3je(2['jUi2U3AcY9DhT1BaH3re"C6BbUI'YQ,UU%mc[6@'5bQi1Xk C)FqF!%"Hm1Vp')Xqkc*)Rbh2+k)9#V8"-ZA3G%F6BC45*ZZLTrHe!!"4ZUkfAUi dM*30'bD(r6LCkGY2+)`&`"0dKm0#S3lSkpI223+'!2RBS0[M!jMa!GBGpVL$)-E M'2P$Q3"RXljNSE!6N`h5)D(%,3"SjI1iZE!2Q1YPJE$I%`!`!c!3KAQHK5!AmS+ S(c0#$[Z$IT`G9r'iN!!(qf%S$$)J)Z!"'q6&-FT"d"r`a6L-910RKV*m)3cF4-@ ')BmEqd*ZRUd"(c&c8BjJePL%K2SBR*1ZZU4,@A$I(3ET2Pm)H(fmNZ[P+qrj!)N Pb"d+Xfk8BmRUH4&NjIj326ikK+5!)0dRbp'RSV&I2a6dKhb,1f4C2RF)C%-1H'' S(LDUBe*Q4#Uj)&MXI1JMZN05@d!@3)8c,QFJZ%YD)Fpb"i-JbiF4M2T3J&M(X)r 2`iZNRINK6j!!mqCfaKNB&8BC0miCULcA$`12Qh@RNa&&'FQ!l0CP54chGml`'"B cZNdiNGG(I-"0KY$M-M2*INM+cGepZK`3HKM)jNkZl`jPmV1[Klc)&mdCkD1`&SM 5'-J&[AcIGCCI,fl*J6QILEirh%)N&+EPe'TdDTcS-kXaPcP1&VVlKhaNhqFYqrZ `1aQLc'3h*e5Q!$[K965DKX*@3Fi(V14,NVMpSE!-T'9l3ljXS10)9eE3laEbca) !$3d)FfKPE'`ZBh!!N"HaA!#3%BB!!!L+!*!$&J#3"&4&@&4$9dP&!!#Vq*&3V*E Tf!!!!CS!!!F1!*!$c3!!!jRY[TlS!*!'5$F4!!JFe"b#'(!`pTL4[rV%hBr)%4H 8@IhlYjHi8d6QcNbMkHQqP#Me1"&04-KJqe$CfCQ1$chMlqJCfe5F@I#@a$e5Z2J X#"q@($Ka6,e5q4+*'"L-K#QZki[r*)[YjBJrFHp5HBUeTE*0**ff6q%XD3M*L+E 6qJdlcXq#`LIZJqjdZ!TH2fFNKAqj!`mjS#I%HVE`T-cL4rGr0SG6C%XfFT9d*EB rdGh'EqV,!pZ9D1iSe0')2a$XUYXhp'M9bZ'qQ#P+cDjjh'K"V8d##Ni"b1-*-S# TR"aE,cRPkh8b3XQcpFK+MUrm#$h#28)cFT`qBH5i&f%%B29F6lN!HA'!V`Y2)ib JMa2d)`!Sr02,Nd@jK"&qK"p"(&r*UN"RhhLB$%A)P6'MY%cimDA8PPD96D0fPU+ MN!#l,ER9L[UA&p&2MSrlP"SC`J(-C2Y%febR1HP!NM,[bZq!i&9TC+S+C51-9Xj 6c"@9-U658!Y#X5j9)bYNUQed)BF9+)+MTA%ZUfRPE!Ei83,K*BaDA'Q-f`D)23e NiH`k4(,JB%D0ehfi-CD5S5BBkVAP(%J#*R8fP9&CfH6V9K5LCmm'm3pDf-bV,Cd MZ*M6DqQp,T`M@P6`N8C,SU0Rciijqa[,kDkr[e&4MTaIMf6&$+ID)#H[!*P0K6L Q&j@GhHTN!FZX%6kP9fNN4KNR5I+0YUQT-L9kLer1hh90'q8pdIh'Br(Dbl*%aQd (12c@"Hl*aZP-L!,G(4#rdAib(Z02r)4H6@'N5R6$ZfUGFhZDdUdFe`MCSa1C)R4 @SRQ96a8CY9''-V@XeQ[PpaKN3Ie4&R5I9TaM,J-YPE*8HVI4#,6*ii8-qMdCYe% qM(-8`'-Pi0edFkZ$SJVrc2j54HqfbVm2Gj5m0@dNMF0'QNS&&,3"@(8DVqA5U-$ KINK%9a2KPVrK"8Qq1cT)8*C2la-5FqUp,CpE(@QV8HP#lI9QL6"B$5(-qV`U5-" MFJC4QNX[a$"HaqG4YES2e2Z4HmBe38"&6EQ52[B$$`PQ*1lek#1XZb3`%[KXh4[ cYbA2eP*La8a'@eQhGMmiCj5dBSR[#eQSK[9dFACaFKG$QTqBCMjCfRplf)F5@q` M[LldM@,Ci5cKHZaqU5[Vfe&,(UT"FlS["QJHDM*RbbkkRC4YZd,mTIX2i%XS45Q pqT6,AI"c'YacJ1SceMkJrr%#m`-d@hh"jV(rZ`hIrK[jK,9hQ6mbiDbTfbQ*b'A TVKpEJFiI6AKMTY0@GHQ`-VZ8$qK*1chl-dSHrAHTh'FrRClmANR61JhZE3iqSeh qI(A5IRfYK-EjF8fiDf605p0Yc+l-4fqHrYV-d&Iaj-dKLlX0QY0`YbQ-HfA4pXB hEKe0b'L,)9mUA[BR[1-i+hh0DmUVJ'X#VVMZZJ8G8KRpUeXQS*pIR@'E%r'Rc1* +kcaRa#F8b!Gd+V9KeP6bTH&`,XQ)`i60q%"T6bGFQ*R#NmIC8RUp`D'bKi2TBr) r!!d0%90dFQPZCep8CA0d,MBiDbke!*!1,3F!N"!$Y!!!%8!!N!-@!*!%68e38N0 A588!!+[iN!"*V,&)`!!!)a8!!!63!!!&m3!!!P8DPa6)!*!'D)F0`*98[RBHXl9 ,6LLR%ACb2%[#Mc"#Mj19(D((#58VSI`*TbqRaafX-['%HLakK"01MR)m06a02$h 6)rLRR&$#Mr#RA-+2(#F$6VL%*H&(1'&(MT-*Yb2mb62#mXRa)a1@K"&1+"P``L+ FF(+F(#F66Ti66MMKK*2Rj#QCFF)TF(h*eMU2(+HAXPZ6VmFL6iq`b,%R,$,MK"0 q!)3$Ne@JcNm!9`!#!&Z#!!,qFQ8!9A&Xb&99c$,8e2lqZ'*DSCE`D1J8Kef5E&L aAI%YG%)@qkdq22(LI3kbpFjX(rRUA[bUI662hTedhTiNAC[N%He*!bY$1%$9S3, i#cdeD)Ypm"lm3-j6Jcb"A10IB0mfi!Q8(eQrmk-MRY1MEp5I*V6Sa(VR%q"e[rI 93pX3f)f6blfLPT)6@TirMk`Ub&PZF[ClAQrmV4i%2LM+LHkBd",H)d69e+KL,$" a*dK5j2+%fRCG6elc6D'H`Ypf5BUb!AJ-DSPa0J!28BTf&HG84Y8"BGHBVKN@YFM L$&'-GM!#H24'rYKNeh6YLI8X%Ec*`c#0""Z!KcQF,'a6kJqTXk[S$p-DC`6`L(I faEP33GU!f#Y%YNFD'h-X("jm+0(Bb!6Ji3NP9J6jNiI1$0"9ca0Cim'&K[ra'3C -PmH+V,!1H8LbQC!!NeF%FA69CC-9`#149lDS+`eXP)HAmVLk3GCiF+'&h$CAAZ6 4Scbc-U-[dPh+3d%kT,4K-9D'-+89b9`Y'Y4,fC9PNNa[*NUdb1+-@`Nhai-CN!" -ZcYf#b8p4+QhU!Il)q(L)pMLM&X*GjR(MB5ll,*E#EI!ihV#,I&B6EJPA9F6ES( (pB5la11[K*X6j'E#,I*B6EK,0'iRh!)20N$#TF8)5+DpDUUj5CJ)Yea1TZ8h0M! 5+@bUe3eFi(&pFjEd@0fF44jV'fD*aqd08q$K#4A5S!pjS2&,dC-2*G9mM-XQlLX 1S6bdJC%mMqk"N5+2FR(j@Ap@9$'bmqpe11ISiXEcS4Uf%hrRJ4XQQFm`9C4(8MC 0)D+0k@TbAYfdSh(A+d0-!&hrb`bCM&I)LQXmLTZck,2-aV2b0PXYrLll$SD!Kl3 $)Dd)G4aY3l8D50H2plK$""+HeSNDYAF08IFF2`!e2&3&H$S,m611`-GH`Upka,r &'aX#j1X!iXrMM'RG8)BS"jZ,'N8V""XJq)&%Hafmf3I"NbHaIj10mm!&'lE6#ac N'fh$1A&(&r!K[X2&(6fS"Lk1qc##rG)"HVB6226+c1Fr65(13r9Eje$V-bjqN!$ UF3'IG$QdS3HifPERk6)fVY2Yh,T6N3F9`faPUhLJlT)(-23BXU%UCLY,a3-E,hN !dI3UB+4i!!rPI-MG(e2(p+3LG#K+iBf,@9,d')q`Adb!982A5-B5Xe8*CEMHk!q ffCeRkAfP2hXhHLVh#*ZV4l#Fb`ibfEG`)IP[l50eT)9lJ8)EZJ&HQl*9[FLb#Ec ZKHHkc1DrmTVXDPq"fcl6m@8@C399IlpTiF%afd'#'[#JYp2E,P2RS1`X%d4I8Me h'Ff1U8qS+mVNN!!fIY@FfG6L*JV-dAh1Q`$M`,58ZB[Y)`G*1IIXA$Xr[kbB,HA NXEREri[rKd!qIG-Ar"jE0T%Qi1bhN@VBU$pZ[e,r'S[hE-@*&IaaqcRA5qG2I!1 EmE1'BJpm"rIM*rf&c8HK'6rl+#Cm$'(m2%DaS9T!TfkST0KcMB#lSVD"BVeM%!1 SXdm"GKb'IX6f8UbI"c`NU+1RDZ"l'ji'f'MrRm*k!ej'l%Q+KGq"`iMC"`I0IML #mY(h)BLh`EZ)f4Smp$kF3&AX'li(cq%qJhUEkm0li62%TQdc6-h-S&S,UGAc-qf lqaHEYf4S)dV#%Y!6TUUP!QPF9-e%C4VXR,!-fI4f$UU@C["G@XVbaQ9M[f)&fK- *"4rr*GNDaRjlM*qHL8Dd3H8a*9@414Qefea#PFi452TN`)9lC51&V`bQ0p)PiM! rr51%0)r-Rb,F35'm[,2EA6i"2$HDCI-r!*!$#N!!p5BpFLXMaij-'(RD%8UHNQH %2D'%bXM4##-c2#8VS4)mBEFH1cbj98+68-)N+e[6Ske('*lF'X&IGB54!50Vj"K j4KKKj0Q!d!JP6%,*J*%"Hd)Palc)K*&RC%!MFdBS15BjGQ4!)a0'MK&fK"&'RT% *)j3-m-$PVE+6--Na,im`-X+6C`4*$!J2I!*JeH1VMBB,J&(Y!C)fe4Cj*Y8Ne4S 8$&$Y5CFDdel9mAZcfEQ!e+[TXrTXr[Uk&,'%*+qV8*r`+PlGmE0cMqp%VhHPi-J 2lm9"B9LV1)pZpM"jFiZ&J0S4(&p)p3(fXre,r0NDP+&&kh2`lDdfFZ2,qQAYPIS S#1aEbQek,"1Spi!$Sa6K[I3rL,llMFa''p$*'#S"TLH!m9`QClV62UrpERhLp`$ EpH!SQbQDK6ahS($UKCGGa8VeA'QA++JEj3jeSdaT+EHeU[NeahAlUe0lbp*qm1N GQl''4bhZd*CbkYUqSE'cCD[8p%i-$Zk`fm['8dNP"bQGYR[mDSBQC$J9fr(mNkI 1E'HGqYV(@X9LcZ!19*%eXjQeYNeG0ZCC5fDG4eSRkYLLjMGYfjRF!3VUm,%&##T h0%&0AlY5FIfr8,3[VKb591k!28H+VKDSicG0+(6L[BT%ZaXU(Fk"33Z6-DMK0"P 5i5i`'$JGCY[+'@p(*&AfNr6pQ9Lmdj(iTIihX6b-a%IU1rG0jSc[e1EY$E@A)lk 5[fM5@VRrK,V$9*I-[1Z,0hHr8pMAI*[0JYrm5H-A@M&,cU@!r`4%9jZ"[q'jrJ- !$3d28h4bD@jRAe4PFh3ZC(0T,V8!N!k$CJ#3%!L+!!!6ZJ#3!aB!N!4849K83eG *43!!UeSiqU[iPQB!!!'D!!!"43!!!5%!N!2T`A'kkJ#3"SbX%3!)(03FJKMSHHj ,56PJh#$8)@IUKM9M0NAUUZB)M@ZELLU@13ce,eiJ+%@%TIB*d8cT#fG'2%jS%a% bf$j8eT&5D[SG2@1E5YN+1EM@#4fJCfH8@V3A8MF&F-k,F3k8EbFFLrS2kA,Z5qL dF4+P"Zk@pCYY@VpjL`SSY9DAV@8!Y4p`8DJLkPpk4e6lQTBY+KcA0B"kG+KiAjr i2Pelp3R8VS$keVT[XrM0Z[ED,&"l42GG,ff*)@h,1R8VeUQh"jT4qliq'k5f`Jc be8L$h-UC33@[Rc15`MpEM$dHFN"2L29Xi8QCaBrZrfa2aeNq%idlJPL(-X'k+AK NB,X0*MN+G66L$`5l1TVNlp'UPF0p-918AX'XHGaS3De0!J#3!e(0j-$&q%"EGpJ I!!CI1THCk81JRMIXV`Fbr%%Ib)!)B%+iRBD42j6Cbq8,ihU!4E#2ci1&3#KXCJU k-m0#Xbh0PGUV9B$&S"P)DC+8e!Vjh!%3CA`KB!CKGcC`Kl`J"$&`Ba$aS@bL&iF ab1"#(Zb()D'K9HYH+)`mi4KIX4'@Np-)HS-(HRd!qF+3!%-HAaJ`2Z36kZd'Bkp @PRCT"&RKNDIZ%2'$S$q-H@D8!Gc"B%jpQ5B(A0MR"Ij36LUVdE6fdR%BpY)(BGJ ANa%Z%hr)#k2!6F)P$`QM&6EH)bfc,,Fr4'jZb#[F$b!J$+9"@NjI9&088M)e03# 3%er-!*!$,J!)!1S"R!#3!`)!!"&!!!!M$J#3!aB!!"3U!!!#%2q3"!%!UrL3!$L XUTe'!*!'),F!N!B1j!#3#RI[$3d139T1Ae46G()b068ZBh"T,V8!N!lDf`#3%"1 k!!!F0!!!%lS!N!4849K83eG*43!!UX[K+kba5+N!!!-h!!!2b3!!!C8!!!B&CAb mC3#3"X2q%3!)!$bR1j`Kl!L`bHk3!"$M5,&heUkj%d4+@Q33cA68V)4HbAe#35P Uek[R5iR@pMLH*L*NX(fSE(DHTDEId61fUC5Ym!df13jkaXlecMdKEdprjm3N2`j aR[j4ZU!AH6mN[*Xk05%D6DFKNMi3*b3'!qqR'kP(jUIQ1+P-Q+i[!"r4Yq$0(5$ T4%BBGa`$S#p"G6kF+p1cSAT824j6c9-rTQf1V@)H!VhqQ0ZiTIEX*J3jEP+T3(D VXFG"566'+0@c29D#qGacYEXK&d#ZNahmC#%HTB*),TTY2[--@G5Y$RkSb#cRJVP @m,i&N!!RlU28M()1PRq5kKhPi$X+T2$Sd0UYjrSbqcVB(CG#j$aEeYi1KJYP$(8 -AC60c@1hi@P(dp2[c-3"`9-&bFLJB[l5215!(K$VfGb6-SXI2EhG5Blcf%`d$m5 4I8[@$iYFZQqY3NFj#R9qARbE30FfMPEJ$`5l1TG@dLBJqMYkb0qM95Z(EmbaS9+ cDhr,D'FBlGY'#a[Y@Df4,E3@cAZhm4dh[Yr5fL3,6[(Nm33C`23i1ECHI[Bb3XP aecL0m$@CTCc30d)r`JL,*TF!V!D`2J!6RmEaCr4Df4&'d-F*qK%!9&GRbE5H()Y 3-Z,Nq%Xii@6'bA-bCB5[K"iHf,F$@+YiRPra@MmG[M`p-8PMFl-Ha(i&*mm5%FF bS5!8D8TpRG#45!-4NT1a'Vp5+qSPmSS1j8LD)G%cN54UT$@eXY3N)P5#D12"!kK jiNd%N@M`r4YT4&dRJlV)V)R(+T38*&)Bf@YkQr4M&T&920!pe9Gmj'h@U2%YrMl JkbhFiYI!pr[8#3c8kRjPcIIA+[k*(NQ+Y*%TLDl1$*QK5Pf'rXph2hr2%(4'8N5 3!068P55Se%Yd[+UL%L8b$NA!m4P,JKP+LUpT)+5YSJ'CF5cVrLR198m+f-"4MDk '-T%N,d(6@'GdTE1`4d0a+5P,C3p1RBQD[3j%K!#[q05'jjGb-%XZ4YK43%fCP$3 FK9Vdi%%$9@&dNR*k)h%Kf8Y#SHV$Z%L961SqFXRX[B10lT'+P&'J&&CGJ19dTHR lAZlB'iha!@GEebFGT*qi1pUQj4Ia(Pc8A5SMZE3m&pXAUCPUcE8K%`a&iRRQY6P 3N6bMq`dkKmTEH&TITRGE#%a6+G$aZ&6%3f8`S!B4XfLcQQ6NXMK%'38k-VK1E45 ,[)T)epDi4BSIYdE0iZFF8TZjK&5ka$EQ55kh)31J)jL0ac-P@&liQMRU(*jfEQb jEkX2f8HMADDF"PTam52,3*MhG%i6VpV)5I4k!)r"PP([BqL3!*Q"2%q5(GM)mbb YfAQDmib%@85d)`2"6DAlYK4RM94bUNFQ+8hEbH'&jN4hG9r*J$Z-K5F9M3cpIKB &4ZNS4@fUB%MbG3bKZCeB*!*l3bC!D&%!'if2#"UY`kjq$IGKk([0TK-meBICU$a PSdEh`J%ZZUKT4!ZCh9mb%EVMFZkY0T-l2Akkkrkc+$a@%Hb0m`S*!SNmC@K(3al cT'8*+dQ-A@2LbNqc1!iaG1MXI)D+!!%b$2Rr35+kAEX[f)0k-q(0,cP$*HU1l@$ )E9DQ0UMm#NZ-246,JaG-T*14#2em@D4,+`!TLlLN%)2Vj@#ikp+EYHCCiaaNT%1 G''#9$NmiLffU&2hLqdI(RChphB-6HYjj5LG21Nrh(p(1,V@HYBjhUI1B'dalTaK +!AV)KUVc`RNLSPk)j5C081Fj0Y"mhP-5RV@hQaG"h!JJ9b+)fE"$KE8$$hfK3LX 8Q`36+&*a&JTZNX*+VZ*lRV9iAD3Eke[)[8LmL*5q@h89GD@Ba["+M&-X3T-PN@9 ab@j2raX9"@(@NplbpCJH,Nmk#*hdB9,R@jTrZ5*@'8hf8l-j`ALl6'e8)YFflSk irlK,m1f%9P"hh(JYYc&b5lKjkhZU6f@k+E*FYdEpPql6RT'Mpfd'6jlR)Lj6aBE 2$BG+h!PeF('!QRmNM#MRh++8blQVPB@Yr1jXrCbUY1&Xh$TlpcX!e6m)J!$[Pp` (9L$fNdA0Y@5008b#IB&D!2@!)m*Fa$%pT))CV#!dTZZiLh6BMXGYp'(+,DJLZaL +62%%!DHVmm`jDSlj6e`BL[I)i++mX!-4J"9Ua[Fk%S#+aVY9fli@q3mim1C!i$' !3B(4eej866X(k`0Arc,&YrNB#b@b+M[M+mii)Ar1kM0BM"3,hG52SqXc0i6I!Tf [!j!!`e9eKdlH840d[Ql38Rm4pAGjh6(feB5qZY5UKb%e"@lbC2)*Xam82fL)+@F eDRH1RYZpb1F1Z%[SmVZ#I9bc)1)K+qIV0[i2[F+'*bRI-Z5@MXd%qGkF!i++2Gf QdS[edQrjZZH@HEaiVEd,q,$G1[dRBPFKR*rRAB5$pMjHCr%LNDpp@aR102F"Yq8 A*[#PX2-&%24%N8$e8b9p)XCP9a"6"*I)J8Va3M5MaiBdkBIMQaIGeZ(*(T@D6GK QrC85Lj5Ib#MJjf3d-*j&'"khmCeFU,ST,LK10,pP@@[!DQ,GFqQ%JbPAkrXFZGh N44kH"dd2Eeei"HI'FiI9UMfGUPHV)-"$k(Nh3QTUc2EMr`#3!`f3!d&D6Pp88h4 b-M8e,QK`D5ke!*!15hd!N"!8+J!!)Ti!!"1k!*!%9%9B9%0A588!!+V,iD5XX8L E!!!$E!!!#NX!!!(C!!!%)A$ZYh!!N!Bf[K%!#!!m6cUF)HcSMD[Uc4JDP#,#8V[ *5(T%4QLQ,bfZU[imL63ZS9GbRj!!ieIUeI1PHCc)*L*NX(fSV#-CcpEYGr5-E5T P+hak9UB8*$e#-)j[e+LZ8r#hF!),#cSB*p--+Y0`jF&T9&"-SY(d5!VTPdkV9-F pL"#4$-ja`Zai-jhP"b,T&+F)5L300rE@VS8lTdKXQMA`F+4r4,Y'E59a9CdC"L$ 'BDVci5DCRJh9SqVaQ'UHqM&YFf`9ma$SNFIFaX'd1dJ!)H5i5D8#@NZ1c%&*0-B SeE-p9S,jmQDCM!+ZA+ejPSK3i4MFFe1H!Dp6UGA",EPQhKj!cYi1GKHBU@qBirX G"cpENNHT)*+,l&0ZNQ*1JZYS"crb3E+lQB2"!KN4PTb9-FF'ZFpam!q,c'Td6V1 jAXm@$[E1pVjaLhRH2h2`ki9QHIecV'*6"mm[PNQPR`cT4&QU6*ZEbfl0dikQTpq CL31#T`U5N@&1)[Pib!%pB8I2&TiRC['MTlFlc,QNCGNB26K(pQPCIcPbkEke#Kh P+"4fK"Kr)0M9ZGL#0S'ZE4a2S%e!p(Gib0qM95Z(EiajAURCYEpY0-b'Q#PD)hY VcEQKm3h1e@ib'FG0aK0DQ`3!!!Y1mH6a""R!M$"be%XQAiqGR+cNZ(KkXQj06[N 4bJNpLl!e6MJj6JNPP!#XRZXT2raj+`2)U&q%(d%H*qK(!""!P[AQPAa!@%GBC-+ 2(#HSiALb(S#H2ANkd@bF-P)bj(kViAPq`qYqhlmm'aLpffihBlq"Lel#XS`L(LC --b18T*(59,-LlAD0F*CP1m3S0b)4CJl&iS5-)XdR#3Xj16r%C%3X5G5dF-"C*VL 'A'DdN!"M5TN8Nc`T,1,U5-CF#m2!*[!1ZS0$kKeh"`0FiZFAkXT)mbReHFT0623 GdeUN5P%hKaf@#%EdiZA,0V6BYB5)((pac3eV+MeZXV`!qj9)1)@D-m1M`'[60lQ N3[&%4@)Nl*(AhU(GcqcP(Zl`lH,p8cS0$C5DIU2Pqrj6)F-NMlLhRjNSiU0Qr-S U&9qVjH&#NKT4,42Ar0,8S)LVJU80&4lp)LpHQ6VrRHp0mQ%L`X$h&NIel6dmrPb p[[YTclUiqmam`N1@'4Zm'S53!+RA4YHJUbBFb8ANULZbKYB'3L@4R4aXT`+C+R% X'9$2#VM(eqL#P0kE!%NaPLei#CRCH+!YSL@1M[HETaZj'hM2rT!!qiLJ4kjIXYp YG3Lf#[38aNa6ifm#DkQ2lNrlCkF1JI9rT848"'dbhqejeXb0im8a-rHhk1@(U+B 6T[Pp8!q85ML6Yh$rbic@E%j#4Rb'V-",,Le'(K8BPSE1,kS)C,(5jY(,@,1KQ`@ ,iVI94m1ji4q-04$$peibEM!-CT5J`)%D29V4,[-#K4-f1blZ(pLJ5l@i3X2E-RA 5RMHk4"laFQ4iqTJZbDqi,TF"aCa02KQb$-68m!FHQZa*DCk`##TqNNrKhR@m-qi 9%$`[&E+ITlLeccY,0*kA+$Q'hA31-!"FaeiDLmaBle8[S1MGBMMU(are$`Gf,`L C#-NA&48%e5b`aeDUZ(G4X(fZY$h%VVJ&Irlm!Yhh(!kY3@H*+NZr6SE5hLR5N5J @)4(9jUMd9Z1MDIA1BT'jhCH9%E)U3dkj$4A$l@)SBUBCUeM@KX$8c'9S"f&'deL %-B6HjJ,&Ck`R9#$$r12k5FPAFj0Vj+KH%GMH@M1hQASNrQ(P12d",IMh80p1C61 @()BJ1%K8q11*ZZ*I-X2Uba$95brE1h6,"DhJlLbJCr4L$DPXNSV9ADA3E&%Um`V 4Qb))P+@)(8FmCCi1XEA[8d)cfVHLp$PH![ZbXPhYL8dYG$Vrj-50P$,c48lF&VX (%35(Eh1@Z*5!U[1aMXMCQfm2h6m3+dQ9S&DEBN2Vr'+e#l+i(mdU60h9p&QKZ@Z 23VGUN!"r[D2&Uq,mfJkMDJ[GM*Nr25mEUr4EcTl+k1hqq3[cB,1NlV)S4ZJ$TrJ +Xi#fYXVAr3lC,Yl'ARQB$i@%aI-r!*!$)5%29&0dFM)e05"ME'&cFb$%!*!9,J! )!83"R!#3!`%!!"`d!*!'%lS!N!1'!!!#!2q3"!%!V*ET&+ba5-F!N!CBAJ#3"L' S!*!+9aSK)3p88h4b-M8e)'0XBA0c)-3!N"8Z!!J"4!'F!*!$!3!!%lS!N!F@!*! $KJ!!!J$rN!3"!+b@k45XX8M(!*!'@&i!N!BKU!#3#[fTCqd!!!: