SmallBASIC|e|eapplSmBa@APPLMBAR7MBAR =MBAR MBAR  NFNT INFNT NFNT NFNT (cTalt /Talt /Talt /Talt 0Talt 0Talt 1&Tbmp 1WTbmp &1Tbmp '2wcode2code2codecode)codeLcode codeucodeoacode~code adataDpFNT`_prefgQrlocg[tAIBgotAIBo/tFRMoQtFRMptFRM4rtFRM6stFRM stFRM utFRM v%tFRM xtFRM ytFRM ztSTR |KtSTR E}tSTR F}tSTR G}tSTR H}tSTR I}tSTR J}tSTR K~tSTR L~tSTR M~#tSTR Y~9tSTR ZtSTR [tSTR \tSTR ]=tSTR ^ M\ ^ Gi So Nw U X C P A K       (H% )2 *? +K ,\ -h .p /| 0 FileNewOpenSaveSave As..Beam-Run-New SectionRename SectionDelete Section-CloseEditGoToSearchSearch again-UndoCutCopyPasteSelect All-KeyboardGraffiti HelpPrefNormal FontBold FontLarge FontLarge Bold Font-SB-VAR ?x9SB-DOS 5x9SB-DOS 4x9HK40 4x6InfoThe LanguageThe CommandsThe ConsoleGraphics & SoundMathematicsStringsFile SystemSystemMiscellaneousAbout SB;R ^x  9T]7 # HW4 U    W  B   G S N U X C P A K  ( 4 > IY[fq| FileNewOpenSaveSave As..BeamDelete-CloseEditGoToSearchSearch again-UndoCutCopyPasteSelect All-KeyboardGraffiti HelpPrefNormal FontBold FontLarge FontLarge Bold Font-SB-VAR ?x9SB-DOS 5x9SB-DOS 4x9HK40 4x6InfoAbout SB UB((A 3J)DRgJ)Wak B"h` HAAJQ Ɍ'3JQ(J)Fڔ(IJ)QHIP`UTTDpR'8T@8NSxzNR"(}TD AE_9Q| ZRd@ "JQ(J*EV(IJ)QHg2;+3ͥ*.I)P@$RUTRHDQH@DQAH QTSlJU(rIS$93!%RL@H PD8 Dfp*NBI{,z,DR%IJ"HRKJUJJR%*"Q@Q TQH@D!$^B/XEDU$JJIT$E)D*TRR@E 8}II$$UJQ(J*DR%"IJ$DRzJUJR%*$IP @ QDOJDA'B("QX)EDU"JJITĥ"E)D*URR@B jJI$ N@NJQ(JDR-"IR$DRBJUJJR$(IP@ $Q8HED $QB(BQT(C8$JJItE)$*URR@u1 8eS&1 K·JtRd,F!I'Dg::U*3E$kT8%O@2QJ91^CzNR(AI1#RbB9.$≌b a0  `@!+++++++++++++++-/39?DIKNQW[]acfknsx} !%),/26;>CHLQVY^ceglnty~ "*.29;=CEHNSW[]adjmrwy "'+17=CIOUY_einqv|    PRB@(!@PDP !p>v0!i"qyc c8{Γ(JL8R|0` @B!Dg9@@qjA@%#B B ({RJRD@@ ( R$R ʱ$ jB@(!@PDP !p31BDM9Y㪭0@(A>@%rx B H{RJR#1"KgJR (R%%Rʱt"$)c:QBq@+!@[W pbs:( cI1욪NH!)!Ax cD { JIRb H BzRJR !.#&%+2R$A>%)bRVURN^ !x?B>pR^*+@A욫$㪥0%}}BA>@/ Hx B HJ҄"IR  x JRBJRd(BR%%)RGIє&A2&%)BRUBqJ敯@zJ ଘRR$@yv9.q #+@AF!!JH B (JR"H  @ BJR"I^(BR$)RBH(92%%*2RVUjBJ"@@J ଠRR$QBB>c3!@(Y"1cAtz /JL%0<08'JL8B !zLt)yBHo , F:NBJ"@@J S\ b "@9> 0 0UjBJ"@@J  #(-27<AFKPUZ_dinsx} "',16;@EJOTY^chmrw| !&+05:?DINSX]bglqv{  %*/49>CHMRW\afkpuz $).38=BGLQV[`ejoty~ G @fD @DJ @ D ? f@ FD F$.Dꉤꪪ@` @@HTLINJ@TD @DJ @ D ?DDڪ@ `hNmBD"h JꪨJ$@ @@@DJનJ  D @DJ @ D ?ڤBJ@f`iFDBNB"`@BJꪨJ$B&dFJꪪD JJjdJ*NGnTLʮDz w  ?lDJڤ$JNB` BfFD$d@Bf$ȮLJJDB JNJ( LJꬤJjfĮB.LKD  ?DvrZJ`BiFfD(B⤢@DꨨJJ" JLJJJDD JDJJHLNTLʪDzwO0jDTRT$DJ` f`faN$BD`d"f.JJN" JJJJD JDJDJDDJDJ @O0DTRTDBDE``LɁFfDBk`$ h.bj΄餄NJfFJƌ&JHꩮJDJNlDb*BJ"DTDJDJ @O0j"DJWR$D `  @ @fDJDJ @O0  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|@f@ FD F$b.ND Dꉤꪪ@` @@HTLINJ@fTLʮDz w  ?$Dڪā@ ihNbB@"h`@JJꪨJ$@ @@@DJનJ  ĮB.LKD  ?ڤBJEfdCfFDBN@BDJf"ȮLJJDBdJĪꪪF LJlhJjNGnTLʪDzwO0lDJrZ$J NB`BiFDhB⨦@DJJ" JLNJJDD ꊈJDꪪLNfDJDJ @O0DtRTBD` f`faNBBD`h*f.JJN" FJJƂJD JDJDJJDTDJDJ @O0DTRTDDF``LɁFfD``$ h$HDbj΄餆NJfD꤂&JHꩮJDJNlDb*BJ"DDJDJ @O0j"DJWR$DJ  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|Warning^1^2^3YesNoWarning^1^2^3OKReset Pilot?This database contains a flag which recommends that you perform a soft reset after it is installed. A soft reset should not erase any data from your Pilot. Do you want to do this?Don't ResetResetOpenDBYou cannot open this type of database with SmallBASIC.OKUTF8 FontsYou cannot use UTF8 fonts on multibyte PalmOS.OKMissing libraryMathlib 1.1+ requiredOK ww|; 6YETFX5P M劥(7L ?<NVHHnHnHnNOO J@g<NO4p`j n<*(8(6Cgaj?/?aydPJCgay?azd?/?a[.O JCgaz?/?ay/././.NO LN^NuNVC B0 mXXXPXQ .N^NuNVC B0 mXXXXXXXPPQ .".N^NuNVB0."m @;q N^NuNV/ / nE$&Re mLN`$"ҁ҂ 爐Ђ"@"""""2$&.$nN^NuNV/ $nA$g4 S gJ6/a<.P&nJSgB@`=D .Ѐ"nPq0DRH$nj>E IndDx6|-KBE8 Є&n43210AkR@`BRARH&n+HbnB0 T 0 fRRB00RR ,g mLN8B0 T 0f nJPf$nB@*@g mL N0.LN^NuNVH8&nE A&B0"C Q 0 g mLN`xRR/ aXJmhffkdT(kB0"C Q 0f*RRB0 0 f8 g mL 0N`$&L` mL.N` mLbN LLN^NuNOT A VARIABLENV/ A B0"m 1 fd24VB0RAB01HRAH1 m$P fB0 1 f&/ a$HX`B0 1 f mL 0NfJmhfAb/a3 m P` J$nN^NuNVH8&nE A&B0"C Q 0 fJRR/ a XJmhf@kd4(kB0"C Q 0fRRB0 0 f f&L`` LLN^NuNVH8A 6B0C$Q(H( 2 fX4VB8RCB02HRCB2UCH2 m&P fB0 2 f/ a&HX`B0 2 f˶g,B0"D Q0a1J@fB0"D Q 0f8p`8B@LN^NuPalmOSNVH8&.?<@Hn/at8O z@ڃC$"A (I,Jfp(E /a1$X. A-HC-IE-JA-HCh-IE-JA(-HC-IE-JA-HC -IE-JAT-HC`-IEt-JAd-HJgxva7x8 $G"R #RK6 e F fHxa1 "n"X`DЀ/a0$n$X FJg*p$ (Fr$E0 B"P @TTRK2 e"n"Hxa0$n$ nB"nBQ$nBR0. n0"n2$n4 n "nBQ$n/Bg n(P$LNC>/ ?<&LZNHx?<N/ STKDUMP: Unsupported buildin procedure call %ld, please report this bugSEG:CODE[%d]=%02XOUT OF ADDRESS SPACE OR ILLEGAL CALL TO '%s'COMMAND SEPARATOR '%c' FOUND!PARAM COUNT ERROR @%d=%XNVH8B.BGA C(H-I0Tc NOACh* eTЭ BgaZT @f@&E6BHx$m`N_VAD/N_2mC? BgN_*?-G)/ a[0OA,"EJQf B0 P0RT@@ @&b A Ѐ00NN  J  4  D  h h" 2 "  B bRr B T R^  | V `  n~  4 F  06@TK8B2"F Q0IR@0@@;AJ.g ?G/ aX`\` ~Bg`?<a)T` 04TB8B2"F Q0LR@0@@0(RTJg Ba SXf8` mT$:N`p mT+N` mT#N`Bg mTF`Bg mT` mT+N` mT-BN` mT,N`v֎/aX .0g/aX&EJSg EJPfXT` p mT..N`x mT2N` mT18N`4 mT1N`H|<20T@6@TK8"F Q0LVAB@0@RDB00IRDB00@@=AHnaX` mT22N` Bga(T` mT|N` mTN` mTN` mTVN` mTN` mT5N` mT7N` mLN` mT"N`t24TB8B0"F Q0LRAB0BC06BTK80(JTAB@0@?C? mLlNX`02TA8B2"F Q0IR@0@@0@ @9b*A Ѐ00Nt 0@`Pp(8HXhx*:JZjz m`_N mTPN`> mT!N`. mdN` mdN` mdLN` mdTN` mX N` mdN` mdN` md(N` md+.N` md0N` mdN`~ mT7N`n mT7N`^ mT:N`N mdN`>a(`6 md2jN`& md5N` md4vN` md N` mT> N` mT>N` mX N` mX N` md<2N` md(RN` md&N` md,N`v mdMN`f mdN4N`V mdON`F mdQ(N`6 mdQN`& mdU8N` md[pN` mXN` md vN` md@N` md 8N`?< md `6Bg md `& md zN` md N` md N`t md^N`d mdN`T md]N`D mT@nN`4 mTPN`$ mTPN` mTQPN` mdN` mdN`G/ m`_N mLN E0X`?C/ a\`?< mT$NTJngRG`Jng?< mT$NRGT` mLN EJPfV` mT&NJngSGg"EJQf2` mT'N` mT'N` mT*NJng JgSGg&EJSf` md)N` md6N` mdN` mdDN` mdzN` mdN`?< mTF`?< mTF`?< mTF` mdhN`@?< mT`?< mT` mdN` |`B.` n0S@2@d>B0"F Q0 g, g&v֎/a$/a0V@8RAB0"F Q0JRAB00@@;BJ.g?Gr/ aM\ EJPf n0TbBLN^Nu * DONE * - Press '.' to return NVH8?. /.a.Ah&\JPfBgB@-?G`(SNUNOEHx?BgaMP$NO/NOBga~ C0R@O @bTJ-g HxBN_VPJ-nf6A/$L_NBHxN_V0-@?BgN_*A/NO C0a SVN=|=|AHnNOLN^NuNV/ ;|@// mXNP`~ *f"/.a"/// mXNO`V mL @N`F/a&(/./a$O *f/// mXNO ` mL @NEhJg"nW b/ ` Z/.a&@(AXJg nW b/aX/ab&(XJg"GW b/aX GB@@Eh @7bHA Ѐ00NR2222p22222222222222222222222222222222R22222222222222/// / aHjO"G#@#A`BB////aP>OJl @"////aP>OJg`&////aP&OJf mL N`F/// / aIO&G'@'A`(/ / aO,P-@//aOP-@f mL N`/./.aOP(G)@ GB`//aNPJf mL N`//aNP-@BB/ / aOROJl" @" // mXxhNP@`/ / mXxhNP//aNnP-@/./.aO4XO./.aBP&nȗ"G#KB`0BB//aNOJf mL N` BB/ / ENNOJ]H=@/// / mXxN*,OBB//NOJlT nf.BB//aFdO////aBO(G)@)A`n////aBO G!@!A`PJnf.BB//aFO////aBTO"G#@#A`////aB6O&G'@'A(G` nB0"n Q0&nRSB@ @-gn @!g` @Cg`(GfD` f G ("(@"G#@#A` f/ mXNX`/ap&(XJg&GW b/aX @"(G)@)A`R/a-@XJg GW b/a~X"GB .F#@`/ax-@XJg GW b/aHX"GBJWHHD#@` &nB0(n T0RS Ig/.E N-@/N-@PB@@Eh @XbA Ѐ00Nxxxxxxxxxxxxxxxxxxxxxxxxxxx(brxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxpJg JVHHD-@`pJfJgp-@`(.BBCEht0h2nDJAgJ@f`J@f 0hHRC Co`R(.BBCEhz4j2n0DJAgJ@g0HRC Co` .F`".ȃF` .ȱF`".ȃ` .`".ȳ`(nB0"n Q0RTB@@Eh @LbA Ѐ00N<\h//.aPJ@WHH-@D`//.aPJ@^HH-@D`//.a6@-KF .ЀD-@`//.a0@ ЀD-@`f//.aPJ@_HH-@D`H//.afPJ@VHH-@D`(B G f:BCEh`RC"Gil0Щ//.aPJ@fp-@` f n f. hJg/"G/)aMPVHH-@D` g EhJf/.a$H/ a&/*&G/+aLOVHH-@D/ a/ a |`H gEhJf>//.aZPJ@WHH-@D`/./ mX8N8@-LPEhJg nW b/aBXJg"GW b/a*X&GB'n`(nRT/EN///.NX// mXwN&(OJg GW b/aX"G&G'C'DEhJgj(nW bZ/ aX`NR.`BJ.f nSP"n2`N C&.N^NuNV/&.f mL,N/NO!&Xf mL,N C&.N^NuNV/&.f mL^N/NO"&.N^NuNV//&.(. Jf mLN//NO3PJ@g/ mLN C&.(.N^NuNV/&.f mLN/NO+&.N^NuNV//&. CJfSRH0H/a(/a //a?/a6 D&.(.N^NuCANNOT USE CONSTANTNVH08.ar$HAh&HJSfjJ*gJDfA/a`TA B0"m 1f2RAB0SA 1=fTA0v֎/aN/aPJSf// a/ajDL N^NuNVH8BnI A.BBnBBnBB.=T"G Q".0 g gB.=T"n 1 fRTB00RT ,g mLNB0"G Q 0 f>20V@8RAB0p0.HRApnH m-P` mLNAh-HJPfB0"G Q 0 fRTB.v֎B|x؎zB/GNX nJPf=T"G Q . 06f8/E.N."҆ D1RT/NP"nJQf/N."҅` B.Ѐ D1/aB.ҁ=.aR.=T"G QX . 0 fRTB00RT ,g mLNB0"G Q 0f0RT`|` mLN nJPfJ.gBg/. mTAN\`vJ.g6GEBD.0I40200AkR@`BRARIInJng"n f ?/ a`?/. mTAN\ nnJ.g6$PrҎGEB@0I1(1RI.In`=|Jnf "nJQg6LN^NuNV mTJjNJmhf/a*NN^NuNVN^NuNV nBB(BN^NuNV/Hxa&/a C&.N^NuNV/ /$n g f *g/aXBBj`F f>0*g8Jg2BCCo0Ъ/aXRCjm/*adBBjX/ aN&.$nN^NuNV nB@ @g8nJ@g(`V @g @g:`F ( @JfSW`*JW` BB/(/(a6JW`JhWHD@`pN^NuNV/ nB@ @gHnJ@g(`r @g @g\`b ( @JfS0`Pv֎//( mHN`v֎//(/( mHN CJfS0C` 0(`p&.N^NuNV nf mL N`XB@ @g nJ@g`8 @g`./(a3t`2 ("(`&/( mHHN` mLNBBN^NuNV nB@ @gnJ@g`8 @g`. (`4/(/(a4r`$/( mHN` mLNpN^NuNV n0. f"hd h` mL j` mL 0NN^NuNVH $n8. f"JDl mL &N`JDf(/ aBjB0-5@5@|`0*@l^6<Do0Ъ/aXRCjm**/aJ%H?//a8O 5D0*S@D5@|X`n@o**0/a"%A0*Xo?//a8.O 6*Co0Ъ/aXRCCn5D0*S@D5@|Jg/a` mL 0NLxN^NuNV//"nB@ @bA Ѐ00N vvvJV`h&)()BB//a2OJl$ @"/Jf: kJg/ mHPNXJ@g/ ah$ *nV`8p`JfF f@ jJg/ mHPNXJ@g/ a&$ +nVH`pp`jp`d fN fH2+4*Ag pAnD`@BCCo&0"*Ҁ/Ы/a~PJ@fRCkmB@` mL NpL xN^NuNV n fp`& g n  g Jg fp`B@N^NuNVH8*.$n &n fd f^ E *"@JfS + @JfSHpa"E#H/*/a3/+ E/(a4"E ) @JfSRH`hfJf EB$j!J`P f2 f"E/+/+`Jf"E/+a,X`vJf& f "E/*a,X/+/+//`X fg f/*(mHNPXJ@g@"EJf / a&(/+a,ZX////`/ a///+/+` E * @JfSHh@ab"E#H/*/a2zO Jfv֎//+NP`v֎//+/+NO / E/(a3,"E ) @JfSRH`Jg f f/+(mHNPXJ@g\ EJf./ a&(/*a+tX////a!"E#@#A`/ a///*/*a! E!@!A`"E + @JfSHh@a`"E#HXJfv֎//*NP`v֎//*/*NO / E/(a1F/+"E/)a2( E ( @JfSRH"E3HL8N^NuNVH0&n$n / aB"K J"""""2B+X f( * @JfSHha'H/*/a0` fj0*gF/a|'HBEXjln6(*؃֫/a//adO REjm`BBkB0-7@7@|`$ f0j/a'H?*//*a0DL 8N^NuNV//(.Hxa&/a//a C&.(.N^NuNV/ / &n$n JfJf *ѫ` f: f/*/*/+/+`DJf/*a)(X///+/+`&Jf0 f*/+a)X/*/*//aZ'@'A` mL N$n&nN^NuNVH nf (m VHD@`Zp`T f>&(((BB////a*OrJm////a*JVHDA0` mL NB@LxN^NuNVH0&n&. $CJfSRJ0J/ah'H7J//a.L N^NuNVH0&n gHx@a2&XB@g @g`8//+ mHNP`6//+/+ mHNO ` mLN/a`0$CJfSRJ0J/a'H7J//a-/aL N^NuNV/ $n g/ a8 j$nN^NuNV"n .H @-bA Ѐ00Nll\ll\ Q WHD@`B@ Q gJfp`B@N^NuSatFriThuWedTueMonSunSaturdayFridayThursdayWednesdayTuesdayMondaySundayDecNovOctSepAugJulJunMayAprMarFebJanDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryNVN^NuNVN^NuNVB@N^NuNVpN^NuNVN^NuNVN^NuNVN^NuNVB@N^NuNVN^NuNV/ mL@NE`` _g: RWN"pn"tl"p fAb04RB0R@m\mBPpf$nN^NuNVH $nB0 @gb @gL` @"g`?< ?< mL"tN`<**?< ?< mL!N`NOs&?< /NO?/NO&0*O @ f"B'/NOM\JgL/NON<r`& @ f4</NOM\Jg"/NON<S?< ?< mL!Nx0@LN^NuNVH $nB0 @gb @gL` @"g`?< ?< mL"tN`<**?< ?< mL!N`NOs&?< /NO?/NO&0*O @ f"B'/NOM\JgL/NON<r`& @ f4</NOM\Jg"/NON<S?< ?< mL!Nx0@LN^NuNVH8&.$n 6nBNOs(H<x؎/NO;?<4NOo*?<5/NO?/NO,/NOt//NOO ?<5/NO?/NOyBg/NOF<NO/NOC/NO>O GpfT/NOS&XgH/NO! XgB'HxN@N^NuNV/. mP/TN@N^NuNV/ /$nBC0 @g @faJ@fa`0* @ g@b @ gXb @ g@`h @ g&`^ @ geT @ 0bN @ (eH`,av`HnBBB<NO>O.pJ.m .gp`gp`p-@/.?</`&BHnBB<NO>BHnBB<NO>N^NuNV/-?</N^NuMathLibSB.LOGNVH0aEP RRbNG/ A/NOPJ@g/ /OJ.l Ar `0 .g Ap`g Ar ` Ap (HB/ BB<NO>OrUD@ENO$-JJ- f SreA Ѐ00N@LT`ht|Al+H8`FC`:A,+H8`2C`&A+H8`C`A+H8` C+I8HnHnNO ;nG6ENOBR5@A/$mLNf+H?<?</NBmBmBmBmBmBmO-KC-IA-HC`-I C OczBD*YGEBGBFB'Hx/NO'O DfPPP`JDg Do t2A`BB2 Df|U|U|U` Df|||`p Ag Ag AgJAfJBgP`|0U@ @c AgJAfJBgP`|0Y@ @cJAfJBgP`|HnNO0D&ֈ5828NOBgBgNOHnNO58O rg rg`*"n QB@78`"n QIB@(@78RD DoBkB'NOdNOg n0 n2H n0B"n$QNSNWN_pLN^NuNV/ $n0 @fB-`D @g @f62*mn,C2;A @fAJf ;Q;A;m RfNOg Bmp`g?<`g?<`g?<`* g0* @ gb, @gb @ g8 @ g:` @g @g0` @ gb @ g* @ g,`z?<`&?<`Bm/ NOp`\?<`?< m`W$Np`>0* @c? m`W$NT2*0Q@ @b? m`W$N`B@$nN^NuNV//BDB m`GNBv֎/NOO JngF/aJ8Xf.J- g?? ?? NO`A0&HJn4@`0 lA0Fn<`JFlBF0In2@`0 l0Gn>`JGlBGFf?? ? ad`H4 J2FJB^D0@JAlJWD0@6lDC0lD@ClJBo : 8> `: 8> 0lD@4@0lD@6 @<lDF0lD@@F0Jg*Em?? m8NREXJCmRDF`JEl`Em?? m8NREXJCoSDF`JEl`JAo: 8`: 8>0lD@4@0lD@6 @JBlDB0lD@<@F0JgDDmD?? m8NRDXJCmREF`JDl`"?? m8NRDXJCoSEF`JDlL N^NuNV?. ?. m8NN^NuNVJ-g m`UNJngBgaTJ@g`afN^NuNVH,.NO*NOB8HxNOXBgaT @g4n @faf`&NO&//aXO./a\PЅdLxN^NuNVH*.x ؎Hxa&///NO/ m`_N/a L8N^Nu`/"/ / d$BBHB0H@4/ 0`2$ d"HBHBf ҂ecS$Nu0/ 2/AH@B@2/ ЁNu><G<<N <r><G<<N lp"><G<<N Xp"><G<<N D <r><G<<N *o NVH? .". $.&..ҁрg,փՂgHFFF G,<.< (FȆghgHDL*ʆgZgFĆHEMH0$D&E~,*(&$ɊˋDgbd4EɊˋ B7l B l" Bl*` Qt&`.,*xB `>HG<HF:HE8<HDB`E<EɊˋ F7lb F l" Fl*` Q~,`0&$"pF `6HC4HB2HA0<H@F`Ɋˋψ͋,><HF<<kxψ͋ևՆӅф( .L 6g RDA(C7L<)gp Fbm` Dl4LH@DH@`.:<`ψ͋gjψGψD@@@( .L 6g RDA(C7L<)g Fb>m:`64LH@DH@`L .".A7L0LN^NuL .". A7L0LN^Nu(`*F` "` .". :<. l f`f`L A7L0LN^Nu`:< .". $.&.(<.,bjfJf`bZfJfPk `fg4gG`NVH? .". $.&.. G.<,F(g((*g*bgbgȇg.HDLʇg2ĆHEMEDH0$|&DHBHC<FFC,.(*v$" "|4ωωփՂӁрއ݆dϊօՄӇчϊωQ( L H@HA0HB2HC46<.:<gRD`:<`:<.Jf`:<.Jf`:<@A`$.&. lA7L0LN^NuxҁрSDf`zĆփՂSEf`NVH? .". $.&.. G.<,F(g(*gJ*bgfbgNȇgpHDLʇgtĆHEMED|."|zb g ҁрQ` b`zb g ҁрQ` b`z5bgҁрQt&`(bt&E5E? Eb `E "vg RD.:<`:<`:<(g bmJfp"A7L0LN^Nu:<. bJf`:<Jf`:<JflJf`dxҁрSDf`zĆփՂSEf` DmJ G|. Dl RD Dg ``.A(C7L<)gt Fbm` Dl8gLH@DH@A7L0LN^NuNVH?:< .". @$(g< mbJf.`XA7L0LN^Nu`NVH?:< .". $.&.,. b2g|(gd bgp(gVj Jj.k4JjBCb$fbf pLN^NupLN^NupLN^Nu``Jf`Jf`f DgփՂӁрQg"f&t҃т` vt҃тgRDgNxNNNV//&. <Jftr`ZJl |Dj"<t`@Y o ?n փS ?o"HH@B@ x $JHBBB "&(N^NuNV/.ar//a^N^NuNV//".g:$ H@@HxFHH@B@ 戄&p`vt "&(N^NuNV//$.&. Jf Jfp`X H@@H("p B@H@HRgR LHDBD&(N^NuNV//".$. JfpJgd H@@H(&p B@H@HJo <Jl&R`"pఄmp`Jl0D@H JlD&(N^NuNV/.aX//afN^NuNV/././. /.aN^NuNV/././. /.aN^Nu/<"/ jDD /jDD//a PJjD$NuNV/././. /.aHN^NuNV/././. /.a,N^NuNV/././. /.aN^NuNV/././. /.aN^Nu"/ ///aRP"///aP"/ NuNV//&.(. B/FBCBDJgH@fSCJCntBCBD`n?/$mDN|\g: R"jRt‚JDgJ@g>(H@f4RC`0J@g*RC(H` JDf0G/// N|O J@f K` RJfxL N^NuNV2.B@JAg"0@ @c @ @bp`0@N^NuNV//6.fB@`BD?aJ@f C C bx0&.(.N^NuNV0. @ g @ g @ g @ g @ g @ fp`B@N^NuNV nfB@` bRJfpN^NuNV/ $ng:H?aTJ@g*`RH?a4TJ@f _gJWHD@`B@$nN^NuNV n"Hf`Jg bJfN^NuNV/ / $n&n f B`lRH?aTJ@f` bRH?aTJ@f _g $f$RB`RH?aTJ@f J$n&nN^Nu0123456789.HXBO+-*/\^NVH8&n ..$KBx BB|+=| nBP"nB nBBJf B` R GH?aTJ@f"G -g +f: G(H?Cn/ mD|N\g GJ(g -f=|R"G &g@ 0f)gH bA?A/ mD|N\gR"GH @6bA Ѐ00Nzntnzntnx`x`x` n0`R fr`"G bR G c bH2@ @@n`"GH A@o bA AFo`n  g* G bVR"G c`> G c .f`"GR G c .f .fR c"n2 G Eg ef"nJQf-JR G +g -g c .fB"G +g -fPR GH?C/ mD|N\g*z GRX +g -fR`"GR G c .f. .fR c"n2` n0` "n2B nJPf0@ @ghn @gp` @ g @g:`pJfJf KJfSpd n0JgJg&"nB/ GN&(ID$T0n/NuX////NoO&("nEHiN*,PB@.@-L @4bA Ѐ00Njz""n Ql `"n Ql`p"n Qo``ʗ/ / //"n(QNwOJl @"/ / //Nx,OJf`>/ / //Nx,OJg("n Qq////NO n !A`"nBB` n(P$Lw$//NPJg:"n2//NXO.NuX////NqO//NP n `R"n2 nB`@//// mXwN"n"#AO` nB/EN//B/<@$ mXwN*,/ N&($mD0n/NuXo////NO////NO"n"#A nEO`/ az&($mD2n/ NuX////NoO n !A`b"n2/ a mDk2n/ /NP`4"n2/ a`""n2/ aP`"n2/ a n X GH?aTJ@g"n2`R GH?aTJ@f GLN^NuNVHnHnHnHn/.atO nfJf mDu/.N`BB nf Jf .".N^NuNVHnHnHnHn/.aO nf Jf .`( nfJf mDw$/./.N`pN^NuNVr nf"p`$ bҁH"AC" RJf N^NuNVr nf"p`$ bH"AC" RJf N^NuNVr nfZp`\ bH"AC`4 bH"AC` bH"AC" RJf N^NuNVH8&nBB*<@$BBG-|?Bf "`  -f-|B` +fRIDJg bJGfD$TB/<@$//NoO&(H@0@/NuX////Nl O&(`lH@$T0@/NuX////NqO////Nl O&(B/<@$//NoO*,` .g  gBB` ~RJf8 To/././/NLN^NuNV .g /NO`pN^NuNVH $nBCBDfB@`R +g: -f6`2H?A8/ mD|N\gRD .fRC CnRJfJDVHD@LN^NuNV/&.//. /. mTFN C&.N^Nul2s(..,null)NV/&. fA/ mPNX/./NO C&.N^NuNV4. "nrJgH@f" RJf AN^NuNVH8&n$n *.,.(...B?<// a&\f& `R?<./ a(H\EDJg// R}NPJg// R}NPJgB// $R}NPJg// NPJg // N. KLN^NuNV//(.&. ?<//a \f `R// mD|$N D&.(.N^Nu NV2.B@JAg?A/ mD|NVHD@N^NuNVH0,.BE FJfSHh mD9N($F&DX`RJgH?aTJ@fJgH?avTJ@gl& RJEfjzdd*H?aTJ@fD* b`4RJgH?a.TJ@fH?aTJ@f  b `BE& $CJfxBd+H?aJ@gB+ DL xN^NuNVH8&.*. CJfS8CVD0D/WD$mDN9&H8D? Hk/N|@ E(g` EB3@ KL8N^NuNVH8&.BGBEBBBDBF/ED R:-BN-H(H&CX$.Jg H@fSDJDnBDBB`?/. R|-BN\$.gB R"jRvƒJBgJ@g(H@fRD`J@gRD(H`vH@fJBf SEJEnb`|?/. R|-BN\$.g>JBf:  R"jRvƒJGgJ@g(H@fRE`J@g RE(H| Ff|` FfRJfB/.$RN:&/.N:6 CLN^NuNV/ / $nHx&mDN;$/N;T%H5| Bj Bj$n&nN^NuNV/ / $n/&mDN;/N;BBj Bj Bj$n&nN^NuNVH0$n&. /&mDN;//N;$5C /N;T%HL N^NuNV/ $n2* 0U@j bA?Bg/ aB0* j Rj $nN^NuNV nB0. hN^NuNV/ $n2* 0W@j bA?Bg/ aBB0* j Rj B0* jRj $nN^NuNV/ $n2* 0Y@j bA?Bg/ aB0* j  Tj $nN^NuNV/ $n2* 0Y@j bA?Bg/ aB0* j  Xj $nN^NuNV/ $n2* 0Y@j bA?Bg/ aVB0* j Rj B0* jTj $nN^NuNV/ $n2* 0Q@j bA?Bg/ aB0* j Rj B0* jXj $nN^NuNV?.</.a0N^NuNV?.</.aN^NuNVH &.8. *.</a?/EXN?/NL8N^NuNVH &.8. *.</at?/E N?/NL8N^NuNV/ $n2* 0Y@j bA?Bg/ aB0* j  Tj $nN^NuNVH &.8.:.. /a?/EN?/NL8N^NuNV/. </.alN^NuNV/./. </.aN^NuNV/ $n2* 0@j bA?Bg/ aBB0* j Rj B0* jPj $nN^NuSTRING TOO BIGNVH0&n&.$CJfS8 lA/a`V. / a? / a2+ 0DO k bA?Bg/ aPB0+ ? Ы// mD|@Nk L N^NuNVH8(."n & `T "fL4IRJ0J/SJ(mD-IN9&H4J/ CHh/ N}N:0R@40LxN^NuNVH08.?<*v֎/?G/$mLNA=h A(=h Ah=m?<*/?/N>L N^Nu/NVH0,.z(-Jmgp?< /v֎/a/- /GD$SN|$A//}N//NBCO"E`RCRl&/0C"m ЀЈ/1 S}dNPJ@f: EfH?< //aBCO E`RCRl(/0C"m ЀЈ/1 mD}dNPJ@f:0L xN^NuWrong procedure/function name: %sNVH8,.(-z?< /v֎/aO Jmg./- /GD$SN|$A//}N//NO`//ED R|$NP&JBCI`RCTl&/0C"m ЀЈ/1 S}dNPJ@f: EfA0Tn @0E // S:tN$P FH?a:TJ@f/C/ a` DJfSHh&"CN92TG$S ЀЉ%0T ЀЈ50T ЀЈA0T"S ЀЈ3 /0T ЀЈ/1"CN|$:0R@80LxN^NuNV/ /.al2 Ag,0AE"R ЀЈA3 A R1 0$nN^NuNV/.a" @f0<`0@"m ЀЈ01N^NuExpression: Missing ("), string remains openExpression: Missing ')'Expression: Missing '('NVH8,. (n$n&LBDBCBEf B`RH?aTJ@fJgJDg "f|BD`xH @bhA Ѐ00NRTTRTTTTTTTTTTTTTTTTTTTT@TTTTTFLx`RC` SC`zJg$JCn JDfH?/ mD|N\fJEf`BERJf@BJDg A/a~XJCo A/anXJCl A/a^X/ aH JLxN^NuNV0-N^NuLabel [%s] is not definedNVH BDE`RDRl4?<*v֎/?/- mLNO nf/A/aLN^Nu%s/%s$Wrong variable name: %sNVH8=|.-JmgnJ-fh?< /.v֎/a//- A//NOBDOC|, `RD$FRl,/0D"mx ЈA/1 mD}dNPJ@f=D nf?< /./a\BDO A|,`V TJ0gJ 0 @JfSHhN9& T/0/N|$C / /N}//$ENOJ@g/N:6XRD FPl4/0DIx"T ЈE/1&mD* }d"ENPJ@fx=D nfA~0$FRn"@0Ex// mD:tN$P nH?aZTJ@f*"n _g / ER/ a`x=D/N:6X` GJfSHh(mDN9$F2RGx$S ЉC%/"F0Q ЈA/2N|$$F0R"S ЈAB1=R0.R@40.LN^NuNVH 6./-x؎/ mD|$N=CAh=m=m?<*/E?/- mL>NRRLN^NuNVA?( aN^NuNVH8&nB KJfS<SF0F 0$fB0~BDA̬$HJg==><>!=&&||Unknown operator: '%c'Missing ')'Invalid use of DO keywordNVH8(nBFBGBnBBBEB/ a԰X-JJg,v֎/a`X*A-HJg,( c0 .g* &f,H?A/ mD|N\gfHnHnHn/-/ av(HO0. @g @g`(/./aP`/././aO `A[/aX` 'g~H?a TJ@f ?g _fE// a:(H/a06@O kf/ aX (g6|pg/ /aRGP`/a6@XpghpSf&<S/aBg/EjNBg/N n`phf&  fR  g LJfSg=|`0 /ax\`/a&@Xpg /EVN0 `/a6@Xpg&/ m ЋЋC?0"/aVO `HxAW// NO J@gHxAD// NO J@f</EN</NRO ` b<`HxA// NO J@gHxA// NO J@f</EhN`f &f</ENN<A`J |f</E4N<B`0 ~f< /EN<C` !f< /EN/NO `H?AU/av\RJfJFg AT/a^X nJPfJ. f</a/äO EJngZ8* // aPJGgH6` ?aZCT<S?a 6X Cf6` ?afZCT<?a6X Cf/ aX nB/aXJng0G8 KJfSg/ E hN/ NA` A/aLN^Nu0123456789."NVH8&nBBB*?A/a`0ERJfg fR  gJgB0H)RC0L8N^Nu'Empty' parameters are not allowedMissing '%c'NVH8(.&n(nvBTH?/ mD|N$H\gR"J+JggfRCRgfSCffTB IJfSg^`R g g IJfSg?././. / a8`(A$/a`+H?A1/ar`$D JLN^Nu THEN GOTO ELSEELSE:NVH8&nA,JPfA/HkED R|hN P(Jg&*\  fR  g/ /$TN|$A//N|hB&EO  fR  g :gJgERRRmaBgBg<0G/ aB'/aO. ( FJPff</a&E\  fR  g bDA"C/ Hn T}`.A//$T}N/ /NO`/ / T|$NPA/p/ T|hN$HPg&C* g fl* g f\B/ a~/azAb"KGP`R g g cF/ / T}NP`"A/Hj T|hN$HPff/a/aaBgBg<4/a߀ GSPp`B@LN^NuArray: syntax errorArray: Missing ')', (left side of expression)Array: Missing '(', (left side of expression)NVH8&nBCJgz (g )g`dJCf(KRC`XSCfRfAR/aZX`> B< E/ a۪B'/ aP<0* S@?/ a()ORJfJCoA/a`JCl A,/aLN^NuUICS CHARSPIXELSSyntax error: OPTION UICS {CHARS|PIXELS}BASE PREDEF IMPORT OPTION: Unrecognized option '%s'NVH8(nHxAz// ED&R|NO ( J@f<iE/ GڞN</ NGO & `RH?aȬTJ@fHxA"// D$P|NO J@f?<`HxA// NO J@f Bg/a`A/a`|HxA// NO J@f,<iE/ GN</ NHla?/ a܆`:HxA// NO J@g"HxA// NO J@g / A/a8LN^Nu:Use DECLARE with SUB or FUNC keyword<<++---+/\*^%&|%s: is keyword (left side)=+1-1LET/CONST/APPEND: Missing '='Use EXIT [FOR|LOOP|SUB|FUNC]The SUB/FUNC %s is already defined,()BYREF %s=%s:ENDFUNC/DEF it has an '=' on declaration, but I didn't found the body!ENDIF GOTO ON x GOTO WHERE? GOSUB ON x GOSUB WHERE?ON WHAT?NEXT IN FOR: Missing '=' OR 'IN'FOR: %s is not a variableFOR: %s is an array. Arrays are not allowedWEND%s: Wrong positionINPUT Unknown command: %sNVH8&.BnA-HJPfx/A *N-C"CX :g" 'gT #gLJgFE//.I\N&-CG/A//C4. N-H/aŊO( , J@gj/ EN/ax?aBO "nJQf//N-H-H  @JfSPfJg nJg"F/A&//."GN-HO D/a*:X E-g EfP"D/a :X Eg>0E/E/ aؐB'"F/aO n :fF/ aۮ"nHia`0 E!f(z D/"F/a@/ F/ mD|$NO`j Efb=|"D/ F/a&"D/ax:O Ef D/at:X/"F/ mD|$N0@P @cA /aD` E-g"F Q #WH=@DnHxC/ /GD-S$n|NO J@WH8@D@8@HxA/"F/NO J@WHDGHxA/"F/NO J@WHDC"F Q-K (=f,H?A/"nN|\g"F QH=@`Bn"F Q =g0 fJGf JCfJng Eg D/C\/ aH` E"g."F Q =g (g0 fJGf JCfJng Ef F-P E"fP"D//.av"F/C/ /aX-H D/aO @g"D/A/aP"F-Q<"`R0 g<VE/ a T`BJGg<<!G/ a F"PAh"D/ F/"n$Q}NA`>JCgJ<!G/ aӲ F"PAih"D/ F/"n$Q}NAL/"F/NO. `Jng<!A&/a^"F $@JfS D  @JfSRJ4J/ "n(QN9&HB'/ / NO'Ah D// $L}N KJfS"F T// NO . F/N|$/ N:6O .`<!E/ a\. < /GҶN"D/a?/aLO nJPf h"n (f~?<=/ "n Q|N$H\f A1/`h"nHiaX )fB'/ a\` B/.a0=X nJPf </N<=/NB'Hj`</N<=/NB'"nHiaO` Eg  E.f F/aZ"F/a:?aO ` E@fl<@E/ aѨ F/a( F"P IJfSO . g8 'g2/ ar:X ETg E*g E+g E,f/` C;`TB'/` Eg 0@ @b?<= F/"n&Q$K|N-H\gB?<( F/N-H\gB?< "F/v֎/aO Jng HnaRX @f HnapX` Hna2X @g HnA` 4E?* HnIN8\. DfHna(8?* HnNO <//EfNBg/aB'/NRmRma/NAO(HJTg$C/ E /}NHn/NO`HnE /N|$P-J nJPf RT Efl"n "@JfSAJfSpЎHp n$PN9&Hn"n/Ax//NO/aߊ0D"m"ҁ҈3/N:6O`0D"m ЀЈ3Jg|Hx"n Q9N-H n(Hn?< C_/ A[/&f."F/a~<>E/ a F/aP?/ a΀O` E0f^C8AA/.aXJ@fRmRmaBgBg<0E/ axB'"F/a,</ atO`> EKfraBgBg<OE/ a>A/"F/ n(P|hN&HO. gr<//ENB\"G8i B'/N?< A)/&// ap8O&CJo 0 H/3aF?/avO RJJnJDfCF`CO/ F/N&HPg<>/EʔNB^"G8i B'/N?< A/&// a8O&CJo 0 H/3aӼ?/aO RJJnJDfC/ aX` "G iB' F/a/ajO `C/ aҐX` E5f?<= F/"n(QN|&HA8CRmRma.BgBg<5E/ a̘O. fA[/"F/N|h&HPf AH/aXB"F/ D/N|$"D/a"D QH?aOJ@f D/C%/ ` D$P`RH?a TJ@f g (f D/C / `< /EN D/a?/a˒ <8/NB'Hka߂`B"F/ D/N|$"D/aB"D QH?apOJ@f D/C/ `& D$P`RH?azTJ@f g (f D/Cc/ `< /aV D/a8?/a=B'/ aO` E:f8C8AMRmRmaڂBgBg<:HmaB'"F/` EHxA[/"F/"n Q|NO J@f<]HmaB' F,\/`HmaB'"F/a~O ` D/aͶ6X Co(0C/"m ЈЈA?1"E/ a`> D/a*6X Cf"D/A/aP`:aBg?<E/ aB< / GHNB'"F/a</ NO n :fHma|"nHianLlN^NuNV4.CB0 iRB0@S@ @hbzA Ѐ00Nbdddddbbbbd"dddddddddddddddddddd\bdbbbbdddbbbbbddddddddddddddBdddbddddddddddddddddddddd\PB`B0 ipp0.T@=@@`jRB`dTB`^B0 i0@=@RB`4B0 iBA0=ARB0HA@`$ZBB0 i0@@@` VB`XB0N^NuNVH . 0.Ev6 j08g?a4Tj e0=@\ @fdA/aÒB@.?<;`:B@.?<=2GRI? a=@\ @f&A/aTB@.?<=`0.Z@=@?a|=@B0. kB0. kT`B@.?<46RC?E|N:B@.?<2?N8B@.?<3?N=EO DgDc=D @g nd=@ nfZC/ aˆB@.?<4`0B@.?<40R@?a=@\ @fA/aJB@.?<4`B@.?<:2GSI? a.=@\ @fA/a B@.?<:`B@.?<<2GSI? a=@\ @fA/aB@.?<<`vB@.?<52GSI? a=@\ @fbA/aB@.?<5`:B@.?<02GSI? av=@\ @f&At/aVB@.?<0? TfN`FB0. kRG nPe"nJf n??C@/ mDjNLxN^NuBCS-LBL.VMTBCS-STK.VMTbc_init(): OUT OF MEMORYVMT Initialization... OSVEROSNAMESBVERPIXMAXYMAXBPPTRUEFALSELINECHARTBARCHARTCWDHOMECOMMANDXYZNVH8EHx!AD-H&P9N$B'Hx!/NO'EHxN$EHxN$EHxN$E HxN$BmBmC-IBQC|-IBQC* BQC( BQBmBm;|BmBAx,HxN"F"O"A/CL& $QfNI(A.HxN"G"G/ NG&;|;|~ DBP"EBQ nBP"nBQHmENHm(NO$n( DJgJg "GJgJfA8/ mPNXJ-nfC7/ RjNX?<*?-/ C$PN?<*?-/NC/ E NG/ N0@&D"S ЈAA/NC/ NO G/ NA/NC/ NG/ NA/NC/ NG/ NA/N0@&D"S ЈAO A/N0@"S ЈAC/ N0@"S ЈAG/ NA/NC/ NLN^NuNVH8HmENHm(NBCPA|*GxAD(IC, E. AL-HC-IE-JA-HC -IE-JA-HC-IE-J EPl("D$Q:60C"S ЈA/1NXRC EPmBCTl."D$Q:6-J0C$F"R ЀЈ/1 nNXRCTm/"D$Q:6N G/"n&QN F/N"n/NBT nBP"nBQ EBP"n/N n/N"n/N n/NO "n/Na LN^NuLOAD: CAN'T OPEN FILE %sLOAD: BAD FILE STRUCTURE %sLOAD: CAN'T GET RECORD %sLOAD: CAN'T LOCK RECORD %sMainNVH8../HmED R|$N/BgNOE?</BgNOI,O(Jf /AN`/NOO6@SKX0 n/AM/ mPN`BEKl6RC?/NO\(\f/A7/ mPNP/ T;TN$HXf/A%/ mPNP \JEf @JfSfHjFA/`HjF/aXO. T;NB'?/NO^aO J@f:KmV/NOJLN^NuOPTIONPREDEFQUITEOPTION PREDEF: Unrecognized option '%s'IMPORT#INC:#INC: Missing "File %s: File %s does not existSUB FUNC DEF END END File %s: SUB/FUNC: Missing ENDFile: %s Section: %s PASS1: Line %d PASS1: Line %d *** interrupted *** '&' on the last line! PASS1: Line %d; finished NVLH8,.*. BHxID&&C9N-Hv$EJfSXJ4J/ N-HrB'/ /NO'B'Hx!E/NO'O. -JZJgHx / J/`Hx A/"nZ/"CN}  g  f  g `$  nJl"LR b` "fJ@WHD@RJfrB n^"P/ /.r G$PN}&nr"nfBQ"nR QBP nrJgl-Jj"J|-InHx/ A/"nnNO J@f<\  fR  gHx/ A/"G$Q|NO J@f\  fR  gHx/ A/"G$Q|NO J@f nb`Hx/ C/ NO J@fv^It  fR  g$K`RJg fB KJfSpe/ / "G Q|$NP`?</ / "G Q|@NO B,`0/ A/aP`Hx/ C/ NO J@f\  fR  g`Hx/ A/"nnNO J@f Z "f4R$K`RJg "ffA/a6X`B`?< / "njN|$HBx \/ /.v G&(C|$N/.va/.v"n^* ENOJ@f/.vHmCa/ aO `j nZ/,z/NE/ x؎/N?<./.v"CN|Of//.v"CN}P/.var// N/ nZ/NOHx/ C/ G$P|NO J@g.Hx/ C/ NO J@gHx/ A/NO J@f Sg DfX`Z?<(/ "G$Q|N(?<=/ N*?< / N(HOJg$gc DB`Bx`"DB` gB?< / v֎/a/aO nfJPg*C/ nR/"G$Q}N/ nR/NO`/"nR/"G Q|$NPJf nfRP` ?</"nR/a\f"nR QBJg D(`ngf ``"nfJQgVHx/ A/NO J@gHx/ C/ NO J@f*?</ nR/a@\f"nR QB nfSP`Rg fJgRJf"nfJQgHmA7/afP"nfBQ"nR QB nbJf "nZ/HmA*/"G QjNO BE nVJPfABP,"nbJf?<A$/"G QjN\&nr(KJg`(.N&  fB/ /.rENP &f`/ /.rNBPJEg/ /.v"G Q}N`/ /.v"G Q|$NzP< /a C?/a"CRQIO `B C02@RI0 nbJfZ2RA0@fN0@f?Cg/ "G QjN\Bg"G Qjf2?.A/NB0. m\ 0 f0pSH?Ao/N\An/ m`_NX`bRA0J0fx`N$nN^Nu(EXPR): UDP INSIDE EXPRNVA/ mH'NN^Nu(EXPR): MISSING ')'NVA/ mH'NN^Nu(EXPR): SYNTAX ERROR (1st OP)NVA/ mH'NN^Nu()NVH .$n BCBBAA̬`RA0J0g0fHp/ mD|$NvPJCf.AhBDHjNOA// mD}N0LN^NuNVH 8.$n BCBBAA`RA0J0gpfHp/ mD|$NvPJCf,A(h0D/HjNOA// mD}N0LN^NuNVH 8.$n BCBBAAx`RA0J0gpfHp/ mD|$NvPJCf,Ah0D/HjNOA// mD}N0LN^Nu   * %s-ERROR AT %s:%d *  Description: %s Press '.' to return... NVH *.(. 6.,.Ar/$mDjN?//Af/N/A/NA/NA/NLxN^NuFS: Out of memoryFS: Invalid parameterFS: File is corrupted or invalidFS: File not foundFS: Type or creator not what was specifiedFS: Coundn't replace existing fileFS: Couldn't create new fileFS: Generic open errorFS: File is in useFS: File is read-onlyFS: Invalid file handleFS: Error closing fileFS: Past end of fileFS: Access deniedFS: Generic I/O errorFS: End-Of-File error!FS: File is not a streamNV .reA Ѐ00N"*2:BJRZbjrzA`vA`nA,`fAE`^AP`VAs`NA`FA`>A`6A`.A`&A`A`A`A`A/ mD9N`A/ mD9NN^NuMissing ')' OR invalid number of parametersNVA/ mD9NN^NuMatrix dimension errorNVA/ mD9NN^NuSyntax errorNVA/ mD9NN^NuMissing separator '%c'NV?.A/ mD9NN^NuError number of parametersNVA/ mD9NN^NuStack overflowNVA/ mD9NN^NuStack underflowNVA/ mD9NN^NuStack mess!NVA/ mD9NN^NuArray: Missing '('NVA/ mD9NN^NuArray: Missing ')'NVA/ mD9NN^NuArray: Index out of rangeNVA/ mD9NN^NuType mismatchNVA/ mD9NN^NuInvalid parameterNVA/ mD9NN^NuEval: Variable is an arrayNVA/ mD9NN^NuEval: Variable is NOT an array (Use DIM)NVA/ mD9NN^NuEval: Array: Index out of rangeNVA/ mD9NN^NuEval: Not a numberNVA/ mD9NN^NuEval: Syntax errorNVA/ mD9NN^NuEval: Type mismatchNVA/ mD9NN^NuEval: Invalid parameterNVA/ mD9NN^NuUnsupportedNVA/ mD9NN^NuNOT an array OR functionNVA/ mD9NN^NuOut of rangeNVA/ mD9NN^NuMissing separator OR parenthesisNVA/ mD9NN^NuDivision by zeroNVA/ mD9NN^NuOperator NOT allowedNVA/ mD9NN^NuMatrix singularNVA/ mD9NN^NuMissing '('NVA/ mD9NN^NuParameters count/format error (%s)NV/.A/ mD9NN^NuParameter %d cannot BYREFNV?.A/ mD9NN^NuString: Index out of rangeNVA/ mD9NN^NuVFS: Bad file number (Use OPEN)NVA/ mD9NN^NuNo separator found (missing %s)NV/.A/ mD9NN^NuParsing polyline: type mismatch! (element: %d, info: %d)NV?. ?.A/ mD9NN^NuOUT OF MEMORYNVA/ mPNN^Nu SB-MemMgr: OS refuses my request for %ld bytesNV/.A/ mPNN^Nutmp_free: Cannot recover handleNVA/ mPNN^Nutmp_realloc: Cannot recover handleNVA/ mPNN^Nutmp_realloc: Cannot resize memory to %ldNV/.A/ mPNN^Numem_alloc: size=%ld NV/.A/ mPNN^Numem_realloc: Invalid handleNVA/ mPNN^Numem_realloc: Cannot resize memory to %ldNV/.A/ mPNN^Numem_lock:MemLckErrNVA/ mPNN^Numem_unlock:MemHandleErrNVA/ mPNN^Numem_free:MemHandleErrNVA/ mPNN^Numlist_add: OUT OF MEMORYNVA/ mPNN^Nutmplist_add: OUT OF MEMORYNVA/ mPNN^NuNV nBBBhN^NuNVH8(n&Tg"$K&k/ mD:6N/ NOPf/ aLN^NuNVH8&.HxNO(HXfaj4n/ &mDN9(? //. N|@B CJg h!L"C#L` C!L "CRi LLN^NuSB.LOGLOG: Error on creating log-fileLOG: write failed (ERR:%d)NV/ /&.Hn/</./NOO8XDc4oL6D=|0G/Hn/NOU<?./NO^OSCf`Dd6Cc?/NOV\RCCbLN^NuNVH0,.:. >./NOOXEbP68D6GEDEc*=|/ Hn/NOU<?./NO^ORCCb=E?/NO\&\`.=E?/NO\&/NO-O 6GED@g / /NO3P/$RN;T/ /.B/NOv/N;<?./NO^L N^NuNVH0(.6. 4n/NOOXCb =|4J/ Hn/NOU&O &J`*=C?/NO\&/NO-O 6JJg / /NO3P/$mDN;T? /./N|@\O.N;<?./NO^L N^NuNV?< mTFNN^NuNVA 02TA0B2 m0IR@0@@;A(N^Nu--- Hint: Missing %d %s or there is/are %d more %s Hint: There is/are %d more %s or missing %d %s NVH8. |:|<|0|5|B.|;|=|4|9|B.v֎/aBGBD\A(HAD-HC-ITdE?<*Hn?/-aAB0. h0O ngHnaX\`AXXXPrBB6DRKBo*C.fBARR`RBBo0B0f2 ЈRr Af2RG0AC18 TeTAh/"n QjNBDX nJg 0(@4A4BEBB6DRKEo4EC0B0f Ј:1 f f ЈqRBBnBDBBDo,C.f8.`RBBo0B0f ЈA80EgZHnE,Nv֎/NO ElHn0D?/?A`Hn0E?/?A/"n QjNO8 B0 nJ0f A/"n QjNLN^Nu.basNVH &. CJfSHh$mDN9(//N|$?<./N|OfA//N}P/BgNOE\JVHDC/N:60LN^NuNVN^NuNVN^NuNVB@N^NuNVB@N^NuNVB@N^NuNVB@N^Nu0NVH8&n(n J-g A/$m`N_6A/N_8LN^NuUI: TOO MANY ELEMENTSNVH8&.HnHn aA\P(HED TfA/ R9NX0AGB0. @f 7m^ `7@ 0. @f A`7P ` 7@ A`( CJfSHh$RN9'H//N|$7|/$m`N_7@/N_7@n D0RTLN^NuNVH8&.HnHn aA\P(HED TfA/ R9NX0AGB0. @f 7m^ `7@ 0. @f A`7P ` 7@ A`( CJfSHh$RN9'H//N|$Bk/$m`N_7@/N_7@n D0RTLN^NuNVH8&.HnHn aA\P(HED TfA/ R9NX0AG0. @f 7m^ `7@ 0. @f A`7P ` 7@ A`( CJfSHh$RN9'H//N|$Bk/$m`N_7@/N_7@n D0RTLN^NuNVH8 n<(4h: UE6h 8 h YFTCHx(m`. ` GN?<????&LcRNB GNBg????NRD?RC??RF?&LbNO$??SJ? ?NHxBN_V n?(?(N_* n/N_LN^NuNV/ / $n?*?*&m`N_*/N_$n&nN^NuNVH0BDA\$HRlBBCAGA00JCg Cg`Hsa` HsaXRDRmL N^NuMEMO: OVERFLOWNVA/ mD9NN^NuNV//6.NOs(?/NO?/NO&.(.N^NuNVH&. 8.?.a*/NOS,//NOXOJDg/NO5XJg/NO+LxN^NuNVH<.(. :./NOR@0@/NO&//NO!.NO/NO"?/?apLxN^NuNV?.a,/NO9N^NuNV/?.a&/NOT/NOS&.N^NuNV<?.aT/NO\N^NuNVB'?.aT/NO\N^NuNV//6.NOs(?/NO?/NO&.(.N^NuNV//6.NOs(?/NO?/NO&.(.N^NuNV//6.NOs(?/NO?/NO/NO&.(.N^NuNVH6.:. NOs(?/NO?/NO?/NOL8N^NuNVH6.:. NOs(?/NO?/NO?/NOL8N^NuNVH <.8. B6. $nNOs*?/NO?/NO(?/NO?/NO?/NO?/NO(O$/28/NO/NO LxN^NuNVH8. NOs.?< NOo,/NOt?< /NO?/NO&?/. <.?/ NO\(/$mDN;T*/NO-6OCd6?Bg//.NO&/N;B'?/ NO^0L N^NuNVH0..<. :.?/NO\(/&mDN;T$H/NO-6OCd6?BgB0.Hr/.NO&/N;B'?/NO^0L N^NuNV/.BgNOE\Jg /BgNOB`B@N^NuNV/.NOON^Nu.binNVH8/.a(H/. axPJ@g /. aX?<./. mH2N(\gA//NOPJ@f /BEXEcJ?/ a6 0&@/ $mDN9(?/?/ a@?/?CT& F/ID$T9N"C"GP0H/N&BDO -L-KDo,*? F/a62C/ n(PN9&H?/ ?"F/aO Sf 32KBNVH0xHn/</X .R/$mDN;(/N;T&HHnHx/.B'B/ /NO5 .B3O.NO3/N; DL N^NuNVHn/<//a` AA/apN^NuNV//.a&Xg?<D/. Bg/a~/a&.N^NuNVH (.$n /aL&Xg|?<D/ Bg/a/aO*g /a`/aLN^NuNVH..BgNOC<BDTDozڎ?BgNOD&XgApBHnHnBBBBBBBB//BgNOFO2J@ft . BASCg SmBaf` TEXTfV/ mDVNXfB?</BgNOI&Pg0?<D/Bg/a`Ah?<D/Bg/a/aORDDnFLN^NuNV//6.?<s mLN/NO9(/NOR@?/?<FRC?/-a|X&.(.N^NuNV//8.&. /NOR@?/?<RD?/-a|X&.(.N^Nu' NVxH0(.Bg?<7&z//a/zڎHnNOA//NO//NO|SBnO$?<F/Bg?. 8nBF//-P??< ? mLN4?ahBga0` 0+ @ gb @ gb6 @ gXb @b @e` @ gb @ gv` @ gb @ ge @ g` @ gb @ g$` @ g`~ @ gb. @ gb @ g @ g`V @ g2b~`" @ gVb @ ge @ gF`$ @ ge @ 0b @ (e`|a`Ct& 2?-p?Ix?GH/ a?<Ep/ AH/ mDRNOJ@ga&/ a4/ aPJ@g/ az"CBQBT/ / NONOs(?<?<aVGxEX2RSI6?< &-L"CN?EP//NO/??< ?< CN?aBmtBgav`X?<Ep/ C/ mDRNO J@g2B* / ?-aDa޲a?< &mLN?-XEP//NO/?-x?< ?< N`A/"H/ A/?< NOOJ@fBgaBmtBgaGx?aHmHE/ NOCڞ/ / aF/ aZaa4BS?< &-L"CN?-XEP//NOO".??< ?< CN`L0+ @ g @ g*`dB'?<s$mLNT/NOM\Jg@B'`(<?<s$mLNT/NOM\Jg<?-r?<sNT/NOLPv=|HnNO`Ba`:0+ @~g`b* @zgb @mg` @{g @|g` @geN @ gN @ #f?<@Ep/ C/ mDRNO J@g/ mH6N?a^a;@t`?<A/?<s mLNT/NO]v`zaX;@t?-p??-xHmHaaLa?<NO`B'?<s$mLNT/NOM\JgB'?<?<sNT/NOLP`<?<s$mLNT/NOM\Jg<?<?<sNT/NOLP`tB'?<s$mLNT/NOM\Jg@B'`(<?<s$mLNT/NOM\Jg<?-r?<sNT/NOLP?<sN/NOH?aa`a4;@t?-p??-xEH/ a?<s&mLN/NOUOJg*?-ad/ E/ NOC׈/ / a0/ aDOB'?<sNT/NO```a;@t?-p??-xEH/ a?<s&mLN/NOUOJg>?-aB'?<sNT/NO`/ E/ NOA// aӨ/ aּO`TAx(Of A(g:/ E/ NOC/ / aj/ aJOJ@gA(// a֦|P;|haD?<6NO0@LxN^NuSmBa.FSV.DATNVH0*.6. <./J-f<@gEd6 028;@p?<s mLNT/NOA;r8r\`?< NOT`E/ BgNO4AzBPBC\Ct-I, (I^GZAL*`RCTl0H S/0/NOPJ@f"D2?< E$PN?//NO/"D??< ?< N DB0 S/0/NO/aO""n?a`D0, @ g @ g>`2B'?<s$mLNT/NOM\JgB'?-r?<sNT/NOL`<?<s$mLNT/NOM\Jg<?-r?<sNT/NOL`0, @|gtb @zg|b @mgH` @gb @~g` @ fz?<A /?<s mLNT/NO]`Ra^;@t?-p?Hmaaa?<NO`(B'?<s$mLNT/NOM\JgB'?<?<sNT/NOL`<?<s$mLNT/NOM\Jg<?<?<sNT/NOL`B'?<s$mLNT/NOM\JgB'?-r?<sNT/NOL`v<?<s$mLNT/NOM\JgR<?-r?<sNT/NOL`:aF;@t?-p?E/ an/ aB'?<s mLNT/NO`r0@LN^NuPlease, wait...  lnchNVH0$nB0 @gb @gn`* @g @gH`$m`N_Jm`g|nA/N_XAJgB`BgHmH mDRN`$mDN J@fN ` j.f& mD NJ@g=|=| HnNOX0* @ gb @AgD @ gL`r @ geh @ 0b` @ (eX`:?<HmH mDRNv`:vAx(Of A(gDHmHE/ NOAB// aOJmhnJmg/ A/a$P` / aXJm`gJmhnJmfAJmhnJPg(Bm`B-nJPg ;mv`;mv?<NO`PBmvG`JSg:HmHE/ NOAȤ// aL/ A/aȖB-nBSA/a` 0-hg ?NO`?<NO` mL!@N`2A1?@? mLzN0@L N^NuMEMO:: Memo does not existsNVH0&.&m`N*pAXXXXXP/x؎/ mD}N=|/N4O J@fAژ/A//?< NON,^`/N-j/a/aϲ/E/ NOAp// a/ a,O.TEXT/B3xGF KJfS8B0܀O \b// /"n Q1NO `R0D8<]@ Dc?Bg/ /"n Q1NO HkN:6Aج/C/ /?< NOO`Hk T:6NXREne&HxHn/ n$PN1/N0 N,^/.a¶LhN^Nu: File not found: Cannot open file: Read error: Bad signaturePage%dNVH8*.|~/x؎/ mD|$NP&8//E` R9NP(J @g4n @g:`R @g @fDAך/AN`(A׌/AQ`A~/AV` Ap/AU//?< NO`/a/a̔/E/ NOAR// a/ a/4|FO 0.LR@?/.H? ?/a0nLORDnTczHn8 T;N/aLN^Nupdoc_export.tmpNVH8(.B.v֎?</A/ED R|@NO Hn/xXC`-IҾDcn|?/al6RC 0(@SC/ n&PN9$H?/ ?/a<B2hEFHnHx JJfS// /.NO6O*HjN:6XRDDbHnHxHxHn/.NO6/a/.NO3/. Hn"n Q= @g6 @gH`,NOs/NOq?< $mLN&?-/-/NO/NOA?(?< NBmh`a da?< $mLN&?-/-/NO/NOA?(?< N`0( @ fE? mLbN0@$`0(@ @btA Ѐ00N^^*^^^^^^^^?<NO`4?<Gp/ A/ mDRNO J@gA/a$H/ NOR@?/ ?*/NOO<GH/"DN&ABPBDO Doj$H?<@/?/aA//NOOJ@f2D+I/NOR@0@/ T9N0H"S#/0H S/0NORRORDDn/ T:6N/aLxN^NuNV/ =|<HnEx/ Bg//.E/ N|$/N@fO ?./ m`fN\J@f / A|/N9L N^NuNVA B0"mBB1RP02TA0B21IR@1@@ Bg Bg `;A`AN^NuNV/ .". $nB mDw$//NXO./ NO$nN^NuNV n JfS`BSd 0gN^Nu0INFNVH8*.,. -nB&(BB//ED&RNwO-JJfA"nh`//EX RNP-JJ@l nR-*,/<Ƞ/<//NxdOJm"nBAX`(/<,@ /<1//NxOJn"nBA,// N}`/././/NwOJl~%IC-I$K8<6H/48/48//NwOJl(Aȸ/08/08//NoO*,0D-HPDQ"n&Q`B/<@$//NoO*,SB/Ey/./. /.avN^NuE+0NV/ /&.B/ 0gn #g `$ ^fg`gR` 0`RJfB` BJfSSE(B) AJfSSbv 0g&n #g `0 ^f(bS`J `BbS`60`. ,f$b -f -S`,`  `SSc$_N^NuNV n "nJg* 0gn #g ` ^f*`RJfBN^NuNV nB@Jg" 0gn #g ` ^fR@RJfN^NuE.NVH8*. &.(.BnBn EJfSHhED&RN9,//N|$?<-/(K|NO-Jf?<+/N\g,=|BB//NwOJl=| @"&(?<^/ n.&G|N\g/a :X En//.a/"GN:6`/.//a>?<E/.N$HOgB/.G/ (G|$N/ x؎/N KJfS2K DJfS4RB0R@OEo//.a8/ GN:6`tBRAEoBB3P/ &@/NC/ /$G}N//N///.?B I&$_N^NuNV n "n &g !f BR`gR \f\RBN^NuMaximum format-node reachedNVH0&.C02A@G2RA2R@ @oA/ mPNX CJfSHh$mDN9&//N|$7n L N^NuNVH0BCA$HGRl"0A@/0 mD:6NXRCRmBSBRL N^NuNVH8&.a CJfSHhGD$SN9(H// N|$$LCBDO & JgRH @>b*A Ѐ00N~B CJfSg Bg/aJ\jB.Bg/a6"CR\`fB CJfSg Bg/a\/ /a$H?<`(B CJfSg Bg/a\/ /a$H?</a"CxO`JgJDgBD`RJfB CJfSg Bg/a\/ S:6NLlN^NuNVH8:.8. A&JPgPEI@`JRg@0GJkf00D/?/ mdXN02RA4R@O CPmBRJkgL8N^NuFORMAT: NO FORMATFORMAT: WRONG TYPENVH8:.8.GJSfA/ mD9N`??I2NE02A@A2RA4R@XSmBR hf:/. /./v֎/a0D/?/ mdXNOJRg??N`AL/ mD9NL8N^NuNVH8:. 8.GJSfA/ mD9N`??IxNE02A@A2RA4R@XSmBR hf6/./v֎/a0D/?/ mdXNOJRg??N`A/ mD9NL8N^NuNV?< mD= NN^NuNVH8ED RN&HAh, *JPfA B0C$Q(H. 2f2RAB0SA 2=g"B0"G Q 0 f2RAB0SA 0,fTA8` mLN` F$PN@F&x`b g?</ a,x +`2kRI? / NC$0+S@ЫTO./"F QKN8"G QP 0 Hfa5 EJPf/N@f/NP"EJQg/ F$PN@f/N:6LN^NuNVH8ED RN&HAh-J-HJPffE5.N nJPfV g Bg/ a+\a4`8"nJQf6kN nJPf&Bn0+Dn =|8`JDnBD"n$QN@F,-JB`0+R@?/ nNC$\Jng0+S@ЫC * I`T2+SA>A *IAl2"n$QK6SC0Ы/0Ы/NP2Am +Ї//"n QKN E=P TP"n 1 f,a4 nJPf /"nN@f/ nNP"nJQg&/ n$PN@f/N:6LN^NuNVH8zED RN(HGh, JSf,A3&NJSf g mLN`E2N8JSflll8JDm4B0- m 0 fB CNJSfN":JSf0DS@lo mL N`JAn mLN/ F$PNL&H0,E?/ NC$BCO DCo( F$PK0"+Ҁ/Ь/NPRCCn6kl0 F$PK0Ы/0Ь/NPRCRDkm/ F$PN@f/ N:6LxN^NuNVH8Ah(JPfhzE G(mDN*& J@f mLN`BN$H fBg/ a(\`/ N@f/ N@0P C: S 0 Xf a1 DJPgL8N^Nu WRONG FORMAT NVH8>.B.B.B.BF Gfa1Ah(JPfa0&< DJPfB0- m0 g f$?$m`NTJ@g4HxC|/ ?N`a1&DJSfz? m`NTJ@f mL zN`V GfP&mDN*J@f mLN`4N$Ha1 Jmhf"/ N@f5|HxN9%HB< PA B0C$QGh( (H-I 2&fzRTB0 2 gTv֎/$mDNXJSf .gA/N9/N@f`/.a/N@fPB0"n Q 0 fa0n|;&DJSfj|BBE=T"n Q&n3 E gn E g`R EfJ|`RTB0pRTJ.f .,f0F/?C/ mdXNO `B.v֎/ED&RN@0/NP DJPfJ.glB@. @g8nJ@g`H @f@??/.aP`X??/.NuX//`??/./.a,O `* mLN`2F/ ?/ md,NO / R@fNX&DJSf&J.gJ.f0F/?C/ mdXNLN^Nu? ,;INPUT without variables"",  * REDO FROM START *  NVH8BBBBv֎/ED R@0NX-J nfRa.Ah,JPfa--@ FJPfa-"FJQf?. m`NTJ@f mL zN` nf` n&PN*J@g6N-Ha-Jmhf~"ng f /.NMX n g mLN`L"nBi-IJnfA/HnE$NI 2RAB0SAC& QP 0;VD@fTA8 n&PN*J@fFHnN@fHnNRTB0"C Q0RTAhP,JPf< ;f6AA/Hna$P`$C-/ HnNPAh,` B.Ch, A/Hna->PfC/ "n Q9NX FJPfJnf .g/.Bg/ mdXNO ngxn Jng` ng4`Hx"n Q9N-H?</ m`[NO ` n/("n Q:N-HX` mLN`8<Hx"n Q9N-HԗBXI``X. fJgr gB0U@Kf D0D//."n Q:tN-HP nRK ."fJWD?.$TN lTJ@fHxHn?.NtO "FJQg nB0BD(nB.Bnؾno&`0H&nJ.g+fAN//a"LRn`+fB0S@Do +gRDz/"n$QN@fX Gf $LJfS`>A/Jg0H n/0NNdX`A// mH N$HO gJB// a$ PJg$0H n p ( @JfSI`IJf |`// a#JfS|PRDDo"FJQgDf|J.gHJnfB FJPf< Go6JfJng,v/."n Q:6NA./ m`_NP`BCJCg"FJQgJnf"J.g/.BgA/ mdXNO Jg/."n Q:6NX?Hna)Hn"n Q@fNLN^Nu ERROR AT %d: NVH8BB?-A/ED RjN\-JG C-IIh|BD<"n Q0h D gn D g`6 Df.~``RSB00RS ,fLA/ m`_N`6Bv֎/"n$QN@0/NPJTf/ mdNX/N@fXJTf JgpJfAx/ m`_N8LN^NuGOTOGOSUBON x %s: OUT OF RANGEON x: INTERNAL ERRORNVH8G 02TA6B4A-H P0(OR@0@@TA6pRSB0BE0RS<0@6@x؎/ID$TN@06/N/NBz8SDO $n̺Db( ./fA0`A-/C-/ T9NPB2DB0 RppB@. @/g @>g `*6`2|>=G6Hn T(N`A/ T9NLN^NuNV/ A 02TA0B4 m0(JR@0@|>=A@?$mDN HnN($nN^NuNVH8BEC 62TA2B0E R0H=@RCB00@n4TB20NTCB0WC0@@&I-JID 0 (fZC6~BD>"n Q0x D g n D g`B Dg Df2RS`pTS`j6$TN*J@g| N-H=|`:6$TN@F&/NXJmhg/N@f/N:6`r| -C=|HnN(REXBg\RSn =E=S=F Fg"B6E R-p8 T@FN"R#8Hn T(N6LN^NuNVH8v֎/ED RNX.(J c f@0.HE R/0&TN@f0.H R/0N:60.H R!P` f0.H m!/ TNXJmhfX. b~ ng8|0.HE R-pHn T(N0.H R!;n LN^NuNVH8E B0C Q0@RR-IJ@gn(J~Bn8|BE02TA8>"n Qpx6.KR@<0hE|=CG S-p8Hn$mDN(N@F"S#8XSDfLN^NuNVH8v֎/ED&RN.X(C-J c mLN`C B0E RBG0RQ* -J¾ng$ mLXN`? mL NT`xJGg0/N9,8SDX Do$ n$P0"FHqNXSD Dn/ "n Q(NBDXDoBBnB E=P"n Q .0"ERQ04TB2=@"nq6.KR@0@@Jmh|=C4CG S $@-pHn n(PN(0D"ҁ҈ 爐ЈX"@ qhf S!h`h @/0hNL"S#`R0D"ҁ҈ 爐G shg|=CHE R-p8Hn"n Q(N R!h8XRDDn/"n Q:6N`/N(LN^NuEXIT FOR: NO 'FOR' INSIDE SUB/FUNCEXIT LOOP: NO 'LOOP' INSIDE SUB/FUNCNVH8BFBG8g$R/NXJmhf .>f;n &.$nN^NuNVH0G 02TA6B4 m0(KR@B40(BB4TB60MT@0@@x؎/$mDN@0/N|0/NDr=@O f66/N@fHnN(L 8N^NuNVH8G 02TA6B4 m0(MR@B40(BB4TB60LT@0@@v֎/ED RNX(K&J .0g$S/NXJmhf .0f/ S(N0Jng08L8N^NuNVH8G 02TA6B4 m0(MR@B40(BB4TB60LT@0@@v֎/ED RNX(K, .0g&R/NXJmhfV .0fJnf:v֎/$RN@0/N/NDr=@O 2J@f28/N@f/N(`/ R(N8LxN^NuNVH8G 24TB6B0A, P0H=@RAB00@n2BTI60(J=BTAB@0n|5|60.Z@=@=nED(R L-HN.Ah-J*JPf\-G/"L@f-INx؎/$L@0Nv֎/NB0"F QO 08g8/&  CNX"EJQf. gJf//NKB0"F Q0PRS 6f=S/N/ CNP"EJQfd. gJfVB0"F Q 07f202RA6R@=@Hn CN.X gHJgD"EJQfZ`=|B.p-@`& EJPf: mLN` mLN"EJQfHn n$PNLXJ@l//NE0P2.J@l2.6`//NE0PJ@n6`RS|8=SB.N*J@g "nN`LN@F$H/ NX EJPg / N:6` g/ "nN/ N:6 mLN`| J-H"EJQfV fDBnJho/(/"n QKN6P`6Hn"n Q(NX` mLN/ n$P@fNHnNLN^NuNVH8I 02TA8B4 m0(MR@B40(BB4TB80LT@0@@v֎/ED&RN@0/N/NLO J@g8|:ZD=DHnN(X`ZD8/ R@fNL8N^NuNVC 20T@4TB2 m0JVAB@0@2Hn mDNN^NuNVH0Hn$mDNG 20T@4TB6 m0LVAB@0@v֎/N@0/N/NLOJ@f6/N@fL N^NuFOR-TO: TO v IS NOT A NUMBERFOR-IN: IN var IS NOT ARRAYNVH8BGE 02TA4B4 m0(J=BR@0@nTA4v֎/GD SNX-J(K .5g $THnNXJmhf .5f=n*.B.B.p-@ .6f n0v֎/&T(  DNAhX,JPf.g f0.E @g n0/ DNX FJPf.g fD/ /NL:/ NLO J@l//NE0>FGpoP`F//NE0PJ@_HDG`. mLN`E FJPf@AX/ T9NX FJPf(JGgHn T(N n0X` n0/ T@f` n fl0.2RA=AR@hd.Ш//$TNKHnN( n0O E`H.g/$TN@f/.N:6P n0E`EJmhfA/ T9NX/ T@fNLN^NuREAD: USE RESTORE [label]READ: OUT OF RANGE(DATA)READ: OUT OF RANGE(DATA) IDX=%dNVH8A((H Tf&A/ mD9N`C/ CN9`C , A(BBE~"F=Q"D Q .0 E gxn E g` Ef `b FTP`TED&"CN&HJmhfD/ CN@f2Xmd|>"D QB@0x @gJn @g` @gp @fBB`RA8BB0"D QXXXPXT`RA8B0"D QXXXXXXXP PT`RA8B0"D QppTT0.R@?Bg"CN9'HB0?./ DА/"CN|@O B0. kB07n0.TX`?A+/ R9N`B0"D Q 0fRTBgrLN^NuDATA: CANNOT EXECUTE DATANVA/ mD9NN^NuNVa N^NuSSPsNVH8=|BBBHnHnHnHnA/aAhO-HJPfA B0"m-H 1SfX04VB0R@B21OR@B2U@1AA2ZA n01(J=BX@1@n`>.AD*JfC/ "E Q:N-HX?</.a /."E Q:N-HBDBF$H&O JgHFfBF`JFf?/. E(P&L|N\g R"jRt‚@gp(H`hH?/.N\gRB nhm2A?/NC$\ n0&h/N:&// a/N:6RD& R$CO`RJfD CJgP n8DRLhm? /"E QC$N\ n0&h/ E$PN:&// a/N:68 O?/."E QC$N\ Gg6BC`0?Ш/a h\RC nhl"nJQg n0 .g/"E Q:6NX .g/"E Q:6NX .g/"E Q:6NX/."E Q:6NLN^NuNVH8v֎/ED(RN@0a.GhX-JJSflETNJSf`Hna2XJSfPNJSfN*J@f mLNHnN@f`*N&H/ N@fHxN9'H7|BBEP Ghlx؎, 6"G֩/ FN@0//"FNKO .g / FNMX0.nR@2+6RC@n:"n$Q:tA0A//+N'H2+A7AP0.nR@@o/./+"n$Q(J}N/N@f G0(S@O Eg /./+NP:"Gim8 + @JfSRH7HHn"n Q@fNLN^NuNVH0*.,. >. GgRx؎/&mD$K@0Nv֎/N//$KKN//N?//a jO.NBz&/N@f0`// mDE0NL N^NuNVH8(n6n <.:.$l0E2tiA@. ހ86`RD? /0Hra.O J@m`SC? /0HraO J@nDmv0D ЀЈ$犔ԈA(-X-X-X-X-X=P0C ЀЈ"牒҈CA( 0A 0RDSCDlN2F0DAoFo??? / aO <`Do??? / aO :FnLN^NuSORT: NOT AN ARRAYNVH0$mDN*J@gN&H gA/N9` mLN`A B0"m$H 1SfN04VB4R@B21LR@B2U@1AA2ZA41(KX@1@@`6<80+ @oS@?Bg?/ a Cg4L N^NuSEARCH: NOT AN ARRAYNVH8ED&R, * FN-JJ@gn* "EN(H gA/N9`.C ( NEhJRfv֎/N@0/NP.JRf DNJRg /N@f`"FNJ@f/N@f mLN`"EN$H/ N@fXA B0"m&H 1SfN04VB6R@B21MR@B2U@1AA2ZA61(LX@1@@`8<:0,S@0@%HBC`RCll&0?/Ь/aO J@fl2C%I Dg6/"n Q@fNLN^NuNVH8&mD(K*NJ@g$KN*a JmhfFNJ@f mLN`2N(N@F&//$KKN//N//N/N@f/N:6L8N^NuNVH8&n<. >./ ID$TN@f87D0/N9'HBCPA*Co$T@00Ы/NXRCCn E07@ 7@S@@7FG7@|LN^NuNVH:.8. mD@FN&??/aH CL8N^NuNVH8$n8. / AD*&PN@fXJDoX5D0/N9%HBCXICo E&P@00Ъ/NXRCCn|5T0S@D5@`BjB0-5@5@|L8N^NuNVH0$n&. / &mDN@f CJfSRH5H0H/N9%H//N|$L N^NuNVH0&n&. g f/ mDMNX f@ +"@JfS CJfSRI7I0k//$mDN:t'H//N}` mLNL N^NuNVH $n&. (./ mD@fN%C%DLN^NuNV/ /$n&. / mD@fNB%C&.$nN^NuNVH0$n&n 8.?/ aBC\Co"20H/3Ҫ/aPRCCnL N^NuNVH0$n&n 8.?/ aBC\Co(20H/3/3Ҫ/aO RCCnL N^NuNVH0$n&n 8.?/ abBC\Co"20H/3Ҫ/aPRCCnL N^NuNV/ / $n/ &mDN@fHxN9%HB5|$n&nN^NuNVH0&.(. /ED&RN@f CJfSXf //af`~/N:&HHnHnHnHn/ mHNO nfJf/./a,`, nfJf/././aO ` //aP/ R:6NL N^NuNVH8&.<. G S/(8$mDNL(/ S/(8* K EN/(J@fN;F /N/ S/(8 EN/NO.N:6LxN^NuNVH8*... A& P/(8$mD&JLN("C Q/(BDIDDo(6H38g/38$TN@f/38N:6PRDDn/ T:6N nBL8N^NuNVH8&. B.BFHxED&RN9( n X. Jg /HnN|$P`&/N@f/N:6` md&PhI C-IBBE=T"n Q .0 E g&n E g E g ` Em Eo ESf`RTB0p.Bg@RT&Q/"G Q|N\fF CJfSpe?<, mLNT`/ mL NX?/.ajp`JFgr0H @H`b64F $@B2HHB2H G&PN*J@g N%H`08"G&QN@F&/NXJmhf0F  @!H0HRFBg0LN^NuNVH8BHna0<P Ffp`&.BEBGAh-H` C `oRE`RGR CJfGmlI BD&.` C `oHJEg.Do*0HЮ/ mDNN\J@g SErB@`< C `oJEgSEBAp`&JGg SGBAB@`/. mL NX`JFmJ@g CH @-b&A Ѐ00Nb\JAg&\0H n/0$mDNNd/N:&RDP`JAgT$\0H n/0 mDBzN$`(JAg.$\0H n/0 mDAN$%ARDX`4JAfX`*"\0H nJ0g mLN`"RDR CJfF?Hnap nJPf0LN^NuNVBmBm m`_NN^NuNVH8BDA\$HAb*A^,I`Rl:BCAGA00JCg Cf/3 mD:6NXRDRm EBPBRBT FBPLxN^NuIISNVBHnHnHnA/aOJmhf?.?./. mLNP .g/ mD:6NN^NuNVBHnHnHnA/aOJmhf?.?./. mLNP .g/ mD:6NN^NuNV mDPlNaN^NuNVH8(n"n ,c mLN`4,2,0Aj0BR@ n 0 ,f4, 2,0Aj0BR@2` 2 n 0 n 0H/ED R9-IN&HBFX. "n`LBD0:REDo< G$PA6D0Ь/-INH'8'8XRD"n0Dn< n Pm KLN^NuNVH0$n&n :.8. DnJng??/ mT@N`?/ mTANB@@oB6RCIo2<0I2 jH"3$3!A!BRIIn0@nL xN^NuNVH8>. HnHn/.aL*O g0.HGD$S/0n/NkXO.N9(HBFX-Knl0.8RDJop4J G*g GAg:`R6H"n Qo/./.&C/+/NO)8)8`H B 0X"0X@)()(RJ0.Jn<nmz?<?.?./ /.an/"n$Q:6N/ NLN^NuNVBB?<A/.aN^NuNV/./. ?<*/.aN^NuNVH8~HnHn/.EN(HO gHHnHn/. N,O g"0.nf 0.ng mLNGD`0.HGD$S/0n/NkXO.N9.BEXnl0.8RDJo|6J n+f4H l "C/)//48/48 @NO"C#x#x`2H l C/(//48/48"@NO C!x!xRJ0.Jn:nmn/ &S:6N/NPJg,?<?.?.//.a/N`/ mD:6NLN^NuNV?<+/. /.atN^NuNV?<-/. /.a\N^NuNVH8BnBnHnHn/.ERN-HO grHnHn/. N-HO gH0.ng mLNAD-H`=n=n0.HGD$S/0n/NkXO.N9(HBGX-KnlBE<RFnl0EHBB2.8RDJob& n&PJH0 EH n/0/0 n/0/0NoO///48/48Nl O)8)8RJ2.Jn:nmt>nm\/. n&P:6N/.NPg.?<?.?./ /. a/ N`/. mD:6NLN^NuNVH8(n$n Ah&JPgB@` g mLNB@`BD f0xBC`RCjl0Ъ// aPJ@fBD`j f/*/, m`N8`J gJf>/ &mDNL$H/ NMP CJPf/*/, m`N8P/ N@f/ N:60LN^NuNV//&.(. BB// mDwNOJm //aq` @"//aq@&.(.N^NuNV//&.(. //a mDl////N&.(.N^NuNVBB/. /. mDwNrJlr0N^NuNVH *.,. BB////$mDNwOrJm////NxHJ^HDA0LxN^NuNVH0*.,. $mD0n/NuX//B/<@$ao //GpN&(OBB//NwOJm.////NoOB/.GLm n$P&Jo=|2n/ NuX///./.NO///./.Nl O*,|-E-F?.Hn"n QEN\ nJPffHnNA&(HnN@f/././/NOPBB//NwOJmTnRLLlT0.H=@2.в@l n0LxN^NuNVH8-|?z-|G{BBv֎/ED( DN@0CT* &Q(KJN-@-AAhX-J.JPf$KKN GJPfNJj=@"GJQfN GJPfN-@-A"GJQfN GJPfIN-H"GJQfN GJPfN-H"GJQfA B0"m-H 1Sg A/"DN9`X n!C!D`@ n04VB0R@B21I=AR@B2U@1An2ZA01(J=BX@1@n/.$D@fN/.N n"n#n#n nBp!@BnP E"PE-I|-n-n?.Hn nN\"GJQfxHn n&P& A"CN-@-AHn$K@fN|(Kl /./././.NO-@-A?.Hn nNO"GJQfHn CN-@-AHnN|/./././.NO///./.NO-@-A?.Hn"nNO GJPfHn"CN*,HnN$KoB/</./.NO&(B/<@/./.NO////NO(Kl////NOB/ pp "&(///+/+ RwNJl'C'D`x "&(///+/+ RxHNJoP'C'D`F Rl ///+/+N`$$R////NoO///+/+Nl '@'AL 8N^NuNV/ / &n 0. Pf*J@g&$mD0@/NuX///+/+Nq'@'A$n&nN^NuDATE ERRORNVH8(n &nBCBA$nJgn /fVAB0JCg Cg"`X/ mH6N(SXrd`:/ mH6N&SXr eRCBA` ARARJf CgAb/ mD9N`,AB0/ mH6N n rcm LN^NuNVH8(.&n (npm Sr dp` Sre$mDwHx HkNP&Ќ"ҀҀ$҂ЁjV؀ ЀЃT" ЀЁ爐Hx /NP؀ CA$HxdHpN"ҁҀjV LN^NuNVH8,.$n (nm Sr e Srdp`pcmIx؊*-D&EwHx /NPЌ"ҀҀ$҂ҀjV&Hx /NP"ҁҀT" ЀЁ爐Hx /NP$CHx /NP @A$HxdHpNP"ҁҀjV䁕HxHrh ENxLxN^Nu0***NVH8 .(. DBBFBGBn* EJgA-H E Dg dfRF` Mg mfRG`z Yg yfRn`fJFg Fg Fg4`/./. mHN/./ED R}NO`v֎//. mHNP&CEDp mA"// R}NP/ / R}NP`^/././.aO @b& FfA,H/0`AHH/0`A//ED R}NPGBF`VJGg Gg Gg4`/./. mHN/./ED R}NO`v֎//. mHNP&CEDp mA,// R}NP/ / R}NP`L .Sr e" GfAd/0`A˔/0`A//ED R}NPGBG`rGEDJngb/ /. mHN KJfS0KPnl"(R}6.ޖ@Ar//NPSCf`nHs/ R}NPBn EPB./ / R}NP EJgR`VLN^NuNVH8(n*.(. $mD&Jw/<:/NP,/<:/NkP"VjV䁘 DR"뉒 "A/<K HpNP E $ЂЂ"ЁЂjV䀘 x؀ ЄHx /NP($Ђ"ЁHxP/NP n &Hx /N(ЀЄU(tԆ ЀЂ"ЁЂ EАЄ LxN^NuUnsupported buildin function call %ld, please report this bug (2)NVH0..BBJmhf/. ED RAN&(X &JrKeA Ѐ00N"2BRbr$bRrr,D$S//Nw$P? m`^N0@/Nu*,`//aL*,`//aL*,`//aL*,`//aK*,`//aK*,`//aK*,`//aL*,`~//aL*,`n//aL*,`^//aL*,`N//aM*,`>//aM&*,`.//aN*,`*,BB// SxHNJn @"*,`//aL*,`//aMb*,`//aMv*,`BB// SwNOJlZ @"//aO`,BB// SwNOJl @"//aN*E,`^//aN~*,`N//aN*,`>BB//$SNwOJl& @"//aNP////Nl *,`//aNjP////Nl*,`$SB/<@f//NoO/BNO$S0@/NuXB/c A_ A]bDC`22I0@ @}b,0@@ @bA` 0H@BB.` BB.Hn`A// "D QMnN`NOHn/NOHx mD9N)H9| ?.?.?.C`>NOHn/NOHx mD9N)H9| ?.?.?.C/ /NO`/A/ mD9NLN^NuSSsSIisSs""Sss''""''()[]{}<>SiSSSISiSIiUnsupported buildin function call %ld, please report this bug (7)NVH8(.*. BBBv֎/ED R@0NAhX., &HJSf rme DA Ѐ00N hV 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 48 4>HnHnHnA2@`$mT&JJjN< nJPfPB0- m 0 f NK"nJQf0N8 nJPf"`x Df"n 0HR@0@/"n Q9N"n #HBBGBDX`Z0@ @f |`J@g0@@CB.TG` CB.RGHn n /("n Q}NPRDDo m`WN6 Cg nJPg0R@"n 3@ iB0p`P n 6RC2C/ "n Q9N"n #H3C4F/ /? m`tN"n iB2` mTJjN nJPfHxHn? m`tN"n BB.#@`B n Hn mdNX"nJQf n BBBFS@=@Fo.."n&Q(Kl 6H CE/*//(/NlO(*/* /* CAx/(/NO////NoO//"n /)/)NO n !@!ARFnm/.`vxv n$PN*J@gN&H f4 kg mLN`/+BzN8/+N6P`/ NBz8B0- mX 0 fn$mTNK"nJQfjNJj6 nJPfZ`J$mT&JJjN8"nJQfJDg Dg `2m`2m n !I`A=/"n Q9N`?? m``N n !@`Hn$md`NX"nJQf~ mTKN nJPfhHnNX"nJQfV n&P$Kl/./././.NO&(/./././.NO*,"n $Ko////NO&(////NO////Nl O//at n !@!A`Hn$md`NX"nJQf&mTKN nJPfHnNX"nJQfxN nJPflHnNX"nJQfZ n B-nb-nf-nZ-n^"n-QR nRl-HV/.^/.Z/.f/.bNO-nJ-nN(nRo///.N/.JNO&($n&n*.,./// / "nVNO-nB-nF///.F/.BNO..Rl //// GNO&(/.^/.Z//NO////"GNO&(/ / /.f/.bNO//// nVNOBB//"nRNwOrJm/.^/.Z/.f/.b nVNO///.N/.JNO&(/// / "nVNO///.F/.BNO//// GNO&(/.^/.Z//NO////"GNO&(/ / /.f/.bNO//// nVNOBB//"nRNxHJ^H2HD n !A`FHn$md`NX"nJQf*&mTKN nJPfHnNX"nJQfN nJPfHnNX"nJQf&.(.*.,. n.(Gl////NO-@:-A>$n&n-n2-n6/.6/.2/ / NO-@*-A."n ////NOBB////&w CNOJf|/.6/.2/ / NO////"CNOJfV$Go/.>/.:/.>/.:NO&(/../.*/../.*NO//// GNl O//a|` &.(.*.,. n."Gl-I&////NOʗ/ / //(GwNO-Cp-Dt-nh-nl-E-FJfnjnG@0H// N:t(HPHnNA4.jH)()(RnjX` / N:6`$Hn"n Q@fNXBg nJPf"n  Rg2n Qg`f Sg:`X?.j/ m\ `4?.j/ m\ N"n #@#A` ?.j/ m\ N n !@!A\/ "n Q:6N`fBB/. n$PN@0&mT( IZ"DN X nJPf6HnHn~/I$N&:.~O nf EnJg/N:6X?.?.~C`FNK nJPg Jg`"DN  nJPg Jg`HnHn~/N(O n~f ng(Jg/N:6XJg/N:6X?.?.~C(`C B0 m 0 f TQNJ,. nJPf.//?// m\N?<?<?//. a(O Jg/N:6XJg`/. "n$QN@0 mTIZN X nJPfHn|Hnz/a(6.zO n|f Cn"Jg/N:6X?.|?.zCo/ N9`?/ m\N?<??//. a~/N:6`zBB/. n$PN@0&mTNIZ&X"nJQfRC B0 m 0 f TQNJ(*HnxHnv/a"&0.vO nxf @n"Jg/N:6X?.x?.vA/N9`"n //?/ m\ fN n !@!A/N:6`BFBnv֎/EL RNXCT. -JA *C-IBBDv E=P"n Q .p. D g Dg`4 ERP6"n Q 0;8fRF`RL0.Ll=L ERP`HGn7L7F"n$QN@F-Hn/NX nJPf?</ Hn"n QnNO B@gXRFRn Fo?.?/. "G Q@NP`?./. "G QAN\&ngB n(P$S0.j/"n Щ/NK/N@f/N:6&kOfHn"n Q(N`4xv֎/ n&PN@0B0- mX, 0g/ mTJN(.X"nJQfHnl/E` R N(HP0.l* J@gp?/. mTANBD\nllh0 n $h6H 48 @JfSRH5H2H/ N9%H/48/N|$O RDnlm`Bg/. mTAN\g?.l/ "E Q>N\/"n Q@fN`/.A/"n Q9NLHN^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/././. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNV/././. /.?-NO N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNV/.Hn/. /.?-NO .".N^NuNVHn?./. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/./. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/././. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/././. /.?-NO .".N^NuNVHn/. /.?-NO .".N^NuNVHn/. /.?-NO! .".N^NuNVHn/. /.?-NO" .".N^NuNVHn/. /.?-NO# .".N^NuNVHn/././. /.?-NO$ .".N^NuNVHn/. /.?-NO%0.N^NuNVHn/. /.?-NO&0.N^NuNVHn?./. /.?-NO' .".N^NuNVHn/././. /.?-NO( .".N^NuNVHn/. /.?-NO) .".N^NuNVHn/././. /.?-NO* .".N^NuNVHn/. /.?-NO+0.N^NuNVHn/. /.?-NO,0.N^NuNVHn/. /.?-NO- .".N^NuNVHn/././. /.?-NO. .".N^NuNVHn/././. /.?-NO/ .".N^NuNVHn/././. /.?-NO0 .".N^NuNVHn/. /.?-NO1 .".N^NuNVHn/. /.?-NO2 .".N^NuNVHn/. /.?-NO3 .N^NuNVH82n4I/ ID&T9-IN-H/ N-H/ N-HBnBnBBO -L"n0.Il0B".BpRBImBn8.IltBBBBIl`Bn0B$n rg8BGIl00G&n03f0.GH n&0(0BB//&n$S-B-INwO6L$."nJl( @"////NxdO$."nJl*`////-B-INxdO$."nJm0 H n*0,0BB//$n Rw-B-INO$."nJl @"*,=B=G`. @o& mL jN/.&n$S:6N/.`JRGIm0 nRBIm0n Ј$nRr-H=n0 =@0n2.ngBD>.HǸIlJ:.0 <.2DH$n$2&20DH&r(r%%&n''RDIm"(n $4&4 .$L(2*2%%&n '' Ј(n9 n10.n>H$n*2x,2x/././/&n$S-INwO"nJl& mL jN/.:6N/ N/.N`z&RGng20 0nH n*0,0$HBBBD6A8C-LIl\ n$P6 DH0.DH//(n/4/4-INoO// L/08/08NlO)8)8RD"nָIm&. . n$P//&n /3/3-INoO//(K/48/48NlO K!8!8"n6Im =n0.Im8 SDk0D Ј<SF n20 npgd2 o`(BE> 0 npHH$n$2&22&nsHH(J$t&t))0 npHH$n%%ISGf8l|/.&n$S:6N/.N/.NLN^NuNVH82n 6 H/GD$S9-IN-H/N-HBCP-K"nضIlHBD6CRKIl820 0DH爸Cf n!?B`$nBBRDIm6 ImBn0 S@=@0I-Hnob6.=CRnCo>8C0 2 8@CH-@RC:2 0nH$n Rq".$n/2/2/2/2-INO,.8.6C"nظIl` n$P6DH0 DH n/0/0//-INoO// n/08/08NlO n!8!8RD"nظImBDIlf n$P: 0 6DH0 DH n/0/0//-INoO// n/08/08NlO n!8!8RD"nظIm6 nm=n0.nnBn` >.=nRnJGm<2 8GSLng8.4GRJJm=F0n:H n&P6n4 DB2.DH0H n/0/0 n/0/0-B-INoO// n/0X/0XNlO n!X!X$.BSD"nظJl6nHG0H$n Rq$n/2/2$n/28/28-INO n!8!8> "nl=n0.Im/. n$P&J:6N .//.NkP?/./.N|@\O.NLN^NuNVH8*.,. (n>. nnJp.fp$mD0@/NuX////NoO//"n/)/Nl n !A`BB//ED&RNwOJl$ @"/.&/."//NxHOJn`/.&/."//NxHOJo6SCkz0C(؈JtHgRK`f9H/.&/."?/./ /.2nRI? 0.K?0.CH Ro"n/1/1//NO//aBtHO"QLN^NuNVH06. 0C/ED R9N&HB@X@o0@BsR@@nBB/./.?Hn/ /.BgBgB/. BB-n-n Gn .".`BEED<SFEof(R&Ll 0H n&0(0///./.NO-@-A////NoO///./.NO-@-AREEn$R&Ju0F/NX(Jq///./.NO-@-A/./././.NoO&(0G/NX////NO///./.NlLN^NuNVH84n BB,...0 n "`BEAD-H0J-H0 =@Jlb n(P&Ll 0H n&0(0///./.NO-@-A////NoO////NO,.REJm n$P&Ju/.NX(Jq////NO*,/./././.NoO&(0n/NX////NO////NlLN^NuNVH8(n4v֎/ED&RN@0X.-JAT-HCh-I/././. /.Nl OB/RH4RRR*/ a'`B/ a`8/ a9`./ a=`$/ a!`/ a?` mL LNB@LN^NuNV?.a&"HTB@gB@)A @ bfA Ѐ00NR*R4HRRR >/ a`B/ a)`8/ a!`./ a?`$/ a:`/ a=` mL LNB@N^NuNV//(. &.?.a|"HTB@gB@)A @ bpA Ѐ00N$\2\@N\\\$/// a*`H/// a`:/// a!`,/// a>`/// a=` mL LNB@&.(.N^NuNV//(. &.?.a"HTB@gB@)A @ bpA Ѐ00N$\2\@N\\\$/// a*T`H/// ar`:/// a!(`,/// a>N`/// a<` mL LNB@&.(.N^NuNV?.aTfp` J(Ag mL LNp`/aVN^NuNV?.a"HTgvB@)A @ b^A Ѐ00NJ J*>JJJ4/ a`:/ a `0/ a=`&/ a)`/ a;H` mL LNpN^NuNV/&. ?.aHHH / a`8/ a)`./ a .`$/ a=`/ a:` mL LNB@N^Numemo:pdoc:FS: CANNOT KILL FILENV/&.HxA//NOO J@f /a):` HxA//NOO J@f/a86X`/BgNO4\J@WHDCJCfA~/ mD9N0&.N^NuNV/&.HxAH//NOO J@f /a)L`4HxA,//NOO J@g/BgNOEJVHD@`/a8B&.N^NuNVH8(.&. /ENXJ@gH/NXJ@g/aXJ@g0GN>Ah(HJTf?</?ExNPJTfN=@JTf?</?.NPJTf?a(TpgJg&<GD$S//Nk(P*//NkP,S/N9&xXc0Hx/?aO JTftHx/?.aO JTf^RbJg&//?aZO JTfB//?.aO JTf./ S:6NX?ENTJTf?.NJTWHD@`/ S:6NB@LN^NuNV/&./. /a|PJ@fB@`/a~&.N^NuNV mL LNN^NuNV mL LNN^NuNV mL LNN^NuNVH8,.(n gPHxA//NOO J@f/ "FHia'@`HxA//NOO J@f/ "FHia4`BgNOC:H/ED R9N&HBTBD\. Do?BgNODXJgB.HnHnBBBBBBBBv֎//BgNOFO2J@fX SmBafN UFSTfD//a PJ@g6 CJfSHh G$PN90H'/0H/3N|$RTO RDDn`JTfg/ "G Q:6N KLN^NuNVH8&n8. BCIDCo$T:60H/3NXRCCn/ T:6NLN^NuNVABN^NuNV/.aJ@VHD@N^NuNV0<N^NuNVH8:.(n .$BBB$-@ Bg.$n <.*.BDB'0F// NO'O DoHnNO2I@?BgBBBg?<Hn??-NO6OJngB@`JJCn0`@J.g6Jg.H?/ mD|N\f. g@C`z0LN^NuNV/6.HnNO?BgBB?<?<Hn??-NOJnf J@^HD@`B@&.N^NuNVH0(.a/E?NO&\&Jpf4HnNO2I@?BgHn/?NOOJngp`j-nE%C5n HnNO2I@?BgBg<<?NO6Oo(HnNO2I@?Bg?</ ??NO 2pJAm0L N^NuNVHnHx?.?-NOabN^NuNVH0>.6n <. :.6K?8G?EKRN?G?NK??N??NL N^NuNVH 2.<. :. 8.0F?6A??A?EMdNF????NLxN^NuNVH8BG:.0n 6E$mDk//NP(@A-H/ / NP-@Ѐ-@/ / NP". lV&ր|/ /.NP($LoJJng?. ?.??a2`?. ?.??aPJoSERGܮ .Іրn ЀЊ jR"҄ jRրJEmFJng?. ?.??a`?. ?.??ahPJlRGܮֆ րQLN^NuNVH >.<. :. &.(.?.$mD0n/NuX////NoO//Nw$P????a|LN^NuNVH86.:. &|?/ / /./. ED RwNO-JJl-K -L0C-HAX-H0E-H`&/-m/ aDXpf??aE&A0X`ABP(HJTf??.aDXg`??.aDXgAC!I CE#J E$+K 1|1|Bh "3|3|Bi &HBg??/??.aO ??/??.a0O ?/ aO -J`8+0+ Dn k 6HJ08gHSDDo kff2+Al0H k 4SBpo~0S@7@SAAlpH爴pn`d:08<08>08????aE k 8SkP`2+Al.0H k 4RBpl2ASI7ISAAl 0 H爴pm4E? ??`j0Fc0? n/2E? ?a84E? ??/ aOJ@fBg0k???/ anO 0U@De2k??TD?a6\ Cf0E???`n0Fc0?"n/2k??a$80E???/ aOJ@fBg2E? ??/a4|O 0U@De0k??TD?aR6\ Cf2 g&S?<???/ aO Jkf&SJkf/.aALN^NuNVH6.:. (. Jnf.??aBXg.SC CgJmeD??aAXf`4??aAXg0<`"SC Cgme??aAXg0R@L8N^NuNVH 6.:. (. Jnf*??aAXg*ERCRb@??aAvXf`0??aAdXg0<`ERCRb??aADXg0S@L8N^NuNVH08.6. mmmo0<`FE?G/??aO @f& RVHD@?/??a*n dR@`04* 2jIn0H"* & A爸plR2 RBBm0H&爸pm`84* 2jInt0H"* & A爸po2 RBBmX0H&爸pnInF0 R@5@@lD2@" "A I 0 j 1 j 1 j S@@m` RI5I6H j "C1 j 1 j 1 j JEfRjL8N^NuNVH n<. :.8.BG hfP6(m0H"( $"A爸qmx$I Brf qfqgSCk\0H$爸rl`L~`F6(m>0H"( $"A爸qn*$I Brf qfqgSCk0H$爸ro0LN^NuNVH86. CotRC0/SCGD S9N(/?/.aXEBA"P6)O(K&J$Hg ?a?aPaa@RCXJfJf/ T:6NLN^NuNVH8&n>. ,.ABBE-HEo0HI0H8363JEf 4l2,`A4h2(Cl 08 4@062C4RBJAg"F|܉4 DJBo 3| `3| 0lD@3D3C3A3AJBmBi ` tA3B An Bi3@`H"HA 3@3A$n4RB`$H Rg0(@mfhn"$:EnLN^NuNV/ / A&HJg,B@$K` Q2(il $ Q "p$R"RJfJ@f$_&_N^NuNVC`F0(2SA1A @f"`.2(h1A0( h1@ oh 1Ah1@ "H QfN^NuNV/ / 2.EA"PgBif<&H P0(`$I"Rgin S $ S $H&A"Pgig$_&_N^NuNV/ /6.$mȴg(0*$RJjg?2*SA???a=P$Rf&.$nN^NuNVH0&n6+d Cf/ BgNOE\Jg / BgNO4\ <f NO`nAXXXXXXXXXXXXXPB|?<HHn? n/"n Q>NO *R&"n0QnpLN^NuNV/-h mLN -dXrg/NOJpN^NuNVH *.BCAl$HRlHx؎?<H/?/-h mLN// mD}dNOJ@fJ.f0H` RCRmpL8N^Nu fs_memo: can't create recordfs_memo: can't lock recordfs_memo: can't write new-recordfs_memo: can't get recordNVlH8.. Z @JfSRH?//ED(RN|@\O.a G!@^X-Jlrf$|܎/*v/ L|$-HpNC$/ /N} EJfS(R=|t/HntEd/NOU&HOfA/ mPNXB0.t"G#@^/ N;T&XfA/ mPNX//B/NOvOJ@gC/ mPNX/ N;<?.t/NO^B'HxH/NO'//"npNB?<H/?.t/-h mL>NAl0O*ntbDR@0`>?<Hv֎/ G?(`Gh/$mLNB?<H/"G?)`/N>OEdHxa nl(PN9"G#HHB'Hxa/NO' G?(`/NO\&HOfC/ mPNX/ N;T&XfA/ mPNX/ NO- GJfS(RXJo$ք"G")H `o <`?//N|@O / "nl Q;NB' G?(`/NO^pLLN^Nufs_memo: can't update recordfs_memo: can't write recordNVH8*.?<H|܎/ E?(`Ch-I/-mL nN"E=i`?.Ad./NO\(OfCp/ mPNX FJfS"E )H"@JfSG/NO-Xg / /NO3P/ (mDN9&B'/ /NO'//N|$A//$L}N"E/)H/NO".N;T$HXfA / mPNX/ /B/ NOvOJ@gC/ mPNX/N;<?. G/NO^/$L:6NB?<H/"E?)` n/"nN> E/(HN"EBHp#@^pLN^NuNVH8&n&.?<Hx؎/?+`Ih/$mLN". ЃO _b6?ҫH//. mD|@NO ׮?<H/?+`/N>p`NB@LN^NuNVH8$n&.?<Hx؎/?*`Ih/&mLN ."҃O _c&?/. ЪH/ mD|@NO ׮?<H/?*`/N>pLN^NuNV n (H @JfS N^NuNV/ $n?<HHn?*`/-h mLN *H @JfSSHHD$nN^NuNVH8&n&. ?<Hx؎/?+`Ih/$mLN".҃ +H @JfSO c-A?<H/?+`/N> .`pLN^NuNV/ .Z/a&X CfB@`pAXXXXXXXXXXXXXP|?<HHn?/-h mL>N?/-dNOWJ@WHD@&.N^NuNV .Z/adrVHD@N^NuNV0<N^NuNV/.aJ@VH@N^NuNVH8..&n Al*JPg0H/ED R9N(HBSBDX, EPlrv֎?<H/?/-h mLNO J.fD//a(PJ@g6 CJfSHh"F$QN90H)/0H/4N|$RSO RD EPmJSg L`/ "F Q:6N`BSLN^NuNVH8(nHxED R9N&HBDXllBE TBB0RI2SA Ab 04J@gj T@RIRD0SBJ@f`T Bc Bc @RD @RD`2J0ERI6C?K2ATA Ag0C@RDQ0,Inr/ R:6N(9DL8N^NuNVH0$n&n8.6. DRCJCo0f"0D// / mD}NO J@f J` SCRJCnБL N^NuNV/ $n. nJPg0BP ?b2j R `H2j R Rj`  f0`.S cJl2j RRj2j RRj$_N^NuNVH8(.Bn D*&E&(ER0h,܈HxED R9N"D"BiXg o& 0 K?/ 2 C?/a"O Jgg t mfvrmHn/aO `X0 CH2 @KYAJng D2h P "DRiBn&D2k S0HRk2k SRkG&`&gRf:/ R:6NJng D2h P "DRiBCBB$DjlBE2C&D S4B S1(I&J ?bRCRB 0`t fl0T@ DhlN"P 1fD 4b<$LBAR2 D"P20C4T@"Dil0B"Q&H 1f 4c$D R4ERBRBRC&DkmP D1CLxN^NuPDOCFS: WRONG PAGENVH8(n6. lcA/ mPNX9C?/,NO[*/NO!&/NO(6DO ,EDg/ R:6NXRK0K/SK$RN9)H6K? //N|@O 9D lB3X Tf HlaX2l lB1/NO"B'?,/,NO^0l)H")lL8N^NuNVH &.$n B'Hx/ NO'/BgNOEOJg?</BgNOI %@Pg/NOO8Bg/*NO[ O gX/NO!&?</ / mD|@N\O.NO5B'Bg/*NO^jbSD5D5jBBB"5|`/*NOJp`p` p`B@LN^NuNVH &.B'Hxx؎/NO'/BgNOEOJg /BgNOB\B'//"D Q9NB@` KJfSHh D(PN9'HH/ /$L|$N/ v֎/N CJfSOpd|.|TB.`A//N}P// "D$QN|$0kd'HL7|d/ aO J@f/+HN:6B@``vnbFx?/a\nf0.S@8"nޓ/ `0n//./ aO RCnc/aPB/ apL8N^NuNV/ /$n/ aX*Og /*H/ aP/ BgNOE/BgNOB/*HBgNOE&OgNBBBBBBBBBHnB/BgNOFnO.BBBBBBBBBHnB/BgNOGO2/*H mD:6NBHp&.$nN^NuNVH8..&n BgNOC:H/ED R9N(HBSBD\, Do?BgNODXJgB.HnHnBBBBBBBBv֎//BgNOFO2J@fX REAdfN TEXtfD//a&PJ@g6 CJfSHh F$PN90H)/0H/4N|$RSO RDDn` LLN^NuNV .Z/BgNOE/BgNOBJ@WHD@N^NuNV .Z/BgNOEJVHD@N^NuNV0<N^NuNV/.aJ@VH@N^NuSOCL: NO PORT IS SPECIFIEDSOCL: CONNECTION ERRORNV|H8(n?<:& Z/&mDN|$H\fA`NB/&~/N|$:/ mH6Nr)AL?/aϾ0@)H^Oop`B^Ao/N9B@LlN^NuNV/ $n?*`aHBLB^p$nN^NuNV/ n&./. ?(`a0&.N^NuNV/ $nB?./. ?*`a$0@%HL^HD@$nN^NuNV nJL_HD@N^NuNV n?(`aΨN^NuIrDA LibraryIROPEN() ERROR %dNV/ $nHj\A/NO *DP op?` n r%AD`p%@D/*D?*\NO$5@br%A^\J@g?A/ mD9NJjbWHD@$nN^NuIRCLOSE() ERROR %dNV/ $n?*\NO5@br%A^TJ@g?A/ mD9NJjbWHD@$nN^NuSERSEND() ERROR %dNV/ $n0*bg?A/ mD9NJjbWHD@$nN^NuSERRECEIVE10() ERROR %dNVH8$n(.ID&TjNL8N^NuNV0-N^NuNV0-N^NuNVH04.2. BEBDJ- g?? mDe N` -SveA Ѐ00N ZZj^AA0l^@@6@H@xBph mBA00@aWr``jVAA0lV@@6@H@0 @g$nJ@g`0 @g @g` :<x`z0x`z x`zBD mB@00E`4@vgm g`pg`p`p`p`0vh6@C2pi0A@@@@0g @g`:<x`zBD mBA00Ea4|prglpvgd ``B m0$ABAG2A Љ0sg,RA Ao `(BA2A m1HH0` `pL 8N^NuNVJng ;|`BmN^NuNVH82.B@A(HJTgE AbB0A Ѐ00N LT\fnA$HJRf&mDNcJ@l NB@`NJRg Tf;m;m80`,0-` 0-`B@-`0-`0-EBRLN^NuNVB0.-@Bn=m=mBgHnNOBmBmBmB'NOdB'NO%N^NuNV0.;n ;@N^NuNVH8BmIA*0S@A(42AoB8`XB0.-@&QBnG=SE=R/?B'/NO E0S@ D8Bn=@=S4R=JBg/NOL8N^NuNV2.tA"HPo 0@RBAm0N^Nu0NVH0 . @JfS2o&@JgB@_@ @b*A Ѐ00N*2HPav`E0RRH?aT4T`pa\`h +[f^TBC bBA0HC@CA cB@ @Kgn @Gg<` @mgJ`0-=@=m2-㶒@=A=mBgHnNO\`EA/a4X` C]bB0A Ѐ00N&.6>FN\bjrzB'NO%BmBaHxBaO`<`<`;|`B'NOdT`B'NO%T`Bm`B`6Hx`.Hx`&Hx`Hx`Hx`Hx`HxaX`TB`6Hx`.Hx`&Hx`Hx`Hx`Hx`Hx/-aP` `J-f&NOdENOg42-H;AT`a`Bn=m=m=mBgHnNOBm\`SBCB@- @gzn @g` @g @g` c  b4JB@+@=B2I0@ @c A AbBB Bb` }bIB@+@=A0H@ @}brA0@ @>cfA_ A]bX`Z }bFIB@+@=A0H@ @}b*AA ASHDC`vIB@+@=AJCg R?<HnNOk6SB.x\`NOj6B.xTA0C$Hmma|Jmf?-??HnNO `?-??HnNO*O RJgRJfL N^NuNVH0(.$n A&HperlxJlxg+D`+D/ mDdRN+@ Oc2gA Є0NO`E&ք28NO28NOL N^NuNVB/.ajN^NuNV/ /&. B/.EPNPpgHx/N&.$nN^NuNVH :.8. <. 6.2.=E$Q=D0ER@=@0DR@=@ -g ~g`XJAgBg/NO`JAg Bg/NO`????$mDhDN????N????N????N`\JAg$4DJmP? ?? mDg4N\RJJl`4????$mDhDN????N????N????NLN^NuNV<NOTJ@g&|-|=|}=@<HnBNO3N^NuNV/ 0.4. 2. JngDB.=@=BA?<HnE?/- mL>N02RA4R@ @oRBR`NJ@g8|0@-H=BI0{B@H@@taA=@B'HnBNO3`0B/ mDjpN$nN^NuNV . @JfS?/NOkN^NuNV0-N^NuNVN^NuNVH8a\GBIp( mD]NBmBmE62SA;AC40S@;@;C;BBmBm;A;@;C;BA( * &JgBp(HxBa /aO `p&B/-Bg$mTN D0S@0@/?<N E0S@0@/?<NO CJg/-?<N` Hx?<NpL8N^NuNV/ EJgaaJgap$nN^NuNVBmBBm@N^NuNV/ A@EB2R302RA4R@ @oBR$_N^NuNVH8GBI@0Sgp` Bg$mDNjc A_ A]b6`22A0@@ @}b0@@ @b `0@C` JJfS0J&.$nN^NuNV nJ-gIB@(Hn@?a`pN^NuNVH8.. 8.6.,Y/?.A-HN:\JCg GG@ KJfS0KR@0@/AD&$PN9(H/ / N|$?/ /N|@O E GB0@O $CJ-g/IB@,@? nN:\`zJgHtP/ R}NP/ R:6N`P GE@ JJfS0JR@0@/&mDN9(H/ / N|$?/ /N|@O E GB0@/ /N}/ N:60LN^NuNVH8(.6. 0C0HgjJ-gHnIB@0H@?a|8@\`8| DG0 R @JfSRH0H/$mDN9&Hs/N|$B//N}/N:60 `B@LN^NuNVH 6.A>(a<a:8Cmma`6J-g*/-E N?<0n ????aN0G/N`avLN^NuWQ NVH8&n|=|=|Bn=|=|Bn=|BJ-g:a8=@a<=@A/a=@A/a=@2-H=APaA-HAD-HB KJfS>K?.?.a/ ab?.?.a/ al:.@ nHŋOno.=E20n4.@n0.n0n@o=L".3B3/ EN n6.@: nHŋ08.@A/N2 nЖAE??a0??a?< n$PNjK\`|JnWH=@Dn`h0 g$? / a$\`TLc? / a\`@ar`8  g?.? / ?aO `| KJfS>KaJ@fr gp fB0B3?.?.a/ a?.?.aj KLN^NuNVJ-g?.a$N^NuNVJ-fB@` ?.a$N^NuNVA/aN^NuNVaN^NuNVaN^NuNV2.0. JAmmnJ@mmn??aN^NuNV". . Atf tm$m JmJmtg /+A/a` /+A/aN^NuNV/.a4N^NuNVaN^NuNV .J-f @JfS0`/aN^NuNVJ-fp` /.aN^NuNV .re+@/ad`Jl +@/aRN^NuNV/6.mHÇ0-@4. mH…2-ACn mnBnmn?? mDj&N&.N^NuNV/6.mHÇ0-@4. mH…2-ACnmnBnmn ??a`p&.N^NuNVH8&n$n ,.Bn nBPC-IA*C. I2 n6A^HDB0"E8@oB G=PnoB0THoB"n2A^HDC"F0@oCnoCHoC2AWHDA0@WHD@JAgJ@g=| n0`0C@fJAg0"n620 F4040S"n6Hf f``g4"F0B"n`g 4"F0B"G2HHH@46`Jg"H2"E0A"F0AHÇ6 E4`"gH20A"F0AHÇ64JngLN^NuNVH0m0.H>-4-H<-F=@:-0. E8-2-H6-C=@ 0. HHF=@ 0.EHC=@HnHnHn Hn HnaOJng?.?. ?. ?. mDhDNLN^NuNVH8=n=n 8n 6n4m:.J8-2-Hŋ2mI6->.C4-0-HǏ0mH< JHƍI8 CHĉHEgGf? ? ?.?.a`ܺI]HDAHlA6-ElA4-GlAI]HD@Hl@Fl@Dl@AW@WHD@JgJ@g?.????a|`fJng"6.KnV?? ??.a,PRCKo`>? ?.?.?.EN? ? ? ?.N?.? ? ? N?.?.?.? NLN^NuViewport out of screenViewport of zero sizeNVH88.<. 6. :.DgFfFA$BPIBTG2-SA6E0-S@4C2A0.-L(K-J&I$H`JDm$JCm JFmJEm0-㶰DoCo 0-㸰FoEnAB/ mD9NXI8G6E4C2A0D0. -K(J-I&HJ@lC6A0F0$HlE4JSgJRfA/ mD9N G;P n;P;T n;P;S;RLN^NuWindow of zero sizeNV2.0n 0. 4.AgHf(;m;m;m;m;m;m`:;A;H;@;BA;@2H;AJ@gJAfA/ mD9NN^NuNVJ-ga$a N^NuNV?.?. ?. ?.a*N^NuNV nHIHABA(HH@B@Ҁ(HH"A(HHnHn<Hq/?(m`NTJ@gNJJRf& CNJRf/?N`A/ mD9NLN^NuNV?< mTFNN^NuFIO: FILE IS NOT OPENEDWRITE: ONLY VARIABLES ARE ALLOWEDNVH8ET&RNKhAh-J(HJTfNJj&=CJTf E B0C Q0( . g f,? m`NTJ@gAZ/ mD9N`NJJTf?E` RNTJ@gBzBC"D:"G Q0X C gn C g`F C g Cf8|`H DTP`@"n QIN JTfH/?. RN\`A/ mD9NXJTfJg`C/ mD9NLN^NuNVH8ET(RNKhAh* &HJSf~NJj$@8 JSfrNJJSfj? E` RNT(JJ@g@vJSfL E$PNI JSf>/? T$N\JSf*6- m 0 8fNJ`A/ mD9NL8N^Nu NVH8A &B0I T 0 f@$mTNKhAh(JPfzNJj&@< "DJQfjNJ DJPf^? .-`"GNTJ@gJ CB0 T 0 g mLN`*ED(RN&H* "DJQf/ N@f6<HxN9'HP(G`\HxHn?NtO DJPfn. gD g20S@JfC2C/ /+"E Q:tN'HP kRJ?N lTJ@g kB0RJ7J`xA/N9`j/ "E Q@fNBp'@`P mTIN&HJmhf:/ $mDN@fHxN9'H7|?</+$m`N[AX/N_LN^NuNV?< mTNN^NuNVH0v֎/&mDN@0/ mTJNPJmhf"/.$m`N XJ@g /.N X/N@fL N^NuCOPY/RENAME: FILE DOES NOT EXISTNVH8v֎/GD*$E@0Nx؎/N/(mT, J FNEhO JRfzNKJRf / FNXJRg / EN@f`\/.$m`N XJ@g*Jnf/./.N P`"/./.N ~P`A RGCoF: 8SD0C/.?. Ь/aO Cg/.?. A/aO RCCn0.Jg/.?. A/aO 4G0 Jn`NBCllD0/.?. Ь/ax0,S@O Cg/.?. AX/aO RClm/.?. A>/afLN^NuNVBBg/.a N^NuNV0n/?</. aN^NuNVB?</.aN^NuParsing point: type mismatch!NVH8..BBB-@-A-@-AED&RN** J@g N(H`|N@F(H/ NXGhJSf fN lgA|/"E Q9N`/, E$PAN-@-ApЬ/N-@-AP`Z/ E&(A"DN-@-A mTKNXJSf,E/ CNXJSf/ "DN-@-AX/ CN@fXJg/ "E$QN@f/ N:6 G GLN^NuNVH8B.xvED&RN*. J@g N(H`|N@F(H/ NXGhJSf fB lgAV/"G Q9N`p/, G$PBzN&pЬ/N(P`N/ G*,Bz"FN& mTKNXJSf&E/ ENXJSf / "FN(X/ EN@fXJ.g/ "G$QN@f/ N:6 "LN^NuNVH8BnBB.ED&RN*. J@g mTIZN(HJmhgB@`$N@F(H/ N|X0,fJ.g/ G$PN@f/ N:6`&l fv f8 kgn?<?< mL NXJ.g/ "G$QN@f/ N:6`~Jf>g2?<?< mL NXJ.gV/ G$PN@f/ N:6`B@=@0.H/"G Q9N* n X fBDCh, nl0&l g?<` kg?<? mL NX FJPf/+"G$QAN6H C!X!XpЫ/N C!X!X PRDnm`rCh, JffBD0.JoZJQf\ G&PA0Ь/N6 H"C#X#XRD0Ь/N C!X!X PRJRD0.Jo FJPg"FJQg/"G Q:6N nBBnXJ.g/ "G$QN@f/ N:60.LN^NuNVH8BnBB.ED&RN*. J@g mTIZN(HJmhgB@`N@F(H/ N|X0,fJ.g/ G$PN@f/ N:6`&l fv f8 kgn?<?< mL NXJ.g/ "G$QN@f/ N:6`~Jf>g2?<?< mL NXJ.gV/ G$PN@f/ N:6`B@=@0.H/"G Q9N* n X fBDCh, nl0&l g?<` kg?<? mL NX FJPf/+"G$QBzN6H C!XpЫ/N C!XPRDnm`jCh, Jf^BD0.JoRJQfT G&PBz0Ь/N6 H"C#XRD0Ь/N C!XPRJRD0.Jo FJPg"FJQg/"G Q:6N nBBnXJ.g/ "G$QN@f/ N:60.LN^NuNVJmhfDA B0"m1RP LfBg` Kf?< m`^N` mLNN^NuNV m`fNN^NuNVH8zd&-T&CJjN(EhJRfJ(CKNJRf"n? n?A?BgNP`&"FH?Ev/ n$PN9/.N:6`8"FJgR$FJgBg n."GNjAhX-J&HJSfjJGgdC B0A$P(I* 2 f(-T&K CNJSf$DJN-@-AJSf"CNJSfN-@-AJSftB0"E Q 0 f: CNJSf\N-@-AJSfN|B0"E Q 0 f CNJSf4"DNJj=@JSf&B0"E Q 0Hf*RT mTJjN=@JSg/. mD:6N`zB0"E Q 0IfRT|JfPBB///./.ED&Rx,NO-JJf///./.NO0n-HJgp`BCCD-I0n-HҾCoT ,u*o(l (@w$4C&n $@/3 FNX/././/"ENO///./. DNO//NP'&n/3"FNX/./.// ENO///./."DNO//NP'RCCnn`BC0n-HҾCo"n *u(l (@w$4C&n $@/3 ENX///./."DNO//NP'&n/3 ENX///./."DNO//NP'RCCn"n nڳg/ m`` NXJ.f>vCoL0C"n  @?1?1A?(?( m`bNPRCCn`?/. m`!N\/."n Q:6NX0.ng0@/ m`` NLN^NuNVH8G=kB.B.-|?BC B0A$P-K(I. 27fRT|a(*Ah&HJSfPET&,K FN-JJSf4$CJjN=@JSf J.g 0m؈0mڈB0"G Q 0 fD FNJSf"CNJ-@-AJSfB0"G Q 0 f FNJSfN=@JSfB0"G Q 0HfRT"n QJjN=@JSfB0"G Q 0IfRT|0n"ng@6)/$m`&J` N.@?/./.?.?.??N0C/N`,.@?/./.?.?.?? m`NLN^NuNVH8G=kB.-|?BC B0A$P-K(I. 27fRT|a(*Ah&HJSfET&,K FN-JJSf"CJj-IN=@JSft FNJSfj$CJN-@-AJSfR"FNJSfHN-@-AJSf8J.g 0m؈0mڈB0"G Q 0 fD FNJSf N-@-AJSfB0"G Q 0 f FNJSf"nN=@JSfB0"G Q 0HfRT"n QJjN=@JSf0n"nֱgZ6)/$m`&J` N/./././././. mDu2n/ NX//??NO(0C/N`B/./././././. mDu2n/ NX//?? m`NLN^NuNVH8A=hB>.=|E B0A* P 07fRR|a&(IhJTfJg 0mֈ0m؈B0"E Q 0 fD&mT, K FNJTfZJjN>JTfLB0"E Q 0 f FNJTf4N=@JTf*4n/ &m`(K` N2n/ 0G/??NL/ NLN^NuNVH8(n A$nRBT&H -f -ARCH bR cB/ Q6N8 JLN^NuBbNnDRAW: MISSING ,DRAW: '%c' UNSUPPORTEDNVH8zxA>(v֎/ mTJNX,Jmhf$nIDJgV`2 Bg bfBER`z Ng nfBDR`xH?AX/ T|N\fH @2bA Ѐ00Np>fp>fHn/ aF$HPJEg$0-2n?A??? m`bNPJDg80.m`,Hn/ a$HPJEg$0-2n?A??? m`bNPJDg0.m`Hn/ a$HPJEg$A?0-2n??? m`bNPJDg0.m`Hn/ an$HPJEg$A?0-2n??? m`bNPJDg`0.m`THn/ a&$HPJEg(4-0.2@?2-A??? m`bNPJDg0.mƑm`Hn/ a$HPJEg(4-0.0B?2-A??? m`bNPJDg0.`8Hn/ a$HPJEg*4-0.2@?2-0A??? m`bNPJDgz0.mm`jHn/ a<$HPJEg*4-0.2@?2-0A??? m`bNPJDg(0.mƑm` *-fR *+fvR`BCHn/ GN$HP ,gA-/$TN9`HnHjN$HPJCgJJEg.04-B?02-A??? m`bNPJDg0.mm`zJEg?.?.?-?- m`bNPJDgR;n;n`DHn/ a$H0n/ m`` NO `H?Ao/$TN9/N@f`$Jf0G/ m`` N/ T@fNLN^NuGMKNVH8,... (n&(/< /(BFBnBn=m=mBn$mT& Jj CN=@Ah(HJTf&JKNJTfNIZ-HJTf|=hC * B0E R 0 fNJTfT CN<JTfH"EB0 R 0 f\NJTf0 CN=@=@JTfNJTf"CN=@JTfNJTf CN=@JTf NJTf "CN=@JTf 4n /GD&"CN9-HBnX-Jv-Kz0.ذno&C?./.NB\JTf B@ @g6nJ@g`n @gF`d6.H/(NuX n!8!8`d0.H"($("n##`D/NA4.H n!(!(X`$ mLN/."nz Q:6N` Rn0.ذnnS@X=n\Rn\=nZSnZJ@oBnھnmJnf-n-n`nf-n-n` nz$P&Ju2n/ NX(Jl B/. GfR nz$P&Ju/.rNX&(2F/ NXB/0S@J@oBnھnoA-HJnf BB`Z"nz&Q$Ku0n/NX*,/.vNX&(2G/ NX////NqO////NoO-@-A/. nz$P&Ju"n2i/ NX(Jl ///./.NO// mHNB./. nR*"EN_<0n/NX&(/./././.NoO////NO//Nw$P6OC-I^ nf0.R@?2F?`0FR@nl2nRI? 0R@? EN_*X/.^"nR$QN_0.X@???.?NbO Rnھnn~?.?.?.?. nR$PbN?.?.?.?.N=n\=nZO ng ng``4=|0.ذnoD nR$PbBC0n0H?(?0C?(?NPTCRn0.ذnnJnXgBn2.زno|܎2.n0th@A>.A/0.H n/0/0aT/"nR(QN_6/N_:0n0H2pi0A@$.20(@&BE4OBlEnn2.RA0Cnm2.C??N_*/N_?<0RTH?2STI? 4RUJ? 6SUK? NcRORn0.ذnn@`/.N:6`BG=|6.SCA-Hb0.ذnovBEr nbd2G/ "nR Q` NRGX GoBG?<?.0n0H .0pUH?0E?(?"nR QcRNO TERn0.ذnnr nbd2G/ "nR Q` NX?<?.C4C nz&P"n2q/ NuX/././/Nl OB/ Go n*( E gj n0(@=@o n  @A-H(@o&@l =|Bn>.:. n (Ѕ/ nN-@-A<. n (І/ nN-@-A/./././.NO&(/./././.NO////NO/././/NO// nڨ/ n$PC,N/./././.NO&(/./././.NO////NO/././/NO// nܨ/NO TnTnSGf`jBGnl`0 n*(ڀ E g?< ` E(g?< ? mL NX nJPf E/( n&P$KAN-@-Ap EШ/N-@-A$Ko/./././.NO&(/./././.NOl ////NO/././/NO// E/( n(PC,N/./././.NO&(/./././.NO////NO/././/NO//p EШ/NO RGnmLlN^NuNVxH8BB.HnINGhXJSfET*&K CN-JzJSfHnNXJSf CNJSfHnNXJSf CNJSfHnNXJSf CNJSf$EIN-HJSf CNJSfN-HJSfvB0- m 0 f CNJSfZN-HJSfN`|/.AD-H, FN@fBBBB$Fl/./././.NO&(&n(n/ / /./.NO.o//// GNO-@-A/./././.NO&(/./././.NO//// GNO///./.NO-@-A/ / /./.NO&(/./././.NO//// GNO-@~-A/./././.NO&(/ / /./.NO//// GNO///./.~NO-@-A/ / /./.NO&(/./././.NO//// GNO&@(A/./././.NO&(/./././.NO//// GNO/// / NO&@(AXBB/./.$FwNO..Jf"BB/./.NOJfp`p`BB/./. FNxHOJovBB/./.&xd CNOJm/./././.$FxNOJnBB/ / CNOJm/././ / NOJop`|BB/./.&x CNOJnZ/./././.$FxdNOJm8BB/ / CNOJn$/././ / NOJmp n!@` nB n&(peb/./././. G$PwNOJg(/././ / NOJgBB/ / NOJfpf p n!@ G(P/./././.NqO*,$n&n/././ / NwOJf -J-K`F&.(.///./.NlO////NoO////Nl O-@-A$n&n/././ / G(PNwOJf -J-K`F&.(.///./.NlO////NoO////Nl O-@-A .fD?</. nz$PNA/./. n/(C,N/./.p nШ/N`*/././. nz$PC,N/././.NLXN^NuPPPPNVH8Hna>EhXJRf$HnHnHnHnA/ mTMNOJRg/. mD:6N`/.GD(S$L@fN n/.N n/.N n/.N nO-KJGf@&n$n"n nBB!@!A#@#A%@%A'@'A/.N:6`T$n"n n "(#@#A%@%A$n"n n ("( #@#A%@%AxDo, *xH4D(n $@&n/+/+/4/4 ENOJo 4"4'@'A(n&n/+/+/4/4&w CNOJl 4"4'@'A(n&n/+/+/4 /4 ENOJo 4"4 '@'A(n&n/+/+/4 /4 CNOJl 4"4 '@'ARDDn/."n Q:6NLN^NuFFPLOT: Missing USE keywordNVBB-@-A-@-AHnHnA/ mTMNO JmhfRC B0 m 0SgA/ mD9N`*02ZA2V@B20IR@0@@2N^NuȴAׄCAy7DxCyٝFnH=c)\I1sKP1P=M8O?NCPQ_R4.SubسcUR`W0$fXƠ4*ZwH02\+4"M]ԀW8u_~]ra&%obS_ dyER0xf" =g$itbZk%Ll4@nqJRgpü\q24zslrTuOsEy0:<Ҳ؉:W™9I#ը37l&'wW5bOv/4ObW2D=0Em/RMa#-v/&,^*V[@w(f 'rݷ%[ό#i"WMϊp `(~{nt167dBg`1] ?nzh~Np'%mF*Jܵ \ q9& (doC Muk܇ #}PmYz(ŀю;7Ai IHS687T)'UY[&1hOXxOT|OPOLOHODO@OOOOuOlOeO\OOOOOOOOOOOOPPPOOOOOOOOOAEINRW]bhnt{&7J]r *Kn?pU&u }I- - M @ oZS[r#K@@n??LOCALSUBFUNCDEFBYREFDECLAREIMPORT LET!CONST"DIMBREDIMCSTOP$END#PRINT%SPRINTgINPUT'SINPUT(REM-CHAINDONKLABEL.GOTO/IF0THEN1ELSE2ELIF3ELSEIF3ENDIF4FI4FOR5TO6STEP7NEXT9WHILE:WEND;REPEATRETURN?READEDATAGRESTOREFEXIT@ERASERUSESUSING&LINEJCOLORHRUNPEXECQOPENZAPPENDVAS[CLOSEaLINEINPUT]SEEKcWRITE_INSERTWDELETEXTRONMTROFFNOPTIONi$i32$r64$str$log$cmp$add$mul$pow$unr $var $tln $lpr $rpr$crv$sep $biF$biP$exF$exP$ret$udp$udfAND&OR|BANDABORBXOR~NOT !MODMMDLLEQVDIMPENANDFNORGXNORGINILIKEWCOLORHFILLEDIFORTINPUT)OUTPUTUAPPENDYACCESSdUSING&SHAREDeAS[TO6DOhSTEP7THEN1SUB+FUNC,DEF,LOOP*ONKOFFLUSESASCVALCHRSTROCTHEXLCASELOWERUCASEUPPERLTRIMRTRIM SPACE SPC TAB CAT ENVIRON ENV TRIMSTRINGSQUEEZELEFTRIGHTLEFTOFRIGHTOFLEFTOFLASTRIGHTOFLASTMIDREPLACERUNINKEYTIMEDATEINSTRRINSTRLBOUNDUBOUND LEN!EMPTY"ISARRAY#ISNUMBER$ISSTRING%ATAN2&POW'ROUND(COS)SIN*TAN+COSH,SINH-TANH.ACOS/ASIN0ATAN1ATN1ACOSH2ASINH3ATANH4SQR5ABS6EXP7LOG8LOG109FIX:INT;CDBLPEN?FLOOR@CEILAFRACBFRECSGNDCINTEEOFFSEEKGLOFHRNDIMAXJMINKABSMAXLABSMINMSUMNSUMSQOSTATMEANPSTATMEANDEVQSTATSPREADSRSTATSPREADPSSEGCOSTSEGSINUSEGLENVPOLYAREAWPTDISTSEGXPTSIGNYPTDISTLNZPOINT[XPOSsYPOStINPUTkARRAY\LINEQN]FILES^INVERSE_DETERM`JULIANaDATEFMTbWEEKDAYcIFdIFFdFORMATeFREEFILEfTICKSgTICKSPERSEChTIMERiPROGLINEjRUNTXTWlTXTHmTEXTWIDTHlTEXTHEIGHTmEXISTnISFILEoISDIRpISLINKqACCESSrRGBuRGBFvBINwENCLOSExDISCLOSEyTRANSLATE{CHOP|BGETC}CLSRTEENVIRONENVLOCATEATPENDATEDMYBEEPSOUND PSET RECT CIRCLE RANDOMIZE SPLITWSPLITJOINPAUSEDELAYARCDRAWPAINTPLAYSORTSEARCHROOTDIFFEQNCHARTWINDOWVIEWDRAWPOLYM3IDENTM3ROTATE M3SCALE!M3TRANS"M3APPLY#INTERSECT$POLYEXT%DERIV&KILL)RENAME*COPY+CHDIR,MKDIR-RMDIR.TLOAD'TSAVE(LOCK/CHMOD0PLOT1LOGPRINT2STKDUMP3SWAP4BUTTON5TEXT6DOFORM7DIRWALK8BPUTC9 6YETFX5P M劥    ȴȴ x? JBJ$L@Llj樬LLnhBd ZDFfd@@DfFdd@D D<` `J$D$@*&**BꪪHJlfdlLjnDN`DFfd@@DfFdd@j @d*&*@J.NDJDdHL̮BDDD@BꪬĪ( ZLwwwD `Fl `$@H.*J JȪ$HB@jBĪh$DD@Dl @@Ggvo @`fl @JDDBFlj䮪HJNblfd*JH(dNd` ZDFdf`@@D``fFFdȮ` e  DFdf`@@D``fFFdv  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|P $ww|; D??????*UUPʅUU@UUUT?*Pʅ@  c\\}}}}}}}}}pp}c\\}voooo}c\\}v}}}}o}c\\}}}}o}c\\p}o}c\\p}c >p<|m6pЈ  0JbzSmallBASIC AH - Category - A>c@All r- no files -t NEWn) EDIToQ DEL}y RUNm Xш   .F\r Sources F> - Section - F>X@ m X S&R #" 1 @ ~P ` zp { 2m14p bt Input5@?p!( OKq2!- Cancel!672PL  t 0File details'Category: <H - Category - <>B@All $ S PalmOS "script"p<( OKq4<- Cancel2 &n  n Categories NXAll tZ( NewoZ ( Del}Z0( RenpZ[( OK2   Z^FjOptions Charset 2d - Charset - 2d,@European (UTF8)Japanese (SJIS)Chinese (BIG5)Generic multibyte   t Delete logfile at startup ",c Keep bytecode files $:} Use PalmOS 3.5 for screen MCompiler cache W Label nodes xV b e Pass2 stack nodes xd bpx( OKq4x- Cancel2  \n Help x>x p( OK2  h About SmallBASIC '2Version 0.8.2 ,^,^ p( OK    "&<Rh~ FileViewers| S F> - Section - F>X@ m X~P ` zp { SmallBASIC - BASIC interpreter http://smallbasic.sf.net Written by Nicholas Christopoulos (inachus@freemail.gr) VTOS (Helio) port by Earle F. Philhower http://www.ziplabel.com Franklin's eBookman port by Chris Warren-Smith http://www.twpo.com.au/cwarrens/ebm This is a GPL software comes without any warranty!SBREF - The LanguageSBREF - The CommandsSBREF - The ConsoleSBREF - Graphics & SoundSBREF - MathematicsSBREF - StringsSBREF - File systemSBREF - SystemSBREF - Miscellaneous>> Useful notes for beginners ____________________________ How to read the syntax: Everything is written inside of [] characters are optional values. Everything is written inside of {} characters means you must select one of them. The symbol | means OR. The symbols ... means you can repeat the previous syntax. The keywords are written with capital letters. Examples: Syntax: TEST {1|2} Valid calls: TEST 1 TEST 2 Syntax: TEST [HI] Valid calls: TEST TEST HI >> Limits ____________________________ Bytecode size: 4 GB Length of text lines: 4095 characters User-defined keyword length: 32 characters Maximum number of parameters: 256 Numeric value range: 64 bit FPN (-/+ 1E+308) Maximum string size: 2 GB Number of file handles: 256 Number of array-dimensions: 6 Number of colors: 24 bit (0-15=VGA,<0=RGB) Background sound queue size: 256 notes INPUT (console): 1023 characters per call, up to 16 variables COMMAND$ 1023 bytes System events are checked every 50ms === PalmOS only (or other limited OS): Length of text lines: 511 characters Maximum number of parameters: 32 Number of array-dimensions: 3 Maximum string size:<32 KB Number of file handles: 16 Number of elements/array: 2970 (that means 64KB of memory) Bytecode size:<64 KB (by using CHAIN you can run progs > 64KB) INPUT (console): 255 characters per call, up to 16 variables COMMAND$ 127 bytes >> Constants and Variables ____________________________ SmallBASIC uses internaly 3 data-types 1. Integer (32bit) 2. Real (64bit) 3. String (<32KB on 16bit / 2GB on 32bit) 4. Array (~2970 elements on 16bit /~50M elements on 32bit) Reals can be also written by using scientific notation. 1E+2, 1E-3, 2.6E-0.25, etc All user variables (include arrays) are 'VARIANT'. That means the data-type is invisible to user. Variable names can use any alphanumeric characters, extended characters (ASCII codes 128-255 for non-English languages) the symbol '_', and the symbol '$'. The first character of the name cannot be a digit nor a '$'. About the dollar-symbol: The symbol '$' is supported for compatibility. Since in SmallBASIC there is no data-types its use is meanless. The dollar in function names will be ingnored The dollar in variable names will be count as part of the name (that means v and v$ are two different variables) The dollar in system variables names will be ignore it (that means COMMAND and COMMAND$ is the same) abc, a_c,_bc, ab2c, abc$-> valid names 1cd, a$b,$abc -> invalid names Strings may be appended to one another using the + operator. b ="Hello,"+"world!" Constant variables can be declared by using the keyword CONST CONST = 3.14 >> System Variables ____________________________ OSNAME - Operating System name OSVER - Operating System Version (0xAABBCC or 0xABC) SBVER - SmallBASIC Version (0xAABBCC) PI - 3.14.. XMAX,YMAX - Graphics display: maximum x (width-1), y (height-1) value BPP - Graphics display: bits per pixel (color resolution) CWD - Current Working Directory HOME - User's directory COMMAND - Command-line parameters TRUE - The value 1 FALSE - The value 0 >> Operators (by priority): ____________________________ () Parenthesis +,- Unary ~ bitwise NOT NOT or ! Logical NOT (NOT false = true) ^ Exponentiation *,/,\ Multiplication, Division, Integer Division % or MOD Reminder (like QB's; a=int(a), b=int(b), a-b*(a/b)) MDL Modulus (a%b+b*(sgn(a)<>sgn(b))) +,- Addition/Concatenation, Subtraction = Equal <> or != Not Equal >,< Less Than, Greater Than =>,=< Less or Equal, Greater or Equal >=,<= Less or Equal, Greater or Equal IN see "The IN operator" LIKE see "The LIKE operator" AND or && Logical AND OR or || Logical OR BAND or & bitwise AND BOR or | bitwise OR EQV bitwise EQV IMP bitwise IMP XOR bitwise XOR NAND bitwise NAND NOR bitwise NOR XNOR bitwise XNOR >> Special Characters ____________________________ &h or 0x Prefix for hexadecimal constant (0x1F,&h3C) &o or 0o Prefix for octal constant (0o33,&o33) &b or 0b Prefix for binary constant (0b1010,&b1110) [,;] Array definition (function ARRAY())($1) << Appends to an array (command APPEND)($1) ++ Increase a value by 1 (x = x + 1)($1) -- Decrease a value by 1 (x = x - 1)($1) p= Another LET macro (x = x p ...)($1) Where p any character of -+/\*^%&| : Separates commands typed on the same line & Join code lines (if its the last character of the line) The result line its must not exceed the max. line size. # Meta-command (if its the first character of the line) or prefix for file handle @ The 'at' symbol can by used instead of BYREF ($1) ' Remarks Notes: ($1)= Pseudo operators. These operators are replaced by compiler with a command or an expression. >> The OPTION keyword ____________________________ OPTION keyword parameters This special command is used to pass parameters to the SB-environment. There are two styles for that, the run-time (like BASE) which can change the value at run-time, and the complile-time (like PREDEF) which used only in compile-time and the value cannot be changed on run-time. Keyword: BASE (run-time) OPTION BASE lower-bound Sets the default lower bound for arrays. Keyword: PREDEF (compile-time) OPTION PREDEF {QUITE|COMMAND cmdstr} Sets parameters of the compiler QUITE sets quite flag (-q option) COMMAND cmdstr sets the COMMAND$ string (usefull for debug reasons) >> Meta-commands: ____________________________ #!... Used by Unix to make source runs as a script executable #sec:section name Used internaly to store the section name. DO NOT USE IT! #inc:"file" or #inc:file Used to include a SmallBASIC source file into the current BASIC code Example: ... #inc:"mylib.bas" ... MyLibProc "Hi" >> Arrays and Matrices ____________________________ Define a 3x2 matrix A =[11, 12; 21, 22; 31, 32] That creates the array | 11 12 | | 21 22 |= A | 31 32 | The comma used to separate column items; the semi-colon used to separate rows. Values between columns can be omitted. Example: A =[;; 1, 2 ; 3, 4, 5] This creates the array | 0 0 0 | | 1 2 0 |= A | 3 4 5 | Supported operators: Add/sub: B =[1, 2; 3, 4]: C =[5, 6; 7, 8] A = B + C C = A - B Equal: bool=(A=B) Unary: A2 =-A Multiplication: A =[1, 2; 3, 4]: B =[5 ; 6] C = A * B D = 0.8 * A Inverse: A =[ 1,-1, 1; 2,-1, 2; 3, 2,-1] ? INVERSE(A) Gauss-Jordan: ?"Solve this:" ?" 5x - 2y + 3z =-2" ?"-2x + 7y + 5z = 7" ?" 3x + 5y + 6z = 9" ? A =[ 5,-2, 3;-2, 7, 5; 3, 5, 6] B =[-2; 7; 9] C = LinEqn(A, B) ?"[x;y;z]="; C Note: There is a problem with 1 dimension arrays, because 1-dim arrays does not specify how SmallBASIC must see them. Example: DIM A(3) | 1 2 3 |= A or | 1 | | 2 |= A | 3 | And because this is not the same thing.(ex. for multiplication) So the default is columns DIM A(3)' or A(1,3) | 1 2 3 |= A For vertical arrays you must declare it as 2-dim arrays Nx1 DIM A(3,1) | 1 | | 2 |= A | 3 | >> Nested arrays ____________________________ Nested arrays are allowed Example: A =[[1,2],[3,4]] B =[1, 2, 3] C =[4, 5] B(2)= C print B This will be printed [1, 2,[4, 5], 3] You can access them by using a second (or thrid, etc) pair of parenthesis. B(2)(1)= 16 print B(2)(1) Result: 16 >> The operator IN ____________________________ IN operator is used to compare if the left-expression belongs to right-expression ' Using it with arrays print 1 in [2,3]:REM FALSE print 1 in [1,2]:REM TRUE ' Using it with strings print "na" in "abcde":REM FALSE print "cd" in "abcde":REM TRUE ' Using it with number (true only if left = right) print 11 in 21 :REM FALSE print 11 in 11 :REM TRUE ' special case ' auto-convert integers/reals print 12 in "234567":REM FALSE print 12 in "341256":REM TRUE >> The operator LIKE ____________________________ LIKE is a regular-expression operator. It is compares the left part of the expression with the pattern (right part). Since the original regular expression code is too big (for handhelds), I use only a subset of it, based on an excellent old stuff by J. Kercheval (match.c, public-domain, 1991). The same code is used for filenames (FILES(), DIRWALK) In the pattern string: * matches any sequence of characters (zero or more) ? matches any character [SET] matches any character in the specified set, [!SET] or [^SET] matches any character not in the specified set. A set is composed of characters or ranges; a range looks like character hyphen character (as in 0-9 or A-Z).[0-9a-zA-Z_] is the minimal set of characters allowed in the [..] pattern construct. To suppress the special syntactic significance of any of `[]*?!^-\', and match the character exactly, precede it with a `\'. Examples: ?"Hello" LIKE "*[oO]": REM TRUE ?"Hello" LIKE "He??o": REM TRUE ?"Hello" LIKE "hello": REM FALSE ?"Hello" LIKE "[Hh]*": REM TRUE >> The pseudo-operator << ____________________________ This operator can be used to append elements to an array. A << 1 A << 2 A << 3 ? A(1) >> Subroutines and Functions ____________________________ SUB name [([BYREF] par1 [,...[BYREF] parN)]] [LOCAL var[, var[,...]]] [EXIT SUB] ... END FUNC name[([BYREF] par1 [,...[BYREF] parN)]] [LOCAL var[, var[,...]]] [EXIT FUNC] name=return-value END Use function's name to return the value. Alternative FUNC/DEF syntax (single-line functions) This is a macro for compatibility with the BASIC's DEF FN command. FUNC name[(par1[,...])]= expression or DEF name[(par1[,...])]= expression Example: DEF FNSin(x)= SIN(x) ? FNSin(pi/2) Nested procedures/functions are allowed (like Pascal). Example: FUNC f(x) FUNC f1(x) FUNC f2(x) f2=cos(x) END f1 = f2(x)/4 END FUNC f3 f3=f1(pi/2) END ? f1(pi): REM OK ? f2(pi): REM ERROR f = x + f1(pi)+ f3 : REM OK END The parameters are 'by value' by default. Passing parameters by value means the executor makes a copy of the parameter to stack. The value in caller's code will not be changed. Use BYREF keyword for passing parameters 'by reference'. Passing parameters by reference means the executor push the pointer of variable into the stack. The value in caller's code will be the changed. Example: ' Passing 'x' by value SUB F(x) x=1 END x=2 F x ? x:REM displays 2 ____________________________ ' Passing 'x' by reference SUB F(BYREF x) x=1 END x=2 F x ? x:REM displays 1 You can use the symbol '@' instead of BYREF. There is no difference between @ and BYREF. SUB F(@x) x=1 END On a multi-section applications sub/funcs needs declaration on the main section. Example: #sec:Main declare func f(x) #sec:another section func f(x) ... end Use the LOCAL keyword for local variables. LOCAL creates variables (dynamic) at routine's code. Example: SUB MYPROC LOCAL N:REM LOCAL VAR N=2 ? N:REM displays 2 END N=1:REM GLOBAL VAR MYPROC ? N:REM displays 1 You can send arrays as parameters. When using arrays as parameters its better to use them as BYREF; otherwise their data will be duplicated. Example: SUB FBR(BYREF tbl) ? FRE(0) ... END SUB FBV(tbl) ? FRE(0) ... END ' MAIN DIM dt(128) ... ? FRE(0) FBR dt ? FRE(0) FBV dt ? FRE(0) Passing & returing arrays, using local arrays. Example: func fill(a) local b, i dim b(16) for i=0 to 16 b(i)=16-a(i) next fill=b end DIM v(4) v=fill(v) >> The pseudo-operators ++,-- and p= ____________________________ The ++ and -- operators are used to increase or decrease the value of a variable by 1. Example: x = 4 x ++: REM x <- x + 1 = 5 x --: REM x <- x - 1 = 4 The generic p= operators are used as in C Where p any character of -+/\*^%&| x += 4 : REM x <- x + 4 x *= 4 : REM x <- x * 4 All these pseudo-operators are not allowed inside of expressions y = x ++' ERROR z =(y+=4)+5 ' ALSO ERROR >> The USE keyword ____________________________ This keyword is used on specific commands to passing a user-defined expression. SPLIT s,"",v USE TRIM(x) In that example, every element of V() will be 'trimmed'. Use the x variable to specify the parameter of the expression. If the expression needs more parameter, you can use also the names y and z >> The DO keyword ____________________________ This keyword is used to declare signle-line commands. It can be used with WHILE and FOR-family commands. Example: FOR f IN files("*.txt") DO PRINT f WHILE i < 4 DO i ++ Also, it can be used by IF command (instead of THEN), but is not suggsted. >> Uncategorized ____________________________ * White-spaces The white-spaces in the SmallBASIC and in "C" are: space, form-feed ('\f'), new-line ('\n'), carriage-return ('\r'), horizontal-tab ('\t'), and vertical tab ('\v'). The 'white-spaces' are used by routines like SQUEEZE. * The '$' is an unused character. You can use it as suffix to functions names. SB will ignore it. Example: x=LEFT("abcd", 2) y=LEFT$("abcd",2) Both calls are correct and are the same. * Notes on FOR-commands These commands are evaluate the 'destination' everytime. Example: FOR i=0 TO LEN(FILES("*.txt"))-1 PRINT i NEXT In that example the 'destination' is the LEN(FILES("*.txt"))-1 For each value of i the destination will be evaluated. That is WRONG but it is supported by BASIC and many other languages. So, it is much better to be rewritten as idest=LEN(FILES("*.txt"))-1 FOR i=0 TO idest PRINT i NEXT Of course, it is much faster too. ____________________________ >> Commands ____________________________ '|#|REM [remark] Adds explanatory text to a program listing.'remark' commentary text, ignored by BASIC. The # can be used as remarks only if its in the first character of the line. Example: ' That text-line is just a few remarks REM another comment # one more comment ____________________________ [LET] var = expr Assigns the value of an expression to a variable. var - A valid variable name. expr - The value assigned to variable. Example: LET x = 4 x = 1 ' Without the LET keyword z ="String data"' Assign string DIM v(4) z=v ' Assign array (z = clone of v) ____________________________ CONST name = expr Declares one constant. name - An identifier that follows the rules for naming BASIC variables. expr - An expression consisting of literals, with or without operators, only. Example: COSNT G = 6.67259E-11 ____________________________ DIM var([lower TO] upper [,...])[,...] Creates an array of (upper-lower)+1 elements. If the 'lower' is not specified, the arrays are starting from 0 Example: One dimension array of 7 elements, starting from 0 DIM A(6) Example: One dimension array of 6 elements, starting from 1 DIM A(1 TO 6) Example: Three dimension array DIM A(1 TO 6, 1 TO 4, 1 TO 8) Allocating zero-length arrays: DIM z() IF LEN(Z)=0 THE APPEND Z,"The first element" ____________________________ [LABEL] label Defines a label. There are two kinds of labels. Numeric and alphanumeric. Numeric labels does not needed the keyword LABEL, but alphanumeric does. Example: 1000 ?"Hello" LABEL AlphaLabel:?"Hello" ... GOTO 1000 GOTO AlphaLabel ____________________________ GOTO label Causes program execution to branch to a specified position (label). ____________________________ GOSUB label . .[commands] . RETURN Causes program execution to branch to the specified label; when the RETURN command is encountered, execution branches to the command immediately following the most recent GOSUB command. ____________________________ ON expr GOTO label1 [,... labelN] ON expr GOSUB label1 [,... labelN] Causes BASIC to branch to one of a list of labels. expr - A numeric expression in the range 0 to 255. Upon execution of the ON...GOTO command (or ON...GOSUB), BASIC branches to the nth item in the list of labels that follows the keyword GOTO (or GOSUB). ____________________________ FOR counter = start TO end [STEP incr] . .[commands] . .[EXIT FOR] . NEXT Begins the definition of a FOR/NEXT loop. counter - A numeric variable to be used as the loop counter. start - A numeric expression; the starting value of counter. end - A numeric expression; the ending value of counter. incr - A numeric expression; the value by which counter is incremented or decremented with each iteration of the loop. The default value is +1. BASIC begins processing of the FOR/NEXT block by setting counter equal to start. Then, if 'incr' is positive and counter is not greater than end, the commands between the FOR and the NEXT are executed. When the NEXT is encountered, counter is increased by 'incr', and the process is repeated. Execution passes to the command following the NEXT if counter is greater than end. If increment is negative, execution of the FOR/NEXT loop is terminated whenever counter becomes less than end. FOR/NEXT loops may be nested to any level of complexity, but there must be a NEXT for each FOR. Example: FOR C=1 TO 9 PRINT C NEXT ____________________________ FOR element IN array . .[commands] . .[EXIT [FOR]] . NEXT Begins the definition of a FOR/NEXT loop. element - A variable to be used as the copy of the current element. array - An array expression The commands-block will repeated for LEN(array) times. Each time the 'element' will holds the value of the current element of the array. FOR/NEXT loops may be nested to any level of complexity, but there must be a NEXT for each FOR. Example: A=[1,2,3] FOR E IN A PRINT E NEXT ' This is the same with that A=[1,2,3] FOR I=LBOUND(A) TO UBOUND(A) E=A(I) PRINT E NEXT ____________________________ WHILE expression . .[commands] . .[EXIT [LOOP]] . WEND Begins the definition of a WHILE/WEND loop. expression - An expression BASIC starts by evaluating expression. If expression is nonzero (true), the next command is executed. If expression is zero (false), control passes to the first command following the next WEND command. When BASIC encounters the WEND command, it reevaluates the expression parameter to the most recent WHILE. If that parameter is still nonzero (true), the process is repeated; otherwise, execution continues at the next command. WHILE/WEND loops may be nested to any level of complexity, but there must be a WEND for each WHILE. Example: C=1 WHILE C<10 PRINT C C=C+1 WEND ' This is the same with that FOR C=1 TO 9 PRINT C NEXT ____________________________ REPEAT . .[commands] . .[EXIT [LOOP]] . UNTIL expression Begins the definition of a REPEAT/UNTIL loop. expression - An expression BASIC starts executing the commands between the REPEAT and UNTIL commands. When BASIC encounters the UNTIL command, it evaluates the expression parameter. If that parameter is zero (false), the process will be repeated; otherwise, execution continues at the next command. REPEAT/UNTIL loops may be nested to any level of complexity, but there must be an UNTIL for each REPEAT. Example: Example: C=1 REPEAT PRINT C C=C+1 UNTIL C=10 ' This is the same with that FOR C=1 TO 9 PRINT C NEXT ____________________________ IF expression1 [THEN] . .[commands] . [[ELSEIF | ELIF] expression2 [THEN] . .[commands] . ] [ELSE . .[commands] . ] { ENDIF | FI } Block-style IF. Causes BASIC to make a decision based on the value of an expression. expression - An expression; 0 is equivalent to FALSE, while all other values are equivalent to TRUE. commands - One or more commands. Each expression in the IF/ELSEIF construct is tested in order. As soon as an expression is found to be TRUE, then its corresponding commands are executed. If no expressions are TRUE, then the commands following the ELSE keyword are executed. If ELSE is not specified, then execution continues with the command following the ENDIF. IF, ELSE, ELSEIF, and ENDIF must all be the first keywords on their respective lines. THEN is optional, but if its defined it must be the last keyword on its line; if anything other than a comment follows on the same line with THEN, BASIC thinks it's reading a single-line IF/THEN/ELSE construct. IF blocks may be nested. Example: x=1 IF x=1 THEN PRINT "true" ELSE PRINT "false" ENDIF ' Alternate syntax: x=1 IF x=1 PRINT "true" ELSE PRINT "false" FI ____________________________ IF expression THEN [num-label]|[command][ELSE [num-label]|[command]] Single-line IF. Causes BASIC to make a decision based on the value of an expression. expression - An expression; 0 is equivalent to FALSE, while all other values are equivalent to TRUE. command - Any legal command or a numeric label. If a number is specified, it is equivalent to a GOTO command with the specified numeric-label. Example: x=1 IF x=1 THEN PRINT "true" ELSE PRINT "false" ... IF x=1 THEN 1000 ... 1000 PRINT "true" ____________________________ IF(expression,true-value,false-value) Returns a value based on the value of an expression. Example: x=0 PRINT IF(x<>0,"true","false"): REM prints false ____________________________ STOP [error] or END [error] Terminates execution of a program, closes all files opened by the program, and returns control to the operating system. error - A numeric expression. The 'error' is the value which will returned to operating system; if its not specified the BASIC will return 0. Note: The 'error' value is very well known as ERRORLEVEL value on DOS/Windows systems ____________________________ RESTORE label Specifies the position of the next data to be read. label - A valid label. ____________________________ READ var[, var ...] Assigns values in DATA items to specified variables. var - Any variable. Unless a RESTORE command is executed, BASIC moves to the next DATA item with each READ assignment. If BASIC runs out of DATA items to READ, an run-time error occurs. Example: FOR c=1 TO 6 READ x PRINT x NEXT DATA "a,b,c", 2 DATA 3, 4 DATA "fifth", 6 ____________________________ DATA constant1 [,constant2]... Stores one or more constants, of any type, for subsequent access via READ command. DATA commands are nonexecutable statements that supply a stream of data constants for use by READ commands. All the items supplied by all the DATA commands in a program make up one continuous "string" of information that is accessed in order by your program's READ commands. Example: RESTORE MyDataBlock FOR I=1 TO 3 READ v PRINT v NEXT END LABEL MyDataBlock DATA 1,2,3 ____________________________ ERASE var[, var[,... var]] var - Any variable. Deallocates the memory used by the specified arrays or variables. After that these variables turned to simple integers with zero value. Example: DIM x(100) ... PRINT FRE(0) ERASE x PRINT FRE(0) PRINT x(1):REM ERROR ____________________________ EXIT [FOR|LOOP|SUB|FUNC] Exits a multiline function definition, a loop, or a subprogram. By default (if no parameter is specified) exits from last command block (loop, for-loop or routine). FOR - Exit from the last FOR-NEXT loop LOOP - Exit from the last WHILE-WEND or REPEAT-UNTIL loop SUB - Return from the current routine FUNC - Return from the current function ____________________________ LEN(x) x - Any variable. If x is a string, returns the length of the string. If x is an array, returns the number of the elements. If x is an number, returns the length of the STR(x). ____________________________ EMPTY(x) x - Any variable. If x is a string, returns true if the len(x) is 0. If x is an integer or a real returns true if the x = 0. If x is an array, returns true if x is a zero-length array (array without elements). ____________________________ ISARRAY(x) x - Any variable. Returns true if the x is an array. ____________________________ ISNUMBER(x) x - Any variable. Returns true if the x is a number (or it can be converted to a number) Example: ? ISNUMBER(12):REM true ? ISNUMBER("12"):REM true ? ISNUMBER("12E+2"):REM true ? ISNUMBER("abc"):REM false ? ISNUMBER("1+2"):REM false ? ISNUMBER("int(2.4)"):REM false ____________________________ ISSTRING(x) x - Any variable. Returns true if the x is a string (and cannot be converted to a number) Example: ? ISSTRING(12):REM false ? ISSTRING("12"):REM false ? ISSTRING("12E+2"):REM false ? ISSTRING("abc"):REM true ? ISSTRING("1+2"):REM true ____________________________ APPEND A, val [, val [,...]] A - An array-variable. val - Any value or expression Inserts the values at the end of the specified array. ____________________________ INSERT A, idx, val [, val [,...]]] A - An array-variable. idx - Position in the array. val - Any value or expression. Inserts the values to the specified array at the position idx. ____________________________ DELETE A, idx [, count] A - An array-variable. idx - Position in the array. count - The number of the elements to be deleted. Deletes 'count' elements at position 'idx' of array A ____________________________ >> Console ____________________________ Supported console codes \t tab (32 pixels) \a beep \r\n new line (cr/lf) \xC clear screen \e[K clear to EOL \e[nG moves cursor to specified column \e[0m reset all attributes to their defaults \e[1m set bold on \e[4m set underline on \e[7m reverse video \e[21m set bold off \e[24m set underline off \e[27m set reverse off \e[3nm set foreground color. where n: 0 black 1 red 2 green 3 brown 4 blue 5 magenta 6 cyan 7 white \e[4nm set background color. (see set foreground) PalmOS only: \e[8nm (n=0..7) select system font \e[9nm (n=0..3) select buildin font ____________________________ PRINT [USING [format];][expr|str [{,|;}[expr|str]]... Displays a text or the value of an expression. PRINT SEPARATORS ____________________________ TAB(n) Moves cursor position to the nth column. SPC(n) Prints a number of spaces specified by n. ; Carriage return/line feed suppressed after printing. , Carriage return/line feed suppressed after printing. A TAB character is placed. The PRINT USING ____________________________ Print USING, is using the FORMAT() to display numbers and strings. Unlike the FORMAT, this one can include literals, too. _ Print next character as a literal. The combination _#, for example, allows you to include a number sign as a literal in your numeric format. [other] Characters other than the foregoing may be included as literals in the format string. Notes: * When a PRINT USING command is executed, the format will remains on the memory until a new format is passed. Calling a PRINT USING without a new format specified, the PRINT will use the format of previous call. Examples: PRINT USING "##:#,###,##0.00"; FOR i=0 TO 20 PRINT USING; i+1, A(i) NEXT PRINT USING "Total ###,##0 of \\"; number,"bytes" Notes: The symbol ? can be used instead of keyword PRINT ____________________________ CAT(x) Returns console codes 0 - reset 1 - bold on -1 - bold off 2 - underline on -2 - underline off 3 - reverse on -3 - reverse off PalmOS only: 80..87 - select system font 90..93 - select custom font Example: ? cat(1);"Bold";cat(0) ____________________________ INPUT [prompt {,|;}] var[, var [,...]] Reads from "keyboard" a text and store it to variable. ____________________________ LINE INPUT var or LINEINPUT var Reads a whole text line from console. ____________________________ INPUT(len[,fileN]) This function is similar to INPUT. This function is a low-level function. That means does not convert the data, and does not remove the spaces. ____________________________ INKEY This function returns the last key-code in keyboard buffer, or an empty string if there are no keys. Special key-codes like the function-keys (PC) or the hardare-buttons (PalmOS) are returned as 2-byte string. Example: k=INKEY IF LEN(k) IF LEN(k)=2 ?"H/W #"+ASC(RIGHT(k,1)) ELSE ? k;""; ASC(k) FI ELSE ?"keyboard buffer is empty" FI ____________________________ CLS Clears the screen. ____________________________ AT x,y (in pixels) Moves the console cursor to the specified position. x,y are in pixels ____________________________ LOCATE y,x Moves the console cursor to the specified position. x,y are in character cells. ____________________________ >> Graphics & Sound ____________________________ The SB's Graphics commands are working only with integers. (Of course, 2D algebra commands are working with reals) That is different of QB, but its much faster. The colors ____________________________ Color-mode Colors Monochrome 0 = black, 15 = white 2bit (4 colors) 0 = black, 15 = white, 1-6, 8 = dark-gray, 7, 9-14 = light-gray 4bit (16 colors) 16 Standard VGA colors 16 colors of gray (on PalmOS) 8bit (256 paletted colors) 16 Standard VGA colors The rest colors are ignored 15bit (32K colors), 16bit (64K colors) and 24bit (1.7M colors) color 0..15 is the standard VGA colors full 24-bit RGB colors can be passed by using negative number. The points ____________________________ Any point can be specified by an array of 2 elements or by 2 parameters Example: LINE x1, y1, x2, y2 or LINE [x1, y1],[x2, y2] Also, the polylines can work with the same way. DIM poly(10) ... poly[0]=[x, y] The STEP keyword ____________________________ The STEP keyword calculates the next x,y parameters relative to current position. That position can be returned by using the POINT(0) and POINT(1) functions. The 'aspect' parameter ____________________________ The x/y factor. The FILLED keyword ____________________________ The FILLED keyword fills the result of the command with the drawing color. ____________________________ ARC [STEP] x,y,r,astart,aend [,aspect [,color]][COLOR color] Draws an arc astart,aend = first,last angle in radians. ____________________________ CHART {LINECHART|BARCHART}, array()[,{0|1|2|3}[, x1, y1, x2, y2]] Draws a chart of array values in the rectangular area x1,y1,x2,y2 type: 0 = simple 1 = with marks 2 = with ruler 3 = with marks & ruler ____________________________ CIRCLE [STEP] x,y,r [,aspect [, color]][COLOR color][FILLED] x,y - the circle's center r - the radius Draws a circle (or an ellipse if the aspect is specified). ____________________________ COLOR foreground-color [, background-color] Specifies the foreground and background colors ____________________________ DRAWPOLY array [,x-origin,y-origin [, scalef [, color]]][COLOR color][FILLED] Draws a polyline even elements for x (starting from 0), odd elements for y ____________________________ DRAW string Draws an object according to instructions specified as a string. string - A string expression containing commands in the BASIC graphics definition language. Graphics Definition Language In the movement instructions below, n specifies a distance to move. The number of pixels moved is equal to n multiplied by the current scaling factor, which is set by the S command. Un Move up. Dn Move down. Ln Move left. Rn Move right. En Move diagonally up and right. Fn Move diagonally down and right. Gn Move diagonally down and left. Hn Move diagonally up and left. Mx,y Move to coordinate x,y. If x is preceded by a + or -, the movement is relative to the last point referenced. B A prefix command. Next movement command moves but doesn't plot. N A prefix command. Next movement command moves, but returns immediately to previous point. Notes: * This command it is had not tested, please report any bug or incompatibility. ____________________________ LINE [STEP] x,y [{,|STEP} x2,y2][, color | COLOR color] Draws a line ____________________________ PSET [STEP] x,y [, color | COLOR color] Draw a pixel ____________________________ RECT [STEP] x,y [{,|STEP} x2,y2][, color | COLOR color][FILLED] Draws a rectangular parallelogram ____________________________ TXTW(s), TXTH(s) or TEXTWIDTH(s), TEXTHEIGHT(s) Returns the text width or height of string s in pixels ____________________________ XPOS YPOS Returns the current position of the cursor in "characters". ____________________________ POINT(x[,y]) Returns the color of the pixel at x,y if y does not specified x contains the info-code 0 = returns the current X graphics position 1 = returns the current Y graphics position ____________________________ PAINT [STEP] x, y [,color [,border]] Fills an enclosed area on the graphics screen with a specific color. x,y - Screen coordinate (column, row) within the area that is to be filled. color - The fill-color border - The boundary-color if the border-color is specified then the PAINT will fill all the area which is specified by the border-color. (fill-until, color!=point(x,y) if the border-color is NOT specified then the PAINT will fill all the are with the same color as the pixel at x,y. (fill-while, color=point(x,y)) ____________________________ VIEW [x1,y1,x2,y2 [,color [,border-color]]] Defines a viewport. x1,y1,x2,y2 - Corner coordinates of the viewport. color - If included, BASIC fills the viewport with the specified color. border-color - If included, BASIC draws a border, in a specified color, around the defined viewport. The viewport defined by VIEW is disabled by a VIEW command with no parameters. ____________________________ WINDOW [x1,y1,x2,y2] Specifies "world" coordinates for the screen. x1,y1,x2,y2 The corner coordinates of the world space. The WINDOW command allows you to redefine the corners of the display screen as a pair of "world" coordinates. The world space defined by WINDOW is disabled by a WINDOW command with no parameters. ____________________________ RGB(r,g,b) RGBF(r,g,b) The RGB functions returns the RGB color codes for the specified values The RGB() takes values 0..255 for each of the color. The RGBF() takes values 0..1 for each of the color. The return value is a negative 24bit value to by used by drawing functions. ____________________________ BEEP Generates a beep sound ____________________________ PLAY string Play musical notes A-G[-|+|#][nnn][.] Play note A..G +|#- sharp -- flat .- multiplier 1.5 On - Octave 0..6 <- Moves down one octave >- Moves up one octave Nnn - Play note 0..84 (0 = pause) Pnnn - Pause 1..64 Lnnn - Length of note 1..64 (1/nnn) Tnnn - Tempo 32..255. Number of 1/4 notes per minute. MS - Staccato (1/2) MN - Normal (3/4) ML - Legato Vnnn - Volume 0..100 MF - Play on foreground MB - Play on background ____________________________ SOUND freq, dur_ms [, vol] Plays a sound freq - The frequency dur_ms - The duration in milliseconds vol - The volume in 1/100 units ____________________________ >> Mathematics ____________________________ All angles are in radians. ABS(x)- Absolute value of x COS(x)- Cosine of x SIN(x)- Sine of x TAN(x)- Tangent of x ACOS(x)- Arc cosine of x ASIN(x)- Arc sine of x ATN(x) or ATAN(x)- Arc tangent of x ATAN2(x,y)- Arc tangent of two variables Hyperbolic functions: COSH(x), SINH(x), TANH(x) ACOSH(x), ASINH(x), ATANH(x) EXP(x)- the value of e raised to the power of x LOG(x)- natural logarithm of x LOG10(x)- the base-10 logarithm of x POW(x,y)- x raised to power of y SQR(x)- square root of x INT(x)- rounds x downwards to the nearest integer FIX(x)- rounds x upwards to the nearest integer FLOOR(x)- largest integer value not greater than x CEIL(x)- smallest integral value not less than x FRAC(x)- fractional part of x ROUND(x[,decs])- rounds the x to the nearest integer or number with 'decs' decimal digits. SGN(x)- sign of x (+1 for positive,-1 for negative and 0 for zero) DEG(x)- radians to degrees RAD(x)- degrees to radians ____________________________ MAX(...), MIN(...) ABSMIN(...), ABSMAX(...) Maximum/Minimum value of parameters. Parameters can be anything (arrays, ints, reals, strings). ABSMIN/ABSMAX returns the absolute min/max value. Example: ? MAX(3,4,8) ? MIN(array(),2,3) ? MAX("abc","def") ____________________________ SUM(...)- Sum of value SUMSQ(...)- Sum of square value STATMEAN(...)- Arithmetical mean STATMEANDEV(...)- Mean deviation STATSPREADS(...)- Sample spread STATSPREADP(...)- Population spread Notes: Sample standard deviation: SQR(STATSPREADS(array)) Population standard deviation: SQR(STATSPREADP(array)) ____________________________ LINEQN(A, B [, toler]) Returns an array with the values of the unknowns. This function solves equations by using the Gauss-Jordan method. A = equations B = results toler = tolerance number (the absolute value of the lowest acceptable number) default = 0 = none |x|<= toler : x = 0 Note: The result is a matrix Nx1. For the SB that array is two-dimension array. ____________________________ INVERSE(A) returns the inverse matrix of A. ____________________________ DETERM(A[, toler]) Determinant of A toler = tolerance number (the absolute value of the lowest acceptable number) default = 0 = none |x|<= toler : x = 0 ____________________________ ROOT low, high, segs, maxerr, BYREF result, BYREF errcode USE expr ____________________________ DERIV x, maxtries, maxerr, BYREF result, BYREF errcode USE expr ____________________________ DIFFEQN x0, y0, xf, maxseg, maxerr, BYREF yf, BYREF er USE expr Runge-Kutta method ____________________________ >> 2D Algebra ____________________________ SEGCOS(Ax,Ay,Bx,By,Cx,Cy,Dx,Dy) SEGSIN(Ax,Ay,Bx,By,Cx,Cy,Dx,Dy) Sinus or cosine of 2 line segments (A->B, C->D). ____________________________ PTDISTSEG(Bx,By,Cx,Cy,Ax,Ay) Distance of point A from line segment B-C PTDISTLN(Bx,By,Cx,Cy,Ax,Ay) Distance of point A from line B, C ____________________________ PTSIGN(Ax,Ay,Bx,By,Qx,Qy) The sign of point Q from line segment A->B ____________________________ SEGLEN(Ax,Ay,Bx,By) Length of line segment ____________________________ POLYAREA(poly) Area of polyline ____________________________ POLYEXT poly(), BYREF xmin, BYREF ymin, BYREF xmax, BYREF ymax Returns the polyline's extents ____________________________ INTERSECT Ax, Ay, Bx, By, Cx, Cy, Dx, Dy, BYREF type, BYREF Rx, BYREF Ry Calculates the intersection of the two line segments A-B and C-D Returns: Rx,Ry = cross type = cross-type 0 = No cross (R = external cross) 1 = One cross 2 = Parallel 3 = Parallel (many crosses) 4 = The cross is one of the line segments edges. ____________________________ 2D: 3x3 Matrices M3IDENT BYREF m3x3 M3ROTATE BYREF m3x3, angle, x, y M3SCALE BYREF m3x3, x, y, fx, fy M3TRANS BYREF m3x3, x, y M3APPLY m3x3, BYREF poly Example: DIM poly(24) DIM M(2,2) ... M3IDENT M M3ROTATE M, pi/2, 0, 0 M3SCALE M, 0, 0, 1.24, 1.24 ' Draw the original polyline DRAWPOLY poly ' Draw the polyline ' rotated by pi/2 from 0,0 and scaled by 1.24 M3APPLY M, poly DRAWPOLY poly ____________________________ >> Strings ____________________________ LEN(s)- length of string SPC(n)/SPACE(n)- returns a string of 'n' spaces BIN(x)- binary string-value of x OCT(x)- octal string-value of x HEX(x)- hexadecimal string-value of x VAL(s)- numeric value of string s STR(x)- convert x to string ASC(s)- ASCII code of first character of s CHR(x)- returns one-char string of character with ASCII code x ____________________________ LOWER(s), UPPER(s) or LCASE(s), UCASE(s) Converts the string s to lower/upper case Example: ? LOWER("Hi"):REM hi ? UPPER("Hi"):REM HI ____________________________ LTRIM(s)- Removes leading white-spaces from string s RTRIM(s)- Removes /trailing white-spaces from string s TRIM(s)- Removes leading/trailing white-spaces from string s Example: ? LEN(LTRIM(" Hi")):REM 2 TRIM is equal to LTRIM(RTRIM(s)) ____________________________ SQUEEZE(s) Removes the leading/trailing and duplicated white-spaces Example: ?"["; SQUEEZE(" Hi there ");"]" Result: [Hi there] ____________________________ ENCLOSE(str[, pair]) Encloses a string. The default pair is "" Example: ? enclose("abc","()") Result: (abc) ____________________________ DISCLOSE(str[, pairs [, ignore-pairs]]) Discloses a string. Default pairs and ignore pairs First non white-space character Check Ignore -------------------------------------------- """'' '''"" (()""'' [[]""'' {{}""'' <<>""'' Otherwise: """'' Example: s ="abc (abc)" ? s; tab(26); disclose(s,"()") ' prints abc s ="abc (a(bc))" ? s; tab(26); disclose(s,"()"); tab(40); disclose(disclose(s,"()"),"()") ' prints a(bc), bc s ="abc (a='(bc)')" ? s; tab(26); disclose(s,"()","''"); tab(40);& disclose(disclose(s,"()","''"),"()","''") ' prints a='(bc)', nothing ____________________________ LEFT(s[,n]), RIGHT(s[,n]) Returns the n number of leftmost/rightmost chars of string s If n is not specified, the SB uses 1 ____________________________ LEFTOF(s1,s2), RIGHTOF(s1,s2) Returns the left/right part of s1 at the position of the first occurrence of the string s2 into string s1 Note: s2 does not included on new string. ____________________________ LEFTOFLAST(s1,s2), RIGHTOFLAST(s1,s2) Returns the left/right part of s1 at the position of the last occurrence of the string s2 into string s1 Note: s2 does not included on new string. ____________________________ MID(s, start [,length]) Returns the part (length) of the string s starting from 'start' position If the 'length' parameter is omitted, MID returns the whole string from the position 'start'. ____________________________ INSTR([start,] s1, s2) Returns the position of the first occurrence of the string s2 into string s1 (starting from the position 'start') If there is no match, INSTR returns 0 ____________________________ RINSTR([start,] s1, s2) Returns the position of the last occurrence of the string s2 into string s1 (starting from the position 'start') If there is no match, RINSTR returns 0 ____________________________ REPLACE(source, pos, str [, len]) Writes the 'str' into 'pos' of 'source' and returns the new string. This function replaces only 'len' characters. The default value of 'len' is the length of 'str'. Examples: s="123456" ' Cut ? replace(s,3,"",len(s)) ' Replace ? replace(s,2,"bcd") ' Insert ? replace(s,3,"cde",0) ' Replace & insert ? replace(s,2,"RRI",2) ____________________________ TRANSLATE(source, what [, with]) Translates all occurrences of the string 'what' found in the 'source' with the string 'with' and returns the new string. Example: ? Translate("Hello world","o","O") ' displays: HellO wOrld ____________________________ CHOP(source) Chops off the last character of the string 'source' and returns the result. ____________________________ STRING(len,{ascii|str}) Returns a string that is contains 'len' times of string 'str' or the character 'ascii'. ____________________________ FORMAT(format, val) Returns a formated string. Numbers: # Digit or space 0 Digit or zero ^ Stores a number in exponential format. Unlike QB's USING format this is a place-holder like the #. . The position of the decimal point. , Separator. - Stores minus if the number is negative. + Stores the sign of the number. Strings: & Stores a string expression without reformatting it. ! Stores only the first character of a string expression. \\ Stores only the first n + 2 characters of a string expression, where n is the number of spaces between the two backslashes. Unlike QB, there can be literals inside the \\. These literals are inserted in the final string. Example: ? FORMAT("#,##0", 1920.6): REM prints 1,921 ? FORMAT("\-\","abcde"): REM prints "abc-de" ____________________________ SPRINT var;[USING...;]... Create formated string and storing it to var The syntax is the same with the PRINT command. Example: SPRINT s; 12.34; TAB(12); 11.23; ____________________________ SINPUT src; var [, delim][,var [, delim]]... Splits the string 'src' into variables which are separated by delimiters. Example: SINPUT "if x>1 then y"; vif,"", vcond,"then", vdo ? vcond, vdo ' result in monitor ' x>1 y ____________________________ SPLIT string, delimiters, words()[, pairs][USE expr] Returns the words of the specified string into array 'words' Example: s="/etc/temp/filename.ext" SPLIT s,"/.", v() FOR i=0 TO UBOUND(v) PRINT i;"[";v(i);"]" NEXT displays: 0 [] 1 [etc] 2 [temp] 3 [filename] 4 [ext] ____________________________ JOIN words(), delimiters, string Returns the words of the specified string into array 'words' Example: s="/etc/temp/filename.ext" SPLIT s,"/.", v() JOIN v(),"/", s PRINT "[";s;"]" displays: [/etc/temp/filename/ext] ____________________________ >> File system ____________________________ Special file names: "COM1:[speed]"- Serial port 1 "COM2:[speed]"- Serial port 2 The same for COM3..COM9 "PDOC:filename" Compressed PDOC files for PalmOS or PDB/PDOC files on other systems. PDOCFS opens and uncompress the file on OPEN; and compress the file on CLOSE. So, it will use a lot of memory and time (its depended on size of the data). "MEMO:memo-title" MemoDB of PalmOS or regular file on other systems. Memo records (virtual files) are limited to 3935 bytes "SOCL:server:port" Socket client. Actually a telnet client. Example: OPEN "COM1:" AS #1 OPEN "COM2:38400" AS #2 ____________________________ FREEFILE Returns an unused file handle ____________________________ OPEN file [FOR {INPUT|OUTPUT|APPEND}] AS #fileN Makes a file or device available for sequential input, sequential output. file - A string expression that follows OS file naming conventions. fileN - A file-handle (integer 1 to 256). FOR - INPUT Sequential input OUTPUT Sequential output APPEND Sequential output, beginning at current EOF The files are always opened as shared. ____________________________ CLOSE #fileN Close a file or device ____________________________ TLOAD file, BYREF var [, type] Loads a text file into array variable. Each text-line is an array element. file - A string expression that follows OS file naming conventions. var - Any variable type - 0 = load into array (default) 1 = load into string ____________________________ TSAVE file, var Writes an array to a text file. Each array element is a text-line. file - A string expression that follows OS file naming conventions. var - An array variable or a string variable. Expressions are not allowed for memory reasons. ____________________________ EXIST(file) Returns true if the file exists file - A string expression that follows OS file naming conventions. ____________________________ ACCESS(file) Returns the access rights of the file. file - A string expression that follows OS file naming conventions. The return-value is the permissions of the file as them as specified on GNU's manual (chmod() and stat() system calls) The bits (in octal): 04000 set user ID on execution 02000 set group ID on execution 01000 sticky bit 00400 read by owner 00200 write by owner 00100 execute/search by owner 00040 read by group 00020 write by group 00010 execute/search by group 00004 read by others 00002 write by others 00001 execute/search by others Notes: * PalmOS: the return value is always 0777 * DOS: the return value is depended on DJGPP's stat() function Possible, Unix compatible. * Windows: the return value is depended on Cygnus's stat() function Possible, Unix compatible. Example: IF ACCESS("/bin/sh") AND 0o4 THEN PRINT "I can read it!" ENDIF See also: CHMOD ____________________________ ISFILE(file)- Returns true if the file is a regular file ISDIR(file)- Returns true if the filename is a directory ISLINK(file)- Returns true if the filename is a link file - A string expression that follows OS file naming conventions. ____________________________ CHMOD file, mode Change permissions of a file file - A string expression that follows OS file naming conventions. mode - The mode is compatible with the chmod()'s 'mode' parameter as its described on GNU's manual. See ACCESS() for more information. Examples: ' Make myfile available to anyone (read/write) CHMOD "myfile.bas",&o666 ' Make myfile available to anyone (execute/read/write) CHMOD "myfile.bas",&o777 ____________________________ EOF(fileN) Returns true if the file pointer is at end of the file. For COMx and SOCL VFS it returns true if the connection is broken. ____________________________ PRINT #fileN,[USING...]... Write string to a file The syntax is the same with the PRINT command. ____________________________ LINE INPUT [#fileN{,|;}] var or LINEINPUT [#fileN{,|;}] var Reads a whole text line from file or console. ____________________________ INPUT(len[,fileN]) Reads 'len' bytes from file or console (if fileN is omitted). ____________________________ BGETC(fileN) (Binary mode) Reads and returns a byte from file or device. ____________________________ INPUT #fileN; var1 [,delim][, var2 [,delim]]... Reads data from file ____________________________ BPUTC #fileN; byte (Binary mode) Writes a byte on file or device ____________________________ SEEK #fileN; pos Sets file position for the next read/write ____________________________ SEEK(fileN) Returns the current file position ____________________________ LOF(fileN) Returns the length of file in bytes For devices; returns the number of available data ____________________________ KILL "file" Deletes the specified file ____________________________ WRITE #fileN; var1 [,...] READ #fileN; var1 [,...] The READ/WRITE command set is used to store variables to a file as binary data. The common problem with INPUT/PRINT set is there are many conficts with datas. Example: PRINT #1;"Hello, world" You have wrote only one string and you want read it in one variable, but this is impossible for INPUT command to understand it, because INPUT finds the separator comma, so it thinks there are two variables not one. So, now, you can store arrays, strings etc and what is you write is what you will read the next time. BTW its faster too. Notes: * The parameters can be variables ONLY. * Its very bad idea to mixed READ/WRITE commands with INPUT/PRINT commands in the same file. ____________________________ COPY "file","newfile" Makes a copy of specified file to the 'newfile' ____________________________ RENAME "file","newfile" Renames the specified file ____________________________ MKDIR dir CHDIR dir RMDIR dir Notes: Non-PalmOS only. ____________________________ DIRWALK directory [, wildcards][USE ...] Walk through the directories. The user-defined function must returns zero to stop the process. Example: FUNC PRNF(x) ? x PRNF=TRUE END DIRWALK "." USE PRNF(x) Notes: * PalmOS: not supported ____________________________ FILES(wildcards) Returns an array with the filenames. If there is no files returns an empty array. Example: ? FILES("*") Notes: * For PalmOS returns only the user-files. * To use file on MEMO or PDOC or any other virtual file system you must use FILES("VFSx:*") Example: PRINT FILES("MEMO:*") ____________________________ >> System ____________________________ FRE(0|-1|-2|-3) Returns information about system memory 0 - free memory -1 - largest block of integers -2 - free stack -3 - largest free block Unix only: -10 - total RAM -11 - used -12 - free -13 - shared -14 - buffers -15 - cached ____________________________ TICKS() Returns the system-ticks. The tick value is depended on operating system. ____________________________ TICKSPERSEC() Returns the number of ticks per second ____________________________ TIMER Returns the number of seconds from midnight ____________________________ TIME Returns the current time as string "HH:MM:SS" ____________________________ DATE Returns the current day as string "DD/MM/YYYY" ____________________________ JULIAN(dmy |(d,m,y)) Returns the Julian date. (dates must be greater than 1/1/100 AD) Example: PRINT Julian(DATE) PRINT Julian(31, 12, 2001) ____________________________ DATEDMY dmy | julian_date, BYREF d, BYREF m, BYREF y Returns the day, month and the year as integers. ____________________________ WEEKDAY(dmy |(d,m,y)| julian_date) Returns the day of the week (0 = Sunday) Example: PRINT WeekDay(DATE) PRINT WeekDay(Julian(31, 12, 2001)) PRINT WeekDay(31, 12, 2001) ____________________________ DATEFMT(format, dmy |(d,m,y)| julian_date) Returns formated date string Format: D = one or two digits of Day DD = 2-digit day DDD = 3-char day name DDDD = full day name M = 1 or 2 digits of month MM = 2-digit month MMM = 3-char month name MMMM = full month name YY = 2-digit year (2K) YYYY = 4-digit year Example: PRINT DATEFMT("ddd dd, mm/yy","23/11/2001") REM prints "Fri 23, 11/01" ____________________________ DELAY ms Delay for a specified amount of milliseconds. ____________________________ SORT array [USE cmpfunc] Sorts an array. The cmpfunc (if its specified) it takes 2 vars to compare. cmpfunc must returns -1 if x < y +1 if x > y 0 if x = y Example: FUNC qscmp(x,y) IF x=y qscmp=0 ELIF x>y qscmp=1 ELSE qscmp=-1 ENDIF END DIM A(5) FOR i=0 TO 5 A(i)=RND NEXT SORT A USE qscmp(x,y) ____________________________ SEARCH A, key, BYREF ridx [USE cmpfunc] Scans an array for the key. If key is not found the SEARCH command returns (in ridx) the value (LBOUND(A)-1). In default-base arrays that means -1. The cmpfunc (if its specified) it takes 2 vars to compare. It must return 0 if x = y; non-zero if x <> y Example: FUNC cmp(x,y) cmp=!(x=y) END DIM A(5) FOR i=0 TO 5 A(i)=5-i NEXT SEARCH A, 4, r USE cmp(x,y) PRINT r:REM prints 1 PRINT A(r): REM prints 4 ____________________________ CHAIN file Transfers control to another SmallBASIC program. file - A string expression that follows OS file naming conventions; The file must be a SmallBASIC source code file. Example: CHAIN "PROG2.BAS" ____________________________ EXEC file Transfers control to another program This routine works like CHAIN with the execption the file can be any executable file. EXEC never returns ____________________________ ENVIRON "expr" or ENV "expr" Adds a variable to or deletes a variable from the current environment variable-table. expr - A string expression of the form "name=parameter" If name already exists in the environment table, its current setting is replaced with the new setting. If name does not exist, the new variable is added. ____________________________ ENVIRON("var") or ENV("var") Returns the value of a specified entry in the current environment table. var - A string expression of the form "var" ____________________________ RUN cmdstr Loads a secondary copy of system's shell and, executes an program, or an shell command. cmdstr - Shell's specific command string After the specified shell command or program terminates, control is returned to the line following the RUN command. Notes: * PalmOS: The 'cmdstr' is the Creator-ID * PalmOS: The RUN never returns ____________________________ RUN("command") RUN() is the function version of the RUN command. The differnce is that, the RUN() returns a string with the output of the 'command' as an array of strings (each text-line is one element). Notes: * PalmOS: The RUN() does not supported. * Windows: The stdout and stderr are separated! First is the stdout output and following the stderr. ____________________________ TRON/TROFF TRACE ON/OFF. When trace mechanism is ON, the SB displays each line number as the program is executed ____________________________ LOGPRINT ... PRINT to SB's logfile. The syntax is the same with the PRINT command. ____________________________ STKDUMP Displays the SB's internal executor's stack ____________________________ >> Miscellaneous ____________________________ RANDOMIZE [int] Seeds the random number generator ____________________________ RND Returns a random number from the range 0 to 1 ____________________________ LBOUND(array [, dim]) UBOUND(array [, dim]) Returns the lower/upper bound of the 'array' The parameter 'dim' is the array dimension whose bound is returned Example: DIM v1(-4 TO 7) DIM v2(1 TO 2, 3 TO 4) PRINT LBOUND(v1): REM -4 PRINT UBOUND(v1): REM 7 PRINT LBOUND(v2): REM 1 PRINT LBOUND(v2,2): REM 3 ____________________________ CINT(x)- convert x to 32b integer CREAL(x) or CDBL(x)- convert x to 64b real number ____________________________ PEN ON|OFF Enables/Disables the PEN/MOUSE mechanism. ____________________________ PEN(0..14) Returns the PEN/MOUSE data. Values: 0 - true (non zero) if there is a new pen or mouse event 1 - PEN: last pen-down x; MOUSE: last mouse button down x 2 - Same as 1 for y 3 - true if the PEN is down; mouse left-button is pressed 4 - PEN: last/current x, MOUSE: the current x position only if the left mouse button is pressed (like PEN is down) 5 - Same as PEN(4) for y Mouse buttons (non PalmOS): 10 - current mouse x pos. 11 - current mouse y pos. 12 - true if the left mouse button is pressed 13 - true if the right mouse button is pressed 14 - true if the middle mouse button is pressed ____________________________ PAUSE [secs] Pauses the execution for a specified length of time, or until user hit the keyboard. ____________________________ SWAP a, b Exchanges the values of two variables. The parameters may be variables of any type. ____________________________ 0.8.2