Guide to Fighting Macintosh Viruses: Instructions for the Rest of Us September 6, 1990 Christopher E. Shull The Wharton School University of Pennsylvania Shull@wharton.upenn.edu Disclaimer and Copyright Notice This document may help you understand and cope with Macintosh viruses. It may however fail in this objective. Use it at your own risk. Neither the author, Christopher E. Shull, nor his employer, the University of Pennsylvania, make any warranty, either express or implied, with respect to the information contained herein. Copyright 1990, University of Pennsylvania. Permission is granted to make and distribute copies of this document, provided this disclaimer and copyright notice are preserved on all copies. The document may not, however, be sold or distributed for profit. Instructions This document describes how to cope with Macintosh viruses. 1) Do Not Panic. As of this writing, all known Macintosh viruses are easily detected, destroyed and prevented. Simply read these instructions from front-to-back, and then follow them step-by-step. 2) Using Disinfectant to Find, Kill and Prevent Viruses. a) Obtain a boot-able diskette containing the program Disinfectant from a trusted source. Disinfectant was written by John Norstad of Northwestern University. The current version is 2.1, dated August 18, 1990. b) Write Lock this diskette by sliding the write protect tab to the open position (so you can peek through the little hole). c) Start or Restart your Mac from this diskette. d) Run Disinfectant by double-clicking on its icon, read the RQuick StartS section (which is also appended to this document), and then follow the step-by-step directions therein. e) Disinfectant will report the details of its work in its center window. f) Examine the summary report to make sure all viruses were removed and no errors were encountered. If there were errors, try to fix the problems and disinfect the problem files or device again. If they do not go away, you need to read the instructions or get help from a Mac expert. 4) HyperCard Users may wish to defend against the very rare Dukakis HyperCard stack virus. This virus only propogates and infects HyperCard stacks. To defend against it, I recommend obtaining the Virus Encyclopedia stack, written by Henry C. Schmitt for The NorthWest of Us, a Suburban Chicago Macintosh Users' Group. It will offer to innoculate your system the first time you invoke it. 5) Vulnerable Users may wish to make use of GateKeeper (version 1.1.1. of 26 June 1989) and GateKeeper Aid (version 1.0.2 of 5 August 1990), both written by Chris Johnson. These programs offer superior protection from viruses by blocking virus-like activities, at the expense of having to configure it to permit legitimate virus-like activities. GateKeeper version 2.0 is expected soon, and will offer unparalleled flexibility in defending your system from viruses and virus-like activities. 6) Join a Macintosh Users' Group so you can keep abreast of virus developments. This is important, because new viruses will appear that manage to circumvent the safeguards above. The following pages are extracted with permission from the Disinfectant 2.1 Manual: Disclaimer and Copyright Notice Disinfectant may help you detect and remove some Macintosh viruses. It may fail to locate and repair some infected files. Use it at your own risk. Neither the author, John Norstad, nor his employer, Northwestern University, make any warranty, either express or implied, with respect to this software. Copyright ) 1988, 1989, 1990, Northwestern University. Permission is granted to make and distribute copies of this software, provided this disclaimer and copyright notice are preserved on all copies. The software may not, however, be sold or distributed for profit, or included with other software which is sold or distributed for profit, without the permission of the author. We also grant permission to extract and reproduce all or part of the Disinfectant document in other publications, provided it is not for profit and provided you give appropriate credit to both John Norstad and Northwestern University. Quick Start This section describes how to use Disinfectant for the first time to check your system for viruses, remove any viruses which you may have on your system, and protect your system against future infections. We also discuss a few very important rules and restrictions which you should follow when using Disinfectant. % Step 1. Make a virus tools floppy containing a copy of the System file, a copy of the Finder file, and a copy of Disinfectant. Use original locked Apple release disks for your copies of the System and Finder files. Lock the virus tools disk and keep it locked at all times. Viruses cannot infect files on locked floppies. To lock the floppy, slide the plastic tab on the back of the floppy up so that you can see through the hole. % Step 2. Restart your Macintosh using the virus tools floppy you made in step 1. Run Disinfectant from the virus tools floppy. Click on the Eject button to eject the virus tools floppy. % Step 3. Disinfect all of your hard disks. (Skip this step if you do not have a hard disk.) Select the RAll DisksS command from the RDisinfectS menu. Disinfectant will scan all of your hard disks and will remove any viruses which it discovers. % Step 4. Disinfect all of your floppy disks. Select the RFloppiesS command from the RDisinfectS menu. Disinfectant will prompt you to insert floppies one at a time to be scanned and repaired. Unlock each disk before inserting it. (Disinfectant cannot repair a disk if it is locked.) You can lock the disk again after Disinfectant has ejected it. % Step 5. Install Disinfectant on your hard drive. (Skip this step if you do not have a hard drive.) Quit Disinfectant. Drag a copy of Disinfectant to your hard drive. % Step 6. Install the protection INIT on your hard drive. (Skip this step if you do not have a hard drive.) Restart your Macintosh using your hard drive. Run Disinfectant from your hard drive. Select the RInstall Protection INITS command from the RProtectS menu. Disinfectant will place a copy of the protection INIT inside the currently active System folder on your hard drive. An alert will appear asking if you want to restart your Macintosh to activate the INIT. Click on the Restart button. You should see the protection INIT icon appear at the bottom of your screen during startup. % Step 7. Install the protection INIT on each of your startup floppy disks. Run any copy of Disinfectant. Select the RSave Protection INITS command from the RProtectS menu. A standard file dialog will appear. Use the standard file dialog to save a copy of the protection INIT. Quit Disinfectant. Drag copies of the protection INIT into the System folder on each of your startup floppy disks. There are only a few rules and restrictions when running Disinfectant, but they are important. When using Disinfectant in its RdisinfectingS (file repair) mode, use Finder (instead of MultiFinder) to avoid possible problems with busy files. Disinfect all your disks at one time. Do not do some of them, then run some other applications, and finally disinfect the rest of your disks. If you run other applications before making certain that you have completely eradicated the virus, you run the risk of reinfecting your system. Try to make certain that your virus tools disk is not infected. Run Disinfectant and use the Scan button to check the virus tools disk to ensure that none of the three files are infected. Keep your virus tools disk locked to prevent future infection. You can and should run Disinfectant from your hard drive. It is not necessary to run it from your virus tools floppy for everyday use. If you encounter problems running it from your hard drive, however, we suggest that you try restarting your Mac using the virus tools disk and then run Disinfectant from the virus tools disk. This avoids INIT conflicts and other possible causes of problems. You should now be ready to use Disinfectant for the first time. The remainder of this manual gives more information about Macintosh viruses and Disinfectant. You may read it now if you wish, or return to read it later. (This file must be converted with BinHex 4.0) :&'CTCfKdD@jR,ACTFR9cCA-ZFfPd!&0*9#&6593K!3!!!"bd!!!"2TNC8dP8)3! "!!!FY(*-BA8"!!!!!!!!!!!#'QCTCfKdD@jR,ACTFR9cCA-ZF(-Z16!`16!f!`! '3)$9cJ"Y!l)!#j18!'eYAJ%*!#8"!!%*!#8!!!!!!'d$c&4&@&408&-J!3#M#mh fS`[0q`!!!!!!!$[9!!!!!!!!(#i!!-"C!!!!!!!!%mFP3N#CdL))Q6GLbV53!1% #4S-5*DLNSF1QM!i340k-!4(MSTXbGd!B5A-'$CddEXk!D"*QSj8dFZV-+62RBBN KFXU%SI0'cX8V2FP!+52(6*NaG'cLe(RbM4XL1bf#S)+QMT`jC-,NB3&L5KNiG-U d55J(K!fZ-A,NF!J45TJc0#qLL1U'6!UE3Yl8UB[b6&im&hq!%%cBTPZiHIH5kI[ hiJ`B)'E%!&%$K``30fc%X'QNjm8`C0UJ6$1(MTbG2@dQF61'64dbCD$)dHL9cN8 4+),!J9145"UN)0VB&@%@"`Lf*BV8(I+Q6CXbEZM8K+KFk'`fEmlJ,A-'CFBaGCj (Ved(6J2K)"*fGp1J!C@T)&T)M[mBXfE+PMR#J(cMFRq1)J9S4)$[&3J#((28dF" FSBe@fQNmbE%$#!H"*jjY''R%N8FJL8555AfYe")),m8dda`TU-%HC'fBdF!EC0K 8hAIK38F(HHDepCC8JQhfKRQ3!%''"aX06$BC(0!e3%-1(0d`f4PY,-MDF96H8&m 009aQ!`KbM*(#'ZC00K-G91$4")aP&!Q#'6@*8FHDBc5`4apYK#(('[#pi"BE1k( d4JYjX8%'##r`mF@KL1lCTaYr"MSSC%8e)!Cl-9aQKKk5[QP'R*F0@#LLLBE"jdQ -![U'S'Y'*qQ+,XK`!`ifA!D$#j(*fT!!Ul!Hj`)+4p54"Q`Jm14K5D5Ua0)B+2% d"aSN`L46A#Q%FFH[G+#al"Yh0'$$$"cP`#f8$F`U3``hd-$YV,AU#X1ijHU+`QS 2eS&8'Nl0X@C2`D*4"JK5d%3(#'qB!8)9+%T,VE9SB0X!$XE*--1@i%,'CUC`bNQ RRALqTkHSLriT4A0KZ%'SSD"qS5LT(S-X-U3Z6PUNa*Lk@A'R)jGX-XFSYr"aR5+ ESDV,Xm+!3lRRdMU$VIX06B1lAS%P&PPQSD8@$0&15dDeefBE`hiJb##$FH$'i%* P1H!`'ET(kaS$fFE0LX)3D-K"'Np`k&Y@%E41848EE&4pF0C&9YVeeb#%h@U@06# *YUf9)ZiZ9IYHJBDG2)Nma4J*RqVhe3JVA1R5ihiETGJ`1!R$f8BcA[V@lPEK4KT f%$A(4(N!,2"3EVJa4ajXf"&b'Q&XMRA#@MrFpGU&4cPV$0[@J$S+HYI"0a"h6#j (j5k8"jdE,T4"4Kh4!XimC$4F&[DDE@V+DB#IPRbbRkDLkR053,Gk3pP,,kkZUf@ lkpXFV3P$'Tj6PT!!$BSjF-L$h)J&!LHmi54M+)2`1UFe(#bYI-N,&rSSYUN'd+a pS(TIUAB@XP64Me8eX)'6YU5rS+A35Bp$!fNST*%D45Fi@J'"[YJ!"a$N35mJ8)c Xk'"!%"4a$$rDel5U*5*N4HF0b`+"(Cae)PSPi9peUKhabK#lXTK"J'`!!8Vb4CS *LLm(@m+Ji@`!JabN49IT@KiEhHJZK+MK+#H*(Dd)YUq*'2&I2l3+`1iJ-VR0B3f dFN)C*Q+hI1dV$(@S9Nqi!MG$dUf4H1[+hYM!&8D94BEf%JY[hT!!"k*`T9S50"M R!#F$SB&!M9&L#!eU8$jEaE&9Xm5Jfe`(1pR4cRBJ`*hZH1Hlei@"+h9D`b2G8,X lf1NddGN+#"D*bV+8!3p`b-NFl)@[!I)Q$GlMbK+CT8dN!8GBU$3Mm6cBbPHD6hN ZX!%0E*!!Ja[!-@e"NbFphB85-r5N6Nd4'4+M)m#2$-TZLq5H1K8Q!aTFm*hKFJ% 0B$#$YG`6D41YU,X3U-!2r5XYDq%+,lXi1cV8,Q$"h0lZH[Hl-0"U+()3c6ET*E) CRJ'DB4Q8X*+jc%%YjN&TF&0B3)"%1)#6Q`+V9KP916b'TY#G'9aHPR#JZ05TDff %FeZ&E%J(VQ6c$91%M8j"55(5"(#!4$&LABMkSiibN!"4%(aN6JkN6D,%EP"1-5, If'T8QY!+FM5dN!#0F*L(K@C,"MB`$L`M1Ujj9[@@kiV"20d&9kjXXBYF53J)jR! U[*EPTkB*DL5pGkqbI08-%h'"B6fBJmXXGM)6NeN(2dLb%1)-ISibiDSDd!*adI1 0ES1ADH39d))"6M*TK+M%dMFcpY8f9+1#(`PlpM0@RDk0EE0Ud+jE9443CBCE[4# &D$)'Z5A%AX3,eK[iUN4'0M&C8'6@&%hNepA1B+*3M9Jmqc1$SU%J"Pa)3IM@H9r )X$'$X'AZE*eV-a%fUV1kVGqi[XC#lGkU8YP&38BDq-"JrQi-Y,)[IM%Fe3h+GRf HHZkK(+`cP8@B9@LFD!dZUUiB"fPA38!U'Hee"lN9LbZL#Z-D'%A)pciaL[0pPVh XY#qGc)i0YB00@*!!%Xla2SL8T$@JIE0N&XMSY`BcZ!%-@pJ3-)[CAGRNSSfmPcG [3TP,1KNV6IUSZq(1UejVQNdEmZ`81V5!*bd33d[@!15eSV*RTm*15&#jjp*m*G" jD)'MiD"DTP+`!@&1EP6hkc$rbL$!!eCBTVZ-B"1Vci--GYpY5jAEqHffY`da9he f1EZ8B)3drF4Mb2iPV*(8K5Y,5-0HLbJE0Gq`4%S1GED@bd%8edc9d4fKLehY-K5 SpVJ-)r8Dq9[KZB!k$0JfcUXb+-[lUSA'iM,ANYce"$%3FBaK5-mE(YL#-)LK)Q8 pC"RS-05"[[YeYNBPAE0cQMhr,pG)f6@Ipac[e5jYBM1SJ3[ZepmC5bqLL9Y5KSI VD,Z!Hjh-CNLX+T2G@b*@"T9aefEedU8b90TU6Fh@42N$0RL@l98c*M0faqffJl[ "+!QrS60jl11`L%`-Y92#'p!J-JGHKBKi&CM6Uh8(Ia&&C#2eT8RrULqL@L8R0b3 T6F9B-*KIQJD#'cHiB,fIa(@E)6(J5PCb#S)Je1%--[NS$U5fPNS$VRa,1l"q*B[ blSVKfhp[+'CU(Y(-0,6Nq'b)ir1hUb[iH&p-d!LHP'U[RbU6hrY#qQECm+X3#Ec (%pRA9kI-DhZVej%!3j,)i!$&LBbG#bMJV!q"1)B5)UN-Dh#imG3q1KIJi''d4,F ,BR"m'q4m9p@DcGfC*A$5ma[I#DY)J&rqYh8ke$L#KfHRkHLf-5$Hqc330q0R&D[ d8akblFr`&)Ki2B#9T9qPSGcZ"AQXKHmihjmA&Ybh5YjhB1'(FG[52eTeIJSc6c5 (B,Fb6lB8H9[680dQ"AYaDl8'G%4d3k*h%(9`E`V4'Vqa"L'59a0K,lrK&&b4%k! "Hea`0$)3"Eib"RJbIj36J`kc@AKdHbK32Er",$-N+TcPF2p"I"Kh1[LPFc@JK1i 5"VX"(@,eHT`A@&`9B)8QCiM'0pJ#Hj-'DC)@&Mfd'$PaClVM5$Q"%J-BFdTL3GS '6`a$!cI`I#K3"J`SFfk)K,05!jP",XS(!hai(cf(DcqRDd)RE''8%l4AI`)RC@# NBbN)!RI3%hJb4T%B3G'49Y05&pLbKQH(4QpB*#j`Ah*)H5KJ"RHS*+#)K')$+c+ 3!!2[4i'Zf&e&J!GK)"SIiBAK85Gb8$Z+f"1mYPimY9P@m8KlP@3R)SP%X5mjd3C JP@9Va5M6*!HcF4A+Q"1VeB6U"i%9j6!9GNXad)hq"4e)Y"GKN40NB%9*K9$Af'6 8f"0cF%Upq(USK3H`pe8Lf!C,YPBrKA#meRAi@"&lKPS9`8ebN!#0lD5(m33$Xr4 mm-H3!(3)'e-838Cd"J@PMSi8CHX&9i@cAY+L&9`45#$`%D3P,#iSCf*8Cc&KKJC C12ZQ3fA!3riAEmH5M@QMN!!SCd%CGNe)FMeqYdjBSQRkT8+GjLidN!#+34Q+#GC XU*CL$ECU$bBre494%4FVMa9j&*9#YS)#5*!!"cdj"(Bb+(ad&GRi9*,e*-TMDXh PP0$@-5h'-bm@8A&i!cF'@A1TFPNNLD4"IHX&'dDa9Qp48+8"HehNLdb'%A@`"Q& JJ[E5P9mCPTY&4$BS496%G8YPGS#63Z$RCI!dKcD3!&Krk*RGKS`!i`C[pP@dCj& KXBq$iSq0kC9%!CCb-#MjCi0cm&Gp@3Cr15L"L4+$14&FN34`KN61)B8!ifi&e4I CL!-'aTQLH$VE!RQU`ccq*A$)CLr+-3Cjd"T*Y"Ma9TZ%*SP&"ahT86Y)!"hc1!4 jJcQL`@qP049G0h9SF!Aq!N`%!f4G%B*@)@KZN!#0V4@+Xr)BNR'95#1Jc`-h[r% @kh8Xm"9&BcN(*`!#4b"pP!B#9k5AHa8`4P%@`S)5M!)HSl)[J93@Zq0SHbC`U29 d`B*@qjH5G[!'bL4'G1#*J+-C3JP240PIlP)$U@LM5UQ@#mD@YK9Y86NSe-BH-c! fa`F$haKj%EHNlQ)&d[-4Tb'#!c-6C'PTJ-0X*pD8ccDNEMPGF5Nf1'FPbNFZ1-# (H*P$da*&1l@Bqr)X`(3%8E%%CI!9DB9lBTGABY1RY)*5L!8#5V!Aqj)@9"9JDZ9 aQ,P1XE+CQeC2AN1J0GBI@dQRB@'RH&S@3I!V)+#R[X5R$G%U`$4MGSGhJ`P5-)# &mXC%U!Gk4eFlP64$5XGdR-8pm$PR!hG6YeKfhDF`mY5FQeBZJ&LA@#QXG+LKDC8 J28N[TM8EV$GfCU"RP%PIpL*kpkCj)B+-,8"k-GS5H@4l0!&NrpKNf!3G-`&-Nc0 &!IF'Uq9m@Z+FXf)PAY1N5#1[@cP3U)9hFq9(`Y+6l3N#&G%G*`&3qk+Yh2T)mc* &*q&A%PURGpU68[5T)X-3N!!a3cb*4k6&@5bBU1dU6`!kFI@N5aC@1L(V,Y15S@D `S8(N"R"J*d%@Nk4P"K@""d%PE,md4RiTK5%bSTZ9"bEUImK)%iNkV6+aV@R3V3N ,VVICVYQf@1c(ArjP!cfDE3HiP&e+@dp*T2&MT&2*GP@jP8S(EdDQ,-cbS"%kSAS ""mUQ,GR@5[!+T-i'3Y!9TY-fPD5$A41S1YLPFVSRNVdR-XVd&8BN"LiiQ#K&QK) CNcpb)EF*Rc2dZ'f`L"hB9DY&Pm#UAiMe-2DNFjREE3R4Hh,k%5%4Y$b'L%B8KAD 5,cZ"3fk`)kq(,&d5(V&c3`)h"f&J&(JAPNXQ"Xp)SqXd)1ma"MP5!SI")ehc)N" #*81L*NH5*)5c@#J`*8'#'9I#C9[5*9m5*Ma)*QD#*KSd-Dac+8b*Y@fC-f*kT"L (GXIhKl6%I$'d,rl%KCZS%Ld,&dXf9pGN'Yj+@Z0d)%3K8l169p(D(,$RFabSF(! R)Qj3"k+L!qhk8+8@@kG'[Q#D-kdfPH*b2fl)Z4VX2fE&*fK93'[&83YN%K`@9k[ 9Y-S&YeiUYbX'P@pC3ZJEVqT'V2@UEKkmJBD)46Qd3cdNNP+'4d2EM-qiFXmaY[& &Y&9NS6aF1emNE+q((Edh9%@NL!*dN!"DZNjE3ci34DB@j$aRqLUcj#kFGF6q',2 #aV"m*+0rY(pPJ5f&4"U)e%$8e%J#"dQ5*!GF-DY0"ip3edRi3PDLK"fPT-HV&31 #il36pjN1&CU-l#lb@A@1*JGBpcTLCe,)"+GUe8c2Y'[59-GTaC2De**Z"NjN)%l Z98j#M%jNa9PQ3!I1P"1qkcR'SmM(&fDaL$5h[,Ql3X)HeDNSCb4PXhIG3P9m"`0 F%FP@4mN$BmPDP`F[pEqN%F!eC5qkQSNk*BbDA%5JC9kMGFMTPeqG18qc0V,PXLh Z8P4("8a9k-U`c'4H04YK9C*Np90R48"$@e4ZCF*`p4YbTATe*3Gh9CTk&8EUc,# 3!(2)"kE)`QSfS6P4'HE1XE`[H9PC1S3YDUE(kE%[R)8Uq0,0SN9hrY5X!31FpTH 5VI%Dr1YH$p4)%RfB3)JjC(I)rk()FSM)NKSd0rdm(HeCq4CD3K@cq(*D*Me1HM' ZrKY6dcaf+(A(NC3`FM$,@J1+Vl9m&V42C)E)9qdZp+PAZRI0rq+[5jeA`T+rT`% F9I`9Xr%p&"PN*pfbpGI8A@I!1fb&iM9',8d8Up9+LYA&aUHj0U`fcFI,+!!()8K k8da6m6K`mpbDrc*$($R5!iGDre*%ApAB,GSGXA1kU#Nh88&8k-L[km@l6-6(Hpe 1LZa'VB3kN!#PfMH'!NkAIlbj9XSmbCAF5eG"1e,Y38re@La-`A0V`4!f`kf5@)V (ZFEY,M4BJPe"Ih5`em`TcYqVB('VBMHMYHH,`Dh5Aec$ZG`G3c-d%fCSCH899%+ EAX)LTh3GG2mLf5J+%i-jX2XL,*Kc&(M#Xb8D&J1*,k6EJQ,aM([pRiSFCT@4YqT #i"N@-V9$ZT)S3c)YNRQCV[Z59rMYXrUGK32(HQlFXcrEQh@f*T&8M#R*JBT0+r4 TA``ThE,%I'"-CJh&iNr)"VTRcc+aC'[5)B8T4T%,M!SA%`8ja2iL0bcCi%(BSYF L28DDD&eB2H3T%mUCaD,'20)GS2f&FMRXMl[fNk+'AcC0FN8$@E18E@l$"3deBr- RZ')M)YfUa1Te+[BLXcq53'a&8+0KDr'QcqcFG90Ji@+a*QQ-RhJZer[LDl$K4Am qY-%$jGN5FDkPA2%%+rIcKiQP3ZRF9X#dhT1lfk0QbdaUTMV(R*41Da1q3#JK+J# VHD5P'lc"M$!,E[[LH@q1,cald$SQF([Hi@Y&k'P&N!!-QhQ6+A$)D&mU$)&HXbk jV$E&[T8miHB!1,5"fd0q*-A+a*Z9[9IbhEMA+E4rbj(qk1FrRPI5(V2BX4Y(KCZ RrZ[kiR"FBp1*C9%k0dp8j5j`[K[50!HN"b`#aa[J"N("iRTNhA@#0TQ#[LEM,ZI PXA+U#dLm9d)c-GpaSaFP!A[Cjh)1ThJ$6TfXMCA)j9pN2XCRhN--`5rqSRmmbk" (aLa1(R"G4jV,,Z-%(qHe!q'J3@H4LHDdJS%LJqN+0m"Y)(`hbPLILFKrL&L##(d V6d9Yl[,cRN#d-J5)M5Ir[Lp&F%I!)959mhTP329)cI,cT[3&$md1Yp"qR4CVij! !&%MfG0MaCLk'N8%VQ&l3`-5ceZ06FYbiZ$F&*YK$lFcfD5!`3,b4(5EK4U4$N!$ TH5k!U&j4%HH8lSUZ*$AYk'$fLY+T,T(IA6SS!d'`9rqc"R1JJpa#R$aMT0)UF*H 2kCiI(0"4"fj2L!GmL(X&3#ANeLJPpi9Ipd0lXRh6q1ihjD1B3SRcKe9*Kd5mf3U Za%)Edd,i,rEmM&HafpV)qfcdQC1I6dcDE@VIh)*,!kZ[`fL0XKZqp&&@phN$XiZ r,jG["!9r9+F2qNA%mc!SJkCr00`L(UU2N!"F(+cdj(b1$)U$b2f6Lk&Kj+Y%,SA h*MU8lL!+l5hp#5fRm%JUfiSkBX*#Xm#qh!'0"S89J`PXTTP*ZfR5%Y#!6@TdMbV pk#LG!i[@PeD4BaYYT0%C,&8XC"5Y`$dkliCXZ`jc!3Y)XqYlE'b'K,YdK+Lb`-) 6'4Z`%D&!$jH0'PP9maTBB[SY(b4)KflA1G*!@1k'6)j3S[9)5fV*4U#*S8Q@Tk* cR-3B'h0P$[[e%)PMSHU-@iZ"ri,#X4c#0jXSK0c3)jd+HZ5prc0Ta)MI!b)(B53 &[M"!r0LJ6hQ$,JG4,EIRe[JU`rhl-JA'l#%0-,1%GJ8DG(ZR35AF18Z(8Y$Jkk& pEC!!$!$#hFC')*MK5$qVidb"3X*fr6kH@E!LCY$D!54ReB2b5K*`!NRJ2DK"36, hh'![HB&b-!hS[9E'pqlJQmL$(%R`aCZjekkNh)#$&8d)q#&$Gk%*Eb'L`Mr1EF1 C2,)94'U05X#%Ir!@mSX-C!RG(cDdKA!`mDdbaVHSI0AcmQYJTJPp13U8$PrEj4- ZENdf2*!!9LJbAQ%XA(r0)I6j(p)RJq3KkcPpp'rl4F&rJIX1"*pSDhcPT+bM9&) 1Xm@[NQjL)rhN!#jSB53,9D&$UiFH@LKBq"jmdkp`H2X#2&!M'r&Q[&8[k3TmEVm *LV3b#cp*iGZ%G8GNL!S%#!!jQdl!BJe4@h#CURBd+-Ua@aipdEq!'a0NDh#J5() QY'ZpD*0S@2*D3S2L5dBNBAdfJ@-2U8$6HhS%6H"!3reMpC`#VI#"i+2a26*&aU3 X3f$E,XR0E4`j90(`lK%V('p98B`-&*ZBZPDA`#&Y2'(2c,ie#%"b!RRk(R,$eZ5 Ike%H11'`dbrQiRiB1*d@CLaI'$5&0`!9jKp9#0$Q)9cNL!40*mLd[5K)"L-G1(M J$`!e,Tbhb4,LT@0p1fbh@5k)1(%35qN)Bkk4DC!!2k4fqDB!(p`ArP!M9N9mk"c DhqMV1TF[0b)&J*MkD%83L%`'"$,aZV)L+V)$!&`Y`)ZS$+rL&4JL!r,5)%+#5"J *rm8HcQ%'L9iEBATC#FL!*E3%Pr!5B%*0M)NbF5CJ`h4l'@XLCNb`9&2"T%[G1L' L#0la[iUS(jm3kSTU9`SN)XHkS"c6'(2%$LT"@0LZ2KMS&Q+'didFN9B-3LKBL0J E*(`,kSlh[5,(`ENQiVhk%HYXi'A%baJ,8a)VfaHh6VrGLjAiaN5'CQ3@R*&%16I 3q29%SfVmHH+#PKJ2cU8MhpGF18a1S56HZ*!!i11%9PS$+N11b4@5[3"`9!)Dc#b 4*#-CNAfeikj(PMYNkml413RQXaJPMeEMD[T#C+3m*iNDf9Y+NP(fi[,eS`TC,%i IlPQ104"4152B`"ANP+iV#lM(0i@&&i45QS$d1!Ph%P(aK%1@b"bG(+)R5T!!)@@ 'lX)(h`#RSMdca8S&*,&3ZTL)QpJGhUkq0,j`p20)KpRBB"94D,L[rYIYh"V2JR9 YM!%q3*H6)I5JmPX[C@c#,F3fF%V#**I)3,%5B&36cSEBqN5pb%,JV+m41`X#Lml 8eeJhEJ1eY#kq%Ilm(qaCLR&[$F)kM#55BS,)b'X&C$IdbZ+5!RX#49Y-)5+#@-N a8Le@9b"4D)F3RM`T-6HbeU@l%(c%DG@&K6G$&%"$JU)l`)k+K#3JBLfI*3T%+@Q )6HiX[TJ5Ga[cmB6`4+Y44-LL-"r(2(T6-8TFrTZ%Yq'i(V2c2'6(9BiiM*@1YQ( 1+j2rViM)+9[hYp*$*,PkJh*68M9(&bX!%5q$2kf%$Y8hG&H`N!"HbqXm+,#Xk3i 49blr"D2)43-[qYbT6(Qrk!`(bS#BkSHY3B[TmMc2AR-PLQaYd+@-Kc5NjQ[EJDm RcFbZpKELpTA!p)Tl,@hBY(*ah%C@+GT+B*'Sa,keXKBY)$F%Q6Y2@Rh$CJJ(,a4 Nkc!I)B*X%cY41da5"[)MhR"T8T'pCJ3Gh3bJ+Qe%'ESlk02ehPb0P'`C,3pNKGV a,+JP%#&(HL%6NE4mC#qXCC0NBi'6&Vl%AQ*C-"TQ88ClVEGT5HC40L(,#YP+#H) -f+prC#k"L'R`452[HJa-rM-LaL4KXTQ0XpN9N80c+cqQriZE"#bG0$l%)L`a9`T *F6cb`,J0TSNc$iPP@M)[kPIBLlL)Va#EG"KDf2*!3*(CBD9!9c*#+C05(qff9`3 #-GGMX(,HE9fiLl6C0[9J50!X*kP[VKIe"MG[L([V1LNU[U%9VX2UkJ4++(4jESE `$!B@4M5Ed(*'f+Ma23D%+CFd@*F8'Kh-EI56Iq)VC5,[LT,6-)NaZ#,b#%&!fXa ,*iQ0%4Nlf+,D&"VJ#[JL*ha'CTBbFb*bBBhdj"A4+l@43lY,#Sef85'U38Ii),a X!K8i$@P-$M5!-4!MT*!!BGJ4Fm!a(!FCm35-3!-!V$-!!!%!!!!"$!!!!!`!!!! bEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEB4CQPRD(4TEQFYGQPbD5j cDA3#!!!!8dP8)90*9#%!!!!!8dP8)90*9#%!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!#M#DdT!!!!&J!!!6lEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE E!!!!#2,I1IHU#63m!!!"!!!!!3`!!!!-!!!!-J"MMk3%DJ!!!"`!-J!!68YPH3! !!!S!!2rr!!!!!!"Mle3"m!: