'===========================================================================
' Subject: PM GRAPHICS EXAMPLE                Date: 03-19-99 (12:09)       
'  Author: Gunther Ilzig                      Code: PB                     
'  Origin: 100775.2275@compuserve.com       Packet: PM.ABC
'===========================================================================
'Program:	LFB.BAS
'               PB/DOS Protected Mode Application, using the
'               Linear Frame Buffer above 1 MB.
'Compiler:	PB 3.20
'Assembler:	TASM 4.0
'Author:	Gunther Ilzig
'		CIS:      100775,2275
'               Internet: 100775.2275@compuserve.com
'Status:	Freeware
'		First published in the February Issue of
'		BASICally Speaking, a monthly Journal for
'		PowerBASIC programmers. For more information,
'		point your browser to http://www.infoms.com or
'               send a message to bsp@infoms.com.
'Note:		Start the resulting EXE in a DOS Full Screen


'Load/Run under PowerBASIC to extract LFB.ZIP
DEFINT A-Z: SHARED K,S,B&,Z&:V1 'Created by PostIt! 7.2
SUB V1:OPEN "O",1,"LFB.ZIP",4^6:Z&=15949:?STRING$(50,177);
U"%up()%9%%%I-%_]\BKs-2>rBC#%%42%%%,%%%%qk%gSgfFx%$:GBT]ahnlyu+,%
U"O>Ip>*$t3#jSbjFo+Y3d?I\cI$B3V-<vgI3#<6Pj0lul\0'04&_EsjSCg*)9K;6
U"JV7YTs2i?F;s4p$Z-AUU3JF-tFjsNaFDd,lWtzbeQ&/ENFg*;Ne*kD>R9*rjH/L
U"heWJ$fjb)G<PF*><&^#F#f;AknPaniVWE'r^tk.R1fP)S7oh+/<N<ZR()^lY$UR
U"GP\sGg'a?^+4=c,LK64r[\4-('84o_/RAQrVMO]p,,vcJ[gE<P=.ckMu?MrbKu)
U"ZDEAZtHajq(gQZ6*e>KUA_iaK9]rq89);*6sLJ>:sU]uB%-^rVH-<M5jf+Ae\7(
U"w)(b+U#0kzg=NZe\qXMZE.#8U-ABM\A6'D;&\N7RC]5g:+DiqUFxK^Lp6U];fVR
U")bln&GmMQs5TZkUU9+p[D'sAA0S%D,T).HEi<T5V*o<%bpx)EQ,Q6j[]3SWN8NI
U"I/9GU#*ZI=r[w5i=[b0>[Cv3a?$=,j:]XWIUnf.ep->:&-LH[8x(F^7LE?lCK=B
U"Ys2)UYVq(AVRqq_dpsa:YB\Z<M'Q*Er]qaq]b;oj\vRIB$>l)knBA.AAi'#1jF-
U"j'4;>,2QL+\O%c5MlEf;jWtYY])rgc)]>5LRX7=l,6#%_\lRl\$JN4Q4'xvbp,V
U"'jSl(8$:0j;qLu/33L_m\=F,-?eL,&;P&/14&j%u9Il445\Eg[rV0<aG1QtBK^o
U"2k9O>Wp9bOCKMtkW,mq&&hc]<-KhU.+vis['[:%+Q7oCD'c)POD[Y=#lb+;A9m,
U"9c/n?O6Z3XLK&U1]'6/f8nj/h32*PVHqo4:?:[F)+Md'R6Q)gB'X^-t6$I=+lPM
U">;/rX5[iSw7pE-/%e2Rg#f+5X*W]GiFlb:O+;1Lg]M]ZaaQRErK_6u6bV]V9p\6
U"]aPdj3%Wh#V=qJvp]b4jS/ccfCHH.gW4<g1Frh,BauxT^b7Yh<c.\dff[ReV*w>
U":0q[1<uN'roI<.'j&;cW#j^2*.xp2%Zr9jkYTSeEG:-i_j/ai9V;.,3M8JK%i:G
U"3x35R=(m>+b;jklHTNg(9#BC[Dk1F<V/$%XQr'rMnWa_%\5#\M1F1kF>FAvADFW
U"hYYf9^.G#Q/ki]7El3lHp]TSSEY/;%0D7;HA2[/fFOd/;f&J6m&:92>&PWAKjtC
U"#)&IJQonJ$im;Tq#A'P*H?$nlR,q0S%.OkLOC;Wsb^<S>ca53Tuk(^5Qbgi#pBU
U".0FeE4tuVBezupr6U4zJR^wm_EpRjfTnkYnd,d1:=^1[Yk[)m\PjXjW-5u[#?)t
U"W%albRec6>rQO^Z:0n7<lnXP?g&DK0dG#5P&a5mgQ.MDGFIh?WGbW1S8VE1UY'4
U"/x4_T87)Ad1FvUq,_;Ef[UT5mguutq_k7Il<b/Em)M[nk\9'Rn]BTYU]EjAH<w_
U"BjRUJ-4hXRB_]XvT0[c5^#Tst_mGF3.dHg-s6*Z[^Q=f<#Vdb=,R&CEK_EY_f(/
U"w:/_c1HS%B?PmHV\d10Y0e+65[%=Je*yVrTZ;c&/gI)6^(2qXw_u#:ls/#.]A&J
U"/EsPg:IN-Z,(Xh[$YV8AWI7:dAZJUU;?iE&%Dwh0+G5GuSTT:yF.97mA4e6g+po
U"ZGABs.kMdh/u)ZlsLC:</vC)h<$Z]$CW^2%ocE<(oYPO3/a%iPxicQB&qdJYzPu
U"(IJYdYe1#6=O_?_&(<5t=_edp8z:4ds2kTB?tACgg3lK5b)v27<.b_9jq*9Q[KU
U"7>SGIgO&SmT37k6O^)NiuQZl6o5NXlTs+Pn[BE2'QNIpO5*DH>5<FEK^2-P:'2,
U"T3V77'O;K07ZJ^iz&^^LYR=[XC2T+V9\X.?xe&X^_1&uZYAa5mj7]t-^KCM##6n
U"eNE\m[QH;%>4QA7isJ+'FW&-x9ZaV=i-1d=eila3,LaG#.k_]=V.;(*tQJt/o=A
U"niC.E5qCfF<zKpW%>+<d_YT5)=1c#TBg+IOh+(G$;=6=n6<X.\5)EGQdo\Lb(VH
U">a3X\)IEN_Y-ke\dG3:7'wHR(6td^.1W>Gq83o;D'>0qPhj?0[?C;'2T(&]'E'q
U"R%&%Whh^:-4mw\oIOPMkET,(>UgJy2=or/GC2Fa'0MghJV=gQwB'cnMH'<111OK
U")N?aL;WCBU=F<6m09gR]^]$4V1Tbp-Lf<q.TfP9m1Z1O8>:A^UVLT&Y\>J6[]v-
U"t;1v),Xl9iU1l'6P]ZdwN3fU'Bbg'QYrF.2HUT>a^Oh#uPeQ*iLpny6bGXHo'Ey
U"P)1EJv^?JcL>SC1Ba=p\j[_o,kcpjZKR2Q0$[AR=U8cGq?2su4HY38wQTI#&'OL
U"5I[;bfH9c/p6$YQLAQmgBAW9GLX&oH.FBwbEcFxT8)W*8JO4JV7o'Nl4463LyqU
U"/'M?#vA-O?r.I2b]09n,%=jZY++oeFWF[lH*kx5Uf[iP)>A9e1R&o9>i-8?kkt0
U"skBID5A6,I;TU?i;m>%Fw-LZZ>^faX)'Ablr66c1w<_jtb_qeql:8fbxTR]R&Ej
U"SbQ]7IF2p7Ds6Oa0dYs3d.kE[TaD_bmFlCt6]R5#in[Wd'jj4T7Uq'y/4e7p\:,
U"OW%ZZejdJo(_JIRI5TYXY>$%dP[/c-#E7HOXr/pP3Xdj_9DjYX=1PM[d2W\].p:
U"/PsccGr,6a=PwXV%esUBUZEI./Tbpr-Y2h,GMh?$r3q^i7gYB8c5Y/SHM586_lv
U"+\P:WJ%wUb<'NIN?BP^b$bX^q/R+iR[J?yC,Ss%f%*dUBXOMU)'Z8,L%#p*m%_V
U"y%Dp^$3GQ4\UUQOGrl_:7DSdBiRj+?;UBrfSIGn*'f%9.LS,:i:0_qvSoj'eahh
U"9(d'eKtm7lhBi\IZ,.fq)tWpQ:\Keth/>V3LB/$_5bQ-i5jt7]-/>ua];uXb1wm
U"]/CG9&Kln/MSDO<p0%)fzR1-W%(5Ewf#*Q\AI?uW]&'T/u0JE^SE1&pr5%sO5s%
U"/-L/]Zh*;SV';xOgq'Pii#rB\E9pJjkQP?]\.K%*?1;;2mqx3GtP6c>M/2nC*nw
U"OHCO42+(%DAKIhCs^<O<>gHPFEY]+7$j58yBCO0jM'*+H(*KeBfc'.z$dGNl-jE
U"d2H;#W%Aa9CV[(4l0^5A^FkYb^YI%UT:;A1Eg%C\eG3]<'FhDjw.Y9T'1?GBC$P
U"ZQ*Wc>)qs:4Wp%:E%TJ=K18s2'q(yd?->EOmejUZLWlA\jD/j1RN+vUnw6e1pFO
U".6maQw'nO:Ww+XrlYi$F7D68/*,,VVY3ncAANV>V6U7uHb$fVIY*-<Y?fge6,)6
U":13HF$n$[3oWpOI1kP0TkKtqSse=+D=/PF7D_9\m*0cbJqUN4^+'1<AY1miAXOt
U".8oHL1o+*\Jc0j5eAI[)>sI+_H&(pGp,r&Ldr-q-j:E%9RLNykqOpLb\DoKXe#9
U"<aP+>S&/1UBPajWW_l3LLi+)hIg'IID'2DD[N81QqyKDQ$tn6wC9/H-6(IS-*S$
U"eo=AKAgx3IIGfB#8uAmyYPc*t=-sszP/YPnoP;[xi^uDSL_8D)J<aWBJw?p#Vav
U"E0ZO/\s)Wl96Ciw(vsBWwfa'F3.rR((K&<s:yUOgMF0),<\EhtN6*t(]0&VQ8AC
U"FEE7+tPuR%hKKLXNJ;k/>%7MDC\%xoQf[A^cs:1t/_xm]<yF(G5\6r_&oV+[zsu
U"/CLpou#7m-$(FpTa0by/E#7'5>(WTGGm\co08H=sFMmnu;KJ#Hs#o+VSm/CLDjP
U"Rh=k8cmH#-uJ6#;BF0t6:<lf$23AA_QI/VhE5fV6(UCE$RP<Pf?_v)B6*$'<;as
U"KvT4H/cgVAH5_LEiU8M9TLRCy/NAZg>Q];b=p;-6C)e+hJN3Q_FUcFlK/k6*/oH
U"0Y+_TaBFCQoO0q(rKH[QC-#JMeU7jm[wX(Sb^[+k9JL&u>A.P6V,bw_Wh;q?Uzf
U"(oStRWBUp]9*fHe$<KmAub6h_\h?(Q<XnY/%H8v9>D3bQ<uM:c%CnFf#q\PK$mY
U"w]gu.U^TUrPC'y=af\'GBbN=m\%efCEDWIP/]?kU$SQCDPAX&&C447=QCxfA_.?
U"5/hM?(q%1PO4(\9wTf[E:K>.&&C:I?tyf&d(o,GYrs/pE/3hK]O8N3.,T\'rWQU
U",ibc\3CYyW(?T?Rml(#,Sn%Mn\-2%c8sxHeE](r0)bdc6JXq4C47k,Z[..E2Ous
U"qb5_hyn&soiIYc7]7;wfNi%WZHO4wHC?0[zr1A(NDp5uSvH;zfN1,33nysY^Mb5
U"3(zN-bcP<Ohsj.O17y'/[u9glF-)#4sX%X2p8LVF2<\'OB6p+b3_eS(.#KEsY<T
U"+NhKZYS[E/f5?O;[.FPP?BY*)CNdTs'K[?S(]DjLiuT,e=lwF7K?864??MiSBWu
U",<r%_UN=DV[;-fIbqPK(E>p(*j3K'fVC/dl$&&*)E6*Sh,ZWX3tA4(l$DwlKf#-
U"<IgZoc)jO'&)vQ=U2()ITe,B6fo<E;/e\R.4K8M+>uVAoJxwOuSJYR.sZ/i<P?t
U"viWw92P&)v<5f+7dJZgHgi%^yNR^9B)B*;bA*&nk7.cmZ2#mP+agRkh6WVUh-j(
U"5GqLhM-To(H-iy6nZ6NkYJ1Q$6,1QUZ^hJPR0DDpaI=wLvibw,bJ+.#sz)4jl3c
U"gS7Jnm9k#Wr$sGf]['gCVTZf[LZIMIFc=f_&o&.=2-n#.V&FqplZ7SVUhF6vC7=
U"r<VUV>N)j+22UFb+^Hi/$=U:<Ma]XqVobUJz1;1v#b9nCd>WOrJjo8W+WMKkb6z
U"USU:'[grqR9bzoEX40N,Gd8e,3JP1mQeiNu3p9ubEpwitIfW^CITVU)k'nM+L3j
U"z)kfR-I<+UL^i,xV9JexEiITZ>L7duf<YSJ4%io*?SFv9rJ66N*2+1QgXL>^I>N
U"dSGsGI1lyXpTA3<?30*0AZ,6Z%Sk],(*n([P,8%3;94ogh>EE.on;W6q3SJ-dZ%
U"K4(juRgL#=(G?XL-o?n3IsWZB>KhSwK'2>z%2x+m33NIMBth8(gX*f>FP],cH9J
U"%;JJP/6Fi_W.&^>TQJu4:PJGa:yJpX,ReKCXLYXq0Q1^^gf*BnlUnYDVo4HwnP8
U"KeUD,ZEVKvp+->TYEbT]Ew%k_5Cis9pjNTA3dcC<]V9.Fi7.7%k.MA9MnmNCP/j
U"6XZGY,V-a^HL+K#GTH5NS>p+.XML0=t#h(2jS_t79:>>qrdo.ptfP4fN:;YmS79
U"u$V;]ufQK1VO?G\8pjUuQ?W00MS9P(-sT\>GV43DbPx&byUeRW\z8uO/K7wTrZ:
U"Om1K,4_4i5[B^aCy7)Um(A/%goe7#-)<S$jkmF7,Vjj8=5S8AxA2BQ\LoA[jW:*
U"S&E/XjRz]W(+LEIH;0+e21NiVX./rrx;dcj^L+X&Ljre+_j>+DJdP/^47K8y&ww
U"^i_N<C(;>#$5jLB+CTCn4h3=:^+#Ta,s].tXbiac<d,Rc+M?8T\5::r%iVHIWxD
U"4-B6R$#?uRU%pw#&J-dl-Trsydc6HkeHUi.IsBnnA=jfnLssW?p1rm&E*dHO#j9
U"E[uCjZwRUDrnKISCh.y4f'jh?W0drJE9rEc<bBw]OSOvQv-A1h;R4,6^tMrcJg8
U"fu.3e=gBvL4??t;Y;(V&SWTN#8B,u%NrNPnCPQ3q9'LOP.iKjz9u.XO,)e=z^m&
U"tOJAL+mE)?Bzl/]BjYZc$D\,>qj6r1u.vV_Wh&bEM8$,xkT$\(TM?hFhCDtB:e5
U"k'4C&bqO3:kN*89sbuCat2,N?4'g9S2ND'BG(rYlsMKvbS3]3=+S7R?f.'$>Tt3
U"t1JS&zniIL]L:+L3Y;?48BONX^Jm*Y);]]l&)bM^liVzp'zr,%le+Q4HwJoug3,
U"\P8RXaL&n^YNA*gdNOxWG^Q3uRA\nHuI&iOu)kCQ_D#bXc1;1Q/Q$>*[eVx7A6$
U"KkV)R0LsKf3qR[Y#aAAMW)*;;=q,Qla)N00=.,=^KcGH)<j0SJYMt(g8Li.Y?cu
U"MFWf)-cAE]CI?;S+(hp3Na.Spv9^F]=gWYJ<^[.j[Gy?;,emDI'zw9Zo'L;FH]>
U"hMa6;;5hUh(dWpi;P;Y4/iR[8eoR9JAfGHS,C)c(WhH7+;XX7/L-y6v'oFOrJgA
U"F:NFng0[bgY;^$G<%6DS6-,kKUB:#>1'3470aH6B/Jl][L=+,ihG$DO*.kUi;id
U"Y4Y^hUy%noLAR6LFJRh/%>*d:6km[=w/tjd\E&&U>Jm>85BtYSAeOC4Iv/dAY=e
U"[D<_VHDhXsg.NMo4YQalW9Z'(o:YBpzlK4YRBFM_L_a315NH>#pd+aaXf-/CNkZ
U"JKsWgHX1])A4??n\,;%cu$8EDG$+kLfPX.Vf='g;(]s[fGG0,CT3Te>Jps<WvBk
U"Y:skBA^1nX\%YDa.xwC))QbH;=u_),5lmg3Rip28E_Ew(Kffug[A5NbgYw6Lh2r
U"z:0JCck1VF(r2M2)Hbb(fcjnb3&P(1qcugTEfagiVX'K\zK=>2U9/dqGA$tj+oB
U"%I&tCniJoFsZK_F]MB(?c7ZJnj2H7TEwvw$MxA*[:\2EOe:Em]i$3-LN[aW+9iU
U"2tcRN-JKHz_)-spGEL&\[Z^s+uuYW_X&&aN6A8/H]L)DH_OMwlMaH=omIn$EMUp
U"nvX#4THWIM$n(Sw98x6N_9Z9T-.gAzMUzPw'R:dj'rMufBH3b7N<3T[f2i#[jT:
U"Z8nQvHS^d-rO&vBF-uB>:h+OMEf_QsHbk*z)K3Zr[:;;F7\>3a69rQ<]hPMM[S0
U"nfn4rU#3QpAhu0hDBR-OXmerG9L[PCy+pGxapfkT:iUPrjKbX?1YssII'W^uAhc
U">Cyf2qSPQ=L8%Zo^tC7%xWW4^7$_CbI#_.+RP;cfLRS[5X+t1dlh_x?IjL#e0Hw
U"vNb8cZF3b&^tQ3007qdYS(aVt+S5;Hm#=:9MUajGf?VBkGIRGP,#p)iH]H+7,RR
U"]s_T(8#prm88GXwR,25#V'][v_s?ezDgoOn?$V*f=^Gu^(kL;)M4V#55wIZj#)[
U"%E+j)N;3+_Svg?QKv&StLtB4q>Ww_M;r6(j>>RJ_DdTcJ^8C7R;uG5PX_TDwa>]
U"l^7Ll#YC<Le\&Kbf:cmI9>hbA_=J'?EHmkmKO4cNpS([EeAO-D,H[Kn\^mwF9wk
U"(--PNp;_U'/ov_.f)AQDhUo#,C-^GdaasK%#26Ob8itQ)1Oi6*5hKYDS$BW+I?V
U"f2le\P,SesBl;-03)GR25K5[k%U,NCWI6]M8DLsI094S0U;D?a%/%-D-JYNLe?_
U"ixJrH:40ED.,b*^/SpL-(OdO(GuZW/S<a[v,7pSKMns['UP&Cid-)X/K[fUqK.\
U"OFwzOiEwCPGgDl_rhg-pfkwtmFUrenKDI_+qcfklf'vD=[iDEN_.,HhuHH]JI=y
U">wq=iiS%r_t,s&$hXPP/$Dm.JEYR$77s^Dr3Wk?anw1/b((=86ms%vk*C#o*2wb
U"M[=QLjxCrbW4PQWh*IOZxhW)AN?\Qiq6&ccxYGJ5s:oI_&o,6'\-)B[79y17ozN
U"4.sUH_+./h7lwqylWQfP:47'9d.Y_lghEEEogV^lvoFAj?:-bcOOhmniIt:v')U
U":6zDwy_K8'VC?7k.#=04$mGt$FNFlRbLTJ>)\O4F<wO*VHgtTd_BsQr]H'mfEKV
U"2->&*DGvQ#^I?^G8;J&sI#6InOvv0\ny?c#]B.t(pS2w=3Ka0vFF'HwK436k4<E
U"2R/,L''V\\ijL9oay'W1Jk]oIX^(CL8hKL_>nS,z&wNYd3ioqMem&Iw8lb9OhY^
U"(23g]d9xZDD'u]'\1S-/vN,E\pE^.hC]1YDHGAd)J,ddfu=_UKF_'Z,1DHY^4]5
U"d>hGf/JFD8FT>/p>pszr.KLw1foR$p:.Iaccngkq6\-/PKYMTj+mtrBkcFA[Ieq
U"aWd*xK3/8)t7G4SLI*:[t$oUj:kpT1e^Vs9=FED.T>fgRs+0sE<0TBbGo)MvFf6
U"Zw(p&[9ft_=XC9_\Tv]CCZmmOUJ^)Po]?G\/h4#?u<ek:,KfrDQfo:S?Bm<CXg]
U"Ynl?op*/R]aUkF]AoYK,X&q\v3XII(S*5^V$9p$jP'5fP+O.Uj^JTLS+fEw;BjX
U",$NZff]imrkF^&k2^cY>15C/&fk2sdq6[Ae=^XqMQSfm==u$XmzK9>5xPRpm&jl
U"RQmA5CDEHLUY=MdVbVtf,>H1(<]t7D4dL6+1E2H4jOdZ49#s:ZJciN3B[5fNZch
U"GUECx%%qr'&.(IQAbH[J?'HS^o6PQKUL8]^h?q'fcql)?kZ?(jfT)OGh36pNX;'
U"tPlVJ=4ccJZ7ad<5kB9.K,uqAFXHqyn+enfR\*Bz6&XN$9675MIAxpjrsAP7;9n
U"Vh%I,6Fg8IIr577u)0qX$7O5Dz'$YK:;j;+W7ZEnvtDbT1T5?W2id'u]N,s[4vE
U"SS<&;6uKZAUom1.W#zE::bM?$\lZ?RG>a<=QZGYA1+y/ex>'e;N+<IM0o58uxvK
U"wS/Oa#[SiJgh0X'7f$f8HFyqE(Mj5Sob*rs7>S(52(SOfbsD)U\rTxjOP*oCu+9
U"-%Q;P2'9Uzq9tVUe=&TaE;+nORmF*leLLQk5N_D8a*5pgZ34;A_oNZVbIB[vTk-
U"T+c%7*7ZB,+y'H,tH&A#Wgh1IBSjdEjLZKqsNBK_[g&t*,JgHX'fy*s&VP&d^q^
U"aKqAHO7#q^7$??2k0g-/G;L+4NY71Vx*mCI]e\SDv3l*2NY+9IOGC4oLtXvi'CE
U"JQ6uY',SZ.K-r'erYlp3sPb8RM^8Xh0Y^KjvA32oD.=V'g9gJj_D;W3t$b0TF+'
U"uUI&YF#Uy>v[x&w:qK$5cP--_$nb./,9dlc+*%/]F.PER$fL<Xi<K5L9f2Z+F[]
U"Iy%/^&=aZD1ej0\%1L-JS=-B1<,Fgd)UjG;EFg(tT.=g:PLdK#vUZDjDV#C)btP
U"WrG^3GCT7]IzKr?2?K.vH2,g9?=:^k&=t,Ag)URV6b]0eUKVl^KM-e&V3W#S25E
U"<_D=F7R(-zHLl:^TxnS/3l=iCo61FwcO&#PpDL&>r<uxs_5?mAsK?=MJS/bJ]KG
U"Yo<0U/i8ZAmJHJa+Tfh'16=BT)))xO<0.3Gs(284:%0%\5S5_.PE:9__4.-)xou
U"'9P:P9PLT-lLgL:pY$C'LFy8>DYdqTZ3qj=8NmLUiKig<q4d.8xnw.3gNG,9J&t
U"X6a'2$dvp#EiU;lXYFDY5+upyRTM3:qil3SBqE5t#n+T_tlGa'D[#SG-TU/yRhS
U"NEU$9TI,P75UZP>'KQt-Cv5(BZZ$VU(CAQ5'uq[y&3PIxgLYSI_sInbk?MUT1$9
U"b:)T'x_O].PosmakAC9AtXAfL01un%aAf7EPc1FGEr.[tQ2r*zJxn-J\ULVqHbO
U"1X;s&27LyAD;AXtBf>]GZdfZZV9non,[PUJ+2BFSZhKMU#dBA6WFi=\dQlP&+ab
U"zL7?f\pp=SGeX#\^s8lvhr)mDddQ(x90WV+cd$pNpPrK8bWsp\LZxrVPB$Bd].D
U"a$3'A7D_lvJ(wA(EbNL4s8%-&x%78cW%D[_IG2L2#m;6Bx$Q;==nhLK8cXgP4r,
U"P4Ae.Nkk;/[N\6g:L*1B=\L.G+W4[3V\Fdh8JB).1pKGmc?UFL='nt;SAo,C<ZT
U"DG0(07BFt<,ApFo0Raa^155R1,T\Al^Ll)x7-bOgA#<ZWiRZY3GO7V'Mwc,lUm:
U"MTMu>zo*M0xUmV[zxvvHu:K2d[l58GGs1Bm2kTILR+q<=x3G[BVI+&>X=)Vcn#l
U"h/gC>FIoULI2mBN$^-fYd&6^j3Ro2=M%s3[]7Q.S?.O?D78^QO(I[su&RUKVsbk
U"U)lLF9Qa&S/JkcTe[i&2JO^1-&wPjX7sB6ebmkZ[I1._w[PsYwFKv-Y3[I^A=oQ
U"*XcU[?+/q\6&H_/#nyrX<1]w2%up()%9%%%I-%%J/YJFU*i-1'7%%D)%%%,%%%%
U"qk%gSns^h\x:,=[U5:bR=d;[y&'s7&-V-TW77GyeKOU-tSrmnK:;o*H#Ir+.8\j
U"Y-T;</e[]ZoElj%\TsYro=<B0aLSW+:T1FE$QKtN:mG=uKdo3iXq?k$tY[UOI7l
U"I-8'_B:l?2&&)\.[?A2*(X7.N8j0L5IS2(u/=92l%&a,4C.>\+;]v&FRgZ;tZF'
U"E?02*rUZVzpK'rPgn3#B?3btJQYw:25uUm>R;b=)gJQu6Y3h<v(36mas$wEi<^7
U"'LN-MkYCsSUo51aKY.d=TG(?p&F%1LGZYcgF4x0.:5K%mZ7(Y^NOg=qkKnmkR&M
U".6+rbMnCkd\i^i+GL=UO%Il&ZbZ,GTaLa6Rofa57heS,GZ&+J0Q;6:iD_t5[H[4
U"5c<zUN<Go0Eo&u>dPMm,VR:XF-wYPd7ptp_\$OFYFF/TiCg0#S%m)gH_rBdcQpt
U"MIbHCyT]3.PC?Z7tUFPki?-$KM[5TO*=Q,G^f<[cUHE[tk0;NWXc:xGuQ14($1\
U"6)>.q25r;Z^RTuiRQVQ?BeX2<fprmMd=?i%i2J5%r=crU++cUuR?QgACk7E=iZ&
U"$.]A5,+1179p1*V%<GnZ5q5KFWvs[Ri8oDH78\dTDG\fy,SfWXF+n.45.,v>eNk
U"#Y=a5mc*[dv?gUw;_;x(EA_hGzTtM->x%(up(%)9%%#%-%%_JYJmS0(LT#<%%d&
U":%%/%%%%q%kgfx%rSfxOrf*<GBT]afwq&rCd/d+OJR?usIR\n_(dB#sTBqGGm1Q
U"6?o'_wA*9n(.qMalOu*k.5NVG,O-AabQEV=lFcQGTd+?\?0LT75h1NMU.$a7m'x
U"XcAK9Ts8GZHjh-X^>NsOS.DT-PcYugg1fjTXl7E7k5A>KemXsRdmL74Y&#*aRcQ
U";uDbFZx0p&'P8D#LDfZU0Mr&QAYT.]u64,4+Xw&dH]ud=NH>MT50jlpth(3/tYk
U"/&uT-Gkqrbx5:b^?rt*X.B][>JeC<QdTt7H*>ITnddgjDFmc_nr8\09j\=^/Ajh
U"NZkK0]Sv+>fPht%STsLYL[I6DKBj-)$jaNiBdf6+EZZ7P-0Df\vBmTFtVQvD4$k
U"N^pY3_R*81V_>3+EbNCDAbBa(7<W+6-sw7F4TXsGP2?%cJYP(]qF'k**gCAQd^r
U"mdKZ:N>Xoe%2UW/VLHVmM3kLrr#Y6XA4v]^npWu9K_]e3^j^Bf+Bk^ZZgoM?ELD
U"Xfa+86c/*tPI6G,U'V9M5QxbS:L6hKl)kZ3)L't_uBhWF85HY;kU&zH^^[jlK4j
U"-D4ln;kKl3E(t&tn%$]Bq+'%*J8d(j$a$sqO3KdP7%*9fGNSZT2rj.d(t^Rv./t
U"Y?A>k>$bP5QaI20JR;9=rM:82(W$uPXO$-FJFr]-S0m?pGuO_YF1w:)VK(O7XnT
U"aW(SsCulU0u8M>W<$VkI)fdp/(Fn3S>GzYu6M<AN,6%kat%TF2c99/*VqdWO%2E
U"Vj]6[]9dtZrfgYk67LdBj1vtrt3FrAa_<#(ftmh0R6Q=W;H=3*Y3^jrTqbh9g0?
U"-Wat[c^x,,ZRU]6FQ?E45-VP%s3oB8;n/(K>Pneq87q4)dyzwW<SeHf5y)rWMaC
U"s,2QwYj6w;qUaDwZ*7=J\Imrv2TW[=WPV]ZG-f%BAs(%*5u36)en'T#/JT0\s0.
U"/=fJ),1056Xe\yD&j/?Yn5v%Kk0Z5Tm)Jsa3X2QMq_7E)Fi*mM0pj6XXwx6h1N/
U"saJYmVpo_K9Qk<.ht1hg-WI&,OX&+a6Guj;yjV^V//Y534EY:3aV4P:66),j?\?
U"6U6&z^uXVcp)jQL2+2R=2YfgZSh*\t[_814C-Rm<xa0\m&?-I.myh^x50JKj&7f
U"c6,v*HLVBgh)b<K'0y?k=Ps\_Pg-HQRG$,+)m/lR^o^rrh;Q3$3TalXZ+B/3d8k
U"E3+RRNDrfITJW'$e1P*+Z:8+7)EV/$,JMpK+,:&y:wT)Zqk5cDkZ'=*uR8#HlJ8
U"$Y%r2jFy.VK./d'j$1*$3qYV+VDrgCNy\&.#yyjC3i0j,MjuK[xjK3Md3oO0HTb
U"NdXTaq*sSQ7T)[;6CZ;k->4E<ahLFEwZpBr*IN;x#*Ee-P9;rCXY;s%>;yOTJfQ
U"qaKOHR(kBJHAUl2)bpILiGYiiCjI.tli=qNWB+Kc/=Uh0weE[85'G^.<enSOs^^
U"(eIvZoDsLw;)&)Ar\FDG;KL(kJItB92[CA&+CO*g4e4;_IWaO<Rd+xp8oMTH6,D
U".&h0]qADuoMaItU*AVnfESM:BkOOM#]';S\0B1MgU5)T9,p>b[x>4lP5n+>wKP2
U"K)P+Ekv](g>l^Xu5xnmuo[V(jl=C6-^+d,5jqY1F=)(gdV7g)?>X1(CqvX]&W]z
U"[,IV5bI_M'nJ.ukUN&z3PV?6w.c][kE-:[33j]oTZbe,e'<8a8t)jf,Da-)Q)M-
U"yCWGmQDs:d3mw8JDdeIMrCJHlwAJtGncN5.v\.;IW1#9VfXe*IGSn'XQP;-N;O;
U"o5ZL7^M1SW(I>d<1N7e1;J?FHu/Y##FU^MI^:#>9'S.6EgXQ*'s9J-bch6jvs>W
U"#-3jH_eAbxjmF:v[4jsZLE\h=(<)(PK[mEZXYqogt,E:/3m9-5:60e0UpIsTLI6
U"IE7-Ms$tYCq1>gC_n(m(SiMNJ0msa4HCgP<HMgxtK%kaEqGYO0ozLiRU<I>+y0v
U"W/^8vxhCe5DZKTbf]#$:[.>gr,.iG+zfN$7$c+e-cRDO:?A/E:G.E2*S9/DR?W3
U"L\JencoN6RPu&E=hgS&hXj#C2]=o%i1qiamZW=]-?lwL-auB2[3$$D.^wh$6O%:
END SUB
SUB V2
U"B2&->+V-(a?i#bd_=P-wOC/PS)<I=3#ce4nXF'^]:'Fng9q6AgA;)E^T[+DED;O
U"#p]bBD\%1I*qI1mCWRSLod=u\vFe,*MiUFa?cgF/Y/qAF2A+0%j9ess&*Ggd],V
U"H&Ht1/o/m8aS2Du?Q)x^42??<59)b?5*x,M.Z6I=pnJp[K+2uP1(SNbYZU13SPk
U"6Unun6KmFr7+m'sYf-j$?gYu((H4'RuoD3$hf#8>pAn&MaD8hdQRLcSyKgqId%%
U"ZvJF&'Q'$*HJ,4W2JO+q9yjV]yb)6;#Y4L,BNmY<feLrC;b+gU&1r/Lqi_gR)VN
U"1]3:l[fjyc3mg0r\y1ILgSYY^4/My)[988G%oXZXbv61mD)zO\kpA9BesZ.VK)J
U"c3(aPwy^5D%7UvU>-,yvczQkJqA0;\:(8'.nZ&iTda_?Ue6+R)F:Vufice<(IWf
U"9To>LQcv^e;F:m;Q%H[i[PFF',f3\/ZaxEeaO(w'G2tVExN*YdwY47sW[MJGj2u
U"YpXlf+Y1?\2\+[5+32<l*B_00E+6Pq\N^=O;]dQM-H?.W)rh*&f5TM$PEgdMQ7R
U"kq8T<'vBjkFvUqIi'EkvMICWev;K)qT^IlgeR<i8w?P8?Hs,1Z5WaGi&.$3HGSQ
U"4'kMi]G2Rvthfjcg0JXQh/DWI%Y*BGHn+X(2%wWNBF]PQc86A>D+3-$jYrkl3B'
U"hpOrCAg%Vznw#s6o'hy[bA[X?.D[MOXC<3oaML.T2,55mWW,NBwZ+EA^&ll%sWg
U"FPA)&KM7jVWVqh<'1i&a2R:-(S$RA23/x=OKhhOuaJh-'q5tp#pg32dbW/aop1A
U"+9+TQC_JeA]s+*]YbR2ZE,5l2k7ZzTw1M59[cn?)\_5qL,;n%_x\9br&4L*>J>l
U"n=&4es9hA8H2-_Q8RXnCqDBV6o%v2oA2xj3qQGZ>G7,::v*CPzs)mNGYb(UHz(F
U"6#?xnP=Tg<s6vBLiX/CAp?vn+rEgr*-Rj#6*<C1f?.=]ySbe3$c('wKCz;BN)[v
U"=np>7J_Hx6Q)hms%3:^^p40F2zX7gb?2BEBc]]2D*t.b]4*d8W?J>k)\:sh,qG_
U"aX%hmGc3B$OSaoRCFGVmJv0SO%,v=:%uoqOKvD&V9^bGe,i/=4]Z1'\1Du1df2B
U"kUiBUR95H8l>Gi:moBaOqZIaQ5K:-hk0<8EqYYrcSJ(.r+V1R]X?BIjVc>['W6a
U"iRcM_C)4j=N'wF97f>CCf5[pQ.>hVb*Bb1uA4?9sFp*E[g'hk1[SF[+rYekG)4_
U"Uyca,J11LOe$]6:s4u>,8Ve,9Vit%(C?7K1dXSMJVj_ui\S4tVT)cr)ZoTKHZBQ
U"U^;k=xaOaik9>PTDKbd'af).U+fO$wyv9%c/Xl^PpxLV,LW<6ZBAkR'=ldl$4BJ
U"cue4U?Gh&JoL3ls4&6Os\+51QAAx+]aGHZkon]C6UMX'd(:)*t'dvRTf?u_c4Ol
U"\d4chJI:LuG5[$4T[=a?buUQe>jM?BFK/x3tFRqC)M?(e4<[&Jm]A>>iA4D-2W4
U"cCEftKQn%#[&iT=fl;j.cf-Y<k9iqU?*PEo:5>s$u[8h3m.ICH[K/Ex(Bd9i)cj
U"q=kW/'k5]iQ&mi+i8mk7*7[X?G:,)=RvqwZF^jkAC0t9joHeYX*VPOc8dfixmV6
U"t%Wlbj(#&TO\D\GbTD#8r;YdlRW(\/r([FPk<#-\)SN%/X'ndu%QqP;qblP88(:
U"Tv*z\e(kI:i^&A<?qC/c_h/aamDG$&$^O9C[#pf-?57.VLZ#YJ>d%8K=wV$9E^%
U"pHVdM&8eV#hi8?Hncjim#[#^'J+;K2%>tTGq&dWR0)38VxPYYF-;4G1G)Bsl&7y
U":7]lT+>lG=;)YKW=vSVLmUZ/QTxaCaY:Y[d=1o)I6s:p;sc;CBfjcb*(gA)<S,i
U">O]G&O6Ls./9??GVmFlQ*c']N$hb,CUtBk[i7_Kl0+JcJ&V[k:lY<c4hmtYFWE<
U"Za./d:9AXhZlagKymj#Ekd$o7(VP5D[zgTYVN$o(xmFCQ4rPDt0CrM^80KQ7f6c
U"0djm0V[RBJ?/,00retQe5rzO]jMgX(<G7JD#25D03Q<:HZrgfKBMAzlKuZ9-d\Y
U"H'6'^0J*x9_o,-re<saE/Vg]&P.Qdf)aGddn0VQD>tTuBEmaKlqA/U\bf6_8#hz
U"L.wI9Lm2^P'oVbaRWW7s;kVB]Vp?p(9v0?/akX;gem\&SpEkG^>g19#Ii>*X2Di
U"m<L'TrVKPfZv*4=t>V'TCXEBns.PN(OVn=Zuh/loW%l0M^jhMq5EQ/^Al^bLa8k
U":XNx2&K_Nz:xU,'c,SHddD'#2T$VOXBL=s_E=0PIlLWN,Gy(*SPn1j4wGa[;Kb;
U"d?X>iEG$2&wJV7N,?w;ftbg$QAF9c<r3vU-hGBn0hMfvqislUmKe'h^'?3:A)Qo
U"i<#FmM-$2H6+)s-=>wD.mhf<ZW^x9sH(tvG*4=^F=:+qX]79PiBtrQ#%c(1r,t0
U"X<:2%lz7c$F_XNXyBHpp9LWX40cl;.sSyZ]TB+/-/b3Y:88RZ&sLfT0[]FD>Bnz
U"$T)f&U:Tv2[6A03fd8x55:Kc=;&Zk5>eGLi3dRZlq2>x%90xWP$iLgLQ?1-EH4x
U"f5U+[[F16WnIWbvD3lchSV)+/>-+Vv'8:)S6[51)p):*M5Gl)qWP<:yLnAm(7.U
U"hhF/YH%GwD(6G)Lv4UAgGy%2/s%Ozr6s8%dp:ldV:Lccn1G&%/#TaJ2_J(i&e^a
U"GHC]IF;GP<Y4a*LvDGFl,B5YxS552vzp71)pm:.3f.4C76Qq:f9B?(.MZ=GU]n+
U"C'(92WB],->^dV&^qhr^ioau&([vL&z-.Lwvk>F?1'y#0yl%u+93kic^Sxqo)pZ
U"K?jq+j0PEqc^j3Pel;GP5KF#i6+v5[fLc>9gSg-/[6MFi6FY66C7(V2GW/2lli)
U"]Qp:'[BaM3S,)HB\%-*Clct_iE0bGcJZ176=c+,LZ>?eh6//gPorbKA%_N\aEg5
U"mndn<pKiuO/3[dR]iDD<+/;cT#+8Om2Pj]/&Q/UkXU1feP*p=FN;yO_9(-fbS2;
U";61/M]r9zZD.jj2WrsX-nLbL0i+04YI9;c&x=FpS>(>1Og^3<E5<9=XQ#h.rE0=
U"R(2>1M__Q:oV1NFadCgNtsYD(m*o-+O:42#auN%Vx3TSwc;>JaY/1XjQ5OuW]*s
U"p]YEDjC;x*e)];dMI%D=f?]q>;f+n\^ALUt'l[V0:Dir(MThc9#;U$/[g\c)]s0
U"\hnH13Y<+89.D0AhtpX3pE4xDycab*_8sd>\Y3D:nnK;EGW'QdhYfP'jVWj5C6a
U":dVo0&+:4=wd.D8L=t<H$q=4Kd#1.F2Zo.+wr+_mU+cLbLF6$ToSM%V&8/F-3/b
U"M79p\i(hKZ'/UsSe3e;<2&CNZf'H4>&oPt%+]UMcC<%/gD:5Ki\)oy&CMk^8PVt
U"w(g-_iwBUVSXADwmepM0J/YPZ'hQ'MMlcnLJknQ)2ssf3#qSh;WCn5W-uPpp)LN
U"76$u.h1&O>f:FB*].Bgr\xsgcZ+vR$._;l.[iXQ3rT'VrL7wtznar-karAOTZ:+
U"ZC].vhE%zr(S:.Frgnrc>:oG'h8_(LuAsH$^7]xqSr1tNspZw8+=*;VDC]ux^jo
U"Kl*u.wXLM/LxK<u5H#hC3pt^3IlCUaenHllc9,#/JbOojZDp*HKaGtl]mAkjH2l
U"$m[vXj+O=ve*KP%MXi[>qRNDAO1aneE0v<M<k'1PW3d#y]KO>xNkRD4F3m74#$\
U"_D*oEQ3nh\=-/>A3Pw'0xynMb3%]mosgFSXz>%Pf3lLb6B>a0q=g[ES)\eqGpJ0
U"c1cAm$Umw/?o-5=Dnvs[iRbBB1=qtkhA[fCSii]H\)TVc5K*5y371Iy36-PV3FS
U"kcj?kwHnifrk0dflZNp]jg>B^#q*'uU#V4&[YaY0M>K^;Y2rx_DC)^l]pi%K*[M
U"tXknO's5cr^8=dPXZjwm>Od37FgkCenk6mlK+uu[E6n7)\f5QX<G8xLd/;Ng0[\
U"lp;X>qs/Y/:30W].L^3Vf>%cV>#k'Vm%Le0-VhVY?l?iFAuwg*8Xd*8N&hd6z.Z
U"k)]fC>43#:evHu5ROpl3>p(F*H#x1kr$De[jIB(e2Khpw&u-(g'\Je+0AD$RCxA
U"3>j<;H_kB3CYQNTl)Oi.kZYV7;eAo1WSGt&[w3[YOh,N?=9x/\[K9ukc>Ne2mRQ
U"l;J)Td8_F+aohwu>I.cI>etw?^3Ju,T6ZkuZTVNw7t'l9G9qZ4R4Z[ji64l:Q1b
U"H%7Kgb.<EJbldKB0sAeA-+a1Zu(+$%jj0-,Q5pN.R;&cc6sACXE?o-n;V$Fn_fH
U"U0;efsdk(AcU5C6)<P%N2:N*ePWQ/01:U$$dH&xd9%0l(8Del#H&qYjBFRigz#N
U")'%0.z[t#^k_OfnG2d<*X0=dzInd1Gr/hNX-.YJyHAB8JnKWgty4<GQ*Z6F8%UX
U"Xw=u-Ck'D&$Aw?hcx)^Q;(0$+qYvKl&jCf0&ovCB.PUG>kwi4T:p#-vifUw$GI%
U"K2tLc<#DZ$-H<%+l$B$k'Y<$&nR30OpI4ovH:RA$iyP/%:(m3ln_O5PFE8J<-LB
U"c_tZ,K+H]VdHj+?E'5<6,r*^hYiU1CN\Cp;($USKGK#u2:a4.#XDz+aU,.GXL*t
U"9gWXxlEcC7vBe:<c*<]*<EcMh.pI6c7%($IwLJT/43jT#.[g:CssI^8;$'::JOs
U"i=5P<6?zU9<>#o:NQD_\)id=CE;%sAVDs;*B\#\x+l?;KcU1Xsi8+G2=:KQ_ZnK
U"Di)txinc2?msdK;:N-X#aAa0gHG^7Bq#31b8,Du6Wl,qPrR(;e>v#$Q%bCjDl>f
U">5^0/v)$-hQ$cIUOIe;<,VaQ[y>l9;zI(Z.yMq._q^CMmOA2HX9B963;#iao,=s
U"g)?iJ=J;gs,W>DEvg;ip,(%$?h>6U[&EkmbQCL2HS[vdPp*vxHn=zWh<4&du%&%
U"fi$2uxRPr.mAj_iHakB2a&j=uFQhg]3Ron\z0pn5dH&RYOk\P/ms:0[GIKKsD&9
U"j\,:t%a,dKoo2B/)j23pJ#2Xobm*-^ps$cQ--jXk45biPU6eSKxm>C7tmC+c*Y?
U"&.rK3](]$lX:qMW]u;F7<3/&caS1A1IgPeWD:t2m_'1p0m1M+&i#ht2U#9.zLHe
U"%z.04L(E>MGu,Z\Vdig\>Lk4j40?p&c/n#&G.,-b1(D7Mh*h+JWFfd9gcEdAtu\
U"m63n<N=/l$ml3wu*pAju*]?7MO<BGqK[<t0DK;T+rfVph&TJ53RUCq%:\PPb##N
U"#c,lqXmnB$eh3K/f,)lG;.6$RB:u6MgsnD*:s8YM)A(sfa9x[g9jt/d-MO79m8p
U"$4j(n$X3[6RdCu.4WU,OwG1JwbnO=2if4En*HEp0JSh3d[L[gJ+I\\3/Bp&sw<4
U"OXhuX;SM*?o]+M)28ZsXOPDdl+Uh3fHX4$ARqC,<,q3wFr7NN)CS2#)B^(QkYHe
U"/yete$&XcXeqHg0Q4.B>ZFuN[mV?RrXL3$>4$,Gh.[uZfgG'x%up%()9%%%%-%2
U"%JYJP*GyM'8)%%&>+%%%/%%%%qkgf%xrSt%goryD.;x479dp4i0Ftdd/>dYLwC1
U"RX)$w4eh)#)T&(;7Z0O/2_(:\gK0ZERDC,j24-1WRVFaF_g*[iF3roX.dkUeiLw
U"s*$YtsYR1k21GI4J9q=7JYh<vLpGcki$$c4$$x?Hrg.C#(8;[][^W1%ki<,X?W7
U"JDQmle.pAPQg9=R:aEGg2JFaMs.XEPt_Sbfrc]s4hJ3MqYmXV$K]ZQBi_0yKbaB
U"HB/$HVZtyg_#l6*X<>Xq=M)H6Bi/1z&WEoqTM7qpuKZKP,EnWQ7jWVX=$e$4XM]
U"R?-M_OEQN70<fG9V[&_6#-$<i3]]#LZq[8::Y>xTUTJxER9-cSL8jcQ(p&qq65P
U"Z?TcPk*6[ZDSWt]X53LBuhj[#H'0)?U:JU$(b;Ql-u:-l=78.xm+wLKcj8bqb]4
U"lpn?gTl)]J3X1S.pn:H*=3XF7p:Q,J3Ri=Fl4\5E-.#Tf5bV\[qBh^.B0.%I5zO
U"ZAp&J?uF(M3)?&g$HLRrnaX5s5kwZ7IOA&AB]R^EhIvy&L\vyA%'jRhg\39BNxK
U"V:NmTAQJ&d7TMqp4V2ed:2RerZ98NgfT2^AQwO;AV=;W+q\nSS>X]PD/_M-FemM
U")jnI4W4:8KFMDcV<BJA\)NA0FsxI36cUh2ND8Juj:?$a_pPfD*_p#[lg\F8WgAJ
U"tE6tlbHcKHSHt:zWZhk-g?HHs/d6P:BE,eTC)^yDyHQND4gK,4g*%T21'+U7yF.
U"C1y-%8A:;,2&ygnzd-e1T.'o9ypA/UvdG9K>>-Lv#<q4ndYgXI-]>SLg^vE>kit
U"Dut+sVC(=8Z+35.']/G9N_7x$LItPeVi8_ID\gd#WlHN,1ryJ2D\xy8;:s+t5k-
U"dD[WqI]7DB<iiSixUHG^:PWD4AJ7;#bqYhb'%bGKk,AlGL%jsek%u$=BB7Ksc<S
U"jNd$urJ>-Fv6x5=pf5'_EW2)[fchMHgl,dgg)#dJDL&xIHLirN/0Wy[JW=_/)k]
U"J0:m8j%Mt=.XN?fC:f<BT;/2)i,o563q2#Iw'7uuV))7$(h1D^c-f9vvop]19&]
U"4:-&Z^wpFrB2'pEF/S&lB7R&$MD4bn+64WH[6.+Mxfa<oix9/u0],f;#0rCQHjE
U"6_O<MX1%'_W/QB7gg%1LWP3/>cc/J;Dj/+HQ9I+fEtEsgf:<+*/i0&0ZbnuSU2a
U"7T4tp8Ym\HvhkxO7aT[3WEjHjB_=A$)II9C)lk#N28l0I[LmrXo&AC2r1*QNjgZ
U"vd+E1L4,#2X4F^0i)9NK;u4gOPZ$3uVTaCm:NdSUsZns6T0_34T3:#3b<*nQX.l
U"'5t:0cG_iZ2K)QSA[OSpG^kIiO0jcjQLQYxLqM>kQL*+ci]1mIHlT0wi&AeMA(,
U"-*c['c*wm.-D.09k/XEiGu'S=(pO>J:ve%5=+=R5,?P2f?N70uZ/3?$lY0r9DY4
U">O)+3kOHds>o)K=497;2eYP>Y9tQiS\3<E4d=9ZH1+Sq,'a*3&R6%*Y&Wza+'5'
U"Esg6#YlQ9rO'\K,A*,Yh(Dg%wtq^V?.1.A5Utf\\fs%<up&%'9%9%%%%-L%_]BR
U"Ks->)rBC%.%42%%%,%%%%%%%%%&%E%%%%%%%%%q%kgSg%fxup%&'9%%9%%%I-%%
U"J/YJFU*i-1'7%%D)%%%,%%%%%%%%%&%%E%%%&gC%%%qkgS%nshu%p&'9%%9%%#%
U"-%%_JYJmS0(LT#<%%d&:%%/%%%%%%%%%&%%E%%+%BE%%%qkg%fxrS%fxru%p&'9
U"%%9%%#%-%%DJYJ*iGyM8#)%%>%+%%/%%%%%%%%%%%%E%%(%E]%%%qkg%fxrS%tg
U"ou%p*+%%%%%)[%)%S#%%%,%b%%%%%
END SUB
V2
CLOSE:IF S=74AND 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
