'===========================================================================
' Subject: 3D RPG ENGINE                      Date: 02-10-97 (12:02)       
'  Author: Matt Zuchowski                     Code: QB, QBasic, PDS        
'  Origin: liphilli@flemingc.on.ca          Packet: GAMES.ABC
'===========================================================================
DEFINT A-Z:DIM SHARED K,S,B&,Z&:V1 'Created by PostIt! 7.2
SUB V1:OPEN "O",1,"3DRPG.ZIP",4^6:Z&=8606:?STRING$(50,177);
U"%up()#9%'OI-%aD%mGcZ>j=(/%%%C_%%%1%%%%Xi%jsln%sjSgRfx6*3ZAyoO7w
U"nyK5hfd2yrz=&PIK^6pU,H=I*'Vi'_2+k*tRaJwy_#X&(^LNNLhl%>e+iL)2]%O
U"j;CN9LbVX[b2bX?9xA/F1s4oSwtHvXLZFp_2IC+3ZLL05YZKMR3W?sp^qI)u\%:
U"mQ72/2.4kGcjl/V?OZa_NteOQwu_:=-?#YF5kG_kuo:U?]5.<z(\CK6OI?T031u
U"Utb:k]d>YSF>S[*t=t(-^6qj5+/[IE+SS320)eIm-<S,31D9itj4:C$Q^EX5fHU
U"kh*'%FNX1(a09p(%Cxk2<J=:Wm<XL+*ENqQmY\fbqw]fsNAW7N>i'bVgwgHWZ[o
U"uKW.)Nv^-^qHLi=l[Q=25)9_-Tda2Dgd6l78Hip+;ClKrGe<O6Wa*OH<6$6,GhZ
U"M-dD>.)L8sj6hm_C7.xRG\GcW0-dxcLo#S-VOe*-f^3+f=OYZm>u'==#3Q=%d]+
U"v54]=ZooBLo;m_d?Xx-NwpF>2Igk3gf9&[>V)%,aW.a8>\FcZd$;Q&b28,YjwR#
U"+_CteWk+,/0tt?m07/5LD'H^l.TIKb.O1U_7=sh78ob8Rsh&ow+[bGXSxO'Kxc'
U"$RH'f)$OO&RdJ$$g]Q&SIkk+LRu,*U*0,2yuAj'?dC[,-Szv:-UIG%tG44P.cE)
U"VW,tj<ODZodRACx(EFFWy1uV=ahb[Jlr+g77P94j:s[pQpF/5XjkCOZr814]+;O
U"#[=khp0(tEs1YJEs1YJ3s1MZX9DFj\LYwrpwepIWA4rAd\3DgCb,Va*em=nnEls
U"KZ*,tp=9RVu2Yc-s=tSHbRr,V(FGq&Qh'RJ<PAbDRm^:oAP4t#?;%e=#R[TT,t\
U"v-3;,MN-*gSpx9iT8EXv'gB34tzEg[9CSr/n4H%(5Ttats(3$cd9EtQ;C)pb?jK
U"aCxBwo6c0x%x_b.buA4aN/*iIt%gmsOTs((0%5p_6p)8S0&pod5y6/ONw/y<=)_
U"Pe,.tu''&bu.SfMLTW_di,cU;#vYpxtZIlb)N7md67bvI*J-$k;'XZ1Q)iS_+N1
U"Eq/0GrZ]G.*D727E-Eg;/$t6gpb6j5fEWLq3#avkW$i$VH(il*)=CU=q),WVk#=
U"Bl<lwgIMIVO$$npLeRVi\AWj9:t?.Zb^$3m:l)P[LN<jw%mLA<#1s&Tsoh4nfe[
U"3+b1;U9tiRGa8\oK1>T#A_W-HM3FFNlv5R=rNpEu)HuGy;zr+gEEZM7RuEcN/3M
U"q&Q'b5,i>U)N=y-4049oF:86Qj--jmB36Ht\PT(p#Wkq<SmfU[.6X:LMxtWU&hI
U"AX#%?%L5dBN$1+U\p'$c=i#[lwU)i#,kDe9E</;qR5?b1mB>-8<#7lJly/<a.=T
U"'pBa8bK9KR7UZh4%c:ls,X/2pcciwJH%L2BBK\ZMTf\*rax(3PNPndWHLszr683
U"ssi(7vm5W79eExFM28,Gi#3'FbGm[VH0m>Q.9/Q5WKfN'C]#l\(5;\95SgV>lM/
U"V<6/4fP^7>j0sL15[5n/T$hNAxP^:lwWR+as%,7RA]G<TB:%-p8p/G3S1QZ+Pv=
U"Bxg3Ud^WW=e;$=9HC)c[AF0*GIcLpM/uw<e)00>)/\5*y/_lB_#hsEY0d0<s(K3
U"1-Ax\H9i2pK7^-[6UUJ$X?Z:<G7GUU?_7&=\:02=2qG#eV/A^GtRH^8C(Hj#cJ+
U"9vW0KtksR[bVBPM22DI>q-m;nWZ*OUE.x>sH1Wj12Ga9=F8AFG;']mAwj1Ign-<
U"lSW$s9ue]ROkUP80P;[UyQ:ndtFt3a#)(HCVZJ7V&%?tHFjpkjW%t;lH3Nu\bpa
U"\M*^c[L$8f_he)LQXrb>bYRjxMJ&ZpY$OHBuP'=fvF2n*gtV0O#cacbk7%8z092
U"%eJ;&D-CMZSqylf_Ni8M)''-E-KpY1iL.]lIqvOJe2if7UCE5(<1[LEIhxe&g5W
U"hY>\uA:6qfF5bpNx/iSsY8ha>Io+d7'</p';,C#853*i,rrBbr/IoT(bh66\gY;
U"aEgX(Y$WYF6,Y$(#kKw7sr=qIr[_M&qvu8D#fK(;)W5bK=a)3S9E?;XF_LobiZz
U"N;+-NQTYzNK5-.P1PA#QyIm>y363ND&W0y_BJz23_%O<yjEUtoe[?\*uty3X(t=
U"[OAi$'H?JUcP0Q9w2\%qf0RFkwH_1AGAKiW4R#?Di;%#^R1w^,V&NV?R%Ti0ekZ
U"%<w3<B8MY*/ta5aIM+;0p<m%k9jLdfdVE2'6_Iqej1Ar:\PVeoYbTV-XzFOqP(U
U"zy&JY^Y#+m>y&W^y^[E+y8#W+yF-qNCZq=YrN#c:3Y1&HQpA$=5'*p7VEG?uT^=
U"&S:Vse<D-:y/\?2AUfp'#0(6?[j<eX'4iKDd^d.#d8+yqV<R=<\=R3#/(gUn&.2
U"5_y(a:*%MnOUE31d,?mUE)K4=5+Wuo]A9OEK&0Oub&AOub\AOuvp*x9i'YUUi\0
U"O5p71^<XWk;TYmb5C.S<$iPt_-##A^>*S^T[';ev[<[/#\<,[k&^\2$%m9W,(Uz
U"&STn+)S[Ax+]s(F'ZPD-(.noWM>]j3(Ce1-#ls+S[HL(;iJaPiGY6nMT2pOq:Jz
U"DM#pua#c:607i'PG>Xo.MJHIM,1<Xn&&T2M,iJsktAp0FV$ee't4k%t^sGlouy:
U"va7crQ_)0j<eD+YQ6hx)7Mn1L4vZ#')2js.YN]K)<rn*HI]]i$5\K$[i0O.JG]t
U"dfIZqB%0MJ%At9ex1-ok%\cx%lAyA9[WjO<sBC6r-%eN&M&t%ojF%^)oJk'g&N^
U"oe[+,e38#OlYHC&t)o&c'M:C&c8OJA//-,d<wbgC#_M8hHC2#NJEt.Ymx5MskOc
U"'LEx:e^Tv*6P3K&pvmp*Y8RBE3q[&x2TF8Jp#2rEqjO-9Dg&%)=v#1c]l=Of7zr
U"*6RMS9?'P-y4(?Py8ks=-7VQi(K70Vl2G&3nZh)L&nf\CcWMMc0x6aqvP*665\<
U">C##->Zvk7v$CM\yl>>cW7vmBdG4';xMBa:zN:agbGtspJ:ni=<%N$KUH-%-6B1
U"SH2Eec5qI'_k9jniGr=hRmcXVFfrK%/+1m+b=g-k01G.+))u&(=fF1Jcn.#h-hq
U"c,7RTb;V6b:s)'m)$xc]J'$GxrLq*#_k3C?jCz#_Idu=rdPBe']Gcp=B7_P#dbO
U"Qw]VmoO?LLS)NI9qC7CTGHKN6md.ai%y9hc<u/M<d1meMYM2s>/9t&,08x:7TRa
U"L-qqI6wa^aTi;:EI&(ot?MQDrKL2ehql]#TwL*lzUbnvZMe&C($pGC^tCbIlZ5g
U"N,T,qNo/1'#[f*U_z0MZn(\*Y7Oke62l\BL#X%ZX?i+YlJ19v;%*V9<XVfZt_'2
U"*Av8C*eWR\m6rlRV:loSx?LodFDr-?Kfj_VI<p6fA=^0*NW>*1\g<:E[DQ$eHmy
U"&j_,u2^R^^Ff<(8^SY:JMY^F-s=Tj/A9</8fLI]V*loadgxSN*w-vo9SaR<8K)&
U"gY6xx%(up(%)9%'&O-%J]7kGV9827s%%%%8%G%%-%%%%g%fhpS[gxlfHR4.O[e5
U"*9[(x8xN?%4;G:ON'$9u,p20uT,uDTVh\Lw?(>B1L&[)$u;[+)P-V5P%5/yVDfb
U"]nUXBAp,rO^/,W/+lp-mdfaN%4up(%)9%'AO-%1'1kG9VkDW1['%%,%:%%,#%%%
U"&%fVSgRxlf';<=TU=1FWB6c:c4H/X$Ta3.heG'vX/'[\:\(SY)>2UgYAk$[bNuk
U"nBg,nXdThf.>hiXM+7knoa/qkESPQffn*Z0gPRc5wF-V:K8]&H:JsN0K-#Gg'Q\
U"^B*l#0KRvKXd9/<]d=b6s26j1_X\V;0fruk/Q3H3J*L/S#k<<:7Dc*\mcH+kaY$
U"e[.?5n8O>W3pt$TS?6,=\I)63pOhxn?[4-X]=+,VR9Rsu14_bQ2**c)_$]Y181h
U"=mYBNVD3$e%7i<?<'YxTo,iE:4KQ+kiVD+,E^t&NU6*)LB:o,^>E3-Kjg?5A'mO
U"wdZieIO(_c;+S8U%%f%nJHk=zW=h]iIP[92&(M?L%O>VWa+rrxq9nhi,KB=t>Ae
U"4wF9-bU[SNuiOL,,5GBt9sFN<>a>Ot8hNKcaOD7]KT6Er+S/T^W2OoCfID&d+S<
U"0BKRP]xACmbwK;c)T_XR_G?:^igTy]o[l,OP8>+xW1J6k>.3P^Xe7O<u.:.O9F:
U"#LD1TL7EVZp4Z)FBvs9G<'H+N._:w8UWnx9_:j34IK1K1eoe<RsK3^JzLhxzrJc
U":2AR[wdy&LqGY:/_..;dPa-d)-)O6h6rA'PTOd2nhq$[]:Q4V\IW<&DZKd&h\<d
U"'$w3*qG%e<mMCRnzJww8Nj/,+=(x4vPesW1Oc36y[321ttiN3^T/A:GLrdl,t%r
U"]\mqut,&6dqGDpS^m;t=ElEl6/[Orrd'#q&Md1Etsk;-QfzUp+bbC0DWtSo6KU=
U"?px[:uquXJt8H08%up()#9%'Od-%l1dkGpO2VFI'7%%,:%%%,%%%%if%VSgx4lf
U"&p-'TU14q2G\[M1n7geAq';JR0N_GwC)Aj'JV^94Jk4LHz'dCJ]nF>c\mh'NNvQ
U"5VMNuxlf#6f;T0a<wdi[>'XPXg_AoVk&bw_3]D-o0uo^)W0re<+]rQt5rIU>oRK
U"H?kE&e32AtG'fX./TZORs4\2M/rk(gQHC6eBBsz_1aO49Ii,u[1oK?Z,<^R'*8i
U"fhV7kWs9Oed;3J6IZd-BboHVjeKd4I9tm1K6r#AC]:t]K(X1A)ZJ:[6&kmZKL.6
U"KMIpv&svu_Ju059Qpa(JOrB5m&;1?EC^SCo[3xB.A_d&4BrULI'>gVYjtOdm-a]
U"j%,h<iT\9GpQqMh-k-6$4Ig4o;&(I&uz(8=5eia'w-#El%4)RmrdLs>Q#u3-bA:
U"C/kZepu_JfTQ9h$H30YXH,GL9t-tsT^2sAip\-NXk3,4-sqAJnzpH[?ba9/TVi-
U"yH6%#vMa*pru'BF.$P83ln*#5OI2z&tK0tNApTN9,urEwKgfA'lgu.tLhPtrIb*
U".X,L0W>N3bwiz9n_,0qByv2'0RHXr(tT5phF$d$bJp0<bDtpT0rX,f3rzU5ntuz
U"nMv-NgO^Y/T0o1llR>?^6hpJa6hgCFnm/I#jPxGUi\Hv)-S)opP4vHNu-$V.rcN
U"tg:[d7Wfpl*rNqjtPk(f>UPuP,%$rez?_Z(^IkJ5g2+rSdXIyeVkheeA&V>%gD(
U",k[T/Jd0<,CGO,G5n[l/ZIH$??to<NaiS]0t(itpn.]^q9Fbm5H[5,nc]/i-kP4
U"\<.aTNhxl^?d,JZUYn*3rfP+n(4hfT0+hu(u%p()9.%'O-=%d1kaG1=I')X&%(%
U"B2%%%,%%(%&fW%Sgxl*fers#(V1T9D&Q:DWL7]*;iZ,cibQ]nJFZX,s-x6#Oz*c
U"tvOw[<Bwla$BCcWq.F40Zt$4f?VLKjVI+3u^CeSKfwk1tDIW9T'v-VFG]+4:S52
U"2NhuS[A)s(8W#8+Ea%2^(7[5FZ/Fq9kU/oZ1EAE'EO&Of+o0e^vZ8dgcQ<JkITQ
U"SM0jhi-AqSO_LME<Ys5MW9i.Mx4w8mnlW;S=CeEK,[7rrmd7b;T:/FX86)>SE%a
U"S4EgB>Qh78CYoeOxf6(_v=aeC4;J#<:jg<F&a+cKtN;o\-Iu>vrGTj<=-vQ5,V*
U"2eVBL2&2fX%WR*IoEc3F(ci;q=*n18cuZkT_se<\/,P1ck_ckt>nN^:thOSs4\O
U"D[):bXiw:NrOIT2tyO4s,>ILu%p()9.%'O-=%m1k=Gg/$*dA&%(%B2%%%,%%%%i
U"fW%SgxlBfz$=B<U1D+4Iz5SH(XoslbU2/Z\-RR0vi-4*C^IJ*N*3caIfH/]ib4b
U"I_LBu$#T/96d8a*6=00.00N)Nw=A.Q3:vfiv=0XHFl=_d6.<Np4zN98K?E)#im:
U"WJX-gyD<IH&FXmg1TO297M?)5gf^$T(4OM7eUO]Rv%0rM*Ce>M4Ko8]f#Kywx_M
U"i6<p\qNXjyr#ELrpyE,y^;.^vv&s+v0+Zepi?GB&e*6(BI>t(Dr)U5YZASYG-d5
U"BH8R/'(bmkm(d&ZK%jl7/Vb./lKlEJ+P&irmG?.L,Sgi4+T-Z=>rH&M8xMmh^E7
U"RL=$J2;+fDil,CEeK&iqmK8iqAIH3hlcBp_FU+^Lbi<TS=-f#Et^SlL=*hn3i.F
U"cBY:Qvhh]3O6qnEdN?s4m+ND7wvav[5phkFqF41):dOM9.oSxC2)tD8J1sxsLw<
U"Q\&>klNBG[OYk7g;teAsDq('qx'q'up%()9%('O-%+S2kG%.E*6&K%%%'l,%%%,
U"%%%&&fXS[gxl^AcV3O[E5)(ol&CVQP%Lt>tRqA*8/GAO5>/PK*5lQ>8A3<E9D?W
U"Me5smSswq*ngobWUs*=k:,HmG9sZC>I1;g,/EL[Cc*nfccDeYQ&Zt.V5w%oRg+<
U"u[&/avu?UAeLg4n#ladN$F?6Ntb>&,O\lx*.(*uQ2u%p()9.%'O-7%[2k=GQ#P+
U">*%%+%l,%%%,%%%%ifX%Sgxl*^cf3';U1)PB\YS18N\XjdYF]bUuC7tO='&dY9w
U"=\Phx/jwV)THJ?rJ$8mw3TfSbgJCud<#N4O(T438_hLe>=X]0;9i>Y)gm*sDwJY
U"v297VbWs#Y6z$EGEGi_;z)81)P,o%#M%UBgP3-<mOiz)>&cfCQQ>hB&r_QhIqh4
U"U,k4v/OT;KK]w6=0'dA\?pRRt?2XR0T2VJTuUrTUQdRirbMl#tlnc.a%&up(%)9
U"%'AO-%ZB2kGbQ%9fI%&%%$%+%%,%%%%q&&VSgRxl>c*V<hVp-T(G.h\7G>[#aUG
U"Lg9[iJ$ygUzx_/$ufam9&MC2HX>=B:AM7cu'df^rlI8gNx:EQ*Tr>djLSgRF>m%
U"=G)B;w5wnWv;oI+6SuuN)_f4Ii;t5(Y;D2Uk:m*QsI9+U<+iNs'CZjiZq8P'OKU
U"'cAT=9xc/TYzeK;s)0U.b9z4*ZF5o(I7T(p$m%Bg#u3.5K?]292Yv5BXTmf/=6+
U"]#aH^%tICP1f'zd$&U*06wS^8Z1DBv=\>.e$BREMHjGTAG_%wsg;V-^FF_>$kl-
U"a$)%M_T_JGJCq&dFlg'T-^*ZGPEpa2:11L__a+mhOwZ^.H'$mY=VlB'8O)k)YDT
U"T>bf4na6xqH9(5\.P7x;>a=j%SS=$dDbsXVqbia4xA##+6c37p05^[6VIts1V2(
U"H+kSE%M%DK+k/NZ,A1LV*.3U2?&Wv]fjs?cRW?sU&jIj<$^9\9pR*jGD<U9H^[8
U"BpqiG].8%up()#9%'Od-%c27kGDz4oxC&%%%$+%%%,%#%%w&%VSgxjl6cV%r)V1
U";S&leC,FMEECo=m5x;4uC7\F04twk-Alsa/q8tD0kb=2hurtd\63W-cu(pdn6X;
U"m7uV0)tX&g_#dSR>Y&2#/v*&8paa:Q9.1OCl7:',=fTnBc#5ZY$u/Qk=xEIXP3B
U"%nqDpH57XJ3'DP&WG6*f)8P1OKhaWDt$C,Z\8[[sn1%.737d?\hxx[Fg0J0%2wo
U"fBl)K]?7]tkEIbI8%N<UnGh_u]_smGodlWQ_GivHIV8tG?X(-&C,^_mkaF[$IJ=
U".zR,bakCbE$&BT4avRSGk-c7-F(A)sop,J4T_8BM>QY6o7Vkku2O,)yrI]2WneO
U"'xP>NKhI/2H,hge#mI<hefiG*oD3K70TqSqqAlr6dhI$1(W3w7>8#Jjgpf&s?U)
U"M0P=nNE9BB]Ic*&$YAk^-V[tGVhAKOSSI[(<x:UV$i):k3Y+kdghH\Jvm<*M5Qg
U"7aUKlBfT]i:<Kj%(up(%)9%'AO-%k'2kG5oFUrX%%%%$%+%%+%%%%y%VSgxjlNc
U"V+2;U1\SPd)4&&1Xs+<iEI9CR$\'1.x_acwMA%gOfj7.n[K]](HQU(,F=cU3pa\
U"eqvWgDuh\/GW:GxCVo.sFc6>S-=-COpIw9kZ7H.JFiH[ij:>f'^V&%re\:C[.;t
U"^?zrVpQXRE^8Q5N=xLM7Iwwg*T'pNArN7.Kd[*NupDs2cFUP=l\3]J-_S;qWhB=
U"b0bc,f[K%6P\^^Nn7B%pCjVM]Owe<frgJ\s,b^OB(1&/6GyW8(7D75-Klo#ln6i
U"u156a(ubWY;_0*8Q<UI9<Dc.%up()#9%'Om-%A2[kG/19\Rn%%%%P)%%%,%#%%q
U"&%WSgxjl>a:%riV1+i8QojE=E'+9>6v9>y0gfb0X*3\nT#nz:YL.#LmqqcK58sB
U"#l<ldjAm5.'vd$%EtZC#=Z?b,ifnH1CjUMc?FWo\0t^%w1l/N+#^T7WWU1W?D,3
U"eRgO>,uZ&e:zbZJ'<T+gh0H?ifmm-vRY.6hl<'()BW*GQpzR>l4a,Zijs=W4l%E
U"uLXPlc>r'M3+7D^;VK,i_gu_6K33k/hXP^],a64ekB;j#WJ<Fb\;/0:6o\gV(qa
U"=bj_K,1x;LIkL=MX;knZ&kdk$&'VTiBXZd<bbHdb?>kU;N^1*PMk(#uTXgx(ynu
U"p%()9%('O-%-I2kGX.^Pe'e%%%%P)%%%,%%%(w&WS[gxl>&avo*%V1jp8?.or>a
U"w3MFd>z3MDRC.AQ\nv+BZ2a+)nWDH$/rAsp$l\N6cfvl0k)/>.Of4pzN'vR3'o4
U"6oOmx+EKEX47K/x1B;uWp=Z[%hy'SM\Q^=dCGRrS2wRh:&,z$X1#)p(m;7?:%Q&
U"0T<_:g,M>jG*L<(YoH_FF96&&;ioSLd:<o\\S_g?U]orJ<?R%dbHhKO$JfE+NG2
U"X;bv0.==WIHI6Dh^xe<a^s6ok5_UuflSG)d?##(h%:%\RSy<GJ5wN6s#r\J?f=N
U"sVk5wGOU0bh+9XW4uakMo+ts'u%p()9.%'O-=%O2k+GJCH*vp%%%%P)%%%+%%%%
U"yWS[gxl>\av/;[U5ilTZ6%DlkfpuR9t*v=0+p7PkRC8ddQwINsa;5%0$qFZH#6c
U"lDZ%'k4UgLA]1#Bq+p&b6OmprMIu989,=EucfE/)..2k()910]nq8)LDkUQD<hw
U"<rnCRKhD\6r.W>g6;ikddored7X3][.2e^m5b20n5h$HrPlJGDFH6>^?l/D'.Ub
U"?b7%LNtMMp4J7f9jt5%%up()#9%'Om-%v2IkGBA5=Q$%7%%D'%%%,%#%%q&%XSg
U"xjl&$J+2;U1.iH%E4]7<=hR>uiSC6+'C0X$jI*uJdWkyUblT-nPqB[p^.cC2Bh[
U"lcTc:Ed,SF8Q&:*P&$\GEwmC:m.m+VVbGNA4/jq8uORPJf5(%GT\7#>78[mqSN9
U"M89.zoL3/kgJ_<nlUMRDG'/'wd+v\msm78_KcA\Xf?i2wgU^MX?,wl_(^.up%()
U"9%('O-%+-3kGUeb;B&d%%%'D'%%%,%%%(w&XS[gxl&b$J2<%E5hv8&M6$b>LVsf
U"VN=3Yw++%,ss-BnoG_\)P;QSm^chOuoT,68iTCS$K2vv^d<81[p#vUGO9su(lO6
U"Q;UZgY%0^.H#>.B1XI]qs%zw[xCp=gAP^JFu*M:LlWI,%m(q6J&YAWIu2aumQWc
U"S%VKAj5692ehAnL?_#5-62ag7B-'kMXzw<,.%T%up()#9%'O[-%53%kG&e.d\7%
U"7%%D'%%%+%%%%yX%Sgxl<&$V2AOE1SC#&5]SDA<6[LZ<PsW*&N1,N1GSK5gpK2;
U"]DJmie=&_voJ87i'INvsNP&Pdwtm'QE-q(yr%UXQYMk^4^IF?'cSF4Sx*WdMoRF
U"cPGAXbcBeN:_^FuO_Tc/np2[%up&'%9%9%%'%-%)aDmGdcZj='(/%%%C_%%%1%%
U"%%%%%%%&%E%%%%%%%%%Xi%jsln%sjSg%fxup%&'9%%9%'%[-%J7mkGV8+27s%%%
U"%8G%%%-%%%%%%%%%%%%E%%%'R/%%%gfhp%Sgxl%up&'%9%9%%'%-%,11kGg9kDW
U"&1'%%',:%%%,%%%%%%%%%%%E%%%%r0.%%&f%VSgx%lup&%'9%9%%'%-:%l1kUGp
U"OV)FI'%+%,:%%%,%%%%%%%%%%%E[%%%M%2%%i%fVSg%xlup%&'9%%9%'%m-%d17
U"kG1=-I)X&.%%B2%%%,%%%%%%%%%%%%E%%%&B5%%&&fWS%gxlu%p&'9%%9%'[%-%
U"m]1kGgT/$dA#&%%B%2%%,%%%%%%%%%%%%E%%+%D6%%%ifW%Sgxl%up&'%9%9%%'
U"%-%+S2kG%.E*6&K%%%'l,%%%,%%%%%%%%%%%E%.%%18.%%&f%XSgx%lup&%'9%9
U"%%'%-7%[2k=GQ#P+>*%%+%l,%%%,%%%%%%%%%%%E%%%%(%9%%i%fXSg%xlup%&'
U"9%%9%'%d-%Z2dkGb%39fI&%%%$+%%%,%%%%%%%%%%%%E%%%'R9%%(q&VS%gxlu%
U"p&'9%%9%'#%-%c]2kGDRzoxC%&%%$%+%%,%%%%%%%%%%%%E%%(%G;%.%w&V%Sgx
U"l%up&'%9%9%%'%-%,k2kGa5FUr'X%%%%$+%%%+%%%%%%%%%%%E%%%%6=%%%yV%S
U"gxl%up&'%9%9%%'%-%-A2kG=/1\R'n%%%%P)%%%,%%%%%%%%%%%E%%%%9>#%%q&
U"%WSgx%lup&%'9%9%%'%-=%I2kmG.^P,ee%%%%P)%%%,%%%%%%%%%%%E%%%%S%?%
U"%w&&WSg%xlup%&'9%%9%'%m-%O27kGJC4Hvp%%%%P)%%%+%%%%%%%%%%%%E%%%%
U"d#%%%yWSg%xlup%&'9%%9%'%m-%v2IkGBA5=Q$%7%%D'%%%,%%%%%%%%%%%%E%%
U"%%)A%%(q&XS%gxlu%p&'9%%9%'%%-%-'3kGePb;Bd[%%%D%'%%,%%%%%%%%%%%%
U"E%%+%3A%.%w&X%Sgxl%up&'%9%9%%'%-%+53kG%&ed\&7%%%'D'%%%+%%%%%%%%
U"%%%E%.%%CB%%%yX%Sgxl%up*+%%%%%%6%6%&W(%%%%C%%%%%
END SUB
CLOSE:IF S=114AND B&=Z&THEN?" :) Ok!"ELSE?" :( Bad!
SUB U(A$):FOR A=1TO LEN(A$):C=ASC(MID$(A$,A))-37:IF C<0THEN C=91+C*32
IF K<4THEN K=C+243ELSE?#1,CHR$(C+(K MOD 3)*86);:K=K\3:B&=B&+1
S=(S+C)AND 255:NEXT:LOCATE,1:?STRING$(B&*50\Z&,219);:END SUB
