TDo(i (AP2_0 extensions for HP Rocky Mountain BASIC 2.1Disc Includes the REPACK utility.If this disc resides in the right-hand drive of a 9121D(:HP8290X,701,1 for example) and the retrocalclulator BASIC boot disk is in the left hand drive, the AP2_0 will loadboot disk is in the left hand drive, the AP2_0 will loadautomatically when BASIC starts. On my 512K 9816S, that leaves about 64K free for programs!about 64K free for programs!B9826 v   +AP2_0 q # REPACK PQ KEYS a MYAUTOST P : C3 DICE  Z  7[=] "$%')+,-.1234567779;<>?@@@ABCDEFGIKMNUVWX[]_`ahijklsuvxyz|~UBUZU kKGKGAKLMHIHIGK G GHGHJHJHJG,45?@BGHJHIGG$*./ no. of recordsOPointer is not vectorQSubstring key out-of-rangeRKey subscript out-of-rangeTMode table too longUImproper mode indicatorVNot 1-d#HH``SCCRTDETDOTKBDMAXMINPRTSUMBASEDATEDVALIVALLWC$RANKREV$RPT$SIZETIMEUPC$DATE$DVAL$ERRM$ERRDSFRACTIVAL$TIME$TRIM$PROUNDSYSTEM$ GouHHH #()*+,-./:;<=>[]<=<>>=BYINISONTO(*)ALLDESENDEORIDNINVMATOFFTRNCONTCSUMF Igh!nopuwzTeU^ BfTijj fiVZ Z(  1  XtYu98]^uth]^ tYtYt%X([\*+,-./ 4tY5l7t69tZu]^]^]^ts=>?De0]^ tt'2#$KLJX-OR)EGDFT5W0XVZTtf\]5_5ttv[\a]^ctvDetXtktt'2#$KLJ'KL#$ <:;p=>@B?AC"#-q0rsMWtUt_?  #*,-;[]BYINISNOONRETOALLBINCATENDEOLEOREOTFORKEYODDOFFONE?H.IAzBASIC Ext. AP2.0)D0F TbrMiz \ , l B J  x 0X F|iHim. integer arrayWMode pointer out of rangeX1 for 2 list empty or too longZINDENT parameter out-of-range]CSUB has been modifiedBad system function argument#Copy failed; program mod incompletePriority may not be loweredTRANSFER not su<INDPASSRSUMSORTWAITXREFASCIIBREAKCOUNTDELIMORDERREDIMRESETCHANGEFRENCHGERMANINDENTSIGNALSYSTEMABORTIOCONTROLLEXICALRECORDSREORDERREQUESTSPANISHSWEDISHPRIORITYSTANDARDTRANSFERCHECKREADCOPYLINESMOVELINES"@`$,39ADG$ 35%<:;=>@B?ACtttt5'KL~RNO#$t(5Q3A388b6`"#PSUhow%(.7JKRX]qrs~6\DZktLD}_v @GluB +,-4O) &* fPPU(icd2 !z{ &ba}|01jk,/yPS "%di {|__``x&e'($[j'y 5V^v}`JL!&'+-1236789;>CDEFKGKG"HJGG0)=HIHJ:HIGttj|4F  ^v K~|j~((L&!r p _pportedDMA hardware requiredResult array must be REALXAttribute cannot be modifiedYImproper CONVERT lifetimeZImproper BUFFER lifetime[Variable not declared BUFFER\Bad source/dest for transfer]BDAT file type required^Improper TRANSF7 [=wx@QzifeYZUZUYeXUYZZ  bX^_ rq[\#!"@%nr)q*n,q-.9x684w:T;n`Yqq>?qZnananaDCEFGHqqIJKLpnn@Nf??q?n?o$]nqqUV?2n4qqr[q^_nuv]pn`56dabc_fSh9x68w9x8w9xwxwnnDCi$qqkn?mn*qBA-./,0oq@n@nr^_`56dabc_t)u(i`56dabc_'nv@@HPH HP')*+,-1245:;<> EOREOTTIMECYCLEDELAYSIGNAL UPU_ ."n EB2N^ _NNV/. /.NMXN^ _PONNV-n nUh1yQp"np2(HҁCxD1N^ _PONvvv@@ww@@O89:;<=>ACDE?PyyGMNHIJF|z{z{uKL}~NV-x-n nA-H0. H/Hz4 np(R@@p(d ;| tNJ` nVJg ;|\NJ?<N`r np(d ;|^NJ?<xN` np(?NH`@ n0(H1v/.NH?<NH` n|||"nBi?<N` np(R@@` nB(dOUTRENBYTEEDITEVENFROMLISTLOADSAVESKIPWAITWORDZEROCOUNTDELAYDELI`INDEXPAIRSPPOLLSTOREWIDTHASSIGNBUFFERFORMATHEADERPARITYRETURNSELECTCONVERTLOADSUBPRINTERPROTECTPRINTALLRESPONSECONFIGUREUNCONFIGURE Am )18<>??@ )zy|{r? XM -.6;CHLUV]fhr8, ()4>?DEFZ[`!"QRS=jxi 0l2357B$eGTj*&jVV*(Z#' (t&93MG!Dqeh#+HEm; "%1%7@Az}{~d&K VU$MpPQRSWl >"#&./19:<DAC@!EF=>?@@@@  %)7;C@AC@@!!@A@D@D@D0$/   EOREOTTIMECYCLEDELAYSIGNAL UV@֣ ' GHIJKLM' @ABCDEF'  nNV?<NO?.NON^ _TONNV n V n NL nphVg ;|KNJp3n mb0. AJr0?N0. H/HzNL8Jg n?(NLp n m0. AVr0?NK`:p9n m0. Ar0?NK`pLn m 0. nrC11A`pOn m2 nJ(f ;|WNJ0. A~ !"#&(*+, -345678::;<=>?@BDFHJKLMNPQSTUVWYZ[\]^_`abcddefghikmnqstuvxy  ҥVhU@P@U @@@@@2@@@@4C@@@@@@@AC@DD@@'+3568@ %); ); ;;@@0@@@ @  (@@@@*AC'+3568  '+3568@,-,-*BBBB0"4  #C$DB2B"!A1!020 3 !3  2 @ P k nJg00. 2. 4BJAHЂA$0p nN^ _ NNVJn f"0. Av0V n`lpnfpn V n`L n V n nJg00. 2. 4BJAHЂA$0p nN^ _ NNVN^ _ NNV n r0?N`pSn m n?(N`0. |Tm|"n@2;NFFjjvvv:`*8HXh nVJg ;|NJ nVJg"ni` n"np)hg ;| NJ nJ(f?<N`#Pj1!ssQQRRR"!  W lg LF O8cl:Jg?<Nv` ?<Nj n0(@2;N " "BgNB`?<NB` ?<NB?<NB`D nJ(g< h>^Jh>_(<vV‚g ;|NJ/.NB` /.NB` ?N`/./:N?N^ _\ONNV-x-n n!mքxC !I|Cx+Iք!mֈC !IC+Iֈ!mֈCb!IC+Iֈ!m֌!hC+I֌!mֈC׬!IC+Iֈ!mֈC!IC+IֈN^NuNVp xnNTN^NuNuB;00B BBBBBBBB B BBBBB ! ),-/)*+!!!0FJg BgNFX`pn f ?<NFB`p>n m|pn m /.NFL0. Ar0?Ntpn f?<NE`"p8n n0. <r?NE`FpBn m0. A*r0?NE` pOn m 0. nrC11A`0. | nphf|/.NBz` n1|/.NBd`/.NBX`/.NBF` n!|r` n!|r` nphl0(D@||;@NJ nRr`V/./:fNA n1hBr`8 n1|`* n` n` n` n` nJh 1B !:A=B!B!BBBB B!B"B#B$B%B&B'  B)B) .("("1"3850"2#45/6"7%D9=7%)@4&&,     B*B*B8-NuNV-x-n-n ncPm|(n@2;NR\ **6FV *:JZt?<ND nphm?<,ND n?(tND` ?<-ND`N?<ND?<ND`:?<ND?<!ND n?(ND`/./:2ND?<QN`/.ND?<NWrhW(AgBh` n|`/./:NA^`/./:NAN`/./:NA>`/./:NA.` nphg ;|mNJ`f?<N@?<#N@`R/.N@?<N `>/.N@?<N `*?<N@?<N@`?<N@|?<N@z`N^ _\ON` &1B1;,45?B@ 8  '.>27C<./$*9-22'/8888%ipBPf:U np(C"qHi B'N9zJg n0`J n0HH@J@l| @g, np(1dpg08ddr(Ё1dN^ _PONNV-x-n-nJ V nr?PWg$U n HhB'N8Jg n0`2 np(1dp( @g08d` n|` n|` np(r(Af` n`z n1|`l n1|`^ nh `P nh`B/./:NNH`2/./:2NG`"/./:&NG`/./:NG`N^ _\ON |? A20*+/.122A  V` nVV tBrAB0; N&2?<\NBgND"`*?<^N`?<]Nt`?<\Nh?<NC`~ n0(H/HzNDJg ?<NC n0(@2;N 2N`t?<NCBgNC`p?<NC?<NC`\?<N?<NC|?<N`@?<NChBg7 [=cHhfHnN?. nJg/("hNN^ _TONNV-x-n x1xd x0PN^NuNVJx`f |`Hx`HnJg/- mNp.=@0.<rntBH-AU/.N5Jg ;|]NJ .DѸ x1nHn xHh0.H/N5 xN^.NuNVN2-x-n n0R@lR@@T@H=@ nB n0. HCRJf?.Hn/.N nJf=n n0.HCRJWrn^gRn` n0.HCRJg$0.H2. HCRER#` n0. HCR#?.?. N` n N^.NuNV-xJ8f-nUHzNUHzNg0.H/HnN.ACESb<HPHz-HN.~ nB'HnNj?<HzHHz(B'HnNT?<HzHz<.HnNJg nx]B8]N5\N^ _TONNV n0C2Sb-x-nN5& nHhHnN5" nB(p8]/HnN4Jg nx]B8]N4N^.NuNV-x-nN4 nHhHz&N40. HCR"q=Q0.nl&0.n??. N*0.n?ND`@0.no40.n?Hn/.N nJf0.n??. N( nJfB n0. HCR"q2/.0. HCR"qHi"n0T@H/N0N1N^ _ NNVN0-x-npnf6=| CR-qTJTg"nTC-IY0-H/"n08FQH/N- =@Z0.Zml?<?<N-|JnZ^Jm^g&Hm n0R@CHq0.ZH/N-< nHhHm0H/N- n0.ZP;@Jg/-"mN`/<?-N-&J8gN,BmJ8]g B8]N,N,2ONu.#CAT .#LIST :INTERNAL :CS80,700 .#EDIT :HP913X,700.#INITIALIZE " ".<&.> ).#LOAD " " .< -.#RE-STORE " " .<5.dr(Ё1dN^ _ NNV-x-n xJ@f"pDn\r>n_g x!x@ x!@Jg-x npWr UgBh. np g(VJg"h)0VJgpWrWgBh."hJQf"hRQ`> n"h"i V"hHi2 nJ(gN4 nB(N4N^NuNV-x-n n0(n @^"n"nJf"n 0(R@EE"0.hN^ _ NNV-x-n n0.hN^ _TONNV-x-n0.R@r=@nm=A n0.HCRJgb0.H2. CR-qHRn n0.HCRB nm n1|`V n0.HCRJg>0.HCR"q=Q?.?.N?.N n0.HCRBN0XN^ _TONNV-x n0<hH-@N^NuNV-x-n nBP n0.HCR-qJW"n "n Jf "nHi N^ _TONEDITG KEY SCRATCHNV?./. /.N~ npPlH np#(W nr( AWg& nUP nHh nHh n0H/N,,N^ _ NNV-xpxW nJhWg "nB`" n0. HCRJV"nN^ _\ONNVJ-fg n0`9"(VrVg Bh."hRQpx^gT n"hp)1@2;N""hHi2HnN`"Bxd` n"hHi2/(HnN`.px^V n(V Ag/(HnN<``px^gV-x-n n(VJg&Jf 1d` np(h1d` nӮ0.HCR/1/.0.HCR"q0H/N3 n0.HCR#2.SAhtN^.NuNV-x-n0.R@ @n=@ n0.HCRJgd0.H2. DACR-qHӮ0.HCR/1/.0.HCR"q0H/N2 n0.HCR#0.R@hr O/."n0)T@H/N/N^ _ NNV nCSbB. =|0.mL]2.A[t 0WgRn`0-LnR@r.@n| pr.=Ann:=@U0.A[0N/.0.6gB. Rn0.R@h0.mLn"0.A[r 0gB. Rn` B- n0N^.NuNV-xJ-fg n0N^.NuNV nC\Sb nCSbHn]Hnp.\/N+@Hnp.\R@AHpp./N+ p.\r.A=@J. g@p=nnn0=@Z0.ZA0. f0.ZA0.ZR@hHn?./.NN^ _7 [=y |^J]g ;|7 NJ n"n Ш>!@BiI?HxJ׎g/-׎"m׊N+|Ap"<oSn-m-n n (>S"n"p(H#@ .S#@/.HxJ׎g/-׎ m׊N/.HxN m0.HA-H nLH1|a !n!n CproSn#SET TIMEDATE DATE("01 Mar 1900")+TIME("00:00:00").HNV-x-nHnB/<B'N(pmfN( n1n?(HnHmLN4N(BgN(N(HzB'N( n0(H/HnN(>Hn<N(n|fN(^?<N(bB./-/Hz+OHzN npO(fB(N'N(4`BN$Jf ;|eNJp.r0A=@0.nlbU/N_p./HzN$BJf ;|eNJp r.Ёr0=@pn]2.n]g ;|eNJ?.NJ?.N$pK.g 8T2.HЁ!`. nJg/("hNN^ _TONNV^ np(=@^Jn^oqfN!p x-h

.@Hpn\Jn\gHn?.HnNv.À.g? m0.H pag ;|JrNJ?.N m0.H=p`2-mb nJ(dg/(T?(f?(hHnN`=zB^=|Rn?.HnHnNJ.f(0.<".^T5oJg/- mNN&` <N'$Jg/8 xNN'RBxB8J-ff+o N,_+_NxNJNrN&N&J.g/<mBgN&z n?(N&N^Nu @ Editing key NV nRhU"x 8R2(HЁ1N&_ N^.NuNV-xpK.f `" nN"|`A|H/( HxN-m-n n KX4.H҂t҂-A^ nm .^мSlмR-@/.HnHnHnN^Ab-H-n .R n!@>|H .SЮ!@:|G=|Rn?.HnHnNJ.fr/.Hn/<J׶g/-׶ mײN0.H-@/.Hn/<J׶g/-׶ mײN.gR/.Hn`p?.g `` x 8Rr0=ABnU/Np f`0.nR@r@o`fSnU/NTpKW@U/N>pEW@U/N(pYW@...f` 0.nf?=mNU?.N n_gpxg ;|NJ n1|l`B- np(^hn1@lB(gB-N^.Nu-Line number altered; FIND or CHANGE cancelledNVXpxWrxWg ;|'NJUN=_vpxgBmpnvf<HnrHnXHnfN`  L/<NN|`"HzB'NHn^/NHzf<N?.nN/N`|EeHnxHmL/<NP/NJ.gg/NJ.gf`NTJ8gX0.pH/HnNLB8B.XHnXHyjNPN6Hn| nR`hJ.g n D n .@. g ;|1NJN^ _NNVN xA-H-|-n/.Hn n0H/<HnNx/.Hn n0H/<HnNZ/.Hn n0H/B'HnN>YN 4 ѸY/././.NjN6N^NuNV/.HnNHnc nhph1|1nN/-/Hz@+O/.HxJ׎g/-׎ m׊NJ.g/.?.NP+o N,_+_NfNJN`+o N$,_+_=mHmBHnN;nNJN^Nu NVN^ _TONNV, n C,Sbp.,xDoJ(if*B-N nHhxHmL/<NlN|HnN`Jng nJ(igN0.mgU?.N<=_ ng ;n`(0<m8nn ;|`0.m8;@ nf;|NHz<NPNQNQNQNQ^N?N1NQnNQNQjNQfNN`Nό?JanFebMarAprMayJunJulAugSepOctNovDecB)MR@y@NuNV nC-I"n-Q$n ) rRFNjH x=h0.̰n^Jn]g ;|BNJ `rNNj x=h0.ʰn^Jn]g ;| *NJ NNi x=h0.̰n^Jn]g ;| NJ B.|-xB.B.B.-nB n-hBn0.H-@B.-| n .r0 n2H\gR` .T n2Hl ;|NJ n .HpHn/<Ndpa.bp.r A@pa.cp.r A@pa.cp.r A@BRA .CjCp f S@f` m;|NJV/.Hn n0H/<HnNYNbN^ _TONNV-x-n0.@2;N=|`=|`=| n0.HCHqBHyNN?<BgBgN n0.HC"qJf?.Bg0NN^ _TONNV-x-npxn|N?<BgN~?<BgNj?<BgBgBgBg ) )gR .rf2 n"n ) r0ҩ ) Rt0҂T#A `2... nY?.B-HNl n Ѩ N^.NuNV n h0(2(HҀ!A0(Ho 0(H!@ n h0(Hl 0(H!@N^.NuNV nC-I"n-Q=AR0.H/Hz:NrJf0.ڐ|mܰ|n@2;N````Z`j`8J.g |`|/NZ`t.gRX n .r0 AW n".t0 BW@/N `&|/N`||/.p./Np.f n"nP n N^ _ NNVRHnHnHnNv =|R|:V|:Y/.<0HnTNv/.<0HnWNf/.<0HnZNVHnRNN^NuNVYNC-_ .S//<:/.HnN .lV n n V//<Hn/.z Ѹ/././.NHnHnHnN .찮V".V$.V‚g ;|NJN^NuNV8APp roSnHnHnHnN /.< HnPND .AjHpHnS/<N/.Hn8NHn9HnWp.8/N=| Np.8dp.8BgBgNV=|Rn n0.HCB0.HCB nmN~p xnA+HBN^NuNuNOJNO"N`NONhNOFNdN4NO*NO2NONO:NPfNQN0NNN3rN N1PNP^NPbNTNN>&NDN 5J)gSh/Nx nB( n (-PѮ"n ifD$nVJg (PR f`` n (\R f` n"nh hf"n$n * r1SAmp|nhA0;N\< (T"* R`B n (V"n$n"* R`" n (XNp n XlV n n/</N W/</. /.N8 n Z//<N n n/<d/N Ю n n p o n V` n  nRN^ _ NNV m^ 5]t]J_Äg ;| NJp l W ` S/./<r8^@=@NHnNNtN^NuNV-xn -n.VJgU nHh<NZ_.VJgU nHh<N4_.VJgU nHh<N_N^ _TONNV-x-n n0(@2;N=|Bmh`=|`=|?.?< np( NNЈNϮNN"NNNNNNONNN&NNNONRNONONo0NONOnNNNNNONNNO.NONNN>N>NPfNPNNOvNlNϞNNzNτNPFNϚN X"n$n"* R` nJ(g"nRi/NX nB( n"n )o$n|`V n!h (-PѮ-n"np)ѨVJg (P!@ ` n (\!@ N^.NuNV08DQ@=@UN=_0.@2;NX=|=|`=|N(dHnHnNd/</. N"T/<N/./<N lVY/./<:-@N ./<-@N .ППЮмC-@/.NHyjNNN^ _ NNVN xA-H-|-n/.Hn n0H/<HnN$ n .r0/HzjN@k?p(?p(?BgBgNDN^NuNV-x-n/-/Hz,+O nHhB/<<N+o N2,_+_0-HH@J@l|r@f;|0qNJ`NJpnf n o ;|0qNJ`& npo ;|0qNJ n (D!@ n1n0.HCHqBHzN7 [=/N`|/N` n .r0=AR0.HAJgL0.HA pHhHnNgHnJg/. nN..g/N^`/NT`n/NJ`d n .r0=A0.H/HzNJg T`"Rpnf||/N`/N `& x h0(H-@T.gR/./.N -_+o N,_+_;|hNJ x-h npng ;| NJ n l ;|NJ x(rfH nC-Ip=nҰnn(=@0.H n2.H!0.R@h`8p=nְnn(:nVg ;| NJp=nnnH=@0.H2.H46´vg ;|#8NJ0.H2.H=0.R@hHnHnNr.W.WtB.WvCBrAC0;0N,Hd/.?./././.N_~`/.?././. HnNJ0.°ng ;| NJp=nnn$=@0.H2.H=0.R@hHnHnNHnN.W.WtB.WvCBrA=CpnWJnWg N[`N[HnN[0.@2;N,Hd?./.?./.N`RJ.g n-h .ѮJlpxf?-?-8NN^Nu| `NV x h"xp3@ x0PN^NuNVNf x"n2 x h"npQ] nrP^g ;|4NJN^.NuNVHnN xA-H=@0.H n2.H!0.R@h8VJg x/(Nc" N^NuNV-x n"n2C-I"n$n%Q$n%i-i$n&np7@ &n+rf&nLH ` n"nLH  N^.NuNV n  n p=h  4/.N_h`/.?./././.N_R`/.?./././.N_<`n/.?./././.N_&`R/.?./././.N_`6/.?./././.N^`/.?./././.N^8VJg /.N^N^ _TONNV0.H=@HnN^HnN`HnNX0.°n /.N[`/.?.Hn/./.N[`/.?.Hn/./.N[`/.?.Hn/./.N[t`n?./.?././.N[d`R/.?.Hn/./.N[N`6/.?.Hn/./.N[8`/.?.Hn/./.N[8VJg /.NZN^ _TONNVfHnNXHnN x(rf< n"h0.HC-IJ.g "n0` n"n2`8 n"h0.HC-IJ.g "n0` n"n2 x0PN^ _TONNVUN=_Ne x0(H-@ pnfNe| x=h ` x(Vr=A0.nnb=@ n 0.H20 H-A n 0.H20HҮS o ;|NJ n//.N n 0.R@h n (2;N-|`2-|`& n h0(H-@T.gR/-/Hz&+O/. n/Nb-_+o N,_+_;|hNJ n Tg ;| NJp=nnn$=@0.H2.H=0.R@hHnHnNHnN.W.WtB.WvCBrA=CpnWJnWg N]`N]HnN]0.@2;N,Hd?./.?././.N]`/.PHnNH .W".Wg ;|NJpnf=n=|pnf=|pn]rn]tn]‚g ;| NJ0.ʰng ;|#8NJpnf6pnf =n`pnf =n` ;|' NJ`=n=nHnHnN.2;N=|7H".R ^2.H^g ;|NJ0.H".R=A?.Ne?.Ne N^NuNVUN =_-|/-/Hz+O0. @mN=@UNd0.H=UNd0.H=0.H26H//.N|-_0.S@h x(2;N-|`2-| h m n (rfH n p=h nn0=@ n 0.H"n "i2.H3 0.R@h`D n p=h nn0=@ n 0.H"n "i2.H3 0.R@h` ;|PNJN^ _PONNV0.H=@HnNpHnNhHnN`0.°nV2. ?.Hn/./.N]`/.?.Hn/./.N]`/.?.Hn/./.N]d`n?./.?././.N]N`R/.?.Hn/./.N]8`6/.?.Hn/./.N]"`/.?.Hn/./.N]8VJg /.N\N^ _TONNV0.H=@HnNZHnN\n`=|n.2;N-|` -|.2;N=|p`=|p.W.WtB.WvCBrA=Cr0.H-@/./.N-_0.H-@0.pH//.Nd-_-nt-nxp2.H-AjjnN7 [=  n-@0.@2;N0D/././.NP:`:/././.NP,`&/././.NP`/././.NO0.HѮ .Ѯ .Rhx8VJg /.NNN^NuNVHnNHnNpnVrnVg ;| NJ=nHnHnN.2;N /.NL0.HѮ .Ѯ .Rhh8VJg /.NK(N^NuNVUN=_pnfNJ x=h `=|HnNHnNpng ;|7NJ0.n^rn^g ;| NJ0.H2.vg ;|6NJ.rf& n0(H-@.g {-@.gR-n n0(H-@ .T-@.gR .Sr-@nT-A n=P0.Ho ;|#:NJTn/./.0.H/N( .Ѯ .Ѯ".Rh`.W.WtBrA=B0.@2;N0D/././.NV ` EѮ".Rh` ;|NJ x!8VJg /.NR*N^NuNVHnNHnNpnVrnVg ;| NJ0.H-@0.Hg ;|#8NJ.W.WtBrA=BJnf=yPA-H`=yPA-H0.@2;N U=|`=|.2;N=|`=|.W.WtBrA=B0.H-@0.H//.Nߺ-_-n-np-nn-@0.@2;N 8P/./././.NN`F/./././.NN`././././. zRT`B-|0.H//.N Ю-@U/.NpJg ;|BNJ .D-xѮ .D-xѮ.rf*0.H?60.H?6/./.NK `&0.H?60.H?6/./.NJ-|0.R@2.=@nm*=A0.H26H//. ~:/././.NV`&/././.NV`/././.NU8VJg /.NUN^NuNVHnNpng ;| NJ0.ng ;|NJ.2;N-|` -|0.H//.Nz-_0.H//.Nf-_/./.NUL.2;N 98P/./././.NR<`F/./././.NR*`././././.NR`/./././.NRHnNN^NuNVHnN-|p=nʰnn*=@0.H26H//.N-_0.R@h.f=yP/.Hn/.NQ`=yP/.Hn/.NQpHn NNN`/./././.NNt0.HѮ0.HѮ .Rhf8VJg /.NMN^NuNVHnNHnN .f ;|NJpnVrnVg ;| NJ=n=nHnHnN2.2;N=|`=|.2;N-|` &N<-_2.SAh-np=nnn*=@0.H26H//.N-_0.R@h.2;N.V/.0.H26H//././.NJ.`X/.0.H26H//././.NJ `0B/././.0.H26H//././.NI x!8VJg C-@-n|p2.H-Affn-@0.r@2;N,Hd/.t/././.x/.|NX`/.t/././.x/.|NX`/.t/././.x/.|NXj`/.t/././.x/.|NXT`n/.t/././.x/.|NX>`R/.t/././.x/.|NX(`6/.t/././.x/.|NX 0.H//.NU*`0.H//.NU8VJg /.NT&N^NuNV x(rmHnNT4HnNHnN.f NT`NS-|p=nnn*=@0.H26H//.N|-_0.R@h.2;N/. x?(/.NTL` N*N^NuNVHnN Ю-@/././.NF".Rh/./.NF0.HRh-n/./.N-_/././</./.NFT/././././.NF-A n .Ѐ"n".ҁ41pl.@@".Rh".RhJ. UN` n0p=Pnn,=@NA( x0.HЀ= 0.R@h n0 @m=@0.HЀ?6N@0.S@hN^NuNV x-h<-n nRhJPf?:8N@` ?:*N@N^NuNV x-h<-nUNќ n1_p=hnn,=@N@` x0.HЀ= -|` -| n/(/.N-_ n"h l ;|PNJ n(2;N:!|!|/LB`F n!|!|/ZB`* n"h0)H!@(gR nT nJhf!|B1|z`UN=_ n h0. H20n0. H20SAn]Jn] o ;|+ NJ n0(S@ho ;|JJNJ n"h$n0*io ;| NJ n0(hR@1@`UN: n1_UN: n1_pho ;|.NJ nJhl ;|2NJ n"h$n0*i^JjWg ;|NJ n0(H-@0(HЮS-@"n$i0*Hl ;|  LjpH` .Sr-@²n-A .మg/./.N Ю-@/././.NG| .Sr-@nZ-A .䰮gB/./.N״ Ю-@/./.Nמ Ю-@/./././.NG".Rh".RhN .Sr-@²n@-A .䰮g(/./.N U/.NҢJg ;|BNJ .D-xѮ.2;N/././.NB`/././.NB/.0.H/Hn/.N` ;|/NJHnNӜN^NuNV/<NCP x-h<-n nBPBhBhN^NuNV x-h< nRh?:NApN^NuNV x-h<-n g ;|:NJ=nN^ _\ONNV nJ(g HhN nphg ;| NJ-x n!HhN! n"h0(ihg ;|+NJ n0(H20H!A(rW@J(g0(HШS o ;|NJ n(2;N NJ` nB.Vgv"n0) @mf=@ n0.hgJ"nU?./-INh"nY?./-IN"n 2H//-IN˾"n ѩ0.S@h n0.S@h n/(/(Nˊ n!_0( @mF=@ n0. CC-I"n (/(/)NB n 7 [=  Y`` n/(0(H20H//(/(/(N1`4B n/(/(/(0(H20H//(/(/(N1d8VJg n/(N/N^.NuNV x-h< n0R@=@ n=h/Nn/N/N x!N^ _TONNVUN=_.gb n-x"n1i RHz@ nHh0/<N n1|.HhHh.B'N2 n\hN^.Nu <-DEFNV nC-I"n-Q$n ) rR )gR .rf2 n"n ) r0ҩ ) Rt0҂T#A `2... nY?.B-HN+Z n Ѩ N^.NuNV ,-nHnN` n0(hS@"nQo"n0hR@=@` n=h-nHnN n0(hS@"nQo"n0hR@=@` n=h-nHnNȒ nHhN8TN^ _NNV0.n f Bn` n h0.H//(-HNX n Ш-hѮ0. )lRЀ=qU n"h .Ѐ?1?./Np_fR`U?. n"h .Ѐ?1/N\p_fS` .İnH n"h .Ѐ=q"h .Ѐ$h".ҁ5"h .Ѐ3RS .İoL .".Ȓo^ .İl"Rn0.H=0.H Vp=inn(=@ n0."n2.E0.R@hYN Ѹ` npnn/8 nHhN ` nHhN nC-I"np)V)V Ag 1|P`` n-h("np(Qo$n5|&`< n Po"n3|`" npP M nC-I"n-Q$n )o `p n!h"n (#Pѩ-i$np*ѨVJg (P!@ ` n (\!@ nVJg`f nN^.NuNV nC-I"n-Q$n ) r2=A R N^.NuNVU n/(N,/.Nl H//(-HN0 n Ш-hѮJ(f"/./.HnJg/("hN`/./.?</N n h(Vrf 0.D@=@Jnf n hp=hnn=@ n h0. C"1-nӮ0. C"1-nӮJ(f"/./.HnJg/( = .l"Rn0.H=0.H=`Z .l"Rn0.H=0.H= .İl"Rn0.H=0.H=JnfN^.NuNV nJ(g"h3h0(HC-I"nJQg> (Sr-@n*=A n"h0.HЀ$n 5D@HrҀ"n3AN^.NuNV nBh.HhHh.<N& nBhN^.NuNVHz@ nHh0/<NH n1n .HhHh.B'N n0. hN^ _\ON TNV nC-I"n$Q0. E<-J$n0*!iHѨHz^Hh0/<N n1| /.NN^.NuNV nC-Ipdho0(hf/N`:U/.Nh n1_pdhD@H2(HЁ2(Hf/NpN^.NuNV nC-IU/N0@U/.N 0@ n0(nf/N$| `B. N^.NuNV n hC-I"n-Q$n0. "hN`/./.?./N n h0. C1Vrf 0.D@=@Jng`,0.R@h:0.n o =|`=|`=nN^ _PONNV=|Bn n (S=@0.H26H-A0.H26H-ASn .r o .r l =|` 2q2.HRh n(2;N/(/(/(N1` n/(/(/(N18VJg n/(N0` n!hp=hnn2=@ n0.H20H//(N’ n!_0.R@h n(2;N.Z/(0(H20H//(/(/(N1 xH."hHiHh0"hp/N nHhHh.B'N2 nhN^ _\ON NV n0(hf/N?</.N=yP=n HnHz nHh.N.P nHhHh.B'N n\hN^ _\ONNV n0(hf/N,?</.N L 22D-iHӮ0. 22D-iHӮ"n$nR@J.g"np=@` np=@p=nnnX=@ n0."n2.10c |`4 n0."n2.10d B.`0.R@hnN^ _PONNV nC-Iph VrhV  h0. CC-I"n2;NBBB=yP-h-nHnN-nHnN nHhN9`8 n"n0)Po* n0)Po nBh` n1|` n"n0)Po n1|`=z" n=hrf(=h-nHnN 3=|0.HЮ-nn-@ n"h .Ѐ=q0.H".Ē-A .Ȱl`\U?. n"h .Ѐ?1/NBp_g`2 n"h .Ѐ$h2.HҮҁ50.H` n"h0.HЮЀ3 .RhDWnpno&`-n-n n"h .Ю 7 [= 爁..VJg J.g/N=|.Hz Hn0/<NtHnHn.<N nVJg.=|.Hz Hn0/<N:HnHn.<N`2U nHPN'n/N?</N n?( /N/Nd=|Rn0.@2;N2Rr&BBnBnHz Hn0/< &툁.` n0(-nHѮ"np=@"npN)Wrn].V f<.VJf /Nn`" n(2.Hf/NJ`/N@`Rn .VJg=n2.RAhxp nf8/NHHzHn0/<N=|.HnHn.B'Nb gR.o.Ѯ.rfT n .r0 Af /N`R``r.gRX`\RU/N툁./NZ`8U/N=_.gRp=n°nn =@U/NJg` 0.R@h`U/N=_ '?@ABCDEFGHIJKLMOPQRSTUVWXYZ[\]^_`abcefghijklmnoqrstuvwxyz{|}~@HOU@DODO@aBdNp +N`Bn=|Hz |Hn0/<N`Bn=|Hz rHn0/<Np`=|Hz fHn0/<NN`=|Hz ZHn0/<N,`=|BnHz JHn0/<N`n=|=|Hz 8Hn0/<N`F=|Hz ,Hn0/<N`$=| ?. /Nb.VJgpn f/N=|.HnHn.<N"pnf& n0. ?0D/N ?</N` ?./N8B .-nѮ n-h-|"nVJg/N@.VJfpnW.V g:-n n0(n 0.H/Hz:NxJgR`U/N=_0.H/Hz NNJgR`U/N`=_0.HAJgRB.=n0.HA pHhHnNHnJg/. nNJ.g/N.`/N<`/N2`/Nv`R`=n .VJg/N" .afqwafqwafqwafqw@jO@ajqa@jOUDjuuu  !"#$%&'()*+,-./0123456789:;<=> tBrAB0; N:`"n`U n?(?( /N n툁`dU n?(?(/Nv n툁`>U n?(?(/NPU n?(?( /N< n툁N^.NuNV nC-I"n$Q0. E<-J$n0*!iHѨ"hph >Hz &Hn0/<N`=|=| =| n0(2S@r=@²nn=A n0. C<-I"n-I$n*2.Hf0.@2;N FvJnW*tW*4.H´Wg/N`.V nV f. WV g/N/N`U/N=_ nl /N`pnD@H/HzN0Jf0.|mr|nj@2;N88^^,,^^^J^^JTJJ^^x^88J.gf n (.-nѮ0(?Sr-@n8=A n0.H2. .VJf n m n-h .Ѯ|JllN^Nuhf|0  ***** Unused entries =* Numeric Variables * String Variables * I/O Path Names * Line Labels * Line Numbers * Numeric Functions * wfLp=hnn2=@ n"h0.2.E21g`0.R@h|`B.N^ _\ONNV/Nj=|".Hz Hn0/<"N4HnHn.<N|B.-xB.-n n ("-nѮBn .V@爁..V.gU?( /N  VJg /N`Jn lBJnl `, n0. "n2)pD]툁.`0.n ^ n2. "n4)pDWg=n`6Jnl0 n0. "n2)pD^툁.`@ n0. "n2)pD]2. 4)pD^ pf/N/N`2.HRh/N`U/N~=_0.H/HzNBJg /N`pnfXU/ND=_/N.VJfU/N"=_/Nx.VJg /N.`U/N0@.rW.^g^.rgJ.  String Functions * SUB Subprograms * Common Block Names >>>> Subprogram <<<< >>>> Cross Reference <<<<  !"#$%&'()*+,-./0123456789:;<=> 7 [= 1 o¯NV-xN xA-H np=Pnn=@ n0.r0=ApZn\rAn_gp n2.`f n_ n\gP n0(H/HzNN nWg n0.`0. n2.C Hz6NJgBY/8 x/(N -_px^f ./.HnNHnNZ`UHzNJgfNvUN Jg4ACSb8VJgA< HPHzxNN`A< HPHzfN8J8AgA< HPHz:N`A< HPHz&N8VJg@9Q +?@AGHJKOPQRTUVWXZ_`abcdfghijklmnopqxy{|DS[eEM\N]FwIzY g/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZnopqrstuvwxyz{|}~]efl^cgdh ~^r^g ;|@NJ`( .S n(?l ;| 'NJ` nmN/. nHh/<NN/./ nHh/ .Ю/N*!/jBn nC!I80-@2;N "0> Bh`6 n1|`( n1|` n1|` n1|NN^Nu  _0.R@hNN^NuNVN -x nJ g/( "hNN^NuNV0.<2.DAtBUAUAHӸUBN8Jg ;|BNJ x1n x0PN^ _TONNV nCSbp.?NHn xHhp./NN^.NuNV nCSbB. x )vt}u~qC^BsrAZdLK|||  !"#$%&'()*+,-./0123456789:; 7`akx\j[_imbNV-x-nN0.@2;N $Fh nLHjBh`!/jBn n!| AUܣUEIТAEOUAEOUAEOUAEOUIAIAEOUAEOUAEOUEIINV-xN xA-H np=Pnn=@ n0.r0=Apzn\ran_gp nD@2.`: n_ n\g$ n_ n\g n0(S@mX|nP@2; p.hg `T`>pr.=Ann*=@0. x2.06g`0.R@h| YN ѸN^.NuNV nCSb0. @2;NUHnNF n` HnNN^ _ NNV-n np(/HnNACSb nJf=|Rn w<=>?@ABCAEFGHIJKLMDOPRSTUVWXYZ[\]^_`abcdefGhijklmnopJrsuvwxyz{|}~AJRXAFRFRAdCfQt |81|`d!/jBn n!|~81|`B!/jBn n!|Þ81|` !/jBn n!|81|NjN^ _TONNV-x-n x hpV x(tVg ;|>NJ x h0(H-@ l ;|2NJ x-h n0(H 7NDD&0. n2.C@`:0. n2.C@`0. n2.C@` nW nWg0.S@ n2.`` nW nWg n0.I`8 nf. nJhf n0.` n0.C0.R@hxN^Nu  n0.r0 Af`z n0.r0/HnNp.cN'@N'VN'N',N'N(8N(0N(XN(@N(N(N(N(N(N(N(N),N)N(N-N-N-N-N-N.N.BN.fN.N.N/N/|BnRn0.nS@2.A_ nmHnN`N8VJg ``6UNvJgHzN`J8AgHzN` HzN`"UHzBNJg08H/HnNB C!IB?-NN^NuNV=yP=nHnNN^ _TONNuNQNQRNNQNQNvN!4N!RN!~N!N!N!N"N"JNQNQVN"nN"N"N"N#N#,N#PN#N#pN#N$N#N%N&N&N (#(#(#(#rW(#tWg(#?NH6N^ _\ONNVN^ _\ONNV-n n"h"i-iNH/-/Hz:+O/.B'HnBgBHz nJ6g/(6"h2N+o N,_+_NGNJNG np(52AI@$6pBJ.f <7 [=# ~@/.0.H/N& =@0.HH@J@ln@0.H=@/. ?<HnN N^ _PONNV=n /. ?<HnNN^ _PONNV/.?<HnN/.N|/.BgHn/<NXN^.NuNV...p.n n /.?<HnNxN^ _ n1nN^ _PONNV/.Bg/././../. /.NlN^ _NNV/.?</././../. /.N8N^ _NNV n h P n1n N^ _ NNV-n nC-I-h"n-Q/-/Hz+OJnW$n*.툁*wg/+(k N/.Hn/<:BHz nJg/("hN/.?<Bg nJ.g/(."h*N+o N,_+_NANJNA n(VJg ;|NJ=n N^.NuNV-nN@/-/HzT+O/.<Hn np(5r@?/. /."h"i"iJ6g/)6$i2N+oN=/.?- nJ8g/(8"h4NN=hN^ _ NNV np(2Y@mP|nH@2;N <(2Bn `2=| `(=| `=| `=| ` ;|NJN^.NuK!11NVU/. Nd=_0.A"nLHJnf n "n( NNV/.N np(3d ;|NJ/.N-n n-h"n-Q$n&Q'i((( (/-/Hz+OU/.N=_U/.N0HЀA2.pg~ np(2=@U/.Nlp_nL=|Rn nn2png&U/.N<0HЀA4@|%n%n %n$Bn%i(J.gLH,` nC4!I,!N0 n(VJg;|7NJ/. /.Nd+o N,_+_/. ?-NJ.f0 n(VJg <N4`Jng ;nNJN^ _NNV/-/Hz+OU/. NJ_f!|` n!|/. BgBg nJ.g/(."h*N/. ?<Bg nJ.g/(."h*N/. ?<?. nJ.g/(."h*N/. ?<?. nJ.g/(."h*N/. B'HnBgBHz nJ6g/(6"h2NN^ _PONNV-n n-h"n$i-j/.?<$nJ&g/*&&j` N,_+_N@zNJN@tN^ _ NNV-n nC\-I-h"n-Q$hE-J$n&R-kN@"/-/HzZ+O nLH4"n)#r_(V g)#)#)#` n(#p(# n(VJgn/."np)5??.N nB3@N^ _PONNV/.HnN0.2.H//N-_ N^.Nu+   NV-n0. HAA-H n"n$nj3/.?/.p(/NTN^ _ NNV/.?<Hn/<Njp.=@ N^.NuNV/. BgHnN 20nf` n m nn2;|NJU/.NJ_g n"n#h(+o N4,_+_/.BgNN n"n#h(pBmf ;|NJNJN^.NuNV-n nC-I-h"n-QpnfL/-/Hz<+O/. ?.$i$jJ&g/*&&j"N/. N+o NK"N n(((J VJnVg"n$QN^ _ NNV-n n-h"nE-J$n&R-k-QNC /-/Hz+O n!|/."np)5??.N0 n(p("n/.B'B'$nJg/*&j N/./. /.:@BHz nJ/.B'B'"nJg/)$i N/././.:BHy nJg/("hN`l/. np(5??.N nB/.<B'"nJg/)$i N/././.:BHy nJg/("hN+o N,_+_N>NJN>N^ _NNV-n n-h"n-Q$h n/. NZ/. ?</./<N( n A-H n(VJg n(p(` n(p(N^ _PONNV/.?<HnN/.N/.?<Hn/<N/.HnN0.r.Ё2.H//Nvp.П-@ N^.NuNV/. HnN/.0.H/N:  h,_+_ n"n$n%i(/. ?<NN^ _\ONNV-n nC-I"h-Q"n/. N/. HnN.VJg nU/. Np_f(.V@ n爁(` n/. ?<N/. HnN-n n0.Hሁg/("hN/.?<Bg nJ.g/(."h*N+o N,_+_NBJNJNBD n(VJg ;|'aNJN^ _NNV-n n-h"nE-J$n&R-k-QNA/-/Hz+O/.?< np(5?N n!|"n)p)$n/.B'B'&nJ$j-jN>v/-/Hz+O/.?< nJ&g/(&"h"N nBnJ ^.V (V gJ o=|'a n(VJg$/.?<Bg"nJ.g/).$i*N`/.BgBg nJ.g/(."h*N/.?. nJ8g/(8"h4N+o N(,_+_7 [=gU/. N$J_fN/. HnN.VJg ;|7NJ.V@.Wg ;|%NJ/. /.Nt/. BHyN$+o N,_+_/. ?-NN^ _PONNV n h-P/-/HzV+OJng ;nNJ nC-IU/.N3Jf/. N:U/.N .-@!n .Ѩ .$J$n "n|`8;|NJ`,;|NJ` .rf ;|NJ.rf ;|7NJ.VJg ;|'aNJ n(V@.V g ;|NJ.VJf ;|%NJ;|FNJ`.VJg ;|r1?<N n/( NHU n/( NJ_g ;|NJBn n/( 0./N n/( N n/( 0(X@n/N n/( NU n/( N2J_f |`/.NY n/( N n0(H/N+ =@B.p=nnn(=@0.HЀ26nf| 1.NuNV n -h/-/HzP+O n"P#h(!|"P/-/Hz +O/. HnN+o N4,_+_/NU/. NJp_f;|7NJ` ;|'aNJ.rf ;|NJ.rW.V g ;|7NJ.VJg ;|NJ/. HnN0.P3Jg+o N,_+_/. ?-NN^ _\ONNV-n n"h-Q/-/Hz+O(VJg*"n)VJg =|`=| `& n(VJg =|`=|/.?.HnN/.BHyN+o N,_+_/.?-NTN^.NuNV-n {'aNJ.VJgJY/. NP-_ n ($SlмШl"n|` ;|NJ` ;|FNJ` ;|FNJN^ _PONNV-n n-h"n-Q/-/Hz+OJng ;nNJU/. NJ_f, n(VJf |` ;|FNJ` /. /N(J.g F0.R@hJ.f&pnn ;|NJRn0.HЀ=0.R@=@ n0(X@n_@J.g nm|p=nnnl=@ n/( 0.HЀ26/ND n/( N n/( N n/( NU n/( NJ_g ;|NJ0.R@h n/( ?(BgB'N n/(  =@U/. N0m2|n*@2;N /N`/N<` ;|FNJ n"P!i(+o N(,_+_ n"P!i(pBmf ;|NJNJN^ _\ONNV/.?<Hn/<Np.=@ N^.NuNV nh3.r ҀA|/.?<Hn/< n"h-Q/-/Hzz+OJng ;nNJ n $^"n)V g-|` n-h$/. Bg n/( /.BHyN+o N,_+_/. ?-NN^ _\ONNV n h-P/-/Hz@+O n'aVJnVg ;nNJ/. BHyxN+o : n(VJf"nB$` nR $ nJ$o/. BgNX`& n"n#h(/. BgJ0g/(0$h,N+o N,_+_/. ?-NN^ _\ONNV nLHN^.NuNV nLHN^.NuNV/.HnN=n=n=n N`U n/( NJ_g ;|NJ n/( BN n/( N* n/( 0(/N n/( NU n/( N\J_g ;|NJN^.NuNV n/( ?<Bg<N$ n/( NU n/( NJ_g ;|NJBnBnRnBn n/( 0./N n/( Np n/( 0(N/.NXU/.N=_ N^.NuNVn /. ?<Hn/<NN^ _\ONNVp n @n /. ?<Hn/<NߖN^ _PONNV/. p n?N/. NU/. N=_N^ _\ONNV/. ?. p@n?N/. NݐU/. N=_N^ _PONNV/. ?< N(/. nN,_+_/. ?-N.N^ _\ONNV n h-P nB(/. HnN._mn2;N222hY/. N-_ n .fBp(R@@p (b(.rf;|NJ` ;|NJ`B n|t n LHN^ _PONNV m'agNJN^.NuNV n/( HhN n(Qmjn`2;N00T0 Tb4`* n(VJf ;|NJ` ;|NJN^.NucۈNVBnBnRn n/( ?<0.C in/NN n/( NJU n/( NJ_f |`z/.NY n/( N" n0(H/N)FR =@ n/( N n/( NU n/( N:J_g ;|NJ n0.h\@J.gJnf Rn`Bnpn_rn_tn_gpno ;|NJN^.N`/. ?</./<N./. NBU/. Nr=_N^ _PONNV/. ?.?<N/. NU/. N>=_N^ _\ONNV/. ?<5N/. N/. ?</./<%N/. NU/. N=_N^ _PONNV|/|;0. .0.툁..p./. ?<7 [=Z JW2.8CJWg "n2Tnpnl=| nJPg"n08E%(p鈁( n"n#h(+o N4,_+_/.BgN n"n#h(pBmf ;|NJNJN^.NuNVBnpnfd/. ?. n h h hJ&g/(&"h"N # n"n#h(pBmf ;|NJNJN^ _PONNV/.Bg/././../. /.NBN^ _NNV/.?</././../. /.NN^ _NNV-n nC-I-h"n-Q/-/Hz+O$n*VJf*/. ?./././../. /.N`l(0.U@mR|=nJ@2;N|>>> >@|>>|>|>>>>>>>>>*** 4h=|'a`=|`.VJg`=|%`=|`=|7`=|`z=|`p=|`f nOPNV nh3B.U/..?NRJ_g/.<HnN^J.fN^.NuNV nA-H-x n(rf/.N n(rg ;|7NJ n"n08E-r/.?<0Hr EHr/./<B'BHyN  n(p t/-/Hz,+OU/. NJ_g/. N +o N,_+_ n A-H-x n(VJgH/-/Hz+O/. N+o N,_+_=m n"n08EB/. ?<NJng ;nNJN^ _\ONNV-n n-h"n-QE-J$n/. N x"n0Hr AA-HJ.g ;|n NJ-nBnRn .Ѯ nm .-@ <-@ .o-nJnfJoL/. .lмr /Nl n .Hp/./.N .Ѯ .Ѯ . oLH/. ?<Hn/< NZ/. N۪U/. N=_N^ _PONNV|9n n /. ?<Hn/<N/.8N~J_fJng ;nNJN^ _ NNVB.U/.BgBgNzJ_g/.B'HnNLJ.fB.U/.HzNJ_g/.B'HnN J.fB.U/.N2J_g/.B'HnNJ.fB.U/.HnNJ_g/.B'HnNJ.f nA-H .(p鈁(N^ _PONNV/.Nt/.N-n nC-I-h"n-Q/-/Hz6+O$Q%i((( (U/.N0l|@r@g ;|NJU/.NJ_g n(VJg-x"n)0VJg ;|n NJ nBP=| n0.R@8C - .R nሁp.R@@0.R@1@ .r.Ё2.HЁf* .Rሁ .rlм@ .r f n`, .r f n` ;|NJ/. ?<N n"n#h(+o N4,_+_/. BgNδ  N^U/. N=_N^ _PONNV nh3.r ҀA.r@ҀA|4|Bn-n|4|-n n /.?<Hn/<NvN^ _NNV nBBnU/.HnN0J_g ;|'aNJBnB.B.=|@Sn0.2AI@$6pJgbBnBnRn0. 2.HҼ $&6(rЃ=@ nmnp.f.B.U/.?<NJ_g/.B'HnN(J.fB.U/.HzNJ_g/.B'HnNJ.f0.Ґ|H/HzBNJg2B.U/.?-nӮ-n"n )6W")2 WJ)1W)0V g` n0. =pB`tB.N^ _NNV|-x-x .gD<NU/././. /.NJg` n-h   nRh0"h&0(0io ;| NJ n (*Ѩ"N^ _PONNV< nHPHn^/<Nb mbA-HZ-nZHpn f nHJf |M`-mbD nH"nD#h\HiTN[|M mbAT-HD nD-P@"mb0)XH-@RY"nH0) H/0(H/N[f-_Np-nN<|H ( ШP mbJg/("hN-nD nDp(HЮrF-@ .lмѨ> .@HJ8g$J.Yg nZphgNE`NE<N`J.3g/.HnL/<J׮g/-׮ mתNA-H.-|JoARp r-oSn-nD nDp(H=@R-h>T/.Hn/<`(HzzHnx #@B|I-mbD nDCT-I@=| PHnHnR0.PH/NzJ.Yg"?<HnP nZJg/("hN`?<HnP nDJg/("hNA`Y/. np(H2<@H/N:-_ n/(>HxN: n .Hp np(HCHq/.N: < nr(Hl,/(>HxJ׎g/-׎"m׊N n|HR>` np(HЮ@H .摮 .Ѯ`p+o N,_+_| .TN n/("nJg/)$iN/-/Hz4+OJ֤g/-֤ m֠NJ֜g/-֜ m֘N+o Nb,_+_ n/(Bg"nJg/)$iN n/(B'<p-C"q"Q"iJg/)$iNNJN^NuNVN5-x n-h"n)0VJgN> nC!IB"׮g/-׮ mתN-n.D nDJh l*HzHnR/<N~HzHno/<Nl`~-n@ nD0( "n@r)HҀ-A .lмѩ> .@H/.HnH/< J׮g/-׮"mתN-n@ nD0.RHШ"2.PHЁ-@ .lмЮT"n@#@> .@H/.Hn4/<Ja6D*"nB)BBi |B) BBiBiUNA< n1_0(@2;N$pxfNA nHh"NA`z-x n"hpg ;|2NJ n"n#h"#h&$i&E-J$n0H#@*T**gR*N@`/8 nHh"N@N@ nW n@J(S(HBHҀ-A|-nB./-/Hz4+OJo<N\ n .A-H .<@ \ nJ(HWg8+|-nHh>HnHnYN _J g/( "hN`ZY/. np(H2<@H/NHxN

.@H`+o N,_+_| .+@ְJ.gNJJ.g ;|#NJN^ _ NNV-|B.-n np(HЮS-@ .lмШ>-@ .-@p(G]".겨:W". X,N8B.+o N,_+_|J-gl-x n"h-iP/(?<"nJg/)$iN n/(B'<p-C"q"Q"iJg/)$iNJ.gNJN^NuNV+|q׊B׎+|qׂB׆-x-n nC-I"n$nLDHN^.NuNV-x nHnP nZJg/("hN`?<HnP mbJg/("hNJo>-nD0.RHЮ-@ .lмЮT nD!@> .@HJ8g$J.Yg nZphgNB`NB<N` ARp r-oSnHzHnR/<NJ.Yg"?<HnP nZJg/("hN`?<I|/-/Hz8+OJ(g N?|`JVg/-V mRNB.+o N,_+_0-H-@| nJgB-x"n2PJh f Bi` n0( h"n3@N>B- V.g ;nNJ x!`N^ _TONNV\/-Hn^NxY/<P0.^H/ 겨:^g* (:>r(GRAt(HBHҀ-A|-nB./-/Hz+OJo<N: n .A-H .<@ \ nJ(HWg+| .".-AJ-g /-׎/-׊B'/(>/./.N$`* nHh>HnHnYNb _Jg/("h-h"n+i2-iP-n$nL4HגJ-g/.Nj` nL@ =@\ n]Hn`"nHi0.\H/N݆N^.NuNV-x n"nC N^.NuNV-x nA-H n-hN^NuNV-|B.-n np(HЮS-@ .lмШ>-@ .-@p(I_".겨BW".겨B^g( (B>r(It7 [=2|1Hn8N" n8C@!I-nb@-mD"n"LdHPL\HH/.b<<p-E$r$R$jJg/*&jN/.bB'<p-A p P hJg/("hN nb0/.bHn. n"J(g/(("h$Np0.2/ ..r.1//N3N3'bBg"nJg/)$iN n8!n<pCmfR-mb& n&phjf ;|NJ n& hjf -x"n"i0pQf ;|NJN/`NJ n8!n<N^.NuNV-n-n n0( "nr)HҀ-A .lмѩ> .@H/.Hn/< J׮g/-׮"mתN-n J .ZRhN^.NuNV n-h|p-hn:-@-nU nHP/.N,Jg ``  .RhB.J.fdU/< N,vJg ;|NJ-x n!nR-n"n$nL?H?jB)B)#|-n0.@2;N" n| -h"n0. 21DHҩ"/(ӗBg/ n-h"n0. 21DHҩ"/(ӗBg/UN3(Jg ;|#\NJ+m n"LH"n*E"B`" n&phjf8-h"n"$nN)-㈁*M n0. HШ"2.HЁ-@ .lмЮ"n#@> .@H/././<J׮g/-׮"mתN/. nHh np/J׮g/-׮ mתNN^ _NNV-x nJ o n ( Ѯ`-nUN/0H-@N//-/Hz+O-n n ( D!@ gf n `& n|` n!n1n!n N^ _NNV nC-I"n-Q$n ) rR )gR .rf2 n"n ) r0ҩ ) Rt0҂T#A `2... nY?.B-HN+. n Ѩ N^.NuNV nC-I"n-Q(HnJg/. nN`/N`/N`/N`RJ.gN^.Nu|0 NV n h-h"nJ o ) D#@ N n h"n0) 21DHҩ"/(ӗ?</p.1W n"rh.Wg"n&#|l` n""n&0(2H#@l n"L4( ( -nѮU/.N/./< Nl .r Ё2H-@ o ;|NJ/.BB?.BgN.+o N",_+_-n n ( D!@ N.`NJYN.^!N.HN^NuUNDEFINED FUNCTIONS AND SUBS:   $n )o |`Z n!h"n (#Pѩ-i$np*ѨVJg (P!@ ` n (\!@ N^.NuNV nC-I"n-Q$n ) r2=A R N^.NuNV nC-Ipdho 1h`&U/.N npdhD@H2HЁ1@N^.Nu>nHYN&-_ n!n/(/(/. J׮g/-׮"mתN/N*/.N n-h"np) @Wr) AWg4|J.g& n"hp4D-hѮ"nJb B.`U/<NJ n"h/J&g/-&"m"NYN-_< n&phjf -hb` Af-Hb-nb n!m HגLp(H=@-h>p(H=@/././< .>lмЮ-@ .>=@J.g-n=n-n` |=n-nHn/< .@Hp(H=@-h>/.Hn/<nHYN-_(/./.( .$lD/J׮g/-׮ mתN-n(-n nJ o ( D!@ N-n np( @Wr( AWg.|J.g np4D-nѮ nJb B.`U/< .@HN^ _PONNV-xB-x-n nJh m.0( 20DHҨ"/.ӗ?<//.Hn/<J׮g/-׮ mתNJn^@JoJ.f .lD//N`J.f`xB.-n-n nJ\(A(g,/(?(/(/N0U/NJg`(| .氮g `J.g`U/NJf/N\;| NJpx  ;|NJ n ( DѮ/././<Jf ;| NJ nJ o ( D!@ N`pxfUN&?-8N$J8 f/?.NN^ _\ONNV nHPHn/<NN/-/Hz8+OYN _//. /<HnB'BHzN+o N,_+_NrNJNlN^ _PONNVYN _//. /</.B'BHzNfN^ _PONNV-x nHhN6N^NuNV-x nHhNN^NuNV-x nHnHnN#\J.f ;|6NJ m0.HA-H n hP g ;|3NJAB-H-n n"n#h >|H ( Ш#@B|I/.N"/.N#/.Hn"/<J׮g/-׮ mתN-n n-h>p(H=@/.Hn/<|H ( Ш#@B|I/.N/.NP/.Hn /<J׮g/-׮ mתN-n np(H=@-h>/.7 [=8oA-H-| . мSlм-@B-n-n xJ@fF mb hjf8HnN nphf" n-h nJgL2HגJoY/./.N-_J.g/./.Jזg/-ז mגN`0 .-@HnHnHnYNh _J g/( "hN .3N6`pN`hJ-g ;|j&NJ x/(<<<Nx x/(B'B'N> x-h n|H!h6>J(FfR>`NN^NuNV mb hjf@ mbA-H n0(|@2;N"**2N`NR`Np`Nn`-nB. nJ(g2/-`D mbphjf6 mb-h n"nC!IP-hP"nN)-㈁(N nJg/("hN-mb nphjf,-h"np)FW)0V g ;|:NJN^NuNV^J-g ;|VNJ/-/Hz+O|Av+Hb mbA-H-mbj-nf nj1|j"nf3nBB) 7| A'H B nI'LI%LB %|2$B(5|.|,5|05|2B*-I6%L4B8I%LfJ-g ;| NJ`J&g/-& m"NUN\Jg ;|6NJ+mA+HB nCN B` mb hjfZJ&g/-& m"N mbA-H-n nJg "mbBi` nJ(gUN Jg ;|FNJ @G#KDBHG#K\B`Gh#KdBhGl-K&nIL&BIҶ'LB (nI'L#|B#|B#|B#|DBN nC-I"nEt"E-J$nLfH5| A%H BBi.B),|- nEt-J$nG$G-K&nL$H8G#K` nBhZ`D n-hX.@"na\+HּBAt+HִBָA+HBA͜+H֘B֜A6+HJBNA+H BA+HB-x-n nC| BC!IC-I"nE"E-J$nLH5| G%K BG%KG#KB #| $B(3|.|,3|0Bi2B)-GH#K4B8G#Kd`NVNs-x n(rf0(H-@` nHhHnNsJn ;|msNJ  \-I"n#iR$N^.NuNV-n nC\-I"n)#VJg$hX *hЩ$hX%@h`" n"n$iX *dШ$iX%@dN^ _PONNV n(0VJgj-n n"h-ipnf(VJgF"hX )h<(0V tWg 1|'#.-hXWJ)^Wg/.<<?<N` nBh\N^.NuNVJg n hX1|\N^.NuNVJg n hX1|ZN^.NuNVJg n-hX/.HnN# nA\-H nJWr ( Wg4"nBi\-n"nJiZf/)BJNg/)N$iJN`F n1|\-nqG#KDBHGV#K\B`G#KdBhGl-K&nIN&BIʸ'LB (nI'L#|B#| B#| (B#| ZBN nC-I"nE,"E#JB E#J$B(3|.B),3|03|2|-E#JBE"#JBED#J4B8E#Jf B.` n"hX$n$>`l n(#rf."n09PHf B.` n09PH `* n09P Hf B.` n09P H N^ _PONNVJg.-n nC\-Ip(1f"n)#V$h$jV )!V A)!V B )arA@a` n-hX"np)brA@b np(1f"n)?N2/.B' n(V"nJg/)$iNSxn n"hXSQ0(VJg:-hX"nBB#|JBN3|Z|^p)ar@A@a`: n-hX"nBF#|RBV3|\|_pwZ%KBG%K G-K&n6I'LBI'L N nC-I"n2El#JBE#J E-J$n4 GH%KB&n%k Er'JEb'JBEV'J2B6Ef'JBEZ'JbBfEN'JzB~EB'J$B(N^NuREMOTE NVp xn"NdNjAvHC+IvBzN^NuCS80 HP9885 NuNONONONDNOnNONNNPNONNNPNRNϮNONOfNONON@NONONONmpNONONONO6NO*N1NPFNP^NϠNPbN0NO6N7 [=-n. . n(0V gn"hXJi\V. g /.N@ n"hXJiZV. g /.N.8g ?<CNg. n/(XHnHnHnHnN``BR Am``N^ _ NNVBBBB-n np(1fp np(^W. r(_W. g2.N^NuNV x-h n(0VJf ;|NJ np(1f ;|f:NJ/.<B'N0/-/HzP+O nA\-H/. n(#V@(#V<N+o N,_+_pCmf N`NJ/.<B'NN^NuNV x-h -n n !E2!JRBV` nCb!IRBV n1|\|_|@bBd n0RP-n n"nLfH\#n XE\-J$n*"VJg%j n("VJg!P n("VJg!h n("V("V "n$i$jV 0㉃)0N[ nJ(^W n(V (V g ?<N[f n(0Vrft nCf-I"n)#V@$n"*><$n"*:<)#V "<&)<$n(*6<g ?<+ NZ! n"hRQ/-/Hz(+O"nB)/./.N+o U n"h-i(0VJg2/././(x.BHy"nJg/)$iN`2/./. n/(x:>BHy"nJg/)$iNN^.NuNVJ g-n nJh.g=h.Bh.pBnW.g=|xp?nW.g=|JspBnW. g>U n p(4AM8g ?<CNf/.HnHnHnHnNJ``BR Am``j. . n(0V g6.8g ?<CNf" n/(XHnHnHnHnN``BR Am`N^ _ NNV-n nJV. g(/(<B'<N n"hJi.g`&(0VJf ;|#NJ np(1f ;|j"NJ/.<B'NN n(0VJgC\-IBBBB nJ$W"n)0V g>J8gN n/(XHnHnHnHnNBR Bm` nS$/.<B'NN^NuNV x-h@-x-n-n d0 n|/.NRxn-n n"h-i/-/Hz@+O/."n)V<$nJg/*&j N+o N ,_+_NJ n(VJg"n)0VJg\/.HnHnN,z.鈁././. n/(x.BHy"nJg/)$iN`>/. pHh B'NivJg ;|NJ;|xNJp?nW. g(U n HhB'Ni@Jg ;|NJ;|JsNJ;nNJN^ _PONNV<N-n n-hFp(_f"nJ)1g"n"iC-Iph\W"nJVgdU/./. NJg nB nR n"n o2"n nJV.g/(B'<<NN^ _PONNV-n /-/HzF+ONeFN n(0VJgp(1gf/. .<?<N n(VJg-hX"np)ar A@a` n-hX"np)br A@b` nJBgF"hB)0VJg2/(B.<?< r/-/Hz+O nCf-I/. "n)#V@)#V<Nl/. n(#V@(#V<N< n hJf ;| NJ/.< n(V"n"i"iJg/)$iN+o N ,_+_NJ/-/Hz +O/.B'B'N+o  lHnN /./. n/(x:BHy"nJg/)$iN`>/.HnN/./. n/(x:FBHy"nJg/)$iNN^ _PONNV x-h@-x-n-n n"h)0V"h)0V f ?<9N\ n(V@(V g ?<N\ n,3|B."np)brA@b/)F<<?<N n-hBp(^f"nJ)1g"n"iC-IphZW"nJVgdU/./.NJg nB nR n"n o2"n3|B."np)arA@a/)B<<?<NBN^ _NNVBBBBJgN n-hX"np)ar A@a nJFgF"hF)0VJg2/(F.<?<N: n-hX"np)br A@bNd"Nt+o N,_+_NdNXN^ _\ONNV x-h n(0VJf ;| NJ np(1f ;|^jNJ/.<B'N/.<N0 N<,_+_/.B' n(V"n"i"iJg/)$iNNJ-n n(VJgt"n#nB$nJ*1W$n*NV (VgE#JJBN` nC!IJBN n1|Z|^|@aBh`t n!nF"nJ)1W"n)NV "n)Vg"hp)1W툁((VJg"hp)1f ?<DN\Z n(V(V g ?<FN\4 n-h-h"np)^f ? .m . n .:W@-n n (:6m (:6-@` n-h:-n n .6m (6 .^.g: . n!@. <?<N``H nB| `L`, nB| `0`/.N n("VJg"SJfB| ``/.NH n("VJgS nB| ``/.N n("VJgS nB| `x Wg=|"n`=| nS n("VJg (oJ!h=|pW("V ("V ("V g "n`\ n (f("VJg<"npnf =|`pnf =|`=|`jpnf =|` Bh.Rx"x#n@"xEd#J$B(C!N^NuNV x-h@ nAf-H n""/-/Hz"+OYN4 n!_+o N,_+_?-NXN^NuNV x-h@ nAf-H n""N^NuNV x-h@ nAf-H/-/Hz+OYN-_@JWg "n!i6=| `. n (6 n!@Jf =| `=| -n n"n . 2ѐ"nJf&)#VJg =|`=|` n("VJg (\("V g!h=| n("VJgR (o!h=|` [`X`T`P n1|Js.-hX"np)arA@a"nB| `2`/.N.`T`/.HnN nJxf`/./. n/(x.BHz "h"iJg/)$iN n-hX"nJi\f/)FJVg/)V$iRNN^ _ NNV n-hX nB nA\-H nBVpnf =|`B npW("V ("V g=|"n`=|` n (Sfpnf=|"n`hpnf=| n`LpnfB n("VJg =| `$ npW("V g=| nn N^ _ `+o N,_+_?-NW~ n("VJg"!n` n" n"N^NuNV x-h@ nAf-HBn-x-x-nHnHnNWJnf`pn] n(g ? .m . n .:W@-n n (:6m (:6-@` n-h:-n n .6m (6 .^.g: . n!@.@JWg "n!i6=| `. n (6NNVzט-n nC\-I"n )Ю #@ )Ю #@$hX *hЩ $hX%@hJnghp?nf"1|?.-hX$np*aP@@a`$ n1n.-hX"np)arA@a/.<<BgNX`&` np( S@@2;NTJN*,_+_ nJ(g/.B'B'BgN?-NZp-n nC\-IJ(1W(NV "n)"Vgn/.)#V@)#VB'NX/-/Hz,+O/.B'px^WN+o N,_+_?-NY nA\-H n("VJgn/.(#V@ n(0Vf nP`, nJ(g?< .NVh` nP nh n("VJg!1n` n!1n N^NuNV x-h@ nAf-H n("VJg "` n" n"N^NuNV x-h@ nN^NuNV x-h@7 [=Z/)FJVg/)V$iRNN^ _ NNV n -hX n A\-H n (6-@-n n (>m .> n-h: .m . n .>W@-n n .6m (6-n n (>6m (>6-@` n-h>.@".WVJg n("VJgJ"nJ)1W("V g"-iX$np*bP@@b| ` n| `( n("VJgh"n-iX$np*bP@@bp( g@p( S@m*|n"@2;N` n| ` n-hX"np)bP@@bJ W "nB| `2`/.N^`T`/.HnN nJxf`/./. n/(x.BHzd"h"iJg/)$iN n-hX"nJiZf/)BJNg/)N$iJNN^ _ NNV x-h<-n n"x"iC& !|NBN^NuNV1%/-/Hz"+O/8yV"hRN` ;|NJN^ _PONNV x-h<-n n-h/-/Hz+O"xVJf ;| TNJ n0(mL| nD@2;N(\n8Vt&!|` n(`VJg"n#|` n!|` n"n#h6` n (6〰>nd@ .^.g: . n!@.@JWg "n!i6=| `. n (6 n!@Jf =| `=| -n n"n . 2ѐ"nJf&)#VJg =|`=|` n("VJg (\("V g!h=| n@.V .Vgl"np) ]@mX| nP@2;ND:pV)"V Ag=|?` =|?``=|?JngD n1n.p?ng-hX"np)brA@b/.<<BgNH` np( S@@2;N >4p> BHzN?+o N,_+_?-N?tN^NuNV1&/-/Hz.+O/8BHz`N?`?<BgBgN?Z+o N,_+_?-N? N^NuNV x-h<-n n"x"iC !|NBN^NuNV1'/-/Hz"+O/8BHzN>+o N,_+_?-N>N^Nu (6】> n (>6m (>R6"n#@` n (>R"n#@`|Y n/(ND n!_`b n (6〰:n (6】: n (:6m (:R6"n#@` n (:R"n#@` U n/(FN n0H!@`U n/(BNr n0H!@` nB"nW("V g"n-iX$np*aT@@a nJW("V g"n-iX$np*aX@@a/.<<?<Nܦ`t` nB| `&` nB| ` ``/.N n("VJg"SJfB| ``/.N6("VJgR (o!h=|`6 n (f&pnf =|` n!h=| n (<"n )0V tWg*SJWr( Wg =|`=| nn N^ _PONNVz-n nC\-I"n )Ю #@ )Ю #@Q>.JW("V g"n-iX$np*bT@@b nJW("V g"n-iX$np*bX@@b/.<<?<NԖ`` nB| `` nB| ``h nB| `l`L/.N n("VJg"S NV1(/-/Hz.+O/8BHz`N>?<BgBgN>+o N,_+_?-N>LN^NuNVBnJg&-n n(0VJg p(4=@=n N^.NuNV-n n-h:-h> .W@ .6m (6 n .6m (6 .^.g n("VJgS nB| ``V/.Nؠ n("VJgS nB| `N```/.N`h`/.HnHnNH.鈁. nJxf`/./. n/(x.BHz4"h"iJg/)$iN n-hX"nJi\f$hX *dЩ $hX%@d.VJg@.VJg"-hX$np*bR@@b| ` n| `.VJg n-hX"np)bR@@b"np) S@mP|nH@2;N8<<<<888pV)"V Ag| `` n| . 3JfB| `,` /.Nд n("VJgS nB| ``/.Nx n("VJgS nB| ``/.N< n("VJgS nB| `x`X`T`P n1|RC.-hX"np)brA@b   .-@` n (6Ю-@-n N^.NuNV-n n (6-@J(_WJ(^WgB:!n>` nJhZWJ(_Wg> (:Ю!@> (>m .> n/(BJNg/(N"hJN`X nJh\WJ(^Wg: (>!@:J:l .Ѩ: n/(FJVg/(7 [=6 H npPV.Ag ?<NN/z n (J"n#@Y/(>p(H?/N n!_$"n ):6R!@ p)Ff/($Hh,Hh/N<`Y n/(Bp(I?/Nr n!_(JfHY"n/):p)G?/NJR n!_ ($R!@,1| ((R!@01|`V n ( U"nV@J.fLY?0)HШ/8їN+-_ n (Ю갮^".\g||RnJ.gjN^ _ NNV-x-n n|1B:B>BBBFC2!IJBNC&!IRBV|_|^|b|aBdBh"nC!IC !IB N^.Nu-iFJg$n*VJg !|` nB"n-iBJg$n*VJg !|`Z n"np(b#@`D n"np(a#@`. n"n#hd` n"n#hh` ;|/{NJ nRh/("xHiN9 x0PNĴ+o N,_"#@>` nJ(_g ;|LNJ n"n )6Ш"V"(^"("V$(]g ;|.NJ n (WJ"Vg"n#h> (Щ6#@:` n"n#h: ):Ш"#@>` np(_f ;|NNJ n-hFJg@"nJf,$nJh\NX`NJ/. <B'Nt`N{|/. <<B'N~/-/Hz"+O/. <B'N8+o NH,_+_ mg8Hn0-HH@J@l|?0-H?BgBgN28HnN26` /. B'Nzpnm nJPg ;|RNJ|R`B.pxgf nJ(1f/. .N r)GЁR//(Ns n!_ /($Hh,Hh/N n/((Hh0Hh/Nv`N^ _TONNV-n np(!gP-h "nB&B*BB"0E#JBE#JB 0Bi.  -x/. nJg/("hNN^.NuNVN^.NuNV|-x-x+_?-N9N^NuNV x-h<-n n-h/-/Hzx+O"n )6-@YNž n!_0(W@m0|n(@2;NHJW"n"(6^g ;|.NJ np(_f ;|NNJ nJ(_g ;|LNJ n(VJg0 (S"n#@>JiZf/)BJ,f/.JVg/(V$hRN` ;|.NJ`t np(^f ;|NNJ n-hBJg@"nJf,$nJhZf/.JNg/(N$hJN` ;|.NJ` ;|3cNJ nRh+o N,_+_?-N4N^NuNV x-h< n xJ0g/(0"h,NN4N^NuNV-x  1! @1,1 n"hJg/)$QN nHhNN nHhNB nHh&N6pn\rn]g nBP` n0/. NXJ.gNzF+o N,_+_J.gNz&NJN^ _\ONNV x-h<-n/. n/(NuFR n /. n/(Nu"R n 0N^  nJVY/./. -@N .J^g n-h`Y/./. NJlv nJVY/./.-@N .J^g n-h`Y/./.NJo B.` .W.V gB.`Y/./8Nh x ^Y/./8-@NJ .J]g B.`vhNg/)N$iJN`* n (S!@0(Rhh`^ n"n )6o ;|.NJ np(^Wr(_Wg ;|NNJ n(VJg0(rf\"nJ)^g ;|LNJ n"n#h> )>m )>#@:` n .Ш>"n萩!@:` n1 n-h .Ѯ`J nJ(^f"n )6#@2;|V+NJ`" nJhZf/(BJNg/(N"hJNJ8g ;|CNJ n/(HnHnHnHnNBR 1m`N^NuNVBBBB _ n|^Jh\f/(FJVg/(V"hRNJ.f ;|]NJ` ;|bRNJN^NuNV-x n-h08S@m`|(nX@2;NRRRVpRRRL2` n (><NV` npfUN  ./(<B'N| np(!g"h$h )*0*0-x/. nJg/("hNN^.NuNV-x-np xnf nLLHC!LBPLDHC!DBH|C-I"nE"BE #JB #yDzNz08H/HzNJgBxdN^Nu"-n n .DѨ .DѨ"h .#x2ѩ2+o N,_+_ n1m n/( N"N^NuNV .m .-@` . 【Ю-@J.f . -@-nN^ _NNV-n n (6-@ (:m .: n-h> .m -x n-hB n .6l/(HnHnNJoRY/. n (6/N-_/. n ./(:ї//.N$ n .Ѩ: .Ѯ`J nJ(_f"n )6#@2;|?NJ`" nJh\f/(FJVg/(V"hRNJ8g ;|CNJ n/(HnHnHnHnN Jf ;|aNJ`UNJf ;|eNJ` nJ(_W"nrWgVY/(:/(>/(6B'N n 6m4"n (6:n (6:` n (6"n6Ѩ:`8 nJ(^VJ(_Vg ;| 4NJ nB:B>` ;|ZNJN^NuNV-x n-hpS@m&|n@ 0NV-n .<@ N^.NuNV-n n(}V(}V .V N刁(N-x"np(O8CC-I"n#n,#n0Bi"LH$B   J0n/.BgNX` n"np)HШ0S-@ .lмЩ>-@ . n .:W@ (:6m (:6-@` n-h: n .6m (6 .^.g . n ` n (6"n " n"n . 2ѐN^ _ NNV-n n (6-@ (>m .> n-h: .m . n .rBR 2m`N^NuNV|-x n-h"n)AgY/):/)>/)6<N n 6ld (>6m (>6-h2Ѯ` n (>-h2ѮUBgN n0 nR> (6〰>nB>`B.nN^NuNV|-x n-h"n)= 2;N"np)_f ;|^nNJ n/(<B'<N| n|_"nEt#J&B*E#JB"(0Vrf UNJf n|_;|iNJ` np(^f ;|^nNJ n/(B'<<N n|^"nE#J&B*Et#JB"(0Vrf UNJ@ .-@p)I_".BW".B^g4 )B>r)It)HBHҀ!A0 .0!@ /.NN^ _NNV-x-n n"np)O8AA-H np)OHr AA-HAN-H-iPU/.N?6Jf:U n/(,N@ n$NV x-h<-n n-h -x"nVJf 1|C` U n/("n/)?NJg n-H"n)r\Vg`)rf =|`=| n"n!i2Y/8-HN*& n0.H/-HN n!_6`@ n(rf*>W@ .6m (6 n (>6m (>6-@` n-h>.@".W@ .^.g . n ` n (6"n " n"n . 2ѐN^ _ NNVBBBB-x n-hB n .6l/(HnHngBY/):/)>/)6B'NP n 6lR: (6〰:nB:`B.nN^NuNV|-x n-hpS@mΰ|n@2;N`"n)0Vrf UNx_ n|_JhZf/(BJNg/(N"hJNJ.f ;|ZNJ`d n(0Vrf UN f n|^;|mNJ` ;|VNJN^NuNV-n n-h"n)VJf()VJVJV‚g1|G nJhV( V g/( N@` np(!WJ(!Wg^/-/Hz(+O/(<<<N+o N,_+_pCmf Nd`NJ n7 [=$ f N,_+_HnB'N5-x-n n"np)O8AA-H n1m" .S-@-iX$n*VJf$n .Ѫ> n .쑨0"np)HЮ-@ .lмѩ> .@H`"HnB'N4RR .RhN^ _NNV-n .lмFJf` nm` n0.8CC-I"n#n #|"n nON^ _PONNV-n n.(N (N.(N(NN-x"np(O8CC-I"n#n,#n0Bi"BLH$J0n/.N` n"np)HШ0S-@ .r0=A n(!VJg 0.hf"n"n n(!VJg 0.h f"n"n nJg` .Rhh`p-nܰn-@ n .HpHn/<NB n(!VJg 0.hf"n"n n(!VJg  n"np)O8AA-H .lм n!@!n LH "n-iP-n/./././.<BHy"nJg/)$iNN^ _NNV-x n -hP n"n p)O8AA-H n"n p)OHr AA-HJng/. ? .@H`"HnB'N3&RlмЩ>-@ .-@p)G]".:W".:^g6 ):>r)GRAt)HBHҀ!A0N .0!@/.NN^ _NNV-x-n n"np)O8AA-H np)OHr AA-HAN-H-iPU/.N/"JfU nO 0\"nJ)HWgl (0lм!@4-n/./)>/(4/(,<BHyp$nJg/*&jN nJ(-g/."n?)"N` n"np)O8A")>g\-n/./)>/< nHP<BHy$nJg/*&jN nJ(-g/."n?)"NC0.h f"n"n R nJg` .Rh\ nJg( n (Ш0S!@ .R!@4N^ _PONNVJng/. ?.N`-x-n n"np)O8AA-HB.)NVJg/. HnN n-hX"n$n *4ѩ> *40 *4B-n/. n/(/<"nHi<BHyH$nJg/*&jNN^ _\ONNV-x n -hP n"n p)O8AA-H n"n p)OHr AA-HJng/. ?<3!N ` nC-I=|Rn n0.H"n$Q2.H$2g/. ?<7 N h n  .RhN^ _NNV-x-n J. g nJ(Fg ;|ENJ n-hJg4 n"np(2i.g"n-Q` n!nPB` n-hPJ(2f8-n nJ(gJ8g ;|CNJ<NR` n|` nJ(2f "nB) nJ(2g:/. . .p` /.BgNU/.N=JgN^.NuNV-x n"n p)O8AA-H/. ?. n/(( J(g/(("h$NN^ _\ONNV-x-n n"np)O8AA-H n (0Ѩ/. ?.NfN^ _\ONNVJng/. ?.N`-x-n n"np)Ѫ,p(HЪ4-@ .lмѨ> .@HJ.gB0 nJ0n/. BgN` /. N N^ _\ONNVN^ _\ONNV n-hP/././. /.B'BHz nJg/("hN-xYBY/8/8NjN lм-@poA-H-| . lм ?m nSJoJR-n/. /(/<"nHi<BHz$nJg/*&jN`/. Bg nJg/("h NN^ _\ONNVpx>g n3N^.NuNV-n .lм-@p-nⰮn-@Hn<N5Y/(0p)H2<@H/N n!_4"n$np*HHq/(,/(4N/. BgNN^ _\ONNV-x-n nC\-I"np(O8CC-I"n )4S-@-i,(0VJfp-nܰn-@ n .+-@B-n-nJoY/./.N-_ .-@/./././.B'BHz nJg/("hN .lVS-@p-nΰn>-@ n ."n".Ү$1g/.?<N .Rh .쑮 .Ѯ .lVѮ`0N^ _NNV-x7 [= M X/(,N@ n 0\"nJ)HWg (0lм!@4-nJ-gp$nJ*-g/(4/(,N/. n"np)O8A?0N`&/. n/(>"n/)4/),BHyN<`h/. n/(>"n/)4/),<BHy$nJg/*&jN nJ( HQ<BHyR$nJg/*&jN nJ(-g/. "n?)"N` /. BgN`N^ _\ONNVJng/. ?.N`0-x n"n p)O8A!/. BgN N^ _\ONNVJng/. ?.N`-x-n n"np)O8AA-H-iX n$n * -n n"np)OHr AA-H#i>BiHI-n )>6S n p)H!@-iP-n np)O8AA-H np)OHr AA-HJ-g` nJ(-g./. /)6/<$nHRN/. n?("N`$/. n/(6/<"nHQBHzN`T/. N 2FZ"n)p)`N n(p(`: n(p(`& n(p(` n(p( n N^.NuNV x-h< n hN^NuNV x-h<-n n-h-x"x3|"x2P/-/Hz8+ON"*UN"* n1_ -g$/."n$np*O8C?1N` n"np)O8A")>g-n/./)>/< np)OHr AHp<BHy nJg/($hN nJ(-g$/."n$np*O8C?1N` /.BgNU/.N-6JgN^.NuNVJnW n ( 4Ѩ: *40 *4Ѫ,p)HЪ4-@ .lмѩ> .@HJ0n/. N` /. N4N^ _\ONNV-x-n n"np)O8AA-H np)OHr AA-H)NV)NV )NV g nJm-iP-nJ-gb$nJ*  n/(6/<"nHQ<BHz$nJg/*&jN nJ(-g/. "n?)"NN^ _\ONNVp xn-x nA+H nA-H nC!IBC!I BC!IBC!IBCt!I"B&-n nB(BnRn n0.8CB nm n _Jhl "n3| +o N ,_+_ n1| ! N^NuNVJ.g UNp_fN@N`NHnHnN2 x-h<-n n-hpnl 1|Bz` nn/.Hhp(/N4N^ _TONNVN*NB'NdN^NuNVNNB'NLN^Nu KNV g=|?-x n"n p)O8AA-H/. ?. n/(:\J(g/(("h$NN^ _\ONNV-x n"n p)O8AA-H n (0Ѩ/. ?.NLN^ _\ONNVJng/. ?.N`-x-n n"np)O8AA-H np)OH -g././)>/<&nHSN\/. n?("N`&/. n/(>/<"nHQBHyN`V/. n/(>/<"nHQ<BHy$nJg/*&jN nJ(-g/."n?)"N&` /.BgN` /.BgN&N^.NuNVJng/. ?.N|`-n -x n"n A-H nCt!IBC!IBC!IB`Dp xf:-x-n nB(BnRn n0.8CB nmN^NuNuNQNQNPfNPRNPZNPFNPNPNNNPNόNQNϐNϴNBNHNNNNPNP>N6N0 NV x-h<-n n-h"nLH|BiN^Nu NVU n-h"n-iJ.g $n%n .爁*` n!n .刁(N^ _ NNV x-h<-n n-h"x=QHnHnNU/. n/(?.NJ ~r AA-H n!i>Y/(0p)H2<@H/N n!_4/(,"n$np*HHq/(4N n"np(HЩ4 m-hP-nJ-gb$nJ*-g./. /(>/<&nHSN/. n?("N`&/. n/(>/<"nHQBHyRN`V/. n/(>/<"n kp)O8A!)H)IR")>BW")>B^)NV g-iP-n/. /)6/< np)OHr AHp<BHy nJg/($hN nJ(-g$/. "n$np*O8C?1N` /. BgNN^ _\ONNVJng/. ?.Nl`T-x hN4N N$N``````NV x-h<-n n"x1Q"x!i N^NuNV-n-n n"x#h"x20(HH@J@l|"x3@"x2PNN^.NuNV x-h<-n n-h .2; Xgj n J.g, no 1|>`. </./N`*.g n1|>`. B'/./N` n1|AN^.NuNV x-h<-n n-hJ.g"nB` nBN^ _TONNV x-h<-n n-hN x(rf x0( 7 [=!! VU-@$Nr .$2._Wg ;|/NJN6HnHnND/-/Hz+OU?.N0n2.nA_.g/./. ./.ї?.?<NU ./.їN=_U?.N0n2.nA_.g0<n2.nA_.g ;|#PNJ?.HnHnND/. .D/B! N nm`U?<N4Nx?<BgBgNN^ _TONNVU xU?<-HN n0HAHp<N$JgN^NuNVU?<N=_pxf;|NJ`81Jtg* xt P(28HlN^NuNVN| x=h 0.H/HzN!!f -h` n-h -n np(1f (6<.g "n3|kN^ _TONNVp xnA+HBN^NuNV*A*!/-/HzF+O/8N x x!n6 xJg/("hNN+o N,_+_?-NN^.NuNV1-YN-_/.NvN^!D/.ї?.?.NR/./.NN^NuNV nHh*Bg?(Hh2HhHh(?(0(h?NN^.NuNVU0.S@?N=_U0. R@?N=_0.nm?.?.N-x-n n0(2S@r=@nnv=A n0. C<-I"n-I$n*rf6V! 80.nnR@??<NNU ./.їN =_U ./.їN =_+o N,_+_/./.NtNJ/-/HzJ+O0.n=@=n0.nn?.Hn*N/NJ.0gpn(W.g/-/Hz&+O?.0.S@?/N+o N,_+_0-HH@J@l|!5Jf ;|$NJ=nN^Nu     NVUNv0H-@HnHnN8p n]Jn_g ;|(NJJ.g-|` -| .DS-@/./.N0\ D-@B=| nPp Wr-.W@p+.!NuNV1+YN-_ o ;|NJ/.N@N^NuNV1,NN^NuNV1*NN^NuNV1)NN^NuNuNV?-/. /.N nJo4U?-N;_JmfUBgN;_?-/. /.NnN^ _PONNVJnU n .DHpNV;_pxf!rJf(0)n _2)n\g&n0+i2.RAh nJ ]@ ( ѮJ.gNN^ _PONNV$pxf ;|3@NJB'HnHnHnNUN=_=|Jno<HnHnHnNB'HnHnHnNJnfJ.f` =n=n0.no ;|NJ0.! ! @fZ?.HnHnN/./.HnHnN^?.U/.NSW/NU/.NRW0.S@?/N` ;|NJ/NJ.0g ;|NJU?.N=_`J.g?.?./N+o N,,_+_;npxf?-?-8N;|{NJ;npxf?-?-8NN^ _TO!nW.g=|0.=nܰnn=@ n0.ppf.Ur0.Rg ;|NJp.rA0-A .m ;| NJ .m*0.ngd n0.R@ppf.Ur0.Rg ;|NJp.rAP0-A .m ;|NJ;|INJp f!H-@`>/-/Hz$+O xHhHnNZ+o N,_+_ n1| nJhf2 ^r^g 1|` n0N^NuNV x-h< n hN^NuNV x-h -n n(0VJgn/.<B'N np(1@2;!o?-?-8NN^ _PONNVpxf ;|/XNJUNB=_UN8=_=| =| UN=_UN~=_Bn=|pnf<HnHnHnNJnoB'HnHnHnN=npnf(N x=h Jnn ;|}NJJno(Nv x=h Jnn ;|!no`UN`J.g0.Ap`|0Bn0.R@=n̰nn =@Rn x0.0.R@hp nW.g x|-Jnf=|0.n @m$=@Rn0. x2.0.S@hpnWrn"<`B?<N`6?<N`*<N4`B'N*`<NH`B'N>`N`N,`NX`N`N`B'N`<N`<N`B'N`Nv`?.N``?.NZ`NX`BgNT`x?<NH`l?<N<``BgN8`V?<N,`J?<" `D<NT`8N(`0N`(N` N8`N`0<xn;@NJN^NuNV-|09VJg ,-|R .//<N AA-H n(VJgjSm\nR2;N.F:::"copyright HP 1982Nu`^X`^,NQjNPNPNPNNτNQRN$NϠNlNϜNRNPFNOvNP^NϢN`N1NDN2^N2,N_FN`6NbNdjNqlNqNN`6N`.`*N`"N``N`N `N `N`N`N`?<N`N`0.|?N`0.|?N`0.|?N`N`N`N`N`|`xN`pN`hN``N`XN`P?<N" >:0`` (mV-nN^NuNVY/8YNN-_ .D-@-xN| .Ѹ/./8/.Nކ .ѸY/8/9NFJo .ѸJg6-x n .ѨY//9-HN nJo .ѐ .Ѹ x-h n .ѨNN^.Nu"g /. xHhN x0P` x1n x0PN^ _TON 1-----7-0----F 0123456789ABCDEFNVUNL=_J.g>N x(f xHhHnN` x0(H-@`N x0(H-@ J]@J."(lZdp|ZFDLT\Rd.8l|nb&4&$,<H2N>RZbfnv~ " `D?<N`8<N`,B'N`"BgN`?<N` ?<N~`?<Nr`?<Nf`?-NZ`NX`N`N`NJ`N`N`N``NJ`N$`NH`N`NN`xNJ`pNF`hN``N`XN<`PN`H" NVp xnNp xfHnNmf/.N NUYN NJgB;|NJBnRnpngB0.HAJg*0.HA p PgB;|ANJ n(mY/<N4!! x0NHm/< NNNBN x(?p"MZg0.rA40=A`0.rA*0=A?.N fBnJg0.U@@2;NDf.Vr=A .-@`.=@ .-@`h/./< N,J =@/./< N,B-_J.gJng p n=@`":PD $,8 N T`N R`N`N`Nf`N 8`N 6`N 4`N 2`N 0`<N *`B'N `N `N `N `zUNNv`lUNN`^N`VN`N?<N" N`@<N`4B'N`*N`"NJ`B'B'N`B'<Nt`<B'Nf`<<NV`B'N`<N`BNX`/<NJ`/<N<`/<N.`/<N `Nx`<Nz`vN`nN`fN`^N`VN`NB'N`"(N-x nLTH!0TBX!|!xC!+|:b֐B֔+|4NBNNNNܾNNNNN!xNKNcNNz08H/HzDNfJg xLjpHJp xfHz<N^?<?<NXN^Nu 02BASIC Ext. AP2.0  (c) "7 [=##` LL NaL Na./ASgN&& NINING8L$pYiSfNG*LprL NapSfXNNOj4NNOf$$NGNGNGL$&pQijSfNGLprL NaSfPNGNGNLL 4SfNL# 5p//&/֯~ 04@g6f&, NNj(/Nx(/"/N`NN83`N@/3/324h NN((/N6AN(/N((/N6`4NAN7`NAN''04h9h<H24hk:H04Xgt9X #PNN)NINZNgNײNNL0II02N6SfXONL0I.I0NOfL NNOj6SfXONL0II0NOf$&LNNOj6SfXONL0IILL NNOj6SfXONL0II02N&&SfXONL0#@`AiNuAiNu2HfNu0<NONNNNNNNNNNAiNOfAiNOf2HfNOf60NOf$0&NOfNdhNuAm`Ao`Ag` :rNu?prNuAf`An`Al`NNNNNNNNNNI8`I.Lt02# L $%YSfNLL 0NOf$%ASfNLL LNOj4SfN"_>f;|NJ$xagh0|ga:E UGkag@|fE Pl0QE55<!NaE `aS2Al0QNu??NOf>8` "(|gaBE UGk$azfP|f(E $&(NOl # NN(/N"(/ /N`Nx7`Nj'' 9h` *9XRfSj/BS /Я/@ fNuACE`HACE`8ACER&_/KN"NuG`GL46NLNOj`0Bik4WlSCgNTN0<#II0NOfL N&&SfXONL0IbI0NOf$&LN&&SfXONL0I6ILL N&&SfXONL0II02/N4Sf\ONL0II0NOfL NNOj4SfXONL0IILL NNOj4SfXONL0II02/N$$#O6@f@iSf&_N6N0NOf&&NLt//N0NOfL NcL Nc./A SfN0NOfL NctL Nc`./A SfNLL NcNL Nc:./A SfNGIBNpGxIHNdGI*NXGI0NLGIN@GIN4# C"Q%%5<!NaE `aPS$&NOl "QNu//?0|gabE NOf$&>" `8Aj PNu&jBGSDzG46HEJEgHCԃ*QNu"_>f;|NJ$xagZ0|ga.E UGkag2|fE Po0Q`aE `aS2Ao0QNu??#3NO0<5NOL( 2H"2H$&)NOnN"#ANL($2H&2H ")NO"#ANL(*$1H&1H 1Xg@"1XNO*#X#XNLL0$1H&1H 1X"1XNO($1H&1HNO(#H#HNL(*$1H&1H 1X"1XN# Sf\ONL0I|I0NOfL N$$SfXONL0ITILL N$$SfXONL0II0/2N4Sf\ONL0II0NOf$&LNNOj4SfXONL0IILL NNOj4SfXONL0II0/2N$$Sf\ONL0II0N#&_NOj6N&_&&NL0$2SfNLL$""SfNL$&p2SfNL$&R0: 2SfN?L$$$SfNL$LNOj4SfNL$0NOf$$SfNL$4SfNLt028@fD@i>Sf6XONLt//N0NOfL # kNOf>8` "(|ga" `:HBJBgHEЅHBЃNu:H@J@gHE؅؋ NuH3///N0LNu LL/ "HBHBHAЁ///S##O*#X#XNL($1H&1H :rNO(#H#HN?L g@"NL0Rg4n<`DLLL NOgn.`"$x xjNLgb `!p2N!p2N!p2NaZL"H2aZD/ / &x&k8|~JAWHGJ@WJfgHB`J@f<`tBS@43 D? #<N@2NUNxNCNEFNfNgNmNZNrNsPNfN@NTNNNTNwN}NyN{N>NZNNNNrNNLNNNNŢNzN0NPVNP^NPbNPNQN8NPN#Of$&LN$$SfXONL0IjILL N$$SfXONNOm` NOo `NOg` :rNu?prNuNOf`NOn`NOl`NePNeRNeTNeVNNNNNN60NOf$0&NOfNe$NOjNuAm`Ao` Ag`pNupNuAf`An`Al#7 [=$i$HNu$x0kNW"HHS@k !QNuNW2gS"JYeS@kQ55<!Nu1.xNu$xNW2k`E 8NW4nJ6|YJe"J22g(JDk CKe@g( 6SCQ@g DSBQ!Nu1 .xNu$xNWt"HS@kV< VSgH!VR$V g ;|/NJ n(=@pnoJ"n2.Hg ;|NJ n(rWJn^g "n$Q0.HЪ(-QѮ$n0(HЪ-xѮJ8g&n&k0(-kHѮ`-nJnf( nJPo n"n0Pg ;|NJ` n$ n .-PѮ"np)Ѯ` nHh0-HH@J@l|?0-H?U/.N4BgNHNJN^ _\ONU//////-x n0(S@r=@nn.=A n0. C-I"n2.RAh n=h =h-hJ8g:U0( H/NQJg ;|FR$NPLH`hNPb;|NJN^Nu _"_$_xpg|>@DnVE`S@nN _*$_x"_|pg0.Rgm(>@Dn E`I>E"SGlC!S@nN;|NJ _ n $_BN*o"_$_tRBm԰BnCPS@nN _ nN*o$_tm<RFEm$4RBgg&S J±g(Ye4!Q11<!NuS"JQ55<!Nu$x J0j PHe "$&NVBCNVvBZ$$Nu$NuNV$xaV~E ! "$<@yvaVlm$x$N^Nu$8.2_m|nNV0=ANV.$'(rf:"n$n0*ig ;|NJ nA-H nA-H` nA-H nA-HJ.g n  n"g ;|2NJ n(r-@ԲnL=A n0.H"n2.H3 n0.H"n2.H32.HRh` n$ WNJ n0( HѸYN0-_/-/HzT+O-x-n n ( -nѮp( @Wr( AWg(p4D-nѮ-nY/-/Hz+OpШ400yPg;|6NJ ( lD"ng ;|ENJ nJg nJ l ;| -NJ-n np( @Vr( A$EPCSFnNNDNG~LJj `~LJg 0Af&iJGgHCJCjAH/ @NNEx|zJjDiTFFJjDh fJFfFFFEvHAJAfDHBHA64HB64BCHCJFjDJEjDJGf&`Jjց`Di&Dt`tv`HAHB6BB ADÈԂ׃ցjQցԂ`Ղ׃ֈkQՂ`08 @g @$e k +'QѫX$Q +rd2c R` nT$+(r-@Բnb=A n0.H"n2.H41pV n2.H"n4.H61(pVg ;|NJ2.HRhRn` x0.hl& x0. 0f ;|oNJ x0. N^ _PONNV nC-I/-/Hz+O"n-Q$n0. $ $Vg ;| -NJ n0( 20DHҨ"-nӮU/./.NO6Jf ;| -NJ+o N0,_+_Hn0-HH@/U/.N4BgNHNJ n0(2S@r=@nn=A n0. C<-I"n-I$n*rf$&n0)HЫ"/.їHiNO:`$ n$DI@8SDSRWfSAR`JfHFHF<N`JgHGJgJf(_&_NuHFD`D`HGJgD`g`Jfdg\HFNg @HF<`F|`@db@|/8?81NA! OQp`B@.H1!F@Nu9GV<@$& nB(0.R@=@"x0. 1V@@U/.NJg> n"P$n0* C<-I"n=i0. #@-x"n0. G-K0.if ;|NJ n(g ;|NJ n("n)g ;| NJ nV"n)$ 2 G<-K&n0+HЪ"-QѮ-kU/.Hn/NJgt/-/Hz"+O?.?. /NL+o NF,_+_ x0. A-H nV8gNJ n?. /N4`J8g ;|yNJ?. /N4+o N,_+_ n"P-i-I .l" n$ j(rf ?./N2.RAht nJ ]@-nJ.gJ8g x0( D@HѸ/N +o Nd,_+_J8fD-xNP^ n1n 1n!nNPNP n1hNPb` x0( D@HѸNJ+o N@,_+_N$NP^NP$7 [=%% `,MfTUo <p$fJgS@npSn><B`~%D %LNu|(}g :(jHE:(hpv(0fRMRJg&n HE,f|HEg ,fJgS`Sop$fJgS@npSn`|M8TJg(n HElf|HEg lfJgU`NUoHp$fJgS@n%g ga0 0gJ8fZJgSCnv/Sn`NJf")f`")f)* ),ftB|N&_ o"h$Y&X_(%D(_%L |.`*&_ o"h$Y&X_(%D(_%LB.Jf/BgBBg(CNNuH&i&*hXJgN%CK:B@+Jfg).)%g @ gz @ glNu x!xpA! xB(vBhtA(gBf:JyPJyP x f(fx,NN!Jx+"hBQNu x!xpB(vBhtAV!C)gJyPJyP"iBB)NuCv xBlBP IR8x@f IN#`01g%E>N xJhtg gPv _N1`1`1.xNuDZD*D*DrD*D"D"D"D"D"D"D"D"DEFrFrLbMHMHMH%?f,+Sf"*@`t%D *<b S*`bSS`S(;E3E3D~);G`*Jk~<+Fff7i~)7GH?8_ i$h(Z*lv6)Rz:RE $g ,gS(0gԂփڅ׬ՕJg/?</B'B % pSn`&M*gSnەNuM*<gUnەNuM*gSnەNuM*g8UnەNu(_0 _/ "h$Y&i&(x*B+( mtnKP` KPI-8 f|gxz`4gB|<-RFgfRx8,R** fR(0g؄څ*j%t1 fI xF`, fIH` fIz`1< 4fI* 1g1g&q oN k& (@/g(<(SA()H xJlf!llA5r)H xJPf!lPA4)H xgNN$#[Q$q(jBNN n!E`/ I>%LI%L(_%(_ _p(4aE,C$YJgV (1f (2f(),f$),gH/ paL@,Y!IXJg#HN#HN,BBB*N(_ _"h$Y&i&")aJGf)-g +gz)*),ftz( fzBBB*Jg% K(lN`Xf0:)3E(, Sf`:*<Sb3D`(3E`"*j&,@1Lq?LNv%Cf")a.JGf+L`NuH?8"i$i*fa` )f )g @W+g*gajg% ٕ` f"** fB+HK//aLi*B*),gKNu><`~C`><'` ><`><1K.xNu MNhOOdRSnSnSn(_ _p(4NNC$YJgn (1f (2f),fJfH/ <%k f&j&a,`Id`If&q&S'LR (o!"xEA%H#jDA,t%H#j`A.$%HEA %H#jLA2%H#jhA3%HEA2%H#jHA-%H#jdA/@%H#xtTE4l!t#x:\E5~!:#x6XE6!6A(glA,"x&Ir0"YAn% (B mXvJg(0g+g"xx gCx2C#H"xG#@EN&_ o"h$Y%_X_(%D (_%L.Jf/BgBBg(jNNuH&i&**hXgK:`K>*fK%M* g f~j")(% g4x|(j*j(0f*fR`B*f8T`2 fJ(j(* "**j*gahJn&` aJfJn/Bg/B K(jN`1Lq?LN,gH@UHi?<KNPfTLNup|v(0f.MfRSoNp$fJgS@npSn%<N"L@`H/ <<N L@,Y!IXJg#HN#HN~ GJg #HJf` #HJf ,B*N(_ _"h$Y&i&Jf^+g).`$)v/+)/)*g ga glJ8fJgSCnv/Sn`$)v/+)/)*%HE j'H'H$`<~&|Pg "|NCB&|Pg"|NCBNq>+LNNu(_0&_A~(g( h g~f@$`~f~@6N(_0A(g h m gN xRhtgPvNu xShtnJ(vgB(vrNu/Hz@ x hp%}f8Jf4vgg(0fa`Ba`<(0fa`.a`(arJGf gap`aVJGfa`|5GF%D *g,H/?*/* B *K(jNL``~p$fJgSfpSn~BNu*|P"xgPJUj*(0g%7 [=&{&*%D%L Jljx%DH`/?</K(jNL`dj`TM )g @|(*+).,g)*ga`(j*j"(}g :(jHE:(hRJgn HE,f|HEg ,fS%D%LJfJnBH`/?</&$\jfNu"j (*&*`>&_ o(h$\%_X_%_%_B.(h$\jfNu"j(*&*&l&Jf//BgBBg"CN _`/ *hXB+,*Jg"B*aK:*fK%M` B*a`K>*fK%M"*_+@0@0@H@F// ?Jga`a0& MN><`><C`><B`><'` ><`><1.xNu[t\]~]~h@ZZ>i$|,j:j;Nu*,ga111Nuj6j71,+g*7ga0a3Nu|NuNOJ|?& :/`*+f +f` */f |R0NO(Ez )m,(xnxz`Ix2z)H)K (xG)@E1(_PN&_ o$h"Z#_X_#_ #_.if(Nua`~H/?/) )(iKNLNuB)(i() gH/8Hz!&j&)*hX&oK(jNL``+).,a^ )gh @g^H`/?< _/K(jNL`>*f*g_1Lq?LN,gHUHi?<KNPfTL?Nu(_0 _"h$Y&i&(f< @fHx//*N>L")fh+&&_ _FL`|Jg&`|y.l*/`|.a l/*NuB+@l/@l.@ <[J+@gSf`k@/NuH @z`H @z$$|B @\؋"DB \؋؅$DL0Nu _0HP?8,l.gt ,gla/)n4g*)n 0a3r"."n4ӑJ4f2.ga3X*a x& | NuNOJ|_| Nua0H*81,*1gatNu.(_X8, _/p(4NN&j&"Fa.NOB+NO | < Sn+|f| a~Jg g/BgNNu(_8z: _p(4NN&j&a nNOBNO `|  :;P NPa&N&gK:`K>)fK#M)g)gS#D ) g" fT"*g#Afa~`*aJ`#Af(}fa``aCJg1a`a`*|P,x)gPJU)fxp|v~agadJgJgaNuSfa&>*5Bi*`P @fjHx//*NL+*5B")f+*5Bi*),gN><`"><C`><B`><'`><` ><G`><1.xNu(STUTXYYY(_ _p(4NNC$Y&-D|?</K"nN` _-l4-l0 1Nu _0HP?8,l.gR ,gJ| @/(.g"n*n"(}g:(jHE:(h)|4)I0`J4gBa/ H a2L0"_Jg/a2*Jg`6/ H a2L0"_RRSJn HE)f|HEg )f-D-IJfnJn& K"*2FZdhzNOJDNuNONuNO"Nu b *-g ` b ڸ*-g@```x`NOJ|DNuNu(_ _p(4NN"jJgb*,f *,g4"*tHB/ pNjLB*,gJgSf><B` t,%HJg%HY!JN,B)&8@p(a\aH`+gfR#D `||a`*p|Jfagaz`ra`fa#D *<b S*`bSS`S(;E=E=D*ai.@?|F;GaFNuaNu|(i\aXpatNu*|P,x)&*g ,agj*fK%M`.%CK>@|'*fjF*fK%M"L`NuH?8W+"i$i*f,,a`B+f2;N dk/,a` )gb @(j (**j|MSm jR&Jg~ (1f (2fJf()EfH/ <<NL@E`&)EfH/ <<NL@EY!IXJg#HN#HN~ GJg#HEJf`#HEJfB*N"_ _(h$\|JgNN&_ o(h$\%_X_%_%_ |.(h&x`d)D4)I0`J4gDa\/ /a22("_Jgba2,Jg`"J4g/ /a2("_$,4&ו`-D-IJfJn*aB?</K"nN` _-D-I1Nu"_0 _(h$\&l&B+(f @fHx//*N^L*` @fHx//*N>L*a |& BBBN o$h"Z&j&1atB)BBI2/g"v ,gNOBv,m n J/gb%HJg"NO NO"NtxNO| `+f +f` /af `|J0NO`j%H|*/Jg*NO NO6N NONO| &7 [='' ~LI^!h&E!J&$x$j8 )ga j)f j.a^a>`"))ga.JfJnaNuaCfJl`|Nua$pv)gvaff* e So p$`Jfa")f(aJf`J'aangSkJf`gVfBDSj|. ja~Nuaa(`g*8(g /.OfNu/*2*1B2|0NNJ*/k(*1gg",*2gHFfj*0f.2Nu/`)gT )l fa2)g )fR Nu)g' >!hvE@!JvNu x$h *fJgb"(6g\(O&h:/ /!L:&<l&!C6(h:*L"K8a.H hKNLJf!_6!_:Nu hN.*g$*VH4K$GatSDnL,`SDnJgb(Mxz|~ g g2 g SfNu SfNu . ;`*'y iDNNuH xNNpra8LNu x faaNu&x&k<&k+g`a((0(f"a*,f1Jg NO.aNu|fz<D=r J*<a`df0:.=E()'gah`S@npSn*o8><B`*8~ j eaNu~`><B`AMzNuJ*/g *8*/Nuaf$8Nuaaag*8gSga`R`)ga|aNu")pdagNu+ga`JgS@npdSn``apNuaa`SkNqgVf$BDSja'[)g)gaNu/ (iR(_S Nu )m.Jf)fR Nu(_2 _/ $h"Z&j&JfJfNu11*/B+ gJm2( m/aZ,_a*H//) Ka|L1)g|B)BB)g*8aNu1f1faz`a' ig SfNu . ;`f SfNuiiiiiiiiiiiiiiii$h!h&!J&/(6/(:/8/Hz!$hNP!!_:!_6$h!h&!J&$h *gTz|G g g, ggX`2fP`*< 3`f:`< 3`g$*V.*g$G' Sf`@*<bS=D`.=E`(a)f||p(`pa|Lq?LNF`r#AaX!L``")g j` j| )na$>8a`H?8|W$i"j)f<*,g,1+|0NN,*1fN')faSj~*8 jNuRaNfS`S`~)g(}g :(jHE:(haJj.fn|p$ f6Jg nHE,fHEg ,fJVfZBDSj`TJf8JgS@npdSn. ja><BNuaaf.f`~?a.a>`bS j~aNuA' 1Nu><`.><`8><`><3^`><`><`><` ><B11g,a1.xNu><1`ixixixNu x m x!xp<Gn@FnJf Gm *`2Nu1:.xNu?o x h@(gP$h &h+0f@ +1fJ+Ff2*fJg"*f(gCI*Lvxa _TKN| <(Sn|Nu x'`*Nl`" *f *g @/8Hz!+aa fa:`)g*8gj)fNg)g@SkaaaP`F)g ,x)gaT`aH`~SaXa`fa|`Tga`v*8ag(g"C'gMSvNu/.) #D ߕ#L.Nu/ *iCa*_Nu(i() *iNux#D NuSaNu.f|Nu*6@NuaNu/J*/g*/g88g/Nu*/f/ff/f/g+f**g`BRa2SNuaz|.f|Jj.g'7 [=((alNOBaNONO ,g | NO6+f*NOJ| NOJ*8*1faV|aNuaJ6V<*=` xapra"x"i`N08|$n, @gD @gP @ g( @ g" @g"x iHNNu @(o @)gD`Nu xaprah` xa*0aNu(f(g,*(d J*f/ atNu!h&jC!I&N x h@(9(/8/Hz*!"hNP! x h@J(n!h&aNu,_! x h@!h&.xNu/(6/(:Bg!O:r!A6/8/Hz&!"h&NP!0 x h@!_:!_6Nu,_!0 x h@!_:!_6.xNu08|$n(NQNu|g`X|f|g|fDp `|f8|g|g`(|g$|g|g|g&x&k\NNu|f|Nu|fr2|<lnpCH6JAj"Q0Ie"/8/Hz>! ")NOjXO,_!5@&h&N x NPNu0<g0<`14( :fgN _0"_/?/ a3_NuNV/.a@|'3nn$n$ .S5@5|FGpIrfjf jfd/ axN^ _NNV/.ab@|'3npErf gBin$n$ 5| .Um 5@5|FGpIrff jf( xan( g  ga` xaP><*,f\pra&j&B+B+B**B*,B*-NuJfJgH / aL` 8g @(g"h>).g 1Bi..xNuJ*0gFBgBga x$hB0@/B*0/(6/(:r!A6I.!L:(h&N x$hB!_:!_6Nu xapra\/("x( | fL x8(| f> xNN&j&B,gx`+f`,gx`x!DNu|fa`$| g |g| f xNNprN"x iLNNu @(o @)g @*g`Nu xNN><*,fprN&j&+B+~SGf@B**B*,B*.B*/B*4B*5Nu xNN><( .xNu|fNu|g|f|Nu| f4| Nu(gC'pH6&h&N xNu(gC` |g|g6&x&kXNӼ|ng|l| f| Nu|NuNu(g@6(0g|@f*x (g4<|"hNgQ1 U`10`(gz6(( / a n U0N^ _N _"_g@24B Bm|FNFN _"_g@42B Bm AAFNFN _"_QVDNF77'ar.0&h+0g2!LI( g gI.%h2C!I!L&B*0Nu x$hBa8(j2NNu xL BI.K/"h:((6o\"*pdJ8fZfJ8fNJgS@npdSn`F0fSo7TSoJ8fJgpd"*`|0!D2KNu1C`1B(*,f0prNB&j&(<8Sf(<UPSfNu1.xNu xNNprN"x"ihNNu08 x|$nF|fa`.|fab`"| f0(ga``JgaD`aN"x iPNNu|)fa( @(n\@` @*nU@` @,n]@`T@1`NNprNbNuNNpr( 80g|@ng/8Hz$!4<|"hNQ1m`! x@n`^"h<)|f,|(g 17.xNuHp NP^L0$xJh0gHp2<4<#NPvNuLBhʼ|lZ|fL)V )*WJhg2!hG!K/8/Hz!aP!!hNu,_.W`&h(0<r ,f||a*pnXa"a(=@paACpr QABpmJjR@|mC=HLH@A-HB.B.p nX=@a..<Ml"a0.|aa|| g`@0< .?ma\pnXaTaZpa(1,!D2,f+B+~SGf@.xKNu xL BI.K/"h:((6o"*pYJ8f0gSofJ8f~JgS@npYSn`t+pYfJ8fVJgS@npYSn`L8So(So&J8f(JgpY"*`(_ x h@(gL$h &h+0g<*(NRNu xNNprN>"x"ilNNuJoB|nHg:<YfvNu<HfvNu<RfvNu<*f vNQrNu<+fvNu&x&kTNNu|g"| gt|g|fڶ|f԰|g@`̶|f|pNu|f|`|fp|Rih2<`|f|*NQ*Nu|fz|`|f| ( NNug|f3|Pʲ<m`޲<lVNPjCPN|B.NI$xE5A4!NO x h@0naNu10`1 `/8Hzx|,\,D, ` rl  \t )||`fTNuT,<Sgf ,gUNu0B+"*0<Z+f.J8fJgS@n0<ZSnaDLp`PC60SSGl g~`~J8fHJo4pN !D2G-LpNu!D2~g~G-,+f +B+@NuaLp`0123456789 +,-E. xL B"h:((6"*0<^J8fNYB++fJ8f8J)  OVNOzNORNONOjNPNQ6NQ>NQ:NPN1NNN&N.N"NNNO:NOJNONNNP^AR CмT&_(_($x" tJ8k$< 1.g"08LDHgHD8J@kՒ`Ӓ`Nrj J2,ЀRr&)- : (@(p (Bl(B@  6 P2  *P 6.(:&(T& 0000*Bt )#0$q0&j&B+ x m + A.aR o~NuCENI&p&10g10 fNNf!LR oNu1.xNu><`><#`><C`><B`><'`><J`><`><`NN0;oNNu` 66666 a*C!I&I\!LNua)dgS@n0<^Snap`~SoJ8fJg"*0<^`!D2NuaH`PNN @PgB @"n0;o xNNuZ^\Zz(h fp,$C$i>*$gBj$`&j&NuaNu$y@ *2f`b*.g|-Nu|-Nu xmFp08a) .     4$@ >& X\( )s:$@pp(0Pt N$  >nN R4 >", 8 8h&`  \4PPL $ )?<NL0H@0Ar? Q n-H| npn-H=@Pa`2S.nHx?<NLS.nRR.pnnH`8.[gSg SgUg`a0.|aa$|fR.pЮ-@Alp`Nua@Nqa=@pal0.Nu$|Pp .gPp@|)C!I&IF!LNuNN>*$gBj$`R,fv&j& f^H>B*B"aZNu xL>,Nu$i,HUHj?<KNPfTLq?LNH xL B"h:((6MJ8fHKt*.~*-tff I.4pN I34pN I8 o~4pN )BBB BBB*,B**a>*$gBj$`J+fB+Nu``aDa`*,fT0(m. @n&H((0;N &0HJg>B+B**B*,`HJg*`@Jg"B+NuJg .`0.`.DNua0(m @ nHxB0; N!DNu$,@FLRXNu) - nԁTt VtBt,. @$ f ր > ):|a:0.HH@XnX|Xaa0.XR@A$r5Aa`ZJ.kV9@@|'a` 9|JlnSjm5|FA,fH*fap`:0`49@@|'n5|F,f*fa6Nq0B,|al=@|paP0.)`btn\hVPJD>82,ઌthP8D,bnVJ2>v++gv-` v++gv-`+`|+`x+`p+`l+`d+``+`X+`T+`L+`HvE`v,`v0+g`v0+g g|`tv `p g`F`\+`+`+` +`)7 [=**NNV/. /.NN^ _PNNV-xJ-n n!mֈC!IC+IֈN^NuNVp xnNN^NuNV-n-n n-PR N^ _XNNVf/-/Hz6+OJ-g;|6.mNu|Ax+Hb mb1|j-xJt-ntpUN np0-xl"nl)rg;|*zNfJ׎g/-׎ m׊N|b+o N.,_+_0-HH@rP@V.cg.mNu|c`N ndJg/( hNN^NuNVp xn>p xfY/<N-_!` nLHA.+HBNJ"@D0N0h<* 2.1@.$d"**г@ .n@ x@, ! Check for BASIC 2.1 or BASIC 2.0@ ,@ @P@P@@(@͐@ @T(@R! *- Test stat*@@8 !"" ʤ@>82/Install the disc to be repacked and press CONT.@ >$@ "@* ,ٵ#,KK Clear Screen@ *6@6 @* Set up software interrupts for recovery.@ 6J*.V@>\(Tbp   : (@(p (Bl(B@  6 P2  *P 6.(:&(T& 0000*Bt *.mNu np!|"nl-ih$nhpr=Afnfn6=@ nh0.H"np00H//)N np!_0.R@h x"np#hNx npHh Nr npJ l;|.mNu+|JVg/-V mRNB-+o N,_+_B-.mNuN^NuNVZ-xJd-nd^ mb hjf\Ah*h(dd0dA2"*0 2Vd:!LdJ AX A`0 :h @En0 Rt Bz BAD\@ E0* ement to check for 2.1 basic or 2.0@ T @ (@zѲ@*ٵ#,KK Clear screen@ *@  Print title page@Ӳ@ @ ղ@Ճղ@2 MASS STORAGE@ղ*C|H#|B|I/./(/(J׮g/-׮ mתN8VJg n^/(NfNt-nZ n^"nZ#h >|H#|:|G/./(/(J׶g/-׶ mײN-nZ nZJ(Hc/(>HxJ׎g*  P @ EtartFNWidt`CheckGabortedIWStarLineWord$TitleRestartFNWidthCheckAbortedInit_and_check Pack_and_moveRestartEndingSpinBasicBasicString1$String2$BMsi$StTyp_aidFNMsus$Msus_err* @Ձղ@2 FILE REPACK@ղ@Ճղ@ղ@ @  ! 2@8!"!Enter the mass storage specifier.@&82 (Default is Ӳ2)@ & "@  2*sPk3'NVN^ _ NNV0. S@@0{N$@P?<ND?<Np xfY/<Nn-_!J nLHA.+HBNN^NuNVN^NuNPN1 T@^ ٛ!"GERROR: Bad select code or device sel+U@ @ @6 춎+ Recovery Point for errors, and user abort:@ 6 2END OF PROGRAM.@ @ ?ə$@  Restore typing aids@, ٵ#,K#LOAD KEY@, Repack + x Verify_w_pFNLif_filename$ StartoverB Write_protect Write_errorEndingIdle_write_msgString1$StMsi_typing_aidString2$DoneBasic6@!@!! @+   *@ +@ -2@@<4!"&REPACK IN PROGRESS. DO NOT DISTURB !!!@ <>#@ H@. R# Verify Sector 0 Information First:@ .\@* f2Verify Sector 0 Information@*p ͻ@ z +ector--try again. b@^ڻ >!C г@^ ۛ!"GERROR: Bad mass storage parameter--try again. a@^ܻ >!H L@^ ݛ!"GERROR: Disc controller not found--try again.+@ PPX $0 Vd0d A& @. @ 8d@BD J!F" PdTZb lt+ &#@P$@P@(%@(!!! ! % )@(&  @0@ @@ :@* D Establish Max, Min Parameters:@ *N@ X@ b@, l!@ 64 Sectors (16,384 bytes)@ +@  ǵP@~@, 2Word 0 is out of bounds = Ǥ@,, 2Word 0 should be P@뤳@ ,  萳@  Vol(0)@ӄ Յ ղ@ @0 ʛ2Directory Start is too small = @*0 ԛ2Director+ ` @^߻ >!I ȳ@^ !"GERROR: Bad device type in msus--try again. j @^ >!N D@^ 㛁!"GERROR: Bad mass storage volume label--try again. +*  10d AF:d008d00<0d00d A0Fd< B, BL @Eb60\@ )FhP p+ Z,v@2 ' Maxsize is largest buffer (in sectors)@82, which may be used by this program. A check@68+ is made to make sure there is enough room.@ 6@ 1%@ ͤ@ @" Ƃٞ# C+]y Start Minimum = @ *  萳@ 蹶 Dirstart@ ǵA @, BWord 6 is out of bounds = Ǥ@$, BWord 6 should be A@ $  萳@  Vol(6)@$ ǀ "@, .BWord 7 is out of bounds = Ǥ@", 8+@ T@ @  Perform the Repack@ @  Ѳ Setup and verify@  @ @" Ѳ Perform the REPACK@2"Ñ2#DO YOU WANT TO REPACK ANOTHER DISK?@2ąYES@dž+ f @^ >!R @^ 囁!"GERROR: Mass storage unit not present--try again. Y @^ >@Z 蛁!"Encountered error #"&. Program aborted... @ Z +7 [=,!,( Verify the directory before proceeding:@ 4ⶎ@ 쑵BVerify Directory@  萳@ n@   ͻ@ \@2  ȁ * Verify NO Write Protect@2 ( ȀJ@ 2 ղ@ <,S( " ͻ@ , @, 6׶! Okay, return to calling context. ,@ @ J!SJ@ T?ə$@, ^BThis disc is WRITE PROTECTED;@*, hBpush RESTART to start over.@"* iRESTART!, !move Pack_and_moveSizeMa`sizeDirsdartDirlen Pack_and_move Pack_and_moveSizeMaxsizeDirstartDirlenDoldDnewIoldInewJOldNextsecNew Move_dataCatalog&@:!@$D!, Pack_and_move  `6< Z J &pd0   "Dd" A( @0 @ :dBDFdPZ,  ղ@ F  ղ@ P  @,ZBREPACKING FILE: B would@0,dB!attempt to write over valid data.@ 0e Restore typing aids@> g%(@ ނٵ#,K##LOAD KEY$@>nٞ,B"r B1Disc is WRITE PROTECTED, push RESTART when ready.@ B | @ F@> BError B" happened around the line labeled:@> B 'Write_error'@    Restore typing aids@> %(@ٵ#,K, !! ! ! )@ $N @ X!) @ b@ l @ v 萶  1st DATA SECTOR@ @@  ͻ@ .@   @  Ȁ@  !@  Ȑ@ ,b h8dn:d~0Vd1 B0 B @E\vsazeDirst0IJ Move_data Move_dataNextsecDNewSizeMaxsizeDirstartDirlenIJ File_typeOldstartLengthTempFile$FNLif_f,BWord 7 should be @ " B 萳@ L Vol(7)@Vӈ Չ ղ@` ij@0 jB Directory Length is too small = @,0 tBDirectory Length Minimum = @ , ~ 萳@  Dirlen@ س@6 B'Sector 0 (,9@x Just in case@  Oldstart@ @"BFILE: B has a@,"Bnegative number of Sectors =@ , Restore typing aids@> %(@܂ٵ#,K##LOAD KEY$@>ٞ,j##LOAD KEY$@> ٞ9@  @&  ERRN 83, ERRL(Write_error),&"ٞ#MASS STORAGE IS ""<+@,̺ Msi_typing_aid  '!@ & Init_and_check @ 'PP,  ޳@  ȁ@  ղ@ Ѳ@, B/,KBLIF REPACK Complete.@,1ȵ?ə$@׶ All done@   Old@   萳@   @*  ղ@ 4萳@ > ͤ@ H!,VOLUME INFORMATION) indicates@26 B$that this Disc is not LIF compatible@2 ٞ9@  Restore typing aids@> %(@ ٵ#,K##LOAD KEY$@>  Just in case@Ĺ Flag@ ζ@4 ,9@ Just in case@  Length@  萶$ Length=0 is OK@ ҹ Old@ ܴ @洎 d@ @: . Verify that the disc is NOT Write Protected:@ :( BVerify NO Write Protect@, 5 @0$"& " !Ld0d A" @* @ 4d<BH NT"VdZ2 b&pdf0dp@ ExP afd_, ) @ R Inew@ \ Old@ f@p~@4z@ @ @4  ȁ됳@   ղ@" Dnew, Inew, Dold, Iold@ "Ѳ@, B/,KBLIF REPACK Complete.@,,7 [=-- #,W Ǥ@  :@  D@ Nӄ Յ ղ@ Xӈ Չ ղ* b 2A,X,10A,X,A,2X,6A,8D,9D,10D@H* lB/,KB ***** Special Catalog Of ӲB ******@&H vB" VOLUME LABEL: ",K@@& B2 F-?PROG@" ! ȵA B*@" ! ȵ@쐳@ @   ȵ1A@ BBDAT@$ ͻ@.ӄ Յ ղ@ 8萳@" B! ȵA B*@"L! ȵ@쐳@ V@ `-Nilename$ FNHl_to_dSegmentRString1$StSlurp_and_belchString2$BasicB@Լ!@ռ@P@P@ּ@޼ ! ! !@  @@ @ @  -]4 춎@ B:@ Ȑ@ Ȁ@ ͻ@  @&  ( Move data for this file.@ & 26  <( K,": Segment ",K," of ",K," Segments."@6 F @ P 1%@  Z @* dB: -H@ ̺ Slurp_and_belch@ ֱ Move_data PP  *v:(6 00    & ,  2d68:! <"- yILE NAME PRO TYPE REC/FILE BYTE/REC ADDRESS@ @ @  곎@  ͻ@ س@  ȁ@@ B2 ** End Of Directory Found **;*@@ ׶ All done@ й@  ղ@ B-?@ ͻ@ ׶ All done@ $@ . ղ@ 8   ղ@ B   ղ@ L X@, VBREPACKING FILE: B would@0, `B!attempt to write over valid data.@ 0 a Restore typin-E Segment 1 of 1 Segment.@ * n@ xͤ@ @ 1%@ ~@"   褳@ " @ @@  ͤ@ Ƚ 1%@" ґ  褳@ " - J@! DdJNR Zd:dl0dv8dD\e$Pro$Ty`e$A$IDJCatalogCatalogVol_lab$Purg$File$Pro$Type$A$IDJVolDirDummyRpfBprAddressDirstartDirlen FNHl_to_d Cat_i-  @  ȿ@   ղ@   ղ@ 1@ B @  @2  *' Branch to specific code for each known@2 4 file type:@  >@ H Ȁ@ RBpurged@ \B->-g aids@> c(@ٵ#,K#LOAD KEY@> jٞ9@ t Just in case@ ~ Oldstart@ T@" BFILE: B has a@," Bnegative number of Sectors = @ ,  Restore typing -@ ͤ@  Length@  @6  * Fix directory entry for starting sector,@$6  restore the file type,@2$ ' and update the directory on the disc.@ 2 "@ ,  @ 6P@𐳎@ @ꐳ@- mageFNLif_filename$FNMsus$@, @@@ @@@@., ! ! ! % ) %@. @  ͻ@ B@ B@ &޳@ 0ٵB-@ f@ p ȁ@ zBASCII@ @  ȵA"@ BSYSTM@ @  ȵA@ BBIN@" ! ȵA nB*@" ! ȵ@쐳@ Թ@  ȵA@ B-aids@> (@ٵ#,K#LOAD KEY@> ٞ9@  Just in case@  Length@  ~@  ζ@&  ض This file will be moved.@4& ⶎ) Save file type and make it look purged.@ - J @ TP@@& ^Q X@ꐳ@,& hP@ DX@萳@, r @ |ͻ@  Length, Oldstart@   萳@ B@ Ƴ@ ׳  ͻ@  ͻ-7 [=.3.ZCdir Lif_fidenameAd File$0FNLif_filename$IDir Lif_filenameA$File$J @@@ @ !@ B@B@ @ ٵB#,WȤ@  쳎@ .U Ҷ @ ܶ @0t ` =Vd0   dde LineLifeWNIAb4@ @ v @ *LineLineWNIJ@  @ . nnn0A2B$PB$PB$PFNWidthWidth@ D@  N@ XbzjPv R0 B. m_addressUnit$Select$Prim$Device$Msi$@B6 This function returns the Msus. The code is secured.HB!!!!!HQ0됶 $FFFFCF76H A&bHA&bH A&bH*A&bH 4. @B@ 츎س@@  A$[1,1]@   A$[2,2]@  @ R@ (@ 2  Lif_filename$  <h@Lz@hnL0:d0 .`@ B*@ >@B @ "@ ,B*@ 6@ @@  J @ T ^\@@ $F\  >d0   . #D B@ E(idTyp_aidBctString!$String"$Basic@ 'Typ_aidTyp_aidStString1$String2$a@ l@8 v, SUBPROGRAM TO SET UP THE OUTPUT TO KEYBOARD@88, TO TURN OFF TYP.H >H H1&H R2H\TH  fH pL"0HzH dH ހH  2INTERNALH ބƳH  2HP9895H ޅH.BF  d_dH FNHl_to_dHl_to_dHighLowRes@ F@ PX@萳@" ZX@萳@"" d$X@ꐳ@" nBX@萳@  x@ .9ddd*d,d$ Last_half First_hadf9TitleTitleWWord$ Last_half First_halfIJ n@ h @ r ꐳ@ | N@ ꐳ@ `@ @ @   . ING AIDS IN BASIC 2.1 DURING@8 PROGRAM EXECUTION@ @ @P@P@ @& 1!P1!X@&&1!X1!C@.&ٵ#,K# SCRATCH KEY@ .ƶ@ б .)  2HP8290XH ʻކ(H  BHP9885H ޻އrH.  BHP913X ONE VOLUME - 5 MBYTESH. ވH0  BHP913XB ONE VOLUME - 10 MBYTESH0 ޵!H  .@ j*@t @~ Catalog   8P@ J4 08d0  "  $ (d.idename$I.2  FNHl_to_d  vn ","^"$570 2 Currdie=MIN(5,Currdie+1)580 CASE "E"590 ! GOTO Roll 600 CASE ELSE /EL Quit 940 Quit: ! 950 DISP "Done!" 960 END 970 !:980 ! *** Main Program End990 ! /1000 ! SUB Onedie(INTEGER Spots,OPTIONAL Erase) ;1010 ! Draw or erase the image of one die with rank given ;1020 ! 'Spot/BCS80H ޵!4H( $ BHP98255 FUTURE - EPROMH( .޵!|H* 8 BHP98259 FUTURE - BUBBLESH* B޵1H L BREMOTEH V޳H ` BUNKNOWNH  jH( t/s " " <-#RE-STORE " " < 0 #CAT X ;#INITIALIZE " "<K :INTERNALI :HP913X,700E :CS80,7000[#SET TIMEDATE DAT/9 210 H=W 220 Pad=2 230 X=0 240 Y=88250 GINIT 260 GRAPHICS OFF270 Scorecard 280 RANDOMIZE 290 Roll_dice 300 Lable(Roll) 0310 ON KEY 5 LABEL "Sel/Desel" GOTO Toggle)320 / 4610 BEEP 620 J GOTO Spin 630 END SELECT!640 IF Olddie=Currdie THEN 650 BEEP 660 y GOTO Spin 670 END IF680 Cursor690 GOTO Spin 700 Score: !710 Roll=1720 Lable(/3 BUNKNOWNBUNKNOWNH&( ~1LH&  B: H H H  B: B,H H$  B: B,B,H$ ĹH ιH   H  END IF1120/:#E("01 Mar 1900")+TIME("00:00:00")H> GOSUB Lowright1500 CASE ELSEo1510 BEEP S/1520 DISP "Die value out of range: ";Spotsr1530 END SELECT1540 GOTO ExitT 1550 Center:!E1560 IMOVE Cw/  ON KEY 6 LABEL "Roll" GOTO Roll +330 ON KEY 7 LABEL "Score" GOTO Score )340 ON KEY 8 LABEL "Quit" GOTO Quit 350 ON KBD GOTO Checkkey360 GRAPHICS ON 370 Spin: GOTO Spin 380 Toggle: !390 CALL Toggle(Currdie)/ 6O4)730 INTEGER Slot,Ret740 Slot=-1 750 WHILE Slot<0760  Scorecard 770  Slot=FNSelect_slot780  Ret=FNScore(Slot) 790  IF NOT Ret THEN 800 BEEP 810  Slot=0-ABS(Slot)820 /N Jz/@FTnn@!@$nq /29/81q /29/81q /29/81h@$ ٞPLOAD KEY "KEYS"X@ $qw,-Ch2160 RETURN T 2170 Spot: !2180 IDRAW 0,-1/7 [=0J0s'. If optional param Erase is present, erase :1030 ! the image by setting PEN -1.Otherwise, set PEN 1.;1040 ! This SUB relies on the calling context to position 51050 ! the graphics cursor to the appropriate place 1060 !.1070 SUB Onedie(INTEG0DH-4 1370 IDRAW -2,21380 IDRAW -(W-4),01390 IDRAW -2,-2 1400 IDRAW 0,-(H-4)1410 IMOVE -0,-2 1420 ELSE1430 IDRAW W,0 1440 IDRAW 0,H 1450 IDRAW -W,01460 IDRAW 0,-H1470 END IF1480 SE0 1810 Center: !1820 IMOVE Cw-1,Ch 1830 GOSUB Spot1840 IMOVE -(Cw-1),-Ch 1850 RETURN 1860 Upright: ! 1870 IMOVE Tqw,Tqh 1880 GOSUB Spot1890 IMOVE -Tqw,-Tqh 1900 RETURN 1910 Lowleft: ! 1920 IMOVE Qw,Qh 190 zie (called "Old" here) to Currdie (called "New" here.)2280 ! 2290 SUB Cursor"2300 COM /Curr/ INTEGER New,Old2310 IF (Old) THEN '2320 Draw_cursor(FNStartx(Old),-1) 2330 END IF"2340 Draw_cursor(FNStartx(New))-2350 Old=New !0ER Spots,OPTIONAL Erase)P1080 INTEGER Cw,Ch,Qw,Qh,Tqw,Tqh ! Half, quarte and three-quarter dimensions61090 INTEGER Corner ! Flag whether to draw corners(1100 COM /Dimensions/ INTEGER W,H,Pad1110 Ch=H/21120 Cw=W/21130 IF H>10 TH0mLECT Spots1490 CASE 11500 GOSUB Center1510 CASE 21520 GOSUB Upright 1530 GOSUB Lowleft 1540 CASE 31550 GOSUB Center1560 GOSUB Upright 1570 GOSUB Lowleft 1580 CASE 41590 GOSUB Upleft16000 30 GOSUB Spot1940 IMOVE -Qw,-Qh 1950 RETURN 1960 Upleft: !1970 IMOVE Qw,Tqh1980 GOSUB Spot1990 IMOVE -Qw,-Tqh2000 RETURN 2010 Lowright: !2020 IMOVE Tqw,Qh2030 GOSUB Spot2040 IMOVE -Tqw,-Qh2050 RETU0  NB:Changing Olddie/Currdie 2360 SUBEND2370 !2380 ! FNStartx(INTEGER Die)L2390 ! Calculate and return the starting X coordinate of the current die.2400 !2410 DEF FNStartx(INTEGER Die) 2420 COM /Bases/ INTEGER X,Y (2430 COM /D0!EN 1140 Qw=W/4-11150 Qh=H/41160 Tqw=W*3/4 1170 Tqh=H*3/4+1 1180 Corner=1 1190 ELSE1200 Qw=DROUND(W/5,1)1210 Qh=DROUND(H/5,1)+11220 Tqw=DROUND(W*5/8,1) 1230 Tqh=DROUND(H*5/8,1)+1 1240 0A GOSUB Upright 1610 GOSUB Lowleft 1620 GOSUB Lowright1630 CASE 51640 GOSUB Upleft1650 GOSUB Upright 1660 GOSUB Center1670 GOSUB Lowleft 1680 GOSUB Lowright1690 CASE 61700 GOSUB Upleft0 RN 2060 Midleft: ! 2070 IMOVE Qw,Ch 2080 GOSUB Spot2090 IMOVE -Qw,-Ch 2100 RETURN 2110 Midright: !2120 IMOVE Tqw,Ch2130 GOSUB Spot2140 IMOVE -Tqw,-Ch2150 RETURN 2160 Spot: ! 2170 IDRAW 0,-12180 0imensions/ INTEGER W,H,Pad 2440 RETURN X+(W+Pad)*(Die-1) 2450 FNEND 2460 ! -2470 ! SUB Draw_cursor(INTEGER X,OPTIONAL P) =2480 ! Draw the graphical cursor at the given X coordinate. D2490 ! If optional "P" parameter is given, change the PE0 Corner=01250 END IF1260 IF (NPAR=2) THEN 1270 PEN -1 1280 ELSE1290 PEN 1 1300 END IF1310 IF Corner THEN 1320 IMOVE 0,2 1330 IDRAW 2,-21340 IDRAW W-4,0 1350 IDRAW 2,2 1360 IDRAW 0,01710 GOSUB Midleft 1720 GOSUB Lowleft 1730 GOSUB Upright 1740 GOSUB Midright1750 GOSUB Lowright1760 CASE ELSE 1770 BEEP /1780 DISP "Die value out of range: ";Spots 1790 END SELECT1800 GOTO Exit 0  IDRAW 1,0 2190 IDRAW 0,1 2200 IDRAW -1,02210 RETURN 2220 Exit:SUBEND2230 ! 2240 ! SUB Cursor:2250 ! Draw a graphical "cursor" under the current die,82260 ! Erasing it from under the old current, if any.H2270 ! Set Oldd0N to that.2500 ! Otherwise, set PEN 1 2510 ! +2520 SUB Draw_cursor(INTEGER X,OPTIONAL P) "2530 COM /Bases/ INTEGER Hisx,Y(2540 COM /Dimensions/ INTEGER W,H,Pad2550 INTEGER Myp 2560 IF NPAR=2 THEN 2570 Myp=P 2580 ELSE07 [=11 #3320 Score_names$(7)="Three of a Kind" (3330 Score_names$(8)="Four of a Kind"$3340 Score_names$(9)="Full House")3350 Score_names$(10)="Small Straight" )3360 Score_names$(11)="Large Straight" !3370 Score_names$(12)="YATC!!" #3380 1 St3640 IF Final THEN 3650 Total=Lower+Upper 3660 Total$=VAL$(Total) 3670 ELSE3680 Total$="**@" 3690 END IF3700 IF Upper=0 THEN 3710 Upper$=" <" 3720 ELSE3730 Upper$=VAL$(Upper)3740 END 1L !2790 SUB Toggle(INTEGER Die) "2800 COM /Bases/ INTEGER Hisx,Y2810 COM /Dice/ Dice(*)2820 INTEGER X 2830 X=FNStartx(Die) 2840 MOVE X,Y2850 IF Dice(Die)>0 THEN "2860 Onedie(INT(Dice(Die)),1) 2870 ELSE2880 On1fND3150 !.3160 ! SUB Scorecard(OPTIONAL INTEGER Final)C3170 ! Total the current Scores() array and print the scorecard J3180 ! If the optional Final parameter is given, calculate and display3190 ! the grand total3200 !*3210 SUB 1 DScore_names$(13)="Chance??" #3390 INTEGER Menu,Final ! modes 3400 Menu=03410 Final=0 .3420 IF NPAR=1 THEN ! We were given a mode3430 IF Mode=1 THEN Menu=1 3440 IF Mode=2 THEN Final=13450 END IF3460 FOR I=1 TO 13 10IF3750 IF Lower=0 THEN 3760 Lower$=" l" 3770 ELSE3780 Lower$=VAL$(Lower)3790 END IF3800 IF Bonus=0 THEN 3810 Bonus$=" T" 3820 ELSE3830 Bonus$=VAL$(Bonus)3840 END IF3850 OUTPUT 2;Cle1'edie(-Dice(Die))2890 END IF2900 Dice(Die)=-Dice(Die) 2910 SUBEND2920 !2930 ! SUB Roll_dice;2940 ! For each die in the Dice() array, if the current @2950 ! value is negative, replace it with a new random valueA2960 ! betwe1Scorecard(OPTIONAL INTEGER Mode) 3220 COM /Scorecard/ Score(*);3230 COM /Scoredisp/ Score$(13)[10],Score_names$(13)[15] y3240 COM /Crt/ Clear_crt$[2],Home$[2],Underline$[1],Inverse$[1],Blink$[1],Ui$[1],Ub$[1],Bi$[1],Ubi$[1],Enhance_off$[1] 7321 G&3470 IF Score(I)=-1 THEN 83480 Score$(I)=Underline$&" $"&Enhance_off$3490 ELSE3500 IF I<7 THEN "3510 Upper=Upper+Score(I)3520 ELSE"3530 Lower=Lower+Score(I)3540 END IF$3550 1Oar_crt$;3860 PRINT Enhance_off$3870 PRINT TABXY(1,5)=3880 PRINT TAB(2);Inverse$&"YATZ16 Scorecard"&Enhance_off$ 3890 PRINT ""%3900 Fmt1:IMAGE 1X,18A,10A,4X,18A,10A 3910 Fmt2:IMAGE 31X,18A,10A 3920 FOR I=1 TO 6P3930 PRINT US12590 Myp=1 2600 END IF2610 MOVE X,Y2620 PEN Myp 2630 IF W>9 THEN 2640 IDRAW 0,-12650 IDRAW W,0 2660 IDRAW 0,1 2670 ELSE2680 IMOVE 0,-12690 IDRAW W,0 2700 IMOVE 0,1 2710 END IF 18en 1 and 6. Set Currdie to 1 and draw the cursor. 2970 !2980 SUB Roll_dice 2990 COM /Bases/ INTEGER X,Y (3000 COM /Dimensions/ INTEGER W,H,Pad)3010 COM /Curr/ INTEGER Currdie,Olddie 3020 COM /Dice/ Dice(*)3030 INTEGER I 30401550 DIM Bonus$[10],Upper$[10],Lower$[10],Total$[10] 3260 Score_names$(1)="Ones"3270 Score_names$(2)="Twos" 3280 Score_names$(3)="Threes"3290 Score_names$(4)="Fours" 3300 Score_names$(5)="Fives" 3310 Score_names$(6)="Sixes" )1 Score$(I)=VAL$(Score(I))3560 L=LEN(Score$(I))E3570 Score$(I)=Underline$&RPT$(" ",8-L)&Score$(I)&Enhance_off$ 3580 END IF3590 NEXT I3600 IF Upper>=63 THEN 3610 Bonus=353620 Upper=Upper+Bonus 3630 END IF1v2720 SUBEND2730 ! 2740 ! SUB Toggle(INTEGER Die)?2750 ! Change the sign of the given die in the Dice() array. @2760 ! If the die's value was positive, erase the die's image:2770 ! If the die's value was negative, draw the image.2780 14 FOR I=1 TO 53050 IF Dice(I)<0 THEN 3060 Currdie=INT(RND*6+1) 3070 MOVE (W+Pad)*(I-1),Y3080 Onedie(Currdie) 3090 bDice(I)=Currdie 3100 END IF3110 NEXT I3120 Currdie=1 3130 Cursor 3140 SUBE17 [=2X2ONLine,E,Eptr,Maxe4140 FOR I=1 TO 13 4150 IF Score(I)=-1 THEN 4160 Eligible(J)=I #4170 IF NOT Eptr THEN Eptr=J 4180 J=J+1 4190 ELSE)4200 $IF I=12 AND Score(I)<>0 THEN 4210 Eligible(J)=12%4220 2 PRINT TABXY(1,6+Line) 4520 ELSE"4530 PRINT TABXY(31,6+Line)4540 END IF74550 PRINT USING Fmt1;Enhance_off$&Score_names$[E] 4560 CASE "<","V"4570 Eptr=MAX(1,Eptr-1)4580 CASE ">","^"4590 Eptr=MIN(Maxe,Eptr2 m COM /Dice/ Dice(*))4790 INTEGER This_score,Frequency(1:6) -4800 IF Slot<>12 AND Score(Slot)<>-1 THEN 4810 BEEP 110,.5 4820 RETURN 04830 END IF*4840 IF Slot=12 AND Score(Slot)=0 THEN 4850 BEEP 880,.5 4860 RETU2P INTEGER Got_minimum 5140 Got_minimum=0 5150 FOR I=1 TO 5/5160 *IF Frequency(Dice(I))>=Slot-4 THEN 5170 Got_minimum=1 5180 LEND IF5190 NEXT I+5200 This_score=This_score*Got_minimum 5210 ! 2JING Fmt1;Score_name$(I),Score$(I),Score_name$(I+6),Score$(I+6)3940 NEXT I33950 PRINT USING Fmt2;Score_name$(13),Score$(13) '3960 PRINT USING Fmt1;"Bonus",Bonus$ 3970 PRINT ""B3980 PRINT USING Fmt1;"Upper Total",Upper$,"Lower Total",Lo2 IF NOT Eptr THEN Eptr=J 4230 END IF4240 END IF4250 NEXT I4260 Maxe=J-14270 WHILE 1 4280 Line=INT(E/2) 4290 Fmt1:IMAGE 19A "4300 IF E MOD 2 OR E=13 THEN !4310 $PRINT TABXY(1,6+Line) 4320 EL2+1) 4600 CASE "E"4610 RETURN E4620 END SELECT4630 E=Eligible(Eptr)4640 END WHILE 4650 FNEND 4660 ! FNScore(INTEGER Slot)O4670 ! Score the current roll. Enforce YATZ rules. Allow zeroing of a score Q4680 ! only once2 HERN 04870 END IF4880 This_score=0 4890 ! 74900 ! ]score calculations 4910 ! 4920 SELECT Slot 4930 ! 4940 CASE <7 N4950 ! + Upper half. Sum dice that match the curren2wer$3990 Fmt3:IMAGE X,18A,10A -4000 PRINT USING Fmt3;"Grand Total",Total$ 4010! 4020 SUBEND4030 !4040 ! FNSelect_slotF4050 ! Choose a "slot" in the scorecard to fill with a score. SkipF4060 ! slots in the selection meny that al2SE"4330 PRINT TABXY(31,6+Line)4340 END IF@4350 PRINT USING Fmt1;Inverse$&Score_names$[E]&Enhance_off$4360 ON KBD GOTO Checkkey4370 Spin:GOTO Spin 4380 Checkkey:K$=KBD$ 4390 IF LEN(K$)<>2 THEN 4400 BEEP 442 . Allow a positive score to be entered into a slot only once, N4690 ! Except for YATZ, which can be entered as many times as it comes up,N4700 ! unless it is zeroed first. If and of these conditions are violated,O4710 ! BEEP and return 0. De2 !$t slot4960 FOR I=1 TO 5!4970 IF Dice(I)=Slot THEN (4980 This_score=This_score+Slot4990 NEND IF5000 NEXT I-5010 IF This_score<3*Slot THEN ! Uh-oh 5020 WAIT 15030 BEEP 1440,.35040 BE2@ready have a value. YATZA4070 ! is an exception. Allow a new score to go in that slot. 4080 !4090 DEF FNSelect_slot 4100 COM /Scorecard/ Score(*)&4110 COM /Scoredisp/ Score$(13)[10]4120 DIM Eligible(13),K$[2]$4130 INTEGER I,J,210 ^GOTO Spin 4420 END IF4430 SELECT K$[2]"4440 CASE "<","V",">","^","E"4450 $OFF KBD 4460 CASE ELSE 4470 BEEP 4480 PGOTO Spin 4490 END SELECT"4500 IF E MOD 2 OR E=13 THEN !4510 2 tect when a score card is full, and return 2 if O4720 ! so. Otherwise return 1. Caller is responsible to ensure that Slot is 4730 ! between 1 and 13.4740 !4750 DEF FNScore(INTEGER Slot) 4760 ! 4770 COM /Scorecard/ Score(*)4780 20EP 1200,.55050 >WAIT 15060 END IF 5070 ! 5080 CASE 7,8=5090 ! 7 == 3 of a kind =5100 ! /8 == 4 of a kind 5110 GOSUB Sumall 5120 ! 5130 27 [=33 o90 IF Score(12)=-1 THEN Score(12)=0(5900 Score(12)=Score(12)+This_score5910 END IFB5920 ! ucheck for filled score card 5930 ! 5940 INTEGER Full5950 Full=15960 FOR I=1 TO 13 $5970 IF3 6240 Blink$=CHR$(130)6250 Bi$=CHR$(131) 6260 Underline$=CHR$(132)6270 Ui$=CHR$(133) 6280 Ub$=CHR$(134) 6290 Ubi$=CHR$(135)6300 PRINTER IS 16310 CONTROL 2,1;0 6320 CONTROL 1,4;0 6330 OUTPUT 2;Clear_crt$; 6330NEXT I"5300 IF Got_2 AND Got_3 THEN 5310 $This_score=25 5320 ELSE5330 $This_score=05340 END IF 5350 ! 5360 CASE 10,11@5370 !  10 == small straight@5380 !  3LJice(I)<>Target THEN Yes=0 5660 NEXT I5670 IF Yes THEN 5680 $This_score=50 5690 ELSE5700 This_score=0<5710 4! Can't zero Yatz unless it hasn't scored yet.K5720 (! Couldn't catch this before because we 3 5 Score(I)=-1 THEN Full=05980 NEXT I65990 ! Main exit point6000 IF Full THEN 6010 RETURN 2 6020 ELSE6030 RETURN 16040 END IF 6050 ! 6060 Sumall: !:6070 This_score=06080 FO3 40 GINIT 6350 GCLEAR6360 Oldphase=0 6370 SUBEND6380 SUB Lable(INTEGER Phase)6390 COM /Bases/ INTEGER X,Y (6400 COM /Dimensions/ INTEGER W,H,Pad$6410 COM /Lable/ INTEGER Oldphase6420 INTEGER Myx,Myy,N 6430 Myx=5*(W+P3  11 == large straight$5390 INTEGER Streak,High_streak5400 Streak=05410 High_streak=0 5420 GOSUB Sumall5430 FOR I=1 TO 6!5440 IF Frequency(I) THEN 5450 Streak=Streak+1 5460 3could have had Yatz.. "5730 IF Score(12)<>-1 THEN 5740 BEEP 220,.1 5750 RETURN 05760 END IF5770 END IF 5780 ! 5790 CASE 13 75800 ! 13 == Chance 5810 GOSU3 R I=1 TO 66090 Frequency(I)=06100 NEXT I6110 FOR I=1 TO 5'6120 This_score=This_score+Dice(I) 16130 Frequency(Dice(I))=Frequency(Dice(I))+1 6140 NEXT I6150 RETURN 6160 FNEND 6170 !6180 SUB Init_screen y61903Cad)+2*Pad 6440 Myy=Y+4 6450 MOVE Myx,Y+10 6460 SELECT Phase6470 CASE 1(6480 IF Oldphase THEN GOSUB Unscore6490 Oldphase=16500 GOSUB Roll6510 PEN 1 6520 CASE 2,36530 Oldphase=Phase-16540 GOSU3 ELSE15470 *High_streak=MAX(Streak,High_streak) 5480 Streak=05490 jEND IF5500 NEXT I(5510 Streak=MAX(Streak,High_streak) 5520 IF Slot-Streak<9 THEN "5530 0This_score=(Slot-7)*105540 ELSE5550 3,B Sumall%5820 o! That's all for this one 85830 END SELECT ! Caller ensures input is in range. 5840 ! 65850 ! [Apply Score5860 IF Slot<>12 THEN 5870 Score(Slot)=This_score 5880 ELSE*583 w COM /Crt/ Clear_crt$[2],Home$[2],Underline$[1],Inverse$[1],Blink$[1],Ui$[1],Ub$[1],Bi$[1],Ubi$[1],Enhance_off$[1] $6200 COM /Lable/ INTEGER Oldphase%6210 Clear_crt$=CHR$(255)&CHR$(75) 6220 Enhance_off$=CHR$(128)6230 Inverse$=CHR$(129)36B Unroll6550 GOSUB Roll6560 CASE 46570 Oldphase=36580 GOSUB Unroll6590 GOSUB Score 6600 END SELECT6610 SUBEXIT 6620 Roll: ! 6630 PEN 1 6640 N=Phase 6650 GOSUB Rrr 6660 RETURN 6670 Unroll: !3Q5220 CASE 9<5230 ! e9 == full house5240 GOSUB Sumall5250 INTEGER Got_3,Got_2 5260 FOR I=1 TO 6*5270 $IF Frequency(I)=3 THEN Got_3=1*5280 *IF Frequency(I)=2 THEN Got_2=15290 3o( This_score=05560 END IF 5570 ! 5580 CASE 12 65590 ! 12 == yatz! 5600 j! 5610 INTEGER Target,Yes5620 Target=Dice(1)5630 Yes=1 5640 FOR I=2 TO 5)5650 IF D37 [=4n4@FTnn@!@$nq /29/81q /29/81q /29/81h@$ ٞPLOAD KEY "KEYS"X@ $qw,-Ch2160 RETURN T 2170 Spot: !2180 IDRAW 0,-14 ON KEY 6 LABEL "Roll" GOTO Roll +330 ON KEY 7 LABEL "Score" GOTO Scoreo)340 ON KEY 8 LABEL "Quit" GOTO Quitr350 ON KBD GOTO Checkkey360 GRAPHICS ON 370 Spin: GOTO SpinO380 Toggle: !390 CALL Toggle(Currdie)4 PO4)730 INTEGER Slot,Ret740 Slot=-1 750 WHILE Slot<0760  Scorecard0770  Slot=FNSelect_slot780  Ret=FNScore(Slot)t790  IF NOT Ret THEN 800 BEEP R810  Slot=0-ABS(Slot)820 4ER Spots,OPTIONAL Erase)1080 OPTION BASE 1GP1090 INTEGER Cw,Ch,Qw,Qh,Tqw,Tqh ! Half, quarte and three-quarter dimensions61100 INTEGER Corner ! Flag whether to draw corners(1110 COM /Dimensions/ INTEGER W,H,Pad1120 Ch=H/21130 Cw4@10 OPTION BASE 120 Init_screen 30 INTEGER Ie40 COM /Bases/ INTEGER X,Y'50 COM /Curr/ INTEGER Currdie,Olddie60 COM /Dice/ Dice(1:5)&70 COM /Dimensions/ INTEGER W,H,Pad80 COM /Scorecard/ Score(13)W90 INTEGER Fina4400 GOTO Spinl 410 Roll: !420 Roll=Roll+1(430 Roll_dice+440 Lable(Roll)(450 IF Roll=3 THEN Score460 GOTO Spin 470 Checkkey: !480 K$=KBD$i490 IF K$[1]=" " THEN 500 Toggle(Currdie) 4 nS END IF830 END WHILE0,840 IF Ret=1 THEN ! Score isn't final850  ScorecardE860  Final=0r870 ELSE880  Scorecard(1)890 M Final=1r900 END IF910 UNTIL Finalr920 Quit=1930 UNTI4=W/21140 IF H>10 THEN n1150 Qw=W/4-11160 Qh=H/41170 Tqw=W*3/4N1180 Tqh=H*3/4+1n1190 Corner=1 1200 ELSE1210 Qw=DROUND(W/5,1)1220 Qh=DROUND(H/5,1)+11230 Tqw=DROUND(W*5/8,1)G1240 Tqh=DROU46680 N=Oldphase6690 PEN -16700 GOSUB Rrr 6710 RETURN 6720 Score: ! 6730 PEN 1 6740 GOSUB Sss 6750 RETURN 6760 Unscore: ! 6770 PEN -16780 GOSUB Sss 6790 RETURN 6800 Sss: !6810 MOVE Myx,Myy4l,Quit,Roll3 100 Roll=1110 REPEAT ! UNTIL Quit120 FOR I=1 TO 13 130 Score(I)=-1 140 NEXT I$150 REPEAT ! UNTIL Final (Score)160 FOR I=1 TO 5170 Dice(I)=-1180 NEXT I190 Olddie=0200 W=4510 R GOTO Spinr520 END IF530 SELECT K$[2]540 CASE "<","V"$550 6 Currdie=MAX(1,Currdie-1)560 CASE ">","^"$570 2 Currdie=MIN(5,Currdie+1)580 CASE "E"590 ! GOTO RollI600 CASE ELSEl4 EL Quit 940 Quit: ! 950 DISP "Done!" 960 ENDP970 !:980 ! *** Main Program End990 !/1000 ! SUB Onedie(INTEGER Spots,OPTIONAL Erase)P;1010 ! Draw or erase the image of one die with rank given;1020 ! 'Spot46820 LABEL "Enter Score" 6830 RETURN 6840 Rrr: ! 6850 MOVE Myx,Myy6860 LABEL "ROLL "&VAL$(N) 6870 RETURN 6880 SUBEND880 SUBEND LL "&VAL$(N) B Unscore nderline$[1],Inverse$[1],Blink$[1],Ui$[1],Ub$[1],Bi$[1],Ubi$[1411 210 H=W1220 Pad=2e 230 X=0=240 Y=88250 GINITe260 GRAPHICS OFF270 ScorecardO280 RANDOMIZE 290 Roll_dice 300 Lable(Roll)F0310 ON KEY 5 LABEL "Sel/Desel" GOTO Toggle)320 4 610 BEEP S620 J GOTO SpinI630 END SELECT!640 IF Olddie=Currdie THEN +650 BEEP i660 y GOTO Spinu670 END IF680 Cursor690 GOTO Spini700 Score: !710 Roll=1720 Lable(4 s'. If optional param Erase is present, erase:1030 ! the image by setting PEN -1.Otherwise, set PEN 1.;1040 ! This SUB relies on the calling context to position51050 ! the graphics cursor to the appropriate places1060 !.1070 SUB Onedie(INTEG47 [=55 >2440 OPTION BASE 1T2450 COM /Bases/ INTEGER X,Yt(2460 COM /Dimensions/ INTEGER W,H,Pad 2470 RETURN X+(W+Pad)*(Die-1) 2480 FNENDU2490 !N-2500 ! SUB Draw_cursor(INTEGER X,OPTIONAL P) =2510 ! Draw the graphical cursor at the given X 5itive, erase the die's image:2810 ! If the die's value was negative, draw the image.2820 !2830 SUB Toggle(INTEGER Die)w2840 OPTION BASE 1G"2850 COM /Bases/ INTEGER Hisx,Y2860 COM /Dice/ Dice(*)2870 INTEGER X/2880 X=FNStar5dND(H*5/8,1)+1R1250 Corner=01260 END IF1270 IF (NPAR=2) THEN 81280 PEN -1 1290 ELSE1300 PEN 111310 END IF1320 IF Corner THEN N1330 IMOVE 0,2H1340 IDRAW 2,-21350 IDRAW W-4,0N1360 IDRAW 51710 GOSUB Upleft1720 GOSUB Midleftt1730 GOSUB Lowleftt1740 GOSUB Uprightt1750 GOSUB Midright1760 GOSUB Lowright1770 CASE ELSEo1780 BEEP S/1790 DISP "Die value out of range: ";Spotsc1800 END SE580 IDRAW 0,-12190 IDRAW 1,012200 IDRAW 0,112210 IDRAW -1,02220 RETURN 12230 Exit:SUBEND2240 !i2250 ! SUB Cursor:2260 ! Draw a graphical "cursor" under the current die,82270 ! Erasing it from under the old current, if 5 coordinate.hD2520 ! If optional "P" parameter is given, change the PEN to that.2530 ! Otherwise, set PEN 1m2540 ! +2550 SUB Draw_cursor(INTEGER X,OPTIONAL P),2560 OPTION BASE 1("2570 COM /Bases/ INTEGER Hisx,Y(2580 COM /Dimensions/52,2,1370 IDRAW 0,H-4N1380 IDRAW -2,21390 IDRAW -(W-4),01400 IDRAW -2,-2)1410 IDRAW 0,-(H-4)1420 IMOVE -0,-2- 1430 ELSE1440 IDRAW W,0-1450 IDRAW 0,H-1460 IDRAW -W,01470 IDRAW 0,-H145jLECT1810 GOTO ExitT1820 Center: !1830 IMOVE Cw-1,Cha1840 GOSUB Spot1850 IMOVE -(Cw-1),-Ch 1860 RETURN (1870 Upright: !(1880 IMOVE Tqw,Tqh,1890 GOSUB Spot1900 IMOVE -Tqw,-TqhC1910 RETURN T1920 Lowleft: !T5 any.H2280 ! Set Olddie (called "Old" here) to Currdie (called "New" here.)2290 ! 2300 SUB Cursor2310 OPTION BASE 1("2320 COM /Curr/ INTEGER New,Old2330 IF (Old) THEN '2340 Draw_cursor(FNStartx(Old),-1))2350 END IF"2360 5 ~ INTEGER W,H,Pad2590 INTEGER Mypi2600 IF NPAR=2 THEN /2610 Myp=P= 2620 ELSE2630 Myp=1=2640 END IF2650 MOVE X,Y2660 PEN MypY2670 IF W>9 THEN 2680 IDRAW 0,-12690 IDRAW W,012700 IDRAW 0,11 580 END IF1490 SELECT Spots1500 CASE 11510 GOSUB Center1520 CASE 21530 GOSUB Upright)1540 GOSUB Lowleft)1550 CASE 31560 GOSUB Center1570 GOSUB Upright)1580 GOSUB Lowleft)1590 CASE 416005i1930 IMOVE Qw,Qh-1940 GOSUB Spot1950 IMOVE -Qw,-Qhq1960 RETURN Q1970 Upleft: !1980 IMOVE Qw,Tqh1990 GOSUB Spot2000 IMOVE -Qw,-Tqh2010 RETURN Q2020 Lowright: !2030 IMOVE Tqw,Qh2040 GOSUB Spot2050 IMOV5   Draw_cursor(FNStartx(New))-2370 Old=New ! NB:Changing Olddie/Currdieu 2380 SUBEND2390 !2400 ! FNStartx(INTEGER Die)L2410 ! Calculate and return the starting X coordinate of the current die.2420 !2430 DEF FNStartx(INTEGER Die)t52710 ELSE2720 IMOVE 0,-12730 IDRAW W,012740 IMOVE 0,112750 END IF 2760 SUBEND2770 ! 2780 ! SUB Toggle(INTEGER Die)?2790 ! Change the sign of the given die in the Dice() array.t@2800 ! If the die's value was pos54 GOSUB Upleft1610 GOSUB Upright)1620 GOSUB Lowleft)1630 GOSUB Lowright1640 CASE 51650 GOSUB Upleft1660 GOSUB Uprightt1670 GOSUB Center1680 GOSUB Lowleftt1690 GOSUB Lowright1700 CASE 65^E -Tqw,-Qh2060 RETURN T2070 Midleft: !T2080 IMOVE Qw,Ch-2090 GOSUB Spot2100 IMOVE -Qw,-Chh2110 RETURN Q2120 Midright: !2130 IMOVE Tqw,Ch2140 GOSUB Spot2150 IMOVE -Tqw,-Ch2160 RETURN T 2170 Spot: !N2157 [=6|6|in the Dice() array, if the currenti@3000 ! value is negative, replace it with a new random valueA3010 ! between 1 and 6. Set Currdie to 1 and draw the cursor.a3020 !3030 SUB Roll_dice13040 OPTION BASE 1a3050 COM /Bases/ INTEGER 6-sp/ Score$(13)[10],Score_name$(13)[15]y3310 COM /Crt/ Clear_crt$[2],Home$[2],Underline$[1],Inverse$[1],Blink$[1],Ui$[1],Ub$[1],Bi$[1],Ubi$[1],Enhance_off$[1]73320 DIM Bonus$[10],Upper$[10],Lower$[10],Total$[10]I3330 Score_name$(1)="Ones"[336 :Upper+Score(I)3580 ELSE"3590 Lower=Lower+Score(I)3600 END IF$3610 Score$(I)=VAL$(Score(I))3620 L=LEN(Score$(I))E3630 VScore$(I)=Underline$&RPT$(" ",8-L)&Score$(I)&Enhance_off$i3640 END IF3650 6 >Z16 Scorecard"&Enhance_off$n3960 PRINT ""%3970 Fmt1:IMAGE 1X,18A,10A,4X,18A,10A 3980 Fmt2:IMAGE 31X,18A,10A43990 FOR I=1 TO 6P4000 PRINT USING Fmt1;Score_name$(I),Score$(I),Score_name$(I+6),Score$(I+6)4010 NEXT I34020 PRINT USIN6X,Y (3060 COM /Dimensions/ INTEGER W,H,Pad)3070 COM /Curr/ INTEGER Currdie,Olddieo3080 COM /Dice/ Dice(*)3090 INTEGER I/3100 FOR I=1 TO 53110 IF Dice(I)<0 THEN 3120 Currdie=INT(RND*6+1) 3130 MOVE (W+Pad)*(I-1)640 Score_name$(2)="Twos"[3350 Score_name$(3)="Threes"03360 Score_name$(4)="Fours"3370 Score_name$(5)="Fives"3380 Score_name$(6)="Sixes"(3390 Score_name$(7)="Three of a Kind"'3400 Score_name$(8)="Four of a Kind""#3410 Scor6 aNEXT I3660 IF Upper>=63 THEN 3670 Bonus=353680 Upper=Upper+Bonusl3690 END IF3700 IF Final THEN 3710 Total=Lower+Upperl3720 Total$=VAL$(Total)63730 Total$=Blink$&RPT$(" ",8-LEN(Total$))&Total$ 3740 ELSE6G Fmt2;Score_name$(13),Score$(13),'4030 PRINT USING Fmt1;"Bonus",Bonus$)4040 PRINT ""B4050 PRINT USING Fmt1;"Upper Total",Upper$,"Lower Total",Lower$4060 Fmt3:IMAGE X,18A,10A"-4070 PRINT USING Fmt3;"Grand Total",Total$,4080 ! 4090 6,Y3140 Onedie(Currdie)-3150 Dice(I)=Currdie-3160 END IF3170 NEXT I3180 Currdie=1I3190 Cursor 3200 SUBEND3210 !.3220 ! SUB Scorecard(OPTIONAL INTEGER Final)C3230 ! Total the current Scores() array and pr6e_name$(9)="Full House"i(3420 Score_name$(10)="Small Straight"(3430 Score_name$(11)="Large Straight" 3440 Score_name$(12)="YATC!!""3450 Score_name$(13)="Chance??"#3460 INTEGER Menu,Final ! modesi3470 Menu=03480 Final=0 .34906 23750 Total$="**@"$3760 END IF3770 IF Upper=0 THEN 3780 Upper$=" l"$ 3790 ELSE3800 Upper$=VAL$(Upper)3810 END IF3820 IF Lower=0 THEN 3830 Lower$=" *") 3840 ELSE3850 Lower$=VAL$(Lo6 IF Final THEN 4100 GCLEAR4110 MOVE 0,90E4120 CSIZE 10,.5 4130 LABEL "GAME OVER"r4140 END IF 4150 SUBEND4160 !4170 ! FNSelect_slotF4180 ! Choose a "slot" in the scorecard to fill with a score. SkipF4190 !6itx(Die)(2890 MOVE X,Y2900 IF Dice(Die)>0 THEN "2910 Onedie(INT(Dice(Die)),1) 2920 ELSE2930 Onedie(-Dice(Die))2940 END IF2950 Dice(Die)=-Dice(Die) 2960 SUBEND2970 !2980 ! SUB Roll_dice;2990 ! For each die 6int the scorecard.J3240 ! If the optional Final parameter is given, calculate and display3250 ! the grand total3260 !*3270 SUB Scorecard(OPTIONAL INTEGER Mode)3280 OPTION BASE 1P 3290 COM /Scorecard/ Score(*):3300 COM /Scoredi6C IF NPAR=1 THEN ! We were given a mode3500 Final=1 3510 END IF3520 FOR I=1 TO 13N3530 IF Score(I)=-1 THEN 83540 Score$(I)=Underline$&" $"&Enhance_off$3550 ELSE3560 IF I<7 THEN "3570 Upper=6 wer)3860 END IF3870 IF Bonus=0 THEN 3880 Bonus$=" ") 3890 ELSE3900 Bonus$=VAL$(Bonus)3910 END IF3920 OUTPUT 2;Clear_crt$;3930 PRINT Enhance_off$3940 PRINT TABXY(1,5)=3950 PRINT TAB(2);Inverse$&"YAT67 [=77 *4980 IF Slot=12 AND Score(Slot)=0 THEN 4990 BEEP 880,.5D5000 RETURN 05010 END IF5020 This_score=0 5030 !s75040 ! Mscore calculationse 5050 ! 5060 SELECT Slot 5070 !E5080 7HIF5330 NEXT I+5340 This_score=This_score*Got_minimumH 5350 !s5360 CASE 9<5370 ! e9 == full house5380 GOSUB Sumall5390 INTEGER Got_3,Got_2 5400 FOR I=1 TO 6*5410 IF7PV Maxe=J-14420 WHILE 114430 E=Eligible(Eptr)4440 IF E<7 THEN 4450 Line=7+E4460 Col=274470 ELSE4480 Line=E+14490 RCol=324500 END IF 4510 PRINT TABXY(Col,Line);54520 PRINT Invers7d YATZ rules. Allow zeroing of a score$Q4810 ! only once. Allow a positive score to be entered into a slot only once,1N4820 ! Except for YATZ, which can be entered as many times as it comes up,N4830 ! unless it is zeroed first. If and of thes7 g CASE <7SN5090 ! O Upper half. Sum dice that match the current slot5100 FOR I=1 TO 5!5110 IF Dice(I)=Slot THEN e(5120 This_score=This_score+Slot5130 2END IF5140 NEXT I-5150 IF This_score<7U" Frequency(I)=3 THEN Got_3=1*5420 ZIF Frequency(I)=2 THEN Got_2=15430 NEXT I"5440 IF Got_2 AND Got_3 THEN 5450 $This_score=25t5460 ELSE5470 $This_score=05480 END IF 5490 ! 5500 CASE 10,11@55107 slots in the selection meny that already have a value. YATZA4200 ! is an exception. Allow a new score to go in that slot. 4210 !4220 DEF FNSelect_sloti4230 OPTION BASE 1o 4240 COM /Scorecard/ Score(*):4250 COM /Scoredisp/ Score$7Ve$&Score_name$(E)&Enhance_off$;]4530 ON KBD GOTO Checkkey4540 Spin:GOTO SpinT4550 Checkkey:K$=KBD$ 4560 IF LEN(K$)<>2 THEN y4570 BEEP K4580 PGOTO Spin>4590 END IF4600 SELECT K$[2]"4610 CASE "<","V",">"7De conditions are violated,O4840 ! BEEP and return 0. Detect when a score card is full, and return 2 ifeO4850 ! so. Otherwise return 1. Caller is responsible to ensure that Slot ise4860 ! between 1 and 13.4870 !4880 DEF FNScore(INTEGE7 3*Slot THEN ! Uh-oh 5160 WAIT 15170 BEEP 1440,.35180 BEEP 1200,.55190 >WAIT 15200 END IF 5210 !N5220 CASE 7,8=5230 ! 7 == 3 of a kind =5240 !  7(13)[10],Score_name$(13)[15]y4260 COM /Crt/ Clear_crt$[2],Home$[2],Underline$[1],Inverse$[1],Blink$[1],Ui$[1],Ub$[1],Bi$[1],Ubi$[1],Enhance_off$[1]4270 DIM Eligible(13),K$[2](4280 INTEGER I,J,Line,Col,E,Eptr,Maxe 4290 J=1E4300 FOR I=7],"^","E"4620 $OFF KBD"4630 CASE ELSE"4640 BEEP S4650 GOTO Spin"4660 END SELECT 4670 PRINT TABXY(Col,Line);,4680 PRINT Enhance_off$&Score_name$(E);4690 SELECT K$[2]4700 CASE "V","<"4710 7 R Slot) 4890 !4900 OPTION BASE 1E 4910 COM /Scorecard/ Score(*)4920 COM /Dice/ Dice(*))4930 INTEGER This_score,Frequency(1:6) -4940 IF Slot<>12 AND Score(Slot)<>-1 THEN r4950 BEEP 110,.5N4960 RETURN 04970 END IF7  0 8 == 4 of a kind 5250 GOSUB Sumall 5260 Z!U5270 INTEGER Got_minimum 5280 Got_minimum=0i5290 FOR I=1 TO 5/5300 *IF Frequency(Dice(I))>=Slot-4 THEN =5310 Got_minimum=1c5320 END 7.1 TO 13i4310 IF Score(I)=-1 THEN 4320 Eligible(J)=IT4330 J=J+1b4340 ELSE)4350 $IF I=12 AND Score(I)<>0 THEN U4360 Eligible(J)=124370 @END IF4380 END IF4390 NEXT I4400 Eptr=14410 74 Eptr=MAX(1,Eptr-1)4720 CASE "^",">"!4730 0Eptr=MIN(Maxe,Eptr+1)e4740 CASE "E"4750 RETURN E4760 END SELECT4770 END WHILEE 4780 FNEND 4790 ! FNScore(INTEGER Slot)O4800 ! Score the current roll. Enforce77 [=88 !  10 == small straight@5520 ! 11 == large straight$5530 INTEGER Streak,High_streak5540 Streak=05550 High_streak=0k5560 GOSUB Sumall5570 FOR I=1 TO8"unless it hasn't scored yet.K5860 D! Couldn't catch this before because we could have had Yatz..l"5870 IF Score(12)<>-1 THEN 5880 BEEP 220,.1>5890 RETURN 05900 END IF5910 END IF 5920 ! 5930 8/ 16180 END IF 6190 ! 6200 Sumall: !:6210 This_score=06220 FOR I=1 TO 66230 Frequency(I)=06240 NEXT I6250 FOR I=1 TO 5'6260 This_score=This_score+Dice(I)M16270 Frequency(Dice(I))=Frequency(Dice(I))+1p628 MX,YR(6560 COM /Dimensions/ INTEGER W,H,Pad$6570 COM /Lable/ INTEGER Oldphase6580 INTEGER Myx,Myy,NE6590 Myx=5*(W+Pad)+2*Pad 6600 Myy=Y+4W6610 MOVE Myx,Y+10+6620 SELECT Phase6630 CASE 1(6640 IF Oldphase THEN GOSUB8= 6!5580 IF Frequency(I) THEN e5590 Streak=Streak+1H5600 ELSE15610 *High_streak=MAX(Streak,High_streak) 5620 Streak=05630 NEND IF5640 NEXT I(5650 Streak=MAX(Streak,High_streak) 5660 8} CASE 13F75940 ! +13 == Chanceo5950 GOSUB Sumall%5960 o! That's all for this one 85970 END SELECT ! Caller ensures input is in range. 5980 ! 65990 ! Apply S8 80 NEXT I6290 RETURN e 6300 FNENDU6310 !6320 SUB Init_screeni6330 OPTION BASE 1iy6340 COM /Crt/ Clear_crt$[2],Home$[2],Underline$[1],Inverse$[1],Blink$[1],Ui$[1],Ub$[1],Bi$[1],Ubi$[1],Enhance_off$[1]$6350 COM /Lable/ INTEGER 8  Unscore6650 Oldphase=16660 GOSUB Roll6670 PEN 1 6680 CASE 2,36690 Oldphase=Phase-16700 GOSUB Unroll6710 GOSUB Roll6720 CASE 46730 Oldphase=36740 GOSUB Unroll6750 GOSUB Scorel6760 8uIF Slot-Streak<9 THEN "5670 ,This_score=(Slot-7)*105680 ELSE5690 $This_score=05700 END IF 5710 ! 5720 CASE 12F65730 ! 12 == yatz! 5740 "! 5750 INTEGER Target,Yes8core6000 IF Slot<>12 THEN 6010 Score(Slot)=This_score 6020 ELSE*6030 IF Score(12)=-1 THEN Score(12)=0(6040 Score(12)=Score(12)+This_score6050 END IFB6060 ! !check for filled score card 60708 ZOldphase%6360 Clear_crt$=CHR$(255)&CHR$(75)[6370 Enhance_off$=CHR$(128)6380 Inverse$=CHR$(129)6390 Blink$=CHR$(130)6400 Bi$=CHR$(131)36410 Underline$=CHR$(132)6420 Ui$=CHR$(133)R6430 Ub$=CHR$(134)R6440 Ubi$=CHR$(8 END SELECT6770 SUBEXITE 6780 Roll: ! 6790 PEN 1I6800 N=PhaseE6810 GOSUB RrrT6820 RETURN r6830 Unroll: !6840 N=Oldphase6850 PEN -16860 GOSUB Rrre6870 RETURN r 6880 Score: !N 6890 PEN 1N6900 GOSUB Ss8H5760 Target=Dice(1)5770 Yes=1t5780 FOR I=2 TO 5)5790 NIF Dice(I)<>Target THEN Yes=0 5800 NEXT I5810 IF Yes THEN 5820 $This_score=50a5830 ELSE5840 This_score=0<5850 ! Can't zero Yatz 8 ! 6080 INTEGER Full6090 Full=16100 FOR I=1 TO 13 $6110 IF Score(I)=-1 THEN Full=06120 NEXT I66130 ! [Main exit point6140 IF Full THEN 6150 RETURN 2 6160 ELSE6170 RETURN8 135)6450 PRINTER IS 16460 CONTROL 2,1;0)6470 CONTROL 1,4;0)6480 OUTPUT 2;Clear_crt$; 6490 GINITT6500 GCLEAR6510 Oldphase=0 6520 SUBEND6530 SUB Lable(INTEGER Phase)6540 OPTION BASE 1E6550 COM /Bases/ INTEGER 8se6910 RETURN s6920 Unscore: !s6930 PEN -16940 GOSUB Ssse6950 RETURN s6960 Sss: !6970 MOVE Myx,Myy6980 LABEL "Enter Score"G6990 RETURN E 7000 Rrr: !N7010 MOVE Myx,Myy7020 LABEL "ROLL "&VAL$(N)S703087 [=99 EL Quit 940 Quit: ! 950 DISP "Done!" 960 ENDP970 !:980 ! *** Main Program End990 !/1000 ! SUB Onedie(INTEGER Spots,OPTIONAL Erase)P;1010 ! Draw or erase the image of one die with rank given;1020 ! 'Spot9 dND(H*5/8,1)+1R1250 Corner=01260 END IF1270 IF (NPAR=2) THEN 81280 PEN -1 1290 ELSE1300 PEN 111310 END IF1320 IF Corner THEN N1330 IMOVE 0,2H1340 IDRAW 2,-21350 IDRAW W-4,0N1360 IDRAW 911 210 H=W1220 Pad=2e 230 X=0=240 Y=88250 GINITe260 GRAPHICS OFF270 ScorecardO280 RANDOMIZE 290 Roll_dice 300 Lable(Roll)F0310 ON KEY 5 LABEL "Sel/Desel" GOTO Toggle)320 9610 BEEP S620 J GOTO SpinI630 END SELECT!640 IF Olddie=Currdie THEN +650 BEEP i660 y GOTO Spinu670 END IF680 Cursor690 GOTO Spini700 Score: !710 Roll=1720 Lable(9 s'. If optional param Erase is present, erase:1030 ! the image by setting PEN -1.Otherwise, set PEN 1.;1040 ! This SUB relies on the calling context to position51050 ! the graphics cursor to the appropriate places1060 !.1070 SUB Onedie(INTEG92,2,1370 IDRAW 0,H-4N1380 IDRAW -2,21390 IDRAW -(W-4),01400 IDRAW -2,-2)1410 IDRAW 0,-(H-4)1420 IMOVE -0,-2- 1430 ELSE1440 IDRAW W,0-1450 IDRAW 0,H-1460 IDRAW -W,01470 IDRAW 0,-H149 ON KEY 6 LABEL "Roll" GOTO Roll +330 ON KEY 7 LABEL "Score" GOTO Scoreo)340 ON KEY 8 LABEL "Quit" GOTO Quitr350 ON KBD GOTO Checkkey360 GRAPHICS ON 370 Spin: GOTO SpinO380 Toggle: !390 CALL Toggle(Currdie)9PO4)730 INTEGER Slot,Ret740 Slot=-1 750 WHILE Slot<0760  Scorecard0770  Slot=FNSelect_slot780  Ret=FNScore(Slot)t790  IF NOT Ret THEN 800 BEEP R810  Slot=0-ABS(Slot)820 9 ER Spots,OPTIONAL Erase)1080 OPTION BASE 1GP1090 INTEGER Cw,Ch,Qw,Qh,Tqw,Tqh ! Half, quarte and three-quarter dimensions61100 INTEGER Corner ! Flag whether to draw corners(1110 COM /Dimensions/ INTEGER W,H,Pad1120 Ch=H/21130 Cw980 END IF1490 SELECT Spots1500 CASE 11510 GOSUB Center1520 CASE 21530 GOSUB Upright)1540 GOSUB Lowleft)1550 CASE 31560 GOSUB Center1570 GOSUB Upright)1580 GOSUB Lowleft)1590 CASE 416009 RETURN R 7040 SUBENDnscore: !s6930 PEN -16940 GOSUB Ssse6950 RETURN s6960 Sss: !6970 MOVE Myx,Myy6980 LABEL "Enter Score"G6990 RETURN E 7000 Rrr: !N7010 MOVE Myx,Myy7020 LABEL "ROLL "&VAL$(N)S70309400 GOTO Spinl 410 Roll: !420 Roll=Roll+1(430 Roll_dice+440 Lable(Roll)(450 IF Roll=3 THEN Score460 GOTO Spin 470 Checkkey: !480 K$=KBD$i490 IF K$[1]=" " THEN 500 Toggle(Currdie) 9nS END IF830 END WHILE0,840 IF Ret=1 THEN ! Score isn't final850  ScorecardE860  Final=0r870 ELSE880  Scorecard(1)890 M Final=1r900 END IF910 UNTIL Finalr920 Quit=1930 UNTI9 =W/21140 IF H>10 THEN n1150 Qw=W/4-11160 Qh=H/41170 Tqw=W*3/4N1180 Tqh=H*3/4+1n1190 Corner=1 1200 ELSE1210 Qw=DROUND(W/5,1)1220 Qh=DROUND(H/5,1)+11230 Tqw=DROUND(W*5/8,1)G1240 Tqh=DROU9l,Quit,Roll3 100 Roll=1110 REPEAT ! UNTIL Quit120 FOR I=1 TO 13 130 Score(I)=-1 140 NEXT I$150 REPEAT ! UNTIL Final (Score)160 FOR I=1 TO 5170 Dice(I)=-1180 NEXT I190 Olddie=0200 W=9510 R GOTO Spinr520 END IF530 SELECT K$[2]540 CASE "<","V"$550 6 Currdie=MAX(1,Currdie-1)560 CASE ">","^"$570 2 Currdie=MIN(5,Currdie+1)580 CASE "E"590 ! GOTO RollI600 CASE ELSEl97 [=::i1930 IMOVE Qw,Qh-1940 GOSUB Spot1950 IMOVE -Qw,-Qhq1960 RETURN Q1970 Upleft: !1980 IMOVE Qw,Tqh1990 GOSUB Spot2000 IMOVE -Qw,-Tqh2010 RETURN Q2020 Lowright: !2030 IMOVE Tqw,Qh2040 GOSUB Spot2050 IMOV:  Draw_cursor(FNStartx(New))-2370 Old=New ! NB:Changing Olddie/Currdieu 2380 SUBEND2390 !2400 ! FNStartx(INTEGER Die)L2410 ! Calculate and return the starting X coordinate of the current die.2420 !2430 DEF FNStartx(INTEGER Die)t: 2710 ELSE2720 IMOVE 0,-12730 IDRAW W,012740 IMOVE 0,112750 END IF 2760 SUBEND2770 ! 2780 ! SUB Toggle(INTEGER Die)?2790 ! Change the sign of the given die in the Dice() array.t@2800 ! If the die's value was pos:X,Y (3060 COM /Dimensions/ INTEGER W,H,Pad)3070 COM /Curr/ INTEGER Currdie,Olddieo3080 COM /Dice/ Dice(*)3090 INTEGER I/3100 FOR I=1 TO 53110 IF Dice(I)<0 THEN 3120 Currdie=INT(RND*6+1) 3130 MOVE (W+Pad)*(I-1):4 GOSUB Upleft1610 GOSUB Upright)1620 GOSUB Lowleft)1630 GOSUB Lowright1640 CASE 51650 GOSUB Upleft1660 GOSUB Uprightt1670 GOSUB Center1680 GOSUB Lowleftt1690 GOSUB Lowright1700 CASE 6:^E -Tqw,-Qh2060 RETURN T2070 Midleft: !T2080 IMOVE Qw,Ch-2090 GOSUB Spot2100 IMOVE -Qw,-Chh2110 RETURN Q2120 Midright: !2130 IMOVE Tqw,Ch2140 GOSUB Spot2150 IMOVE -Tqw,-Ch2160 RETURN T 2170 Spot: !N21:>2440 OPTION BASE 1T2450 COM /Bases/ INTEGER X,Yt(2460 COM /Dimensions/ INTEGER W,H,Pad 2470 RETURN X+(W+Pad)*(Die-1) 2480 FNENDU2490 !N-2500 ! SUB Draw_cursor(INTEGER X,OPTIONAL P) =2510 ! Draw the graphical cursor at the given X : itive, erase the die's image:2810 ! If the die's value was negative, draw the image.2820 !2830 SUB Toggle(INTEGER Die)w2840 OPTION BASE 1G"2850 COM /Bases/ INTEGER Hisx,Y2860 COM /Dice/ Dice(*)2870 INTEGER X/2880 X=FNStar:1710 GOSUB Upleft1720 GOSUB Midleftt1730 GOSUB Lowleftt1740 GOSUB Uprightt1750 GOSUB Midright1760 GOSUB Lowright1770 CASE ELSEo1780 BEEP S/1790 DISP "Die value out of range: ";Spotsc1800 END SE:80 IDRAW 0,-12190 IDRAW 1,012200 IDRAW 0,112210 IDRAW -1,02220 RETURN 12230 Exit:SUBEND2240 !i2250 ! SUB Cursor:2260 ! Draw a graphical "cursor" under the current die,82270 ! Erasing it from under the old current, if : coordinate.hD2520 ! If optional "P" parameter is given, change the PEN to that.2530 ! Otherwise, set PEN 1m2540 ! +2550 SUB Draw_cursor(INTEGER X,OPTIONAL P),2560 OPTION BASE 1("2570 COM /Bases/ INTEGER Hisx,Y(2580 COM /Dimensions/: itx(Die)(2890 MOVE X,Y2900 IF Dice(Die)>0 THEN "2910 Onedie(INT(Dice(Die)),1) 2920 ELSE2930 Onedie(-Dice(Die))2940 END IF2950 Dice(Die)=-Dice(Die) 2960 SUBEND2970 !2980 ! SUB Roll_dice;2990 ! For each die :jLECT1810 GOTO ExitT1820 Center: !1830 IMOVE Cw-1,Cha1840 GOSUB Spot1850 IMOVE -(Cw-1),-Ch 1860 RETURN (1870 Upright: !(1880 IMOVE Tqw,Tqh,1890 GOSUB Spot1900 IMOVE -Tqw,-TqhC1910 RETURN T1920 Lowleft: !T:any.H2280 ! Set Olddie (called "Old" here) to Currdie (called "New" here.)2290 ! 2300 SUB Cursor2310 OPTION BASE 1("2320 COM /Curr/ INTEGER New,Old2330 IF (Old) THEN '2340 Draw_cursor(FNStartx(Old),-1))2350 END IF"2360 : ~ INTEGER W,H,Pad2590 INTEGER Mypi2600 IF NPAR=2 THEN /2610 Myp=P= 2620 ELSE2630 Myp=1=2640 END IF2650 MOVE X,Y2660 PEN MypY2670 IF W>9 THEN 2680 IDRAW 0,-12690 IDRAW W,012700 IDRAW 0,11 :|in the Dice() array, if the currenti@3000 ! value is negative, replace it with a new random valueA3010 ! between 1 and 6. Set Currdie to 1 and draw the cursor.a3020 !3030 SUB Roll_dice13040 OPTION BASE 1a3050 COM /Bases/ INTEGER :7 [=;; Total$="**@")3760 END IF3770 IF Upper=0 THEN 3780 Upper$=" l") 3790 ELSE3800 Upper$=VAL$(Upper)3810 END IF3820 IF Lower=0 THEN 3830 Lower$=" 2") 3840 ELSE3850 Lower$=VAL$(Lower)38; ~4100 !4110 ! FNSelect_slotF4120 ! Choose a "slot" in the scorecard to fill with a score. SkipF4130 ! slots in the selection meny that already have a value. YATZA4140 ! is an exception. Allow a new score to go in that slot. 4150 !;int the scorecard.J3240 ! If the optional Final parameter is given, calculate and display3250 ! the grand total3260 !*3270 SUB Scorecard(OPTIONAL INTEGER Mode)3280 OPTION BASE 1P 3290 COM /Scorecard/ Score(*):3300 COM /Scoredi; IF NPAR=1 THEN ! We were given a mode3500 IF Mode=1 THEN Menu=1r 3510 IF Mode=2 THEN Final=13520 END IF3530 FOR I=1 TO 13H3540 IF Score(I)=-1 THEN 83550 Score$(I)=Underline$&" "&Enhance_off$3560 ELSE; !60 END IF3870 IF Bonus=0 THEN 3880 Bonus$=" ") 3890 ELSE3900 Bonus$=VAL$(Bonus)3910 END IF3920 OUTPUT 2;Clear_crt$;3930 PRINT Enhance_off$3940 PRINT TABXY(1,5)=3950 PRINT TAB(2);Inverse$&"YATZ16 Scor; 4160 DEF FNSelect_sloti4170 OPTION BASE 1o 4180 COM /Scorecard/ Score(*):4190 COM /Scoredisp/ Score$(13)[10],Score_name$(13)[15]y4200 COM /Crt/ Clear_crt$[2],Home$[2],Underline$[1],Inverse$[1],Blink$[1],Ui$[1],Ub$[1],Bi$[1],Ubi$[1],Enhanc;sp/ Score$(13)[10],Score_name$(13)[15]y3310 COM /Crt/ Clear_crt$[2],Home$[2],Underline$[1],Inverse$[1],Blink$[1],Ui$[1],Ub$[1],Bi$[1],Ubi$[1],Enhance_off$[1]73320 DIM Bonus$[10],Upper$[10],Lower$[10],Total$[10]I3330 Score_name$(1)="Ones"[33;3570 IF I<7 THEN "3580 Upper=Upper+Score(I)3590 ELSE"3600 Lower=Lower+Score(I)3610 END IF$3620 Score$(I)=VAL$(Score(I))3630 L=LEN(Score$(I))E3640 &Score$(I)=Underline$&RPT$(" ",8-L)&Sco; ecard"&Enhance_off$n3960 PRINT ""%3970 Fmt1:IMAGE 1X,18A,10A,4X,18A,10A 3980 Fmt2:IMAGE 31X,18A,10A43990 FOR I=1 TO 6P4000 PRINT USING Fmt1;Score_name$(I),Score$(I),Score_name$(I+6),Score$(I+6)4010 NEXT I34020 PRINT USING Fmt2;S;e_off$[1]4210 DIM Eligible(13),K$[2](4220 INTEGER I,J,Line,Col,E,Eptr,Maxe 4230 J=1E4240 FOR I=1 TO 13i4250 IF Score(I)=-1 THEN 4260 Eligible(J)=IT4270 J=J+1b4280 ELSE)4290 IF I=12 AND Score(I)<>0 ;40 Score_name$(2)="Twos"[3350 Score_name$(3)="Threes"03360 Score_name$(4)="Fours"3370 Score_name$(5)="Fives"3380 Score_name$(6)="Sixes"(3390 Score_name$(7)="Three of a Kind"'3400 Score_name$(8)="Four of a Kind""#3410 Scor;are$(I)&Enhance_off$i3650 END IF3660 NEXT I3670 IF Upper>=63 THEN 3680 Bonus=353690 Upper=Upper+Bonusl3700 END IF3710 IF Final THEN 3720 Total=Lower+Upperl3730 Total$=VAL$(Total) 3740 ELSE3750 ; core_name$(13),Score$(13),'4030 PRINT USING Fmt1;"Bonus",Bonus$)4040 PRINT ""B4050 PRINT USING Fmt1;"Upper Total",Upper$,"Lower Total",Lower$4060 Fmt3:IMAGE X,18A,10A"-4070 PRINT USING Fmt3;"Grand Total",Total$,4080 ! 4090 SUBEND; THEN U4300 Eligible(J)=124310 END IF4320 END IF4330 NEXT I4340 Eptr=14350 Maxe=J-14360 WHILE 114370 E=Eligible(Eptr)4380 IF E<7 THEN 4390 Line=7+E4400 Col=274410 ELSE44;,Y3140 Onedie(Currdie)-3150 Dice(I)=Currdie-3160 END IF3170 NEXT I3180 Currdie=1I3190 Cursor 3200 SUBEND3210 !.3220 ! SUB Scorecard(OPTIONAL INTEGER Final)C3230 ! Total the current Scores() array and pr;e_name$(9)="Full House"i(3420 Score_name$(10)="Small Straight"(3430 Score_name$(11)="Large Straight" 3440 Score_name$(12)="YATC!!""3450 Score_name$(13)="Chance??"#3460 INTEGER Menu,Final ! modesi3470 Menu=03480 Final=0 .3490;7 [=<&<nCol,Line);,4620 PRINT Enhance_off$&Score_name$(E);4630 SELECT K$[2]4640 CASE "V","<"4650 0Eptr=MAX(1,Eptr-1)4660 CASE "^",">"!4670 0Eptr=MIN(Maxe,Eptr+1)e4680 CASE "E"4690 RETURN E4700 END SE<(1:6) -4880 IF Slot<>12 AND Score(Slot)<>-1 THEN r4890 BEEP 110,.5N4900 RETURN 04910 END IF*4920 IF Slot=12 AND Score(Slot)=0 THEN 4930 BEEP 880,.5D4940 RETURN 04950 END IF4960 This_score=0 4970 !s7< F FOR I=1 TO 5/5240 *IF Frequency(Dice(I))>=Slot-4 THEN =5250 Got_minimum=1c5260 LEND IF5270 NEXT I+5280 This_score=This_score*Got_minimumH 5290 !s5300 CASE 9<5310 !  <5560 Streak=05570 jEND IF5580 NEXT I(5590 Streak=MAX(Streak,High_streak) 5600 IF Slot-Streak<9 THEN "5610 ,This_score=(Slot-7)*105620 ELSE5630 $This_score=05640 END IF 5650 ! 5660 <mLECT4710 END WHILEE 4720 FNEND 4730 ! FNScore(INTEGER Slot)O4740 ! Score the current roll. Enforce YATZ rules. Allow zeroing of a score$Q4750 ! only once. Allow a positive score to be entered into a slot only once,1N4760 ! Except < 4980 ! ]score calculationse 4990 ! 5000 SELECT Slot 5010 !E5020 CASE <7SN5030 ! O Upper half. Sum dice that match the current slot5040 FOR I=1 TO 5!5050 IF Dice(I)=Slo< h 9 == full house5320 GOSUB Sumall5330 INTEGER Got_3,Got_2 5340 FOR I=1 TO 6*5350 $IF Frequency(I)=3 THEN Got_3=1*5360 ZIF Frequency(I)=2 THEN Got_2=15370 NEXT I"5380 IF Got_2 AND Got_3 THEN 5390 Th<` CASE 12F65670 ! 12 == yatz! 5680 j! 5690 INTEGER Target,Yes5700 Target=Dice(1)5710 Yes=1t5720 FOR I=2 TO 5)5730 >IF Dice(I)<>Target THEN Yes=0 5740 NEXT I5750 IF<20 Line=E+14430 Col=324440 END IF 4450 PRINT TABXY(Col,Line);54460 PRINT Inverse$&Score_name$(E)&Enhance_off$;]4470 ON KBD GOTO Checkkey4480 Spin:GOTO SpinT4490 Checkkey:K$=KBD$ 4500 IF LEN(K$)<>2 THEN y<for YATZ, which can be entered as many times as it comes up,N4770 ! unless it is zeroed first. If and of these conditions are violated,O4780 ! BEEP and return 0. Detect when a score card is full, and return 2 ifeO4790 ! so. Otherwise return <t THEN e(5060 This_score=This_score+Slot5070 NEND IF5080 NEXT I-5090 IF This_score<3*Slot THEN ! Uh-oh 5100 WAIT 15110 BEEP 1440,.35120 BEEP 1200,.55130 "WAIT 15140 END IF 5150 < "is_score=25t5400 ELSE5410 $This_score=05420 END IF 5430 ! 5440 CASE 10,11@5450 !  10 == small straight@5460 ! % 11 == large straight$5470 INTE< 4510 BEEP K4520 ^GOTO Spin>4530 END IF4540 SELECT K$[2]"4550 CASE "<","V",">","^","E"4560 $OFF KBD"4570 CASE ELSE"4580 BEEP S4590 8GOTO Spin"4600 END SELECT 4610 PRINT TABXY(<1. Caller is responsible to ensure that Slot ise4800 ! between 1 and 13.4810 !4820 DEF FNScore(INTEGER Slot) 4830 !4840 OPTION BASE 1E 4850 COM /Scorecard/ Score(*)4860 COM /Dice/ Dice(*))4870 INTEGER This_score,Frequency< ) !N5160 CASE 7,8=5170 ! 7 == 3 of a kind =5180 ! /8 == 4 of a kind 5190 GOSUB Sumall 5200 D!U5210 INTEGER Got_minimum 5220 Got_minimum=0i5230 < mzGER Streak,High_streak5480 Streak=05490 High_streak=0k5500 GOSUB Sumall5510 FOR I=1 TO 6!5520 IF Frequency(I) THEN e5530 Streak=Streak+1H5540 ELSE15550 &High_streak=MAX(Streak,High_streak) <7 [=== PN=Oldphase6790 PEN -16800 GOSUB Rrre6810 RETURN r 6820 Score: !N 6830 PEN 1N6840 GOSUB Ssse6850 RETURN s6860 Unscore: !s6870 PEN -16880 GOSUB Ssse6890 RETURN s6900 Sss: !6910 MOVE Myx,Myy6920 == Yes THEN 5760 $This_score=50a5770 ELSE5780 This_score=0<5790 4! Can't zero Yatz unless it hasn't scored yet.K5800 D! Couldn't catch this before because we could have had Yatz..l"5810 IF Score(12)<>-1 THEN = Main exit point6080 IF Full THEN 6090 RETURN 2 6100 ELSE6110 RETURN 16120 END IF 6130 ! 6140 Sumall: !:6150 This_score=06160 FOR I=1 TO 66170 Frequency(I)=06180 NEXT I6190=j Oldphase=0 6460 SUBEND6470 SUB Lable(INTEGER Phase)6480 OPTION BASE 1E6490 COM /Bases/ INTEGER X,YR(6500 COM /Dimensions/ INTEGER W,H,Pad$6510 COM /Lable/ INTEGER Oldphase6520 INTEGER Myx,Myy,NE6530 Myx=5*(W+Pad)+2*Pad = LABEL "Enter Score"G6930 RETURN E 6940 Rrr: !N6950 MOVE Myx,Myy6960 LABEL "ROLL "&VAL$(N)S6970 RETURN R 6980 SUBENDnscore: !s6870 PEN -16880 GOSUB Ssse6890 RETURN s6900 Sss: !6910 MOVE Myx,Myy6920 =T5820 BEEP 220,.1>5830 RETURN 05840 END IF5850 END IF 5860 ! 5870 CASE 13F75880 ! +13 == Chanceo5890 GOSUB Sumall%5900 $! That's all for this one 85910 = FOR I=1 TO 5'6200 This_score=This_score+Dice(I)M16210 Frequency(Dice(I))=Frequency(Dice(I))+1p6220 NEXT I6230 RETURN e 6240 FNENDU6250 !6260 SUB Init_screeni6270 OPTION BASE 1iy6280 COM /Crt/ Clear_crt$[2],Home$[= 6540 Myy=Y+4W6550 MOVE Myx,Y+10+6560 SELECT Phase6570 CASE 1(6580 IF Oldphase THEN GOSUB Unscore6590 Oldphase=16600 GOSUB Roll6610 PEN 1 6620 CASE 2,36630 Oldphase=Phase-16640 GOSUB Unroll= =KEND SELECT ! Caller ensures input is in range. 5920 ! 65930 ! Apply Score5940 IF Slot<>12 THEN 5950 Score(Slot)=This_score 5960 ELSE*5970 IF Score(12)=-1 THEN Score(12)=0(5980 Score(=2],Underline$[1],Inverse$[1],Blink$[1],Ui$[1],Ub$[1],Bi$[1],Ubi$[1],Enhance_off$[1]$6290 COM /Lable/ INTEGER Oldphase%6300 Clear_crt$=CHR$(255)&CHR$(75)[6310 Enhance_off$=CHR$(128)6320 Inverse$=CHR$(129)6330 Blink$=CHR$(130)6340 = 6650 GOSUB Roll6660 CASE 46670 Oldphase=36680 GOSUB Unroll6690 GOSUB Scorel6700 END SELECT6710 SUBEXITE 6720 Roll: ! 6730 PEN 1I6740 N=PhaseE6750 GOSUB RrrT6760 RETURN r6770 Unroll: !6780 ==512)=Score(12)+This_score5990 END IFB6000 ! check for filled score card 6010 ! 6020 INTEGER Full6030 Full=16040 FOR I=1 TO 13 $6050 IF Score(I)=-1 THEN Full=06060 NEXT I66070 ! =D Bi$=CHR$(131)36350 Underline$=CHR$(132)6360 Ui$=CHR$(133)R6370 Ub$=CHR$(134)R6380 Ubi$=CHR$(135)6390 PRINTER IS 16400 CONTROL 2,1;0)6410 CONTROL 1,4;0)6420 OUTPUT 2;Clear_crt$; 6430 GINITT6440 GCLEAR6450=7 [=>4>>>> >7 [=>>> > >>> >>>> >????? ??? ? ???7 [=? ???? ?@q@@@@ @@@ @ @@@ @@@@ @@7 [=AAAAA AAA7 [=A A AAA AAAA ABcBBBB BBB B BBB BB7 [=BBB BCCCC7 [=CC CCC C CCC CCCC CDUDDDD DDD D D7 [=DDD DDDD DEEEEE EEE E EEE EEEE7 [=E E FF c&TѰ Q ` f )  " MNP:RZTzV 70`` eE$ =xl|5pTk ],r[[(_C$``j%@g2 1 @ l K Bϸ,@  Qp!A`@i43`` - -'P0bz0Elr!FL%c{r qRYɼ5ٻ@ [s;# e#$h r98"A=m`6hM1E8j&e'zH,mE/!\/-:,9Aa6RS- R FbmPTU]@w_Z]ZXCѐnT @6A?R;1C. Đ e Ϩ `UDOqdQrQ l艳!q}%GpPڊ}""0}8@#4 E !Spk`I0prƽ!7}d0 og@bf np`` V$"- n`'J2@daii!I Gq0>F [ nH'G@(y~ "p~xUt  6+iq{xs?W=A`f .ZDQx!OB@qAp0n"`ts8e0@=N`@nBKs ` hּbdRNf "_+sHfEc@X40cu$qBa >>Иt46; enmu@ 0DMMt1.r eӜ4h`  e `4/ Q X`4A 6`躷ln{w+ }N`lV.J~-Lfӻ1ne,PJP^V優^`x0Pd2 tAcZ/  ZƠaD Z Fcg/:HhDL4w]"yI L~(6Y0Dgpso R 2P,36㬳DfMH1M30Bz#2AS"`͸DjX 6{C H#A@ц1pOD  ]@.:LTކ0@< l1,1_RE0zEs`kig@P3ug00DL- d"$,S'PpnL#P3a'0ܡ@D >b?#CBd! o8i 8&ĨHCPy0 B`o&fBلЃVP3aq 0gpA@@#$@?P%PA?G@(4A @9qNPt g C ;F@t0 @xJfE6(@}7Nn GB(2`C0 "u@P0K0Xhb&.e إ1(jP[hQ L1H !W0%W zF$6p8C$AM$4L!Ml#P7(0i $<@, =8 <"AX!H(q n`2*u 0p*PEޥ#r D̠p`_1m xA!%'@dx,z;o ` .AJ@$p)@)32@,<0BGna kp<HRH.ŀ Bubr6j%X(QKnCj6E9`x,#7-=Fe`PGs1z o~0"D?s0TA~ѭ~j R²#0+#ʣ1 5f 3uH> 5@* )F`s Ќc F~ ,4G 9APB иG@P@bQ7B-z l:!v0&bw0uqA7@ ޘh-.C en qR@pHSd4:RG`J7ha ?P'lDZc @  @cJ@U#P EhBHj`SeP!<@j D`>PHG Fp9H1HA G@ B'"H`\Sp @ F P  cA.JmDA6nU' 2;j6H8z7E0E2h0E auP-\4 j 4+@ WgJd@+BPU=,كIf [S Se yE~8j1)3X7 @!U7el|@[4 g EY&[E7asY v[,:S̓C?8JPx? yy+ p"7q y@u D773@B1p#y0t4161l 4G)A  4fa`12G1\`! Yې`xי0e c˶|G מ` i`@ x Uyj`y2;2 5`@@ PpXCD G.G1w/1oV GFM,o /^T^ otp ^ p  1TŕAǕ\43IB`jeTPdP Sp3p!؀ Hp  POp^`0OPN@ F` SUDO 9Cy@0 @APPdE1$d 2y ! !wa 3 R; !ND0`duuwpQ'p|pa31??_??`p`??~`??~`??_??_??_??~`??~`??`t 1:iep`??808G88pl<_BaÆw_?H<%ɯ??psfΜ МE3'ӟK(MUAfə(:`gӢ]m@.>1cM`n 79&tl";ɕo6~|_҅orʒ+J.i<% xw<$%/ l #A, z$D {u @?z*Ad ^:% HTA J(1`} /r17`C8o 7LcIp/Lx7bȣ??Ɂ81lj)!X"rHV$ s;\s.?H=;{>cS;\fs2}Z.2oN8r%\6X3IG"lT.2kF0b$sj[$r V iŬr0QEFH"Ik  S$R ,H+UH \  PD!b$@@ B@$ DKgS % qY t(( @1@rI&!8 ;3  |"<5MI쀏nXkuem}5f|]vI-- 28GD#}N;UScÒT  |^N;:;3xQw?~{SYt-A+FP"4. -K 7x4.qa1Rf+KY./6iIJӝ<빑 Є:`_W êVmls8tAGXMڷ%d.mBRJO:s*Ozӧ@ݧo PBF]KZ u~@0vv@dUv XxR,uk5:ja2 'm3[G^D!X궇AWhbNּ7+f\!p۾${>ޠ 59ˡDmRrU 6/6LW$d#+Y c$`3ʷ60l,ۙH>L!a (O:fcX1d1 ABq*xIgy+MWN`F;;F U7 eH ΅hQ t@5; ծ60E:k<{h{BюǏmnG:}*WA|C0@pGxp pVŀp~WqgqW'rrn7v&=ar.b0Wekeas9s>7tCWtԁJ7Kt6t[7uVuVlVlllF~vqm~'nHgnn$HfNVoohpxp i8qqGw!%Grrr-G<$jDŽ(Xs7׎6ǂsPfxaS0S S*_η'ŷPIPe %η0 ( |pR| r= (q` P6umRTtf@ '`[Jl5 >&0@p Y'0_[|`T`VP< ܁>D 0X ipo))*a  P6`; QO'V` l%=NlYL.dc SB HH  + `   ` / +``0f+Hp p/aj 0 ` 3+   @@@P@+^P 2  `C@   `  ``1  P PPp p p  f P@E 0 PE*wYTE*wYTE*wYTE*wYTE*wYTE*wYTE*wYTE*w f`f`pppppppp[[[[[____________pwqw#1Hl(r˶~xm7q@vuࠟ R@ &p 00 R3Z4&hosogpp 7 ܖqبqXt0 `  oK);hHMQ;9(BDI:sN8[E@ %70.1c*ƅ46)cB2+b)2-b:=CfYdf1Af@B% 1=i1հ f,יv\F  !jc@`avő5qfE6VšEE֩9KQ eQ <@I> 7cvЫJjI j6VMZ 0:ef 61 Z* B@0(e73ò0zSDt8?5^HdE?;+ FyJ"Ca%9=DpG@ ][ 33;: k+ MO[Q @NO |@`+tChu=kCЬU5kq[@ Oز73bI,uR#Y$`/Qp1빝[q;k*O 2OVxnYUD7  G{ ۼA@ +R ><߫bƳ KÛqA@ Jᛶ<{ J@*L ؊R>!<̯$ K7 +9Vsc1bwMEvpW sWw"_/y|dOcȄ1 o\sɂ$u3ɡ,wLaʦƩʪo|έ\{{%!ρ\'1̳S$C@6 ̒LlɡɥER@1%#%A)f%Q 7%O%?/]8w1;Պ7aIA?>*H ы   L)YÖ717M ] `- M%A-)}H->w>09@C%{9}zG̰oIN}O>Q=S}70uW\})-"mfҜ_&5 ݵ6:M{Yol0lPYNYɌ~1Rc½u6dA@U1W1E~~~陞Eo>t{@O>cRa"?P/Kg2eVJ޴ÍrMYyRTɑ~ ɒ,0Pa* ムa@VYDYaqTDx^~')>$ ?@& c)/P bC An9HnSYNy G !SS_8` 0Z?{.IonRhz9-7r=1r !u |~'L_N_xe(4#fc{?kApa0svoO ` LCOFY՟;m>NCqO?3 ןn9 P_TD7ݻ@˞9AD(^3__iHA)&I $2?q5 A0 cݮP6liE6@spAn߰ Y$6liE6@spAn߰ Y cݞ``` wlƪ\ήlM77:O8O9O9OO3Hw1 1 <ɓ<MNtCE);00oq],ftp{^4 $z <ɓ<MNtCEZ cݞfffY=_ٗ}'gO˘ C\0;wȑ˻O{  mMԺ-t9 9 9дY=_ٗ}'gO˘ C\0;wȑ˻O{ G0ĐJ}Mؒ_,%Z cݞ ;M`֍9 mAn{Pt%1K0H){8p8p mCnn؝=>FA EP@GHZ cݞ3330{ PYtY]%!ehnnޠ1d q& @7|6 f PYtY]%!ehnnHޠ1d q&3o8@@P@ b   ````` P.@@ 0 `pp /  +. c ` @ `j /2pA`` +N@ @@ p cj `/E@@s p`/a `$H0P./   0   pp p p @ P@  зr p p 0 0`100/` @R.  @PP H  殳` @ @pĘi c/  P. HfE1R P`` ` `: P/:k`#  з     0 p p`%p  p p pp/ P`k   PP/0 ` ``p +TPPf  /+:;+   / 0 @ @ 1 IPIIIII I#1w#1? X@B*(RLℑ'@Pyb R8ID-hIxRe$Ot4A\EP)r3˓*7,ӉF$T$i1eM0)RŠ"Dd)N\))m"GݓdUO,iHH*+n;JJ%lPUJILAH^ b {ڴeČޮan- h ?Ȁ1]l a;p q|uw 0>s`I 0W?PGԑePdhFgq!efc1 aF\tEhiƅrXH EFPB8Zs t!4eua1hG*AnnYGt pʩ#lpGJb`4ҩ=ʆ;gFIYW&xtl%o䁪YdlglI/ oza">nR ӯd2Nm D` aZt'PANɡPgblz a"95`% B(M8¡+{(gBU+ʇ5X:Vy TX@aI=%meh'kX+]mӸ–̈́k-UtAZ|ǵ]Hm Z/ S)YfҾ&~(|be,49!L"F jr'? E Q \4;P r5Hr3Jeȃ p6&2Pc!8Ȳq$/Onp܏Hr\c ;c2