From: Wolfgang McKeown Subject: hyper-gatekeeper-127 HyperGatekeeper is an anti-viral stack for all known HyperCard script viruses. It is designed to detect unknown viruses as well, but whether that will work or not depends on the individual viruses. This stack has been tested with all the viruses I had on hand (for some reason, HyperCard viruses are hard to find; I had to write almost all of the test viruses myself). I have tried to make this stack the best it can be, but then no security is perfect. Any suggestions or complaints are welcome. (Please give a reason for your complaint, not just "I hate this thing; I'm not using it.") This version (1.2.7) will detect viruses that try to evade HGK by unlocking a stack, infecting it, and then locking it again. To prevent the annoying problem of having to answer modification dialogs on old stacks after installing a new version of HGK, this version includes an updater that will upgrade an installed (in the Home stack) copy of version 1.2.5. Wolfgang McKeown 8-) (This file must be converted with BinHex 4.0) :'dKjF'9b4f&dC@YPCA"PFL!a,M)Z0b$%,R0TG!"6594%8dP8)3#3"#58!*!%Lfe 6593K!!%!!#58FNaKG3,r!*!$&[rr)#!A5(P`CA*(BA4PDf9PF'9b)$%Z-Lih)-3 !N!J(03#3$3-!N!q'!*!%rj!%!3#Y!hIhV30hp`#3"RY9!*!'*!i!N!TGQJd0&L" )HA"PFNGKG'9VC@9`CA)J-5ib,MF!N!RRC!#3%4B!!"D8!*!$&J#3"&0838YA58a %"!UUeSqFV3-JY!!!#Qi!!%4J!!!$#3!!%T8`EGI5!*!'Ij8M4!iLFMp(9)C+VUZ R0MAhCN-YGE6YVkI3*eh2R(8PLkkSTGS-lDdjGF0aV'dS`r@9NXRl1!FL02VQq8j M6SMR5,TTGhRYd8%32RMI2['1ApZ)9QAHUrb1[GjkjYQ`P)hlc)HFPC-AqhBkP[V 1GG6jZNj[r8`l+h2ZV6PP`dHFQE,p[SpFkKa2UlE2GcLE%S118jU8j6rYGQCq$D* 3IP9TIFRHUM1Q2Va5rH9$+p-([k1md1fBkS1`CQr0ZXmXI6&T1#FIc$h23cQLNMP lEq8kM5p$q!a9NZ2&UIY,$cEN$NpHY1h3FiZ)RQXJQMaD#bBh1'kBh&"5-VPKXQ0 b3`rkZK23PdjZZ2('b3d*d31r&$UpKU&$*JX2XSmNSX'Tj$KBZVpd[q2J9+#,L+B H*#VGEmf"l$mjPh[chbkS`ERF`G*FEVmMKrKV$ahe6mKPG6DmcQ&e84$V8'KRL,e %NCq$L#dLRA5*jH"h"H$NIrJm&I"GZAIcTHJqiVY(SS2[-S*3"lqGhDhIbIj8hj' 3!&YICRkUlkUIkhFEGl-rc,mlj5[ciqErF6rmrlmr2P"`,EJ2pk-VYm[lm41p+hi FIMpNYkrBMbqXhf[rrZ%&CeFej(!H3#F4*-#a[TZS%J+fbS1#L@5!+'k2J1*1Hrq '8aF1(%`#CXFP8-C&biB#,X&f[J5hmkNKQBpJ1erm1[Pfrc,Xp'qhl-K(aYhcm-I jF"$S!-*`f@(4Qf-HA6b($Y9e`Z,SYZq#GVElT3`ZfhBi-kkTT2Q[9blUk1pk!pp ZBeaQA'E+XX(+&iZ'"Ir$,rP0`DIr%qb@*F"p%hBFP4eci-$Y"k*dT6LZ4IQ!S)Y (aZ9&p!IFIRdiMjXVHE6[k+l@ZB3lPUi$V,2Q&aM5IS3p569JdFJ,#8H9,Kkk2!d )b@$hm$Tle!-9ULrl%1HqbID)Di9ZCC&-filr1L66'6le05!QB)Vf3'JkX$JjTLa '2`Tp22T-1@B)hL6db#Y#Mlb+,rcjD,JLaPLr$%4-86D+U5V'X*a46"d9f&8!$J$ 4hfa6rUlXpm@fEKFPa`%iRPq-d11YE0hdZUfhMj,E6cmlFf&[YpPDAdH@)lIJU3H `[TcLmf,i!4e`FJYC9Ri,UqKbK0qL#erXb(,NPM0'q-,*K*(E(9mNLjf%hk)ZA,+ 3!&Xd`XPY&ql#&Ph)lFM#Mh"bR2!MI#'Fh2+%,i3[I$P1+&"phfF0j(iG@rMLGAE 'b5)j[T!!ff3K#lNG@CiZ"l"+!A`R44RVC[Q*SGd,1%bG+aNEq9'UDa`$C6HS[kp k(V8[0B[PH4YMpj`TBUaMAEherH%RrZ!9@AJh1fBmdh&-pUKe$TjV[@,0bAb'XG9 6aU'1&@CB8FHA&'ZHQHSlEjVbHp`m6Yr(MQq4haH22k5q$chd)RdA(PU)[`[dVDr Vi%EhB"IT)Cej8rhHBBl-drIhkkXVfc[k0[jQAqGlR[bpeAFICqShEaj%&h`2QJI T1r1RkNHid$Pq82dkMqlU@peK'(H-I'MN$X-`jYHE3r0$j[TkIHJMhGhVRc'llJV 0$EqilZ(kI2F,hI2ephjTmdm9Epaclhfr226`6BqZIf%3LYN&KDi2FYE4eBh*km# lcKEUkR4IDcj50cUkk(kKZl[ljG!FrG3'mmJ*GZ,%!cJ,2rl`Mp`h9'H[[26+5mI f(pZr`Sb)V-ab0QhLXqkXF)2*5@Z!pr@3!fqlqB-Il&p*63!kf0kKr%6$rlI2IRM pL3FBqc6mrbmmccUZQ@)Gr$1XiedrYQ+B!06hM18R'TN1-KkCr4MX+-5"XdjFE90 eG+ji),jC+H"dXre$Sc[NA1Vq*Fi-D-Y9ccpek1M@04ppF1cfJ6YIM5E@Gcafkc8 $la`E[1qV6kdY2"GGmqPUqHpqDICM!cqE1rf*2h[m8lmlrUZlVRlAQPfhV&[pJ4Y rjIerq,8R(rRM9lGrFF$kbYCRA[L*8hIGm(2[qF3AJpXI[1DjRlcM[Vkl"Tjpp[l eIrl!XbH2MRhqe(0rp39clJH2(DRm5FmYAr[,*qr-hA$iba%imAmNKc-i[(Yd41q A0)rH16P6ecl[IfVld!(dTld81Q[DZ46P#TJK`pBbeVZ'pP4@6E10c1Ki'lZ@[CY pcY"p-@mR@hd&Bq['h**("Ce2X!k$'B2XKia$l0G690KUI0F01ejK5[Km[qq9ID[ +Q1Ib3)3FJHUZZCV`4ke36!Q"Q`a+$JNrX0'K2lFjYbeMPhM03Y1HrPjZ"pce3Qi '"GqZK5B2+m*&G4$30"RK"#)cL6(ijScP"M-Bf$`mG'"mE(cdqZY0[T(l)SamYh& a-Q-1mBVP&Khd`R"@')TU,E6G-JmpA[@+GQQ1@eb0Qq0mSS)Q"5pbLRa5F!Xcd3M 6YQmjh(C,SK!#0r3CmILF&r%Cb`eTN!!Jp'V!5[DZ9M%ZphaZ1Bih`ffJ+)G!'`, bSbDIXF-+0rIjGYPfFlQF5Fh-rDK90hN-Ba)Vl*!!)'Xf)MSNb%p84'0FkJ'5&3( 6`!8US$X2,Em-AVj'PF-5H!,@XDI3bq0H$IbM[SSKh#XTQ,h*@m%&B(NbSp$mZ0$ SMAY0l'5C4!de0%F8#(q2Q"B1rc#r@9@@(@m5p&)6lV6GBMld3G#X+MKFm4aaf21 ,Q9T%`L$!*pXPcVAlbIV3Md5c21dZLS#NL@,-"DNU2#E93H$M5(a#cq0%B-c5k"f !K3ValCCE%)kC%D#IA8TB56`Q)T!!*#4FAb+hlTRb4$8iUhES%VH3!*e9#deCXbf Y!cb[m,8+"8(c50dT#YF@a9`b02f*mC!!GEr-1U(S"V[Hf-$qk"L5cDDLMlP"#!A M@YQPSPFpd2GJ,@1V@PdU*iT,-fM6,LFI8)Mm!2#$5c0@@+M%DP#!IZj9)Ja19V` U5,NNFE)+!a@QL!CbTL,I*&@U'J8KMebU)CC-LT,R#e1LVM'!,K$bXm5KXk#"$53 DU5T-4Q%)!-ffRG'+8e1hLQ6YcK)PfB9ZG!ZJh*0H3kcGd!)-h&6ZL'3kU&N&d8[ 5X0`*5+Dp&1el,e2%FRaK&HI5#@"Z`$pYJE++($8[#1a*"ml(jF,b(4Z$6'Y2TV9 4-`"@ClmM,!L4,kVH0#!1e3L+Dc'T[NicXQa%P4Cj8YZKjfL3!)EJD[0UN98amPU K,,*NN!!9L'BNGDm81BYUY`J*kc*C&h52-p2BbNi[kGi"KI0jf9-8Z+KkLp8V0)L HK+$"aE1!DFA6SR,1RMHXSl*4GKQf-[)9LEqPGq6HPj8X'D5YAf2%Kp-B6BJU8D8 %3pG8)!`TVe0'A%!h&KTUjNE95E3'6T!!*K(3$)@+jI0qk@P,*@$IN`#56H(UKH" UF$9q%Q)DS[ql`jRDCCNE&CQb*c20+5r-H%ZQ+"`4#RQTTUDCC1PLc`XU5GR'A+` c[JJL4hR([cH+2,D)Lmc8`UpL$#L2VcQS@Q0D*#3b3D(H+MV4hSYFal6Pf#53!&4 I8"T03FAi[JNU2K1SU'&9rp#(-bP$05lVf,rk"+RS'2FE&U%e)@-jpRBNBVm02r! iM)(Dm+&%l*fiHRFX610@9FM+(1ZQENBAHaalb1eZb,U))@Qlcl%V8(HDhFTHCIG b&(cS0mlQD#TeDhJ23TY)2@f6Fa-%HF(bLj!!5i()TSG+JiVRKpc&Q&4G*D(eS'H Nb'peETSEaRk,A8@)'9AfU[(c5iJPq+i`!GQ9,l,9P'dBlc8f'%pHc$CLl-k('h( YaA3MU9pT)YjS`ABThdK)qcm"Kr55"FF,a$!!,2YHj"DcmMj2L'D$+%#!L)!1PhV '3N88TJ,C@EU9C()3[4V!BpH%&DVBc%C'+!h3&L,8H92C!b0,-4IS!IGS5k'3!2- Pb3U&RXM8-1fj&YVS@U839%JJL(1hY`E@mFch*TB1K)#2$5#TKf1"rY*CBS+N&kA PqLj1ba@2[TX+dA`PMj`G4H%k(3U@iL(%mT,lVmG%XC!!Y"fF$S[3S4SR2%h&1Km r0pL`,'GNlbQjpS'99l9[%cdYYHT0`p3f*BL*bC!!k+#iel,5S"m&bjIY*-baTm+ 5lE!Lh`QKQY&bUeA*XTfP9(B*md`TFU8r6N(A%'QCc&M"&$GhZ!5S"DGJ(d(k2B1 dQrGi#"!mejR,mTVNTA4@0Saq5'i%a&"%M@FpMFd&U9&49B82#$A8U-(&E3*c`Ui 0m&%E2"G@S3*YUFe*fk*K"#*`2LAKBqCiFP++aRT!QkQU,Nf-5-"9jC)V@)aK5#0 P$)2Z4@m'HC((qfND+Cj5J0@mk85)2+610MXdCEMKRR`[l0r5Bb1eD3GL1TT3r8L HBU+hPd2J!V%S)$(6e*!!%T!!,!Im`qT%c$N9lV4##cQl%VLD!fal&'Hcj[eQYK' i04BL9$FT*ceE0QrEZUdAT$C[NTlkA,!eR1FhaIXVV3kN-NQ(Ndf*101+E&$F#RR 3mMJ*KBIc[Hq6dl3JNJ"1lTLYqFYS2f*QCI&r)Chr*Y,8i9q3!%DVEb+GIahTi", 5am(VXdKV325YP)EB-$40K*U&Kf)fc"DbF#K1l#2)@1RNXT!!TIU'RET0q*l5S5A "NbDAaSLG2@QTfUl"#%f*dJ!eb`L+*MLNXUS"3QQLc-(mM[%G%l``9k[!#mQN`CS X&%@TA,&[RA+UVPFliJGK0$dc1hHE$KId'T5MfV8kY(VVGJ@[+)U[43iA5#X"DMN ,UL#DS$LC2NN!Y(YAa'Uec-E0C"JXJ8$`eH$4YfP%T-NJd3VCP4ehXJRf$Z0DBiK hkHdmE2#pN5RUU&fZhb%8J-DUJ1JI)lE1R5a$@a6'MFC@ikXAYLL@!cB9$Pc+epV P+dSX8Tc2eQL6SP*'Z,9ba0T%%ZfpX6HaQ+bX),%iS8Ld8Hj2)'X#YlG6,T'2US( jR58+UiL&5'3BhpZUq(i8p1DH35U,Q@[C'YUU06jQ($)q[l49Za665KQ&fQ6Dc*! !Se%Gk@FlMMh65qiA,M@K!CCUNQ&NI2[e194p-S+kTZl0q2HerUd10%'VJ'CSYrh f4R%X1)X'35kZDLXJa3,#[p1abU5rmCd5fAKci9*r%Pb,G(2CL63E*Elj2'Ae&NY UEdcTEmbfBZldr#S-UR+i6R%mULB)Y4V3!(Lc5KdeK,PTNrDk45p#[$TL"G)qTEF 8CT[h$h#d8B'FpJhYKGr*UE)b'#T3[G5K%4@HRh%MlhYIR`*N10q3!0[A*kC'EF& 0YfIr(FD8P4GK9"hHK$(r"Sb*B13[`(LC6M&6rXe#R3-XLeL0QL+"db($C0l@'p- A)B[4rGr4NA048d4LH[3J(Yf8'TU9IfQ9QSYUm4kh@qKjT*Gr9ZAC@q+j*A!D5YP 4,PRd8m9Llq2RHY2N'SZdpqCQlmC+LS@0#1R085X$@Fb9J*8N21E`d2EGS`If(4` Id4#U[[%55GaF38dM0*[MXG(YZbrhP8-[YjAVG"HQa`$bSV&bM'l0%A5iMp@2kCK l9M5EaRUk!HU43LIPb9aR`hYkPL'a`Qf(TQ`C2fcj,N+90#[4bj&bQ3!E#D3CDMb kL'DPKQ!ZLSl8QL'f'H,GP%PkY`&lK&'!h4164KLMY4B!Xfmhll&c)UG#(YfC%Kl Fqi&`5R,GHUEeeS&H2)3NZ2#IKDBXpJ4bGm,a[#QXc'!$4ZiZ8Q,AH2jJ(eL-@YV aS2E0($mZ@FT[CQ`%Td[[+p",!jL$jT4,&3Pmm3X9#UL2!cEDPl')#I'H3B+3!"8 R(AM$i3Nb*l,TNFK$"J*'TI('SkH5e`cf)[Y+hU)!QJd!Ne+T(JQ!d#LJ)(-Rl*M $YYX&'c&H[%bNJ*UTf,3DSYDIdMK+q`f!2"[k9J%kC10,UaZU0*[XQ51%**i+J)5 TXA'U%K6j`%E4$N!!h%%,+%qQ9DBR%!DF)Qp5mL&pDJDpUe5b%3C,DL#6)Bf6bAE XUZ@M&'GIUG"#TjqUL,e3Sll92[D!D6fUEikGhPX2AHK1rr(HKH4[`aVT+',T&Bc BD5EpBM[dHMpT$kPI$(Y-NR46J-"VF5"Kb!S`TMGaYV,XNVPGG,,RHk9QpMpcP2r 1,IiT*%XLYSYjPBkccU@pb$qRf9TX0HaJMaPjifqAYKUqXAImrE8'YV"JA&Hr'K0 fX+[a2Y)'c2YKr2d4CLbEfN`'jZ1`jj6+&Yc(hX*Z35kQTcT$*If$N9h)L@,8QmR )Pi9LNC&EB24B8&&ZfXRPqPhTTN*B8A'Im!Z#6,Sf[E33hGUE*qXl*NeqB!GNS-# r'IQX8H3)+Klfi1fdK8Vm)Nb84S!-0DL"f0E'e#!)m3-@"8i5,h0)cN!re2iQfKF %l!#@)YM#hq#K5Ve@X[!bZi)PJIE#AaYIUUqK$0[SCUZ-UjK"5aLkPA`64pP!@J# +R`8J&PSZBJ6`5f+B5)hbpa,*AGi-r)02aT!!l!DUJ,$8idBh&3)RN!"Yc[8VJNL VM3#'G[(3'DCB1LMpa)pE2X@&lhYU`bG)D%K)JBIkN5LJCX-)*"Beb&,)Aq%)qb8 #%jBca3m)ZHpB32LJRT*59)`0NLq14,B2`dSZ[EN,U'J)D#95S0Sd&LD91DEE80& G2BS!$`[9T&9F43lH%q03"BTcXe@,!JY#MU!QXPA"&+X-l`f'@RkK-TI,C!k)!++ $EE"i#JZ%)Bb#U&D$3')hGH%[1XY5#6ZC#mhp#Z[XH)9P1VYB*h%kdGmL9L[)`EH HHJ#,pHBaY(8bf5P)ZG2-F63%@GP-"N"+*-K"JNL(CHc!A6'6,[)S,im'8$"VFI5 LE6PH@6-*ch,"bL+&!!RK395S0LQ)r1!XD&L9EeG!)iSH5#!*3'pj58KD+N8%$Ha U$C!!96fA8KS+,5lbR0lPJUh39*I1"j`'h3K6KA1!A9Z-,29Qb[9QS-EJ+"&(FS5 %9J+6k,E@F4S3%NlBUqb'TNY&F,pMcC&1"MCN+1BEQ66G9`GFbC-GK"RYGf06&b* $5pZH"l(85U00B5`58PBQjq6UaV+b+!kRN!!YYSHmPS@,9Xir+e!Q!iq&EDfGNZd q*"qEc$NUb[@M,&q$)H(#4H*8%+"EU%T[4ZQ)b)b[bChbEk*5i#GPP@p+&E*Q `R,#bL4c))YBPZiJ`+q9C`q`#C(!ZR!12pULe-ZdD#%He9NEU*,-[+9-JKLT5l#, &GJ%JiFcdE[LhhJHX$qmG`M[eMAIpp2[$mIp!X24hif42()er[h2drMYqCYhJdpH 02,hflRAeTkqEIhVYL8r'[erlj-ZhRrpKKUIb%m0lk(mZd$1p(9rTpf)Ne(m+N!$ -6#!NGAKK-$kd,jM@i3erII!LBD-1$a$UXbUYkm)hUD-X30IKch31fSV8GB!JV9[ ([XcefmV,Ch#Ra*IqVi3%2k!e#YQDYJLGl8JdVE,($Z`Brq`2E0kmkYl4HiBH(25 qd,IURP&diK0$BhYL"U`GMrK25iI%!bF+(rer!!!0$48a,M)Z05!q2L!a,M)Z0b" eF'4KG'8h!*!*"m)!N"''!!!JMJ#3!aB!N!469%&,9dP-4!!!V3-!CDd$,9!!!!T Z!!!FB!!!!`N!!!D"S@S$d!#3"Sc')d31)R)r4e5'5UkVTcBepfC$,A@dlDqRd#G Gcjae*BZZU+AD$1fY1AA$T%EI20p#GXBC6!$$@6B6PdcZK(51T*Z4pN+I2`M+"qr E*plaDa[4UXalPGqaee[22"Z@XR'IqC!!Xh,bBYp1ae,IZBikApITVCpTCfA1[6@ RE2L)-e1fhrH45jhMDGAfq3jR8f,3F8U6X[bRhFl-Vd%8bUmUV5rC@hA'e)GAUVp mD'Aki(H8&lSG8hd3eZbY@IHCT5mQ$HINJlRRH5K(9$*RlkeFTr&P#*qK5R+m1(9 rkF''h1(*LlBGHQi4dA-04*0(Dm(N"XF0NaY+5LBh6(C-EZK"AhF#qY,*$6IH1,N K)AVJPd+Rec"db'6K3ID44$3iP4`(5rHAlRFFR!Td%G(8Jd5PqkdjN!$p*qGbErl E"68iPcYBQX[YGq33IqfKSri*ZDc1KYFjV#i+BKd+l3baPbMbFa#a4D56,V%Fr+i !R2`2RkF#[L[hEVi8h8GmpdKdm&e'%1VJYl1lp6[CRqSl%R,Vbma2p9heFreZifl fKrPhThaPIYcm2qk(rrrha`F+VJAhiAjdjACj2hkLGm@2`qq(l2B9qr'&pA[Yhcq miHbUKKc1!qJNJJ3ieRF698,!9RP3-*%-%-AY%9$FDHrIF1V#JB0*`1bi"-UiD0P 3`#ABcTIJGMie*2-4E1H,AbIIlPq'RIlYPKhjb,Kl([ii(`i#(8!B,MXXHR2-Si[ Rd+'k6PJFhICGd-jf[j6"CGX1CmBeP66rpFT&(IeGEq$EEBc,M-Y-@6CBq@,4X1" rq#@r+IMdIi,GXJ5iEm+1Sl*M$Kbir8#8VK6(Y5JI%(6ab,LmL2k!fkm2jh&c*Br f(Gh91TG`ap*eJ(A@r!*$fSq`*kN',"Tj)H'SdX9$PkF")4RX(PjRMhUJ3[9P(q, F0pNHFDh3V5b5DG[aAiGN1X1R[JE%"%c4(JK0"aBRaj6&k%HKMdHI+FF-`CZ%(RP &k*&AmB8r(`eAa"MVPi')+FT'-9A&'*BcLUQM!VX+!!!-!*AXb-THqG%LP"-@1@j (!$J!BDf%II3*r3JMV*-m*q[eA*-`VbKKHLcDNH0('*lL!eK63[&j-Ib!fFV*mm0 c-h)V1m+2F!Nr#5Imb((##18QH8iSiB36rZ3iiB365SiH2dSBHAENZ13ii5EK4ii 4rT,MC-*2FSa``XNaFT```VS9q,V9VS(X#,X'NK%Rab0$6P#`b@6P"i`h25G&5)3 -*42E5P"%eR*#9Zr"[VP5S+dJreHm!Efaq@C45`JjFVf*N!"3Nlp`2M(m8ipSh%r b5ME8*-"G#2Nh4YHYUHM,K$5H)6mU%r9P9)%'JSj9*%bH4FE%1FNQmIadFS-i,de 1bA0UkK+HTDP5F*E`p*Y#9)R%`qL(@%8Q[j@XTiMR5EmafaeUMlhAhR$h9amh[M" *j&GN+CJ#CiUPm"cr@Rk"X8fQj0G`F'YlBdK4$[3me(0!8C4L-dX8%kcCpa-24b, 0hl(`mbjEp@V6Y&q-A)`8rIY2G4j+VqPrkIMVLHReTjX[aN(eBA"S2dj*+"`"j$l `lC15,bZbQRhL+k%`hTFLNFM2,ZYpF4AE1d0QCYk&+MdprIMaK%qZA,jbH@*`BV# qM)I8DDR@9QUCK5G(Z&RB60Z$UUYQ!#%bN!!B5XlPreS03YC2lLEN+16reb$lIhZ 'N!!,N!""AaQZ'fB!IRrI8(*ZT`-l(V(l8FL$B!j4dK!R5S[X`eUf1lLT&e!4-TM SI86JN[Fa5K3Apdal`KfR"Y@pKjlpjS0lk$*bXLHmmki9dH8dYI%SQ6Mb6[bq%b[ [L2`3qIliSAZ9SbH+SDjRlScAdA+GIj-,&HrDeJY[3X6l%UMEJVe5qFe*d(HVpR3 0*'#2ACPEf948hNKFqkp@dmc"qHr$Jc2RTmmIqrA,BmVCBfHIQL+pX)riZ$Za!rM "Gbmh#rF@`&%B2V,d#p)!m0mL-D+%PT!!p54&6LL28ZJ8V$53!%DJTUR2c&MBX$4 03R$r0RQ6c*+V%c#jc&dM-T2+Te@A%f+C0'Gj$NrPSkVTM(1EXXF51lEhEHrG62X bY'"j0+[Zic!NV@GdRXB1QqUQikU'!GHDP5p3+d2G,'Haf'b8lH3f$X)C9$8,G&` YY&$0d,8aR%%rleC0M4YRkBMRZJ$HY-EE+%eQGBGkJK*E`KMA$30!1biep$&Z&+K VUdj@)$)YXaAJQfR9VZ,[D1YXfpM'k,MZCQ'm4-PD@,GPZVVTF4E9-e4h+H#XpL! MCKPh`&Z8QqQ+*+,!8+hGi5l920ZaE1TD`+kVC4%DFUZTTMZ!1K'-C+dF&`!V`NV #$0%&l)%FJ!V$dXC!4+e#CcN2f2C-l%'Q4RM'XXZL%KcSjQJELr,pd(Z$-Md6cAX ZCF$B2Z`VG'Hj0MENj4`+5rLYK6bhHf(Q'1G``f)fGchE"*%#LBiqDUT`c58#'!I )("f3!!K9A4r@+HBiQUhRh3V6SKP[KN3IDX+dh,9VUbfJ9G09`6UUJ'1)CKfel0R SAi2bUXCMFYkk49ReSI$1!5'Fje#6'4hN8,%K%%195M3P9'T9KAmUbR#N'R#DkH9 '!!N`EHJQGa#%PP9YfS&SV8`','&YKDQ@+SrVk'bd,)mbX8)N#+*$5Je*fF4NflJ &GVBK3#QR20!4k+ZX+TbUT@R'5&-f`NGeXcamEQ4REH3r0$)T+R#G[ClPmKLlEKa S4e*,MkQf#Cl%j+J&h[pJ25Qiq"fC%1LQ'UJjCA3+,99i6[kIC6!EKMCH(EI&XR- U0-!%)lhGb`@@&f0SV68rC5fcdEr*(Pi3+q"J9-e![UPb1&cMd%'`JTQDYbii+k3 @5rTj0`5JLJ[+3!H""&c6dc6Z1"R2J'Le#j)&K#bCiZE0F"2!Nh*'(9a6Bq#%k)m bAH$[SNY#MSb4KY"cC"RF$#L(BCm[+b`k'S9"iIdD%SBT)r#+miLbkpS8`!@rm$l NI5*LS!a()[p*Z"$kEJ61QrDa%D@ab$(Q33YeQ&90B'08L$iJm*`$ID"UamY4e4L eE"L@Fd!d+3HM'j!!!5N'SjPUFdN')XMB9UkF0dZrN!#2#+@"pb`'3!'J(2@%+8# `ff+SSe'+X)*EQ@8S9'"*Ye"JYP%aQ1#dhc,Rr$#-YL,De1`,TNY&Np*9dNlJqRr !!lUZ,bMS8,+VAl`CVGEm#ili&Y'2ldT&b6e%3bmhq6i9hr9fCh90(B@94AM!-PA 0)TmYiNXQq[U$pd1hErISBCZQd5)0cchp(`!0N!05C@&N)%eP)%CTFR0d0b"eF'4 KG'8h!*!*qMi!N"!@P!!!*#3!N!-@!*!%9%9B9(4dH(3!!+d$+!'Y!hIh!!!"6!! !"'d!N!1j!!!#E8hP6D3!N!EN34%!#"c-G`LLiU$jQ)elrD5,8diXh#Q,%4P*`@e %K+A'GD8NM2d8YiQ)61PaJTU)N!$"pU%KXi*YhAiIf2#BefG@$%DM3h&L*(-JpT1 "9,`IK4[mm8QREATpMU6db$#5bIY,h)1,F-S**hbFpIFR6E[cM!f#R'(H(`GP9M3 5aZeCTL6TkHqdBePmLj2fQha-hYD1QQG1!+!Jj)-BKh[RaL3ZimR6cLZL9kAk5[V Nd(4(%f'88LEXb625,3ULB#A)!#CcfXS)M4`MM$`M!dBBH6SJP,!MM$`Ml-J8B&A a&c"C!Gk9!3a@f8V3M`4fK"(N!GA4XiXm)mKN$S"0,h*h2R+qGC82c,M3pIE0pKf eSdGNXhP!L(CDpe5UQ`k&*&(G5k&CJmHhS01"r8Jah8K#k%qKAlGFk6l0qK[2Ie* 91QBqFDVf*Y+F0G+1*5hi2208f@q*lLZYfS)R&iSL6Si@9C6cl+b#!D+cYNah'RN !H3,3'cdMS(A2#B8c(E88f3@f!S&,i8&Ua#4)2C21D(U5h)bZd6!Z,[RAQXPcU9R 2R96GEMEhXa%JPjPDXG3rI@BmYB+cj!,D%[N+Re!I'8PJ&J+q$(C!mKMTm@qFC4D NSrS@'%Cm4HTM*r`8)ULAHG)B'C`pl9UPT"@C(ddbqrFG3,Ri!D5`5Y"`FSBK+XL "D1Y+l&e#[N"1VFCGF5k3!$$A2GTr#Hc`dN4F$6MH9EUlIE!I*U5'AYCcr`dA,Uj "*KI))A@#B%0YVe`k+PFVab2F!(f25C!!'3TQ1KLNEL%AqcK%@kAXl92QU+GHc2* A24XE$2-+fRd9#SFCrc"9*P1CXU!NHkQDRmAG1l5`,4*Y*C`[5RV#@"36`2E[V@d #5$qV1rE`4G`4X-XB6#ZZN!!4"8d&j&`Ukr!@9NqZfqA&"9d+i@6@pc&lp03Y6K, !IiD+3l@r[E[#CJrN2*!![-!Fr3#`PjRdf!F0m!$pKKQ1CZkF-(fHX![m+MU"R6[ $Y@ZJJIAZX"rYXXQif$VX[M*$5eX@c#%if[cR[K`5X4dRaKVC1RlA-#m1q$p0$ka VfX69%YFIQNaEpQhc(`!K)4G)HA"PFNGKG'9VC@9`CA)J-5ib,MFJa!#3&`%!!## 1!*!(&J#3!iB!N!6rN!3"!+d$GrHY!hIh!*!'He8!N!BMRJ#3#mV0H!!!: