[comp.binaries.mac] VirusAlarm Source - let your programs check themselves!

bradn@tekig4.LEN.TEK.COM (Bradford Needham) (05/13/89)

[VirusAlarm Source - let your programs check themselves!]

VirusAlarm is an example of how programs can test their own CODE
resources for infection.  It contains a table of the Resource ID's and
sizes of its CODE resources.  When it is run, VirusAlarm compares its
actual CODE resources against this table, warning the user of any
differences.

To make your own programs test themselves for viruses, copy the
"testcode()" routine and its supporting resources and structures.

This StuffIt archive includes the LightSpeed C sources and the
resultant binary of VirusAlarm.  VirusAlarm and its sources are public
domain.

Brad Needham
bradn@tekig4.TEK.COM         (UseNet)
or
2239 SE 74th Ave.            (USMail)
Hillsboro, OR 97123  USA

---
(This file must be converted with BinHex 4.0)

:$PCTFR9c3@aKFQdZFfPd!&0*9#&6593K!*!%1Si!N!6V)90*9#%!"3!!1Sjb6'&
e!3#3#!)%GQ%ZB`%E9!!(rrm"!!!%DiS!iJ$$!!%!!3!)rj!)Qb3!$b41!!IrN!3
"!!"!Qb3!36$Q!%$8FJ"!9%9B9%Y"5%`"!*bjQc#J$ki)!*!'*)m!N!B6d!!!Mk3
!!3!"!!%DfLp80!#K!S5G-#l'J'J"`NSD1AAQ"'%64NiE(5$#J#"6TXdE%'r-J%$
cjJi)1KmjdLNcKSl"Ka(,c!'4aJf)2'rUb!%aj!Q4)L$Nb-`TCia-&`09['M3B%6
0-@cUF!6"SdQB-96b`$Q+aNI6Te'RmSK5*mfB0@6NK,RMSZYA0e#PPU(DT1-E1AQ
DR*(6eUY6Z'(RmVK5Nda*[AcGrSdVPNLD-'cHR%(FpbeM`AAGe+'X'+aFUNAXP(&
$Kl0IciePVM&Y16$9)@p)bhR$K[9LecbSP-&$T`LC0(3Uhrl-!mV90@(1P,'0@M#
90l6&[-&6K8iD0X+E8i86CXiBb*8E"%`+BX`EMPp)EYh5CH&*0(04U#pMTJkE&%&
PfUFc-b5)h@'d8900Cl`hPhP6#68(88E0J44"j-e4aQJ**-!3#LZe!FGG&H@"RaN
8&BJ5#(13!'35(@L%iG)GCC`J'SN6fS4L'M-Tb'!C$aDNB"TN@!K#%N5!*0+--rA
d8hi,kQ38##Ld%!-)2I6`RaYN#2NHM4R*SCD(15)j4aTkP1(MPf&D55550c*C%`K
Lj,(5(#RNZ"3)$Fa""d3YPAGH'HQpX48)Hc53!%"0,NNifJk#%SSNMiJQ%*NE"5T
)CKQ)pS'SH!)4"))66e"4"%CCj!5#'a0@1D*([jQ4aj8c9E3PQr6G04G1GH6(4KR
GcBALA($-YPH!A5B"3Ke`N!#KiPc!X3V#(@(NS805&3k4)U5k`JH#%8Ni3F3A9L3
K4496E%6IJ0E&GY*(*m4`!JKQc0B'##I!F!+L"&8S4&PXQ'UYR@&3#9PXFi8""aa
XQ+9L'V(4Ud+&8Y3Kiljdp'[XS`%2A2"hjEV"!V3*M2U'GC!!'JL#&$)"Q4'9)%`
"*V)fi6S''XY@j!D"),3Kdac*8FUaEmQHDFCeCE#JTjBXJ5bLY3Mb14pl*i8KaUd
+-eb''2MU1aHrrP+FNF8'Caae!JdrI(A%@31m0F&G)fa6FQ(8Y('p(Er-dKSdSkJ
L65le5ZK-ERaN"d`c-5[(c*!!1TJ8H9I!Cj1`c**flNBIH558Z+*&"SI0T!NYE"Q
rZH3cd%)VL*)FGF0((VEDFZXYZ1,q2(2'MmGlJTa-MF#4kh1K[Qfhhdk43!`*"!5
##$')8$1ZEX`8f4YVX([A5a"*1-F1`m0J[-hpcQ5B'bHiT"46r&URN!#GH,U8G*p
rRVpdHe)'#J))`VmrFK&6!#Rdqr9V!G6lhbH`"`J`B%%#!LLr'-#!"RhBQ2m!+-!
Bh!m%1FL"$4)SU2m&-!%bZ*m-B"!$'9#`3X),!KQU4#U6'!NS0P,5A%CcTc6)C#4
PQ&cr,#Jd*`N0"ReSJ+@B-Kj0%B%*4rM##Ae%XMQBc$ql'YjjUR4#i`Q1F!AkcEr
1d+866S%+8[!G3kiSK4%iEbG2*&#VT&-(Pbb4*cj"i9"8D$K02@%)AeMBQ&SB-Xf
d33`aR%P0[M39+f*a#V4VbZeU-TFI"R')0)""$33j,P+Km5GFp&dL&fQl4XlPM9m
S!KD`')6I"DmJ)LJ#Ep6b5+!8m8E'qeiPF3F#6$E"*a@5`5H(ei6cT1&RR#[Pb0C
BP$+NFLQV*'3ViGL%*%aK#N8J3J*Q-%X40)&'A`VC#AHCT&lqNSHC+XJENa"(pa!
UKM)a'Yik%MMJS'&05Ac##(QbTidm*M*R5-T5'-R+EAk"#PQ!3K%U"))Dc$+*G0$
+A2c6UcFmV50-kYF`ZdNq!Z&(PB0dT$de#BAmlE0M0[LRYADcPCENFP)%!@C%,cN
%ENUK#%&JJN8lKJ10"U`PGB!-L9B@8QbUi+Bia5PjMP!4MVLK"3FKA4N#+LkS914
JXCQ*'CjhTS,qkPe,C80Nf%+HAHAK"*2VQdZ%!KNfV)SlFM$MN!#Xa4'2j#LRD*e
R-"dC"#K!J3P&D%)4R&!&6`S[-l8bf9*h%J5,c39cG8J!4#ejV56!9DjdaH!XAF"
B)`$YH*UT8)8'bdSQ"1'+L+fV,)ARK$VF-BC@!Z`F*2XpHJV6N!"I#))3RP!&+Q#
`"KN9AK'210Dj")'-`@'X1kGBd`EJ&3N5ZeA0mL$D,9J@Xh1Y!JK@!))BG)&k`LY
Z$"KlA#TNYJZ#9HY)DaB'2%`KBQG4@CP`%)-FE,BJEHMZ6-[N(k+3!!Lmc5YY$`[
L(D'-CN0KG8p-62@408`)$L)EJdk%iMMmZU4GEhKA'85c%f0"UQ#3!1V5qkK`6Mf
f#J3'rU,)lN!5iGBh4S%mJPV-!)8lN@J-pR@$J5m9%,5k@+HDFN**PR@J"1[U)dR
m@r6%YC+@U%e2(1Q5#0j%Kk5K)!A'`e)5Ce0'B5Ba[@YL-XMq'K(cGI9aFMY,J2F
8,-q&`EmcqFlNr,2J',VTR#%V!aXNG0BAZhLHmce*1)f-(iB3@@6Ih!Y`9S9%Ddd
cKEh8im1`j&5eY+&,9C!!%(pjA,569HQ*9YV3(,jd81M*Y#CQ+*VDFN3HhGL*cZ@
"ceQ8qMb0Q)GB`Qh[1XI`%!'h!@X0HPDp'#,+1fRNclaXN!#%'8)%03mePlLZTUl
*ijjJhbK`**(3HZH5SM"25cPNi(4[#39#82B0`l-jk+ZCa&4Va@3R,hZ$XNH8KM2
dEA+lDJ15DdTN1MFJ8)0bR"f60Mh*ZR48RXAM6[aME$CQ+5FSkjqLNNBk-Z"K"rB
@AQ&fBbBrTa&0+S39c3!N)&*9UAr!TC*`NiB'K%Y@H0-LJh"(C,HYjRSZ!RIFMXM
JmBmAK,E[Z4ZJPp5r4aeYU!*Yq5b"-j1!rJN&j6ihjakkP!5mV#+M#P!CYL!$f$i
hi3AKHG*YTLCcbiS-4"H8c3dd+CdVR$r,9T00f[5QV#H!I(A)NrVmK2,j`!(K`NZ
LJ)RQZ2Q3!+%&H`AbA'D1FVAHXV#TiafiQ*+!HHpT*P+#MF2SF%SfSZ!%*ca"#KU
9Ga33R%GiJ&*cUAGjJe0&5SERb25@Zi,1i`%rm$EkRQ!QT5--03P8DR`[(apjSCP
qmS*+31jGcrL5Z@'TPPqpd%b`mZ([bZG"!i%*h+$d,F#J#lL[d+j!+LAaPN(f4JN
q4p!3IGeAU2*Zel`*eVkHje22l5h``FT"i!-T`8$j*KJ*fq'3!2leKd"++fp8adM
[pK6N2J(kphIb-Are*a-m!J,hYbKB"bMr*i!KJ$-i-8*'KNQDa%QKBi"NF%0-)$6
6Yc)TJ(VrP`"#33Fki3BSB!3TK8cGP`!j*&RQ34Se83Fk8b%YQ!$Sj`1'BK05JN9
98!6kPhX#H)153P-*f)&K!S+5jB!3Z%365%`q)64#L)&35)$UGc-V`i(`-5NIb)$
f0S)PH))T@!3V@)1U"i1D-B-X+#Jj*#MJ0hrL4hj,ChlbYaAd9i9ma(lZ4cdVX!,
pai@$)K)$5)ITPi2imB)J)i-r@#&+f#a-Z#FSi%V'K%a%-)@#D)Fm3SPP8)G$'#B
DZ)@T*i*$pB8SU&*LU(mYQ%-M-"UT)LKH1$JS`)1P@'hr`@"R4M0B`NSSm$a"Gh9
CYiCaYS35k)KejM(@S5SLmfe@SK%EXK)`+&-kGQQrTfQa%8M8eNblL'l@8P$DjQK
kBSBbb#6EdcdJ%!GP33IVpMh!5!C'4MjfG)&m*$3F05NA#"PDf!#+`SkHjA(#de"
eP'qJ05)a`53i3N9#3i'E*!9"N!"eLT*rXJKc5A4'rGC,0E9emEJbF"GeB-G44I0
4028p@mG9DfD41`Gf9d'#-J95h`0[MM&&*EB63Q&JF(!RMA*d1`%Fj(3R61GdqPJ
3+m%EMh-'(d%S1)Bd!mC#ir3Zr816*&)(BN!q1@N$6cG,'X'2)[)4,iJaSh%XMf1
6ViD6lG%r*A)A,X'9jd3(MD)SA)PmMC*a)SFX'4*bM8)bHF+93Y%5-jNL1k%#Fe!
83U-#C'!RP`++-'PLV6G86P!'Gl#5m)3#U(9#3Q0jH%N3q%&!+'"cG4B$d5FSip%
a"6%&*L)b!P03HU190M0T15-dGf"1)X0h2a)NGT*fc@-Z5D5+5-'C45FS[!GlC2"
GT!-T3*FKj#-dIT4&3S12kYBS*IB'3d!q[hQ6FK"pRG8'cm'E"))#P4NECi!IaEH
86ANRdCHFbhNR+$!(6%Nqd9GjIqN58Q)#A1Q8FZLAJ%PkkHPr&G)SHkN3kdQHh5N
(c[GFJX*KMi8#m%N(HkKjHPN8HdLI!#JS3i!58-#FlHQGMB+E3d8%5C!!)5M`NQ)
CNh*3N!!PG8rj9!6$PjB#0D*[+6%QfK&eDBk0-J@[TaZmdCaY%(*#%k(21D'I*#L
DiTNc0TYid&%V8585Na%`GC)de@GlGh+e@92H&jh658GRJ!)9bBP(DCk0`RX@LU%
D'PBFkU(F4&%@PD*YJ(aL5U2+4jG&%hdZ5JG*!+0d)+0QDU1CQ3"1qJE8kCXJ+Bp
9+U%85JGCfK%CQSNEHLGHqJ8RPB**S$pL5UCRHU*8)UBVUUB[ZKY[5TBSZUFh+LL
D+4#F#3*Ad$B(eQecJB`M!JF1mc,$N`4@*a6'mc`L3"E!)3*,#NUU+R4*eR2@!RR
pBK4XX#jF56f[@Skh+M)Rm!4,X#iSF$YKX"ri`C@c@R4dNJ#e0$'++4R@#3@c-3B
Y1CPP#Kc4jaKc)'R9'U9E5JFF'RfYD)*NQ5a4`K1lUQD6eda$m+jXF$h)-a-L8+Z
b)M,DH#YYF%fqk'B[eQR@%P9646054NLY-MPU8'9XmJC!)`F%FbaG3Q&PX#S9-4V
L#&CL*6)k&K'-jQ2QNM4Y*V!i"@ICa&deF@6Z!4&LJff5B@L""'8Qk(r`YR9k#9p
LN!!V(0Tb`V-KHi0P4HNir+*P1kYX+6H@JEQCQJ*l`2&14kS6ab-jHD"!QV)V0N%
Z)[-Fd6%Gh-9mbL%(-j',FX!40DP('L+@r@+1cdTi4EX'4jZ*K-NN1$ZCH*!!!c#
!!bdk9(e&-%b3!!B#mUBSX+e-NV2(%EFFkKlTj9h`CAdIf#K@J3Gpb`CD!$"("VQ
bBK9fNNHA+bLe*"5DZa*LflQ#iV4d)'*KB!BSB!+l!J9L'AfQD`5a`4qGQ`#Q5aK
88K*c8,ZQLeHl'hfHBVUmqcVMZVZ$Qkf%#`2IDPK[%!CN8,YV'KSXT,PV)+@d+,f
1`a$qP3G9!!I8#lZ[-`3kX5"b8,ZmG`@)iETKYESIGPq[ZlGdS,j[fViUpVkDqNN
#Uk-&)@-RNL)VdL+6FfAN!V9KNS(k'fTcSf(6C"jD3L`C-a0iY&Gc`5+3!(-bYCK
QDiBMqLZ`YrQ(6")#l5D-5!L+*$JiME+'1GUTDdSX)#'eSS@&Se("@S9Q"E*ied&
MieL1EFZ'c`0dQKF$e*-'R`F#eC9C3CbJIYJ'a$8D%E%&DF!q)-"lH!9dh3Gl%K*
@8kc%aIA%0a4p,8J%DR%(H#8%&8'k#3#J`T@XEe"QT(&N#YSSTLZqBRXAd$Y8f&X
Dh9'pCBBAGq`HfpZpheXTf%3HKX('EcU-CV-m!)BL6(B'-20NEG-bSP&h`49$mX3
8e5Jm)Q!B*r-am,%6KL`#fG8!K6c*KraZJR,(FRNA9D,%KRb4)Q2)Ma0b`Y8rZ'X
BGp#5bh*1,j1DZAX(X1bk36XL[Sc,9P*,-8%%*@%654QC!2Sb01Qc2)NdH&Q5rbK
3&eGd@`GBjY%'k88P1jN4N!"9+phmcB['b5J!@-YeP'DR+-9F%NNMcClU[c@6%mV
',)+fbc%Xbj)@T%bU+0qf2C6LFL"!"4!a`BSc,&FF-k64Faqa'mP5D!(5@`N3d'B
M*D1)6#fD"jXVRAPmZ34p"QR`)NNd"abG)H,X%CM6XGCK-k1F+)!B!VahQ,aaapC
VCRFmI+jXbTkBHm*c"3#-,'hT!NcD"rq4`63"L1QF"iEX!UKb5biNYXTA(Qe!"NY
`XIKK!LDJSdbbdbcN!Kaf0qfk[FTm"cE""h``A%dGeZST*FZ+%PIY)8MSdjcDU4G
k!KG@cK,6!YX,!YY,2XbM`Ia8%-(Rc82kehF5f![,E*9F*Cpm08ma&e)%6f(@,pf
MS%bDHmq-"NST*C!!@4(iXG40ACSiSaa66C1``4'"R([FR'$QV(Pi&GFSX0NdfAd
@l8K5BKKk65ATc-5lMA8RI06+*S"*-!IMDY-Qi0@NdG1bq0KiVFq6`b)Ri0L9A-m
FF5Z6YP[`0)XX0"2pBp4UTQbT0`HT@@3`)pUQ$0Eq1m,IS@`HNFc,V!-%V4([V@a
3B4E0Xb!f-l&'-FU5pFjhN!!dQZGB9(,,*B(HAmeKi$4mQ`hJ+bL!!#lJl9S6B`c
DIPJKV@hB+#-PH1@LYp)5#%iDkJe1+eM49bc3QUIEVLda[DdC[ehLBX"9Dk"rD5K
C-BiV-jjlTmL+SHL+)A$ECB"l!8[)Er$E,-X3Y"``HU,K95,5Nr`HM3`cp-h%-2,
K'810T#',3iBd+iibq!`[j!JFkr)p+XlNkD`Jc0S!0TF!EB$QE'#@prEEMl-E,&&
'm6(PQX(1S`a[LT*Z6"c1k[aNpR`JbGChLH)iZr+VXXL902%`Gk215GXak9T[Xh3
38A&MX*)I*@aa6"U@qE@ZF1jpikV,jGUcK$IT!ak'MH,RH5iP5*!!"PI!bQHZ(fm
HIBQ1dP,#"'m3kf8lkq4CkcK+hX#"UKJ#(i#&K1eY@fje@-NPhl+S'e+9%EM&Vlj
LD%`UQ)1k%i9*"iHCQ1pNVDLP@Ua&"BqTP#V!VA5,RCICIG-+'H0kVFMVR3c8U"e
4PYd(VZ,klH3UU&c+Ta9biem@Q-PH@-a19miq5f(Z289(`L@)H!Ap,6kBH`#IicA
qkJ@c%P1X[)f5VS'kkA!Lb!!#"(CK,R,L!--!iJ!2*"`!394N!@J!N!-%B,3!N!-
3!"!"!!!2+p`!N!-$!!%!%!!3!"!!!3"!Qb3!36pf!!')$P4&@&4,38K-!3#CN!#
I@D!2V"-!N!B#+`#3"J()!!#fjJ!"!!%!!9j(+N#!X"2'K4`3,9U!N!"5CXkE1R,
'P!&"TSbC0'l5d%RcaJf)Lf`QQRPcd%SD1AAQ"'%64NiE&`dD#%(L4)B1JMI$`*(
c4Sh"14%Er"K+G'M-J"M(X+P6%B5FKJmM0J3KTNiD0R4!h0')CQ($)Q3d`NcLC!L
6+N5+J*KC-fG1J`eM8XN$Cq)8+P*'0"$)JJD-'LKST0La)d'#+bdcZMNc"d3B-3q
c[L&$"X53!#GTR8+&+,%aLM*KaR4&%kCa'""ci)5H'#BV(636blJKNf)[L"N0LZ#
K)qIdjE3X[$VN2$%*%4!0QNa1Fl&-jGp&JM-F,K@%FH40dXbCJr'-CFc4K8H9D2f
iA,S6Qa4a8U8"LaL"Dh1*3@0[%-KeXTT%UC+P5aF!aX5#$2%eB-49CH`9K99d["$
&85#Ji-BEG*5K!`L[YAC#Bb,F*38))J3hB9BGiL9#E94N!B9D3MKK!`dJp!##KmL
a!%-$qk@d8NYYJ'"&'A*`ea%)-EJ!!d)++4'''h@dP-GY-33A3`iij("HA@Xj333
6lX8J!`iSc#"$E5fq#-+053cKK&j(HSQ$J9)8B83$EAjjj84'a$RRHeq'1@B$38!
""40R0J!#!!CfB5jbCA2$!1)!$b3F!%&8C!&S!*!$"'#d!*!$%!!3!3!!$b[F!*!
$!`!"!"!!%!!3!!%!3*XN!%%rGJ!"L!i!N!J"!*TBLEUJ$jmE!!!&Y`#3"J14!*!
%aRF!N!-"!!%!!ICb!!!%#!LJ!)+!"!i'I%@`SF1(%#%L'#0R$"NAFXV-!5)J)X'
"$Eq3!22idD&)!)4)0Y5%*C'ZK`9ZUCa*XkE0QcKciS`")%B!RM8#,!&3+%)!8!!
%$9638!!d!8!1!"J`G3%!#9H"r!33G'JKT)2q%H`!J!B!,J$`"CJN%+6$!*832#&
$"X53!$GNbJ3-B!"!!SHN!*`$J#[!#!)%SY4*3`F`!!Z%!9a*H0F0R64ZkZKYL(3
F!&i"6J!6%!#5``N!GJ"3!5!GSJa3hXbCNdB-Qc)JV+548fF1L#4Zc*3CFrQ0'aF
2B6`'--3`)K"0m+BaNkC-h5&2L"4K!8++aMGe+Z*13J6%$"NhE0a`@!@!+!"T!JK
!T##'M"NdDUM(N80j`ceP!I")8SJX%!4aGB6""JK6T+&('ENia!F!S3!!b8$dfBH
IIMI`jap"lBd!(`#$)0*!%AM!-4`GeM(SB"Pi1-38C+cC!%T((I'!b!"$5$'%'3i
"1)5!!)b5iAhjlGGIN!!!42K)!"JFZD'5(`BdifS!f)MMAMTeQG-2"b!$!!-"(%3
Q!`!B)!!(D3S!QCU3!!e!J!K6%5#LR#)'J%J3J1M*Tjjr!!)!0)!!-fLKKaSD"J"
J!,"SSfF%JiqAP(Vdck@BCUVTTTafkZQRS(kkPeN%1!3,!0m!3%`!'a!J`"0$0B6
#Q!"d%3!$L*!!S4Y[F`6"4KKbY!&#'Vk&!8*HE4Jh"aebK&'F'b#mB3B)D,aa"`M
'`L(('fFd+q`BB8!l"KV$V6%X(EjC#beffS'3!0%Fi)RRQaP[b!'#(EXT1'a`+kC
K(()0X3+!0J!J%`!)SjAQ%"S!@19*!"SJ`NBU-H5!J`dJ8)&%%NiXNI&`D,Ma"K[
F9MF(Gm#0i8)$3j3K"aeKB!B#(28qQqkdG+"",!M`QN(((F$L&M3)Bl`"4ajbT(%
''Lc@*8BH'@rFmFIMLNcb'5DMl)E+$M8!!()K!)!0)KMXfTZ[`!SEJ`X`J)"#$#r
-!$Gr+4!%!J#cLT&@!)Ud"G&!#k!)akpZ11Z['e`'C""##J(!d-%%"+!(3@`D-K8
459$"K%!!L%!%%dmF`EN18#3a""8%5@'k%b)'j!9F!Gd0J"8#4@)#5"MF,B$!!86
L!1`*b&k$3*!!#!15"(F2-0*(TRNJqek-q!)!)*IZK8VY0XK&eaGhjD8p'GcM98B
"3BJ"(KhNQem((3V!qX86kl1"@4N#!!CfBA"bEfV$!1)!$b3F!%&8C!&S!*!$"'#
d!*!$%!!3!3!!$b[F!*!$!`!"!"!!%!!3!!%!3*XN!%%rGJ!"L!j38Np+5d&)6!%
!R9jbAU!2Va`!!"P)!*!'$fS!N!6jP3#3!`%!!3!"h[F!!!3)#!!$NB!A$JSN!+!
@J#d!KJ'!"#N!$))%N6d%B'eLaBXB$GJ*!dI1'c9[""#%)Z@*NL9"N!!`'4L3!#C
'%!&CZS3TdkC0$2X`#X8BSC-A19k'CN!5%*G&J8-$`JZ$XB*3C!'i3)d+$`a'$4J
$Z!M!EZ[3G)!+a(!"3i`-JL*#0!Nc*SdE1QrQS!%a*FmF1QADJ$#5KNdC%&E+b*Q
6jSdE%$4Fa#!)`J@,(53#3J[iiKmB%%'D""`!,kVTdkK6Uel0ZVAVel"Mbjj0ZlE
YflKckpl0ZlI[hm#$#ap1[,MaimL6+bGH'S!!B&'p`QEB1i"+kN+P[mDqfcU!!M8
aDRI0AEGhP8)EM"mD3%68mVQp'b$)Mq"ke["aHdG!%*rpf2RGjTd#"0(chh5qHCG
!G!!QL"k$#&DRNNhL05JK!!G!Z*f$!!a3dda##H'%$63X*#+*'$Ped3!BU0!K"MU
meJS!5d!e%!,rj+KMMP&4+&3)"(N`fi1MBI!@Lckmk-4!'(!J&)YD4$9!"Ri)jB!
cTE&S`iY@!$"IH!&*)"!rQJ"!)'T#"V!"*%+TD*C38cP(%#B#VBQK8)3!S!d!PJ3
!!J%%6"''(@8)jBQH!-$L*`%'$"'''f18`8C!#PL4KKaec"%%'f()d3B#JK)+3KK
ca)K4"`!B!d!-BJ%b&!k)+V&S!8@S8FBBG!`P"D*N(!J!(&&"34N!(2c!Jd#T`$-
!2XBL#`m"$$3E3,)%J#!YY6aFqk`FfK)J5EHdG%Z0YJCBSLe"!D*Q!#d%RANE1d,
JSB!5R6M$!Jp68#(&&%lS8S!j4qMcMcFQ-0)[!%6FQi364'$4E`(5"2b2,`9,c)X
*K"c-4,m#q2)`$JFE)X3C51#4)a*[!%!!%PG)Hl!S6Y3#!3"1k"-!%L$J))!JCbJ
J"5"R')##[(L!SF#p@McK4"%2!b)a(38l88F@Mlc!!a&"8"(%b+Q!!X)9S*3J-4N
Q!!)#&#)d-3N`S,L3!-SS9&Y0K"4&--'eef#AS!63$TcGE`$Q%1"U3!bB3FrE8MY
Ka6rD")&2!K#)m!3F),304`$34+"&"0)!%i3q!%J!4`&Y9r%)bXkPFSN6ANMY`Q*
bM!'!#$VmB`$(KXL3!!)!$#L4KTPQh+k,!*b!33$(ZNL6#J!15)h%1IrJim-,!2!
3"6i+H'&dh!LN8JS)(i!#40`m$2%%%8AmF%$A8'$["IJNJ`"%`2l)BJ)L)%"`KM8
L!+&%*'Dib-b!3EiKd)d*kZXD##j`"K(),fal1d2IS(!`43L1))8lh#MqCJXQI1-
$rj!!'K`HN!#+C,`!!IdL!!4!m)98b11%+63!#e-aMhi0`"mjfpNC#2!c-cK3AZ`
)fpP%J!34B-"S38!(!""!K`!3!J23%%B8N[%2HN!#%G")K"N%N!!+HVLRE5!!)JJ
#!!S5L!!+6hM(2i!"JLF)!4@KLm(['')"8&4!#+G!`ZmBd%BAbJ!$Ih-%#E"3M@$
3!!0'G!-,cJ!"+36"$%C#34ArjSTT5%&U-T!!*$hqjJG,BP+6Ib2%0&6a$hmN6KF
")),ZH1Fli('!#N*3!`2J-)B55N%)CX#(*q[`0b8SMhQlr*XBIZQ!@jU"!,XF3Md
Jd,%SQ)%D$!L$XFcJ$'-D3!&U!-!&5LQ$%'!K##,33cr-))e)5%)*ZrcMh`K3K'8
#S"VB1'3L55""4jU"!TQF*#SG!!BBj(16ZJ!!1-"JJRmH$"eJm-$"@,(+h[e1!F%
lQ$#-Gc"`%&-DMCL'*+3'!Mh``adJd-&(P3"(!*`""5*!!3"!d%!5U"3$@4$#%0S
"!!K-3iN%U%B@C-!2B`NK!a*3BJpiQU`S2*)G533!%#iB%##B`4JFpDJU3XS29FM
K(lNLD8$1J!&IU,3(CT!!J!P8bP)'8'-3XS!M!FT!J*5U,+P,(Ca5c@#0M[)$Ie!
J3""U#S0JQ%-*-"#'e&$J86@)J!iB!-!NbS+$D6"MX"k9JM$U!`34(")$K1@(&U4
"#FMb``H69DTP-B!!5HL#(b+U3fCC%0V+(K)#dMJY#cbVJGD1PP'")!J%12U&2ai
5&PLi!KAeSB54Q4)H)1!(#hf,!9KJ3VMr)+jaRB"FI5`A!lm9JKX8!)NJY-%!d!"
#%%SM!"MSllJ"N!2e#2##[ED9HJKi`4G8pVaMCFB%0a-#-BDK8KAFV!M)+!BeL)!
%)4L3!m'!KL!m@$d4I)#Mkff[bN3!ArR5pab614JR'-`)"d0BC4*qla)Y[$)-dbb
JI"JMKceF"r@#f,d8([&m5jcKJ,*Ja3pZFB4KA1%C2kr'[&2a0`$3i4c[63dF8%)
JC%N%3"!K%!F$`C1PeZ5$@D$*8kk$NY@JJ#N(e!"9VS-,MJ@!(-N#%'-`J(Z!*69
B(%)-$!"%-*!!!)5h#!%)G*DD,0kX!4F!i-jdPM1GNA#%*"(D%F'!`3%),B-$51f
q!4!()X54L$f,!4pb"XBKC$!!B3$$"3-JY$1!3@KT(+)-T4@%'!L3!18T!!%-j*!
!!3q5034pl--6"e1#V&eBDhiSi'!qf28mHSh#J-TJer6SpHe!Ci++lKSH"l2"VZ9
a-"F)qf!&RI8Q3HF"'!3J&%BJ!4,J`)"5G*Z-4i!"2jb3!!X3*%2G6XJ(#*3K0@q
$@`4S@#)S2Z"Y%#3"&%H3!*S3F*!![EJCi'iQq%,F&Z!p%h`!"%Y!`3"mF+a!J%%
#"XJ6!2lJ$i1V6`T(81!A6(I#9*J#"KrJchI-!)lfCHp2SI!!#T!!m!+'L`,L)"L
!$Jj!F3!%3K0(Z,M($`"bNB1!c"`ri4#CN!!0YVPY&&&SaMr!N3PL5!dMRiXZ#&k
K-UPP(EN3f+,!)5%r*faQL3%T*K1BT`4'-'m*#Q'880j#'b$)!PB1D$X30-0f,&K
*#C4J1jhbcJQfJi,YT'!l(221#VE$JZhXbMXZf-i,YN-Rlm4JZdEbcJbfEbE[e'!
l0YM1$ED$JqhNB,X5mek@[*FQl`E+ZhrbAKm(e1MY$,%pIfc2J,I2c2B8H(YLEHm
Nfq2%pTQa[8TYci+hAm6f*E)phTG`,0[[[ANQH2[UPq#,Yl2*pQ3BA22I4*!!6C4
$!JIB%3!X)+H!&#&I8NJ#K[iL"lZFB3i!'*bI!e)I3l@K(9UJISRe)%A3"%%`"&5
`4(-a"P3J"b5"IrNA%#i5%2iK&*Z3!!rSm!AU&h`%Q#p%)(m&m"GNd"J4+!"*%K!
'3K#RS!5Jm!#ZJ#-k!J$"Ca-FB!9"i!*$S$)Mi3+b8a-Vf!RHd!ja!)4##!"Jm5!
5B)!)'!!+X)"8N!!(F&!'Fq!#qHD$5V!*Mp!)X)#&@QL%l4Fk89!&56!%!E!!89!
(D6!'Dd!'$RJ(9'L&Q`!*2[!%F6L(ASL%69#!6e#'64!BEb!(HG!%Cb!(EbJ3+eL
(%B#)GdJ3%R!&#d-%CAJ&GN%'Eh!(JNL)94J!KrJ)GV!&@0L*LaJQ(aJ%-l%!4*!
!"Q(!"Qp`"TGBL!+`LCl3#9JBLk%B1P43"&L3!)!+3!9PJ!Gd8!3M5!H&D)KAq!L
,N!!1@(L-"I'&5FJd94!!#G#(EP!(VCL*QrJ(`)#&f&L,%P!%9X!d6&J%K()Ae8J
3QUJ%QT!!#XSJ#HQiMXZ)K1Jc"8X!M83JK@Y3MX5)K@j3"2TB"-6#M1EM"&33!!`
`")j""bE""[LBMim3Ll2B#GaiLlR)K,cSLm#B"X+BErPfMR9B!ahjMdJ)"3FiM``
!"A5a"Q&`"Q@`N!!F13Ta8!LEi*+&!*+-5!92m!3cd3"8m!C[`!CLm!Ci8!9d8"L
&H)kDm!SeB!P(QC6[b)JL139NL!"`3#TMN!#+EjJ'Jk058L%8A`)!#6J3AHNHiB%
!"0!'B@!A)*!!PJ("++E6,)Z!"'d3!-U3!!U)J()-X(F"X%2!!JDle3S")!ZAX`0
!`!eSF$!'F$Q*XcMXm$`"J%+YB!!#X!*!i!fqS&fP*"h)!!*Y`!f#!!-Z8%T)!!c
Y!!M33(C!i!)3S!5(F!B"`3S[F!![d!,FS!K1m*J5!!@2d!*!8%8Ji!Dm#39+S$m
"B3DpqCY8J!JYJ!6r!!pamjQEe!S5)!6Jd`1lD9fq#3m`N!"[$"!0lV#F)Z#Ep"!
*dC!!9(b%!03C2CiCAC!!i*[i)!"lp`0+!!3l4!AXq3,1#5cTL3r88jX4S!l&53p
R)`3V"*jR!`Ir%!*lT`$fU8m"J!aBm!KqTTQFQClq%*UM@CVb!`+()!@qk3m8#JZ
Ek5PP"J1abCQe@3#Dm+!5DJKRi`)5a`k[@D+dDCZiUC[r`!l&LD03)!4NjjXk+J6
j*J%j@U!"%!0l4`%,bJjrJ`82kQH@k3pJB!%V5U'K@3kNDCSmbU'Pa!"Z!!$l8%T
Y)!iVHMBKF!3$!+1bD3JRQU*9d`+8+D1e+3!bJ*Y`5CQeD3$Dm+"`#Td++TXcDJ!
DS+GqZUB2qU65)3J5fTQI@D'LHD8Si$q8`*S!J!D@b3pJ3!,Tb3p95TU-)!1IUDR
"8!k")!f-!"T[Y&,bFkSmj*[m`+8BmJrmd!E8!!F%N!!#HiF"F!!'YUSb`!)"cGF
$2d!cV8!!qN!&Mp!X"0!X"A!``&#SCp!X`J-!Y2#J@ZUKL`ULh##Lrf!(*5S)K(U
Xa`)')h-`MZ#X,K03JQ#Zab)!"f-(kYSK"k-'lhSm!H8&$hUL5Z""%!!)V*1BdG1
F5e5Ed3Nq0XS2#fU`EZSaMkN!0EUEq[QCqTQ`GhUEMp#E)lC#32!#%(#`r'PG%0Z
[[,3ir1#C5l5T3G!1h1!)d3!-,3!&X-UaV9!!LU#RR`S$ADUJMYQI-)ZLppSk)HX
2"XX!9*-+*-"#-iF%EJ#d51X2&HUE*`CiDF4+mJN%RXQdX$!TT'!'#P#er(#e!'!
+Cm!#,m!!GbS+$rS$,X#dD!Zd)l1IV4!"%S!%@$ZfGkS'Z%QhMbN($iS#A`#bLZ-
2j$#d4IX&b3QVa6QbqDB+*l5dkrDf@N!ecC))H&3b1C)++8Di51!2$kZjdV+dpV#
dm,#dj*!!#SeJRjal,+'@Y*rETB3$Z+4VZQ9a'MqK%!P4%``4!"bJ+(T!%%lL$`#
3!!")%!46`"3")39*Xc3%i39,m)J%S3D2k(F"B3IQJcjb)JKBSc8%B3V`0`8%)3Y
c8cF%i3Y6N!!&6F#p!D%-"J5q!G%4!F!M'-%LA9*Qra!3$`!V8")3lQX!NmFL6M!
8!f!J,,)VmKX3#-!I51)FlSX!Nc)!&f!1!T%M`BF!VX)L%jM!ZF)LTT,!H2!LG*I
!I2!L@c,!fS5k'1"R!Z#q&l"h$#`1"G!'+)N'E!!#!!T@DA*eFd&XBA*Y$b3F!%&
8C!&S!*!$"'#d!*!$%!!3!3!!$b[F!*!$!`!"!"!!%!!3!!%!3*XN!%%rGJ!"L!j
"8&"-3Nif0#%!S!qXiU!2VT3!!"2&!*!'$l8!N!446`#3!`%!!3!"Dd8!!!3)#%#
#LS!4$JVF4,"K3#i!J"!%"%"!`)%!+&a%!)"!3!9@dXLT-bF)Qc"bfXba'$!)&#K
-K$La350%3"d4'lU%+C1Q63!i*6SF1K68!eELKNiS"S!L5i`D"A,d+"!'J!%A)E)
8S*'U!&8#!`V!ec(J!!X!4*Me82BU*J!FiB)6S#!J!RN!#J4Fi!S!LVh)i!CN!-d
K"`!-!$J!!#%M!!`!0$LT-aN1J-UA+@XQH(MSBQP%'dSJU)%J'S)B"j!!)mMb!,H
!rrk&GJdJLN!3Eq$qi#%`P6[F(8%!FU+2-A!#)&lSjJh!0iJ[8*iiJ8C(`2-I!Pi
JD*@1$J(LrqM4ZDc[RcXk"X#MSm%E!AK`l!%S!)p0a"F3(f"mHC%!e)XI%ReAKhh
2`I!"Ik$%S!33CaJJK()%J'(!"hb%*5#"AaL))!`,0[KJ4a*5D1&NpXA`63"%1"%
0+#`3&`!d')*bKB[%%2J%+"Pi`ipL,YS5B`XZXU)%$J)iSSB+)1!4!!a$i"-!"5!
J!%NNG$!!Lb"P@#"#&#%Jmk3)J!J4J3KiI#8#)L!)%NdUL%d'bKKZfZ!L(D&Sm!)
5(EQS4S`EZ1M&#f@DNUFq!A!"k&H$"L!&J4q%)S),L,MS3i`MZ%K$M#@i!)JD$Pl
L)JNZHX$SFk#!5LJ&')CL!U3Z)T!!+JUX&UI2U&q!FJ*a!-$$D#JHa!S!16&qJ+X
f-BDJ+DG#H&UF-VM@H0m(T)+!UbkT)Z'V+k"`m%+!Z,*LAbJGL)$!Fb!%SLQZNM!
+#K2R&QH)ZN$JkSHk6H"+4i`Vi,VRIE@QJ#XB-DU!Ua8a*S%V%c%UJDX3-5k"+`k
!$[$AKG"q%+-,)J5"Dh*+6S@V"cq8#8+HG3#kj+#)@FCI$-"BKaNBpMKK48!JZ-'
B#$BcB"N%'#!""!3C+1%#A'Fi),4mCa"!#JpJ3!!+d``FV8$5SM!Y309e#G5"4"3
iiF9chq`if(6f53$Y&cYM`*m5!530#K9JA%h&C$)(P-86,r!`"495M2$$d!UN!JV
1L)Q*haNJJ!!%#&$!J)%-3b-J#a"Z5'$C&%%db(-d`-!-!345!!'+#eir"m8Mdad
h"$S#@5E"jm"!%)!Cq%556*36!!"#!T-GYc-%B"!!!HX"4)(-2rS)!8&b*-[XMcT
92)*%(N-m3834UA"LB!p!r1-2(!&`r`mrB!6N6"E58fpp%Aq2RdSRcl@!a$ri[1!
#r8LimBmpqImM6rlqN!"(+P#"2[[4,a@P`%m,J1!2G`5K(Iq!K[bH&c`SZ1*j0AZ
H%NiMJ$Bi))2UJ-&I"!!,rGR$$13!S3JV8X,p)Fjq$46#+GTRMpd)a!Qk!!!YR[!
1a#c)$%D`62N!S!N3JJm'J!!K##B'L`Zki``UJ1&[h2#m&d`-K$mBS3d&J%-!d)'
(2J5#'3`Ja)"S33Vki`F-lXH2&[SM0rp3`3-M1%&eJ%%')&3#&-aJ!KQ#d)V"SD)
kXPJ4'`kJLbS!Bp6%5!!K3X##'"6N"L[#"Q+!cfZ6S8)4pPDpkmQX(q4!hfi#8!N
C)J%2X8N&(q)h2hi!N!!ISkc%hq##3hpBi*@eG!-@(J%$QbP!1rRV"cp`Z!mB"(1
BZ[#(&ABC"(IiJarb!fA`T1!+80B-P%U!J"RSd8aK4K-Geb3(08'*XhkJBjcSJ%!
Nc-!1A1UL(rlBT3&KbCX#""-I`D4(-0Q4LNEBVarkT#)r8[%)qb('RIV`a6aYD)"
ljR1IrIaR3*p*8)0#!+'5@'Kl(1S'J%,8Rbl`U%!*DXU1kL-9NCKR+JE"!*X*S"r
kZ!)`L!!!*!c(#j2"h0f)3)6Ub@ar,DJ3!"+!J2(9c+K33!)D`(%CAHJ$($M8KcQ
)D3&L5J!*EIJ(-e$K"P6i)a855!8-8X%-'DCL$e%P`@lqmBkS3J)95FhU3#(`JKD
-$a9c`'%rI0#KJ)!"I1,6"aKdX%EN)3%Bj3$%(1("19(H6arbfemUI[%FR1h[6)A
9af%6ZeM1[3!#3MK$+QU!4Z5eY#,)Hi-[8R'$,R,JKrL!keVEkP6*i,3163L#`4+
AZ*q+3`Mk%dFUD"'pYIkMIr")"4`Jm!%P!1!-!4%&!SB'!1qG33LR(F!ri(%'"*b
f!0Xe!akC8eeJZ-*r@r[(1Y!(JIZY`kBrD)i2&0JpFaK`UMR%`bl&*iiKBL&kb%h
&(jMVA$-%"!Q&KBF6@J'8X!`%*`+)RJ%eUcpqXQ"lh52(D32`$h+BJ3-&I'`UHN$
IIpMhI[J&J!Iffcea+#'i-U@T66&C"b)mS3K@+))6U#!Y+i3(Z-L6F143S3B-Hdr
)F%(&'SbXa[[jBm%0(SK&V1)4%iL5"`-a*5VrS8T@r[J8rF-(5Je)Mj9+#,$G5jj
SFC!!@4VEZ(T0b+d6c,+DMa"&$N,!J`+8d!PRX%"[I*X#$JFJar+B!`5-k#)QF#J
!6B4fHV!jEQi)J)3Vf$!!)Y$"2jK9LmEJ#Jj)1!IpI+!F(N!"(`V`3J&jd%Rf(8"
`Kp1"#B"!JLNJ3#%#13-*%$#D!jc"!aDB!!+Q!B!$V(S)8LJ#%hl`DP!F6J)@')6
LZQJ(!8MK$rjJ`MFqm)r+2#!9bG!1SjR`R&6)3pbk%)!3bMd24ZXJ&I4BY4D+))8
RK&C`*,M#USN3"#S%iGl1[J,Mb%48%NJ"$!k3!!%fc+!!'@JJEN,)3"55-EjG*--
-lNM&+$5qlf6(4,61rJ)*QJ#+%QL(FH)!!KJN3))'b!!$#!K%3**'!Khi`ac9N!"
&Bich$hk1SRGIH$N0-!!,,&b"i[T33QLI$!m3m1-j3LFk*Sk12+@IJHNJd!I8-6"
d@!"A!C!!#%)E$!!0)!3"(K@"!35ZlJ5dk`j#,`K#4d5J(!5mi!XG#69[5!!!%`3
!#8)JaM$qSS+r&`%CaD!'%3!["#%!)aM3%)5f!F!$%3LV$X`M30cRA[HljrdF-@J
U!$JaH8CB[RG`PcX"k!iAce-Dp+*IC3"+IhV-TjlcVFIlkd2I44E3r[+ChrcU1kr
l82-qK``!`Hbr!3$6Aei*QhTY)06!!#)!JJL"k#))X$mCkhI4!YERIKf8-(d&F$q
("["q(9c!R0M)!K"M-)"D,$-C@"a#$!`!4$"m*J-!#!%)2M-CXR"r'M!drqFcqZF
c5(!%2P"64q!)`3!$"l#!-R!!Nm&hILF1L#!1L6#!BS!2qJF-Kb!$!b!-`1!#!l#
!cJ!-#bJ0Ke!'##!*JL!'"#"q8k"bj#!$2*!!#[!`"2V3$m143dUJJqEQJrhJ$&h
N!d3i$dE)$&dN!d4)$dE),-9K!Pd%$N5SB$PN!d3S$ehN!N[B45B3K4m$!`%3#NC
!!NJ!"`a3#KjJKU"`"$!`6,N!!XN`Kdk3!!mJ`#aeB)CS+!+RJ3#JN!!I!3!#54#
(Nb%%1*!!DJAN)#"R!Pp33!Z!3#B!,8Z!!J2J!l`4##YR!)33%0M@L-`Q"8F!Dem
JB3L3!!UQB#"a83"Q!!kRPQSJ3!#mJJ*)m!+6+!SJX!3J-!!kF!#D#!#"S!P(X(+
LH!#ND)SJ`"cBGR*3)!*-N!!0`$!k'KF&cI!2i*!!#F3`'6T4(PVh#L36"1A4G0V
%4A8J"*!!-'f&%4#R%4"i3"$q3""B3"!MJ`#AaS-"J!,h#!m"`!2l'!"3m)pXm)q
Lm)r#m)rNX)m#3!$l1!$'X)m&S!aEa)-%F3!l`34$`3%p331SN34$i!3Mi"#!B!6
*CJ3L54!VS!)K-4)PF4)T!3*@8!Cb-!GTm!CZ!!)ai!)`!!)Yd!)JS!4Ki!CeJ"*
j!!)c%!-XJ*-jJ!-j3"!T)"#a%4X"`3&`%*Arm#36%!4Lm!Ce3!F`+4)NB4)Sd3B
Z8*DKd3'S&C96@C9453"'N!!'E&!'""!&GC!!"Z0K'`iK"9H"!8@!"h3J"f%!!Uf
@P&*3"R2!PA)`"Q9JL%3!!K[3"'p!"QPJ"QP3"Q3JQ1Y$Q)D*Q)V*Q##J!8f3!!C
c3*0ZJ$L$#3+&HCKeN!#BLjN%MAN4"M"8$N%+!(!1!)!,!6!#"$#AG6NH$8'ED)%
,!(!&")!!3f#6G*!!"N*C"Ji"#J!`$J$!#`&`!Ld6!*!!i"#jX`-!F"$TJ!JC!!9
[-*TT)!CaqC8XDBKZB!CP-!E*DC28e4"@J4C$N!#ED!+CNNQCPSQCek1CUXQDRMN
$-R!$0R!$$P%&!#!+!*!!"J%J!)LJ!$%J!c0!!c8`S%aT&3fa"`$!NBm!!)+!#!X
3"1`jP'`!!P13!!Ck8!Dji"!9%JS!!!N$dD!2'U%6HJ-9@U!!%**T!!#$J!J0d*G
`X*jdN!#I*AULlpJ3GB%@"f%$S'!46m'49%%3X!!!c%F-!E!""#!!6l!%$[%ALG%
&!F!!L%!'+aQ@,YN')##D)"#BC&!'E@#6Fr#ABG#H0rN'CJ!#D2!'Gj!!TL!!"h,
`"QF!Q'Bk"N%*!Q1!"ZZj"QG+"h1!'hG`Nkd'!R+`QDZTQ)YU"QmJ"b"J"b)4"L1
UR1V*RMAT"ZmC%+`!!0S!!&i#!Y9jR3ea'JX!!*i3!"U!#'b3!!SaX*3f!!*8J!3
'`iY8X*jSi!C[`!Cq@TPcN!#85H!'Bq!#$6!%-NN(BD#FHhUTFVUSG!S#G)!'D(U
BCN!(Gi!5L`QZK2S'F*!!"h+3!!CRJ!C"HTPL8*5lfUZk#Uc#5UaRB+c)UUbM#J!
0!!"$Ba2BJ!JB-+BY1CBiUC0,&!-[F*3[`*42'4"SbC%3i556)"!Bi4#NK!"23!D
AHCaV5Spq!3"L!!"1SJJ85a3$X3!qHK*Z%+HK5K#K&`-"%(Se%!"D@JJ4%!$1+3J
$N69L!3d#!!3(F"9AmDUM)3&!%,-!-,-ekjb$)"YK%4T3'l951l9$`@b"`3!"`"&
BQaJ')!#(dE9S!ECAXATM'j)$3!!K'3#)%!5!S,CXUlCr3"(3!!M!!!"c@lGh#`"
K!!$PXlIPF`E"3"C81lL%#l9@HEL)QlL+ZlL-flL1Dj8A34!'J4!+%3!--3!B)!3
#3!QF%3"bS+pl)`963""b-'re4K"q`'rq4K#+3!3H4a#@d'S9FD!N@33Q'4$')"0
%J*%")3dE54$Hd!3kCU!$S3kK'j)#)3"%N!!%9)#4!4!!$V#l6h!%&'X#81#49(!
42Z#4)(N4cP9Gra!ACR%","%EFH%4!h!"X3QqI`%!D*'q@4-ElFZ4kEXB!K!E1"!
3qCZqSm&Krh!B#!!C$L'rL$%8J##9L-%'9f%"mAM!6XX!Gl$!a3'qJh%*#q`182R
!aV$!kT!!PS-a$`e"5JMF!"Ta&ZC!5M5MVfU``1+!%3N`-JlJQaG4#3$`!#0c&![
X$4L"!6IF$#&mR4j``r'``+IU`!'3!bD``0D!X4Vl"4aE"J@JP9a*"da-"NiFQ9!
Xa9fT!&Rk"8r3P@bJR'8!S8N!!!:
---