`CIBM 8Lpl M@=|wAa x.?oA"H 4VgLAn 1AY&&g(<Aan <Sf!&<@<w=|Nu<AaFBG`*H<><Aa2A#a,?<NATH@ ;g 0:g 0(zg 3Z`$ByZ` PDc PFgm PIgz PLg _NByZByX`g/A P b?0@0;N/Nh P b?0@0;N*8r B 0 _NByZByX`JyZf\H``?<?<NMX/4E:"j$ jPHz@N LNsJyZf\H``4 z2(hgaE jP"j$Hz@NLNsJyZfj Pgb\H``4E"j$ jPHz@NLNsJyZf6\H`p&PgD z2(hgaJE"j$< e jPf N jPHz@NfLNsJyZf\`ba,<g <gNuhga<g<fNuBgNA@|hgXAher"P 11AFNuU@gNHNL8Ns"z0)$fB@: gnJigP@JigX@JigT@JigR@2:,SA@fL&Hf&@lBz@o4::H8)"6)$a LNs@f~lÈ4)"|g|UUg,|g&`^H8)"4zo4:6)$a(LNs4AgH8)"FD`A# O G I K L0 0000" 0<NB3 L0#00003~# V" 0<NB3 ANC4"2AC."2A~HC("2AC""2ANC"2ؠ3A0#,#B+H0+P4P@`A 00000# "<.0<NB y( f09 zC|V"2A8C}"2A2C~:"2`@|A5va~KVJ-g$MaJh m$J-gALX(fAZfA{fvA}JflA}бfb/- ?< ?<NMP/-?<!?<NMP/-?<"?<NMP/-?<.?<NMP/-?<-?<NMPFB-B# f bNuPCK2N"C2N"C{L2N"C|2N"C}02N"x`A040000# x3~"<.0<NB` Turbo ST f[2][Turbo ST (for sale only)|Copyright 1988,89 SofTrek |Version 1.6 July 5, 1989|By W. Buckholdt and J. Riffe][Install|Cancel|Info][2][Turbo ST is installed|Copyright 1988,89 SofTrek |Version 1.6 July 5, 1989|By W. Buckholdt and J. Riffe][Remove|Cancel|Info][0][Softrek|P.O. Box 5257|Winter Park, Florida 32793|Telephone: (407) 657-4611 ][ OK ]F^~AAxz4pN:EEA^4<0P2FAD:EEA^>:0P>FGDHJ@J9 g$nHSBnbg0AJCf F0HE:0HG>˒˒NuZZZZZZZZNuJCf0HF<0HE:0HA2͒͒0HG>˒˒NuJCg,ZZZZJd`ZZZZZZZZQZZZZNu0HF<0HE:0HA2͒͒0HD8CRBBN$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$0HG>˒˒Nu@@SBn4gAJCf&FRZRZNuJCfRZRZRZRZNuZZZZNuJCgZZJd `ZZZZQZZNuRZRZ0HD8CTBN$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$RZRZNu@SBn$gAJCfFRRNuJCf RZRRNuZRNu0HD8JCf@RZJd4BC,N$$$$$$$$$$$$$$$$$$$RZNuZJdZBC,NѹRNu>AAAu4pN<rAFBEH:#g@n\H:f0HE:|g2AJ0H@@@0@@JCfx/ ,FA(GJBgt`4GdC NCNCNCNESBQEhRBXHXKEQ&_NuGdCJNCNCNCNAJBgt`4GdCNCNQESBQEhRBXQEQNuGdCNCN2JAAAtZAAJCgANE @D໪仪 $Ļ`d@D໪仪 $Ļ`dQ~NuANE @D䋪 $ċ`d@D䋪 $ċ`dQ~Nu@@:f0HE:|gN2AJ0H@@@0@@JCfL/ ,FAGCJBgt`4GdNNESBQEdRBXHXKCEQ&_NuAڐCJBgt`4GdNYESBQEdXHRBCYEQNuGdN͚ͪͪͪͪͪͪͪͪͪͪͪͪNыNѻN2JAAAqAJCfPAFNE @ `@ `QNuAFNE @໪ `@໪ `QNu@:f|g2AJ0H@@0@@JBgt`4JCg6CAGdNEPSBQERBXCEPQNuGdN/ GA<FFC GdNNSBEPQERBXXCEPQ&_NujjjjjjjjjjjjjjjjjjjjjjjjRNjjjjjjjjjjjjjjjjjjjjjjjjRNѻjjjjjjjjjjjjjjjjjjjjjjjjRN2JAAAo"AJCfPAFNEjPjjj@jjj0jjЋj jpjjj`jRQNuAFNEjPjjj@jjj0jjлj jpjjj`jRQNu1Ŋ(r:<RGgSG` 1Ŋ(r:<RGglSG`1Ŋ(rzPRGg\SGA0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_00@2{ `0@2{RBA.BX0A2 0000TQNuLXLps/:2Nu j2n0**j.f0*(gU@g ` j,f Q0(U@ghW@fH iLAfBfEfFf6`@fCfDfGf4@lBAlC0|Jjg@L,Dl Dm^0PHFl FmP2RHEo EnB4THGo$Gn46XH`z o4:THzo6:XHH6*(8*0|o8*`D8;@>:fDa.0/2/4/a02/4/a02/4/aPLNufaf0/2/4/af0/2/4/af0/2/4/aO LNuH iLAg@f@JjfBEAlCzz o26:`,L,DmnEnjBEAlCzFlFmX2GoGnN646*(8*0gF|o8*` DA 80@JEg"|g|UUg |g`:AgFDaLNuxaLNu@lBJjf zlo(4:f`"L,Fm:Gn6DlDm.0EoEn$46*(8*0|o8*` DA80@a|LNu:m8:f2Jf, f" . fJ*f nf n(n`HNL8Ns"n$n f0.nf  fJ*f2:4nfn&f2: nf2:nfn$f nn n(nHz~H2.:.8<VSF>.SG f$xN"JB@Am0<`GGAAj EAjP46LNDBBAO40 CCAO600:ng`:NsH6n8n&:.8.<VSF>.SG f$xN f$xNEAiP46LNDB:BAOB40 CCAOT600:nDDSFnVg"C8FD0B2iDA4QLNs8HD8F0*C"„A5@HA0BA4QLNs0T@@@XLSF0F8FD0Br2김A4XJNd H@r2김A4XJHAp0긂@4XJQH@2iAD2CA4<QLNsDSFnHg"C8FD0B2iDA4QLNsHB4(F "„$QLNs0T@@SF0F8FD0Br2김A4Nd H@r2김A4HAp0긂@4QH@2iAD2CA4<QLNsL,LDlFElG@l@m,8BlBm":AoAn<CoCn >L"xN`fLNuLXLps/:Nu Q h  Y hf Y Pf iBhBhH YJf Jjff 8N"@LDlFElG@lBAlC@fBfAEAm$n CmnLNu0<`Cgn6`>CG`B@Cg m>`CG$IAAfEAfP46LNDBBALz40 CCAL600:GnzgXL8D:0f@SFng6DB0HC6,F "‚$ "‚$QLNuD0HB40HC6*F,F "‚$ "‚$ "ƒ$ "ƒ$QLNuD0H@0HB40HC6FFAn*F,F "‚$ "‚$N$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ "ƒ$ "ƒ$QLNuDD8D:fSFnjg*DB0HC6,F "‚$QLNuD0HB40HC6*F,F "‚$ "ƒ$QLNuD0@@@0HB40HC6FAf*F,F "‚$N$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ "ƒ$QLNuD8:fSFnLg$DPB,F02EB@4QLNuDPHB4*F "‚$QLNuDLFFHBBBHCSFNe6*F,F "‚$N$$$$$$$$$$$$$$$$$$ "ƒ$QLNuzrDRF0H@` zrDRF0H@`zrDRRFFFFBFC|fCRGA 00 00000 0000pf`TT!I!J1G0fQLNuJ*gAJ*Angj|f"JAf4*LQBfA%HX%HPA%HTNuA%HX%HPA%HTaBBHdPBIdXB%p hBBHdPBIdXB%p lNu|f:JAf6$*|tgA4%HX%HPA0%HTNuAJ%HX%HPAF%HTNuA%HX%HPA%HT j\BBHdPBIdXB%p `BBHdPBIdXB%p dNu@A|f6$*|tgA%HX%HPA%HTNuA6%HX%HPA2%HTNuAp%HX%HPAl%HT j\H%p`Nu< cB" )S*J*g fB*@A`X2pH@NAd4JXPXXX@XXX0XXX XpXXX`XR*"AilRiNsJ*fNsBi2)ilRiNs0) xNaANs< cB" )S*J*g fB*@A_2pH@@A^NAcrJ000@D000 $00`dR*"A0)ilRiNsJ*fNsBi2)ilRiNs0) xNa@\Ns/ 0*LS@@@ATCȒ0"_Nu< c B" )S*J*g fB*@A].2pH@NA2JNXPXXX@XXX0XXX XpXXX`XR*"AilRiNsJ*fNsBi2)ilRiNs0) xNa=~Ns< e xB" )S*J*g fB*@C\n2qH@NJ j`NR*"A0)ilRiNsJ*fNsBi2)ilRiNs0) xNa%HA!%H$*|tgA%H\aaa;D`bA\%H\`X0S@@@A%HA*%HAd%HA ڐ%H$*|tgA%H\aaa;`Ah%H\0*2*aR*LNuHEp%@%@%@5@@5@%@%@xJ*Aot5|D5|5|F5|PH5|N5|5|5|"j,%ip5|A sd pj W U"#'#`5|H5|N5|"j,%ipJ*AmV5|D5|5|F5|5|5|A  |R d `#)V#`F5|D5|5|F5|?5|5|A y v ^ [B(jp6,P(lL%Lt%L|J*Ao*AX<4<x2&LQRQAX Ch2<`2AhCX4<x2&LQRQAgCo2< F"QAR4*FSB2<OIB@0R@0BQAT4*H2*B@0BQA:C:*AnC: 0*2*aLNu4)lNu/ RBS*J*ga0)@AS2pNJ*Angp/2*6AIAP"0C &00 j0H`NCNCQg jHANHATNTCHANHATNR*&"_Nu2*I"; j0H`NQg jHANHATNR*"_Nu2*DAH j0Hd jN j`NQg jNR*"_NuAPAAA@AAA0AAA ApAAA`ANu3AP3A3A3A@3A3A3A03A3A3A 3Ap3A3A3A`3A2Nu#A#AP#A#A#A@#A#A#A0#A#A#A #Ap#A#A#A`#A"NuAA@AAA AA`AAA@AAA AA`Nu#A#A@#A#A#A #A#A`#A#A#A@#A#A#A #A#A`"Nu4)ԔilNu/ RBS*J*gat )@AQv2pNJ*Ang/H@AO@2*6AIAz"0C &00 g" jHANHATNTCHANHATNCRSB j0H`NCNCQg jHANHATNTCHANHATNR*&"_NuH@AOJ@2*I"; g jHANHATNRSB j0H`NQg jHANHATNR*"_NuH@2*DAH g jNRSB j0Hd jN j`NQg jNR*"_NuH|CO.@01S*J*ga6*J*An$g8CK";0D $;@`CK";0` rCgr$&(*"B$A&B(A*BHe` H||H||H||H||H||H||H||H||QL>8R*Nug4BB4; NN Jg4BB4; g@>S@AaNuJ*o )䰪fJ*g SjnaNuJ*faNuJ*ga%iaNuLXLps/:tNu Q0( |bH`EJBA1A1A@0;N&HVr4BPLNu Q1| i "j$0)R@00)R@0`"j$Hz@N "j$Hz@N "j$Hz@N"j$Hz@N"j$Hz@N"j$Hz@N"j$Hz~@N"j$Hzp@N"j$Hzb@N"j$HzT@N2 i"j$0S@2)ְAo03@0S@2)԰Ao03@`H Q&i(j$6(`4 jP"LHz@NQL`"j$Hz@Nj"j$Hz@Nn Q1| i "j$0)R@00)R@0` Q hfzJj fr0*(g U@fh j$f`H"iLAfBfEfFg$`@f CfDfGgLXLps/:tNu64AlCJj"fRASCx1D1D`JXLps/:FNuLNuJj f0*(g U@f j$fH Qp1@1@"iLAlC@lBJjg0L,DlDm0FlFm2EoEn4GoGn6`zjo4:dz^o6:XA<AAH*2pN28HJ@zEAA-20EDA-80@:ȫndg0H:Ȟf j(g >*g 0*$g S@g`@@:lf j(g >*g0*$gS@g`H@:*g0*$gS@g>* $j0G<@@ASBnPg$0A2FA<QAQCPQ J>Q`j0HA2(F<HF<Ñ̄CPQ J>Q`@H8F6|L–HABAHDSBJe8 QL8`|N|<HFN|<N<HF<NBBBBHGGG*{p j>* 0G@ARGG8G@SBntg0A0HD8"FMNɑ́CUGn> QLx`.0HA20HD8$F*FMNÑ ɑ̅CUGn> QLx`6|0@@0HA20HD8BEh$F*FMNÑ N""""""""""""""""""""""""""""""""""""""ɑ̅UGn> QLx`N|~N|<HF~N|<~N<HF<~N|~>HGN|<HF.N|<.HGN<HF.<BGN|~>N|<.HFN|<.N|<.HF<N|>HG>N|<HF.>N|<.HG>N<HF<.NDDDD D*D4D>DHDTD\DfDnDzDDDHGGG*{p>* RGHC6CHƌHFFG j(HHCFSBng8A0HD8"FMNɑ́ɑ΁CbHCHCQLx`0HA20HD8$F*FMNÑ Ñ ɑ̅ɑ΅CbHCHCQLx`6|0H0HA20HD8BBEp$F*FMNÑ Ñ N""""""""""""""""""""""""""""""""""""""ɑ̅ɑ΅bHCHCQLx`SBnBA.pÙN""""""""""""""""""əQ`lHpz|~ @$@&@(@|nDg CHɡHᇸHᇸáCQL`0CLtɡH᧸H᧰áCQL`CPtɡH᧸H᧸áCQL`SBnJg A0HD8KdɑCɑCQ`0HA20HD8KdÙəCÙəCQ`:<0@@@0HA20HD8|#n`BAPpÙN"""""""""""""""""""""""""""""""""""əQ` Hpz|~ @$@&@(@*@|%nTg(CɡHᇼHᇼHᇼHᇼáC8QL8`CtɡH᧼H᧸H᧸H᧸áC*g<0*$g6S@g aFGOE`$E<<`GOE0<<`E<<~:<RB0H@p` j(g&>*g<0*$g6S@g aGOEf`$EZ<<`GOE<<`EF<<~:<RB0@@@p`V  j(gJjg,0*$g&S@garE`E<<`E<<`E<<~pzRRBBBRCFAFD|fDA(00000 0000pfTA2QLNuFNA0* $jg\W@g.mBY@g Nu E Nu * Nu  Nu0H@0 NuH5jF* *@A52pNJ*AoNH@ jNF)PF)F)F)@F)F)F)0F)F)F) F)pF)F)F)`F)FLNum>A4(H@f@ < jNLNuS@@ < jNLNuA3H@f@ < jNNLNuS@@ < jNNLNu@౩ `@౩ `NuHI9|)| xC1# # # C0"4pr"Q)H$)I,)J(# #d?S@A$L"j$aaZLNu"o4B|bTBB"{ N"zNUUUUUUnUUUUUUUUH"z"q NL8Nsg4*,0A^@H@@H@Bg~j.nHA@QA0H@>+0@@At806CQCnDC4<zDFBaL`2p@@BftB溄DHBFaL`TtjDFBaLg4*.0AR@H:HAS@BgzHA@R@2H@0@>30@@A806CQCnDC4<zDFBaL`2p@@Bf4<bDFBa&L`tBHBDFaLJGg6CgQCg0H@JCnPC`(SEm| L0H. 8pH@CPQ"GTSEm4. 8 L0H$L0HpRH@CPQ"GTQJj0HDCPCB@hQCPQL8Nu0HSEm L0H. 8CPQ"GRQL8Nu>#QA0H@0*,@@A800*.@@A:06CQCnDC4<zDEFBaL8Nu0*,@A@f<0*.@@f4<bDEFBaL8NutB溄DHBEFa|L8NuTtjDEFBaL8NuI4B.< 0H@6CgQCgnPC`&SEm L0HxpH@CPQCSEm g $LH@ LpH@pH@PpH@pH@pH@@pH@pH@pH@0pH@p H@p H@ p H@pp H@p H@pH@`pH@TQJj(DCPC0HxB@hQCPB@hQCPQL8NuSEm L0gdHB@QiPiii@iii0iii ipiii`iTSEm g$LH@ LQiPiii@iii0i i i  ip i ii`iTQJJjh0GgbH)P)))@)))0))) )p)))`)L8Nu LO8hBQCPQNu LO8H@CPQNu LO8hBQCPQNu LO8H@BQCPQNu:Fg4*,0A^@H@@H@Bgj.n H@@QA0H@<+< g*0@@A806CQCnDC4<zDFBaTL`0p@@BftB溄DFaVL`PtjDFBaLg4*.0AR@H:HAS@BgH@@R@2H@0@<3< g*0@@Al806CQCnDC4<zDFBaL`4p@@Bf4<bDFBaL`tBHBDFHBaLJGg| $<0H@AgQAgn 6DC~C`@>vGSEm60Fg, LH$I8 0YYYYH@YYYYCQ"JPSEm0Fg LH$I8 0BhYYYYCQ"J`0Fg" LH$I8 B@0BYYYYCQ"JPSEm0Fg LH$I8 0BYYYYCQ"JQ`t<#< gjQA0H@0*,@@A800*.@@A>06CQCnDC4<zDGFBa$`0*,@A@f80*.@@f4<bDGFBa<`tB溄DHBGFa`PtjDGFBa2`| E=0H@AgQAgn 6DC~C`@>vGSEm0Fg, JHxpYYYYH@YYYYCQCPSEmN0Fg JHxB@hYYYYCB@hYYYYCQC`0Fgx JHB@YYYYCYYYYCYYYYCYYYYCYYYYCYYYYCYYYYCYYYYCPSEm0Fg LHLBYYYYCBYYYYCBYYYYCBYYYYCLBYYYYCBYYYYCBYYYYCBYYYYCQL8Nu LN8 0hBYYYYCQNu LN8 0YYYYH@YYYYCQNu LN8 0hBYYYYCQNu LN8 0H@BYYYYCQNug4*,0A^@H@@H@Bgj.n8HA@QA0H@>+< g*0@@A 806CQCnDC4<zDFBaNL`0p@@BftB溄DFaLL`XtjDFBavLg4*.0AR@H:HAS@BgHA@R@2H@0@>3< g*0@@A 806CQCnDC4<zDFBaL`4p@@Bf4<bDFBaL`tBHBDFHBaLJGg~ 0H@0 K96CgQCgnPC`2SEm0g$H M" 8p渁YYH@YYCQ"AXSEm6" 8 L0H$M0Hp0渁YYH@YYCQ"AXQJj 0gHDCPCB@hYYCQL8NuSEmF M0H" 8B@YYCQ"AXSEm" L0H" 80BYYCQ"AQL8Nu>#< gLQA0H@0*,@@A h800*.@@A v:06CQCnDC4<zDEFBaL8Nu0*,@A@f<0*.@@f4<bDEFBaL8NutB溄DHBEFaL8NuXtjDEFBaL8NuK8~ 0H@6CgQCg>nPC`0SEm0g$H Mxp渁YYH@YYCQCXSEm L0H$M0Hp0渁YYH@YYCp0渁YYH@YYCp0渁YYH@YYCp0渁YYH@YYCp0渁YYH@YYCp0渁YYH@YYCp0渁YYH@YYCp0渁YYH@YYCQ>Jj00g*HDCPCxB@hYYCB@hYYCQL8NuSEm M0gTHB@Qiiii@iBiiiii i"iii`ibXSEmr  gb$MH@@ LLQiiii@iBiiiii i"ii0i`ibXQJj^0< gVHLBQiBiiBi@iBBiiBiiBi i"BiiBi`ibL8Nu LO80hBYYCQNu LO80YYH@YYCQNu LO80hBYYCQNu LO80H@BYYCQNuH~xNUBD&PBCSCR(KE@"j$:)H`?<?<NMXL<gd< gB< g<<g^<gְ<g<g< g jPHz@NQ`< Hz@Nؙ0 N]L~NsN]L~BgNANsigpRC$< gSi< jPHz@NSi`JSD| n@2DAA<5i`.<)2FPFio<)RFA| n 2DAA;RDa`V<)E3EaBC+SC(KBD3E`a<atBC+SC(KBD`af<aZ, (K`< g jPHz@NQ`?<)2FPFio<)RFAa<`< jPHz@NQNu<# jPHz@N< Hz@N~< Hz@NpNuH~S*J*gaj,HJ(<<C@01S@L>>H||L>>H||L>>H||L>>H||QL~xpa&R*NuS*J*gaJ*@fXH~,HJ<<C.@01S@L>>H>>L>>H>>(L>>H>>PL>>H>>xQ NL~xpaκR*Nu/ CH@01"HJ!Ɋ$1(1 1"C.22"2H222pf"_JpaZR*Nu Q1| i0mzl i 0@5{ ,Nup`  Q1| i0mzTl i 0@5{Nup`E0|b$@0;N <DJPB*J*gaNsB*J*f"j$%ia|Ns|NsB*Ns5PNs0*NsH瀀B?< NA\#k:LNuH瀀/9k:?< NA\LNu )S*J*g fB*@A0pH@NBBBPBBB@BBB0BBB BpBBB`BR*ilRiNsJ*fNsBi2)ilRiNs0) xNa~Ns )" S*J*g fB*@A2pH@@ANt@ `R*"A0)ilRiNsJ*fNsBi2)ilRiNs0) xNaNs )" S*J*g fB*@A~2pH@@AlNBB@ `R*"A0)ilRiNsJ*fNsBi2)ilRiNs0) xNaRNs/ 0*LS@HAJCȒ0"_Nu" )S*J*g fB*@A22pH@@AN0<N@ `@ `R*"A0)ilRiNsJ*fNsBi2)ilRiNs0) xNazNs/ 0*LS@HA@CzȒ0"_Nu" )S*J*g fB*@AZ2pH@NBBNBPBBB@BBB0BBB BpBBB`BR*"AilRiNsJ*fNsBi2)ilRiNs0) xNaNs?? XLps/:TNuJjf j(b jfJjFfJRf j hLzfH YXB@0z:0&Y"Y260*&@{0*&gU@mg `0H@`0H@Ip"xNJjgBG:G4JASB<:8F0*,@l@mXRG0*0@l@mJTGC@@:@0*.@o@n4XG0*2@o @n&PG@DJGg"CA0Jj(f zN zNL8NuCA0Jj(f zN zNg4*,0A^@H@@H@Bgj.nHA@QA0@@>+0@@A,806CQCnDC2<yD4FBavL`6p@@BfrB湂DHA$FapL`TriD4FBaLg4*.0AR@H:HAS@BgHA@R@2@@0@>30@@A806CQCnDC2<yD4FBaL`6p@@Bf2<aD4FBaL`rBHAD$FaLJGg6CgQCg0@@JCnPC`2SEmrBHA L0H. 8pH@ÑCPQ"GTSEm>rBAHA. 8 L0H$L0HpRH@ÑCPQ"GTQJj"0HDCPC2<yB@hQQCPQL8Nu0@SEm L0H. 8CPQ"GRQL8Nu>#QA0@@0*,@@A 800*.@@A.:06CQCnDC2<yDE4FBaVL8Nu0*,@A@f@0*.@@f2<aDE4FBaZL8NurB湂DHAE$Fa"L8NuTriDE4FBaDL8NuI6Cg4QCg.0@@JCnJPC`tÑéPééé@ééé0ééé épééé`éT`SEmrBHA L0HxpH@ÑCPQCSEmfrBAHA.< gr$LH@ LpH@ÑpH@éPPpH@épH@épH@é@@pH@épH@épH@é00pH@ép H@éЁp H@é  p H@éppp H@ép H@épH@é``pH@éTQJj2DCPC2<y0HxB@hQQCPB@hQQCPQL8NuSEm\0@>< |0@gP LHXPXXX@XXX0XXX XpXXX`XRQL8NuFPFFF@FFF0FFF FpFFF`F` LO8hBQQCPQNu LO8H@ÑCPQNu LO8hBQQCPQNu LO8H@BQQCPQNu:Fg4*,0A^@H@@H@Bgj.nZH@@QA0@@<+0@@A806CQCnDC2<yD4FBahL`4p@@BfrB湂D$FarL`PriD4FBaLg4*.0AR@H:HAS@BgH@@R@2@@0@<30@@AR806CQCnDC2<yD4FBaL`8p@@Bf2<aD4FBaL`rBHAD$FHBaLJGg0@@AgQAg AHI#JAn&6DC~C2<y0HA2tB,HB04<``>vG2<y0HA2tB,HB04<SEm L0H$I8 pőYYőYYH@͑YY͑YYCQ"JPSEm L0H$I8 B@hÑYYÑYYCQ"J` L0H$I8 0CQ"J^SEmt L0H$I8 0CQ"JRQ`J<#QA0@@0*,@@A~800*.@@A>06CQCnDC2<yDG4FBa`0*,@A@f<0*.@@f2<aDG4FBa2`rB湂DHAG$Fa`PriDG4FBa.`0@@Ag(QAgvn&6DC~CE""<tB,HB04<`^>vGE!"<tB,HB04<SEm, J0HxpőYYőYYH@͑YY͑YYCQCSEm J0HxB@hÑYYÑYYCB@hÑYYÑYYCQC`~ L0HL@DL $`d^SEmV L0HL@DL $`dRQVL8Nu LN0HA28 0hBÑYYÑYYCQNu LN,HA02<8 0ÑYYÑYYH@͑YY͑YYCQNu LN0HA28 0hBÑYYÑYYCQNu LN0HA28 0H@BÑYYÑYYCQNug4*,0A^@H@@H@Bgj.n^HA@QA0@@>+0@@A@806CQCnDC2<yD4FBaL`4p@@BfrB湂D$FaL`XriD4FBaLg4*.0AR@H:HAS@BgHA@R@2@@0@>30@@A806CQCnDC2<yD4FBa6L`8p@@Bf2<aD4FBajL`rBHAD$FHBa LJGg0@@6CgQCg0 KnJCnPC`BSEmrB$HA024 M0H. 8pÑYYH@őYYCQ"GXSEmL"<$HA024. 8 L0H$M0Hp0ÑYYH@őYYCQ"GXQJj&0HDCPC"<B@hÑYYCQL8Nu L0H. 80CQ"GVSEm" L0H. 80CQ"GRQL8Nu>#QA0@@0*,@@A800*.@@A:06CQCnDC2<yDE4FBajL8Nu0*,@A@f@0*.@@f2<aDE4FBaL8NurB湂DHAE$Fa>L8NuXriDE4FBazL8NuK0@@6Cg8QCgnJPC`Ñũéũé@ũDéũéũé ũ$éũé`ũdX`FSEmrB$HA024 M0HxpÑYYH@őYYCQCSEm"<$HA024.< gX$M LH@@p0ÑYYH@őYYCp0ÑYYH@őYYCp0ÑYYH@őYYCp0ÑYYH@őYYCp0ÑYYH@őYYCp0ÑYYH@őYYCp0ÑYYH@őYYCp0ÑYYH@őYYCQJj8DCPC"<0HxB@hÑYYCB@hÑYYCQL8Nup"#@#@@#@#@#@ #@#@``SEmR L0HL@   0`VSEmr  g$M LH@@L23@3A3A3B@3BB3C3C3D3D3F 3F"3G3G03@`3@bXQJj*0HL@   `L8Nu LO0HA280hBÑYYCQNu LO.HA02>80ÑYYH@ϑYYCQNu LO0HA280hBÑYYCQNu LO0HA280H@BÑYYCQNu#4$_psHz @/:LNuH z0( oS@| nHC#LNs Rg$_psHz @/: NumLpsHz @/:NuH A P0( oS@| nH z PC#LNs!>&@ZoR?hjZjmvH {0* S@g(mZ| nT@@ ;Zoh$@#"ANLB@Ns$zx#"ANLB@Ns|sf/ $A$R0;Bf$_psNLpsN (,$ Nh0W@g,NgA0W@g U@g6N0U@g W@gN4EC jPN4E"j$ jTN0"n`Ұ|g` 8!"8A,g.be2eNs!ET$: b HT0 >rZp mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.  (6..  (OLLUM ) 7ICE_FIRE < kAMPACK4  EDWAY_PACK OMPEY 1_9 UMPAK  ]HUNDER  ePIECE PRG q MULTI_V1MUG tATOMIC 3_5 ACK_SNT205`G&o + ЫЫO// Bg?<JNA IK&X~|N&:HkN$.!Hm!"NBN@NVHxdHxNP-HJf GN^Nu/.N(X f GN^NuHx&p/NP-HJf GN^Nu nC n""n n" nC0n" nC0n "/.NX/.NX nN^NuNV n h -H n hH-H n h-H n h-HA-H"nAPN^NuNV nJPg,"n n0P"H G  n h //. NpP"n G2N^NuNV n h,-H n hT-H G-H n h$-H n h(-H nJg0`R nR n`"n nH0@Nb-H`/. n hT/N jP-HJg nN^Nu n hT"H nf2 n h(-H n/H0@/ n"GNb"_Nb"_ JgP n"P n hTo nS P`" n"P n hTf nX"H G" nP P-H` GN^NuNV n h,-H n hT"H n hDf n h< n F` G g"/.N3@X-HJg nN^Nu n hT"F-H n h(-H n h$-H-H/./.N0P-H/.N`X-H/.N`X-H"n n"HAo AN^Nu/."n F I"_H0@-H/."n F I"_-H/./. n"F/N/ nC/ nC//.N/ /."n F I/ n hT/N "n n hX/H0@/ n"GNb"_Nb"_ /. n hT/N)P/.N)X/. n hT"F/N jP-HJg nN^NuJgP n"P nܳm2 n"P nܳf nX/"P n hX"_" nS P nP P-H` GN^NuNVV n h(-H nH0@=H0nCNb/HnVHxN/ /. /.HnVN < N^NuNV n h,-H n hT-H/. N`X-H/. n hT/NP-HJg nN^Nu n h$-H n h(-H/. /. n"F/N/ /././.N/ /. n hT"F/N0DP-H/./ n hT/N /. n hT/N)P/.N)XJg( n"P nm nR P nP P-H` GN^NuNV G-H n h< n/. N3@X-H n-H"n n hDlV` R n`/. /.N0P-H/. n"F/N0P-H/./.HxHN/ `"n n hDf( n h< n"n n hTf F` G g\ n h$-H"nA  nR"H G /. n hT/N)rP n CX G"/. N)X GN^Nu n A4R P n A/. n"F"_o*/."n F I/N'P/./.N'P/.N)XJgD n"P n hTf" nX"P n hXo nXS P nP P-H` GN^NuNV n h$N^NuNV n C\0n "Jn g$/. n hX/ n hT/N /. 0n /N(

PN^NuNV/. HxN+P g n h //.N0PN^NuNV/. n hT/N+P g n h //. /.N^ N^NuNV"nA l"nAo F` G g A -H/. n hT/N+P g n h //.NPN^NuNV"n n hPm(/. n hP"H n h"_l F` G g/. /.N۠PN^NuNV/. n hL//./N) n h /HxN>PN^NuNV/. n hX/ n hT/ n h\/N)N^NuNV/.HxN+PNbx gN^NuJn f n h //N0P n h /"n n hP I/"n n hL I/NZ Jn g n h //N0PN^NuNV nA-H/.HxN+PNbx g GN^Nu nC\ G"/./NP G-H"n n hlj` R n` n hd f"n nJf G` F g/."n n hP/NP"n n"H G `/.NtX/.NX nC\ F"/.NFX/. n hd/NP/.NNX/.N.X/.N.,X nCd G" GN^NuNV n A-H n h` gV nCf n Cd F"`4"n n hPm"/."n n hP I"_"H F ` n h /N"X n h`"GW @N^NuNV G-H/.NX-HJg /. HxN:PNbx f G` F gN^NuJl"n n hl F` G g n h"H n I-H"n n hl0 n h / n h"H nNb//N ` n h-H/. n hL/ n hP"H n//N n h /NX g/. N(X`"/. /./.N- /. N&X/. /NP/. N.XN^NuNV n hP"H n -H/. n hP"H n "H n"_l ` R n`/./.NP`/.NX/.NX GN^NuNV n hL"H n hg8 n h / nC n hL"/ n h/HxNN^NuNV n hP"H n h"H n hH-H n h< o"n n h<-H n h / n hP/ n h//.NnN^NuNV/.HxNPNbx gN^Nu n h //N0P"n n hPf n h //./N `B/. n hL/"n F I//Nf n h //.HxN /.N X/./NP/.NXN^NuNV . n ".`QN^NuNV . n "n`QN^NuNV .". n`SQN^NuNV n /"nANb ICHNb"_N^NuNV n PC/"nANb ICHNb"_N^NuNVJg(/./. HmHx/0n /$oNN^NuN^NuNVJg2/././. /. N`X//0n /$oNN^NuN^NuNV/./NDP/.N!X-HJg`` nCg nN^Nu n h4"HAl$/.N4X-HJg nN^Nu` GN^NuNV nX"H n" nP"H n " nCH n" GN^NuNV n h< l"/.N3@X-H g nN^Nu` GN^NuNV nX P-HJf AN^Nu n h4 f/.N4X-H g F` G g nN^Nu/. nP//N2 -H g nN^Nu/. nA@S/N0P-H-HA-H nRB @=H gh0nCf nRB @CNb-H`:"n0n  nC"H n  nCNb-HR n`"n G  nC, nAB @" nA8R P nA4S P GN^NuNV nX P-HJf AN^Nu n h4 f/.N5X-H g F` G g nN^Nu/. nP//N -H g nN^Nu n h0-H/. nADR/N0P-HA-H nRB @=H gh0nCf nRB @CNb-H`:"n0n  nC"H n  nCNb-HR n`"n G  nHh0 nCNb"_" nA/-lHxN"|PN/.N?X gN^/.N*XN&N^NuwNV/-l/HnHnN"/-lHxHnHnN"/-l/./.N n-H/-lNHX-H n-H"n nf "n n-H"n n I-H"n nf2 nS g nRH0@//.NP``././.NlP/-l/R/.N `T/.N8X/.NXN^NuNV/NCX gNE g F` G g| ml hP-H/-lHnHnN N|/-l/N#:PNF g/-l/./.N NH6/-l/././.NNZN^NuNV/NCX gNE g F` G g ml hP-H/-lHnHnN /-lHxN"|PN/-l/N#:PNF gXNDR/-lHxN#:P/-l/N"|PNH6/-lHxN"|PNZ mlCx F" mlC| F"/-l/././.NNdN^NuNV ml hP-H/NCX f GN^NuNE f GN^Nu/-lHnHnN N/-l/N#:P/-lHxN"|PNF f/-NX G+H /-l/././.NN m N^NuNVNrNH6NN^NuNV/NCX g&/-lHxN"|PNJ|g nS`*NT g mNbx+H GN^NuNS-H G+H|/.NT.X gJ"n mx I+H|/-l/-|/-N mCNb"F I/N:X FN^NuJg nS"H mxf` `R nBJf``jNT g mNbx+H GN^Nu mx-HJg NS-H`.N^NuNV/-xN`X"H F I-H"n mo"n m I-H"mx nN^NuNV nB @Cf GN^NuA-H nBJgr nRB @-H nCf`Jg/.NU(X-H nCf A -H"n nRB @g GN^Nu` FN^NuNV/-l//- mCNb"F I"_+H/N -H/-lNHX+Hx nN^NuNV"nAam"nAzn nC-H nN^NuNVtNU=H/. 0nCA"_  n R"HA: 0n"F/ n T/tNUP/. Hz"tN!&P/. /.tN!&PN^Nu\NVHxtN#XN^NuNVHxG/./. tN# N^NuNV/. tN`X-HJgP/. "n F I"_H0@ @C\g.H0@C:g F` G g F` G g nS`"n n"H G /. /.tN!&PN^NuNVJg/.0n//tNV `/.0n//tNW^ N^NuNV/.0nCNb"_C /tN[|X-H/.0nCNb"_C /"n0n Nb/tN[PN^NuNV/.0nCNb"_C /tN[|X-H/.0nCNb"_C /"n0n NbNb/tN[PN^NuNV/.0n//. nT/tN nX//.0nCNb"_C/tN[|X"_2 n\//.0nCNb"_C/tN[|X"_2N^NuNV/.0nCNb"_C /tN[nX-H/./. tN[PJn g nC/0n /tN[PN^NuNVC0n2AT"H0n2AX"H0n2A\"H0n 2/.HnHn/tNY^/.0n/tNP=H/.HnHntNZ /.0n//tNd 0nN^NuNVJn g././. n T/ n X/ n \/tNT///// n 0P/ n T0P/ n X0P/ n \0P/t N$/ n0P/ nT0P/ nX0P/ n\0P/ n 0P/ n T0P/ n X0P/ n \0P/t N$/.//. tNZV Hx/tN PN^NuNV/.0n/Hx n0P/ nT0P/ nX0P/ n\0P/tNN^NuNVHx/tN PHx n 0P/ n T0P/ n X0P/ n \0P/ n0P/ nT0P/ nX0P/ n\0P/t N$Hx n 0P/ n T0P/ n X0P/ n \0P/ n0P/ nT0P/ nX0P/ n\0P/t N$N^NuNV n PN^NuNV n0PN^NuNV"n 0n 2N^NuNV"n n"N^NuNVN"HA.lHxNX FN^NuJgHn/.N!tP`"HnN]X-HJg nN^NuHnHznNb$P-HN+Hl ml h -H n0P;Hp0mp/HxHnN 6 Jf,Hx NX-H nCfN`b FN^NuA;H/-l/.HnNb g,N`bJg/.N*XA;HAN^NuHnHx.NP-HJg/.HzNLP f F` G g mlCA" mlC F" mlP P-H0mp/Hx n h /N 6 Jg/.N*XA;H GN^Nur.DOCNVHx/N PHmHmHnN $ Hx/N PJnf FN^NuAJg(/.HmN!tP/.HmNVP GN^Nu`N^NuNV0m/NXN^NuNVHxNXN^NuNVNbHnNLX fHnN"X`NbjN^NuNV/./. N!tP/.Hx.NP-HJg/./.N!tP`/./.N!&P nN^NuNV mlP P-H/-zHxHnNW /HxHnN /.HxHnHx%NXVHn n h /N!tP/./0n/AT0P/AX0P/A\0P/NX-H nCf(/HnN`P g FN^NuN`b GN^Nu FN^NuNV mlP P-H/ n h /N`P g FN^NuN`b GN^NuNV/-zHx!HnNW //HnN /./0n/AT0P/AX0P/A\0P/NX-H nCfNhN`b GN^Nu FN^NuNV/-lN,X/Hx HnHnHnHnN P0n;HpC0n P+HlN^NuNV ml h g ml h f F` G gHxNXCf FN^Nu/.HzNb$P-HJgb/.N*XJ gHx NXCf FN^NuHn/.HzN HnN"X/.HnNbP/-l/NDPN;/.HzoNb$P-HJfHxNXA-H`/.NeX-H/.N*XJg/-l/NDP nN^Nur.bakwNVHxV//. /.N#N^NuNV m!XJg/-!N*X/. /./-!N n GN^Nu m!N^NuNVJfHxHxNP+HN^NuNVJg/-NX G+HN^NuNV G-H G=HHxHxNP-HJf AN^Nu nP"H n" nC nA$" n h //.N!tP nX/"n n""_" nHh nP"H nP""_"/.NX nCAB" nC F" nHh nCA""_" nC A" nCA6"J gОHnHx/. N gJo2/-l/"n F I/tN /-ltN X-H`Hx(tNtrX nN^NuNV/tNtrXN^NuNVHxtNtrXN^NuNV/-l/tNXP G-H n`>/-l/tNDP`/-ltNX`/-l/tNDP/-l/tNXP/-ltN X-H nN^Nu`/-l/tNP`n/-lHnHntN G-H nR/-l/./.tN -H nCf tN^/-l/tNDPtNwd-H`tNw-H`/-l/tNP`tNwd-H`/-l/tNP``Nb  $@(X,P0H4P8\.H2@ nfHm n"F"_H0@N^Nu nC-H`AN^NuNV/-lHnHntN Jf FN^Nu nS/-l/./.tN GN^NuNV/-ltNXtNN^NuNV"m mBfNw g AN^Nu` GN^NuNV G=H mB-H G=H F=H/-lNHX-H nC-H G=H"n0nB @=H"n0nB @=H2n0m.f mB+H60nRn0nC f`0nCfJmZg F=H```:0nCf&JngA=H`A=H`V` G=H0n=H G=H0n/0n/NyP`&JmTg@Jng0nCf F` G g/-lNTX F;HVAN^Nu0nCg0nC-g F` G g F;HT"mB nf F;HV/-lNTX G;HZ0mVN^NuNV2n ANb"H0n=HJmTf0"mB0n2/-BNzX+HB"mB mFf F;HTN^NuNVT"n m>e m:-H nN^NuNV/-lNHX-H nH0@C f/-lN$vXN^NuN7N;NzN{8JmVf`N7N^NuNVJ:fHxHxNP+H: m:+HB+HA;H. G+H6 m:A+H> F;HZ G;HT;HV/NX;HN G;HL/-lHnHnN /-l//.N N^NuNVN{N{JmVg F;HX`2JmRg2m 0m o F` G g N}``N~N^NuNV G;H,;H`;HR;HP;H;H;H ;H 0mNbx;HX0mN;H 0mL;H" m+HFN^NuNVN ft m0PCNb=H0nCf N|f`(0nCf N|`0n/N}X0nC-W @;H,/-NX+HN^NuNVRm0mN||N^NuNVJmPo A;HPN^NuNV0m Rm Jm"f 0m /2m F I"_l F` G g60m ;HL/NX"H0m I;HN0m`Rm` G;H G;HN^NuNVJmg2N}2m 0m;H 0m Rm JmPl 0mRm`Jm,gN} G;H0m Rm 0n /N}pXN^NuNV G;HP2n AAl Hz 0n /NP g F;HPN^Nu.,!?:;NV0m ;H0m ;H0m;H m+H F;HRN^NuNVJmRg"0m;H 0m;H 0m;H m+HN^NuNV G;H\;H^;H*;H(;H&;H$A;H00m ;HJ2m 0m I=HJm gJmXf F` G gv2n0m Nb;H$2n0m Nb I=H2m 0m I;HJ2n0mn0n;H&`*0m;H&2n0m I;H*2m*ANb;H( G;HPA+HdA+Hh0m"/N,X G;H"mF mg mF0P/NX`NHx NX/NX/-lHnHnN /-lHnHnN < /-l/ n"F/N Jm0m0m0;H2 n;H4Jmg~A+HdA+Hh2m"Al A;H"0m"/N,XHx NX/NX/-lHnHnN < /-l/ nC/N N^NuNVJn gJ mF2PANbCwNb @bHxNX2n Fo2n F I/NXN^NuNVB0. @CNb=HN0nCf^B0. "@ANb @b-bH0@CwNb @bJm\g A=H0n/NX0m`Sm` F;H\`h G;H\0nCf"B0. "@ANb @bN`4JmgNB0. "@ANb @b0n/NX/-FNX+HFN^NuNV"mF m6f0m^;H0 G+H6N^NuNVNHxNX0mRmN^NuNV0n /NX0n /NXN^NuNVJm gJm`f F` G g0m$/NXJmPl&Jm&g/NXSm&0m& G;HP`LJm(g/NXSm(0m(Sm*0m*2mJ0m*n/NXSm*0m*SmJ0mJSm 0m G;HN^NuNV0n Sn gHxNX`N^NuNV mdRd"H0n  mhRh/-bH0@CNb"_ 0m^Rm^N^NuNV/NX=HJmg/-lHnHnN /-lNHX-H/.HxNP-HJfN^Nu nRH0@Cf` nJfN^Nu"n0no(N7/.NX//.NrPN7N^NuNV/-l/HnHnN"/-lHxHnHnN""n ng"n ng G` F gN;N^NuNV/-lHnHnN N7/.NpX//NrPN7N^NuNVN(NJng G;HZ` 0n ;H.Nd F;HT F;HXN8JmVg`` 0nRn`C0n0P/C0n0P"_g G=H`Jng0n /HxHntN 0n /HntN8PN^NuNVC0n P-H n h -H/. n0PCCNb"_20n/Hx/.tN 0n/Hx nP/tN nP/ nHhtN^P nT0P// nHhtNT /.tN2X/. n0h "H n0h$ nX0PNb/ n0h"H0m n\0PNb/tN N^NuNVA\0P=HAP0P-H ml hP"H ml hH-H2n0mpgN^Nu ml h< o"n ml h<-HJnN^Nu"n nNb"HANb-H/-l//./.tNN^NuNVA\0P=HAP0P-H ml hC I-H2n0mpgN^Nu"n nNb"HANb-H mlCL n"/-ltNXN^NuNV ml h -HHnHnHnHntN 2n n0h 0ml0n/0n/tNҞPN^Nu2n nP0P0ml$0n/0n/0n/tN\ N^NuJnfT/.HnHntN g2/-l0n/0n/tN /tN:XtN~`Hx/tN PHx/tN P0n/0n/HxHxHnHntN Hx/tN P//tN P0nCf0nCf F` G gL/.HnHntN g*/-l0n/0n/tN /tN:XN^Nu0n/2nA I"_=H0n/0nC"_=H/.HnHntN g&/.HnHntN g F` G gT2n0ng G=H G=H0nRn0n/0n/0n/0n/tN:R/tNXN^NuNV n /2P nP0P I"_2 n/2P n0h I"_2 n JPl GN^Nu n /2P n0h$ I"_2 n JPl "n G2 n2P0mm0 n 2P n0h l n2P n0hl F` G g^/. ml hL/ n 2P ml hNb"_"_2/. ml hP/ n2P0m ml hNb"_"_2 FN^Nu GN^NuNV2nA" I=H m~-H///HnHn HnHntNt/-~0n/HnHntN2n0n0mfNb=H/.0nCNb"_C /tN[nX-H n P-H"n0nH0@C fN^Nu0nCNb/2nANb"_/tNXN^NuNV0mNbx g F;H/tN XN^NuNVJmg G;H/tN XN^NuNVC0n P-H n h -HA =H nT0P=H0n/0n/HntN A =HAXJPfA\JPf F` G g`b/.HntNP gFHnHntN^P0n//HntNT G;H/.tNX F;H`T0n// nHhtNT N^NuNVA =H G=HJmg0n/0n/HntN A =HAXJPfA\JPf F` G g`D/-~0n /Hx0n/AT0P/AX0P/A\0P/tN`rN^NuNV ml h=H0n "FNb=H2n0nNb"GW @=H ml h fHxtNXN^Nu0n /0n/tNPJng.CR0n 0P=H Jn m0n //tNP ml h;HxN^NuNVCr0n0P=HCb0n0P=H0n"FNb=HJn g mlA/"P0nNb"_"` mlA/"P0nNbNb"_"/-z0n/0n /tN Jng0n/0n /tNzPN^NuNV F=HJmvfN^Nu/-ltN%X=H2n0mxNb=HJng G=H2nAl`0nRn2n FNb=H`2n0nNb gb2n0nNb"GV @=H/-zCr0n0P/0n/tN Cb0n0P/0n/tNzP`t mlC0n;Hx"N^NuNVJngn/-~0n/0n /tNV /-~0n"F/0n /tNV /-~0nC/0n /tNV 0n/tN|XN^NuNVHx0n /HntN //.tNPN^NuNVHx@NX-HJg nC n" nC-H nC n" nC-H nC n" nC-H nC n" nC-H nC n"/.NX nN^NuNV n h-H nT"HA2 nT"H G2 nT"H G2 nT"H G2 nC G" nCAB" nCA6" nC G" nCA" nCA" nC A" n h-H"n G  n h-H"n G  n h/HmN!tPN^NuNV/. Hn N4P-HJg nTRP0P/. /.N4PN^NuNV0n =H G=H/. HnN4P-HJgZ nT0P"Ff0Jn f A=H/. "n0n/NP-H nTSP0P/. /.N4PN^NuNV/.HnN4P-H n h-H n h"HAmHxNXN^Nu/. n h"F"_-HJnf"n0n 2`2n nT0Po`j"n ne nX"H n P" nY` nX"H0n 2 nT"H0n2 n\/2P0n I"_2 nA$H PR/./.N4PN^NuNV n-H"n n hgd"nA I-H nT/2P n\0P"_2"n nX P" g nX` n AS P/. /.N4P nN^NuNV n h-H n h=H F=H"n n"T n0P=HJnf GN^NuT nJPo2nT n0P=H` n 2P0nl`@0n/2n0n"H F0nNb"_=H n /2P0n I"_2`f0n/ n 2P0nNb"_=H0nN^NuNV n h-HJg/./.N4P-H`N^NuNV n h=H nJPo"nA I-H` G=H2nT n0P=H2n0no2n0n I=H`T n0P=HJno02n0n"H0no"n0nNbp2 G=H`LJnl:0nNbp=H2n0n"H0nn"n0n2``` G-H``< nN^NuNV n h-H n2P nT0Pm6 nXJPf`& nT n/2P nT0P I"_2` nN^NuNV n h-H/. n hCNb"_-H nT$H0PRRN^NuNV n h-H/. n hCNb"_-H nTJPgX nC-H nT"H0n 2 nT"H G2 nT"H G2 nT"H G2 n A$H PRN^NuNVA\0P;HrAP0P;HtJmg40mt/N@XCf/-z0mr//NZ N^Nu0mt`TN`2/N[X fRmv0mvN`Nɺ`N_ fSmv0mvN`N^ fSmv0mvN`N¾`N^2`N;`N>`Jmvg N_ fSmv0mvN`NB/N@X`h mlHhHx#NP ml h g mlC F"N/-l/NP/-lNNX`HmHx$NPHx0m/NzP`NHr/-zHx(/N& `NJ/-zHx(/N& `NQ`/Hx/NNP`HxHx0NNP`HxHx1NNP`pHxHx2NNP`\/NE*X`NHxNE*X`>HxNE*X`.HxNE*X`N8 f./-zHx?/N& ml h| g /NX`N90 f./-zHx@/N& ml h| g /NX`JmgHx NXCf`NB g:0mNbx gHx NX F;H;H/-zHx8/N& `< G;HNC4`,N@`"NA`NCJ/NX`NE`NE`N;/NX`/NX`HxNX`HxNX`/NX`HxNX`HxNX`N/NX`lHmHxMNP`XHmHxNNP`DHmHxONP`0N2`&/NX`Nz<`JmfHxNXCf`HmHxUNP`/HmNP`/HmQNP`/HmNP`/Hm7NP`/HmNP`~/Hm3NP`l/HmNP`Z/Hm;NP`H/HmNP`6/Hm;NP`$/HmNP`/Hm7NP`/HmNP``Nb !.#x$&'(*+,-/0124D5x78:;=?@BDEFGH&I.K:MFNRO^Q`RfShUWXYZ[\]^_`bca/-z0mr//NZ N^NuNVHxN,XN^NuNV/-z0mt/HnNW /0n /HnN /./0n/AT0P/AX0P/A\0P/NXN^NuNV/NCX gN7 ml hC?Nb=H ml hP=H/-lHnHnN /-l/N#:P/-l0n/HxHxN%/-l/./.0n/NN7 mlCx G" mlC| G"N^NuNV/-l/. N"|P mlA// n "FNb"_Nb"_"/-z/./N& N^NuNV"n n 0PNbx2/-z0n / n 0P/N N^NuNV0mv"GV @=H G=H G=H G=HJngl ml hx g ml h| g F` G=H ml h=H ml h"GV @=H ml h / ml h/N@P`/-zHx(/N& /-zHx2mvA_/N& /-zHx0mv"GW/N& /-zHx/0nCNb"GV/N& /-zHx00nCNb"GV/N& /-zHx10nCNb"GV/N& /-zHx20nCNb"GV/N& 0n/NXHm0n/NP/-zHx8JngJmg F` G/N& /-zHx#0n/N Hm0n/NPHx0m/NzPJmvgN~N^NuNVHm/.NP/-zHx@Jg ml h| g F` G/N& /-zHx?Jg ml hx g F` G/N& /-zHxKJg ml h g F` G/N& N^NuNV n JPg$/-z n T 0P/0n /N& `N^NuNV G;H0n CNb g0n CNb=H 0n C f A =H 0n Cf A'=H 2n A o2n Al F` G g0n /NX`0n /NzX0n /NX0m=H g`D``?&@&A\TBtlCD9`/N:XN~N^Nu NVN^NuNV G=H/-l/NPCfC0n/0PC"_2Hm0n/ n0P//N\`C0n/2PRn0n"_2 G=H n0PCgBC0n/0PC@"_2Hm0n/ n0PNbp//N\`C0n/0PCP"_2`B2n n hNb I f*C0n/0P/Rn0nC0"_"_2` nP0P=H n0h "H0m"H F I=H0n/0n/HnHnHnHnNp0n//N|P G=H2n n hl` 0nRn`C0n0P/"n0n0P"_g,/.0n/0n/C0n0P/N"n0n/C0n0P"_22n n h=H`r0n/0n/HnHnHnHnNp0n/ n0hCNb/N|PN^NuNV nT0P=HC0n2AT"H0n2AX/2n0m"H F I"_2A\/2n n\0P"H F I=H"_20n//NP0n/HnN(P0n/HxNP2n A Nb=HJngJ0n/C0n0P/NPA\"HAT0P20n/HxHnN 0n CNb gA\"H0n2HnAX/2PA I"_2"_2 F=H0n CNb g A=H0n/C0n0P/NP0n/HxHnN 0nC=H0n CNb=H g2mAmD0n /HnHxND 0n/0nC/0n/HnN`22n Fo&0n/0n"F/0n/HzNN^NupNVA=HJn g A =H0nSn g2nAl F` G g$"n0nRn/2P0nNb"_2`N^NuNV nT0P=HC nP0P2AT"H n0h 2A\"H n0h2AX"H0m2HnHnN^P0n//NP0n/HnN(PA/2P0m"_2AX"H0n20n//NP0n/HnN(PA/0P/0m"F"_"_2AX/ n0h$"H0m F I"_2AXJPg4HnHnN^P0n//NP0n/HnN(P G=H2nAl$` 0nRn`"n 0n"H G2`N^NuNVN²-H G=HC0nJPgH` 0nRn`C0n2P0n f /"n0n/NPN^Nu` GN^NuNVAhN^NuNVT G=H/-zHxHnNW /Hx HmN /-HxHnHxNXV/-Hx!HnHxNXV/-Hx"HnHxNXV/-Hx'HnHxNXV/-Hx(HnnHxNXV/-Hx)HnTHxNXVC G C G C G C G CT G HnnHzN!tP G=H2nAlP` 0nRn`C~0n//-lC0n0P"_ P"_20n//NP` ml h/HnHnHnN ml h/HnHnnHnTN/-HnHm/NY^JnfB/-/NP=H0n`//NP`//NP`//NP`//NP`Hx/NP`Hx/NP`Hx/NP`Hx/NP`Hx/NP`Hx/NP`x F=H`n`jNbBJRZb l v`/-HnHmNZ /-0n//NV 0nCf G=H2nAl@` 0nRn`/-lC0n0P"_/C~0n0P"_"` ml h/Hx1HnHnHnNLj ml h/Hx2HnHnnHnTNLj/-lNX/-l/NPN^Nupage #NV nJgL nC-H/./.N(P-H/./. N(P-H/./.N(P-HN^NuNV n R H0@=H0nCf`(0nC f` nR"H0n `"n G  n N^NuNV nR"HA  nR"H.H0@ /./.N!tP/.HmN!&P/./. N!&P/.HmN!&P/./.N!&P/.HzN!&PN^Nu NV0n =HJnf0n Nbx=HJngA~0h "Ff F` G gN^NuJn g@C~0n0P/C0n0P"_fN^NuC~0nRP0P`(C~0nJPfN^NuC~0nSP0PJngA~A SP0P`A~A RP0P0n//NPHx/NPN^NuNVC0n0P=H/-0nCNb"_C /N[nX-H/.N[nX-HC~0n0P//.C0n0P"F/ND Jn g/-0n/HmNZV N^NuNVJmvgHxNXN^NuN"HAPlHxNXN^NuHmN]X fN" fNN^NuNV/-zHxHnNW /Hx HnN F;HvA;Hx/.Hx 0m~Nbx/NV /.Hx 0m~/NV /.Hx0m/NV /.Hx0mNbx/NV /.Hx0mv/HxN6/.Hx0mx/HxN6/.Hx0mz/HxN6/.Hx 0m|/HxN6/./0n/AT0P/AX0P/A\0P/NX=H0nCf nC8C /N[|X"FNb"GV @;H~ nCC /N[|X"FNb"GV @;H/.HxN̨P;Hv/.HxN̨P;Hx/.HxN̨P;Hz/.Hx N̨P;H| GN^NuAN^NuNV/.0nCNb"_C /N[nX-H/.N[nX-H/.Hz,N!tP0n//.0n "F/ND N^Nu00NV/. 0n CNb"_C /N[nX-H/.N[nX-H/.N dXN^NuNVN=H0n"FNb gAn-H` Ar-H0nCNb gAV-H` AQ-HHnHmN!tPHn/.N!&PHn/.N!&PHnHzN!&PHnHx:N!P-H0m/ nC-H/HxND 0mv/ nC-H/HxND 0mx/ nC-H/HxND 0mz/ nC-H/HxND 0m~/ nC-H/HxND 0m|/ nC-H/HxND Hm`Hn/N N^Nu AUX: LST: NV?|AONra;?<NNTJf,EPpVa,/EPppa,r"_ta%AazEB +@nED +@rEF< +@vEG +@zEI +@~EKj +@EL +@E a80?<NATrAЁa,p:a"/pa02"_a!p\a"C,a&?<NATrAЁa,np:a"~/pa0"_a!Vp\a"jC2a&pa$a)vpra<EPwpa(EPpa+C,a!/a+p"HA8,a6HmDHmJHmPN ^p:a+C>a "HADa C,a&$p.a+CJa "HAPa CVa&A>a+0ADa+(AJa+ APa+A8a=>g>EPpa*/EPpa*r"_ta$Ap-SfN ``A8a Fg,EPpa*/EPppa*r"_ta#A`A8rapa%+@ -jV~A퀬aA퀲a>` -a$LSD$fHA퀲a>@` -aLSDCfpA\a"^BN^ -aIce!VHH/ -aICE!fB -aFIREfB"-pҭDaFireVHHgapp)a$zabESpa -a!ESpa -a'a:p)a$Da,ESpa -a ESpa -a&ap)a$aa ESp>a La(A-gp-rfA퀬a8.A퀲a8&``aESp!a B?< NA\+@ <@a;@ -jV~A퀸a5v -~fLx mAH "@ - m퀖a x mAH x m!H -A퀲a'N -nf\x mAH "@ - m퀖a x mAH x m!H -x m!H -A퀲a'(N -~VHH/ -nVHHgT -Эx m!Hx mAH x m!H -zf -x m!H -A퀲a&0- |@0/-?< NA\appra1ETpazEPpa!|C2a/AhCV,a,8Aha3gVEPpa!N/EPpa!@r"_ta|Ap-SfN `A퀬a6A퀸a6A퀲a5`ZAhagNETp2a /ETPpa r"_taAp-UfA퀬a5A퀸a5A퀲a5`Ahrax mAH $ -ra%jpaHmhHm>HmDHmJHmPN ^p:a!C>a"HADaC2a>A>a jADa bAJa ZAPa RET^pa /ETnp a r"_taJAp-UfN ` A퀸a4A퀬a4A퀲a4a!`$a a1 JgFETxpa/a1 ava#L"_a> < !!!a/EPppar"_taA <a"<a/a+~a hNua"(A aAaAaAaAaJAa#Aa#Aa#A(aA a"A$a ma$"mapr ma!p:agp ma t"ma`?<NATrAЁ ma m0B0$m(Q mBhp\a0"mra" ma> ma/p\a"m"a" m a m 4(o m al m 00 m "m""`$m(P$m(g m4(oJ ma/ m"maPaR" ma "ma ma`R ma"m$a`R map:ab"mra" map m4(o maR ma"m$a` m"m$atp.a"m$a! ma( m4(o6 maR m$al"m a: maS m$a"ma ` m aJ m$"ma `a pa JkpNupNuaLAHPB?HQ?<NNAP _NuDExa`bDEa`ZaR11!Nua11!Nu 24&8:DE`6 24&8:DB`&a\&8:DE`DEx`aH` 24&8:HnghDBHngXDE~<En g6@ABDFGcGcGb8(vHDl`G8BCHC` GHD8HD쬵k&Dуd QRB BbJjDBNu DENupN֓DjdDA@ cAр[SBoJjDBNurptNuH@g0J`Ѐ[rGoJjDBNu0ftNu@[rB oH@JjDBNu $HkBk Bj*DBNupNuDBBkBjDBDNuf gp`a 00Nur$o, b4< J@k @[H@NuH@RBNu4<Ѐ[NuDg8k2 b4< J@k @[H@DBNuH@RBDBNu4<Ѐ[DBNu40rHGGdHGGdSWDуdi?<>0rHGGdHGGdSWDуdi2?<>0rHGGdHGGdSWDуd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNuCEdSW`?<,>CEdGeH@0r`fJCgz?<0rÐdSWЃdi?<0rÐdSWЃdid?<0ÐdSWЃd&2 H@kփAр[SBkփejRAd RdQRBJjDBNutNu?<0riP?0i?`?<`TapEUUgPU`LJg&B.C`a8aD*9Ufap-I4=|p4aHz*9Ug ENp9U` _a &nO:NMUIKT$<Nu[1][Error +111][Return]ET g g>Jf`Ar Hjr-D@Hd0H@H 0H@0CNuAJ"H [1][fSEfNu`HQ?< NA\Nu"_KTMU V,@IO:HQ <-H,,`N,Rd d3 d# d# # d# # # # d ALH dAL H LH d AL`H L|0H>L|H>d~# # # # A`@ALH L|H>L|H>L|PH>L| H>L|H>L|H>L|H>L|`H>L|0H>L|H>QL|Nu$H$&"BA -K aXA$f B &n NuH>dd2d"d""d""""d LHC dLHLH C@d LHL|H| L|H|PCd~""""C`:LHL|H| L|H|PL|H|L|H|L|H|L|H|L|H|@L|H|pL|H|L|H|CQL|Nua`Np?a a?<LNA``NuNu`aza`aataHA"-Hpp alpMah=@N?<NNTT@A0r p0Q`pdr ta0.N=@=@ ACp,2QAp 2Qa Va`\`Xpea>pCZ2Ad0A2r22aZ"<0<NBL Nurt=@B=AH=BDa "<psNB0.Nu=@0=@=B0=@a"<psNBNuC2 @ e$ @bA0AP2r22a"<0<NBLJNup"AJӘQNuA> NuHz(` NHz ?<&NN\Nu92::(   F..26"8@"PQ1!P1P!0PP`0  q#aaaa O: n,NNuNuNupc?a0QNurdAd6Ag,B(dB(dH Ao<a TtoBAp`NuNu?<OA`d?<IA`Z0<H IaLt Ig Og Ug Ag Rg,afNup`ap`0a ZfHRa>Er$Wgr STD:gr COM:g r LPT:f4FA$_0=@Hk"~CA0< BhaB2"pNu$_AJ Ge><QBAJpNuafgzp=` aZgzpaTaRFBd&8*L?a<aSF Be BgQRB`RAdR e <rRF&0xaCٱfEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`HQ2.l Aeg>r C 5e&!R 0c 9c0`<R"_`VC0 Ef"_Nuaa/ CJr  g 00VJAgB @ nN @mHJ@j0.4DBUBk0QSAg Q.`S@k 0`0BAJ "_Nu.WAkQA 0g` @$@JfS a `QNu$Aa `QBNuHz _a G` VNuag`af`ae `ac` acpNuadpNu/ a $I> _a 4Ae4v` VfANuHP0(R@kBa $I _a IUd4Id4Id$Id `$$$$Q @JfNuNup `a XSAfNuag`af`ae `ac` acpNuadpNua $SAkfJANu/HP0(X@kHa  $I _a IUd4Id4Id$Id `$$$$Q @Jf$Nu $Nup `a YAfNuag`af`ae `ac` acpNuadpNua SAkEJ$p VfWANuBp'rta n4rt6(SC0(S@apaBdpapava0pa _a4$FAJp_@[000][vx`* [g" ]g |g QSx` xQSrQ][vx`* [g" ]g |g QSx` xQStQ]BAJ0-H4=@p4a2HNu 24DBaDB11!Nu 24DBa DBNu 24x6o<Ce(FC BdЄeNu B/dHDDdRdQRBNu&<:<`*g BbUC BcjNu BcHDDdSkg RBAрjNuNu0ftNuB H@"jNu <}ap$Ia `<$XaH`a@HR?<NNT @"_ <}NuaB`QNuHg"cc/ 0)a _$PS@kH2QNu2(g$PRAA4DBH%$Y2Pg 1AHRAA%NuBhNuao aШNupNuaJFoHPJhja?<?B?<BNAO _*kBg?/(?<BNAO Jk NuNafoazJBkAf`a|??/?<BNA.k \Hx?<BNAO [HHNux`x*0ao< 2fJjr` Nu~dGdEH<Nup`f0@F@AJhg PLNu`FLJg(HPBHh/??<@NAXLf ѨLNuJkp%` aJBja!| ??<>NAXOJkpNu0< aH`0< CJ2p`p a2`p CJp`a CJ"p`Hza`Hy)v"J`B.D=|HNua.DFpAR@C` @H` @HHy)va|a^"H`Hy)v`Hy)v 24`@H` @HHy)vaDa&"Hav`THy)v`Hy)v 24`B.D=|HNuB.Da`=GHgNup`a`a0CJ"E p`.D<.HAx$I"t Q k"RGef~`SG * g *fSG`<.HjZ\FkBJnhg Fgd Fg^HS&I.aQ`p???<NM\Qj&_NuHQ/?`jAJ gp gj g grffnnzenlfJ.pj6pRGFc$SG` J.pjpRGFcRF` Ff`> `?~ap a0p a*0Nu|``CpE`bf`FgRGJGgSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0NuaZgNu4.|f?HyaNM\Nu=|H`Lta zEfpadppa`AJEg0PaEfaFRE`ܾEfp a@a8?nxnp a2RF`<anxoS@f nrfSnv=Ar=FxNup` papq4.|f?HyaNM\Nu=|HHaLNu|A0"P2(@e2<EJ`QHP=|HJ@g$abAJ$HpR@ 0 f _a`QNuHPp?ap a _2<|0`C&pHQ/Hy@NA NuC pa:NuHQ/Hy?NA Nu&g4 FgalgJAga2< R@AdSf0Nu0aZp Ce`&g4 Fga JBja8gPAe CbRa R@Sf0Nu FgRag JBjaAeaJAg RP0 pNu`" Fg6agJAga @eaRP Nup NHѨB?<?/?<BNAO JkLLNu&8aRJBjajJAg Df*ڃkd0Nu DfրBH??/?<BNAO LJk!@NuHBHh Hx??<?NAO LJo ѨLNuk:fp`^k: g ѨNuBHPHQ/??<?NAO _JoѨfNuBHPHQS/??<@NAXLfѨNuJkp%`B9>`$H EapA> AerQBL@͉H Ia"H _/ aa< _/ ?a2AJ-H AerQB2"_A*-H A e ` \gQBa9>gaZe -|>p[`pZaajAJ"H0.g "Hg \f`A*fS !.gR EJ _ar`QNuHz?<&NN\ @Nu x NuADBh`ADa nD!|}Nup#UfpUNup`p`#UNu?/NT` pNuNHMUAp f9Ukn n4!|9v ||9U"XLv:g 4zg*Ag61 cg Jg ;e, ]b& Te` Db; g fg  bJg fg fg,HC#0j ` Hx Dg;0L:YBj@1BA gbШ nA gd BBnL@Nu wHHKMPPR g,g&yU`pBy:XB@etAg1B# `\HCHSG^vg*1B f  f&< # XB@etAf&_`A;CZgZ"HyNN#9>.U>"NN @A C#P B?< NA\#;^/a?< NA\A0N =NuA#< < x hg3&9AC`g#P Nu?<"NNT @ 99g!@ HzT?<&NN\3Nu#;ZNuHz ?<&NN\NupACE<CJ Ipa<0HNuaF`]@><CJ Ipa Nu?|`?a$0R@f|0ajHJFkHPa _Nupo`~HSHP&I>g\SG??<NMXJk Q _t&_Nu&_`NaJANuag `af`apNuapNuC`C``C` C`C-K JhfJfRRRRRRRHP? @CJH~8:E#P&<2 `b$bYEf`"RAf rЁЀ`&Ѐe "ЀeЁdp`ԒJAkfgRer?DDЁaAa^8$HX :CJE` YEjT"_$P"2trDDd0d d d` QjNu`aDa DNu na^ K"ng42 $`gk2&Hg Af deђ$`ebѐXf&n Nu AgebѐA``-K x$ n($n$"HgD" &Akc(bѐ S`g(" k#&Ac(bё2+SAI3 Q&f-I$&n Nu-K x$&ր n($n$"Hg^" k&Ac(b b S` S`g:" k#&Ac(bbrkX`ؑ2+SAI3 Q&f-I$&n Nu"H YJQfNu YH瀀aLP|HPGBC&֛֛֛֛֛(HDDCBg6Cv6C[RCF8[[[aL6C[RCF8:GBFWfTL L-K A `j$I\bfBjQNu$YbfBjQNu `HKa Ice!f@xar.Mx&N"NEpw!QaZa& CQjpwE"QLNuahd(rabdC v !a|H@@Vҩ%@QnnNup%QNu> f .%߇AQDNu.-%WއAQ,NuއgNu> f.%߇Nu.-%WއNurއgAQNuCtaTxr1 Hka1 AgCptaTr1 HaBq `rptadpt@aBC@!!@Q`    `6Ha( Ice!faKa.(I,I&N%aLNurQNua2d*ra,dCv !a*H@@Vҩ%3@QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"C~taTr1 HaBq jD`rptadpt?aBC@!!3w@Q`B   `fHaX ICE!fJaLKaF.(I,I&N%aDatd*><|8#zD@DADBDCQQHQLNurQNua2d*ra,dCv !a*H@@Vҩ%3'@QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"C~taTr1 HaBq jD`rptadpt?aBC@!!3w@Q`B   `HKaZFirefJ IaL.MxaBIl|HFza`d(raZd"Lv !avH@@Vҩ%3#@QnfLNup%QNu> f.%߇`>.-%Wއ`,އgNu> f.%߇Nu.-%WއNurއgAQNupaSAk0gTSAgXadBad\`dpaSAjpNupaAAL!a҅NupaSAkPAAL aAa0`Npap`.pap`>aJ@g p`2aJ@gp`(aJ@gp`p``*ag&Qk`U@C!!3U@Q`  U`NSH,H(HavFIREffal$Krw&Q$NKSf JaR.,L%EB|HFzaJd(raDd Jv aFH@@VҨ%3p@QnaJ@g p`2aJ@gp`(aJ@gp`p``*ag&Qk`U@A  Q3w@`  U`\HaX AU5!fJaLKaF.(I,I&N%aDard*><|8#zD@DADBDCQQHQLNurQNua0d(ra*dCv !a(H@@Vҩ%3@QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`L   `HAaLNu/?< NA\NuE+-----------------------------------------------------------+ | 'Fire & Ice Depacker v4.0' by MUG U.K - 31/09/1991 | | --------------------------------------------------- | | | | This little depacking utility will handle the following | | file formats (data and/or executable files):- | | | | Ice Packer v1.13/v2.11 (data) & v2.2/v2.31 (data & exec) | | Fire Packer v1.01 (data) & v2.01 (data & exec) | | Automation v5.01 (normal/buffer data & exec files) | | | +-----------------------------------------------------------+ How many decent utilities do|you know that run in low|resolution ???? This doesn't !! Oh .. pSelect packed file !!q*.*Cancel selected ?? Quit | Retry File not foundThis is an Automation v2.51|normal packed file !!| You cannot depack these files !!Yet ... This is an Automation v2.51|buffer packed file !!| You cannot depack these files !!This is an Automation v2.51|chunk packed file !!| You cannot depack these files !!Ice Packer v2.2 (or previous)Ice Packer v2.31Fire Packer v2.01Automation v5.01 normalAutomation v5.01 bufferFire Packer v1.01Ice Packer v1.13Data file is neither|'Fire/Ice' packed !! Oh ... This program file was NOT|packed with Ice v2.2,|Ice v2.31 OR Fire v2.01 !!File length is shorter than|it should be !! Ignore | Cancel This might cause the depack|routines to bomb out !!!Packer Used: File Type: ExecutableData FileDisk File Size: ($ICE Packed Size: Unpacked Size: ESCape to choose another file, any other key to unpack & save.Please Wait ... unpacking file !!pSelect unpacked file !!qFile already exists !!| | Overwrite or cancel ??? Cont. | Quit Another File ??? Yes | No Error: *  :p$>>D NbN"""X:*""&@f .$.~F$4,2 *~ f((@4JL$| 8 $@& $x 6 Vmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm +--------------------------------------------------------------+ | Instructions for 'Fire & Ice Data Depacker v4.0' by MUG U.K | +--------------------------------------------------------------+ Released into the Public Domain ------------------------------- Introduction ------------ This program was written to fill a gap in the Ice & Fire range of packers written by Axe of Delight/Superior. This is the LAST update to this program !! This program will allow you to depack ANY file that has been packed with any of the following packers; Ice Packer v1.13 (data files ONLY at present) Ice Packer v2.2 Ice Packer v2.31 Fire Packer v1.01 (data files ONLY at present) Fire Packer v2.01 Automation v5.01 When I say 'any file' - I mean ANY file, either executable or data files. The depacking of executable files was prompted by a letter I received from Chris Smith of Sheffield - thanks a lot, your idea turned out to be very easy to incorporate !! This is the LAST update to my original 'Ice Data Depacker v2.0' that I wrote in July 1991 !! You're going to have to wait for the 'Multi-Depacker v1.0' for any sort of update to this program !! What I mean is that I am too busy developing my 'Professional Virus Killer v2.1', to bother updating most of my Public Domain programs. When I'm bored of looking at my PVK source continually, that is when I will diversify and finish something else !! Before I used to develop PVK when I was bored of my P.D source codes !! I've tested this program on both data & executable files packed with the above packers. The only problem I've stumbled on is I haven't found a sure fire way of depacking program files packed with Ice v2.11/Fire v1.01 or earlier versions of these packers (eg. Ice v1.13). If anyone can supply me with other versions of these packers, the address is below. I need working versions of SOURCE CODE as well, not just the programs !! All of these packers were written by Axe of Delight/Superior. Depacking the resultant files was (and still is ??) a much needed feature missing from these otherwise excellent packers - especially if you had just packed your only copy of a much-needed file !! The Automation Packer v5.01 is basically v2.51 of the same packer, but it uses the routines from Ice Packer v2.31, hence the reason I included it in this depacker. This version of the packer was written by EGB of the 'Sub Humans in Turkey'. This program has a depack option in it, but I added the depack option to this program, because the packer won't depack it's own 'buffer' packed files !!! At the moment, chunk-files are not an option in this program - but I'm working on it !! The program is really easy to use, and should any problems occur, then it is something that I haven't accounted for (which isn't a lot !!). All you have to do is load up my program, and you will prompted with a file-selector which requires you to click on a file that has been packed with any of the recognised packers. DO NOT CLICK ON READ-ONLY FILES - AS IT WILL GENERATE A GFA ERROR !! This program will check the whether or not the file is executable or not, and it will then check for the existance of the various packer headers. It will also recognise the older versions of the Automation packer (headers: 'LSD!', 'LSD$' & 'LSDC'), but it will not unpack these files - you will have to wait until I finish my 'Multi Depacker' !! If the file is NOT a recognised file, or any disk error occurs, you will be returned to the first file-selector. Either try again with another file or select 'Cancel' from the file-selector, where you will be given the option of returning to the desktop, or back to the program. If the file is a packed file, a screen will appear with the following information on it:- i) Which packer was used ii) Executable or data file iii) The length of the file (in disk-space terms) iv) The length of the packed file (as the packer knew it as) v) The length of the unpacked file (as it will be AFTER it is unpacked) The reason for including both (iii) & (iv) on the screen, is that some files I found would be 20K in length, but the header would say it was only 18.5K in length - very odd indeed !!! Another reason is that some programs contain two sections, hence the numbers displayed on the screen would be a bit odd. An example of this is 'Digi Composer v1.0' by Isatari. It contains two programs, an intro and the actual tracker. The intro is depacked first, then the tracker. If you press a key at this point (ESCAPE will escape - naturally !!) the the screen will flash a bit (oo-er missus !!) whilst depacking the file. Each depacker will flash a different colour, so as to differentiate between the different packers. Another file-selector will appear asking for the depacked file. You have the option of overwriting the program file (not very wise !!) if you require - or simply enter a new filename as it is up to you !! That's all there is to my little program. It works with almost everything I've tried, with one or two exceptions - but I'll let you find them out for yourselves !! Have fun, and I hope you won't have to wait TOO long for the next update in the giuse of my 'Multi Depacker v1.0'. Does anyone know of a bug in GFA BASIC v3.5/v3.6, that when you pack a compiled program, with Ice v2.2/v2.31 or Fire v2.01 - the packed program will bomb out with an address error (2 bombs) after it has depacked ?? In case this is a machine error - I am using a 1040STFM with TOS 1.02 ROM ! If anyone (Axe of Delight ??) would like to send me an up-to-date versions of the Ice/Fire Packers with this bug fixed, I would be very grateful. Plus a version of Fire v2.01 source code that uses registers 'a0' & 'a1' for source & destination as the one that I was given DOES NOT WORK !!! If you can help me then write to the address at the end of this file. DO NOT send ANY form of pirated software, as the address is for my mates computer shop !! I would also like depack source code FOR the following packers:- Automation v2.51+ - I need some explanatory Chunk Depacking source. I already have the packer !! Power Packer v2.2a - Amiga packer used by several programmers on the ST !! YOUR packer/source - If it's any good that is !! If you are wondering what the hell I want all the above packers for, I shall explain. I want to write a similar shell as this program, but it will be able to depack ANY form of packed data by the best packers available !! The program (I've already started it !!), will be released into the Public Domain, and I daresay it could even be well received by everyone - but I need YOUR help (packer authors especially) in order to finish it off !! A quick message to JPM (author of Pompey Packer):- Which registers do I need to call in order to depack your data files for Pompey v1.5, v1.7 & v1.9 and also can I have some source to depack Thunder v1.0 & v1.1 ??? Please get in touch as soon as possible (confidentiality assured) or via 'Slasher of the Bog Brothers' !! Have fun MUG U.K - 31/9/1991 Credits: -------- Depacker Program & Documents: MUG U.K - 31/9/1991 Fire/Ice Packers & Depack Source: Axe of Delight/Superior Automation Packer v5.01: EGB of SHiT Contact Address: ---------------- MUG U.K c/o Broadsword Computers, 141 High Street Rhyl CLWYD LL18 1UF Any problems, queries, questions etc. should be sent to the above address, and don't even think of writing if you want copies of software etc. I get extremely FED UP with people who write to me wanting the addresses of Automation, Medway Boys, Pompey Pirates etc. I DON'T KNOW THEM SO *ISS OFF !!!! I will keep all the disks & burn the letters of idiots who write to me asking me for the addresses of so-and-so etc. mmmmmmmmmmmmmmm.  K..  KkFIRE DOC M Y FIREDISKS O FIREUNP2S R FIREUNP3S U FIREUNPAS X :FIRE_2_0PRG [  Hello members of Superior (Wanderer, Jinx, Jabba), here is the newest version of Pack-Ice and of Fire-Pack. Both have the new unpacking routines included. The files in the Pack-Ice folder are: - ICE_2_3.PRG Pack-Ice version 2.3 - ICE_UNPA.S Unpacking routine. Original Data is at address A0 and the destination is A1 - ICE_UNP2.S Unpacking routine. Packed data is at address A0 and the data is unpacked to this same address. The 120 bytes buffer is no longer neeed, but instead 120 bytes are temporarily reserved on the stack. There haven't been many great changes in Pack-Ice, but Fire-Pack was enhanced with the shell and the fast packing algorithms. To notify changes, I changed the Ice!- and Fire-identifications for packed data to "ICE!" and "FIRE" (before: "Ice!" and "Fire"). The highest offset for Fire-Pack is $ffff. The default offset is $2500. If you set the offset higher, you will have the same speed for the pure packing, but the short interuptions for setting up the compression tables (like at the beginning of packing when 99% is shown for about 1 second) will occur more often. To be exact, this break will appear every ($8000-offset) bytes, but that doesn't slow down packing too much. But I warn you to set the offset higher, because then packing is as slow as the old Fire-Pack versions (yawn). Now, as long as I haven't done Pack-Ice 3.0, these two packers are still the best packers around. As you know, Fire-Packer is more efficient for bigger files. If a file is bigger than 50kB, you can be almost sure that Fire-Packer is better. When I pack a Sierra file I split the big files (in Codename Iceman each about 1.8 Meg) into smaller files (18kB) and pack them with Pack-Ice AND with Fire-Pack and I always take the smaller file, so the files are half packed with each of the two packers. Then I put the small files together again and create big files again (in Codename Iceman 900 kB). What I want to do to have beter compression is modifying the pack-informations individually for each packed file, so that you get best compression. That would mean changing the tables that are in the pack and depack routines. But every time I think of programming this, I realise that it is too difficult. I hope I will manage to do this one day, because if I will then I promise that no packer will be better. I think that there still are 2 or 3 packers that are better than Fire-Pack (like this unpacking routine Jinx once sent me). Unfortunately I couldn't use it very much, because I would have needed one packed file. I tried to find out how the packer works, but it was impossible without a packed file. Anyway, I won't need it anyway if I have done this improvement for Pack-Ice. Then you won't need Fire-Pack anymore, just Pack-Ice. It will be the same speed at unpacking, but it might take up to twice as long for packing, which will be no problem, because packing is so fast now. Ok, I hope that I can soon offer you the BEST packer. I will keep trying. Bye for now.... Axe mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm opt o+,ow-,a+ ; Optimierung einschalten start: movea.l #stackend,sp move.l sp,d0 subi.l #start-$120,d0 move.l d0,-(sp) pea start-$100(pc) clr.w -(sp) move.w #$4a,-(sp) trap #1 adda.w #$c,sp bsr.s super move.l $84.w,old_trap1+2 ;store & change TRAP #1 vector move.l #my_trap1,$84.w bsr.s user pea null(pc) pea null(pc) pea file_name(pc) move.w #0,-(sp) move.w #$4b,-(sp) trap #1 lea.l 16(sp),sp bsr.s super move.l old_trap1+2(pc),$84.w bsr.s user clr.w -(sp) trap #1 null: dc.l 0,0 file_name: dc.b 'datafile.del',0 ; nachgeladenes Programm (pexec) EVEN super: clr.l -(sp) ;supervisor state move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,d7 rts user: move.l d7,-(sp) ;user state move.w #$20,-(sp) trap #1 addq.l #6,sp rts my_trap1: movea.l sp,a0 btst #$d,(sp) bne.s supervisor move.l usp,a0 subq.l #6,a0 supervisor: addq.l #6,a0 cmpi.w #$3f,(a0) ; read beq.s func_3f old_trap1: jmp 0.l func_3f: move.l 8(a0),puffer move.l 2(sp),ret_addr5+2 ; Returnadresse move.l #read,2(sp) bra.s old_trap1 read: tst.w 2(sp) bmi.s ret_addr5 ; device handle->do nothing movem.l d1-d7/a0-a6,-(sp) movea.l puffer(pc),a0 ; Puffer bsr.s decrunch movem.l (sp)+,d1-d7/a0-a6 ret_addr5: jmp 0.l ;********************************************* Unpackroutine von ICE-PACK include fireunp2.s ;*************************************************** Ende der Unpackroutine section bss puffer: ds.l 1 ds.b 500 stackend: ds.b 20 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm;********************************************* Unpackroutine von FIRE-PACK ; Eingabe: a0 = Adresse gepackter Daten fire_decrunch_2: link a3,#-120 movem.l d0-a6,-(sp) lea 120(a0),a4 ; a4 = Anfang entpackte Daten move.l a4,a6 ; a6 = Ende entpackte Daten bsr.s .getinfo cmpi.l #'FIRE',d0 ; Kennung gefunden? bne .not_packed bsr.s .getinfo ; gepackte Lnge holen lea.l -8(a0,d0.l),a5 ; a5 = Ende der gepackten Daten bsr.s .getinfo ; ungepackte Lnge holen (original) move.l d0,(sp) ; Originallnge: spter nach d0 adda.l d0,a6 ; a6 = Ende entpackte Daten move.l a6,a1 moveq #119,d0 ; 120 Bytes hinter entpackten Daten .save: move.b -(a1),-(a3) ; in sicheren Bereich sichern dbf d0,.save move.l a6,a3 ; merken fr spter move.b -(a5),d7 ; erstes Informationsbyte lea .tabellen(pc),a2 ; a2 = Zeiger auf Datenbereich moveq #1,d6 swap d6 ; d6 = $10000 moveq #0,d5 ; d5 = 0 (oberes Wort: immer 0!) .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end ; Bit %0: keine Daten moveq #0,d1 ; falls zu .copy_direkt bsr.s .get_1_bit bcc.s .copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. ; lea.l .direkt_tab+16-.tabellen(a2),a0 ; ...siehe nchste Zeile move.l a2,a0 moveq #3,d3 .nextgb: move.l -(a0),d0 ; d0.w Bytes lesen bsr.s .get_d0_bits swap d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,.nextgb ; ja: dann weiter Bits lesen .no_more: add.l 16(a0),d1 ; Anzahl der zu bertragenen Bytes .copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,.copy_direkt ; noch ein Byte .test_if_end: cmp.l a4,a6 ; Fertig? bgt.s .strings ; Weiter wenn Ende nicht erreicht movem.l (sp),d0-a2/a5 ; hole ntige Register .move move.b (a4)+,(a0)+ subq.l #1,d0 bne.s .move moveq #119,d0 ; um berschriebenen Bereich .rest move.b -(a5),-(a3) ; wieder herzustellen dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu .getinfo: moveq #3,d1 .glw: rol.l #8,d0 move.b (a0)+,d0 dbf d1,.glw rts .get_1_bit: add.b d7,d7 ; hole ein Bit beq.s .no_bit_found rts .no_bit_found: move.b -(a5),d7 addx.b d7,d7 rts .get_d0_bits: moveq #0,d1 ; ergebnisfeld vorbereiten .hole_bit_loop: add.b d7,d7 ; hole ein Bit beq.s .not_found ; quellfeld leer .on_d0: addx.w d1,d1 ; und bernimm es dbf d0,.hole_bit_loop ; bis alle Bits geholt wurden rts .not_found: move.b -(a5),d7 ; hole sonst ein weiters longword addx.b d7,d7 ; hole ein Bit bra.s .on_d0 ;************************************ Ende der Unterroutinen .strings: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits subq.w #1,d1 bmi.s .gleich_morestring ; %00 beq.s .length_2 ; %01 subq.w #1,d1 beq.s .length_3 ; %10 bsr.s .get_1_bit bcc.s .bitset ; %110 bsr.s .get_1_bit bcc.s .length_4 ; %1110 bra.s .length_5 ; %1111 .get_short_offset: moveq #1,d0 bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bpl.s .contoffs moveq #0,d0 ; Sonderfall rts .get_long_offset: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 .contoffs add.w d1,d1 ; d1: 0, 2, 4, 6 add.w d1,d1 ; d1: 0, 4, 8, 12 movem.w .offset_table-.tabellen(a2,d1),d0/d5 bsr.s .get_d0_bits ; 4, 8, 12 oder 16 Bits lesen add.l d5,d1 rts .gleich_morestring: ; %00 moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bmi.s .gleich_string ; %0000 add.w d1,d1 ; d1: 0, 2, 4 add.w d1,d1 ; d1: 0, 4, 8 movem.w .more_table-.tabellen(a2,d1),d0/d2 bsr.s .get_d0_bits add.w d1,d2 ; d2 = Stringlnge bsr.s .get_long_offset move.w d2,d0 ; d0 = Stringlnge bra.s .copy_longstring .bitset: moveq #2,d0 ; %110 bsr.s .get_d0_bits moveq #0,d0 bset d1,d0 bra.s .put_d0 .length_2: moveq #7,d0 ; %01 bsr.s .get_d0_bits moveq #2-2,d0 bra.s .copy_string .length_3: bsr.s .get_short_offset ; %10 tst.w d0 beq .put_d0 ; 0 ablegen moveq #3-2,d0 bra.s .copy_string .length_4: bsr.s .get_short_offset ; %1110 tst.w d0 beq.s .vorgnger_kopieren moveq #4-2,d0 bra.s .copy_string .length_5: bsr.s .get_short_offset ; %1111 tst.w d0 beq.s .put_ff moveq #5-2,d0 bra.s .copy_string .put_ff: moveq #-1,d0 bra.s .put_d0 .vorgnger_kopieren: move.b (a6),d0 ; bra.s .put_d0 .put_d0: move.b d0,-(a6) bra.s .backmain .gleich_string: bsr.s .get_long_offset ; Anzahl gleicher Bytes lesen beq.s .backmain ; 0: zurck move.b (a6),d0 .copy_gl: move.b d0,-(a6) dbf d1,.copy_gl sub.l d6,d1 bmi.s .backmain bra.s .copy_gl .copy_longstring: subq.w #2,d0 ; Stringlnge - 2 (wegen dbf) .copy_string: ; d1 = Offset, d0 = Anzahl Bytes -2 lea.l 2(a6,d1.l),a0 ; Hier stehen die Originaldaten add.w d0,a0 ; dazu die Stringlnge-2 move.b -(a0),-(a6) ; ein Byte auf jeden Fall kopieren .dep_b: move.b -(a0),-(a6) ; mehr Bytes kopieren dbf d0,.dep_b ; und noch ein Mal .backmain bra .normal_bytes ; Jetzt kommen wieder normale Bytes .direkt_tab: dc.l $03ff0009,$00070002,$00030001,$00030001 ; Anzahl 1-Bits .tabellen:dc.l 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes .offset_table: dc.w 3, 0 dc.w 7, 16+0 dc.w 11, 256+16+0 dc.w 15, 4096+256+16+0 .more_table: dc.w 3, 5 dc.w 5, 16+5 dc.w 7, 64+16+5 ende_fire_decrunch_2: ;*************************************************** Ende der Unpackroutine mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm;********************************************* Unpackroutine von FIRE-PACK ; Eingabe: a0 = Adresse gepackter Daten fire_decrunch_3: link a3,#-120 movem.l d0-a6,-(sp) move.l a0,a6 ; Arbeitsregister move.l a0,a4 ; a4 = Anfang der Originaldaten bsr.s .getinfo ; Kenn-Langwort holen cmp.l #'FIRE',d0 ; Kennung gefunden? bne.s .not_packed ; nein: nicht gepackt bsr.s .getinfo ; Kenn-Langwort holen move.l a3,a2 moveq #119,d1 ; 120 Bytes vor gepackten Daten .save: move.b -(a6),-(a2) ; in sicheren Bereich sichern dbf d1,.save move.l a6,a2 ; Anfang der gepackten Daten lea.l -8(a6,d0.l),a5 ; a5 = Ende der gepackten Daten .move move.b (a0)+,(a6)+ subq.l #1,d0 bne.s .move move.l a2,a0 bsr.s .getinfo ; Lnge holen move.l d0,(sp) ; Originallnge: spter nach d0 move.l a4,a6 ; a6 = Ende der Originaldaten add.l d0,a6 move.b -(a5),d7 ; erstes Informationslangwort lea .tabellen(pc),a2 ; a2 = Zeiger auf Datenbereich moveq #1,d6 swap d6 ; d6 = $10000 moveq #0,d5 ; d5 = 0 (oberes Wort: immer 0!) .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end ; Bit %0: keine Daten moveq #0,d1 ; falls zu .copy_direkt bsr.s .get_1_bit bcc.s .copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. ; lea.l .direkt_tab+16-.tabellen(a2),a0 ; ...siehe nchste Zeile move.l a2,a0 moveq #3,d3 .nextgb: move.l -(a0),d0 ; d0.w Bytes lesen bsr.s .get_d0_bits swap d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,.nextgb ; ja: dann weiter Bits lesen .no_more: add.l 16(a0),d1 ; Anzahl der zu bertragenen Bytes .copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,.copy_direkt ; noch ein Byte .test_if_end: cmp.l a4,a6 ; Fertig? bgt.s .strings ; Weiter wenn Ende nicht erreicht moveq #119,d0 ; um berschriebenen Bereich .rest move.b -(a3),-(a4) ; wieder herzustellen dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu .getinfo: moveq #3,d1 .glw: rol.l #8,d0 move.b (a0)+,d0 dbf d1,.glw rts .get_1_bit: add.b d7,d7 ; hole ein Bit beq.s .no_bit_found rts .no_bit_found: move.b -(a5),d7 addx.b d7,d7 rts .get_d0_bits: moveq #0,d1 ; ergebnisfeld vorbereiten .hole_bit_loop: add.b d7,d7 ; hole ein Bit beq.s .not_found ; quellfeld leer .on_d0: addx.w d1,d1 ; und bernimm es dbf d0,.hole_bit_loop ; bis alle Bits geholt wurden rts .not_found: move.b -(a5),d7 ; hole sonst ein weiters longword addx.b d7,d7 ; hole ein Bit bra.s .on_d0 ;************************************ Ende der Unterroutinen .strings: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits subq.w #1,d1 bmi.s .gleich_morestring ; %00 beq.s .length_2 ; %01 subq.w #1,d1 beq.s .length_3 ; %10 bsr.s .get_1_bit bcc.s .bitset ; %110 bsr.s .get_1_bit bcc.s .length_4 ; %1110 bra.s .length_5 ; %1111 .get_short_offset: moveq #1,d0 bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bpl.s .contoffs moveq #0,d0 ; Sonderfall rts .get_long_offset: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 .contoffs add.w d1,d1 ; d1: 0, 2, 4, 6 add.w d1,d1 ; d1: 0, 4, 8, 12 movem.w .offset_table-.tabellen(a2,d1),d0/d5 bsr.s .get_d0_bits ; 4, 8, 12 oder 16 Bits lesen add.l d5,d1 rts .gleich_morestring: ; %00 moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bmi.s .gleich_string ; %0000 add.w d1,d1 ; d1: 0, 2, 4 add.w d1,d1 ; d1: 0, 4, 8 movem.w .more_table-.tabellen(a2,d1),d0/d2 bsr.s .get_d0_bits add.w d1,d2 ; d2 = Stringlnge bsr.s .get_long_offset move.w d2,d0 ; d0 = Stringlnge bra.s .copy_longstring .bitset: moveq #2,d0 ; %110 bsr.s .get_d0_bits moveq #0,d0 bset d1,d0 bra.s .put_d0 .length_2: moveq #7,d0 ; %01 bsr.s .get_d0_bits moveq #2-2,d0 bra.s .copy_string .length_3: bsr.s .get_short_offset ; %10 tst.w d0 beq .put_d0 ; 0 ablegen moveq #3-2,d0 bra.s .copy_string .length_4: bsr.s .get_short_offset ; %1110 tst.w d0 beq.s .vorgnger_kopieren moveq #4-2,d0 bra.s .copy_string .length_5: bsr.s .get_short_offset ; %1111 tst.w d0 beq.s .put_ff moveq #5-2,d0 bra.s .copy_string .put_ff: moveq #-1,d0 bra.s .put_d0 .vorgnger_kopieren: move.b (a6),d0 ; bra.s .put_d0 .put_d0: move.b d0,-(a6) bra.s .backmain .gleich_string: bsr.s .get_long_offset ; Anzahl gleicher Bytes lesen beq.s .backmain ; 0: zurck move.b (a6),d0 .copy_gl: move.b d0,-(a6) dbf d1,.copy_gl sub.l d6,d1 bmi.s .backmain bra.s .copy_gl .copy_longstring: subq.w #2,d0 ; Stringlnge - 2 (wegen dbf) .copy_string: ; d1 = Offset, d0 = Anzahl Bytes -2 lea.l 2(a6,d1.l),a0 ; Hier stehen die Originaldaten add.w d0,a0 ; dazu die Stringlnge-2 move.b -(a0),-(a6) ; ein Byte auf jeden Fall kopieren .dep_b: move.b -(a0),-(a6) ; mehr Bytes kopieren dbf d0,.dep_b ; und noch ein Mal .backmain bra .normal_bytes ; Jetzt kommen wieder normale Bytes .direkt_tab: dc.l $03ff0009,$00070002,$00030001,$00030001 ; Anzahl 1-Bits .tabellen:dc.l 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes .offset_table: dc.w 3, 0 dc.w 7, 16+0 dc.w 11, 256+16+0 dc.w 15, 4096+256+16+0 .more_table: dc.w 3, 5 dc.w 5, 16+5 dc.w 7, 64+16+5 ende_fire_decrunch_3: ;*************************************************** Ende der Unpackroutine mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm;********************************************* Unpackroutine von FIRE-PACK ; Eingabe: a0 = Adresse gepackter Daten ; Ausgabe: a1 = Adresse entpackter Daten ; a2 und a3 sind whrend der Packroutine unbelegt fire_decrunch: movem.l d0-a6,-(sp) bsr.s .getinfo ; Kenn-Langwort holen cmp.l #'FIRE',d0 ; Kennung gefunden? bne.s .not_packed ; nein: nicht gepackt bsr.s .getinfo ; Kenn-Langwort holen lea -8(a0,d0.l),a5 ; a5 = Ende aller Daten bsr.s .getinfo ; Lnge holen move.l d0,(sp) ; Originallnge: spter nach d0 move.l a1,a4 move.l a1,a6 add.l d7,a6 ; a6 = neues Ende ; a5 = Ende von Byte-Daten move.b -(a5),d7 ; erstes Informationslangwort lea .tabellen(pc),a3 ; a3 = Zeiger auf Datenbereich moveq #1,d6 swap d6 ; d6 = $10000 moveq #0,d5 ; d5 = 0 (oberes Wort: immer 0!) .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end ; Bit %0: keine Daten moveq #0,d1 ; falls zu .copy_direkt bsr.s .get_1_bit bcc.s .copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. ; lea.l .direkt_tab+16-.tabellen(a3),a0 ; ...siehe nchste Zeile move.l a3,a0 moveq #3,d3 .nextgb: move.l -(a0),d0 ; d0.w Bytes lesen bsr.s .get_d0_bits swap d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,.nextgb ; ja: dann weiter Bits lesen .no_more: add.l 16(a0),d1 ; Anzahl der zu bertragenen Bytes .copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,.copy_direkt ; noch ein Byte .test_if_end: cmp.l a4,a6 ; Fertig? bgt.s .strings ; Weiter wenn Ende nicht erreicht .not_packed: movem.l (sp)+,d0-a6 rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu .getinfo: moveq #3,d1 .glw: rol.l #8,d0 move.b (a0)+,d0 dbf d1,.glw rts .get_1_bit: add.b d7,d7 ; hole ein Bit beq.s .no_bit_found rts .no_bit_found: move.b -(a5),d7 addx.b d7,d7 rts .get_d0_bits: moveq #0,d1 ; Ergebnisfeld vorbereiten .hole_bit_loop: add.b d7,d7 ; hole ein Bit beq.s .not_found ; quellfeld leer .on_d0: addx.w d1,d1 ; und bernimm es dbf d0,.hole_bit_loop ; bis alle Bits geholt wurden rts .not_found: move.b -(a5),d7 ; hole sonst ein weiteres Longword addx.b d7,d7 ; hole ein Bit bra.s .on_d0 ;************************************ Ende der Unterroutinen .strings: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits subq.w #1,d1 bmi.s .gleich_morestring ; %00 beq.s .length_2 ; %01 subq.w #1,d1 beq.s .length_3 ; %10 bsr.s .get_1_bit bcc.s .bitset ; %110 bsr.s .get_1_bit bcc.s .length_4 ; %1110 bra.s .length_5 ; %1111 .get_short_offset: moveq #1,d0 bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bpl.s .contoffs moveq #0,d0 ; Sonderfall rts .get_long_offset: moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 .contoffs add.w d1,d1 ; d1: 0, 2, 4, 6 add.w d1,d1 ; d1: 0, 4, 8, 12 movem.w .offset_table-.tabellen(a3,d1),d0/d5 bsr.s .get_d0_bits ; 4, 8, 12 oder 16 Bits lesen add.l d5,d1 rts .gleich_morestring: ; %00 moveq #1,d0 ; 2 Bits lesen bsr.s .get_d0_bits ; d1: 0, 1, 2, 3 subq.w #1,d1 bmi.s .gleich_string ; %0000 add.w d1,d1 ; d1: 0, 2, 4 add.w d1,d1 ; d1: 0, 4, 8 movem.w .more_table-.tabellen(a3,d1),d0/d2 bsr.s .get_d0_bits add.w d1,d2 ; d2 = Stringlnge bsr.s .get_long_offset move.w d2,d0 ; d0 = Stringlnge bra.s .copy_longstring .bitset: moveq #2,d0 ; %110 bsr.s .get_d0_bits moveq #0,d0 bset d1,d0 bra.s .put_d0 .length_2: moveq #7,d0 ; %01 bsr.s .get_d0_bits moveq #2-2,d0 bra.s .copy_string .length_3: bsr.s .get_short_offset ; %10 tst.w d0 beq .put_d0 ; 0 ablegen moveq #3-2,d0 bra.s .copy_string .length_4: bsr.s .get_short_offset ; %1110 tst.w d0 beq.s .vorgnger_kopieren moveq #4-2,d0 bra.s .copy_string .length_5: bsr.s .get_short_offset ; %1111 tst.w d0 beq.s .put_ff moveq #5-2,d0 bra.s .copy_string .put_ff: moveq #-1,d0 bra.s .put_d0 .vorgnger_kopieren: move.b (a6),d0 ; bra.s .put_d0 .put_d0: move.b d0,-(a6) bra.s .backmain .gleich_string: bsr.s .get_long_offset ; Anzahl gleicher Bytes lesen beq.s .backmain ; 0: zurck move.b (a6),d0 .copy_gl: move.b d0,-(a6) dbf d1,.copy_gl sub.l d6,d1 bmi.s .backmain bra.s .copy_gl .copy_longstring: subq.w #2,d0 ; Stringlnge - 2 (wegen dbf) .copy_string: ; d1 = Offset, d0 = Anzahl Bytes -2 lea.l 2(a6,d1.l),a0 ; Hier stehen die Originaldaten add.w d0,a0 ; dazu die Stringlnge-2 move.b -(a0),-(a6) ; ein Byte auf jeden Fall kopieren .dep_b: move.b -(a0),-(a6) ; mehr Bytes kopieren dbf d0,.dep_b ; und noch ein Mal .backmain bra .normal_bytes ; Jetzt kommen wieder normale Bytes .direkt_tab: dc.l $03ff0009,$00070002,$00030001,$00030001 ; Anzahl 1-Bits .tabellen:dc.l 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes .offset_table: dc.w 3, 0 dc.w 7, 16+0 dc.w 11, 256+16+0 dc.w 15, 4096+256+16+0 .more_table: dc.w 3, 5 dc.w 5, 16+5 dc.w 7, 64+16+5 ;*************************************************** Ende der Unpackroutine ende_fire_decrunch: mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm``ZPack-Fire: The best packer on the ST. Greetings go to all people who use this packer. *O*m - ЭЭ// Bg?<JNA 3< 3 aa 8aaa a`& < a(3 ~R@gNu <aNu>??<LNAHABBBP (pf|A"0<NBp0:LNuxafx3 NuA0aJy gAa,@0`(Aoaa` 3f"ADava:A8aj` 3fa&`! 1gr gl 2fB9!Jy gAa@l|ngpy` Ayaa334 g yg nf3`,3`4v3!Jy g?<NATIA:BgHT?<GNAPJf|\*.*BaLIf NAXJNu?<NATNu?<NATNu/< NMXNu/?< NA\NuHz ?<&NN\Nu 8#!#!NuHAHaa :րH@B@H@0 a0 a0 ap:a  @0aH@@0aLNuC :,tr€| oA'A0QA aGHS?< NA\t+gZTxvSBkp#0k o0 W o oph؀XCQ <e(|dx# Nu/ : # # 3 NueH :ѹ " :$:adaJ@gRHABAHAzVgD3 <99AQH@A aagaf3!8L#!`LNuAa : N":a2da* H@B@H@ 00a.H@a(AaNuH@HAJ@f JAfH@HANuH@HA`H??<NAXLNua( <43#aB?::a.p0Nu rp`6  z@ ( $B":.aJ2p` z ( $":aJSB2p`":[A(JkΒkP`Ґ (a"(UAIp`@ <kgrpHzabrp `\ڀLA\Ar婂Ez`8  Q~|QNuNu`E0<r$$$$$$$$QEA0<r&ATrQBb0<2R2R2R2R2R2R2R2RQNu`` Pack-Fire!A~*Hޭ,Hޭa*oMGLI "grѓg f``GPM$]*$**ԓ**ԓaJ@g p`2aJ@gp`(aJ@gp`p``"agQk`U@C!!Q`  UNSHIx,Lap FIREf`adKa^."Npw!Q&N%E<|HFzaLd raFd Jv aHH@@VҨ%QnFL'Sfpw%QLN[NurQNugNu%NurgAQNu%`paSAk0gTSAgXadBad\`dpaSAjpNupaAAL!a҅NupaSAkPAAL aAa0`Npap`.pap`>aJ@g p`2aJ@gp`(aJ@gp`p``"agQk`U@A  Q`  U0 Enter name of source file: Enter name of destination file: Could not allocate enough memory Working: P> Crunch another file (Y/n): Relocate program after depacking (Y/n): Additional picture compression (N/y): Please enter the offset (Default: $0000): $ 1) Crunch data file (Default) 2) Crunch executable file 3) Set Parameters Please select: No mem! Verify: OK! Error! [cancelled] Data cannot be packed! [cancelled]DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCRemaining: 99%DDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCC-~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCTime:  Rate: % [saving] was pressed. File is skipped. Larger than original! [cancelled]Ef ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ | Version 2.01 | { P A C K - F I R E } | | { This packer was written by Axe of Superior. } | First version: 18.04.1990 Final changes: 19.02.1990 | { } | Note: $7000 is highest offset for FAST packing! | ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ [0][| What do you wish to pack? | - Data files | - Executable files | - Set Parameters ][ DATA | EXEC | SETUP ][0][| Relocate after decrunch? | ][ YES | NO ][2][| Do you wish to pack | another file?|][ YES | NO | ??? ][0][| Do you wish to use an | additional algorithm | for picture compression? |][ NO | YES ]*\L,RR*  :0x \0v:22  $T&v,rmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.  a..  akICE_UNP3S b ICE_DISKS e ICE_UNP2S h ICE_UNPAS k ICE_2_3PRG o ;********************************************* Unpackroutine von ICE-PACK ; Eingabe: a0 = Adresse gepackter Daten ice_decrunch_3: link a3,#-120 movem.l d0-a6,-(sp) move.l a0,a1 move.l a0,a4 ; a4 = Anfang entpackte Daten move.l a0,a6 ; a6 = Ende entpackte Daten bsr.s .getinfo cmpi.l #'ICE!',d0 ; Kennung gefunden? bne .not_packed bsr.s .getinfo ; gepackte Lnge holen moveq #119,d1 ; 120 Bytes vor gepackten Daten .save: move.b -(a1),-(a3) ; in sicheren Bereich sichern dbf d1,.save move.l a1,a2 ; Anfang der gepackten Daten lea.l -8(a1,d0.l),a5 ; a5 = Ende der gepackten Daten .move move.b (a0)+,(a1)+ subq.l #1,d0 bne.s .move move.l a2,a0 bsr.s .getinfo ; ungepackte Lnge holen (original) move.l d0,(sp) ; Originallnge: spter nach d0 adda.l d0,a6 ; a6 = Ende entpackte Daten move.l a6,a3 ; merken fr Picture decrunch move.b -(a5),d7 ; erstes Informationsbyte bsr.s .normal_bytes bsr.s .get_1_bit ;; Picture decrunch! bcc.s .no_picture ;; These marked lines may be move.w #$0f9f,d7 ;; removed in your own sources .ice_00: moveq #3,d6 ;; if you do not use the .ice_01: move.w -(a3),d4 ;; additional algorithm. moveq #3,d5 ;; .ice_02: add.w d4,d4 ;; addx.w d0,d0 ;; add.w d4,d4 ;; addx.w d1,d1 ;; add.w d4,d4 ;; addx.w d2,d2 ;; add.w d4,d4 ;; addx.w d3,d3 ;; dbra d5,.ice_02 ;; dbra d6,.ice_01 ;; movem.w d0-d3,(a3) ;; dbra d7,.ice_00 ;; .no_picture movem.l (sp),d0-a3 ; hole ntige Register moveq #119,d0 ; um berschriebenen Bereich .rest move.b -(a3),-(a4) ; wieder herzustellen dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts .getinfo: moveq #3,d1 ; ein Langwort vom Anfang .getbytes: lsl.l #8,d0 ; der Daten lesen move.b (a0)+,d0 dbf d1,.getbytes rts .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end ; Bit %0: keine Daten moveq.l #0,d1 ; falls zu copy_direkt bsr.s .get_1_bit bcc.s .copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. lea.l .direkt_tab+20(pc),a1 moveq.l #4,d3 .nextgb: move.l -(a1),d0 ; d0.w Bytes lesen bsr.s .get_d0_bits swap.w d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,.nextgb ; ja: dann weiter Bits lesen .no_more: add.l 20(a1),d1 ; Anzahl der zu bertragenen Bytes .copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,.copy_direkt ; noch ein Byte .test_if_end: cmpa.l a4,a6 ; Fertig? bgt.s .strings ; Weiter wenn Ende nicht erreicht rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu .get_1_bit:add.b d7,d7 ; hole ein bit bne.s .bitfound ; quellfeld leer move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 .bitfound: rts .get_d0_bits: moveq.l #0,d1 ; ergebnisfeld vorbereiten .hole_bit_loop: add.b d7,d7 ; hole ein bit bne.s .on_d0 ; in d7 steht noch Information move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 .on_d0: addx.w d1,d1 ; und bernimm es dbf d0,.hole_bit_loop ; bis alle Bits geholt wurden rts ;************************************ Ende der Unterroutinen .strings: lea.l .length_tab(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #3,d2 ; d2 = Zeiger in Tabelle .get_length_bit: bsr.s .get_1_bit dbcc d2,.get_length_bit ; nchstes Bit holen .no_length_bit: moveq.l #0,d4 ; d4 = berschu-Lnge moveq.l #0,d1 move.b 1(a1,d2.w),d0 ; d2: zw. -1 und 3; d3+1: Bits lesen ext.w d0 ; als Wort behandeln bmi.s .no_ber ; kein berschu ntig .get_ber: bsr.s .get_d0_bits .no_ber: move.b 6(a1,d2.w),d4 ; Standard-Lnge zu berschu add. add.w d1,d4 ; d4 = String-Lnge-2 beq.s .get_offset_2 ; Lnge = 2: Spezielle Offset-Routine lea.l .more_offset(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #1,d2 .getoffs: bsr.s .get_1_bit dbcc d2,.getoffs moveq.l #0,d1 ; Offset-berschu move.b 1(a1,d2.w),d0 ; request d0 Bits ext.w d0 ; als Wort bsr.s .get_d0_bits add.w d2,d2 ; ab jetzt: Pointer auf Worte add.w 6(a1,d2.w),d1 ; Standard-Offset zu berschu add. bpl.s .depack_bytes ; keine gleiche Bytes: String kop. sub.w d4,d1 ; gleiche Bytes bra.s .depack_bytes .get_offset_2: moveq.l #0,d1 ; berschu-Offset auf 0 setzen moveq.l #5,d0 ; standard: 6 Bits holen moveq.l #-1,d2 ; Standard-Offset auf -1 bsr.s .get_1_bit bcc.s .less_40 ; Bit = %0 moveq.l #8,d0 ; quenty fourty: 9 Bits holen moveq.l #$3f,d2 ; Standard-Offset: $3f .less_40: bsr.s .get_d0_bits add.w d2,d1 ; Standard-Offset + ber-Offset .depack_bytes: ; d1 = Offset, d4 = Anzahl Bytes lea.l 2(a6,d4.w),a1 ; Hier stehen die Originaldaten adda.w d1,a1 ; Dazu der Offset move.b -(a1),-(a6) ; ein Byte auf jeden Fall kopieren .dep_b: move.b -(a1),-(a6) ; mehr Bytes kopieren dbf d4,.dep_b ; und noch ein Mal bra .normal_bytes ; Jetzt kommen wieder normale Bytes .direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 ; Anzahl 1-Bits dc.l 270-1, 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes .length_tab: dc.b 9,1,0,-1,-1 ; Bits lesen dc.b 8,4,2,1,0 ; Standard-Lnge - 2 (!!!) .more_offset: dc.b 11, 4, 7, 0 ; Bits lesen dc.w $11f, -1, $1f ; Standard Offset ende_ice_decrunch_3: ;*************************************************** Ende der Unpackroutine mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm opt o+,ow-,a+ ; Optimierung einschalten start: movea.l #stackend,sp move.l sp,d0 subi.l #start-$120,d0 move.l d0,-(sp) pea start-$100(pc) clr.w -(sp) move.w #$4a,-(sp) trap #1 adda.w #$c,sp bsr.s super move.l $84.w,old_trap1+2 ;store & change TRAP #1 vector move.l #my_trap1,$84.w bsr.s user pea null(pc) pea null(pc) pea file_name(pc) move.w #0,-(sp) move.w #$4b,-(sp) trap #1 lea.l 16(sp),sp bsr.s super move.l old_trap1+2(pc),$84.w bsr.s user clr.w -(sp) trap #1 null: dc.l 0,0 file_name: dc.b 'datafile.del',0 ; nachgeladenes Programm (pexec) EVEN super: clr.l -(sp) ;supervisor state move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,d7 rts user: move.l d7,-(sp) ;user state move.w #$20,-(sp) trap #1 addq.l #6,sp rts my_trap1: movea.l sp,a0 btst #$d,(sp) bne.s supervisor move.l usp,a0 subq.l #6,a0 supervisor: addq.l #6,a0 cmpi.w #$3f,(a0) ; read beq.s func_3f old_trap1: jmp 0.l func_3f: move.l 8(a0),puffer move.l 2(sp),ret_addr5+2 ; Returnadresse move.l #read,2(sp) bra.s old_trap1 read: tst.w 2(sp) bmi.s ret_addr5 ; device handle->do nothing movem.l d1-d7/a0-a6,-(sp) movea.l puffer(pc),a0 ; Puffer bsr.s decrunch movem.l (sp)+,d1-d7/a0-a6 ret_addr5: jmp 0.l ;********************************************* Unpackroutine von ICE-PACK include ice_unp2.s ;*************************************************** Ende der Unpackroutine section bss puffer: ds.l 1 ds.b 500 stackend: ds.b 20 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm;********************************************* Unpackroutine von ICE-PACK ; Eingabe: a0 = Adresse gepackter Daten ice_decrunch_2: link a3,#-120 movem.l d0-a6,-(sp) lea 120(a0),a4 ; a4 = Anfang entpackte Daten move.l a4,a6 ; a6 = Ende entpackte Daten bsr.s .getinfo cmpi.l #'ICE!',d0 ; Kennung gefunden? bne .not_packed bsr.s .getinfo ; gepackte Lnge holen lea.l -8(a0,d0.l),a5 ; a5 = Ende der gepackten Daten bsr.s .getinfo ; ungepackte Lnge holen (original) move.l d0,(sp) ; Originallnge: spter nach d0 adda.l d0,a6 ; a6 = Ende entpackte Daten move.l a6,a1 moveq #119,d0 ; 120 Bytes hinter entpackten Daten .save: move.b -(a1),-(a3) ; in sicheren Bereich sichern dbf d0,.save move.l a6,a3 ; merken fr Picture decrunch move.b -(a5),d7 ; erstes Informationsbyte bsr.s .normal_bytes move.l a3,a5 ; fr 120 Bytes restore bsr.s .get_1_bit ;; Picture decrunch! bcc.s .no_picture ;; These marked lines may be move.w #$0f9f,d7 ;; removed in your own sources .ice_00: moveq #3,d6 ;; if you do not use the .ice_01: move.w -(a3),d4 ;; additional algorithm. moveq #3,d5 ;; .ice_02: add.w d4,d4 ;; addx.w d0,d0 ;; add.w d4,d4 ;; addx.w d1,d1 ;; add.w d4,d4 ;; addx.w d2,d2 ;; add.w d4,d4 ;; addx.w d3,d3 ;; dbra d5,.ice_02 ;; dbra d6,.ice_01 ;; movem.w d0-d3,(a3) ;; dbra d7,.ice_00 ;; .no_picture movem.l (sp),d0-a3 ; hole ntige Register .move move.b (a4)+,(a0)+ subq.l #1,d0 bne.s .move moveq #119,d0 ; um berschriebenen Bereich .rest move.b -(a3),-(a5) ; wieder herzustellen dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts .getinfo: moveq #3,d1 ; ein Langwort vom Anfang .getbytes: lsl.l #8,d0 ; der Daten lesen move.b (a0)+,d0 dbf d1,.getbytes rts .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end ; Bit %0: keine Daten moveq.l #0,d1 ; falls zu copy_direkt bsr.s .get_1_bit bcc.s .copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. lea.l .direkt_tab+20(pc),a1 moveq.l #4,d3 .nextgb: move.l -(a1),d0 ; d0.w Bytes lesen bsr.s .get_d0_bits swap.w d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,.nextgb ; ja: dann weiter Bits lesen .no_more: add.l 20(a1),d1 ; Anzahl der zu bertragenen Bytes .copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,.copy_direkt ; noch ein Byte .test_if_end: cmpa.l a4,a6 ; Fertig? bgt.s .strings ; Weiter wenn Ende nicht erreicht rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu .get_1_bit: add.b d7,d7 ; hole ein bit bne.s .bitfound ; quellfeld leer move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 .bitfound: rts .get_d0_bits: moveq.l #0,d1 ; ergebnisfeld vorbereiten .hole_bit_loop: add.b d7,d7 ; hole ein bit bne.s .on_d0 ; in d7 steht noch Information move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 .on_d0: addx.w d1,d1 ; und bernimm es dbf d0,.hole_bit_loop ; bis alle Bits geholt wurden rts ;************************************ Ende der Unterroutinen .strings: lea.l .length_tab(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #3,d2 ; d2 = Zeiger in Tabelle .get_length_bit: bsr.s .get_1_bit dbcc d2,.get_length_bit ; nchstes Bit holen .no_length_bit: moveq.l #0,d4 ; d4 = berschu-Lnge moveq.l #0,d1 move.b 1(a1,d2.w),d0 ; d2: zw. -1 und 3; d3+1: Bits lesen ext.w d0 ; als Wort behandeln bmi.s .no_ber ; kein berschu ntig .get_ber: bsr.s .get_d0_bits .no_ber: move.b 6(a1,d2.w),d4 ; Standard-Lnge zu berschu add. add.w d1,d4 ; d4 = String-Lnge-2 beq.s .get_offset_2 ; Lnge = 2: Spezielle Offset-Routine lea.l .more_offset(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #1,d2 .getoffs: bsr.s .get_1_bit dbcc d2,.getoffs moveq.l #0,d1 ; Offset-berschu move.b 1(a1,d2.w),d0 ; request d0 Bits ext.w d0 ; als Wort bsr.s .get_d0_bits add.w d2,d2 ; ab jetzt: Pointer auf Worte add.w 6(a1,d2.w),d1 ; Standard-Offset zu berschu add. bpl.s .depack_bytes ; keine gleiche Bytes: String kop. sub.w d4,d1 ; gleiche Bytes bra.s .depack_bytes .get_offset_2: moveq.l #0,d1 ; berschu-Offset auf 0 setzen moveq.l #5,d0 ; standard: 6 Bits holen moveq.l #-1,d2 ; Standard-Offset auf -1 bsr.s .get_1_bit bcc.s .less_40 ; Bit = %0 moveq.l #8,d0 ; quenty fourty: 9 Bits holen moveq.l #$3f,d2 ; Standard-Offset: $3f .less_40: bsr.s .get_d0_bits add.w d2,d1 ; Standard-Offset + ber-Offset .depack_bytes: ; d1 = Offset, d4 = Anzahl Bytes lea.l 2(a6,d4.w),a1 ; Hier stehen die Originaldaten adda.w d1,a1 ; Dazu der Offset move.b -(a1),-(a6) ; ein Byte auf jeden Fall kopieren .dep_b: move.b -(a1),-(a6) ; mehr Bytes kopieren dbf d4,.dep_b ; und noch ein Mal bra .normal_bytes ; Jetzt kommen wieder normale Bytes .direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 ; Anzahl 1-Bits dc.l 270-1, 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes .length_tab: dc.b 9,1,0,-1,-1 ; Bits lesen dc.b 8,4,2,1,0 ; Standard-Lnge - 2 (!!!) .more_offset: dc.b 11, 4, 7, 0 ; Bits lesen dc.w $11f, -1, $1f ; Standard Offset ende_ice_decrunch_2: ;*************************************************** Ende der Unpackroutine mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm;********************************************* Unpackroutine von ICE-PACK ; Eingabe: a0 = Adresse gepackter Daten ; Ausgabe: a1 = Adresse entpackter Daten ice_decrunch: movem.l d0-a6,-(sp) bsr.s getinfo ; ein Langwort holen cmpi.l #'ICE!',d0 ; Kennung gefunden? bne not_packed ; nein: nicht gepackt bsr.s getinfo ; gepackte Lnge holen lea.l -8(a0,d0.l),a5 ; a5 = Ende der gepackten Daten bsr.s getinfo ; ungepackte Lnge holen (original) move.l d0,(sp) ; Originallnge: spter nach d0 move.l a1,a4 ; a4 = Zielpuffer move.l a1,a6 adda.l d0,a6 ; a6 = Ende entpackte Daten move.l a6,a3 ; merken fr Picture decrunch move.b -(a5),d7 ; erstes Informationsbyte bsr normal_bytes bsr get_1_bit ;; Picture decrunch! bcc.s not_packed ;; These marked lines may be move.w #$0f9f,d7 ;; removed in your own sources ice_00: moveq #3,d6 ;; if you do not use the ice_01: move.w -(a3),d4 ;; additional algorithm. moveq #3,d5 ;; ice_02: add.w d4,d4 ;; addx.w d0,d0 ;; add.w d4,d4 ;; addx.w d1,d1 ;; add.w d4,d4 ;; addx.w d2,d2 ;; add.w d4,d4 ;; addx.w d3,d3 ;; dbra d5,ice_02 ;; dbra d6,ice_01 ;; movem.w d0-d3,(a3) ;; dbra d7,ice_00 ;; not_packed: movem.l (sp)+,d0-a6 rts getinfo: moveq #3,d1 ; ein Langwort vom Anfang getbytes: lsl.l #8,d0 ; der Daten lesen move.b (a0)+,d0 dbf d1,getbytes rts normal_bytes: bsr.s get_1_bit bcc.s test_if_end ; Bit %0: keine Daten moveq.l #0,d1 ; falls zu copy_direkt bsr.s get_1_bit bcc.s copy_direkt ; Bitfolge: %10: 1 Byte direkt kop. lea.l direkt_tab+20(pc),a1 moveq.l #4,d3 nextgb: move.l -(a1),d0 ; d0.w Bytes lesen bsr.s get_d0_bits swap.w d0 cmp.w d0,d1 ; alle gelesenen Bits gesetzt? dbne d3,nextgb ; ja: dann weiter Bits lesen no_more: add.l 20(a1),d1 ; Anzahl der zu bertragenen Bytes copy_direkt: move.b -(a5),-(a6) ; Daten direkt kopieren dbf d1,copy_direkt ; noch ein Byte test_if_end: cmpa.l a4,a6 ; Fertig? bgt.s strings ; Weiter wenn Ende nicht erreicht rts ;************************** Unterroutinen: wegen Optimierung nicht am Schlu get_1_bit:add.b d7,d7 ; hole ein bit bne.s bitfound ; quellfeld leer move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 bitfound: rts get_d0_bits: moveq.l #0,d1 ; ergebnisfeld vorbereiten hole_bit_loop: add.b d7,d7 ; hole ein bit bne.s on_d0 ; in d7 steht noch Information move.b -(a5),d7 ; hole Informationsbyte addx.b d7,d7 on_d0: addx.w d1,d1 ; und bernimm es dbf d0,hole_bit_loop ; bis alle Bits geholt wurden rts ;************************************ Ende der Unterroutinen strings: lea.l length_tab(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #3,d2 ; d2 = Zeiger in Tabelle get_length_bit: bsr.s get_1_bit dbcc d2,get_length_bit ; nchstes Bit holen no_length_bit: moveq.l #0,d4 ; d4 = berschu-Lnge moveq.l #0,d1 move.b 1(a1,d2.w),d0 ; d2: zw. -1 und 3; d3+1: Bits lesen ext.w d0 ; als Wort behandeln bmi.s no_ber ; kein berschu ntig get_ber: bsr.s get_d0_bits no_ber: move.b 6(a1,d2.w),d4 ; Standard-Lnge zu berschu add. add.w d1,d4 ; d4 = String-Lnge-2 beq.s get_offset_2 ; Lnge = 2: Spezielle Offset-Routine lea.l more_offset(pc),a1 ; a1 = Zeiger auf Tabelle moveq.l #1,d2 getoffs: bsr.s get_1_bit dbcc d2,getoffs moveq.l #0,d1 ; Offset-berschu move.b 1(a1,d2.w),d0 ; request d0 Bits ext.w d0 ; als Wort bsr.s get_d0_bits add.w d2,d2 ; ab jetzt: Pointer auf Worte add.w 6(a1,d2.w),d1 ; Standard-Offset zu berschu add. bpl.s depack_bytes ; keine gleiche Bytes: String kop. sub.w d4,d1 ; gleiche Bytes bra.s depack_bytes get_offset_2: moveq.l #0,d1 ; berschu-Offset auf 0 setzen moveq.l #5,d0 ; standard: 6 Bits holen moveq.l #-1,d2 ; Standard-Offset auf -1 bsr.s get_1_bit bcc.s less_40 ; Bit = %0 moveq.l #8,d0 ; quenty fourty: 9 Bits holen moveq.l #$3f,d2 ; Standard-Offset: $3f less_40: bsr.s get_d0_bits add.w d2,d1 ; Standard-Offset + ber-Offset depack_bytes: ; d1 = Offset, d4 = Anzahl Bytes lea.l 2(a6,d4.w),a1 ; Hier stehen die Originaldaten adda.w d1,a1 ; Dazu der Offset move.b -(a1),-(a6) ; ein Byte auf jeden Fall kopieren dep_b: move.b -(a1),-(a6) ; mehr Bytes kopieren dbf d4,dep_b ; und noch ein Mal bra normal_bytes ; Jetzt kommen wieder normale Bytes direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 ; Anzahl 1-Bits dc.l 270-1, 15-1, 8-1, 5-1, 2-1 ; Anz. Bytes length_tab: dc.b 9,1,0,-1,-1 ; Bits lesen dc.b 8,4,2,1,0 ; Standard-Lnge - 2 (!!!) more_offset: dc.b 11, 4, 7, 0 ; Bits lesen dc.w $11f, -1, $1f ; Standard Offset ;*************************************************** Ende der Unpackroutine mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm`R`Pack-Ice: The best packer on the ST. It is Public Domain. You may use it for packing anything you like. I don't want any donations. Greetings go to all people who use this packer. *O*m - ЭЭ// Bg?<JNA 33aa zaaa Ha`& < a(3~R@gNu <aNu>??<LNAHABBBP (pf|A"0<NBp0:4LNuRrxafx3NuAaJygA`an@0`(A'aa 3f"Aaa|Aa` 3fah` 1gt gn 2fB9JygAja@l|ngpy` A1aXa03l3| gZ ygP nf3`,l3``8ByJygAqa|g`Aaaΰ<yf3v3Jyg?<NATI4A:BgHT?<GNAPJf|\*.*BaTI NAXJNu?<NATNu?<NATNu/< NMXNu/?< NA\NuHz ?<&NN\Nu 8 ##NuHA aa :H@B@H@0 a0 a0 ap:a  @0aH@@0aLNuC :tr€| oA'A0QA =aG HS?< NA\t+gZTxvSBkp#0k o0 W o oph؀XCQ <(e(|dx# Nu/ : # # 3 NueH :ѹ " :$:adaJ@gRHABAHAzVgD3 <99A H@A (aagaf3L#`LNuA ua :":a2da* H@B@H@ 00a.H@a(A DaNuH@HAJ@f JAfH@HANuH@HA`H??<NAXLNua( <43#a?:`a.p0Nu <L|PIz@DADBDCDQ3QPIQ3NuA Pa`Hy?<HNA\Jnp#Nu :3Jk/?<INA\JNuByB <#a z :&"zE#.<|8#zD@DADBDCQQHQLSfpw#QLN[NurQNua*d"ra$dCv !a"H@@Vҩ%QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`R   0 Enter name of source file: Enter name of destination file: Could not allocate enough memory Working: P> Crunch another file (Y/n): Relocate program after depacking (Y/n): Additional picture compression (N/y): Please enter the offset (Default: $0000): $ 1) Crunch data file (Default) 2) Crunch executable file 3) Set Parameters Please select: No mem! Verify: OK! Error! [cancelled] Data cannot be packed! [cancelled]DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCRemaining: 99%DDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCC-~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCTime:  Rate: % [saving] was pressed. File is skipped. Larger than original! [cancelled]Ef ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ | Version 2.31 | { P A C K - I C E } | | { This packer was written by Axe of Superior. } | First version: 14.02.1990 Final changes: 19.02.1991 | { } ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ [0][| What do you wish to pack? | - Data files | - Executable files | - Set Parameters ][ DATA | EXEC | SETUP ][0][| Relocate after decrunch? | ][ YES | NO ][2][| Do you wish to pack | another file?|][ YES | NO | ??? ][0][| Do you wish to use an | additional algorithm | for picture compression? |][ NO | YES ]*\L,,R*  :0x \0v:22   T*N&v2 nmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.  r..  rkICE_2_4 PRG t -ICE_UNP2S w c ICE_UNPAS z  `F`Pack-Ice: The best packer on the ST. It is Public Domain. You may use it for packing anything you like. I don't want any donations. Greetings go to all people who use this packer. *O*m - ЭЭ// Bg?<JNA 3"3"$aaaa Faa a`& < a(3~R@gNu <aNu>??<LNAHAnBBBP (pf|A"0<NBp0:LNuxafx3 NuCArg8By $g*CJfSH ( g nBE f02yC#^NuAapJy gApa@0`(AaRa 3f"Aa@aAa4` 3fa`: 1gt gn 2fB9:Jy gAza@l|ngpy` A!aa^33 gZ ygP nf3`,3``8By Jy gAa|g`Aa~a<yf3 v3*Jy g?<NATIhA:BgHT?<GNAPJf|\*.*BaI " '$/?<HNA\Jn ADa `$@#" S"z I(ISja Rfp P@$@#&a z <'a(g 'da $zS@k f,Q 'g"zP$z" SSjAaa`Aaa`/: ?<INA\Nua 9:gARK R@#Z X`f$ԘԘ#b rx## xa kK <|ak*z R@,@akKB<|akak`*a*z,Kaka`Aa`Aa/:?<INA\JfZ?<ONATJj&Jy gA/a |g|g.A adA a\a ng`A 3aBaNuBgHz ?<=NAP38JNuHP/?:?<?NA JNu?<Hz b?<NAXJNuEJf "\g :fR\B*I ,:fpH@ a/NAXTHT?<;NA\JNu ztg#^/a Nu?<NATNu?<NATNu"zFJg,TH$g  gRHSjBH Ba( #^NuHP?< NA\Nu/< NMXNu/?< NA\NuHz ?<&NN\Nu 8#,#0NuHA aa :H@B@H@0 a0 a0 ap:a  @0aH@@0aLNuC :tr€| oA'A0QA aGpAat+gZTxvSBkp#0k o0 W o oph؀XCQ <(e(|dx# Nu/ : # |#j x3 NueH :ѹ x" :B$::adaJ@gRHABAHAzVgD3 <99A H@A aagaf3ZL#H`LNuA a : 2":a2da* H@B@H@ 00a.H@a(A aNuH@HAJ@f JAfH@HANuH@HA`H??<NAXLNua( <43#a0?:a.p0Nu <3L|PIz@DADBDCDQ3QPIQ3NuҀ~΁f~΁ <o.SkA`A 9ax`Hy?<HNA\Jnp#Nu :3Jkg/?<INA\JNuBy\B <#az z :f"zE#H.I o(z&Hfm" U#P g&H`o&zZxIJyk/ ,z mT,H#$za(JKprt&:o6< &A4TS9(R@Cfa &zv(փ$K(Jr238p0Ўf 78&_Jyk (zrڷof|(fr`(gn`^f,LSN *H fbn" S$R < g.cԁ"l|c|b(3T3Vnl :|ol00:2 Ag Ag.`<RSyXjDpЈkH3X`4":3TpUf @?baPa`aFaaz0: :WjlR`a Ǔ ."z|XaNu c3\#HG:v8#D\DCG(Hr婂EzHSD`  G,vC830KD\DC6308Kri@D`b    @?b2 A?o A@x `:x`4G(0:z3PHD\D3PHri@ESD`   Q~|QNuNuIB\0<r((((((((QIK0<r &ATtQBd0<2T2T2T2T2T2T2T2TQNu``Pack-IceI *Lޭ,Lޭa*oMGLA "grѓg f``GP$]t***Ԋ**EL ;H ;C&NN&&Sj&n".扑&&SjN%a*d"ra$dCv !a"H@@Vҩ%QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`R   NSHIx,La ICE!fpatKan."Npw!Q&N%af*Kad8><adpa>|8#zD@DADBDCQQHQLSfpw#QLN[NurQNua*d"ra$dCv !a"H@@Vҩ%QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`R   0 Enter name of source file: Enter name of destination file: Could not allocate enough memory Working: P> Crunch another file (Y/n): Relocate program after depacking (Y/n): Additional picture compression (N/y): Please enter the offset (Default: $0000): $ 1) Crunch data file (Default) 2) Crunch executable file 3) Set Parameters Please select: No mem! Verify: OK! Error! [cancelled] Data cannot be packed! [cancelled] CCCCCCCCCCCCCCCCCCCCCCCCRemaining: 99% CCCCCCCCC-~ CCCCCCCCCCCCCCCCCCCCCCCCTime:  Rate: % [saving] was pressed. File is skipped. Larger than original! [cancelled]Ef ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ | Version 2.40 | { P A C K - I C E } | | { This packer was written by Axe of Superior for ST-NEWS } | First version: 14.02.1990 Final changes: 14.08.1991 | { } ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ [0][| What do you wish to pack? | - Data files | - Executable files | - Set Parameters ][ DATA | EXEC | SETUP ][0][| Relocate after decrunch? | ][ YES | NO ][2][| Do you wish to pack | another file?|][ YES | NO | ??? ][0][| Do you wish to use an | additional algorithm | for picture compression? |][ NO | YES ].\8L,,R  0("  6, \0RF422   &4Pn&2 nmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm;********************************************* Unpacking routine of PACK-ICE ; a0 = Adress of packed data ; "bsr" or "jsr" to ice_decrunch_2 with register a0 prepared. ice_decrunch_2: link a3,#-120 movem.l d0-a6,-(sp) lea 120(a0),a4 move.l a4,a6 bsr .getinfo cmpi.l #'ICE!',d0 bne .not_packed bsr.s .getinfo lea.l -8(a0,d0.l),a5 bsr.s .getinfo move.l d0,(sp) adda.l d0,a6 move.l a6,a1 moveq #119,d0 .save: move.b -(a1),-(a3) dbf d0,.save move.l a6,a3 move.b -(a5),d7 bsr.s .normal_bytes move.l a3,a5 bsr .get_1_bit bcc.s .no_picture move.w #$0f9f,d7 bsr .get_1_bit bcc.s .ice_00 moveq #15,d0 bsr .get_d0_bits move.w d1,d7 .ice_00: moveq #3,d6 .ice_01: move.w -(a3),d4 moveq #3,d5 .ice_02: add.w d4,d4 addx.w d0,d0 add.w d4,d4 addx.w d1,d1 add.w d4,d4 addx.w d2,d2 add.w d4,d4 addx.w d3,d3 dbra d5,.ice_02 dbra d6,.ice_01 movem.w d0-d3,(a3) dbra d7,.ice_00 .no_picture movem.l (sp),d0-a3 .move move.b (a4)+,(a0)+ subq.l #1,d0 bne.s .move moveq #119,d0 .rest move.b -(a3),-(a5) dbf d0,.rest .not_packed: movem.l (sp)+,d0-a6 unlk a3 rts .getinfo: moveq #3,d1 .getbytes: lsl.l #8,d0 move.b (a0)+,d0 dbf d1,.getbytes rts .normal_bytes: bsr.s .get_1_bit bcc.s .test_if_end moveq.l #0,d1 bsr.s .get_1_bit bcc.s .copy_direkt lea.l .direkt_tab+20(pc),a1 moveq.l #4,d3 .nextgb: move.l -(a1),d0 bsr.s .get_d0_bits swap.w d0 cmp.w d0,d1 dbne d3,.nextgb .no_more: add.l 20(a1),d1 .copy_direkt: move.b -(a5),-(a6) dbf d1,.copy_direkt .test_if_end: cmpa.l a4,a6 bgt.s .strings rts .get_1_bit: add.b d7,d7 bne.s .bitfound move.b -(a5),d7 addx.b d7,d7 .bitfound: rts .get_d0_bits: moveq.l #0,d1 .hole_bit_loop: add.b d7,d7 bne.s .on_d0 move.b -(a5),d7 addx.b d7,d7 .on_d0: addx.w d1,d1 dbf d0,.hole_bit_loop rts .strings: lea.l .length_tab(pc),a1 moveq.l #3,d2 .get_length_bit: bsr.s .get_1_bit dbcc d2,.get_length_bit .no_length_bit: moveq.l #0,d4 moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bmi.s .no_ber .get_ber: bsr.s .get_d0_bits .no_ber: move.b 6(a1,d2.w),d4 add.w d1,d4 beq.s .get_offset_2 lea.l .more_offset(pc),a1 moveq.l #1,d2 .getoffs: bsr.s .get_1_bit dbcc d2,.getoffs moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bsr.s .get_d0_bits add.w d2,d2 add.w 6(a1,d2.w),d1 bpl.s .depack_bytes sub.w d4,d1 bra.s .depack_bytes .get_offset_2: moveq.l #0,d1 moveq.l #5,d0 moveq.l #-1,d2 bsr.s .get_1_bit bcc.s .less_40 moveq.l #8,d0 moveq.l #$3f,d2 .less_40: bsr.s .get_d0_bits add.w d2,d1 .depack_bytes: lea.l 2(a6,d4.w),a1 adda.w d1,a1 move.b -(a1),-(a6) .dep_b: move.b -(a1),-(a6) dbf d4,.dep_b bra .normal_bytes .direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 dc.l 270-1, 15-1, 8-1, 5-1, 2-1 .length_tab: dc.b 9,1,0,-1,-1 dc.b 8,4,2,1,0 .more_offset: dc.b 11, 4, 7, 0 ; Bits lesen dc.w $11f, -1, $1f ; Standard Offset ende_ice_decrunch_2: ;************************************************** end of unpacking routine mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm;********************************************* unpacking routine of PACK-ICE ; a0 = Pointer to packed data ; a1 = Address to which the data is unpacked ; "bsr" of "jsr" to ice_decrunch with registers a0 and a1 prepared. ice_decrunch: movem.l d0-a6,-(sp) bsr.s getinfo cmpi.l #'ICE!',d0 bne not_packed bsr.s getinfo lea.l -8(a0,d0.l),a5 bsr.s getinfo move.l d0,(sp) move.l a1,a4 move.l a1,a6 adda.l d0,a6 move.l a6,a3 move.b -(a5),d7 bsr normal_bytes move.l a3,a6 bsr get_1_bit bcc.s not_packed move.w #$0f9f,d7 bsr get_1_bit bcc.s ice_00 moveq #15,d0 bsr get_d0_bits move.w d1,d7 ice_00: moveq #3,d6 ice_01: move.w -(a3),d4 moveq #3,d5 ice_02: add.w d4,d4 addx.w d0,d0 add.w d4,d4 addx.w d1,d1 add.w d4,d4 addx.w d2,d2 add.w d4,d4 addx.w d3,d3 dbra d5,ice_02 dbra d6,ice_01 movem.w d0-d3,(a3) dbra d7,ice_00 not_packed: movem.l (sp)+,d0-a6 rts getinfo: moveq #3,d1 getbytes: lsl.l #8,d0 move.b (a0)+,d0 dbf d1,getbytes rts normal_bytes: bsr.s get_1_bit bcc.s test_if_end moveq.l #0,d1 bsr.s get_1_bit bcc.s copy_direkt lea.l direkt_tab+20(pc),a1 moveq.l #4,d3 nextgb: move.l -(a1),d0 bsr.s get_d0_bits swap.w d0 cmp.w d0,d1 dbne d3,nextgb no_more: add.l 20(a1),d1 copy_direkt: move.b -(a5),-(a6) dbf d1,copy_direkt test_if_end: cmpa.l a4,a6 bgt.s strings rts get_1_bit:add.b d7,d7 bne.s bitfound move.b -(a5),d7 addx.b d7,d7 bitfound: rts get_d0_bits: moveq.l #0,d1 hole_bit_loop: add.b d7,d7 bne.s on_d0 move.b -(a5),d7 addx.b d7,d7 on_d0: addx.w d1,d1 dbf d0,hole_bit_loop rts strings: lea.l length_tab(pc),a1 moveq.l #3,d2 get_length_bit: bsr.s get_1_bit dbcc d2,get_length_bit no_length_bit: moveq.l #0,d4 moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bmi.s no_ber get_ber: bsr.s get_d0_bits no_ber: move.b 6(a1,d2.w),d4 add.w d1,d4 beq.s get_offset_2 lea.l more_offset(pc),a1 moveq.l #1,d2 getoffs: bsr.s get_1_bit dbcc d2,getoffs moveq.l #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bsr.s get_d0_bits add.w d2,d2 add.w 6(a1,d2.w),d1 bpl.s depack_bytes sub.w d4,d1 bra.s depack_bytes get_offset_2: moveq.l #0,d1 moveq.l #5,d0 moveq.l #-1,d2 bsr.s get_1_bit bcc.s less_40 moveq.l #8,d0 moveq.l #$3f,d2 less_40: bsr.s get_d0_bits add.w d2,d1 depack_bytes: lea.l 2(a6,d4.w),a1 adda.w d1,a1 move.b -(a1),-(a6) dep_b: move.b -(a1),-(a6) dbf d4,dep_b bra normal_bytes direkt_tab: dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001 dc.l 270-1, 15-1, 8-1, 5-1, 2-1 length_tab: dc.b 9,1,0,-1,-1 dc.b 8,4,2,1,0 more_offset: dc.b 11, 4, 7, 0 dc.w $11f, -1, $1f ;************************************************* end of unpacking routine mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.  ..  kICE_2_2 PRG ICE_UNPAS  `0 `Pack-Ice: The best packer on the ST. It is Public Domain. You may use it for packing anything you like. I don't want any donations. Greetings go to all people who use this packer. *O*m - ЭЭ// Bg?<JNA 3 3 aa aaaa`& < a(3~~R@gNu <aNu>??<LNAHABBBP (pf|A"0<NBp0:LNu0P~~nzxafx3NuAaJygA>a@0`(AapaH 3f"Aa^a$AaR` 3fa` 1gt gn 2fB9JygAHa@l|ngpy` Aaa3T j3N gZ ygP nf3`, j3` `8ByJygAOa>|g`Aaat<yf3v3Jyg?<NATIA:BgHT?<GNAPJf|\*.*BaIr NAXJNu?<NATNu?<NATNu/< NMXNu/?< NA\NuHz ?<&NN\Nu 8L##NuHA aa :(H@B@H@ <L|PIz@DADBDCDQ3QPIQ3NuAa`Bya z :"z E.<|8#zD@DADBDCQQHQLNurQNua*d"ra$dCv !a"H@@Vҩ%QnNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`R   0 Enter name of source file: Enter name of destination file: Could not allocate enough memory Working: P> Crunch another file (Y/n): Relocate program after depacking (Y/n): Additional picture compression (N/y): Please enter the offset (Default: $0000): $ 1) Crunch data file (Default) 2) Crunch executable file 3) Set Parameters Please select: No mem! Verify: OK! Error! [cancelled] Data cannot be packed! [cancelled]DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCRemaining: 99%DDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCC-DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCTime:  Rate: % [saving] was pressed. File is skipped. Larger than original! [cancelled]Ef ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ | Version 2.20 | { P A C K - I C E } | | { This packer was written by Axe of Delight. } | First version: 14.02.1990 Final changes: 21.11.1990 | { } ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ [0][| What do you wish to pack? | - Data files | - Executable files | - Set Parameters ][ DATA | EXEC | SETUP ][0][| Relocate after decrunch? | ][ YES | NO ][2][| Do you wish to pack | another file?|][ YES | NO | ??? ][0][| Do you wish to use an | additional algorithm | for picture compression? |][ NO | YES ]*\L,,R *  :6x \0v<22  TZ~6nmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm;********************************************* Unpackroutine von ICE-PACK ; assemble with Devpac or any other Assembler ; length of this unpacking routine: 294 bytes ; a0 = address of packed data ; a1 = address of unpacked data ice_unpack: movem.l d0-a6,-(sp) bsr.s ice04 cmpi.l #'Ice!',d0 ; Is file packed? bne ice03 ; no, leave this routine bsr.s ice04 lea -8(a0,d0.l),a5 bsr.s ice04 move.l d0,(sp) movea.l a1,a4 movea.l a1,a6 adda.l d0,a6 movea.l a6,a3 move.b -(a5),d7 bsr ice06 ; bsr get_1_bit ;; Picture decrunch! ; bcc.s not_packed ;; Enable these lines in your own ; move.w #$0f9f,d7 ;; sources if you are using the ;pic00: moveq #3,d6 ;; additional algorithm for lores ;pic01: move.w -(a3),d4 ;; picture pre-compression. ; moveq #3,d5 ;; ;pic02: add.w d4,d4 ;; ; addx.w d0,d0 ;; ; add.w d4,d4 ;; ; addx.w d1,d1 ;; ; add.w d4,d4 ;; ; addx.w d2,d2 ;; ; add.w d4,d4 ;; ; addx.w d3,d3 ;; ; dbra d5,pic02 ;; ; dbra d6,pic01 ;; ; movem.w d0-d3,(a3) ;; ; dbra d7,pic00 ;; ice03: movem.l (sp)+,d0-a6 rts ice04: moveq #3,d1 ice05: lsl.l #8,d0 move.b (a0)+,d0 dbra d1,ice05 rts ice06: bsr.s ice0a bcc.s ice09 moveq #0,d1 bsr.s ice0a bcc.s ice08 lea ice17(pc),a1 moveq #4,d3 ice07: move.l -(a1),d0 bsr.s ice0c swap d0 cmp.w d0,d1 dbne d3,ice07 add.l 20(a1),d1 ice08: move.b -(a5),-(a6) dbra d1,ice08 ice09: cmpa.l a4,a6 bgt.s ice0f rts ice0a: add.b d7,d7 bne.s ice0b move.b -(a5),d7 addx.b d7,d7 ice0b: rts ice0c: moveq #0,d1 ice0d: add.b d7,d7 bne.s ice0e move.b -(a5),d7 addx.b d7,d7 ice0e: addx.w d1,d1 dbra d0,ice0d rts ice0f: lea ice18(pc),a1 moveq #3,d2 ice10: bsr.s ice0a dbcc d2,ice10 moveq #0,d4 moveq #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bmi.s ice11 bsr.s ice0c ice11: move.b 6(a1,d2.w),d4 add.w d1,d4 beq.s ice13 lea ice19(pc),a1 moveq #1,d2 ice12: bsr.s ice0a dbcc d2,ice12 moveq #0,d1 move.b 1(a1,d2.w),d0 ext.w d0 bsr.s ice0c add.w d2,d2 add.w 6(a1,d2.w),d1 bpl.s ice15 sub.w d4,d1 bra.s ice15 ice13: moveq #0,d1 moveq #5,d0 moveq #-1,d2 bsr.s ice0a bcc.s ice14 moveq #8,d0 moveq #$3f,d2 ice14: bsr.s ice0c add.w d2,d1 ice15: lea 2(a6,d4.w),a1 adda.w d1,a1 move.b -(a1),-(a6) ice16: move.b -(a1),-(a6) dbra d4,ice16 bra ice06 DC.B $7f,$ff,$00,$0e,$00,$ff,$00,$07 DC.B $00,$07,$00,$02,$00,$03,$00,$01 DC.B $00,$03,$00,$01 ice17: DC.B $00,$00,$01,$0d,$00,$00,$00,$0e DC.B $00,$00,$00,$07,$00,$00,$00,$04 DC.B $00,$00,$00,$01 ice18: DC.B $09,$01,$00,$ff,$ff,$08,$04,$02 DC.B $01,$00 ice19: DC.B $0b,$04,$07,$00,$01,$1f,$ff,$ff DC.B $00,$1f mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm/NX/-z/NP0nN^NuNV0n Cn2n An F` G g0n C I/NXN^NuNV n h -H nT0P=H n h-H n hL//.N`X"_mA-H`"n n hL-H nP2P n0h$=H n0h =H0n//N|P0n/0m/HnHnHnHnNp0n/HnHnHnHnAHh N0n/0n/2nAP0P//.NHn0n/0mf//.N`X"_Nb"_"_2AT"H0n2AX"H n0h2A\/2n0mh"H F I"_20n//NP0n/HnN(PHn nP2P0m"F"_2AT/A\/2n0mh"_2"_20n/HnN(PAT$H0PRRA\$H0PRR0n//NP0n/HnN(P0n/ n0h&/HnHnHnHnNpN^NuNV0n=H0n =H ml h -H ml h-H2n0m=H/.HnHnN 0n//.N`X"_mN^Nu"n0nH0@=H0n`D"n0n"HA `V"n0n"HA. `>/.0n/N2P=H0n//NX"_nN^Nu2nAm A=H"n0n"HA] 2n0noX0n=H2n0nl&` 0nRn`"n0n"HA. `/.0n"F"_"H G `H2n0nl:0n=H2n0no$` 0nSn`"n0n"H G ``4N^Nu`,Nb.][`/-lNX///HnHnHnHnNtN^NuNV ml h-H/.Hx]NP-H"n n0n N^NuNV ml h-H/.Hx[NP-H"n n0n N^NuNV0mf=H0m=H n P2P n 0h$=H n 0h =H n 0h "H n 0h$ I=H0m=H0n/2n ml hL0mfNb"_=HHx/N PHx/N P0n/0n/0n/0n/0n/0n/0n/0n/HnHnN (Hx/N P//N P0n/2mfANb"_"H0n0mfNb"H ml hLN^NuNV ml h -H ml h -H0n=H0n=H/.HnHnN 0n=H2n ml hP I=H"n0n2PA Nb=HJn f0n`/-l0n/HxN `Jngx/-lHnHnN nXJPo2n nT0Pm F` G g&2n nT0P I=H nC-H`/-l/.NP`>N`4NbTL`XP``&0nCf Jng/.0n/NP`0n=H/-lHnHnN nXJPo2n nT0Pm F` G g&2n nT0P I=H nC-H` n0P/NX=H0nCg2n0nl F` G g2n0n I=H` G-H2n ml hP I=H/.0n/0n//.Nj/-l/NPN^NuNV n P0P=H0n=H n 0h "H0m=H0m=H n 0h"H0m I=H n \0P=H0n/2n ml hP0nNb"_=HHx/N PHx/N P0m/0n/0n/0n/0n/0n/0n/0n/HnHnN (Hx/N P//N P0n/2nANb"_=H/. HnHnN 2n0n g@/-lHn HnN /-l/.NP/-l0n/HxN N^NuNV2m n0h =H0n=H G=H n\0P=H2n0nNb"H0n=H2n0nNb"H0n=H0n=H2n0nn2`2n0n=H`/.0n/N"P0nRn`Hx/N PHx/N PHx/////0n/Hx0n/////////HnHnHnHnHnHnN\=HHx/N P0nCNb g`0nCNb g2n0nl40nSn o/.0n/N"P2n0n I=H`0n/2n0n"_mL2n0n=H2nAclRnJno F` G g/.0n/N"P``//N PJno0n=H0n=HJno2`2n0n=H0nSn`/.0n/N"P`Jg "n0n2/-l/.N4P`&/-l2n ml hP/0n/N `Jg/-l/.NPN^NuNV n T0P=HC n P0P2AT"H0n 2AX/0n"H0m"H F I"_2A\/2n n \0P"H F I"_20n/HxN@P0n//NP0n/HnN(P0n//N@PN^NuNVNHx/N PHmfHmhHmHmN 0;Hd0mhC;H0md/Hx/HmN>0md/Hx/HmN>0md/HxHmN 0md/HxHmN /HxHmjN Aj\2PA,l F;HA;HA;HA;H G=H2nAl`0nC=H`Hm0n"F"_/Hm0n"F"_2PANbC"_2Hm0nC"_/Hm0nC"_2PANb"HA I"_2`rAjX2PAlzA ;H G=H2nAl^`0nC=H`Hm0n"G"_/2PANb"_2Hm0nC"_/2PANb"_2`N^NuNVvHxHxNP-HJf GN^Nu0md=HHmrHnHnzNh nT"H0n20n//NP0n/HxN|P0n/HmHm nHh(Hm nHh2N G=H2nAlD` 0nRn`C0n/Hm0mCNb"H0n"_0P"_2` nX"H0mf2 n\"H0mh2/.Hx0mj/AjT0P/AjX0P/Aj\0P/N l"_2/Hx0n/AT0P/AX0P/A\0P/ nP/ nHh nHh nHhN (/.N2X n0h"H0m0mhNb=H n0h "H n0h$0mfNb=H n0P/HxHz@N 6 AjX2PANb/Aj\2PANb/HxHx0n/AT0P/AX0P/A\0P/N Rm0m n0P/0n/AT0P/AX0P/A\0P/N  n0P/Hx nP/N nP/ nHhN^P0n// nHhNT /./N>P/.0n/0n/N` -HvC n0P"H nv" nvN^NuNV nP2P0m"FCNb=H0nC ICNb=H nHh$0m"F"H0n"_2N^NuNV G-H"nAl:` nR`C n P-HJg/.N,X`0md/HxAT/N 0md/HxAT/N Hx/N PN`N^NuNV n h -H n0P/N XAjX2PANb/Aj\2PANb/HxHx0mj/AjT0P/AjX0P/Aj\0P/N n0P/N 4X nT0P/NXC n0P"H G"Sm0m/.NX/.NFXN^NuNV n C. H0@2 n T0P/. H0@CNb/N|PN^NuNVA=H n T0P=H n \"H0n 20n Cf A =H n C&0n20n/0n/HnHnHnHnNp0n/HxN|P0n/HnHn n Hh(Hn n Hh2NN^NuNV n 0h=H/. N~X. H0@C f A @ C. H0@ AR"H G /. HnNpPJng/. N\XN^NuNV G=H G=H/.N`X=H n 0h=H n T0P=H/. HnHnN 2n n 0h0=H0nCtNb f n \2P0mhf G` F g0nC@Nb g0m=HA=HHnAX"H0n2"_2AP/AHh 0n/2mf0nNb"_"_2"_20nCNb gfAX/2P n 0h2 I"_2AP/2P n 0h2 I"_2A/2P n 0h6"_2AA /2P n 0h6"_2AT/AHh2n F I"_2"_2A\/AHh 2n n \0P"_2"_20n/HxNP0n/0n/NP0n/0n/NP0n/HxHnN\ 0n//NP0n//NP0n/HxN@P0nC0Nb g^0n/HxHnHnHnHnNpJmf0nCNb g F` G g2nA I=H0n/0n/0n//.N n \0PCf&0n/Hx HnHnHnHnNp0n/ n 0h /N@P n A/2P0n"_2N^NuNV nT0P=H/.0n /HnN fN^NuHmjHnNP fN^NuHnHnN^P G=H2nAl^` 0nRn`Hn0nC"_/C0n/C0n/C0n0P"_2"_2"_2`JnlPAT/2P0n I"_2AA/2P0n"_2AT/A\2P0n"F"_2`PA\/2P0n I"_2AA /2P0n"_2A\/AT2P0n"H F I"_2C G"0n/HxHnHnHnN0n//NP0n/HnN(PN^NuNV nT0P=H n0h=H/.0n /HnN fN^NuHmjHnNP fN^NuHnHnN^P/.N~X G=H2nAl^` 0nRn`Hn0nC"_/C0n/C0n/C0n0P"_2"_2"_2`JnoPAP/2P0n"_2AX/2P0n I"_2AX/0n"H0n"H F I"_2`FA/2P0n I"_2AA /2P0n"_2HnAX2P0n"F"_2C G"0n/HxHnHnHnN0n//NP0n/HnN(PJng/.N\XN^NuNV n 0h=H/. 0n /HnN fN^NuHnHnN^P/. N~X n T0P//NP n T0P/HnN(PJng/. N\XN^NuNV0n/0n/ n"G/ nC/ nC/ nC/N PN^NuNV0n/0n/ n0P/ nT0P/ nX0P/ n\0P/N N^NuNV nT"H n 0P2 nT"H n T0P2 nT/ n 2P n X0P"H F I"_2 nT/ n T2P n \0P"H F I"_2N^NuNV"n nl n N^Nu nN^NuNV"n no n N^Nu nN^NuNV n2P nX0P/ n 2P n X0P/NP=H nT2P n\0P/ n T2P n \0P/N`P=H n0P/ n 0P/NhP=H nT0P/ n T0P/NJP=H nT"H0n2 nT"H0n2 nT/2n0n I"_2/.2n0n I"_22n0no2n0no F` GN^NuNVJn g/. N\X`/. N~XN^NuNV n0h f/.NXN^NuNV n0h g/.NXN^NuNV nT0P=H/.HnHnN C0n2AT"H0n2AX/2n0mf"H F I"_2A\/2n n\0P"H F I"_20n/HxN@P0n//NP0n/HnN(P0n/ n0h /N@P nC n0hNbx2N^NuNV/. n0h"H0mfNb"H nP0P"H n0h$"_2/. n0h"H n\0PNb"H n0h "H0m"_2N^NuNV/.HnHnN HmjHnNLP2n0mf"HAX0Pn&2n n\0P"HA\0Pn G` FN^NuNV n0h=H/.NX nC0n 2 nC0n2Jng /.NXN^NuNV/.HnHnN /. nP2P n0h$"_2 nT/ n0h "H0m"_2 nX/ n0h "H n0h$ I"_2 n\/ n0h"H0m I"_20n`r n\/2n nT0P I"_2` nT/2n n\0P"_2`f"n0n2 nT"H0n2 n\"H n\0P2`8`4Nb` nP//.N2PN^NuNV n0P/Hx nCNb/"n n I"_Nb////N  n0P/Hx n CNb"H nNb////N N^NuNV"n n o& nCNb/"n n I"_Nb-H n0P/Hx /.///N  n CNb"H nNb-H "n n0h"g0 nC" n 2 n0P/Hx/. ///N N^NuNVJmfN^Nu n0P/Hx HnHnHnHnN P2n n0Pg@ n0P/Hx n0P////N C n0P/NXN^NuNVN^NuNV/HztNGPN^Nu[3][This facility is not|implemented yet][CANCEL]NVC0n2 F=H2nAl,` 0nRn`C0n"H nT0P2`Hx/Hx0n/N@N^NuNVC0n2AT"H0n2Hxi//0n/N@/. A0P"_2/.AT0P"_2N^NuNV/. NAlX/.NAXHxn//0n/N@N^NuNV/.NAXHxo/Hx%0n/N@HmNAXN^NuNVC0n2AT"H nT0P2AX"H n0P2/.NAlX/. NAX/.NA*XHxy//0n/N@HmNA*XN^NuNVC0n 2Hxz//0n/N@N^NuNVHx{//0n /N@N^NuNV/.Hx|//0n/N@"_2/. AL0P"_2/.ALT0P"_2N^NuNV/.Hx//0n/N@"_2N^NuNVC0n 2Hx //0n/N@N^NuNVN@r/.NAX/.NA@X nCZ/NAVXHxd/Hx n 0P/N@/. AA 0P"_2HmNAXHmNA@XHmLNAVXN^NuNVHxe//0n /N@N^NuNVC0n2/. NAlX/.NAX/.NA*XHxmHx/0n/N@HmNA*XN^NuNV/.NA*XC0n2HxHx/0n/N@HmNA*XN^NuNV/.NA*XHx0n//0n/N@HmNA*XN^NuNVC0n 2Hx//0n/N@A0PN^NuNVC0n 2AT"H G2Hx//0n/N@AL0PN^NuNVC0n 2Hx//0n/N@A0PN^NuNVC0n2AT"H0n 2Hxl/Hx0n/N@N^NuNVC0n 2Hxq//0n/N@N^NuNVC0n2AT"H0n2 G=HC0nRn"H nRB @2 g`Hx/Sn0n/0n/N@N^NuNVC0n2AT"H0n2/. Hx'/Hx0n/N@"_2/.AT0P"_2N^NuNVC0n 2Hxj//0n/N@N^NuNVA-HA-H nT"H0n2 nT"H0n2 nT"H0n2"n G2 nT"H0n2 nT"H0n 2 nT"H nRB @2 g`AC A 2Hx HxU"nAʓ FNb/0n"/N@N^NuNVC G2AT"H0n2Hx //0n/N@/.AL0P"_2/.ALT0P"_2/. ALX0P"_2/.AL\0P"_2N^NuNVC0n 2Hx //0n/N@N^NuNVC0n 2Hx//0n/N@N^NuNVC0n2Hxk//0n/N@/.AL0P"_2/.ALT0P"_2/. ALX0P"_2/.AL\0P"_2A0PN^NuNVC0n 2Hx//0n/N@A0PN^NuNVC0n 2Hx//0n/N@A0PN^NuNVC0n 2Hx//0n/N@A0PN^NuNV/.NA*XHxrHx/0n/N@HmNA*XN^NuNV/.NA*XHx 0n//0n/N@HmNA*XN^NuNVC0n 2C0n2AT"H0n2Hxg//0n/N@N^NuNVC0n 2Hxh//0n/N@A0PN^NuNV/. NAXHxp/0n CNb/0n/N@HmNAXN^NuNVC0n2AT"H0n2/.NA@XHx/Hx0n/N@HmNA@XN^NuNVHx//0n/N@/.A0P"_2/.A0P"_2/. AL0P"_2/.ALT0P"_2 nT/AL\0P"_2 nX/ALA 0P"_2 n\/ALA0P"_2 nP/ALA0P"_2/.ALX0P"_2 nT/ALP0P"_2 nX/ALA 0P"_2N^NuNVCA"AX"HA"AP"HA"AC A"ACAL"N^NuNVC0n2AT"H0n2A\"H0n2AC 0n 2NAA0PN^NuNVA"psNBN^NuNVAX"H n"N^NuNVAP"H n"N^NuNVAC n"N^NuNVAC n"N^NuNVAA-H"n n"N^NuNVAA-H"n n"N^NuNV/.NAlXN^NuNVAA-H"n n P"N^NuNVHm.AF"_"A.X/AN"_"A.P/Al"_"A.Hh A"_"A.HhA"_"A.HhA"_"A.+H*Hx NNXAB0 @;H( FN^NuNVHxNNX FN^NuNVCl0n"2AlT"HB0. @2AlX"HB0. @2HxNNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVClB0.b @2AlT"HB0.^ @2AlX"HB0.Z @2Al\"HB0.V @2AlP"HB0.R @2AlC B0.N @2AlC B0.J @2AlCB0.F @2AlCB0.B @2AlCB0.> @2AlCB0.: @2AlCB0.6 @2AlCB0.2 @2AlCB0.. @2C n("AlCB0.& @2AlCB0." @2HxNNX/.ATB0 @"_2/.AXB0 @"_2/.A\B0 @"_2/.APB0 @"_2/. AA B0 @"_2/.AA B0 @"_2AB0 @N^NuNVC n "Cl0n 2HxNNXN^NuNVC n"Cl0n2AlT"H0n 2HxNNXN^NuNVC n"Cl0n2AlT"H0n 2Hx NNXN^NuNVC n"Cl0n2AlT"H0n 2Hx!NNXN^NuNVC n "Cl0n2AlT"H0n2AlX"H0n2Al\"H0n2AlP"H0n2AlC 0n 2Hx*NNXN^NuNVC n"Cl0n2Hx,NNX/. ATB0 @"_2/.AXB0 @"_2AB0 @N^NuNVC n"Cl0n2AlT"H0n2AlX"H0n2Al\"H0n 2Hx+NNXN^NuNVC n "Cl0n 2Hx2NNXN^NuNVCl0n*2AlT"H0n&2AlX"H0n"2Al\"H0n2AlP"H0n2AlC 0n2AlC 0n2AlC0n2AlC0n 2Hx3NNXN^NuNVC n"Hx6NNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVCl0n 2Hx5NNXN^NuNVCl0n2C n"Hx4NNXN^NuNVCl0n&2AlT"H0n"2AlX"H0n2Al\"H0n2AlP"H0n2AlC 0n2AlC 0n2AlC0n 2HxINNXN^NuNVCl0n&2AlT"H0n"2AlX"H0n2Al\"H0n2AlP"H0n2AlC 0n2AlC 0n2AlC0n 2HxJNNXN^NuNVCl0n2AlT"H0n2AlX"H0n2Al\"H0n2HxFNNX/. ATB0 @"_2/.AXB0 @"_2AB0 @N^NuNVCl0n.2AlT"H0n*2AlX"H0n&2Al\"H0n"2AlP"H0n2AlC 0n2AlC 0n2AlC0n2HxGNNX/. ATB0 @"_2/.AXB0 @"_2AB0 @N^NuNVHxMNNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVCl0n2C n"HxNNNXN^NuNVHxONNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2N^NuNVC n"AX"H n "HxZNNX/.ATB0 @"_2AB0 @N^NuNVClB0. @2AlT"H0n2AlX"H0n2Al\"H0n2AlP"H0n 2HxdNNXN^NuNVCl0n2AlT"H0n2AlX"H0n2Al\"H0n2AlP"H0n 2HxeNNXN^NuNVCl0n 2HxfNNXN^NuNVCl0n 2HxgNNXN^NuNVCl0n2AlT"H0n2HxhNNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVCl0n2AlT"H0n2AlX"H0n2Al\"H0n2AlP"H0n2AlC 0n 2HxiNNXN^NuNV0n/0n/"nANb//.//NLN^NuNVCl0n2AlT"H0n 2HxjNNXN^NuNVCl0n 2HxkNNXN^NuNVCl0n.2AlT"HB0.* @2AlX"H0n&2Al\"H0n"2AlP"H0n2AlC 0n2HxlNNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVC n"HxnNNXN^NuNVCl0n2AlT"H0n2HxpNNX/.A P"_"AB0 @N^NuNVCF0n 2Hm2n A ICNb"_-H F=H2nAl0` 0nRn`CF0n"H nRH0@2`NONAB0 @N^NuNV"-*0<NBN^NuNV/-!NTXN^NuNV/./-!NSPN^NuNV/./-!NTlPHx /-!NSPN^NuNVHx$/NZP-H fA+H! GN^Nu/. /./.NO o nN^Nu GN^NuNV n H0@/N]X-H n`H G-H F-H`Z F-HA-H`HA-HA-H`4A+H!N^Nu`$NbRWA`/.Hz@N]P gB nCNb-HJg/HxPHxHz/N5+H! m! -H`/.HzN]P g$ nCNb-H nC-H`/.HzN]P f/.HzN]P f G` F g2JfA-H` A-H nCNb-H`N n"Ff*HxA/.NcPHx n/NcP"_" g AN^Nu nX/N[X nHh nHh nX"H G""_""_" GN^NuNV n C fHx /.NXLP/. /.NXLP n C f/.NSX g F` G g /.NV8X n h g AN^Nu n N^NuNV n Jg n R H0@//.NSP`N^NuNV/.NVhX-H nC f8/.NVhX-H nC f n-H`/./.NU

/-!NV8X nHh n/ nX/HxN5 "_" nP"H G"`^/.NRX g n/NcXN^Nu nP"P n hm/.NWX g F` G g AN^Nu nX"P nP$H PR-H nH0@CNbN^NuNVHx? n/Hx nX/Nc-HJo nC n" nC G"`6 nC G"Jf nCA"` nC n" nP"H G" n hN^NuNV n hCNb f nCA"AN^Nu/.NSXNbx g/.NRX g F` G g n//. NcP n N^Nu nX"P nP$H PR-H"n n  nC F" nP"PAm/.NY8X g F` G g AN^Nu n N^NuNV/.NSX g8 nX P-H"n nP P"H G  n//.N5P`rHx@ n/ nP/ nX/Nc-HJl nC n"`2"n nP Pl nCA"` nC G" nP/ nC G""_" n hN^NuNVHzNOX. H0@/NZ@XN^NuabortedNVNZ`HxL. H0@/NcPN^NuNV m!-HJg/.NV8X n h -H`N#N^NuNV/.NOX/. NZ@XN^NuNV"n nNb//NZPN^NuNV/./NZPN^NuNV n CCNb-HHxH/.NcP-HJf GN^Nu nR"HA  n"FNb g nR"HA  n-HJg" n S o nR"H G ` nN^NuNVS nH0@-H nCfS nH0@-H nCfHxI/.NcP GN^NuNVHxHHxNcPN^NuNV"nA _ @N^NuNV n Jg, n H2@. H0@f n N^NuR n ` GN^NuNV n H2@ nH0@f$ n Jf GN^NuR n R n` n H2@ nH0@ IN^NuNV n-H nS oH nR"H n R H0@  g` nS o nR"H G ``"n G  nN^NuNV"nAzn"nAam F` G g"nA IN^Nu nN^NuNV"n F I-HR nJg`"n n IN^NuNV n Jg@ n R H0@/N]X/ nRH0@/N]X"_g GN^Nu` nH0@"GW @N^NuNV G-HJgtHnHnHnHnNJJngT/N5X///HnHnHnHnNBt//N5P-H nCf /NZ@X nN^NuHx NcX glHxNcXCNb-H nC f A -HJg8 nCfN5CNb-H` nCf /NZ@X nN^NuNVJl nNbpN^Nu nN^NuNVJo FN^NuJf GN^NuAN^NuNVJl nNbp-HA- @` A @Jo"n S n"H G `4Jl nNbp-H`"n nJg R n`JgH"n S n/"nA Nb IC0"_ "nA Nb-H f``Jg"n S n"H.H0@ Jo"n S n"HA ` n N^NuNV nH0@/N[X g R n` F-H nH0@`A-HR n`Nb-+ G-H nH0@/NaX g0 nC Nb"H nRH0@"HA0 I-H`"n nNbN^NuNV"n F I-HR nJg` nR"H nRH0@  g` n N^NuNV n -H nR"H nRH0@  g` n N^NuNV G-H n Jg, n H2@. H0@f n -HR n ` nN^NuNV"nA9n"nA0m F` GN^NuNVHxA/.NcP-H nC߳f GN^NuJg AN^Nu GN^NuNV/.NbXN^Nu D @Nu W @Nu F @Nu " @Nu " @Nu " @Nu " ANu " ANu " ANu"_ g "fNN BNu"$ 68HAHBBHABA҃ ANu$ma`DaD A"BNu$" a A"BNu" j DaDDNu cPgc $BNurBNu&BCHCR(*$a.$Â$&HCHCԃb DbR`S`NuHPBAHA62HAB42HA6Nu$O?*NA @.JNu$O?*?* `$O/*?* `$O?*/*?*`$O/*/*?*?*`$O?*?* /* ?*`$O/*/*/* ?*?*`NV G+H!+H!HzzHz{NOP+H! nRH0@-H nC//NZP-H/././.N\ C!"A!r" nJg nH0@`R n`R/.HzHm!Nf -H`R nH0@C>f"R/.HzHm!Nf -H`/.HzHm!Nf -H`n"m!AlC!" m!R!"H n"/.NeX-H`$NbF H<^>``J!fHz1Hz2NOP+H!J!f m!+H!N^NuCON:WrawCON:RNV nJg< nH0@/N[X g nR"H G  nN^NuR n` nN^NuNV n-H/.NeX-H/././. NOP"_" nN^NuA 0g C" ӑ`Nu   $  ,04,044884@DH@DHLLHLLH .,!?:;_GST word processor[....................................................] DGFEHI#$&'*+,-45DEFGHIMNOQRS7:;=B""33ww!#$&'(*+,-/0124578:;=?@BDEFGHIKMNOQRS+z+,=,- -q-.?./ /x/0I01 1 1 1 1p1p1p1p12@233w34;445W56667S78889O9::w[1][Use OPEN FILE to create or|edit a file in a window - up|to four can be open at once][OK|CANCEL][1][Use PRINT FILE to select a|file for printing - remember|to use SAVE FILE first][OK|CANCEL][1][Use SAVE FILE to save the file|in the current window to disk|and to close the window][OK|CANCEL][1][Use SAVE AS to save the file|in the current window to disk|but give it a new file name][OK|CANCEL][1][Use PAGE LAYOUT to define the|page layout and the head and|foot lines for your document][OK|CANCEL][1][Use DELETE FILE to delete a|file from the disk permanently|to make room for SAVE FILE][OK|CANCEL][1][Use READ FILE to insert a|complete file from disk at the|current window cursor position][OK|CANCEL][1][Use WRITE FILE to save the|contents of the marked block|in the window to a disk file][OK|CANCEL][1][Use QUIT EDIT to close the|window without saving the text|and to exit to the GEM Desktop][OK|CANCEL][1][Use WP MODE for document text|only - turn it off for editing|program sources or data files][OK|CANCEL][1][Use INSERT MODE to show if the|text you type must be inserted|or must overwrite the old text][OK|CANCEL][1][Use FIND to search for a text|string within the window and|to move the cursor there][OK|CANCEL][1][Use REPLACE to search for a|text string and replace it|with a second text string][OK|CANCEL][1][Use REPEAT FIND to repeat the|previous FIND or REPLACE|from the cursor position][OK]|CANCEL][1][Use SET MARK to remember a|position in the current window|so you can GOTO MARK later][OK|CANCEL][1][Use GOTO MARK to return to a|position in the text that you|have remembered with SET MARK][OK|CANCEL][1][Use START BLOCK to define or|modify the start position of a|block - then use END BLOCK][OK|CANCEL][1][Use END BLOCK to define or|modify the end position of a|block - use after START BLOCK][OK|CANCEL][1][Use CUT BLOCK to copy the text|in the block to the clipboard|so you can PASTE BLOCK later][OK|CANCEL][1][Use PASTE BLOCK to copy the|text on the clipboard to the|window at the cursor position][OK|CANCEL][1][Use COPY BLOCK to copy the|text in the block to the|window at the cursor position][OK|CANCEL][1][Use MOVE BLOCK to move the|text in the block to the|window at the cursor position][OK|CANCEL][1][Use DELETE BLOCK to delete the|text in the current marked|block - permanently][OK|CANCEL][1][Use FIND START to move the|cursor in the window to the|start of the marked block][OK|CANCEL][1][Use FIND END to move the|cursor in the window to the|end of the marked block][OK|CANCEL][1][Use HIDE BLOCK to remove the|start and end block markers|and undefine the block][OK|CANCEL][1][Use BOLD before typing text|that you want to see in bold|and before a RESTYLE command][OK|CANCEL][1][Use UNDERLINE before typing|text that you want to see|underlined and before RESTYLE][OK|CANCEL][1][Use ITALIC before typing text|that you want to see in italic|and before a RESTYLE command][OK|CANCEL][1][Use LIGHT before typing text|that you want to see in light|and before a RESTYLE command][OK|CANCEL][1][Use SUPER before typing text|that you want to see in|superscript and before RESTYLE][OK|CANCEL][1][Use SUBSCRIPT before typing|text that you want to see in|subscript and before RESTYLE][OK|CANCEL][1][Use RESTYLE to changed the|text style of a marked block|to the style options selected][OK|CANCEL][1][Use JUSTIFY to show if you|want 1st Word to justify your|text on the right margin][OK|CANCEL][1][Use WORD WRAP to show if you|want 1st Word to wrap onto the|next line at the right margin][OK|CANCEL][1][Use SPACING to show if you|want 1st Word to use double|line spacing in REFORMAT][OK|CANCEL][1][Use CENTRE to position an|existing line half way between|the left and right margins][OK|CANCEL][1][Use INDENT to define your|paragraph indent size before|typing or a REFORMAT command][OK|CANCEL][1][Use REFORMAT to rejustify a|paragraph after you have|changed the text or style][OK|CANCEL]c <@ABC=[1][To create or amend a document|use OPEN to open a text window|(up to 4 can be open at once)|then SAVE when you've finished][ OK ][1][Use LAYOUT in the File Menu|to specify page shape and size|and head and footline text][ OK ][1][To set the text margins move|the pointer to the ruler line|and drag the margin indicator|to the required position][ OK ][1][To set or clear tab points|move the pointer to the ruler|line and click the mouse at|the required position][ OK ][1][WORD WRAP handles line ends|for you automatically at the|right margin. JUSTIFY aligns|the text on the right margin][ OK ][1][To correct your document use|EDIT to open the file then|scroll through the file and|delete or add text as required][ OK ][1][The cursor shows where editing|or typing will happen. Move it|with the keys marked    |or move the mouse and click][ OK ][1][Click in the GEM scroll bars:|    for single line/column|shaded area for window scroll|or drag the white slider bar][ OK ][1][Use BACKSPACE for characters|to the left of the cursor.|Use DELETE for characters at|the cursor position][ OK ][1][INSERT = insert line|CONTROL+SPACE = fixed space|CONTROL+ or  = move word|CONTROL+DELETE = delete word][ OK ][1][Define a block with START and|END BLOCK or by dragging the|mouse in the window. Then use|the BLOCK menu to move text][ OK ][1][Use INSTALL PRINTER to|select type (DOT or DAISY) and|the port (PRINTER or MODEM).|Use PRINT to specify output|mode and print a document][ OK ][1][Click in the left border to|insert or delete page breaks.|F7 also inserts a new page.|Drag the mouse for a|conditional page break][ OK ]1ST_PRNT.PRGDSYDOT, X(KZ |FP *, R >  ~v0@< @8,NNL84l@X,* lH .fB>nj"(T >:@0 `6,L|&2Z\fx& Rz2*6$, ,N( tVx:*D. HnT` l 4 T ($t0"t* &&$&   @P| b>.$ $p 2 2 4$ Zv   4 &,&(*,^4..   "B0..08   * *\\$ $6 T4*L.rPB&08.<(022$TVp,<~ f̈(   <2 *$"d ("2"p4Z>n0L^6&. & 2.$><^HR$ D< :f:8.l$ V : $VD"J@$(@V N 4 4 DP$"$>*L$ ".t.$(  n`6<r^N~.08$" &@"LZX>V("VF$:p^4 ("@ "0&&F0Ąr     "        42 .24" ((((*0222B2 H"B ($4  &H0$L0P6N22N>tt\"6(~J&40XFZ6D` $8>4   *4..$:2\&$$$$$n$,LBX$(*\N((Vj@&8@ v^"b ` bx@ .$NVrN$& ,~. *XTZ>"X* >r*"J 0~4X6@<6 2* JD""(l4ZZ:4 x~@$Pn0 Pn0T RB`& z $>@xHP]2(PqA TBfr0 LS@@@Bt~1C"zگ"Q0r@0agtRA8|lC@%P904`RA0|"@ Pn8zRERF0SDP0` Dlr4aRABm`SA`0<0| .` 116oB@`2AC"3 $R@|mNu "NEp0`xs0`~rPgpIPKP24s g*4 G`460 C 70"1 0"200 7 1 >1P$KP6s0f 7(50:s23 22P`HrC`Ft| q>< 5 (p zF"QBP(z:`EJAmM!f$0<9`0M Vg4rzAJM BVvEz(.E,z!@Vo8L z 0<|m9T$T:8 J:dQUITAbandon the current edit andleave original file unchangedCANCELOKWRITE FILEWrite marked block to filec:\abcdefgh\abcdefgh.ext Filename: _________________________XXXXXXXXXXXXXXXXXXXXXXXXXCANCELOKReplace?YESNOCANCEL FIND STRING Find the specified text stringxxxxxxxxxxxxxxxxxxxxxxxx FIND: ________________________XXXXXXXXXXXXXXXXXXXXXXXXDir.CaseMATCHIGNORECANCELOK FIND AND REPLACE Find the first text string andreplace it with the second onexxxxxxxxxxxxxxxxxxxxx REPLACE: _____________________XXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxx WITH: _____________________XXXXXXXXXXXXXXXXXXXXXDir.CaseMATCHIGNOREScopeSOMEALLONECANCELOK SAVE AS Save text in file:C:\abcdefgh\abcdefgh\abcdefgh.ext ____________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCANCELOK 1st Word ProcessorSoftware by GST, Cambridge, EnglandAuthors:Howard ChalkleyWill FookesPenny HallChris ScheybelerOKCopyright GST Holdings Limited, 1985Version 1.06 (UK)F4F1 BOLDF2 UNDLINEF3 ITALICF4 LIGHTF5 INS MODEF6 DEL LINEF7 NEW PAGEF8 CENTREF9 INDENTF10 REFORMAT                     ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~   File Edit Block Style Help 1st Word... -------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Open... Print... ------------- Save Save as... ------------- Layout... ------------- Read... Write... ------------- Delete... ------------- Quit WP mode Insert mode --------------- Find... Replace... Repeat find --------------- Set mark #1 Set mark #2 Set mark #3 Set mark #4 --------------- Goto mark #1 Goto mark #2 Goto mark #3 Goto mark #4 Start block End block --------------- Cut block Paste block --------------- Copy block Move block --------------- Delete block --------------- Find start Find end --------------- Hide block Bold Underline Italic Light Super Subscript ------------ Restyle ------------ Justify Word wrap Spacing ------------ Centre Indent Reformat Extra help -------------- Editing Layout Margins Tab points Typing Correcting Cursor Scrolling Deletion Keyboard Page breaks Cut & paste Printing PAGE LAYOUT FORM66__9901__9903__99Paper lengthTOF marginHead marginCANCEL03__9954__9905__99Foot marginBOF marginLines/pageOK_________________________XXXXXXXXXXXXXXXXXXXXXXXXXHead LHead CHead R_________________________XXXXXXXXXXXXXXXXXXXXXXXXX_________________________XXXXXXXXXXXXXXXXXXXXXXXXXFoot LFoot CFoot R_________________________XXXXXXXXXXXXXXXXXXXXXXXXX#_________________________XXXXXXXXXXXXXXXXXXXXXXXXX_________________________XXXXXXXXXXXXXXXXXXXXXXXXX PRINT FILE Print pages from001___999to999___999Page number offset000___999Left margin offset05__99Swap left & right headings onNOYESPrint qualityDRAFTNLQOKCANCELalternate pages?[3][The marked block is too big|for CUT and PASTE operations][ CANCEL ][3][Not enough memory available|for CUT and PASTE operations][ CANCEL ][3][Not enough memory available|to OPEN another document][ CANCEL ][3][Completely out of memory!|SAVE your file(s) NOW!][ CANCEL ][3][The disk is full! To SAVE you|must DELETE some files or use|another disk with enough room][ CANCEL ][3][Unable to read or write file.|See if the file or directory|exists, or see if the disk|is protected or missing][ CANCEL ][3][Block start or end not marked.|Use START BLOCK and END BLOCK|to define block position][ CANCEL ][3][Unable to REPLACE text string|because this would exceed the|maximum line length (160)][ CANCEL ][3][Unable to perform REPEAT FIND|because you have not used a|FIND or REPLACE command yet][ CANCEL ][3][Line too long.|You cannot create a line that|is longer than 160 characters][ CANCEL ][2][This file does not exist. Do|you want to create a new file?][OK| CANCEL ][2][A document already exists|with that name. It will be|renamed to "filename.BAK"][OK| CANCEL ][2][If you use CUT now you will|overwrite the buffer without|having PASTEd its contents][OK| CANCEL ][1][The block has been saved in|the buffer ready for PASTE][ OK ][3][This function is only valid|when in Word Processor mode][ CANCEL ][2][QUIT abandons the current edit|and leaves the file unchanged.|Use SAVE to save your work][OK| CANCEL ][1][Use EXTRA HELP to display an|alert like this for each menu|command before executing it][OK| CANCEL ][3][You can only PRINT a file|if there are no windows open.][ CANCEL ][3][There is not enough RAM|to run the printer driver][ CANCEL ][3][The file will be saved without|any style or layout data.|If you want to save the style|first select WP MODE from the|EDIT menu then SAVE the file.][OK|CANCEL][3][There are too many page|breaks in the file: the limit|is 256 hard or conditional|page breaks.][ OK ][1][Running out of memory:|save your file soon][ OK ][1][Running out of memory:|close one of the other windows][ OK ]N"bHw,sGr$)*+HIJhit $ %&'FGHa ,L bx  ,Q%%p%&'9<=>GH INOPYZ [cdeno pwxy        1      ./"0RS"Tvw"x""""*+",NO"Prs"t""""&'"(JK" }          2 a b |  1KLf "j%q'   # '%<  % $ X  t            ' $                   '( 8 T p$v '} ' #       ' !CM!C E    4   P l    # * 0L1 h8  >  "1, !#!$,!%H!&d!'!(!)!*!+!, !-( !.D !/` !0| !1!! ! P P$ L Q X  _ g o TP  v  "!  & 4 B P ^ l z      !  3#2 $ % &' ( ) ,* <+ L, \- l . | / 0 1 2 " C4B5 6 7 8 9 : ,; << L= \> l ? | @ A B 3 TDS E F  G  H  I  J  K  L ' M 4 N A O N P [ Q h R u S  C   UcV W X Y Z [ \ ] ^ _ # ` 2 a A b P c _ T n#&   @@@@  @ @ $          @@@@@\x          #" " L  S! Z"$)"% & ' ()#( '< Xt           )/ 36 =  X !`"$%8&@*4P8@2,-(sp) trap #1 add.l #10,sp move.l a3,d0 exitopen: lea inopen(pc),a1 move.w #0,(a1) movem.l (sp)+,a1-a3 exitopen2: dc.w $4ef9 retopen: ;exit dc.l $00 inopen: dc.w 0 test: dc.l 0 unpaklen: dc.l 0 mustdecrun: dc.w 0 magic: dc.b 'LZH!' IFNE SFIRSTROUTINE ;*************************** getdta: lea dta(pc),a0 move.l d0,(a0) dc.w $4ef9. u.. u1 DTA w-2 DTA {"3 3 DTA % 4 DTA ( 5 DTA )]SPACEWARPRG -VSPACEWARDOC M&ICE!-e8cưG/ #K?c2hp8xЙVgZq$- bPxOPzrxAߞL d xx2=@GB!U%( OVё eF9*:}߿ &M[AB@Af7@?A+)=:? 2?:2XhfQNܮ B <<;d?mY+y*uI/ZAGp.&fδ`U?N?11w{f X]2KDgK*glo !>w?U% s1xx ʛk5=WGwt(`)JP/U2H` N?M蚧 I3AV|'AlĤIœä p.deAAV,.`uL-Dʘ4`8 S%JoY/9G.4`A~L%40Jɽa9Uebm#^/ xѳ$'(,Z)`.xO9/.74 ;8EJ/?Q L݃e7Ȑ0:{^D_`{ %\'2WbisgyU<=9^<o[W{S .Ss{\g=S~ xM0GƧlD4~wwxA%VqR=7+lݲ n^7dx6O@_'~G Q /R <2vw<:We3]g"5 @M[AV@L@4R C#N@;PP ,։A<3}gD@ϩ0G/PB%qZXt i e`TY:nWr?^?Λ)` @1 { /KbY (3r{x7>~4 2J?V s1xxs\ Ce t% .Ȭ*8)¡#,7XAf7KVl!*` 4xH/Bz-AV Zv@ddnVǤPDZ%A6ԀF9o:x1x~cfc)JGA&q;|ArO+-"~4xO9/RMw3Ryx+}xL8d|??>B! xo0ўZ 6 #? {?1L1??d/ ߼A Bi `2=Ga~t?B?Ƀ,l2z{ pGBK(4F͈3W.;q|? cY-; <6 <-/[7Թ7xAL@|!@߿;p%xٶ/[ <;A@G AV4 k 'W~j^5AF 2cT̰i'9Ȉ Oxd0B1KcH(q ϱ0h2xA^Zel ^ Lk + B~0ԏ0dz #^& òkEa7Poր2;)R_b(܊gxbxdvlxcxFNxhLTIX#K%dY,,5Z|P53%,P>C>B6"E$YIZX{8{6 !8҇8k 6LyP,@8DHXXX\%XnaBzǙ3%qY:fx"QCp2X'!& J, 8Njp;c 1;X20QIj 5A&# Evb2`,s9̈́x fDn r' ?L0A?CH$ o@M%&g'A3R a2`Kd@8RKO>B,oAf EbUBEv KLrx? Mw~^x>o}E7{pu=^ .y u[<JHv^̮x;o^}esqx9o1mMwp[x$xZvqnqn$&u6\k^@ s4OHg<x3Ovm77f xpr~/ ONm#7#>dނ ss:2IwdF ;x0-<5 ~ ?>{̏~kf>Fy2sk^J@=.гYyx+!x1ncyu.^|x9o6}6q!x_8o iݺwtfn [x.xcx.m7_kr R xmx5Omc7K>i" cƒxz <99g xK3Jo,<99%dތ x 27<8'!bU ks1 o 4$ ;xS0<.c YO<0<) /:ijtd.F0蠟'J}8?, RXZq.  aqS7ɐ\3/H% DQ?Ddڇty^r]!,=98Y*,=0RH?|l{a$24?)}ӢF nvp ^_@p>?8~DL}`)dfH8+C*|0009?xGDFS<~p TXE~U&nd003%t\$y%rvls2/@)kD:cZOxni <8xBδ # P&vm\75Q' р5%&'fmn f;IN-%4 ލԢ=A )$| 3 60#KLdl[\_ӛI3t`9 t7,'8sC oOps  ? 8j?rw0 < =.:x7 /o {gx.}a Ah Żx= s`x[ xmxXc^ sD5.Ai ūx0 Q{  _:c-^^Yt9udֶ),)69YP8Em٩(Vx !,--'@GxšyW#F/yMfy+u$Ttf|;݃3 /6440GL |3dM {03H8 0{L|Xn4\D{{n{eQ̮3D ?̻NR&fHYH0>gH^HxMm0 ^w( 2`^c dl8`L2"3uc?_ >2,6x1>@zY> A"c"@#"w6?2pyY&z ٙ"NNJA6g|9HP?< NAPOAB a&MM +ЫЫA .GIJgrѓB(g<fG``GPN$^,,,,ܓ,,Cp$L(QGX /KN(K&YdB`BN/K ,HNRK&`:UgdCDE`$|a^g`|aVg E`&`| aDECI&4fLf&e|`@|a$J*g2P`f``BEg EQJENu&`|a84@HJ*fXF`.a2I|aʺ<m|ag |aEA`*`2P:`aDgt@IP$$Q` f&ed&fg^|avg &CrtfTATAQP`Q|aJgCpQP`QBC&&H&&M``NZ,Nu ``````Y %ATOMIK v3.5 by ALTAIR VMAX/MCSEQpS~P*O.(4*b-@( ۺJ% ltJνNA9"/1N-B 爨i,ÀS wF,H2'( 4e#x,v[0L +nU N&1p4!$utrF ā#-/tz׃Ȗ_lND #O |EHrEH|!{#^xTW,vIxIH0 ^E7 nd4^c@F@eP(x B0~|H%nh$,dtfu@'|TRYAi8< ֣fp) ephD:hrK#PKpepet4=IFF\+Dp?Du9;>Tsq5BlxڢG$r}rD-fFQ#A@X-D!*MLw^ʁ:Qf$iGbv4]]H0.ą ǞG H`B(t B:*/>BA. vPШYM™BPxSK" h׀xu{HQ<"Ab]y:qFG@+G2h`!tQ51$I 9F&A:A vrs>+ CNkSHV }ZIsԹIfP~"/Y@~[*Hzl\ն##Iu5d/*pc_IbS7F [ܿVacׁ+Yvh*Zy+ yjL(7tY6eD!G +Xƻ+lE{E$X&dq *T\3EN JL Ar/5_ay청A *omrKC'6$Ey&>9 e=Ȕ៲B Z!=?҃.o'Xi>Gk5FGZiP: "t͏#cDd;:v^#ϥXx7`HFUPYO= &P%Hㇰ tS W6O`R6+6RA H7 o {CHUV5#?z Q݈N3,e23mZӁh 0̇d<(F:0$9Q[(Jz5"#" AA> UpRC$T@DUK*.'KL5M)@EEeJd΁P F1 @N \$ 3>Mfck@nFHQfeKӷ@;n?1i_:VJ ㎔7HR,Z\T$^1 V3L [ꕋxp"4\`EW ^HOF[([شhBKȹiFw{b }mB 跏D!tCBR#;Tw)(mm!}Dq $@{Z`:w݂@p-8\:E$D0Jخ=/|Xp&\؀'ZCBf4e#IWL1"6@.\b > 4XHEdKi ]oHJ ]h;6NƟ%dvcD9I@D);nzc!4V،ccTX %eWdWHR *Gb"I$v,v .P7l@DD:**ꏺ^lV]ױZyFlLviV4#C"@EOht>eb|'94!Z 8f* :I#f@x)E"\GF,4\ڰ@Jg#3m،R'nmi{'SO;ѲŭPFKM@MipN+r ujtI-ASp/ Ԉ._bE@#JPN= r7@ H m+@t:!a`%PK2DYz.pIm|ʋu&AvM߁o%UZ$o&AnР %[+CQ RËD Frm< "AdIrA_ P&"o8 nJ( [@g, T,.P,GHJzh]o>^ 叔-k @XhgJPa- Z jDᙺ}ی#F(VcSuM ay?ׁׁTI&gys)`SpB-ɲ`Ehq\rvx3o| Kaj[ZRš#TΌX|N9TJByR +1۳Z0bꑨ]0&#4/':QsA/t[";G=1SQlBXc#o ّ ܄Rllba I U$ P(:'1Ft…Sݦ=u [^ sfhI-ǎb֑@UT`J)x`LD`\|P1 a&yJO1R{/z`<9S @QZ&?sNg`m^hjϞVy$&W8j3BD0`L  aL@2*RD܊#yoGpJp@E 2 $ 1sE)[с4 XΤ\Ou(h :y׆rMut0D$ IB{He ~X6p² 2]G: |P+_pc@88ŃY\'bD;&aO5W"Jl Z#Ȑd G{ud}' 3 THurqvpvP?P C㴉 ~O#*íV<&JN@LhLYk QŽ &\#c<*Up!& U#Z>NT_A@8_ q!Z Z+Vr}uUIeQ#X ylPJhz@zQ@(8t U){x2)f-|~l |T~=A[Nz=AEQgv <1;8 `B͐"rC3`E }h -<B}~~n9wBB~n!<<&gxApdGc {y{eyc{3]̢Gb ݝx 4<7zx-D@e/ (&YBxm-`@8x# 9//@Z8"ݻ"Db80*?/8A /kl~- .@." ?pWn xn -?o< ߸G Ga(QyoN, Pn^p^ex K'BֶBpxm&Тq p2w"Wu,;h1tmJ ~dy}n@@}lJJ}10#@1-sB8RRsΠ|Cg=G9|dڭm%)$Z7o((Zl'))n88kl 5||v7*x@Hϴ0`05ppw6/># !,! u, ?,qa'mk*7YեiYZxAk,Rm+,Ԁc-^-$Z5KZpm Z# c֚ XyxA ^P3 umxA^Txr{݀ ^P*9Uj0 UTW H*P_< 0@Cex Κ8끷Umf|?w۽YݻYϡ܇`$^yÛuo5C}-*Be^ ] y9O=xA^=0g^ #^ ͆dv.'ڠI@n 7`` b ?@|@`sޥ YXeMfa2c+5ɌUd#3VyYXeCf2[&Y06ai|aUX,aAX`-X`X<`X-2~<Rb!f ]ݳ F{Fy[C|KDr^ +xQ2G  ~aL^ o *` x @&b[k3[G@o}̚C h-L" AHA]9nH"N(w҇x`@{g&@4\opbl=- B[| @hL/&Pks_PmvPntOޜxUW:+6g^c;_ec P)xAK^c 0Ac""25~^ʺϸ00 o2/ zZ zz2V[ G ?? 1/\_^c Bhc BhOBf4x\xnV<1Zpqx-,ivwдs hйtq ś  5ئat7Çklx{xfC T}x9s t[x]ƂC\x>BE[fD@[-\$u(14qvu&Њm m ͡v? ?q >[* ߯ ?HfK^նX;b4h@Lw{56L?4>mvy +@eֶ8]F]O Db# 8`}'cgd d xa /$ D{3><Ç=n@(YCn('m( ۀ[$H@-#O@ᣌ\\^ybb!B?B_B^BЊp BYxk1}/<_^m B}pc~~};/@}FBB~Hq<%A6HK /7Ju`Bz^/'L$LX,W$W(JzMl>nlgRnzeQ`8,v 4v`"a.et8 |gX8JA8a>RRa"J!Q`t"xkr`2RAISA zSt6fN^B36,t`v`a:&wKg&pXVOa=eh<]BP @H ~I)zJeAL3J9V9`#Y9`993("pIab0g3n%)D2-*X#!02?:Nm( ͨp@'N.s-+%ۖnel+xJx&3Az?_4ye5MZ-jm"ڸɀWeBe<4;S%ƕB%gJZ'>ve`zsP{jєM,7ǥ 9O,KY'|˂x1o vCxB'6(c0o%e2ĸ38؆% pM@[$[Ck9x^pcjxa0 Qᵡ Ծ`'\&IL x4xOL,֔q& [xi0.=f}7xABߨi W f#;xdd `LLJ(w [):`^&^ x?x ƴqx[/ /Inoo /xAAvta0o pqA ^&" ^V /o/#Ur&A\!%.I`^sہ]xjY뀖xxa0/'x\H kh Ro/᭡qxx4xK /@xxxx'1/ ୡ#xAP:ZEDf.)w+2r`(#%^" ,@CC'؂ċH7|^ @D7.WFHG/o/ o / M2`&##?;[xo`xA @>@؅ň׈ƅW H a ,@zBxM0/A-r!}F@@$T62.D3[xq\xx4x  /o / IUPA:&:({؆ȂWx A%o o / oo%oo / b`9,?,D,F-@p>h@;")J389&|lF7*{nL02&Py2Zܴĭ~̬&96]AVae~"4)Pb&yec\ gܬ xG46F&;N_Iiiĝ6೬0qkǚhpn>UGS(  l)Xg0{+ xM0/oE dƉT.MҒMXggJ7 9TQ$0?'JPh`]'^{,u!;5d`פOlP`v3UBʺFG$r 7Zpsjxa0o F͸؃gLiKJA~H"C ,ـ.6 Vb\&ALsoxZTHhQÅ Y@8\&^ILMx(xir# =`b ̩}…07cX#% p'Bb 0\'&, ;=xϔH`vHVE\Brxa0!Ȇ4H))܅A\(T瀚rx'xxm0n.ÓqAPbERYOxx xS^PdTx31//N >.u"eR xA]'wDŽ6Y(-`^$ ^^^^&^  PN o o O ́<)@{I<:wO^QypFà tjA #R\;1xDlPxp#/ [iUg 9 `#@G<t Y -yьxs-1 k`d$|@t p#$/ xl d< / ;{,(y8G^{^ KP^=p- Ey,y4m$"/ bYdd#(l3| d}yA\l@zZ!8GwH%yaOr٧:. C u- xAv\ . Yvٲ3 !yx>y*^=+q-3itNy>XȒ=+q1}z@ zZ#/}o)xAD(w|׋a5#h 1^ y$#z倀֝}슼0 Y6u猼 syxAvHWO|qps?^kȱ~,PypG^ 6(8"yA\#J/Ix&<~qu0/ O{",@!  @---------------------------------------------EXITPacked: Bad: |{~>=||=>wo|![9JuNY YYYv/|I˭uxtN8 > `ZA ѹ<:`O9:F@|%>>q ./L<,Y8;=9w,΀x|ħ pytAN*1Y7xp.ˣ F*c,~WOwAv)Y>xvyn^|de ޝ)Y0_bU,0,c,cP<5 lc/gY ` `Q0K0\T+EăuAph8p3ފ. SZs6A1x ApAx8A0s8.0@`#`Y6YK! ood?ddg'TY  gggg_lgs,,, xq NA-`)@G!4CE0^]`ăwK*h1/kcKsAP~ %wY` .^`@=Y8#x)$y '@dpዧ@ ``&֥= `7 x d9YAxA0Ap?i.D$.<`?888 8?ij ,,q,?Sh](KI O`8aƳ00A Ԅu,  c gY0Eй P3;rd]p`p`9ytBp@ `], ~O3]ppp ,?b]df(8Y`qY0xA3 ? 6` z p.0Y Y3Y?px*rytA60AaA A8A(838 818/..?8888 1b `0N Y,,,,〃,   0|``.Uk9H ?0 <k@C@Ƴxd&x8ODigp/fO(YOBSx~xA$eźD{̈́2W?an,^@kߔߝ4C[7~`i`.zS xj?e$xoxW6 Z$75>{@^{|3Xwa ܾ#@7x&N ~ {>xPOoE<8.UÂ< _$B- [:jv(y !8M:n V$ Yn C f6 Hs)ͪQF Bw@ԫiz t޴̱obf~# ,4Zu4atIfh)؜5ش*δ36Bx#[BF:5X, ZdEo G%l U5Q,;U$Jl3 Pa7L!sܒ&谻j9f<6Vm)hg Zum HgR44*"kB,,Bxq^/`'= g֖P[* 8m,>E2*6BdolpS'l%D^ RW̢yng Z>7jU/B>mzG˧;?2pHHDB: AzJ 7Ȉ&CDO68CD:<EF EF1C eD1 m ֠nhZL3K4Z #3\#Q `P(M<(NqF۪Bu qd H3t-|=D@E&"҄&($Ԅ҈Ԉ)A/)B$xxȰL5lιIxalޞ0,̙9p9Mf܄I썩֥x_-;-a" j-Q?=i :TLB8 #jpK]^*--R a \rTޚ79'nYg N10cgv#H9cQe l[:|dKNK3`53B(ol*xY/Y&, jn紺 Ҁ k^0w@ h-*EZpn(J 'RE#Y2yH2 F9<(IWfvz hC0HHЀҁ^ 0"0ҀKuF@DAnXLjE$\aEF}o ` (XEF7%TY$k11AsV:<1YDm 1E?1Fxۀ|mEaDN@u?#;Vp,uhu]XgZu Σ7sY4xP>xX9g,O5<|>QBݥn `L y>8NY$JGw*&J5liЇ4xx#E+9sĹ.\TGA)( "9`g( g!wa/z$D&QY5"/{x-t릅yP $\Bg@.* /?5sfswbgc23i f40N(\F6)l +.czB0y2+L(du:,v;Py1KHn^xIxw02\b\oE7H#NNP";a$|Nu7"7*RTP=h"h$'5ASGyGAOBAmAJ@l @o* >YnGO|`DlQFFc rm pDEHD HE8wHFHGxߜ#Dp@?ҁ9@l7m +no7P SBv6 x8|:CEz:A<CF|<>CG~>XCHAQp/FWH"'}VxKE森XF?fjnva6d$ 6EαqH@z!KLS@ xA]B0gΜ'8ݺr dXHx1gA,UЖ*H92NE4Od\>@ $g =E":ړؗ$}((? kG NAXJ _f-:z^RXv z0.,+$HFGEFG:<w|bEb2lFah ICE! Za\KaV.(I,I&NKHT,K6zd8><Rpdpahr>|8#z@<`EBDCQQHQrxo@Wa*d"f%Ata xeka|AgvtaT)1 HaBq jD`rptadpt?aBC@!Q=RQcՌk/ ^Pn + o3E`6^}M&laT jHT&PzFK=`M*t9l`Ix W@SV@ x% x̼& ˀp[`.`0&,pNn tfT@nM!JKspVP*;=@PK: .w'VfiP]I:,A=37"bUc;s"ذ V;& s[K0"Fg/e2̜2Qf (Qb2O *mDO *m;#9mI/%.C.Yf!XҘ`E^ z,S PF[YC\ FVm26QXvJ.Jl<&P=|}jY.S1d6kh 780.jGu6JwE2DȦe2zo - G'oFU<8å.[pD0L=p L=+՘ҁuycl2%­PU`::Z6-G[fx?L.O."xuNvi4lsݹ4Q6" i8.w@+<@ #seVnW<3oArp##|L< L [vLY"s!,*]ڒ-Yel-2a d;]Z̖sR`r'>:+0.*~xr#"҃' &M&ZKG(?02H13-xC6D)(!6*< :-H҅iM0*ЄЅ4M"q(O<2U|L fU[nS`f L:̷1jo',+(-k3^927^hv| # +BlNȉ0@F'BPm q ?1[bEb>24A F5,"h(v4 DCo΂  ΂ Ɩς@?jV         ԁ2 " ?&?_ @1h3 PU?DYw~e GEMDOsB`$$ &Kebt1ExitXlRwkl'7/+5dgQsywmWV Re(zcolTX ֑ c3':IfYFi9Xv[<^hlK/99s0A`I:J p3`pk@p;EoSpa5WB:NexGedBti| %Loadg2KCopyr 1992 p?ABy Hu"9JostG.pcss'nc'&f6Bob Melshh6PHgr1Few. Nծ \ Salt;SAjoyLThW*  B('3@;2& us*>F}vكyqjc^]]`elt}螖@}^lf_XRMIFDFIMSX_5 n}`nkihiv{xnfcQ:*""&*15>@ 2xmy2|G3rja@?93/,-.147;?@CGLQW`h]+Kytrqrxox~snga[VSOMLLMORV[_dipv&wpsZU^<9FNUX?LGEB?BHUdvսĿ|`JDGQaspYB,'%;Smvi\DQ_hbV:/(#I_Uba_fkptw{NPzxvtsqnq`z|}~~|{[o|pskleaevohWPNVdyɾ~tj$e^kryswXA  -?Rdpx||{{'ĬzZ@'$x38sϿĶfP6# ?  %0E_8Tvlkռ䷱yRz<$,+)8/CUl}~<Jļȓagwz}xaqxH*"2/)&,2>KWgwɶweQ@2(  %()@-KWb۪x@;u9DGrH]q}ZĽeeR4'((?nTKvE~I^B04))]uzcÿǼrdZQ8RUPF960'1BEB@=:89;=A@A-T77>H[nɻR\S>/<(+,.9EUiOXTvme[N=FY9*yL4U6,;WS[\esxYsiеüjP5 :#?c{QhH-.kҴjZNVCN:BV\^bL6%-9CBW;vjtk~^K<-$0;CLXKGlpi_3OMz1CO0pr"m$'+1$&gflbƮkzreuwxfxo YVQ^tpwzzpusyx{ysonieeZduurYBgnw^`QJD>952-+((2 $ SPXkX1=ȱxgUD3-qu.B[kҹv^I5_%`?GBZsj|@AMϖ#,7FUg|̮¦t`I4q')32;ACUWqgqw鏡-7Ѹ]so`RA6,$# "%*%2#);ZtM`JXLUvgVaTppljkbN@0(/$ /]ƵvP_[1\SXVOMDboʥxj^jQD:+ 'q3F\mʲʐizS@-098837=<:?<2.--/3:AGQWccsug}yܻʨ?yldnyj: { 7]hӽz¤lW]LBL? 0g7awҰXElwwyp@j[MvnŽĵ)"]krlh`j}6EN?RJ]|woXH{ Ŕyh_`]ilsq~ueUG5)!!*6DVix¥ĞخΘd_}ngo|ôy_l5;.$%616:,#'EXgqdQYc^`egimqxwčώo\ql|vur^Va_]_8WD6Q;{ȴȫpkUB-' ,,5:PQU`: 4+Uzfo?+ҼjM,y<&)=_[\|paUKB>:7J3"CDseomgc]XQNKLKgt{ʸʹpbP>B9@Na;@OUb^__`_?WPE9..) :_Ԭ踌`m6o /U=; 귫pemRD''1[mmnL>4"4ko6?Mo~xQ=N8/%AbѶϴqW=&  *7;86J&GSuxȳ~W}sj`XS<:,'&&!!?}|TNL^\P@1$ +GOe?~H>Cm{x—scQ]D=*%(0=FIGB>52WPgڵ!tf|^8<5[x|̬kHA +6EZOX^-Ԧpqo'3EhB3leTOʤzT":{_-CkST8FKMV_q|帠vL-'4:91ﯰ (?]yt겆XD9E_oy|庅LW#vP<.c'loCf߬r\H8-ADRRgoH\:,LuĿ~ٱȥZ8ɿ# 5HYnt~fhL4x #/7AQixcZgOx|OuαdI-&WrGW0}뷍ǻquV{ºw\7}:e^,ʴPMfzAF_zNTcʺxtlaP4@+i %;\SO9ȤfN@69*!9IKNQHJZnJAOV ;_-;tjS輰|H<_@# Gǎ#Ĝ{`F,}o[cڀ ‰\3Od'=cQvQ߰nLޏECv»uXM5GoV ,-OSI?z?6B+q7vuZ4R]nƻ~~T)'_HWWhcij}˶jTC.bQwpw+tg2* .U*FGtzvipXF6G!+9GXfw.ẉtX;xCb0?Aco}peYRQ_oxbޭ"䴕j`ku$:`[d|G2qDIQ\njU;oȗuRhD>;K*(;i&#y8 /-l`ʀʉ^' oARw+xB)2U}һM[$]yO/_< t=./oZ֏ڹrP*|`Fw!/ŐUB1;*]uɾ^VԔeNq+W0ɱlXI=50-+ 0&N7$9-J@QKXaxx7uD 7c0஀kh FI?9ĹΙX< 7peV;5SXJfȿxP@8#"G@Vr?] Dl#W}pDާjk8Wݥp9"=wBwշԶĿvnG6 y(OH[oѷfL.!'5I]ygӦvWqaK}¸?I<,\ϺzN>cǾ'{F%0'%Jk} pzJF$?sԳ?OҽlB09Y|E30IH.7 %%&&.?Qg?Ⱥ|dQB92,(( "*S_uڶܰ¨p@)$GzⱯlV;#~㙀#]\ĜFyg;G'Ggho:'_ĺºx`x~rdE&  %Sno"IJ|jdRB5( ϣ]#+W}GВL_sZK, u3KaMB>o dĥYF9&,-2BGM>0JTW`JYNBIO@Wcg{ec]Jc{Ǹu`4 b^oƳwUӾ@;9[jojw{ҩtNGC:/n +CSfjmu v^#ܸ;͑|z|Z/ /! k@)hd(t Gu燗x䶀MH)WFVݵ|kRA0$DUlRL97EYspX*,w xy ։]=*~ Yؤd@ _׹ x& 5j⮂dN?.|x3EgV[auҾ¥j1( i.O]b̠n25'/_زhI9}0X 5[K9洢it]^gloTMT=A"!*%(6=EDB;?>9=Q_rڳklNB1 #_ 6]ʹNĢq_XZR3I<~h̡}P8* !9Qw# ȪxUQ1mF%&*A7I[q|vhbedH& aldRNUk_OμjD4*"~)%[jy˜}X,} ;/ &$.7' ,5BVrq{Zoe^o_rr{ncdmw1ݿ6W#Ӭ]rc0o  TGR5tkc_˼j\ymnd+Wt˳¨(;4-1$Sm}J<?HWgtʵ{P<-(W-Mk iL-";Uo ^`^: \.KYd~mCزi4ZLS &WzdlܩpZC/)ק;]ò^wlJ>3Gp'9LciO¯XTL8 T4 3rqjcػcڶnntPDE1,. -+*-=>AB?KZcv¿^~ifaSK:/ ?'?W`nK?²tiYF85'!;4/EEUgtvg[]lgRMNTNjmwxw {Ƹq^Q@<20453?L`#as{ovxmtw|r쿸1g_ovn+mgatxlb`]cZUXPOST]ZVHJVW_kx{U½|shf`rWRL5$')/678=FXk{wFľxhXD0)$  .BTcykٮ?çpZa\Pi_zx7yt\^THBBCLA:94<:DQXYzͺvkm\T4(! 4 2GRgg:y[N1ʾzmXF4705'" ,7?GSV^cxʷzrfVSEMGJJN_p\sn}xkah_dnqyznkqdjr~Z~{pz"trsz{}*ffrw~HЂ{zŴb|ql`QI9) ""/2CUjZ$`nbI:*_.?NV`k_ﺹDuoszst+?~x}v|ziE UHTLGGBSU^GsvA w tq(?jmxvwـvzx{t_||vf_MP=CIS[cfz{mbd^UMHMHKaAau扔;ީV]¹]ZYVTQUVVU\_boqtyqv|pjUTIKNRLIIEH776:L4Q^eolou|~_qed\WSLF?:90/&%/3063I26?O_so@­}hT 1*1=FUf|!Ƚp\F.$  g#|FWeny~̺fנ:մsyul`TONJD>8211i9>$->Ra㯘0jJ(y8 1YŨqbM@,)x $H]ui?vi\I9-"!$'*/9Aʟjy.ÑgعxncPEA23)>? (=ATR]i}~(ﲺ³\zm^TKBHHIK=1/4>HO'TV[]^onpquĺw{pjd_XQKF>:8<@FLT_it*t^WX.W{_\\ZRIE:96=ORg«kj\MD60'(--.4<.&)%06IYrg׵K\W9_ʶlh`bYIC0!%$ &;IP7?80,/7@Zgoqp{ǒzĸt{\3̯vb@6!E o(?FRl|¥lXNVhL<$S )*BGJh{׾Y7?xsla_jmSX[beio_|pYHDGGOegqyok~}fnseb]LF78LHLGEK]owt[rp`p}˼ɼ|Fgn30"*#7EOY?^Pkkrzykcbsw~\堗+X}>)yqljeZ]if`SF/2 ċgmU[.7xsoiea[V_JGc#J `gow?ۄrmhh^QIHNU]ys! [ntz ACFH-ov|3xK @d}ymig]ZXWT!QOPyOMLLMOSW|lu}fR̵+t-n^֑{qnf^\SVT]NGPůQ]t~TUWWkr砠ô蟇xfP@1)$$'.7AO]kw\hIȾuld_]Z[Z^ojbZhnx|yk5وzz)sf`JJ=BEHBDIDD;QLR*/i'|2ǽymbXK27<0  )/FTlȼŰlSA* 0<-=6HM[_hws{Ĺi[iqrf&s\3KFEKNPPMHCpBIUYalvOw=pcbdgmt޷n+bߡ볺~pkd[JD74)- "$&2=CPOUdnzC9v|Y߰~tr}?Xms+lmk^]UOJ?865;sV]dhmctň̷J|hYOOI_AK^NLV_bgkx{bWPJOTQNSMOK@??/*'-4=Wj{䘣}jfa^UWfmh]RTUUXT[dd?w ]!p!'yIkޑ'>h^c[go}tk}LJ„o{pcb\WNJEHJ?b^gcj|Ͻ}Bff fhwþYzrg_ś@?ACGASX\dyjjuj̰|OCpw{\~}❤ϠƟpWti[WJC:??<>BKT]o5fstva' hw_3oS93,*%(.,07;GUbqͿhpga]XRLLHDJNLPLMRWq(L2QcVFqFV yps96o$|hlqnzxŃr=-3N0Ӳpjlz|h֭a{g |vzº}:,qw|2:k`lzڄ|f^xxqkby8[{:<}/ J'EcQu]b_[UJOUZ]/p?lejwjc ?V"0d]YcmocFY i )lEZ%f1jot{)l Me3Bt`a`ZY[bl~-͢C(발%aow+qKinsvgY_z~t=Y|y~mފjL-YݰjNOwsrd.eyvhtj:qv~TSY042Vy~yjY{jefb`[]l@!iu~W.XsPY/ʢ3BcrM0cdZ_gmxռhk~VE'wVfK,rk~|w1tPssxzuwfZ3q{Zu}K쐊~w/m(-<0lkȉsQfȑxmXUPRUXYZ9_fklr|XlmH%&:H^ItjgdbdSE cOȌ9RڅW`t*+`^|VDNtłc3YĸǺ,(kihcd, luFK}O 8yScyzqb5@qliqw̃@~y%>Fg|e˻\hxq$ ghfhmsy|iyYOnr}+YLLY(2c+,a,av7ce!ArcRijn13h@:JzYurXêuve}ǕJ|ilhjd^VQMP/X\abgeou|^a ŧt!V1t+p Dqsqqfj,lKKDd>揂zv2^yuutu9F.3ǘEB_K]^XKr\Ih%%vXbȉxqQճ^4x"ҏjcbbcefiosw{~Ι2&SEhӎ`dl~cqt$w8dSz vnhXrzϸ} @ !": p#s twu͓Ǖn~xuanAknltXgimv +xuI6hM<cJ ,{ɹANE.`}rolk`^\KUUVW]cjrzDׇ pk ba__]ZYY\^ac ehmqs}sE@`b8rb#Ja 1qYu0Ժw)|R͈ ?yu]u$F.aŮb1,<qoA8&f]2U\E8@ }uwtqqpLopoTosrtsT %MF}" rK::mEhpgmd2ghl%hkS3Ҡ6?~|xh8cfhhozz嵉\mf|MxspnligNlnpr5{ykliijjkmmasK?rR{h*nVJ (B#ZHlW J`yl<PϹM@~6zyxwx#\S9`uwtefpbr{fmbongbgXU__kqr#ϋ|\rnߌ}Ul~wgs`U> $7SnzIvyWl}ʿm.vxpzrkhD@N\ӼĶlIBIVfp}vhKfjiUFJMSVϼ}krsy|uhZ_NMOz[UoֱxtylH7Tzi{7giv\N^kw}(iqXirmgo`5uzozĆZLJOW^`edbΒ`c[pxr7YQOVD'*?\|¶1πwmkltb:3eQmw`bmlem\]ixpLGUi|g]6&?^y~{cr :yVPZfɠ{wpX%tp<Gm<AOGDQcoyYvv|dIK\uͷrI?I`[Xfhd`hN@@GQsK<[duƳwofcck^pY&579rd^:%?t˽`A:Op]Kd[bC{|Cz񋣔a[VUUW[`fow$䟴QWgwriJ'Y7iդ0ZXPP6VtT|-/}xtwyzytnicbcg(~khIGO[iuvwq`R)XR>mP+A =N\n{ɩhSIJQ]js 'uqprw}~sP9+^uzxrsdEl^ewȲ{l]@%U'{p[UHgpnm``o|wsqrt[yxvmjjiT]XocmqtН}th_jjkpx滙lZ ;QanyĜ|s`xveUE('g}uZ*UY󒞩t]PKJLPV{̚ybMhme(^AY:%1_}n`SJEEIPZm|sxmcvxIaXWygqVjYQR[k{{pdZQJG@Imsx~Fu}kchg^i~{w@Y2M6BO?{ʶp|rQ.T6[5]n+[PGEK[fw𫮯ܨa m*y~3egnwh[Z^Vr{xcj{ksҠrmU@]`2oa;dn|ȊaMrzu/d`]_ep~_ww`\KY`*GhZ?gnc[cIʍuXB65>OcwrjEHl~Cp/N]DZbdekuzp\J;37FI\᪢~qlZR[yq]MDBHR`pݖtZhhedfjqczdc`dmvtf4jxmbbISiyдzbQFB>CNW_dgikmpt ǃ^q^effgjloiovj̨3_k;YͻκkP /7( g#J?gO F]??WgD$JU`wnMèfiw8SijpZ[+yjg{yxdxtrg Yhvyymsqqzjizgk6pam|p`ix _`m|n7lzmaq~"_dF~vfuhgl|{[ouzuv=q{qkp~sexponcnwmdqe|mrnylr{wdyme}of[Ðno9uqrvsg{y|\|D PJ3Sb8xɅ|]?sebuNb.x~ Zwj =s"<nz!녖~V,bXE&!VȘͫCTd*jtQbSW`|waux~!#9Rntjtzs?tsuyr=Ēqls{rmuzso|䍇s|z^Áڈ~t{sG~yrxqyrxr@}wqvwqɓxt|h`zI{zw`GNal}|~efv(Fwza2oQxJ6V~|[= @z~&w2:+`EuxĊt@b۔.~LF]0tju"}uDv+0Txy(z5]\dN{'Uy$m~ wJvj?H|!n^a}MFaH1. v% ^r5B/v j :gűr sl řdAQOWgp5 6{[Dlmaster zmr_wNk OZR{x}){S_swvukbaoq[z{Epxu3pwk8l`ckǾ``vwp}ms|zpls0`k(&t8ɭs5DSte g= z}UsxohmY_rh(κqylx}xny*vgwOgk0'.2g C]]uy]xynrnh6äo|lnTyYka`joi*]Siu5 j`v`pwoԐ]Hl{p&^[fq%kHq.uc}tKgٌk|0u}|om{zzvolxpgnM||dpB8wk&xl{s{ 'pvubww'l|ԟntgjqlt4t1swj"Z5&y)wp[8qx„uyhaX6X䞔Bqv$8{x'ɥ|[X;Εi}tEQy({|%Ep{)rŲ@ju}y~pr~xskv}?l}wGx|{q}ߘ%z1tx! vO{#󆐀jBM2Ɋ$JLĈK}iDg `y(Bxwi3z+fY]v{zzyw~|{̵pdMsYޤqv%yckz&V) BHd'cPnٳ)K֒#Fy1fˈ)́SO)B 8 AA\QH&X^hp'awfdhLD LАYU fK^s7FUC(*Z&jH>I0ӎDHI!9\̠~99$yF$Sas}l zy$OYyyu$Ȍ~IPςY[$NRсt#b -ڇ䓓i+C3(&`jNkbI ߐ8/)4qYAG;rqʏ|O}{ϟzeў5Lj Ҍ3dk{|ZpzX?3iPā/;4ȍ\&GH'`CR%.XF&Nb/z9zӂ|ӓ&3A)Xqr(s`b Ay">afA ]J8EN ̋PM ^)i/0FN+AXIw-(b}rNbC>B|nx|E(;}0XB~[X(c~@$ƀoPRA$dT#hFbI5ƌ<#2d8%XrÒ} 6~; 2X~d0}xDCDқ)]}! 0 NFxP.˰L CL&,  ?X0)` nj30 Xd4p.X0@ErxBJBSZQZ&dA V̄> &tL"K~ ~2~|Wd,EAjX)ޖh*vaʓS VĘA8ɣ (fK{BDB <QBx\X2GzJ}bR}}K=z{ |$1@ $ȃ© @RB)  @ܠt|{h|}~~{||~}#/0𒺬n^R AK겺)y"*𚬂/&ɪ 𒺪/f^5Y!^Ѐ%%xA^ ]Ѐ4SkYd5/+ +&K2蒺,. \KR*+&K蒺.nɪ`^Ѐd/h{YK h^Ѐd/hK`^S4 xհ/ %uxu/ xI] ^,K`^5,m xI]]RD4%uitI]"ݠͪb^*+xI]UW 𒺪6%ux/ xI]^,K*j`^RWAditI]^,K2蒺$. \ 2fUxA^ x/hk:XU5Y2]RW@W *Xde/ +xI]]..K 'c^RWB7`H4M֘E xUxMVEW /fU^Uxu/ &!xI] ^Ѐ &x5/ xI]^Y,KXT x5/+#k2ɪ𚬊/hxM \Xe%uYtI]:]RE4%uYtA ^M8WBdUa #xMVB7aJk CxMVEduxAޠ<x5xMV xUxMVMdxMVF45Y^-Y ,k*&+%k xMVDdxMV :`H&kj&&krɪ &+& Z&+% Z ~xxMVN45Y9^5Y, 𚬞/hkr/hkb S!.h; xޠOX+, xޠ/hcB  }`nO, 9q0 VY%ŢX9>,,e,oe @3^ 1C&l+HlBFI NЪb :1G*n 6 & 6.xḦ́\a& 0 6.U h!lİ,*=ig@Ša^ "7&2UvD,2"T"0&,h] ,1Rq]N`0!XR ) 2(P]Y2 H(‡(RDR$:({* \pn E6HFP td0BB8$}) `7P",RP:" , /؆    q do RUNS addq.w #1,d1 add.w d1,d1 subq.w #1,d1 bsr.s .nibit move.w d2,d3 .reps bsr.s .lead1 Get offset size. .rloop movea.l a2,a1 add.l d2,a1 Add the of SpaceWar: The Next Generation Copyright 1992 H.Jones,Derivative Design Syndicate "One of our games is both the same" This is a modernised, colourful version of the classic (some say the first) computer game, SpaceWar! for the Atari ST. It should work on any ST, although it has only been tested on two TOS 1.62 STe's. It works fine on a Hard Disk, as it was developed on one. Needs a COLOUR screen and two joysticks. It will run from Medium res okay, and restores res/palette on exit. A Roboshift, MoJo or other Mouse/Joystick switchbox is also very handy! The on-line hacker Jargon File, version 2.9.9, 01 APR 1992 has this to say about Spacewar: ":SPACEWAR: n. A space-combat simulation game, inspired by E. E. "Doc" Smith's "Lensman" books, in which two spaceships duel around a central sun, shooting torpedoes at each other and jumping through hyperspace. This game was first implemented on the PDP-1 at MIT in 1960--61. SPACEWAR aficionados formed the core of the early hacker culture at MIT. Nine years later, a descendant of the game motivated Ken Thompson to build, in his spare time on a scavenged PDP-7, the operating system that became {{UNIX}}. Less than nine years after that, SPACEWAR was commercialized as one of the first video games; descendants are still {feep}ing in video arcades everywhere. " From this it is obvious that this game is an integral part of computing history. It is also a fun two-player game. This version features a range of gadgets for the ships, not just hyperspace, variable gravity, lightsource shaded ships, a gravitating particle system, real inverse-square gravity (rather than some lesser non-newtonian gravity),sampled sound and a Duel mode. How To Play: As it says above, Spacewar involves two spaceships orbitting a lonely star. They each have a supply of torpedoes (photon ones, if you're a trekkie), and basic rotate/thrust controls la Asteroids. The ships are controlled by joysticks in ports 0 and 1 (under the keyboard on STFM/E's). The 'stick in the mouse port is for the red player, t'other is for blue. At the main menu it is the blue player that can move the cursor to select game options, or the cursor keys and space-bar can be used. See later for a full discussion of the options here. Selecting 'Normal' on the right of the menu starts a standard no-tricks game. The game consists of 15 rounds (shown in the bottom centre of the screen), each lasting until a ship dies. The score works as follows: if a ship is shot, the opponent scores a point; if a ship hits the sun, they lose a point and the opponent gains one; if the ships collide, no-one scores. After one of the ships dies, the game runs on for a while. This is to make sure that the killer didn't just get lucky, and really *is* in control of their craft. If not, then any damage (hitting shots/sun) counts as usual. At the end of 15 rounds, if the game is a draw then 3 more rounds are played. This goes on until a winner is found. There is no draw in SpaceWar. When the game is running, the space-bar will pause it. Also, when the game is running (not paused), Undo will get you back to the menu, ending your game. The ship controls (nearly forgot!) are left/right to rotate the ship, and forward to thrust. Fire fires. This used to be called an 'action' or 'red' button on some computers/software. I guess this reflects the war-like nature of computer games. Pulling back on the stick triggers a Mystic Special Feature - see below for more info. The Menu Options: The Menu lets you setup the way the SpaceWar universe works. Firstly, in the middle column, you can set how strong the gravity is. None is rather boring. Strong is very hard to manuevre in. Recoil, in the top-right, sets whether the ships recoil on firing a shot. Off for SpaceWar Classic, on for a bit of a twist. The Features column (left) sets what happens when the Joystick is pulled back. For SpaceWar Classic, this should be Hyper (as in Hyperspace). From the top these are: None: Does Nothing (what did you expect?) Flip: Turns the ship through 180 degrees instantly. This is a handy for some nifty swerves, and for firing on a pursuer. Hyper(space):Drops the ship into another dimension briefly. It reappears somewhere else, a split-second later. This may dump you in the sun, or the other ship or a torpedo. It is also worth knowing that your original speed and direction are retained. If you are moving fast, Hyperspace can be *very* dangerous!. Use with caution. Shield: Casts a glassy shield around the ship. This repels torpedoes. If you hit the other ship with it's shields down, then you kill it! If you both have shields on, then you emerge unharmed. The shields offer NO protection against the sun. You also lose control of the craft while the shield is on. Obviously, thrusters and guns can't operate from inside an impermeable shell. The shield has a limited lifetime. Use with caution. Retro: Gives an instant backwards blast of thrust. Handy for fast escapes and avoiding the sun. Could also blast you into the other ship/sun/torpedoes etc. Not altogether a safe option. As you can see, all the gadgets have a plus *and* a minus side. The more powerful the gadget, the easier it is to be burned by it. In 'Normal play', both ships have the same feature, decided by the menu selection. In 'Duel play', a special screen appears before the game itself begins, allowing each player to choose a feature, *without the other player knowing what it is*. The tactical non-use of your 'secret weapon' until strictly necessary is an interesting addition to the game. Also, pressing Undo on the Menu screen will quit back to the GEM desktop - or whoever's desktop you use (Neo,Kaos,GEMINI(yay!) or whatever). Special Thanks and Without Whom: Bob Mellish for Playtesting, Stars, and a friendly HD! HiSoft (Devpac ST - The Best - Looking forward to v3.0) JayBee and Roy (CrackArt - Nice one - No Brushes/Brush Size ?!?) Dave Staugas and The Delta Force (NeoChrome/NeoMaster)-why didn't Atari take the Master on board? GFA Data-Media (GFA-BASIC - ta ST Format !) Tangerine Dream and The Orb for calming sounds. The Prodigy, Skinny Puppy, Slayer and Motown for exhilarating sounds. Warren Long, for using up so much of my valuable programming time with *his* Spacewar last year. The PDP-1 Hackers for a Classic Game Idea. Axe of Superior for Pack-Ice. It has saved me at least 100k of graphic and table space in this game. Don't know what to do next, possibly a multi-player Elite-clone, or Multi-paradroid (One of the best games ever, Paradroid 85/90). I am very much in favour of two/multi player games, with MIDI links etc. I think the best opponent in a game is usually another person. This gives a lot of games a real competitive/malicious edge, and improves them no end. Expect more DDS multi-player games. If you haven't yet, try and find at least 4 of your closest friends, and play MidiMazeII. This really shows the potential of such things. It was 16-player MidiMaze on the Atari stand of the '87 PCW show that turned me onto multi-player stuff.Brill. Any suggestions for either welcome. Howdy to Penguin and his mate Guy (who may well read this). And to Xyvark, Knightman, AH, D_Gently, Hackbear, Spoil, Haq, Goemon, Donald_d and all on #atari. This game is not shareware. It is *free*. No charge should be made for it other than for the copying and media it is stored on. I have heard bad things about German PD libraries but leave this game to travel the four winds and the great tendrils of the Internet unchallenged. Would some net.friend please upload this to atari.archive (terminator) for me? I have trouble with FTP to them. Ta. Although this isn't shareware, if it gives you some enjoyment, I'd be interested to hear from you anyway. Send me some interesting software and I'll return your disk with something else on it. Probably half-done bits, other PD/Shareware stuff or... MolSys !!! Bob Mellish and Howard Jones (mostly Bob) are also the developers of MolSys ST. Probably the best Molecular Modelling system for the ST. At the moment it is shareware with a 10 registation fee to get you full source (for personal use only) and the printed manual (when I've finished it). The program is highly intuitive, interactive and nice-looking. It will allow very fast building and manipulation/measurement on a large variety of organic molecules. This has been sent to various PD libraries in the past. SouthWest did always have a current version, but they've been badgered into packing up now by a rather strange and localized copyright raid. Write to us (with a disk) for a copy. Mono Only (for now). Not nearly so good with an emulator. I (HJ) am currently porting it to the PC where I have half of both a DOS/VGA and MS Windows 3 version. I'm looking at doing an OSF/Motif one too. Write now for more info! Howard Jones, 1/11/92 12 Fountains Garth, Bracknell, Berkshire RG12 7RH, United Kingdom [this is my home address, during college time, replies may take longer] Email: c/o rm03@cc.ic.ac.uk (mark 'for howie', not my acct.) IRC: you'll find me in #atari most days :) I'm 'howie' there. mpler (it's the 1st thing the PIRATES asked for when i contacted them in 1989). Select the DEVICE which contains the disc to pack. Make sure the COMPRESSION ratio has been set. If you do not require a running display of CURRENT position/size then SELECT either or both of the displays. Make sure the disc is in the DRIVE and write protect is off. SELECT the DISC option in the process window. Finally click on PACK. The process will0660103030566 9[....................................................] SHOCKWAVE BETATESTINGNOTES1.1 AUG.92 Wellwehaveabasicgameforminghere,blowtherocksaway collectthefunnycrystalthingsand...err...thatsitreally! TobefairwhentheprogrammerRobcamedownfortheweekendit wasstillinitsbirthprocedureandranlikeanightmare!The shipsweresmooth(andrippedfromXenon)butthatwasall.Well atleastitlooksnice(yehwithgraphicsfromBaal!),nextbit. NOV.92 Yesthingsarehottinguphere!Westillhavethemainsprite borrowedfromtheBitmapsmildlyfamousgamebutsowhat?!We nowhavemorelevelsmorebaddiesandaslowerframerate,ohwell youcan'thaveitallcanyou?Butwetriedanyway... JAN.93 AlovelyguybythenameofSteveSpurgeonhasstartedwriting somemusicforusindigidrumandsoundtrackerformats,coo! Cracklymoduleroutineherewecome.Asitturnsoutthisguyis alsoquiteanicegraphicartistsoexpectsomenicelittle picturesinthegamenow(I'monlyalogoandspritemanmyself). MAR.93 Thingsarelookinggoodnow.Robhasworkedwonderswiththe coding,Stevehasdonemagicalthingswithhismusicand,yeswell IhaveyettogetthosespriesfinishedbutIshallforsure.The gameisnowinafullyplayablestate,thereisafewlittle thingswrongwithitthough(likecollidingwithaghostrock spritewhichisn'tactuallythere!)butnothingwecan'tiron out,oratleastRobcan'tanyway!Ihavebeenslavingawaywith anewartpackagemygoodolebuddyPitchhascreatedcalled Hydrodraw.ItswritteninSTOS,ithasmorefeaturesthanyou couldshakeadeadratat,itneeds1megfordecentbitsandit hastakenhim(getthis)4yearstocomplete!Wow!Iremember seeingthisinitsreallyearlydaysandthingsarelookingreally nicenow,theonlyproblemistheamountofoptionsandfinding themall!!!Anyway,withthisIhavedesignedthegamelogoand allthecreditsbitsthatno-onereadstobedisplayedunderit. Iamquitepleasedactually!Ishallgetcrackingonthesprites soonbutRobinsiststheyarefine-soifthisgamehasthat horriblelittlemetalballwithfourspikesandabluecannon stuckonityouknowIhavenotgotaroundtodesigningthem! HonestlyRobitlookslikesokindofmodernagecontraceptive device,stillitsyourlife(!!!!!!!).Timeforupdatingafew bitsthenyoushouldseethislittlebabyhittheroadsometime verysoon.AlsobeingdevelopedisHIGHVELOCITYarathernice littleshoot-em-upinthegalaxiansmodethatwillbesmall(40k) butdeadlytoyourtriggerfinger.Ihavealreadycompletedthe logoforthisandthespritesarelovelyastheyaresoIshan't botherfiddlingwiththemforachange! functions below were added as an after thought , but do add usefulness to the packer and eliminated the need to leave the packer to carry out the functions. ------ FILE (Black box) ------ Selecting this will allow RENaming or DELeting of files. -------- FORMAT -------- Better than nothing. It will format a DS 80 tracks 10 sector disc. No options are available. It's also, for some strange reason, SLOW. ------ STATS ------ Clicking on this button reveals the details of the files that have just been packed. It reveals how many files COLLIDED and how many were PACKED, it also lists the BAD files. (If there are more files than can displayed clicking on EXIT will reveal the next page of files, this continues until all files have been shown). After#a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #E 98 12 #W 00 00 10 02 1D 12 08 A:\*.*@ #W 00 00 02 0B 4C 09 00 @ #W 00 00 0A 0F 34 09 00 @ #W 00 00 0E 01 34 09 00 @ #M 00 00 00 FF A RiCH@ @ #M 00 01 00 FF B DaVEY@ @ #T 07 03 02 FF TRASH@ @ #F FF 04 @ *.*@ #D FF 01 @ *.*@ #G 03 FF *.APP@ @ #G 03 FF *.PRG@ @ #P 03 FF *.TTP@ @ #F 03 04 *.TOS@ @  *.TOS@ @ rivelights will be turned off when you EXIT the status window. (How about that GENIE, MICE, who needs em)!! ------------------------------------------------- The last word. This packer goes all out for MAXIMUM compression. As a consequence of this certain types of DATA will prove troublesome due to the fact that the packer tries all the time to PACK data. The problem that occurs is collision between the packed data and the unpacked data. The main data e0660103030566 9[....................................................]  SUBWARFARE ----------- by RiCHDaVEY(c)1993 Thisgameispublicdomainandmaybecopiedaboutasmuchasyou like.Iamnotrequestinganymoneyfromitonlythatyouenjoy yourselfandifyoufeeltheurgetowritetomethenplease encloseastampedaddressedenvelope,thanks.Youcancontactme at10OakDrive,Portishead,Bristol,Avon,BS208QS. >>DEVELOPMENTNOTES<< orhowtowriteagameinaweek! Version 1.01 - 23/3/93 Received the STOS Missing Link extension today from Robertandthe Sprites600package,ithadafewnicesubmarinesandbattleships initsoIthought-yeahSubsandascrollingunderwaterbattle scapeandtheideawasborn.TodayIhaveonlyspentashorttime drawingthegraphicsandco x,oxTBETp"m Vrbрcp,'5,H2"M6 ķa~ŧk@lH.jZƀ#ܢBGRdGK2G5~pHA`JcRabֻ`B/ ï#ܡQy3z TMʈ+4Rܳy@#@@AzTOeXp$> x(sOBQp9JV!#K"oh-*˂r2ڽǽRtN ]a5*1B/ٚδiyހkB!q8`IHh#kf yWC"A@ʕr-h##FZ,!HHbE4D<dD舑d|,DԵٰ3ϰ tF}!^a| D@FH@X,0_ 2T|X:LPhDn\^ mB^ h<6\"JPN<\CyeE)`V22rW<R j@$ @ZLb@8~(1 `_=uL( .0Q9t/ N<" BDDopdLJ@7. rLj6^Wnƭ +u x ""N,"ؖsN.\N\tKQ1 F0)DBZI- _w I.N*PD.J┠A$R`N9*HK@-,94>.AY\$D%ppK-VJH T'$+*tYmqFF@*h5P(-Nx`IZQj/ (`J9۔#&k P;2++p6jLv 4F޸h\ƓcUgsZ!m\މٙݛ$FjHxeT@@@7kǜ(JE3"e},dXA}^4I;rC$ĝ@nH Wf>& /T?].RU ؀@jP?D6"(9/U"n}SLv  +T[:jnva }a I F@;tyRM'a<|掍R@kT4/ߧ 1Q(CATٷ( ű&& YdR61 Nsǵ(^ȆQp.X0 PA$c4VN PzajtAxDȒozk@i7յZnȆzŏAX;^f(D Tq9o̠ ۋ 3=Pn Fyt,uFH{6a[Azq2 hP"TpF@נ^ĉG@"vNw*_bl3_ae@9tj-T(dPQ黎 dhDtbz3zQN#߀FTD%m7hF& {n g4" X)S*-nљ0Lsllx2 Xnew%{nnP,F79o\cTL@ D4 C"qltz㥍&0n&dPh ۪g.@;XK 1)oXZ [}Fm@5F6hޫ-J `XˆxcYB:\x$/rABmR $J=P+21n=P\yg]i$Qڕ6ίg(@Ț!9T8Zm)>krvǠTI/뭉kϽ4kp y +k?(~^/FgE)2VFJ –w@ +L]44(# eպ(4]PmF#ƐG }Tz=*@A1~B@-^_e0A@@.狗MXNHklIf2QԉR'FTExl@[A&V& cn,WP֨; 6 pk tr9\RhVf|3+*4^PՋPq(dnD<@sPp^~^xE=Ü}297 `} f*jALp!D.IWN` # \h%z /vBi:!Dȿ͒BwSk dWl&6=Dv&Wb0!bitPd}p@%VG2>@@G<97rF^y4F|QKmkU+cySdr#T|$*@lPTEKIhߪ9rP7rk{%_@+V_NDj}r&r@0` @x;*pnQx+BF=ovX tmgc@I(RڨXQ vxN PILZ!1Q$*^* ր[Prl2A"N4PX3Px:Vm΋ xX&Ϯ? hPc(qa عEnZ%.yK$-Rk` z9nnlEaDvIA (ʜ9j W}*]$yG~C>kA|΅ Ft>"t()+h'A,rML\R"lX &]ˋ-j8jo:lSj\&j.N\B-rla:B'937y񴡖ȅdtS@6,Eqa^t&t!(J|g4w+t`Lp!c6i>jzr̫SJ9jB!_2(N 2d/aC ZR@2K[G͉2:uegBqC\g"w"4:W_c0Ts)kЁRQ2nɰ(˛@.:PSJ'"wCd<.Xy+bº/roN<=Pg $aJGL$du$`.7 !EO72Q-ĈpN<N9ƌ"&Gu64J4""]z82_EԸk\@2ʘϸ|,V@CVàB١IQQ `H.NA:xL6xD*TR)+D8u&B ,$a<8GJG,A;!Zc%L+`m ޕ޶V*\8r4"a/?RvbJ%5,#̎{U〱@>^T& ֦ը0K$2"A m:CKQmp4E::Rm %2PP Q $zD-L2„&MnD@m1@ye4l8I䠛3MT+Z2TJILn$m?rRN4 E(@-CwZC$@ X%?z2[BM&X\#C7V炇>eYWR^H5@TD(ᤨjB?>W}gx-fm63Xs3$P*@#V`X*oH+8WiF.bK(n0XWWݴ]n!<r4C KK*a2!FtՔѯaYhj~NҾnT87h&-A+f,./#PYi`]eBt r.1vAlIeRpQ禇VG[{Yo,DǏ=,Ge.J jIvu Pb`IvLj,HoV5L@jiD&FKtpzg[8֠xzP=D*BYI.9JmsjL'HEԲhR4SDSiJDn Q !"h<#͆U%H-&U8'"*g@@P V"K>Z/Zt"FPbQ{WKu(Pi.;R=@&gMXܥRR^R N63G=p)꨺úo.Bw g1 J||}W쁐AA|S@rSJS84dBf#o`{&fbVf f b"P!7r ;X!CrŬ6uoe(((qx-T LZ(QDnMAϝ3zLL-iHcjuPȪ*(C"QȅC]:$(&S.ZTgNK(ăA ޮB*۴+Yܮo[|#W?^ 7wAMP8zCyz9n@-/72%椘PП)5:E);*y .W JeJi|-0U_ou %  .nA=ЃA  Gg--hjX.l8ɷ@DyMܡءԡ"%20 '` }yn)/X}j^*/l$Q+@jy.6p( B P6$-%XގSg`N u𱗳gk)tiKaptp=|J/" Jc yYgR2ą!^"4ۨ>RHa-N8aN>a/Z aXscBz>O>?<Ӡ6yTRøS>y$P L)l)LN}hƠ4Q eMtRVEaJ'h\gz,:|RPTmt9`jB꧛`# ge ͻ_Rh0enσ$ Av@EA+lm TlԌUK5oHa@{eAEmAL>7Ltt2n稄b3T}d{UpMpBLJE"Sa F!Q/Ѹ qd'x*aH":PbD$hBt~FI\rl vEayrD@$,F{d.w2IRB\n?+==|9qJnl386aHDIףB ʛX5A$7I}LvUAW`>:F+0 *Vf`6[#4kRP C6@6(& P A&@(M!Pz"wH:8Qp߼m@ LLL݁ "LD`@4 H P 'FғUPT(@p("p[(1 0&t @SH Q4tT N43b\\T δi3kI>C(h5 H )Ulj V訐>" " 3 +42.ޚQ^ DՑbFWS3.B πv|.xs$8 &+Xg  wfAA zH;wQjƈYPjQm+j4ϐ_cIRYxc$R"3TI$J#ITن:_LLAH(ڠAr<كnmznЅ(@q`*@.@:RmRm G7(op,NV[$7U*hQ,Uv UfZ3N(X *?).Ys vBX*d(5>(UaJFjDFb/ V-jQFrXh;XLv*p 1p2-~nh0f1r 1tJT (T4 p2 C'6H3 2(4@>&6S)C?"pZ[xpMNrG(r"3TBpv r *rAr#ؔ@๔r2Qp/03*Tpkvsp56t(|eB>@v>3%J4\4N$YCcщr9g{2RA1Ap{1"s;#hd/\Ʉ,@Za#̤Md! \1HQ`"2b z$P4A,dA8W(.|p$C@`EA*6ZV+ 4*P_R b;L'("@:zD$QA'Z#\ALo8ٔ^lE&CAF1j1YFhv1[G3J@i|NVL!" *sNؑ?C l,K#c'[;WARE8gI~y}~tUl,!pl:4RϷ `$15ugs:)\:@AdvfIotQc%21ph7ߵYyAwdoy,MA|196o8snM 1.Z`xrCM-baslHMf_k_wwp1^sPILEEmOWOcURSUPPORT!Drebpalwaywel`_e@GE%nie(JAKO zCIS7l3w76,12357s{u{$Z:K{Oqv{Q{{to{v/{đv/{Qm|(n`|~K|d_a|h_a| %|[|#~%}g6$݋Ώ~S@)Pȉa/?(A)[D$(Ŀ)@K9IIi`p[@UndorR+ d^ DxEu"-[6SP)spl_7СG],[`I?s/{hr!u\rVdeastTI-,-@[lbutn?pbbar[C]xgcgvv%akegm muv[PEͺqۦn@q~o6nE6.~C"~Ȩ+-h~"(RZ~D.j84-\ ڮ*'l\V"z[ShAx1X"Ђ&b(]hA1h"Ђ&bp(EMxQqg2th4NNTypϫkFRkt(`NPSI:ed ZcbrminimumBhb){FګKdNE 6&ʲb"ENZXE B?*HlT: m!e4YTD آhqZXآFA!"P DBV 6 * *reG/aȂ"O[bm.G XjHj|"gQPAEL1Ȳ"b&P#j5TL1ҊDE|hJacdlSTdeuvC&#$45EFV50%[]ef;h$G R@I#) DI$A<3>Ut ]D"ꖐ 5A:\*.*0>`&PR@A +c(0gouPicSwitO.71987Jo8hnrochW CIPC .NEO.P8GFpORMMDCMAPOvDY"3DU1sh6%!fSKeir"3DU>#4sEV`x%5F9W %6G#@&7OGWg%6Ga%5FWg#4EVgwcw!O2CTOevv9xARctuȟ5ArRct7+!>19S9Cu_2CTdeBpGPNTGSCRNa4(A0 {4ꠂa9A b RPqt$H$O%HDa2PYG> ~ 8 < PzX@|A*X 0 $yzx<.<FS'AOnY<AJo@PfkAtr%9֯tWuOޏIw}d_,̨eK`YkGէ ,4KIďcM *@_un)LCf]΂}hP8?Kj I$:axJ"i&N\2}<&2*k_l̅o/~Q<#S6 TCtoʏԓEv<͟5>ovjji`uT/[W)asZϫ q~]Z:N`D{z(DhZ( z6<:σO ? &)h#i}C#=w7:dI@wr"aI&iW2ndS(9,XU?*$J222T)VHϚ8c=R 0^(A}jsHt  JO$C.&F~.A$@*R,8>:8?L6:@;42Ly8 OŏRDAJüW푍P$ \(i@p7{<y&" YL d.},:"&$`0@z&_Xʿ9Rlq<cb<"hu=Tl.ЖfZ"$"$8\.=g>ٱ&rxȺC# N@y8xx8X^ fH0B` mmmmmmmmmmm. Sj.. S1ST_PRNTDOT`k31ST_PRNTPRGdlё1ST_WORDPRG7M1ST_WORDRSCd:SW DOC bW~ SUBWAR BAK K\@ SUBWAR TXT ' COORDS DOC #Epson LX-96 (NLQ)M~80 B EFE F 4 5 x4G H5xxxSTM~80TxSTxSTx---- !@R|^R|v-><-   0123456789#R#$R$@R@[R[\R\]R]^R^`R`{R{|R|}R}~R~C,R}R{aR^R{R@R}R\eR^eR~R}iR~iR^R~R[R]R @R{R[oR^R|R|uR^R|yR~R\R]cR|R#R\R~fa'i'o'u'R|R\a_o_R]R[aR~oR~R\R|AAOR~'yR~YR@R~=_+_>_<_:-R[ANu|||||Ƙ8|||%||||||||||lA Bg 9"\0g`"SgNASg( H# a,|`&o + ЫЫO// Bg?<JNA IK~|NHkN~.HmN`BN9NV/HxHnHnHnHntNu m P-H/.0nC/0nC/HxHxdtNM/.Hz@tN?P/.tNNX n C g/tN9XA-HSJm8C n//. nC"_/tNyX"_2` n h /tNBX g/tN9X/./-tN?PHz/-tN3P nX//-tN3P0n gHzh/-tN3P`Hzk/-tN3P nX/ nP/HntNp /tN9XN^NuPRINTERPrinting in Letter Quality mode in Draft mode NV G=HHnHztNzPHn/.tNzDPHnHztN/.P-H g`/./HxtN| N g/.tN|PX"F-H/.tN:PX+H g\/.tN|8XN g /-//./.tNz`"/.tN5X/tNrX F=H`/HztNrP F=H`"/.tN5X/tNrX F=H/.tN2X/-/-tNAN^NutN N^NuHmtN XN^NuHmtN XN^Nu`,Nh012`tN N^NuNV G-H"nAlj` R n`HnC n P"F//-tN5 f FN^NuCf n/HntNyX"_"`tN N^NuNV n/tN "X-HCfH nX/tN "X-HCf( nP/tN "X-HC f F` G g GN^Nu nCf AN^Nu FN^NuN^NuNV/-tN4X-H`*"n G  nN^Nu nR"H n `$Nh ``N^NuNV/-tN4X-HC g nCf AN^Nu` GN^NuNVC0mB @Cf tNCB0- @Rm"H n C0m"HA  GN^NuNVAfX P-HJg` S n`tN`AfP P-H g$HmtN@XSJg tN`N^NuNVAf h g<0m/ mf"HAf h F I"_l tN`HmtN@XC0mB @CgtN^2m m~T0PmC0mRB @C0m"H G  G;HRm0mN^NuNVB- @ @B-/tNX m~\2P0m-H m~PJPg n"FN@N g F` G g nP P-H n P-H` n P-H nP P-HHn/./.tN -HHnJ nX//.tN -HHn/./.tN -H"nAf hoAf h-H/.Af h"H nʓ FNJ"_oAf h"H nʓ FNJ-HAf h"H nʓ FNJ"H nғ I-H/.Af h"H nғ nΓ nʓ I"_o$Af h"H nғ nΓ nʓ I-HAf h"H nғ nΓ nʓ n“ I-HA-HJg$ nRH0@/tNXS n`SJm tN`AJ-HJg$ nRH0@/tNBXS n`SJm tNV`A-HJg$ nRH0@/tNXS n`tNtB./tNXN^NuNV G-H n R H0@ @ gh` R n`.H0@C#f0/./.tNxPR nJg R n`` nR"H.H0@ `"n G  nN^NuNVB. @C?N@ @C0mBJfjC:0mB/C0mB @"_/C0mB @"_ g*B."@B- @N6CN@ g F` G gC0m"H F C0mBJf,B. @ @C0m"HB- @ `B. @ @tNN^NuNV nJg n R "H nRH0@ ` n N^NuNVC0mB @Cf62m m~T0Pm tNr G;HA;HtNB`C0mBJg tNBN^NuNVRm2mAdm G;HtNJmf m~0h g F` G gZC: m~0h B- @CN@ g4A/B @CN@"_ C F  F;HtN2m`,o . ЮЮO//Bg?<JNAO p a\3 t3 0pNaH?<NNJ@f Apar` AahAaTa<1g<2f3 0pNapaBgNAAa$3 0pNa3 0pNa# ^# bpZa>: 3 0pNaJGg|ATaACEf "\g :fR\RfHzd?<NA\BgHz?<NNAPJgAaa` :PR/?<HNA\JjAaXa`# vA4aj Aa8`( zpak" z X`g A a` :Uaj aj`ajAaa`Aa z AXE2f Aa` Axe/*g Aa` (f A a`T!@"HhBR 0(@!|a>A SM00NuCpQAaTA>aj`> z :aְg Aa,axajAaafa`aZa`/?< NA\Nu/3 0pNa3 0pNa _3 0# ^p4a3 0pNaNu?<NATNuBg/?<=NAP3 zJ@NuBg/?<NAXJ@Nu/:?<INA\NuC2@ A~p222BQ"<0<NB0:Nu[0][|SWITCH TO HIGH OR MED | RESOLUTION|][ OK ][0][|P I E C E FOR PACK-ICE 1.11 | Written by Jinx of FOF|][ OK ]E ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ | | { P I E C E } | | { Pack-Ice Executable Check and Repair for v 1.11. } | Written by Jinx of FOF. | { 11.05.1990 } | | ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ OPTIONS ~~~~~~~ 1) Check and repair executable file. 2) Exit P I E C E. Y!>SELECT PROGRAM FILEFile not found.Not enough memory for this file.Couldn't open file for loading.Couldn't close file. Exiting PIECE.This is not program file.Checking... This program has already been repaired.This program is not packed using Pack-Ice.This program seems to be OK.Pack-Ice by AXEThis program is now repaired... Saving.Write error. Disk may be full.A:\*.PRG  0 P ^ f 2B  Ƙ$xXmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.  t..  6MULTI_V1PRG u~EMULTI_V1DOX 7MULTI_V1RSC `E^?<NN @0<}BQ>NNJAg|9HP?< NAPOA a&MM +ЫЫA .GIJgrѓB(g<fG``GPN$^,,,,ܓ,,Cp$L(QGX /KN(K&YdB`BNK~ M&`I |a``X|g"TezF`$|aHg\E`|a>g E`&`| a,E?f:I|a|m4TO]En(MmXL|a4P`>BEg EQJENu&`Ix|a84@HaDgt@IP:$$Q| z gDTeF`|agPEVE`|aHE|aPVSEk|HF&Qjf"<fNu&` `````` `` Y %Multi-Depacker v1.0 by MUG U.Kn,C:8 -xtH[|A5O-#fKe|=7$#'r ଊe{=Jl/Epy<҅6{O^pQw"൞`UwV^pX{]ZL[{]]<^,\pawb: ZlH:3Ml:L7Q=o[DQ|.Ԏ֧7޻Gdz3z@b^/7x6w*T+i1?Z/U|O]V90fе.V^Є72^T 7zZyp~=J s  F"XꤲbZ֜%L.*2$عWoI>4KG+ߧt!^-ȻR=:y|:*^/4X"g2Kh#_I4 :_rdm:`.5G:&Vi>Lq:bF H=R.^:H=b p W̥Id9;3;.oo;")\ixkO]ZEuY1=PisvM8F>]8zv6#mn(V=f@8z$=VӲT5&>p d5&r8;d;W-:gp*4tANTrAЁ?9x=BQQ= n=B^Y&T\UlK=~`W%>h`m 7P{,g+6!J7"/7t"3|!3:AQXe|R9/`VPf8S-UB D,F H, JL,NPR-TV,0;|Ze06~ ڠPv5ph6@hbҠ PT6hXlWٵF+A>9 Mi+ї\BC ;D>`D6bHE_^؊ЇH4\ڊ -> Dz b}Wp4Ĭff4l?.f~:F(Β߱,8 >&rWB+qEgCV7Ʈ 6(4vWa:EawD|G*:0#?V{fDr:_2;%7ô fn=f>O`3Z%8~%4H p.`:P%vG%tkEy632@g.}MJ[Um '~madU1e+ g{FǢg w2eһ52lƲwof,Yhg-p 2mqp-7H>a+Ǻ㝃o8Zn8 PjH1bW+TIh ⶭw$V5k_>j =d%ϭrNuFG(߁.s'*DCPtP| &{oW~Jh4 鷊^9&jO(:9O=M3(⢷f=H5T1tD83gzgY&̞.C,oECEEyF[,'&^=ack=Yp~w-Fir?Bp&7eby <=pW x+w%rx$07:oFIRE>Adpx'07 -!lLwYl)p߳fıǬDfU5khup+u}ftDZ  8>ݱ01ն6&Anofw6/LV"dx?.3Wag4Ӳhp 4M1TOMA4.;!j;KPv7W1%,<7ZHip},vזmkj@LSD!f"Ap6+t6Nӵ-P;j$"@I?:{i?OPIf2jp(RGQoB *p4"^̮%Z1u߂G1V$U[x+s( 90|6M0LBRIoVMr|h;,nR$2>oX[!e$D$X#*B'QCB&w:mf6y.yPfH&jf$mlhfp+ˮ(p ':w`Mf(8?*&Vgp{s&ZȯvC~u& Rڥ^vr5۽ t4fmv0 f@k`g&T-/pC&F[Zbkb}F (_ڿrC"l%R ;ER*Qo@f_b( 74^9t*sn~x Q o@x(3 &xyx q?!bH9M*):yHxxzzgܮzz0V)f|c0v ԺSlB0X8!fg p7Mry,c.L2gDSpm#mp|#uEhm#c*4b9Kg>7p27x/O}#jr"_\AlU5 FNGؤːhd$6r(@1[iԛlrxZp/#]G("C_I.~?NZSmr x#o~hpri/Gp"{ߛ"0Lge4~=N=kIԑ${aQܶJ(goRf&"%l^K!."g} l~VwFn>R'tu:H1ҽ$,bT*2Dt@/gφT"F3l+Ѽ>پe4~LIZ4 q1`Hm/2"?xmA4 ^822^\Hv?o'/-\.z`-`m*BHRR -mc^Mna ̶!A-cB\=#E{I&LstbGx|ZaR a~_:6L\7iJMHkRmhsMXM~<En g6ODFcGb8(vcl,BC>8D 쬵k&+i;φDk֓DdDA@Ŀ *ca @o䧈߮T-gJ%3YGoMuCo:Oij$F {*^XkmdB䨽f~:Xwe|aO$o,s_RD FU Dg8k2ڶb jChо/{avĴ&k~\;xd3 {^Ba4ND=M8e:兣霘݂/).]x &8+:@A+Eo f}PgvE\ng~.E>M*HEJDUғ |22w>ds{GH[IWkIdkO)C~vo ],>kCE> @Geaffz7@~WdGÐxSWЃd0ukkӁK[SBkփBji 5Jjf:[VrHS0iCn/pER?̽wKgPxLNJg&B.C8aD[fap]fS* gE p&]nJ jiЛ%oLޑ$cr+ăE,or+ Return]2m  g>J8ـjr-D@Hw0zV l1][,OSEf ]T_K>^MnV,@IԯIo{SI-Hʧ "F<~N,$M/$ve=. ЈbU%gJΣ4p =|.,RC2rVPe,3H'Іaa(=FW~4f/: nLOCn}uUunAI߃ >eLRC@8D2\a~\~:y/ IP 7!&@pLH4CH3|LNS[L4A3ڤszBK֟k"-HSlpMahMɗTv^eVr p0?rpdr ~(߀N:Dp,~[Efp 2dz C\Xea>pGZd|_Zq_ㆬi\A^HQ Xqc0.=3*0 BEps!9A e$2b-znP xfkS2"X)~JgNBց&["J{>L( G[)| $pxg7x` |WϷU5-!j  Z.'.YK]4.%^"b@Bfl@&yD L4(* TB$G2,>2S:(T .1 FqՏ.(29 bu zU"L9h8ۺp `PQl1*x*5!MeSY1Pye!06MP%XJ  q#\$9pH,+c>)ȥrr6.1^g,xB(Hgo4k$߀grehgrM r LPf4F==Hk"qaͼ0v dkM2"ߎ6Ge>~1mύi[JZfgzZz<<)rQ):g[s*g1p=<a Avnoz:$DT^gz=, pWW;"<$Fk:r~YUe0k$|^rc=^fr;W X137]p&TA=/?I BYp2BR LSTAUXCONM/KBVID:c-P'Y"PξIl=BH[rQCl{VB(TEd׃ RzŮDz4[m51QQĎCPJg0HRJjf$bSC}/%I >4%_?ydj?n4MrJD^'dl'6?J1kb3Gk&c>aT{Bd5*m_?WSF:7T&yAdR ?e t'-IvF&雘c~E8!ٱf_Ev+0JjDFv-/H dB,pՁHFܹ:bt=/2beg>r ob 5e&!R+0 #7_ >U4W$mg0JV6v9dp΢?>_tg'f̕ce1s*k>IQdN瞔@m|4fe-: Vx[͒Wtpa ".GL]Fa6qM/pOyK$~*϶I?)E rt@w~rzNsQfʬMr6@U'鋬dfs6 q`1 4ARFț  0L<x-B7\4-rp .aPt&$@#qa&p3v np{88EplrӃv@~wP^^^^^vnO}I^jv ͐1 Fv/p&<<9k=gΚ-nܬvuv2.S8Avh/琬CS@AB8p/54)@dOWM_y(@rǼvo.aoCJv|&xH&q d<"X P_e쉓8:HQUe"_~"yffEs @ƚ".`RF<>s Yfx~kdn$i(2F29&sg*DK>Eo:@6Al2/J z-VA ŒB>@՝Vo AHeAHy/?SR T]Ak0[2+4E$+c5\X6BU K5:Y89B~0x$t0]<d>:6rSF\GnXD)0tDyH1F F Gcg@"0bpmT?q]^P͖4Tw1]#*V--@\D_bϞfEX=DZ-|7PSv 0tl0(cCN?(bֺ2 =Cξ@7_rAdnEDUR.3J=FLtGQYÑp4sfծd=R4$Fp_+R0]-݂rxT[v7*c[m]nz|g Q xguSQz]B0vTX=@p4=Mj&1!6ʢN2e46o<3Se(Fxd e./.€d͐Q+B:<^6g bUC/c腄jlBcHWDdSURBAnMɫt~_`H: kk fp$Xg.4HRNT~@٘tz [ Hg"_^c/ 0)A$*N~AGdEHup0YFY@3gB*]b(Bȟjk- U~I/Y$^ \>nO5܎vaH`0< O2 Nhj\j a;b82zaIf:2/JAp4/bU!FpA+2a HZ==Gԗ[p3Ը@9G"E %DXvx$I"t QģkAk"RG'j & GCfy6Ҫ<=HjZ\FkBJQd HS&I"tz3nfzc-\Y`;5UmSe'* ?gBO5L=_h~jR ;:0Ca7<QH- ]DGyՑ{3[1 E穋~EQ_VQ$صb6BK0*:A$R 2oNe1g3 p1"ZwP7=MZ#0 \C*VD w g _PU]oȵ#Y0$@AzA$DW!fXծhrap 4:#2L$"هP}"P2#^DAH2gZAyve2;#dQ E2<~JX[/@j]pa.z$d«kO`w̤2 /"c"ok_=̀E9 &@0W3 Ow#vAL6H ⊱Z%ruӕ:of2;U=]X2eWAU6HÓӥܑ.#Hn6)4r;ba<:@2x"1t* dLǂTWW"?Iz@d .rJAnFWRxAe4?Bъ40$sTW$?.!qhX! 5r~yRAfGnj1X:M9;XJef .k+]Y&#oҽoX"C*7d_7kde"_&B[?ZqЀvxCGl9t^0Dجt PO#:9a 6O6ϨJf2ncO\6cr .y\Sc;s$ R1hPW.=\EN/Z=_lT"@$Y4?$s\UE e v$ B|ـ&6@r`g ߢJ"P˰R@̅BIUGNP$rn9Q& i4gSB6c:Ad,.BmͿ,. ?62g(RF"GE]RB:fsFkVft#j7 ;#PΦA`<>ڡXo:3H !_߭@LСyև\bc P"z Y/yH6Tʧ$PSAvjx E'(W**cQae /zb`ִs6BI8f@˚=nhYvG:ݒ^gB, RFRKf"M[RstYPyP0f~'x9jtn>] fp hj>'9rRufzelfK6p'$oEpj<c, f' ~aӉ@p #*0N7qRtJeGSrFgC_bEY_VNTPJcՉgH@.'a(ql:Y0C bʹ Ee0pg_Q:G$"ҘL7t2 z|dpa)sEd'0P+bFRܾE@a8AA&ngK2RF~<3 xoS@ rBSnvAr=Fx4$-* q4.|fE?,Mx0P>0""Px˲@e2< E=avrHb$b3Ud< 7U@P?pea?HBD02g&~A UxGT*XHyAښE#2<;edg3d@*eE4f@>PqhCbRdΒf0k*R rzE*Ee7?Ҏ(30x.Ow< F46jU:?)<&4u)DRP 蟑p NM Ӂ@ *%8BjJAgP*ڃd0` D ր'U.AJB$ nkNPdQX@xz(3I\ LM=kGp^k:ggpY8h,2sk$D,]p+7e(.Nsf#HQ66g4n^"Jw"nԭa"AO:Np\B4nq׎G06_k" C gTM5Pv6"cgRfWC~(o#*ύD@/1v,DkN#"UyϗJ&H nj0&\@ȹwo\SG?MNMXk '.t'&_[l],|g%fx|23.VIs|z('*&fhגJxvTfʂʃʄʅRHP? @H~8oG#P|w<2z'ǰ$>|L"RAr8舂&, "Ѐe/dpJxg@ gRe?ЁAl|8$H:CJ͜"YEjT_$P"2378dE /0{Fd~D@u|a DxiAa^K"y 4tgk2&Hgf Wd͒$s:8#v Ae( Ui,$p@XH/HKx\^ ^^<ޗڗgrQ nz4=C8bhxHQ0+l_ӟJz"-A=B˄7l-Is!n>m {@t";B"N.UKZa&wC螈,jpw"TM/ h6bd sۦ|6NRn.[ bD,bgAk p>!wK(mDYe.׹ףl6ʔ46/^X22rs 2*L,6Gȷ9*7q.G~G,Kndj8BptGp.ZQ#fJI L.Mx_BMFlu|J1iZv"Ly!ty478}nff^֊R?,#3> fԇ.-W>1g߅M3M34ʿ4i涛f7ͦ4ilڒ1}Us44siNS_,pavFIRE!fal$Krw&$NKSfaR,LEB-z-JDd_J6%FiwjD"x4)KA0Napo.^fpN>a}p2ap(xJ@\^p`*ag&kU@A-T3wU?h6|zs 01{P pzUq\ aX AU5!JiLKdZ.(,Iʳ&1Drd*><C8#z@<@D BTCr*'ܘ5r{Z0i(dǾv!aMF@{%&n$/u&b%lR DaAWkwAoC!vtT;Tx1vaBqjDsr2p~t?a.C@!LLȅ@\ t@DA] >H)ZT?9{(H*Б4JjsjS@ X~#(P6v>E9xlFDSB+JCAVpJHB| 3Δ7&LPoĦ8t ARB,g+SCLQ3HCϡ`6 Ag@Gg2v6RCv30UoKsr0 `JvBD|dvx@˙U*RDE>HXSA"3%j,v}c(11}*_Qcn#1cĺ3LgaF{F2e y#[eGgV rs">c )SN/xLff0|L92aGc^U,n vRd*IHUMg o| a,E{?f:!Em4TO]En(MmXL!a4PHDBq dJEJoI84@HaDgt@IP:$|[z gRTWeF|agPV3s1HE|aPVSEk|HF&֫ujH U\1f_a:&yW`!Me% "`>¹x>>Pbڕ(BC\E}|0zAxC@#g$HfS_L&(JY,W:?gE~;6$vzƢf4bd^er3&).BraLdx6[aNf4DV<>v"a.gX>.a"J!Q7œ~A@2{|ISAJr02f՞_&6@.vdɯHH?8(H,I5}*N();UH&&N~~d $RESn췁2,H|$1ϓEDpn@UBr$TpA n>Jn1+L|WoSI3s"S^H_$Ixr:' Zb63RCK _'c,ct @b7~3Y "L03s734 (!uBX<fL+3lp}rY.prH1s`RA|DPbDnhfr#90{ MTDhW ΤߣXNuA߼9ev`}Á ́ B-8{!|*8"ӘDa sƆ"&Nv/۹ (N0<;Ȑ-|><(zhFx@ob0)Q|5dT@012fmꞐG8+kE;"JeflLSj|8*_ZgY8! @4{3OpGd1320|fH|m-RL/F("D[j,p.ЧC8) .F*$_, |~1 f{Δ(@4 B$xxc|b  "~J&*mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm +----------------------------------------------------+ | | | Instructions for 'Multi Depacker v1.0' by MUG U.K | | | | Finished on 2nd December 1991 | | | +----------------------------------------------------+ Released into the Public Domain ------------------------------- Introduction ------------ This program was written as an aide to the myriads of demo-breakers, nosey hackers and interested people of all levels and skills to save them from using a disassembler to unpack and save out data and executable files that have been packed using a selection of the best available packers in the Public Domain. There are other uses, including unpacking a program that you had previously packed with an outdated packer (eg. original file was packed with Automaion v2.4), and then repacking with the latest top-notch packer (eg. Atomic v3.3). Thus this utility arose from the ashes of my 'Fire & Ice Depacker v4.0'. I hadn't intended to start this until way into 1992, but seeing as I was feeling down (poll tax, phone bills & Christmas Shopping, but no money to pay for any of them !!), I started on this program. A week later, the finished result was released !! Technical Stuff --------------- The files required to be kept in the same folder are:- MULTI_V1.PRG MULTI_V1.RSC MULTI_V1.DOX Do not seperate these files or edit them. You can archive them for bulletin boards if you so wish. As usual, this program is Public Domain. It is my copyright, but you can stock it within a Public Domain Library or on a bulletin board with my full consent. Magazines that have Cover Disks mounts (ST Format/ST Uset et al), CANNOT publish this program with my consent and appropriate payment. Also for the myriads of disk-based magazines who are published via Budgie, or via any other means (Ledger, Toxic etc.), you can include this program on your disks with my full consent. Although I have most probably already sent it on to you on the day of release. Other groups who make up utility disks can also include this program (so long as all the files are kept together) if they see fit. After all, it is a very handy utility for most people to have in their collection, so why not SPREAD IT !! More Technical Info ------------------- This program will allow you to depack ANY file that has been packed with any of the following packers:- Atomic v3.1 Atomic v3.3 Automation v2.3/2.4 Automation v2.51r Automation v5.01 Ice Packer v1.13 (data ONLY at present) Ice Packer v2.11 Ice Packer v2.12 Ice Packer v2.2 Ice Packer v2.31 Ice Packer v2.34 Ice Packer v2.40 Fire Packer v1.01 (data ONLY at present) Fire Packer v2.01 JAM Packer v3.0 (LZH) JAM Packer v4.0 (LZW & LZH) Pompey Pirates v1.9a (data ONLY at present) Nineteen different packers, which makes a total of 35 different file types that can be loaded in, depacked and saved out again !! When I say 'any file' - I mean ANY file, either executable or data files. The only (obvious) exceptions are where I have been unable to fully incorporate a depack option for the executable files generated by some packers, without having bombs and other crashes occuring !! I've Even Tested It !! ---------------------- I've tested this program on both data & executable files packed with the above packers. The testing was done on a bog standard TOS v1.2, with 1 Meg of RAM and a hard-drive. I have included enough error-traps to stop the depacking of 1 Meg files on a 512K system etc. The most common error on a 512K is that with the majority of the packers I am using, they depack from one address to another, therefore I require two buffers. If the file to depack is 100K and the unpacked length is 250K, then you will be unable to unpack this file. For the next update, I shall (probably) write a .TTP version (without dialog boxes etc.) to enable the really BIG files to be depacked on any machine. The majority of the packers recognised by this program were written by Axe of Delight/Superior. Depacking the packed files was (and still is !!) a much needed feature missing from these otherwise excellent packers. This is especially annoying if you had just packed your only copy of a much needed file !! The other packers were added bit by bit over a period of a week, and halfway through that week, I scrapped all the text-printing and opted for a much easier to use 'GEM' front-end. Depacking files is now much easier than in previous incarnations of this programs' predecessor - 'Fire & Ice Depacker', which was officially released on The Source Menu 79 (Hi! to the other comrades in this group:- Kalamazoo, Speed, Egon, JJF & IWWWTTI ????). Using The Program ----------------- Once loaded, you will first be presented with an introductory dialog box showing which version this program is and which packed files it can depack. Click on the button when you've read all of this (I know it is in the small font, but it's the only way I could fit in all on !). The next dialog box is the main menu. From here, you can have another look at the previous dialog box, depack files, see how much memory you've got left and finally quit back to the Desktop. Seeing as this program is primarily a depacker, the major option to go for is the 'Depack And Save Files'. Click on the button and you will be presented with a file-selector which wants the filename of a packed file. Clicking on 'Cancel' or selecting a non-existant file will result in an alert box telling you of your mistake, and an option to try for another file or returning to the main menu. Once you've found a file that you know is packed, it will be loaded into memory and examined ..... After first checking whether the file is a program file or not, it will then check for the existance of the various packer headers (eg. 'LSD!', 'ICE!', 'FIRE', 'ATOM'). If any disk errors occur, you will will prompted by an alert box asking you to retry and get another file or cancel this operation and go back to the main menu. If the selected file is NOT recognised, then you will returned back to the main menu (after an alert box has told you that your selected file was not recognised). If the file is a packed file, a dialog box will appear with the following information on it:- i) Which packer was used ii) Executable or data file iii) The length of the file (in disk-space terms) iv) The length of the packed file (as the packer knew it as) v) The length of the unpacked file (as it will be AFTER it is unpacked) The reason for including both (iii) & (iv) on the screen, is that some files I found would be 20K in length, but the header would say it was only 18.5K in length !!! One explanation is that some programs contain two sections contain two sections, hence the numbers displayed on the screen would be a bit odd. An example of this is 'Digi Composer v1.0' by Istari. It contains two programs, an intro and the actual tracker. The intro is depacked first, then the tracker. Another reason is that if you depack a program file, the file-length will differ from the actual length of the packed data because the program needs a depack routine to unpack itself, and relocate it to the original address ! If you find that the lengths differ by around 1000 bytes on a program file, then you should be OK ....... There are two options on this dialog box, and they are pretty obvious to understand. One will depack the present file, and the other will return you to the main menu. If you are depacking a Atomic v3.1/v3.3 data file, you are given the option to choose which depack routine. If you select the wrong one then this program will more than likely depack your file into complete garbage or even worse, it will bomb out !! The reason is that the header (ATOM) is the same for either version of these packers and the depack routine is not compatible with the other version (unlike the Ice Packers !!). Each depacker will flash a different colour, so as to differentiate between the different packers. If you have a monochrome monitor, you will probably end up with a bad headache after depacking a lot of files !! I suggest you don a pair of Bitmap Shades before depacking a lot of files (colour systems OR monochrome), unless you're into flashing colours ??? Another file-selector will appear asking for the depacked file. You have the option of overwriting the program file (not very wise !!) if you require - or simply enter a new filename as it is up to you !! After this operation, you will be returned to the main menu, where you can carry on depacking more files, or quit and take a peek at the newly unpacked files. That's all there is to my little program. It works with almost everything I've tried, with one or two exceptions - but I'll let you find them out for yourselves !! If you have any really major hassles then drop me a line at the address down below (oo-er !!). End Bit: -------- Since I was testing this program heavily I noticed a few things with the various packers. Here are some notes I made (bugs I discovered !!). i) If you write (like I do) prodonimently in GFA BASIC v3.5/v3.6, and you want to pack your program files. DO NOT use Ice Packer v2.2-2.31 or Fire Packer v2.01, as your program file will not work at all (two bombs). You will have to use the Ice Packer v2.40 (ST News 6.2 edition). ii) If you use the Automation v5.01 and pack a lot of data files, beware of using it from a hard-drive !! The problem is that your resultant files are filled with $00 & $FF ONLY !! Not even a header (AU5!) is included. This happens with the normal, buffer and chunk pack options and I do not know exactly why his occurs. My (bad) theory is that this update does not like my (or anyone elses ?) hard-drive !!! The error does not occur when you run the program from a floppy, but only when it is run from a hard-drive partition ?? Well, EGB, work that one out if you can !! I use the Supra Software v3.11 driving a Megafile 60, if this is any use to you !! iii) This is not an error, but a bit of a pain. The Atomic packers will not output a packed file that is of an odd length !! No problem to 99% of files, except when it's the NeoChrome Master which checks its length for link-virus infection !! If you can help me (or if you are the author of the packer in question, please write to me with your next versions), then write to the address near the end of this document file. DO NOT send ANY form of pirated software, as I am NOT interested. I would also like depack source code FOR the following packers:- Automation v2.51+ - I need some explanatory Chunk Depacking source that I can call with registers set to source and destination addresses. Power Packer v2.2a - Amiga packer used by several programmers on the ST !! I have the source as used by v3.0, but it doesn't work properly !! YOUR packer/source - If it's any good that is !! The next version of this 'Multi-Depacker' will be released when I'm ready. I have another 10 or so packers that I will be including, plus the 'no-frills' version that will come with it so that 512K owners can depack large files. A quick message to JPM (author of Pompey Packer):- I am still after some source to depack Thunder v1.0 & v1.1 ??? Please, please, please get in touch (you'll also benefit via FVK - interested ??). End Bit ------- Have fun depacking, hacking, poking about and generally being very nosey with other peoples (previously) packed files !! If you really find this program useful, saves your life with packed programs not depacking on your version of TOS etc. etc., spare a thought for me, an low paid barman, toiling away at unsociable hours, then working on my many programs after work, way into the early hours of the morning, just so you can benefit .......... SEND ME SOME MONEY !! MUG U.K - 02/12/1991 Depacker Credits: ----------------- Depacker Program RSC Design Documents Coffee Drinking: MUG U.K - 29/11/1991 Background Music: Metallicas' new album "Metallica" Extremes' "Pornograffitti" Testing: Slasher Bog Packers' Authors Credits: ------------------------- Atomic Packers v3.1 & v3.3: ALTAIR of VMAX/MCS Automation v2.3/2.4: OZZ of LSD Automation v2.51: DACK of Automation Automation v5.01: EGB of SHiT Fire/Ice Packers: Axe of Delight/Superior JAM Packers v3.0 & v4.0: Jek and Moose (JAM) Pompey Packer v1.9a: JPM Contact Address: ---------------- MUG U.K c/o Broadsword Computers, 141 High Street Rhyl CLWYD LL18 1UF Any problems, queries, questions etc. should be sent to the above address, and don't even think of writing if you want pirated software !! I get extremely FED UP with people who write to me wanting the addresses of the various pirate groups. I DON'T KNOW THEM SO *ISS OFF !!! I will keep all the disks & burn the letters from these idiots. If you want a game that desperately, go out and buy it !! One last thing, if you are a kind generous person who has got a spare bit of money lying idly about, don't send me a cheque made payable to 'MUG U.K' as I get strange looks from the staff at my building society !! If you really must send a cheque, make it payable to 'Mike Mee' (stop sniggering at the back - I can't help my surname !!). mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm $3THIS PROGRAM WILL DEPACK FILES PACKED BY:ATOMIC PACKER v3.1/v3.3AUTOMATION PACKER v2.31/2.4/2.51/5.01ICE PACKER v1.13/v2.11/v2.2/v2.31/2.34/2.40FIRE PACKER v1.01/v2.01JAM PACKER v3.0(LZH)/v4.0(LZH/LZW)POMPEY PIRATES PACKER v1.9aAnd this is ONLY v1.0 !!RELEASED ON THE 2nd DECEMBER 1991 Multi-Depacker v1.0 Main Menu Who Wrote This Program ?Depack And Save FileFree Memory Etc.Back To GEMTHIS PROGRAM IS PUBLIC DOMAIN, BUT I RETAIN THECOPYRIGHT ON MY OWN CODE, AND THE AUTHORS OF THEVARIOUS DEPACK SOURCES RETAIN THEIR COPYRIGHT. COPY ME - I WANT TO TRAVEL THE WORLD !!Multi-Depacker v1.0 by MUG U.K Depack File MenuPacker Used: File Type: File Length: Packed: Unpacked: Depack FileMain MenuJust In Case You Wanted To Know ..Free Memory: TOS Version: OKYet Another Useful P.D Utility !!<px>qpx:sp?|?0`;7q>pax8;7q>pps9qpq9px<px>qpx:sp?|?0`;7q>pax8;7q>pps9qpq9px889p88p?8? ;ppp?ppp=pp8pp8ppp8?c88p88 $ \$NO*Phij&,#6XY"Zz{B 0*+1,[\/]*     "# $,-.9: ;EF GRS j#  B% p#  *  F  b ~     C&  B | $ $  #  &B/ B ^ C-  z             "   >   Z  v T 5`! #' "      %!C)  %"  V ^mmm.  ..  6ATOM_3F2S 8EXECHEADS *ATOM_V35PRG r); ; New Trap #1 Loader for Atomic v3.5 packer by IWWWTTI - 27/2/1992 ; ---------------------------------------------------------------- ; ; For internal use by Source members ONLY (for now !!) ; ; WILL ONLY WORK ON FILES WHICH ARE COMPLETELY READ BY ONE CALL TO ; FREAD (TRAP #1 #$3F). ; ; Based on the JAM Packer v4.0 Trap #1 Loader, with some extra bells ; and whistles added !! savebuf = $200 yes equ 1 no equ 0 LSEEKROUTINE EQU yes ;WHEN PROG USES LSEEK TO DETERMINE FILE LENGTH SFIRSTROUTINE EQU no ;WHEN PROG USES SFIRST TO DETERMINE FILE LENGTH text_on equ yes waitkey equ yes quit_gem equ yes lowres equ no flash equ yes meg_only equ no ; If yes then program needs 1 MEGABYTE bell_off equ no begin bra start dc.b "MUG U.K Packed Program - Piss Off Ripper !!" even fname dc.b 'infiltrt.exe',$00 even text dc.b 27,"E" dc.b 27,"p","MUG U.K (of The Source)",27,"q",13,10 dc.b "------------------------",13,10,10 dc.b "Presents: Infiltration",13,10,10 dc.b "by: Paul Dowers",13,10,10 dc.b "Packed by: MUG U.K",13,10,10 dc.b "Get your grey matter working on this",13,10 dc.b "3D Construction Kit game !!",13,10,10 dc.b "Press any key to load !!",13,10,10 dc.b 0 start movea.l a7,a5 lea begin(pc),a7 move.l 4(a5),a5 move.l $C(a5),d0 add.l $14(a5),d0 add.l $1C(a5),d0 add.l #$100,d0 move.l d0,-(a7) move.l a5,-(a7) clr.w -(a7) ; was move.w #$0,-(a7) move.w #$4a,-(a7) trap #1 adda.l #12,a7 clr.l -(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp move.l d0,d7 ifne bell_off ; for programs that need the bclr #0,$484.w ; bell turning off endc ; ; Has user only got 512K ???? ; ifne meg_only move.l $42e,d0 ; Top of user RAM cmp.l #$00080000,d0 ; if it equals $80000 beq.s half_meg ; then get an upgrade !! endc move.l $84.W,oldtrap1vector move.l #trapit,$84.W move.l d7,-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp ifne lowres clr.w -(sp) pea -1 pea -1 move.w #5,-(sp) trap #14 lea $c(a7),a7 endc ifne text_on pea text(pc) move.w #9,-(sp) trap #1 addq.l #6,sp endc ifne waitkey move.w #7,-(sp) trap #1 addq.l #2,sp endc move.l #null,-(sp) move.l #null,-(sp) pea fname(pc) move.w #0,-(sp) move.w #$4b,-(sp) trap #1 add.l #14,sp tst.l d0 ;ENSURE THAT YOU CAN QUIT OUT OF PROGRAMS WITHOUT A CRASH ifne quit_gem quit clr.l -(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp move.l oldtrap1vector(pc),$84.w move.l d0,-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp ifne bell_off bset #0,$484.w endc move.w #$4c,-(sp) trap #1 elseif quit move.w $4.w,a0 jmp (a0) endc ; ; Trap 512K owners when program requires 1 Meg+ to run !! ; ifne meg_only half_meg pea more_mem(pc) move.w #9,-(sp) trap #1 addq.l #6,sp move.w #7,-(sp) trap #1 addq.l #2,sp move.w #$4c,-(sp) trap #1 more_mem dc.b 27,"E" dc.b "NOT ENOUGH MEMORY !!",13,10 dc.b "--------------------",13,10,10 dc.b "You require 1 megabyte or",13,10 dc.b "more to run this program !",13,10,10 dc.b "Press any key !!",13,10 dc.b 0 even endc trapit: btst #$05,(a7) bne.s super move.l usp,a0 bra.s after super: move.l a7,a0 addq.l #6,a0 after: cmp.w #$3d,(a0) beq doopen cmp.w #$3f,(a0) beq.s load IFNE LSEEKROUTINE cmp.w #$42,(a0) beq.s down ENDC IFNE SFIRSTROUTINE cmp.w #$4e,(a0) beq.s dosfirst cmp.w #$2f,(a0) beq.s dogetdta cmp.w #$1a,(a0) ENDC bne dotrap1 IFNE SFIRSTROUTINE lea retsetdta(pc),a0 move.l 2(a7),(a0) lea setdta(pc),a0 move.l a0,2(a7) bra dotrap1 dogetdta: lea retgetdta(pc),a0 move.l 2(a7),(a0) lea getdta(pc),a0 move.l a0,2(a7) bra dotrap1 ENDC doopen: lea retopen(pc),a0 move.l 2(a7),(a0) lea open(pc),a0 move.l a0,2(a7) bra dotrap1 ;here starts the stuff for SFIRST IFNE SFIRSTROUTINE dosfirst: lea retsfirst(pc),a0 move.l 2(a7),(a0) lea sfirst(pc),a0 move.l a0,2(a7) bra.s dotrap1 ENDC ;here start the stuff for LSEEK IFNE LSEEKROUTINE down: lea retlseek(pc),a0 move.l 2(a7),(a0) lea lseek(pc),a0 move.l a0,2(a7) bra.s dotrap1 ENDC load: move.w inopen(pc),d0 cmp.w #1,d0 beq.s dotrap1 ;if checking depack marker, do real trap1! move.w seekflag(pc),d0 cmp.w #1,d0 beq.s dotrap1 ;if called from seek handler, exit! move.w mustdpak(pc),d0 cmp.w #1,d0 bne.s dotrap1 ;if marker not present, don't decrunch! move.l a7,d0 movem.l a1-a3,-(sp) sub.l #$20,8(a0) lea buffer(pc),a1 move.l 8(a0),(a1) move.l d0,a2 lea return(pc),a1 move.l 2(a2),(a1) lea unpack(pc),a1 move.l a1,2(a2) move.l buffer(pc),a1 lea savebuf,a2 move.l #$20,a3 loadloop: move.b (a1)+,(a2)+ subq.l #1,a3 cmp.l #0,a3 bne.s loadloop movem.l (sp)+,a1-a3 dotrap1: dc.w $4ef9 oldtrap1vector: dc.l $00 ;************************** open: tst.l d0 bmi exitopen2 movem.l a1-a3,-(sp) move.l d0,a3 lea inopen(pc),a1 move.w #1,(a1) pea test(pc) move.l #8,-(sp) move.w a3,-(sp) move.w #$3f,-(sp) trap #1 add.l #12,sp tst.l d0 ;ADDED TO FIX ZERO LENGTH FILE beq.s notcrun ;DITTO move.l magic(pc),d0 cmp.l test(pc),d0 bne.s notcrun lea mustdpak(pc),a1 move.w #1,(a1) bra.s skipit notcrun: lea mustdpak(pc),a1 move.w #0,(a1) skipit: move.w #1,-(sp) move.w a3,-(sp) move.l #-8,-(sp) move.w #$42,-(sp) trap #1 add.l #10,sp move.l a3,d0 exitopen: lea inopen(pc),a1 move.w #0,(a1) movem.l (sp)+,a1-a3 exitopen2 dc.w $4ef9 retopen dc.l $00 inopen dc.w 0 test dc.l 0 unpaklen dc.l 0 mustdpak dc.w 0 magic dc.b 'ATM5' IFNE SFIRSTROUTINE ;*************************** getdta: lea dta(pc),a0 move.l d0,(a0) dc.w $4ef9 retgetdta dc.l $00 ;**************************** setdta: lea dta(pc),a0 move.l 2(a7),(a0) dc.w $4ef9 retsetdta dc.l $00 ;*********************************** FOR $4E (SFIRST) sfirst: tst.l d0 bne pissoff move.l 2(a7),a0 movem.l a1-a3,-(sp) move.w #$2,-(sp) move.l a0,-(sp) move.w #$3d,-(sp) trap #1 addq.l #8,sp lea sfirsthandle(pc),a1 move.w d0,(a1) move.w mustdpak(pc),d0 cmp.w #1,d0 beq.s change bra.s afterchange change: move.l dta(pc),a0 add.l #26,a0 move.l unpaklen(pc),d0 move.l d0,(a0) afterchange: move.w sfirsthandle(pc),-(sp) move.w #$3e,-(sp) trap #1 addq.l #4,sp movem.l (sp)+,a1-a3 pissoff: dc.w $4ef9 retsfirst: ;exit dc.l $00 ENDC ;*********************************** FOR $42 (LSEEK) IN TRAP1 IFNE LSEEKROUTINE lseek: cmp.w #2,8(a7) bne vamos3 cmp.l #0,2(a7) bne vamos3 lea seekhandle(pc),a0 move.w 6(a7),(a0) lea sd0save(pc),a0 move.l d0,(a0) move.w mustdpak(pc),d0 cmp.w #1,d0 bne.s vamos move.l unpaklen(pc),d0 bra.s vamos3 vamos: move.l sd0save(pc),d0 vamos3: dc.w $4ef9 retlseek: ;exit dc.l $00 ENDC ;************************************ FOR $3F (READ) IN TRAP1 unpack: ;a0 - start of crunched data ;a1 - beginning of uncrunching area movem.l d0-d7/a0-a6,-(sp) move.l buffer(pc),a0 lea origlen(pc),a1 move.l 4(a0),(a1) move sr,d1 btst #13,d1 bne nochange clr.l -(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp lea jek(pc),a6 move.l d0,(a6) lea mode(pc),a1 move.w #1,(a1) ;1 denotes must return to user mode nochange: lea colstore(pc),a1 move.w $fff8240,(a1) move.l buffer(pc),a0 move.l a0,a1 add.l #$20,a1 bsr de_atom35 move.w colstore(pc),$fff8240 ;restore memory saved in buffer move.l buffer(pc),a1 lea savebuf,a2 move.l #$20,a3 loadloop2: move.b (a2)+,(a1)+ subq.l #1,a3 cmp.l #0,a3 bne.s loadloop2 move.w mode(pc),d0 cmp.w #1,d0 bne nochange2 move.l jek(pc),-(sp) move.w #$20,-(sp) trap #1 addq.l #6,sp nochange2: lea mode(pc),a1 move.w #$00,(a1) movem.l (sp)+,d0-d7/a0-a6 move.l origlen(pc),d0 dc.w $4ef9 return: ;exit decrunch module dc.l $00 ;------------------------------------------------ ;ATOMIK DECRUNCH SOURCE CODE v3.5 (non optimise, pas le temps. sorry...) ;ce depacker est indissociable du programme ATOMIK V3.5 tous les mecs ;qui garderons se source dans l'espoir de prendre de l'importance ;en se disant moi je l'ai et pas l'autre sont des lamers. ;MODE=1 depack data from a0 to a0 ;MODE=0 depack data from a0 to a1 (RESTORE SPACE a 1 inutile! si MODE=0) ;PIC_ALGO = 0 decrunch file not encoded with special picture algorythm. ;PIC_ALGO = 1 decrunch all files with or without picture algorythm. ;DEC_SPACE = (lesser decrunch space is gived after packing by atomik v3.5) ;RESTORE_SPACE = 1 the allocated decrunch space will be restored . ;RESTORE_SPACE = 0 the allocated decrunch space will not be restored. ;call it by BSR DEPACK or JSR DEPACK but call it! MODE: EQU 0 PIC_ALGO: EQU 1 DEC_SPACE: EQU $80 ;MAX IS $7FFE (no odd value!) RESTORE_SPACE: EQU 1 de_atom35 movem.l d0-a6,-(a7) cmp.l #"ATM5",(a0)+ bne not_packed link a2,#-28 move.l (a0)+,d0 ifne MODE lea 4(a0,d0.l),a5 move.l d0,-(a7) elseif move.l a1,a5 add.l d0,a5 endc move.l a5,a4 ifne MODE ifne DEC_SPACE lea DEC_SPACE(a4),a5 endc endc lea -$c(a4),a4 move.l (a0)+,d0 move.l a0,a6 add.l d0,a6 ifne PIC_ALGO moveq #0,d0 move.b -(a6),d0 move d0,-2(a2) ifne RESTORE_SPACE lsl #2,d0 sub d0,a4 endc elseif ifne RESTORE_SPACE clr -2(a2) endc subq #1,a6 endc ifne RESTORE_SPACE lea buff_marg(pc),a3 move -2(a2),d0 lsl #2,d0 add #DEC_SPACE+$C,d0 bra.s .save .save_m: move.b (a4)+,(a3)+ subq #1,d0 .save: bne.s .save_m movem.l a3-a4,-(a7) endc ifne PIC_ALGO pea (a5) endc move.b -(a6),d7 bra take_type decrunch: move d3,d5 take_lenght: add.b d7,d7 .cont_take: dbcs d5,take_lenght beq.s .empty1 bcc.s .next_cod sub d3,d5 neg d5 bra.s .do_copy1 .next_cod: moveq #3,d6 bsr.s get_bit2 beq.s .next_cod1 bra.s .do_copy .next_cod1: moveq #7,d6 bsr.s get_bit2 beq.s .next_cod2 add #15,d5 bra.s .do_copy .empty1: move.b -(a6),d7 addx.b d7,d7 bra.s .cont_take .next_cod2: moveq #13,d6 bsr.s get_bit2 add #255+15,d5 .do_copy: add d3,d5 .do_copy1: lea decrun_table(pc),a4 move d5,d2 bne.s bigger add.b d7,d7 bne.s .not_empty move.b -(a6),d7 addx.b d7,d7 .not_empty: bcs.s .ho_kesako moveq #1,d6 bra.s word .ho_kesako: moveq #3,d6 bsr.s get_bit2 tst.b -28(a2) beq.s .ho_kesako1 move.b 10-28(a2,d5.w),-(a5) bra tst_end .ho_kesako1: move.b (a5),d0 btst #3,d5 bne.s .ho_kesako2 bra.s .ho_kesako3 .ho_kesako2: add.b #$f0,d5 .ho_kesako3: sub.b d5,d0 move.b d0,-(a5) bra tst_end get_bit2: clr d5 .get_bits: add.b d7,d7 beq.s .empty .cont: addx d5,d5 dbf d6,.get_bits tst d5 rts .empty: move.b -(a6),d7 addx.b d7,d7 bra.s .cont bigger: moveq #2,d6 word: bsr.s get_bit2 contus: move d5,d4 move.b 14(a4,d4.w),d6 ext d6 tst.b 1-28(a2) bne.s .spe_ofcod1 addq #4,d6 bra.s .nospe_ofcod1 .spe_ofcod1: bsr.s get_bit2 move d5,d1 lsl #4,d1 moveq #2,d6 bsr.s get_bit2 cmp.b #7,d5 blt.s .take_orof moveq #0,d6 bsr.s get_bit2 beq.s .its_little moveq #2,d6 bsr.s get_bit2 add d5,d5 or d1,d5 bra.s .spe_ofcod2 .its_little: or.b 2-28(a2),d1 bra.s .spe_ofcod3 .take_orof: or.b 3-28(a2,d5.w),d1 .spe_ofcod3: move d1,d5 bra.s .spe_ofcod2 .nospe_ofcod1: bsr.s get_bit2 .spe_ofcod2: add d4,d4 beq.s .first add -2(a4,d4.w),d5 .first: lea 1(a5,d5.w),a4 move.b -(a4),-(a5) .copy_same: move.b -(a4),-(a5) ifne flash move.w d7,$ffff8240.w ; try d0, d4,d5 & d7 endc dbf d2,.copy_same bra.s tst_end make_jnk: add.b d7,d7 bne.s .not_empty move.b -(a6),d7 addx.b d7,d7 .not_empty: bcs.s string move.b -(a6),-(a5) tst_end: cmp.l a5,a3 bne.s make_jnk cmp.l a6,a0 beq.s work_done take_type: moveq #0,d6 bsr get_bit2 beq.s .nospe_ofcod move.b -(a6),d0 lea 2-28(a2),a1 move.b d0,(a1)+ moveq #1,d1 moveq #6,d2 .next: cmp.b d0,d1 bne.s .no_off_4b addq #2,d1 .no_off_4b: move.b d1,(a1)+ addq #2,d1 dbf d2,.next st 1-28(a2) bra.s .spe_ofcod .nospe_ofcod: sf 1-28(a2) .spe_ofcod: moveq #0,d6 bsr get_bit2 beq.s .relatif lea 10-28(a2),a1 moveq #15,d0 .next_f: move.b -(a6),(a1)+ dbf d0,.next_f st -28(a2) bra.s .freq .relatif: sf -28(a2) .freq: clr d3 move.b -(a6),d3 move.b -(a6),d0 lsl #8,d0 move.b -(a6),d0 move.l a5,a3 sub d0,a3 bra.s make_jnk string: bra decrunch work_done: ifne PIC_ALGO move.l (a7)+,a0 pea (a2) bsr.s decod_picture move.l (a7)+,a2 endc ifne RESTORE_SPACE movem.l (a7)+,a3-a4 endc ifne MODE move.l (a7)+,d0 bsr copy_decrun endc ifne RESTORE_SPACE move -2(a2),d0 lsl #2,d0 add #DEC_SPACE+$C,d0 bra.s .restore .restore_m: move.b -(a3),-(a4) subq #1,d0 .restore: bne.s .restore_m endc unlk a2 not_packed: movem.l (a7)+,d0-a6 rts decrun_table: dc.w 32,32+64,32+64+256,32+64+256+512,32+64+256+512+1024 dc.w 32+64+256+512+1024+2048,32+64+256+512+1024+2048+4096 dc.b 0,1,3,4,5,6,7,8 ifne PIC_ALGO decod_picture: move -2(a2),d7 .next_picture: dbf d7,.decod_algo rts .decod_algo: move.l -(a0),d0 lea 0(a5,d0.l),a1 .no_odd: lea $7d00(a1),a2 .next_planes: moveq #3,d6 .next_word: move (a1)+,d0 moveq #3,d5 .next_bits: add d0,d0 addx d1,d1 add d0,d0 addx d2,d2 add d0,d0 addx d3,d3 add d0,d0 addx d4,d4 dbf d5,.next_bits dbf d6,.next_word movem d1-d4,-8(a1) cmp.l a1,a2 bne.s .next_planes bra.s .next_picture endc ifne MODE copy_decrun: lsr.l #4,d0 lea -12(a6),a6 .copy_decrun: rept 4 move.l (a5)+,(a6)+ endr dbf d0,.copy_decrun rts endc ifne RESTORE_SPACE buff_marg: dcb.b $90+DEC_SPACE+$C endc ;------------------------------------------------ dc.b "!K.U GUM" SECTION DATA origlen: dc.l $00 oldssp: dc.l $00 buffer: dc.l $00 mode: dc.l $00 jek: dc.l $00 length: dc.l $00 colstore: dc.l $00 seekflag: dc.w $00 seekhandle: dc.w $00 sd0save: dc.l $00 rtlseeksav: dc.l $00 sfirsthandle: dc.l $00 dta: dc.l $00 oldsize: dc.l $00 null: dc.l $00mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm* EXEC HEADER FOR EXEC FILES PACKED WITH ATOMIC PACKER v3.5 * --------------------------------------------------------- * * Main code: Pompey Pirates (from Pompey Packer v1.9a) * * Additional code: I Wonder Who Wrote This Trash Industries, 1991 * * Instructions * ------------ * * Pack your main program file as a data file, alter this source to your * own requirements (text etc.) and assemble it to disk. * * Add your own code alterations from label marked 'alter_me' onwards * (eg. trainer mode). * * Clearbss can be turned off using NO to save a couple of bytes if your * packed program has no BSS area. no equ 0 yes equ 1 low_res equ no ; Force Low Resolution text_on equ no ; Print Text wait_on equ no ; Wait for key pre_reg equ no ; Preserve registers clr_bss equ no ; Clear BSS segment (see above) flash equ no ; Flash depack colours fade_on equ no ; Fade Colours In/Out (Low res) opt o+ bra.s start dc.b "A Mentor of Special FX pack in 1992 !!" even start ifne pre_reg movem.l d0-d7/a0-a6,start-128 endc move.l 4(sp),a5 base page address clr.l -(sp) move.w #$20,-(sp) trap #1 move.l d0,2(sp) ifne low_res ; Low resolution clr.w -(sp) pea -1 pea -1 move.w #5,-(sp) trap #14 lea 12(sp),sp endc ifne fade_on move.w #$666,d6 Fade background to black .loop1 move.w d6,$ffff8240.w bsr delay sub.w #$111,d6 bpl.s .loop1 endc ifne text_on ; Print text pea text(pc) move.w #9,-(sp) trap #1 addq.l #6,sp endc ifne fade_on move.w #$111,d6 Fade text to white .loop2 move.w d6,$ffff825e.w bsr delay add.w #$111,d6 cmp.w #$888,d6 bne.s .loop2 endc wait ifne wait_on ; Wait for keypress move.w #7,-(sp) trap #1 addq.l #2,sp endc ifne flash ; Store border colour lea store(pc),a0 move.w $ff8240,(a0) endc lea packedfile,a0 ; go past ATOM header ;---------------------------------------------------- ;ATOMIK DECRUNCH SOURCE CODE v3.5 (non optimise, pas le temps. sorry...) ;ce depacker est indissociable du programme ATOMIK V3.5 tous les mecs ;qui garderons se source dans l'espoir de prendre de l'importance ;en se disant moi je l'ai et pas l'autre sont des lamers. ;MODE=1 depack data from a0 to a0 ;MODE=0 depack data from a0 to a1 (RESTORE SPACE a 1 inutile! si MODE=0) ;PIC_ALGO = 0 decrunch file not encoded with special picture algorythm. ;PIC_ALGO = 1 decrunch all files with or without picture algorythm. ;DEC_SPACE = (lesser decrunch space is gived after packing by atomik v3.5) ;RESTORE_SPACE = 1 the allocated decrunch space will be restored . ;RESTORE_SPACE = 0 the allocated decrunch space will not be restored. ;call it by BSR DEPACK or JSR DEPACK but call it! MODE: EQU 1 PIC_ALGO: EQU 0 DEC_SPACE: EQU $80 ;MAX IS $7FFE (no odd value!) RESTORE_SPACE: EQU 0 depack: movem.l d0-a6,-(a7) cmp.l #"ATM5",(a0)+ bne not_packed link a2,#-28 move.l (a0)+,d0 ifne MODE lea 4(a0,d0.l),a5 move.l d0,-(a7) elseif move.l a1,a5 add.l d0,a5 endc move.l a5,a4 ifne MODE ifne DEC_SPACE lea DEC_SPACE(a4),a5 endc endc lea -$c(a4),a4 move.l (a0)+,d0 move.l a0,a6 add.l d0,a6 ifne PIC_ALGO moveq #0,d0 move.b -(a6),d0 move d0,-2(a2) ifne RESTORE_SPACE lsl #2,d0 sub d0,a4 endc elseif ifne RESTORE_SPACE clr -2(a2) endc subq #1,a6 endc ifne RESTORE_SPACE lea buff_marg(pc),a3 move -2(a2),d0 lsl #2,d0 add #DEC_SPACE+$C,d0 bra.s .save .save_m: move.b (a4)+,(a3)+ subq #1,d0 .save: bne.s .save_m movem.l a3-a4,-(a7) endc ifne PIC_ALGO pea (a5) endc move.b -(a6),d7 bra take_type decrunch: move d3,d5 take_lenght: add.b d7,d7 .cont_take: dbcs d5,take_lenght beq.s .empty1 bcc.s .next_cod sub d3,d5 neg d5 bra.s .do_copy1 .next_cod: moveq #3,d6 bsr.s get_bit2 beq.s .next_cod1 bra.s .do_copy .next_cod1: moveq #7,d6 bsr.s get_bit2 beq.s .next_cod2 add #15,d5 bra.s .do_copy .empty1: move.b -(a6),d7 addx.b d7,d7 bra.s .cont_take .next_cod2: moveq #13,d6 bsr.s get_bit2 add #255+15,d5 .do_copy: add d3,d5 .do_copy1: lea decrun_table(pc),a4 move d5,d2 bne.s bigger add.b d7,d7 bne.s .not_empty move.b -(a6),d7 addx.b d7,d7 .not_empty: bcs.s .ho_kesako moveq #1,d6 bra.s word .ho_kesako: moveq #3,d6 bsr.s get_bit2 tst.b -28(a2) beq.s .ho_kesako1 move.b 10-28(a2,d5.w),-(a5) bra tst_end .ho_kesako1: move.b (a5),d0 btst #3,d5 bne.s .ho_kesako2 bra.s .ho_kesako3 .ho_kesako2: add.b #$f0,d5 .ho_kesako3: sub.b d5,d0 move.b d0,-(a5) bra tst_end get_bit2: clr d5 .get_bits: add.b d7,d7 beq.s .empty .cont: addx d5,d5 dbf d6,.get_bits tst d5 rts .empty: move.b -(a6),d7 addx.b d7,d7 bra.s .cont bigger: moveq #2,d6 word: bsr.s get_bit2 contus: move d5,d4 move.b 14(a4,d4.w),d6 ext d6 tst.b 1-28(a2) bne.s .spe_ofcod1 addq #4,d6 bra.s .nospe_ofcod1 .spe_ofcod1: bsr.s get_bit2 move d5,d1 lsl #4,d1 moveq #2,d6 bsr.s get_bit2 cmp.b #7,d5 blt.s .take_orof moveq #0,d6 bsr.s get_bit2 beq.s .its_little moveq #2,d6 bsr.s get_bit2 add d5,d5 or d1,d5 bra.s .spe_ofcod2 .its_little: or.b 2-28(a2),d1 bra.s .spe_ofcod3 .take_orof: or.b 3-28(a2,d5.w),d1 .spe_ofcod3: move d1,d5 bra.s .spe_ofcod2 .nospe_ofcod1: bsr.s get_bit2 .spe_ofcod2: add d4,d4 beq.s .first add -2(a4,d4.w),d5 .first: lea 1(a5,d5.w),a4 move.b -(a4),-(a5) .copy_same: move.b -(a4),-(a5) dbf d2,.copy_same bra.s tst_end make_jnk: add.b d7,d7 bne.s .not_empty move.b -(a6),d7 addx.b d7,d7 .not_empty: bcs.s string move.b -(a6),-(a5) tst_end: cmp.l a5,a3 bne.s make_jnk cmp.l a6,a0 beq.s work_done take_type: moveq #0,d6 bsr get_bit2 beq.s .nospe_ofcod move.b -(a6),d0 lea 2-28(a2),a1 move.b d0,(a1)+ moveq #1,d1 moveq #6,d2 .next: cmp.b d0,d1 bne.s .no_off_4b addq #2,d1 .no_off_4b: move.b d1,(a1)+ addq #2,d1 dbf d2,.next st 1-28(a2) bra.s .spe_ofcod .nospe_ofcod: sf 1-28(a2) .spe_ofcod: moveq #0,d6 bsr get_bit2 beq.s .relatif lea 10-28(a2),a1 moveq #15,d0 .next_f: move.b -(a6),(a1)+ dbf d0,.next_f st -28(a2) bra.s .freq .relatif: sf -28(a2) .freq: clr d3 move.b -(a6),d3 move.b -(a6),d0 lsl #8,d0 move.b -(a6),d0 move.l a5,a3 sub d0,a3 bra.s make_jnk string: bra decrunch work_done: ifne PIC_ALGO move.l (a7)+,a0 pea (a2) bsr.s decod_picture move.l (a7)+,a2 endc ifne RESTORE_SPACE movem.l (a7)+,a3-a4 endc ifne MODE move.l (a7)+,d0 bsr copy_decrun endc ifne RESTORE_SPACE move -2(a2),d0 lsl #2,d0 add #DEC_SPACE+$C,d0 bra.s .restore .restore_m: move.b -(a3),-(a4) subq #1,d0 .restore: bne.s .restore_m endc unlk a2 not_packed: movem.l (a7)+,d0-a6 rts decrun_table: dc.w 32,32+64,32+64+256,32+64+256+512,32+64+256+512+1024 dc.w 32+64+256+512+1024+2048,32+64+256+512+1024+2048+4096 dc.b 0,1,3,4,5,6,7,8 ifne PIC_ALGO decod_picture: move -2(a2),d7 .next_picture: dbf d7,.decod_algo rts .decod_algo: move.l -(a0),d0 lea 0(a5,d0.l),a1 .no_odd: lea $7d00(a1),a2 .next_planes: moveq #3,d6 .next_word: move (a1)+,d0 moveq #3,d5 .next_bits: add d0,d0 addx d1,d1 add d0,d0 addx d2,d2 add d0,d0 addx d3,d3 add d0,d0 addx d4,d4 dbf d5,.next_bits dbf d6,.next_word movem d1-d4,-8(a1) cmp.l a1,a2 bne.s .next_planes bra.s .next_picture endc ifne MODE copy_decrun: lsr.l #4,d0 lea -12(a6),a6 .copy_decrun: rept 4 move.l (a5)+,(a6)+ endr dbf d0,.copy_decrun rts endc ifne RESTORE_SPACE buff_marg: dcb.b $90+DEC_SPACE+$C endc ;---------------------------------------------------- sort_it_out ifne flash move.w store(pc),$ff8240 endc trap #1 ; user mode addq.l #6,sp lea packedfile,a3 ; start of packed file in a3 * a3 is pointing to start of depacked program move.l 2(a3),a0 text segment add.l 6(a3),a0 + data segment add.l 14(a3),a0 + symbol table lea 28(a0),a0 + header add.l a3,a0 + start of program * a0 now points to relocation table move.l 8(a5),d0 d0 points to TEXT lea 28(a3),a3 a3 points to program move.l a3,a6 tst.l (a0) zero 1st relocation? beq.s done_reloc moveq #0,d1 add.l (a0)+,a3 + offset relocate add.l d0,(a3) relocate it add_no_reloc move.b (a0)+,d1 next byte beq.s done_reloc zero is end cmp.b #1,d1 1 is add 254, but bne.s not1 don't relocate lea 254(a3),a3 bra.s add_no_reloc not1 add.l d1,a3 + offset bra.s relocate done_reloc lea packedfile+2(pc),a2 past $601a move.l (a2),12(a5) write real TEXT len add.l (a2),d0 TEXT len + TEXT addr move.l d0,16(a5) write real DATA addr move.l 4(a2),20(a5) write real DATA len add.l 4(a2),d0 + DATA len move.l d0,24(a5) write real BSS addr move.l 8(a2),28(a5) write real BSS len * now move code somewhere safe move.l sp,a0 lea -256(a0),a0 pea (a0) lea mover(pc),a1 moveq #(endofmover-mover)/2-1,d0 copy_mover move.w (a1)+,(a0)+ dbf d0,copy_mover rts * move the program down to the correct address mover move.l 12(a5),d0 TEXT len add.l 20(a5),d0 + DATA len lsr.l #1,d0 divide by 2 addq.l #1,d0 one for luck move.l 8(a5),a4 pointer to TEXT addr pea (a4) run address copydown move.w (a6)+,(a4)+ subq.l #1,d0 bne.s copydown ifne clr_bss * clear the BSS move.l 28(a5),d1 add.l #(packedfile-start)+28,d1 lsr.l #2,d1 bug fixed...! addq.l #1,d1 clrbss move.l d0,(a4)+ subq.l #1,d1 bne.s clrbss endc * if you wish to modify part of your program file, but don't wish to repack * it, you can put a piece of code like this at this point: * move.l 8(a5),a5 a5 now points to TEXT area of prog. * now you can carry out modifications off (a5), etc. such as: * move.w #$4e71,20(a5) * or whatever you want! ifne pre_reg movem.l start-128,d0-d7/a0-a6 movem.l d0-d7/a0-a6,-(sp) lea start-128,a0 moveq #15-1,d0 clregs clr.l (a0)+ dbf d0,clregs movem.l (sp)+,d0-d7/a0-a6 endc rts run the program endofmover ifne fade_on delay moveq #7,d7 Delay used in fading colours .1 move.w #$25,-(a7) Wait for VBL trap #14 addq.l #2,a7 dbf d7,.1 rts endc ; ; Text Message goes here ; ifne flash store ds.w 1 endc ifne text_on text dc.b 27,"E" ; CLS dc.b 27,"f" ; Hide cursor ; 0123456789012345678901234567890123456789 ; 40 chars dc.b "+--------------------------------------+",13,10 dc.b "| Revenge Of The Mutant Camels by YAK! |",13,10 dc.b "| |",13,10 dc.b "| Packed by: MUG U.K (of The Source) !|",13,10 dc.b "+--------------------------------------+",13,10 dc.b 0 endc ; ; the packed exec file goes here ; packedfile incbin "e:\cyber.atm" endoffile evenmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm`)V*Z?<NN @0<}BQ>NNJA6g|9HP?< NAPOAB a&MM +ЫЫA .GIJgrѓB(g<fG``GPN$^,,,,ܓ,,Cp$L(QGX /KN(K&YdB`BN/K ,HNRK&`:UgdCDE`$|a^g`|aVg E`&`| aDECI&4fLf&e|`@|a$J*g2P`f``BEg EQJENu&`|a84@HJ*fXF`.a2I|aʺ<m|ag |aEA`*`2P:`aDgt@IP$$Q` f&ed&fg^|avg &CrtfTATAQP`Q|aJgCpQP`QBC&&H&&M``NZ,Nu ``````Y %ATOMIK v3.5 by ALTAIR VMAX/MCSQ4&ّPlAu*o͵3r,p`όQn.Z/\]%Z@٢ҢXb(6?*W@P?OB]y$zEϺI'G0Q×8>kw+7Бr9K?.<&kZbԗ.YmQִO[ZNL.,d0eH0QA=e=SC+U wLDԏ["OL1-ª[e[K30 OPjԫ1 IzRM۪4>iV E rvx1ַZv.Z V2Z Jh{ 4[O k?1˶uo4!@XAʕaL+2BPBZt 5]Ai4WtDN*-WFJ+-k zM ,Fyp4uM[v5[AnO5,}Z4Y–T̢vpK cTUK Kh-trk`'?7( PЭ\U朥JVީ(&*Xk,"p\6;#OYbcsq}iuVf4X TJAW*BsY.=k.'/(pZ?(OkݳNPr)P|GPZve\IIIt阁Q;JJN JBۮvO c-^u.K6:&쐌I!|#v:ƨ!ú^P.V zGCv&%:Gt, S tIFt](GF`2ɰ-_H(^k&Fww*N~gXQ& 8F2Pvhvh;eFQx#4SZP<ۂaE ? /GP(l:xjp4(:EVYbT~+"fZx"Jx ]C54Tڝņ(4&T m$ͬuQ?,]+V-= x=zOyzNYrB½v?Ni ZmC0O];ΪV)r 4#hJWZ> Z]"4 ϖ"X4*p5B{"^΢є)#2F-S '6IPi}^j:5V?=HWP\WSH^}k58#4??Q4eXeܒ8%3PmY( ]>nB$1&SGcߐr'ABljO+irqTaZR/Z B"Id~T YI&iHբكXomӀr6j~ǭ5C߁ \"3%0ЁЃP`!"$L-I΢'T *~/RD.cv" VCGFW 8)$I2Ȕo $:qrd?\qV*,L :EߓEXEugdƽ7dE4נh|($ @,&z%pJ@|PkHXչVPռ< c$BkX8Ж3jJ)?.LPZEP\%U'f!'X$vi*X\O~eB4wak*V4bn F4R#m@0xlМ3h(z@\(-h~TM 5Pdpw#;OWnMP#-,ΰ*XM Usv~B3̢~C(#\ Ovg PLkaztb"eG-m#\JǓ*0 *+_+op 3dqOOk@nz|J:0(:BMUAYJN5:j@[P1|ȸo)ȚK,$*z?2PiS&2 ~?>?lj??rn"9Y̝@`貞lx1O"+nSX>k= g8T9$V<_5o6 W**mL5LJlh_ rnTRZP(~ 0T5Ft$r#P#h$ tlBޭMopmx؈o8 IUJzo,3PQ* HSm|bn !eET3DQ$_tbM KN y6S52M`T:/zJB8 t I .BQ6[)J(^Њ_ 3̺-&f.o6..DP2f:?CYz>o5[w}`xzrGL`ȱRD2hGMht(QJtsZꥨ-JJrѰJB@"ݖSruA^PX$vg˖@Qn-&p6TjV3mft7j$ T(0\]QGif0mT q$hSBS(-_ံz$J&ЀЃҀ҂]$5EQ8*nLS ˈ+*p~qn?0P-wGtȵ m겼l d4l4zܐjeP:08xL6n.0mb qEkź˹[lF@ 0Dv3BŭX,\6|e?GˆTr0F3:P| ۄl&aVh?0:դw<TQ$o0aZ<#GOzXJ9Yލ82?l6rC=D?vn ҟv3 Jv^.& Zmo_{{?0d6;0p:4<eQcGu"M'?G}0lzX~`B@Q޸ve5eC's d@_B(ַrLGZ8@0<}B>f>Nh6(|9mWP?) N3PyOB=dÌEM+uy}.IJG-G:PN$^,9ܓ,,p8$L( GX8N(K&YdrBN/K],9N}K^_r:bUid<}E=$,^o|3V k}|" E>>I~&4>L$@|B@|4$W?h`K}pĀBEzEQJEy@)Q84@J$kXF3.rz2IP<m |TE y9*Ƽg2P:`zxt@IP~$\) 9&ed&͠^oIv9IrtNQ|pJ pQPPPQ9B&g`s&&M@bNZ,Nurrrrr8}8%$*byD./--@[@88că@ sz: c{-Ic4FXj}j 3  Sq ziLz#Nxr"Nz*V@2^:@E!My)U1]pLx(T<h}">Ў;Z P"܏9Ѡ 3@wkvDmlS_ln,(27/1/92 y|TиqirP+,l |8'_g&QF!.ZF_{TMKm_F719@62PUB/8ǾZ<:?#C0b|ЅCQH^(9@/SQ)- E|+,'q@*S R'.2[VHR.4yv[C Vr*7`Fh!U '-O|37F>`} N JaOFFJ+)7no>թH \Ƌ586JNXtEcS],qLUܽbJĆ&䱧[#ۂpvSE۷_IGS-F5EXFOMA +`L !W]\Bsc&!+#OKdA|LOJwBXۆ00(~(A1*%mSۆ{oO_(S),_CdB)^٢[i0u6h.jLip}&3md`Msc#F@Ywʲh, k,nyly1sq<:'sͅJêe>,$@ro:mto"pU+!i 2DPL@enzno0rwJMƀ.:p417iQX?eQ!۬yaJ:,%RerMi< Kwd$22i-juO,om$X7d00bytesB~Sy>m!2Js[ex,pilFnumb]%ec= outo8zmelyX y Jl,6@>FT`_ێVBj(_*(U_O+,7)=a$qF[IYodls'u+epBl\'bhe̟6om5Yl'umז]inqur2v4be-Sy_LrjFmvri1:$TS*Ԝ'Pr-v2cet 'mbiti?Pto7u5einegs,co8ctez|xq ipVmF.N.æT.MFIs(nire@Sbtndr dqeosFnsO051KAS[~q v:92C6316q sYUdWEhX|S[B$nNՔ`@IƒM>DOCJ"@5^+1W5h4$?X `5M|VU$"eVF) Ӕf턦YK't(TOP!2'gK)V U7`: x1TD*)S{bW%(>k]2W+?ͭH:S'~(50%Hz}3UL,(iJ &A1/4G@k5X\ PfXT`OLyLFDOdOT4\&UY3S67lIENgOF'TnE.GEENGSSETION8BY8  PG*.*%,i48j:@sZu>=NJN ~<LXF ^j N8$q 'N b4L >$* И 4">0t> }" L $>  ~V "}z < 2 @4QCDaAgRfH` zmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmdingthejoystickreadingroutinesand enemyshipmovementpatterns. Version1.02-24/3/93 Ihavedrawnalltheworldblocksandconstructedmyfirstlevel ofunderwatermayhem!Notmuchtimeleftforanythingelse. Version1.03-25/3/93 Thegameisreallytakingshapenow.Ihavetheunderwater landscapescrollingacrossandyoutryinglikemadtododgeit withdestroyersfloatingoverhead!Itneedsslowingdownabit orelseyouwillnotstandachanceinhellatall!!!AlsoI havemadeafewerrorswhereyour64x32subwillnotfitthrougha 16x64gap!SoIshallredesignthelevelsandalsoaddminesand power-uppodstothelandscapethenblitthemoutduringthe game.Ireallywanttogetapalsplitorrasterinthetopfor theskybutnoluckasofyet.Itmaytakeuptoomuchprocessor time,itonlymanages25framesasitiswithawickedlyfast landscape,andtwo64x32spritesfullymaskedwith16pre-shifts! Thisisshapingintoonecoolgame,Iamamazedithasonlytaken methreedayssofarwithA-levelsinbetween!!!Ishalldesign somemorelevelstonightandthenneedtogetcrackingonthe collisiondetectiontommorow.IhavefoundsomelovelymusicI willuseingamethough(thanksColin). NSHIx,La ICE!f~aKa|##"Npw!Q&N%aj*Kad8><adpa>|8#zD@DADBDCQQHQL8Sfpw#QL$N[NurQNua2d"ra,dCv !a*H@@Vҩ%QFx@Fx@nNuf%Nurf%AQNuCtaTxr1 Hka1 Ag"CvtaTr1 HaBq jD`rptadpt?aBC@!!Q`J    Ice!f K"#Il,L&N"NEdpw!QaaVad,"K><|8!zD@DADBDCQQHQ :CQjpwE"QNua^d"raXdCv !arH@@Vҩ%QFx@Fx@nbNup%QNu> f.%߇`>.-%Wއ`,އgNu> f.%߇Nu.-%Wއ0660103030566 9[....................................................] SUBWARFARE ----------- by UNIVERSALSoftWare(c)1993 Thisgameispublicdomainandmaybecopiedaboutasmuchasyou like.Iamnotrequestinganymoneyfromitonlythatyouenjoy yourselfandifyoufeeltheurgetowritetomethenplease encloseastampedaddressedenvelope,thanks.Youcancontactme at10OakDrive,Portishead,Bristol,Avon,BS208QS. >>DEVELOPMENTNOTES<< orhowtowriteagameinaweek! Version 1.01 - 23/3/93 Received the STOS Missing Link extension today from Robertandthe Sprites600package,ithadafewnicesubmarinesandbattleships initsoIthought-yeahSubsandascrollingunderwaterbattle scapeandtheideawasborn.TodayIhaveonlyspentashorttime drawingthegraphicsandcodingthejoystickreadingroutinesand enemyshipmovementpatterns. Version1.02-24/3/93 Ihavedrawnalltheworldblocksandconstructedmyfirstlevel ofunderwatermayhem!Notmuchtimeleftforanythingelse. Version1.03-25/3/93 Thegameisreallytakingshapenow.Ihavetheunderwater landscapescrollingacrossandyoutryinglikemadtododgeit withdestroyersfloatingoverhead!Itneedsslowingdownabit orelseyouwillnotstandachanceinhellatall!!!AlsoI havemadeafewerrorswhereyour64x32subwillnotfitthrougha 16x64gap!SoIshallredesignthelevelsandalsoaddminesand power-uppodstothelandscapethenblitthemoutduringthe game.Ireallywanttogetapalsplitorrasterinthetopfor theskybutnoluckasofyet.Itmaytakeuptoomuchprocessor time,itonlymanages25framesasitiswithawickedlyfast landscape,andtwo64x32spritesfullymaskedwith16pre-shifts! Thisisshapingintoonecoolgame,Iamamazedithasonlytaken methreedayssofarwithA-levelsinbetween!!!Ishalldesign somemorelevelstonightandthenneedtogetcrackingonthe collisiondetectiontommorow.IhavefoundsomelovelymusicI willuseingamethough(thanksColin). Version1.04-26/3/93 RightjustaquicknotetosaythatIhavenowinstalledsome basiccollisiondetectionwhichreallyneedstweakinglikemad! IthinkIshallgetRobtodothis,afterallIhaveallthebare bonesofthegametogethernowanddesignedallthelevelsand graphicsandstuffsoIamsurehecanputinsomehalfdecent collisionroutinesforme.Anywayitisstillrunningandlooking nicebutIhaveyettoaddthiscoolmusicIhavefoundorthe titlepageandintrostuff,ohwell!!!Ishallgetthissentoff toRobtommorowforserioustweaking. %&`pqV`6H:gۙz8xXCXk]I 0660103030566 9[........................................................] 88 7 7 6 6 5 5 4 4 3 3 2 2 12345678901234567890 12345678901234567890 8 8 7 7 6 6 5 5 4 4 3 3 2 2 12345678901234567890 12345678901234567890 8 8 7 7 6 6 5 5 4 4 3 3 2 2 12345678901234567890 12345678901234567890 8 8 7 7 6 6 5 5 4 4 3 3 2 2 12345678901234567890 12345678901234567890 8 8 7 7 6 6 5 5 4 4 3 3 2 2 12345678901234567890 12345678901234567890 ^tnpvacPU p>z n [`p , n5Cp IC ;p`S@e݋=B@a62$H   |ϩGq,Tk2S ,yr/k3j "@H de{rdm*d©t H@Y݅5RTYnxCdڲSnt2gMc'2! <$E#ThpM@ЪD4! GCA8ds>YxZ z2 :lCb84SQAaÐtNu`lHMJg./op$@2<]BBTOJ@g.K 4HV?< NA\O*o I,GJ]٬ }̭^MJgёrSAkfC`C`R.+k & -Ҁ+Atd$*8?!C&NNO(&YdL n;{GBm(*uxFLN$|z%s. ˮw6TFW#\F&9V4Ra`(ww^a)E 8ag$a}HX| Ł0fY *Sentrcv2.05 by Eagle XM<|8%z@X,#PABDCQQHQNu@ )!!"21Ȼc1_a@ ElPsyD_0NH^A:\*.*Tmaximum$2320! En_jnew offs() z$I` Rateq|NK+g~U\memylh!^ FvZonB 8{i|beeݻEfH !sǹt; Legth: Ύorry, buI c1z_tH@_ !?J.;?filDsc0I;TiÕ߫hava1'd;7A07kLg>AD0,[[*Iae%5ll_A ۭerIDEPACK.PRG ma}posbHb ɱDQekdataAm Ypu&RAUTO-folO+lokʾ,eYqvgfI105Ice->Hzv2.xxsSm;;wqOԄhwModu=ppAlguӒm!) NRT[liH 7cEs)UiCprogram do{now-(qkh#GFA or DEGASecausdz F+J!ad fiIX by!l+If you:aX cl,ltafweK9E/d.PO.Box 120e4847J'TF&0,} Nf'Nrls1eoH2Th0N-s./{G.tetgY(: cyrgyWIgd|T. ZChromS߬)hbtISO ͣMercidLowl_fb(Eo 14mBonusK.G.E.FODF7)ntԿRCsairtexSGaln SixrCIAHotl=Bv(SdFBTOS-Cf wMrNi!ɇInsh-ahnZodiac]dRoadwarriorfctabl (TyGm)Rippgtff, CAd HWAM.E Pressxnyey.شag3EUx׼hS! N T Y - P a:r k rm"|<' Versi2.0a%Є ^(Re(asedn D.B.A. mtDazin#5,Pl5 Ma1992:DAll cod.bEagle of Sentry   8]#`* & ``'  VC.F NvB& H 4 & R6<64.Tnx "< *"&Pp |   ]mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm* * Depack routine voor data * *************************************** * Sentry Packer v2.01 Data Decruncher * * Coded by Eagle. (20 Jan 1992) * * Source a0, d0: length packed data * * OUT: D0=depacked length * *************************************** lea data(pc),a0 ; source lea buf(pc),a1 ; dest move.l #buf-data,d0 ; lengte packed data bsr sentry2 sentry2 lea (a1),a3 lea (a0,d0.l),a0 tst.b -1(a0) bne.s .cont1 subq.l #1,a0 .cont1 moveq #8,d6 bsr get_long1 cmpi.l #'2tnS',d0 ; Snt2 beq.s .unpack rts .unpack bsr get_long1 lea (a3,d0.l),a2 ; dest adres move.l d0,-(sp) move.l a2,a5 ; save for picture depack bsr get_long1 moveq #0,d1 bsr .getbyte move.w d2,unp_pic moveq #0,d1 bsr .getbyte move.w d2,unp_sam bne.s .no_sam move.l d0,-(sp) bsr get_long1 move.l d0,samoff1+4 bsr get_long1 move.l d0,samoff1 move.l (sp)+,d0 .no_sam bsr.s .unp_loop ; unpack data tst unp_pic bne.s .no_pic bsr unp_picture .no_pic tst unp_sam bne.s .no_mod bsr samples .no_mod move.l (sp)+,d0 rts .unp_loop bsr.s .getbit .cont bcs.s .blocks bsr.s .getbit bcs.s .copy_2 move.b -(a0),-(a2) ; 1 byte copy bra .l_col .copy_2 bsr.s .getbit bcs.s .c_more moveq #1,d2 ; copy 2 bytes bra.s .copy .c_more lea copy_tab1(pc),a4 .c_loop move.l (a4)+,d1 bsr.s .getbyte ; haal aantal subq.w #1,d2 bpl.s .found bra.s .c_loop .found swap d1 add.w d1,d2 .copy move.b -(a0),-(a2) dbf d2,.copy bra .l_col .get_off MOVEQ #1,D1 ;OFFSET BSR.S .getbyte move.b (a4,d2),d1 ; bits ADD.W D2,D2 ext.w d1 move.w 4(a4,d2),d4 bsr.s .getbyte add.w d4,d2 rts .getbit add.l d0,d0 ;LSR.L #1,D0 beq.s .haha rts .haha bsr.s get_long1 addx.l d0,d0 ;ROXR.L #1,D0 rts .haha1 bsr.s get_long1 addx.l d0,d0 ;ROXR.L #1,D0 bra.s .getbyt .getbyte CLR.W D2 .loop add.l d0,d0 ;LSR.L #1,D0 beq.s .haha1 .getbyt addx.L d2,D2 DBF D1,.loop RTS .blocks bsr.s .getbit bcs.s .string3 moveq #1,d3 ; 2 bytes-string moveq #8-1,d1 ; small-bits-offset bra.s .string_copy .string3 lea small_offset1(pc),a4 bsr.s .getbit bcs.s .string_more moveq #2,d3 ; 3 bytes-string bra.s .do_strings .string_more moveq #1,d1 ; 2 bits-commando bsr.s .getbyte subq.w #1,d2 ; large string? bmi.s .large moveq #3,d3 ; minimaal 4 bytes-string add.w d2,d3 ; meer? bra.s .do_strings .large lea aantal_tab1(pc),a4 bsr.s .get_off move.w d2,d3 lea offset_tab1(pc),a4 .do_strings bsr.s .get_off bra.s .s_copy .string_copy bsr.s .getbyte .s_copy move.b -1(a2,d2.w),-(a2) dbf d3,.s_copy .l_col cmpa.l a2,a3 blt .unp_loop RTS get_long1 move.b -(a0),d0 lsl.l d6,d0 move.b -(a0),d0 lsl.l d6,d0 move.b -(a0),d0 lsl.l d6,d0 move.b -(a0),d0 move.w #$10,ccr rts samples lea samoff1(pc),a1 move.l a3,a0 ; source adres add.l (a1)+,a0 move.l (a1),d0 lea (a0,d0.l),a2 .loop move.b (a0)+,d0 sub.b d0,(a0) neg.b (a0) cmp.l a2,a0 blt.s .loop rts unp_picture .low move.w #$0f9f,d7 snt2_01 moveq #3,d6 snt2_02 move.w -(a5),d4 moveq #3,d5 snt2_03 add.w d4,d4 addx.w d0,d0 add.w d4,d4 addx.w d1,d1 add.w d4,d4 addx.w d2,d2 add.w d4,d4 addx.w d3,d3 dbra d5,snt2_03 dbra d6,snt2_02 movem.w d0-d3,(a5) dbra d7,snt2_01 rts samoff1 dc.l 0,0 unp_pic dc.w 0 unp_sam dc.w 0 offset_tab1 dc.b 5-1,8-1,9-1,13-1 dc.w 1,1+32,1+32+256,1+32+256+512 aantal_tab1 dc.b 2-1,3-1,5-1,9-1 dc.w 6,6+4,6+4+8,6+4+8+32 small_offset1 dc.b 4-1,5-1,7-1,9-1 dc.w 1,1+16,1+16+32,1+16+32+128 copy_tab1 dc.w 2,1 dc.w 5,2 dc.w 12,3 dc.w 27,4 data incbin blb_*.s buf ds.l 10000 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm* Hallo, Arnoud. Dit is de source om een Sentry packed Prg te unpacken. lea packed(pc),a0 ; source adres lea buf(pc),a1 ; dest. adres bsr depack_exe ; depack PRG depack_exe move.l 2(a0),d0 ; length of text add.l #28,d0 ; +tos header=file length cmp.l #"2.02",516(a0) ; test for v2.02 executable bne.s 205$ cmp.l #" by ",520(a0) bne.s 205$ cmp.l #"Eagl",524(a0) bne.s 205$ lea 530(a0),a3 move.l #530,d2 move.l 252(a0),d1 bra exe_depack 205$ cmp.l #"2.05",522(a0) ; test for v2.05 executable bne.s 2$ cmp.l #" by ",526(a0) bne.s 2$ cmp.l #"Eagl",530(a0) bne.s 2$ lea 536(a0),a3 move.l #536,d2 move.l 258(a0),d1 bra exe_depack 2$ rts ; Not packed! exe_depack clr.w _sam cmp.l #$4e714e71,106(a0) ; modules? beq.s .nomod move.w #1,_sam add.l #34,d2 ; jip add.l #34,a3 .nomod sub.l d2,d0 lea (a3,d0.l),a0 ; source adres lea (a1,d1.l),a2 move.l d1,-(sp) ; depacked length move.l a3,-(sp) move.l a1,a3 bsr exec_unp move.l (sp)+,a1 subq.l #8,a1 tst _sam beq.s .exit bsr ENDUNP ; samples .exit move.l (sp)+,d0 ; d0=depacked length rts _sam dc.w 0 exec_unp bsr get_long unp_loop bsr.s .getbit .cont bcs.s .blocks bsr.s .getbit bcs.s .copy_2 move.b -(a0),-(a2) ; 1 byte copy bra l_col .copy_2 bsr.s .getbit bcs.s .c_more moveq #1,d2 ; copy 2 bytes bra.s .copy .c_more lea copy_tab(pc),a4 .c_loop move.l (a4)+,d1 bsr.s .getbyte ; haal aantal subq.w #1,d2 bpl.s .found bra.s .c_loop .found swap d1 add.w d1,d2 .copy move.b -(a0),-(a2) dbf d2,.copy bra l_col .get_off MOVEQ #1,D1 ;OFFSET BSR.S .getbyte move.b (a4,d2),d1 ; bits ADD.W D2,D2 ext.w d1 move.w 4(a4,d2),d4 bsr.s .getbyte add.w d4,d2 rts .getbit add.l d0,d0 ;LSR.L #1,D0 beq.s .haha rts .haha bsr.s get_long addx.l d0,d0 ;ROXR.L #1,D0 rts .haha1 bsr.s get_long addx.l d0,d0 ;ROXR.L #1,D0 bra.s .getbyt .getbyte CLR.W D2 .loop add.l d0,d0 ;LSR.L #1,D0 beq.s .haha1 .getbyt addx.L d2,D2 DBF D1,.loop RTS .blocks bsr.s .getbit bcs.s .string3 moveq #1,d3 ; 2 bytes-string moveq #8-1,d1 ; small-bits-offset bsr.s .getbyte bra.s .s_copy .string3 lea small_offset(pc),a4 bsr.s .getbit bcs.s .string_more moveq #2,d3 ; 3 bytes-string bra.s .do_strings .string_more moveq #1,d1 ; 2 bits-commando bsr.s .getbyte subq.w #1,d2 ; large string? bmi.s .large moveq #3,d3 ; minimaal 4 bytes-string add.w d2,d3 ; meer? bra.s .do_strings .large lea aantal_tab(pc),a4 bsr.s .get_off move.w d2,d3 lea offset_tab(pc),a4 .do_strings bsr.s .get_off .s_copy move.b -1(a2,d2.w),-(a2) dbf d3,.s_copy l_col cmpa.l a2,a3 blt unp_loop ex_unp RTS get_long moveq #3,d6 .get lsl.l #8,d0 move.b -(a0),d0 dbf d6,.get move.w #$10,ccr rts offset_tab dc.b 5-1,8-1,9-1,13-1 dc.w 1,1+32,1+32+256,1+32+256+512 aantal_tab dc.b 2-1,3-1,5-1,9-1 dc.w 6,6+4,6+4+8,6+4+8+32 small_offset dc.b 4-1,5-1,7-1,9-1 dc.w 1,1+16,1+16+32,1+16+32+128 copy_tab dc.w 2,1 dc.w 5,2 dc.w 12,3 dc.w 27,4 even ENDUNP move.l a3,a0 add.l (a1)+,a0 move.l (a1),d0 lea (a0,d0.l),a2 .loop move.b (a0)+,d0 sub.b d0,(a0) neg.b (a0) cmp.l a2,a0 blt.s .loop rts packed incbin snt205.prg buf ds.l 10000 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm. .. HRAMDSK2PRG ` N B`"/ <\//Bg?<JNA /<T?< NA## pH3aJy:g83|3z y:fagB ` y:g a#r?<NNTO3xf>?</<.?<?<NAXOJVJfJyzfJygD`2/(| !a4 3zag tgug  gr g<9Pf||ol<<`dHf|JFjRBF`LKf| JFj:| `2Mf| |o| `J@gH<n28Đ<Hf`< g<gT<1m<9o.<Am<wo(|a2?<?<NMXO`n||9|13aB09R@HH@"#4< 8HĈTRD3||3~D|yz3LTDD309333JrgV&8. yr` P"(Ҩg&Jf# ]Haf By|`\Br` 9jґ3?<NNTO @"@2<"Q?<Q09t @."k&x.`0?<?<NAXO<fagB `?+?<NMXOg*'x~$'xr>'xvTC!~C2!rCH!v082+1<AB6+(|aHKA (I0a4(|a*Jy~f4Jrf,a/<$?<&NN\O xNa4By(|Uaaa/9?< NA\OJyxf,?9v?<?<NN\O?</<I (aQNu/<?<?<NNPONu/<?<?<NNPO/j gH,< `?<?/< ?<BNA f"/</<??<@NA ??<>NAXONu"< N0<NBNuHBBBE/<$?<HNA\OJg,/ A-P to select Current Drive: Select RAM disk size:Y5>Esc/Undo = no ram disk Press any key to continue...Y74(on time-out, will automatically install)by-pass)Y74JY)01 = 56 K Y*02 = 122 K Y+03 = 187 K Y,04 = 253 K Y-05 = 318 K Y.06 = 383 K Y/07 = 449 K Y008 = 514 K Y109 = 580 K Y20A = 645 K Y30B = 710 K Y)BC = 775 KY*BD = 841 KY+BE = 906 KY,BF = 971 KY-BG = 1036 KY.BH = 1102 KY/BI = 1167 KY0BJ = 1233 KY1BK = 1298 KY2BL = 1364 KY3BM = 1428 KY)TN = 1494 KY*TO = 1560 KY+TP = 1625 KY,TQ = 1690 KY-TR = 1755 KY.TS = 1821 KY/TT = 1886 KY0TU = 1952 KY1TV = 2017 KY2TW = 2082 KE p HybriSwitch Reset-Proof Ram Disk 1.1 q This is the stand-alone version of the HybriSwitch Reset-proof Ram Disk. It is different from other 'resetproof' ram disks in that they require an extra reset. The HybriSwitch Ram Disk is able to accomplish the same task without having to reboot. HybriSwitch is a multi-application manager that allows you to have multiple programs in memory and switch instantly between them. It is available through dealers of Hybrid Arts products. Current programs supporting Hybri- Switch include: MidiTrack, GenPatch, EZ Score+, Ludwig, and ArcShell by Charles F. Johnson. Developers are invited to contact Hybrid Arts, Inc. at (213) 826-3777 for information about implementing some of the powerful features of HybriSwitch. While HybriSwitch only allows one to reenter compatible programs, it can still run ANY 'legal' ST program and upon quitting, reenter any compatible program. While HybriSwitch Ram Disk is public domain, it is still: Copyright 1988 John Eidsvoog and may not be sold or distributed commercially without my written consent. P.S. Even though this program is free, any donations ($10-15) will hasten updates, register you as a user, and be greatly appreciated. Thank you. p John Eidsvoog, P.O. Box 4336, N. Hollywood, CA 91607 qE HybriSwitch Ramdisk not installed...Y%ZpAqEY! p HybriSwitch Reset-Proof RAM Disk Copyright 1988 John Eidsvoog q ramdisk installed as drive A \AUTO\HRAMDISK.PRG   @x  $82&    $   4& &:   &$ mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm. #.. #ARC TTP&ARCSHEL2PRG, ARCSHELLRSC0`&,0*o m$m,B"HJgP"&J$YJf"Jg< Af Rf Gf Vf =f Jg#B "&J$YJf"Jf&f2B "EHB2 r ggSJ"g fB*`B" H#H.I+I/ #D//SA?/ / Bg?<JNA Jf.?<?<Nv>Nw.?|BWNv>Nw.XON" ?Nr?<LNANVB.Bn nlHyN\:.N\0. N\&.,N\.PN\.oN\.N[.N[.N[.N[.N[.//9|NZ/y|XONZXO=@S@0@| \g y|p\HyWNV./9|NZ:POp=@0.nlH @ /NRXORn`Hy,Hy_ n /(NQ*/y|/|d.NZb/|"/|,.kNP n -h ng>H?HypNS\O g0.g nH?.H?Hy~NQPO nP` n Bf p3l` n Wf Byp` n Hf p3n` n Nf Byr` n Of p3x` n Gf R# ngR`S`^ n Sf p3v`J n Kf p3z`6 n Qf p3`" n -g /gH?HyNP\OR`.f HyNPXO0.W@3p?09fp?`?9NR,XO#p=@0.nl$W@H @0.H"@ Rn`Bn0.ylH"@ Q @f ?.NTO`0.H"@ Q >fvp=@0.H @ R-@ @ >f p=@R0.R@=@0.yl&S@H @0.H"@ Rn`Sy`FRn`>0. @g @g`&Hy&Hy` Hy&Hy/.Ng .H@A @bH0@ PN` .Ffp?`Bg .Ufp?`Bg .Mfp?`Bg/9?9N `/9?9N`z .Pfp?`Bg/9?9NPO`Xp3t/9?9N`PORy`(/. HnNMPOBBnHnHn/.N 9g0/N]XO-@/9HnN PO0gHnHnNM|PO0f09rg/. HyNM./|&XON]XOp?/./9N\6 `j0.fb09rg/. HyNL/|&XON]XOBg/.`0.g/.`09rg/. HyNL/|&XON]nXO/9N\6XO-@p  /9HnN POHn/9/.N!/n POHnNLPOBg/./9N[j/y\OHnN POp?/./9N[D/n\ON\XON^NuNV#N^NuNV 9g* @f # yRH0.4@`0.N^NuNV 9|g/HyHyNK`HyHy,HyNBJ p?N9LTOBn0.nlH @BhRn`/. ?.N\O0.g/9HnNVPO0gBnBn0.nl:H @ /HnNbPO0gp=@0.H @p1@`Rn`0.g HnNXO`/9HnN b/n./9N f `b/9HnNPO0g HnNvXO`B9 /9HnN POp?N8TO09rgDBn0.nl6H @0(f"0.H @ /HyNJ PORyRn`N^NuNVHyHyNYPO-@fHyHyNAPO09rg/.Hy7NI/|&XONZXO/././9N:b BgB/.NX/y\ONY.XO-@p  /9/.N /n./.N Bg/./9NXp/y/nTON POp? n/(/9NXD/n\ONY.Ni2XO0g 09pgHyHyZNHPORyN^NuNV0.f HyN@XOBn0.nlH @BhRn`/. ?.N>\Op?N6dTO/9HnNPO0gBnBn0.nl:H @ /HnNPO0gp=@0.H @p1@`Rn`0.g4p?/./9NW< 09rgzHnHyNGPO`f/9HnN/n./9N `:B9 /9HnNVPOp?N6 TO09rgDBn0.nl6H @0(f"0.H @ /HyNGfPORyRn`N^NuNV n(H=@Bg?HnpW?NA n 0 n0N^NuNVBg/.p=?NAPO=@=n=n p??.HnpW?NA?nPOp>?NAXON^NuNV0.H?NBhTO-@Bn0.nlH @Bhp\?0.H @ /NF\O-@fVp/?0.H @ /NE\O-@f6p:?0.H @ /NE\O-@f0.H @ S-@0.H @ .R Rn`VBgN3TO0.g/9HnNPO0gBnBn0.nl:H @/HnN"PO0gp=@0.H @p1@`Rn`0.g$?.0.H @ /HnN `vp?/./9NT`/9HnNvPO0g?.HyHnNj `BgN3TO09rgDBn0.nl6H @0(f"0.H @ /HyNDPORyRn`/.N@XON^NuNV00.g(/.Hy&/9N5l/|PONDXO`/. Hn4NDVPO n g09zf HnNDXOR .Ѯ .Ѯp?/./9NJ `BgN*TO09rg409zf,HyYN;XO09tg HypN;zXOHyN;nXO09rg/./.HyN;P 09tgT .g2Hnpd//.NcD/@XONbtPO"pd/HyN;PO` HyN;XO/.HyN:POHyN:XOBn0.nl6H @0(f"0.H @ /HyN:PORyRn`N^NuNV09rf/.HyN:PO` n0(HH@=@0(H@=@0(@=@0(HH@=@0(H@?=@/(/HyN: 09tg9 HS@ @b@H0@ PN`0BBA nHAGRpnnpn2.a=A nm nR00.@=@Qn0.g 0. n09Py`Hy`f@-|T=yP0.Hѹf/. nRH?N\OSnfBy`09tyRn 09xo09`o@-|T09P=@Hѹf0.Sn0g/. nRH?N\O`By`09xgr 3Pp4hS@3RByx`~RyP y Pf 3R`bp49PhS@3R`N09`^@H=@Hѹf09`o&0.Sn0g/. nRH?N\O`By`.N^NuNV-|T09xn09yl09tyRo09tyRo.RyP y Pf 3R`p49PhS@3R09xor 3Pp4hS@3RByxBy09yPl./.N(XO=@ @g0yTHHRy`09np`By29PSA09HA3=y=yP0.@ n-HnRB@4.h=@pBnpB=@ nm nRB@4.hnPnQn0nBA nB@A4.hn09Py0.@N^NuNVBy`p#n#fBjByxp#b#zr 3Pp4hS@3R3t?Hy N0PORy` nR0.=n nm* nR"y0.H @=P`"nR yB@=@/. S nB@?N# \O b09t=@yl,H @0 y0.0.R@3t=n`N^NuNV0. n@@H@B@H@-@Hn/.NWPO-@N^NuNV0. n@:@N^NuNV0. @=hg=n`0.N^NuNV?. ?. yNXO=@ @f0.`l?.NTO=@@e@=@й-@ ng"Rn0. @fBn-y`\`0. @1n0.N^NuNVp?Bg/9NVPOBn nd?.?p/?0.H @ /N*\O-@fp:?0.H @ /N*h\O-@ .g0.H @ .R Rn`tN^NuNV/. N:ZXO-@09vf09rgHy@N*.&N;ZXOB9BBByNhN09g>N/.NXO=@ @gR?N2TO/. ?.N\O`/. N`B/. NXO/.NXO=@ @gR?NTO/. ?.N\O`/. NXO-@N-@`Bp-@-@-@BgB/.N8 n1y n!yB9N݆09zg(09rg /./././9HyMN)` 9nnn09rgHymN),.&N9XOp Bg/./. N84 ByB@H#/.NXO=@ @g/. ?N\O` n1y 9 n!@ n!@` .lbl\09rg HywN(XOp n!nBg/./. N7 /.NXO=@ @g/. ?N\O` .lR09rgHyN(&.&N8XOp Bg/./. N7./n /nTON PO n!@`B09rg09gHy`HyN'XO09gp `p n!n09rg8 nHhpd/ n/(NO/@XONNPO"pd/HyN'fPON^NuNVB@9 @bH0@< PN`p/.NXO3`09 @g @gp3/.NXO3yf ylRy`09 @g @gLp0<`Lp09`~p09`*HyNdXO`B9B@`p`p09N^NuNV/.N2dXO=@ @g??9NXO3R0.N^NuNV/. ?.N(>N\ON^NuNVx-|xB|/. ?.N\OBgNTO0.gf/9HnNPO0g|HnHy n /N/@POHnNPO0g/. ?.HnNR `p?/./9N4`/9HnNPO0gHnxp?HnN `BgNTON^NuNVP/9|HnTN$POHn/.HnTN p.?HnN$\O-@PHy/N$PO0gdHy/.PN$PO0gPHy/.PN$PO0g<09pg/.HyN$PORyp? n/(/9N3 `09pg&HyHnN4~PO-@gHnHyNFPOHy)HnN4XPO-@fHnHy,N PO09rg/.HyON$.POHybN\XO-@/././9N/nPON4r.cHnN Gl60HA0.nPdRn0HA0nRG`0.R@=@B.~ Gl<0HA=P0.nd0g0HA0p@RG`.f` no$~ Gl0HAp00RG`.N^NuNV/0. U@H>0m0. S@??/.NPOSG`.N^NuNVH0. HR@>0. H @<nnnl*0R@H @?0H @?NfXO0gRG0H @??NJXO0g:0. H @0H"@00H @0?.?/.NVPOLN^NuNV0. HC0.HA0Qcp`N0. HC0.HA0Qf&0. HC0.HA0QnB@N^NuNVH >< n o n=PSn 0. H"@00. S@?Bg/.NPO n=P0H*@0RG0;n;n0.HC0.HA0Q:0.HA?0.HA?N4XOR@;@0. S@?Bg/.NPO`4 n3L N^NuNV0.n o0`0. N^NuNV/~ Gl0HABPRG`.N^NuNVH0. HA>0. HA< GfL FfF0. HA00. HArn0<4hy0 nnVB@`T Gg$p4.hF@y?0R@?NbXO @g( Fgp4.hy?0R@?N:XO @fpLN^NuNV/. 0.@?N/n TO0.@?N\ON^NuNVH ylB@` 09@=@/.?N\OBn=y0.nlv0.HA>0.HA< Gl0R@D@`09G> Fl0R@D@`09F</.?N./n>N"\ORnSn`0.HT@HLN^NuNVBnp=@09nmF0.f0.`rn094hn0.29i3y0.@`09orn094hn09n yfBy nfp`R/.N6XO3 @f309HA309HA3`N^NuNV/. N0XO-@/.NXO=@ @g/. ?N\OR` .N^NuNV 9'# o& 9-@ f -|`&Hn/9`Hy 9/NAPO-@ .o#`8B?<\?<Hy-0NBPO3p3/.?<N\ON^NuNV/=y=y-|0.m0.@ n-Hn0nBA0.4.hA>0BBA nB@AGRpnnpn2.a=A nm nR00.@=@Qn0.g 0. n09yHyf@-|=y0.Hѹ/. nRB@?N \OSnfBy09ΰyn 09o09o@-|09=@Hѹ0.Sn0g/. nRB@?N\O`By09gr 3p4hS@3By`~Ry y f 3`bp49hS@3`N09^@H=@Hѹ09o&0.Sn0g/. nRB@?N\O`By.N^NuNV-|09n09yl09ΰyo09ΰyo.Ry y f 3`p49hS@309or 3p4hS@3ByBy09yl*/.N XO=@ @g0yRy`09np`By29SA09HA3=y=y0.@ n-HnRB@4.h=@pBnpB=@ nm nRB@4.hnPnQn0nBA nB@A4.hn09y0.N^NuNVByBByBp##'r 3p4hS@33?<\?<Hy-0N>POp 3p3N^NuNV09gR3By#' lRy 9#`py3By`FRr29p0.Ё#0.49h4@=@HA-0 fr0.HA3`0<'n=@0.fp=@0.nln'0.HA-0 g0.HA-0 o`0.HA-0 l/. ?9N\O309ΰyl60.HA09Ry00.HA-0 ` 9İm /. NtXON^NuNV/.?9N/nTOp?N\O 9N^NuNVp 3Byr 3p4hS@3=|0.m*H @BP yp.@Sn`3/.NXO=@=@ ng/. H?Np\O-|/.NzXO=@ @oh @fF=|0.mH @BPSn`p33/.N.XO=@ @g=n0.ymPyo409pg"HyN?y>HyNPORy` nR0.=n nm* nR"y0.H @=P`"nR yB@=@/. S nB@?N>\O b09=@yl,H @0 y0.0.R@3=n`N^NuNVHyHy,N"PO#f20.g09rg$Hy,HyN`Hy,HyN PO0.g4HyHyN!PO#fHyHyN PO3N^NuNV 9g(/N"XO09zg?9?9Hy,NRPO0.g/9N!XO 9gv09lgLHy"N1j."Hy,NPO0gHy"Hy,Hy=N Hy"HyTN` Hy,N1XO0gHy,HypNPOHy,HyNPO0gHy,HyHyN ?9?9Hy,NxPON^NuNV0. 4.@@H@B@H@A0@@4@N^NuNVBgN&TOp?B/9Nh/y\ONXO-@BgB/9NF /9HnN0PO0g|/9NXOЮoHnHyNPORy`NHnHyN/|&XON XOHnB/9Nb 0gRy`HyNXO`r ylHyNtXO`$ yfHy`?9HyNN\ON^NuNVBy n#ByN"9 HS@ @bH0@L PN n09hg,09pf 09zg/.HygNPORy`B@`|/.N&XO=@ @g/. H?N`\O`/.NXO=@ @g/. p.?Nd\O`/.N@XO/.NXO=@ @gT/. p.?N0\O`BgN>TO/.NrXO=@ @g"/. H?N\O`BgNTO/.NDXO=@ @g/. p.?N\O`p?NTO/.NXO=@ @g/. p.?N\O`/. /.NۢPO`/. /.NR`09pg$/.HyN |/|>XON nXORyp? n/(/.N| pN^NuNV?.?9NXO3/. ?.Nΰ\ON^NuNV09J@g @g8?HyN\O`Z nf p3`H/. 0.3?N`0.gSng /. ?9Np\O`/. ?<N`\OByN^NuNV/ 9fp` S/. n hNXO>?NvTO.N^NuNV/.NXO=@/.NXOH=@n@N^NuNV/ pc3/.NXO30m ym HyNXO33Bn0.yl:HG/.NhXO60.HG/.NLXO6Rn`&_N^NuNVBn0.mhRy09 @oF/.NXO3 @fp`\By29AH0.HЁA=P`29A3`0.R@D@=@ @fp`0.=@0N^NuNVp ?NATO g p?NATO`HyHy@N ./|@XONXOp?NATOHyHy@N PON^NuNV-np:?/.N\O-@g: @(H=@R @'ona`nA0.m @l ?p?NAXO ng /p;?NA\ON^NuNV/. /.BgpV?NA gdHn/.N(PO0gp`PHy/.NPO-@ gHy/. NPO-@ g/././.Nˊ/nPON)XOB@N^NuNVp?Bg/. N2POBn ng( .g" nl0.Rn0@ "nR`p =@ ng" n l0.Rn0@ "nR`N^NuNVtB.x/.HnxNPOp\?HnxN\O-@tfp:?HnxN|\O-@tgRt/.t/.NPO .tg @B`B.xHn/. NPOHn/.N PO nBHnx/.NBPO.gHn`Hn/.N(PO.gHn`Hn/.NPO .N^NuNV-n ng0"HH0@g nH?N TO nR`N^NuNVHyHy@Nj?n?n?n TO/.Hy@NH/| /|@\ON2PONp?NTON^NuNV/ .g /NXO0f?<NLTO-@-n&nRp?NATO=@@A nRp:Bg/.pG?NAPO .&_N^NuNV09fVp/?NATO#Hyp?NA\OBg/.pN?NAPO fXp ?NTO-@Hy/NPORy .`@pO?NATO fp ?NTO-@Hy/NPO`By/9p?NA\OBN^NuNVH0.. Hn/NPO./NX.XO*@ g (MJgBS` L0N^NuNVp0. /p0./NVPON^NuNVH8&yD g.*[ g((nHHAfJgR`Jf -=f `BL8N^Nu o0/BAgJfBNu NuNVH8..P bd.9/NyXO*@ Mg`Jf&M #z#v`& yf QP&m`(yQ L&h)M Q@* Ѝ#(@Q LB)KL8N^NuNVH0~ .\S@,dB`ƙ*yv gr .gH g @є .*L(Mc2  d @*`* Ѝ#v yv X`dJg @Ѝ*@`*mvf g#vRy~09~ @e Sy~`X/NWXO/.NX.XO*@Sy~ L0N^NuNVp0./NX.XON^NuNVH .Y*@Jf4~0GJg 0RG0@H?p?p?NM\O`NvL N^NuNVH *nJgR`9H |p2<`XHXW PN`\9HpA`H9Hp!`R99HR9`"p@`pa9HR9Nw<~0H H@@00H <SGf .L N^NuNVH0*n(n nf,Jg Rn0.?/ R/NZR J@gp`H=@g,H>0. |2<`XHXW PNоng`JnfJf`Jng` nfS`JngJG`H=@Jng n]g| n\f -fH=@0.Gg -fR LH0AnnmJg ]fJGf>`2Jg0S?./ / NZR J@fJf` H=@f6B@L0N^NuNVH0*n(n ..Jg8S`L0N^NuNVH8*n f/. NX.XO`J f/ NY6XOB` . \S@, e Y(@ L @.(e"  c( Ќ(@ @( ` Ќ&@ *gFڇ c>  c( Ќ(@ (` @( @Ќ(@vf#v`/. NX.XO(@ gD S// / N[ / NY6XO L8N^NuNVp0. //.N[PON^Nu o"H0/Jf gfBNu Nu"o o JfSfNu"o ofJfHHNu"o o fNu o"Jf S@Nu0/0@Ag@NuNVHnHy&N]PON^NuNVHn?</.Npr Hn HnN]POHnBg nN\ON^NuNVHn /.N]PON^NuNVH0-n n(PXH> @%g0gP/.? n hN\O`p =@p=@p=@H> G-fp=@H>`Bn G0f p0=@H> G*f& nT=Plp=@0.D@=@H>`*Bn G0m G9n0. G@0=@H>` G.fJH> G*f nT=PH>`*Bn G0m G9n0. G@0=@H>` Glf&H> Gdg Gog Gug Gxf0@> `-@*@p=@0 |2<`XHXW PN`4 nT=P0.l0.D@=@p-p ??./ NahPO*@`p ? nT?`p`p` n-PX .l .D-@p-p ?/./ Na `p ? n// Na *@X`p`p`/ ?./.?NbD *@P`fBn n-Pf-|X .-@*@g0.m noS`(Bn nT0` n//.N]PO`n ./0.Hї =@lBn0.fL0.g0 n0f( n -f/. nRH? n hN\O0.Sn0g /.?.` nd /. nRH? n hN\O`0.g0.Sn0g/.?. n hN\O`L0N^NuNVH >. *NB%0<g"0H@H@B@H@ @>`?Bg _g nR` .L N^NuNVH0*n>.IB$p0//. NPO-@g$p0//. NHPOA-n ` n g` L0N^NuNVpL?Hyp?N}POp?NrTON^NuNVNbDN^NuNVHnHy NbPON^NuNVHn /.NbPON^NuNVHn/.N]NXO?/.Npr Hn HnNbPON^NuNVH Bn n X -P nRH> |2<`XHXW PN`Z/./.NhXO<?Ni\O Ff`4/. n hNXO<Gg/.?Ni\O` nRH> @*fp`B@=@0.g nRH>Bn G0m( G9n"0. G@0=@ nRH>` Glfp`B@=@ Ghfp`B@=@0.f0.g nRH>0 |(2<`XHXW`Hy@HyNkPONUT`6Rnp `Rnp`RnBn` Rnp=@Hn?.?./.Nf -@0.g0.fb0.g n X P `0. n X P0.0Rn`0RnHn?./.Ng -@-A0.g0.f0.g n X P .". !A` n X P .". `A-H nRH> @^fp`B@=@0.g nRH>0g G]g nR` nBA-H/. n hNXO<`D0.fp=@/. n hNXO<-|`/.NhXO<-|p=@0.f n X *PBn FgH?/.NWp\O fp`B@nf*Rn0.fSnf|`/. n hNXO<` Fg/.?Ni\O0.g0.f GcgPB`J0.f n(H@gp`0.L N^NuNVH>. <.B0o F o| nBP/.NhXO: E-fp`B@=@f E+f/. n hNXO: nRP n0FnP0fL E0g~ `B/. n hNXO: nRP0Fn$ Exg~`~/. n hNXO: nRP n0Flf0@W8 @ l0@78 @ l0@08m D nGm Gf0 .f*0@x8f 6HHn0H/NPO-@`z/.?Ni\O0.g .` .DLN^NuNVH |K0. o n op =@ nBP n0n l/. n hNXO> |2<`XHXW PN`|0fx nSP nRP`0g Ff`RF` Fn(|`0g Fg Ff|` Fm6 Fn0|` F` Fg Fg Ff|` Fg Ff|`/.?Ni\OBHnNXOL N^NuNV//. n hNXO> @ g G g G g0.N^NuNVH >. *nSGo"/. n hNXO< @g 0 @ fB Ff fB` .L N^NuNV/ *n/ mNXO*_N^NuNV/ *n rf&+|j+|jBm -;n0.`> rf +|jJ` sf +|j` qf +|j`p*_N^NuNV/ *n+|r+|r6Bm -0-*_N^NuNV/ *n+|r+|t* ;@ o -;@ -0-*_N^NuNV/ *n+|s+|tBm -0-*_N^NuNV/ *n+|q/N]NXOD@;@ 0-*_N^NuNVH >.*n / mNXO/ ? mN\OL N^NuNVH0*n(n g/ H? lN\OR`L0N^NuNV/ *n / ?. mN\O*_N^NuNVH0*n(n0. =@,g/ lNXOSn ,f,f 0.gL/ lNXO> @g:Sn`?./ ,H?Nx^PO>on`0f,`,0. n L0N^NuNVH0*n(n0. >,g / lNXO ,f,f&0g/ B@? lN\O @gSG`0g$B@`$?/ ,H?N}POGg,`0.L0N^NuNV/ *n-g / mNXO/ NuXO @fp`D?./. -H?NwPO-@ g -g0.@H@B@H@Э*+@B@*_N^NuNV/ *np?B-H?NwPO-@ fp`" -g HѮ-gS .*_N^NuNV/ KZd. g U(fp?//. /.Nn*`X`B*_N^NuNV/.NmXOp?/./. /.NnN^NuNVH *n-fp`-H?Nv2TO -g-f /-NY6XOB-0L N^NuNVH *nBm -ff >o?/--H?N}POGf$0m mAf -*+@`+UB@` 09BH fByB`-pL N^NuNVH *n>.|BnBnp=@ n R pr@H @rf|pw@ n g,H @bf"BnR n gH @bf$Bn0l0.f?/.Nw\O>0l@0.f0.g4?</.Nv~\O>m Fg?Nv2TO?/.Nw\O>0m0.gp?B?NwPO-M .fp?NYTO*@ f ?Nv2TO`|p@0.g- p+@*+@Bm +|r+|r6G `DH @wfRn`H @af&Rn`H @+g.HHAf|`BL N^NuNV/ *n .*+@+|qB-0. D@;@ m l;| +|p`+|p *_N^NuNV/ *n Sm lBm p` UR0.*_N^NuNV/ *n UR0.*_N^NuNV/ *nRm oBm p` URB@*_N^NuNV/ *n -f,-f?<NYTO+@f+|s+|t`j-f2-H?NwTO0g&f+|r+|u2 -`&+|r+|t*-H?NqTOHЭ*+@Bm *_N^NuNV/p?B?.NwPO. fB@`0H@.N^NuNV/ *n/ Nq,XO/ mNXO*_N^NuNVH >.*n / Nq,XO/ ? mN\OL N^NuNV/ KY MZe g/NmXO`*_N^NuNVNrd?.NvTON^NuNVH *nRm o/ NnJXO0f u28fHy&NnJXO -?/--H?Nx^POD@;@ @fZ09BH fByB`-Bm `B0- Rm m+H URB@>-g G gP Gg 0`0- f-pL N^NuNV/ *n u28fHy&NnJXOBm p?Hn-H?Nx^PO @g,J@gH .f-f8 . f-fB@.`(09BH fByB`-`-p*_N^NuNVH >.*n G f -g/ p ?Nt*\O @fp`0Sm l"/ NuXO0f -S@;@ UR0L N^NuNVH >.*n G G f-g/ p ?Nt\O @gZBm -fN/ NuXO0f@p?Hn-H?N}PO @f0` 09BH fByB`-pL N^NuNVH >.*n G f -g/ p ?Nu2\O @fp`?NAXO/N XO`B@N^NuNV/Bg/.pl0H/N XO`"?.N~,TO=@m?.?N~XO0.N^NuNV/?.?. rF?NA\O>0f(?.N~,TO=@m?.?. N~XO0. `0H/N XO.N^NuNV09g09`p?NNTO3N^NuNV?.N~,TO @Cfp`B@N^NuNV?.?./. pB?NA /N XON^NuNV/?. /.p=?NAPO.m:0H.mpF?0?N~XO` m n0?N~TOH./N XO.N^NuNVH A#/9NXO0gBp 3Bp`?.N~,TO @CfzB@9#>B@9"H"*@SnmSGl^pQ"B9#Hy"p ?NA\O>mp ?p?p?NM\Op"B@9#>B@9"H"*@0Gp H< Ff~` n R RE F ft ""#B0`0/. 0.H/?.p??NA >B0H/N XOL N^NuNVH.. l <`0 f 9`$R @./pH?NA\O,g Ї# LN^NuNV0.H/NyXON^NuNVH0*n(n H>g HGgB@`pL0N^NuNVH8/9N]NXO@> .g(&n*S gHy/ NzPO0fRGfX`&n *S g RGfX`0@@0H/pH?NA\O(@-@fp` .g&&n*S gHy/ NzPO0ffX`KfS*yH<g`-L&n *S gfX`B gR-Lp*nfg" nAcg`R Mgp ` nAcB`BgN{TO/././.BgpK?NA*p?N{TO/.pI?NA\O/N XOL8N^NuNVN^NuNVH *nHH. :gB@`Za  e  d03z2p4. 9vfp?NATO?p?NAXO#v vL N^NuNVH *n CA1!2<!!Qp/?NATO-@Hnp?NA\O?</.pN?NAPO>/.p?NA\O0lr/.N{XO0g n (\fT n \g n .f, n(g n (.f n(f p;@B@`0H/N XO`.H;@+n=n=nYO/.NBXO/NrPOC I/ / NFPO+@+@+@.HA.HHA:.HA.HHA;@0L N^NuNV/.pA?NA\O/N XON^NuNV/A#/9NXO0gBp 3Bp`,/. 0.H/?.p@?NA .B/N XO.N^NuNVH >.0V@ @bH0@* PN`*pP`&pA`"pC`0m*ySGmfp`gHL N^NuNVH >.0m*ySGmfp` g0. L N^NuNVH >.0V@ @bHH0@6 PN*yHGg fp`&R` ?NvTO`~C`~A`~P`pL N^NuNV .l .D3Bp` .N^NuNVH ..K : ?: : : S: P: <L N^NuNVH *nA-H-nHnNXOBnBnp@=@ +g -fnRH> @.g G0m G9n G.f0.@fn`B@.@gRn`jHnNXOHnHnNPOHnNXOHnNXOHnHnN @0m G9n0. G@0=@`0.@g 0.D@=@0.nBn nl N(fRn` nf HnBgBg`0.oHnHnNPOHnNXO0f:HnNXO0f*HnHnNgRn?HnN\OVnSnfJ`0.l.fHnNXOSn`BgHnN\OHnHnNPOBn n lJ0.@gBgHnN\OBgHnN\OBgHnN\OHnHnN. nB@@=@ n0g nRF`0. LN^NuNVH|z0m*>| ng| n nŏSE`0LN^NuNVH|~0m. n BA nB@A@ n0@@<SG`0LN^NuNV/~ Gl n"n RG`.N^NuNV/~ Gl nBRG`.N^Nu"o`C"/jD$jDA`|J/jDJk`JjDNu$/` o$"/A`NNu"o`C$jD"/jDA`, gJ/jDNu$/` o$"/A` NupJfpN∲cd⒒d҂dFN o"`"/ jD$/jDD$@A`" jDNu o"`"/ _$0"@0HAHBЁH@B@ЉNNVH >. <.*n0SF0g` .L N^NuNVH8*ng"(M&n H>gHGg0f `R`BL8N^NuNV/<Q .%=/NPOЮ N^NuNVH *n0- @l>0-R@< FnSGF 4HHBBB2-H0HH . o4H…2HdpAB:`zpd//<0H/NPO/NPO(/<'/<Q0R@H/NPO/NPO&0-EHЄЃB-@p] [ . . .] Where: a = add files to archive m = move files to archive u = update files in archive f = freshen files in archive d = delete files from archive x,e = extract files from archive r = run files from archive p = copy files from archive to standard output l = list files in archive v = verbose listing of files in archive t = test archive integrity c = convert entry to new packing method b = retain backup copy of archive h = hold screen after finishing s = suppress compression (store only) w = suppress warning messages n = suppress notes and comments o = overwrite existing files when extracting q = squash instead of crunching g = Encrypt/decrypt archive entry Adapted from MSDOS by Howard Chu ARCTEMPTMPDIRAXXXXXX.arc%s.arc.BAKAMUFDXEPLVTCRCannot mix %c and %c%c is an unknown commandI have nothing to do!waI don't know how to do %c yet!.CMDrCannot read list of files in %s%99stoo many file references*.*No files match: %s No files were added. Duplicate filenames: %s %sCannot unsave %s rbCannot read file: %s Updating file: %-12s Adding file: %-12s Adding file: %-12s %s.CVT$ARCTEMP.CVTFile not found: %s w+bUnable to create temporary file %sConverting file: %-12s reading, Cannot unsave %s You must tell me which files to delete!Deleting file: %s File not found: %s File not found: %s Extracting file: %s rWARNING: File %s already exists! Overwrite it (y/n)? %s not extracted. wbCannot create %s An entry in %s has a bad header.%s is not an archive%s is corrupted -- changes disallowed %d bytes skipped. Invalid header in archive %sI don't know how to handle file %s in archive %s I think you need a newer version of ARC. Write fail (disk full?)Write fail (no space?) Name Length Stowage SF Size now Date Time CRC ============ ======== ======== ==== ======== ========= ====== ==== ==== ======== ==== ======== Total %6ld %8ld %3ld%% --- %8ld File not found: %s JanFebMarAprMayJunJulAugSepOctNovDec%s %-12s %8ld -- Packed SqueezedcrunchedCrunchedSquashedUnknown! %3ld%% --- %8ld %2d %3s %02d %2d:%02d%c %04x ?-0-0File packed with %d bits, I can only handle %dCorrupted compressed file. Invalid code %d when max is %d. Stack overflow *.* analyzing, S:%ld P:%ld S:%ld C:%ld, storing, packing, squeezing, squashed, crunched, done. (%ld%%) Bug - bad ncr state dummy.*.PRG.TTP.TOSFile %s is not a .PRG, .TOS, or .TTP rTemporary file %s already existswbUnable to create temporary file %sInvoking file: %s 700Cannot unsave temporary file %s ?-0Corrupted compressed file. Invalid code %d when max is %d. @AAā@ A΁@ ˁ @ AAځ@߁@AՁ@AAЁ@01A32@67@54A<=@?>A:;A98@()@+*A./A-,@$%A'&@"#@! A`aAcb@fg@edAlm@onAjkAih@xy@{zA~A}|@tuAwv@rs@qpAPQ@SRAVWAUT@\]A_^@Z[@YXAHIAKJ@NO@MLADE@GFABCAA@@rbCreating new archive: %s Archive not found: %swbCannot create archive copy: %sCannot rename %s to %sKeeping backup archive: %s Cannot delete old archive: %sCannot move %s to %sArchive truncated in file %s Testing file: %-12s okay No errors detected One error detected %d errors detected I don't know how to unpack file %s I think you need a newer version of ARC WARNING: File %s fails CRC check Bad NCR unpacking state (%d)File has an invalid decode treePress any key to continue: rbwbARC: @@@@@@@@@PPPPP@@@@@@@@@@@@@@@@@@    @Bad pointer in free. a{NULL} You must compile with the -f option to include printf() floating point! Bad format in scanf rr6!rr6!rr6# &@ARGV=CCAP???????????????????????? 0,L"20 " $   4 &($&  $$.$(>       <\: ^D  4Z   & &    Nt 4   " Dp4 h 4 ( $  @ f 6  ( & (  ,f     h..  2 8  b  >(B *h$  ,  .     j       : * 4*& .,  z*.$. 8F $   0 8 "  (    ,*P 2 4   $ .(B :6   B "&.LH6 >. 4f"2<$$(^ L    R *h$  ,  .    j       : 06& .,         **      F ,  \  .F 0" .&& 8t  @J$  $(  d(f  "&vFP( LD" 2$ .>` .Ntj  &>& >"RF$"(F0",p$  .6*"  "$j:BX<$<R8*046  & 6& ,$B^ &XTb. ^ &(2> 0V,v   ,$"$0Dƌ  4hPPmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm` h?<NN @0<}BQ>NNJA6g|9HP?< NAPOAB a&MM +ЫЫA .GIJgrѓB(g<fG``GPN$^,,,,ܓ,,Cp$L(QGX /KN(K&YdB`BN/K ,HNRK&`:UgdCDE`$|a^g`|aVg E`&`| aDECI&4fLf&e|`@|a$J*g2P`f``BEg EQJENu&`|a84@HJ*fXF`.a2I|aʺ<m|ag |aEA`*`2P:`aDgt@IP$$Q` f&ed&fg^|avg &CrtfTATAQP`Q|aJgCpQP`QBC&&H&&M``NZ,Nu ``````Y %ATOMIK v3.5 by ALTAIR VMAX/MCS`BW []*O.M@*mA d-Э м3//  A 3@jJ@HD z")^#GP)T1A@:@dց>LA eHD+% kc  fzk5K/՗Zؤ 1d:u &B$98R"V {?nzzRK` M f \"=3Z AU"f#X3Bf1/+lߟVER B ;ITˆAr;؁njXne*w pH_V=od6Re]VBckzN9#W@:]g?Sl_%oN{H3}d<A( /e@!i/XZ^5~u v0b'O/^F. JσCp2HK17 Lix GFCFEt{PSof1wagg|T&=PATA DrivOEncqyGtgez~d̢_PXP[3YS͇ IIaKmݜ'|?e/i2m <} ?h bo |cfu2lpyLwad[aybt ]ITEM S=CRHC"an &CHw8st` ata a>e(s): Were is ? />.PoARC \N0DZ@:2r64!6RA23 1*/A㡂~ (@ P06 |xHA%c|)?'*7] 1 0<h *ÄE2OΟ r< /_ Bs#}hJ@?\B"z?:p.hC!0 8xH>< mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm$ADD to archive____________________EXTRACT from archive____________________MOVE to archive____________________UPDATE in archive____________________FRESHEN in archive____________________DELETE from archive____________________VERBOSE LIST____________________List in archive____________________COPY to StdOut____________________RUN from archive____________________Test archive integrity_______________________________Convert to new packing method_______________________________Main File Options___________________Secondary Options___________________Retain Backup___________________________Suppress Compression___________________________Suppress Warning Messages___________________________Suppress Notes___________________________Hold Screen___________________________Encrypt / Decrypt___________________________ExitDo ItArc Shell brought to you byLaPeer Systems Inc.Using TDI Modula2ContinueExit$3rH]rrrrrrr 1ArVerzrrr'r;Mraorrrr)r EWr 2I B*    " > Z   v              B, : V r      s<%x00r( ~   % Vmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm. o.. oMOUSE DOCp QMOUSE PRGs QMOUSE IS your mouse pointer a little sluggish? It certainly won't be with Qmouse! Simply double-click on QMouse and move the mouse to see the difference. Just feel that response. mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm`\`~HA"P JgJ)j!i#|JL/:NuQM10HC k j"8"WdL/:Nu,OO\,n(n HlHVBg?<JNAO ?<"NNTCP" @"h QM10f?<NAHzd?< NA\Hz?<&NN\BgHx?<1NA|A"P!i#|Jrp(C$1@BQ "A!Q"NuEQuick Mouse (c) 1987 by IMAGIC Grafik. N~*mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.  .. CHECKST PRG x3EXPERT TXT ]KNFST RSC bdKNFSTC RSC 5dKNIFEST PRGOREADME TXT s]STANDARDFMT w~UNDEL TTP x9C`3\?<NN @0<}BQ>NNJA6g|9HP?< NAPOAB a&MM +ЫЫA .GIJgrѓB(g<fG``GPN$^,,,,ܓ,,Cp$L(QGX /KN(K&YdB`BN/K ,HNRK&`:UgdCDE`$|a^g`|aVg E`&`| aDECI&4fLf&e|`@|a$J*g2P`f``BEg EQJENu&`|a84@HJ*fXF`.a2I|aʺ<m|ag |aEA`*`2P:`aDgt@IP$$Q` f&ed&fg^|avg &CrtfTATAQP`Q|aJgCpQP`QBC&&H&&M``NZ,Nu ``````Y %ATOMIK v3.5 by ALTAIR VMAX/MCSH0tqZ&xk8 6>)4<|p(r*lbŬһ4OS]<}{M&??JFebr7MayL<ʞ $L &u;b * Z9T2?5z{ytv;bJuzfczeN;H)Aducts.IbZ7a8!`L㓝q?hi=lX )8"~lhgn>'.ideuNvms.us/ur~lyLK~AOdTRh 5[x`G][Qu it|wint]כA? i i1df;G!ؾ 92:€`~8 9~-$96XijdeNT5 <@)#+VvDivZP@.*j%~5  trb௴\bNGB`<@3R@OMc'gt3L JA@@]hP6 .XYh0X 횽 J[W.A.>!dMaD=_!4Y$ R j(p%0i.'l5.GL$.)F~2*ZG7^q~(#AmilxpP9WQ|JBy@Deutsv.Jpyq>,_3ܖxFscaisWAM;ʺ#@NQ=a}4Y,qؠAo$i&Qqȕk]DeAYƀS  l>k[Q~DG?CTO=~^9*&:yNG 3rP6Uq@Y $)8$N }r><ʌ+p&*? cOr:Qy{rix3|7mw rk̿?(/F )PY. y"]2L4(jcnb W&cIli.6D (n*ēN^St$(8wDEZ61+-?ӥp#ʅ2I@GO7@?㱛RإUy ]o48%7 jl%kd Y[s9%ګE&%kT:D82Gŷ e#7N:D{aTW@9&)߯C2d":B4 %:CrOӔ\8df-GgΙΡrkIqGZeR@S AN|T @s&nN Is,BԎ#R pev0VQg.-ZulL9Iv?#3:chj#S5޸31v-V%&!#ss)eʢa}4(:MЗxaJQ4z4)N75"%X  T|Vi:/oЀe/RaWRnvD[/D4lo8 B@@Som.S e(Нʻ*(v^\Mב4c --dKϐ2)^'DlI{nARE=ms.!(hj3=O± 8m0(Z$CQ{U޷@ gz*T :n2mi TJ PF^q//UJJ!~|T2LLLL6HLQZf5  N=@8 3 "  $k  F~Ŏ OYTnYFx*ngIVᬄpVIr"tJ4̖kD2db;5UD^^^xIҀ8. x CSDt -rhŋ׈).xMr…M/JD0( D/ F͔ f d(8 [Uk?|R@f2èr Wd2}n\drς4f/{C'P! ~&_ ^4-4/ /~$Nz6EymoJD: !{/w^x~\w2 ǵ?wv="D222FY@.06: U EklRkQ(*лW*)z(kL4>x&,<1B@/)h׆`(;OGd6a 1/Vwx GUU|eGrv|k$((*x= cvt_!,t[;I!-yn!M+le^d y!YJ'u!8l-xoPmu`Ph K/PO ؤOD/SVS(ڠ)C*(KEYGEM?M#RRYLIfoDCpVf==$??R&zFKLCUC0ENfQRTINDOWOYSCKIڟCMOUS EOGq}nއ^hh,xxf#]w̛˽Pd,JwSQoTURNGOD*DͯFeU`nݓc/h+tEO@drVubsc 4-Q{R֏aҟayFQmz fgymStIStĵMrmagjGmmx$SU6ME-Lwy'WA2nߍ?di8ҁ;K%FIELDv7lxowO]ш&cIh6e>j?FAEI&mod~I/O)Oul>ImnuaseQ"cnumb td#amooakny+sevir|afvaabwiskwri`ec/7#/cc P h,'ounREKSxehϷ!bu$FataladdKxerroؕ4S:Ta%u9&wº,g M TQ]@;8+_78Z4jP)SW)$(eЩONeܰsƁ :V[ q@P \a (teb/cG{dqZ]hE 짱u/(ELm7,W%MPlJ).s&1d>{{lFkئ畼h`J[nV۸ nkeD?8(!n-\`XogU2 *cɇٲ[ egز Զ$kf+ J_vW=_6oMWk T`qJT{O髲CR= ;/Ũ`98Ps^fb(!LY>9Y(rwaH74[UML܈^\#R^#^ Z^FLZ&F(nCH=A Jnƅ;S "S7S R>5֕}gyP#kN ⊉TBTч@@w5vrָ\hRaĜs(? VND$蹅,=w`$xq6ms ŶMW#t#EzRε8$ӡdrҷ wZ.p.,xqL6>@bdl dY;FqsqH ՉJvSr"Eb*[Ndr4#XL.1rY -(/ "r q 2CvWJikhr"c|b*_a>}CRv 7 & d`#ͭvö"i?JGyuw]fR`{9 8V% {M T!U"S.&vR=5b87;Nd?ZPg?x{؃Q:Q)VŹ $)C[PoΆ5#vܒ:[t9+@8l ϼ}utF5LCKK| <"ӤV"[wTKbrUFȴ7z1gZF?-88mk,GIo7wN4J%]$-e aȡn>(9w8F D)U@SSdRlFkvK@|A5{t*(e05Ը(9"^8)dۨE /f,\XJ$5 6q4N2(y2(=BaT.IOqTr@$&/.wVyV0={[s*όW 6OKuev  x ݺR\rE7r̙(IqIK,ReS CuZ1HSMMv|GY 0r¾"fӧ|Swtdg(m/0jN?& iFWr)fXNlX|ZZ%`m@](*EJE @hj(SEE^\|FDVEtKf$V>l Z$G/WYjܧ/Gq([^5tPZr78O̧U2&?/sZpx;d$>v0$/2K: 2j Tn6Ϸ,&~e&$bd8(Rh35j?bϬޥY2 ֺ2,y${73PeRUXMITKD:]Kˈ@ӷbb7 u(ID \8 \z4@aa O `L0l. 6qHxn=Ks"' KƌcnQ >JX7RQU8Ur%|ꣅa}R?<#r?*< ɕ"_To5XL37Xt]ybCF-J^R22z22aŸ_G$(m>jGænqb jĩ d֥WP9$ı.N6T@^zy:DM{Z^E®v,Cannotnworkstation(?x2X+-^iFzt;mVnF:k.3'SJА~0 oQ76R-qT஬}I.l=0*{6U4f/ K?~/'"bNrI\a#DD9C/@ %2@X\d=|Yk(ཅ6c--(عmTU%#jc 2ߢ.Jo&+I.]Zya5 b)a._a .&hԂ+I@RqՂPVքXK 82-3XURRg5Y~_M$ -,55 kC%~ @8 Lb.SG +( fB]TG'r2f0G4h6mǵ642n39˘$ )Z\ظYQLfB顄(% @+ $l| .jjz&麜j 4&Q/aLL$3(@~*(L C/EZ*J")$!IJ(ȅ -0wNox,Io@d$/hTR#V Ld ¤WC 2r!kālTQCz/ (ImTԭTBЩ U*;\p](_;4S^/1ДT9hĢâ@SCQH21l4LnJj̾d:8ܕJX>?LmL\R@R_oa*|F 3S!7Ch x2P:JDY7=+@YVh֩M:d0 a%NnM1N47v8GY&v1-}@c1:~荥v.ltPTa4<.F^Ta@$PFX,l?_$E/N|*ʆ(* E2"VJPkcRqb Βl5j€>-!n]VR/_}M@>INJ *3$ghJ7ɝ4/vLeY\.ComilwithiSohSICƵjD ;2=TpvͰs~~3?LNqG'Y8Proram~ermued&-.ress9keyto8eqximD$ *_PJU9&T2KCx `FoL_ERROR:țatlineCǧCJC] (vUAt hCth壌Jn.wF&h?v.6 {C92D9Cm4knQo,lAA9 }{3lj&iQJh;ZTi GuyS$~^Le袗Ԯn8YPD rjD"J4<9U$:R4) ҆q4Zj&XW:'m5{ rEY$bfmDj 4LEl<@&!@2zEzE怃ӳMo.aQ(W6GV6CCC9_\d|ق!dRTJj|/s?* (nP˂-ID(cNv̴ LwGr.l҅t*ah z#> DG@ |b/_DS8Gk▀Qϐ慩(Bwj2Pa m@ D@@ԆӅdp xKUĆ 7(;݈1y2#"kxw``vkI~׌V@Wp׺ jҁ.v䒕bGT lfn(<@,>z^2kg8', ((Wjhb_Uind~:N)d]jj2Z@ރeg6vPkZ畓.Bl)h*?ovJ@a YU*2j丂9cCDp2 ԄӃdA{dKOHJk S@㊨j4zp-LxJ%hRJARJe|?0EZ҃тQJk Sjj#i/, bz&R\s:jpO jU|O@n &{8|s<83e C+LdV>837L8(p s;+-7z8@@8.|4VyTשN?@c;$woλa 4a><+îSeAuc{NT@VǠ8Py /x̡O T3?D/?r<@NNX.Nu< 8cg(HA0BpH"fg` mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmEXPERT Mode =========== This is KnifeST Version 1.00 The instructions given below will show you how to modify KnifeST.prg so that EXPERT mode will be active when KnifeST is run. 1) Run KnifeST.prg 2) Select 'Find String/Bytes' from the 'Options' menu 3) In the 'Search Chars:' box, enter $33fc ffff 4) Select the 'FILE' button in the 'Restrict to:' box 5) Select the 'SEARCH' button or just press return 6) A file selector box should now be on your screen, select 'KnifeST.prg' 7) The screen should now display the first cluster in KnifeST.prg, with a flashing cursor at buffer offset $0054 8) Select 'Edit Buffer' from the 'Commands' menu 9) Move the cursor forwards using the cursor keys till it's at the start of the ff ff byte sequence. Change the ff ff to 00 00 10) Select 'Save Buffer' from the 'Commands' menu or just press the ESC key 11) Select 'Save' on the alert box 12) Select 'OK' from the dialog box 13) Select 'Save' from the alert box When you next run KnifeST, EXPERT mode will be active. You can try this straight away be running KnifeST from the 'Run Other' option in the 'Commands' menu. If you then inspect the 'Options' menu, 'Expert' should have a check mark by the side of it. If you decide you do not like EXPERT mode being selected when the program is first run, then use the above procedure but search for $33fc 0000 and change the 0000 to ffff. *** WARNING !!! *** DO NOT modify any values other than $0000 or $ffff at offset $0056 in the first cluster of file KnifeST.prg. ALWAYS modify a backup of KnifeST and not the original. mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm%%n%$X%c!Ldb Desk Commands Show Read FAT's Format/Copy Options About Knife ST -------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Select Drive V Build File M Delete File ------------------ Save Buffer S Print Buffer P Edit Buffer E Reset Buffer R ------------------ Run Other Prog O Quit Q Directory D Bios Param Blk B Trk Addr Field A File Clusters C Disk Info I Physical Sector ^S Physical Track ^T Track/Syncs ^Y Logical Sector ^L Cluster ^C File ^F Goto Start ^G Show Entries ^H Compare/Copy ^J Free Cluster ^N Which File ? ^W Analyse ^A Format Atari ST Format IBM PC ---------------- Copy & Repair ---------------- Analyse Floppy ---------------- Rndm Boot ser# ASCII Characters T RS232 Printer U --------------------- Find String/Bytes F Find Next N --------------------- Print String W Print Ctrl Codes K --------------------- Expert X Knife ST __Date 01-12-88Version 1.00 The Ultimate Disk Monitor,Editor & Disk Recovery SystemWritten using DevpacST & Wercs forThe Old School, Greenfield,Bedford, UK. MK45 5DECopyright M.Prcychodny, 1989-1991OKCANCELAddr Field Read SIDE:0_9TRACK:00__9SECTOR:01__9OKSelect DriveokPREVIOUSNEXTS.O.FE.O.FA:\12345678.123\12345678.123\12345678.123\12345678.123FILELOCKGOTOEOFEXITSHOWLASTNEXT FREECLUSTERBUILDCANCELRead CLUSTER:00002_____9OKSector size (bytes) Cluster size (sectors) Cluster size (bytes) Root DIR size (sectors) FAT size (sectors) Start Sector of 2Start of 1Number of Data Clusters Number of Sectors/Track FAT Entry Size (bits) Number of Sides stData Sector ndFAT 0000000000000000000000000000000000000000000000000000000OKBIOS Parameter BlockPRINTTrack Side Sector Bytes Checksum121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6FOKTrack Address FieldsPRINT Input Vals. for Conv.Select Type of Disk.0SIDE: _900TRACK: __900SECTOR: __90000SECTOR: ____9000CLUSTER: ___900000VALUE: _____XSingleDoubleSelect Sector size.QUIT910PhysicalLogical Cluster Useful Conversions Hex-Dec Logical SectorData ClusterSide Track Sector Hex $ Dec S/SDec-Hex 12345678901234567890123456789012345678901234567890123456String: ________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXPRINTCANCELEnter the string to send to the PrinterPress RETURN or click on PRINT.ESC to abortSPC to pauseFile Map of Linked ClustersOKPRINTPREVNEXTA:\12345678.123\12345678.123\12345678.123\12345678.123 PAGE Modify File Attributes FILENAMEEXTFilename : ________.___f210988Date : __-__-__90319aTime : __:___m9999aRead OnlyRead/WriteHiddenVisibleSystemNormalCANCELWRITEArchiveNew Directory & Attributes A:\12345678.123\12345678.123\12345678.123\12345678.123FILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01p24000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amPRINTOKPREVNEXT01 PAGE LOGICAL:00011DISKOKSelect FAT to DisplayCANCELDisplay of FAT 1PRINTOKSEARCH FOR STRING/BYTES12345678901234567890123456789012345Search Chars: ___________________________________XRestrict to:FILELOG SECTS123456start ______9123456end ______9CLUSTERS12345start _____912345end _____9BUFFERDISKSearch String Case:DependentIndependentSearch Speed :FASTSLOWCANCELSEARCH Copy FAT The FAT's are different on this disk,WARNING !!!You can replace 1 FAT with the other.This can severely corrupt your diskHave you checked you SOURCE FAT isOK to use ?if not handled correctly.SOURCE FAT:DESTIN FAT:CANCELWRITE123456789012345678901234567890123456789012Codes: ___,___,___,___,___,___,___,___,___,___,___,___,___,___9SENDCANCELEnter Control codes to send.Press RETURN or click on SEND.MEMORYDo you wish to build directlyto Disk or use a Memory cacheDISKPlease enter the name for theFILENAMEEXTFilename: ________.___fDestination file & select theDestination Drive.CONTINUE Build File CANCELModify Disk Volume LabelFILENAMEEXTVolume Label: ________.___fWRITECANCEL Modify FAT Entry Current Value: 0000000000New Value: _____XWRITECANCELFAT to AnalyseANALYSE FATDisplay Errors toPRINTERCANCELOKPath FolderA:\12345678.123\12345678.123\12345678.123\12345678.123FILENAME.EXTCluster is allocated toOK12345678901234567890123456789012345678901234567890123456789___________________________________________________________XCANCELCommand line:FILENAME.EXTOKATARI Standard FormatTRACKS00__979__9 - Disk SIDESEC/TRK10FORMATCANCELUser Defined Format60Track Leader GAP1: __912Pre-record GAP2: __9Inter-record GAP3: 22Inter-record GAP3: __940Post-record GAP4: __9Track end GAP5: 664Track end GAP5: ___9Bytes/Sector128256512102409Sectors/Track : __901Interleave : __900Disk Skew : __9Disk SIDETRACKS00__979__9 - FORMAT Library Fmt CANCELIBM formatFORMATCANCELDOUBLESINGLESIDETRACKS8040Formattingplease wait...SourceDestinCopy & Repair DiskCANCELCOPYReport Errors toPRINTERATARI Boot Tables112DIR Entries: ___99979Total Tracks: __99CANCELOKxxxxxxxxxxxxxxxxxxxDISK INFO for DRIVE M:Free Bytes:135 Mb135,000 Kb135,000,000 bytes61%Used Bytes:135 Mb135,000 Kb135,000,000 bytes61%Capacity :135 Mb135,000 Kb135,000,000 bytesPRINTOK?ꪪUUUUXUUUUXꪪ?xz?UWUV@UWUW0pO!AW WW???888>?qqq8q??*+#,HIJab0H0   AB7CHIJOPQVWX\]chijopq{| }H          - A B h } ~0 " c9A : q r7 s | }      ] 7  'K}$2    "# $01 FKLMRSW+?q}  $ F[\]ct!71m<<:=TVYpr$&)<>ATgjmoruBFW[^o|N  b   X)  Z Z 9 $ *  4 : @ G#  T0  =P  ]n   +9Nbv  &!%"#$% ,-',(@)V*k+,&4.3/0123-=5<%6,7?8O9b:r;<4 >G2 ?@ABCD.EFF]Gt=   A'    $%%n@%     $  %: V  c#'0 @ > 1 0    r @  % @% @&) @ @14 '0    AQAQBQCQD QE  QF QG QH QI QJ QK QLQMQNQOQP '   L( (B   6@Q*@@0( )    6  Rn ^    !  .  - 1 0  @ @ @ @ @ 1"  '0 A '!  'A S  ^ x       2   ! 0'0*%0?P A*ML$EMT ]en q s v {  !"#$%&'()*+,-./0 1  2  3  4  5  6  7  8  9  : " ; % < ' = * > / ? 4 @ 7 A 9 B < C A D F E I F K G N H S I XJ [K ]L ` eN0 jPOO0 N m%0 -  * *N j               & . 0 C H J M V _    J  -,      ! " # $  %  &  ' ( ) * +  ,     AD f@0 0 9  ) '          >> @=  0 '0 *8 0+8 57  )  1  * ~                        $  0 + 0 2  8 1 @    1 D !)1 / / /&/ V/ / / / /F /v / / / /6/f/00 88 !*!F   !b!~% !   Q!1Q 20 %0  F@D@D@D@!F00 7`C  7 3!13     !  "   '*"&' "B'  3"^ "z%  32" "% 0T'0[)  * b   & m% %#"      2  >  Q 1 Q!2   Q!1Q 20J!%0Q A B">005    # 0N S "   A BC D EFGHIJK L MNOP0   %0  #0&'0,   3 #"#>0v '0|    !1 2        0 '0   52#Z )  2'0. A?#v;0    '04  *    ##      0 1B   # 90%0 . & #$$ $:$V       $r$$ V 01B#`$$w0{ 0 %0$    0 0          1          AB    AB   0   0  ! (     0$%0r'0y ( %6  <  %R8   !  , 4 6   ! ,46 ' +/7;! G,0N '0T, %,.&01458@nDEfEFH~KfLLOQRVU&UV.W6WXZN]6^n^`N`ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm&&B%& B$p&&d6!Wd Desk Commands Show Read FAT's Format/Copy Options About Knife ST -------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Select Drive V Build File M Delete File ------------------ Save Buffer S Print Buffer P Edit Buffer E Reset Buffer R ------------------ Run Other Prog O Quit Q Directory D Bios Param Blk B Trk Addr Field A File Clusters C Disk Info I Physical Sector ^S Physical Track ^T Track/Syncs ^Y Logical Sector ^L Cluster ^C File ^F Goto Start ^G Show Entries ^H Compare/Copy ^J Free Cluster ^N Which File ? ^W Analyse ^A Format Atari ST Format IBM PC ---------------- Copy & Repair ---------------- Analyse Floppy ---------------- Randm Boot ser# ASCII Characters T RS232 Printer U --------------------- Find String/Bytes F Find Next N --------------------- Print String W Print Ctrl Codes K --------------------- Expert X Knife ST __Date 01-12-88Version 1.00 The Ultimate Disk Monitor,Editor & Disk Recovery SystemWritten using DevpacST & Wercs forThe Old School, Greenfield,Bedford, UK. MK45 5DECopyright M.Prcychodny, 1989-1991OKCANCELAddr Field Read SIDE:0_9TRACK:00__9SECTOR:01__9OKSelect DriveokPREVIOUSNEXTS.O.FE.O.FA:\12345678.123\12345678.123\12345678.123\12345678.123FILELOCKGOTOEOFEXITSHOWLASTNEXT FREECLUSTERBUILDCANCELRead CLUSTER:00002_____9OKSector size (bytes) Cluster size (sectors) Cluster size (bytes) Root DIR size (sectors) FAT size (sectors) Start Sector of 2Start of 1Number of Data Clusters Number of Sectors/Track FAT Entry Size (bits) Number of Sides stData Sector ndFAT 0000000000000000000000000000000000000000000000000000000OKBIOS Parameter BlockPRINTTrack Side Sector Bytes Checksum121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6F121101024CA6FOKTrack Address FieldsPRINT Input Vals. for Conv.Select Type of Disk.0SIDE: _900TRACK: __900SECTOR: __90000SECTOR: ____9000CLUSTER: ___900000VALUE: _____XSingleDoubleSelect Sector size.QUIT910PhysicalLogical Cluster Useful Conversions Hex-Dec Logical SectorData ClusterSide Track Sector Hex $ Dec S/SDec-Hex 12345678901234567890123456789012345678901234567890123456String: ________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXPRINTCANCELEnter the string to send to the PrinterPress RETURN or click on PRINT.ESC to abortSPC to pauseFile Map of Linked ClustersOKPRINTPREVNEXTA:\12345678.123/12345678.123\12345678.123\12345678.123 PAGE Modify File Attributes FILENAMEEXTFilename : ________.___f210988Date : __-__-__90319aTime : __:___m9999aRead OnlyRead/WriteHiddenVisibleSystemNormalCANCELWRITEArchiveNew Directory & Attributes A:\12345678.123\12345678.123\12345678.123\12345678.123FILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09-17-88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amFILENAME.EXT 01024000 09/17/88 02:44amPRINTOKPREVNEXT01 PAGE LOGICAL:00000DISKOKSelect FAT to DisplayCANCELDisplay of FAT 1PRINTOKSEARCH FOR STRING/BYTES12345678901234567890123456789012345Search Chars: ___________________________________XRestrict to:FILELOG SECTS123456start ______9123456end ______9CLUSTERS12345start _____912345end _____9BUFFERDISKSearch String Case:DependentIndependentSearch Speed :FASTSLOWCANCELSEARCH Copy FAT The FAT's are different on this disk,You can replace 1 FAT with the other.This can severely corrupt your diskHave you checked you SOURCE FAT isOK to use ?if not handled correctly.WARNING !!!SOURCE FAT:DESTIN FAT:CANCELWRITE123456789012345678901234567890123456789012Codes: ___,___,___,___,___,___,___,___,___,___,___,___,___,___9SENDCANCELEnter Control Codes to send.Press RETURN or click on SEND.MEMORYDo you wish to build directlyto Disk or use a Memory cacheDISKPlease enter the name for theFILENAMEEXTFilename: ________.___fDestination file & select theDestination Drive.CONTINUE Build File CANCEL Modify Disk Volume LabelFILENAMEEXTVolume Label: ________.___fWRITECANCEL Modify FAT Entry Current Value: 0000000000New Value: _____XWRITECANCELFAT to AnalyseANALYSE FATDisplay Errors toPRINTERCANCELOKPath FolderA:\12345678.123\12345678.123\12345678.123\12345678.123FILENAME.EXTCluster is allocated toOK12345678901234567890123456789012345678901234567890123456789___________________________________________________________XCANCELCommand line:FILENAME.EXTOKATARI Standard FormatTRACKS00__979__9 - Disk SIDESEC/TRK10FORMATCANCELUser Defined Format60Track Leader GAP1: __912Pre-record GAP2: __9Inter-record GAP3: 22Inter-record GAP3: __940Post-record GAP4: __9Track end GAP5: 664Track end GAP5: ___9Bytes/Sector128256512102409Sectors/Track : __901Interleave : __900Disk Skew : __9Disk SIDETRACKS00__979__9 - FORMAT Library Fmt CANCELIBM formatFORMATCANCELDOUBLESINGLESIDETRACKS8040Formattingplease wait...SourceDestinCopy & Repair DiskCANCELCOPYReport Errors toPRINTERATARI Boot Tables112DIR Entries: ___99979Total Tracks: __99CANCELOKxxxxxxxxxxxxxxxxxxxDISK INFO for DRIVE M:Free Bytes:135 Mb135,000 Kb135,000,000 bytes61%Used Bytes:135 Mb135,000 Kb135,000,000 bytes61%Capacity :135 Mb135,000 Kb135,000,000 bytesPRINTOK?uUUUU\jwllt\llt\llt\llt\llt\llt\lljuUUUU\?z=x?UUVUYU_`s0G?W W???888>?qqq8q??+,#-IJKbc0H  0  LM7NSTUZ[\abcghnstuz{| H          % 2 B V W } 0 7 x9A O 7       r 7  <`$2     -78 9EF [`abgh;GH n+? !< ^stu{! 7I<<  +./RUlnq&)<>ATVYlZ^osvF z  p  Z Z 9 $ *  4 : @ G#  T0  =P  ]n   +9Nbv  &!%"#$% ,-',(@)V*k+,&4.3/0123-=5<%6,7?8O9b:r;<4 >G2 ?@ABCD/EGF^Gu=   B'     $& @%@%     $ B ^ &z  d#'0@ >3 0    @  % @% @&) "@> @Z34 '0   BQAQBQCQD QE  QF QG QH QI QJ QK QLQMQNQOQP ' L( (B   6@2*@v@0) )       i  :V r !  .  -3 0 @ @ @ @ @6 3"  '0  '! "<V h  s     R   n $*0 6 0<0?%0TP *ML$Zbi rz      !"#$%&'()*+ , - . / 0  1  2  3  4  5 % 6 ( 7 * 8 - 9 2 : 7 ; : < < = ? > D ? I @ L A N B Q C V D [ E ^ F ` G c H h I mJ pK rL u zN0 POO  N %0 -  * *         2  N    4  ; j0 X ] _ b k t    -,     ! " # $ %  &  ' ( ) * +  ,     D @0 0 9  ) '        >> @=  0 <0 ?8 E*8 J7   ) 0  *  !!.          #   *     2   9  0 @ 0 G  M 1 U    1 Y !J)1 / / /;/ k/ / / / +/[ / / / / /K/{/0 088!f ! !!% !   Q!1Q 20 %0 F@D@D@D@!F00!5`B  7 $3"13     "*  "F  '*"b' "~'   3" "%  3G" "% 0i'0p) * w   & %%#"  !#     I  U  Q 1 Q!2   Q!1Q 20a!%0h B#&>005   #")Ge j #B   A BC D EFGHIJK L MNOP0   %0   #^0>'0D   K#z#0 '0   !1 2      0 '0   6 2# )!  .2'0F ? #;0    '04 *    #$      0 1B  #$" 900 %07   0 > $>$Z$v$$       !  $$% n 01B$  x%%:00%0&    0 0          1          AB    AB   0#  0* / ! @    H%V%r0 '0 ( %  < %8   !  , 4 6    ! ',.4163 ? CGOS! _,0f '0l, &&,.~0^2>46.9.@EEFFHKLfM>PRRU~UVWXNXZ]^_&`a6afmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm`?<NN @0<}BQ>NNJA6g|9HP?< NAPOAB a&MM +ЫЫA .GIJgrѓB(g<fG``GPN$^,,,,ܓ,,Cp$L(QGX /KN(K&YdB`BN/K ,HNRK&`:UgdCDE`$|a^g`|aVg E`&`| aDECI&4fLf&e|`@|a$J*g2P`f``BEg EQJENu&`|a84@HJ*fXF`.a2I|aʺ<m|ag |aEA`*`2P:`aDgt@IP$$Q` f&ed&fg^|avg &CrtfTATAQP`Q|aJgCpQP`QBC&&H&&M``NZ,Nu ``````Y %ATOMIK v3.5 by ALTAIR VMAX/MCSos^+-d&*o#ͩXOqU -1Э#A/J5Z~re/,̥yhT'G#)Q =ƽQV ے3\@A[NoA z r+S7&IlˆS.A?20/H@Lb4"19+wnsƊyHpa_;D:BvC:FD zX,Y[PG_V: < 8BlpFvAz7\"D,!j@i\/ %_"(1]oZ4l7pY)%#u$}fM/5bZ),v94Jhme2^FrW^b<8lATqִH2k"8fȜ{)@yר$mn|=6TÚ! 6V$C"@MϺ ʼJ'~ ^@+Ox̱U<+@AsPpFF4Ixy4L x*;MMQ0&# f0|r8HQkTtT#T* (C (DLB C1Πĥ# J>z-"V@~@ CߵƈcdPc`F3d<Wf.<ԲCd,,!H߷dc:(PX#UN\ë0XB.EjBn(DZ3PY Tum4!@H6 hr#y  z!EƖWH'prtL2&43*:;4|!z ,MN j HN{n! cEL\ ѱDSx;B*E^!+aO# (1,\>䨕uQmd Ȳ Zaf*'n[ Ɍ)%,SkO&kۣ[4b(bNt|"^d@$x5Lϐdy$I<9QCd$@/’(H5}QJ+eAC^&*F9D8һ6A.o*(s=c ś@zˎoss'Luh|<. zh.0▣%p& zh?-鳰 pѽnHSn\k@,,2%֮'o>$ $IUx"n.w:}*Aa,k&?/+x 82{EG 7<Đ Eϊ8n%캠l/ HP3^:y9D,eKj[4x(4nꒈW2RERȌy7vS@/uC}jg-Nkhٯ}'o?~ /v ߞH@!k*HJ"`M`L wm ֭G|B g)yڧuO*x~rAK=JzGj"HN^4;eH%6Vnr)[{RT(vpwܐ:nZo/O04`My*ť bDQ ӍE _3(^s/nڀb (򒚇rD6hO2&A35tsRptSW9+8:0Zot?qNDN7IHDzHȚ&=%(I׏Ig)W2e1c+O *b%hEa~ `If!;2c׎ MJ4 X %Y`݂%M1!z} ),x ސeu-i{IT +vܽ,Y  ɀT4@:#y|f|SN g5JH$XADSFESGsyS(ᣰP*Pf C!悲'whhfhahb̐ g0fa/x`gN2Nt adJLZql(Tdzz@uХH䰒d@9Žodtl<ȈTrǃnhTf~N88[d\P+?`F)oXoX P (@XrkA!T̖{J0`P"h? ]S۪ !Jd0&a #Jb0A$q%v/I2G((JP'P)Pb B+B*Ez!,Hr>%?A TC(DѰADd4 E ۦ3J#(E .JYJ01@Z#5(!6J1083l/<(<>:*=ḵG5Hy$〈ŀG蝣 JpEmu,DA'*K8CdIYd> 5`l?b(Ckd#\p&sqv%-j@Jbn&Yާ!b+:Kpph7b@d`G4! X@|aijDJ 1vxwJ:P.;/,jC|?V``;J>06YJ~Z :ȿ^2k_J (&/D:@r8,lKv:Q-Z>AŒHUJ1k)^$*D'ъ?Ws&\jC8ES;Zn L.žE*k//?9Ɨ]:Db~QT]8 Ь`D)yb.z.I@ZtjxI!AH A|&F m3e^h-{ C7danѵ=n ,VǑ؃$$\qٷfP.{{VlA"@&{a XJ+3Ooؠ5#PS+=.B.j wi뛹osbl6Y€[W.x B9A4rP4?G@p1D,Ψ 60IzIYK4D@AtQ TB# !CEڤ@2,) l t JΝ(N[t2(bIglZRcˁS,AB?T[y a%I6OPJRׂ5R$R*+L.j"K_7GR)'("Ԡ+='*JB/-cɡ) G8?Spo( i.9?4P=($QRzra ™҇X 0+귟`4(-HУp:`\}qSPJ }NaYSIJ"̐5 \in2"o-&ILZr!LRA)r@aezbD#LIS]T[.N$ b*FCR4%\.@dvVrmdAvv-ςQ- 5Nb raJA :{N[SA[*\$IHׂ\FD!Rp胇0ᔰYTgR 삃`]'@^Ŭ#1~ P6PfϊuR4e3 a%,kOe= Ȁ1 腕 cD$//DAg{6#wse< SCODWLDt}ǥ [TsGZ(m_4F{Hz[ٓy|hTN(U^*J Fc$bFz(sq #ƃT S.nw,._@nx w/M=^~8h[2&9<~/ґIz($ K(d%mDf bi+4 R!br*hVPLV')㌰I,O@q@o|Qs{? M}b?}|O<ۍy3pt~}bvaT=4 M֒nW%'$ Pep~b ҧtypt%& eJѐ/o\?<(x:~mx8BXb_4 A@9A;xЕ€&|;Tpujw!Kj;jdOWAMx!Ёjbjq!4/`st#,2\ 9`U0%Ҁ |qLt d(FK]S`wPV~Y r.uZ"+}N3 ex<|ਥ]P *"EU@@Tlp v D#mRU!HH$q<\kH\@hF@zBRx^p NQN4Q- Ϥ&@rI6:@  dqr }@K [#K#[@)t!ܴ(71{dPMVۣlOiO ?A t`3ۏ/ s\G>[n\4,ՊX 8MT"8xަqͬUhL@dYbt-<sSH0VC@x"rd3b :ep=Y&̎2t:텇k iib,Lġ F/Ap&cIYAar TCFVG +~78# .h,>W׍oJ&gGB$ s A7vH  `3Ɲc Ň\SJȰ@Ƶ$;k!MH߂p(&d8D"!%!ݣEmj#0H?&{0vX &vr=LN(e$j 讟AxVY Ɲz1$3fr6mA88p"*/$O|8/ FРTjk林 o 0d=]kb,YTJFG=JE}? nko$%׾blzH|'JD  Ħ"@j#<ʋJ0󪚻2Aga SeZ ?5[Z\j%Ln=z.hQ5NukE9\NX9}Poaa*Xܶ;s;"ex8>BDgHrf/35PS>4Z˩J@97ck dHSd Ndrui@dbW0ʰbegJWkeBGoj5@/q|\ *1.ߖ4@$ơE?8Π*@,E0@u8Njhh z PxÀS #À859Ȁ:(.#an(Ҵ|B;+LЋ1w@4 F@*!4/J h,J /I^δճ/hS6@r ^>TCO~܁/dP 8H}„M `>V!** * *XV/utr vJDYZAvzĈ5،^bDױa@xGa$@Ng/%1@rSxёR) Ҕb2x*x^YX#j0ߵAbvKC $AeJpF1% [sp K_x5r-FDb@4A Q!A!!9ª}&HRA1A2<jZТ? "P++-P^ |}c`w+9T/ ^qvq^ M1OCvi_]%1,q_CMDd r&ؤG)/T(pR]m%#mRp󫟋⪴ܫ. a|BatQza a"^$iaVL/< _JAk _?a:6cS~C窪S;"(v{@4rU"cHpAVS@N/>7 xg}8> R DeԈe]`2]t&9'_4p*êQ\P^ Q~'<҂ͫf/ /%o4+1x"_VP>Lb9%]Ҏ {a h*N=u%~]\PWA'F/@dN-k|p"oƼps%p? /ؠLwȩ- P%0gt@$ py>TyakzmJt~ KD,r;d7 A¢ʱ <Ρ`͝FtȍtT!'r ҷ]4ljLM4vq|„a!m }6T7`}h*/L{\&% p`U_2$w]{Q΀ңcPP"GdsƯ.n "L`!0Mꐟ.S;4|7j&.FQEALc'UoQ2 qb@*(hL HAF"ѐ' dFA(2Su&%ZR~Ƀ΅:)M>qlq)–.rBB=^%ٓl!x_[$jkU[&Q@7ʴ<32"jBo Jz0ƒ0U; Pݕ-u j̚Z " c,H:2{E{Uq'mZi@hsБ@ XRaZVkX6G@>0Mr0PyEE0:}n:3"VX.VŀJAA4!|}6s{Q?~T/~ Ku/йQizy¾p*K:I@LL1dH3GdDoЁqLЭ.revd.JXaerO#HZ򳞖&}x 2pIDe4C!‖ h@F jh65WzRuRƓIˍ`\8 $H."NR.ܕVJ,-(LW+ݛ N+ aȧ'//<}@|+ ށ$ '}AJB}H1@E'iiޔhKs!atdA2~*+Ҫ}cMuXP5 Qd]jȣ;^`@,Ӡݒċq&qqt$X@,j# 9)t7&"e  >i!{՝j7 vzfYpC+Yu BGh:+Q$A,TAi-ș J%Z/q*PWq["bĚe yATH.vڧ|٧LtxQ!u "e_ƭ"?\aeZe"GD4v»#}a&@'@hiX9ߕw³ bM 42McP (ҮCzL程3ЋjV`:=(dbb& I)(C5cĮ@5m$㣿p3q)  {WA |u#h E`L?=7YϿ[ C?V*OD,kmTtIp~ˏn&Peh^2}dRf@;[F8PJ\|Wv2rн*]^P*>a:=d(wԓL02d EQOuRuX<`+L 4=*n|_!Z#|52qN-I'%$2(eФێT$r3/U-b(iڋXܘbww_%Ì䁐"3$Rxmx4&CCS/a^bjᱳԏξC^73CƦho8CL#?/WdC9|F!a]"C0cԠya"\G@k'9$)(ߞV<_eF*F i}G3рd"T S@= ! 2G8P2b&HLA$^3NA~\anN/h]tQ#3s䟞h@au.jh*xi"c: )%߸lN;j2X v;L$@[` !OSjנTT ~6(P& PRGY eF>UGxw}fF Sq(aU)ɭw&]9qtdPX-АLv I8}m)H*Y! 3+"@{ؑ ̨s/*xE,7KAžNnvj 7d\AM٩ܙ$90 R^H ϑa(eN'L\|:] `{3.t] Z^HabGZxdjXlO|sNQCNN{pu4P8 \ +"3V 83(i ?"ir&(*h/.0 2#A|Ell4INX/f^n?;DL w$z Â?0LRO@!RR108'~[T1}{A[?Ïa/Q1 9PY.< krtyBmIGF~k_ o.HZG$zAD U?4.WT:(K -M1)=:(Y6 0tLS \S1Z?_nY 0K:WPbqmr ,r@zډ41쬞U_Y^(uW6 F9(j neCLxح 1S/0?PO;2՘Sc%,-~ YD0P$n V*! GhFXP4}KIވ9ےG2!T@d-TGr`żn8E. Ag ÓI@(zKsxզePnӠE2{-NwrAoTndu‚D*o>=A7.](c%sVPrN/hjj#OV{q@?O0P TzC"1#JhGI()+(,-[t-rb rE L& Zr$6A0jr!=%A nx`Э94Ҩ$AK" M e 7" eKb=Zey@rPM -QzR-.FoFQ#Arh)PvkP j@цAP34Cӑ(@ R PI89Eudo"jPn;p=\4/AP*jFc IIAj>] 9ζRPxrB!Q  @zﶾhҒR+?]:rAd jlA'd?Fb’MQGf #4*veSV5n@o6@LO2c 3eϳC6tk /to-ԱhXhX@7DC zCU!: )YB'x8E*jmVMe 0X <.xjdU !A,N)8¹P/$8thC }"dڛ٭^N'\_+_zu+,w4 P0.8N J(@HB fJ`kgpiG?H0+Z xē>_@"Ap$RǠzIϛSx*SS^z綇'z9g8&Lrn\AICiiw@k36A!hbLx+:~}LlBla ut/`jLPHlALFALZ]^N#2~ܥ\t+%82j4 h1?cHK@HA2@s77&so~K$8?6 ha*_$_@@L quAU!.l&M" XH@4D J:/9Tr.%U|/a =:,>;EgP<8tr 8P+OCraGrQTy^{*@E JFN9n@-XKq`<\Ndj3rf`iM-$a7c?9a.t3nj 4?/- ?2;TþCtGr |J=5AhaÌt\b yV##4՚ r5Hc:;< ~LCdMϐSEHeيԈ>ES ӻf")tR6"|? ##<:ddJBnDOn0F%~VP`B`DgP|@8@ngK*Ȱ\kA}/}p>` KGNBd|E}Mh; KG&ygYZņ~@vv<~$mq6E r)JRN_^ʆ:;U{ǃ{Qx{{GԲ*"$ р6D k(̫II!0pI:N)I}cFc*LG߶5.-72r $snrkDZrKxl (T)hx"th:"wϴ=3vUn 7T4u6z&Zr_y_Jǹ 6E(x_5 >M1ʤu 8B)G(zܺ88_䳰qH_Pj~l8B#֞88BC^ÍCi #[n/? 3\zp19jl5I$Izy='SL7 !WA/)a,4躹:/4$\A/AZ/V>.AƤ)7 d?1>xRxF SA{dJ͏mx&#?P T '1*gTQPgTP?uF:+VN:~*l$Ĕlt\[wcv  `2 "Aog\M' ep2ʹSNzgZFH`}H@!@'*Ud \>2W BNv48IܨHڅz|ca"sK*89L%-؈&(VQA;2ڀN1ւ룝b~8;2b{ ;BЗM3LP 0vdv ^E+u6If˂+uaD|jW`%2(K2hSAm9 Ex象O<48Uu8>61:uSC4RA=g=u$= G<}C@TbFߢR#B"â6<|t,"IEqt'tst/ K'|Hmy߀z@ԏ)AH. !  K6$H'.GR6\0g)1Lsd[`呏$KgR@7cC,$6a\KSO=!u]@Tqqkvc`i7#QRyƨĄVMqKtLfq 4:txd=PXήp@<@p\E3N$q4qTsؖ-H@i# >:pb~K#O*PDl@D@/roɉ8?~P[@Zb|U@ IukVHo o*ؕ`DҘG?s ߠ{ӯp"dˆ8\I|"=&Hb$ϚgXr G[YTPqPt3Y܊9n VHtHnb4k4:oN< @:!^ G[ȠbcbX;.^>h1g,s "<YdrZnr@o *o ӋVD .ntrlQ'p@}eشO}OXZ<ɾ`mܐT@@AVm4 ^`FԦ8 ACؼ RE`К75m=DeC9C.&9j@Xpe!@ cIXTwlH^5͏ar-=e|g#,dl–)@?LL-`,m,1QNhmP`d:ͬ hƭ۱5MI< /i" y2Gm?? :lm5uLw i3ּ}hnR&eb 79j>\Kjl3,N4P8]=QX4yx6\'&l @@?b&1%ā'@D6v:X&m36ҮR]RڥAhzFFA8Fx?Gj86h+b_B8$dhX8Mh$bjjt,e,7*?Ab8'2C2 ?AHeAT8#*VH€Gg w$IS i+ L?pʶIPL2 1 2E 2''r'ˠh0ShVb, ӠR%,Y=gdr/i 0o{gi9;(* dMGug Po(C\*Pڼgx("LAgbSR 9}Tb<UlYigIBFRȣehvrgGiz|_OWn-9!-}-Wbi;vS". "%.zӠ784JyO a g:떐j=r'D6d|.NiЂ4eAq% xrRI%%%>Qw⠢e(NN33Ie Bd8>iNN'5IcKS).j@@us8 RxEݹ\ Sh$[BT=\gIyTI [ qȡe iCjpo,!ɾqxTˀF!yD,sRM,|(Fx9GXFG&KOd):K!<U*hAZ A–bEd4X@2did1ѻj#R# [lE+cE&ZL?Y]cM -G wL:1I{Avf(?:ch8H :JWS# # =lAl IXqʒKLWcD*)Dh"K,FaT T/b$aFCa2 P3Z2$1`g2X%h2U~d t5& " !W{ʀtdu*NTd< jdšR@TbI|" K|#Er )j詆3p[Rґ r6aMs JY%\Cځ^FZ6 -)uT_֒T~p@OLpA_6#v-W :N[E!|r:s41.41hc5O;6}~x*t ʟ,o&.RE3aI jDgd/:4ǑweSE@QqGecTEà(z: e=­!.V^TpúǬ^İ_FbryB  r:9-g aȍcHrPI@"U@ 4V`3@OCt31S@_!N"S"jS[!$Z$5t"_ZmBY<( L n!n"PW 2ˢɁ['~sxѷ@cLt'\z6 4 gl",gh=.]@""' .VOP~ .P,(e81M/]]:2-]]nT$#HŠD.l. @1UtF'ү嵭$n>uG;mӣڶgg\w&vc 4A3h]s\<.D/,Kӥ*:2*]Ģ+:(K!]Dr t3py.[ */[H.Ԡ2(T(&R!K^Y8l/FZR d$Փ4/$onqR-i]P,?2N1JnHǫ*lx,[-q/i쥤R,Da/ơt0k:i\h4 Z\\V]&oZYS9ȧZh*l;Fc J| 膠r&V^ #V z@wq %X Ug+(V1bW*hT4 !W 8Ҵ"#VjJ%VU K 8JtD(WV1rVXD.Oɕ KD]# +μp T  d/"4R'R"DJȀlD$⬘ ]YdF$9hrcbXT,7FigU[4X(UUC{Sf jQʀGrg {S7v) b l%֘Ҍ\32h.]&"/8pf '* ǂQ|7 f_R&se2 -&6LʤL=/ƤMrt dKLjCxM= T>Mvk _3FSxw C E<rt2d[$4V ^DTfjsIBгqNq((dXW tXN#ĐE.:r˴~D7TRSPPQsJ̔4*S.MYg@<(T4 B҆ ʜU<>-)H8CyX@:P(,oz~O^T/;O<-1(M@*;/ ?:O lP:*+x 5בN gtv,*̢[u>|S2蒯T0Aґ-Ӂ6%LڔKL6l\M*\N"HTwt/vB$9Su;R&K1ڕ@/?S(M6Ԉ1K@M% a(]xMhbP& qN kD0:$g rRϛ,#~6†r1HF5Lg[LF I:Q&Xݑ4xKK,v_gKt,:h6c!ۈF\,쩥>@쇠i:hGSEbBA-KLT,&Eqd KAbrqn,nPhC$KH38br :|c2< $ʘ a KJXƮ55 KCdg؀T!=C 0 iZ3N\2c3"Qx4iƩSHH9E/8|ELn"6i!6&EICFt#I79T) }I,2"S=IyrNu>? oNAdkEO1ltniK|pcjBzw sĥОyfpn*RRQMUEV ˝ ̪ үa@(%w RzM:btEGdr]we!yH26v4&JM3pU(upn0G#8lr_:LU}drY\(A,8ӊ !vTVԊG&%DSGlT޼6I!Dn)Gb4R,2VcASGhGRjhF(áP{[@ؐ"4M8P|γ!EE-jQVx.:zC>)vl< h%*Q@TGp:F>rڎgF#UH8#Ed݈ܾ} ג 沤)g~b5Q&T M(Qxyqg<^.H,4οu=ԄTMzA:"H~hݢNGK NELg&OM&pb6*@.F*MPT:c\m.(#*k<ԐFU@8 ^EH\C!^ n.P &Ԡ 5- U DRX-{a~@z_LS8lvx>ZFQ7 8=iFDa:3D(Iesn):S tYԽB„ŧ12()ɴpbJP8 FQ"4G{ԖKE&@1' ]+pH&$HÆrÕe@-&SD2A97}UAPU1doRrX`nR` V$>mSA72=->Q K.ּw @@@k0z JB`fp 9cS7߰^܏FSb*Lt91_5iX=`bcς`ZR:pJe8% 9b`&ΉCqwt!H?™Nm˳|Veٷ}KkGܜTe^ř H [^x\N!m J)V. `2a ۖ4h-/Q6 cW+m/ o6"}&Q"ŧ߻DS!:WQ ׁrWy ΍Ё=PRq0[%qP/l1`J*?@l b>hySC`b(nd_4n} -V"Ө8,Q偏n.1#?"S޷==gn5oL,1G.}HHl///ӧV N^?:ͨJ-ob@DXwAt RAT삶T *:ܾ3%b:@‡z@ wLjtkhJ8R& B%Z`KkUV%,_Z`5<}X(l{jIjD&}b]_TrtcvPH8Dx*ll&e`\@Qԭ3]xz?"LJXlLRWZ^j*HU (Q -1 >I'B jKgdkV :ճWnX cPw36Uix8wKj/>J͐R'~mu= 6x$M 6iO1$z]8HHuٝn`k2NʹG l]Ew_FkV^U@,z=l:=XP @2=~@6K?2/:\NMOmm 5~lQƥ?QT0Rh@xDM<6U`$X:(Pu~;)S0*w[_[:[$> `JڃPyi/jDx)JT-$QK!͵t,CNJQͺ]d;lRxHS+C..3?jT7V#Z? eDs3S(V U |)+1Oލv::?)`E:&u s>/(t`Jar6L`ad3C`\$OUQZa~ϳ8`r~  M $:Y*P ȣ a P郳@?zAQ:Fߠ #9Xu7TC$54PmCt/m8Uud39H`8QKJB+`!5!ʇaTL&\yuv:[5Š*Lkr $Sq;b4B5}(E󮴝D@"6PwJX>jl(IDe D;HK!@*'?|= PM\U%(HHTx3jct]Z^%+>U?S 4Efjw;э#\ #jQ`H/ܾqm2kS&*^L8Rܥx((G*x?ԒJK@B`X`J؜/W"#ɐ ,9(|A28ހVnnk|6jHz5LuXƺHYDYEPFPGR`4 P*M݀jL&|N PHIXD"3?9:#3`˅J_ w}e&sH36Gp:Qо,Cl?."HJc A\nΈުLٺK?:4a@T*??/Nw} 0̡.y}v~P#]VKh3}TvYi=uEk8^Q>5Hz C"z; pTF4 zQPC!ѐ_uDrz~!x voj&b'NZ_NomzJN?FlHz J\jbZv U]XmyJ\ClAshI ka@q3"ф&y9 &b(!G!#P5mTk:3>~@??Hpw,*?6v/)WNMP`o#JȃFt -#/L]Nl?P}JhN/7u{"qwQAr9Z~)N/QG՗{8I@%NVl9^F"(J=]Q|ƀChEưto{ =@#znU?~kn)Ϳ]Q$ 73@}=Qoiogx`;N^J@$[р 6x^;KdTf4e̾G7>2krC\Ν^ ZDYXrMxDdHDPM$jh<&4(Q*Zb^&3)VV d3/"T"sNPгj';j4ĂX&خ1ifW)٣ _@uv`ڂ80Q@j;V'bT: D}ĞD I|8J㎲dЁ` @d2܁Qq`*:CyEy:6by#>:<0cJ4j?-uS`@p!"EJkPJCH4HG^e0Eco9}OHl'3V޹#Ȥn=4N2LD8yNuyb[>7-K5-9R<VXs1I/r{3+*K&Y &* hܮ6)I"pp=$Ϲ!c% E艝k(x>?/D-G !!BD51UFFX3CV$`9@2a#'(56s<  f[vC}nN hS3qZ&gU ),18.C҉bkʛ47W!,驖SWusNyC@=];?/K7kckfOoı7,Z@kq!N:\=l(nوWNx U4kJIXBd,&Nï!vXf* KLDY 9VY E19ty-@_]Q3]i/p][HB-lK\LY"]DEQpmcYjh06=1->O6789x1345;!Cd QpmTC-@(^ya:З aͻ¹u䀊1O/8S|չMq1`'D+Tɸ"x@ 4NexO<bh1J,K)Z p0 X#udl'feYgSumb62P&j{Na f]zI>O/hRqSRJ@9-Ӧ< lnr>6Unasjx#a&"TIMEaKtrke, m3utȑbq{XeyUѯz"SdKF:yZPT0?FILE N|EXTg|ʁ-1ASܻ,tqOĮEu™ 7$ECkWTvcD joĠC\$-q8q9HڝVt6^T3K?VFO M~T{r+& ciJ[W8=lVfw[V1-9/N'0edQG2_*Xzb.-b[O$R6\ak {pc8Nl.DwDnKkv-3T[Va/ӃJ;BaiE[a 2 )Sk#_uD<=$c[s/TRijmulLv>1"nW{iUnld;&l-gMGe,XIssr]&d2mdWD̽7/--]. a{6*Ȋ} W˷n-"InsBfTREMdmd¢ssPnkney+*Di1sk@oasilure IHMSDOSSYS)UCOPYIGHT(C)MPCYCHODNY,0988-1991RV 8@F~głB bAi<#P50)5\Pp[gB?ؓUG!ф1@dN*>3OdVFLOW R3$DeIVIDE byNZEO?+ 4No2taVali@Neumb踉[3 FFPutherror5,Undeined!][#OKN]@ (|U|qJܶ(d*릕KPSzh{-T~n sX}SXۋ0[g[mMPH'١.ld\U٬e6Ɗ"uk5do(eU"vG I-dJ4_V| ,@E4GDT^lK,0lLKX*XLP %J T)<>(:ŊJcmbB|& vdE$~һƩV?UTQ[}`C(5 4@&fr‚vIJy- *PkT%c4V\(L*`έ!a]3s،D*S:[m Ag4"Ʊ(}piiUv*@5?al&RJL>4u,*484($(!@xYv_3bZB}aDŽ(*$Ny`$"5ּ*X'c~hk"EԨfJj$ &Pkea\xb,56%f&[dfN@SJV֊|h1T%**[4B{Y&o.*E U 3>*)]25sd:*2XP}Ӣ$hT:7H*Tq}5P#PF1lit-!dE]ՇB +Eا)ǜ@|{ݲɱ&vjpCJn$:XrXjCXJF'uKhP,r*F $; ,Q/B@FdQxP4d((Q'J!ڈ4O*uRrKXr>ʂ̫'+ӤPqa j46"`icE+}dX* 0A)ҝ-]]J{ 4@(4esiKNfF'Ѓ'񴲌Fhl{废V@ f|D'GIuA9ԵQvOnAG5jVRb}eOx6r I<@l[D@E`B0>RD"`Tn;xJ%cij[8)%zd& Si2ٽ*ZF2-E @2:aU&ؕ]&5.ikD]%4Bx->6E*@V(:bmsgD4ƹzɦLLჩc/a1m%e2ve4]9C{Y2"YryOZjM/5 .Mz]WPY ©} <QT4S &'&B&TK*5^cJnQ4hNH&ྛZ CI T 8"mPƟ T `Iԋ{H*9 #Cocib[>5~+̇,ִ1cu<&@~m~SHujhWHD/^J&fA&&QlӠ~y}p6$$5 V&`0J *"6AUH&LG@:|F{[Qؤ6ɽ?C xfaH# ߭,$ & )j§PaNH\W44Jh 5sl"fR 8JN@|(BuWLJV.) lD<1*FZk&J|XkO9z!jA`j:&c"3$x\WHpPZd 8 d뺫&* U5uQ(H#F,4?d5Gƀ~Tz-dP꺔P>"X> *XA Ԃ2yveY$,L2PJD׉?Hd RK<{PQ524j5(*JP"zDYDtXdD{d # 5 S)%*$Qj&U9E.!Lꉯ6ӪTL-UbST,&]@Ad:9S:$8"+2_ܠ:&&16 < QFxL@& @"C"  FuF8x$Dt(C0au6ad<,4D&(y~H%#ZtI(d6b7 NNc|<:/ C tb  0:h1@Db%S2R0 A.Bgpf| pmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmKnifeST version 1.10 Read Me 23 May 91 ============================ Please state the above version number on your registration card. New features of version 1.10 ============================ This version fixes a problem with incorrectly generated 'Media Change Errors' when searching on some floppy disks. New features of version 1.09 ============================ The Disk Info command from the Show menu now supports volumes bigger than 16 Megabytes. New features of version 1.08 ============================ Certain non-standard floppy disk formats with a particular FAT usage caused incorrect calculations in all the analysis functions resulting in an internal error *3* alert to be generated. This has been corrected. Logical Sectors > 512 --------------------- These are now handled correctly. There is a new program for some hard disk owners AESPATH. See the text file in its folder for details. New feature of version 1.07 =========================== When you use Run Other to run a TOS or TTP, KnifeST now waits for a keypress so that you may view the output from programs that do not wait for a key themselves. New feature of version 1.06 =========================== With the show BIOS BPB command, the number of sectors per track and sides are now shown as ?? for hard disks as this was confusing some customers. New features of version 1.05 ============================ File Selector ------------- When a file selector is used within KnifeST, the calling function's name is displayed above the selector. Find String/Bytes ----------------- In Cluster and File mode, KnifeST is now faster than with previous versions. Analyse Floppy & Copy/Repair ---------------------------- You can now press 'ESC' at anytime to abort. Note: If copying a file, pressing 'ESC' to abort will only work whilst KnifeST is reading and not whilst writing. Analyse FAT ----------- This will now analyse the complete directory structure of a disk as well as the selected FAT table. When asked to press SPACE to continue or page, you can also press ESC to abort. If errors are reported whilst analysing the directory structure then correct these errors first before trying to correct any errors reported as FLOATING ENTRIES in the FAT table as these may be superfluous. After the directory errors have been corrected, analyse the FAT again to see if there are still floating entries, if any remain then correct them. Disk Info --------- A new feature under the menu title 'SHOW'. This function shows the amount of bytes used, the amount of free space left and the total capacity of the currently selected drive. It works with all types of drives. Read File --------- When you are editing a file, the file offset is continuously updated to show the current cursor position. Build File ---------- If the RIGHT mouse button is held down over the window info bar and the LEFT mouse button is clicked once, the info display will toggle between buffer info and cache info. New features of version 1.03 ============================ Free Cluster ------------ This has been added to the main menu under FAT's. It works the same as the button in BUILD File, except the menu option is not disabled if the buffer is in File mode. EXPERT.TXT provides instructions on modifying KnifeST.PRG so that it starts up in Expert Mode. Only use this if you are an expert! The Atari ST formatting code will now write the first byte of the boot sector as #E9, enabling many PCs to read such disks directly. Please note that MS-DOS 4 does not appear to be able to cope with floppy disks with 256 or more root directory entries. Also included is the HiSoft File Selector, this is supplied together with its documentation in the folder FSEL David Nutkins HiSoft The Old School Greenfield BEDFORD MK45 5DE mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmGAP1 $4E*60 Comments may be placed after numeric field as long as GAP2 0*12 line length does not exceed 80 chars. Tabs or spaces SYNC-ID $F5*3 act as seperators. Use own labels but do not change ID-AM $FE order of values. Preceed HEX values with $. START-TRACK 0 Values allowed (0 to 89) END-TRACK 79 ...ditto. SIDE 2 Values allowed (0, 1, 2). 2 = both sides. START-SECTOR 1 Values allowed (0 to 29) END-SECTOR 9 ...ditto. SECTOR-LENGTH 512 Values allowed (128, 256, 512, 1024). ID-CRC $F7 SYNC-DATA $F5*3 DATA-AM $FB DATA $E5 Sector data = (DATA * SECTOR-LENGTH). DATA-CRC $F7 GAP4 $4E*40 INTERLEAVE 1 SKEW 0 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm`AN"o#8*i,EB&J(JSB  g  g  f RSBj` gn =fa6 n <#7n` %fa n <#5`Rpr A9nA0m/ПЁRSBkB`Jg:NuA8`A8rRSBk$  gJ  gB  g:Qp`JBkQB$)ԩ 7n&95f &`nր n&< Ѓй7n// Bg?<JNAJfV.B#87n#8#8#8#8N+H/ / K,MNpJ8g / y8NXO??<LNA` /`NVHy8Hy(NPB9> f*"n i -fR Nf S> f0Hy9#Hy(NPHnNXA"n #HR gHy9?Hy(NP`X n /aHX/a X-@JgB/aPRg/.Hy9lHy(NO `d/.ajXJgHy9Hy(NP`BaBJg&/.aXNB/.pN/N7O `Hy9Hy(NPBaXN^NuNVH*np\// N6LP&@g6IgRR`BJ.f pL8N^NuBHnaPL8N^NupL8N^NuNVH n( :fHHA` p/N7X#@ n \g( :f( \f .L0N^NupB/N6X*@fHy9Hy(NPpL0N^Nu 9@R// rG/N7O JgHy9Hy(NPpL0N^NuJf .L0N^Nu/ N6X/./@ N6X"/ҀP/N6X(@g` 9@A|: LT/ /H a X/// N6vP/ NX n( :fT` n*HHy:/ N4P/ / N4PL0N^NuNVHa @-HT"t A4#A @P"t A4#@ @\" A6#@r#@ @ r @2#ABA p /N6X#>Jf pLN^Nu~@d6RA atp "$ y>/</Hy>N4O R`~@d|@d RA R`R`~ 9@耾dRA Jf #A AR`RA n r @2T#A n t @4#A/N6X#AJf pLN^Nu~Ad$ " yA//H a X o R`pLN^NuNVH *n- :fT \fRBp\// N6LP(@fp/// N6LP(@g LR// aP`#AA (Mp-@a B . l$Jg .gHHR`p ".R` .fRB . lJg HHR`p ".R`p-@-@B . lP @>-H f.Rp //Hna *O Jf n( fp-@` RS@`JfrRJgJ@g`RA `P ."9AN5XJgRA `4 9@ yA #@ mAb/9@aXa `*Jf/ Hy:Hy(NO `/./.Hna O L0N^NuNV n /a X-@ yAJgHy:2Hy(NPN^Nu n /a vX-@JfHy:kHy(NPN^Nup "9A .SN5&R/.Hy:-@NPP/./.a|PBN4/././././.aO/.Hy;-@NPP-nS .Jg/.a>X-@Jf .".g//Hy;NPO `Hy;NPXN^NuNVH..,z/aZX,JfHy;Hy(NPpLN^NuJg9>Jf LN^Nu//aVPJg LN^Nuz`NVH .R.Ad " yAJfLN^NuR`pLN^NuNVHa /. /.a:PHy;NPXN4 YWDHH.a LN^NuNVH-yA /.a "r/Hy "r* m fz.S( 9(Jk y(R( r` Hy(/NP"R`S( 9(Jk y(R(p r`Hy(p /NP"R`LN^NuNVH . @>*H n MB/a Pa`L N^NuNVH . @>*H M/aBXr $9AЂ-@".l-A M/./aPa/./.aP .L N^NuNVH-yA /</.aPJ g /./. alPp#A ~@lD|@l6p "$ y>/<Hy>/N4O anRA R`R`#A a LN^NuNVHJAfj .rN5. y>/aX,. g . "Ё` ". Ҁ * y>//aZP` . y>/. /a>P . yA LN^NuNVH . X/N6X(@fHy<]Hy(NPp/aX*L . n g @RR`B/9@B/ aO #@/aXL0N^NuNVH*n~ l*Jg .g \g /gHHR`p xR` .fR~ l$Jg \g /gHHR`p xR`J g <` .*~ SJg rN5&Jf . Jg/. /aP-@ rN5&R A>p //Hn-HaO Jf n/aX,Jg& n( gR MB//aO `p` L N^NupL N^NuNVHJ gHJgp`p,/. aXp "9A .N5X~-Al2RA |R`#AA ~ .rN5&l RA R`a J gJg . yA ` . `pLN^NuNV .Aep-@ .U"9AN5йA#A N^NuNVHJAfD .rN5, y>/aX.. g "`" LN^Nu . y>/azXLN^NuNV .  n . @N^NuNV .  n . @p". Ap". AN^NuNVp n(rҀ N^NuNVp n(rҀp(tҀp(tҀ N^NuNV-n nHH/@R"@=g / ` nHH nJgR` .N^NuNVH~l@ n n d pLN^Nu nR n R c pLN^NuR`pLN^NuNV n( :f(JfpN^NuHnp/N7Pp//.pN/N7O JgpN^Nu.g.gpN^NupN^NuHyBp/N8/p/N8fBHy8p=/N7O -@`BHy8pfp//.BpB/N7O/.p/pF/N7O /. N!X/98Hy/9NO BN~XN^NuCPROGCan't open stdin file Can't open stdout file dNVp nR-@Jg/. /N~PRfpN^NupN^NuNV n (g f//.NPN^Nu n (S!@Jk"PR .r` ./. /NP" N^NuNVB 9(lS#(lJkp y(hR(h`Hy(hN0X-@ g, f nRB` nR .`JfpN^Nu nB .N^NuNVRA" yA (S!@Jk"PR .r` ./9A/NP"N^NuNVBA"#AHn/. HzN2(O 9A"N^NuNVRA& 9(S#(Jk y(R( .r` .Hy(/NP"N^NuNVBA&Hn /.HzN2(O 9A&N^Nu/NVB . lTrN5 @(h-H(f2 n(g& n  -@Jg//( /(N,O R`B .6l( @6Jg @6/(N+XR`/.N*XN^NudNVJA*g yA*//-HN#PBA*JfpN^Nu .X/-@N"X-@JfpN^Nu n -HX N^NuNVBaX nY#A*pN^NuNV nY "@"Y-@-AA*gBaTX/. aJX-@Jg0 . ".c-@/././.N7zO /.a|X .N^NuNV n (VDHH (0AJg BpN^Nu n(g(g/p/NP nJf$B/N!tXJg npN^NuJ.gr n (T!@nb P"nRp-@ g2 f: n (S!@Jk "PRp` /.a"XN^Nu npN^Nu .N^Nu n(fr (//( /(-@N&HO -@Jj nJf nJo(J.g .D n!@` n!n n n (2JgJ.gp!@` nBpN^Nu n (S!@Jk "PRp` /.a4XN^NuNV-n n (0JgpN^Nu n (VDHHAJf(fp!@ fN^Nu/. N!tXJg n pN^Nu n J.g (D!@` n !h n (S!@Jk"PR .r` ./. /a$P" N^Nu n (gx fpN^Nu .@J.g. f&p/Hy!h n /(-@N$O -@`"p/Hn n /(-@N$O -@p-@`2 n (gpN^Nu n J.g^ gT (T!@ f""PR Jk /p/a>P n R"n QR .JjN^Nup-@ n  -@Jg(gpp/B/(N-4O -@J.gR .S-@JkDB/ n /(N-4O p/Hn n /(N+O J8f . gNq/. n /( /(N$O -@`B f n ` .g n J.g n (D!@` n !h"n i " . g2")S#AJk QRr` ./. /aP" n (0JgpN^Nu fpN^Nu .N^Nu dNV nJg(fpN^Nu/9=N"X n !@ Jfp #>pN^Nu n!y=p!@!@N^NuNV-np-@ nJg/N6XRѮR` opN^Nu ./-@N"X-@JfpN^Nu n#8B-H nJg "n"/N6XRѮRX` nBJABg yA>/9AB/N#P#AB#8A> .N^Nu=NV/.aXN^NuNVH..Jn pL8N^Nu l~ V.I6*TgZ -eLf(6 M L8N^Nu - e$" M$&B&'@(6 M L8N^Nu(M*U`/N*X*@g"J6f#6߹6 M L8N^NupL8N^NudLNV . //.-@aPN^NuNVH<.. Jn pLpN^NuddNV/. /.NPN^NuNV .8opN^Nu y8 .ѹ88 N^NuNV/.aX-@JgN^Nu | N^NudNV 988ѹ8#88#6#6#6#6 N^NudNV lpN^Nu/.p>/N7P#8Jjp #>pN^NupN^Nud?NVx . gJfp /N7X g . ~nS`p}@|Hn|p /N7Pp /p/N7Pp.}Bx-@ .xl n C~Rx` . }lF n R `6/. /./.p?/N7O-@Jj#8p#>pN^NuB8 .N^NudNV/. /./.p@/N7O-@Jj#8p#>pN^NuB8 .N^NudNV/././. pB/N7O-@Jj#8p#>pN^NuB8 .N^NudSNVH p| r-Ar-ArA@@@@@-A-A-H nJg^rp kPfN#`2 `"+`-`|`|`|`|NqR` n 0f |0R n *f$n "RX-QR`Hn/.N4PѮ n .f4R-H *f$n "RX-QR`Hn/.N4PѮ n lf |R nR@r8kvfNc`Js`X`x`o`*u`d`J.g "n QX ` "n QX -@Jj r-ADJgp-` J.gp+`p @p.".肀p.JgRR/./.N3P-@Jjp-@ .".-AJo8 n//./N7zO p././/.N7O -n .ѮA-HJ.gT| `JJ.g "n QX ` "n QX -@`RJ.g "n QX ` "n QX -@J.g n0Rp-@/./.N3FP-@`J.g "n QX ` "n QX -@J.g n0RxRp-@-H/./.N2P-@ .XfHnNX`"n QX"P-I̳f-|2/.N6X-@Jk2".o*-A`$p-@"n QX @B.` pLN^Nu .lB` .䑮J.gF .S-@Jkp nR/ nNX` .S-@JkXp./ nNX` .S-@Jkp./ nNX` .S-@Jkp nR/ nNX` .LN^NuNV-n n R@-H Jgx %f0 %fR `"/.Hn/. aO -@Jg-@ `J2g$.gp./ nNX n PR p./ nNX`pN^NuddNVB.p-@S .  @= . . -@ J fA//.N6vPpN^NuNVp -@B.S . 0". . -@ J fA//.N6vPp N^NuNVp -@B.S . r N5X0 . . r N5X-@ J fA//.N6vPp N^NuNVp n-@-@-@ -f r-A-A` n +fp-@ np/N7XJg* .r N5 nRr0Ё-@`JgD n .N^Nu o"oJfSf /NuNVp9=-@Jg B9=N^Nup/N7XN^Nu o"o / oe  SfNuSfNudJjDJj Da DNuaDDNuJj DaDNu/HA4f"H@HAHB4g0H@40HB2$Nu/v AdQC AdYC A dUCJAkSC4HBBBHC604HAdSCЁdr2HCH@A&$Nu B"C$&HBHCCHBBBЂ& $NuNV n.f N^Nu nRJfpN^NuNVp.//.aPN^NuNVB nJg.f-HR` .N^Nu o"of /Nud o fS Nu,dd o"o / oe  Sf`Sf /Nu o / o "/Sf /NuNV . 0m 9np`pN^NuH C>#AF O0/@11g"HS@4XBB$0 g/`?S@j?(NA.yAFLNuH C>#AJ O0/@11g"HS@4XBB$0 g/`?S@j?(NM.yAJLNuUNDEL V1.3 by AD -- (C) 1986,9 HiSoft Name of file to recover : Usage: undel [-n] %s already exists! You have specified an invalid path! There is not enough memory to run UNDEL There is not enough memory to run UNDEL You have specified an invalid drive! \ I can't find %s! This file is unrecoverable as it has been written over This file is 0 bytes long - there is nothing to recover! I'm now trying to recover the file. It seems to be %ld bytes long Please press a key to continue Recovered cluster %d I have recovered as much of the file as I can. I managed to salvage %ld bytes (the original length was %ld) The file has been recovered There are no more free clusters! Press Y to include this data in the file or N to proceed:Last few bytes of data recovered: Start of tentative next cluster: %04x %02x There is not enough memory to run UNDEL EH You have specified an invalid drive! I cannot read your disc I cannot write to your disc Press a key... 0123456789abcdef ((((( H ((((( H X 8 H*  4 "@ &z6$*  ,     T"D   @ $ & : (@:24   .   (:P,  >(.,   $ :2     .        8> b.   $: :&>l$. $:0  P4Xf,"20&"NR  B4 :0` 0 . @8X" X~2`*\\@@mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm`.+?<NN @0<}BQ>NNJA6g|9HP?< NAPOAB a&MM +ЫЫA .GIJgrѓB(g<fG``GPN$^,,,,ܓ,,Cp$L(QGX /KN(K&YdB`BN/K ,HNRK&`:UgdCDE`$|a^g`|aVg E`&`| aDECI&4fLf&e|`@|a$J*g2P`f``BEg EQJENu&`|a84@HJ*fXF`.a2I|aʺ<m|ag |aEA`*`2P:`aDgt@IP$$Q` f&ed&fg^|avg &CrtfTATAQP`Q|aJgCpQP`QBC&&H&&M``NZ,Nu ``````Y %ATOMIK v3.5 by ALTAIR VMAX/MCS&sè ZL`4 \-|&nj_T8=Cq2q._88-9cnInt. &cw:0(k@O6 Ј.@O`2J0// = tA-NI} iiG?)GD *kf#2)|3/9G(/)(53(3xG q~wvutsr\ N M ԕ^b zy&O9X ZNA.pu1(b.8.4.)6+V!el!! :ams5aloosectoAT :GU$AIl @> A l/II%STtme%ssQ4PYQOU8lOS(ORC=NOT469l>R@jοLq @V:eMcas<$&IrPC._DKlC`:/aPßWcw? @Q"SCQr/ Hq|l܍@ yEW\k'1F%l}OǤN4e&rϮF& NYWPq|$(T(z8L.ILt(܅HpQ˜&]FVU^ٽ.mG@ֹ4j^:qEr+;<ie'ْx6RFxFn? ”%/2˼lҴN< /6x42_ @6[5!p+;M(,' !zQ! E(@ ET ǂ)Z2w"dB,j^h:$H.$¦brTJ)$2]w: J)J)&0I) xCT݆EUJ.p%R|A|9)WGh ݴ-GZM ~%®Q #vԼ]ԎO Y@|8}\kzkvx8#^#  )(QFsx:|UD"3=\=D#R[L-Xg9zYaB<6F3:wcJ)ybQa^[|T- @@adScK~a&+Ғ6S'k短J~ U30a(2ua4DyT2];IKNUa(MXrؙY-,^ _ ̇P-vCNzjWje&J4!n%@^´|ޖIj(Sv&_v@4('Kf;]AF@`|*nT? +z.'zd{޽yD.DPQS&qjXl p}Θ@ȏ08\.FLj7Ftl^R @`u4' ( Q6B;4 o!Nq08ʸ8ԺrEt \ PJ  na\@PUWFҧ DïCs0afcaa_ЫLQȏh/NAj'$ȨJڪ$T*I@%Aa%ZaaG!^_bXpJR|ւP Uhyxw&E/ ?K%b*_&4JĄzUa9 &ubjDCоdm.BS)z9ϩ(*NJ$,~#呤 YbIN[G3mߐa7|$;Gv%Srku#ewVRb YYL8Ԃޕ"|*AJT#%N%d/\ԒB%yLqx:yZzh[{q?U)N2N\- 0L\)Gz|JAk0Jkpo';甹62OP|ACC(.C9ܗ; a~1|p\;|ۤ<\1-> JDjxv];x z| ~'@ }AI'(IC(q/Iv_|lxG&`K!庉y2*σ袄/g|jsD +P'UV"C:tRhQr3LH3S'R\ 3ɕZ \h=XB`ۣty$@{c{C3$4/w-}Ԃ2?n$cg9<ƝF|=IoEbYC/ :QA=A?lA> d|$Kt y{ G<taX7d->eG:,XpRH"単%CmGzJiWJӷ -A(NǦ- -0|@%0X@%” 1_U!0uf-x `RVk&]dIU !dIE+<' 3[lhAOi9 "hguis<=~R%kZmB$x@'w@L N>L 5:d)v>\Fޘ2y<&TF?"ENVκBE $ԂS#(C>O`b2!54K •Gu<:*@5Z0C. A(r$m"v’˝O?tr-7tO!J7D06RC^Š`4FRE[G"23Ret0Vq@Rl2"2Jdh)ҪX} dB&R!2(CuB`%(RS˜hi7s+u$9Durd!>B@ 4[`,lUGl n#B*UTV,8?!Rr qybb 4q9@6:*:&n:΢@EЯw?߯ ` @r DnJ<N([ruIA@o*#$I$(Df6>VShNL@HHgo@@0:G9OV#(<<EDL7zM0 lÀT0T6L h ]b8 $8<揘Cpt8!6 zZ=nRd+z轒6s _:LƊxYtiDۉB-[ܪEY9 ²JHXI RhVț|7žJp<oܛ9BFlrZK07:g}Y6,8m2ISA?t4rZFV<_]zF&n&"8$8?}6\*Z@l0}BX瞉L=% 9^r$*&woG^˒ H_*JI2<|AHC2 ֠^mCM^nwW4R˴q]XeW$#+,w@wTXe"g,ddlPcV󱀵>6g`2D `},x벝 9oR'Ka 7FNYIڕ(t(Bc Hen1Bc@\4e6=PhheThj\*QZF/4Ɍko3$POY4R(l/Z'2QlL`idN)M Ǭ\v t]#A& _@5vLi@u4SqUP&*k$ #ODM n*^oаtYjr.k;+*"ȂFHr $c:~9$U~(<ݱeePHJ \u(jt.&,n[,r(ePkB:JJml 6 Be&LHc߀JzѪ޵'xuJMALiA1Rfk޹Jx'i/w_R8O6K)W7Q[%J1Emm0?4vLF[N;\J~[;lC ˴ܼ(j=s ,l#:w:cDz.R6(|s* -lhDhAmjrd IKC T?4ҷrWX1=L#NlQ0+צDq7m!4{A!opp:F1NeDQU͐?*oYʔ7@F)h=mWI($N::hVI\(0/"A@7A6 ΠyJ:r'@Z '=9,4/kF6K SCxpNT$PR(PboL0C*Am nG+xGh|ld98CAPe_btl(!9r$Q<~Щr CxYt4)ѓ߅CDWFZ]bce.xz0o?ixP6p:Τ61W*Kh6RF(cU." 0^/Ch@;jxKސQ7nc߁)NnP!i.mb7HJ\uZZ_rg gd2f7 8HDSv>RyKm÷eܠ}<06|w?+4X 2IMPeTq?k?NAe]%?D `WL*}./ڳ<;)(%*=`R@se-J5 K¼AC-tB\P!Rpeq$,Q@\n8t*~SLAx]mRLLb"ЉDZcR8.Ae(<Fb6ŽNϿɀ90e9c{-R[ +SL8E0VWKmDh3^;M>~36R6[AluS$D5lg2G6n6l( 9SCSo`6uB{,l0S?;fI@8Yt&RxήDoE& Rܜ$p$ 斄 9#X~0 DdR0x@2I(Ae A4J4N_D4Nx6W0W@ԏ]k84T2:(Zp/ R@NTU`"Fl'UTR\*r r݊u5v8QOº&:(1lRj !CtdJLīiJ4ָ;'rT9gYOxw{jiPNJ̋?HT&Q*pݚ^WxW1.'1,m)t~€R+x60 qbD-h;gĬ*mI06Ϥ`UˋrܤN8~ SGJGm3Z=8!87#hA}>>^oDGːlh־w> oWGܒˆW Т@a' MDP:y4^Ԃ }R@פJe|4+at\6j*MAkM^9$XAA& E&_@cAdhB"@;ۤəe-"~ ʌ/O[R,-rP< ɯ4hˬ_(7pǔ"E*Zp$/,jg9n9T&t+щFNVye!C/BGlu8N?"/7uj4_q$bK䂖|4D@NYY6>12:vdyhGjx:-[ */ki˅!׶(XYX`)kq#A 1u$!N(T8!K-im$hʼnh?/Qc!_^Mzd'l'.zRI!!<$$IXI'%`E>m)C ~}B:Q<dfXvD(*<n PsLvew~&r6 (4r ׾sEϞnJY$^V_*עe`vʦR :pd rX>T4 DcSIj| X<+B0. \SeƤPd_ |c⃣ O @dCkd`n6XÑ&"W(r[ cߣr l"NG͍XE5i]ѓu]:-E(m꣊*v2+, k[ {T??4mpj=XO5:/[VTxs(%4XFCc,,SGom\6!G_bzs(^]{i,K*v݄jjQq rT(2~l)BN#&%Ԕ_8ݱyó@HU)b82״AlAA  ЉWB=4P:zChM$6v7@qM͉PzY)KFLkBi@ 7>nj]>QjW\ <7(k9t?Ԃ4#|$^4aЋLN9:8TV1Е!{72YN:CjgTG<0T8FzAqY@?5vfYnĨ5<2ڣ1l\O/&J0Y/![G+Kw 5{=b?,24WY3C)p.3šlT(sljs]4>'=-=}F^MɒmG0Ǟo >?U =.\M:sb=:4@qU?|Ky.#Zxo&4|oǯ(#v3'C7^*A4'Ž?ix:_ܚGHŋx;H3EK6)~ٷq&U7C{/ɍ4HjCls뤅c`牘y JFvApmcG?YPܜך.K\O*U@HbDБ;e)hǻpZ. 9*Bb v>kxrX<v뭓p*CB/ !i:nH|H<XH#6$$B"bӒgH.Я#Lœ&ג#J<e &Bl&1 D«C#G¾B׆!2D4rBp*\^?Y/-*HL;$l&*3A8 v>PQFd4!8ESf0pwS ۅ*TWLN\=7sP]tewWn{S%gJE g* g3e԰MdƙPf|S_< e$3q>T7/$2$Y8ڥ4il:HxAE%D511g߱S LԁMDm@/8&H8 !*1aJo r|04A)vZă(@$4r/9Ј>6F*XvIr /_{Fk@T^Vp>mv@?H(ɴOZ<:Lx<_5M 4,'a3Yo`@JaKt HPIH JK]! * $AGi8QB6w:]Cc7G{crAA ŝ+ҝAp(@ohl@o8`p?Y8H*ÇCIC-I +/[x$H:89wӡTO.lpZlJvGqep-z*J(p@k&~\oʮ{SEt˦ysN`B߆kXAnm<4B؀68ׅN`obT]dѹ3c\C+C]/P "ϷgLS BBJ19gMEF D<Cɏ.ߕV {F{L XSm@X5.XcGuVʈ] @{ 6 AJcMzL֣Zm-4\MZuB8?GtM@J h .U,iqqR_z8=v%`-TN43,J0IXSHIJ[6ߺbe6v߭-S<nՌ#6K:h\-C#ߝ#iFF^6ic6b!8WB'.>O q/.9C4@b|_1W65TkK?C^]Lv A;8TI>SBD4mJN!S.>, 3e~bdZ"Pf5P0d@@hDCPЁendh$Cx٭e+Ԓ:!,<7sMؔ4xb_sx hIlM =vqgB /ɻ>(o֧@e1HT{:ܔt?sT*1U5)E#΋#6|K B=HΞb,84A_PT[>fnYL>[_LOCWG4a.#qghB&L(HIEB7.Fg]w>;xpFFbӻnƺc Dώ19ҺG bnq+zKuS-D539@@z(vrn 8y4cFЋ@^lBt8f.QeDªzI*ZmΤ& mc9߯ m˺DeF0<^lXSo\/+4 :bGL bF(lZ[pcHҷ+Uw"0Ƭ𺖑#~t])?񵒰07LW*,BgH&f.=‹j|_4zhl^݄MťvA:ȟoNpBĒ(nQϹZNA?+ZOsݔ̍Q1"\& Yꓜka/$xCt*p/m.NDE7cV)!V_D mtWcP&yr a@@}*C. &J&JlE=k1<}.ϯR 8" (db6G "?NJ)gkM"r?`>Wm M:Z0b6TW GAp%1Eb>o8lF1U?^Rwh]*ZLG .z. BEr p@ sSVFo'wh&kӧ K!sCn<6b6@K5D%Cɶb _@r 7 A>/^H7g&׸<q|s.A,:.wfCE_Q*#eӼ.ł\Z1\dP<#sJt\.Q&T8xБ@mA\/T!z.S\ZVnk}j4H# J (@9aCh - ɴB^25gv5;v !!PebH`d˩Ǟ 4?HA%Fd~BG-DG>pveDyۅ.GZE&u9WPɝR051=aFgb?~WA /ricFy7n`x~+W4j:!9z (.32ۘ1/qD‐q" Y٠c .htZ \C@c$Z0{m|TsQYĐ=;dJ<17Dmc$]862+> _:D-Гȳm`@b`b?-,'Mr[e'( R xb[̩IpV.F0I}aiI1:κEp`虾cnEb(.-;XJ2ЁsXt*X9</b] Zkp1l %/G Ө~:}EEw<#(J1֪l2 %BDGGbރ@<|ٕ*L춸D4"c{ FPr΂;/!vqNBtJ9L\9<.JD8T.UglG8ߐ'bP$;Lg$^G*N.tO' CsMOI,❍3FjOo /VVe^ABvF,< o8]EA:#8QسTKW?:%e욕kYIx{D`*U0 7P/1pD"V<> {Р4iYL\,VAO..9>"5|g4F8"laLmI] G75,:ejU$LP,M NUG@(U:XJ?\NeqUF5ԟlZYb]i+1>n؞$ قB:mnW Ap^EZ$E3mCg7NI.[>Dd A/xB>EbBPX\s$(Z* IhtG< +" iπ1_qA P:1<8rt,G eX t.x(TB4{<$M$"5TE8JB>4J@Q8C 7BxCHKC8Ig6|9re e \64TBqI<ӄ;0Տʐ)b] zN j^ί@g^n*a #1 "k@3&J9TE pAJp 啫 a,XX䋻 =܅V#%9m4?[D򒨵urJڗva,Y@Cc4:.&WNxtA Px؜k@BͰw4 ^K1oJLt$rNN |LI荍_*$0pJX/s8 )N/ 9M:y%,GfFO,dA<=,-AH i}oM9/,\M.7lc-xH4YP }flN%qR*\fy3uL@h8?MPNLp]WF?.p 4;qhd5%5pd՚FntnrوAIRDQ6q߸H.*!$jxVD,pύ؋\ٹ!N!߀Y@ocJ%EԨFDA<`f5#D LD/lנ &'r` d^}wi] ܮX$5=*MGYz .6yMvBUP##J ,?LMr"oy/skoU G.W`LKrܲ)d:"613Bװ3E=w[ev>յ[3\Gu=@ Hbm ӾoU\")|l.d /)H\'B]Lj< c tҗ]JAڞ޵` M't8MW$94:<*ºHVP"Dk4FRt?䐬O:TXl.Q;"ʠBKd;]ؐxAEk*F؂8c< ȠЀ& H2"5WP4HD#TOtZ!=m0|}.+k9&VȦ \gSq-6ړl3*SKn (*.OڄF&8$*g$\! dMDZDHpQ%*^ҸvEbhנ1MZ/I| GBvNFjwJ[g&kE{=87J>9-E84Nk.FR +`4RXRm-є9LWDRd 33BFgtg:MF>,TEZNU2-T4Fc6LBkΉ:1[9?.[U)Q)UqGj P;tz':jp˄j9EDftK3XIJB1 f r"uo(ceԱ d .6L8:4 ⊋Z@.whfJVs T/}] H%M)8/ ? pnqf*C4,C\(w@BPi wRZvPx*5#,X."Š +/G1sSݠ[vF!z ȫBr$ MFh^~ %`Dj%8U0[(7mLAkN? l'b@_<1)(xQX 9,G&QrCh]2lXZJnڹ农Bjd,aX6@>+%J' . Ӥ6 >vi(>AEJ,jcilXP>Q[t V.)N| eޜqTmΛJv=Iצ+&]f ǘ &D,W%&E?t@*m6 (#yv,76JXFΩ6^j?N Jʺ 47}ht $܉+j%Q.cc%P{>:S8-ϒZCRlQ׌ޞt)Spd@JA_Vb,0x8R7VeH}XC,H$o 5&.L<4~vI*Ӗ,E:~cYg-n|V夢 9p).eB1$C+.`$b5gB?.@:cP* #-PD.+A]dI3qsvZ Pgʄ R⊨*g&lzAJ>L9ԢC,eq'NSTnr=cg.>dg8Bv<.r;%YUxŶlFb9F$Sz o.Ocd애lAH6˸єTISl!Gx}t߇|r?!$9C x K{Cp/y:ULƗ V '6:^&\h&H.YgDBCSAd37`w訮חPEdl G4Ͱ鬜 i-5:'>?YݓLzB_>ra֪<YoHD !snrL!c&JIׁDb>"ZBEg✋E@d*KѽpZeGQBF)=I9-4mյӗKvmJG9sCAWB/qm/ 9Zb%h ~zA;gg 鐁nCY.m݁}(u ;BH܀E׌-Lb&3ohHBNS m]J__NmqW7xoO.Y ǶtcTM,]~%?cvGǦJlXPj5H.Ad 4$X>!E MZ4Pm˪*LA$i;([+>K|9m?-L-] XE wKPĩj]v$3|ǃ6@,8{[p}fnC|D؋ *:.*H8X5;P*v<Eg xSAzv)>p!q8>.LdѲIAyeBvhzXqZ̓;FTO`|nA"A$:iJ(9:jI>S#xdI3No q@HSHT\Qvpo@oăUS29.⥌T2ߊ m>+XZ׊ӉIET$WYMߢVY:nV{tјdx^ln[b TAO!)E?Tp v:> \#=W+]^0~X%r?X>H4˶ʉ;2:RBvκ ?B??4 29R'Ƹ*H[έ]@A'/bS>E]Q|[xyR(9`{X0D4(vV_LDѠu 8J# ^.Hʍ _F@ 9V˰$(:CC5 K.uV,PW9p܉(8&IA=<$; ]\UvqR/7$7y?Vh 094^F`j.4v:.տr?\p⢌A PbmR/IYm>$O,OGKUMpsנ@4!*&(~eKb $.Z4HQ)}# ?\c@2) 1ੲ:S:Q+(+PL}8FGEx%AHL5&TOvR|$O2RVm6:pDl_&$#5ށŴnfEh40@GtOMX+4JEϟ/9X:zF|5pmFө[JZL])h^PS"ZrNOPD_9$P#1a*BwC*u+d*B-&j* @iZ  0mi/$ ! 7# bh/ dp (jQ \`slhU>7߳kV^?cA!BLWOK@22)qdS$rtA04QgXsqmhm;Mv=q)Ȑ?槅]}^(]{ڎi@]*8Ǣ&8ܵ\E*\sfs*p[$c \Uiƒv4SB㌪.+u豀QZ@Qi 8Nc jnI vK[Ҹ 7WSA5A2^"/hTwm"oP5k hU+lgr!Z |YSkT $n: zVX=yDl 8pSUs5DMO5EVraJoNZUs0sDh#b2(Ʋ@8ApDqn$/hGʀC^vSAR|k͍ m3DEP8v#-Ҷ]&o6F.3ÉrRN<.Qjzloғl QjSr 'POClCR"jl 6jVu8Vo,vyVL,45CW[nUFC:tGrC4 r*ڭF\+{[vՁr(Q[ #2Z4… l<:yn؁( d8'pHN !\+.Ktr Ҡ>1ieLvh,i+81"H4,6*R%+(AJy,Pշ# !(_.$Z8%cYkMV|<?0 穕R`T]]x$ &']KX j9:W\+ $ *K&lV(8BYp>Ak쀼3R%IR e3 SCO Zęuz7|Rm),880I߫CDna"jO/c: n@:3Aډ ]Z>A@h2qsP2A"WvI{|ARF6rzl@4ԘZ2BϣNFKz,EVv-\Q4 K7h-9`,#k} D`JNLEÍ$IӁjٵ+:xVv(hKhXu$Ul,6&/+ l MTl+Ɵ =Vך]Prux+s7pfY8Wr#W$zN*tg2Ar=$,#q+O8nAB(I* 6#)8pV*E Dtm/s* ]#"jbH<#N&~Gq/m󯆺P lL 'JXO8W*JD3ME~IV2=al?| 4)9rfL$zz~fDQFr*t,, .9WS.3뚹xnVl0[PAsCĢvF)ȗ}#9h$3@Qxh|ze_y& x r \*$MJNnn5,PK8ؼ8tkQOå牰r-^R5Q=8$% 1϶&xJZ*p.4;Vxst{&nvs?'<ܞ/n2"SA>_vN`Go/^l RIzK<`J886sMԌ~{ҁ;҂@RThU< {TV(8SQ&jPR7n5e:y9~}_؀A ؚ!KrC ގET5e=&_i8$'%VL! KJ`bm7JL8 ($b6IA:KAx䫫r}G4 5Tj̈$ dD}hhiG lhpo}O$ם\B@$ԃ8&}<㮾q_hN&E-~qVlrAAJC[T&^2Q@ p8Gݔ26ޒNXg k[/hQ!R7 1P>7S䘊hmjZ7iU  QI^2c3C5pVXOf 8SsIFڢ|bl@;=N8zT*t8bۮ?.lpqsbH$[*kAqtT"٨J]C[N"'sTPUF?regCTOzD&A`7W q>,K@BMZU]l0rlT9Ew@uVipjAIK/`i~t$4&RGAP%I, -C ’M7ꝌJCƩ1!RKR|Bċ<d,Rcg7p3'lc0 uvz*LMd_XN$$l.HԁvHEm,EK2)89(r +qpCRx:7*r|.pxjA|cARE@N[]9kCL/H-مBhT sQ!/dDwra1rh-CXA.r6(ڥͬ5C_8%_6rky|=>\~tYg[n $ԂԀM#2( 5l("ӀMV[1#yaRV$m܍!J!t&kj*^O{@mpmw|m#`P!Š" ox؇&QDIaDDTJ CCl H6R;*}84 JDW-(ҍÜ[-)Ɯ54n=gRAJA}4CQs6b4\tvf.P3v"a{oJtr9t@V*/r9I ZQa8u.&rn€N\u^)/L YO 8R J"POWoJNd!hILXoo;ft>XA=l2G.7*M\yҾ2\]MJS@@R(;n@Ё"CN(/ pE_ARsnRVZ$I榌+~(鴇-6WC8ڐwC&LG y G|2C(dAt@z|H?^G+>AS HNe^4/RAmP2:*ZU@ |^E4?~@/d $PҎ2C(&Q (P?@;?A:*8ABV"v)$,xtVK ?\cd4BmKBnпLrę ޹b Zl _غ .*crMbq+& EndJK8D&M!L<8VZNʊm8QJ@aOA A@0@{DP@^puWPk.pr6\R-W¢O+&Cv 4V1Tn(ЄJ{(28]1㢀8@ED@8.*B(Dp$Z# A@zDEFGIJKLMNOPQRSTUVWXYZ/4Ukb{jj--?-gDC`t3JC"Nn3$?_8C,6؆k&C?;&RS6@8cʵ _&13ƨIabcdehijklmnoqtrstuvwxyzhWQDARQ(QѬCaJ6^}I~ @`,89 (`,8.hU0Ae!)J2Q(Ѐ<84, (P$4(@ ?|@C^xr{?(@J琉܈} bJHYȖe eϝ>ZJ䀳6x0WIAQ#ʆ]T0yzP i A@ 8A A@郀AX|PM?lvH!ȰPxo!*\2 47DIO't^Ǜ?"(P  ȠA A@@h 䈇x>_?>&v(v*vz:./$V&W(W*W,W~@~SL|@!RXa|SyAKlŽxHx@@p<:DxP8x64@sCD!i;ʇtCܫ>DyG^  @!~4$  :Ђ(B rP@ hbd?X$4$J:HB2A&X',A@r@taPd҈рӁQF jD I? )PP}Ay))*A/ɒPP;A")>a.t$DiB;!AP /@E> * 6Gv@7,ԩSt @.^AY@h2/ΤЌBh XU3t*2L6LytUA4rh*D 7Nx[ UW:_238*JryMH#wgML4@E#LyTzO}NV/ / yO: _BP2xd|r~u[ebVJj&+k_h>- Z,rX4h$%#c$B[ar2t3 K:,AA5!@2 <ɿtN=MG!`#N$0@&X(EB)}7E*(Ⱦ:2BB P#ݧ:K MjܗBpsoJ3g R4qH`"H@41AۄHAjquPH@Lvt"؄#H323<48i@:5<>P6 $m2<qDHRQ,a"TCyа(7g""QyT1f1A Zh4)Jĸ1SQFgyA4d8b+:(`>\[h^!)T P X1iRBjDBhJ+j1o-r!'al`)@1pNdOpKp݃ VB"hA{[hcBhC#B66664|B Fp疉,_d#h tRc 91oUܳ+GWqhpw^1.Y/v@O,VÍ$}?$M($)nJy^6dc9`pF0,Qd0 <89p| LMWKxx;fCz>tQ`!cJH:RFFЊƔ1AGB*h%``th1W?"à j)Kɚy[~sub03wAKxHR?\|bQ;|RdTA'ȋ> zx\x[6>1^I>)z2V#;+Dž(Lĸjp-(6]GXtG"=iģvZ=3KwGT*Pi^^iv͂Gh Ҋ.Lw_28x y)4A';|5Ř"yc'[ £6XwvBEJ`mkH("b/iO/Q"u?8|8cgZ;~?H<0c;*vrYM3Ղ-foorуCk_~ƪKß+F\.~ixk//myTw`vPALx{Z'Pܱ-\AO"ޠ'+ff Ҫvzed%⼛xp٪c!5ϩR~[Pگ/<Y>'"C%CJ<|l>KW_ 5~1^_Q,_RBu!%>A^I!>)U:L NRpZxtMX35JN{ F,PREtчEчEчᝊ>/BÌsx3F*dF^:8Dt9.1.f]7t2#h";܅ҏ %./WED]DW?sAp8Ju袒ETRCwpT.ɾhXFȌH?wT.6I]/‹wB]U8PI.d0 f J 2tK"ɓ/L.|MA4J sND7H P!O "HRhᝈ>l!2uN7}`~sɒsNm!˜$ N/>dg מw*^ t2yB\<8ue4' D2 4]]p):w0,E4^kHHx8 Xp>HE,|ƋcY j0bA/fa/fa/fa/fa/ufapYe_Z?oB֩<oSآI[7h|2<#TY=< 0I-Gwί>suXG~G!Xe#HzPmxf/u\eolD}Cc5ԉOUuF^rѓ`]ྦྷee;Ȭ*#"ψpE![֔$pgBΔB%B'܋&?J_']R]4 (D=^ )]]E躂*..+.1/:J!x-DJ+s, />싮AJM"!V2N!(SPT)^"#bB5 l3ǐċ N!D Cy_A-yŠtypAȡ"uԻ1"]5tY#o+rငP+Iif/ASrB^\,.rA>MulZpvڂ|V!B+]{0l2 اl kމ{RfXE-i`t{#ڢ;XEzx_B`zfA07x0 Fu$"L%R:v^/hR7qUZ6xhIAun!vgxPJČga!mܖ`6#>SG#B87.Nb#DCDM<9oM*Fa\db5zX78 V\alu`seg13-34c$a6"Ӷ"12=4)G:."y.i!J[9GOTNN đhIkLv$x,Cs؇OR !K}hL ;%h@xG>\.x ; a=O4B3 z}&_kA> E=_ Q K߯ sꟂC}?z~4">3XJ@g}Bg؋+uy<ńj  #o'SA/ԏCXz_ z=AxA/ aC <K=A( {~Ax]_GGyQ/@D3õJ>5z(0$ax09? gax0| !'-DAݴt@4De&W .3h wMu~ؤ <#^K}X?~ :^kއq4~>;^^@ ֗?j=}n{_c$Baj :L*X'<^ |0)t@6OHۍ;`pGEa zy>MEeNW 'F~3|L= CA4x"6A"tWT/qj_AaHze@Q~Y>襂3 w$Y? h+eXw>5}ο ԃ`}0uA.x+A& >4PC? K>1U |0X}0ò`x僠GIIt 4I~xTAd I 't;?FkT UF t 2!j2"#YAI2 k඾s`   x]PyR!+s5t3< Έ $w u01=.,'K*Q6u@@t#A3? ԑ#| t P 5ex0z`|g< $L0rn  m<|@:- $GD @ @91EN`'(Bsruu᪃b+[1 bV[ m= w\ ~.dŸ0NMji,4 aG|ؗ -9ION/A?(6^QĆEYS15&`#PC8WAcv ; p9W` l_y3Lc sMepH9,}ׂTܲSPLSfm>utuMAYBE{VIRUSu<{*TECXh-VgF){E$id; ƒyToggIXgn '-aWuLp@HC7cb1f2rde3$#+z'7!$8u(&14QnLJ1-a/ <rH8PqMK1*;))GomÈMrPu]J}u ְXU5R_ҠCg4v Rc4A1 r3(wA 2L‚ Fe4hOӊGfa nCRr wJ8 ;&[ lpAMWWªt->l*MKI-MQ1-䗲BoF `sfl ;jV${ˤrœQ(@ȭCa}eGpoCBlvA-ElgVLe ,ϠueċWTHH$N/$]abLZFs6!UQ;"pNK@v,RQ⭄>1$?ffߝvĭsQ`Wha۫m{iO;wlX7- .XV(bOkayN=̚E4uP- CI|0A- ksSZ%v=,( m@A f@MAR1*~vln`W7-rfcdӊmpdwUpLF <[kl;֮UPDAeSVly L[0.ӉP#'LLA۸oD)&DD#rp_]G?" )-HmQecpJdA! ^_PR%&IeN,FIL!f ݬA0>>pkTMP!tB5(=)Pf/WRIT YERR1s Mq! bݏ`X:!pTe[yb&8A Nڃ*ɪfunHL6E-CEEE'D߂[0B]H8iGa ̈́H0XqE7=(s) e ZDRE0^nO$p0B)ʩ` *fp n i&qf7ZJA^2Si!ze p &diad Z30A볂K RrDaZWKx%a rZpI 0E=DIM&'JA-JCgX5TA!dA,7 Ku5ˆZ61N…YwԘ 65_,- -Box)FU,lqex4ztsFO' (8>U p\!u_sZ$ t*dSAB"&(S p]n0xDIZ[isvllmuJ~nsi?Q e#"g`Yт͠l,/dl,rwr1[JmYX6ssFd#n l28kgal#c:y!>Z=J<f%ogh[991!byICPV|YTrOS-Mzin-O[˺suppÝ`PjolE ssG? @A8BpCDQ/;3847!%8/p5&6q'P(mp9J"+G#TUVWc\KЪfw16Ne0wt$QF2AcRw7",e:T F3p^l8Fmb4T5 mj*9LIamVϻa#uZk4EGSf1`4st BXC (ǂaJMH@B@(Fz yu<ŠAP!ۇ1r=5V KBOp!9!Q Ca1/f& =AfgFXSBRAHWpNNu$B8nlt( 724TK7 !88K_p ܘ 35^COm F;ԒׇRÇ `{a@80q8-O0!x\\\<5m@s$*fiCANCELPֆ 2ךzQNV==jWjhdRz>!u[IBaQsXHZSqO"ZphhDzogm6iۚi#FCOPYO̩EX4"+VEVw%inejsta_MMARc!3 OK1 ,Eopi-W7䝫:vOlagaDplayЈr2f?'V=hYESNO PRGCC6a!uF/i-Ew;6G[_CPU@eBx.e\\X~ceo f h mpbocu7*s&+d&5p&:s6;d6Ep6|ak%"ކ! #[l2(8gz@I5Configƚ\E#AB:'saiEsd d[nsypJ pra.1iUf<-Er sV+1-1cQuitA:\**By1tes(fe28Name:-`%)!ursed.`Parent<<:.fTt*n:O4rL(( *,G=ZGz^5*oe( vݳpjEDzDRjN[}M~ (u*8Frcϻ[w-gJ ԣ6y&D8 xFj3y"lVm(ei 2f*6`걙BZuE l(*-HdW*竇ӗ{덤T6+"rs&&"G>>F:3 f2i;u$"@R2IAP۩*I v٬>V -Um1[N Y(*&D*ؠ[*lHuya!"Uj5f:կH>PAS|e d ѷV?X .k=Sݨ~jF"("eP*PN %(2**˜T(M!8O]ZKmjgG s4xVzf :Ӹw>2䇠^vJ&)ʪJ*"$a"= bdKyJLAh=+Fjng$Þ>_Gcն!H#B&NoVFkl3H$*8$"$v6< 4?fHsdryvf::Y8.I ";(jS(R2$",$nq\̙@H d92?#( i&<6HO46$~8x4Rfl~>**Pz 4f1~:gVg$&ߔ( b`j @cc"v]JB{8a)1 %0N~NXB>X" s2 :4*&9L&f$vfP( jnn.&$6 `| vzܜ>(&(rLs  p(,P2"`A,zX/*Ș$ЌtP0 H%xKHAM`h`% Bpe |0,. pmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm. !.. !PICSW7 DOC #_<PICSW7 PRG G ========================================================================== PicSwitch Picture Utility (c)1987 John Brochu for Advanced Software ========================================================================== Version: 0.7 Released: April 19, 1987 PicSwitch 0.7 is distributed as SHAREWARE. You are encouraged to freely distribute the program, but please include this doc file with the program. -------------------------------------------------------------------------- New features -------------------------------------------------------------------------- The following enhancements have been added from PicSwitch 0.6 ... o Runs on color AND monochrome systems, all features supported on both monitors except PREVIEW (color only) o New formats: DEGAS compressed, Tiny, and Atari 8-bit files o Much improved low-res and med-res to monochrome conversions o PicSwitch printer driver now supports all three resolutions o Color cycling is now supported, and is converted between formats o Converted pics are now saved to the original pic's directory, or optionally using the file selector to any drive/path -------------------------------------------------------------------------- About PicSwitch -------------------------------------------------------------------------- PicSwitch started out as a simple Amiga IFF file viewer back when ST paint programs were hard to come by (around October of '85)! Since then it has undergone lots of upgrading through versions 0.5 (the original), 0.6, and now 0.7. The basic intent of the program is to provide ST users with the ability to view as much artwork as possible, and to convert to a format that is usable to them on the ST. With this version I have addressed the major complaint most people have had with the program, that is monochrome support! All pics can be viewed on either the color or monochrome monitor, and can be saved in any resolution with either system, with automatic conversion to the selected resolution. Conversions from a higher res to a lower res are automatically optimized using a color averaging technique, while conversions from low & med-res to monochrome use a sophisticated dithering technique. Conversions from monochrome allow you the option of saving the picture using the full palette (best if you may want to restore the pic to its original state at a later date) or with the minimum possible palette (low-res conversions would use 5 colors, med-res 3). MacPaint and NVision/Paintworks monochrome page files are also allowed a fourth res-save option. Compressed save allows you to 'squeeze' a full 720-line MacPaint document or 800-line Paintworks pic into only 240 or 267 med-res lines, thus allowing you to view more of the pic on screen at once. On a color monitor, you are allowed to 'Preview' the conversion before saving, without affecting the original picture. Hi-res previews will display the picture in PicSwitch's 'simulated monochrome' mode. Printouts of ANY screen or full-page picture can now be done with the built-in driver on most 8-pin graphics printers. You can also load DEGAS printer drivers for printouts if you wish. -------------------------------------------------------------------------- Supported formats -------------------------------------------------------------------------- This version reads the following file formats: o DEGAS................................. [.PI1-.PI3] o DEGAS Elite compressed................ [.PC1-.PI3]* o NeoChrome.................................. [.NEO] o Tiny............................... [.TNY, .TN1-3]* o NVision.................. [.SC0-2, .CL0-2, .PG0-2] o Amiga IFF low- & med-res................... [.IFF] o MacPaint................................... [.MAC] o Mac Startup screen......................... [.MAS] o CIS Vidtex hi-res RLE...................... [.RLE] o Atari graphics 8 screen dump............... [.GR8]* o Atari graphics 9 screen dump............... [.GR9]* o Atari Koala/MicroIllustrator............... [.KOA]* o Atari MicroPainter......................... [.MPT]* And writes the following ST file formats: o DEGAS o DEGAS Elite compressed* o NeoChrome o NeoChrome 'page' (for NVision) *New additions from 0.6 -------------------------------------------------------------------------- Using the program -------------------------------------------------------------------------- To load a picture using the GEM file selector, double click on its filename or single-click and then click OK. The file will load and display. You are now in 'command mode'. Following is a list of key commands available: For all pics... --------------- o [Undo], right mouse button: aborts the pic and returns you to the file selector. o [Help]: displays the command list. o [I]: displays the information screen. o [S]: displays the save dialog (see below). o [P]: prints the current pic in its original form (screen OR full-page). [Undo] aborts a printout. The default printer type is Epson/Atari dot matrix. Other printers capable of 8-bit graphics can be configured using a ".PSW" driver as described further on. o [D]: dumps a color or monochrome screen to the printer. To use this option, you must have a DEGAS printer driver with a ".PRT" extender present in the directory the program is in when it is first run. The [Alt] key works as in DEGAS, ie.[D] prints a full page sideways, [Alt-D] prints a half-page. Pressing [Undo] during a print aborts the dump. For MacPaint/NVision pics only... --------------------------------- o left mouse button: activates a 'grabber' similar to Neochrome. o [C] (monochrome pics / color system only): compress a monochrome page vertically. This option converts 3 monochrome lines into 1 med-res line. Therefore a 720-line MacPaint document would reduce to a 240-line med-res scrollable image. Pressing this a second time restores the original image. Note this option is available in the save dialog on both monitors. For Amiga IFF pics only... -------------------------- o [1]-[6]: selects the bit-planes to be displayed. o [Space]: cycles through settings [1]-[6]. o [R],[G],[B]: boosts the selected color. o [Return]: restores the default planes and colors. Low-res 32-color pics have 5 'planes' or 5 bits of color-register selection. Keys 1-5 'pull out' one of the planes for display on the ST's 4-plane hardware. Med-res 16-color pics have 4 planes. Keys 1-6 in med-res therefore need to pull out 2 planes at a time. The following table summarizes the planes that are displayed. The space bar cycles through each in turn. +-----+---------+-----+ | key | low | med | +-----+---------+-----+ | 1 | 1,2,3,4 | 2,3 | | 2 | 0,2,3,4 | 1,3 | | 3 | 0,1,3,4 | 1,2 | | 4 | 0,1,2,4 | 0,3 | | 5 | 0,1,2,3 | 0,2 | | 6 | ---na-- | 0,1 | +-----+---------+-----+ Amiga's hardware also allows 4-bit color resolution, or 16 levels each of red, green, and blue. Since the ST only has 3-bit resolution, each IFF RGB color palette entry is cut in half to bring it into the ST's range. The R,G,B keys add one to the IFF value before halving it. This helps bring out some of the detail that may be lost if some of the registers convert to the same color. Other pics... ------------- o [SPACE] (RLE & GR8 pics): invert the palette. o [SPACE] (GR9 pics): select red/green/blue gray scale. -------------------------------------------------------------------------- The SAVE Dialog -------------------------------------------------------------------------- The top three lines in the dialog indicate the loaded picture's path (directory), filename, and original picture format. You can choose to save in any format and resolution by selecting the desired buttons. If you are using a color monitor, you can Preview what the image will look like in the selected format by clicking and holding the 'Preview' button. If you're running a monochrome monitor, this button will be disabled; however, you can still save in any format on both monitors. For mono to low- and med-res conversions, you have the option of converting the pic using all 16 or 4 palette colors ("FULL"), or using the "MINIMUM" possible number of colors (5 low-res, 3 med-res). Once you have selected the desired format, res, and palette set-up, you can save the pic using the "SAVE --------.---" or "SAVE AS" buttons. The SAVE button will save to the directory that the original pic came from (displayed on the top line of the dialog). SAVE AS will bring up the file selector so that you can save to any drive/directory you like, or change the filename. Note the save file selector's directory is always preserved and saved separately from the load file selector, so that you can quickly convert many pics from one drive/directory to another. If you specify an extender in the file selector, it will be ignored, and the proper file extender for the specified pic format will automatically be appended. Selecting Cancel in the file selector will get you back to the Save dialog with no action taken. If the original pic had color cycling information, and you save to the same resolution, the cycling info will be preserved and saved in the new file. Converting to/from DEGAS or Elite format will use animation channel one. -------------------------------------------------------------------------- Printer Drivers -------------------------------------------------------------------------- Printer drivers are loaded automatically when you first run the program. The file extenders ".PRT" and ".PSW" are searched for in the current directory (this allows you to have all PicSwitch-related files in one folder if you like). The first file of each type that was written to that directory is loaded. A PRT file is necessary to use the screen [D]ump command. These are the stand-alone 2K DEGAS printer drivers that are available on GEnie, CIS, Delphi, and other systems. A PSW file is necessary to use the [P]rint command only if you do NOT have an Epson-compatible printer. The printer driver in the current version of PicSwitch only supports 8-pin graphics and 960 dots per line density. PSW files are text files containing the decimal ascii codes necessary for setting up your printer for graphics. All PSW files must have three command lines separated by a single carriage return. Only the ascii characters 0-9, L, l, H, h, , , and CR/LF are recognized; all other characters are ignored. Each printer code must be separated by a space or comma delimiter. A maximum of 32 codes are allowed on each line. The first line contains the decimal codes for initializing your printer for graphics. These codes are sent to the printer only once at the start of a graphics dump. The second line is sent before every line of graphics and tells the printer how many columns of data are to follow. The third and final line is sent after the graphics dump is finished and restores the printer to normal operation. The following is a sample PSW file (this is the built-in EPSON default): 27 51 23 27 76 L H 27 50 The 1st line: "3" 23, tells the Epson to set the line spacing in 216ths of an inch increments, to 23/216 of an inch. You could substitute any line spacing command you like here. I found this setting worked very well in getting rid of the dreaded white lines. [Warning: some "Epson-compatibles" do not support this escape code. Consult your printer manual if you have problems.] Note that 24/216 or 8/72 is the more 'correct' setting to use here since the Epson's pin spacing is 1/72". The 2nd line: "L" L H, tells the Epson to print (L+256*H) columns of 960 dots per line graphics. You need not be concerned with the actual 'L'ow and 'H'igh values here, PicSwitch will substitute the correct values for L and H according to how long the actual line of picture data is. Just make sure you put the L and H in the correct place for your printer. Note you MUST use 960 dots per line density. The 3rd line: "2", tells the Epson to return to the original 1/6 of an inch line spacing. You could also use a 'reset' command here ( "@" for the Epson) if you wish. A form feed is sent at the end of each completed printer dump. If the printer is not available or a driver was not loaded, the console bell will sound. All printouts done with either [P]rint or [D]ump are printed in the ORIGINAL picture's resolution, not from screen memory. This allows mono pics to be printed with no loss of resolution. MacPaint/Paintworks pics cannot be printed in compressed mode unless you first save the file in compressed form, reload it, and then print it out. Remember, the [D]ump command is for screen dumps only, and only works if you have loaded a DEGAS printer driver at run-time. If the picture is a full-page MacPaint or Paintworks image, the section of the pic currently displayed is what gets printed. -------------------------------------------------------------------------- Thanks! -------------------------------------------------------------------------- Again, many thanks to everyone who took the time to write us, especially those who have contributed. You will not be forgotten! Please consider the time it takes to develop and debug a utility such as this. If you haven't already contributed, please honor the shareware policy and send your contribution, however small, to the address below. As always, I can be reached on GEnie [JAKOB], CIS [70376,1235], and Delphi [JAKOB], or you can write me at the address below. If you have any comments or ideas, I'd like to hear from you! John Brochu Advanced Software 21 Northend Street Peabody, MA 01960 ========================================================================== mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm m~T0Pl G;HtNN^NuNVC0m"H G C0m"HB- @ Cr0m"HB0- @2C:0m/C0m/C0m"H G "_ "_ N^NuNV/-HztN;P f F;H ` /-HztN;P f F;H mRH0@ @ @ mTH0@ @ mXH0@ @Hx-H0@/tN,xPHx -H0@/tN,xPA @/tN%XN^NuLST:AUX:NVHx!/tN,xPN^NuNV m/tNNX mJftN` tN8C0mB/C0mB/tN*dPN^NuNV G=H2n0mlC0nB/tN%XC:0nB/C0nB @"_/C0nB @"_=H0nSn gHx tN)X`Hmr0n"F"_B0/Cr0nB0 @"_ I=HHmCr0nB0 @"_-H0nSn g nRH0@/tN)X`Rn0n`C0nB/tN%XC:0nB @=H0nSn gHx tN)X`N^NuNVtNLB-/tN#,X @CB. @BJg,B.//tNPCB. @"H G A @CB. @BJgH m~JPgB./tN#XB.//tNPCB. @"H G B. @S. g`Jmg(B-/tN#,X//tNP G;HN^NuNV G=H=H G=H2n0mn` Rn0n`HmC0nB/tN#,X"_"H F C0nB @CN@ g F;HC0nB @Cg>0n/C0nB @"_=H0n/C0nB @"_=H`P2n0n"H-H0@N~=HJng22n0nN=H0n/2n0nN~"_ I=H` G=H G=H-H2@AN=H G=H2n0mn` Rn0n`C0n/2n0n"_2C0n/C:0nB"@-H0@N~"_2C0nB @Cf G=H`C0n/0P/C0nB"@0nN~"_"_2JngC0nBJg F` G gC0nRP0PSn0nHmr0n"F"_B0/Cr0nB0 @"_ I=H0n/C0n0P"_=HCx0n/2n0n"_20n/2n-H0@N~"_=HC@0n/2n0n I"_2Jng$C0nB @"FN@ g F` G g C@0n/2P-H0@"_2`N^NuNV G=H=HJn g0n/tN)zXHx tN)X0m/-H2@0nN~"_;HN^NuNV2n -H0@g/0n /tN,xP0n @N^NuNV/-. H0@/tN-FP-H gx n"GB"@A I @B.Jg> nC-H nRB/tN-XS.B.Jg``Hx tN-X`. H0@/tN-XN^NuNVB.Jg mJg F` G g2 mVH2@-H0@N~=H0n/0n/tNPB. @S. g/-HxtN-FP g0B- @CN@/tNXHx/tN,xP` mf"HB- @ I/tN+X mZJg/Hz6tNrP G @ G @`\B. /tN+XN^Nu[1][When the printer stops,|change the paper then|click on CONTINUE][CONTINUE]NVB. Jg/-HxtN-FP gZB- @CN@/tNXHxB-"@B. @/tN,xPB-"@B. @ @`.//tN,xPR-B- @S. B. Jg`N^NuNV/-B./tN-FP-H g n"GB"@A I @ nC-HB. @S. gl nRB @ @B. @CN@ g.B. @CN@"HB. @/tN-X`B./tN-X`N^NuNV n "FB"@B. @d2/. n "GB @"_-H n BJf GN^Nu` n "FB"@B. @f n N^Nu GN^NuNVtN.Jm gB. /tN.^X`B. //-tN7PN^NuNVJm g"tN. g/tN=xX``,Jm g$HxtN~@X f/tN=xX`N^NuNV n;H tN g`CVNN^NuNVCN 0m N^Nu/ ?<&NN\Nu"|)f)-gByNu3Nu"|09@/NuNV/-NXN^NuNV/./-NlPN^NuNV/./-NPHx /-NlPN^NuNVHx$/NdP-H fA+H GN^Nu/. /./.N~ o nN^Nu GN^NuNV n H0@/NX-H n`H G-H F-H`Z F-HA-H`HA-HA-H`4A+H N^Nu`$NhRWA`/.Hz@NP gB nCN,-HJg/HxPHxHz/NȢ+H m -H`/.HzNP g$ nCN,-H nC-H`/.HzNP f/.HzNP f G` F g2JfA-H` A-H nCN,-H`N n"Ff*HxA/.NZPHx n/NNP"_" g AN^Nu nX/N X nHh nHh nX"H G""_""_" GN^NuNV n C fHx /.NP/. /.NP n C f/.NX g F` G g /.NX n h g AN^Nu n N^NuNV n Jg n R H0@//.NlP`N^NuNV/.NX-H nC f8/.NX-H nC f n-H`/./.NP nCf8/.NX-H nCf n-H`/./.NP nN^NuNV n hCf n Cg G` F g AN^Nu nC n "N^NuNV n-HS J o@/.NX-HCf`$ nR"H n C f``"n G "n nf GN^Nu nN^NuNVJf m N^Nu n hN^NuNV nC G"N^NuNV n h g/.NX g AN^Nu GN^NuNV n h"FN@ f nCA"AN^Nu n h-HCg nCA" nN^Nu/.NX gX nP"P n hm>/-NX nHh n/ nX/HxN* "_" nP"H G"`^/.NhX g n/N@XN^Nu nP"P n hm/.N6X g F` G g AN^Nu nX"P nP$H PR-H nH0@CN@N^NuNVHx? n/Hx nX/Nv-HJo nC n" nC G"`6 nC G"Jf nCA"` nC n" nP"H G" n hN^NuNV n hCN@ f nCA"AN^Nu/.NXN g/.NhX g F` G g n//. NNP n N^Nu nX"P nP$H PR-H"n n  nC F" nP"PAm/.NX g F` G g AN^Nu n N^NuNV/.NX g8 nX P-H"n nP P"H G  n//.NP`rHx@ n/ nP/ nX/Nv-HJl nC n"`2"n nP Pl nCA"` nC G" nP/ nC G""_" n hN^NuNVHzN X. H0@/NXN^NuabortedNVNHxL. H0@/NNPN^NuNV m -HJg/.NX n h -H`NBN^NuNV/.N X/. NXN^NuNV"n nN~//NdPN^NuNV/./NdPN^NuNV n CCN@-HHxH/.NZP-HJf GN^Nu nR"HA  n"FN@ g nR"HA  n-HJg" n S o nR"H G ` nN^NuNVS nH0@-H nCfS nH0@-H nCfHxI/.NZP GN^NuNVHxHHxNZPN^NuNV"nA _ @N^NuNV n Jg, n H2@. H0@f n N^NuR n ` GN^NuNV n H2@ nH0@f$ n Jf GN^NuR n R n` n H2@ nH0@ IN^NuNV n-H nS oH nR"H n R H0@  g` nS o nR"H G ``"n G  nN^NuNV"nAzn"nAam F` G g"nA IN^Nu nN^NuNV"n F I-HR nJg`"n n IN^NuNV n Jg@ n R H0@/NX/ nRH0@/NX"_g GN^Nu` nH0@"GW @N^NuNV G-HJgtHnHnHnHnNJngT/NX///HnHnHnHnN`//N4P-H nCf /NX nN^NuHx N@X glHxN@XCN@-H nC f A -HJg8 nCfNƄCN@-H` nCf /NX nN^NuNV n P-H nA P-HJgZ nHh nC n""_" nHh( nHh, nC. G2"_2"_2 nC6 F2"n G `> nA P-H nA40P-H nS g nR"H G `/.tN΄X/.tNXN^NuNV n P-H n PJg, n P"H n" nT0P/Hx/.tN N^NuNV n P-H n X"H n" nT0P/Hx/.tN N^NuNV n P-H nA JfN^Nu/.N΄X/.NXN^NuNV n P-H nA JfN^Nu/.N΄X/.N.XN^NuNV n P-H n A JfN^Nu. H0@C fN^Nu/. NX. H0@C g& nA(0P/ nA00P"_l G` F g/. /.NnP. H0@C gt/.HnHnN0 n A/ nA($H0PRR"_-H"n. H0@  nR"H G  n0P/0n/0n//.Nb/. NX/. NXN^NuNV n A/ nA(0P"_-H nR"H G  nC( G2 nA6RP0P/. n A P"_e n A P-H n C n" n A/ n A P"_ I=HJnm$0n/ nA00P"F"_n G` F g` n A P-H nRJg`/. n A P"_e n A P-H n C n" nA./0P/ nA"0P"_ I"_2 nA6SP0P`,"n G /. NXN^NuNV n P-H n A JfN^Nu/. NX n A P-H nA(0P=H0n/ nA00P"_l0 nH0@ @ g.H0@C g F` G g<.H0@C g"n0nRn"H.H0@ R n`z"n0n"H G  nC(0n2/. nA60P//.NԲ nJf`0 nH0@C f R n/. /.NnP`/. NXN^NuNV G=H n P-H nA P-H nA(0P=H nA JfN^Nu2n A I=H nA00P/ nA(0P"_ I=H2n0n l 0n=H Jn n"n G  GN^Nu/.N΄XNƄ=HB0. @`/.A =H/NFP`"Jngx/.NXSn0n/. nA(SP0P"_"H G /.HnHnN0 n0P/0n/0n/Hz"Nb/.NX/.NX`B0. @CN@=HB0."@A e(B0."@Ab2n0n l F` G gRn0n/.B0./NFP`.Nh `dB0. @C f``/. "n0n/NP"n 0nRn"HA "n 0n"H G 0nN^Nu NV//N4P=HB0. @C f A =HB0. @Cf A'=HB0. @N^NuNV n P-H G=H/.HnHnN0 0n/ nA0P"_m 0n/ nA0P"_l G` F gf F=H nHh,/ nA 0P/ nA(0P/ nA0P/ nA 0PCN~"_N"_ I"_N~/NP"_20n/ nA0P/ nA"0P"_"_o\ F=H0n/ nA0P"_o>0n/ nA"0P"_ I=H nA./0P/ nA"0P"_"_2`Jng/.NX`00n/ nA0P"_o/. nA"0P/NlP/.NXN^NuNVNCf HxNX/NX F;H N^NuNVJm fNtHnAT/AX/A\/N=HHm HnHm N8 Jnf HxNXC 0nJg/HzFNPNC 0n"H F HxxNlX-H nA(-H"n n" nX"H n " nP"H n""n0n20n//HxHnHnN G=H2nAl:` 0nRn`/.0nC"_/C0n0P"_2`Jnf0n/HxNP=H0n/HxNP=H nC00n2 nC20n20n/HxNP=H nHh40n"F/0nC"_N~"_2 nHh nHh nHh nA40P/NlX"_""_""_" nHh nA/0n"F/0n"F"_N~"_"_" nC6 F2`/./.N P nPJg nX"HA2` nX"HA2/HxHm N /Hx nP/N /./.NˀP nN^Nu[3][please re-boot and try again][ok]NV nX0P/ nP0P/ nA 0P/ nA 0P/ nA0P/N=HJnl HxNX n\"H F2C 0n"H n " nT"H0n2 nA00P/ nA 0P"_N~/A X0P/NP=H nA20P/ nA"0P"_N~/A \0P/NP=H/ nX0P/Hx Hx0n/0n/HnHnHnHnN,(/. nP0P/0nCN~"_/ nA 0P/0nCN~"_/0n/A X0P/0nCN~"_ I/NP/0n/A \0P/0nCN~"_ I/NP/N͈0n/Hx n X/N n PJg0n/Hx n P/N N^NuNV n P-H nT0P=H nP"H0n2 nC 0n2 nC 0n2 nC0n 2Hm nP/N

@2A CB0.: @2A CB0.6 @2A CB0.2 @2A CB0.. @2C n("A CB0.& @2A CB0." @2HxNX/.ATB0 @"_2/.AXB0 @"_2/.A\B0 @"_2/.APB0 @"_2/. AA B0 @"_2/.AA B0 @"_2AB0 @N^NuNVC 0n 2Hx5NXN^NuNVC 0n2C n"Hx4NXN^NuNVC 0n&2A T"H0n"2A X"H0n2A \"H0n2A P"H0n2A C 0n2A C 0n2A C0n 2HxINXN^NuNVC 0n&2A T"H0n"2A X"H0n2A \"H0n2A P"H0n2A C 0n2A C 0n2A C0n 2HxJNXN^NuNVHxMNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVC 0n2C n"HxNNXN^NuNVHxONX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2N^NuNVC B0. @2A T"H0n2A X"H0n2A \"H0n2A P"H0n 2HxdNXN^NuNVC 0n2A T"H0n2A X"H0n2A \"H0n2A P"H0n 2HxeNXN^NuNVC 0n 2HxfNXN^NuNVC 0n 2HxgNXN^NuNVC 0n2A T"H0n2HxhNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVC 0n2A T"H0n2A X"H0n2A \"H0n2A P"H0n2A C 0n 2HxiNXN^NuNV0n/0n/"nANJ//.//NRN^NuNVC 0n2A T"H0n 2HxjNXN^NuNVC 0n 2HxkNXN^NuNVC 0n.2A T"HB0.* @2A X"H0n&2A \"H0n"2A P"H0n2A C 0n2HxlNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVC 0n 2Hm*2n A ICN~"_-H F=H2nAl0` 0nRn`C 0n"H nRH0@2`NnAB0 @N^NuNV"- 0<NBN^NuNV n-H n -H l n N-H nR/"n A N IC0"_ "n A N-H o`Jl nR"HA- "n G /.NXN^NuNV nH0@/NxX g R n` F-H nH0@`A-HR n`Nh-+ G-H nH0@/NX g0 nC N~"H nRH0@"HA0 I-H`"n nN~N^NuNV/./.NX"_"H F I-H"n nd< nH0@-H nR"H nH0@  nS"H n `N^NuNV"n F I-HR nJg` nR"H nRH0@  g` n N^NuNV n -H nR"H nRH0@  g` n N^NuNV"nA9n"nA0m F` GN^NuNV/./."n nN~/NZ N^NuNV/./."n nN~/N -HCf GN^Nu nN^NuNVHx? n//./. Nv-HJf nCA"`Jl nC n" G-H nN^NuNVHx@ n//./. Nv-HJf nCA"`Jl nC n" G-H nN^NuNV nA PCW @N^NuNV/.//N N^NuNV/.NhX g GN^NuHxB/ n//NN^NuNV/.NhX g AN^Nu/.NXHxB/. n//.N-H nC G" nCA"Jl nC n"AN^Nu nC G" GN^Nu D @Nu W @Nu F @Nu " @Nu " @Nu " @Nu " ANu " ANu " ANu"_ g "fNN BNu"$ 68HAHBBHABA҃ ANu$ma`DaD A"BNu$" a A"BNu" j DaDDNu cPgc $BNurBNu&BCHCR(*$a.$Â$&HCHCԃb DbR`S`NuHPBAHA62HAB42HA6Nu$O?*NA @.JNu$O?*?* `$O/*?* `$O?*/*?*`$O/*/*?*?*`$O?*?* /* ?*`$O/*/*/* ?*?*`NV G+H+HHzzHz{N.P+H nRH0@-H nC//NdP-H/././.N* CA" nJg nH0@`R n`R/.HzHmN -H`R nH0@C>f"R/.HzHmN -H`/.HzHmN -H`n"mAlC mR"H n"/.NTX-H`$NhF H<^>``JfHz1Hz2N.P+HJf m+HN^NuCON:WrawCON:RNV nJg< nH0@/NxX g nR"H G  nN^NuR n` nN^NuNV n-H/.NTX-H/././. N.P"_" nN^NuA 0g C" ӑ`Nu<P    *, ":D\"  l f8tZb6*(2PN^NuNV nJPg,"n n0P"H G  n h //. NpP"n G2N^NuNV n h,-H n hT-H G-H n h$-H n h(-H nJg0`R nR n`"n nH0@Nb-H`/. n hT/N jP-HJg nN^Nu n hT"H nf2 n h(-H n/H0@/ n"GNb"_Nb"_ JgP n"P n hTo nS P`" n"P n hTf nX"H G" nP P-H` GN^NuNV n h,-H n hT"H n hDf n h< n F` G g"/.N3@X-HJg nN^Nu n hT"F-H n h(-H n h$-H-H/./.N0P-H/.N`X-H/.N`X-H"n n"HAo AN^Nu/."n F I"_H0@-H/."n F I"_-H/./. n"F/N/ nC/ nC//.N/ /."n F I/ n hT/N "n n hX/H0@/ n"GNb"_Nb"_ /. n hT/N)P/.N)X/. n hT"F/N jP-HJg nN^NuJgP n"P nܳm2 n"P nܳf nX/"P n hX"_" nS P nP P-H` GN^NuNVV n h(-H nH0@=H0nCNb/HnVHxN/ /. /.HnVN < N^NuNV n h,-H n hT-H/. N`X-H/. n hT/NP-HJg nN^Nu n h$-H n h(-H/. /. n"F/N/ /././.N/ /. n hT"F/N0DP-H/./ n hT/N /. n hT/N)P/.N)XJg( n"P nm nR P nP P-H` GN^NuNV G-H n h< n/. N3@X-H n-H"n n hDlV` R n`/. /.N0P-H/. n"F/N0P-H/./.HxHN/ `"n n hDf( n h< n"n n hTf F` G g\ n h$-H"nA  nR"H G /. n hT/N)rP n CX G"/. N)X GN^Nu n A4R P n A/. n"F"_o*/."n F I/N'P/./.N'P/.N)XJgD n"P n hTf" nX"P n hXo nXS P nP P-H` GN^NuNV n h$N^NuNV n C\0n "Jn g$/. n hX/ n hT/N /. 0n /N(

PN^NuNV/. HxN+P g n h //.N0PN^NuNV/. n hT/N+P g n h //. /.N^ N^NuNV"nA l"nAo F` G g A -H/. n hT/N+P g n h //.NPN^NuNV"n n hPm(/. n hP"H n h"_l F` G g/. /.N۠PN^NuNV/. n hL//./N) n h /HxN>PN^NuNV/. n hX/ n hT/ n h\/N)N^NuNV/.HxN+PNbx gN^NuJn f n h //N0P n h /"n n hP I/"n n hL I/NZ Jn g n h //N0PN^NuNV nA-H/.HxN+PNbx g GN^Nu nC\ G"/./NP G-H"n n hlj` R n` n hd f"n nJf G` F g/."n n hP/NP"n n"H G `/.NtX/.NX nC\ F"/.NFX/. n hd/NP/.NNX/.N.X/.N.,X nCd G" GN^NuNV n A-H n h` gV nCf n Cd F"`4"n n hPm"/."n n hP I"_"H F ` n h /N"X n h`"GW @N^NuNV G-H/.NX-HJg /. HxN:PNbx f G` F gN^NuJl"n n hl F` G g n h"H n I-H"n n hl0 n h / n h"H nNb//N ` n h-H/. n hL/ n hP"H n//N n h /NX g/. N(X`"/. /./.N- /. N&X/. /NP/. N.XN^NuNV n hP"H n -H/. n hP"H n "H n"_l ` R n`/./.NP`/.NX/.NX GN^NuNV n hL"H n hg8 n h / nC n hL"/ n h/HxNN^NuNV n hP"H n h"H n hH-H n h< o"n n h<-H n h / n hP/ n h//.NnN^NuNV/.HxNPNbx gN^Nu n h //N0P"n n hPf n h //./N `B/. n hL/"n F I//Nf n h //.HxN /.N X/./NP/.NXN^NuNV . n ".`QN^NuNV . n "n`QN^NuNV .". n`SQN^NuNV n /"nANb ICHNb"_N^NuNV n PC/"nANb ICHNb"_N^NuNVJg(/./. HmHx/0n /$oNN^NuN^NuNVJg2/././. /. N`X//0n /$oNN^NuN^NuNV/./NDP/.N!X-HJg`` nCg nN^Nu n h4"HAl$/.N4X-HJg nN^Nu` GN^NuNV nX"H n" nP"H n " nCH n" GN^NuNV n h< l"/.N3@X-H g nN^Nu` GN^NuNV nX P-HJf AN^Nu n h4 f/.N4X-H g F` G g nN^Nu/. nP//N2 -H g nN^Nu/. nA@S/N0P-H-HA-H nRB @=H gh0nCf nRB @CNb-H`:"n0n  nC"H n  nCNb-HR n`"n G  nC, nAB @" nA8R P nA4S P GN^NuNV nX P-HJf AN^Nu n h4 f/.N5X-H g F` G g nN^Nu/. nP//N -H g nN^Nu n h0-H/. nADR/N0P-HA-H nRB @=H gh0nCf nRB @CNb-H`:"n0n  nC"H n  nCNb-HR n`"n G  nHh0 nCNb"_" nA/-lHxN"|PN/.N?X gN^/.N*XN&N^NuwNV/-l/HnHnN"/-lHxHnHnN"/-l/./.N n-H/-lNHX-H n-H"n nf "n n-H"n n I-H"n nf2 nS g nRH0@//.NP``././.NlP/-l/R/.N `T/.N8X/.NXN^NuNV/NCX gNE g F` G g| ml hP-H/-lHnHnN N|/-l/N#:PNF g/-l/./.N NH6/-l/././.NNZN^NuNV/NCX gNE g F` G g ml hP-H/-lHnHnN /-lHxN"|PN/-l/N#:PNF gXNDR/-lHxN#:P/-l/N"|PNH6/-lHxN"|PNZ mlCx F" mlC| F"/-l/././.NNdN^NuNV ml hP-H/NCX f GN^NuNE f GN^Nu/-lHnHnN N/-l/N#:P/-lHxN"|PNF f/-NX G+H /-l/././.NN m N^NuNVNrNH6NN^NuNV/NCX g&/-lHxN"|PNJ|g nS`*NT g mNbx+H GN^NuNS-H G+H|/.NT.X gJ"n mx I+H|/-l/-|/-N mCNb"F I/N:X FN^NuJg nS"H mxf` `R nBJf``jNT g mNbx+H GN^Nu mx-HJg NS-H`.N^NuNV/-xN`X"H F I-H"n mo"n m I-H"mx nN^NuNV nB @Cf GN^NuA-H nBJgr nRB @-H nCf`Jg/.NU(X-H nCf A -H"n nRB @g GN^Nu` FN^NuNV/-l//- mCNb"F I"_+H/N -H/-lNHX+Hx nN^NuNV"nAam"nAzn nC-H nN^NuNVtNU=H/. 0nCA"_  n R"HA: 0n"F/ n T/tNUP/. Hz"tN!&P/. /.tN!&PN^Nu\NVHxtN#XN^NuNVHxG/./. tN# N^NuNV/. tN`X-HJgP/. "n F I"_H0@ @C\g.H0@C:g F` G g F` G g nS`"n n"H G /. /.tN!&PN^NuNVJg/.0n//tNV `/.0n//tNW^ N^NuNV/.0nCNb"_C /tN[|X-H/.0nCNb"_C /"n0n Nb/tN[PN^NuNV/.0nCNb"_C /tN[|X-H/.0nCNb"_C /"n0n NbNb/tN[PN^NuNV/.0n//. nT/tN nX//.0nCNb"_C/tN[|X"_2 n\//.0nCNb"_C/tN[|X"_2N^NuNV/.0nCNb"_C /tN[nX-H/./. tN[PJn g nC/0n /tN[PN^NuNVC0n2AT"H0n2AX"H0n2A\"H0n 2/.HnHn/tNY^/.0n/tNP=H/.HnHntNZ /.0n//tNd 0nN^NuNVJn g././. n T/ n X/ n \/tNT///// n 0P/ n T0P/ n X0P/ n \0P/t N$/ n0P/ nT0P/ nX0P/ n\0P/ n 0P/ n T0P/ n X0P/ n \0P/t N$/.//. tNZV Hx/tN PN^NuNV/.0n/Hx n0P/ nT0P/ nX0P/ n\0P/tNN^NuNVHx/tN PHx n 0P/ n T0P/ n X0P/ n \0P/ n0P/ nT0P/ nX0P/ n\0P/t N$Hx n 0P/ n T0P/ n X0P/ n \0P/ n0P/ nT0P/ nX0P/ n\0P/t N$N^NuNV n PN^NuNV n0PN^NuNV"n 0n 2N^NuNV"n n"N^NuNVN"HA.lHxNX FN^NuJgHn/.N!tP`"HnN]X-HJg nN^NuHnHznNb$P-HN+Hl ml h -H n0P;Hp0mp/HxHnN 6 Jf,Hx NX-H nCfN`b FN^NuA;H/-l/.HnNb g,N`bJg/.N*XA;HAN^NuHnHx.NP-HJg/.HzNLP f F` G g mlCA" mlC F" mlP P-H0mp/Hx n h /N 6 Jg/.N*XA;H GN^Nur.DOCNVHx/N PHmHmHnN $ Hx/N PJnf FN^NuAJg(/.HmN!tP/.HmNVP GN^Nu`N^NuNV0m/NXN^NuNVHxNXN^NuNVNbHnNLX fHnN"X`NbjN^NuNV/./. N!tP/.Hx.NP-HJg/./.N!tP`/./.N!&P nN^NuNV mlP P-H/-zHxHnNW /HxHnN /.HxHnHx%NXVHn n h /N!tP/./0n/AT0P/AX0P/A\0P/NX-H nCf(/HnN`P g FN^NuN`b GN^Nu FN^NuNV mlP P-H/ n h /N`P g FN^NuN`b GN^NuNV/-zHx!HnNW //HnN /./0n/AT0P/AX0P/A\0P/NX-H nCfNhN`b GN^Nu FN^NuNV/-lN,X/Hx HnHnHnHnN P0n;HpC0n P+HlN^NuNV ml h g ml h f F` G gHxNXCf FN^Nu/.HzNb$P-HJgb/.N*XJ gHx NXCf FN^NuHn/.HzN HnN"X/.HnNbP/-l/NDPN;/.HzoNb$P-HJfHxNXA-H`/.NeX-H/.N*XJg/-l/NDP nN^Nur.bakwNVHxV//. /.N#N^NuNV m!XJg/-!N*X/. /./-!N n GN^Nu m!N^NuNVJfHxHxNP+HN^NuNVJg/-NX G+HN^NuNV G-H G=HHxHxNP-HJf AN^Nu nP"H n" nC nA$" n h //.N!tP nX/"n n""_" nHh nP"H nP""_"/.NX nCAB" nC F" nHh nCA""_" nC A" nCA6"J gОHnHx/. N gJo2/-l/"n F I/tN /-ltN X-H`Hx(tNtrX nN^NuNV/tNtrXN^NuNVHxtNtrXN^NuNV/-l/tNXP G-H n`>/-l/tNDP`/-ltNX`/-l/tNDP/-l/tNXP/-ltN X-H nN^Nu`/-l/tNP`n/-lHnHntN G-H nR/-l/./.tN -H nCf tN^/-l/tNDPtNwd-H`tNw-H`/-l/tNP`tNwd-H`/-l/tNP``Nb  $@(X,P0H4P8\.H2@ nfHm n"F"_H0@N^Nu nC-H`AN^NuNV/-lHnHntN Jf FN^Nu nS/-l/./.tN GN^NuNV/-ltNXtNN^NuNV"m mBfNw g AN^Nu` GN^NuNV G=H mB-H G=H F=H/-lNHX-H nC-H G=H"n0nB @=H"n0nB @=H2n0m.f mB+H60nRn0nC f`0nCfJmZg F=H```:0nCf&JngA=H`A=H`V` G=H0n=H G=H0n/0n/NyP`&JmTg@Jng0nCf F` G g/-lNTX F;HVAN^Nu0nCg0nC-g F` G g F;HT"mB nf F;HV/-lNTX G;HZ0mVN^NuNV2n ANb"H0n=HJmTf0"mB0n2/-BNzX+HB"mB mFf F;HTN^NuNVT"n m>e m:-H nN^NuNV/-lNHX-H nH0@C f/-lN$vXN^NuN7N;NzN{8JmVf`N7N^NuNVJ:fHxHxNP+H: m:+HB+HA;H. G+H6 m:A+H> F;HZ G;HT;HV/NX;HN G;HL/-lHnHnN /-l//.N N^NuNVN{N{JmVg F;HX`2JmRg2m 0m o F` G g N}``N~N^NuNV G;H,;H`;HR;HP;H;H;H ;H 0mNbx;HX0mN;H 0mL;H" m+HFN^NuNVN ft m0PCNb=H0nCf N|f`(0nCf N|`0n/N}X0nC-W @;H,/-NX+HN^NuNVRm0mN||N^NuNVJmPo A;HPN^NuNV0m Rm Jm"f 0m /2m F I"_l F` G g60m ;HL/NX"H0m I;HN0m`Rm` G;H G;HN^NuNVJmg2N}2m 0m;H 0m Rm JmPl 0mRm`Jm,gN} G;H0m Rm 0n /N}pXN^NuNV G;HP2n AAl Hz 0n /NP g F;HPN^Nu.,!?:;NV0m ;H0m ;H0m;H m+H F;HRN^NuNVJmRg"0m;H 0m;H 0m;H m+HN^NuNV G;H\;H^;H*;H(;H&;H$A;H00m ;HJ2m 0m I=HJm gJmXf F` G gv2n0m Nb;H$2n0m Nb I=H2m 0m I;HJ2n0mn0n;H&`*0m;H&2n0m I;H*2m*ANb;H( G;HPA+HdA+Hh0m"/N,X G;H"mF mg mF0P/NX`NHx NX/NX/-lHnHnN /-lHnHnN < /-l/ n"F/N Jm0m0m0;H2 n;H4Jmg~A+HdA+Hh2m"Al A;H"0m"/N,XHx NX/NX/-lHnHnN < /-l/ nC/N N^NuNVJn gJ mF2PANbCwNb @bHxNX2n Fo2n F I/NXN^NuNVB0. @CNb=HN0nCf^B0. "@ANb @b-bH0@CwNb @bJm\g A=H0n/NX0m`Sm` F;H\`h G;H\0nCf"B0. "@ANb @bN`4JmgNB0. "@ANb @b0n/NX/-FNX+HFN^NuNV"mF m6f0m^;H0 G+H6N^NuNVNHxNX0mRmN^NuNV0n /NX0n /NXN^NuNVJm gJm`f F` G g0m$/NXJmPl&Jm&g/NXSm&0m& G;HP`LJm(g/NXSm(0m(Sm*0m*2mJ0m*n/NXSm*0m*SmJ0mJSm 0m G;HN^NuNV0n Sn gHxNX`N^NuNV mdRd"H0n  mhRh/-bH0@CNb"_ 0m^Rm^N^NuNV/NX=HJmg/-lHnHnN /-lNHX-H/.HxNP-HJfN^Nu nRH0@Cf` nJfN^Nu"n0no(N7/.NX//.NrPN7N^NuNV/-l/HnHnN"/-lHxHnHnN""n ng"n ng G` F gN;N^NuNV/-lHnHnN N7/.NpX//NrPN7N^NuNVN(NJng G;HZ` 0n ;H.Nd F;HT F;HXN8JmVg`` 0nRn`C0n0P/C0n0P"_g G=H`Jng0n /HxHntN 0n /HntN8PN^NuNVC0n P-H n h -H/. n0PCCNb"_20n/Hx/.tN 0n/Hx nP/tN nP/ nHhtN^P nT0P// nHhtNT /.tN2X/. n0h "H n0h$ nX0PNb/ n0h"H0m n\0PNb/tN N^NuNVA\0P=HAP0P-H ml hP"H ml hH-H2n0mpgN^Nu ml h< o"n ml h<-HJnN^Nu"n nNb"HANb-H/-l//./.tNN^NuNVA\0P=HAP0P-H ml hC I-H2n0mpgN^Nu"n nNb"HANb-H mlCL n"/-ltNXN^NuNV ml h -HHnHnHnHntN 2n n0h 0ml0n/0n/tNҞPN^Nu2n nP0P0ml$0n/0n/0n/tN\ N^NuJnfT/.HnHntN g2/-l0n/0n/tN /tN:XtN~`Hx/tN PHx/tN P0n/0n/HxHxHnHntN Hx/tN P//tN P0nCf0nCf F` G gL/.HnHntN g*/-l0n/0n/tN /tN:XN^Nu0n/2nA I"_=H0n/0nC"_=H/.HnHntN g&/.HnHntN g F` G gT2n0ng G=H G=H0nRn0n/0n/0n/0n/tN:R/tNXN^NuNV n /2P nP0P I"_2 n/2P n0h I"_2 n JPl GN^Nu n /2P n0h$ I"_2 n JPl "n G2 n2P0mm0 n 2P n0h l n2P n0hl F` G g^/. ml hL/ n 2P ml hNb"_"_2/. ml hP/ n2P0m ml hNb"_"_2 FN^Nu GN^NuNV2nA" I=H m~-H///HnHn HnHntNt/-~0n/HnHntN2n0n0mfNb=H/.0nCNb"_C /tN[nX-H n P-H"n0nH0@C fN^Nu0nCNb/2nANb"_/tNXN^NuNV0mNbx g F;H/tN XN^NuNVJmg G;H/tN XN^NuNVC0n P-H n h -HA =H nT0P=H0n/0n/HntN A =HAXJPfA\JPf F` G g`b/.HntNP gFHnHntN^P0n//HntNT G;H/.tNX F;H`T0n// nHhtNT N^NuNVA =H G=HJmg0n/0n/HntN A =HAXJPfA\JPf F` G g`D/-~0n /Hx0n/AT0P/AX0P/A\0P/tN`rN^NuNV ml h=H0n "FNb=H2n0nNb"GW @=H ml h fHxtNXN^Nu0n /0n/tNPJng.CR0n 0P=H Jn m0n //tNP ml h;HxN^NuNVCr0n0P=HCb0n0P=H0n"FNb=HJn g mlA/"P0nNb"_"` mlA/"P0nNbNb"_"/-z0n/0n /tN Jng0n/0n /tNzPN^NuNV F=HJmvfN^Nu/-ltN%X=H2n0mxNb=HJng G=H2nAl`0nRn2n FNb=H`2n0nNb gb2n0nNb"GV @=H/-zCr0n0P/0n/tN Cb0n0P/0n/tNzP`t mlC0n;Hx"N^NuNVJngn/-~0n/0n /tNV /-~0n"F/0n /tNV /-~0nC/0n /tNV 0n/tN|XN^NuNVHx0n /HntN //.tNPN^NuNVHx@NX-HJg nC n" nC-H nC n" nC-H nC n" nC-H nC n" nC-H nC n"/.NX nN^NuNV n h-H nT"HA2 nT"H G2 nT"H G2 nT"H G2 nC G" nCAB" nCA6" nC G" nCA" nCA" nC A" n h-H"n G  n h-H"n G  n h/HmN!tPN^NuNV/. Hn N4P-HJg nTRP0P/. /.N4PN^NuNV0n =H G=H/. HnN4P-HJgZ nT0P"Ff0Jn f A=H/. "n0n/NP-H nTSP0P/. /.N4PN^NuNV/.HnN4P-H n h-H n h"HAmHxNXN^Nu/. n h"F"_-HJnf"n0n 2`2n nT0Po`j"n ne nX"H n P" nY` nX"H0n 2 nT"H0n2 n\/2P0n I"_2 nA$H PR/./.N4PN^NuNV n-H"n n hgd"nA I-H nT/2P n\0P"_2"n nX P" g nX` n AS P/. /.N4P nN^NuNV n h-H n h=H F=H"n n"T n0P=HJnf GN^NuT nJPo2nT n0P=H` n 2P0nl`@0n/2n0n"H F0nNb"_=H n /2P0n I"_2`f0n/ n 2P0nNb"_=H0nN^NuNV n h-HJg/./.N4P-H`N^NuNV n h=H nJPo"nA I-H` G=H2nT n0P=H2n0no2n0n I=H`T n0P=HJno02n0n"H0no"n0nNbp2 G=H`LJnl:0nNbp=H2n0n"H0nn"n0n2``` G-H``< nN^NuNV n h-H n2P nT0Pm6 nXJPf`& nT n/2P nT0P I"_2` nN^NuNV n h-H/. n hCNb"_-H nT$H0PRRN^NuNV n h-H/. n hCNb"_-H nTJPgX nC-H nT"H0n 2 nT"H G2 nT"H G2 nT"H G2 n A$H PRN^NuNVA\0P;HrAP0P;HtJmg40mt/N@XCf/-z0mr//NZ N^Nu0mt`TN`2/N[X fRmv0mvN`Nɺ`N_ fSmv0mvN`N^ fSmv0mvN`N¾`N^2`N;`N>`Jmvg N_ fSmv0mvN`NB/N@X`h mlHhHx#NP ml h g mlC F"N/-l/NP/-lNNX`HmHx$NPHx0m/NzP`NHr/-zHx(/N& `NJ/-zHx(/N& `NQ`/Hx/NNP`HxHx0NNP`HxHx1NNP`pHxHx2NNP`\/NE*X`NHxNE*X`>HxNE*X`.HxNE*X`N8 f./-zHx?/N& ml h| g /NX`N90 f./-zHx@/N& ml h| g /NX`JmgHx NXCf`NB g:0mNbx gHx NX F;H;H/-zHx8/N& `< G;HNC4`,N@`"NA`NCJ/NX`NE`NE`N;/NX`/NX`HxNX`HxNX`/NX`HxNX`HxNX`N/NX`lHmHxMNP`XHmHxNNP`DHmHxONP`0N2`&/NX`Nz<`JmfHxNXCf`HmHxUNP`/HmNP`/HmQNP`/HmNP`/Hm7NP`/HmNP`~/Hm3NP`l/HmNP`Z/Hm;NP`H/HmNP`6/Hm;NP`$/HmNP`/Hm7NP`/HmNP``Nb !.#x$&'(*+,-/0124D5x78:;=?@BDEFGH&I.K:MFNRO^Q`RfShUWXYZ[\]^_`bca/-z0mr//NZ N^NuNVHxN,XN^NuNV/-z0mt/HnNW /0n /HnN /./0n/AT0P/AX0P/A\0P/NXN^NuNV/NCX gN7 ml hC?Nb=H ml hP=H/-lHnHnN /-l/N#:P/-l0n/HxHxN%/-l/./.0n/NN7 mlCx G" mlC| G"N^NuNV/-l/. N"|P mlA// n "FNb"_Nb"_"/-z/./N& N^NuNV"n n 0PNbx2/-z0n / n 0P/N N^NuNV0mv"GV @=H G=H G=H G=HJngl ml hx g ml h| g F` G=H ml h=H ml h"GV @=H ml h / ml h/N@P`/-zHx(/N& /-zHx2mvA_/N& /-zHx0mv"GW/N& /-zHx/0nCNb"GV/N& /-zHx00nCNb"GV/N& /-zHx10nCNb"GV/N& /-zHx20nCNb"GV/N& 0n/NXHm0n/NP/-zHx8JngJmg F` G/N& /-zHx#0n/N Hm0n/NPHx0m/NzPJmvgN~N^NuNVHm/.NP/-zHx@Jg ml h| g F` G/N& /-zHx?Jg ml hx g F` G/N& /-zHxKJg ml h g F` G/N& N^NuNV n JPg$/-z n T 0P/0n /N& `N^NuNV G;H0n CNb g0n CNb=H 0n C f A =H 0n Cf A'=H 2n A o2n Al F` G g0n /NX`0n /NzX0n /NX0m=H g`D``?&@&A\TBtlCD9`/N:XN~N^Nu NVN^NuNV G=H/-l/NPCfC0n/0PC"_2Hm0n/ n0P//N\`C0n/2PRn0n"_2 G=H n0PCgBC0n/0PC@"_2Hm0n/ n0PNbp//N\`C0n/0PCP"_2`B2n n hNb I f*C0n/0P/Rn0nC0"_"_2` nP0P=H n0h "H0m"H F I=H0n/0n/HnHnHnHnNp0n//N|P G=H2n n hl` 0nRn`C0n0P/"n0n0P"_g,/.0n/0n/C0n0P/N"n0n/C0n0P"_22n n h=H`r0n/0n/HnHnHnHnNp0n/ n0hCNb/N|PN^NuNV nT0P=HC0n2AT"H0n2AX/2n0m"H F I"_2A\/2n n\0P"H F I=H"_20n//NP0n/HnN(P0n/HxNP2n A Nb=HJngJ0n/C0n0P/NPA\"HAT0P20n/HxHnN 0n CNb gA\"H0n2HnAX/2PA I"_2"_2 F=H0n CNb g A=H0n/C0n0P/NP0n/HxHnN 0nC=H0n CNb=H g2mAmD0n /HnHxND 0n/0nC/0n/HnN`22n Fo&0n/0n"F/0n/HzNN^NupNVA=HJn g A =H0nSn g2nAl F` G g$"n0nRn/2P0nNb"_2`N^NuNV nT0P=HC nP0P2AT"H n0h 2A\"H n0h2AX"H0m2HnHnN^P0n//NP0n/HnN(PA/2P0m"_2AX"H0n20n//NP0n/HnN(PA/0P/0m"F"_"_2AX/ n0h$"H0m F I"_2AXJPg4HnHnN^P0n//NP0n/HnN(P G=H2nAl$` 0nRn`"n 0n"H G2`N^NuNVN²-H G=HC0nJPgH` 0nRn`C0n2P0n f /"n0n/NPN^Nu` GN^NuNVAhN^NuNVT G=H/-zHxHnNW /Hx HmN /-HxHnHxNXV/-Hx!HnHxNXV/-Hx"HnHxNXV/-Hx'HnHxNXV/-Hx(HnnHxNXV/-Hx)HnTHxNXVC G C G C G C G CT G HnnHzN!tP G=H2nAlP` 0nRn`C~0n//-lC0n0P"_ P"_20n//NP` ml h/HnHnHnN ml h/HnHnnHnTN/-HnHm/NY^JnfB/-/NP=H0n`//NP`//NP`//NP`//NP`Hx/NP`Hx/NP`Hx/NP`Hx/NP`Hx/NP`Hx/NP`x F=H`n`jNbBJRZb l v`/-HnHmNZ /-0n//NV 0nCf G=H2nAl@` 0nRn`/-lC0n0P"_/C~0n0P"_"` ml h/Hx1HnHnHnNLj ml h/Hx2HnHnnHnTNLj/-lNX/-l/NPN^Nupage #NV nJgL nC-H/./.N(P-H/./. N(P-H/./.N(P-HN^NuNV n R H0@=H0nCf`(0nC f` nR"H0n `"n G  n N^NuNV nR"HA  nR"H.H0@ /./.N!tP/.HmN!&P/./. N!&P/.HmN!&P/./.N!&P/.HzN!&PN^Nu NV0n =HJnf0n Nbx=HJngA~0h "Ff F` G gN^NuJn g@C~0n0P/C0n0P"_fN^NuC~0nRP0P`(C~0nJPfN^NuC~0nSP0PJngA~A SP0P`A~A RP0P0n//NPHx/NPN^NuNVC0n0P=H/-0nCNb"_C /N[nX-H/.N[nX-HC~0n0P//.C0n0P"F/ND Jn g/-0n/HmNZV N^NuNVJmvgHxNXN^NuN"HAPlHxNXN^NuHmN]X fN" fNN^NuNV/-zHxHnNW /Hx HnN F;HvA;Hx/.Hx 0m~Nbx/NV /.Hx 0m~/NV /.Hx0m/NV /.Hx0mNbx/NV /.Hx0mv/HxN6/.Hx0mx/HxN6/.Hx0mz/HxN6/.Hx 0m|/HxN6/./0n/AT0P/AX0P/A\0P/NX=H0nCf nC8C /N[|X"FNb"GV @;H~ nCC /N[|X"FNb"GV @;H/.HxN̨P;Hv/.HxN̨P;Hx/.HxN̨P;Hz/.Hx N̨P;H| GN^NuAN^NuNV/.0nCNb"_C /N[nX-H/.N[nX-H/.Hz,N!tP0n//.0n "F/ND N^Nu00NV/. 0n CNb"_C /N[nX-H/.N[nX-H/.N dXN^NuNVN=H0n"FNb gAn-H` Ar-H0nCNb gAV-H` AQ-HHnHmN!tPHn/.N!&PHn/.N!&PHnHzN!&PHnHx:N!P-H0m/ nC-H/HxND 0mv/ nC-H/HxND 0mx/ nC-H/HxND 0mz/ nC-H/HxND 0m~/ nC-H/HxND 0m|/ nC-H/HxND Hm`Hn/N N^Nu AUX: LST: NV?/.0n/N2P=H0n//NX"_nN^Nu2nAm A=H"n0n"HA] 2n0noX0n=H2n0nl&` 0nRn`"n0n"HA. `/.0n"F"_"H G `H2n0nl:0n=H2n0no$` 0nSn`"n0n"H G ``4N^Nu`,Nb.][`/-lNX///HnHnHnHnNtN^NuNV ml h-H/.Hx]NP-H"n n0n N^NuNV ml h-H/.Hx[NP-H"n n0n N^NuNV0mf=H0m=H n P2P n 0h$=H n 0h =H n 0h "H n 0h$ I=H0m=H0n/2n ml hL0mfNb"_=HHx/N PHx/N P0n/0n/0n/0n/0n/0n/0n/0n/HnHnN (Hx/N P//N P0n/2mfANb"_"H0n0mfNb"H ml hLN^NuNV ml h -H ml h -H0n=H0n=H/.HnHnN 0n=H2n ml hP I=H"n0n2PA Nb=HJn f0n`/-l0n/HxN `Jngx/-lHnHnN nXJPo2n nT0Pm F` G g&2n nT0P I=H nC-H`/-l/.NP`>N`4NbTL`XP``&0nCf Jng/.0n/NP`0n=H/-lHnHnN nXJPo2n nT0Pm F` G g&2n nT0P I=H nC-H` n0P/NX=H0nCg2n0nl F` G g2n0n I=H` G-H2n ml hP I=H/.0n/0n//.Nj/-l/NPN^NuNV n P0P=H0n=H n 0h "H0m=H0m=H n 0h"H0m I=H n \0P=H0n/2n ml hP0nNb"_=HHx/N PHx/N P0m/0n/0n/0n/0n/0n/0n/0n/HnHnN (Hx/N P//N P0n/2nANb"_=H/. HnHnN 2n0n g@/-lHn HnN /-l/.NP/-l0n/HxN N^NuNV2m n0h =H0n=H G=H n\0P=H2n0nNb"H0n=H2n0nNb"H0n=H0n=H2n0nn2`2n0n=H`/.0n/N"P0nRn`Hx/N PHx/N PHx/////0n/Hx0n/////////HnHnHnHnHnHnN\=HHx/N P0nCNb g`0nCNb g2n0nl40nSn o/.0n/N"P2n0n I=H`0n/2n0n"_mL2n0n=H2nAclRnJno F` G g/.0n/N"P``//N PJno0n=H0n=HJno2`2n0n=H0nSn`/.0n/N"P`Jg "n0n2/-l/.N4P`&/-l2n ml hP/0n/N `Jg/-l/.NPN^NuNV n T0P=HC n P0P2AT"H0n 2AX/0n"H0m"H F I"_2A\/2n n \0P"H F I"_20n/HxN@P0n//NP0n/HnN(P0n//N@PN^NuNVNHx/N PHmfHmhHmHmN 0;Hd0mhC;H0md/Hx/HmN>0md/Hx/HmN>0md/HxHmN 0md/HxHmN /HxHmjN Aj\2PA,l F;HA;HA;HA;H G=H2nAl`0nC=H`Hm0n"F"_/Hm0n"F"_2PANbC"_2Hm0nC"_/Hm0nC"_2PANb"HA I"_2`rAjX2PAlzA ;H G=H2nAl^`0nC=H`Hm0n"G"_/2PANb"_2Hm0nC"_/2PANb"_2`N^NuNVvHxHxNP-HJf GN^Nu0md=HHmrHnHnzNh nT"H0n20n//NP0n/HxN|P0n/HmHm nHh(Hm nHh2N G=H2nAlD` 0nRn`C0n/Hm0mCNb"H0n"_0P"_2` nX"H0mf2 n\"H0mh2/.Hx0mj/AjT0P/AjX0P/Aj\0P/N l"_2/Hx0n/AT0P/AX0P/A\0P/ nP/ nHh nHh nHhN (/.N2X n0h"H0m0mhNb=H n0h "H n0h$0mfNb=H n0P/HxHz@N 6 AjX2PANb/Aj\2PANb/HxHx0n/AT0P/AX0P/A\0P/N Rm0m n0P/0n/AT0P/AX0P/A\0P/N  n0P/Hx nP/N nP/ nHhN^P0n// nHhNT /./N>P/.0n/0n/N` -HvC n0P"H nv" nvN^NuNV nP2P0m"FCNb=H0nC ICNb=H nHh$0m"F"H0n"_2N^NuNV G-H"nAl:` nR`C n P-HJg/.N,X`0md/HxAT/N 0md/HxAT/N Hx/N PN`N^NuNV n h -H n0P/N XAjX2PANb/Aj\2PANb/HxHx0mj/AjT0P/AjX0P/Aj\0P/N n0P/N 4X nT0P/NXC n0P"H G"Sm0m/.NX/.NFXN^NuNV n C. H0@2 n T0P/. H0@CNb/N|PN^NuNVA=H n T0P=H n \"H0n 20n Cf A =H n C&0n20n/0n/HnHnHnHnNp0n/HxN|P0n/HnHn n Hh(Hn n Hh2NN^NuNV n 0h=H/. N~X. H0@C f A @ C. H0@ AR"H G /. HnNpPJng/. N\XN^NuNV G=H G=H/.N`X=H n 0h=H n T0P=H/. HnHnN 2n n 0h0=H0nCtNb f n \2P0mhf G` F g0nC@Nb g0m=HA=HHnAX"H0n2"_2AP/AHh 0n/2mf0nNb"_"_2"_20nCNb gfAX/2P n 0h2 I"_2AP/2P n 0h2 I"_2A/2P n 0h6"_2AA /2P n 0h6"_2AT/AHh2n F I"_2"_2A\/AHh 2n n \0P"_2"_20n/HxNP0n/0n/NP0n/0n/NP0n/HxHnN\ 0n//NP0n//NP0n/HxN@P0nC0Nb g^0n/HxHnHnHnHnNpJmf0nCNb g F` G g2nA I=H0n/0n/0n//.N n \0PCf&0n/Hx HnHnHnHnNp0n/ n 0h /N@P n A/2P0n"_2N^NuNV nT0P=H/.0n /HnN fN^NuHmjHnNP fN^NuHnHnN^P G=H2nAl^` 0nRn`Hn0nC"_/C0n/C0n/C0n0P"_2"_2"_2`JnlPAT/2P0n I"_2AA/2P0n"_2AT/A\2P0n"F"_2`PA\/2P0n I"_2AA /2P0n"_2A\/AT2P0n"H F I"_2C G"0n/HxHnHnHnN0n//NP0n/HnN(PN^NuNV nT0P=H n0h=H/.0n /HnN fN^NuHmjHnNP fN^NuHnHnN^P/.N~X G=H2nAl^` 0nRn`Hn0nC"_/C0n/C0n/C0n0P"_2"_2"_2`JnoPAP/2P0n"_2AX/2P0n I"_2AX/0n"H0n"H F I"_2`FA/2P0n I"_2AA /2P0n"_2HnAX2P0n"F"_2C G"0n/HxHnHnHnN0n//NP0n/HnN(PJng/.N\XN^NuNV n 0h=H/. 0n /HnN fN^NuHnHnN^P/. N~X n T0P//NP n T0P/HnN(PJng/. N\XN^NuNV0n/0n/ n"G/ nC/ nC/ nC/N PN^NuNV0n/0n/ n0P/ nT0P/ nX0P/ n\0P/N N^NuNV nT"H n 0P2 nT"H n T0P2 nT/ n 2P n X0P"H F I"_2 nT/ n T2P n \0P"H F I"_2N^NuNV"n nl n N^Nu nN^NuNV"n no n N^Nu nN^NuNV n2P nX0P/ n 2P n X0P/NP=H nT2P n\0P/ n T2P n \0P/N`P=H n0P/ n 0P/NhP=H nT0P/ n T0P/NJP=H nT"H0n2 nT"H0n2 nT/2n0n I"_2/.2n0n I"_22n0no2n0no F` GN^NuNVJn g/. N\X`/. N~XN^NuNV n0h f/.NXN^NuNV n0h g/.NXN^NuNV nT0P=H/.HnHnN C0n2AT"H0n2AX/2n0mf"H F I"_2A\/2n n\0P"H F I"_20n/HxN@P0n//NP0n/HnN(P0n/ n0h /N@P nC n0hNbx2N^NuNV/. n0h"H0mfNb"H nP0P"H n0h$"_2/. n0h"H n\0PNb"H n0h "H0m"_2N^NuNV/.HnHnN HmjHnNLP2n0mf"HAX0Pn&2n n\0P"HA\0Pn G` FN^NuNV n0h=H/.NX nC0n 2 nC0n2Jng /.NXN^NuNV/.HnHnN /. nP2P n0h$"_2 nT/ n0h "H0m"_2 nX/ n0h "H n0h$ I"_2 n\/ n0h"H0m I"_20n`r n\/2n nT0P I"_2` nT/2n n\0P"_2`f"n0n2 nT"H0n2 n\"H n\0P2`8`4Nb` nP//.N2PN^NuNV n0P/Hx nCNb/"n n I"_Nb////N  n0P/Hx n CNb"H nNb////N N^NuNV"n n o& nCNb/"n n I"_Nb-H n0P/Hx /.///N  n CNb"H nNb-H "n n0h"g0 nC" n 2 n0P/Hx/. ///N N^NuNVJmfN^Nu n0P/Hx HnHnHnHnN P2n n0Pg@ n0P/Hx n0P////N C n0P/NXN^NuNVN^NuNV/HztNGPN^Nu[3][This facility is not|implemented yet][CANCEL]NVC0n2 F=H2nAl,` 0nRn`C0n"H nT0P2`Hx/Hx0n/N@N^NuNVC0n2AT"H0n2Hxi//0n/N@/. A0P"_2/.AT0P"_2N^NuNV/. NAlX/.NAXHxn//0n/N@N^NuNV/.NAXHxo/Hx%0n/N@HmNAXN^NuNVC0n2AT"H nT0P2AX"H n0P2/.NAlX/. NAX/.NA*XHxy//0n/N@HmNA*XN^NuNVC0n 2Hxz//0n/N@N^NuNVHx{//0n /N@N^NuNV/.Hx|//0n/N@"_2/. AL0P"_2/.ALT0P"_2N^NuNV/.Hx//0n/N@"_2N^NuNVC0n 2Hx //0n/N@N^NuNVN@r/.NAX/.NA@X nCZ/NAVXHxd/Hx n 0P/N@/. AA 0P"_2HmNAXHmNA@XHmLNAVXN^NuNVHxe//0n /N@N^NuNVC0n2/. NAlX/.NAX/.NA*XHxmHx/0n/N@HmNA*XN^NuNV/.NA*XC0n2HxHx/0n/N@HmNA*XN^NuNV/.NA*XHx0n//0n/N@HmNA*XN^NuNVC0n 2Hx//0n/N@A0PN^NuNVC0n 2AT"H G2Hx//0n/N@AL0PN^NuNVC0n 2Hx//0n/N@A0PN^NuNVC0n2AT"H0n 2Hxl/Hx0n/N@N^NuNVC0n 2Hxq//0n/N@N^NuNVC0n2AT"H0n2 G=HC0nRn"H nRB @2 g`Hx/Sn0n/0n/N@N^NuNVC0n2AT"H0n2/. Hx'/Hx0n/N@"_2/.AT0P"_2N^NuNVC0n 2Hxj//0n/N@N^NuNVA-HA-H nT"H0n2 nT"H0n2 nT"H0n2"n G2 nT"H0n2 nT"H0n 2 nT"H nRB @2 g`AC A 2Hx HxU"nAʓ FNb/0n"/N@N^NuNVC G2AT"H0n2Hx //0n/N@/.AL0P"_2/.ALT0P"_2/. ALX0P"_2/.AL\0P"_2N^NuNVC0n 2Hx //0n/N@N^NuNVC0n 2Hx//0n/N@N^NuNVC0n2Hxk//0n/N@/.AL0P"_2/.ALT0P"_2/. ALX0P"_2/.AL\0P"_2A0PN^NuNVC0n 2Hx//0n/N@A0PN^NuNVC0n 2Hx//0n/N@A0PN^NuNVC0n 2Hx//0n/N@A0PN^NuNV/.NA*XHxrHx/0n/N@HmNA*XN^NuNV/.NA*XHx 0n//0n/N@HmNA*XN^NuNVC0n 2C0n2AT"H0n2Hxg//0n/N@N^NuNVC0n 2Hxh//0n/N@A0PN^NuNV/. NAXHxp/0n CNb/0n/N@HmNAXN^NuNVC0n2AT"H0n2/.NA@XHx/Hx0n/N@HmNA@XN^NuNVHx//0n/N@/.A0P"_2/.A0P"_2/. AL0P"_2/.ALT0P"_2 nT/AL\0P"_2 nX/ALA 0P"_2 n\/ALA0P"_2 nP/ALA0P"_2/.ALX0P"_2 nT/ALP0P"_2 nX/ALA 0P"_2N^NuNVCA"AX"HA"AP"HA"AC A"ACAL"N^NuNVC0n2AT"H0n2A\"H0n2AC 0n 2NAA0PN^NuNVA"psNBN^NuNVAX"H n"N^NuNVAP"H n"N^NuNVAC n"N^NuNVAC n"N^NuNVAA-H"n n"N^NuNVAA-H"n n"N^NuNV/.NAlXN^NuNVAA-H"n n P"N^NuNVHm.AF"_"A.X/AN"_"A.P/Al"_"A.Hh A"_"A.HhA"_"A.HhA"_"A.+H*Hx NNXAB0 @;H( FN^NuNVHxNNX FN^NuNVCl0n"2AlT"HB0. @2AlX"HB0. @2HxNNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVClB0.b @2AlT"HB0.^ @2AlX"HB0.Z @2Al\"HB0.V @2AlP"HB0.R @2AlC B0.N @2AlC B0.J @2AlCB0.F @2AlCB0.B @2AlCB0.> @2AlCB0.: @2AlCB0.6 @2AlCB0.2 @2AlCB0.. @2C n("AlCB0.& @2AlCB0." @2HxNNX/.ATB0 @"_2/.AXB0 @"_2/.A\B0 @"_2/.APB0 @"_2/. AA B0 @"_2/.AA B0 @"_2AB0 @N^NuNVC n "Cl0n 2HxNNXN^NuNVC n"Cl0n2AlT"H0n 2HxNNXN^NuNVC n"Cl0n2AlT"H0n 2Hx NNXN^NuNVC n"Cl0n2AlT"H0n 2Hx!NNXN^NuNVC n "Cl0n2AlT"H0n2AlX"H0n2Al\"H0n2AlP"H0n2AlC 0n 2Hx*NNXN^NuNVC n"Cl0n2Hx,NNX/. ATB0 @"_2/.AXB0 @"_2AB0 @N^NuNVC n"Cl0n2AlT"H0n2AlX"H0n2Al\"H0n 2Hx+NNXN^NuNVC n "Cl0n 2Hx2NNXN^NuNVCl0n*2AlT"H0n&2AlX"H0n"2Al\"H0n2AlP"H0n2AlC 0n2AlC 0n2AlC0n2AlC0n 2Hx3NNXN^NuNVC n"Hx6NNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVCl0n 2Hx5NNXN^NuNVCl0n2C n"Hx4NNXN^NuNVCl0n&2AlT"H0n"2AlX"H0n2Al\"H0n2AlP"H0n2AlC 0n2AlC 0n2AlC0n 2HxINNXN^NuNVCl0n&2AlT"H0n"2AlX"H0n2Al\"H0n2AlP"H0n2AlC 0n2AlC 0n2AlC0n 2HxJNNXN^NuNVCl0n2AlT"H0n2AlX"H0n2Al\"H0n2HxFNNX/. ATB0 @"_2/.AXB0 @"_2AB0 @N^NuNVCl0n.2AlT"H0n*2AlX"H0n&2Al\"H0n"2AlP"H0n2AlC 0n2AlC 0n2AlC0n2HxGNNX/. ATB0 @"_2/.AXB0 @"_2AB0 @N^NuNVHxMNNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVCl0n2C n"HxNNNXN^NuNVHxONNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2N^NuNVC n"AX"H n "HxZNNX/.ATB0 @"_2AB0 @N^NuNVClB0. @2AlT"H0n2AlX"H0n2Al\"H0n2AlP"H0n 2HxdNNXN^NuNVCl0n2AlT"H0n2AlX"H0n2Al\"H0n2AlP"H0n 2HxeNNXN^NuNVCl0n 2HxfNNXN^NuNVCl0n 2HxgNNXN^NuNVCl0n2AlT"H0n2HxhNNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVCl0n2AlT"H0n2AlX"H0n2Al\"H0n2AlP"H0n2AlC 0n 2HxiNNXN^NuNV0n/0n/"nANb//.//NLN^NuNVCl0n2AlT"H0n 2HxjNNXN^NuNVCl0n 2HxkNNXN^NuNVCl0n.2AlT"HB0.* @2AlX"H0n&2Al\"H0n"2AlP"H0n2AlC 0n2HxlNNX/.ATB0 @"_2/.AXB0 @"_2/. A\B0 @"_2/.APB0 @"_2AB0 @N^NuNVC n"HxnNNXN^NuNVCl0n2AlT"H0n2HxpNNX/.A P"_"AB0 @N^NuNVCF0n 2Hm2n A ICNb"_-H F=H2nAl0` 0nRn`CF0n"H nRH0@2`NONAB0 @N^NuNV"-*0<NBN^NuNV/-!NTXN^NuNV/./-!NSPN^NuNV/./-!NTlPHx /-!NSPN^NuNVHx$/NZP-H fA+H! GN^Nu/. /./.NO o nN^Nu GN^NuNV n H0@/N]X-H n`H G-H F-H`Z F-HA-H`HA-HA-H`4A+H!N^Nu`$NbRWA`/.Hz@N]P gB nCNb-HJg/HxPHxHz/N5+H! m! -H`/.HzN]P g$ nCNb-H nC-H`/.HzN]P f/.HzN]P f G` F g2JfA-H` A-H nCNb-H`N n"Ff*HxA/.NcPHx n/NcP"_" g AN^Nu nX/N[X nHh nHh nX"H G""_""_" GN^NuNV n C fHx /.NXLP/. /.NXLP n C f/.NSX g F` G g /.NV8X n h g AN^Nu n N^NuNV n Jg n R H0@//.NSP`N^NuNV/.NVhX-H nC f8/.NVhX-H nC f n-H`/./.NU

/-!NV8X nHh n/ nX/HxN5 "_" nP"H G"`^/.NRX g n/NcXN^Nu nP"P n hm/.NWX g F` G g AN^Nu nX"P nP$H PR-H nH0@CNbN^NuNVHx? n/Hx nX/Nc-HJo nC n" nC G"`6 nC G"Jf nCA"` nC n" nP"H G" n hN^NuNV n hCNb f nCA"AN^Nu/.NSXNbx g/.NRX g F` G g n//. NcP n N^Nu nX"P nP$H PR-H"n n  nC F" nP"PAm/.NY8X g F` G g AN^Nu n N^NuNV/.NSX g8 nX P-H"n nP P"H G  n//.N5P`rHx@ n/ nP/ nX/Nc-HJl nC n"`2"n nP Pl nCA"` nC G" nP/ nC G""_" n hN^NuNVHzNOX. H0@/NZ@XN^NuabortedNVNZ`HxL. H0@/NcPN^NuNV m!-HJg/.NV8X n h -H`N#N^NuNV/.NOX/. NZ@XN^NuNV"n nNb//NZPN^NuNV/./NZPN^NuNV n CCNb-HHxH/.NcP-HJf GN^Nu nR"HA  n"FNb g nR"HA  n-HJg" n S o nR"H G ` nN^NuNVS nH0@-H nCfS nH0@-H nCfHxI/.NcP GN^NuNVHxHHxNcPN^NuNV"nA _ @N^NuNV n Jg, n H2@. H0@f n N^NuR n ` GN^NuNV n H2@ nH0@f$ n Jf GN^NuR n R n` n H2@ nH0@ IN^NuNV n-H nS oH nR"H n R H0@  g` nS o nR"H G ``"n G  nN^NuNV"nAzn"nAam F` G g"nA IN^Nu nN^NuNV"n F I-HR nJg`"n n IN^NuNV n Jg@ n R H0@/N]X/ nRH0@/N]X"_g GN^Nu` nH0@"GW @N^NuNV G-HJgtHnHnHnHnNJJngT/N5X///HnHnHnHnNBt//N5P-H nCf /NZ@X nN^NuHx NcX glHxNcXCNb-H nC f A -HJg8 nCfN5CNb-H` nCf /NZ@X nN^NuNVJl nNbpN^Nu nN^NuNVJo FN^NuJf GN^NuAN^NuNVJl nNbp-HA- @` A @Jo"n S n"H G `4Jl nNbp-H`"n nJg R n`JgH"n S n/"nA Nb IC0"_ "nA Nb-H f``Jg"n S n"H.H0@ Jo"n S n"HA ` n N^NuNV nH0@/N[X g R n` F-H nH0@`A-HR n`Nb-+ G-H nH0@/NaX g0 nC Nb"H nRH0@"HA0 I-H`"n nNbN^NuNV"n F I-HR nJg` nR"H nRH0@  g` n N^NuNV n -H nR"H nRH0@  g` n N^NuNV G-H n Jg, n H2@. H0@f n -HR n ` nN^NuNV"nA9n"nA0m F` GN^NuNVHxA/.NcP-H nC߳f GN^NuJg AN^Nu GN^NuNV/.NbXN^Nu D @Nu W @Nu F @Nu " @Nu " @Nu " @Nu " ANu " ANu " ANu"_ g "fNN BNu"$ 68HAHBBHABA҃ ANu$ma`DaD A"BNu$" a A"BNu" j DaDDNu cPgc $BNurBNu&BCHCR(*$a.$Â$&HCHCԃb DbR`S`NuHPBAHA62HAB42HA6Nu$O?*NA @.JNu$O?*?* `$O/*?* `$O?*/*?*`$O/*/*?*?*`$O?*?* /* ?*`$O/*/*/* ?*?*`NV G+H!+H!HzzHz{NOP+H! nRH0@-H nC//NZP-H/././.N\ C!"A!r" nJg nH0@`R n`R/.HzHm!Nf -H`R nH0@C>f"R/.HzHm!Nf -H`/.HzHm!Nf -H`n"m!AlC!" m!R!"H n"/.NeX-H`$NbF H<^>``J!fHz1Hz2NOP+H!J!f m!+H!N^NuCON:WrawCON:RNV nJg< nH0@/N[X g nR"H G  nN^NuR n` nN^NuNV n-H/.NeX-H/././. NOP"_" nN^NuA 0g C" ӑ`Nu   $  ,04,044884@DH@DHLLHLLH .,!?:;_GST word processor[....................................................] DGFEHI#$&'*+,-45DEFGHIMNOQRS7:;=B""33ww!#$&'(*+,-/0124578:;=?@BDEFGHIKMNOQRS+z+,=,- -q-.?./ /x/0I01 1 1 1 1p1p1p1p12@233w34;445W56667S78889O9::w[1][Use OPEN FILE to create or|edit a file in a window - up|to four can be open at once][OK|CANCEL][1][Us