Run NumPy installer, if present.

Added a couple of splash screens to show what we're doing
This commit is contained in:
Jack Jansen 1997-09-08 13:16:29 +00:00
parent 4cf4de5d11
commit d0240837fc
2 changed files with 135 additions and 42 deletions

View File

@ -10,8 +10,15 @@
import sys import sys
import os import os
import macfs import macfs
import MacOS
verbose=0 verbose=0
SPLASH_LOCATE=512
SPLASH_REMOVE=513
SPLASH_CFM68K=514
SPLASH_PPC=515
SPLASH_NUMPY=516
ppc_goals = [ ppc_goals = [
("AE.ppc.slb", "toolboxmodules.ppc.slb"), ("AE.ppc.slb", "toolboxmodules.ppc.slb"),
("Ctl.ppc.slb", "toolboxmodules.ppc.slb"), ("Ctl.ppc.slb", "toolboxmodules.ppc.slb"),
@ -148,6 +155,7 @@ def mkcorealias(src, altsrc):
def main(): def main():
MacOS.splash(SPLASH_LOCATE)
gotopluginfolder() gotopluginfolder()
loadtoolboxmodules() loadtoolboxmodules()
@ -155,6 +163,7 @@ def main():
import macostools import macostools
# Remove old .slb aliases and collect a list of .slb files # Remove old .slb aliases and collect a list of .slb files
didsplash = 0
LibFiles = [] LibFiles = []
allfiles = os.listdir(':') allfiles = os.listdir(':')
if verbose: print 'Removing old aliases...' if verbose: print 'Removing old aliases...'
@ -162,6 +171,9 @@ def main():
if f[-4:] == '.slb': if f[-4:] == '.slb':
finfo = macfs.FSSpec(f).GetFInfo() finfo = macfs.FSSpec(f).GetFInfo()
if finfo.Flags & 0x8000: if finfo.Flags & 0x8000:
if not didsplash:
MacOS.splash(SPLASH_REMOVE)
didsplash = 1
if verbose: print ' Removing', f if verbose: print ' Removing', f
os.unlink(f) os.unlink(f)
else: else:
@ -170,9 +182,13 @@ def main():
if verbose: print if verbose: print
# Create the new PPC aliases. # Create the new PPC aliases.
didsplash = 0
if verbose: print 'Creating PPC aliases...' if verbose: print 'Creating PPC aliases...'
for dst, src in ppc_goals: for dst, src in ppc_goals:
if src in LibFiles: if src in LibFiles:
if not didsplash:
MacOS.splash(SPLASH_PPC)
didsplash = 1
macostools.mkalias(src, dst) macostools.mkalias(src, dst)
if verbose: print ' ', dst, '->', src if verbose: print ' ', dst, '->', src
else: else:
@ -180,9 +196,13 @@ def main():
if verbose: print if verbose: print
# Create the CFM68K aliases. # Create the CFM68K aliases.
didsplash = 0
if verbose: print 'Creating CFM68K aliases...' if verbose: print 'Creating CFM68K aliases...'
for dst, src in cfm68k_goals: for dst, src in cfm68k_goals:
if src in LibFiles: if src in LibFiles:
if not didsplash:
MacOS.splash(SPLASH_CFM68K)
didsplash = 1
macostools.mkalias(src, dst) macostools.mkalias(src, dst)
if verbose: print ' ', dst, '->', src if verbose: print ' ', dst, '->', src
else: else:
@ -196,6 +216,13 @@ def main():
n = n + mkcorealias('PythonCore', 'PythonCore') n = n + mkcorealias('PythonCore', 'PythonCore')
n = n + mkcorealias('PythonCorePPC', ':build.macppc.shared:PythonCorePPC') n = n + mkcorealias('PythonCorePPC', ':build.macppc.shared:PythonCorePPC')
n = n + mkcorealias('PythonCoreCFM68K', ':build.mac68k.shared:PythonCoreCFM68K') n = n + mkcorealias('PythonCoreCFM68K', ':build.mac68k.shared:PythonCoreCFM68K')
# Install NumPy
if os.path.exists(':Extensions:NumPy:macmkaliases.py'):
MacOS.splash(SPLASH_NUMPY)
os.chdir(':Extensions:NumPy')
import macmkaliases
err = macmkaliases.main()
if verbose and n == 0: if verbose and n == 0:
sys.exit(1) sys.exit(1)

View File

@ -1,44 +1,110 @@
(This file must be converted with BinHex 4.0) (This file must be converted with BinHex 4.0)
:&%0[EQCTCh9bC9"jG'K[ELjbFh*M!(*cFQ058d9%!3#3"`X,!SN!N!3"!!!!#KB :&%0[EQCTCh9bC9"jG'K[ELjbFh*M!(*cFQ058d9%!3#3"aL3!'Cl!*!%!3!!!"E
!!!N@!!!!p6B8)&3JD!!8)&"p%E"S%3!k!@FQ%Lm-6VS#$!`k!&Tj&%eV8'aeCfP r!!!9r`!!!C%f&#"8)'J!&#"3I4'`D"%!1J&R*K)[$%kk!J`-1J"DH44$EfjQD@G
Z3@aTBA0PFbjbFh*MF`)!!!!rN!B!!$q3#!#3',!I9ad!N!B,#rm4`+KT!4e!%Ir eFQ93HA4SEfiZFR0bBfi#!!!!2j!'!!!rN!J!N"L`0DR(!*!''*!!ra(!U'N"(8!
c%h!!%#lrmlh5%@B386Dq9@X"!8*%[D'q9@X"!6"4-J&R(N39$!!!('85F!!3,N- 4rr-6F!!3,[rc[G)4CK"40Vj9D`%"3N5pSEj9D`%"-&%b!@FH4"8-!!!FC4*`!"!
9$!!!(f)'F!&J!!%"!LaD9#dZ4,d"!"Xm!@B`*e8q'NU!)&-#+!#r!#iL!1d*!J% Z3a8-!!!IBJC`!@!!!3%#,&T8,5j%[3%!'c`"CM!R96iD5S!J8`)S!,m!,L)!l3N
!3)-Sfc36UGF[$%kk!3P+CfX"!+CA3cS!!!%!!!%!!!!#J!!!"%!!!(JJ!!"`%!! #!3"!JbME0"1Tebm-6VS"#8TRD`%!TPG$1J!!!3!!!3!!!!+!!!!%3!!!H#!!!(!
!)!J!!2J%!!$i!J!"q!%!!rhiJ!Am#%!*r!JJ%eBF%#0@#!K$rJ!%J!$rJN!"!%% 3!!!J#!!!q!3!!2J#!!(i!3!$rIL!"I`)3!Rm##!69K`3)eB)#%2q!!5!!2q#3!%
J!Ap#%!&"4!J"@8J%!9&3!J&"B!%"Id!!J3"!!%%23!!K!%!!%3"!!!MrJ!!%ri! !35!"Id)3!8&%#!&C5!3"89!#!8&J!3&r3!#"!%!!33p!!#%!3!!4!%!!#2q!!!6
!!L!!!!&!!!!!J!!!!3!!!!1!!!!(`!!!Iq!!!(r`!!!rq!!!rr`!!2rq!!(rr`! rJ!!#)!!!!8!!!!#!!!!"!!!!!i!!!!I!!!"ri!!!Ir!!!$ri!!$rr!!!rri!!Ir
$rrq!"rrr`!rrrq!Irrr`2rrrq(rrrrcrrrrqIrrrrcrrrriIrrrm$rrrq!Irrr! r!!2rri!(rrr!$rrri"rrrr!rrrriIrrrr2rrrrjrrrrr2rrrrKrrrr`2rrri"rr
$rrrJ!Irr`!$rrm!!Irr!!$rr`!!Irm!!$rq!!!IrJ!!$i!!!!F!!!!#!!*!%#P$ rm!2rrq!"rrr!!2rr`!"rrm!!2rr!!"rr`!!2ri!!"rq!!!2J!!!"`!!!!)!!N!3
J!"k%J!!(S5!!!!!(39"36!#3"Ka3HA3b!!!!!8C548B!N!@!5801)`#3"!%X!!! +81!!(S5!!!HK)!!!!!G"8&"-!*!'(&"jG$)!!!!"4P*&4J#3"B"*3diM!*!%!5`
!3!%!!S!F3!JJ("!pk(BN[L*!q5#+%+`)L!5)!R!"3!#!!3!$J"r!$q!Im$riIrc !!!"!!3!#J"a!##!F%$hSGL5q)N$j))S3V!L)")J#F!&!!)!"!!1!(m!2i"r`2rK
rrRrr2riIr!ri"rJ$m!(!!)!!!!3!N"$r!*!Hr`$r!*!Fr`!!!2m!N"H`X,$r!*! rr2rqIrmrrKrm$rJ(q!2`!F!!J!!!"!#3%2m!N"lr!2m!N"cr!!!!r`#3&l#`X2m
&r`#3&V#`X#X!N!Er!*!@X#XV!*!(r`#3%l#3"3#3#2m!N"+`N!8V!*!)r`#3%2q !N!Ar!*!@X,#`+`#3"[m!N"D`+bX!N!Ir!*!6X*!&!*!)r`#3%V#3"5X!N!Mr!*!
`N!8V!*!*r`#3$[q`N!FVrj!'!!!!r`#3$2m!X*!(+`#3"Im!N!6r!*!+r`!!X*! 3rl#3"5X!N!Rr!*!1rl#3"b[rN!B!!!$r!*!-r`#`N!FV!*!&r`#3"2m!N!Vr!!#
(+`#3"Im!N!Ar!*!)r`!!X,!&X!@`"E#`+`!!!2rrr`#3"Im!N!Er!!!!X,!&X!@ `N!FV!*!&r`#3"Im!N!Mr!!#`X!@`"E!&X,!V!!!!rrrr!*!&r`#3"[m!!!#`X!@
`"E#`+`#3"2m!N!Ir!*!%r`#3",#3#5X!N!hr!!$r+`#3"5Z3#Iq3#3#3"#[r!!$ `"E!&X,!V!*!%r`#3"rm!N!6r!*!%X*!*+`#3$Im!!2mV!*!&+j!*rj!*!*!%+rm
r+`#3$2mVN!Rr!!!!+b[r!!$r+`#3#rmVqC!'+b[r+`!V+rm!N!6r+`#3#[mVq5Z !!2mV!*!-rbZ3#Im!!!!V+rm!!2mV!*!,rb[jN!BV+rmV!#XVr`#3"2mV!*!+rb[
3"3!VrbXV+rm!N!Er+`#3#ImVq5Z3"3!VrbXVr`#3#2mV!*!)rb[j+j!&!#[r+rm j+j!&!#[r+bXVr`#3"[mV!*!*rb[j+j!&!#[r+b[r!*!)rbX!N!Mr+rNVN!8!+rm
!N!Vr+`#3"rmVq5Z3"3!Vrrm!N!cr+`#3"[mV+`#3"L[r!*!1rbX!N!Ar+j!*r`# Vr`#3#[mV!*!(rb[j+j!&!#[rr`#3$2mV!*!'rbXV!*!'+rm!N!lr+`#3"ImVN!R
3$rmV!*!%rbZ3"2crrr`Vr`#3%2mV!!!!rb[BibZ3"[m!N"(r+`!!rbZ3#Im!N", r!*!2rbX!N!6r+j!%r2rrr#[r!*!3rbX!!!$r+pMM+j!'r`#3%ImV!!$r+j!*r`#
r+`!!rrb3"rm!N"6r+`$rN!N!N"Ar+bXVr`#3(2mVr`#3([m!N"%"!*!)r`#3$[r 3%[mV!!$rr*!(r`#3&2mV!2q3#3#3&ImV+b[r!*!Frb[r!*!Hr`#3%3%!N!Mr!*!
er`#3#V#`X2AepIm!N!U`pC!&r`#3#,#`X2@3"Im!N!ErX,#`!2q3"2Ar!*!%rl# 1rrAr!*!+X,#`pIAer`#3#V$eN!Ar!*!)X,#`pC!&r`#3"[q`X,!!rj!%pIm!N!6
`"E#`pIAerrAer`!!rr@`N!AepIArpIAer`!!rr@3"[q3"IAhr`!!rr@3"IrhprI rX,!&X,$epIArpIAr!!$rpE#3"IAepIrepIAr!!$rpC!'rj!&pIIr!!$rpC!&rrI
rprm!N!6rpC!%rrIrprrr!*!'rrAepIrhprIr!*!)rrAerrIhprm!N!RrpIArrrm hprrhr`#3"2reN!6rprrhrrm!N!ErpIAerrIhprm!N!MrpIArprIhr`#3#IrepIr
!N![rprm!N!lr!*!+J!!!!!m!N!I`m!#3"!99!!m!N!93!!$`!!!!"98!!!m!!!$ rr`#3#rrhr`#3$[m!N!U!!!!!$`#3"r$`!*!%"98!$`#3"9!!!2!!!!!&93!!$`!
e93rrm2!!$e898!$`$`$`9993!2!!m!m!!!$rrr$2!2!!!2c-r2!!$`!!r2cr!!! !!299$rr`m!!29493!2!2!2"999!!m!$`$`!!!2rrm-m!m!!!r-cmm!!2!!$mr2m
!m!$mc2!!!!!2!2c-m!#3"2!2r`#3"3r2!*!(m!#3"3)!N!J2!*!2m2!!N!d2!!m !!!$`!2c-m!!!!!m!r-c`!*!%m!rr!*!&$mm!N!I`!*!&!J#3#!m!N!r`m!#3$3m
!N!X&9I!!!2!!N!S&9F!!!!m!N!YF`!!!!2!!N!P999!!!!!2!*!*999F!*!%m!# !$`#3#`99m!!!m!#3#J99`!!!$`#3#ec!!!!!m!#3#9998!!!!!m!N!P999`!N!6
3"`p999`!N!32!*!(p9999Frrrr!!m!#3"3m&9999`!!!m!!2!*!&m!9999A!!!$ `!*!($e99A!#3"!m!N!Ie9999crrrm!$`!*!&$`9999A!!!$`!!m!N!A`"9999F!
`!!$`!!!!$`"9&489A!!2r`!!$`!!!2!!9489&9`!!2!!!!$`!!m!!&@3"&`!N!B !!2!!!2!!!!!2!&89&49F!!rr!!!2!!!!m!"9&489A!!!m!!!!2!!$`!!9C!%A!#
2!2`!!!c-N!6rN!6`!!c`$m!!N!82c*!%c`!-c`$m!*!&$mhGhGc2`-c`!!r!!*! 3"Jm!r!!!$-b3"2q3"2!!$2!2`!#3"3r-N!62!!c2!2`!N!82cGhGh-r!c2!!$m!
%$mh-c-$2c-m!!!$m!*!%$mh-c-$2c2!!!!!2`!!!!!r0c-c!cmm!N!Am!!!!$mh !N!32cFc-`-r-c`!!!2`!N!32cFc-`-r-m!!!!!r!!!!!$mh-c-$2c`#3"I`!!!!
-c-$2m!#3"3r!!!!2c!!!!-m!N!Im!!!2c*!%c`#3"`r!!!r-c1rqc`#3#2`!$m1 2cFc-`-r`!*!&$m!!!!r-!!!!c`#3"r`!!!r-N!62!*!($m!!$mc-lrl2!*!)r!!
-c-c2!*!)$m!2c*!%c`#3#I`!rZlZl[!!N!N2`2q3"2!!N!Vmc2!!N!d2c`#3$r! 2`ic-c-m!N!J2`!r-N!62!*!*r!$qlZlZm!#3#3r!rj!%m!#3#[c-m!#3$3r2!*!
!N!S"!!!!!3!!!!S@!!!*&J!!!28"`GTX%pB!!!!F!1B!#8*14%`!!!"55801)`! 2m!#3#J%!N!3k!!%!N!8'!!B!*J!Q`!)#!*!'$`![!#!"&SJD6'pMBA4TEQFJF'a
!!&j659T&!!!!DNC548B!!!"fD@0c)`!!!)*TBf`i!!!!MQPMFcJ!!!#DD@0c0!! eCfPZ)'e[C(9XCA-Z,Li!!!Xd#c3!N!8J!#!!%3,r$!$rN!3!N!NJ!!!!)!#3"ai
!!+CTBf`d!!!!XP"jG$)!!!#q!)$rr`!!!4d"`HlB!5crr`#3"!(!mN6rN!3!!!% !$!!M!!F!!3!+!!F!)`!R!%-!N!!!"!#3"5!!)!#3"5!!)!!(!#-!*`"$!!-!!3!
%!*!&J2rr!!!"%J("lX!",2rr!!!"23("lXJ",2rr!!!"J3("lQ!",2rr!!!&K3( !!!1!!!!(`!!!Iq!!!(r`!!!rq!!!rr`!!2rq!!(rr`!$rrq!"rrr`!rrrq!Irrr
"lS3",2rr!!!'L3("lS`",2rr!!!($3("le!!N!B*%3("dM316hGZCA)JFQ9cEh9 `2rrrq(rrrrcrrrrqIrrrrcrrrriIrrrm$rrrq!Irrr!$rrrJ!Irr`!$rrm!!Irr
bBfA#c`: !!$rr`!!Irm!!$rq!!!IrJ!!$i!!!!F!!!!#!!!#BJ#!!N!8J!#!!N!P)!!!!5!#
3"3J!!3!)!*!',G6UE!!$!!!!#)!!!2m!!2q3"J!!rj!%c-`!"2q3"*QC!!6rN!4
QCJ!%rj!%-c-!!2q3"!!!!!6rrmc-rrm!"2rrc*!%!!$rrmc-QCN!"2rrc-aQCJ!
%rrr-c$-c!!6rrmc-!!!!"2rrQCRrr`!%rrqCQFc-!!6rrjQ3"!!%rrqCQ@CQ!!6
rrjQC-c-!"2rrQCN!!!!%rrpQC[rr!!$rrfCQc-`!"2rrCQDCQ3!%rrpQN!3!!2r
rCQBc-`!%rrpQCJ!!!!6rrc-crrm!"2rr-c2-c!!%rrmc-jQC!!6rrc-cCQB!"2r
r-j!%!!6rrc-c!!!!"2rr!!$rr`!%rrm!!-c-!!6rr`!!QCN!"2rr!!"QCJ!%rrm
!!$-c!!6rr`#3"36-c2q3"!!%c-crrmc-!!6-c2rrQCN!"-c-rrpQCJ!%c-crrc-
c!!6-c2rr!*!%c*!%rrm!!-b3"J!%c*!%QCN!"-b3"'CQ!!6-N!3c-`!%c*!%!!!
!"-c-QCRrr`!%c-bCQFc-!!6-c*Q3"!!!c-bCQ@CQ!!6-c*QC-c-!"-c-QCN!!!!
%c-aQC[rr!!6-c'CQc-`!"-c-CQDCQ3!%c-aQN!3!"-c-CQBc-`!%c-aQCJ!!!!6
-c$-crrm!"-c--c2-c!!%c-`c-jQC!!6-c$-cCQB!"-c--j!%!!6-c$-c!!!!"-c
-!!$rr`!%c-`!!-c-!!6-c!!!QCN!"-c-!!"QCJ!%c-`!!$-c!!6-c!#3"TQCrj!
%!!5CQIrrc-`!"*QCrrqCQ3!%QCRrrfCQ!!5CQIrr-c-!"*QCrrm!!!!%QCR-c2r
r!!5CQFb3"!!%QCR-c*QC!!5CQFc-CQB!"*QCc-`c-`!%QCR-c!#3"*Q3"2rr!!5
CN!6-c!!%QC!'!!5CN!4QCJ!%QC!%-c-!"*Q3"!!!!!5CQ@CQrrm!"*QCCQE-c!!
!QCPQCTQC!!5CQ@D3"!!%QCPQCM-c!!5CQ@CQ!!!!"*QC-c2rr`!%QCNc-mc-!!5
CQ6-cQCN!"*QC-c0QCJ!%QCNcN!3!"*QC-c-!!!!%QCN!!2rr!!5CQ3!!c-`!"*Q
C!!#CQ3!!QCN!!'CQ!!5CQ3!!-c-!"*QC!*!&"'CQrj!%!!4QC[rrc-`!"'CQrrq
CQ3!%CQErrfCQ!!4QC[rr-c-!"'CQrrm!!!!%CQE-c2rr!!4QCXb3"!!%CQE-c*Q
C!!4QCXc-CQB!"'CQc-`c-`!%CQE-c!!!!!4QCTQCrrm!"'CQQCR-c!!%CQDCN!3
!"'CQQCPQCJ!%CQDCQ6-c!!4QCTQC!!!!"'D3"2rr!!"QN!6-c!!%CT!%QCN!"'D
3"J!%CT!%-c-!"'D3"!!!!!4QCM-crrm!"'CQ-c2-c!!%CQBc-jQC!!4QCM-cCQB
!"'CQ-j!%!!4QCM-c!!!!"'CQ!!$rr`!%CQB!!-c-!!4QCJ!!QCN!"'CQ!!"QCJ!
%CQB!!$-c!!4QCJ#3"33c-rq3"!!%-c2rrmc-!!!c-rrrQCN!"$-crrpQCJ!%-c2
rrc-c!!3c-rrr!!!!"$-cc-crr`!%-c2-N!3!"$-cc-bCQ3!%-c2-c'CQ!!3c-mc
--c-!"$-cc-`!!!!%-c1CQIrr!!3c-jQCc-`!"$-cQC!%!!!c-jQCCQB!"$-cQCN
c-`!%-c1CQ3!!!!3c-fCQrrm!"$-cCQE-c!!%-c0QCTQC!!!c-fD3"!!%-c0QCM-
c!!3c-fCQ!!!!"$13"2rr!!3cN!6-c!!%-j!%QCN!!$13"'CQ!!3cN!B!"$13"!!
!!!3c-`!!rrm!"$-c!!$-c!!!-c-!!*QC!!3c-`!!CQB!"$-c!!!c-`!%-c-!N!8
%!!$rN!3!"!!!rrr-c!!%!!$rrjQC!!3!!2rrCQB!"!!!rrmc-`!%!!$rr`!!!!3
!!-c-rrm!"!!!c*!%!!3!!-c-QCN!"!!!c-aQCJ!%!!$-c$-c!!3!!-c-!*!'QCR
rr`!%!!#CQFc-!!3!!*Q3"!!%!!#CQ@CQ!!3!!*QC-c-!"!!!QCN!!!!%!!"QC[r
r!!3!!'CQc-`!"!!!CQDCQ3!%!!"QN!3!"!!!CQBc-`!%!!"QCJ!!!!3!!$-crrm
!"!!!-c2-c!!%!!!c-jQC!!3!!$-cCQB!"!!!-j!%!!3!!$-c!!!!"!#3"2rr!!3
!N!6-c!!%!*!%QCN!"!#3"'CQ!!3!N!3c-`!%lZi!N!EGh3#3"35lZ`#3"35UUJ#
3"35)L!#3"34hG`#3"34993#3"34%4!#3"33L)J#3"334%3#3"33!!1lZ!!!!"!!
!hGd!N!DlZ`!!!!3!!+UU!!!!"!!!L)J!!!!%!!"hG`!!!!3!!&99!!!!"!!!4%3
!!!!%!!!L)J!!!!3!!"%4!!!!"!#3"1lZ!*!'hGd!"!#3",Zl!!3!N!5UUJ!%!*!
%L)J!"!#3"(Gh!!3!N!4993!%!*!%4%3!"!#3"#)L!!3!N!34%3!!lT!'!!$GN!B
!!,Z3"J!!UT!'!!#)N!B!!(H3"J!!9C!'!!"%N!B!!#+3"J!!%C!'!*!0)!!J!!F
!)`!R!%-!!3Eb!!$rm3!)m`!#r`$rmJ!+p!!!rri!!2rc!!ci!2k`!2rm!!$rp!!
-q!$qX!!Vq`!!rr8!$2F!!V!V+rS!!2rf!!Vj!2b`q3!!rrF!$2N!r,!!+rN!!2r
i!!lk!!$rr,!!+rJ!!2rj!"$l!!$rqV!!+r[rrJ!!rrS!%r`!!Im!qV!!+r`!!2r
p!!$rq`!8r3!#r`!!qV!!+r`!!2rm!!$rr!!DrJ!-r`!!X,!&X!@`"E#`+ri!r[r
m!!$rr3!E!J!!rri!#E#`"E!&X!@`X#[p!!$rqJ!!rri!$`%!rrd!q,!!+r3!![m
!!!m"rb[m!2JVq2rp!!)Vr`!5!J$r+r8!!2ri+`$rrJ!#+b[r&J-!!2mVpJ!"rb[
lq3JV+rmV!#XVr`!ArJ!"rb[h!!,r+rRm+`)!+rrq+`,r!!!@r3!"rb[i!!,r+rR
m+`8!+rmV+rrq!"Am!!(r+rN!![mVqI`V"!!Vrb[rr3!8q`!"rb[k!!,r+rRm+`-
!+rrrr!!5qJ!"rb[l!!,r+b[l!!%VrrX!$rN!!ImVr!!!rrJV!2rl!"6i!!(r+rd
!!2rp+`Amrrrm+rrl!",h!!(r+ri!!rmVf12l+`$rq`!1pJ!%rbX!!2ri+`$rq`!
1p3!%rbX!!2rkr!$rqJ!+p!!#rbX!q2rk!!Vc!!$rrLX!rr3!#2)!![mVrr-!"[%
!!2rb!!!!r`!!!"8!+!!S!&J"3!!"!!!"!*!&!J3!N!39!#J!+!"B!8!!!3!!!3#
3"3)$!*!%&3!S!#J!@!&!!!%!!!%!N!8#!J#3""8!+!!S!&J"3!!"!!!"!*!&!J%
!N!3i!!%!N!8'!!B!*J!Q`!)#!*!'$`![!#!"&SJA3h*PBA4TEQFJ8&"$)'&XD@&
cCA-Z,Li!N!3k!!%!N!8'!!B!*J!Q`!)#!*!'$`![!#!"&SJD3h*PBA4TEQFJ3dC
00MK,)'&XD@&cCA-Z,Li!!!!i!!%!N!8'!!B!*J!Q`!)#!*!'$`![!#!"&SJA8Q9
YEhCTEQFJEfaN)'&XD@&cCA-Z,Li!N!39!#J!+!"B!8!!!3!!!3#3"3)!N!8m!!%
!N!8'!!B!*J!Q`!)#!*!'$`![!#!"&SJE5@jcG'&XE'PZCb"1G@e3H5"KE'PKFf9
c,LiZ!!!!!3!!!"Er!!!9r`!!!C%"ESrm,`)!!!!F!B)!$%*14%`!!!"U5801)`!
!!(C659T&!!!!JNC548B!!!#1D@0c)`!!!*TTBf`i!!!!TQPMFcJ!!!#bD@0c0!!
!!,jTBf`d!!!!bP"jG$)!!!$@4%a24`!%!1*%594-!!3"(P"*3e3!!!&D!)$rr`!
!!4d!N!3",2rr!*!)rj!%!!!""!#3"B$rr`!!!4)!N!3",2rr!!!"23#3"!%Xrrm
!!!'"!*!%!5crr`!!"B8!N!3",2rr!!!'L3#3"!%Xrrm!!!F0!*!+#4%!N!3#!2r
r!!!9TJ&ZMh!#"2rr!!!8M!&ZNA`#!rrr!!!8T3&ZTN!#![rr!!!8[J&ZMi`#!Ir
r!!!8e`&ZMh`#!2rr!!!*&J#3"!)%rrm!!"@r!*!%!J2rr`!!&2!!N!3#![rr!!!
9,!#3"!)"rrm!!"9U!*!%!J$rr`!!#93!N!316hGZCA)JFQ9cEh9bBf@8fJ: