1؎м||18/tuuqހur 6uƀ8rtL|t-QSUAr Uut[fjftSjjB[YrUu 㾹 uInvalid partition tableError loading operating systemMissing operating system>>>U)dNO_NAME FAT12 1м|^t0 Non-system disk Press any key to reboot U` /o#@` /o#@WIPE-OUT -DDDAversion.txtVERSION TXT .DDDAreadmse.txtREADME TXT .DDD" Ainfo.txtINFO TXT .DDD]Ahelp.txtHELP TXT /DDD@ SJIS /DDD . -DDD.. -DDDWIPE-OUT-14T_997 (2014-05-13) n[hfBXNc[uwipe-outv version 1.3 ` ȒPŃn[hfBXÑf[^ ` Copyright (C) 2013 by Dai ISHIJIMA ͂߂ p\Ȑn⏈ɁAn[hfBXÑf[^ꂸ cĂ邱ƂŁAlƏȂǂRk邱Ƃ ƂȂĂ܂B ́un[hfBXNc[wwipe-outxvgƁAȒPɁA ˆSɁAn[hfBXNɋL^Ăf[^邱Ƃ ł܂B̃c[́An[hfBXNɃf[^㏑邱Ƃ āAL^Ăf[^܂B CD̒g CD̓u[^uCDłBp\RCDDVDhCuN 悤ɐݒ肵ACDNƁAuwipe-outv܂B fBXÑf[^ CDu[gƁÂ悤ȃj[ʂ\܂B n[hfBXN̖Oe (̗ł́u/dev/ad0 vu4,294,967,296 oCg (4.0G)v) ́Aۂɂg̃n[h fBXN̏񂪕\܂B +---------------- n[hfBXNc[wwipe-outx ----------------+ | Cj[ | | ݑI𒆂̃fBXN /dev/ad0 łB | | fBXN̗eʂ 4,294,967,296 oCg (4.0G) łB | | ȉ̃j[珈IĂB | | | | +------------------------------------------------------------------+ | | | z 0㏑āÃfBXÑf[^ | | | | h @̊Tv\ | | | | n ㏑āÃfBXÑf[^Oɏ | | | | m Ȍ㏑@I | | | | v f[^ꂽmF (^ꕔ`FbN) | | | | V f[^ꂽmF (ʏ^S`FbN) | | | | w OfBXNɏ | | | | L L^tbs[ɏo | | | +-----v(+)---------------------------------------------------------+ | | | +----------------------------------------------------------------------+ | [ OK ] Cancel | +----------------------------------------------------------------------+ ŁAn[hfBXN̖OeʂAf[^n[h fBXN̂̂ł邩ǂmFĂB̃n[hfBX Ñf[^ꍇ́Au0㏑āÃfBXÑf[ ^vnCCgĂԂŃG^[L[Ă (ȉȂuIvƏ̂܂)B ̃j[Łu0㏑āÃfBXÑf[^v IƁÂ悤ɊmFbZ[W\܂B fBXN ad0 Sf[^ 4,294,967,296 oCgA 0ŏ㏑ď܂B 낵ł? [ Yes ] No f[^ꍇ́AŁuYesvIĂBuYesv IƁAɂ‚Aȉ̊mFbZ[W\܂B {ad0 (4.0G) ̃f[^Ăł? [ Yes ] No f[^ꍇ́AēxuYesvIĂBuNov Iƍŏ̃j[ɖ߂܂BuYesvIƃf[^ ̏n܂܂B f[^̏́Â悤ɐi󋵂\܂B fBXN ad1 ̃f[^Ă܂B 25% (1024/4096) I ^ 21b o c 悻128b 0%|############______________________________________|100% ʂ̍ʼnsɂ́Â悤ɏݑx\܂B 33554432 bytes transferred in 1.307584 secs (25661396 bytes/sec) f[^̏ɗv鎞Ԃ́Ag̃n[hfBXN̗eʂp\ RɂĈقȂ܂Bn[hfBXN̗eʂAp\R x΁Aɗv鎞Ԃ͒ZȂ܂B f[^̏IƁA fBXÑf[^I܂ (230b) [OK] ƂbZ[W\܂BŁAG^[L[ƁA ̃j[ɖ߂܂B @ɂ‚ Cj[u@̊Tv\vIƁA Pȑ@̐\܂B ȊȎɂ‚ Cj[ŏ㉺J[\L[ƁAʂ̍ڂnCCg 邱Ƃł܂BCj[ɂ8‚̑I\ ܂񂪁A㉺J[\L[ƃXN[ɂAe푀상 j[\܂Bun[hfBXNc[wwipe-outxv ́Af[^ȊOɂAĂ邩ǂ̊mFAL^ ݁An[hfBXÑRs[AVF̋NAċNAVbg _EȂǂ̑상j[pӂĂ܂BȉɃCj[ Ił鑀̈ꗗ܂B E0㏑āÃfBXÑf[^ E@̊Tv\ E㏑āÃfBXÑf[^Oɏ EȌ㏑@I Ef[^ꂽmFi^ꕔ`FbNj Ef[^ꂽmFiʏ^S`FbNj EOfBXNɏ EL^tbs[ɏo Eʂ̃fBXNI EfBXÑf[^\ Ef[^\ZN^̎w Euwwipe-outxɂ‚āv EÑVXebZ[WmF EfBXNRs[i^obNAbvj EfBXNRs[iᑬ^f[^Tx[Wj E1㏑āÃfBXÑf[^ E_p^[㏑āÃfBXÑf[^ Ep^[̕␔㏑āÃfBXÑf[^ E_f[^㏑āÃfBXÑf[^ EL^\ EfBXN̎Ȑff (SMART) \ EVFishjN EVFicshjN ECD-ROMmount ECD-ROMumount EMBR *̂* EVbg_E EċN Ή@ɂ‚ E{c[́AFreeBSD/i386삷Rs[^ŗpł܂B E{c[Ńf[^łXg[WfoCX͎̂ƂłB EFreeBSD̃J[l (CXg[pCD̃J[l) ň ̂̂Aȉ̏𖞂 EATAfBXNRg[hCo (ata(4)) ň EʓIS-ATA/P-ATAC^[tFCX̃n[hfBXN EASSDhCu ESCSI_CNgANZXfoCXhCo (da(4)) ň EʓISCSIC^[tFCX̃n[hfBXN EFreeBSDňRAIDRg[ (asr(4)) Ȃǂɐڑ ꂽn[hfBXN EUSBJ[hA_v^ɐڑe탁J[hA USBtbVȂǂUSBeʃXg[W ad(4), da(4), asr(4) Ȃǂ̏ڍׂɂ‚ẮAFreeBSD̃}jA y[WȂǂB ̋L^̕ۑɂ‚ un[hfBXNc[wwipe-outxvł́A̋L^ۑ 邱Ƃł܂Bۑ”\ȃfBA̓tbs[fBXNUSB ȂǂłB̋L^ۑ郁fBA (tbs[USB ) ́A炩FATtH[}bgsAuWIPE-OUTvƂ ÕtH_[gfBNgɍ쐬ĂĂB Ƃ E{c[́AOSƂFreeBSD𗘗pĂ܂B E{c[̓t[EFAłB쌠́A҂ł ܁ ۗLĂ܂B E{c[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B Ql EВc@l dqZpYƋ (http://www.jeita.or.jp/japanese/index.htm) up\R̔pEnɂn[hfBXÑf[^ Ɋւ闯ӎv(http://it.jeita.or.jp/perinfo/committee/ pc/JEITA_HDDdata100219F.pdf) {c[̓@ {c[юoíA҂̃EFuTCgŌJĂ܂BA hX http://hp.vector.co.jp/authors/VA004814/ łBKvɉ ă_E[hĂB n[hfBXNc[uwipe-outvv1.3 Copyright (C) 2013 by Dai ISHIJIMA n[hfBXNc[uwipe-outvo[W 1.3 Copyright (C) 2013 by ܁ Ẽc[́AIy[eBOVXeɁuFreeBSDv𗘗pĂ܂B Ẽc[́A{R\[ukon2v𗘗pĂ܂B Ẽc[́A{tHgɁuςtHgv𗘗pĂ܂B Ej[\ɂ́AuFreeBSDv́udialog(1)vR}h𗘗pĂ܂B ȊOɂuFreeBSDvɕte\tgEFA𗘗pĂ܂B Ẽc[́AFreeBSD/i386삷Rs[^ŗpł܂B Ẽc[Ńf[^łn[hfBXNiXg[WfoCXj ̂ƂłB EFreeBSD 8.3R̃CXg[pJ[lň̂̂A ȉ̏𖞂 EJ[lɃfoCXhCogݍ܂ĂC^[tFCX ɐڑꂽn[hfBXNiXg[WfoCXj EATAfBXNRg[hCo ata(4) ň EʓIATA/IDEC^[tFCX̃n[hfBXN ESCSI_CNgANZXfoCXhCo da(4) ň EʓISCSIC^[tFCX̃n[hfBXN ESCSIRg[ɐڑꂽMOiCfBXNj ZN^TCY512oCĝ EFreeBSDňRAIDRg[iasr(4) Ȃǁj ڑꂽn[hfBXN EUSBJ[hA_v^ɐڑ etbVJ[hAUSBtbVȂǂ USBeʃXg[W Ê悤ȃXg[WfoCXɂ͑ΉĂ܂ EFreeBSD 8.3R̃CXg[pJ[lňȂ̂ u[gɐFłȂXg[WfoCX EFreeBSDňȂC^[tFCXɐڑꂽfBXN Eata(4) da(4) foCXhCoňȂ Ẽc[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B AȂ̃t@Cuwipe-outvN}V Cj[猩邱ƂłƂ΁A]vȐ͕sv ܂B yCj[ł̑z Cj[ʂ̑̊{́A E㉺J[\L[ɂsڂI EG^[L[ɂIڂs łBIĂ鍀ڂ̓nCCg\Ă܂Buwipe- outvŃAu0㏑ācvnCCg\Ă ͂łB Cj[炱̉ʂ\ɂ́AJ[\L[ 񂾂AG^[L[܂Bʂɕ\Ȃ ́A㉺J[\L[xƁAXN[óà ܂B Ƃ΁ACj[ɂ́uċNvƂڂ ܂A͈ԉɉBĂ܂B\ɂ́Ax J[\L[Ă݂ĂB XN[ďɏĂڂ\ɂ́AJ[ \L[ĂB yfBXNɋL^ꂽɂ́z u0㏑ācv̂悤ȁAucvCj[ IAG^[L[ĂB uvsƁAmFʂ\܂B̂ƂA fBXŇ^ԂeʂȂǂ\̂ŁAfBXN 邩ǂmFĂB\ĂemF G^[L[ĂB ŏ̊mFʂŃG^[L[Aēx‚mF ʂłĂ܂B{ɏĂ悢ꍇɂ̂݃G^[L[ ĂB ڂ̊mFʂŃG^[L[Ən܂܂B AfBXN̏ɂ͐琔Ԓx̎Ԃ܂B ͂܂Ă΂炭ƁAc菊vԂ̗\l\ ܂B IAɂԂ\܂B G^[L[ƁACj[ɖ߂܂B ȂAuŏI邱Ƃ͂蓾Ȃ͂łB̏ ́A{\tguwipe-outṽoO܂Buf[^ ꂽmFvIŖ{ɏmFĂB yL^ۑɂ́z {\tguwipe-outv̋Ɗꂽꍇ́A Cj[uL^tbs[ɏovIł Bj[ɏĂƂAL^tbs[ L^ł܂B L^ۑ邱Ƃł̂́Atbs[ł͂ ܂BUSBȂǂ̃fBApł܂BȂA L^ۑtbs[iUSBjɂ́A炩 u\WIPE-OUT\vƂtH_쐬ĂĂB yCj[ɖ߂ɂ́z ̉ʂ‚ăCj[ɖ߂ɂ́AG^[L[ ĂB n[hfBXNc[uwipe-outvv1.3 Copyright (C) 2013 by Dai ISHIJIMA . /DDD .. /DDDArcNRC 5DDD Astartup.shSTARTUP SH 5DDD Amainmenu.shMAINMENUSH 6DDD Aseldisk.shSELDISK SH 6DDDWAeraseU.shERASE SH 6DDDAfine-erase.shFINE-E~1SH 6DDD"Asel-fine.shSEL-FINESH 6DDDmAverify.shVERIFY SH 6DDDAdump.shDUMP SH 7DDDAwritelog.shWRITELOGSH 7DDD Acopy.shCOPY SH 7DDDBAembr.nshEMBR SH 7DDD# Acrlf.rshCRLF SH 7DDDAfloppAylog.shFLOPPY~1SH 7DDD/Adummyread.shDUMMYR~1SH 7DDDAkon2start.shKON2ST~1SH 7DDD Ainfo.txtINFO TXT 7DDD!]Areadmse.txtREADME TXT 8DDD"" Ahelp.txtHELP TXT 8DDD%@ AtermcapTERMCAP 8DDD&Adiskseize.cDISKSIZEC 8DDD'+Astuff.cSTUFF C 8DDD) Atinyd#ate.cTINYDATEC 8DDD*!AtinydUump.cTINYDUMPC 8DDD+Acheck.cCHECK C 8DDD,4 Amakembr.cMAKEMBR C 9DDD-[Awpoutp-mbr.sWPOUT-~1S 9DDD.A Ashell-on.cSHELL-ONC 9DDD/V#! /bin/sh # # rc -- X^[gAbvXNvg # # 0.0: Jun. 15, 2004 by Dai ISHIJIMA # 0.1: Aug. 1, 2006 (CDĂkonœ{ꉻ for wpout07) # 0.2: Feb. 10, 2007 (OL^ for wpout08) # 0.3: Feb. 17, 2007 (VAR\[Ή) # 0.4: Sep. 12, 2007 (for wpout09J) # 0.5: Sep. 17, 2007 (shutdown̉ʕA) # 0.6: Oct. 2, 2007 (expr(1)POSIXΉ) # 0.7: Jan. 3, 2008 (N菇C) # 0.8: Feb. 10, 2008 (NɃbZ[W) # 0.9: Feb. 11, 2008 (CD̊mF@C) # 1.0: Jul. 24, 2009 (VAR\[Ή, wpout10) # 1.1: May 5, 2013 (wpout13, 8.3R, "mount -rw /dev/md0a /") # 1.2: May 3, 2014 (wpout14, 8.3R, sio->uart) # # t@CVXe݉”\ /sbin/mount -rw /dev/md0a / # VFA[hCũpXݒ /sbin/ldconfig -elf /lib /usr.lib PATH=/usr.bin:/usr/bin:/bin:/usr.sbin:/usr/sbin:/sbin:/usr/local/bin:/wipeout:. export PATH #export DEBUG=y cd /tmp # # ŏ̃O # LOGFIL=/tmp/wpoutlog.txt export LOGFIL echo -n 'booting wipe-out, at epoch ' > $LOGFIL tinydate >> $LOGFIL echo -n 'version: ' >> $LOGFIL cat /version.txt >> $LOGFIL # NƂbZ[W\ cat $LOGFIL # # expr(1) POSIXΉɂ錅ӂΏ (4.x݊[h) # export EXPR_COMPAT= # # CD-ROMȂǂ̏ # echo -n 'checking boot device..' # CD-ROM݂邩? (PXEu[gA[JCDu[g?) CDROM=NONE echo 'checking CD-ROM device' >> $LOGFIL # ܂AATAPI CD-ROM}EgĂ݂ echo -n 'mounting CD-ROM (acd0) ..' mount_cd9660 /dev/acd0 /cdrom 1>/dev/null 2>&1 echo '.' CDROM=/dev/acd0 if [ ! -f /cdrom/version.txt ]; then # SCSI CD-ROM}EgĂ݂ echo -n 'mounting CD-ROM (cd0) ..' mount_cd9660 /dev/cd0 /cdrom 1>/dev/null 2>&1 echo '.' CDROM=/dev/cd0 if [ ! -f /cdrom/version.txt ]; then # CD-ROM}EgłȂ CDROM=NONE fi fi case x"$CDROM" in x/dev/*) echo "CD-ROM device: $CDROM" >> $LOGFIL echo "re-initializing shared library path" >> $LOGFIL echo -n "re-initializing shared library path.." if [ -r /cdrom/lib/libc.so ]; then ldconfig -elf /lib /usr.lib /usr/lib fi echo '.' ;; *) echo "no CD-ROM device, may be PXE boot mode" >> $LOGFIL echo "no CD-ROM device, may be PXE boot mode" ;; esac if [ -x /bin/hostname ]; then hostname wipeout fi # xCD-ROMA}Eg case x"$CDROM" in x/dev/*) echo "unmounting CD-ROM ($CDROM)" >> $LOGFIL echo -n "umounting CD-ROM ($CDROM).." umount /cdrom echo '.' ;; esac export CDROM # debugging case x"$DEBUG" in x[Yy]*) for i in 1 2 3 ; do echo -n '.' sleep 1 done echo '' ;; esac cd /wipeout echo -n "wipe-out initialized successfully on " >> $LOGFIL date >> $LOGFIL # rm -f /var/run/nologin # VAR\[̃`FbN #comconsole=`dmesg | /usr.bin/sed -n '/^sio0:.*, console/p'` comconsole=`dmesg | /usr.bin/sed -n '/^uart.*console/p'` case x"$comconsole" in xuart*console*) export TTY=comconsole export CONSOLE=comconsole sh /wipeout/startup.sh ;; *) export TTY=ttyv0 export CONSOLE=vidconsole # R\[{ꉻāAX^[gAbvXNvgN sh /wipeout/kon2start.sh ;; esac # Vbg_E邩? if [ -f /var/run/nologin ]; then nologin=`sed -n 1p /var/run/nologin` case x"$nologin" in xh*) shutdown -p now ;; xr*) shutdown -r now ;; esac fi # ΘbVFN /bin/sh -i if [ -x /sbin/shutdown ]; then /sbin/shutdown -h now fi exit 0 # EOF #! /bin/sh # # startup.sh -- X^[gAbvXNvg ({ꉻR\[p) # # 0.0: Jun. 15, 2004 by Dai ISHIJIMA # 0.1: Jun. 19, 2005 (for PXEBOOT) # 0.2: Aug. 1, 2006 (v07ACDrcցA_p^[Ƃ̕␔) # 0.3: Aug. 6, 2006 (L[{[h`FbN) # 0.4: Sep. 18, 2006 (/var mkdir Ȃ) # 0.5: Feb. 10, 2007 (OL^ for wpout08) # 0.6: Sep. 12, 2007 (for wpout09J) # 0.7: Sep. 17, 2007 (shutdown̉ʕA) # 0.8: Jan. 3, 2008 (NWbN̉) # 0.8: Jul. 24, 2009 (dmesg.boot̏d`FbN, wpout10) # 0.9: Dec. 7, 2013 (fBXÑfoCX) # ##PATH=/usr/bin:/bin:/usr/sbin:/sbin:/:. ##export PATH LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" export DMESG echo -n 'ÑVXebZ[WۑĂ܂...' dmesg > $DMESG echo '' # umd0vsɌsԍ𒲂ׂBΏd lin1=`sed -n '/^md0/=' $DMESG | sed -n '1p'` lin2=`sed -n '/^md0/=' $DMESG | sed -n '$p'` if [ $lin1 -ne $lin2 ]; then echo 'VXebZ[WdĂ܂B' echo 'xd؂ĂċN邱Ƃ𐄏܂B' echo '𑱍sꍇ́uexitv͂ĂB' /bin/sh -i fi echo '# ---------------------------- #' >> $LOGFIL echo -n "script startup.sh started on " >> $LOGFIL date >> $LOGFIL export TERMCAP=/etc/termcap export TERM=kons25jx export PATTERNFIL=/tmp/pattern.dat # 2013-12-07 names of disk device node # ata(4) -> ad (P-ATA: ad0, S-ATA: ad4, etc.) # SCSI (da(4)) -> da (SCSI, CAM) # ataraid(4) -> ar # aac(4) -> aacd # amr(4) -> amrd(?) or da(?) (SCSI CAM) # arcmsr(4) -> da (SCSI CAM) # asr(4) -> da(?) (SCSI CAM) # graid3(4) -> da (SCSI CAM) # hptiop(4) -> da(?) # hptmv(4) -> da(?) # hptrr(4) -> da(?) # ida(4) -> idad(?), da(?) # iir(4) -> da(?) # ips(4) -> ipsd(?), da(?) # mfi(4) -> mfid # mlx(4) -> mlxd(?), da(?) # mly(4) -> da(?) # twa(4) -> da(?) # twe(4) -> da(?) export DEVICES='da|ad|ar|aacd|amrd|idad|ipsd|mfid|mlxd|twed' # x32MoCg BLKLEN=$(( 32 '*' 1024 '*' 1024 )) export BLKLEN # o̓ubN1MoCg OBS=$(( 1024 '*' 1024 )) export OBS # ̓ubN (stuff̏o͒) 1koCg IBS=1024 export IBS # mF10MoCg VBLKLEN=$(( 10 '*' 1024 '*' 1024 )) export VBLKLEN # mF̓̓ubN1MoCg VBS=$(( 1024 '*' 1024 )) export VBS # Rs[512oCg CBS=512 export CBS echo '' # debugging case x"$DEBUG" in x[Yy]*) for i in 1 2 3 ; do echo -n '.' sleep 1 done echo '' ;; esac cd /wipeout stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" >> $LOGFIL if ! /bin/sh mainmenu.sh ; then exit 1 fi # Ƃ肠ΘbVF𓮂Ă :-) /bin/sh -i exit 0 # EOF #! /bin/sh # # mainmenu.sh -- CD-ROMŃCj[ # # 0.0: Jun. 20, 2004 by Dai ISHIJIMA (for wpout03) # 0.1: Jul. 11 2004 (for wpout04) # 0.2: Jun. 23 2005 (for wpout05) # 0.3: Jul. 8 2005 (for wpout06) # 0.4: Aug. 5, 2006 (for wpout07) # 0.5: Dec. 21, 2006 (erase MBR) # 0.6: Feb. 10, 2007 (OL^ for wpout08) # 0.7: Feb. 15, 2007 (G^[L[΍) # 0.8: Feb. 18, 2007 (j[̏ԂύX) # 0.9: Sep. 12, 2007 (wpout09, FreeBSD 6.2R) # 1.0: Sep. 17, 2007 (shutdown̉ʕA) # 1.1: Oct. 6, 2007 (expr(1) POSIXΉ) # 1.2: Feb. 10, 2008 (wvbZ[W̕\A샍O̕\) # 1.3: Apr. 19, 2009 (fBXNRs[, wpout10) # 1.4: Sep. 30, 2009 (IBM ServeRAID, ips(4), /dev/ipsd%d) # 1.5: Dec. 22, 2012 (smartctl) # 1.6: Feb. 1, 2014 (擪ɖ߂) # # dmesg="${DMESG:-/var/run/dmesg.boot}" devices="${DEVICES:-da|ad|ar|aacd|amrd|idad|ipsd|mfid|mlxd|twed}" # export LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" export ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" export DISPUPD="${DISPUPD:-2}" cbs="${CBS:-512}" obs="${OBS:-1048576}" resultfil=/tmp/result nsec=/tmp/sector stuffs='10' sed -n -E "/^(${devices})[0-9][0-9]*:.* $resultfil disk=`sed -n '1p' $resultfil` export TITLE='n[hfBXNc[wwipe-outx' dumpskip=0 echo '# ---------------------------- #' >> $LOGFIL echo -n "script mainmenu.sh started on " >> $LOGFIL date >> $LOGFIL echo '# ---------------------------- #' >> $ERRORLOG echo -n "script mainmenu.sh started on " >> $ERRORLOG date >> $ERRORLOG while true ; do dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` bytes=`disksize -B /dev/$disk` cap=`disksize -p /dev/$disk` msg=" Cj[\n" msg="${msg}ݑI𒆂̃fBXN /dev/${disk} ${dname} łB\n" msg="${msg}fBXN̗eʂ $bytes oCg ($cap) łB\n" msg="${msg}ȉ̃j[珈IĂB\n" sh dummyread.sh dialog 2>$resultfil \ --title "$TITLE" \ --menu "$msg" \ 20 74 8 \ z '0㏑āÃfBXÑf[^' \ h '@̊Tv\' \ n '㏑āÃfBXÑf[^Oɏ' \ m 'Ȍ㏑@I' \ v 'f[^ꂽmF (^ꕔ`FbN)' \ V 'f[^ꂽmF (ʏ^S`FbN)' \ w 'OfBXNɏ' \ L 'L^tbs[ɏo' \ s 'ʂ̃fBXNI' \ d 'fBXÑf[^\' \ S 'f[^\ZN^̎w' \ a 'uwwipe-outxɂ‚āv' \ D 'ÑVXebZ[WmF' \ Y 'fBXNRs[i^obNAbvj' \ y 'fBXNRs[iᑬ^f[^Tx[Wj' \ f '1㏑āÃfBXÑf[^' \ p '_p^[㏑āÃfBXÑf[^' \ q 'p^[̕␔㏑āÃfBXÑf[^' \ r '_f[^㏑āÃfBXÑf[^' \ P 'L^\' \ T 'fBXN̎Ȑff (SMART) \' \ b 'VF (sh) N' \ t 'VF (csh) N' \ M 'CD-ROMmount' \ U 'CD-ROMumount' \ B 'MBR *̂* ' \ x 'Vbg_E' \ R 'ċN' \ N 'j[̐擪ɖ߂' \ # end of menu case x"$?" in x1) break ;; esac result=`cat $resultfil` case x"${result}" in x[zfrpq]) sh erase.sh -$result $disk ;; xh) dialog --title '@̊Tv' \ --textbox help.txt 22 76 ;; xs) . seldisk.sh ;; xn) sh fine-erase.sh $stuffs $disk ;; xm) . sel-fine.sh ;; xv) sh verify.sh 90 $disk ;; xV) sh verify.sh 0 $disk ;; xw) sh writelog.sh $disk ;; xL) sh floppylog.sh ;; xd) sh dump.sh $dumpskip $disk dumpskip=`expr $dumpskip + 1` ;; xS) msg="ZN^w肵Ă ($dumpskip)" dialog 2>/tmp/sector \ --title "$TITLE" \ --inputbox "$msg" 8 64 case x"$?" in x0) echo '' >> $nsec echo "$dumpskip" >> $nsec dumpskip=`sed -n '/^[0-9]/p' $nsec | sed -n 1p` ;; esac ;; xa) dialog --title 'wwipe-outxɂ‚' \ --textbox info.txt 22 76 ;; xD) dialog --title 'ÑVXebZ[W' \ --textbox /var/run/dmesg.boot 22 76 ;; xy) srcdisk=$disk . seldisk.sh dstdisk=$disk sh copy.sh $srcdisk $dstdisk $cbs disk=$srcdisk ;; xY) srcdisk=$disk . seldisk.sh dstdisk=$disk sh copy.sh $srcdisk $dstdisk $obs disk=$srcdisk ;; xP) echo "::: $LOGFIL :::" > /tmp/loglog.txt cat $LOGFIL >> /tmp/loglog.txt echo '' >> /tmp/loglog.txt for f in /tmp/erase-log.* ; do if [ -f "$f" ]; then echo "::: $f :::" >> /tmp/loglog.txt cat $f >> /tmp/loglog.txt echo '' >> /tmp/loglog.txt fi done for f in /tmp/verify-log.* ; do if [ -f "$f" ]; then echo "::: $f :::" >> /tmp/loglog.txt cat $f >> /tmp/loglog.txt echo '' >> /tmp/loglog.txt fi done echo '::: shell variables :::' >> /tmp/loglog.txt set >> /tmp/loglog.txt echo '' >> /tmp/loglog.txt dialog --title '샍O' \ --textbox /tmp/loglog.txt 22 76 ;; xT) /usr/local/sbin/smartctl -s on /dev/$disk \ > /tmp/smart.txt 2>&1 /usr/local/sbin/smartctl -a /dev/$disk \ > /tmp/smart.txt 2>&1 echo '' >> $LOGFIL echo '::: SMART (smartctl output) :::' >> $LOGFIL cat /tmp/smart.txt >> $LOGFIL dialog --title 'SMARTO' \ --textbox /tmp/smart.txt 22 76 ;; xb) /bin/sh -i ;; xt) if [ -x /bin/csh ]; then /bin/csh -i else msg='csh̓CD-ROM}EgĂ' dialog --title "$TITLE" \ --msgbox "$msg" 5 64 fi ;; xM) if [ -x /cdrom/usr.bin/dialog ]; then msg='CD-ROM͂łɃ}EgĂ܂' elif mount_cd9660 $CDROM /cdrom > /dev/null 2>&1; then msg='CD-ROM}Eg܂' else msg='CD-ROM}Egł܂ł' fi dialog --title "$TITLE" \ --msgbox "$msg" 5 64 ;; xU) msg='' if [ ! -x /cdrom/usr.bin/dialog ]; then msg='CD-ROM͂łɃA}EgĂ܂' fi if umount /cdrom > /dev/null 2>&1; then msg='CD-ROMA}Eg܂' elif [ -z "$msg" ]; then msg='CD-ROMA}Egł܂ł' fi dialog --title "$TITLE" \ --msgbox "$msg" 5 64 ;; xB) sh embr.sh $disk ;; xx) echo "halt" > /var/run/nologin exit 1 ;; xR) echo "reboot" > /var/run/nologin exit 1 ;; #xN) # NOP # ;; esac done dialog --title "$TITLE" \ --infobox 'I܂' 3 48 echo 'u/bin/sh /wipeout/mainmenu.shvŃj[ʂĂяo܂B' echo '' exit 0 # EOF #! /bin/sh # # seldisk.sh - fBXN̑I # # _CAO{bNX\ăfBXNIA邢͓͂B # foCXt@CԂB # # 0.0: May 30, 2004 by Dai ISHIJIMA # 0.1: Jun. 29, 2006 (support some more disk types) # 0.2: Sep. 12, 2007 (wpout09) # dmesg="${DMESG:-/var/run/dmesg.boot}" devices="${DEVICES:-da|ad|ar|aacd|amrd|ipsd}" resultfil=/tmp/result title="${TITLE:-n[hfBXNc[wwipe-outx}" sed -n -E "/^(${devices})[0-9]:.* $resultfil disks=`cat $resultfil` n=0 taglist='' for d in $disks ; do dname=`sed -n -E "/^${d}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` bytes=`disksize -B /dev/$d` cap=`disksize -p /dev/$d` taglist="$taglist $d '$dname (${bytes}oCg, $cap)'" done #######taglist="$taglist XX 'LȊO͂'" eval dialog \ --title "'$title'" \ --menu "'fBXNIĂ'" \ 12 72 5 \ $taglist \ 2>$resultfil case "$?" in 0) newdisk=`cat $resultfil` if [ x"$disk" != x"$newdisk" ]; then msg="fBXN ${disk} " msg="${msg} ${newdisk} ɕύX܂B" dialog --title "$title" \ --infobox "$msg" 5 72 sleep 2 fi disk="$newdisk" ;; 1) dialog --title "$title" \ --infobox 'fBXN̑ILZ܂' 3 64 sleep 2 ;; esac # EOF #! /bin/sh # # erase.sh -- f[^㏑ăfBXÑf[^ # # g: /bin/sh erase.sh - fBXN # : [zfr] # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh erase.sh -z ad0 # # 0.0: Jun. 20, 2004 by Dai ISHIJIMA (for wpout03) # 0.1: Jul. 11, 2004 # 0.2: Jun. 28, 2006 (_p^[ƕ␔ for wpout07) # 0.3: Aug. 1, 2006 (^CX^v) # 0.4: Aug. 12, 2006 (^CX^vɗe) # 0.5: Feb. 10, 2007 (OL^ for wpout08) # 0.6: Feb. 15, 2007 (G^[L[΍AG[Ɠ]x̃O) # 0.7: Sep. 12, 2007 (wpout09) # 0.8: Oct. 6, 2007 (vZ32rbgt͈̔͂ōs) # 0.9: Dec. 23, 2007 (o[Ot\̌vZC) # 1.0: Jan. 2, 2008 (OC) # 1.1: Mar. 22, 2014 (ʂ̂‚炷 (XV炷)) # ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" exec 2>> $ERRORLOG echo "# start $0, $@" 1>&2 echo '# ---------------------------- #' 1>&2 # PƂł悤 LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" PATTERNFIL="${PATTERNFIL:-/tmp/pattern.dat}" dispupd="${DISPUPD:-2}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL if [ ! -s $PATTERNFIL ]; then stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" >> $LOGFIL fi # stuff="${1:--z}" disk="${2:-ad0}" dmesg="${DMESG:-/var/run/dmesg.boot}" # x32MoCg blklen="${BLKLEN:-33554432}" # o̓ubNTCY1MoCg obs="${OBS:-1048576}" ocnt=$(( $blklen / $obs )) ounit=$(( $obs / 1048576 )) # ̓ubNTCY1koCg ibs="${IBS:-1024}" icnt=$(( $blklen / $ibs )) # resultfil=/tmp/result # title="${TITLE:-n[hfBXNc[wwipe-outx}" # if [ ! -w /dev/$disk ]; then dialog --title "$title" \ --msgbox "fBXN $disk ݂ȂA݂ł܂" \ 5 64 exit 1 fi # mount -p | sed -n -E "/^.dev.$disk/p" > $resultfil if [ -s $resultfil ]; then dialog --title "$title" \ --msgbox "}Eg̃fBXN $disk 邱Ƃ͂ł܂" \ 5 64 exit 1 fi dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` bytes=`disksize -B /dev/$disk` cap=`disksize -p /dev/$disk` msg="fBXN ${disk} ${dname} \n" msg="${msg}Sf[^ ${bytes}oCgA\n" case x"$stuff" in x-[0z]) msg="${msg}0ŏ㏑ď܂B\n" method='write 0' ;; x-[1f]) msg="${msg}1ŏ㏑ď܂B\n" method='write 1' ;; x-[Rr]) msg="${msg}_f[^ŏ㏑ď܂B\n" method='write random' ;; x-[Pp]) stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" >> $LOGFIL msg="${msg}_p^[ŏ㏑ď܂B\n" method='write pattern' ;; x-[Qq]) msg="${msg}Op^[̕␔ŏ㏑ď܂B\n" method='write inverted pattern' ;; *) msg="${msg}܂B\n" method='overwrite' ;; esac msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 9 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac msg="{${disk} ($cap) ̃f[^Ăł?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 5 72 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac # ̃p[^ (MoCgPʂŐ) mbytes=`disksize -m /dev/$disk` max=$(( $mbytes / $ounit )) startsec=`tinydate '+%s'` rems='' # Jn startstamp=`date '+%Y-%m-%d %H:%M'` # echo "v ---------------------------- v" >> $LOGFIL echo -n "erase started on " >> $LOGFIL date >> $LOGFIL echo " $disk ($dname) $bytes bytes with $method" >> $LOGFIL nerrs=0 skip=0 xcent=100 xmill=1000 mcent=$max mmill=$max if [ $max -gt 1048576 ]; then xcent=1 xmill=1 mcent=$(( ( $max + 99 ) / 100 )) mmill=$(( ( $max + 999 ) / 1000 )) fi lastdisp=0 dispintv=0 while [ $skip -le $max ]; do # v cursec=`tinydate '+%s'` # o[Ot p=$(( ( $xcent * $skip ) / $mcent )) m=$(( ( $xmill * $skip ) / $mmill )) q=$(( $p / 2 )) i=0 bar='' while [ $i -lt $q ]; do bar="$bar"'#' i=$(( $i + 1 )) done while [ $i -lt 50 ]; do bar="$bar"'_' i=$(( $i + 1 )) done # c莞 elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 10 ]; then if [ $m -gt 0 ]; then remain=$(( ( 1000 - $m ) * $elapsed / $m + 1 )) if [ $remain -gt 120 ]; then rems=$(( ( $remain + 59 ) / 60 )) rems="c 悻${rems}" else rems="c 悻${remain}b" fi fi fi if [ $elapsed -gt 120 ]; then elas=$(( ( $elapsed + 30 ) / 60 )) elas="${elas}" else elas="${elapsed}b" fi # text="fBXN ${disk} ̃f[^Ă܂B\n" text="${text} ${p}% ($skip/$max) I ^ " text="${text}${elas} o ${rems} \n\n" text="${text} 0%|${bar}|100%" text="${text}\n${errormsg}" dispintv=$(( $cursec - $lastdisp )) if [ $dispintv -ge $dispupd ]; then dialog --title "$title" --infobox "$text" 7 72 lastdisp=$cursec else echo -e '\r\c' fi case "x$progchar" in xO) progchar='.' ;; xo) progchar='O' ;; *) progchar='o' ;; esac echo -n "$progchar $status2" case x$DEBUG in x[Yy]*) status2='now in debug mode...' errormsg='' sleep 1 ;; *) status=`stuff $stuff < $PATTERNFIL | dd ibs=$ibs obs=$obs seek=$skip count=$icnt of=/dev/$disk 2>&1` status2=`echo "$status" | sed -n '/transfer/p'` errormsg=`echo "$status" | sed -n -E '/records (in|out)$/!p' | sed -n '/transferred in/!p'` ;; esac # L^ case x"$skip" in x0) echo "skip: $skip, $status2" >> $LOGFIL ;; esac case x"${nerrs}"x"${errormsg}" in x[0-8]x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; x9x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL echo "Too many errors encounterd..." >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; esac # [v skip=$(( $skip + $ocnt )) done sleep 2 # echo "skip: $skip, $status2" >> $LOGFIL echo "number of error messages: $nerrs" >> $LOGFIL echo -n "erase finished on " >> $LOGFIL date >> $LOGFIL echo " $disk ($dname, $cap) with $method" >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL cursec=`tinydate '+%s'` elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 120 ]; then min=$(( $elapsed / 60 )) sec=$(( $elapsed - $min * 60 )) elas="${min}${sec}b" else elas="${elapsed}b" fi # I endstamp=`date '+%H:%M'` # Oۑ echo 'The contents of this storage device' > /tmp/erase-log.$disk echo "$disk ($cap) '$dname'" >> /tmp/erase-log.$disk echo -n 'were erased with ' >> /tmp/erase-log.$disk echo 'hard disk wiping tool "wipe-out."' >> /tmp/erase-log.$disk echo "Erased with '$method'" >> /tmp/erase-log.$disk echo " $startstamp -> $endstamp" >> /tmp/erase-log.$disk echo "but NOT verified" > /tmp/verify-log.$disk sh dummyread.sh dialog --title "$title" \ --msgbox "fBXÑf[^I܂ (${elas})" 5 72 # echo '# ---------------------------- #' 1>&2 exit 0 # EOF #! /bin/sh # # fine-erase.sh -- 񏑂݂ŔOɃfBXÑf[^ # # g: /bin/sh fine-erase.sh fBXN # : [0z1fRr]+ # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh fine-erase.sh 0101010 ad0 # # 0.0: Jun. 27, 2004 by Dai ISHIJIMA # 0.1: Jul. 11, 2004 # 0.2: Jun. 28, 2006 # 0.3: Aug. 1, 2006 (^CX^v for wpout07) # 0.4: Feb. 10, 2007 (OL^ for wpout08) # 0.5: Feb. 15, 2007 (G^[L[΍) # 0.6: Sep. 12, 2007 (wpout09) # 0.7: Oct. 6, 2007 (vZ32rbgt͈̔͂ōs) # 0.8: Dec. 23, 2007 (o[Ot\̌vZC) # 0.9: Jan. 2, 2008 (OC) # 1.0: Mar. 22, 2014 (ʂ̂‚炷 (XV炷)) # ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" exec 2>> $ERRORLOG echo "# start $0, $@" 1>&2 echo '# ---------------------------- #' 1>&2 # PƂł悤 LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" PATTERNFIL="${PATTERNFIL:-/tmp/pattern.dat}" dispupd="${DISPUPD:-2}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL if [ ! -s $PATTERNFIL ]; then stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" >> $LOGFIL fi stuffs="${1:-fz}" disk="${2:-ad0}" dmesg="${DMESG:-/var/run/dmesg.boot}" # x32MoCg blklen="${BLKLEN:-33554432}" # o̓ubNTCY1MoCg obs="${OBS:-1048576}" ocnt=$(( $blklen / $obs )) ounit=$(( $obs / 1048576 )) # ̓ubNTCY1koCg ibs="${IBS:-1024}" icnt=$(( $blklen / $ibs )) # resultfil=/tmp/result # title="${TITLE:-n[hfBXNc[wwipe-outx}" # if [ ! -w /dev/$disk ]; then dialog --title "$title" \ --msgbox "fBXN $disk ݂ȂA݂ł܂" \ 5 64 exit 1 fi # mount -p | sed -n -E "/^.dev.$disk/p" > $resultfil if [ -s $resultfil ]; then dialog --title "$title" \ --msgbox "}Eg̃fBXN $disk 邱Ƃ͂ł܂" \ 5 64 exit 1 fi dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` bytes=`disksize -B /dev/$disk` cap=`disksize -p /dev/$disk` msg="fBXN ${disk} ${dname} \n" msg="${msg}Sf[^ ${bytes}oCgA\n" nstuff=0 for stuff in `echo $stuffs | sed 's/\(.\)/\1 /g'` ; do case x"$stuff" in x[0z]) msg="${msg}0A" ;; x[1f]) msg="${msg}1A" ;; x[Rr]) msg="${msg}RA" ;; x[Pp]) msg="${msg}PA" ;; x[Qq]) msg="${msg}QA" ;; esac nstuff=$(( $nstuff + 1 )) done msg="${msg}̏\n${nstuff}㏑ď܂\n" msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 10 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac msg="{${disk} ($cap) ̃f[^Ăł?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 5 72 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac # ̃p[^ (MoCgPʂŐ) mbytes=`disksize -m /dev/$disk` max=$(( $mbytes / $ounit )) stage=0 xstage=1 startsec=`tinydate '+%s'` totalrems='' # Jn startstamp=`date '+%Y-%m-%d %H:%M'` # echo "v ---------------------------- v" >> $LOGFIL echo -n "erase ($nstuff times) started on " >> $LOGFIL date >> $LOGFIL echo " $disk ($dname) $bytes bytes with $stuffs" >> $LOGFIL nerrs=0 xcent=100 xmill=1000 mcent=$max mmill=$max if [ $max -gt 1048576 ]; then xcent=1 xmill=1 mcent=$(( ( $max + 99 ) / 100 )) mmill=$(( ( $max + 999 ) / 1000 )) fi for stuff in `echo $stuffs | sed 's/\(.\)/\1 /g'` ; do skip=0 stagestart=`tinydate '+%s'` case "$stuff" in [0z]) method="'0'㏑" ;; [1f]) method="'1'㏑" ;; [Rr]) method="_f[^㏑" ;; [Pp]) stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" \ >> $LOGFIL method="_p^[㏑" ;; [Qq]) method="Op^[̕␔㏑" ;; esac rems='' status='' status2='' errormsg='' # echo -n "stage: $stage, with writing $stuff " >> $LOGFIL echo -n "started on " >> $LOGFIL date >> $LOGFIL # lastdisp=0 dispintv=0 while [ $skip -le $max ]; do # v cursec=`tinydate '+%s'` # o[Ot p=$(( ( $xcent * $skip ) / $mcent )) m=$(( ( $xmill * $skip ) / $mmill )) q=$(( $p / 2 )) i=0 bar='' while [ $i -lt $q ]; do bar="$bar"'#' i=$(( $i + 1 )) done while [ $i -lt 50 ]; do bar="$bar"'_' i=$(( $i + 1 )) done # c莞 elapsed=$(( $cursec - $stagestart )) if [ $elapsed -gt 10 ]; then if [ $m -gt 0 ]; then remain=$(( ( 1000 - $m ) * $elapsed / $m + 1 )) if [ $remain -gt 120 ]; then rems=$(( ( $remain + 59 ) / 60 )) rems="c 悻${rems}" else rems="c 悻${remain}b" fi fi fi if [ $elapsed -gt 120 ]; then elas=$(( ( $elapsed + 30 ) / 60 )) elas="${elas}" else elas="${elapsed}b" fi # S̃o[Ot pp=$(( ( $p + 100 * $stage ) / $nstuff )) mm=$(( ( $m + 1000 '*' $stage ) / $nstuff )) q=$(( $pp / 2 )) i=0 totalbar='' while [ $i -lt $q ]; do totalbar="$totalbar"'#' i=$(( $i + 1 )) done while [ $i -lt 50 ]; do totalbar="$totalbar"'_' i=$(( $i + 1 )) done ee=$(( $cursec - $startsec )) if [ $mm -gt 0 ]; then rr=$(( ( 1000 - $mm ) * $ee / $mm + 1 )) if [ $rr -gt 120 ]; then totalrems=$(( ( $rr + 59 ) / 60 )) totalrems="c 悻${totalrems}" else totalrems="c 悻${rr}b" fi fi if [ $ee -gt 120 ]; then totalelas=$(( ( $ee + 30 ) / 60 )) totalelas="${totalelas}" else totalelas="${ee}b" fi # text="fBXN ${disk} ̃f[^Ă܂B\n\n" text="${text}S ${nstuff} H ${xstage} Ԃ " text="${text} Ŝ ${pp}% I\n" text="${text}${totalelas} o ${totalrems} \n\n" text="${text} 0%|${totalbar}|100%\n\n" text="${text}̍Hł${method}Af[^Ă܂B\n" text="${text}${p}% ($skip/$max) I ^ " text="${text}${elas} o ${rems} \n\n" text="${text} 0%|${bar}|100%\n\n" text="${text}\n${errormsg}" dispintv=$(( $cursec - $lastdisp )) if [ $dispintv -ge $dispupd ]; then dialog --title "$title" --infobox "$text" 15 72 lastdisp=$cursec else echo -e '\r\c' fi case "x$progchar" in xO) progchar='.' ;; xo) progchar='O' ;; *) progchar='o' ;; esac echo -n "$progchar $status2" case x$DEBUG in x[Yy]*) status2='now in debug mode...' errormsg='' sleep 1 ;; *) status=`stuff -$stuff < $PATTERNFIL | dd ibs=$ibs obs=$obs seek=$skip count=$icnt of=/dev/$disk 2>&1` status2=`echo "$status" | sed -n '/transfer/p'` errormsg=`echo "$status" | sed -n -E '/records (in|out)$/!p' | sed -n '/transferred in/!p'` ;; esac # L^ case x"$skip" in x0) echo "stage: $stage, skip: $skip, $status2" >> $LOGFIL ;; esac case x"${nerrs}"x"${errormsg}" in x[0-8]x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; x9x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL echo "Too many errors encounterd..." >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; esac # [v skip=$(( $skip + $ocnt )) done stage=$(( $stage + 1 )) xstage=$(( $xstage + 1 )) echo "stage: $stage, skip: $skip, $status2" >> $LOGFIL done sleep 2 # echo "number of errmessages: $nerrs" >> $LOGFIL echo -n "erase finished on " >> $LOGFIL date >> $LOGFIL echo " $disk ($dname, $cap) with overwriting $nstuff times" >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL cursec=`tinydate '+%s'` elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 120 ]; then min=$(( $elapsed / 60 )) sec=$(( $elapsed - $min * 60 )) elas="${min}${sec}b" else elas="${elapsed}b" fi # I endstamp=`date '+%H:%M'` # Oۑ echo 'The contents of this storage device' > /tmp/erase-log.$disk echo "$disk ($cap) '$dname'" >> /tmp/erase-log.$disk echo -n 'were erased with ' >> /tmp/erase-log.$disk echo 'hard disk wiping tool "wipe-out."' >> /tmp/erase-log.$disk echo "Erase $nstuff times ($stuffs)" >> /tmp/erase-log.$disk echo " $startstamp -> $endstamp" >> /tmp/erase-log.$disk echo "but NOT verified" > /tmp/verify-log.$disk sh dummyread.sh dialog --title "$title" \ --msgbox "fBXÑf[^I܂ (${elas})" 5 72 # echo '# ---------------------------- #' 1>&2 exit 0 # EOF #! /bin/sh # # sel-fine.sh - O@̑I # # 0.0: Jun. 26, 2004 by Dai ISHIJIMA # 0.1: Jul. 9, 2005 # 0.2: Jun. 28, 2006 (_p^[ƕ␔ for wpout07) # 0.3: Feb. 18, 2007 (15lj for wpout08) # resultfil=/tmp/result stuffs="${stuffs:-10}" title="${TITLE:-n[hfBXNc[wwipe-outx}" dialog 2>$resultfil \ --title "$title" \ --menu '@IĂ' \ 12 74 5 \ 10 '10̏2㏑' \ 01 '01̏2㏑' \ R0 '_0̏2㏑' \ RR0 '__0̏3㏑' \ R10 '_10̏3㏑' \ PQ0 '_p^[␔0̏3㏑' \ RR10 '_~210̏4㏑' \ 1010 '1010̏4㏑' \ PQ10 'p^[␔10̏4㏑' \ PQR0 'p^[␔_10̏4㏑' \ 01010 '(01)~20̏5㏑' \ RRR10 '_~310̏5㏑' \ PQPQ0 '(p^[␔)~20̏5㏑' \ 101010 '101010̏6㏑' \ RRRR10 '_~410̏6㏑' \ PQPQ10 '(p^[␔)~210̏6㏑' \ 0101010 '(01)~30̏7㏑' \ R101010 '_101010̏7㏑' \ R10R10R10 '(_10)~3̏9㏑' \ PQRPQRPQR0 '(p^[␔_)~30̏10' \ PQRPQRPQR10 '(p[^␔_)~310̏11' \ R10R10R10R10 '(_10)~4̏12㏑' \ PQRPQRPQRPQR0 '(p^[␔_)~40̏13' \ PQRPQRPQRPQR10 '(p^[␔_)~410̏14' \ PQR10PQR10PQR10 '(p^[␔_10)~3̏15' \ case x"$?" in x0) newstuff=`cat $resultfil` if [ x"$stuffs" != x"$newstuff" ]; then msg="@ ${stuffs} " msg="${msg} ${newstuff} ɕύX܂B" dialog --title "$title" \ --infobox "$msg" 3 72 sleep 2 fi stuffs="$newstuff" ;; x1) dialog --title "$title" \ --infobox '@̑ILZ܂' 3 64 sleep 2 ;; esac # EOF #! /bin/sh # # verify.sh -- f[^Ă邩mF # # g: /bin/sh verify.sh step fBXN # step: XLbv钷 # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh verify.sh 0 ad0 (fBXNS) # /bin/sh verify.sh 90 ad0 (Ŝ1/10) # /bin/sh verify.sh 990 ad0 (Ŝ1/100) # # 0.0: Jul. 8, 2005 by Dai ISHIJIMA (for wpout06) # 0.2: Aug. 1, 2006 (^CX^v for wpout07) # 0.3: Feb. 10, 2007 (OL^ for wpout08) # 0.4: Feb. 15, 2007 (G^[L[΍) # 0.5: Sep. 12, 2007 (wpout09) # 0.6: Oct. 6, 2007 (vZ32rbgt͈̔͂ōs) # 0.7: Dec. 23, 2007 (o[Ot\̌vZC) # 0.8: Jan. 2, 2008 (OC) # 0.9: Apr. 19, 2009 (mFbZ[W, wpout10) # 1.0: Mar. 21, 2014 (c莞ԌvZC) # 1.1: Mar. 22, 2014 (ʂ̂‚炷 (XV炷)) # ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" exec 2>> $ERRORLOG echo "# start $0, $@" 1>&2 echo '# ---------------------------- #' 1>&2 # PƂł悤 LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" PATTERNFIL="${PATTERNFIL:-/tmp/pattern.dat}" dispupd="${DISPUPD:-2}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL step="${1:-1}" disk="${2:-ad0}" dmesg="${DMESG:-/var/run/dmesg.boot}" # 10MoCgPʂŊmF vblklen="${VBLKLEN:-10485760}" # x1MoCg vbs="${VBS:-1048576}" vunit=$(( $vbs / 1048576 )) # x10ubN vcnt=$(( $vblklen / $vbs )) # resultfil=/tmp/result # title="${TITLE:-n[hfBXNc[wwipe-outx}" if [ ! -r /dev/$disk ]; then dialog --title "$title" \ --msgbox "fBXN $disk ݂ȂAǂ߂܂" \ 5 64 exit 1 fi dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` dbytes=`disksize -p /dev/$disk` bytes=`disksize -B /dev/$disk` # mF̃p[^ mbytes=`disksize -m /dev/$disk` # ubNTCYPʂł̃fBXNTCY max=$(( $mbytes / $vunit )) msg="fBXN ${disk} ${dname} \n" msg="${msg}f[^ ${bytes}oCg\n" msg="${msg}Ă邱ƂmF܂B\n" msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 9 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'mFLZ܂' 3 64 sleep 2 exit 1 ;; esac # zero=0 one=0 maybe=0 unerased=0 checked=0 startsec=`tinydate '+%s'` rems='' # Jn startstamp=`date '+%Y-%m-%d %H:%M'` # echo "v ---------------------------- v" >> $LOGFIL echo -n "verify started on " >> $LOGFIL date >> $LOGFIL echo " $disk ($dname) $bytes bytes" >> $LOGFIL nerrs=0 skip=0 xcent=100 xmill=1000 mcent=$max mmill=$max if [ $max -gt 1048576 ]; then xcent=1 xmill=1 mcent=$(( ( $max + 99 ) / 100 )) mmill=$(( ( $max + 999 ) / 1000 )) fi lastdisp=0 dispintv=0 while [ $skip -lt $max ]; do # v cursec=`tinydate '+%s'` # o[Ot p=$(( ( $xcent * $skip ) / $mcent )) m=$(( ( $xmill * $skip ) / $mmill )) q=$(( $p / 2 )) i=0 bar='' while [ $i -lt $q ]; do bar="$bar"'#' i=$(( $i + 1 )) done while [ $i -lt 50 ]; do bar="$bar"'_' i=$(( $i + 1 )) done # c莞 elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 10 ]; then if [ $m -gt 0 ]; then remain=$(( ( 1000 - $m ) * $elapsed / $m + 1 )) if [ $remain -gt 120 ]; then rems=$(( ( $remain + 59 ) / 60 )) rems="c 悻${rems}" else rems="c 悻${remain}b" fi fi fi if [ $elapsed -gt 120 ]; then elas=$(( ( $elapsed + 30 ) / 60 )) elas="${elas}" else elas="${elapsed}b" fi # text="fBXN ${disk} ̃f[^`FbNĂ܂B\n" text="${text}${max}ubN̂${skip}ubN^${p}% I\n" text="${text}${elas} o ${rems} \n\n" text="${text} 0%|${bar}|100%" text="${text}\n${errormsg}" dispintv=$(( $cursec - $lastdisp )) if [ $dispintv -ge $dispupd ]; then dialog --title "$title" --infobox "$text" 8 72 lastdisp=$cursec else echo -e '\r\c' fi case "x$progchar" in xO) progchar='.' ;; xo) progchar='O' ;; *) progchar='o' ;; esac echo -n "$progchar $status2" case x$DEBUG in x[Yy]*) status2='now in debug mode...' errormsg='' sleep 1 ;; *) status=`(dd if=/dev/$disk ibs=$vbs skip=$skip count=$vcnt | check -s) 2>&1` case $? in 0) zero=$(( $zero + $vcnt )) ;; 1) one=$(( $one + $vcnt )) ;; 2) maybe=$(( $maybe + $vcnt )) ;; *) unerased=$(( $unerased + $vcnt )) ;; esac status2=`echo "$status" | sed -n '/transfer/p'` errormsg=`echo "$status" | sed -n -E '/records (in|out)$/!p' | sed -n '/transferred in/!p'` ;; esac # ʼnsɏoXe[^X̂Ƃ case x"$status2" in x) status2="skipping unerased block $unerased at $skip" ;; esac # L^ case x"$skip" in x0) echo "skip: $skip, $status2" >> $LOGFIL ;; esac case x"${nerrs}"x"${errormsg}" in x[0-8]x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; x9x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL echo "Too many errors encounterd..." >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; esac # [v checked=$(( $checked + $vcnt )) skip=$(( $skip + $vcnt + $step )) done sleep 2 # echo "skip: $skip, $status2" >> $LOGFIL echo "number of error messages: $nerrs" >> $LOGFIL echo -n "verify finished on" >> $LOGFIL date >> $LOGFIL echo " $disk ($dname, $dbytes), max = $max, checked = $checked" >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL cursec=`tinydate '+%s'` elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 120 ]; then min=$(( $elapsed / 60 )) sec=$(( $elapsed - $min * 60 )) elas="${min}${sec}b" else elas="${elapsed}b" fi # I endstamp=`date '+%H:%M'` unerased=$(( $unerased + $maybe )) zp=$(( $zero * 100 / $checked )) op=$(( $one * 100 / $checked )) np=$(( $unerased * 100 / $checked )) msg="fBXN ($disk, $dbytes oCg) ̃`FbNI܂ (${elas})\n" msg="${msg}S $max ubN $checked ubN܂\n" msg="${msg} '0' ŏĂubN: $zero ($zp %)\n" msg="${msg} '1' ŏĂubN: $one ($op %)\n" msg="${msg} ȊO () ̃ubN: $unerased ($np %)\n" # Oۑ echo "Verified $checked blocks" > /tmp/verify-log.$disk echo -n " erased with 0:${zp}%, 1:${op}%, " >> /tmp/verify-log.$disk echo "unerased:${np}%" >> /tmp/verify-log.$disk echo " $startstamp -> $endstamp" >> /tmp/verify-log.$disk sh dummyread.sh # Ȃ~܂? #echo -n "final confirmation message displayed on " >> $LOGFIL #date >> $LOGFIL dialog --title "$title" \ --msgbox "$msg" 10 72 # echo '# ---------------------------- #' 1>&2 exit 0 # EOF #! /bin/sh # # dump.sh -- fBXÑf[^\ # # 0.0: Jul. 8, 2005 by Dai ISHIJIMA (wpout06) # 0.1: Sep. 12, 2007 (wpout09) # # g: /bin/sh dump.sh skip fBXN # skip: XLbv钷 # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh dump.sh 0 ad0 # # skip="${1:-0}" disk="${2:-ad0}" title=" $disk ZN^ $skip ̓e" (dd if=/dev/$disk skip=$skip count=1 | tinydump > /tmp/dump.txt) 2>/dev/null dialog --title "$title" \ --textbox /tmp/dump.txt 22 76 #! /bin/sh # # writelog.sh -- OfBXNɏ # # g: /bin/sh writelog.sh fBXN # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh writelog.sh ad0 # # 0.0: Aug. 1, 2006 by Dai ISHIJIMA (for wpout07) # 0.1: Aug. 7, 2006 OɊmF # 0.2: Feb. 10, 2007 (OL^ for wpout08) # 0.3: Feb. 15, 2007 (G^[L[΍) # 0.4: Sep. 12, 2007 (wpout09) # disk="${1:-ad0}" mbr="${MBR:-wpout-mbr.boot}" title="${TITLE:-n[hfBXNc[wwipe-outx}" # łɏς݂? if [ ! -s /tmp/erase-log.$disk ]; then dialog --title "$title" \ --yesno '삪sĂ܂\n{ɏ݂܂?' \ 6 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'Ȍ݂LZ܂' 3 64 sleep 2 exit 1 ;; esac fi # {ɏĂ̂? dd if=/dev/$disk count=1 of=/tmp/org-mbr.$disk 1>/dev/null 2>&1 if ! check < /tmp/org-mbr.$disk 1>/dev/null 2>&1 ; then dialog --title "$title" \ --yesno 'MBR0ŏĂ܂\n{ɏ݂܂?' \ 6 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'Ȍ݂LZ܂' 3 64 sleep 2 exit 1 ;; esac fi # O݂Ȃ炻炵쐬 if [ ! -s /tmp/erase-log.$disk ]; then echo 'The contents of this storage device' > /tmp/erase-log.$disk echo 'may have been erased' >> /tmp/erase-log.$disk echo 'with hard disk wiping tool "wipe-out."' >> /tmp/erase-log.$disk fi if [ ! -s /tmp/verify-log.$disk ]; then echo 'But NOT verified.' > /tmp/verify-log.$disk fi # ŏImF sh dummyread.sh dialog --title "$title" \ --yesno "OfBXN ($disk) ɏ݂܂?" \ 6 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'Ȍ݂LZ܂' 3 64 sleep 2 exit 1 ;; esac echo -n 'Logged: ' > /tmp/stamp-log.$disk date '+%Y-%m-%d %H:%M:%S' >> /tmp/stamp-log.$disk echo 'ABSOLUTELY NO WARRANTY.' >> /tmp/stamp-log.$disk # ݑ cat $mbr /tmp/erase-log.$disk /tmp/verify-log.$disk /tmp/stamp-log.$disk | makembr > /tmp/boot.$disk # echo -n "MBR log was written on " >> $LOGFIL date >> $LOGFIL echo "==" >> $LOGFIL cat /tmp/erase-log.$disk /tmp/verify-log.$disk /tmp/stamp-log.$disk >> $LOGFIL echo "==" >> $LOGFIL case x$DEBUG in x[Yy]*) echo 'debug mode, no write' mesg="OfBXN ($disk) ɏ݂܂ (in debug mode)" ;; *) if dd if=/tmp/boot.$disk of=/dev/$disk > /dev/null 2>&1; then mesg="OfBXN ($disk) ɏ݂܂" else mesg="OfBXN ($disk) ɏ߂܂ł" fi ;; esac sh dummyread.sh dialog --title "$title" --msgbox "$mesg" 5 72 exit 0 # EOF #! /bin/sh # # copy.sh -- G[𖳎ăf[^Rs[ # # g: /bin/sh copy.sh Rs[fBXN Rs[fBXN # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh copy.sh ad0 ad1 # # 0.0: Aug. 5, 2006 by Dai ISHIJIMA (for wpout07) # 0.1: Feb. 10, 2007 (OL^ for wpout08) # 0.2: Feb. 15, 2007 (G^[L[΍) # 0.3: Sep. 12, 2007 (wpout09) # 0.4: Oct. 6, 2007 (expr(1) POSIXΉ) # 0.4: Dec. 13, 2007 (o[OtAc菊vԂ̃I[o[t[C) # 0.5: Jan. 2, 2008 (OC) # 0.6: Apr. 19, 2009 (ubNTCY•, wpout10) # 0.7: Oct. 11, 2013 (Rs[̃fBXN\, wpout13) # ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" exec 2>> $ERRORLOG echo "# start $0, $@" 1>&2 echo '# ---------------------------- #' 1>&2 # PƂł悤 LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" PATTERNFIL="${PATTERNFIL:-/tmp/pattern.dat}" dispupd="${DISPUPD:-2}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL # vZ 32bit signed int ̌EɈȂ悤ɂ export EXPR_COMPAT # ubNTCY512oCg cbs="${CBS:-512}" srcdisk="${1:-ad0}" dstdisk="${2:-ad1}" cbs="${3:-$cbs}" dmesg="${DMESG:-/var/run/dmesg.boot}" if [ ! -r /dev/$srcdisk ]; then echo "$0: disk '$srcdisk' does not exist or is not readable" echo "Usage: $0 srcdisk dstdist" exit 1 fi if [ ! -w /dev/$dstdisk ]; then echo "$0: disk '$dstdisk' does not exist or is not writable" echo "Usage: $0 srcdisk dstdist" exit 1 fi # x32MoCg blklen="${BLKLEN:-33554432}" # Rs[̃p[^ # MoCgPʂŐ mbytes=`disksize -m /dev/$srcdisk` # 524288MoCgȉȂubNTCY512oCg # ubÑJEg30rbgŎ܂悤ɂ xbs=$(( ( $mbytes + 524288 - 1 ) / 524288 )) minbs=512 xbs=$(( $xbs >> 1 )) # ubN̓fBXNTCYɉ 512, 1k, 2k, 4k,.. while [ $xbs -gt 0 ]; do minbs=$(( $minbs << 1 )) xbs=$(( $xbs >> 1 )) done # wubNZ (vZӂ鋰̂) Ƃ͒ if [ $cbs -lt $minbs ]; then cbs=$minbs fi ccnt=$(( $blklen / $cbs )) # obs="${OBS:-1048576}" ocnt=$(( $blklen / $obs )) ounit=$(( $obs / 1048576 )) title="${TITLE:-n[hfBXNc[wwipe-outx}" sname=`sed -n -E "/^${srcdisk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` sbytes=`disksize -B /dev/$srcdisk` dname=`sed -n -E "/^${dstdisk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` dbytes=`disksize -B /dev/$dstdisk` msg="fBXN ${srcdisk} ${sname} \n" msg="${msg}Sf[^ ${sbytes}oCgA${cbs}oCgPʂ\n" msg="${msg}fBXN ${dstdisk} ${dname}\n" msg="${msg}(${dbytes}oCg) ɃRs[܂B" msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 9 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXÑRs[LZ܂' 3 64 sleep 2 exit 1 ;; esac msg="{${srcdisk}̃f[^${dstdisk}ɃRs[Ăł?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 5 72 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXÑRs[LZ܂' 3 64 sleep 2 exit 1 ;; esac dd if=/dev/$dstdisk ibs=512 count=1 | check -s 2>&1 case $? in 0) dstempty="may be empty or erased." ;; *) dstempty="may NOT be empty or erased." msg="Rs[̃fBXN${dstdisk} ${dname}\n" msg="${msg}ɂ̓f[^cÔ\܂\n" msg="${msg}{${srcdisk}̃f[^" msg="${msg}${dstdisk}ɃRs[Ăł?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 7 72 case x"$?" in x1) dialog --title "$title" \ --infobox \ 'fBXÑRs[LZ܂' 3 64 sleep 2 exit 1 ;; esac ;; esac ccnt=$(( $blklen / $cbs )) max=$(( $mbytes * (1048576 / $cbs) )) startsec=`tinydate '+%s'` rems='' # echo "v ---------------------------- v" >> $LOGFIL echo -n "copy started on " >> $LOGFIL date >> $LOGFIL echo " copy $srcdisk ($sname)" >> $LOGFIL echo " -> $dstdisk ($dname)" >> $LOGFIL echo " destination disk $dstdisk ($dname) $dstempty" >> $LOGFIL echo " copying $sbytes bytes ($mbytes Mbytes)" >> $LOGFIL echo " cbs=$cbs, ccnt=$ccnt, max=$max, obs=$obs, ocnt=$ocnt" >> $LOGFIL nerrs=0 skip=0 oseek=0 xcent=100 xmill=1000 mcent=$max mmill=$max if [ $max -gt 1048576 ]; then xcent=1 xmill=1 mcent=$(( ( $max + 99 ) / 100 )) mmill=$(( ( $max + 999 ) / 1000 )) fi # echo " xcent=$xcent, xmill=$xmill, mcent=$mcent, mmill=$mmill" >> $LOGFIL lastdisp=0 dispintv=0 while [ $skip -le $max ]; do # v cursec=`tinydate '+%s'` # o[Ot p=$(( ( $xcent * $skip ) / $mcent )) m=$(( ( $xmill * $skip ) / $mmill )) q=$(( $p / 2 )) i=0 bar='' while [ $i -lt $q ]; do bar="$bar"'#' i=$(( $i + 1 )) done while [ $i -lt 50 ]; do bar="$bar"'_' i=$(( $i + 1 )) done # c莞 elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 10 ]; then if [ $m -gt 0 ]; then remain=$(( ( 1000 - $m ) * $elapsed / $m + 1 )) if [ $remain -gt 120 ]; then rems=$(( ( $remain + 59 ) / 60 )) rems="c 悻${rems}" else rems="c 悻${remain}b" fi fi fi if [ $elapsed -gt 120 ]; then elas=$(( ( $elapsed + 30 ) / 60 )) elas="${elas}" else elas="${elapsed}b" fi # text="fBXN ${srcdisk} ${sname} \n" text="${text}f[^ ${dstdisk} ${dname} \n" text="${text}${cbs}oCgPʂŃRs[Ă܂B\n" text="${text} ${p}% ($skip/$max) I ^ " text="${text}${elas} o ${rems} \n\n" text="${text} 0%|${bar}|100%" text="${text}\n${errormsg}" dispintv=$(( $cursec - $lastdisp )) if [ $dispintv -ge $dispupd ]; then dialog --title "$title" --infobox "$text" 9 72 lastdisp=$cursec else echo -e '\r\c' fi case "x$progchar" in xO) progchar='.' ;; xo) progchar='O' ;; *) progchar='o' ;; esac echo -n "$progchar $status2" case x$DEBUG in x[Yy]*) status2='now in debug mode...' errormsg='' sleep 1 ;; *) status=`dd if=/dev/$srcdisk ibs=$cbs skip=$skip conv=noerror,sync obs=$obs seek=$oseek count=$ccnt of=/dev/$dstdisk 2>&1` status2=`echo "$status" | sed -n '/transfer/p'` errormsg=`echo "$status" | sed -n -E '/records (in|out)$/!p' | sed -n '/transferred in/!p'` ;; esac # L^ case x"$skip" in x0) echo "skip: $skip, $status2" >> $LOGFIL ;; esac case x"${nerrs}"x"${errormsg}" in x[0-8]x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; x9x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL echo "Too many errors encounterd..." >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; esac # [v skip=$(( $skip + $ccnt )) oseek=$(( $oseek + $ocnt )) done sleep 2 # echo "skip: $skip, $status2" >> $LOGFIL echo "number of error messages: $nerrs" >> $LOGFIL echo -n "copy finished on " >> $LOGFIL date >> $LOGFIL echo -n "$srcdisk ($sname, $sbytes)" >> $LOGFIL echo " -> $dstdisk ($dname, $dbytes)" >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL cursec=`tinydate '+%s'` elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 120 ]; then min=$(( $elapsed / 60 )) sec=$(( $elapsed - $min * 60 )) elas="${min}${sec}b" else elas="${elapsed}b" fi sh dummyread.sh dialog --title "$title" \ --msgbox "fBXÑRs[I܂ (${elas})" 5 72 # echo '# ---------------------------- #' 1>&2 exit 0 # EOF #! /bin/sh # # embr.sh -- MBR̂ݏ # # g: /bin/sh embr.sh fBXN # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh embr.sh ad0 # # 0.0: Dec. 21, 2006 by Dai ISHIJIMA (for wpout07) # 0.1: Feb. 10, 2007 (OL^ for wpout08) # 0.2: Feb. 15, 2007 (G^[L[΍) # 0.3: Sep. 12, 2007 (wpout09) # 0.4: Jan. 2, 2008 (OC) # LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" dmesg="${DMESG:-/var/run/dmesg.boot}" disk="${1:-ad0}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL #if [ ! -w /dev/$disk ]; then # echo "$0: disk '$disk' does not exist or is not writable" # echo "Usage: $0 disk" # echo "Example: $0 ad0" # exit 1 #fi title="${TITLE:-n[hfBXNc[wwipe-outx}" dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` msg="fBXN ${disk} ${dname} \n" msg="${msg}MBR (}X^Eu[gER[h; 擪ZN^)\n" msg="${msg}** ܂B\n" msg="${msg}\n" msg="${msg}MBRƁAfBXNׂ̂Ẵf[^\n" msg="${msg}ȂȂ̂悤Ɍ܂BA\n" msg="${msg}c[Ōɖ߂Ƃ”\Ȃ̂\n" msg="${msg}Rk̊댯܂BӂB\n" msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 15 52 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac msg="fBXN ${disk} MBR𒆎~܂?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 5 72 case x"$?" in x0) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac echo "v ---------------------------- v" >> $LOGFIL echo -n "erase MBR ($disk) started on " >> $LOGFIL date >> $LOGFIL case x$DEBUG in x[Yy]*) echo -n "now in debug mode..." echo 'debug mode' >> $LOGFIL ;; *) dd bs=512 count=1 if=/dev/zero of=/dev/$disk ;; esac sleep 3 # echo -n "erase MBR ONLY $disk ($dname) on " >> $LOGFIL date >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL sh dummyread.sh dialog --title "$title" \ --msgbox "MBȐI܂" 5 64 exit 0 # EOF #! /bin/sh # # crlf.sh -- sR[h LF (\n) CRLF (\r\n) # # 0.0: Feb. 5, 2007 by Dai ISHIJIMA # 0.1: Feb. 18, 2007 by Dai ISHIJIMA # cr=`echo -e '\r'` if sed 's/$/'"$cr"'/' ; then exit 0 else echo "crlf.sh: write failed" exit 1 fi # EOF#! /bin/sh # # floppylog.sh -- tbs[ɃOL^ # # g: /bin/sh floppylog.sh [fBXN] # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh floppylog.sh fd0 # # 0.0: Feb. 10, 2007 by Dai ISHIJIMA (for wpout08) # 0.1: Feb. 15, 2007 (fBXNI) # 0.2: Feb. 15, 2007 (dmesg -a Ō) # 0.3: Feb. 18, 2007 (LZsbugfix) # 0.4: Feb. 20, 2007 (VFϐ) # 0.5: Feb. 21, 2007 (Ɠeʼnsɕ\) # 0.6: Feb. 23, 2007 (: Ɠeʼnsɕ\) # 0.7: Sep. 12, 2007 (wpout09) # 0.8: Oct. 6, 2007 (expr ̑ $(( )) ) # 0.9: Mar. 22, 2014 (G[O) # dmesg="${DMESG:-/var/run/dmesg.boot}" ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" disk="${1:-fd0}" resultfil=/tmp/result searchfor="fd0 da0 da0s1 da1 da1s1 da2 da2s1 da3 da3s1" header=/tmp/header.txt title="${TITLE:-n[hfBXNc[wwipe-outx}" dialog --title "$TITLE" \ --infobox "O̕ۑĂ܂" 3 64 ndevs=0 devs='' for dev in $searchfor ; do echo -e "\r \r\c" echo -n "checking $dev" if mount_msdosfs -s -o rdonly /dev/$dev /floppy > /dev/null 2>&1; then if [ -d /floppy/wipe-out ]; then devs="$devs $dev" ndevs=$(( $ndevs + 1 )) fi umount /floppy fi done case x"$ndevs" in x0) echo "no device to write log" >> $LOGFIL msg="O̕ۑ悪݂‚܂ł" dialog --title $title --msgbox "$msg" 5 64 exit 1 ;; esac taglist='' for dev in $devs ; do d=`echo $dev | sed 's/^\([a-z][a-z]*[0-9]\).*/\1/'` dname=`sed -n -E "/^${d}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` taglist="$taglist $dev '$dname'" done sh dummyread.sh eval dialog \ --title "'$title'" \ --menu "'O̕ۑIĂ'" \ 10 72 3 \ $taglist \ 2>$resultfil case "$?" in 0) disk=`cat $resultfil` msg="O ${disk} ɕۑ܂" dialog --title "$title" --infobox "$msg" 3 64 ;; 1) dialog --title "$title" \ --infobox 'O̕ۑLZ܂' 3 64 sleep 2 # 2007-02-18 exit 1 ;; esac echo -e "\r \r\c" echo -n "mounting floppy" if ! mount_msdosfs -s /dev/$disk /floppy > /dev/null 2>&1; then msg="ۑ ${disk} ݃}Egł܂ł" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo "" > $header echo -n "####################################" >> $header echo "####################################" >> $header echo -n "following messages were logged on " >> $header date >> $header echo -n "====================================" >> $header echo "====================================" >> $header # dmesg.boot echo -e "\r \r\c" echo -n "writing dmesg.boot header" if ! crlf.sh < $header >> /floppy/wipe-out/dmsgboot.txt ; then umount /floppy msg="dmesg.bootwb_݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo -e "\r \r\c" echo -n "writing dmesg.boot body" if ! crlf.sh < $dmesg >> /floppy/wipe-out/dmsgboot.txt ; then umount /floppy msg="dmesg.boot݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi # wpoutlog.txt echo -e "\r \r\c" echo -n "writing wpoutlog header" if ! crlf.sh < $header >> /floppy/wipe-out/wpoutlog.txt ; then umount /floppy msg="wipe-outOwb_݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo -e "\r \r\c" echo -n "writing wpoutlog body" if ! crlf.sh < $LOGFIL >> /floppy/wipe-out/wpoutlog.txt ; then umount /floppy msg="wipe-outȌ݂Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi # mbrlog.txt echo -e "\r \r\c" echo -n "writing mbrlog header" if ! crlf.sh < $header >> /floppy/wipe-out/mbrlog.txt ; then umount /floppy msg="MBROwb_݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi # wperrlog.txt echo -e "\r \r\c" echo -n "writing errorlog" if ! crlf.sh < $ERRORLOG >> /floppy/wipe-out/wperrlog.txt ; then umount /floppy msg="G[Ȍ݂Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi eraselog='No erase log found' echo -e "\r \r\c" echo -n "writing mbrlog body" for i in /tmp/erase-log.* ; do if [ -f "$i" ]; then if ! crlf.sh < $i >> /floppy/wipe-out/mbrlog.txt ; then umount /floppy msg="MBRO ($i) ݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi eraselog='' fi done case x"$eraselog" in xNo*) if ! echo "$eraselog" | crlf.sh >> /floppy/wipe-out/mbrlog.txt ; then umount /floppy msg="MBRȌ݂Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi esac verifylog='No verify log found' echo -e "\r \r\c" echo -n "writing verifylog body" for i in /tmp/verify-log.* ; do if [ -f "$i" ]; then if ! crlf.sh < $i >> /floppy/wipe-out/mbrlog.txt ; then umount /floppy msg="MBRO ($i) ݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi verifylog='' fi done case x"$verifylog" in xNo*) if ! echo "$verifylog" | crlf.sh >> /floppy/wipe-out/mbrlog.txt ; then umount /floppy msg="MBRȌ݂Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi esac # VFϐ echo -e "\r \r\c" echo -n "writing environ header" if ! crlf.sh < $header >> /floppy/wipe-out/environ.txt ; then umount /floppy msg="VFϐOwb_݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo -e "\r \r\c" echo -n "writing environ body" if ! set | crlf.sh >> /floppy/wipe-out/environ.txt ; then umount /floppy msg="VFϐȌ݂Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi # dmesg-a echo -e "\r \r\c" echo -n "writing dmesg -a header" if ! crlf.sh < $header >> /floppy/wipe-out/dmesg-a.txt ; then umount /floppy msg="dmesg -a wb_݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo -e "\r \r\c" echo -n "writing dmesg -a body" if ! dmesg -a | crlf.sh >> /floppy/wipe-out/dmesg-a.txt ; then umount /floppy msg="dmesg -a ݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo -e "\r \r\c" echo -n "umounting floppy" if ! umount /floppy > /dev/null 2>&1; then msg="݌ɃfBXN ${disk} A}Egł܂ł" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi dialog --title "$title" \ --msgbox "Ȍ݂I܂" 5 64 exit 0 # EOF #! /bin/sh # # dummyread.sh -- L[{[h͂Ă镶ǂŎ̂Ă # # 0.0: Feb. 12, 2007 by Dai ISHIJIMA (for wpout08) # while read -t 0 keyin > /dev/null 1>&2 ; do case x"$DEBUG" in xY*) echo "|$keyin|" ;; esac done exit 0 # EOF #! /bin/sh # # kon2start.sh -- JEg_E‚Aǂ̃[hɈڍs邩I # # 0.0: May 5, 2009 by Dai ISHIJIMA (as countdown.sh) # 0.1: Apr. 11, 2011 for wpout11 # 0.2: Oct. 11, 2013 (use /dev/ttyv0, wpout13) # 0.3: May 11, 2014 (comconsole -> serial console) # export TTY="${TTY:-ttyv0}" export LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" echo '' echo '' echo "# select console mode" echo " 0: Start wipe-out on KON2 (Kanji on console) [default]" echo " 1: Start wipe-out on KON2 fixed for some Laptops" if [ -c /dev/cuau0 ]; then echo " c: Start wipe-out on serial console (regacy serial, uart0)" fi if [ -c /dev/cuaU0 ]; then echo " u: Start wipe-out on serial console (USB adaptor, ucom0)" fi echo " 2: Start interactive shell, stay in Native console (non Japanese)" prompt="# Just press ENTER to select default mode" count=9 while [ $count -gt 0 ]; do echo -e "\r$prompt[$count] \c" if read -t 1 keyin 1>/dev/null 2>&1 ; then count=0 fi count=$(( $count - 1 )) done case x"$count" in x0) echo -e "\r$prompt[0] 0" keyin=0 ;; esac echo -n "kon2start with keyin = $keyin, " >> $LOGFIL date >> $LOGFIL case x"$keyin" in x0) export KON2MODE=default /wipeout/shell-on /dev/ttyv1 /usr/local/bin/kon -e /wipeout/startup.sh < /dev/ttyv0 ;; x2) /bin/sh -i ;; xc) export TTY=comconsole.cuau0 dmesg > /dev/cuau0 /wipeout/shell-on /dev/cuau0 /bin/sh /wipeout/startup.sh ;; xu) export TTY=comconsole.cuaU0 dmesg > /dev/cuaU0 /wipeout/shell-on /dev/cuaU0 /bin/sh /wipeout/startup.sh ;; *) export KON2MODE=FIXed /wipeout/shell-on /dev/ttyv1 /usr/local/bin/kon2fixed FIX -e /wipeout/startup.sh < /dev/ttyv0 ;; esac exit 0 # EOF n[hfBXNc[uwipe-outvo[W 1.3 Copyright (C) 2013 by ܁ Ẽc[́AIy[eBOVXeɁuFreeBSDv𗘗pĂ܂B Ẽc[́A{R\[ukon2v𗘗pĂ܂B Ẽc[́A{tHgɁuςtHgv𗘗pĂ܂B Ej[\ɂ́AuFreeBSDv́udialog(1)vR}h𗘗pĂ܂B ȊOɂuFreeBSDvɕte\tgEFA𗘗pĂ܂B Ẽc[́AFreeBSD/i386삷Rs[^ŗpł܂B Ẽc[Ńf[^łn[hfBXNiXg[WfoCXj ̂ƂłB EFreeBSD 8.3R̃CXg[pJ[lň̂̂A ȉ̏𖞂 EJ[lɃfoCXhCogݍ܂ĂC^[tFCX ɐڑꂽn[hfBXNiXg[WfoCXj EATAfBXNRg[hCo ata(4) ň EʓIATA/IDEC^[tFCX̃n[hfBXN ESCSI_CNgANZXfoCXhCo da(4) ň EʓISCSIC^[tFCX̃n[hfBXN ESCSIRg[ɐڑꂽMOiCfBXNj ZN^TCY512oCĝ EFreeBSDňRAIDRg[iasr(4) Ȃǁj ڑꂽn[hfBXN EUSBJ[hA_v^ɐڑ etbVJ[hAUSBtbVȂǂ USBeʃXg[W Ê悤ȃXg[WfoCXɂ͑ΉĂ܂ EFreeBSD 8.3R̃CXg[pJ[lňȂ̂ u[gɐFłȂXg[WfoCX EFreeBSDňȂC^[tFCXɐڑꂽfBXN Eata(4) da(4) foCXhCoňȂ Ẽc[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B n[hfBXNc[uwipe-outv version 1.3 ` ȒPŃn[hfBXÑf[^ ` Copyright (C) 2013 by Dai ISHIJIMA ͂߂ p\Ȑn⏈ɁAn[hfBXÑf[^ꂸ cĂ邱ƂŁAlƏȂǂRk邱Ƃ ƂȂĂ܂B ́un[hfBXNc[wwipe-outxvgƁAȒPɁA ˆSɁAn[hfBXNɋL^Ăf[^邱Ƃ ł܂B̃c[́An[hfBXNɃf[^㏑邱Ƃ āAL^Ăf[^܂B CD̒g CD̓u[^uCDłBp\RCDDVDhCuN 悤ɐݒ肵ACDNƁAuwipe-outv܂B fBXÑf[^ CDu[gƁÂ悤ȃj[ʂ\܂B n[hfBXN̖Oe (̗ł́u/dev/ad0 vu4,294,967,296 oCg (4.0G)v) ́Aۂɂg̃n[h fBXN̏񂪕\܂B +---------------- n[hfBXNc[wwipe-outx ----------------+ | Cj[ | | ݑI𒆂̃fBXN /dev/ad0 łB | | fBXN̗eʂ 4,294,967,296 oCg (4.0G) łB | | ȉ̃j[珈IĂB | | | | +------------------------------------------------------------------+ | | | z 0㏑āÃfBXÑf[^ | | | | h @̊Tv\ | | | | n ㏑āÃfBXÑf[^Oɏ | | | | m Ȍ㏑@I | | | | v f[^ꂽmF (^ꕔ`FbN) | | | | V f[^ꂽmF (ʏ^S`FbN) | | | | w OfBXNɏ | | | | L L^tbs[ɏo | | | +-----v(+)---------------------------------------------------------+ | | | +----------------------------------------------------------------------+ | [ OK ] Cancel | +----------------------------------------------------------------------+ ŁAn[hfBXN̖OeʂAf[^n[h fBXN̂̂ł邩ǂmFĂB̃n[hfBX Ñf[^ꍇ́Au0㏑āÃfBXÑf[ ^vnCCgĂԂŃG^[L[Ă (ȉȂuIvƏ̂܂)B ̃j[Łu0㏑āÃfBXÑf[^v IƁÂ悤ɊmFbZ[W\܂B fBXN ad0 Sf[^ 4,294,967,296 oCgA 0ŏ㏑ď܂B 낵ł? [ Yes ] No f[^ꍇ́AŁuYesvIĂBuYesv IƁAɂ‚Aȉ̊mFbZ[W\܂B {ad0 (4.0G) ̃f[^Ăł? [ Yes ] No f[^ꍇ́AēxuYesvIĂBuNov Iƍŏ̃j[ɖ߂܂BuYesvIƃf[^ ̏n܂܂B f[^̏́Â悤ɐi󋵂\܂B fBXN ad1 ̃f[^Ă܂B 25% (1024/4096) I ^ 21b o c 悻128b 0%|############______________________________________|100% ʂ̍ʼnsɂ́Â悤ɏݑx\܂B 33554432 bytes transferred in 1.307584 secs (25661396 bytes/sec) f[^̏ɗv鎞Ԃ́Ag̃n[hfBXN̗eʂp\ RɂĈقȂ܂Bn[hfBXN̗eʂAp\R x΁Aɗv鎞Ԃ͒ZȂ܂B f[^̏IƁA fBXÑf[^I܂ (230b) [OK] ƂbZ[W\܂BŁAG^[L[ƁA ̃j[ɖ߂܂B @ɂ‚ Cj[u@̊Tv\vIƁA Pȑ@̐\܂B ȊȎɂ‚ Cj[ŏ㉺J[\L[ƁAʂ̍ڂnCCg 邱Ƃł܂BCj[ɂ8‚̑I\ ܂񂪁A㉺J[\L[ƃXN[ɂAe푀상 j[\܂Bun[hfBXNc[wwipe-outxv ́Af[^ȊOɂAĂ邩ǂ̊mFAL^ ݁An[hfBXÑRs[AVF̋NAċNAVbg _EȂǂ̑상j[pӂĂ܂BȉɃCj[ Ił鑀̈ꗗ܂B E0㏑āÃfBXÑf[^ E@̊Tv\ E㏑āÃfBXÑf[^Oɏ EȌ㏑@I Ef[^ꂽmFi^ꕔ`FbNj Ef[^ꂽmFiʏ^S`FbNj EOfBXNɏ EL^tbs[ɏo Eʂ̃fBXNI EfBXÑf[^\ Ef[^\ZN^̎w Euwwipe-outxɂ‚āv EÑVXebZ[WmF EfBXNRs[i^obNAbvj EfBXNRs[iᑬ^f[^Tx[Wj E1㏑āÃfBXÑf[^ E_p^[㏑āÃfBXÑf[^ Ep^[̕␔㏑āÃfBXÑf[^ E_f[^㏑āÃfBXÑf[^ EL^\ EfBXN̎Ȑff (SMART) \ EVFishjN EVFicshjN ECD-ROMmount ECD-ROMumount EMBR *̂* EVbg_E EċN Ή@ɂ‚ E{c[́AFreeBSD/i386삷Rs[^ŗpł܂B E{c[Ńf[^łXg[WfoCX͎̂ƂłB EFreeBSD̃J[l (CXg[pCD̃J[l) ň ̂̂Aȉ̏𖞂 EATAfBXNRg[hCo (ata(4)) ň EʓIS-ATA/P-ATAC^[tFCX̃n[hfBXN EASSDhCu ESCSI_CNgANZXfoCXhCo (da(4)) ň EʓISCSIC^[tFCX̃n[hfBXN EFreeBSDňRAIDRg[ (asr(4)) Ȃǂɐڑ ꂽn[hfBXN EUSBJ[hA_v^ɐڑe탁J[hA USBtbVȂǂUSBeʃXg[W ad(4), da(4), asr(4) Ȃǂ̏ڍׂɂ‚ẮAFreeBSD̃}jA y[WȂǂB ̋L^̕ۑɂ‚ un[hfBXNc[wwipe-outxvł́A̋L^ۑ 邱Ƃł܂Bۑ”\ȃfBA̓tbs[fBXNUSB ȂǂłB̋L^ۑ郁fBA (tbs[USB ) ́A炩FATtH[}bgsAuWIPE-OUTvƂ ÕtH_[gfBNgɍ쐬ĂĂB Ƃ E{c[́AOSƂFreeBSD𗘗pĂ܂B E{c[̓t[EFAłB쌠́A҂ł ܁ ۗLĂ܂B E{c[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B Ql EВc@l dqZpYƋ (http://www.jeita.or.jp/japanese/index.htm) up\R̔pEnɂn[hfBXÑf[^ Ɋւ闯ӎv(http://it.jeita.or.jp/perinfo/committee/ pc/JEITA_HDDdata100219F.pdf) {c[̓@ {c[юoíA҂̃EFuTCgŌJĂ܂BA hX http://hp.vector.co.jp/authors/VA004814/ łBKvɉ ă_E[hĂB n[hfBXNc[uwipe-outvv1.3 Copyright (C) 2013 by Dai ISHIJIMA AȂ̃t@Cuwipe-outvN}V Cj[猩邱ƂłƂ΁A]vȐ͕sv ܂B yCj[ł̑z Cj[ʂ̑̊{́A E㉺J[\L[ɂsڂI EG^[L[ɂIڂs łBIĂ鍀ڂ̓nCCg\Ă܂Buwipe- outvŃAu0㏑ācvnCCg\Ă ͂łB Cj[炱̉ʂ\ɂ́AJ[\L[ 񂾂AG^[L[܂Bʂɕ\Ȃ ́A㉺J[\L[xƁAXN[óà ܂B Ƃ΁ACj[ɂ́uċNvƂڂ ܂A͈ԉɉBĂ܂B\ɂ́Ax J[\L[Ă݂ĂB XN[ďɏĂڂ\ɂ́AJ[ \L[ĂB yfBXNɋL^ꂽɂ́z u0㏑ācv̂悤ȁAucvCj[ IAG^[L[ĂB uvsƁAmFʂ\܂B̂ƂA fBXŇ^ԂeʂȂǂ\̂ŁAfBXN 邩ǂmFĂB\ĂemF G^[L[ĂB ŏ̊mFʂŃG^[L[Aēx‚mF ʂłĂ܂B{ɏĂ悢ꍇɂ̂݃G^[L[ ĂB ڂ̊mFʂŃG^[L[Ən܂܂B AfBXN̏ɂ͐琔Ԓx̎Ԃ܂B ͂܂Ă΂炭ƁAc菊vԂ̗\l\ ܂B IAɂԂ\܂B G^[L[ƁACj[ɖ߂܂B ȂAuŏI邱Ƃ͂蓾Ȃ͂łB̏ ́A{\tguwipe-outṽoO܂Buf[^ ꂽmFvIŖ{ɏmFĂB yL^ۑɂ́z {\tguwipe-outv̋Ɗꂽꍇ́A Cj[uL^tbs[ɏovIł Bj[ɏĂƂAL^tbs[ L^ł܂B L^ۑ邱Ƃł̂́Atbs[ł͂ ܂BUSBȂǂ̃fBApł܂BȂA L^ۑtbs[iUSBjɂ́A炩 u\WIPE-OUT\vƂtH_쐬ĂĂB yCj[ɖ߂ɂ́z ̉ʂ‚ăCj[ɖ߂ɂ́AG^[L[ ĂB n[hfBXNc[uwipe-outvv1.3 Copyright (C) 2013 by Dai ISHIJIMA # vt100|dec-vt100|vt100-am|vt100am|dec vt100:\ :do=2\E[B:co#80:li#24:cl=50\E[H\E[J:sf=2*\ED:\ :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:\ :ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\ :md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:\ :is=\E>\E[?1;3;4;5l\E[?7;8h\E[1;24r\E[24;1H:\ :if=/usr/share/tabset/vt100:nw=2\EE:ho=\E[H:\ :as=2\E(0:ae=2\E(B:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||:\ :rs=\E>\E[?1;3;4;5l\E[?7;8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\ :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=\177:\ :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:\ :k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:@8=\EOM:\ :K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:pt:sr=2*\EM:xn:\ :sc=2\E7:rc=2\E8:cs=5\E[%i%d;%dr:UP=2\E[%dA:DO=2\E[%dB:RI=2\E[%dC:\ :LE=2\E[%dD:ct=2\E[3g:st=2\EH:ta=^I:ms:bl=^G:cr=^M:eo:it#8:\ :RA=\E[?7l:SA=\E[?7h: # vt100-color|vt100-co|vt100 emulator with ANSI colors:\ :pa#64:Co#8:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m\E[m:tc=vt100: # kons25jx|kon3jx|jkons3jx|kons24-jis1983-j:ac=q\055x\174:tc=vt100-color /* * disksize -- fBXÑWIg擾 * * revision history * diskinfo: * 0.0: Sep. 6, 2002 by Dai ISHIJIMA (Ƃ肠o[W) * 0.1: Oct. 21, 2002 * 0.2: Apr. 28, 2004 * 0.3: May 1, 2004 * 0.4: May 30, 2004 * 0.5: Jun. 19, 2004 * 0.6: Aug. 5, 2006 (ƏC) * 0.7: Aug. 12, 2006 (L̉P) * disksize: * 0.9: Sep. 12, 2007 (exit(3)̐錾, p[^擾@ύX) * 1.0: Oct. 2, 2007 (MoCgPʂł̕\) * * Ql: * fdisk(8) ̃\[X (/usr/src/sbin/i386/fdisk/fdisk.c) * wpout09ȍ~ (/usr/src/sbin/fdisk/fdisk.c), diskinfo(8) */ #include #include #include #include #include #define SHOW_CYLS 1 #define SHOW_HEAD 2 #define SHOW_SECS 4 #define SHOW_BYTES 8 #define SHOW_BYTES_WITH_UNITS 16 #define SHOW_BLOCKS 32 #define SHOW_BYTES_WITH_COMMA 64 #define SHOW_MEGABYTES 128 #define shift --argc; ++argv #define DFLT_DISK "/dev/ad0" #define EOS '\0' #define NEWLINE '\n' #ifndef BUFSIZ #define BUFSIZ 512 #endif #define MEGABYTES (1024 * 1024) /* l𕶎ɕϊ */ char *num2str(long long d, char *s) { int p; int q; int ch; p = 0; do { s[p] = '0' + (d % 10); ++p; d /= 10; } while (d > 0); s[p] = EOS; for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* l𕶎ɕϊ */ char *num2commastr(long long d, char *s) { int p; int q; int n; int ch; p = 0; n = 0; do { if ((n > 0) && ((n % 3) == 0)) { s[p] = ','; ++p; } s[p] = '0' + (d % 10); ++p; ++n; d /= 10; } while (d > 0); s[p] = EOS; for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* ꕶo */ void putch(int fd, unsigned char ch) { write(fd, &ch, 1); } /* o */ void myputs(int fd, char *s) { while (*s) { putch(fd, *s); ++s; } } int main(int argc, char *argv[]) { char *disk; char s[BUFSIZ]; int show; int fd; off_t mediasize, blocks; unsigned long secsiz, nsecs, nhead, ncyls; unsigned char units[] = { 'k', 'M', 'G', 'T', EOS }; int p; off_t m; int fraction; show = 0; shift; while ((argc > 0) && (argv[0][0] == '-')) { if (argv[0][1] == 'c') { show |= SHOW_CYLS; } else if (argv[0][1] == 'h') { show |= SHOW_HEAD; } else if (argv[0][1] == 's') { show |= SHOW_SECS; } else if (argv[0][1] == 'b') { show |= SHOW_BYTES; } else if (argv[0][1] == 'm') { /* MoCgPʂ */ show |= SHOW_MEGABYTES; } else if (argv[0][1] == 'B') { /* oCgR}؂ */ show |= SHOW_BYTES_WITH_COMMA; } else if (argv[0][1] == 'p') { /* KɒPʕtBk, M, G, etc. */ show |= SHOW_BYTES_WITH_UNITS; } else if (argv[0][1] == 'l') { show |= SHOW_BLOCKS; } else { myputs(STDERR_FILENO, "Usage: diskinfo [-chsbBpl] [device]\n"); exit(1); } shift; } if (show == 0) { show = SHOW_CYLS | SHOW_HEAD | SHOW_SECS; } if (argc > 0) { disk = *argv; } else { disk = DFLT_DISK; } if ((fd = open(disk, O_RDONLY)) < 0) { myputs(STDERR_FILENO, "diskinfo: unable to open disk "); myputs(STDERR_FILENO, disk); putch(STDERR_FILENO, NEWLINE); exit(1); } /* FreeBSD 5.1ȍ~炢Łuioctl(fd, DIOCGDINFO, &disklabel)v*/ /* gȂȂ? */ if (ioctl(fd, DIOCGSECTORSIZE, &secsiz) != 0) { myputs(STDERR_FILENO, "diskinfo: can't get sectorsize\n"); exit(1); } if (ioctl(fd, DIOCGMEDIASIZE, &mediasize) != 0) { myputs(STDERR_FILENO, "diskinfo: can't get mediasize\n"); exit(1); } if (ioctl(fd, DIOCGFWSECTORS, &nsecs) != 0) { myputs(STDERR_FILENO, "diskinfo: can't get number of sectors\n"); exit(1); } if (ioctl(fd, DIOCGFWHEADS, &nhead) != 0) { myputs(STDERR_FILENO, "diskinfo: can't get number of heads\n"); exit(1); } blocks = mediasize / secsiz; ncyls = mediasize / (secsiz * nhead * nsecs); if (show & SHOW_BLOCKS) { num2str(blocks, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_BYTES) { num2str(mediasize, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_MEGABYTES) { num2str((mediasize + MEGABYTES - 1) / MEGABYTES, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_BYTES_WITH_COMMA) { num2commastr(mediasize, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_BYTES_WITH_UNITS) { m = mediasize / 1024; p = 0; fraction = 0; while ((m > 1000) && (units[p] != EOS)) { fraction = ((m * 10) / 1024) % 10; m /= 1024; ++p; } num2str(m, s); myputs(STDOUT_FILENO, s); if (m < 10) { putch(STDOUT_FILENO, '.'); num2str(fraction, s); myputs(STDOUT_FILENO, s); } putch(STDOUT_FILENO, units[p]); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_CYLS) { num2str(ncyls, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_HEAD) { num2str(nhead, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_SECS) { num2str(nsecs, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -s -o disksize disksize.c" */ /* End: */ /* * stuff -- n[hfBXN̂߂̋lߕf[^쐬 * * revision history: * 0.0: Apr. 30, 2004 by Dai ISHIJIMA * 0.1: May 1, 2004 * 0.2: Jun. 28, 2006 (_p^[Ƃ̕␔) */ #include #include #include #include #include #define BSIZ 1024 #define STDIN 0 #define STDOUT 1 #define STDERR 2 #define NEWLINE '\n' #define ZERO 'z' #define FILL 'f' #define RAND 'r' #define GENERATE 'g' #define PATTERN 'p' #define INVERT 'q' #define shift --argc; ++argv #define swap(t,a,b) {t _swap_tmp; _swap_tmp=(a); a=b; b=_swap_tmp;} /* ꕶo */ void putch(int fd, unsigned char ch) { write(fd, &ch, 1); } /* o */ void myputs(int fd, char *s) { while (*s) { putch(fd, *s); ++s; } } /* Ńf[^܂ */ void stair(int len, unsigned char *buf) { int i, n; for (i = 0; i < len; i++) { n = random() & (len - 1); /* len 2^n Ɖ */ swap(unsigned char, buf[i], buf[n]); } } /* ݗpf[^̏ */ void init(int len, unsigned char *buf, int mode) { int i; if (mode == ZERO) { for (i = 0; i < len; i++) { buf[i] = 0; } } else if (mode == FILL) { for (i = 0; i < len; i++) { buf[i] = 0xff; } } else if ((mode == RAND) || (mode == GENERATE)) { srandom(time(NULL)); for (i = 0; i < len; i++) { buf[i] = i; } stair(len, buf); } else if (mode == PATTERN) { read(STDIN, buf, BSIZ); } else if (mode == INVERT) { read(STDIN, buf, BSIZ); for (i = 0; i < len; i++) { buf[i] = ~buf[i]; } } else { /* ɂ͗Ȃ͂ */ myputs(STDERR, "stuff: unknown mode: "); putch(STDERR, mode); putch(STDERR, NEWLINE); exit(1); } } /* R}hCwɊÂāA0, 1, _f[^o */ int main(int argc, char *argv[]) { int mode; unsigned char buf[BSIZ]; mode = ZERO; shift; while ((argc > 0) && (argv[0][0] == '-')) { if ((argv[0][1] == '0') || (argv[0][1] == 'z')) { /* 0 o */ mode = ZERO; } else if ((argv[0][1] == '1') || (argv[0][1] == 'f')) { /* 1 o */ mode = FILL; } else if ((argv[0][1] == 'R') || (argv[0][1] == 'r')) { /* _f[^o */ mode = RAND; } else if ((argv[0][1] == 'G') || (argv[0][1] == 'g')) { /* _p^[𐶐 */ mode = GENERATE; } else if ((argv[0][1] == 'P') || (argv[0][1] == 'p')) { /* p^[JԂo */ mode = PATTERN; } else if ((argv[0][1] == 'Q') || (argv[0][1] == 'q')) { /* p^[̕␔JԂo */ mode = INVERT; } else { myputs(STDERR, "Usage: stuff [-[01Rzfrgpq]]\n"); exit(1); } shift; } if (argc > 0) { myputs(STDERR, "Usage: stuff [-[01Rzfrgpq]]\n"); exit(1); } init(BSIZ, buf, mode); if (mode == GENERATE) { write(STDOUT, buf, BSIZ); } else { for (;;) { if (mode == RAND) { stair(BSIZ, buf); } write(STDOUT, buf, BSIZ); } } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -s -static -o stuff stuff.c" */ /* End: */ /* * tinydate.c * */ #include #include #include #include #define USE_CTIME #define EOS '\0' #define NEWLINE '\n' #ifndef BUFSIZ #define BUFSIZ 512 #endif /* l𕶎ɕϊ */ char *num2str(long long d, char *s) { int p; int q; int ch; p = 0; do { s[p] = '0' + (d % 10); ++p; d /= 10; } while (d > 0); s[p] = EOS; for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* ꕶo */ void putch(int fd, unsigned char ch) { write(fd, &ch, 1); } /* o */ void myputs(int fd, char *s) { while (*s) { putch(fd, *s); ++s; } } int main(int argc, char *argv[]) { char s[BUFSIZ]; time_t t; #ifdef USE_LOCALTIME struct tm *lt; #endif if ((argc > 1) && (argv[1][0] == '-')) { #ifdef USE_CTIME t = time(NULL); myputs(STDOUT_FILENO, ctime(&t)); #endif #ifdef USE_LOCALTIME t = time(NULL); lt = localtime(&t); num2str(lt->tm_year + 1900, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, '-'); num2str(lt->tm_mon + 1, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, '-'); num2str(lt->tm_mday, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, ' '); num2str(lt->tm_hour, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, ':'); num2str(lt->tm_min, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, ':'); num2str(lt->tm_sec, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, ':'); #endif } else { num2str(time(NULL), s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -s -static -o tinydate tinydate.c" */ /* End: */ /* * tinydump -- 512oCg16i_v * * revision history: * 0.0: Jul. 7, 2005 by Dai ISHIJIMA * 0.1: Sep. 12, 2007 (for wpout09, FreeBSD 6.2R) * 0.2: Apr. 18, 2009 (for wpout09, FreeBSD 7.1R, unsigned char) */ #include #include #include #include #include #define EOS '\0' #define BLKSIZ 512 #define NCOLS 16 /* l𕶎ɕϊ */ unsigned char *num2str(long long d, unsigned char *s) { int p; int q; int ch; p = 0; do { s[p] = '0' + (d % 10); ++p; d /= 10; } while (d > 0); s[p] = EOS; for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* l𕶎ɕϊ */ unsigned char *num2hex(long long d, int cols, unsigned char *s) { int p; int q; int ch; p = 0; do { s[p] = '0' + (d % 16); if (s[p] > '9') { s[p] += ('a' - '9' - 1); } ++p; d /= 16; } while (d > 0); while (p < cols) { s[p] = '0'; ++p; } s[p] = EOS; /* Ђ肩 */ for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* ꕶo */ void putch(int fd, unsigned char ch) { write(fd, &ch, 1); } /* o */ void myputs(int fd, unsigned char *s) { while (*s) { putch(fd, *s); ++s; } } int main() { unsigned char s[BLKSIZ]; unsigned char t[BLKSIZ]; int i, j; read(STDIN_FILENO, s, BLKSIZ); for (i = 0; i < BLKSIZ; i += NCOLS) { num2hex(i, 3, t); myputs(STDOUT_FILENO, t); myputs(STDOUT_FILENO, " "); for (j = 0; j < NCOLS; j++) { if (j == NCOLS / 2) { putch(STDOUT_FILENO, ' '); } num2hex(s[i + j], 2, t); myputs(STDOUT_FILENO, t); putch(STDOUT_FILENO, ' '); } myputs(STDOUT_FILENO, " "); for (j = 0; j < NCOLS; j++) { if ((0x20 < s[i + j]) && (s[i + j] < 0x7f)) { putch(STDOUT_FILENO, s[i + j]); } else { putch(STDOUT_FILENO, '.'); } } putch(STDOUT_FILENO, '\n'); } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -s -static -o tinydump tinydump.c" */ /* End: */ /* * check -- f[^Ă邩ׂ * * revision history: * 0.0: Oct. 26, 2001 by Dai ISHIJIMA * 0.1: May 1, 2004 * 0.2: Jul. 7, 2005 * 0.3: Sep. 12, 2007 (for wpout09, FreeBSD 6.2R) */ #include #include #include #include #include #define YES 1 #define NO 0 #define EOS '\0' #ifndef BUFSIZ #define BUFSIZ 512 #endif #define ERROR 5 #define OK 0 #define ONE 1 #define NONZERO 2 #define shift --argc; ++argv /* l𕶎ɕϊ */ char *num2str(long long d, char *s) { int p; int q; int ch; p = 0; do { s[p] = '0' + (d % 10); ++p; d /= 10; } while (d > 0); s[p] = EOS; for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* ꕶo */ void putch(int fd, unsigned char ch) { write(fd, &ch, 1); } /* o */ void myputs(int fd, char *s) { while (*s) { putch(fd, *s); ++s; } } int main(int argc, char *argv[]) { char s[BUFSIZ]; unsigned char buf[BUFSIZ]; unsigned char last; int n; int i, j; int verbose = YES; shift; while ((argc > 0) && (argv[0][0] == '-')) { if (argv[0][1] == 'v') { verbose = YES; } else if (argv[0][1] == 's') { verbose = NO; } else { myputs(STDERR_FILENO, "Usage: check [-v|-s]\n"); exit(1); } shift; } last = 0; i = 0; while ((n = read(STDIN_FILENO, buf, BUFSIZ)) > 0) { if ((i > 0) && (last != buf[0])) { if (verbose) { myputs(STDOUT_FILENO, "not erased at "); num2str(i, s); myputs(STDOUT_FILENO, s); myputs(STDOUT_FILENO, "\n"); } exit(ERROR); } ++i; for (j = 1; j < n; j++) { if (buf[j] != buf[j - 1]) { if (verbose) { myputs(STDOUT_FILENO, "not erased at "); num2str(i, s); myputs(STDOUT_FILENO, s); myputs(STDOUT_FILENO, "\n"); } exit(ERROR); } ++i; } last = buf[n - 1]; } if (verbose) { num2str(i, s); myputs(STDOUT_FILENO, s); } if (last == 0x00ff) { if (verbose) { myputs(STDOUT_FILENO, " bytes erased with 1\n"); } exit(ONE); } if (last != 0) { if (verbose) { myputs(STDOUT_FILENO, " bytes may be erased, but not zero\n"); } exit(NONZERO); } if (verbose) { myputs(STDOUT_FILENO, " bytes erased with 0\n"); } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -static -o check check.c" */ /* End: */ /* * makembr -- O𖄂߂MBR𐶐 * * revision history: * 0.0: Aug. 1, 2006 by Dai ISHIJIMA (for wpout07) * 0.1: Sep. 12, 2007 (for wpout09, FreeBSD 6.2R) */ #include #include #include #include #define STDIN 0 #define STDOUT 1 #define STDERR 2 #ifndef EOF #define EOF -1 #endif #define NEWLINE '\n' #define CRET '\r' #define MBRSIZ 512 #define MESGLEN 398 #define TBLOFF 0x01be #define MESG (TBLOFF - MESGLEN) #define MAXLINE 50 /* ꕶ */ int getch(int fd) { unsigned char ch; if (read(fd, &ch, 1) <= 0) { return(EOF); } return(ch); } int main() { unsigned char mbrbuf[MBRSIZ]; int ch; int len; int pos; /* Ƃ肠512oCgǂ */ read(STDIN, mbrbuf, MBRSIZ); /* ̎炪ރO */ len = 0; pos = 0; while ((len < MESGLEN) && ((ch = getch(STDIN)) != EOF)) { if (ch == NEWLINE) { mbrbuf[MESG + len] = CRET; ++len; mbrbuf[MESG + len] = NEWLINE; ++len; pos = 0; } else if (pos < MAXLINE) { mbrbuf[MESG + len] = ch; ++len; ++pos; } else if (pos == MAXLINE) { mbrbuf[MESG + len] = '.'; ++len; ++pos; mbrbuf[MESG + len] = '.'; ++len; ++pos; mbrbuf[MESG + len] = '.'; ++len; ++pos; } } if (len < MESGLEN) { mbrbuf[MESG + len] = 0; } write(STDOUT, mbrbuf, MBRSIZ); exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -s -static -o makembr makembr.c" */ /* End: */ # # wpout-mbr -- n[hfBXNL^\ # ## 0.0: Jul. 24, 2006 by Dai ISHIJIMA (for wpout07) ## 0.1: Sep. 12, 2007 (for wpout09, FreeBSD 6.2R) # # 16rbgpR[h𐶐 .code16 .arch i8086 .set START, 0x0000 .set LOAD, 0x7c00 # vO[hꏊ .set TBLOFF, 0x01be # p[eBVe[u .set BOOTMAGIC, 0xAA55 # u[gZN^}WbNio[ .set MESGLEN, 398 # ێ郁bZ[W̒ .set PARTBL, START + TBLOFF .set MESG, START + TBLOFF - MESGLEN .set MESGADDR, LOAD + TBLOFF - MESGLEN .set VIDEOBIOS, 0x10 # rfIBIOS (INT 10H) .set PUTCHAR, 0x0e # (e^Cv) o .set VIDEOATTR, 7 # rfIBIOSɓnAgr[gp[^ .set KEYBIOS, 0x16 # L[{[hBIOS .set GETCHAR, 0x00 # ꕶ .set RETKEY, 0x0d # G^[L[ .globl start start: # Ƃ肠荞݂֎~ cli # X^bN 0000:7c00 ɐݒ xorw %ax, %ax movw %ax, %ss movw $LOAD, %sp # ZOgWX^ 0000 ɁBCS ͕ύXsv?? push %ax pop %ds push %ax pop %es # Ŋ荞݂ sti # ̃vO炳Ƀu[gXgbvǂ񂾂͂Ȃ̂ŁA # vOP[gƂ͂Ȃ main: # bZ[W\ movw $MESGADDR, %si disp: # ASCIZꕶBIOSR[ŕ\ lodsb # ꕶo testb %al, %al # NULLȂ\I jz keywait # ̕\IL[͑҂ push %si movw $VIDEOATTR, %bx movb $PUTCHAR, %ah int $VIDEOBIOS # rfIBIOSR[ĕ\ pop %si jmp disp keywait: # L[{[ĥ҂ movb $GETCHAR, %ah int $KEYBIOS cmpb $RETKEY, %al jnz keywait # Zbg FFFF:0000 ɃWv(?) ljmp $0xFFFF,$0x0000 # \郁bZ[W .org MESG mesg: # ̋Lu̓e͂킢ՂŏꂽȂ :-) .ascii "The contents of this storage device \r\n" .ascii "may have been erased \r\n" .ascii "with hard disk wiping tool " .ascii "``wipe-out''.\r\n" .ascii "ABSOLUTELY NO WARRANTY.\r\n" .byte 0 # ̃p[eBVe[uƃ}WbN .org PARTBL ptable: .fill 0x10, 0x04, 0x00 .word BOOTMAGIC # # AZu@ # as -o wpout-mbr.o wpout-mbr.s # ld -N -e start -Ttext 0 -o wpout-mbr.out wpout-mbr.o # objcopy -S -O binary wpout-mbr.out wpout-mbr.boot # rm wpout-mbr.o wpout-mbr.out # # ܂ /* * shell-on -- w肵ttyŃVFN * * 0.0: May 5, 2014 by Dai ISHIJIMA * * usage: * shell-on tty [command [args]...] * * see also: * /usr/src/usr.sbin/sysinstall/system.c */ #include #include #include #include #include #include /* login_tty(3), -lutil */ #include #include int main(int argc, char *argv[]) { int pid; char *tty; int fd; int i; char *prog; char *shell; char **args; prog = argv[0]; if (argc <= 1) { fprintf(stderr, "Usage: %s tty [command [arg]...]\n", prog); exit(1); } tty = argv[1]; if ((fd = open(tty, O_RDWR)) < 0) { fprintf(stderr, "%s: can't open %s\n", prog, tty); exit(1); } close(fd); args = (char **)calloc(argc, sizeof(char *)); if (argc <= 2) { /* IvVȂVF */ shell = "sh"; args[0] = "-sh"; args[1] = NULL; } else { shell = argv[2]; for (i = 0; i < argc - 2; i++) { args[i] = argv[2 + i]; } args[i] = NULL; } #ifdef EBUG fprintf(stderr, "%s: tty = %s, shell = %s\n", prog, tty, shell); i = 0; while (args[i] != NULL) { fprintf(stderr, "%s\n", args[i]); ++i; } #endif if ((pid = fork()) == 0) { /* q */ int cfd; int fd; struct termios t; ioctl(0, TIOCNOTTY, NULL); for (cfd = 0; cfd < getdtablesize(); cfd++) { close(cfd); } if ((fd = open(tty, O_RDWR)) < 0) { exit(1); } ioctl(0, TIOCSCTTY, &fd); dup2(0, 1); dup2(0, 2); if (login_tty(fd) < 0) { exit(1); } signal(SIGTTOU, SIG_IGN); if (tcgetattr(fd, &t) < 0) { fprintf(stderr, "unable to get terminal attributes\n"); } else { t.c_cc[VERASE] = '\010'; if (tcsetattr(fd, TCSANOW, &t) < 0) { fprintf(stderr, "unable to set terminal attributes\n"); } } execvp(shell, args); fprintf(stderr, "unable to execute sh\n"); exit(1); } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -o shell-on shell-on.c -lutil" */ /* End: */ <fjQPS1Pjf1ɎَѼ|}r,`|uuƀrIᾢ}K1҉ .w ޿)Itduddu`PDL Zs*}}0r4u.t"rURAZrUu tBRZrˀ?tfFRff1fC0fZf=w@(f8r^P[s Ot0FsF ^(FwReadBoot error PUWEVamnesiac>WEV_ BTX 1мfjf^)GG^╬s uU}EEEfh (֕Е @"ꌐ1ɱѱ8ٺ6 -)б3QPhj+5 QQQQRja %"1"Еf юَH" 1Ўػpܕtr4!PP 栈!桰!桰!XX!j4j0j,j(j$j jj j j j j j j4$D$`f|$Dut$Pt$PjWD^d$a<$t<$u D$ud$π j>j :j 6j 2j .j *j&j"jpjqjrjsjtju jvjwj`jt$D%]Fu-^+]BR^u%1҉] j"uT$0taf] ]~Vq^^]6]]f "1؎ܕfffffa]ϼ]f`fffff1؎֕Е @"e1ɱюَ%]t$D%͕8ك=]tI~V]3 ]y5]ʹ^Rt ]fFaσuD$ `X6 tŰ=VtfvtatJCPu fu6 ЖFt -t t  u^ u pPXPX$< i/ u`1ɴPf 8cuf1< tPЀfBPr0ƀrf Pffajj$rSi$rSj$rSi$rSHF]j$rSi$rSj$rSi$rS " j$rSi$rSj$rSi$rSi>@ j$rSi$rSj$rSi$rSb;wAj$rSi$rSj$rSi$rS<^p8T-+! ;XeYDYi1T.Q2]$*H`V2^\^R Wy YȚNj{?vuD=g }SAPfX#\@ ܎ 7~@Pq!* K=FAd`3Lzh a؅xw_Vc# $FreeBSD: src/COPYRIGHT,v 1.11.2.4.2.1 2012/03/03 06:15:13 kensmith Exp $ # @(#)COPYRIGHT 8.2 (Berkeley) 3/21/94 The compilation of software known as FreeBSD is distributed under the following terms: Copyright (c) 1992-2012 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The 4.4BSD and 4.4BSD-Lite software is distributed under the following terms: All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite Releases is copyrighted by The Regents of the University of California. Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The Institute of Electrical and Electronics Engineers and the American National Standards Committee X3, on Information Processing Systems have given us permission to reprint portions of their documentation. In the following statement, the phrase ``this text'' refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the second BSD Networking Software Release, from IEEE Std 1003.1-1988, IEEE Standard Portable Operating System Interface for Computer Environments (POSIX), copyright C 1988 by the Institute of Electrical and Electronics Engineers, Inc. In the event of any discrepancy between these versions and the original IEEE Standard, the original IEEE Standard is the referee document. In the following statement, the phrase ``This material'' refers to portions of the system documentation. This material is reproduced with permission from American National Standards Committee X3, on Information Processing Systems. Computer and Business Equipment Manufacturers Association (CBEMA), 311 First St., NW, Suite 500, Washington, DC 20001-2178. The developmental work of Programming Language C was completed by the X3J11 Technical Committee. The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the Regents of the University of California. NOTE: The copyright of UC Berkeley's Berkeley Software Distribution ("BSD") source has been updated. The copyright addendum may be found at ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change and is included below. July 22, 1999 To All Licensees, Distributors of Any Version of BSD: As you know, certain of the Berkeley Software Distribution ("BSD") source code files require that further distributions of products containing all or portions of the software, acknowledge within their advertising materials that such products contain software developed by UC Berkeley and its contributors. Specifically, the provision reads: " * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors." Effective immediately, licensees and distributors are no longer required to include the acknowledgement within advertising materials. Accordingly, the foregoing paragraph of those BSD Unix files containing it is hereby deleted in its entirety. William Hoskins Director, Office of Technology Licensing University of California, Berkeley n[hfBXNc[uwipe-outvo[W 1.3 Copyright (C) 2013 by ܁ Ẽc[́AIy[eBOVXeɁuFreeBSDv𗘗pĂ܂B Ẽc[́A{R\[ukon2v𗘗pĂ܂B Ẽc[́A{tHgɁuςtHgv𗘗pĂ܂B Ej[\ɂ́AuFreeBSDv́udialog(1)vR}h𗘗pĂ܂B ȊOɂuFreeBSDvɕte\tgEFA𗘗pĂ܂B Ẽc[́AFreeBSD/i386삷Rs[^ŗpł܂B Ẽc[Ńf[^łn[hfBXNiXg[WfoCXj ̂ƂłB EFreeBSD 8.3R̃CXg[pJ[lň̂̂A ȉ̏𖞂 EJ[lɃfoCXhCogݍ܂ĂC^[tFCX ɐڑꂽn[hfBXNiXg[WfoCXj EATAfBXNRg[hCo ata(4) ň EʓIATA/IDEC^[tFCX̃n[hfBXN ESCSI_CNgANZXfoCXhCo da(4) ň EʓISCSIC^[tFCX̃n[hfBXN ESCSIRg[ɐڑꂽMOiCfBXNj ZN^TCY512oCĝ EFreeBSDňRAIDRg[iasr(4) Ȃǁj ڑꂽn[hfBXN EUSBJ[hA_v^ɐڑ etbVJ[hAUSBtbVȂǂ USBeʃXg[W Ê悤ȃXg[WfoCXɂ͑ΉĂ܂ EFreeBSD 8.3R̃CXg[pJ[lňȂ̂ u[gɐFłȂXg[WfoCX EFreeBSDňȂC^[tFCXɐڑꂽfBXN Eata(4) da(4) foCXhCoňȂ Ẽc[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B AȂ̃t@Cuwipe-outvN}V Cj[猩邱ƂłƂ΁A]vȐ͕sv ܂B yCj[ł̑z Cj[ʂ̑̊{́A E㉺J[\L[ɂsڂI EG^[L[ɂIڂs łBIĂ鍀ڂ̓nCCg\Ă܂Buwipe- outvŃAu0㏑ācvnCCg\Ă ͂łB Cj[炱̉ʂ\ɂ́AJ[\L[ 񂾂AG^[L[܂Bʂɕ\Ȃ ́A㉺J[\L[xƁAXN[óà ܂B Ƃ΁ACj[ɂ́uċNvƂڂ ܂A͈ԉɉBĂ܂B\ɂ́Ax J[\L[Ă݂ĂB XN[ďɏĂڂ\ɂ́AJ[ \L[ĂB yfBXNɋL^ꂽɂ́z u0㏑ācv̂悤ȁAucvCj[ IAG^[L[ĂB uvsƁAmFʂ\܂B̂ƂA fBXŇ^ԂeʂȂǂ\̂ŁAfBXN 邩ǂmFĂB\ĂemF G^[L[ĂB ŏ̊mFʂŃG^[L[Aēx‚mF ʂłĂ܂B{ɏĂ悢ꍇɂ̂݃G^[L[ ĂB ڂ̊mFʂŃG^[L[Ən܂܂B AfBXN̏ɂ͐琔Ԓx̎Ԃ܂B ͂܂Ă΂炭ƁAc菊vԂ̗\l\ ܂B IAɂԂ\܂B G^[L[ƁACj[ɖ߂܂B ȂAuŏI邱Ƃ͂蓾Ȃ͂łB̏ ́A{\tguwipe-outṽoO܂Buf[^ ꂽmFvIŖ{ɏmFĂB yL^ۑɂ́z {\tguwipe-outv̋Ɗꂽꍇ́A Cj[uL^tbs[ɏovIł Bj[ɏĂƂAL^tbs[ L^ł܂B L^ۑ邱Ƃł̂́Atbs[ł͂ ܂BUSBȂǂ̃fBApł܂BȂA L^ۑtbs[iUSBjɂ́A炩 u\WIPE-OUT\vƂtH_쐬ĂĂB yCj[ɖ߂ɂ́z ̉ʂ‚ăCj[ɖ߂ɂ́AG^[L[ ĂB n[hfBXNc[uwipe-outvv1.3 Copyright (C) 2013 by Dai ISHIJIMA  . ...snapboot COPYRIGHTM srcinfo.txtM readme.txthelp.txtM version.txtsjisHimages@ j$rS&%@@x?T n[hfBXNc[uwipe-outv version 1.3 ` ȒPŃn[hfBXÑf[^ ` Copyright (C) 2013 by Dai ISHIJIMA ͂߂ p\Ȑn⏈ɁAn[hfBXÑf[^ꂸ cĂ邱ƂŁAlƏȂǂRk邱Ƃ ƂȂĂ܂B ́un[hfBXNc[wwipe-outxvgƁAȒPɁA ˆSɁAn[hfBXNɋL^Ăf[^邱Ƃ ł܂B̃c[́An[hfBXNɃf[^㏑邱Ƃ āAL^Ăf[^܂B CD̒g CD̓u[^uCDłBp\RCDDVDhCuN 悤ɐݒ肵ACDNƁAuwipe-outv܂B fBXÑf[^ CDu[gƁÂ悤ȃj[ʂ\܂B n[hfBXN̖Oe (̗ł́u/dev/ad0 vu4,294,967,296 oCg (4.0G)v) ́Aۂɂg̃n[h fBXN̏񂪕\܂B +---------------- n[hfBXNc[wwipe-outx ----------------+ | Cj[ | | ݑI𒆂̃fBXN /dev/ad0 łB | | fBXN̗eʂ 4,294,967,296 oCg (4.0G) łB | | ȉ̃j[珈IĂB | | | | +------------------------------------------------------------------+ | | | z 0㏑āÃfBXÑf[^ | | | | h @̊Tv\ | | | | n ㏑āÃfBXÑf[^Oɏ | | | | m Ȍ㏑@I | | | | v f[^ꂽmF (^ꕔ`FbN) | | | | V f[^ꂽmF (ʏ^S`FbN) | | | | w OfBXNɏ | | | | L L^tbs[ɏo | | | +-----v(+)---------------------------------------------------------+ | | | +----------------------------------------------------------------------+ | [ OK ] Cancel | +----------------------------------------------------------------------+ ŁAn[hfBXN̖OeʂAf[^n[h fBXN̂̂ł邩ǂmFĂB̃n[hfBX Ñf[^ꍇ́Au0㏑āÃfBXÑf[ ^vnCCgĂԂŃG^[L[Ă (ȉȂuIvƏ̂܂)B ̃j[Łu0㏑āÃfBXÑf[^v IƁÂ悤ɊmFbZ[W\܂B fBXN ad0 Sf[^ 4,294,967,296 oCgA 0ŏ㏑ď܂B 낵ł? [ Yes ] No f[^ꍇ́AŁuYesvIĂBuYesv IƁAɂ‚Aȉ̊mFbZ[W\܂B {ad0 (4.0G) ̃f[^Ăł? [ Yes ] No f[^ꍇ́AēxuYesvIĂBuNov Iƍŏ̃j[ɖ߂܂BuYesvIƃf[^ ̏n܂܂B f[^̏́Â悤ɐi󋵂\܂B fBXN ad1 ̃f[^Ă܂B 25% (1024/4096) I ^ 21b o c 悻128b 0%|############______________________________________|100% ʂ̍ʼnsɂ́Â悤ɏݑx\܂B 33554432 bytes transferred in 1.307584 secs (25661396 bytes/sec) f[^̏ɗv鎞Ԃ́Ag̃n[hfBXN̗eʂp\ RɂĈقȂ܂Bn[hfBXN̗eʂAp\R x΁Aɗv鎞Ԃ͒ZȂ܂B f[^̏IƁA fBXÑf[^I܂ (230b) [OK] ƂbZ[W\܂BŁAG^[L[ƁA ̃j[ɖ߂܂B @ɂ‚ Cj[u@̊Tv\vIƁA Pȑ@̐\܂B ȊȎɂ‚ Cj[ŏ㉺J[\L[ƁAʂ̍ڂnCCg 邱Ƃł܂BCj[ɂ8‚̑I\ ܂񂪁A㉺J[\L[ƃXN[ɂAe푀상 j[\܂Bun[hfBXNc[wwipe-outxv ́Af[^ȊOɂAĂ邩ǂ̊mFAL^ ݁An[hfBXÑRs[AVF̋NAċNAVbg _EȂǂ̑상j[pӂĂ܂BȉɃCj[ Ił鑀̈ꗗ܂B E0㏑āÃfBXÑf[^ E@̊Tv\ E㏑āÃfBXÑf[^Oɏ EȌ㏑@I Ef[^ꂽmFi^ꕔ`FbNj Ef[^ꂽmFiʏ^S`FbNj EOfBXNɏ EL^tbs[ɏo Eʂ̃fBXNI EfBXÑf[^\ Ef[^\ZN^̎w Euwwipe-outxɂ‚āv EÑVXebZ[WmF EfBXNRs[i^obNAbvj EfBXNRs[iᑬ^f[^Tx[Wj E1㏑āÃfBXÑf[^ E_p^[㏑āÃfBXÑf[^ Ep^[̕␔㏑āÃfBXÑf[^ E_f[^㏑āÃfBXÑf[^ EL^\ EfBXN̎Ȑff (SMART) \ EVFishjN EVFicshjN ECD-ROMmount ECD-ROMumount EMBR *̂* EVbg_E EċN Ή@ɂ‚ E{c[́AFreeBSD/i386삷Rs[^ŗpł܂B E{c[Ńf[^łXg[WfoCX͎̂ƂłB EFreeBSD̃J[l (CXg[pCD̃J[l) ň ̂̂Aȉ̏𖞂 EATAfBXNRg[hCo (ata(4)) ň EʓIS-ATA/P-ATAC^[tFCX̃n[hfBXN EASSDhCu ESCSI_CNgANZXfoCXhCo (da(4)) ň EʓISCSIC^[tFCX̃n[hfBXN EFreeBSDňRAIDRg[ (asr(4)) Ȃǂɐڑ ꂽn[hfBXN EUSBJ[hA_v^ɐڑe탁J[hA USBtbVȂǂUSBeʃXg[W ad(4), da(4), asr(4) Ȃǂ̏ڍׂɂ‚ẮAFreeBSD̃}jA y[WȂǂB ̋L^̕ۑɂ‚ un[hfBXNc[wwipe-outxvł́A̋L^ۑ 邱Ƃł܂Bۑ”\ȃfBA̓tbs[fBXNUSB ȂǂłB̋L^ۑ郁fBA (tbs[USB ) ́A炩FATtH[}bgsAuWIPE-OUTvƂ ÕtH_[gfBNgɍ쐬ĂĂB Ƃ E{c[́AOSƂFreeBSD𗘗pĂ܂B E{c[̓t[EFAłB쌠́A҂ł ܁ ۗLĂ܂B E{c[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B Ql EВc@l dqZpYƋ (http://www.jeita.or.jp/japanese/index.htm) up\R̔pEnɂn[hfBXÑf[^ Ɋւ闯ӎv(http://it.jeita.or.jp/perinfo/committee/ pc/JEITA_HDDdata100219F.pdf) {c[̓@ {c[юoíA҂̃EFuTCgŌJĂ܂BA hX http://hp.vector.co.jp/authors/VA004814/ łBKvɉ ă_E[hĂB n[hfBXNc[uwipe-outvv1.3 Copyright (C) 2013 by Dai ISHIJIMA WIPE-OUT-14T_997 (2014-05-13)  ...Aj$rSj$rSj$rSj$rSjHF h>a;wA!#.ehyjvov|ov|ov|1:<}1:<}1:<G1:<Gm!$+_--AJLAJLAJLWAJLW ( * h  ( * h  ( * 5  ( * 5 } } } } AA#}#}7=7='/XWWs(`sv(?  ? B x 3 C N ( N d % a8@.symtab.strtab.shstrtab.hash.dynsym.dynstr.rel.dyn.text.rodataset_sysuninit_setset_sysinit_setset_modmetadata_set.data.dynamic.got.bss.comment.debug_aranges.debug_pubnames.debug_info.debug_abbrev.debug_line.debug_frame.debug_str.debug_loc.debug_rangesd!`)X m1:"?@a HhnZln jxn~p   rxr rE3x30)}F2x@ م(@ v h X "ahnlnxn p r r r """*"H%Z0'af(p(s@bL pd r hnp ln'p >H8$Y8f9tu:<P: @|pnp xn p /|n lp p  p  q  q r @q( B BB-#CY/G=pDZG0Gc`EZq@H|tnq n q n Nq rq  q  q q r r  OQb` VU+V8C0X][sY`0` /#%J7@$'p 0\B`H\NPYc@*t`.o#%Q2O`SH.A7-N=p&N_pxn r!3FY`l|lnhn   3 P \ q {   xn        1 = D T f x  ln       r     ' A I T ^ l     r r r      1 C U g }  n   ips.cips_openips_closeips_cmd_dmaloadips_copperhead_queue_callbackips_cmdqueue_freeips_timeoutips_ioctlips_cmdqueue_initips_adapter_nameips_cdevswstatebuf.7252__set_sysuninit_set_sym_M_IPSBUF_uninit_sys_uninitM_IPSBUF_uninit_sys_uninit__set_sysinit_set_sym_M_IPSBUF_init_sys_initM_IPSBUF_init_sys_initips_pci.cips_pci_shutdownips_pci_freeips_pci_detachips_intrhookips_pci_attachips_pci_probe__set_sysinit_set_sym_ips_pcimodule_sys_initips_pcimodule_sys_init__set_modmetadata_set_sym__mod_metadata_md_ips_pci_mod_metadata_md_ips_pci__set_modmetadata_set_sym__mod_metadata_md_ips_pci_on_kernel_mod_metadata_md_ips_pci_on_kernelips_pci_mod_ips_pci_depend_on_kernelips_pci_driver_modips_pci_driverips_devclassips_driver_methodsips_disk.cipsd_openipsd_closeipsd_detachipsd_attachipsd_strategyipsd_dumpipsd_dump_block_completeipsd_dump_map_sgipsd_probe__set_sysinit_set_sym_ipsd_ipsmodule_sys_initipsd_ipsmodule_sys_init__set_modmetadata_set_sym__mod_metadata_md_ipsd_ips_mod_metadata_md_ipsd_ips__set_modmetadata_set_sym__mod_metadata_md_ipsd_ips_on_kernel_mod_metadata_md_ipsd_ips_on_kernelipsd_ips_mod_ipsd_ips_depend_on_kernelipsd_ips_driver_modipsd_driveripsd_devclassipsd_methodsips_commands.cips_wakeup_callbackC.103.7301ips_write_nvramips_read_nvram_callbackips_drive_info_callbackips_adapter_info_callbackips_io_request_finiships_io_request_callbackips_ioctl.cips_ioctl_finiships_ioctl_callbackips_morpheus_reinitips_copperhead_pollips_get_free_cmdips_ffdc_resetips_morpheus_pollips_morpheus_intrM_IPSBUFips_ioctl_requestipsd_finiships_start_io_requestips_adapter_initips_insert_free_cmdips_copperhead_intrips_get_drive_infoips_copperhead_reinitips_update_nvramips_get_adapter_infoips_clear_adapterips_issue_morpheus_cmdips_issue_copperhead_cmdips_flush_cacheips_adapter_freebioq_insert_taildevice_get_softcdevice_shutdown_descdevice_set_descprintf_sleephz__start_set_modmetadata_set_DYNAMICdevice_get_namecallout_handle_initsema_destroybiodonemalloc_init_bus_dmamap_syncdevice_get_parentdevice_attach_descrman_get_bushandlememcpymtx_destroybus_dmamap_load__stop_set_sysuninit_setsema_value__start_set_sysuninit_setdevice_printfdevice_get_ivarsmalloc_sema_post_mtx_lock_flagscopyoutbus_dma_tag_createmtx_initbus_dma_tag_destroyconfig_intrhook_disestablishdestroy_devmodule_register_initbioq_initbzero_sema_timedwait__stop_set_sysinit_setkobj_lookup_methodmicrotimedriver_module_handlermake_devdevice_delete_childbus_dmamem_allocbus_read_ivar_descpci_read_config_descbioq_removecopyindevice_get_unit_mtx_unlock_flagsbus_dmamap_createbus_setup_intr__start_set_sysinit_setbioq_flushstrncpyrman_get_bustagpanic_sema_waitDELAY__bss_startsema_initbus_generic_detachdevice_add_childdisk_createtimeoutconfig_intrhook_establishsprintfdisk_allocuntimeoutmalloc_uninitbus_generic_attachbus_alloc_resourcebus_teardown_intrdevice_set_ivars_edata_GLOBAL_OFFSET_TABLE__endtime_secondbus_release_resourcebus_dmamem_freedisk_destroyM_DEVBUFdevice_detach_descresource_disableddevice_probe_descbusdma_lock_mutexpci_write_config_descbus_dmamap_destroy__stop_set_modmetadata_set_bus_dmamap_unloadfreebioq_firstata_md_siisch_siis_on_kernel__set_modmetadata_set_sym__mod_metadata_md_siis_on_cam_mod_metadata_md_siis_on_cam__set_modmetadata_set_sym__mod_metadata_siis_version_mod_metadata_siis_version__set_sysinit_set_sym_siis_pcimodule_sys_initsiis_pcimodule_sys_init__set_modmetadata_set_sym__mod_metadata_md_siis_pci_mod_metadata_md_siis_pci__set_modmetadata_set_sym__mod_metadata_md_siis_pci_on_kernel_mod_metadata_md_siis_pci_on_kernel__set_sysuninit_set_sym_M_SIIS_uninit_sys_uninitM_SIIS_uninit_sys_uninit__set_sysinit_set_sym_M_SIIS_init_sys_initM_SIIS_init_sys_initsiisch_siis_mod_siisch_siis_depend_on_kernel_siis_depend_on_cam_siis_versionsiis_pci_mod_siis_pci_depend_on_kernelsiisch_siis_driver_modsiis_pci_driver_modsiisch_driversiis_driversiisch_methodssiis_methodssiisch_devclassM_SIISsiis_devclassxpt_donedevice_get_softcrman_get_startprintfbus_alloc_resource_descpci_enable_busmaster_desc_sleepbus_release_resource_descdevice_suspend_descsnprintfhz__start_set_modmetadata_set__stack_chk_guard_DYNAMICdevice_get_namebus_print_child_footermalloc_initxpt_alloc_ccb_nowait_bus_dmamap_syncdevice_get_parentdevice_attach_descpci_msi_count_descrman_get_bushandlememcpymtx_destroybus_dmamap_loadrman_set_bushandle__stop_set_sysuninit_set__start_set_sysuninit_setdevice_printfdevice_get_ivarsmallocrman_set_bustag_mtx_lock_flagsxpt_path_path_idbus_dma_tag_createdevice_get_nameunitmtx_initdevice_get_childrencam_simq_freebus_dma_tag_destroymodule_register_initled_createbzerobus_setup_intr_descresource_int_value__stack_chk_fail__stop_set_sysinit_setkobj_lookup_methodbus_print_child_desccam_sim_freexpt_bus_deregisterbus_teardown_intr_descdriver_module_handlerrman_reserve_resourcexpt_rescandevice_delete_childbus_dmamem_allocbus_read_ivar_descdevice_get_unit_mtx_unlock_flags_callout_stop_safebus_dmamap_createbus_print_child_headerbus_setup_intr__start_set_sysinit_set_callout_init_lockxpt_release_simqxpt_free_pathstrncpyrman_get_bustagbcopyxpt_free_ccbDELAYcallout_reset_ondevice_resume_desc__bss_startrman_release_resourcedevice_add_childdevice_set_desc_copyxpt_freeze_devqled_destroyxpt_asyncrman_finipci_set_max_read_reqmalloc_uninitbus_generic_suspendbus_generic_attachbus_alloc_resourcebus_teardown_intrbus_get_dma_tagcam_sim_allocdevice_set_ivarsrman_get_endpci_release_msi_descbootverbosexpt_freeze_simq_edata_GLOBAL_OFFSET_TABLE_M_TEMP_endbus_release_resourcepci_get_max_read_reqbus_dmamem_freexpt_bus_registerdevice_detach_descpci_alloc_msi_descdevice_probe_descrman_manage_regionxpt_create_pathbusdma_lock_mutexrman_initbus_dmamap_destroybus_generic_resume__stop_set_modmetadata_setcam_simq_allocbus_child_location_str_desc_bus_dmamap_unloadfreeL9PplQLP}ptQLPPPz LPxhplRH CptRH \2Kp RIA@RRIARNIA@ @ A @SS SN@SSSN@SS$TNH @.<mT@ @ y,T@ @ DT@ @ m\T\TޜtT}TTФ0 @PPt`ps P0@PPt`ps@PUPU\UNhU@ @ UU `0@`p0`V!@WWLA !A ! Ю0PPt`psЯЭ P q`p0r@pp q@q,q`hp|p7@ @ 7@ @ 7D27@m70@PPt`p@HHTNs7`@ @ `Aq8@8N@8N8 @ @ 88@ @ mP`P`8p0`@PPt`psD:T4: 0PPt`psP{ `p0r@pp0PPPt`ps `p0r@pp q tq ,qLq`\qtlq|q@tqp@":N@+:̏NPnjpƌ5:؏@ @ >:@ @ D:؍dޜh@ ::p|: T4<`$ ==$ >.>p$ Ev>pH$<A>Pnjpƌ>>T4BB0&%0'CBUS CBUSIIEISA FUTUREINTERNISA MBI MBII MCA MPI MPSA NUBUS PCI PCMCIATC VL VME XPRESSPnjpƌ` L/0 -PPt`psЯЭ P q`p0r@pp q@q,q`I Iy I$I}7 II I7ZIbp6IipIIgIII@pI@IIZ@1II2H"@@"I\"S!I ]$k,IRI& ?ImGI0HIII0LIBMIOIUI! x ?8Y_ Hx Xx h1x gx_ x x <[H,_ s +F_ s  , 8 D P \d PwI&`wIE6wIJ0zI>VpzIczI]p`I {PI|Im`}IIPI pIpII&@I|)_ [w_ x Щ` I_x x   + A , L 8 e Dr IAz PI I I @I I pI I% PIE p t PI!s 7!xQ!` }!!x !!` "!"y P"e"y "Ȫ" ` "ت #HF#,l#` #,#H#@,$H>$,T$ g$ o$ī $Ы$ث$$I$IE$`IV$d"$I%I%%@IJI>V@I:%`IpI{III H% |Y%It%I%I-%I-%I%I%y %&` A&V& y &&y &̰&H-',K'` |' 'x'x'x'x'x'x' '( '4 '@e H(IQ(0I!,(`{(;(I=J(PIDZ(IKl(@"x(((It(`@((H(,)` A) U) n)( ~)4 )J-)Jn)Jy)")")J) J`)4J)J)*J )$J$)X* JH *@J(*J:*PS*J|e*JHt*T*J*J*Jj*J*J*J*pJ*@J}*J@*J*J* J+J+#J} +$JE,+`P;+@:JB+ 9JJ+7J U+`8,e8T` 8,8H8@,9X` F9lb9H9,9H9,9 : : -:?:Q: c:(u:0:8:PJ:J:J:P:`Jk:pJQ:J/:J:JM:J&;J|;J ;T3;Jc:;XI;pJzZ;Jd;J}q;PJE};;J;0Ju;Jo;J;\;s ;<\` 1<H<8y }< <`` <0<h` I>e>H>,>l` >?HH?,i?H?@,'}'}?l ?x ? ??? @4"@J .@`J D@pJx[@J%s@H"@ J_@J_@J3@ J'@PJ@pJ AJ!AJV7AJ OA JgA@J}AJ`A J A0J APJ`AJApJ B0J"BPJ1B JHB@J\^B0KtB`,zB"BK5B@KB0.K0B.K~B K1B`B`K;CKwCP"C&C K4C KHCKaC0KwCKCKVC@K\CKxC`.K;C KC`K-D( D.D4D "-D`K$>DK,QD'K,hDP/KDp/KMD0KND1K/D@1KD03K7D 5Kj E8K,Es `E<|Ep` ELEDy E\FHy WFlvFt` F|FLy F GPy HGlG GG G G;KAG;KGK H@=K*Hp=K;H=KE-Hd9HAK`CHPEKMH FKVHTy HDHx` HTHXy Id.I\y hItI I I II`JKAIJKIKKhIK"IMKwIzKJRK JpNKOJ,JZKV*J`[K?JP\K HJ`]KYJ_KBaJ``KBlJ`K[tJcK7}JPdKJ`hK JpnK J0JyK JzKEJ(J dJKJpKJpKJ KJ`y -KHK|` pKKdy KKhy KLs MLhL` LL L L LLK LKLKAMK MKMK0MK*MKR:MKFMpKNM K;WM`KGbMK(nMKvM MKtM M0KMKMKhM KMKGM0K?MpK@NK~ NN0K0NKBNжKSN \NpKkNtN KhNNKEN@dNpKN@KNKwNly NO` :OMOpy |OOty OOs P9P` gP P0 P< PH PTPPKPPKPPKdPÁ Ṕ  Q@KJP, #QKP =QKSQKPPLjQ`0P̃Pԃ P݃ PPQ'L}Q&L:P P P PQ:L]QMWPTEMP UT"U-UAU PPWU`MAqUU'U;U dM$UPdMUpdMP PP0P7U{MV}MTP@.V``9Y$NIY`@SY0(NrdY0}Y(NY)NY*NY+NXY,NYY-NY 7NZ8N2Z@N#Z8NM6Z0NZ>NZ?NZ`@NZ@N[@AN[`zN%[8:[@pJ[_N,V[da[|Nt[0[N[P[N[p[N [[N[@]N'[p]N'[]N'\]N\]N*\^N6?\P^N)T\^N)c\^NSy\@`N(\@hN\iN\N\H\,\s $]?]` l]]N ]ЃN]N]N]Nt]NP]`N]N]s ,^0G^` t^@^xy ^P^` _`%_|y Y_ps_y __ _ _ `%`5` "G` X`N g`0Njw`NS`N `N0`@N`Nb`pN` N`"`"a` 1a Iay }a0ay a@aP b\ !bh5bEb"Wb hbpN ubNbNbNb`N6bNb` bcy 7c,Rcy c<cy cLd` 5d\Ldy dldy d|d e "e 5e Ae [epeee"ee "e@ e`0e$"es f5f` bfyfN'f0"f`N,ff,"f4"fNff` "g6g` `gtgs gg` gh` ?hZh` h(h8h@hNChs iX#i` Qihii@"ui` ixi iNi Nj0N j@N jPN&*j7jN Bj"LjNRej@N{j@Nj`Nj N0jPNFj $"j`$"jNrk NkN5+k0N=kN Nk@N]kNiqkNk@N"k@NYkNk$kPNVkNk" lN.lpNQ "K3O]4Op@8O0;Oy Ёa )Hy y s Qv a ΃s "a Rl $ 0 <τD\ "8#>O6>OKI?O\?Ol0"}?O!?O"@Ou,"BO̅@CO݅P"L"l"D"4"$LO4QON0IOad PO@"8"H"MOEKOj׆LOX"T"SOPVOk$"+("7Ia qy ׇa y Qky ͈s  +a `0@ L X dˉl߉ZOZ [O@[O*`[O:[O{Ax"K\O W"f@qt"^O" _O]_Om`OcOM֊cOM0dO+`dO`gO&PkOJ4DA"Ry L a \y 4lRy |H,)$a [IB,`(a I ,,a /LKIw`,s Ȏ0a < T e  Ϗޏ @oO.oO+pO pO)0pO;PpOKTPqOHg"zrO~ sO(PsOy 4a Pny ȑy 6s r8a ̒   :"FWq0`8xO00xOxOɓ דy 7QPLSP_UPHrUPPWP1XPrpYPmYP$tPvP0zP6pzP% {Pk:{PvLz .a .z ..z k.. . . .."/|P |P0|P/|P<P,GPPP] [Piz ,/3 Q3g4z,4"`4P[Q8[Q:@\Q,"_Q5H4dfQiQpQt JD5ba T5z d5t5}Q}Q }Q@}QJ*Q2НQ-<PQDQOQ6XQfQ(tz 6(6 QQ ШQ@60Qj.z dp6a 6z 6z M6p6 6 6 66 " 7(QQ Q 0Q{QзQ&Q/Q=PQGQQ{ H7{ X7a %h7={ qx7 { 77 7 7 !7 <7P7`$"m7~Q4,"QQQQUQQpQ`QPQ0Q |l'Q5PQRQud`Qv@Ra 8{ 087{ w@8{ P8`8 l8 x8 .8D8V8 iRxR\{ 8 { 8:a m9${ 9({ % 9N09`49 x@9 L9 X9p99  RRkR R-,{ e90{ 9a 9)4{ `9}8{ :::  : ,: ;8:RP:a:(x Rz`R7<{ :@{ %:Ea v:D{ :H{ &;M;^; u ; ,; 8;P;;  RR7L{ 5;SP{ ;a ;T{ $;=X{ z;;; <  < <0< 0"`< 1 RGCpRZRoR~RR$R$R$R$R%R %R@%R`%R(%R9%RJ%R[%Rl&R} &R@&R`&R&R&R&R&R'R 'R@'R`'R .@)RF+RU^ NPn,RK~-R-R-R.R.Rp/Rp2R=3Ru `8R@9R}19RD:RG[@Rsq0IR@MROR0@PRQRSR YR^R(8: A BkRV0fRnuPR0S @ S%p!S"S pS SOSS>*Sl@0 ]< vH T SYS S] S\{ "pN<`{ rNa Nd{ Nh{ GNfNsN N N SS!S!S! <" 8"& 94"A S a Sr@S`SSSSSS S@S# pSS-S>SOS_So0SPSpSSSSSS  epSSX- fP=pSWOS_SEnSS@SSwSQPSpSPS}SSb,S>STSkTJ (!$:`W wPT'"T~dTfT @!@TTlf f pf "|f /f =f JT WT_mTTTTP TKl{ fp{ 3fOa xft{ fx{ f'g4 g Gg O$g e`TrTz~T9@TCTTUUpU0U U&! U3UH UZ U&l UB~P U# U# U# UX@U*pU#U#UU !U.U@P1URP7U5e7Us7UW~8U8U9U:U ;U`{ p8z{ Hz?Xz dz pz |z z.z<"Hz8W@We`Wo"}WDWV0W"`WPW@ W W W\0W Wf WWGW* Wh4WJC0WQ"`0WMiW}wW00WW  W{Q/W1W 0# Z#HI# ,#t #L#Hb $\$l"$p 1$| G$Y$k$}$$$@zW$`zW]$W$W$W$p~W$ t &%A%Lb n%%%@W%W%0W %Wh%`Wh%ЇW^%@W%"% WB& &WQ&W0&WA& .U&Wg&| &&Pb &'| 9' U'| '0'@ 'L 'X 'd(|"( 5(W/D(W/T(Wc(pWr(W(0g& | &(Tb (($| ()(| U) '0 x)< )H )T)l)0)`WV)WV) WM*pWW)*WU?*0W\V*Wcl*W*W=*W* W*pW* X*Xb +x*+,| `+|+0| ++4| ,:,8| q,,\b ,Ȃ,<| -؂*-@| j--$t --`b .". 1.$ N.0 d.<t.@ .L .X.p...`Wl.W /W/ /W4/WRG/0W[/Wi/W}/X)/X/XU/XX/X/0 XB/0 X0`X!0X420pXxD0X7U0X d0X2s0db 0@0D| 1P31H| |1`1L| 1p 2P| H2i2T| 22hb 23X| G3e3\| 33Є 3܄  4 (4 @4R4 c4 4444L4d4x45X55X/5PX_D5XLX5"Xn5Xb|5$X5@!X5`| 506d| C6@e6h| 6P6lb 6`7l| H7pg7p| 77 7 88 -8 M8ćf8܇w88&X88)X?8'X8@(X8(X8`2X80/X$ 9t| J9o9x| 99|| :ȉ):| a:؉:pb ::| ;;| `;; ;$ ;0 ;<;@ ;L <X*<p9<I<P5X[<@Hd<| <<| =>=| |==| ==tb 3>ȋR>| >؋>| >? A? _? z?? ?, ?8?P?@6X@ @07X/@6XWA@9XQ@| @@| @ A| CAЍaAxb AA| AB| BBiB B B(B, B8 BDB\BC;X C>XE7C=XuPC?Xg`CP>XnC@wC C| CC| #DАHD| DD| DE| :EXE|b EE| E E| 9F0`Fb F@FP F\ Fh Ft G%G 5G SGdG{GGGPGXG| GH| RHvH| HHb I(I| cII| IВI J -JBJ VJ xJJ,J`JHXJHXJJIXgJ| 6K]K| KK| K Lb RL0qL| L@L| MP=M` [Ml vMxM| M MMMNJXN0KXQ&NKX4:NKXoLN| NN} NO} HOhOb OO} OP } SPЕ|P P PP P PQ, Q`2Q@MX{JQMX^QgQ`TXt~QOXqQ/Q} Q R} KRqR} RRb S +S} hS0S } S@SP T\ [D} v[[b [[H} \4\L} u\Х\ \ \\ \  ]#],2]`B]`X T]]]Xr]pX2]X]P} ]^T} I^p^X} ^ȧ^\} _ا0_b e__`} __d} %`P` p`$ `0 `<`@ `L `Xap"a6aXrQaXla Xa`X2aБXaXMaДX=aXaXxbX~`XS~Ye~Yh~ Y~ YD~X<~0Y~Y~Y~Y<0YPY$} a} ~ 4b e~ Ԁ~ (<8 VD mP~T ` lÁҁ`YVYp Yj%Y#)Y1@: ~ wP~ Ԃ`~ ,pJb {~ ̓~ +R l   „ل P0Y0Y1Y/3Y8C4Y"Y4~ (8 ˆD ܈P \` l 2xIXh`HY*sHY;|HYZ0JYUJYVJYLY`MYʼn0NYA׉NY'NYZYTPQYPRY8~ ;pV<~ b Ί@~ .D~ j(t ҋb   , 7 Pb l@0w`ZY[Y [Y 0[Y@[Y P[Y`\Y̌\Y"^Ye "0`Y2@"?cY[p"heY`"hYP"`kY̍@Y>ڍ lYTmYpnY(2$uY="J|Ya"nYsY"Y+JȎ"Վ @"""" 0Y YA/@YF`YM^YvY Z  Z Z+ďPZӏ`"H~ "AL~ {P~ Ӑb T~  X~ L b !;\~ q`~ ͑,t " 9b b0u@ L X\ 1$h ǒt ֒   2p(Zc:(ZB)Z4L@)ZYW)ZVd*Z0o*Za0*ZT+Zr+Z,ZP-Z͓-Zܓ.Z/Zu0Zu0Zu1Z*D41Z=`2ZJ@5ZS5Z)d 7Zq]ZQz0:Z ZQ^Z d~ Dh~ FT`b dl~ וtp~ -P0t b –֖   /:d"G 0ShZ+]@hZYhhZVuiZg`piZriZjZjZpnZaƗprZϗ@sZHܗqZ'rZTt~ %pAx~ ub Ә|~ ~ \4t Ǚb  % 1 K^ ih"v@0uZ4uZY0vZVvZjwZp"ȚwZuښ0xZxZpyZ zZ {Z{Z P|Z30}ZC~ZM~ZVZh`ZrZZd~ ˛~ 5b b$y~ 4Ŝ~ D%8t UTmb dt ˝ ם x"0(Zq8 ZFZW[ZjZ<}ZKPZvЏZZ"ZϞZ*ZZ2Z`Z2$Z0Z`CZPU`Z6`ZcoZ| ZZЛZZ0ZӟZZpZPZvРZ1`ZC ZVZlZZZpZZХZZϠ`Zܠ0Z%`ZsZC0ZCZ#Z[1Z?ZRpZf6uZ_ZN 6 @ZZ50ZġZҡZiޡ`ZFZSZ Zd Z5%`Z^4Z?6O|"_ZkZ!|ZRpZGZ*ZZq΢pZjZ[] [y[T6*Zh66 E Z=R`Za@Zm ZZO5pZ9@Z86 ΣZף0 [pZyZZr pZ`Z_+0ZE=ZZO5^6 i6xD [ [=d5 `[Ť` [ؤ@< [@@ [X!06@[EE6T(6c8m4w,ZpI,tI@,̬;[L߬88 H[I[ I[,I[ /M[(> N[DHpN[4VN[kU[`V[wW[Z[[[|˭ \[@\[l\[9%.969I8U8a8v8P[ [Bp[,[Ȯ[(خ[M@[(p[,[[(%[!7Ў[7CP[I[ `%f`[Kul[`[9p[`: p̯ x X[%)[B0[S@[eP[)q[~:  Ap[԰[ݰ[[`[ BDA2DB N`B8\[hrp[[[[:[̱[ٱG  NN %p\.9\eM P(]\s\p\p\U²O Ͳ\HPP\%P`&,`P) S9 VXF "W"g("wx[ [(0D\@Q\VQ\γPR\߳pS\^ ^^$]2]B]U]h]\^\g\m\gtnѴq\{@s\f ^X` f! @' L`p,[,pep rpp\P\\ʵp  \pp²`rp]p]`]V]p]߳P])t:tK tYtgswss`$]@%]̶0/])ض >]1]D@3]   ,(;?]zH@tTz aq}Ј (ŷPӷ` 9   I]L$J]J;<PTX0l]m0|   <z]K>{])Ӹ{]|]}]` ]p] * >"M"\"k@"|]'] 8Pɹh`    0!@-P 9`EQ a m P{ 4? ])@]кXٺxh] ]@,X@pRix P@ǻֻ P0  0 =`0 \X~X  @? ɼ]'ռ]]@],@RP` !'PF'REP _@PP=P0 \_ý L? >@]Ӹ`]@]b @"$@"3"B"S]Rc]v]*]RP^;^Mɾ^վ^^( ^9 ^^X$ ^8 cI(cZ@ck`c|fH`fgX@lſ X? ^Rc^^* ^R`^;1^MM^Y^h^(w^6^^^`ohooorHr"u(3xhEzZ"g"t""" d? p&^Y&^'^(^   (^7},-`(^%9(^H)^(Wp+^6g)^x2^j,^ )^a (`P@}x"3DU`f p? 8^RP9^`9^:^p;^<^  >^%P>^*PG^(9G^6I Q^ZH^Xj>^k~`(  (@` 8   &|? 0T^Rc0U^@V^*S0W^ReW^;wW^M Z^!PZ^Z^(^^6[^`^d^`@%@:@KH\`mx~H$ ? Pl^Gl^ l^l^ p^(p^+%0r^P6m^Fp^IZu^ ju^ zu^ u^v^(v^+w^,v^ z^v}^r!`}^\=@~^wS^`~^ z8`0^ ^3˥@@`@ @^13@^1L^d0r^0^E^{^HP^^^ ^ ^M^r^3 ^cH^W^Vn^i`^^^nç 0^ @^^ ^^D^3p^B@^OP^^ ^n ^L|p^^ ^p^@^^^Q `, p^9 4"-^6^ ?^I@X^ap^t<l8y4,($ &<59_k?`HxIv, c |I,,c ^zI,c ,#I_@,c lI,c MiI, c I>,a$c ,I@,(c Dl`I,,c I,,F0c xI,4c ,)IW@,p8c lI, _>_?_#?_@_!@_A_}pC_T(E_p8@G_IPN_~ZS_jT_zU_0V_V_W_`_ͧb_g_"i_j_Po_p_t_ ~_ `$Pc Txn~ ~ &Tc Sj~ ~ ȑ~ Oؑn~ ~  % B N, h8 ~D P \t<"P_ _)_."0_3P_bB_bN0_cq__ _P__p__}_1_)!_$+@7F_+U_f t_]_S p_=_:__0_(`___O-_=й_G_P0_h^_h \qP_D_e__F@___R_RP__o @_I_&@_3_>_>KP_H[` `d`oP `x ``>D"I ,I`,Xc /\c _y~ ~ 1`c ^̓u~ ܓ~ !~ Zy~  ~ ^,!4 0@ ML YX sd p | H"P0P` PP``P` Q`)]`0x` 9V`@c`;H b`ZU0u`b~ T~ dt `p6 `xN`]`zk dc  4M ĕ Е ܕ P"$`55P`G````-w ` `  0hc @$ VPn `p |  T""Ė1`>HP`pa`vn@`| ܖlc  @X    ( 4 @XX" p`` *p`9`tK` Y0`n``Н``X$  /pc `0{( @, P7Ij`,htc ?hI,xc ̘IF,Z k { h(08h"У`"`*0`Ф`#`;`O@`c(m`Ш```p` ` ` е``d @`%P`98`sI`R^p`cv`)`D``t`-`dd ` `|"`80`CP`k[0`qn`|P`P` `}````O `M"5`Jx"f`w*`j;Qh@`  0`I.`"<t"W`h`P````` `````T` 4" `2 `>p"Sl"h{da> ar|c shc xc 9c k0 4 /c ]Țu8 ؚ< %Dt ac ew (08 %D 9P F\ ahu|"(0a @a`aPa `a`a@a]"arc =V@ D    4(I@V"e`Hs !aFp!ab!aM0"a0$a$a%a0'a(a@0*a ,a,a.a/a5a.<@@M@^I,c  I1 ,y"c "LXI|`,}$@aR`@aH L Hȝcc ؝P T +M a s ~, 8P AagpAa8X c )B\ w` ОM    5F@ XBa,aBaPpDaDaDa[0Ea1pEa7Ia@KarKag0MaMaMa}  p[a-ca|& day:fa<IgaRhadwpka@ma+pma0na0oa6poa<tpa@sata ta<xapaB(a00a?`aGВaQaogava~aa`ata[ac `d Dp_h c  l 7 O p  t  x : ПW |            ,  8 0 DE \W ta "m Xx a9 aC 0ai a c   0 N    0  <  H ` " (* 0aY7 aE aCQ c   С  7_ p  "@(aPa'a0aaQ.a8"D"R"aa_rPan  /T c   Kp Тc 4 S o  $,D"`(*a7aF"OC"Rd`Dh"c@"jawaw ,pamaaBPaiac0a<pa)a{D "' a!5 kLc \ l J|k(I,I, % / GPaZpa&na-aaaapaaa+0a9?paR avdaxz aai@0@aX<ajaaW '@P: aQ\ipa a(paBD"Ipac~H4pa@aea aa*a8`bJ`bVb9h@bx b  b30 bN b,  bb%Pb8 bK _b=m b ~ 0"b #b#bC@$b[&bh(b!(b2p*b> +bL-b^-bp`.b{/b0 0bb1b3b 5b$7bC8bep:b|@=bh?bCXطc @  =PU `p |  E"  XbJ+PYbH: p c  &  Z t    0  <  H  !T %!`9!xI! Z![bi!p^b: pw! !Ц!c ! " @"Y" "  " "( "4 "@#X# $#`_b.#p_bD#`bP# ab^#ab1k# cbdx#zb#P~b# ##,E"# zb#zbX#b #b#0b*$b$Pb$b$$Фb -$b9$bA$b Q$b8`$bi$ {$b*$ba$b$@b$$pba$b$pb%`b"%b>&%b@<%bCK%`bZ%b<m%Pb%b<% b% b%b &b#*&b9&bI&\&bm& &4E"& && ':'c i'' '' ( 6(c e(0~( (@( )P2)` F)l [)x i) ) ) )))ب)8)b *@P*Pbj& &* T*o*c ** ** 7+Щ2) Y+ k+ v+ ++(+@ +b +b#+b#+0b#+`b ,pbp,b4,bH,bxW,@bi, b+|,Pb+,b*,b,b&,be,c ,- P-m- -Ī-c .Ԫ. U.q.  ..c /)/ c// /$/c "04=0D M0P k0\ z0h 0t 0 000 1ī#1ܫ/1c3`@c3Bcn3PCc 4DcM4 $(434PFc*D4 R4Ic[4Mch4 Ncs4Nc4Oc4Wc4Wc4TE"4p]c40uc40vc4yc4p{c4|cM5`c5Pc=5*5XE"?5T5m555555LE"5\E"5I6`,!6c S6o6I6,6c 6̱7IB7,]7c 7 7I7 ,7c 8L48Ig8`,8c 88I8,9I69,I9d {9 (d Z9I9@,9J!:,e8d 8A: d s::J:,:J ; ,);d [;Lw;d ;\; J;,; /<L< <<d <̴<  =ܴ(=$ d==`E"=== ===$ >,u:4><->D?>LQ>T e>` w>l >x >>>8>c->@c>`cp?c?pc/?cI?c`?0cq?c?pc?dE"?`c?@c??0c?cR?Pc@c@pc@ c4@c D@PcT@c]@c+ n@ dx@ d@ dM@ dF@0 dy@ d@@+dAPdA!A d.Ad+BAdMAdXAdeAdyAdAdA0dAdA"dA$dA,dnA@-dA A6dB6dP-BhE"(B >BXBrB BBB 5lE"BddMB@BBd C$ C d RC4nC$d CDC(d CT D,d HIH8UHPfdcHpfd,!}HdH@dHdHd HdHdHdI0dIPd-IPdZ7IdhEI d_IdoIdI|E"D4 IdI4IлdIpd'Id I`dI@dkIdJdyJd -J0dIJ@d^JdmJ|JdJHJ0d+J`dJ0dJ0dJ0dJdwK@d" KpdHKd"Kdn9KdGKdiKpdvK@dK`dKdKdzK`dtKdKeMK`0K$Ke LeSLe&Lem1L e@c@f>cf cfcfc/f df$!d0f=dfPdfdd`fxdfdfdpfd` fd fd@ fd fDe0 f.efDFe@fU`efKyefce`f\ef:ef2e@f[ff$,ffIGf fefffff5fzfpCffPBffAf7f,fXg@.fH:gP@f\g2frg2fg ,fgP+fgp{fggf2hef;hprfj;hFfNWh@GfjshGfhPHfIhHf'hHf'h IfhIfiJf3i@LfRi`Mf_wiMf?iOf3i@Of)ipOfiPf& jQf-j@RfKjSfojUfj[fBj\fjcfYj`cf6jcfkwfL:k }fUk frkfkfkPfUkfSkif@l if,lkfNllfklpfl@rf+ltflufl@vf`lwfQmPxfQ mxfDmf2[mfqmf!m fm fmfmfm@fnPfN&nf7Ingbnpfvnfn`fnnfnfonfn*o"o@4og'So`gro`#go$go'go)go+go+gp.g5(p2gAp@g+ZpAg kpAg|p@g+p AgpBg pBg!pEg^pEg*qGgq0Gg2qBgOqDg`qDg[wq@BgOqHg qHg q@SgqQgq`Og-r0Og-rOg-0r TgBrRg"UrMg3lrpMg3r Ugr0LgrLgrMgXrPNgarNg5sYgsZg*sZg18s[gy HsdgVseguhsfgKysfgshg>shgts@jg:slg spzgs0{gus{gspgZsЀgtgt0gM tg)t g2t@g:tgItgXtgdt@gnt gtgt`g tpggtgtЙg\t0gt8tPgQ"t(u$u 'u,E"0uld bu0~upd u@utd uPvxd Lv`hv|d vpvH vwL ?wdwd wwP wwT ,xNxd xxX xx\ 'yDy` yyyyy y(y0 y< zH zT *z`;zh Pzt dz vzzzzE"zPzgaz gzguzgzg|{ gm { g{g{gQ${g+{g:{XL{0g[{Pi{0g[x{g+{d {@{d {P|h S|`v|p || ||| | g|8|g]|@g}g>} 0}l S}Pp}d }`}p }p}t 8~Z~ n~ y~ ~~~(~Pgn~~g~pg0gd C@\x P| `p | :O` r@g Pg `g2g0g3ƀgՀ$g $g g- Pg_1g@`gR@g,epg-zg D݁d T! Tdm t͂   (08Ph:Kh\@holhAhh< h h΃Ph߃hh, h ph/ hK> h,LPh\4j4Jh'(h 2hx    0Kh!/Mh<NhLbhU dh^`hfahuWho`h[{Eplhvlhnh%@qh̅`Ӆd x G_  Ȇ (`sh."sh2`E uhZuhk @d P  >`Y p ҈  " 4pwhLA`~h>O}h8] xh k yh{zh`~hFH@<`hQΉ d H\  ܊( , 8 *h)5E"DE"TE"_E"jhvE"E" ‹DߋTh hG phh"hs8hLhWewphk hh<ЙhSE."h hΌPh׌hߌ hh)$ho4G hSмh dhu` l  ύxd 5 j Ď    (=N `hLphXPh/ha @ŏ`hя ߏhh= Sh- F"Ah Ph_bhn$F"h! h?h ɐ8 אCg: h h]!(/0hEPhR `,nhyh   d HgĀ ÒȀ 3Ht f d 0œLt @ d 4PG4J|`,8JΔ, qiPiL`i%ppi(Gd x@{XJ`,֛\J,1 i<E`iUXiPjiЕii;i@iOĜd ̀ D`Ѐ Ɲ ՝ (@@F"&`@5i>piRHF"[iepiMnxiD i_pinĞiϞiٞаiKԀ @؀ td ܟ܀ 2 td Π d 8d j,`J@,dJ,@hJx,lJɢ,pJ@,/Tt _lwd | ͣڣ   .@XcLF"p(| i@i@iQiTF"i ̤ޤлiiuP iT iy `i_+in90iDPiP X hd 1xN  d D`tJ,çxJ, |J>@,[Xt ld Ш|    >PiuXF"(ii iϩii2i  iDpi%i6@CiLLiV i{cipie|iiH  p(piê i[֪ii\pi,i,iY"0i1iAiQiZpidini yiiPii|jjͫjtܫ(@j6jj`$$"d Rl  $d Qh   M$l 4®  D`$5FVf u   ( ί4 @ L d|*\F"7PC j[!jh!jx!j7 "j 0"ji"jmͰ#j0#j#j$jS`$jZ3$j0N$jxjp&j+wG"&jI&j'jX)jԱ)j +j/j0j01jIp2j)`2jis3j5P3j87jI7jBʲ08j1p8jj. BjAEjRNpFjdGjr Lj NjQj`RjʳSj߳Sj44 F"Wj0 !0< dJd z ʴ$ &4LD [P x\t(`j`j=ϵ ajٵejajz fjM hj0lj&`P.d9nj#E ojOoj[qj\iqj td   Fj w  G"@ ͷrj)޷0rjN``rj0sjsj$)tj5tjHtjTuj"e0uj5wpuj%uj0xjd Ҹ  8$ v ù$ ޹0HG"`  zj,,zj6>0{j"O`{jb{j"s{j{jT0|j%`|j5|j%|jκ`~j@ݺj6d 0/( b@{, Pۻ`t  0G"? O0j`j*h jrj@ jjh0jЎjЕjpjּ @j2jDУjG2 jDФj.\jrj@jbG"jjȽ@j޽j jj6 j,вj<d k 0 0Ծ4 @8d dPz8 `Ŀ< p"@ _e D &H h        (=,ODg\xt 0 (jDгjjm"m" G&"@jr#j,`j7=jH`jUPj^\t `e ppj$j  j j j &m"0d;`j;EjTjbL P e 3JT }X $4  @ L (X BdU|dm"q j@j`jj`jkj+0jm L dm"&`t YDt e TkQ`PkPk k8`k1kGk_pkiktk0k[!k@kR kck)@!k e \ Sm`    m"% 2(kC@'kV(k&g(kt)kq *k=`*kP0ke  d $0=h z@P \ hm"(2k3k)7k8 OkH@N@xVPklQkxx VkPpXkx h&} ki k)^ 8^=PkGVe t k@kg)I -MkR8Ox`kK } $h3<KZ Hc lyR!5D AlVpElvElE`<@Gl3Gl0IlKlF *Ol:`[lEYlSd^ZlkR z@D=xl_= l dp 5tO bo~ lllq lNpl lulPlAl. lwPlX -l<lSPldlYxlll%lY`l@l,,@,,,,@,),4e axt x $ 0 J] lm"y@ m$@mmm, m,Pm"mPmmI)Pmv@mRR0mMqmm~mm mp"m#m $m0.m,m`-mo-m\"0/m-2m83mFP4mzR5m\`m |  & Ce q , <9L OX cd pp |n"(GmGHmHm1Im1PIm"@Km.AVmQcm_cmNlcm3}0em)`ememfm hm(imjmmmPnmI nm@om%PqmE0rmy; wmQDymS{mdmqPmm\`m,m,m,m, m,Pm mЉm*m8m+ApmbNmvW`maHjm[zmmm4mp`mNm6mmM@m`m^ n"n"#04 e dX~ h x6$e cz  (e ,G,e x& _~  & 5 R ^, 8@xH T ` l n"Pm)m7#0m 4@m CPmQpm`m'lm%ym>0m @m1mmYm80mCm3m@`'m8mRD`m+Pm\m@l@ t`* `@mm%@m00e  @X  <dt 0.4e [@r`L{  mPm`m@nn_0nMn_*nM70n1JpnYnmn {n nn n8 878e cHy X h!x 5 @ Yk,ynz@nKpn`nwnn!n"n}$n"(n" r   * :(o"L@ ]n#i`0p0n}nxe ` p/ q  ,o"( n#0n+n9|e k  0  @GP X\ wh0o"(Pn#0n0nDn8e (D |    4( L@ Y4o"h` (vo#ooe   * H     !8o" !($PoD1@$<HGoaU o?de `!  p! $ O!x! ! !! 8 y # < # #  # @ #[ $k Ho"}  $( [o ^oc p^o] $ e `$ @ B p$` D $ $  $  $ $ Lo". $(< ^oCJ 0bo?Y  aof e  % H 0% L Q @%z P%  \%  h% % Po" %( pdo# <dogo$e W%tP %T &8& J& j(&@&To"`&(io# Hioj0lo?e &,X d&\ && & &4'AXo"P '(^pno#n$ynoPpo`so yoIe `'` Up'wd '' ' !'='N\o"a'(sp{o# ${o@~o>oe  (h 60(Tl @(P( \( h((`o""((0o#=DEoSpobe (p ( t M)v) ) ()@)do"`)(o`ohБoa@o-Вou<Po-Moa`o9{o\oepo6oo \ i )xx 28*OH*_Оot| L*\*Poo{`o@oe Q*m * *-* >* ]+u +lo"@+(o#0 o 0oe +! Z+y ++ + +0+>po"N,(]o#i0p0o}oOe @, P,/ q`,p, |, ,,to",( o#`<$@oZ4o<Ee z- - : -e0- y<- H-`-xo"-(oo  o#  e N -k  -  !-/!- A!- a!.z! .!|o"!@.(!Po!po?!@o#!!e ".#" [".y" ".". ". #.+#.8#o"G#/(U#o#b#0j#oRx#@o#e #@/# $P//$ r$`/$p/ $|/ $/$/$o"%/(%o# %(% o4%oH%0oU% o`i%ow%o%e %0% &0.& q& 0&00 &<0 &H0&`0&o"'0('0o'$%'/'o<'oJ'e |'0' '0'Ă 0(0X(0 i(0 (1( 1(o"(@1((Ppi(p(p_(`p]) )e <)1Y)Ȃ )1)̂ )1*1 /*1 O*1h*1v*o"*2(* p#**Pp%*p{* p6*@ p*e +@20+Ђ i+P2+Ԃ +`2+p2 ,|2 &,2?,2M,o"],2(l,@ p#y,,,p p,`p,e ,3,؂ '-3F-܂ - 3-03 -<3 -H3-`3 .o".3(*.p]6.D=.`pFJ.pLX.pd.`po.e .3. .3/ U/3}/3 /3 /4/ 4/o"/@4(/Pp#/$0ph0"p%0``50e i040 040 %14O14 b14 14141o"15(1+pe1@,p 1`,pF1e &2@5B2 z2P52 2`53p5 3|5 235J35W3o"f35(t302p35pa3P4p#3$34p3e 364 ;46Y4 4 6406 4<6 4H6 5`65o"'56(55;pD5`;pwP5;p7_5 p5>p5@5T5oP"5`?p5@p5PAp5Cp6`FpO6Gp+6Hp;6Pp'Y6Ipe6Jpn60Kp6Kp6@Mp60Np6@Op6460Rpf66p\pW7np7pp(7plpb97opM7Psp]7spq7ppd7tp7mp7rp7lpb7lp 76d7 ipu7@X 8@pP"8p""8p"/8p"<8up.F8up Q8vp#]8@vpi8xpRt8xpa8xp 8e 8@78 9P7!9 _9`79p7 9|7 979797 9yp9{p9e ":089: l:@8:  :P8:`8 :l8  ;x8;8-;889;p>K;p];pr;p`;`p|;p;p~;p;p;pP;p7;pb <Pp<@pK"<p*,<p9<pF<Ќp O<pc<90s< p<p<pp6<p <py<@p< =x<=H<@p =Pp=Pp"=<`2=Pp==>8V=@>@h=>0}=>H=@?>>e k>(?> >8?> ?H?.?X? A?d? T?p? `?|? z?????p"??(?`q@"?@4?p ?p ?p @p @ p!@0p.@@p>@PpL@`p Z@p v@p)@@@p=@`pd@pp@p@0pAPp A`p1Ap.Ap=ApRAptaA@q"oA piADq"ApiAHq"App)ApAp%ApfA`pBp+B@p&B5B0pGBf mB@}B  B@Bf C@C$ OCAiC( CAC$AC(A C4A D@A4D p7(D`pzDDp`SDAfD0q]}DADqDAD9qDq DAE@qEq*E@qHU1rbV1rV2r*V@6r4V`(?V6rHV7rRVP8r\VP>r9lV?r|Vp@rNVYrYVWr Vs"V0[rmV\rV]rVFV^r? VkrWmr W F W8F4WPFDWs"s"PWhFaWPr+jWxr |W f WGWt WGXx XXG~X$f XGX| XGY PYGtY(f YGY YHZ FZHjZ,f Z HZ0f Z0H[4f 8[@HT[ [PH[ [`H\ 8\pHT\H c\H \H \H \H \H \H\H\H]H ]H 1]H D]IZ]In]4I]LI]s"]dI]s"]I@]I8]rJ]Ћr]rU] rk ^r %^r=^riL^0r@Y^rg^ t^r5^rB^0rR^r^r^r$^s"^t"^0r^r? _Pr_0r/_Pr@_M_8f }_`J_ _pJ_ )`JO` `J`J `J `J `JaJat"$aK 7a r,AaPrQapr_arpa rizara r1a`ruararar}aar1a a@rarbrbr(bprb3br^Mb@r]b rmbrvbrb@r.bprbbrbr;brbr4br c cr!c@r"cPrt.c=crJcjȃ yjMjN j N jN j$Njm3sm3sm4smp5sm9snp:s;)n:s1:n;s)Qn s/n>snp?s}n@sOn@Cso@DsYoDs oDsy2o@Es*GopFsZoHsio Hs-woPHsooHs5oJs8o@KsooKso@TsPpTsp@Ws0p؃ gpPpLf pPp܃ qP q `qPqPf qPq rP&r grPrJrQ,rTf s,Q)sJWs@Q,psXf slQsJsQ,sQtQ tQ 3tQ CtQ atQrtQtQtRt Rt@RtP`s3t\tu@TuU.u`V\IuVbu@W\uWu X\uXuY\u`YuY\v@Z.vZ\Lv [dv[\vsv`s v\dvsvsBvsvs1vsnvsWvPsX wsjw@s81w`s>wsSwsgw sC}wJw\,[\f 8[\wJw], x`f =x,]YxJx@],xdf xl]xJ&y],l#hf #]CyJhy],\]xy]y]y^y0s y@spy@^Py$^y z^t [(t g4t @t Lt Xt dt՚|ttt"t@ t`tu'uc/t-5t >t{Jt\t"kt"rt"ztt"td ̛uf u5h k ul ǜ0u|t (@uKf Pu`u lu ĝxu u uut"u(',uS9,uD-u$M.u]_P/u{l/ut0u|`3u4uvd6ub[09u @>uÞ@u˞p dv!f Ptvit vx vv 2v @v \vqv|t"w(Cu.Cu.Du2ȠDu٠m| 9(wU8wd0dun |iu7iu*iu(ġ ju_֡juu@wkuku  lu mu+nu<ouI0Tf Pw Ѣ`w +pwPt wf ѣww w w)w6t"Ex`Spwu [wu dwu5owuzxdxu-xu{@yuzu0@{uH Dy f ;TyT dy tyy y +y Gy\ygt"ty(uJuu ϦD٦`D8ut"$2 jzz u@zf Xz .hzH xzz z Ҩzzzx@u`{u+%f Rx{i { {{ !{ ;{N{]|xmu *|l{f | |  H }k} w(} 4}L}}xëuѫf ~ H~a  ~0~ ͬ<~ H~`~ ~xu"t Upf @uwíuҭuf @* `P| `p | $3t"D :PuTu_iuuuu_u`uuu f  2NĄ t  f 20J@ YL vXpt"ut f +?0uPg Ȅ в̄ ,R a ~(@`h@u]dzg  Є >WԄ  ô ݴ(@`huHuR.Pu >puPu``ubquu@"+ u+ `ubȵu}ߵ< .NPupu2&u{;0u-M`ub`uuu`uuuP¶@uٶ`uAupueuv*vtApvQ@va0vrvi` v 1P /8`/8ŷ/8ַ/8 08`08 08!0820vE.T.@cvsv`vv%@v0/v}ɸ0vָ'v3v7.v &va%v4/P1vf?>vS?vh@vy0AvAv< BvBvɹCv޹Dv@ OvPvQv#pRv6TvLTv_Xv=rZv~[v69]v6к6ߺ@5@620gvy Pfvgv-hv%AjvVlv4hmvWz@v2pnv pvtv}0vvǻvDٻАvV0v$`v$ v$v+pv 9<(EvTdtg ؄ ܄ AЃd ½  Qr ľ о, 8 D P /\ BhUd@u"q8Du"vTvv2@vпd޿u" vv`vw Fdc g t  +M] h vIu"pvXvH"u "`v:Hv" pvFv-v@t tg (vO@y"pvO vO9ЫvOVvKwvv8y " y"vXvh"w"PvpvvvvvPйvR&0v/vO=vGvWvgpv w vgv^vvv@vwvvvmvPvvpv  |",@v$4v->pvG@vOvh[Pv%gwp`?xxpw|"|"|"<g @ P1 p`g p ! ]g  g $g Mi(g І    Da   ( 4 @H#P5XG` \l px }"Pw{ww w@ w $w_0%wq.%w)@%wI&wQ(wo[ *wg+w~v@p :wp03w;w=w?w^?wCwDwpEw0FwFw GwNwRRw-Sw<TwIVw;Sfw\@pd,g   ;Ѝ`0g   $ (J( ,  0 )0D@ RL nX yd p |  Ď}" Pphw&hw9@jwxCkwVlwf0mwpnwypw`rwKsw(w'www"ww-www0www'pw;0wDPwO w Y@b4g X4 h8 >xd8g < @ 1TD H ȏL 8؏T c    $ 0 <T l}"%P10wH=w,GwWФw!gwu w.Pw@w`w$w`wKw(wXpw@w"@wx$ wc0w'w1 wAwQwZpwd wmw8?Pww4 w&Pwpwkw @ 0dx[{@L txS`ux[vxc@<l{x\z |x  +Tg Wm   0 )< ;H FT _`qx |x1|xnA`}x}x~xx>(x9xRx nXg Ж  EjBtB   $<` x$@x`x0x8*px5> BRx)exox xdx3Њx5xxpx@xpx xx`x`xxxx)Ыx9x;OxXxdxq0x|@x @B Pxy\g  6 v`g  , iЗ  :ą p  ( 4 @ L  X d2|EP }"]Pixtx2x>x  x@xx xx-0xS6x#DxKQxb(}"nx~xH@x2xpxPx $}"xxlȅ *Kdg x̅ Ѕ ; S̙ _ؙ y  xxBԅ *@hg P%؅ [`w܅ p;    1 DxS@x *a  * lg 0 *@C P` ;l x   xxP-x=x8Sx)gx%x@xtx\ xxpxx{x7xxxH y 0yys)Py?y\:y,W y,sPy}ytpy y`Cyyp#yP%y;%y &yC@&'yY2$D $Upg D T 6d]tg t  /S   <ĜYԜ i      (@X'<}"5PB5yN6yX\6yg6y5w6y407y[7y8y-8yo 9y*P9y*9y&E$E$9y P;yw4;yx@EHP=yX>ypfP@y{ Ay7`Ay#Ay!By7CyCyeCy DyDy`EyBEye Fy3HyYB@Iy%IpIyQ0KyD]KylLyNyNy@PyPy4 QyRyn0VyUXykYyZyB#[y)4 ]yQ@^yK^yY ay2l`ay$zayayXbyby Ply`my!my0nynyptywym!xy.yy:pzyF{yW{y hyt|yyz y y+(y yya`D yOpy) F  Nj Ȟxg ؞ 3L  F N0`NS.Sd @]0]@a. ' : F, `8sP@}"hy0yPyiH}"yyCylD}""a-L}":P}"G zR0z8]l}"kp}"zz7z`0zz $"zIPzzz "@z)"6 z ?"J #zZ_lzjP%zpw,%z`&z@'z,z9 (z)z"*z+z""--z48.z8C@.zjN /z[6zkt}""4zM@5zU07zv7zp8z}" ""$d1@z=Yz+NP[zX\z_}"i"v"}"`@"`"azWPbzczxPdza"d`dizPjz kz%x}"2|}"=|g cds,dJ,J(@,FJz,J,J,;Kj@,K,oz"ozď"qzqz9 , "*  e 6 g ^ p tz} uz vz  wz wz xz> @xz> xz> xz pyz }za z e! e5 eG eV ef Dr e e t e e   e e e e e e0 eE eX ei `2v e ` e  e e e zu `z z_ pz" te1 Pz= he L Pz{^ ИzZp 0z Лz pz Pz z] @z z z `zo аz pz  z z z= z  z & e@. z=8  dB  y     g ($ Zr(   ( 4 @,X6܏"B(M@zRZzbhzdwzbzp`zyzz`z?zXz&0z@f zz#@z-z:zLzYzRhztz~Pz@z@{0{f{{# {` { { {F {d{ `fx {_ *g Yr, 0 &g Rh4 8 < H f@ 0D @ P \ 4h ?t X m  " @{S`{'{  {!{)"{:"{L"{S`0%{qP%{p%{%{%{+%{%{%{H0&{P'{p'{'{y ({,){X :f Jg Z 3{i4{y5{p7{p:{H D{PE{PF{tG{ R{T{T{pU{ W{*W{5H kP L ` g p P P iT       ( 3"@ L gZ7ghKgv]gghgohg"hWhmghg>hh,g:gHhWli fiuiihhi+iJi[ixi{{{{#{9P{I{PV{c{p{z {[@{{` d|80|UX  9\ o g  `  d X {t  g ( =8 PD cP o\ h  " (P |_ |@|a|(@P" `|Z!|q0|:`|Ip|S|Ob "p|y||J|`|8|D|Fp!|E %|1| 2|  2|* P2| $ `2|\3 2|L 2|'W 3|'c @3|$u 4|& @4| `4|. 4|A 6| 5|z 8|h @;| p>|[ @|O i!pB|L!C|!`d$!t _!!g !!g ""h P"j"l ""g "#p C#$\#t #4#D #P #\ #h  $t$1$=$"K$Z$"g$ t$8$L| $L| $ L| $0L| $@L|$`L|$L|$L|7$@P|$j $T|$:j %`d%/j #%f|-%>%g p%%g %%x &,&| b&~&g && &' K'(n't '8'g 'H'X(`(h +(t >( J( d(w(("(8(g|(h|%(j(@l|(\j(lj(n| )Hj)z|#)@(/) |A) O)|}Z)ji)g )h)x)j)g *(*:*Л|$N* T*jc*`|u*|<*|*|6* |e*|+*|Y* |$*P|R +|+`|2+|F+|S+P|R`+| s+|+p|+@|(+p|+|+|+|-+|+`|,| ,|",| .,`|;,P|E,|V,|q`,0|k,!u,P|,|],|,g ,!, &-!A- -!-g -!- .!1. m.!. .!. /"9/ n/"/ " /," /8" /D" /P" /\" 0h" 0t"'0"90"E0"S0"H`0|n0|0|_0@|60|0P|0|0|j0|y0p|0P|u0|1|H10|)1|91jH1j W1|c1`|x1|W1`|10| 1 }j1}1 }1 }1@}n1}b1 }]2}(2}m!2 }+2}42p }}>2#}G2$}T20'} ^2`8g2@(}J"r2B}}2g 22 2 3 J3m3g 33 34 G4c4 o4 44 4$ 404H4"4`84D} 5 5g I5b5 55 56 $6 @6U6 f6@ x6PE}6`6g 6X6 7h*7 h7x7 7 777 7F}V7pF}8g ?8Z8Ć 88Ȇ 8 90 &9< D9H[9`n9 9G}9 9g 99̆ :4:І r:: : :: :@ :I};g 0;`H;Ԇ |;p;؆ ;; <  <4<D<0U<PQ}qg<@P}y<pO}<@O}*< Q}&<0R}<t <(<g *=8?=0Z}M= [}Z= \}Xg=\}st=^}{=^}=P_}=@`}3=`}_=`}1= a}=a}=pf}@=g} >`i}>@k}.>l}?>m} P>q}b>s}s>t}>v}>`>>@x}>`x}>0k >}}(>@}}?,?0~}(?~};?}G?}V?}b?}n?@}z?0}-?@"?`}"?}v?0}4?0? d?Ѝ}@}@}1@}H@}_@ }q@0}@@}7@"@m @}s@m @}@}@}C@Е}oA@}1A}x&A}6AlIA}YAllA0}+}A lA-lA?lARlAdlA`}A} B}$B}=1Bm DB}k[BlnBp}BkBwlBP}'B}B0}-BnB}B}`C'n,C}K:ClLC`}jdCl vCЮ}VC0} C@} CP}$C}CCЯ} DEnD};9D nLD}4cD }'zDP}DynDP}\D}D}D }Dn E" E"EP}6EmIEm[E`}uEmEmE}E}yElE }yElE[nFjn#Fn 5F`}cGFlZF}lFmFmF$m F.mF`m(F "g Dpy"g "Fg FGg 9GUGKG,G KG,GK+H@,FHKvH,HKH,>}$HHH}]IP}KI}}0I }G?Ip}3NI}< ^I܆ I Ig I0I ,J@FJ JPJ` Jl Jx JJK"K@#K}9K}PK }fK0}}K@}KP}K`}Kp}K}K"K|p Kp}Lvq"L0}#/L`}=L ~'KLP~YLp~gLpyL~LHoL~;A7oL~L~1L@~L`~M~=Mq 'M~7MXpIM` ~V`Mo@mMoM ~MoM(oMXoMpoM~'M~M~NXq,N~89N~NNp`N~xNo N'p N~N`~8N qN~NpN0~V O~ "O~9O'qLOP"~fO>qxO &~4O`&~'O&~'Oq O(~yOhpOP*~ PEpP-~#.P3pAPqSPp1~ ePpxPpPpPp(g 8PKP,P K Q,,!Qp<~]1Q=~pJQ@@~9YQC~3hQC~xQ Q@Qh QPR FR``R RpR R R RSS ",S@=SL~#RS@L~hSPL~S`L~SpL~SL~SL~SL~SL~S,"S,s TM~(Ts;T`N~HTt ZTN~\gTPQ~%uTQ~TR~T/rTR~TsT@S~_T("T!rTS~fUrUT~2'UPT~54UT~EUrXU?rjUNr|U X~U@X~1UX~UX~UX~=Us UY~Vr V \~4VqFV^rXVvrjV^~'~V^~V_~VrVa~fVr Vb~VrVc~|Vr  Wpd~W@h~V4Wh~ KWh~aWpi~WsWk~WsWm~Wn~W o~X6t Xpr~-X`t~}DXsWXsiXw~{XmsX9sXKsXds XsX,t X`~PXrX~Ys#Y~6YrIYth h [Y$KY,Y(KY@,Y,KZ,F1.Z~>Z~tWZ~fZ~3uZ0~Z ZZ h [[ S[m[ [[ [ [  \$\<+\0"9\`@J\`~c\p~*m\@"|\t \~I\t\~\t \<"\~\0~g]~n]`~] ~5.]P~?]~N]~f]tx]~D]~]xt ]p~g]t ]t]~L]`t ]8"^~^mt /^t a^{^h ^^ __ a__h __ `1`  t``h `` )a Ia a0ah a@b 7bPSb b`b h bpc  9cUc$ cc$h cd( ;dWd, dd(h de0 =eYe4 ee0Ke,f,h Gf,bf4Kf@,G0h xlf8Kf,fxxрxd"y`#y`")yp%:y0*Jy\ yy@h yy` 0zPzd zzz z {{ 0{h"C{@ 0U{h { {t { {Dh | 1|t d| |Hh | |t |  }Lh 5} I} rPh r V}PK}@ ,}TK} ,s }/ } /}0/  ~@/~P/4~0fA~"N~"[~0k~"z~%~1b~@ d~"~~P2;~2~a~p4m  506h?7^N7]opLpMpQ55 T? @W_Y'H :QMcWa<jat ~ t ̀ Th  2Xh ^ G\h x tXK ,\K@ ,l j*(;qKv^ qT|GP}~҂B݁́-.lAT g s `Kǃ ,`h  3dKd ,dh M hK ,!hh "L DŽ\ d k$l ل` p   *4=tN9b%s @LFȅL܅P} &?"JT]mp p}&† چ@Wn؃Lj(`8K `s@~ć`ԇ/B Q g3yF0DP߄ cnԄ  Pˆlh  lK@,[pK@,lډ #0L0B0 Se߅wÅ Ѕ#@Ŋ0݊`*ē"5 &*3A E[pg01rɇvË0׋P` @  1ƆCنUgrz\p Č`1܌j/Bp!]p0#| `$T;Ѝ,l 3ph b{p ˎt /th _yx ˏ| 1tKd,Nxxh x,xK@,͐|K,  ( D S *zpȓ"@H‘@4ˑ`4ޑ4'5A;+7mIp7a7y70 80$̒:UޒPp;E;S ̓"&8M^ qbē ԓ  FSԓ"h|h ?h K5 ,hLK"Zlu~ܓ"pP" 6h g`K, K6,BK`R4\nމ,͕ߕҊB,>WQljdwpU"K ,KJ`,hK,~ΗZE1 R7DXJ{at/X0^hƘ}ؘ@@!K-@S h }ڌ  HdȋÙ0ȀdәȀq ɀqɀDʀ̀k" ΀K-p΀8 lC,RπHbπrЀq0рPҀҀD0Ӏ ԀmԀŚpՀܚ"̍׀W p׀$7ۀGP܀Z   8V   h 00J @ ܝPh 0`H |p ԞK',AKj,~   ( ɟ4 ߟ@ L  X d 3pI]h"u8@ހ`ހހ=ѠKܠ@H, >`H-PX6J@\0sn"@ ơ`١06pZD  J G*`3m=Uah@y| ڢ 2 j  0ڣ @2h bP| `Τ p4h bz ȥć *KY,sK,,0 Ӧ< H T `  l =x J e{"8ħFԧ   @ `K+j5 6@` dJ |c "nIP I 8 +Ҩ"-*b=Uh IE t, p$N̩6`۩$szȇ @ _̇ 0Ї @ ԇ BP]h `؇ ګp܇ 4YK,Kڬ,K ,4L JX ^d upt  ­έ"ܭ8@)K)H  ,*s)+~1+eA,cPp,Y-fh-s-+.rP/006p0`1O®"̮Lޮ2G`3x c Oi    J0ih @ P ;`_K,Kѱ,   0 =  X,lDw"` 6a6IH,@8:ϲ8Uײ86 9V9T:N0;6p;<+8)DP,Q$"[ m>O,`?G ?- X, Gh,e x, ,h =,U ,  ,K4,,NKw -,L-P- \- h- ֶt- - --("*- 6`CIpChWC8g D$wPDpDhD*E0EKEȷlӷ ,FHFqPGHIt!JA1`JD;JDpKmMK_L]v0"L@NG `NQOe͸`Qݸ0Rc <-V - . :.V   .h ޺0.$ .@.J( P.h ޻`., *p.D0 .Kռ.,K.,, /9/ O/ d(/ w4/ @/ L/ X/ ƽd/ p// /4"#/8/VCVbSVgbVgp`WWKWl ,XHľ0YRԾY<Z[Z[=0\c \ ]A'^]:`^}R<"]Lo_Gz0`dd?Ŀ ftؿgK0,7Ka@0,v4 l08 |0 < Y0x@ 0D 0&h W0rH 0L 0.h ]0vP 0T  1*18 1 O,1 e81 yD1 P1 \1 h1 t1 111 @".18;hKh\hlh"ypiHH"iktnf0n2plPmpncPoGt- X D 2ah 02\ @2` )P2Kd `2h p2K&2,62F2 Q2 j2 2 Pzk{P|P}}}}P"ϟ ~&V4bCLn[n}Ȧ p8զ }b6'T"=LPk[Djw`#@2 HH` @PB@4G$@-88@HCޟVcЧl`v0  ]Pk*= P cl 2p 2t :3Wh 3x  3| )03MK|@3,K3,33 3 3 3 /3C3NX"[ 4 gDsZP`p %p ?`gк  *s80M0(]`m{0H`ǁG`ǁxɁʁ́ԁ d /ց2>ց,Pց[ׁNo@ @ځ@ہ.pہ܁݁݁`ށS0@j3@i?N`"] @4 P4 9`4Wh p4 4 .4SK4, h 4K4,K' 5,<L5JP5 ^\5 sh5 t5 G$5d"55h"5 j}+6 Fp"Q9dco`~Wd`r bjk9 p+p9HbY ki Dy5Yp3 # xP88 8`88)89 8K`8Z m{PI  7`>`D@G! - "!#5P$F%T%dp&po'+x `/HIf  95T 5 6h -6F { 6 06K*@6,EKo6,66 6 6 6 66t" 7 !`; 9p; Q;]@@k;@̈ |`Ka,L@a,&la3pa F|a Za ga aa"a `&R&@`#3BT`[gypG ` HD  Ј @b[Ԉ b؈  bh 40bM܈ @b Pb`bdb #pb 8|b Fb bbwb"b 0K"Tps & (@27H2Xࠂi{[ࡂ[2@[CGBhू/@G:@DP b lnD| c c  X cvh 0c @c MPcrL`c,Lc,c c c 3c Ac ]drd~"@d Ra"p`&Ъ(<AJୂEZ1l0|`ЯpQ `"`>.@`95F$ XHeDt `d pd Udth d d Pdv Ld,Le,,e0e (He MTe j`exe"e ෂR@&pиzp,D>@PVbvлpnh 8༂PHD  e4 le eh e, bf~ f f$f 0f ` G5l@D$l [mxp mt m*h [mvx m| m24Ldn,8L@n,lnpn |n n n /nFnT"dn s]0" "d"7W1P 9>oM"_"p "F"" "T ub0* :E X kkv W @ 0W+  5  M @ `-@R "b o,m"o ?0!P"#4`odt To}h o o- do$ $E7$ s %F%% *%O9%0H2D%pI%T%Ja%@K p%{%PO]%`@%Q%pS%D%@ZH%[O%%`&&_&`(&H4&! l  t@*`G&AV& &0s& &@s&i )'PsB' w'`s' 'ps'@(6 i Πs i s((XLZ(s,w(\L(s,(`L( t,)`tL)t)t *)t 8)t  ttT)ti)tu)\") u()e|)d")@ )0f;)pf)) g)@g)`g* * h'* i9*K*n1a*0o l* ~*`$*`uH*za*P}* *0~* * #+u=+ s+u+i +u+ ,u#, a,u,6 ,dL,v,,hL-@v,-lv!-pv 4-|v A-v \-vp-v{-h"-v - --@-w-`@-l"-.Q.#.5.t i..i .. / %/ a/0/@/D /j/R//x// 0 09 0010E0V0n`0i0t0%~0@0000@0@0]0p00t0 11p&1ƒ01ƒ-91ŃL1ƃnX1P̓e1p̓ o1`x1΃K"1i 1p1 22ĉ _22i 22ȉ 23̉ R3ˆ i Џu3Љ 33ԉ 4#4؉ Y4u4 4 4( 44 @4H 4T 4` 5l5.595"F5HR5^5k5w5p5055p5555p 555h5x 6 6 H36 D;6D6| S6b6r6p H|6 666666P6666`76 7@87$7y,7 &67$i e7 ~7܉ 707 8@28(i ^8Pt8 8`8 8p9 T9r9 99 9: $: @:ȑ K:ԑ d: y: : :::4:":`P:6:6;p8; 9; :s';;_2;=;;>G;?T;? a;B>x;B;@O;;H;P;S^;T;T2;V;W;`X<Y< Z+<\4<_H<`[<aj<z<b<@t6<,i <Ē< =Ԓ+= k==0i == >!> ^>>4i >$> ?4%?  ]?D{? ?T?d ?p ?| @ @0@ F@ [@ n@@ؓ@@"@ P@tW@Pu@p@@@@"@`zA0{APp A0*A3A/BAp[{ NAWA`APhA cwA{A8i AtA AB RBuB B BBԔB"BBB0BC ;C XC  C0C)pSE(SKSLSMS0NSNSPS S4 [{SxLS, T|L0T,?TPcnUT fmTTcWT dTeTf: TTi TUl =UXUp U U0 U< UHU` V Vp.Vp8Vpn@V q4IV`sY]VtfVv}qVzqVz&V{?V~eV`)V,V^V V0VЉV` VW W!W1WP@{0C{J{d{L |L|d&|Q3|R?|SN|0TY|De| Ujq| |Z|\T|i |D| }T}Ċ Y}dz}t } }]}^}"}^,}^}_U}D}e ~ b+~Pd($~Pf1~@gD?~jxL~Lu~,~i ~,~Ȋ ~<̊ QLsL`,  Ppr" x$/"@"N@7[`IgLu " " " "4Ā$"̀Pڀ` %@j5L"AjOH"Y jjP"wԴ   LƁ,L@,:Lp,LÂ,L,1Lf@,L,׃i %LU,pL,L@,L.,Au ri ˅̷݅ds@m)p3Է9ইAG_ mh"}ງ{ 0pDD͆i X Њ >hUԊ x  Ӈ‡ ‡ ‡0‡ &@‡7PÇF͇}UP͇}epLJtP·i (Ԉ؊ 8 ܊ ]HL`,Ӊi LM,f̹ rع PӇ"8i j L ,LJ`,.jԇhi 8L,L,,<ՇPRi LM݌`,M;,\̻n@݇i ύM ,. Ma@,l߇Ďi MP,yM,ҏ  7i i8M`,M,i ̽1 Ml,$MƑ ,LT` i Rxn(M,ϒ,M,"i T p0M ,͓4M`,.@ UeFq@0*@u66DʔהS  N" pGD.P>Upi vPADw( Lѕ`ߕpP-#p_0b > R<` )nt|–Жޖ,i &p< n —8M!,i I DaWif0j 8 ׵< )J@M ,4j ۶LDM/`,RHM{,  ÷зHh߷8j @ PgD ø$ ͸0 <`MMjM70N2PNJPZVRHakPUv`WuW 0"<"0Mp\@n`um@)dppDhj l u ;|Tlj @" ""t`*6D"ħ" X"@ "( "4>аNiy൉pj |M,(M[ ,yM`,M,8`d"*u ^ztj PШ"@Ȩ"` ~%P;aOPĉ"^lj ǫ"~pщ։ M,M @,>Mj,xj l#|j #j H RoL $   $.<=`8MP0\"kW}&@#ܨ"p;"%"K0"ب" 0%4j Zj z       (" $"p d&2p;@IQPX"f"u'p749p A$PCkJBj 2 Fj l |M ,M!,M7@!,UM!,M!,M",, u ^,"xj <"$u L" j Y\"|(u l"j |"<":@"_(l&~"P| j ",u %">j i"~  !P` p    А.I"U`ĊGeĊJw]PQ"t3'C# "- #X9ЗHWAdЙ+p+|08"p%vpl"`C`CŊG#$@н'%Ċ1ɊBh"O"]ɊHnʊ{j #0u #j H#i4u #j #7Mh $,j L$8u \$,j al$d(Pn,mT;`(PMy(,M(,j (Xu U(~j  )M ),/j "0L)5\u i\)j l)|) 0)oIPt8tf|v!@30kG$OЄa Ju@=1$$/1?1[M2,M @2,3Mq2,M2,MI3,xM@3,M(3,XM3,N4,NW@4,}N4, N 4,-Nl5,N@5,N.5,PN5, N6, $NC@6,g(N6,,N6,90N{7,4N@7,8NK7,n`> mx\" > j (>j 8>4lu rH>k X>h>` p ,8x"C"Mp"V>f>oP@xp>D0@pR*mpm>xO@0\ $"f(x>N>,k >NT>,tk  ? k ?N:@?,Opu l?k |?"??"`98"Op9)f̪"s9L"Ī"9CԪ"@:;#Ol# ],#O#`],#O#],$O.$],@$Oe$ ^,u$O$`^,$O$^,$O%^,%O7% _,C%On%`_,%O%_,%O%_,%P& `,&P6&``,B&Pe&`,s& P&`,&#&t"&`d&PJ& a&a&P ' a='Xk c'0as'u '@a'\k 'Pa(`a()(P-?( "P(daZ(P)q(`k (ta(dk (a(u )a9)hk g)a))))@B)G)PO)G) b)b)"*" *"*"$*".*"7*"D*-M*X*"e*"r*U*b*5*@*b* "***@+!+lk S+bo+pk + b+P+@b,,tk ?,lbR,P,b,,P,b,,b, - -"'-\ "2-D ";-<"K-`<"Y-h "i-P "u-@"-- - -c- - - ---xk .c!.PI. c,\.|k .Lc.u .\c.k /lc./|c?/$K/k p/c/ck c/ P/c,c/ 0  0@!0,z,0`0+501A04dH05R0:\0t"=>x"]>|"|>`n>q>k>uz>k>`vI>k>k>k ?PM?l,{?P?@l,?P @l,E@P@l,@P@m,@u A,m/Ak ZA+ca>+ra?+za0FaFa0GaGa`KaPOaObUpbV*bpZc 7bejKbPgXbpjlbpqKbt\b x b0~"b`bb$b`" cpbc໏p/cP!Hcp^ck ccPQc,cTQd,.du _d,xdk d<d"dx"du eL+ek `e\el eɏeʏ%eˏeˏep̏kȅf͏"%f͏"9f Ώ7Jf`ΏXfpяmcf0Џf0я6fяfӏJfՏfՏfp֏_f g׏g؏3g؏#Pgُ^gmg0ڏ^ gk ggpgOg@g@g"gk hP"hu Sh`lhl hphd"h d"hhhl i9iXQji,i\Qi,i`Qj ,.jdQcj`,jhQj,jlQk,kpQNk ,lktQk`,kxQk,"l|QQl,klQl ,lQl`, mQ@m,bmQm,mQm , nQ>n`,[nQn,nQn,oQMo ,noQo`,oQp,$pQYp,ypQp ,pQp`,qQLq,nq0{qPqpqq"qq "qqq"qr(" rrM-ry,Hy' Vy ' dy0' sy@'Eyl y`y'8y'SyP(Ry xz@#z"9z"Fz"UzpkzDzl zxzu {J{l {{ {F{GQ{@H{`Jn|`N\|Nx|R((|V8|?|u p|ď|l |ԏ|[6|X"|[r| ` |0`/}Đ}`%}(+}4}gpK}0h_}ru}T}u@}@vT}v}w} y]}"} |V~<~`d*~"5~}}D~'W~/h~8|~D~~~~Ȑ~~~PQ~Y~~$" Q7,ORy , l LT \X [l~R,̀$l RO,nu (l u 0 H,l r R@,Rڂ,H   0бQ9<"I4"SPIl=u08"R@,R,'RW,r0L"T"Ʉh"քD"H" dP" RP,nu ̔0l ܔ$R7,U(R@,,R߆,0R,,F4Rq,,`ŐKt"|"χp"00Ɛ64l >@Uu P8l `@ @ΐf`ϐ,`"8Fΐ8Y"gΐjn"}PАd"@Րt"ˉى ڐ\ *pI`,WR,R,ѕR ,R:`,K{Ymx"Xl v \l ,ĞA %V"c"oԞ}""p0ɗ[" ""#)+'|30(M>K"Y"oR,͘R@, RP,R,`l DܙR,3dl e,><D01"hl ƚLٚ08G920:+`2"<"E=kQ"\R,v ̛ll %RT,pl Π  n"~""RȜ@,0Y9l[s ] ^q%_4v e|~tl  $"˝ԝ v "xl Of "t~6~@ ֞Ј' "ЇO" "")";"N"c"i u~ ʟ|l l /HR ,l LR+`,FRr,l ,̢R,ԡR ,RJ`,dR,RТ, av :,Tl <1@"ϣ`""!3L?pmUhm਑m¤d$Ф]pl +\Cl sll |ݥl !v Wul |$̦:ߦP&еr "%"7Ob"q[l `ɑ8̧̤ӧ"ۧv ܤ/l _yv èl    ܑr"#"2ݑ>ߑH*S@]8fq`){H0$ Fl lX v hl /xC$v vl ժ(v 'l Vo` }pQ50<"X̫,"ګp0"4"(" "!8"0 A<p F `@ j t ro`$Ȭ8֬@!9$p$Ml =LJR`,Rݭ,R3,SR ,R׮`,R#,@@"Lpf+Zd"afBkx`"X"\"h"gYP"L"ɯT"֯h&߯kR,2R`,yR,R@,S5,NS|,Sñ,ܱh ,2l _<vl L²p \",v Rljl | ų ߳K )%"$ '."5B"NT"X"]"f"n"{P9j& t ۴l &=x p| Ƶ S,,SZ,sS@,S,S/,H Sv,$S@,ַ(S,,SK,d0S,4Sٸ@,0v "l:l d|x  Nɹ"Թ"ܹ"%@ PG"&9"G@Q^Թd઒t"དྷྒ' l +лB u ˻8S,703'(m `S$,ASh,z\v ,m <`v x 0m S(@,ISz,dv 4m hv Oj8m   Q'`ZpeS5 ,SS`,S,(< ,P"P$@0<`O"_"j y ࢔(ࣔ 3<""""8P"pn$"."8"DK D^("l౔x($ ""೔H'0\"T" X"pO&ÔO5ǔCȔCQPɔ8\"dʔnP͔M|ΔД`Ҕ@Ԕ֔֔ݔ`}* S @,=Sn,S,S,:.G"U"^@g"v;IS<"$""PRSU " ""'"4"@mGK"\T,Hm T,0 Tb,T@,T,TO,jT, T@,$T3,O(T,,T,0T@,84Tk,8T,^POhp` y1D"PU,TU; ,dXU`,v !m Og0|ഗė_ŗaʗїҗpԗ/֗\d"e""ח\""`"#m L_*j.JFB26:>"#.N 7B N N(N]Nlu z""@d` " 5 P  % 2P "  "%19"BSpc0{t  QP"k"3"9N 9@m \UB,Y`U ,dU`,hU,0v `xm lU ,pUL`,eLsm@Q zNTUqPV$]IP]""P__X"`I``&2bE:`b<Kc![pd8ie|0moz@`w0o6pJ\"&5m c8{m Hm Xv /hKm yxv m #v Uom m v 4 W m  v  m )!A!tUr! ,!xU!`,!|U$", #m >#@"Uo","U" ,"L$T"@ј7"`Q"Ә-#\# "# "(#v Z#lt#m #|#@#P #`#p#$@$ $-$ R@:$0VI$T$)`$`l$$`R$ "$ "$ $$m )%>% o%% %%U&,1&U^&@,v&v &l&m &|'' !' 9'H'0xS'ba' m'0C'('' '8'm "(H:( n(X( (h(v )x6)m b)x)) ) )V))))P8)* S* "* Z*|*m ** *+ ]++v ++m +$,4',8 4,D R, `, "o, v{, ", "$$S,,,,,i, -+-m W-m- --ċ - .m B.Y.U.@,.U.,/U@/,V/v //m // / /  0!0!2'00"60P"(G0"W0m 00ȋ 00̋ 1;1m i11 1 1%14 "1S1n 12v V2 }2n 202v 3@)3n W3Po3`32=3S4363U3,4UR4,{4U4,494944;45d 5` "5<!5D "*5@=65DI5X]50>%i5`>s5L "z55E5 B5pZ5@5A5G50KP5L5pP^5X5]J5H "5`_ 6 `6 n ?6lU6Ћ 6|6ԋ 6n 6U67,Z7U7,7U7@,7v 8l08n Z8|n8 v8 8b8b8c8,V8c8@d88 "8Ѓ9 "9 "9z(989P9H\9e5j9q90f9QV9g9DV 9V9`l9mg9pm9Pnx :n:pp$:v6:_VD:y}R:@|]:p "h:l "q:v "z:؋ :(:n :8;܋ G;H`; ;X;v ;h <n 5<xJ<U<,<U<,<U= ,/=L@=P I=\ c=@"m="w==V=H==qV= "= ,"=0[=> >">3>"@>`:T>l>P>>>V>P>>U ?,?UP?,l?U? ,? n ?L?$n @\1@Ub@,~@U@,@U@ ,)(n [, AUHA@ ,cA,n Al AUA ,B0n 2B NBUB ,B4n B BUC ,78n i, .CUaC@ , x^47`^ ^^ ^(_n D_8\_ _H_  _X `h %`t7`x ?` Z`Эfi`@Cu````V`,`V1a,Oav a,an a<abgbg&b t4bȚ>b "LbƚZb"ibsb)~bbgb2gbpÚ?bŚb(g b˚eb$ 3cRc( ccn cc, d&d0 `ddv ddn e(eVKe@,ce Ve,e ee e eКDeϚepؚf` f ܚ?(,fӚkSg"aghwg6g g@kgggggh`e?hpWh@uhh0DhBghA1hihihhi"i j0ip"V?i"Ni#^ipimi$-i'idi i`ii"iii++i@+i0i3' j"j71j>Kj?djAguj@hj\hjthjn jj$Vk ,1k(Vfk`,k,Vk,k0V l,&l4VWl ,slEWlPFlOllNllFxmpGmi R H!mM#0mi>mN#MmOp\mvmOpmmmQIm`Qfmi mQmRmn"4nPnUdnPV~n`,n87nD7nn !o4o8Vfo,oqPVuq@,qTVq,qk5q@"qp,rrBr;r*Ur@ erPqr@n0rQrP(r3r*r r1r@1r4 sOsW-sp?Is5esrs'ss`sss t@*t@:t0bEt`t "jt3|ttpt`tttn0ttu0uО7uNu`juuprunu1unu0cu vp'v w6vNv0evв |vഛvpvv nvʛv˛  w<7:wH7kwxwڛwۛ wܛbwpݛgwݛwx x|v x||n ||XV#} ,E}\V}`,}`V},~dV@~,d~hV~ ,~@)&~0)~)~p)K~p~0+r,<,)",3-H-@d-9w .:`.<.<Er`rr00Mq 1Kwq\q#;g.<$wyq9COMpI\WPHdG_mAq|r)qqrqǀqրqyr/rqw Jlln |w n E`o;r0p?pr q4ǂuXقv| wWw:zs-js<sHsWsfrss5sIs ȃRs׃vvu  u(/G#[ &o@)`,/#vԄn 2`" Ĝ&4pCp/M;v[w 2n 2`Ȝt"#ȜD8`vFzQʜ_ zj˜$x˜˜˜?0̜"`̜͜ֆtvМJv w`v &v"5zCp"G{U k!zp0vw`w`@x`͇x`އy``y`y`({&n O3bn {@o{Z{@{"ň|ֈ w 32n f3 0Pɉ`؉poS@| 1$`|,)`!5(7k4 3ۊ8 4En |4< ڋ$4@ D44qD4 P4T4 `4  B||0$_,|:"CP }_;}n}P}j}} ɍ0 qӍ jݍ~  ~ ~ `~04~#}20< IW}f}u}~~ w َ|4n )4D0&dO&[& f&n'~0(oS"(8H)8HP)8ҏH)8)8~H*#@+(+;,F-$X-tg~v0.P/%0h0 04@(ǐ`5ѐPސ66P77@8Ȁ+095P96>:J@<T<^AiCw(pE(GM~PI ȑX ב`J)ߑPP7T74X7Z\7~`7D ݒ4H 84Wn 4L ѓ4P )4M6 R@WP\Xahfj ktpv|ҁ4 4Δ4 ֔5 ODO @Rq  X. P;0P'K`Qe4 tP~0 ~$- DA NϕؕDߕĂ 0,5$5,(5><5H85U"b05n45xn @5lV`5,)pVm5,tV5,xVM 6,r|V`6,˘V6,$V_6,VÙ 7,V'`7,MV7,Vݚ7,V+ 8,Hfu<"~ |88`Û8ϛ8؛Dh{ 8"(?YS p0zxx8ƝĜǝԜp8ȝ0"4"38B8Tn ~H9T X9؝X h92w fx9n 9Ȟw 9n 79JV}9,VП:,V,@:,SV:,V:,V6;,VV@;,V;,V7;,[V<,w ۢ,<n <<4L< =X< T@"dPstuD"ɣkܣ H"p VJ<,uV<,ؤV @=,%@*/T"8=?X"GP"\L"l\"v=`"-V٥=,V==,gV >,Ȧ w L>&n [\>z$w l>ħn |>> ._#p.C-6B8 7:B73L78]8l>>P9o>9X ը@>A>>VT?,wn ,?ũV@?,Bn 2Bl?VU?,Bn B?{V?,ڪV @,%(w c,@n <@,w L@7n g\@0w l@Ѭn |@4w K@gn @8w @o 1@K@]@q@@ qD"îV@A,,VjA,VүA,V<B,gW@B,԰WB,5WqB, WѱC,W/@C,TWC,WC,WPD,o\"y W`I,$WI,(W)I,@,Wk J,0W`J,´4WJ,8W/J,DP?No !W8\ kW` WW W  ?( ? 6`@PAwgA-~CGI0JLT`U*WH Xrg@xrw$ "ෟHw @Y6 o gPYLw `Y$o pY,Pw bY(o YTw Y,o NYhXw Y0o Y\w ;YX4o Y`w Z8o !Z:dw o Z|,c@X|,DX},!HXZ@},~LX},PX},BTX|~,XX@~,\X7~,]`X~,dX,hXZ@,lX,pX$,HtX,xX@,|XB,kX,X,#XW@,vX,X,,Xl,X@,X9,cX,X,XU@,vX,X,6Xr,X@,X,,OX,X,X6@,VX,X,XK,oX@,X,#XY,zX,£jpIE )!"A#MNX,@H#.s.0uw0yI˥7W!("eͥ.s" "ѥ0եw po 2LX ,X`, XG,mX,X  ,1Yr`,Y,YE,p Y ,0ۥ?  =`),, +Yc,Y,Y ,8Yp`, Y,$Y(,M(Y ,,Y`,0Y",B4Yu,8Y ,!&@C-&HZ`&,~&LZ& ,&PZ'`,'TZQ',q'XZ','\Z' ,(`ZP(`,r(dZ(,(T"(T(T(U(̢(&" )&")&D"#)&",)w _)ܢz)|o ))c )d-)8") <"*e* 8"K\!*/*06*sG*_*r**@ɧ*[*hZ*`,* +<"+$+::/+;B;+P;CF+<W+4 ,`4Z4`,4Z5,*5Zf5,5Z5 ,5Z 6`,C6Zw6,6Z6,6Z17 ,V7Z7`,7Z7,8Z@8,g8Z8 ,8Z9`,!9Z\9,9Z9,9Z : ,,:Zc:`,:Z:,:Z;,7;Zr; ,;Z;`,;Z.<,R<Z<,<Z< , =ZC=`,g=Z=,=Z=,>[T> ,x>[>`,>[ ?,(? [Y?,u?[? ,?[@`,#@[Q@,j@[@,@ [@ ,@$["A`,;A([gA,~A,[A,Ao A Bo 5BOB0[B@,BpBxB`BB`="BB C= "CPO#Cp\1C= ">C0bKCXC4[C,C8[C, D<[AD ,aDГ"xDD="DH>"D>H"D="DPDD?D@[0E`,UE@ZE IaEp|jEPwEPEEEx EDpEo EĸEw 9FԸaFo FFFpFBFF@GB[{(GP!G/GL"8GHGUGL"]G`fG Mx"mG tGG{GM"G8G"MG %AGp%GM"HM"6HDH +VH,eHrHH< Ho H(Hd I8Ih TIHsIw IXIo IhJw 3JxIJo qJJo JJD[K,(Ko ZKvKH[K,KL[K@,LP[QL,qLT[L,Lw LLo &M:M BM XM$jM,|MWMpYMXM`bM|M\M0lM@oMM"M N " N`qND$NX[bN`,N\[N,N`[!O,EO@$ROHN"WOpiO0*|OGO\O ROP!O@O\N"O|OrO8O@ P#P ©S1Pũ)OPpԩoZPPePppPFPPP0P04PpP*PN"PN@"P PQQQ*Q$.7Q@%ECQ&QQp- \Q05b jQd[Q,Q?/QPCQD_QPGQIBRPK R`LRO%RX/RZ 9Rh[nR,R$O"Rg_Rl RSo ?SYSp S$St S4Tl[LT`,rTp[T,Tt[T,U *U 9U VU(O"hUj;tUjUkUUPuUo U(UpuVS"VS"V0v0/Vd>VS"JV`v\XVwfVS"uVxV~ZVx VVo W)W| \WuW WWw X$%Xo SX4kXw XDXo XTYdYh Yt 8YNHYŪ+\YŪ,gYS"tYpϪv|YϪYY\YYS"YYx[Z,7Z|[pZ,Z[Z@,Z[[,.[S"=[T"L[ X[ f[$T"r[ T"z[U[`T"[[`K[ [DT"[D[@T"[P [[#\`,;\o a\q\[\,\[\,\[,] ,H]w {]L]o ]\]l]Y]]}Y6,gP>F5g>CgpB\QgE ^g ImgL`}gPg^g^g`q%gqgpsgyggdX"ghp|P h$h`X":hHhUh@bhЁlhxh?hhhP.hwhhhзhhh«h@īiɫihX"iЫ$&i[di,i[i,i['j ,Mj[j`,j[j, k[Hk,nkЫkPҫkX"k kګkԫ&k0ԫ2kX"kw l0&lo Ml@^l[l`,lw llp m7mܫRm`YP"ZmP߫gmum"m"mzG`zB{z@hzPzwzzz"z"zs{""{.{"9{"E{ "N{&qh{`'x{0{4{5i{9{;{"{{| ?|4^|Č |D|Ȍ |T }p N}df}̌ }t}Ќ }~x D~Z~ p ~~[~,~[,[D@,Ux l$p |   " / JWCc@X/}pX)XXNxXǀ0ԀPހv`1+p46C@~KhW0fnw` f @ :` ʁفPH5@ "`*Po4@K`&U^(p Ԍ ۂ، 5Z,p ܌ ڃ 6\0p   Є0 $@F ~P Ӆ` %p@ N j y    φ    24<,"H`PS@@"d r0 @ P`J҇4p `(pU6"F"T"cжt`O``"Ɉֈ8p ­()­9íGí-S@ía0ޭKr~0˭έ-0(+؉ Fpe.`'Cu Y "W(f@v`p7$"0̊܊U `` # [{ <"H/">"M lSJw a w p0w @w PwPx Ə`x֏x{I}S% 1@HU0`0"l"}d" `"Dp  \,@,D x |lHp Α|x >Lp nx ܒPp &x \zTp ēx Xp Hb nТt~УWP# x ͔,\p <2>IZ`c`nL}""$x Е\`p $lA`(Re`-$-.-"""ӖP. "d@/X*A/1Wj/]{@0("104͗4ޗ"p6 " "/;C$]<mp= ~Idp 8֘(x H@hp {X,x ݙhlp 9xZ0x pp pc cA d-4"78"D@"Ve0"r`eF}fgtp ˛D4x %TFxp yd|"l"pœt"͜x"֜p"j,X"d"7T"F\"V0d"m@SY,""``˝Zޝ|p .p Q^8x p ܞ\',E\z , \͟`, .W\,Π "x *?& "0?&`??@@J@2"9I`AYBPf "r0CK~`B""CC1EHE) F0J0Q/`S""*@]5O"X^cheWu fD"|pf@g5gh"0kne0rx0yY#y. z7@}A"O"a"kRx\,\,p * @x tp ,x"x"0 ( ;ԴvJԴ4\`sԴ"ִ""HD@\7`,X\,p x +Qp \,\@,9p bluq | Iq ]H,6q gBe07rpP0c0  b\"X"` `"!p S9 7Q.fy a1D"d""//&@"]" ,I q |L\Z!@ZgZ],. ]g,] ,]`,=]s,], ] ,:$]m`,(],,],C0] ,4]`,8]5,V<],@] ,D]N`,uH],L] ,+P]b ,T]`,X],4\]n,`] ,d]"`,Ch]u,l],p] ,0t]d`,x],|] ,-]e ,]`,],6]m,] ,]`,7]n,],] ,:]m`,],] ,']] ,~]`,] ,.]`,}] ,]` ,!]S ,p] ,] ,].` ,C]n ,] ,] ,]#` ,7]f ,] ,] ,]E` ,]] ,] ,^* ,D^p` ,""ad9 KpHX"(P"9T"IYYL"c^ , ^ ,^E ,^^`,^,\"p," +^W, xq =x,C<n`~ """""0 "+"E"d "|h""4"""d ^,,B$^u,(^,,^0@,U0^,4^,8^%,H<^@,@^,D^+,CH^v,x ,q '<Fq nLq \l x  8"@ P  `" $. A \"I R X"[ T"e r x  q   j "- ": "N \ ;p  " "  " " L^ , P^# `,9 T^q , ,]  " p- " " "  2' X^Y ,v \^ @, `^ ,  d^9 ,S h^{ , " ;W " " < = "  " $q @ @R l^ `, (q    >T  ?! @E3 "A "P Ee PNz P " @ x4 @x5 x y2 @z z p|Q `$ }V, $A $T }c }q }0 ~) @~  P~2 ~M ~M 02 p  R# `R< F Q 0 \ @ g P p @y < H  0d D D  `#  "  $i B& ԥ3. >9 HA \1S (b sm ,1z `U  ة ̪ `  d + C ,. Ta \ #$ 01 > ص)I |T ` ln {  켶e l g X  ; g | , $ E l %- C (RZ |r #I \ % T'& X l   9 'Q u/ $SF 8Y i D%v &b   L \! |!1 "B "j `#k $,/ D$E $ d$ (s$ $ $ M$ p $ $ #% =% <<Z% Ex%  D% 8`% % H%  +% 4 !& =& jZ& l& & X& C& 4& R' x&' 0 +H' a' K|' A' L' E' '  ( \  ( LB( ~0j( 9( z( |( 8( N) ?$) DC) ĝ`) l) 0{G) <) * t6* Dc* ^ * (l* * ܄#+ ~O9+ ܂d+ $o<+ + t~B+ ЇM, 2&, P+Q, `, `y, u, j- ,-- L|]T- o- LK- - zL- Е4- |. 8%:. 8X. ||. u. D5. H. / $+>/ (x`/ S~/ I/ '/ X/ 0 S0 80 70 U0 *q0 50 #0 P0 0 0 R1 :1 fN1 <k1 1 D1 (1 LA1 <1 2 e)2 GH2 f2 `2 +2 2 lt2 lE2 3 33 lK3 \3 l3 3 @ 3 x,3 E3 L74 Q04 B4 DDf4 (4 й74 K4 (j4 C5 |$5 \K?5 l5 d5 5 L=5 +6 6 HS36 s%O6 xDu6 Ď96 oG6 $|M6 `<6 7 ?)7 rBI7 t|Im7 $4}7 }7 䋺27 y7 0w8 xc<28 L{Y8 TyDq8 z|8 xK8 i8 0y#9 9 o=9 j]9 y5t9 |l9 \R 9 8q9 y9 腺': ɺ > ȨS+> sa3> ȔB> S> g> u> ȯ> r> D> !"> > Ⱥ"> ䷺? (!? }*? 4@? ,S? x\? /j? Tu? X? D? mF? T˺7? po? /? @/ ? %? @"D"H"*L"9P"@  9@ %U@ ,q @ %@  @ %@ $ "A &EA & XA (& dA 4& ~A @&A X&A T"A p&A 8BA 09AA 9A 0;} B ,B ;*B <?B =NB @?]B ( B &B , B &C 0q DC &aC 0 C &C 4 C &%D & b _b yb `b Pgb 'b "b 'b b }b Pb #c #c @ 6c `Lc PYc "cc qc c `c !xc `4dc "c c c ?d 0ad H,d :d 2Gd č d 4d ȍ d 4d Xq 'e 4Ae ̍ we 4e Ѝ e 5e 5 f 5 %f ,5 4f 85 Qf D5gf \5uf 58f 7+f 07f @7f f `7f f p7=f 7Bf 8g 8y g 8?g $g ;85g <#Ag Ph OLh OYh P dh Dh Lh LLh P#h PPh Q(h @Ruh Rh \q i M/i ԍ gi Mi ؍ i Mi 0M j 5p ДMDp f\p lp @ }p P[p p tp p 0p p p p p [p q ƽq q )q P3q ;q OHq "Tq O_q Ohq "pq Ovq ൽq q 0Rq q q "q ½q Ľq pƽRq pǽq 0ν}q Ͻ q нvr @Ppr @ҽ<r Od$r lq Vr Prr  r Pr  s P2s pq cs P~s  s Ps  t Q:t tq jt Qt  t Qt  u 0Qx S,Qx xq x Sx |q x Sx T x T y $T -y 0T Ky Y `" dd @% I[0 pI; K=G `KxR d"\ ^ `e, ^ e, h" @Qx Qd 0R* PR 8 pR G RU Si Tv fP @0 U* `f8` f q ؘ f d f8 h t f!f  f  f  f̙ \ۙ _z `` ` Pf3 gT+ 4 h> jI l!U nb `qss y zb `{ | |Ț } ۚ ~ p   s p  7& / `: 0]D O p Y @g@b n { % gp"t"Vl" q ̛ h l  h8 p x h q ˜ h t  h. x k h q hZq Zhܝ q  i* | c i  i؞   0i* @i 9 Li V Xi b di | pi\xi i i  i ˟ i ޟ i i i x" jP+ ѿB "V ѿRk "o Pҿ  " " " " Ќ" `Կ. @l" j@Р Կ ޠ Կ Կ   ! `տJ. տRC ֿ%R @ֿ]` ֿ6u ֿ~ `׿ ؿ  ؿ! ٿɡ ٿ;֡ ܿ7 @ݿ) pݿ q 4 kR  k  k @;? 0k R ~e `W g p/ί V H @ @@ g @  GҰ k @L$ P ip 0 0/ @Vٱ 2 S9 .f 55 Ȳ p3 @~1 2yf o `2ͳ > 04u* ^  , , ,! 0 X @  P  `  p  * O PNv  ;ƶ 0% `/( /R  0` g̷ 2 p& `a @ vθ @K \3 B` @3 2 ,zܹ 0- P/?) 0WQ 09Fz 9W ;Aպ <& P?9 Cl PL  `L pL׻ L LB Lt L% L%̼ M 0M) `M9A M#h M  M ҽ N  0N/; `N/o N Nؾ N$ O$C 0O~ PSĿ Sk `Tf. TVf 0U `\] ] `c e3L @fS f g phR? h.| i i j k59 k [ lF @m> m nI t t E ti t u  u @u\9 uGv u# v+ Pv# vG vhI @w0b pw x) 0x Px pxs) xI y`o PzB z @{? {H {;) p}X @ " B *- *W ] `d І `e+ ЇlX @b X : r \ / PR prm m  L  .% 0'S    6 '4 ] 08 p, f I `%0 #d # ?  `L8 0g ОS 0t S" "L @  o o ] L z @$ p   Q    Ц * g    ) P_ p  % ' "8 !g @ `  ^B Gx @ Щ `5- nl  R W `zT 9 5 J a( 0 U P  p` а9  P1 `Z p  T " 0# `"A Hw # 1 Z `5 f '  @ pe : m , P$  oT    ]N p 0 p L 8  PK O    &] @]  0m5 K  y jh  . 0 , @` P ` pa jY P2 , # PC @R  0 6 u @  1 ]    C }   01 @} ` pU A pq 0] ] !0 9j `~ ] @]C { p A P N $   o' (_   0  @  P  ` 9 p f        '  Y :{     0  @! G[ `  w  k" @ ^ P _ p  @J A n     : 5a @Y 5 @7 `k  / _X @k ]   !" P R `!        0  \        Q 0  @  P L # @![ !" " 0"# `")) "#U "3 #I P#; #" #DI $_p `$] $ $ %' &HM P&nr &7 ' ' , 2 " 2 L @2#z p2# 2# 2& 033+ p3W 3 3 3 3 3,  4%H < = =& p= F =  = ># P>)$ ><_ >; ?\ `?  AC 0Ax @A A$ B+ @B^ PB# B- B[ CWU pC# C C  D5 D#` Eb pEy EZ4 PF=v FB F` @G: GI4 G_ G H H 0H7" pHCN HVx I @I `I Ij I%K KS LL L `m7 mp/ og pp Ps ub w  w K w z w  w# x# @x&4 px#d x# x; y y @yE Pyo py, y y% " ^/ `,J {Cf `{ o Ȑ"z { | @| |H 0} ~  А" p  G d  ̐"  P( 01 P,: F 0X d Dt X p q  x  ( I    x   q 4 rq rȎK ^ ,psq s    ( s4rt< D Ԑ"  " " "" "( ". "4 ": 4"@ "F "O \ $"a &"f ("k *"p ,"u ."z " " " " " ؐ" " 0"  E  8" <" @" `p& `/ "5 q _ s  $  ? ? @* `" p   ) \"& 5 bF h"R d"` Up KP @! p q  < q  L& x W \p q  l %  0, q  | r B V r   ` "  "  r  )  ` }   ̑ r  ܑ + I ` o " 4 D H   ` r "  ĝ" ̝"4 ԝ"L "X ("h ?x  0 E " r  ` ^# ,C ^k ,~ p r   r   r " 1 $E $Y @$l      F M i    1 @ `% "3 NF @%T "\ pSm "|  + @  @a = " r   ^B ,`F$r F̔SGܔa k 0"y  p P"  ` " 8 4"   2& 0 `": 0"D @$S @P_ (r  ^ ,! ^)! `,;! ^d! ,x! d! t"! ! ^! ,! ^0" @,L" ^}" ," "" p!" !6" !}" "" ȫ"" "" "# P"#  '# 1# Ы"<# ԫ"H# &Z# +j# ,r # # 0r # # @/ # P/  $ `/)$ /3$ 0 A$ 0 S$ 1e$ 1^q$ P}$ 1-$ 2h$ "$ 7$ :'$ :R$ 0;$ < % @% "% ܫ",% B:% PCM% Da% E s% Eo% X% % 4r % %  $& @&  & & 8r & З&  &' B'  ' ' ) Ę M) И j) ܘ|) ) ) ") ") `GR) ) G*) H) Dr * $+* K29* KG* K7Y* LIj* pL{* @* MT* `M-* M* @N;* O* Hr + P+  P+ `l+ Ď + p+ Lr ,  , Ȏ X, v, ̎ , , x - 4- Pr d- ~- Й - ܙ - - - - . 0. " . H.. ">. `J. Y. `P!f. ,"m. PQ'.  . Q/. Q. ". RG. ". Л. `[. P\3/  / "$/ "2/ "F/ "Y/ bgg/ Pct/ Tr / / Xr / / i0 n=0 p0 s30 O"D0 ptMP0 uP_0 v$m0 @vz0 v>0 v~0 0yM0 @z0 H0 P"0 Oh"0 OH"0 0k0 pf1  1 `"1 \r :1 ȝM1 ^1 ,1 _1 ,1 _2 `,:2 `r ]2 j2 h"t2 x 2 2 dr 3 23 x f3 ̞3 hr 3 ܞ3 3 F3 q3 hj"3 `j"3 lj"4 @4 pj"4 xj""4 `h"&4 j"-4 %84 kQ4 $b4 l4 094 z"4 p4 lr 4 D4 Ў 5 T85 Ԏ v5 d5 _5 ,5 5  6 ğ!6 ܟ-6 z";6 H6 %W6 "c6 "m6 "v6 "6 @{6 "6 "6 pQ6 $6 л7 "7 ".7 p>7 bL7 "^7 [k7 "{7 "7 7 7 7 7 "7 "7 "7 -7 "8 -8 pr 88 (I8 _x8 @,8 tr 8 l8 8 8 8 8 8 ՠ9  9 9 9 (9 19 =9 E9 "O9 $Y9 2t9 @A9 D"9 &9 9 X"9 $"9 `"9 \"9 d"9 "9 ! : ": @7: 0': <: T: kh: a|: p4: : H": p: ": ^: ": ": " ; @,; "'; "6; WD; @OV; Wl; h"w; P"}; T"; ; "; ("; `"; \"; "; H"; @"; L"; D"; "< " < "< "< @"(< m6< F< JW< d< "t< l< 8"< 0"< "< "< "< "< |= @ k= @.= >= #N= |"a= 1p= `3= 7~= "= "= _= @,> _Y> ,> _> ,> _ ? ,,? _a? @,? $_? ,? (_@ ,/@ ,_e@ ,@ 0_@ @,@ 4_A ,0A 8_ZA ,oA <_A ,A @_A @,B D_8B ,XB H_B ,B L_B ,B P_&C @,;C T_mC ,C X_C ,C \_D ,,D `_]D @,yD d_D ,D h_E ,E l_OE ,jE p_E @,E DhE FE FE @GE 4HE =IE BIE JF ,LF )L F @P*F Q1-F T;F 0d/FF OF `g[F "rF P}F PF t_F P,vxr LvPF x_"G Q,@G |r rG ,QG |_G @Q,ylQG tQG x x4G Q$H PxyH x<-H "5H yHH zZH "fH "sH "H _H Q,H r H QI _NI R, r  ,RpI _I @R,I lR tRI "I I " J "J "*J "b %b P-b 4c r 4c @]Pc 4 c P]c 8 c `]d r =d p]Td < d ]d @ d ]e ] e ] 0e ] g ?g '.g (>g 0(Ng `_g <"lg T"xg X"g "g x"g t"g D g ^ h r 8h ^Oh H h ^h L h ^h _+i _,r ,_Fi _wi @_,6r gl_i _i _,i _i _ i _  _B_ j Pj p*j 9j ,Lj Wj fj qj @j `'j 'j &j 6j 0_j 1j 2j j "  k k 0 k @ (k 1k  :k jCk p iLk _Uk @^k #qk @zk #k @k !k @k k k %k k k Pk % l Pjl il 0_!l *l 3l pl #l @$*l p%l &l 'l (l )l *l +l ,l -l .m P/ m 0m 0`m @1k(m 1a2m 2n;m 2mDm 3aMm p3Qm @5Vm 07,`m `7um 7)m 8!m P8m p8m 8!m 8Rm @;Rm ;Rm <n <-n @Kn p>8n >Ko ?:o @?[.o ?K>o ?,No @aio @ko Ao A/o @Ako A*o Bo C p D)p EkDp Fd_p F=pp Gp Gp Lp pM/p Mrp Nrp Np @Okq OC-q " Bq @" Wq `" lq " q " q " q " q # q # q q )r ,r r @~'r f7r 0Q?r Lr @gTr Q_r jr _qr `Hzr |"r r Lr r r Hcr P s Xc2s T os hcr ۶xcr cs cTs dTs `dTs dHs eHs e`s eTs @fHs fHs g<s @glt glt @hlt hl)t @il4t il?t @jlJt jlUt @k``t k`kt l`vt `l`t lTt mTt mTt mTt @nTt nTt oTt `oTt oHt pHt pHt pHu @qu qxu `rl#u rT.u @sT9u sTDu tTOu `tTZu tTeu uHpu uH{u uHu @vHu vHu wHu `w<u w<u w<u x<u `x<u x<u xHu @y<v yl v zlv z`v z`#v @{T+v {T3v |T;v `|TGv |HOv }H[v }<gv }<sv } v ~ ~~v $~v <~v "v `~Pv v  v w @w )w ":w Gw $Ww Хgw vw w w r w ~w X x ~9x \ {x ~r ~x _x ,x ,  y 8 D(y L@y dPy "by Xsy @y `y y `y y ?y Юy fy r z  z ` Uz pz d z z  z  z ({ @ { "/{ `H={ =S{ 0od{ l{ x{ { %{ { @{ { `&{ { o{ { @| | | r Q| @m| h | P| l } `-} p >} | ]} u} } "} H} @v} } } } p} p} >} m} %~ @C~ K#~ H5~ r d~ `}~ p ~ p~ t  1 ? [ p } " H    r o @  `'  ` ( a3 0xH Y\ n 3{   " s  x 1 M |  s Ї  0 K   s ق      ( ' 4 C @Y Xn p{ " 8 0 @y  à σ $݃    s 4 N     s 5 ,N  <  ݅ L \  h . t < X n   " H   ʆ "߆   `$ "! ' B oP H\ P[v "   D @l " "LJ @χ "܇  " " " s L h    ( s Y t  ̊ȉ  ܊0 _a ,8s j, s <} L  X  d  p .| ۊ    "* 8: "F $s v   Ƌ (  " 8H H W T t ` " " " `  poČ Ό 0 " @ " " '  (s H b     ,s I b  Ќ   % B  P  l  8 P `" 8 pwҏ i `w 6 /$ P4 C M ,[ Pdk x C     0s (  3 8M ď H 4s ޑ X ȏ , hG ̏ x x ے  8s  1 > Y g ̏  ؏  d" h"˓ ӓ N P" @3 " "3 " ""4 "   _G @,_ `T m \s Ü Џ ! ԏ g  `s ̝  ؏ . S ܏ 0˞ @  L  X  d A p] l"lY "| / /  /  /  /̟ 0ݟ 0x 2  2 20 ") "6 Е< "H x x  ds Π @I٠ A  A 0A- `Ao ($ A!2 BE BV @Bh `B(x B B) B] @CRơ C)ڡ C! D# 0D PD! DE; @ES EEj 0FP F pGn  G¢ )Т Jݢ pK  M @ hs 8 W  0  @# ls R Pk  `  p ps O i    ! x V s ts  З Ϧ ܗ    * G b 0w H ` " x " "ͧ 8  @ H P7 XM `e hz p x  Ш    + @ U i Ƞ Р ؠ © ֩     - (D 0\ 8t @ H P Xʪ ` h p x, C _ z    ֫   ȡ$ С? ءZ w    ֬  @@LAzD@&H`n)H_ xs x   (<`6 7$7,787D7P7d70;@;D;`;;Y !"#$  HA( V1 "D HAW `g @+r ;.  8 {í [ԭ pcu 0HA = FM \% (7 q9Y m XJu HA " | IK~ ڗǮ D;ۮ @   Ŏe m! p|5 8D J[ W  nv  ,ɯ 0ԯ ݯ  M   po3 0:@ "J U "d Fx  @L} Fð sRհ  @ MF pIv( Pܦ54 d "S M" 0ړ p M sVı Hzα [ ޱ u \" 9 0{ R Q6 0q.M y-] `t  ppR @ `S m(Ȳ \xܲ pO  K h" L% ^HA; @PL @DS k HA~ R @q2  Kd vγ am @" 0h ٞ Ù# d/ `z@ iI f ߎXr p~ \R -  gȴ u"Դ Iݴ t k @, u"9 `MH pD~ 0 `ԘB Џ^" W `6յ @lq  `^ PEt" -> PPW *]l PU S d `>ƶ g b `[ 0XK ȵ)+ ;3J bT fk p1 ;= 0O з \ T2 Q p7 o2 N9D IS @HAh PQv 0} R p+ Ph ȴ"ø K ЎHA ; P}} _2 0y B ?P a ly ;f T 0 ¹ й 0/ݹ J p  `B5 إF PLS ih @Fpw 2g \P O Lʺ 0!4ۺ s( & p );* `a6 p]C mT PDu1g x  0I* ີd F 0pȻ 1 z 0ȵ  s] \S0 KD jX ]gv `,]1 @0 K C ׼  }E @LHA 䇷* p*F Q p3e Иn pfv  ;5 `ͽ {+ j KM 4 0m& q6 pT `;Km @HA f PHA X N" '־ P  c `w' \F P 0ke  n S Is `i Nɿ 8 FHA @dRI 9L fHA& "5 P"F M\ ލl :0v 0M[ 0HL q 0HA  " {b ș ЇW " \GI  e\H  m9 ljQ W"h R й! d p}  p6[ P 2 N p ( g/ z{H K] c k r,x t  `u+ 2$  L  m ' ": S 0 z[ M|Pm " l @fv pJ]M / ʺU $ @= Xx"H 4^ `e j !x  x  x P-HA 0  \91 NA "O ̪^ f{ [A kHA ˞ 0Wi (gP N9 5N # vI|0 lHAP 5h h} IU D  @w8 0 L ̥ 0[ XL7 ͯ#& A< L `O` "j %g / n @HA Ua " # PQ i  p_m  U1 0f'E `%[M ^ "s Ie `I pΞ ΍ u^  HA  ( YW" V s, $"C {N 0ua gVy ?  . \L  @ O `" {g u  s D~ Ъ\%. (? eT _ += J ˵m H1 `q @l @\ HA i A P)1 p"r= \ p @V{ |" õ" |J l 7 M TMJ 0ɾ   DE"# ` / = `HAT е=c dar $x ? Z jR f R` @4  J+ !F 0\ nj ]|  t|B  8  HA 4" m| Og  `8' p*gM L\   Pf  &   Lp ` L! ` . HG ݪS pT` bs Tp H  ۛv 0u " `>" #: p  Ԏ =JD N <f p)fq Kx N" r  u9 L gO W> MZ 3' l< ಯP h ^/{ o  `  p1g VT T ?5 0ƙ$ G\ zJ ( `"= V Pk paux l r .   M  := `|H9 /X tt"a c<k L  o v PTL I+ ߢ j S L. PqUZ pm C~ @b( xHA +   ద ݎ  @Z> H V f @n\Mu HA ^ PC _ J \ 0) } `  @+ o ? O HAa P42v } Dt" pP e` P)  # @y{\ ЈL? $ h_3 0bS"F ;X Zh `%jz  P @[ O 7HA "9 " ;- 0A hmc ǯw P*[ PN 0 D P 0J  .% С > }_ Ok ev L @Ӑ 0L " i2 ~^ n ` Ϲ% .8 Jt H "X r z ^k D" ׎8 f8 @J?  @g @Mg % "2 pHK ЈT Oz j& ># 0=  M X ` nO 0 N  @0 " @'MP& pZ0 &= կY Pn 0bL{ iHA   w3 Ux + O HA ɚ5 ગ Mm( 1Lg= pC sd @Y x Ќ} 0 ޑ i ݜ2 ۛ,  p + 0= lgE hX 0JUh ~ p P0 `3f NHA ) g LPr PL \Rx N1 A p{S ,Nj @x pC_ L 0 p  y `M OL  " 2) T4 HAF 0HAZ 0E"f `v ȵ" dHA В p| a %3 " + "l$ `@6 ̽"? pg`G ga Ou po Փ} z pw D" \c Ew  n RX  0' ey; אH }iV p3 ~   \ " T @  u  + 2U8H `Me_ pr h M @rLN @  qp  \ P\ PM, " /! ( Mg9 ୙oC j2M 0\ 0HAs 0p |  z İ" [4 ޯ ? 0N> @HA1 `*= I HA\ pHAn n|  ݯ 0% `x]g լI m D 0Ir A+ PD M T \ *f y 7 pM HA 8 c  a  C" "9 TK p Z 0d `WKy ش ph O 09HA o Pٯ ~{ |* 0J pZ Pbjc w @'~   $7 P>L pNHA @ 6} @ 4" o '' \a8 "H ӪT x|a ? "i 3p p\7 F\  HA ` 4" \GI  p] f "g, 0$U od @z `rHA  ? f& `S [QV  1 P4 $- @V": 0lM \)f `N @ 0hK , " TD  9  "3 X 0s$a \x <[^ @ # o\ [  tMh ൯ @lC bQW c"' 1 `HAJ MU P$c (F" ` ] Kf pʯv PN 4 " @  0x 3Z pf* S5= 0S#Z <"y 4""} b )o j  3+ & t9 Pօ"M Y^ # 0: > # @4 K * u [ + .9 ("G "Z ZPrp @Ay s Pk 0$ @0 p9 @Qi \  P o  v % T[C @~4Q kY `|kc h{ 0pp O @ pT( "  D ]L H) P(|9 WJM we l Pxt L[  0ŵ- j V] @N M. < Ѝ  ɝ ps8 g@S _v `/! Zf p @;g  rH j  Ït   @ < "F Q 0Of M `I^ pN bi x ` 0 "  0HA q + spB SMV If ` ෙ   j t  P b) K=   3 ޑ@ ^MN ;g uOm p`v J `" E[ `O  ЫL N P  "( {9 G"B H+I Б|+` o{ M `V "  \  0ʜc 0 '   ""& 39 UmWH `ZLX Ps"o @ N `\ PN . P$ a P ]B S MBk b} 0p+   x" H Jn ` ]HA ͦ& y=B ۍ{P lq p  $" XO > 0_ @ , d" `0:! P7 s;J X] [n .} 0(A 5g F B d2 0-' Pg6 :[6J &NK\ pu (} 0e po  " 0N2 `  P!  lw l ) <"< p[M e\ "b ]s [t  ED   \= ZHA G pPR, O 0HGc ХHy Ε  Ē p w ^ ` `/ JN& K 0.^ @ gw @X  2 [ uG  Ȫ " `]& "M 0yGZ n~ L HA 0 NJ  #: V ; 4"! f!5 fsK \_ Or h" g5 \ " Pt  PI  0  1 `+T= O{I HI_ 3h 3 T$ gp 0x.   " $zl #+ @" 0j  P4 d:C _ q I\ {^{  Zz7 !n yM= f 5 ЯbE {([ LAs dM G 0# <" Ȝ x l o}2 p= .D pbY 0 h !3q DD j$ ~ `q p D * V % 4 PF _ I  F XF |; [8 @H ,q z Т. { & [w8 $"; ?K 039q  9 л     XWv 1P  `> ") 4 k= PU 8fs \ `H\5 0+  Ʌ( R Q{ `" ЙJ z  /& Pl4 0[#G ()S ZR_ p (: M (5 `{ `o" `.ib 9 MX L ( H; _I ̃(c C~ OC @M ) 5 2 [ Ǖ* M7 0+F }T  `_ SHA x 0HHA O  , 0 : C ` "U c [{ PQ@ D P~ "  Pll I * 8( 0`Q4; `jC `eX p %r Aa f  "  P- 0~ S" |+ * % `Ó2. "X; D ^PS Z J2  P   Яb "  `  t"1 Ў|B PHAS P] 0 z  @ J 0 I$ Z  \ 0N HA 0/ ! PS2' ? ^XM +X Pg }1u MiO [e  Y A fk RHA J 0e @U* pxM pr`bV _ak (} ē 0  S& Pz Lq pK# `v `Ttt ") B7 `"E SM Y 'f " MU   p! e \ N ]' s0 ^> `}8r : pN Jl 2 A L" 07 ! 8mJ! =|_! @HAt! @.$! `B! ! 2! d! P" 8" 0++" [^9" `S=D" NoV" e" Wgy" Lc" *" 5S" M}" xJ" F# `# @4"# 1# "B# !V# HAj# "r# `|# # j.# # # p]I # p# @2# 0$ @[5$ 0@6$ ^C$ nT$ ~P ]$ i$ Lw$ $ p̓K$ x$ 0?,$ pLB$ "$ |$ $7 % "'% 5% 0OaF% 0~|[% .-j% t % 8% @0% Lw% l"% `Ǘ{% M& *i}& \(& \;& `a#R& [ag& `v& & 0[x& N& 29& S& l& г+& 3g& & ' 9 (' PLt@' "Z' -a' +}u' M' HA' lT' HH3' S' $"' ' N ( F[= ( 0( $M( 4PV( fxg( -ay( @#8( "( XN"( ՘,( 0Yg( xP( 87( /) `zZ") \d6) pHAI) C\) 0hg) "u) –|) I) K) ) жHA) =) @{* |;* @j)* p>* tS* lj[* PԄc* ࢀ* ˪#* 4* * * p3|* ~+ 0J-+ HG<+ a+ 8 "+ Pn+ `H+ @s+ + #+ @0, `Nh, 3-, )rE, <"S, 0o, z, @, \9, \}, , ", , Pp- o!- "*- N2<- 4HAN- yQ]- 7j- Ԩ"v- @-- 0qI- 0Q- - )H- g- @ - R- HQ . `N4. J. L`. Cs. o. P". 5. `K9. `HA. W8/ / Q)/ RK/ ȑc/ zm/ x/ "/ g/ N9/ |/ @HA/ K/ `0 `Õ50 Y!0 `&T/0 `HAB0 4~V0 0j0 0z4x0 H0 "0 g0 q\0 \A0 fR50 ;^0 k80 pC0 0 pu 1 M1 \*1 p$=61 a]F1 `JgXa1 Ф[ w1 "1 p L1 1 tN"1 1 Ч\1 M1 ("1 b62 НHA2 zP2 )'2 /72 Vf2Z2 M-k2 0Pw2 2 2 Q2 =2 @g2 0N2 fN 3 "3 ?8,3 ":3 ~J3 =Y3 (lq3 v3 0zHA3 ۢ3 fY3 "3 P%3 3L3 !z3 զ'4 `u+4 87N4 qU4 ]4 4 ~[4 i4 f4 #V+4 34 `N4 @Ѝ4 p]q5 [85 .25 95 h/H5 gMYa5 @HAr5 @T5 l\5 2_5 0g 5 "5 [6 $"6 26 `1~b6 xz6 @6 P:6 Z6 7G6 ;6 ci6 Э\g6 7 " 7 p 7 T,7 H"=7 `O7 p]7 7|fo7 HA7 Q7 P7 `j7 @ׯ7 A7 [7 `O~7 78 C68 =8 `G8 `8 #y8 6q8 "8 ,"8 m8 n"8 8 s8 G[\ 9 pH9 HA,9 89 aaI9 Td9 Zt9 V|9 <"9 \99 Pn9 E]9 l9 l9 < 49 `yL9 : yt: pUuw.: `ZD: Tbn: 0y: Prp8: $: @b: }: >|%: ŵ: L(: Pl ; /; \ ; pT%2; N; \; "l; ޜ=; _; p/; ; N; pY; p < S< `WL$2< PL'J< gU< :x< p< pƍ< @< 75< `9{< @"< ` = Tt"= `L)= ,"E= +alR= a= @HJ= "= Pza= p = += pbQP= 0= HA= n= x> p > ,".> >> `]+U> w\> p> x$y> \> M> d> ߗ> i> > `> T> ħ? #L? 9*? `;HA:? Ui? `$~? d? ? {? |p? @]%? ֑? `{? p"@ @ :#@ Mf<@ FJ@ @vi@ Pz@ 0@ `{@ :}@ HA@ FHA@ ` @ PW@  A > A `&A 0JR 7A KKA ض"gA }qA &A pZaA P A 7[A pƌA A ¦:A A p\qB !-B 0HB -HA]B `ǙjB I$B PfB PpB nB 4"B ĝ"B B 0ڗSB "B B ui C PBl\C 0'C }HA9C JC *hC @@{C @C T`C xC ЏLC pu|C C @yD '  D nD G"%D @hk5D `bKCD [R`D sD `¦hD D _.D cD @\<D D K[D E ,E PX-E pDHA>E lTE 0cE xE ]RE xE $E pr!E E `||E @PE E UgF &F `[3&F 0@EF ijNF _F `|#hF Ht"F 0F :PF jF t$F G j1G ]  G @L=4G HAFG "RG @nWlG H yG 0oG `ԬG %G G G [G 0(G `6iG M4H 0RHA'H 06H XFH h[H RbH 'jH \}H 0WxH BH pH WHAH mH 4gI jHA#I :I PWMOI fI JTI pI @"I "I MI I plYI PJ [1J |4J x*IJ HA^J 0]BrJ P)J 9J J b J d"J ;J J %"J LJ G8 K !K 0]9K 0s^HK NZK `nUlK njxK @%K "K @\K kK @K ڗ&K "K WK "K ŀK MKL AHA%L (mIL XL hL Pv$sL M\L HAL L @L ML 0:L Ӎ#L <M P'M MvN " O 0j&O PHR+O WUO 0ٓ\O ش"qO O 0O EO MO vMUO HAO [6O V.O vP P P[1)P :P ?MgRP f\P @oP 0[}P 0D[ P ִP fP "P |P ~RP P @  Q gQ!Q P"+Q N;Q `9I_TQ ]2]Q 0m]pQ @ΓyQ p gQ ܚQ MxQ )Q Q Al Q T"R ,%R w/R 0):7R _DR (TPUR ,qR R !R @pR |R (R tS :S t" S N HAT :a6T ZFT ?HAWT rT jpT{T fT PT T T @T pU y U `2U F{,CU @6UU `jHeU zU 4U xCU `.U U U "U hU I U 7oV nT V bs%V 8L7V L"VV ЛhV 0V V PkV qV ] V `SRV {V pMQW ` t&W ̾"EW T[W vfW iQ+~W W [MyW J W gW :X pX `L41X HADX 0"QX bbX oX pX PX kX s[X PnHAX mX P/RX %Y 0mY `]-Y v4Y pN"@Y `ѯ=NY |XY peY $FDrY `õ5Y L"Y PL1Y t0Y 4vY ]DY t]}Z ")Z Զ"5Z 0HAGZ >NZ iZ VgZ dZ 0@Z qZ PTsZ hZ 9 Z "[ HA[ 0X8[ ^[ "|[ .O[ d[ `[ 0z[ }[ r]n[ `G[ &[ 8"\ pu\ 0q )\ s,6\ M\ HK`\ b b Hb ?[b I<c `"c \3%c \F",c P8e 'g]e P~e#e @\#e ۛ3e pse e e @Me z f `˜"f t"-f pY$8f Cf P(Pf %"jf "|f yf f f %f \f @ g g `u#Cg "Zg $"hg p9{g ps!g xg "g "g @&g yg g p˄g h pI,h Hh |TYh lh r~h Ih _yh x5h ~h h $Jh Nh 0' i BHAi x5i fCi `?zTi g\i o xi 4i CHAi 0Di "i f\i L4i p7j T, j "j `-(j Ѐ^Y:j `~M0Sj Ljj sj `HAj j ΚPj Oj M j Ij `$!k \!k 04R52k {Dk rWk "wk k Plak Lk ek k d"l @^M5l @VHAl ?HA5l E"Bl MPTUl Ucl £l T"l `l $"l Ll l @ul Nl HM  m SM!m #-m 0M9m !Cm xDPm [m Pvm ~O7m υ+m "m 0,nm @m 0"m @Ύ~m .~m `m 6(n @<1n $ "=n 0[n xn ՓZn fAn zn PHn Sn Jn 0|9o ]Mo `@0o 6To XKeo 0`$qo 8{o \.o W5o PW7o `o o ^'o o @fo `/p iHA#p H?p bSp _ep `j|wp }p p\,p 0"p P0(p `$p p Np =p "p +q #q 0*1q 5Jq v]q `tlq p{q LPq q Htq Rq "q $"q q dN"r r G+r o3r Mr q,\r Pnr }r :r Ig3r tr hDr `çr -r p\ s uRJs @S*1s 0'Is "Rs k_s l"ks @"L"ss xus Ps s `0s `ޜGs Zs s Hs t @4t PY0t K5Jt ht xt @Mct t M*t LJt M"t Rt !u P!u 0k)u 0Zm8u `SLu 0rbu `wou 0fSu `חu u uu 5HAu D u ov д0@v صNv y+Yv Цiv x"xv gv đv N}Pv _Q%v %v @yRv <"v v Pw @@"w /w >w /Vw "cw Lqw Mw O`?w @kL w Qw N8"w w w Ԓgw tpw VI x :x (x U}*8x 0dx "px %x 4x f6x Ěx x 0y y 5y -*:y MXJy Rty |y $"y "y \ y Uzy ?y y Cy g z zz *4z =z Nz `Zz nz @`uQz z )z `z ŏgz jaz z @z zBz `{ P#{ L: { fHA3{ bA;{ `:gv[{ Pn{ { S{ pgN{ X{ PɅa{ \Z{ x{ K| y| {+| 6P| xsj| x| {| ?| "| N#| YL0| ങ$| @ | a} '} N#} 0x](5} H\H} 8Y} P f} js} } VR} ХW:} "} H\5} 5} 0Z ~ p\[~ "~ fI;~ TaL~ "l~ ['y~ 6~ ~  ~ k~ p"~ T~ [f  `m q L"2 P4A PXW @ɜk  :[& PM M * Pv p   0 | HA! pGi> Mm?\ @f @) p5~ pb Ǹ @Z mD .|  v5 @;NQ *[ lj v 06 0St# |) Mm0 M'с pT5  8" xh PUz & P6 a> T|R n_ ԫj Dt ~ L" \1 W< 4R^ Nق * dU R pd ej2" lE ] `"'o @; @B 01 $"à D" |d \m [ S* R4 0G ۯ_ hm x +F ĝ  d yHÄ Nڄ 7 >  = ! iH3 |B t\f ^ w '   N … >LZ܅ -g ژ j@ |& `v7 G b] M]t  B x] [9 ن -HA P Pt  `m7 :@ G @8HA] h yDv TC g  Ӝ @,MJʇ HA܇ "  gHA p#c) `K|= @+akK w[ `V"g ؓRp p[  p; Lf PdC `` |G @ K/ P @ p+T @_ P9o z  [( " ~<܉ $ `j _ `\ P03 Q\> p] E fc 0KFw `] pY p{dŠ 7Պ #( Ş \A m# 05 Х< J :T l]k p  " @"Ë VHAԋ 02 Ļ" T l[# R3 @;M? NW *y " X@ Ȱ" 0 +Ԍ HP LO I \=( C U f#p HA 0 @E `k \ .K"΍ FR֍ { R ̍ ?o 0f% C @HT @%"{ T  P"]  @x m Х_Ǝ  :u @l? Pb+ @˖: PN[ -t 5 ` F z 0M{Ə ؏ _ ̐ P#V , Ȧ]; M Li y W+ K} 0[ ݥ P"̐ plHA 0 x )0 zpA P1>W `[c x pV ȯ 5 d ͑ ב  @4 D& ` 8 H `X ǜn H" @ { ~ǒ ̍MӒ /ܒ |/ HA Ī n8 = fV %h ]X p` @#M m" PNcГ Ě t 0" [+ +/< E iR _ @f HA pm 6 HAŔ cؔ - " cM pk`2 ` KKD Zb Pg| 3^ ` ` |@ t +ȕ cܕ n7 a p _ " y/ : FQ ^ eys  g  \ϖ @l ٖ "ݖ j @|h ^M \{! K< >hQ `Xe !" p> Va 5ʗ `=L /HA g p. .Ml= 0;M ֩Z a|c @]<| T\v " ML( @t  "$ 2 kE M uq[ 4| @qb  gIuƙ oܙ <c p 0huI g/ DV"/ ? pO8[ an Pęx @u @Fz  `- PXgך " g R- X8< .D `\ ʏ)j W  D{ Ѭh  Λ ݛ  4n o " K9 $zWD 4v P T"c Ќ\|  pg `"  fܜ p H Na & "/ > P^QW Iq  {  VR  o4 =p k%͝ M7 sHA pto p [' 1 P< 0rH `>S r\ Da Vm pb pSHA KPS " oў @O  ` 7& ?4 ? d{P Fz^ "t _ <" " bIϟ Z 9< @? $ ?/ `~: ;pC -4Z "i A} F d  К  ֜ `g| /P @HA( 0Ȫ4 E s1Z p[m PHA Ps g RYӣ  X" # B d mp 0l p >, \Ĥ ЉHAݤ @=  MA \ p694 `ukI fi g 7HA p @N9إ  ! V Z# ": LN 0 k] @hh POI| I @- ; < Ԧ Ь=  V| }  X+ 4? `IO t)e w m m P  q !ͧ $E" P/* , " P. ; @PX `HYi @7t @j  @(" Аh9 $"" `-Ũ $Yܨ ֎r `g< {MW "( ^ < mN yU ཯{o \ T" 09K ݍ*© f ֩ а"  R` HA KHA8 \` ms `  pSN 0 ª 9ܪ p, c pJ "6 D 0fvd 0r  А\  PeX l 0BRЫ Y ׯ t" {W ^x* `+i@ `\S Õjb ͅn `[, `0 D$" CĬ Jg3ج ` " 0SML / iC "Q *Y 0h x \ m 0]ȭ ]٭ 0P @^ P= [  HA pԫj- @ 3 {]hL Mxb f/r @Ә R u ' @Pî yЮ <= K 6 C" 5( $A: ciT 0M-a s 0H B m pt"ɯ d"ܯ n %N  *=" y 3 ub@ 0RNM \ 1] ``s 8  Z/ 0 ZŰ  * KHA) O"1 $7 f,F ff @t h} HA p~! 8"ֱ PL|  k   <"$ o, ` : 0iK `zW p]`i K}  ` P `*̲ paIٲ .HA " ݲ pD"6 ЭfJF AY t > p  ' Pu]iʳ p {ݳ f '? `- ppp+ uO2 M LP"] "n `mu PM TN tT  ƴ ܴ W) O N  R* pDx9 CF n 0 | g P2 P ȵ F!ݵ y{ > @|@ p"X& 6 "L @̚Xg 5~{ `j$  4 ζ ٜ HA Vr @N* vl2 03< J bW Ib \Jt b PƧ %" l~ N `· P2ɷ 03   N ,o / 4< 0W n <" * ` @ [Wϸ W W @t  =q% f < @NI \<] 4o lm $ Аm 3 HAǹ T:۹ `Q  n  ?- X: @G `~Q Z ٘k ԯ @M\  P  ЄS,Ϻ UK 0 < % YKs< ` S pj Xy J Ex rz p\_ <  @  @   M=5 3Y n @~  K cü 0+ϼ `HA ~"  L4/ FXI xc K\1q zHA @  H p @,/ٽ mHA 4 P߯  lz6 LzG @KX HAm ,~ Я>   Pھ  " 0 pߛ5/ 0C HAW 4 g Px 0sx HA P+:  PT ` pO _H- *C AU 7n ̍x  ѓt z% i) 7 i " D 0]] }s! -(5 "A S ` 8 m , @̢\  BH vie , @  " y4 Px@ - pH a sO wK `W" R) } ^uh \ pgHA a! "; 0Ka 1Cy W ПSJ   d" !% *M ݓ% N6 `?,F H{U 0lxk ώyt h  H  Ѕh @6[ 7P ] [l e `l P0& MW= prv px_ qv L" 0l @N P `  D] p. }]> $"U pb @Mhz 0HA ( !e " W P }HA P2HA @F >/ 0^`C PB` [Yu k ~ <"   `\    0Al& С] & 0OA >M "^ o n,w I[  EHA h"  " 0S 2 lq pN+ !' @ h/N P7] h Phz P[J k d% |It 2 ]  ,M) s"? tQR (<"` y II H" ) E HA " p" y RW9 vK t"_ s G/ @7J |v еjc ЄP @" + `h f.+ ` B @R xm JHA o pk @MT   $O! `THA b d8 tS @f%a P ]u G 0 * sb H l $! eg "  N" )0 ˞.= P@S o ` "l X "q 0:1 @ O) ( 7 49 P` *L' P? CO NX i NBs i I 8 e#  " $Vi Pί* @: NJ l] HRo " P  0Q\ l Q  ! $- D yP j Nx{ <" }N ϊ \ 9 8 ( 0. ŒK$ 3 `N> MT 9h Py z f - o N P    Km$! 2HA7 PI FY HAj  i R { P]  q j vI$ Il- lB @"N pY3\ k 0f%| P"hA ktH  `@  p" 9 l @f W1 Zu, 8 [ @-k ;W l" @  " `$ @6 M" ": @ZM%8 L Q Xd "o /x ޥ8 <" @  " HA sA `ܑ * qI: 9<a Ov N pHA pܥ 4 & ]   -  p H"A ;gT ` m  @0 `; @! Xa " @|" 3HA ;:( ޖ*2 "D p4R X ("e > p  7 $M ѫP B  Pi "E Bq 0z ҩ p?* ȝ" @ (" HA p " Ā; o8 `h @S* "1 c+H PT`yV 5` q  " UK  0g a  0" =, Di< [T 6HAj ,} Ȫ ͚ ht f В$ m8  h?"( = nM @l] ܒs * n " r V DF" [ (" `է. 0WHAA eS 0q 'g- ђ  P{ {  pe KL @  l / M X 8ig 2HA| 0 H 0F " P5R  Ԅ( s `): QV ya n q C L PHx > 0   @%G p[! 3 kA 0K puU Ch T| ~ n `t_  " " { l PMX X P]g: PwI `~kU 5Rm Ћ2s % Yu  P PXM d  ") 2@D +S n[ p  $ l Pr   hN"  oy, 8F &P `WG <" ' @ [v  k  r 5 M$ p]HA: `OT |b Dps ~HA `vQ +L N п   X j `" \# Pc, "4 8h? "W _HAi P$~ PHA  P  0  `f% 8 g% fI %n)T ЄHAf z hd g " ` V  HA " { @ @mf% 0 ¦C AT @g Fz  L  N 0P6 HA  `  " f+ Z]D S T"t .t XE oy f U S " `! "* H"= gO :` eh  L" p{HA /U y3 P P  ďt {O "8 MN |,d @ogx SW%   " Pc\ @[ p  H Pf-& `yJ? `0I 4g `0s e  \ @0  p" ]Qo HA L"  @f% )2 pHAD D"N z 6  ( P[  pK "/ PF: 0ЗK ŀ5X Wh HA} Į" (" @l | p ě  P]{ p pvHA1 PM.> cMqU @ g -o pUy D  l   ʙ . B ۖG g_ _Mhn HA 0  # 0 k _ P< Е& 4 = k$S 8` Zi pլI| 0% \ L 6i Ph ' Ho X" @S& lx3 fN fW_ 8HAp `֬ z T" ʐ Э pT P, `P 0  m* o`\9 ֍!I <[ 'l } u J eU  ۴7 " K ) %g B Ĵ"Y p2g s)z y- pU l  0[A " p# { < @ @" \"# h. @H: e F [X (` |q `M ! =4 P/M `N~ 6K @ ! g f  % "D M pMi] HAw F" " l" M  " p2 Л$ + . q< B `!Q fl Ix 2  0Je# `  PϘq    `yM( U7 tP j d[r \1 " `" " 0   P|{Z u9) C V j %"w  ? KZ N h Cg& ~M0 - 7+C 5O Ҙa q 01 H`  `) " j  50 nIdA P [d t{ b J 1HA 0{ W pHA ` # P7 4F lRZ @yHAp ~Q} 0! Cl C `{ # 0 Nm @L0 " Cg ) ݜ(3 @"E j z xs `P 0HA CHA o= `\  K j  \' 3 0fKM @Q]a Cp P7 d x [9 pN S  aHA 0; 9T" @L; piK ^ Y "o יh} @r )| Lm$ @a PS PZ P$I]  6 Z6! "* PN7 @D lS a 0cjo `jTt ]m  P* PM { " @[   PM XZ .q P "  ^a q yx ග7  `" t" % F @WO pvc HAw 9  " @M> .zf t~ Jmf 0\9 `   ޜ$ \7 <"R sq[ pbI,g 0Xs p5R P o ?I @ `  | S 0M{ @" ) 2 pF @y2^ P`r 1M  " p\ r P) `VP4 " + HA  S' @!8 E Tqe @\Hv G p* Pqj) \} P `HL 0P  `: :HA0 `v;7 ? fU Ql 0nM p\% @@Rh 0$9 Й[R J& ٦ 0% l= "E Ѓe p\ay H ?  PO 5 Pͪ=  P:I - `v@< 7d Yq 0t n; ``T; ( / " y  H $( |R2 pD '|M 0X Ҋdm  `*M P `U =I fa ) & `z N  *8 PMH "Q "a 9s gv " C  P#F @w  PHA `;# ]. HAA {CN J}[ Heh Ǭt   ( )* P n  \ d & @H R `{m }} ," pr$ f Pz i{$ P3N* \0 T# L9 M t E" " @MJ L" k H  ԓw (o Џfk> .Q Uh @b~ ]  p o* | K " Lb MT. HAA @9n r Q4 w PT pt ] д+ `+ O  M0 0 NB wZ U\mk @gP . `   P ͏' LF   .n   #I2 xV; `< "O ؙY Ir `ݖj} H / [H PHA ja P >l mP PH% @gSN ` a j <"r scy L 0s t P @  Hk P  L pEM) "; C `N[O h[ h` kr 0,5  0 ߛR  `[ `p    @[<9 `HAL Wf ԅiq M~ `>p ڛ gR k]A ] u " Ս! Pw ' Pj. PWO> 0O d ] v p7 `  @eHA " p$ @" x" P>LP  M7 (L?G 5l mix " "  @\x P[6 .#  [ @  \  П"0 E p"T Pd -t wp1~ u^ M W ઍ 0p m H \R \"! l[5 PNe o `~ O `EHA & ) 0 8" P^8 A /^ m U 07R#  "  @L pѝj p    4 |+! D pt|Y^ @*p @ ` J\ ("   pS {X  @qz / ɵ= ]'E uN @nl @x PMm$ @3HA  . i#  X PYa ?, P:; qM VnZ kIdt pH D" [ p  <" RHA  @" иN $" p ( N8 I `F"[ 8ot  0et E pp `L:  fc JHA q} g" L7 I jIyX 0Lm$n phm @I O P  t" 0 _u $  6 ~@! 0a! ` .! PZ) * * @BK#* @2* =* `hrO* 0ԍZ* ܵ"g* * L)* @h"* ۓ* * * @ͣ* + pSs+ `NP++ ij"8+  "=+ @lP+ m"i+ UXw+ p}+ ͚+ ĵ!+ ~%+ H:+ ^+ З, ಍L , `^a, h7, a, w, O, , `, L, ` , "- h . Lh. 0MHA3. @ H. ʣ]. ?iv. E". @oI;. %. Pa. =HA. P". P:. g. z / ptg / rP2/ `w{J/ g]f/ bu/ p"/ / M/ / H/ T"/ 0 Q0 R>*0 MA0 IQ0 \0 в[p0 C 0 eu0 u"0 \)0 00 G"0 1 y{-1 `b)1 71 |F1 +3 F3 vZR3 3N*^3 P=3 Pn3 0X3 &O3 J3 ~Q/3 HA3 )4 !4 {14 fxP4 PHAc4 7HA}4 PI4 Se4 /4 xHA4 04 <4 5 D<5 5 [e&5 q.5 zqO@5 pԵM5 UPh[5 aFg5 ~MK5 45 wL5 6LW5 uJ5 ٥I5 @tHA5   6 p036 hI'6 VIu :6 L6 >y]6 {6 6 06 HA6 ГHA6 "6 P6 g6 0 7 pd 7 `"/7 eL7 `\&]7 PJv7 `}~7 0w7  7 7 Xn7 7 47 Q8 z, 8 \,8 Ц +8 Pc18 "A8 \T8 ЛSr`8 8^8 28 C 8 h 8 8 !8 H8 @a8 P8 `uO 9 -HA9 *9 gD9 p\[9 o9 09 @lh9 ֵV9 HA9 ؍9 N9 pkZ9 : @u: f(: 0<: K: pҜ)h: @܍#y: \): @: ~: <: @ : v: pl: p* ; `?6; ?$; D"A; @fIa; tv; Q'; ; y; @}*; ; ; n< 0am< >K+< i<< (4oS< Na< v< < p^L < HA< !< < }< @ux= f1= qF?= dj= "= = 0o= Y= dq= l= cHA= > pl> "0> `aE> xW> ܵGj> xat> "{> f>  > `> > > H> (> ? %? @^.7? pF? ؙ)V? "_? z? pk? p˞? L?? `,H? ? ? C@ @1@ 2-@ @0PO7@ `G@ oa@ 0v)l@ HA@ xJ@ {L@ nu@ @ 0@ <"@ X@ _@ @ WD@ @A 0'A @s_9A ] MA @dA CtuA p}A A f!A HAA IA "A dA OaA "B @ؙ> B PB .B fKPB 'V@YB aB wB TB SB B PlB `TuB )B L)B BB C gC ` N#C 0ƪQ.C a:C ۯRC @p_C @|C C 0/ C >gJC FfRC HAC C p,D |'D p5D @SD qTfD ZHAxD TD lD ׍D "D @ KD 0ѣD SD 6- E `bV$E 'M34E П*PE ƩeE KzE E MZE PZE `KE @~E WE nHAF 0YF F P&,F 1F p)BF lRF O'iF PmuF PGF F F 0|YF pF F H/F 0 G "G t&G 0\HA9G KG lCTG kG "vG G *G !G `"G pfG 8nG d\G @[G q H "-H Ϙg0T fT T"wT `0+~T ħT |T `RT HAT HAT @MT `܎T  U U d-U "FU TU _U @UoU @{(uU P" U pcU U woU 5U `V1U h*U H,U 6V r$V tN0V и>V y9FV 0tI_V PzXlV "V `fV 4V tV PHAV P@|V p.V W l"W k$W ">W HXW jjW PkW Pn5W `D W W LEW pOI!W `nu$X ".X YS8X IKX OX `9bX w|lX 4$rX NQX 0>HAX FX VX @:X "X P<X @x[X WX T$Y [* Y lyY pK"2Y 0JY [LUY -RkY }Y VY hY ,"Y 0K}ZY {Y XY pY pZ n1$Z (E"1Z IZ G] bZ Z ΘZ @0Z t Z Ɏ.Z {WZ MFZ @JZ ["[ 6M$[ L@[ K[ J}[[ "i[ [ C\[ 3[ `hHA[ V[ z"[ [ N\ t \ <`(\ >,9\ gK\ QW\ t e\ $L?u\ z#\ c\ ]\ N\ U\\ \ @sV\ O\ ] t /] E =] X] טf] @HAx] "] 0]] `L] H] ~HA] ] @ЅS^ Tu@^ "3^ ٍ=^ [5S^ P)e^ 0pr^ `z^ ov^ [v ^ l^ Hm^ @^ `x_^ P_ ?_ BM*._ PL5E_ p,Ia_ @x_ N_ R_ u$_ `I_ @jl_ C_ _ _ <` d ` (` #>4` PҐH` ːY` rIi` ڛ` 8` qJ` G` Vmw` Pe-` ^` @HAa }a M-a ciLa ഢda qIya Ta @ݍa E)a M "a 0a a Pa a Ha b n"b @e])b 7b \@Bb ,Nb `^ eb 7b ,b b HAb ]b "b Nc P|c 6)c 8c Ec }Rc Pp_c ec c njc P,~?c HAc dyc ] c Cc p/Lc Od -d Ad HASd @jHAgd /%d $"d pXd ~P"d pKgd &e @@e 0[ "e @4Ce `*Oe GXe 0"ie `OHAe he "e @e Ie e x"e Ϛf pCf {\f Jqf @f Mkf pbHAf %"f f 7f f vg Q2g Gg gIQg HAjg 8"rg zg P,g {Gg g |g g 0گg h `t;h 0Fkh [*h h gblh "h @ h 5yh <i "i PNr'i g/i j 8i p[U Di gi Уqi pNi 'i "i Pi xi p$i [i gj 0L&j "Bj L\j ytsj lMj "j j j PKj j j " k ƪk PF]4k dLFk m_k F>qk P{k T"k k HHAk p<k jk k t !l @Z/l P@l (Xl ;gl #:}l |l KVl l"l Rl !l *l HAl ` m `v"m 040m WDm pkm L m `N"m $#m Vm Nm 3*n :n j,n RlGn `SJfn sn |n %"n `vRn H"n Y"n @%n P""n 0|Go L'o ȗ5o @TaBo 0kHAao rbgo pp;|o Po o pOfo :o 0fTo GHAo pgo fo p2p am+p `ap pf0p "Ep `nWp R:ip H7p @jp H"p @Xp 5gp \np loq ^.'q { zO{ fi{ {{ 0{ "{ _{ I{ \p{ R-{ Ԫ{ P>E | kI"| HA.| HAF| @8j| |Ly| :| "| n| Pu| 2| 0| X| 0Q } ܕ} !} `U/} \6} @TDI} @]} uh} `:R:z} @} `} Y } <} jG} mj} @D"}  ~ l~ I/"~ X=~ N[I~ !7\~ H&v~ 0s~ u~ P~ 6L{~ ~ c\~ W~ p X P݅ ``  `&8"  ( ho"8 HAK "r sHA P[ p-  hۆ 6e TJ |y xD SI- ψlA 0_K ؄S \c v,v 1HA * p " `][ KIb eHA f& c6 ЯL W` Mus  [  P3  0MTψ ЬHA VHA { PʌP < HE" t2 |"A `zV [Q` Wl 0'x vH ۍ Őt " 0!ω pى @HA  { pN H"6 b"S Pb + n `Ո | - G ׊ Ɗ P؊ d}" @ M # 6 #T< 0 \(O ad `-t @AL \t" NJ : Ѕϋ ~iۋ Lr ^HA p`4 ซ@ SO b o L { f d" @wI Ō `H#Ռ   6- P"9 [S D  0 r h" :IY   @`0 v3 cE "M ]^ \Vu W( Hb HA Pn `HŽ `h)֎ PgQ pP: " $ p9 A ЎO ТHAd su `  0 M 8M Ώ N P xHA P]m. pI=& w,7 0KI PJY @I  8  " 7 / Ȑ @cQ֐ `6[# B  p͏  ?) @2 /b @o ~ 7 _ t~ dڑ Yk{" p" @ qt GE f1 @\^? GP ̝"\ @?>q PLl 0 ǒ UxՒ l\ " y$ 1> U m { @g P% R 0 tx 5ȓ 2ܓ ՜ G @  r !$ 1 |< XU -Fd } pKPE p5HA P" u?  z̔ h P JY " ( %1 D $oJ M}b `I} `UWC PxM ۦ `!͕ Vܕ 0 0^  \( `VLf &( 2 ` JJ p;!^ z\y H " ЧHA 0 Ė ˖ 7 4" 0s " PN"3 ؔ"R Qmf YWsv Pt+ p?M ~o Ǘ `N  OHA  oa% "< TQ 5g Ny |g І "Ș %Z֘ v8 UQ HW ĞJ Q Ѐ, {? PbaN "` @m Ӎ#x " / ݪ 0!v™ 䚺ٙ k` j* + ! " \K4 p[G Q P8\ Lo "| u " Ĭ  PՊ̚ P$g \ $ 00% S0 9HAC P кNEd Yl д PK SK @dK  0fHAۛ 0hA M5 y pQ \ o> RP Ha "{  @S I( pӴ \y 0* "֜ u  E fQ " h5 J NZ ll \ py  `Ru  ɝ u ҝ ]LLޝ Kd ) @ @' "2 b*@ {R f Pt G p* 0fb PH, @`HAʞ c, S" Q @0 L)  ; 2^ cbi po[w 2| E K J Xt"П " p |  pf& 03 ~= H4H `^HAe p] `1 K} pz eР   p= P F ) #L jV L*l ~] MY @N Ǩ @yZӡ Pfۡ x" & ٩ Ig3 5/ 7H tY d "} b "  =բ P{N @U  PVe4 0hE PnZ ܢu "} " @ fţ (-&٣ PD @4  y D @N|( PG#= ۘM |t\ r "  X 4=