bytebug@dhw68k.cts.com (Roger L. Long) (01/06/89)
[68 Searching All Directories on an HFS Volume (10/88)] This Technical Note provides a simple algorithm for searching all directories on an HFS volume. Changes since March 1, 1988: Previously we stopped the whole search when we encountered any error, which caused trouble with privilege errors on AppleShare volumes. Now an error will only stop the enumeration of a particular catalog. --- (This file must be converted with BinHex 4.0) :#P41)$!f1#jcDA3!8dP8)90*9#%!N!3L[!#3"(F38dP8)3!"!!!L[(*-BA8"!*! )!KS`0MJJ8f9KFQ0S)%&XE#"%DA*PBh4[FQPPF`!!!`!*MFi!!2fB!!NGVJ!$A0` !#BGD!eS""J!N!!%!N!-*(FKA6e*%68&$33%!RdV!kjpr[Z)!N!BmH!#3"L)f!!$ 'PJ#3"PMQ!!`!L!BJ!)!"!",qq`IJ(lq##AFJ!J#2BN)FI!!Jd*L`Bd+%#C%!%0P 4J$B"+2k&qbG13$i"4JBF+B"L`%-"(8@56'J5*F5%C$SD$%"8k)N(%!ekA&S53)B !N!#@!Q&+Y5T6R"d!B'@D`Jm!'!P$N!!!i!!!$`$arXN$3%pY!'(q`LKXZ*!!SG+ I6%8B!`!KB3#4!Y3#-#'iVEbhF6h@CEJ-!!B!M4m[GB'R39m!+9`48#DBm&V$Ea8 $5*!!d!*2$J0`"QKJ81$SdJ9C"dc))1&PS3d8c!DJ'd!&!%hU"9Pf`aJSHZ9#2"J al`d1H*lHR,RGj3%0H*qQ@'"bkmHC"d&825"#Kd1*)aJ+`"Mc!!Qp0e-H@0&bldZ E[Ujlrel3"m3,&@f%NBBE+Vc3`&5ZN3D!D48NF%FDG+!"3K0j$!'&%##3!2%'#%+ 8FFD!$359)'bVYCD3!)+QPEJELNl*mim+!YMb`JQ!U!&+0DqXm8J)mN!JcbX[`!2 0LV!eC!d!-`cJ#`!00"(%%8PB''8%!Ic$"`CprEDDA+k9j4X!-BaJ!`ikJ!$#&'@ %)FFBD!ai"JK"X-%'#%5N)8FCBp$aKKaTP$%(#'qi!8)BJL*Ka"3J@2%''h@d88B $)1cQTCB0*04P3VqeJ'BCJl)aaaXk**!!K"YcT%%'Tdf%-FD!HXk""JXJ8)%'TdD N`3DUK)Ca4KPb0*!!"J!5*$3TE`lJp*X'`kD3!%!#91#*KKYTM"('R%km33HRBYT 3*TePA#Y('`1k#F)9EE,C`"Z5BZV8XJR8HZZCHFaaE4XJT2&R%(QQBFHMPJUV,Jh ,0XXQY0*5Dbff0Yb`EDeZN!!KES5F5L2%VA2-83BC)"Lak+Pb6&2TT9qZeLpCkVj `"CpdA#ZS'(Q%UN3Dp"V"jm9X%-VaXN6J@8BEB[!+JJ`c`"T$$MM88'QkAfT3"4a NK(%Y'D'bQqUD%XBJ00%iI1c[PbK)8BBGpPi-!XZK5K(Y'Kc@E1Hb6q6j4XpbJ'# eh&KV6I+A)pIfj@mCB0I(!hIF%XS$+&!!a$cIp$$!&d83)FmR1`Jj-SZV8B2dEf$ )DQqXcK)m,3M9AJX#((+m!IDTIiB"3UPY`2(ZY'IX#5%Dp*UajqTT8LhZY(-kI+I E-rmCk+#&(JU#(BXf@SB,GJr,cK"S%,VVRk@k-3DZ9-Yp03jNQJR&R@#r8FFFE13 "`KfFb[X'((#)$I(jD#bDIZjX`Pq'S1L$F2mBiV[KVGL%-Kq[5LF(@0fKA"+5e[M F9lSkL1&G$iV3k2J%YP[Y5Rpb)+$`""8%pYeU#Y'ldr'5jkJjZ-"-eES$m6")`22 CDNk"+YrUp!3(%,c[IXU6Jp25-,`hQ'&3Se-6(D*9KjV&69TdQ*CdQ!H!XC!!a5# r1F#`%1!!+$*T@!kSiTFf-+c9-'4%#iT0hM!9J&+Nd)E4Sm2j1"@pI3%4#Ah5SHi +PM&EF@S+mCSAV#!%JJ#CVfFJF)21+UBQmqN*GfUUhr[Da+Y%SX&mYSZE'HaS3M0 G)3K5F%)5R(#%E@RZ6p*D'DG8Ybmj'"*QR1)IU4SP,Y+piAS9!j5J9'I%#b+28Bi k)3L1F,p'bXPmFfKI'0EJ*PMP3Aaa#i-(SlA$iEP+I'c!@"L3!'FU41V1$@qkha" &H%[Pc3&@GbUIZ!BNVc4KE(L6T0MBbM"133866fQBj"JbC#Fmk5Pi)%$"(-,J+(V qlTlQ#m1IhUG-ec&cL)'#eHd'K-D)2G"2&X1BlD,*UfQN!&"a'eiE(cBV%#a3NJ1 5+#9G+-%T*,&KDX+BZjEA!$F!LcEU+J-$V0J'[9%+"EZa+3#+8B@'qD`*KpUM6r% JYS*jbSBEqX+&H%Q(PBl+GZH$*XEZ4)Fkb%&3!iTNJ"!k5c')6ifm!d%kr54,)(j SAi,UCLl0e&11JF"38i$9qrECcfX0,!eaU!1RBQJqUPU9929bJeDEfG@[LR@N$(h I'+ak*rrjdjjlbJ2c)K8X!1L8!hScM3TdZTSbj"46!NL%V$M9KMI)#`5U4'ZI((Z (-"Kb3aCc*"$TF+IddEB1HE)UTcBA33QTlRG@,C8EBdXeABj@PM+%`m(mPiE2ZI+ Kp1SY%)%V"q(16lDELj!!dqUPaP"ke')HV5%YV3@S(mT,9@J,TUU@CkEMRXS-B5L L'XmlK[6#BEePI9qU9Z8rddTSFcKB`JiDHUG)PX'!E*`QT`j*fpH#B!eP+%-0jjV %qST9KrfF3i$NC0`frDN-H1#RkcLP)E*U9idXdjref'"DMSibYjqMVR9"d-!K#M+ `3(49'H5%aZek0hl4l+0TeHM$KKj26Fepk%$6Z%BAmPL3!"H6+aV'Pb%-lp#SIEd BEPfmZM6SBDmrT$"k,ma2pXE+`rS,FH[HYF!0bP!'0KKE(UiP220@f,li6C-L8@R N'Jq)8c,f8iHhDkmpGPHUeUaI$'!!!a$FDPp(2C@%mdQkEY("I(9`!a[5!1(bAG4 Qb-8dH1(-D$R6ZE`c(,0kVmHm,m)dC!e`Y@A9p3`Sh%UJR(+$YD+eB#BIm(jprZU I8IZ'%SjYc'BS(EeNA%cZJL"k!ph3''iGYrITfJdYB$%GlB$N-$b8KE#Uh[AkR+C 2#HV%`Dk$M90CjQ0E10R&TM'HJM[1*@pAU8*JkK#FpY30qI@U!"68!2HNJeJ$`!1 [rSdC-JZ!01M8&3cI"@F0lKUGMU!)EXLKdmU`lb5bq!`SD%1&,Z3#(K*"$R@53a+ )N!##(9$m4,"C33)'U)-HJ!!'!pl$Y(2(`Y[p@e$$DqdIdGZ(PlmQM&lml*F`F!p BZ%J&p*K#IGT!!6&mB!KL8--A[U-#&ad0M+CKem`paDQ[`ha"rl!%!24Kkh,RHYI MRYDRHUc'BpDKMq1EElIk1()KP2`0*dpj%M#QC`N0XCpf4feBmDe[IJ[f$4hHh1C kTN$`aK-%M1p@arX0JPh4i8pChG0@H9KBG30aV)D@Ge@[#[Sh')%06QK82YmheN! f#QiA6@a(kFSTE41@lNBf1FVYY2)*ISf(ij2K+aF,Kck4JBP#5$J!5X"`'ZJ8#3b [JNlA`(!mk(38$&H&6VI"F(*-A0Bf$8!6RR"MDmfUfQh#*P,2jl6k4E*HIrUeS", 2*MbKMICf0#JT`bGLS'jN*3CmG%J@XeXrC(I9i%Da!eD(p5khScS6a6'kP!AL%dJ 4KM'(e(m@KS"U4!05aLQ6C!B5G'ZR95TR!#hb4#JS"L'kj$@1`M1m8S+amJD,iP9 i-$Cm&#$3!JG&p(Yq*NM#)`GZp6iL#(U#!Mkm!PjliPE`4LrRK9*)#!*M`QL0TQY *a&@$4JI9N!"rM`4%3J!K9#![+!!%)QFKIXG$VaF%!jJ'BX!#-j!!Hhqb3-pRF*@ 9ILL3!&N"-!6RTh5r-3*)`#ZlY@5!*Q`haP"0!!9A!!*3)&!&8h$STbj*9h(UJJ' Pi"d()!2`N!!*G%!2Rd!%p9!%p4!$C,!-mr!,GX-L(Z%#8#!&6c!%M9-&8P!%))" a134#1mB'+#"i4%!&m%%rD+!$6"!S(q)r,GH+X%%!9S"*c"K'%'!%6P"Q8@05FL! $09!$,NFNB83"DhJK86-%rABKAM-'h3Kf6%*cE$-&4C!!35iRDb`5!5*h"83JMJP JMqD)*r(SMDCK!X,SF5[e63%j,5N(@F%6+UcL)Eb5MQHA)NE()M@3!!#a1)ZeH)Z jQ('1SN2AdR&+"(+qXh,#L#D19#BXKNfXXScb#"X&N!!!cbJ&%GQ-bl)(d@JDkLJ !01Q2!"!"#4"5)+D3!2l$N!"bd)rU5!%1dLE[JJ)K)!6UTLGZJ!)TX)`kk4'Aq*! !!+!"#G!Kb3J#Hk#,'lPa([Pa4DH6$E!X2SN(05Fh4'Q9l()R`N3(-4P'$m!Ze'L 00RF#*p#01ZN"l"+1EHKkJMG8DAQ@$RPdTT%"p`!06rF!4I!$G@!2d@!%)8!20Q! #T@!2F2!M36)NkMJ"'%F'1j!!!&fTNEc#Lh*5G#Z*G(&T!@1TMUXK%ZTB!Za#FcD h9*VRH,D6KRl*!NB3"%cJMLUTNb+MNaM!,NR`3`-%!MDRDqm)Im"@N`$J!f*hH@9 )"fG)"lVCGhrhKR%iKhAB8)+LP3be"rR64U2N6keTP6)RGJA*"JF*2(db"cAARZp j6r'j!M'`PSB*!#JJGJRJPBh8N8lcN5'RRF)(M&+TMM$JRl4jF`2'P6ZR*MdA0cp A9N,REQZ3!*llf5"LpjPF5CeQ+#qSUC-Jd+&Nab%H-TlPU@#RCdFDbL)Li*rY1C! !D6QM)l8#DJQG-q#IHr"qR*)rr&0%''08dk@)[HCMaACIGj)kUpP%rMP$I#*rdZ@ AIeH0MJ)&Y18&,`SE%Z#IRjPc1fBar3'G&X!ZCcQB3`8#1*UId&QF#C!!D8-d*bL 3!*`mi!1"p!E0QD"@LC9IDLDMUA%#kR(5XD@UQCUQ33(Lk3DL#D"bB*TX3+LQ`C- f5M&TLA00HJ(-BLd'@8r`k5H9UTmXJTAeH)prDD9PJ+9aNjDDa!5&b5*%-(-CP*B AJJ4-T5LqU)CjS)p#`*Zq#CbKZ3HHCf6[&9pXS%CU93BRm#Gfi$9Q%(YY!+QaBDL q`CkDbJB$UDBfakE5@UBpq3DQLUTT#34ek5LY#KXjB*C[B!A-kUaT1DSNad2fU+j Pd+b0mU[hTfYh!#[$+PmMa!BXd+3akTm*B$&U&#(CY5%(Y&f*eeVq!kePfDIN16X MUSi[m*qNbC%F0k!IK`*Q-!G53!F)QR2[8cVNp@Jl0V&@fDA,dJ5Q8`E#L!)b!!- X%,0kZTqQ8DCA%&*[F!HSZV+jUV0h8+jKj"G'&iLBq#85%!$Q-!#Zm9)k!!##!!# Q%!"9K!B"X!`#!!&CDa8U!RC3)L9$3#9TaaZM-L'1#!*$8(##'+eV1`%M-#$69JH R!J)mF'RYBd*Si!1AqVBV*VHF`J0jG6CNS%0hi!*jZlG`bbKcb`0,LNb`C,Kk+ke ZQlKq5lHficpi'lNk@3&m'lH,qb!0Xl1Cfk56flH,kbJC0lVEfVQ+qlIAJJG2)i1 (Uj-8`,U9b`0ISdfMUj1PklPr1eDUUj-@B,Z,HereT5Z#0VY&5Ear@i14"ER3@CA l+EdXBJ28K$'-#TBD+ae3'CVXmKpLY5HYGB@R-QeUmRX&%Ve0fJ,J5hZ,`Q+JqbE FaLIHTNi2`Q1!G!BX*JDINll55Vf`831'BNIpYLaqkEh,!Vlhpckf53HEphL+af2 qUj-c`#CU`Ll0@QCES)dfd!8)$,kZJeq("'3Lp5jZd'i6V)iXm%abS%DX%M$91T! !25#cp-QTpZNR-bbd%#QY"a!J!`+963V!#l)(`++d!p!E,a8$!+!&8#Ze!2!-!(! 2!3!#Ia%!F4!!Q5!!*U$&d-Q6jdJ(ICQVA`bUX#%!#G#QSJ)YG(!%1Q3'+'!#FI" m%!-&Hd)(0FXL$T!!aK#L-CME[G$C!Hh#++j5"'MeHA0D5RP!b0S%+c!JP6S*!AT -"cNEZRF`"hkXNhNm+K$5"$KNbAF-'`[!,%@JbGMTb$GjaMSj!JQ!*R6`a@pFMer -!M8JXk4'Kl0-Kc63b'3F4P13!!!8-XNDSN)fj`4PF!I![,-S!#hqDJ+`E%mX)!* F!!F[d`E*1Lj!+`)XF&X(*V-SF-`m5eXTd!*@!epNa`+kE(ElDC5X6-FYM!+r$,5 I(%CQ$*dRN!!!i%Z`i69r4*UpJIU4)*!!`RZD!&6+3pp+@mST9UDU``XLd!DDVZX UHcCRU6U*PHhE8IYDV2fU22pX)$S*-2bFXB)+FKhlX5'E`#S3E#@EZh15[MSjccU C"0Ma![)!#[F3"r*!"a"J$bE`$'XJ$m"3!rF!"jIJ#+C`$j!!X!)38!)Q!!U1D3r I)!B88!$3F!fK!!KM!!QA%!6#3!9a!!LD+6Nk13#LfD6lkG,U@+,11T+dj5BS-+P q`J)Cl#MaE"U3!-bbqr+b-6Zcjkb652#I1Q3aVQ`#+"$(,M$(GG`#2U"F,Ic&8HQ pi0Y)i*@`DS5(m`G)%#0#,+f1)C!!!#FA"RH!M@`0cA$3RR@N6MBR!X&CP*a0Z+# 064aVUR20YZTS!JQ3!0E`XGDZAF2r*$Y[(GGP%0YehE*i,E1j(0[eh0QIMGXJ*pU NACqmr5HRRGT@DC6)hGSL$GX+,F4dlF[#r3B`+l-fX0HD[GUHEGdS)0T$X'N@*Sb jL!F3JYUK'F6bABQ`*Uf'f3GN`5lpm4pK@JDCEC92m"mY-1!%AZ!'IZ!)RZ!+[Z! -RZ!XlBrrfk3PF,dC#DJJ6D!K'Bc$k%JTd+4*Zl4)(#a+c-44D`T2(-96A-9AR-9 DfaID6F3IcKXG)H*,h-3Q$X956-9)B-9BV-9DV0d!d!)$'cmY(&KUe*0$e32jqEd RIApZ'*LRdS-![CqEr36ZQ%%P#UY$+AB9c5RM8`IpDb!4,Ud%N!!!'J+GIX%!Y4% !DVi8!-23E,LG8!jL0NHB*SdlNceK(A@@'kfqdVS&i*Xr81D"'k)KD,3jZ@Y+0X4 R%G*!Cr!UA@BpR0*iG-"j2pGkVqHX1'D`Ic**1dB'8miLQ`hRl`Tia%F%0TIK)dQ -m5fYUUcPYCP[YeRTMrI+I3IAF[IEZlc$QfZ@2c5R@0i$biQR'A4469VQBkf64F$ N)+!'H4HqFA-UT9A0q`4K#1CN[@-[)@a)(69@,h#"2R2#aKEU4G)4+(!!8"!T*k! 2!#!##5(H9VRXbr+1Z"EBJbh(Xm,1G)$BLYh+pY6BpRc5%CT4T[Fq0A0DiXiTj"j '&BXcV+hFVeeQ,FIX$K0-0F2YZBE#BLkF65S$c!k#rpIY!HJdDef!ThCri#i(mI- ''22IqmN#C[VV+&#JFHk'E!#(*Hm$2N!$&f8#0iF(-"!$&bAXFY2K(#qYQ$U6rU% #+qT'UZ-l#fmD8A2R6AqH[S13!(NJ9'0`*kKEX#,r,N%DP((MmLbb!G6UFFk06bZ 3!+dZp`%8h+%AUldK6I1PAY,J'fKp2MQ`%30LPj`4(CVJ1r!6URTrCD'ZKD(TLh! +UYp,IhNc2p#ZGr2GUI-m$`)q$`0!(`2+QDdT32D`dIFRLXiXiUDLZI49hk+hi[P K0*(-I[S@D%GDcrADC'5e&rEHdZI5bU%`,*!!0mVf68VEVCp+L,CTT`@!lq+MHDq 1DElQEGi4(+f10f#@DEVfDKR`JEAe1c2llm2RpdITR"Ie!-!"bl,I*qhiIMrXHCV m+DZd4jI%0RlL1DlL2GlL(F'D4@`1-Ti30%lL6ScM+ElM+bjVE5ha*l"Q$L*EG(8 &$6Jk0!#YcPfk!`$VVYh0KD2e'eC"fm%eI@5BT!rG!R`5MjS!0*N'@XLI610@i-S k-6!J)2%XN!"$pbH+N!#Cd8"halXB1L8e4$i(FHNrG3D)(#XjXcVDakS`!hPJGk5 D&LBZ3Y)jZ@`p4P#-0*!!GHTDcF'42Sq!i9!#R3)+'%iU-&V5jm-GX4N(*QTFLB0 rrir(XELYPE4Z`Sc$BZc2+UM"qjFDZ#!fQ')#m$DX`Bl`($j"!X!1EH!HI))K8!m HJ"#3!!IRi!X3J5G!(N34%CJ(Vk!(*)"30)T+d5P+4I-!&Yb$Ah!()%!-b!!#!!T 8!J&`#ak"k)-01q!,L-*45!T,S5NmKDJ`&DV#8GJ!F!V)q!fKF"A+`PP)#dpK!fJ HkL),e-*Gb!Y9iB43&Dc#[h#1Zd*(3SHIB"I`S!(m"XN`,(D!&[N09'"BA!%XJ6I -A3)J!#1!2h%!#IKUq0-"i!$C-!!`!FZL"!a#EDJ0j`i$V)##J!8!!"%SKbAK!@5 &!2!!N!!#2E5(pE!Jj-0lU!raS6rXK`#4(r*$[j!!$`A!!iKD"T%3"-3XSK8F3#% S#!a4!$L!33!4bi*%R!K8bb*1a)TB%"E!!ZL)(c%MPJ3(S""&SN3XL3a4*)T%[q! 43D*,$!!Y%5D'a*K)%fHL643+,C%PhN5Cq"*VBNrFL6k4*`V&S%J8JD*4r)P)F5J H4D@B&)YL8`b*+C%KqS@S@"DBSP9dLPGa+@,&VDJ9Zq*6r)TC%5ab4E(S&F1L@4b ,Cl%XSX@8L"EESPTmLf3a,UC&ZHJ@Af*%h)JVF3lUaEh)&rZLArb,J$%`#XE"5"J ,Sf%mM)Ja-5V'a9J98!!#)!ICm!*B!@i)!&L!Z6X!*#!ETS#0B!G)!P+`M2d*!Q4 $!6!@'!!6-!K)B3I`T`6!!%BM@1!"Ta%!)!8P`*m3!$iBM@c!XX4'T*!!"@SM2"L 0H-!GMN2C#!$3J$G%!D14&`!!'V!E!F!Gm)De5bY8"",3(!f"0fb0"i%#4+IQ@!Q m)3,)KJ0!#ZK'e!J!5)%ha)B(`3X!!'0%(QH"0`3!i"%60*(Q+!ciN`(J"q"41FU !jNJ38)!"Z)hmU6iDJGLB%-#"0f3"f9!$0!,+L"3-T(qN"pQ3!!"X3p0S%"$11l# 2[a%!%!#FSJCL)`m3'Ik4(84)54!!+-"`I!!")!RB4h53!!e43%BBN!!'SBUd3rm )'3&!!C!!"CCP#4J%)a!!c)"p"!ICX!$iJJ$!#jD!X!J!V-!qFS0XH!$d3)id##S J!1J#qiJ0Q+4ej!B$)%B'!(*J(kP"0N3!BZ"*!J!i%!$@JRq%"Pr5$3J!5U!MbB) !#*2qN4PN``@!%aK!Qi34F-!q)S-j@4EN3CCdNjV!2K+$E+Jhl+4"S*1S`$i#!d* C'ea!$$L8!X!pqNGH3#LIPJeiP'jb5IK(A%!Smk5Kl!K9j0`KJ@`)!QLMZlX)6m3 rdJ*#53X#!"$iNf@"4rT(@*!!$4X!24#61!!!8)%!i"pC36DXLQ3!9J)!4X!V$3! Ub)B2)#KmbV+J#BSP+8#@HG)&Y-QbJ!U+*5K!PTj!6#B%@m!V$`!6L"3TN!!bIN4 Zk4mj3D4i!-`!!1!!62N4Jd'aa!54!J)3!,,!,J%!-bL@P#"H"JX08#q[3E'%"2( 5-RU!HLN1LL8ML*Hd%328bhC3,"&"[!b6(+"HiS0L53MLT9F)HSFb!'4*r`J)iU8 VX#cXNQS95ci3,kFN%!LC6m%rpL#q`1iXS9))!#5J@cDD`C!!%8iP!&J!-,0BUT' GC"NMjXYm!Gf5#%3+%a!+a'8!!*VqXBEX*$8!-M1Q$LL@Ff)RfB%Q%M+,3,'8%$X T8#V-M!N&LLA'f%NiNJ+%c#e3,-&!T)J!Hi&ICN`c8#bj`0PdN!!KmiVj4bb!8e# !$iK1)C-2m-S*!!U'jM!B$#(c%"4,+N"Ce#-$#*NNdMmq3!R!0$(Qc3`!RD"BINY J%5J2CmDXP[i4#9!@%bF#3ZBX+*C#%eJJJj%3-SHNI`3#N@)#p)9,Q6'63E(N!DR 6#!!!'4!bU8'aa!'T-cMUJ*!!q3f+*3e)R6K5EQ4-G4!!6S!D!!HT8aS!!"83-ZY "m93$f#"e2J3@`#j9Jr'N"T'#!Z!8(e!pFDEaK!ECddFk5NKT!CiR-mLHP#$m9Fm 3m$b43ID%"3"!H0j-!F!#RLFab*j$SR0#bK[`2)&"pP`,*+"k#S(Rb3XL438`$CC cIMB"ALN"5)!"GAF$%e*LJHG*#`cS92#Cmh--2%pBB%#j3,ZVRQlJHE)#!qS9!LL Nc!22%a8B8&%!!*a!p53%cj-8'0#+B$Rr36-3!)q!9b)!KkN9G)-&U*GD!39-!"i D!)*R[D56aY0F,SKY+$mrSJ83!-B6ALk)Xd!%kQ8)J+*U)&mZ#%"3'HXP#m#L!(0 "*-QYH6-"`!h!SJGc34#$p9J[K3!@jD%53!8F(%aC&TS!&L8%NI&Z,NX!X!@`+## )M,6a8bD%0)!5$J!2b)BR!"Y3aV*!5)dR(iL-MJ!!8)"Tk4a4JJ6!!*'4KAl+MeJ ),'Pd[!!I-i+@88KJ588M!,J!k9*rPY&0B%Qai`9`"ard8%SY5rSG(80I%+8I-4C B8[5)!9a!r+bA[-#5`NI(i!6QU#`p"LJK!Z"(aj!!'jXS!*!!"XN83')!4Q"-bfJ h5+B3dM'SJQVk%G&"-Xf3!"KJG$V6HC!!6%@NBd!(h"3!q)0NbL+GJN")S$Jc!56 6'TN"JJ8m,C(*&%Jk"B4c-M2Q"dLQ5p)T'-k3!!NM8%!%U**1J@QZbiaC!j+TPh3 +QM4N!S&NLLDG`XIXTipc#5461HN8B#Rhc*K@)*RZbDYN'9RRi``$bA43AU8`H8r C3$*GP&I*T8L!N!"j"e##GSb-`I'H#J+8-!'@D35)&2Hd%5465RP+Q@M)a!6*P&C H*9bJ2M2Q+%LQ[[)U@BjlkJU5kE'm5JC5PH,-A*!!6*mP!0J!1)'-iNaLN!"-Vq9 Ae3$m+@3qJf6+#E,K"SJqD[0aRJ5$LJRFUJF9U`'J(#465Z"@kF###*R`)*P#!VH U#*VQip`(bC34Z&@e-clRT`&)TSM!VDj4,e!p)d!baD2K$i*@6`k3!%crD2LE#[! 8LLE64aVqaL(YK*3b)*RLJ@c)!8TSpH`"bC31X&B@fN3&!"*)TR#!YGC(%cSrTd! bC31X&Ippe2RT"C)T'XL'(D!d9Np#LJ)N!"&BKad!,'"81NN(NLNB3+i+-E6qJ@6 +"C!!De4JRT!!8K%N8bb!A+GNA+@6Qp#J8J(NDMQN328%"FN8#Q4$$f!#ZLLNA!A *P!R-9r')5f0%-Kf9"mG69XpJN!"-LF"mc3L1mb-ZJ!&J8)(!I%f5jh9"-0J)F%J 2cPiiV@8d"%aB($"Im8%kC3%6PJCN``q!31[P$CL`-'$%ZVX)+`3Q,))%!"rJ,&" 2@GS%*LabK,('%Ci#!#``B62M6K)*Z"3!M!%'+`%iE%(J"(p9PVS""MX"+QS!!!X k0Jp-@"!`BPI"%UZAK)$*JX2i@4Cdl#0JXTJdIU,9"!X!0!'6T3$Vm!&Xdb"E#SM XHLd)hX#`IN4B`'!T!!PBK`bJCY*4!,!,Q+`T$3"RJ3(X!9QD$*JXHJ3"*QkKPP& U`'5(+3L)Xc1fM(i$)VY-03!AeE(UJ-J#b""J'Ka![D`(4$DEGS!mk@NcjN&SVKN b"-J![*Na&fac0DF53#6F8`Y!C0YT#-J)CL"NDYMQ@L0$J$L`Vim6a$CAI5S#bN* MaCNRYVN'e!*JiZjTLffZ#&8%L)3QURk)l%10!,UKe$j1(YYF+kS)Q*T3)'31fHE +85f!2fLUMh2*0YH4+J*qEEM0Q&+fZDV8%E"UGfI'c,,0&DBk'MNE!,jXFb@U)b! imS#3!'PQQbZRK)qd!!#B9*cCCT[VUS5aPcCNdYRQUP4(J$f)TBqcccEAU%S#(N- 9cCM'J-KH94,J38e!b)`'40DVNS#S09aa*TCXVQD9"!!$Xa!bc`'4EDY0j#(BfmI T*jYVAE8Xf9*XCXaq3'6jk[3aPG86!4$C`6TpFZ0d&3!6J-JU9Yr`%'UV"b#bNAA kT-X%+`"5!*(&V"pJ%ML'kNN$L+aR03(D83K8cap!C%QV#CL-*KG5+J%LL`I@i3" JGeT9!&3"*XX0eU%%f!Kj&```@3!C!*4RD&d$6"BCV--!S!jqDB`8!(D!b"jA'1Y A2b@-`,F5J!aN3a0`ETd"V"3!VS$)AYH$!%X93*XX#(*dC!3!fXJ6H%+N5!McdV, Jb0BV'dFRl%d)%8!bF)5Gj#0[,l#J!KfK0e`!Y%Tl,m"C+,i+-5(d"Jh`#MU#JZJ !AQ&NI!"U1M*!3!&`[JN""'b#M[!4!8!)3'*k)`6Nb9FM!Sl[V'PhaR&VL)!Mm@T '3'jX[ihheC3!'p!4Y12d5C,C0b'8J)H3!"!NJ`R)PV6A"+5$M[!E)'#kI$8m)$J bJJ*!"J!QG!!!!: ---