Home » Archimedes archive » Acorn User » AU 1995-11.adf » !Regulars » Regulars/StarInfo/Markwick/!Numbers/!RunImage

Regulars/StarInfo/Markwick/!Numbers/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1995-11.adf » !Regulars
Filename: Regulars/StarInfo/Markwick/!Numbers/!RunImage
Read OK:
File size: 3A92 bytes
Load address: 0000
Exec address: 0000
File contents
   10PROCW("Numbers",626,1037)
   20PROCV
   30PROCX
   40PROCY
   50PROCa
   60PROCF
   70END
   90DEFPROCV
  100interface%=TRUE
  110auto=1:autop=1:fact=1:status=0
  120DIMspr$(2)
  130spr$(0)="optoff":spr$(1)="opton"
  140ENDPROC
  160DEFPROCX
  170Info_Window%=FNA("Info")
  180Fact_Window%=FNA("Fact")
  190Array_Window%=FNA("Array")
  200Save_Window%=FNA("Save")
  210Power_Window%=FNA("Power")
  220Bar_Icon%=FNJ("!numbers")
  230PROCA(Array_Window%)
  240ENDPROC
  260DEFFNF(window%)
  270CASEwindow%OF
  280WHENSave_Window%:=TRUE
  290OTHERWISE=FALSE
  300ENDCASE
  320DEFFNO(window%)=sprites%
  340DEFPROCY
  350menu$="Numbers\Info>Info_Window%\Save Current>Save_Window%\Factorial...\Powers ...\Help ...\Open Dir\Quit"
  360Bar_Menu%=FNE(menu$)
  370PROCB(Bar_Menu%,2):PROCB(Bar_Menu%,3):PROCB(Bar_Menu%,4)
  380ENDPROC
  400DEFPROCG
  410no$=FNC(Array_Window%,1)
  420IFno$=""THEN
  430DIMX(1000)
  440ELSE
  450DIMX(VAL(no$))
  460ENDIF
  470PROCC(Bar_Menu%,3):PROCC(Bar_Menu%,4)
  480PROCD(Array_Window%)
  490status=1
  500ENDPROC
  520DEFFNN(window%)
  530CASEwindow%OF
  540WHENBar_Window%:=Bar_Menu%
  550WHENFact_Window%:=Bar_Menu%
  560WHENPower_Window%:=Bar_Menu%
  570OTHERWISE=FALSE
  580ENDCASE
  600DEFPROCZ(window%,buttons%)
  610ENDPROC
  630DEFPROCb(window%,x_origin%,y_origin%)
  640CASEwindow%OF
  650WHENInfo_Window%:PROCi
  660WHENFact_Window%:PROCk
  670ENDCASE
  680ENDPROC
  700DEFPROCi
  710ENDPROC
  730DEFPROCk
  740ENDPROC
  760DEFPROCP(window%,icon%,button%,x%,y%)
  770CASEwindow%OF
  780WHENBar_Window%:PROCQ
  790WHENInfo_Window%:PROCR(button%,icon%)
  800WHENFact_Window%:PROCS(button%,icon%)
  810WHENArray_Window%:PROCT(button%,icon%)
  820WHENPower_Window%:PROCU(button%,icon%)
  830ENDCASE
  840ENDPROC
  860DEFPROCQ
  870IFstatus=1THEN
  880CASEbutton%OF
  890WHEN1:PROCA(Power_Window%)
  900WHEN4:PROCA(Fact_Window%)
  910ENDCASE
  920ENDIF
  930ENDPROC
  950DEFPROCT(button%,icon%)
  960CASEicon%OF
  970WHEN2:PROCG
  980ENDCASE
  990ENDPROC
 1010DEFPROCR(button%,icon%)
 1020ENDPROC
 1040DEFPROCS(button%,icon%)
 1050CASEicon%OF
 1060WHEN2:PROCH
 1070WHEN3
 1080auto=1-auto
 1090PROCI(Fact_Window%,3,spr$(auto))
 1100ENDCASE
 1110ENDPROC
 1130DEFPROCU(button%,icon%)
 1140CASEicon%OF
 1150WHEN2:PROCJ
 1160WHEN3
 1170autop=1-autop
 1180PROCI(Power_Window%,3,spr$(autop))
 1190ENDCASE
 1200ENDPROC
 1220DEFPROCH
 1230A$=FNC(Fact_Window%,1)
 1240IFA$=""ENDPROC
 1250A=VAL(A$)
 1260SYS263872
 1270X()=0
 1280X(0)=1
 1290T=0:B=0:fact=1
 1300FORC=1TOA
 1310K=C
 1320FORE=0TOT
 1330X(E)=X(E)*K
 1340NEXT
 1350REPEAT
 1360O=T
 1370FORE=BTOT
 1380IFX(E)>9PROCK
 1390NEXT
 1400UNTILO>=T
 1410B=0:PERC=INT(100*(C/A))
 1420SYS263876,PERC
 1430NEXT
 1440IFauto=1THEN
 1450file$="<Numbers$Dir>.Numbers."+STR$(A)+"fact"
 1460PROCL(file$)
 1470PROCE(file$)
 1480ELSE
 1490PROCA(Save_Window%)
 1500ENDIF
 1510SYS263873
 1520PROCC(Bar_Menu%,2)
 1530ENDPROC
 1550DEFPROCJ
 1560A$=FNC(Power_Window%,1)
 1570B$=FNC(Power_Window%,7)
 1580IFA$=""ORB$=""ENDPROC
 1590A=VAL(A$):V=VAL(B$)
 1600SYS263872
 1610X()=0
 1620X(0)=1
 1630T=0:B=0:fact=0
 1640FORC=1TOA
 1650K=V
 1660FORE=0TOT
 1670X(E)=X(E)*K
 1680NEXT
 1690REPEAT
 1700O=T
 1710FORE=BTOT
 1720IFX(E)>9PROCK
 1730NEXT
 1740UNTILO>=T
 1750B=0:PERC=INT(100*(C/A))
 1760SYS263876,PERC
 1770NEXT
 1780IFautop=1THEN
 1790file$="<Numbers$Dir>.Numbers."+STR$(V)+"�"+STR$(A)
 1800PROCM(file$)
 1810PROCE(file$)
 1820ELSE
 1830PROCA(Save_Window%)
 1840ENDIF
 1850SYS263873
 1860PROCC(Bar_Menu%,2)
 1870ENDPROC
 1890DEFPROCK
 1900ONERRORLOCALPROCc("Numbers","Array not big enough!")
 1910H=INT(X(E)/10)
 1920IFH>(X(E)/10):H=H-1
 1930X(E+1)=X(E+1)+H
 1940X(E)=X(E)-(H*10)
 1950IF(E+1)>T T=E+1:B=T
 1960ENDPROC
 1980DEFPROCL(file$)
 1990file%=OPENOUT(file$)
 2000dig$="Number of digits: "+STR$(T+1)
 2010BPUT#file%,STR$(A)+"! = "
 2020FORE=TTO0STEP-1
 2030BPUT#file%,STR$(X(E));
 2040NEXT
 2050BPUT#file%,""
 2060BPUT#file%,dig$
 2070CLOSE#file%
 2080OSCLI"CLOSE"
 2090SYS8,18,file$,4095
 2100PROCD(Save_Window%)
 2110ENDPROC
 2130DEFPROCM(file$)
 2140file%=OPENOUT(file$)
 2150dig$="Number of digits: "+STR$(T+1)
 2160BPUT#file%,STR$(V)+"^"+STR$(A)+" ="
 2170FORE=TTO0STEP-1
 2180BPUT#file%,STR$(X(E));
 2190NEXT
 2200BPUT#file%,""
 2210BPUT#file%,dig$
 2220CLOSE#file%
 2230OSCLI"CLOSE"
 2240SYS8,18,file$,4095
 2250PROCD(Save_Window%)
 2260ENDPROC
 2280DEFPROCd(window%,icon%,key%)
 2290CASEwindow%OF
 2300WHENFact_Window%:IFicon%=1ANDkey%=13PROCH
 2310WHENArray_Window%:IFicon%=1ANDkey%=13PROCG
 2320WHENPower_Window%
 2330IFicon%=1ANDkey%=13PROCe(Power_Window%,7,0)
 2340IFicon%=7ANDkey%=13PROCJ
 2350ENDCASE
 2360ENDPROC
 2380DEFPROCf(menu%)
 2390CASEmenu%OF
 2400WHENBar_Menu%:PROCg
 2410ENDCASE
 2420ENDPROC
 2440DEFPROCg
 2450CASEFNH(0)OF
 2460WHEN1
 2470WHEN2
 2480WHEN3:PROCA(Fact_Window%)
 2490WHEN4:PROCA(Power_Window%)
 2500WHEN5:PROCE("<Numbers$Dir>.!Help")
 2510WHEN6:OSCLI"Filer_OpenDir <Numbers$Dir>.Numbers"
 2520WHEN7:finished%=TRUE
 2530ENDCASE
 2540ENDPROC
 2560DEFPROCh(file$,type$)
 2570ENDPROC
 2590DEFPROCN(file$,window%)
 2600IFwindow%=Save_Window%THEN
 2610CASEfactOF
 2620WHEN1:PROCL(file$)
 2630WHEN0:PROCM(file$)
 2640ENDCASE
 2650ENDIF
 2660ENDPROC
 3250DEFPROCj(title$,message$)
 3260PROCO(title$,message$,0)
 3270ENDPROC
 3290DEFPROCO(title$,message$,button%)
 3300LOCALresponse%
 3310$(wimp%+4)=message$
 3320CASEbutton%OF
 3330WHEN2:response%=1
 3340WHEN1:response%=15
 3350WHEN3:response%=(1<<5)+16
 3360WHEN4:response%=(1<<6)+16
 3370OTHERWISEresponse%=16
 3380ENDCASE
 3390SYS262367,wimp%,response%,title$TO,response%
 3400ENDPROC
 3420DEFFNU(title$,message$)
 3430$(wimp%+4)=message$
 3440response%=23
 3450SYS262367,wimp%,response%,title$TO,response%
 3460=response%-2
 3480DEFPROCc(title$,message$)
 3490PROCO(title$,message$,2)
 3500ENDPROC
 3520DEFFNP(window%)
 3530wimp%!0=window%
 3540SYS"Wimp_GetWindInfo",,wimp%
 3550IF((wimp%!60)AND256)=0ERROR1,"Title isn't indirected"
 3560=$(wimp%!76)
 3580DEFFNA(window$)
 3590=FNI(window$,"<Numbers$Dir>.Templates")
 3610DEFFNI(window$,template$)
 3620LOCALc%,i%,n%,j%,sp$,sp2$
 3630SYS262361,,template$
 3640SYS262363,,wimp%,icons%,icon_memory%,-1,window$,0TO,,icons%
 3650CASEsprites%OF
 3660WHEN1:wimp%!64=sprites%
 3670OTHERWISEwimp%!64=FNO(window%)
 3680ENDCASE
 3690SYS262337,,wimp%TOc%
 3700SYS262362
 3710SYS262358,c%,wimp%+40,1+2+(1<<8),2+(1<<8)
 3720CASEwimp%!40OF
 3730WHEN-1
 3740OTHERWISEi%=40
 3750REPEAT
 3760wimp%!4=wimp%!i%:wimp%!0=c%
 3770SYS262350,,wimp%
 3780sp$=FNB(wimp%!28)
 3790SYS262340,,wimp%
 3800CASEsprites%OF
 3810WHEN1:wimp%!32=1
 3820OTHERWISE
 3830SYS46,264,sprites%TO,,,n%
 3840j%=0
 3850REPEAT:j%+=1
 3860SYS46,269,sprites%,pointer_block%,20,j%
 3870sp2$=FNB(pointer_block%)
 3880UNTILj%=n%ORsp$=sp2$
 3890IFsp$=sp2$THENwimp%!32=sprites%ELSEwimp%!32=1
 3900ENDCASE
 3910wimp%!4=c%
 3920SYS262338,,wimp%+4TOhandle%
 3930i%+=4
 3940UNTIL(wimp%!i%)=-1
 3950ENDCASE
 3960=c%
 3980DEFPROCA(window%)
 3990!wimp%=window%
 4000SYS262347,,wimp%
 4010wimp%!28=-1
 4020SYS262341,,wimp%
 4030ENDPROC
 4050DEFPROCD(window%)
 4060!wimp%=window%
 4070SYS262342,,wimp%
 4080ENDPROC
 4100DEFPROCOA(window%)
 4110CASEwindow%OF
 4120WHEN-1:SYS262353,-1,0,0,2*1280,2*1024
 4130OTHERWISESYS262353,window%,0,-2*1024,2*1280,0
 4140ENDCASE
 4150ENDPROC
 4170DEFPROCGA(window%)
 4180!wimp%=window%
 4190SYS262347,,wimp%
 4200SYS262341,,wimp%
 4210ENDPROC
 4230PROCHA
 4240SYS530049,,wimp%
 4250ENDPROC
 4520DEFFNJ(Sprite$)
 4530LOCALicon%
 4540wimp%!0=-1
 4550wimp%!4=0:wimp%!8=0
 4560wimp%!12=68:wimp%!16=68
 4570wimp%!20=12290
 4580$(wimp%+24)=Sprite$
 4590SYS262338,,wimp%TOicon%
 4600=icon%
 4620DEFPROCe(window%,icon%,chars%)
 4630SYS262354,window%,icon%,,,-1,chars%
 4640ENDPROC
 4660DEFFNC(window%,icon%)
 4670wimp%!0=window%:wimp%!4=icon%
 4680SYS262350,,wimp%
 4690IF((wimp%!24)AND256)=0ERROR1,"Icon isn't indirected"
 4700=$(wimp%!28)
 4720DEFFNQ(window%,icon%)
 4730wimp%!0=window%:wimp%!4=icon%
 4740SYS262350,,wimp%
 4750IF((wimp%!24)AND256)=0ERROR1,"Icon isn't indirected"
 4760=$(wimp%!32)
 4780DEFPROCIA(window%,icon%)
 4790wimp%!0=window%:wimp%!4=icon%
 4800wimp%!8=1<<22:wimp%!12=1<<22
 4810SYS262349,,wimp%
 4820ENDPROC
 4840DEFPROCKA(window%,icon%)
 4850wimp%!0=window%:wimp%!4=icon%
 4860wimp%!8=0:wimp%!12=1<<22
 4870SYS262349,,wimp%
 4880ENDPROC
 4900DEFFNR(window%,icon%,sprite$)
 4910wimp%!0=window%:wimp%!4=icon%
 4920SYS262350,,wimp%
 4930SYS262340,,wimp%
 4940wimp%!4=wimp%!8:wimp%!8=wimp%!12:wimp%!12=wimp%!16
 4950wimp%!16=wimp%!20:wimp%!20=wimp%!24:$(wimp%+24)=sprite$
 4960SYS262338,,wimp%TOicon%
 4970=icon%
 4990DEFPROCI(window%,icon%,text$)
 5000wimp%!0=window%:wimp%!4=icon%
 5010SYS262350,,wimp%
 5020IF((wimp%!24)AND256)=0ERROR1,"Icon isn't indirected"
 5030$(wimp%!28)=text$
 5040wimp%!0=window%:wimp%!4=icon%
 5050wimp%!8=0:wimp%!12=0
 5060SYS262349,,wimp%
 5070ENDPROC
 5090DEFPROCLA
 5100SYS530048,,wimp%
 5110ENDPROC
 5130DEFPROCMA
 5140wimp%!8=0
 5150SYS530048,,wimp%
 5160ENDPROC
 5560DEFPROCNA(menu%)
 5570SYS262351,,pointer_block%
 5580IF((pointer_block%!8)AND1)=1THENSYS262356,,menu%,pointer_block%!0,pointer_block%!4
 5590ENDPROC
 5610DEFFNH(level%)
 5620=(wimp%!(4*level%))+1
 5640DEFFNE(menu$)
 5650IFmenu$="Colours"THEN=FNK
 5660LOCALmenu%,index%,width%,length%,k%,s%
 5670DIMmenu%28+FNL(menu$)*24
 5680menu%?12=7:menu%?13=2:menu%?14=7:menu%?15=0
 5690menu%!16=140:menu%!20=44:menu%!24=0
 5700index%=menu%+28
 5710$menu%=LEFT$(menu$,INSTR(menu$,"\")-1)
 5720width%=LEN(LEFT$(menu$,INSTR(menu$,"\")-1))
 5730menu$+="\":Menu_NoOfEntries%=0
 5740WHILEmenu$<>""
 5750menu$=MID$(menu$,INSTR(menu$,"\")+1)
 5760CASEmenu$OF
 5770WHEN""
 5780OTHERWISE
 5790!index%=0:index%!4=-1:index%!8=&7000021
 5800length%=INSTR(menu$,"\")-1
 5810k%=INSTR(LEFT$(menu$,length%),">")
 5820CASEk%OF
 5830WHEN0
 5840OTHERWISE
 5850s%=EVAL(MID$(menu$,k%+1,length%-k%))
 5860index%!4=s%
 5870length%=k%-1
 5880ENDCASE
 5890$(index%+12)=LEFT$(menu$,length%)
 5900IFlength%>width%THENwidth%=length%
 5910index%+=24
 5920ENDCASE
 5930ENDWHILE
 5940menu%!16=16*(width%+1)
 5950index%!-24=index%!-24OR128:=menu%
 5970DEFFNK
 5980=FNM(" ")
 6000DEFFNM(title$)
 6010LOCALx$,men%,j%,i%
 6020x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15"
 6030men%=FNE(x$)
 6040FORi%=0TO15
 6050CASETRUEOF
 6060WHENi%<4,i%=9,i%=12,i%=14,i%=15:j%=7
 6070OTHERWISEj%=0
 6080ENDCASE
 6090men%?(39+i%*24)=i%*16+j%
 6100PROCl(men%,i%+1)
 6110NEXT
 6120=men%
 6140DEFFNL(menu$)
 6150LOCALn%,j%:n%=0:j%=0
 6160REPEAT
 6170j%=INSTR(menu$,"\",j%+1)
 6180IFj%<>0THENn%+=1
 6190UNTILj%=0
 6200=n%
 6220DEFPROCPA(menu%,item%,colour%)
 6230LOCALfore%,i%
 6240fore%=(menu%?(39+(item%-1)*24))MOD16
 6250i%=((menu%?(39+(item%-1)*24))DIV16)MOD16
 6260menu%?(39+(item%-1)*24)=fore%+16*colour%+i%
 6270ENDPROC
 6290DEFPROCl(menu%,item%)
 6300menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<3)
 6310ENDPROC
 6330DEFPROCQA
 6340SYS262356,-1
 6350ENDPROC
 6370DEFPROCB(menu%,item%)
 6380menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR(1<<22)
 6390ENDPROC
 6410DEFPROCRA(menu%,item%)
 6420menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR2
 6430ENDPROC
 6450DEFPROCC(menu%,item%)
 6460PROCB(menu%,item%)
 6470menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)EOR(1<<22)
 6480ENDPROC
 6500DEFPROCSA(menu%,item%,colour%)
 6510menu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))DIV16)
 6520ENDPROC
 6540DEFPROCTA(menu1%,item%,menu2%)
 6550menu1%!(8+item%*24)=menu2%
 6560ENDPROC
 6580DEFPROCUA(menu%,item%,item$)
 6590$(menu%+(40+(item%-1)*24))=LEFT$(item$,12)+CHR$0
 6600ENDPROC
 6620DEFPROC_(menu%,item%)
 6630menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR(1<<3)
 6640ENDPROC
 6660DEFPROCAA(Menu%,x%,y%)
 6670menu%=Menu%
 6680SYS262356,,menu%,x%-64,y%+20
 6690ENDPROC
 6710DEFPROCBA(x%,y%)
 6720LOCALn%:n%=0
 6730WHILE((Bar_Menu%!(28+n%*24))AND128)=0
 6740n%+=1
 6750ENDWHILE
 6760SYS262356,,Bar_Menu%,x%-64,140+n%*44
 6770menu%=Bar_Menu%
 6780ENDPROC
 6800DEFPROCCA(menu%,item%)
 6810menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))EOR1
 6820ENDPROC
 6840DEFPROCDA(menu%,title$)
 6850$menu%=LEFT$(title$,12)+CHR$0
 6860ENDPROC
 6880DEFPROCEA(menu%,item%,buffer%,val%,BufferLength%)
 6890menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))OR4
 6900menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)OR256
 6910menu%!(40+(item%-1)*24)=buffer%
 6920menu%!(44+(item%-1)*24)=val%
 6930menu%!(48+(item%-1)*24)=BufferLength%
 6940ENDPROC
 7170DEFPROCFA
 7180PROCm("<Numbers$Dir>.Sprites")
 7190direct_sprites%=sprites%
 7200ENDPROC
 7220DEFPROCm(pathname$)
 7230LOCALS%,T%
 7240S%=OPENIN"<Numbers$Dir>.Sprites":T%=EXT#S%+16:CLOSE#S%
 7250DIMsprites%T%,spname%12
 7260!sprites%=T%:sprites%!8=0
 7270SYS46,265,sprites%
 7280SYS46,266,sprites%,pathname$
 7290ENDPROC
 7560DEFFNG(type%)
 7570CASEtype%OF
 7580WHEN4095:="Text"
 7590WHEN4093:="Data"
 7600WHEN4091:="Basic"
 7610WHEN4089:="Sprite"
 7620WHEN4077:="Palette"
 7630WHEN4076:="Template"
 7640WHEN2815:="Draw"
 7650WHEN4096:="Folder"
 7660WHEN8192:="Application"
 7670OTHERWISE=STR$~(type%)
 7680ENDCASE
 7700DEFFNS
 7710=FNB(wimp%+44)
 7730DEFFNT(pathname$)
 7740LOCALS%,T%,file%
 7750S%=OPENINpathname$
 7760T%=EXT#S%+16
 7770CLOSE#S%
 7780DIMfile%T%
 7790OSCLI("LOAD"+pathname$+""+STR$~file%)
 7800=file%
 7810;
 7820DEFFNB(array%)
 7830LOCALs$:s$=""
 7840WHILE(?array%<>13)AND(?array%<>0):s$+=CHR$(?array%):array%+=1:ENDWHILE
 7850=s$
 7870DEFFND(f$)
 7880CASEINSTR(f$,".")OF
 7890WHEN0:=f$
 7900OTHERWISE=FND(RIGHT$(f$,LEN(f$)-INSTR(f$,".")))
 7910ENDCASE
 7930DEFPROCE(file$)
 7940LOCALn%
 7950wimp%!4=&6CC01C0C
 7960wimp%!16=5
 7970wimp%!36=0
 7980wimp%!40=4095
 7990$(wimp%+44)=file$+CHR$0
 8000n%=LENfile$+45
 8010IFn%MOD4THEN!wimp%=4+(n%>>2)<<2ELSE!wimp%=n%
 8020SYS262375,17,wimp%,0
 8030ENDPROC
 8300DEFPROCW(TaskName$,wimp_memory%,icon%)
 8310DIMwimp%wimp_memory%,icons%icon%
 8320IFwimp_memory%<256THENwimp_memory%=256
 8330icon_memory%=icons%+icon%
 8340task$=TaskName$
 8350indirect_sprites%=1:direct_sprites%=1
 8360PROCn
 8370ONERRORPROCo:END
 8380SYS262336,200,&4B534154,TaskName$TOversion%,task%
 8390ENDPROC
 8410DEFFNV
 8420LOCALcom$,param$,I%
 8430SYS16TOcom$
 8440params$=""
 8450I%=INSTR(com$," -quit ")
 8460IFI%THENparams$=MID$(com$,INSTR(com$," ",I%+LEN" -quit ")+1)
 8470=params$
 8490DEFPROCn
 8500DIMpointer_block%20
 8510interface%=FALSE
 8520null%=1:draw%=2:pointer_leaving%=1<<4
 8530pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7
 8540key%=1<<8:menu%=1<<9:scroll%=1<<10
 8550lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18)
 8560recorder%=1<<18:acknowledge%=1<<19:window%=0
 8570sprites%=1:version%=0:task%=0
 8580Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0
 8590x_origin%=0:y_origin%=0:SaveWindow%=-3
 8600message_quit%=0:message_save%=2:message_load%=3
 8610mouse_button%=2:save_event%=0
 8620top_line%=0:bottom_line%=0
 8630ENDPROC
 8650DEFPROCo
 8660LOCALX$,x%
 8670ONERROROFF
 8680x%=ERL
 8690X$=REPORT$+"atline"+STR$(x%DIV10)
 8700DIMErrorMsg%36
 8710ErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=528512:ErrorMsg%!20=x%
 8720$(ErrorMsg%+24)="!RunImage"
 8730SYS262375,17,ErrorMsg%
 8740PROCj(task$,X$)
 8750PROCF
 8760ENDPROC
 8780DEFPROCF
 8790SYS262365,task%,"TASK"
 8800ENDPROC
 8820DEFPROCJA
 8830finished%=TRUE
 8840ENDPROC
 8860DEFFNW(Variable$)
 8870LOCALlen%,result%,variable%
 8880$wimp%=Variable$
 8890SYS35,wimp%,wimp%+255,255,,3TO,,len%
 8900wimp%?(len%+255)=13
 8910=$(wimp%+255)
 9040DEFPROCa
 9050LOCALmask%,event%
 9060finished%=FALSE
 9070mask%=3609
 9080REPEAT
 9090SYS262343,mask%,wimp%TOevent%
 9100CASEevent%OF
 9110WHEN0
 9120WHEN1:PROCp
 9130WHEN2:SYS262341,,wimp%
 9140WHEN3:PROCq
 9150WHEN4
 9160WHEN5
 9170WHEN6:PROCr
 9180WHEN7:PROCs
 9190WHEN8:PROCt
 9200WHEN9:PROCf(menu%)
 9210WHEN10
 9220WHEN11
 9230WHEN12
 9240WHEN17,18:PROCu
 9250WHEN19
 9260ENDCASE
 9270UNTILfinished%
 9280ENDPROC
 9300DEFPROCp
 9310LOCALmore%
 9320SYS262344,,wimp%TOmore%
 9330window%=wimp%!0
 9340x_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24
 9350WHILEmore%
 9360IFinterface%THENSYS530049,,wimp%
 9370PROCb(window%,x_origin%,y_origin%)
 9380SYS262346,,wimp%TOmore%
 9390ENDWHILE
 9400ENDPROC
 9420DEFPROCq
 9430SYS262351,,wimp%
 9440window%=wimp%!12:buttons%=wimp%!8
 9450PROCZ(window%,buttons%)
 9460!wimp%=window%:SYS262342,,wimp%
 9470ENDPROC
 9490DEFPROCr
 9500button%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
 9510CASEbutton%OF
 9520WHEN2:PROCv
 9530OTHERWISECASEFNF(window%)OF
 9540WHENTRUE:PROCw
 9550WHENFALSE:PROCx
 9560ENDCASE
 9570ENDCASE
 9580ENDPROC
 9600DEFPROCv
 9610menu%=FNN(window%)
 9620CASEmenu%OF
 9630WHENFALSE
 9640OTHERWISE
 9650CASEwindow%OF
 9660WHEN-2:n%=0
 9670WHILE((Bar_Menu%!(28+n%*24))AND128)=0
 9680n%+=1
 9690ENDWHILE
 9700SYS262356,,Bar_Menu%,x%-64,140+n%*44
 9710OTHERWISESYS262356,,menu%,x%-64,y%+20
 9720ENDCASE
 9730ENDCASE
 9740ENDPROC
 9760DEFPROCw
 9770CASEicon%OF
 9780WHEN0:IFbutton%AND80THENPROCy(window%)
 9790WHEN2:IFbutton%AND5THENPROCz(window%)
 9800ENDCASE
 9810ENDPROC
 9830DEFPROCx
 9840IFinterface%THENSYS530048,,wimp%
 9850PROCP(window%,icon%,button%,x%,y%)
 9860CASEinterface%OF
 9870WHENTRUE
 9880wimp%!0=x%:wimp%!4=y%:wimp%!8=0
 9890wimp%!12=window%:wimp%!16=icon%
 9900SYS530048,,wimp%
 9910ENDCASE
 9920ENDPROC
 9940DEFPROCz(window%)
 9950LOCALfile$
 9960wimp%!0=window%:wimp%!4=1:SYS262350,,wimp%
 9970file$=$(wimp%!28)
 9980CASEINSTR(file$,".")OF
 9990WHEN0
10000$(wimp%+4)="To save, drag the icon to a directory window"
10010SYS262367,wimp%,16,task$
10020OTHERWISE
10030PROCN(file$,window%)
10040ENDCASE
10050SYS262356,-1
10060ENDPROC
10080DEFPROCy(window%)
10090LOCALx%,y%
10100save%=window%
10110!wimp%=window%
10120SYS262347,,wimp%
10130x%=wimp%!4-wimp%!20:y%=wimp%!16-wimp%!24
10140wimp%!4=0
10150SYS262350,,wimp%
10160!wimp%=window%
10170wimp%!4=5
10180wimp%!8=x%+wimp%!8:wimp%!12=y%+wimp%!12
10190wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20
10200wimp%!24=0:wimp%!28=0
10210wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF
10220SYS262352,,wimp%
10230ENDPROC
10250DEFPROCt
10260window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24
10270CASEFNF(window%)OF
10280WHENTRUE:PROCVA(window%)
10290WHENFALSE:PROCd(window%,icon%,key%)
10300ENDCASE
10310ENDPROC
10330DEFPROCs
10340LOCALfile$,window%,icon%,x%,y%
10350SYS262351,,wimp%
10360window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
10370wimp%!0=save%:wimp%!4=1:SYS262350,,wimp%
10380file$=$(wimp%!28)
10390file$=FND(file$)
10400wimp%!20=window%
10410wimp%!24=icon%
10420wimp%!28=x%:wimp%!32=y%
10430wimp%!36=length%
10440wimp%!0=64
10450wimp%!12=0
10460wimp%!16=1
10470wimp%!40=4095
10480$(wimp%+44)=file$
10490SYS262375,17,wimp%,wimp%!20,wimp%!24
10500ENDPROC
10520DEFPROCu
10530LOCALfile$
10540file$=FNB(wimp%+44)
10550CASEwimp%!16OF
10560WHEN0:finished%=TRUE
10570WHEN1
10580WHEN2
10600wimp%!0=save%:wimp%!4=1:SYS262350,,wimp%
10610$(wimp%!28)=file$
10620wimp%!0=save%:wimp%!4=1:wimp%!8=0:wimp%!12=0
10630SYS262349,,wimp%
10650SYS262354,save%,1,,,-1,LENfile$
10660PROCN(file$,save%)
10670WHEN3
10680type$=FNG(wimp%!40):PROCh(file$,type$)
10690ENDCASE
10700ENDPROC
10720DEFFNB(array%)
10730LOCALs$:s$=""
10740WHILE(?array%<>13)AND(?array%<>0):s$+=CHR$(?array%):array%+=1:ENDWHILE
10750=s$
10770DEFFND(f$)
10780CASEINSTR(f$,".")OF
10790WHEN0:=f$
10800OTHERWISE=FND(RIGHT$(f$,LEN(f$)-INSTR(f$,".")))
10810ENDCASE
10830DEFFNG(type%)
10840CASEtype%OF
10850WHEN4095:="Text"
10860WHEN4093:="Data"
10870WHEN4091:="Basic"
10880WHEN4089:="Sprite"
10890WHEN4077:="Palette"
10900WHEN4076:="Template"
10910WHEN2815:="Draw"
10920WHEN4096:="Folder"
10930WHEN8192:="Application"
10940OTHERWISE=STR$~(type%)
10950ENDCASE

�W("Numbers",626,1037)
�V
�X
(�Y
2�a
<�F
F�
Z��V
dinterface%=�
n"auto=1:autop=1:fact=1:status=0
x�spr$(2)
�$spr$(0)="optoff":spr$(1)="opton"
��
���X
�Info_Window%=�A("Info")
�Fact_Window%=�A("Fact")
�Array_Window%=�A("Array")
�Save_Window%=�A("Save")
�Power_Window%=�A("Power")
�Bar_Icon%=�J("!numbers")
��A(Array_Window%)
��
ݤF(window%)
Ȏwindow%�
�Save_Window%:=�
"=�
,�
@ݤO(window%)=sprites%
T��Y
^nmenu$="Numbers\Info>Info_Window%\Save Current>Save_Window%\Factorial...\Powers ...\Help ...\Open Dir\Quit"
hBar_Menu%=�E(menu$)
r3�B(Bar_Menu%,2):�B(Bar_Menu%,3):�B(Bar_Menu%,4)
|�
���G
�no$=�C(Array_Window%,1)
��no$=""�
��X(1000)
��
��X(�(no$))
��
�#�C(Bar_Menu%,3):�C(Bar_Menu%,4)
��D(Array_Window%)
�status=1
��
ݤN(window%)
Ȏwindow%�
�Bar_Window%:=Bar_Menu%
&�Fact_Window%:=Bar_Menu%
0�Power_Window%:=Bar_Menu%
:=�
D�
X��Z(window%,buttons%)
b�
v$��b(window%,x_origin%,y_origin%)
�Ȏwindow%�
��Info_Window%:�i
��Fact_Window%:�k
��
��
���i
��
���k
��
�$��P(window%,icon%,button%,x%,y%)
Ȏwindow%�
�Bar_Window%:�Q
#�Info_Window%:�R(button%,icon%)
 #�Fact_Window%:�S(button%,icon%)
*$�Array_Window%:�T(button%,icon%)
4$�Power_Window%:�U(button%,icon%)
>�
H�
\��Q
f�status=1�
pȎbutton%�
z�1:�A(Power_Window%)
��4:�A(Fact_Window%)
��
��
��
���T(button%,icon%)
�Ȏicon%�
�	�2:�G
��
��
���R(button%,icon%)
��
��S(button%,icon%)
Ȏicon%�
$	�2:�H
.�3
8auto=1-auto
B!�I(Fact_Window%,3,spr$(auto))
L�
V�
j��U(button%,icon%)
tȎicon%�
~	�2:�J
��3
�autop=1-autop
�#�I(Power_Window%,3,spr$(autop))
��
��
���H
�A$=�C(Fact_Window%,1)
��A$=""�
�A=�(A$)
�ș263872
�	X()=0

X(0)=1

T=0:B=0:fact=1

�C=1�A
K=C
(
�E=0�T
2X(E)=X(E)*K
<�
F�
PO=T
Z
�E=B�T
d
�X(E)>9�K
n�
x	�O>=T
�B=0:PERC=�(100*(C/A))
�ș263876,PERC
��
��auto=1�
�.file$="<Numbers$Dir>.Numbers."+�(A)+"fact"
�
�L(file$)
�
�E(file$)
��
��A(Save_Window%)
��
�ș263873
��C(Bar_Menu%,2)
��
��J
A$=�C(Power_Window%,1)
"B$=�C(Power_Window%,7)
,�A$=""�B$=""�
6A=�(A$):V=�(B$)
@ș263872
J	X()=0
T
X(0)=1
^T=0:B=0:fact=0
h
�C=1�A
rK=V
|
�E=0�T
�X(E)=X(E)*K
��
��
�O=T
�
�E=B�T
�
�X(E)>9�K
��
�	�O>=T
�B=0:PERC=�(100*(C/A))
�ș263876,PERC
��
�
�autop=1�
�0file$="<Numbers$Dir>.Numbers."+�(V)+"�"+�(A)

�M(file$)

�E(file$)
�
&�A(Save_Window%)
0�
:ș263873
D�C(Bar_Menu%,2)
N�
b��K
l,���c("Numbers","Array not big enough!")
vH=�(X(E)/10)
��H>(X(E)/10):H=H-1
�X(E+1)=X(E+1)+H
�X(E)=X(E)-(H*10)
��(E+1)>T T=E+1:B=T
��
���L(file$)
�file%=�(file$)
�$dig$="Number of digits: "+�(T+1)
��#file%,�(A)+"! = "
�
�E=T�0�-1
��#file%,�(X(E));
��
�#file%,""
�#file%,dig$
�#file%
 �"CLOSE"
*ș8,18,file$,4095
4�D(Save_Window%)
>�
R��M(file$)
\file%=�(file$)
f$dig$="Number of digits: "+�(T+1)
p�#file%,�(V)+"^"+�(A)+" ="
z
�E=T�0�-1
��#file%,�(X(E));
��
��#file%,""
��#file%,dig$
��#file%
��"CLOSE"
�ș8,18,file$,4095
��D(Save_Window%)
��
���d(window%,icon%,key%)
�Ȏwindow%�
�$�Fact_Window%:�icon%=1�key%=13�H
	%�Array_Window%:�icon%=1�key%=13�G
	�Power_Window%
	)�icon%=1�key%=13�e(Power_Window%,7,0)
	$�icon%=7�key%=13�J
	.�
	8�
	L��f(menu%)
	VȎmenu%�
	`�Bar_Menu%:�g
	j�
	t�
	���g
	�Ȏ�H(0)�
	��1
	��2
	��3:�A(Fact_Window%)
	��4:�A(Power_Window%)
	� �5:�E("<Numbers$Dir>.!Help")
	�-�6:�"Filer_OpenDir <Numbers$Dir>.Numbers"
	��7:finished%=�
	��
	��
��h(file$,type$)

�
��N(file$,window%)
(�window%=Save_Window%�
2Ȏfact�
<�1:�L(file$)
F�0:�M(file$)
P�
Z�
d�
���j(title$,message$)
��O(title$,message$,0)
��
� ��O(title$,message$,button%)
��response%
�$(wimp%+4)=message$
�Ȏbutton%�

�2:response%=1

�1:response%=15

�3:response%=(1<<5)+16

 �4:response%=(1<<6)+16

*response%=16

4�

>.ș262367,wimp%,response%,title$�,response%

H�

\ݤU(title$,message$)

f$(wimp%+4)=message$

presponse%=23

z.ș262367,wimp%,response%,title$�,response%

�=response%-2

���c(title$,message$)

��O(title$,message$,2)

��

�ݤP(window%)

�wimp%!0=window%

�ș"Wimp_GetWindInfo",,wimp%

�2�((wimp%!60)�256)=0�1,"Title isn't indirected"

�=$(wimp%!76)

�ݤA(window$)
*=�I(window$,"<Numbers$Dir>.Templates")
ݤI(window$,template$)
$�c%,i%,n%,j%,sp$,sp2$
.ș262361,,template$
8=ș262363,,wimp%,icons%,icon_memory%,-1,window$,0�,,icons%
BȎsprites%�
L�1:wimp%!64=sprites%
Vwimp%!64=�O(window%)
`�
jș262337,,wimp%�c%
tș262362
~,ș262358,c%,wimp%+40,1+2+(1<<8),2+(1<<8)
�Ȏwimp%!40�
��-1
�
i%=40
��
�wimp%!4=wimp%!i%:wimp%!0=c%
�ș262350,,wimp%
�sp$=�B(wimp%!28)
�ș262340,,wimp%
�Ȏsprites%�
��1:wimp%!32=1
�
�ș46,264,sprites%�,,,n%
j%=0

�:j%+=1
*ș46,269,sprites%,pointer_block%,20,j%
sp2$=�B(pointer_block%)
(�j%=n%�sp$=sp2$
2*�sp$=sp2$�wimp%!32=sprites%�wimp%!32=1
<�
Fwimp%!4=c%
Pș262338,,wimp%+4�handle%
Z	i%+=4
d�(wimp%!i%)=-1
n�
x=c%
���A(window%)
�!wimp%=window%
�ș262347,,wimp%
�wimp%!28=-1
�ș262341,,wimp%
��
���D(window%)
�!wimp%=window%
�ș262342,,wimp%
��
��OA(window%)
Ȏwindow%�
%�-1:ș262353,-1,0,0,2*1280,2*1024
"(ș262353,window%,0,-2*1024,2*1280,0
,�
6�
J��GA(window%)
T!wimp%=window%
^ș262347,,wimp%
hș262341,,wimp%
r�
��HA
�ș530049,,wimp%
��
�ݤJ(Sprite$)
�
�icon%
�wimp%!0=-1
�wimp%!4=0:wimp%!8=0
�wimp%!12=68:wimp%!16=68
�wimp%!20=12290
�$(wimp%+24)=Sprite$
�ș262338,,wimp%�icon%
�
=icon%
��e(window%,icon%,chars%)
&ș262354,window%,icon%,,,-1,chars%
 �
4ݤC(window%,icon%)
>!wimp%!0=window%:wimp%!4=icon%
Hș262350,,wimp%
R1�((wimp%!24)�256)=0�1,"Icon isn't indirected"
\=$(wimp%!28)
pݤQ(window%,icon%)
z!wimp%!0=window%:wimp%!4=icon%
�ș262350,,wimp%
�1�((wimp%!24)�256)=0�1,"Icon isn't indirected"
�=$(wimp%!32)
���IA(window%,icon%)
�!wimp%!0=window%:wimp%!4=icon%
� wimp%!8=1<<22:wimp%!12=1<<22
�ș262349,,wimp%
��
���KA(window%,icon%)
�!wimp%!0=window%:wimp%!4=icon%
�wimp%!8=0:wimp%!12=1<<22
ș262349,,wimp%
�
$ݤR(window%,icon%,sprite$)
.!wimp%!0=window%:wimp%!4=icon%
8ș262350,,wimp%
Bș262340,,wimp%
L6wimp%!4=wimp%!8:wimp%!8=wimp%!12:wimp%!12=wimp%!16
V;wimp%!16=wimp%!20:wimp%!20=wimp%!24:$(wimp%+24)=sprite$
`ș262338,,wimp%�icon%
j
=icon%
~��I(window%,icon%,text$)
�!wimp%!0=window%:wimp%!4=icon%
�ș262350,,wimp%
�1�((wimp%!24)�256)=0�1,"Icon isn't indirected"
�$(wimp%!28)=text$
�!wimp%!0=window%:wimp%!4=icon%
�wimp%!8=0:wimp%!12=0
�ș262349,,wimp%
��
���LA
�ș530048,,wimp%
��

��MA

wimp%!8=0
ș530048,,wimp%
(�
���NA(menu%)
�ș262351,,pointer_block%
�O�((pointer_block%!8)�1)=1�ș262356,,menu%,pointer_block%!0,pointer_block%!4
��
�ݤH(level%)
�=(wimp%!(4*level%))+1
ݤE(menu$)
�menu$="Colours"�=�K
&�menu%,index%,width%,length%,k%,s%
&�menu%28+�L(menu$)*24
0/menu%?12=7:menu%?13=2:menu%?14=7:menu%?15=0
:'menu%!16=140:menu%!20=44:menu%!24=0
Dindex%=menu%+28
N $menu%=�menu$,�menu$,"\")-1)
X#width%=�(�menu$,�menu$,"\")-1))
b"menu$+="\":Menu_NoOfEntries%=0
lȕmenu$<>""
vmenu$=�menu$,�menu$,"\")+1)
�Ȏmenu$�
��""
�
�+!index%=0:index%!4=-1:index%!8=&7000021
�length%=�menu$,"\")-1
�k%=��menu$,length%),">")
�	Ȏk%�
��0
�
�!s%=�(�menu$,k%+1,length%-k%))
�index%!4=s%
�length%=k%-1
��
 $(index%+12)=�menu$,length%)
"�length%>width%�width%=length%
index%+=24
 �
*�
4menu%!16=16*(width%+1)
>$index%!-24=index%!-24�128:=menu%
RݤK
\=�M(" ")
pݤM(title$)
z�x$,men%,j%,i%
�6x$=title$+"\0\1\2\3\4\5\6\7\8\9\10\11\12\13\14\15"
�men%=�E(x$)
��i%=0�15
�Ȏ��
�%�i%<4,i%=9,i%=12,i%=14,i%=15:j%=7
�	j%=0
��
�men%?(39+i%*24)=i%*16+j%
��l(men%,i%+1)
��
�	=men%
�ݤL(menu$)
�n%,j%:n%=0:j%=0
�
j%=�menu$,"\",j%+1)
$�j%<>0�n%+=1
.	�j%=0
8=n%
L��PA(menu%,item%,colour%)
V
�fore%,i%
`&fore%=(menu%?(39+(item%-1)*24))�16
j(i%=((menu%?(39+(item%-1)*24))�16)�16
t/menu%?(39+(item%-1)*24)=fore%+16*colour%+i%
~�
���l(menu%,item%)
�:menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<3)
��
���QA
�ș262356,-1
��
���B(menu%,item%)
�;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<22)
��

��RA(menu%,item%)
7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�2
�
2��C(menu%,item%)
<�B(menu%,item%)
F;menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�(1<<22)
P�
d��SA(menu%,item%,colour%)
nEmenu%?(39+(item%-1)*24)=colour%+16*((menu%?(39+(item%-1)*24))�16)
x�
���TA(menu1%,item%,menu2%)
�menu1%!(8+item%*24)=menu2%
��
���UA(menu%,item%,item$)
�,$(menu%+(40+(item%-1)*24))=�item$,12)+�0
��
���_(menu%,item%)
�<menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�(1<<3)
��
��AA(Menu%,x%,y%)
menu%=Menu%
ș262356,,menu%,x%-64,y%+20
"�
6��BA(x%,y%)
@�n%:n%=0
J$ȕ((Bar_Menu%!(28+n%*24))�128)=0
T	n%+=1
^�
h'ș262356,,Bar_Menu%,x%-64,140+n%*44
rmenu%=Bar_Menu%
|�
���CA(menu%,item%)
�7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�1
��
���DA(menu%,title$)
�$menu%=�title$,12)+�0
��
�0��EA(menu%,item%,buffer%,val%,BufferLength%)
�7menu%!(28+(item%-1)*24)=(menu%!(28+(item%-1)*24))�4
�7menu%!(36+(item%-1)*24)=menu%!(36+(item%-1)*24)�256
�#menu%!(40+(item%-1)*24)=buffer%
 menu%!(44+(item%-1)*24)=val%
)menu%!(48+(item%-1)*24)=BufferLength%
�
��FA
�m("<Numbers$Dir>.Sprites")
direct_sprites%=sprites%
 �
4��m(pathname$)
>
�S%,T%
H/S%=�"<Numbers$Dir>.Sprites":T%=�#S%+16:�#S%
R�sprites%T%,spname%12
\!sprites%=T%:sprites%!8=0
fș46,265,sprites%
pș46,266,sprites%,pathname$
z�
�ݤG(type%)
�Ȏtype%�
��4095:="Text"
��4093:="Data"
��4091:="Basic"
��4089:="Sprite"
��4077:="Palette"
��4076:="Template"
��2815:="Draw"
��4096:="Folder"
��8192:="Application"
�=�~(type%)
�
ݤS
=�B(wimp%+44)
2ݤT(pathname$)
<�S%,T%,file%
FS%=�pathname$
PT%=�#S%+16
Z�#S%
d�file%T%
n"�("LOAD"+pathname$+""+�~file%)
x
=file%
�;
�ݤB(array%)
�
�s$:s$=""
�;ȕ(?array%<>13)�(?array%<>0):s$+=�(?array%):array%+=1:�
�=s$
�ݤD(f$)
�Ȏ�f$,".")�
�
�0:=f$
�=�D(�f$,�(f$)-�f$,".")))
��
���E(file$)
�n%
wimp%!4=&6CC01C0C
wimp%!16=5
"wimp%!36=0
,wimp%!40=4095
6$(wimp%+44)=file$+�0
@n%=�file$+45
J'�n%�4�!wimp%=4+(n%>>2)<<2�!wimp%=n%
Tș262375,17,wimp%,0
^�
 l%��W(TaskName$,wimp_memory%,icon%)
 v"�wimp%wimp_memory%,icons%icon%
 �&�wimp_memory%<256�wimp_memory%=256
 �icon_memory%=icons%+icon%
 �task$=TaskName$
 �)indirect_sprites%=1:direct_sprites%=1
 ��n
 �
��o:�
 �3ș262336,200,&4B534154,TaskName$�version%,task%
 ��
 �ݤV
 ��com$,param$,I%
 �
ș16�com$
 �params$=""
!I%=�com$," -quit ")
!1�I%�params$=�com$,�com$," ",I%+�" -quit ")+1)
!=params$
!*��n
!4�pointer_block%20
!>interface%=�
!H)null%=1:draw%=2:pointer_leaving%=1<<4
!R1pointer_entering%=1<<5:mouse%=1<<6:drag%=1<<7
!\&key%=1<<8:menu%=1<<9:scroll%=1<<10
!f@lose_caret%=1<<11:gain_caret%=1<<12:message%=(1<<17)+(1<<18)
!p0recorder%=1<<18:acknowledge%=1<<19:window%=0
!z!sprites%=1:version%=0:task%=0
!�*Bar_Window%=-2:Bar_Icon%=0:Bar_Menu%=0
!�*x_origin%=0:y_origin%=0:SaveWindow%=-3
!�3message_quit%=0:message_save%=2:message_load%=3
!�!mouse_button%=2:save_event%=0
!�top_line%=0:bottom_line%=0
!��
!���o
!�
�X$,x%
!�
!�x%=�
!�X$=�$+"atline"+�(x%�10)
!��ErrorMsg%36
"EErrorMsg%!0=36:ErrorMsg%!12=0:ErrorMsg%!16=528512:ErrorMsg%!20=x%
"$(ErrorMsg%+24)="!RunImage"
"ș262375,17,ErrorMsg%
"$�j(task$,X$)
".�F
"8�
"L��F
"Vș262365,task%,"TASK"
"`�
"t��JA
"~finished%=�
"��
"�ݤW(Variable$)
"��len%,result%,variable%
"�$wimp%=Variable$
"�&ș35,wimp%,wimp%+255,255,,3�,,len%
"�wimp%?(len%+255)=13
"�=$(wimp%+255)
#P��a
#Z�mask%,event%
#dfinished%=�
#nmask%=3609
#x�
#�ș262343,mask%,wimp%�event%
#�
Ȏevent%�
#��0
#�	�1:�p
#��2:ș262341,,wimp%
#�	�3:�q
#��4
#��5
#�	�6:�r
#�	�7:�s
#�	�8:�t
#��9:�f(menu%)
#��10
$�11
$�12
$
�17,18:�u
$"�19
$,�
$6�finished%
$@�
$T��p
$^
�more%
$hș262344,,wimp%�more%
$rwindow%=wimp%!0
$|Ax_origin%=16+wimp%!4-wimp%!20:y_origin%=-16+wimp%!16-wimp%!24
$�ȕmore%
$��interface%�ș530049,,wimp%
$�#�b(window%,x_origin%,y_origin%)
$�ș262346,,wimp%�more%
$��
$��
$���q
$�ș262351,,wimp%
$�%window%=wimp%!12:buttons%=wimp%!8
$��Z(window%,buttons%)
$�"!wimp%=window%:ș262342,,wimp%
$��
%��r
%Ibutton%=wimp%!8:window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
%&Ȏbutton%�
%0	�2:�v
%:Ȏ�F(window%)�
%D	ɹ:�w
%N	ɣ:�x
%X�
%b�
%l�
%���v
%�menu%=�N(window%)
%�Ȏmenu%�
%�ɣ
%�
%�Ȏwindow%�
%��-2:n%=0
%�$ȕ((Bar_Menu%!(28+n%*24))�128)=0
%�	n%+=1
%��
%�'ș262356,,Bar_Menu%,x%-64,140+n%*44
%� ș262356,,menu%,x%-64,y%+20
%��
&�
&�
& ��w
&*Ȏicon%�
&4�0:�button%�80��y(window%)
&>�2:�button%�5��z(window%)
&H�
&R�
&f��x
&p�interface%�ș530048,,wimp%
&z#�P(window%,icon%,button%,x%,y%)
&�Ȏinterface%�
&�ɹ
&�#wimp%!0=x%:wimp%!4=y%:wimp%!8=0
&�#wimp%!12=window%:wimp%!16=icon%
&�ș530048,,wimp%
&��
&��
&���z(window%)
&�
�file$
&�-wimp%!0=window%:wimp%!4=1:ș262350,,wimp%
&�file$=$(wimp%!28)
&�Ȏ�file$,".")�
'�0
'=$(wimp%+4)="To save, drag the icon to a directory window"
'ș262367,wimp%,16,task$
'$
'.�N(file$,window%)
'8�
'Bș262356,-1
'L�
'`��y(window%)
'j
�x%,y%
'tsave%=window%
'~!wimp%=window%
'�ș262347,,wimp%
'�,x%=wimp%!4-wimp%!20:y%=wimp%!16-wimp%!24
'�
wimp%!4=0
'�ș262350,,wimp%
'�!wimp%=window%
'�
wimp%!4=5
'�+wimp%!8=x%+wimp%!8:wimp%!12=y%+wimp%!12
'�-wimp%!16=x%+wimp%!16:wimp%!20=y%+wimp%!20
'�wimp%!24=0:wimp%!28=0
'�)wimp%!32=&7FFFFFFF:wimp%!36=&7FFFFFFF
'�ș262352,,wimp%
'��
(
��t
(/window%=wimp%!0:icon%=wimp%!4:key%=wimp%!24
(Ȏ�F(window%)�
((ɹ:�VA(window%)
(2ɣ:�d(window%,icon%,key%)
(<�
(F�
(Z��s
(d�file$,window%,icon%,x%,y%
(nș262351,,wimp%
(x9window%=wimp%!12:icon%=wimp%!16:x%=wimp%!0:y%=wimp%!4
(�+wimp%!0=save%:wimp%!4=1:ș262350,,wimp%
(�file$=$(wimp%!28)
(�file$=�D(file$)
(�wimp%!20=window%
(�wimp%!24=icon%
(�wimp%!28=x%:wimp%!32=y%
(�wimp%!36=length%
(�wimp%!0=64
(�wimp%!12=0
(�wimp%!16=1
(�wimp%!40=4095
(�$(wimp%+44)=file$
(�'ș262375,17,wimp%,wimp%!20,wimp%!24
)�
)��u
)"
�file$
),file$=�B(wimp%+44)
)6Ȏwimp%!16�
)@�0:finished%=�
)J�1
)T�2
)h+wimp%!0=save%:wimp%!4=1:ș262350,,wimp%
)r$(wimp%!28)=file$
)|0wimp%!0=save%:wimp%!4=1:wimp%!8=0:wimp%!12=0
)�ș262349,,wimp%
)� ș262354,save%,1,,,-1,�file$
)��N(file$,save%)
)��3
)�&type$=�G(wimp%!40):�h(file$,type$)
)��
)��
)�ݤB(array%)
)�
�s$:s$=""
)�;ȕ(?array%<>13)�(?array%<>0):s$+=�(?array%):array%+=1:�
)�=s$
*ݤD(f$)
*Ȏ�f$,".")�
*&
�0:=f$
*0=�D(�f$,�(f$)-�f$,".")))
*:�
*NݤG(type%)
*XȎtype%�
*b�4095:="Text"
*l�4093:="Data"
*v�4091:="Basic"
*��4089:="Sprite"
*��4077:="Palette"
*��4076:="Template"
*��2815:="Draw"
*��4096:="Folder"
*��8192:="Application"
*�=�~(type%)
*��
�
00000000  0d 00 0a 1a f2 57 28 22  4e 75 6d 62 65 72 73 22  |.....W("Numbers"|
00000010  2c 36 32 36 2c 31 30 33  37 29 0d 00 14 06 f2 56  |,626,1037).....V|
00000020  0d 00 1e 06 f2 58 0d 00  28 06 f2 59 0d 00 32 06  |.....X..(..Y..2.|
00000030  f2 61 0d 00 3c 06 f2 46  0d 00 46 05 e0 0d 00 5a  |.a..<..F..F....Z|
00000040  07 dd f2 56 0d 00 64 10  69 6e 74 65 72 66 61 63  |...V..d.interfac|
00000050  65 25 3d b9 0d 00 6e 22  61 75 74 6f 3d 31 3a 61  |e%=...n"auto=1:a|
00000060  75 74 6f 70 3d 31 3a 66  61 63 74 3d 31 3a 73 74  |utop=1:fact=1:st|
00000070  61 74 75 73 3d 30 0d 00  78 0c de 73 70 72 24 28  |atus=0..x..spr$(|
00000080  32 29 0d 00 82 24 73 70  72 24 28 30 29 3d 22 6f  |2)...$spr$(0)="o|
00000090  70 74 6f 66 66 22 3a 73  70 72 24 28 31 29 3d 22  |ptoff":spr$(1)="|
000000a0  6f 70 74 6f 6e 22 0d 00  8c 05 e1 0d 00 a0 07 dd  |opton"..........|
000000b0  f2 58 0d 00 aa 1b 49 6e  66 6f 5f 57 69 6e 64 6f  |.X....Info_Windo|
000000c0  77 25 3d a4 41 28 22 49  6e 66 6f 22 29 0d 00 b4  |w%=.A("Info")...|
000000d0  1b 46 61 63 74 5f 57 69  6e 64 6f 77 25 3d a4 41  |.Fact_Window%=.A|
000000e0  28 22 46 61 63 74 22 29  0d 00 be 1d 41 72 72 61  |("Fact")....Arra|
000000f0  79 5f 57 69 6e 64 6f 77  25 3d a4 41 28 22 41 72  |y_Window%=.A("Ar|
00000100  72 61 79 22 29 0d 00 c8  1b 53 61 76 65 5f 57 69  |ray")....Save_Wi|
00000110  6e 64 6f 77 25 3d a4 41  28 22 53 61 76 65 22 29  |ndow%=.A("Save")|
00000120  0d 00 d2 1d 50 6f 77 65  72 5f 57 69 6e 64 6f 77  |....Power_Window|
00000130  25 3d a4 41 28 22 50 6f  77 65 72 22 29 0d 00 dc  |%=.A("Power")...|
00000140  1c 42 61 72 5f 49 63 6f  6e 25 3d a4 4a 28 22 21  |.Bar_Icon%=.J("!|
00000150  6e 75 6d 62 65 72 73 22  29 0d 00 e6 15 f2 41 28  |numbers").....A(|
00000160  41 72 72 61 79 5f 57 69  6e 64 6f 77 25 29 0d 00  |Array_Window%)..|
00000170  f0 05 e1 0d 01 04 10 dd  a4 46 28 77 69 6e 64 6f  |.........F(windo|
00000180  77 25 29 0d 01 0e 0e c8  8e 77 69 6e 64 6f 77 25  |w%)......window%|
00000190  ca 0d 01 18 14 c9 53 61  76 65 5f 57 69 6e 64 6f  |......Save_Windo|
000001a0  77 25 3a 3d b9 0d 01 22  07 7f 3d a3 0d 01 2c 05  |w%:=..."..=...,.|
000001b0  cb 0d 01 40 19 dd a4 4f  28 77 69 6e 64 6f 77 25  |...@...O(window%|
000001c0  29 3d 73 70 72 69 74 65  73 25 0d 01 54 07 dd f2  |)=sprites%..T...|
000001d0  59 0d 01 5e 6e 6d 65 6e  75 24 3d 22 4e 75 6d 62  |Y..^nmenu$="Numb|
000001e0  65 72 73 5c 49 6e 66 6f  3e 49 6e 66 6f 5f 57 69  |ers\Info>Info_Wi|
000001f0  6e 64 6f 77 25 5c 53 61  76 65 20 43 75 72 72 65  |ndow%\Save Curre|
00000200  6e 74 3e 53 61 76 65 5f  57 69 6e 64 6f 77 25 5c  |nt>Save_Window%\|
00000210  46 61 63 74 6f 72 69 61  6c 2e 2e 2e 5c 50 6f 77  |Factorial...\Pow|
00000220  65 72 73 20 2e 2e 2e 5c  48 65 6c 70 20 2e 2e 2e  |ers ...\Help ...|
00000230  5c 4f 70 65 6e 20 44 69  72 5c 51 75 69 74 22 0d  |\Open Dir\Quit".|
00000240  01 68 17 42 61 72 5f 4d  65 6e 75 25 3d a4 45 28  |.h.Bar_Menu%=.E(|
00000250  6d 65 6e 75 24 29 0d 01  72 33 f2 42 28 42 61 72  |menu$)..r3.B(Bar|
00000260  5f 4d 65 6e 75 25 2c 32  29 3a f2 42 28 42 61 72  |_Menu%,2):.B(Bar|
00000270  5f 4d 65 6e 75 25 2c 33  29 3a f2 42 28 42 61 72  |_Menu%,3):.B(Bar|
00000280  5f 4d 65 6e 75 25 2c 34  29 0d 01 7c 05 e1 0d 01  |_Menu%,4)..|....|
00000290  90 07 dd f2 47 0d 01 9a  1b 6e 6f 24 3d a4 43 28  |....G....no$=.C(|
000002a0  41 72 72 61 79 5f 57 69  6e 64 6f 77 25 2c 31 29  |Array_Window%,1)|
000002b0  0d 01 a4 0c e7 6e 6f 24  3d 22 22 8c 0d 01 ae 0c  |.....no$="".....|
000002c0  de 58 28 31 30 30 30 29  0d 01 b8 05 cc 0d 01 c2  |.X(1000)........|
000002d0  0e de 58 28 bb 28 6e 6f  24 29 29 0d 01 cc 05 cd  |..X(.(no$)).....|
000002e0  0d 01 d6 23 f2 43 28 42  61 72 5f 4d 65 6e 75 25  |...#.C(Bar_Menu%|
000002f0  2c 33 29 3a f2 43 28 42  61 72 5f 4d 65 6e 75 25  |,3):.C(Bar_Menu%|
00000300  2c 34 29 0d 01 e0 15 f2  44 28 41 72 72 61 79 5f  |,4).....D(Array_|
00000310  57 69 6e 64 6f 77 25 29  0d 01 ea 0c 73 74 61 74  |Window%)....stat|
00000320  75 73 3d 31 0d 01 f4 05  e1 0d 02 08 10 dd a4 4e  |us=1...........N|
00000330  28 77 69 6e 64 6f 77 25  29 0d 02 12 0e c8 8e 77  |(window%)......w|
00000340  69 6e 64 6f 77 25 ca 0d  02 1c 1b c9 42 61 72 5f  |indow%......Bar_|
00000350  57 69 6e 64 6f 77 25 3a  3d 42 61 72 5f 4d 65 6e  |Window%:=Bar_Men|
00000360  75 25 0d 02 26 1c c9 46  61 63 74 5f 57 69 6e 64  |u%..&..Fact_Wind|
00000370  6f 77 25 3a 3d 42 61 72  5f 4d 65 6e 75 25 0d 02  |ow%:=Bar_Menu%..|
00000380  30 1d c9 50 6f 77 65 72  5f 57 69 6e 64 6f 77 25  |0..Power_Window%|
00000390  3a 3d 42 61 72 5f 4d 65  6e 75 25 0d 02 3a 07 7f  |:=Bar_Menu%..:..|
000003a0  3d a3 0d 02 44 05 cb 0d  02 58 19 dd f2 5a 28 77  |=...D....X...Z(w|
000003b0  69 6e 64 6f 77 25 2c 62  75 74 74 6f 6e 73 25 29  |indow%,buttons%)|
000003c0  0d 02 62 05 e1 0d 02 76  24 dd f2 62 28 77 69 6e  |..b....v$..b(win|
000003d0  64 6f 77 25 2c 78 5f 6f  72 69 67 69 6e 25 2c 79  |dow%,x_origin%,y|
000003e0  5f 6f 72 69 67 69 6e 25  29 0d 02 80 0e c8 8e 77  |_origin%)......w|
000003f0  69 6e 64 6f 77 25 ca 0d  02 8a 14 c9 49 6e 66 6f  |indow%......Info|
00000400  5f 57 69 6e 64 6f 77 25  3a f2 69 0d 02 94 14 c9  |_Window%:.i.....|
00000410  46 61 63 74 5f 57 69 6e  64 6f 77 25 3a f2 6b 0d  |Fact_Window%:.k.|
00000420  02 9e 05 cb 0d 02 a8 05  e1 0d 02 bc 07 dd f2 69  |...............i|
00000430  0d 02 c6 05 e1 0d 02 da  07 dd f2 6b 0d 02 e4 05  |...........k....|
00000440  e1 0d 02 f8 24 dd f2 50  28 77 69 6e 64 6f 77 25  |....$..P(window%|
00000450  2c 69 63 6f 6e 25 2c 62  75 74 74 6f 6e 25 2c 78  |,icon%,button%,x|
00000460  25 2c 79 25 29 0d 03 02  0e c8 8e 77 69 6e 64 6f  |%,y%)......windo|
00000470  77 25 ca 0d 03 0c 13 c9  42 61 72 5f 57 69 6e 64  |w%......Bar_Wind|
00000480  6f 77 25 3a f2 51 0d 03  16 23 c9 49 6e 66 6f 5f  |ow%:.Q...#.Info_|
00000490  57 69 6e 64 6f 77 25 3a  f2 52 28 62 75 74 74 6f  |Window%:.R(butto|
000004a0  6e 25 2c 69 63 6f 6e 25  29 0d 03 20 23 c9 46 61  |n%,icon%).. #.Fa|
000004b0  63 74 5f 57 69 6e 64 6f  77 25 3a f2 53 28 62 75  |ct_Window%:.S(bu|
000004c0  74 74 6f 6e 25 2c 69 63  6f 6e 25 29 0d 03 2a 24  |tton%,icon%)..*$|
000004d0  c9 41 72 72 61 79 5f 57  69 6e 64 6f 77 25 3a f2  |.Array_Window%:.|
000004e0  54 28 62 75 74 74 6f 6e  25 2c 69 63 6f 6e 25 29  |T(button%,icon%)|
000004f0  0d 03 34 24 c9 50 6f 77  65 72 5f 57 69 6e 64 6f  |..4$.Power_Windo|
00000500  77 25 3a f2 55 28 62 75  74 74 6f 6e 25 2c 69 63  |w%:.U(button%,ic|
00000510  6f 6e 25 29 0d 03 3e 05  cb 0d 03 48 05 e1 0d 03  |on%)..>....H....|
00000520  5c 07 dd f2 51 0d 03 66  0e e7 73 74 61 74 75 73  |\...Q..f..status|
00000530  3d 31 8c 0d 03 70 0e c8  8e 62 75 74 74 6f 6e 25  |=1...p...button%|
00000540  ca 0d 03 7a 18 c9 31 3a  f2 41 28 50 6f 77 65 72  |...z..1:.A(Power|
00000550  5f 57 69 6e 64 6f 77 25  29 0d 03 84 17 c9 34 3a  |_Window%).....4:|
00000560  f2 41 28 46 61 63 74 5f  57 69 6e 64 6f 77 25 29  |.A(Fact_Window%)|
00000570  0d 03 8e 05 cb 0d 03 98  05 cd 0d 03 a2 05 e1 0d  |................|
00000580  03 b6 16 dd f2 54 28 62  75 74 74 6f 6e 25 2c 69  |.....T(button%,i|
00000590  63 6f 6e 25 29 0d 03 c0  0c c8 8e 69 63 6f 6e 25  |con%)......icon%|
000005a0  ca 0d 03 ca 09 c9 32 3a  f2 47 0d 03 d4 05 cb 0d  |......2:.G......|
000005b0  03 de 05 e1 0d 03 f2 16  dd f2 52 28 62 75 74 74  |..........R(butt|
000005c0  6f 6e 25 2c 69 63 6f 6e  25 29 0d 03 fc 05 e1 0d  |on%,icon%)......|
000005d0  04 10 16 dd f2 53 28 62  75 74 74 6f 6e 25 2c 69  |.....S(button%,i|
000005e0  63 6f 6e 25 29 0d 04 1a  0c c8 8e 69 63 6f 6e 25  |con%)......icon%|
000005f0  ca 0d 04 24 09 c9 32 3a  f2 48 0d 04 2e 06 c9 33  |...$..2:.H.....3|
00000600  0d 04 38 0f 61 75 74 6f  3d 31 2d 61 75 74 6f 0d  |..8.auto=1-auto.|
00000610  04 42 21 f2 49 28 46 61  63 74 5f 57 69 6e 64 6f  |.B!.I(Fact_Windo|
00000620  77 25 2c 33 2c 73 70 72  24 28 61 75 74 6f 29 29  |w%,3,spr$(auto))|
00000630  0d 04 4c 05 cb 0d 04 56  05 e1 0d 04 6a 16 dd f2  |..L....V....j...|
00000640  55 28 62 75 74 74 6f 6e  25 2c 69 63 6f 6e 25 29  |U(button%,icon%)|
00000650  0d 04 74 0c c8 8e 69 63  6f 6e 25 ca 0d 04 7e 09  |..t...icon%...~.|
00000660  c9 32 3a f2 4a 0d 04 88  06 c9 33 0d 04 92 11 61  |.2:.J.....3....a|
00000670  75 74 6f 70 3d 31 2d 61  75 74 6f 70 0d 04 9c 23  |utop=1-autop...#|
00000680  f2 49 28 50 6f 77 65 72  5f 57 69 6e 64 6f 77 25  |.I(Power_Window%|
00000690  2c 33 2c 73 70 72 24 28  61 75 74 6f 70 29 29 0d  |,3,spr$(autop)).|
000006a0  04 a6 05 cb 0d 04 b0 05  e1 0d 04 c4 07 dd f2 48  |...............H|
000006b0  0d 04 ce 19 41 24 3d a4  43 28 46 61 63 74 5f 57  |....A$=.C(Fact_W|
000006c0  69 6e 64 6f 77 25 2c 31  29 0d 04 d8 0b e7 41 24  |indow%,1).....A$|
000006d0  3d 22 22 e1 0d 04 e2 0b  41 3d bb 28 41 24 29 0d  |="".....A=.(A$).|
000006e0  04 ec 0c c8 99 32 36 33  38 37 32 0d 04 f6 09 58  |.....263872....X|
000006f0  28 29 3d 30 0d 05 00 0a  58 28 30 29 3d 31 0d 05  |()=0....X(0)=1..|
00000700  0a 12 54 3d 30 3a 42 3d  30 3a 66 61 63 74 3d 31  |..T=0:B=0:fact=1|
00000710  0d 05 14 0a e3 43 3d 31  b8 41 0d 05 1e 07 4b 3d  |.....C=1.A....K=|
00000720  43 0d 05 28 0a e3 45 3d  30 b8 54 0d 05 32 0f 58  |C..(..E=0.T..2.X|
00000730  28 45 29 3d 58 28 45 29  2a 4b 0d 05 3c 05 ed 0d  |(E)=X(E)*K..<...|
00000740  05 46 05 f5 0d 05 50 07  4f 3d 54 0d 05 5a 0a e3  |.F....P.O=T..Z..|
00000750  45 3d 42 b8 54 0d 05 64  0d e7 58 28 45 29 3e 39  |E=B.T..d..X(E)>9|
00000760  f2 4b 0d 05 6e 05 ed 0d  05 78 09 fd 4f 3e 3d 54  |.K..n....x..O>=T|
00000770  0d 05 82 19 42 3d 30 3a  50 45 52 43 3d a8 28 31  |....B=0:PERC=.(1|
00000780  30 30 2a 28 43 2f 41 29  29 0d 05 8c 11 c8 99 32  |00*(C/A))......2|
00000790  36 33 38 37 36 2c 50 45  52 43 0d 05 96 05 ed 0d  |63876,PERC......|
000007a0  05 a0 0c e7 61 75 74 6f  3d 31 8c 0d 05 aa 2e 66  |....auto=1.....f|
000007b0  69 6c 65 24 3d 22 3c 4e  75 6d 62 65 72 73 24 44  |ile$="<Numbers$D|
000007c0  69 72 3e 2e 4e 75 6d 62  65 72 73 2e 22 2b c3 28  |ir>.Numbers."+.(|
000007d0  41 29 2b 22 66 61 63 74  22 0d 05 b4 0d f2 4c 28  |A)+"fact".....L(|
000007e0  66 69 6c 65 24 29 0d 05  be 0d f2 45 28 66 69 6c  |file$).....E(fil|
000007f0  65 24 29 0d 05 c8 05 cc  0d 05 d2 14 f2 41 28 53  |e$)..........A(S|
00000800  61 76 65 5f 57 69 6e 64  6f 77 25 29 0d 05 dc 05  |ave_Window%)....|
00000810  cd 0d 05 e6 0c c8 99 32  36 33 38 37 33 0d 05 f0  |.......263873...|
00000820  13 f2 43 28 42 61 72 5f  4d 65 6e 75 25 2c 32 29  |..C(Bar_Menu%,2)|
00000830  0d 05 fa 05 e1 0d 06 0e  07 dd f2 4a 0d 06 18 1a  |...........J....|
00000840  41 24 3d a4 43 28 50 6f  77 65 72 5f 57 69 6e 64  |A$=.C(Power_Wind|
00000850  6f 77 25 2c 31 29 0d 06  22 1a 42 24 3d a4 43 28  |ow%,1)..".B$=.C(|
00000860  50 6f 77 65 72 5f 57 69  6e 64 6f 77 25 2c 37 29  |Power_Window%,7)|
00000870  0d 06 2c 11 e7 41 24 3d  22 22 84 42 24 3d 22 22  |..,..A$="".B$=""|
00000880  e1 0d 06 36 13 41 3d bb  28 41 24 29 3a 56 3d bb  |...6.A=.(A$):V=.|
00000890  28 42 24 29 0d 06 40 0c  c8 99 32 36 33 38 37 32  |(B$)..@...263872|
000008a0  0d 06 4a 09 58 28 29 3d  30 0d 06 54 0a 58 28 30  |..J.X()=0..T.X(0|
000008b0  29 3d 31 0d 06 5e 12 54  3d 30 3a 42 3d 30 3a 66  |)=1..^.T=0:B=0:f|
000008c0  61 63 74 3d 30 0d 06 68  0a e3 43 3d 31 b8 41 0d  |act=0..h..C=1.A.|
000008d0  06 72 07 4b 3d 56 0d 06  7c 0a e3 45 3d 30 b8 54  |.r.K=V..|..E=0.T|
000008e0  0d 06 86 0f 58 28 45 29  3d 58 28 45 29 2a 4b 0d  |....X(E)=X(E)*K.|
000008f0  06 90 05 ed 0d 06 9a 05  f5 0d 06 a4 07 4f 3d 54  |.............O=T|
00000900  0d 06 ae 0a e3 45 3d 42  b8 54 0d 06 b8 0d e7 58  |.....E=B.T.....X|
00000910  28 45 29 3e 39 f2 4b 0d  06 c2 05 ed 0d 06 cc 09  |(E)>9.K.........|
00000920  fd 4f 3e 3d 54 0d 06 d6  19 42 3d 30 3a 50 45 52  |.O>=T....B=0:PER|
00000930  43 3d a8 28 31 30 30 2a  28 43 2f 41 29 29 0d 06  |C=.(100*(C/A))..|
00000940  e0 11 c8 99 32 36 33 38  37 36 2c 50 45 52 43 0d  |....263876,PERC.|
00000950  06 ea 05 ed 0d 06 f4 0d  e7 61 75 74 6f 70 3d 31  |.........autop=1|
00000960  8c 0d 06 fe 30 66 69 6c  65 24 3d 22 3c 4e 75 6d  |....0file$="<Num|
00000970  62 65 72 73 24 44 69 72  3e 2e 4e 75 6d 62 65 72  |bers$Dir>.Number|
00000980  73 2e 22 2b c3 28 56 29  2b 22 8b 22 2b c3 28 41  |s."+.(V)+"."+.(A|
00000990  29 0d 07 08 0d f2 4d 28  66 69 6c 65 24 29 0d 07  |).....M(file$)..|
000009a0  12 0d f2 45 28 66 69 6c  65 24 29 0d 07 1c 05 cc  |...E(file$).....|
000009b0  0d 07 26 14 f2 41 28 53  61 76 65 5f 57 69 6e 64  |..&..A(Save_Wind|
000009c0  6f 77 25 29 0d 07 30 05  cd 0d 07 3a 0c c8 99 32  |ow%)..0....:...2|
000009d0  36 33 38 37 33 0d 07 44  13 f2 43 28 42 61 72 5f  |63873..D..C(Bar_|
000009e0  4d 65 6e 75 25 2c 32 29  0d 07 4e 05 e1 0d 07 62  |Menu%,2)..N....b|
000009f0  07 dd f2 4b 0d 07 6c 2c  ee 85 ea f2 63 28 22 4e  |...K..l,....c("N|
00000a00  75 6d 62 65 72 73 22 2c  22 41 72 72 61 79 20 6e  |umbers","Array n|
00000a10  6f 74 20 62 69 67 20 65  6e 6f 75 67 68 21 22 29  |ot big enough!")|
00000a20  0d 07 76 10 48 3d a8 28  58 28 45 29 2f 31 30 29  |..v.H=.(X(E)/10)|
00000a30  0d 07 80 16 e7 48 3e 28  58 28 45 29 2f 31 30 29  |.....H>(X(E)/10)|
00000a40  3a 48 3d 48 2d 31 0d 07  8a 13 58 28 45 2b 31 29  |:H=H-1....X(E+1)|
00000a50  3d 58 28 45 2b 31 29 2b  48 0d 07 94 14 58 28 45  |=X(E+1)+H....X(E|
00000a60  29 3d 58 28 45 29 2d 28  48 2a 31 30 29 0d 07 9e  |)=X(E)-(H*10)...|
00000a70  16 e7 28 45 2b 31 29 3e  54 20 54 3d 45 2b 31 3a  |..(E+1)>T T=E+1:|
00000a80  42 3d 54 0d 07 a8 05 e1  0d 07 bc 0e dd f2 4c 28  |B=T...........L(|
00000a90  66 69 6c 65 24 29 0d 07  c6 12 66 69 6c 65 25 3d  |file$)....file%=|
00000aa0  ae 28 66 69 6c 65 24 29  0d 07 d0 24 64 69 67 24  |.(file$)...$dig$|
00000ab0  3d 22 4e 75 6d 62 65 72  20 6f 66 20 64 69 67 69  |="Number of digi|
00000ac0  74 73 3a 20 22 2b c3 28  54 2b 31 29 0d 07 da 17  |ts: "+.(T+1)....|
00000ad0  d5 23 66 69 6c 65 25 2c  c3 28 41 29 2b 22 21 20  |.#file%,.(A)+"! |
00000ae0  3d 20 22 0d 07 e4 0d e3  45 3d 54 b8 30 88 2d 31  |= ".....E=T.0.-1|
00000af0  0d 07 ee 14 d5 23 66 69  6c 65 25 2c c3 28 58 28  |.....#file%,.(X(|
00000b00  45 29 29 3b 0d 07 f8 05  ed 0d 08 02 0e d5 23 66  |E));..........#f|
00000b10  69 6c 65 25 2c 22 22 0d  08 0c 10 d5 23 66 69 6c  |ile%,"".....#fil|
00000b20  65 25 2c 64 69 67 24 0d  08 16 0b d9 23 66 69 6c  |e%,dig$.....#fil|
00000b30  65 25 0d 08 20 0c ff 22  43 4c 4f 53 45 22 0d 08  |e%.. .."CLOSE"..|
00000b40  2a 15 c8 99 38 2c 31 38  2c 66 69 6c 65 24 2c 34  |*...8,18,file$,4|
00000b50  30 39 35 0d 08 34 14 f2  44 28 53 61 76 65 5f 57  |095..4..D(Save_W|
00000b60  69 6e 64 6f 77 25 29 0d  08 3e 05 e1 0d 08 52 0e  |indow%)..>....R.|
00000b70  dd f2 4d 28 66 69 6c 65  24 29 0d 08 5c 12 66 69  |..M(file$)..\.fi|
00000b80  6c 65 25 3d ae 28 66 69  6c 65 24 29 0d 08 66 24  |le%=.(file$)..f$|
00000b90  64 69 67 24 3d 22 4e 75  6d 62 65 72 20 6f 66 20  |dig$="Number of |
00000ba0  64 69 67 69 74 73 3a 20  22 2b c3 28 54 2b 31 29  |digits: "+.(T+1)|
00000bb0  0d 08 70 1e d5 23 66 69  6c 65 25 2c c3 28 56 29  |..p..#file%,.(V)|
00000bc0  2b 22 5e 22 2b c3 28 41  29 2b 22 20 3d 22 0d 08  |+"^"+.(A)+" ="..|
00000bd0  7a 0d e3 45 3d 54 b8 30  88 2d 31 0d 08 84 14 d5  |z..E=T.0.-1.....|
00000be0  23 66 69 6c 65 25 2c c3  28 58 28 45 29 29 3b 0d  |#file%,.(X(E));.|
00000bf0  08 8e 05 ed 0d 08 98 0e  d5 23 66 69 6c 65 25 2c  |.........#file%,|
00000c00  22 22 0d 08 a2 10 d5 23  66 69 6c 65 25 2c 64 69  |"".....#file%,di|
00000c10  67 24 0d 08 ac 0b d9 23  66 69 6c 65 25 0d 08 b6  |g$.....#file%...|
00000c20  0c ff 22 43 4c 4f 53 45  22 0d 08 c0 15 c8 99 38  |.."CLOSE"......8|
00000c30  2c 31 38 2c 66 69 6c 65  24 2c 34 30 39 35 0d 08  |,18,file$,4095..|
00000c40  ca 14 f2 44 28 53 61 76  65 5f 57 69 6e 64 6f 77  |...D(Save_Window|
00000c50  25 29 0d 08 d4 05 e1 0d  08 e8 1b dd f2 64 28 77  |%)...........d(w|
00000c60  69 6e 64 6f 77 25 2c 69  63 6f 6e 25 2c 6b 65 79  |indow%,icon%,key|
00000c70  25 29 0d 08 f2 0e c8 8e  77 69 6e 64 6f 77 25 ca  |%)......window%.|
00000c80  0d 08 fc 24 c9 46 61 63  74 5f 57 69 6e 64 6f 77  |...$.Fact_Window|
00000c90  25 3a e7 69 63 6f 6e 25  3d 31 80 6b 65 79 25 3d  |%:.icon%=1.key%=|
00000ca0  31 33 f2 48 0d 09 06 25  c9 41 72 72 61 79 5f 57  |13.H...%.Array_W|
00000cb0  69 6e 64 6f 77 25 3a e7  69 63 6f 6e 25 3d 31 80  |indow%:.icon%=1.|
00000cc0  6b 65 79 25 3d 31 33 f2  47 0d 09 10 12 c9 50 6f  |key%=13.G.....Po|
00000cd0  77 65 72 5f 57 69 6e 64  6f 77 25 0d 09 1a 29 e7  |wer_Window%...).|
00000ce0  69 63 6f 6e 25 3d 31 80  6b 65 79 25 3d 31 33 f2  |icon%=1.key%=13.|
00000cf0  65 28 50 6f 77 65 72 5f  57 69 6e 64 6f 77 25 2c  |e(Power_Window%,|
00000d00  37 2c 30 29 0d 09 24 16  e7 69 63 6f 6e 25 3d 37  |7,0)..$..icon%=7|
00000d10  80 6b 65 79 25 3d 31 33  f2 4a 0d 09 2e 05 cb 0d  |.key%=13.J......|
00000d20  09 38 05 e1 0d 09 4c 0e  dd f2 66 28 6d 65 6e 75  |.8....L...f(menu|
00000d30  25 29 0d 09 56 0c c8 8e  6d 65 6e 75 25 ca 0d 09  |%)..V...menu%...|
00000d40  60 11 c9 42 61 72 5f 4d  65 6e 75 25 3a f2 67 0d  |`..Bar_Menu%:.g.|
00000d50  09 6a 05 cb 0d 09 74 05  e1 0d 09 88 07 dd f2 67  |.j....t........g|
00000d60  0d 09 92 0c c8 8e a4 48  28 30 29 ca 0d 09 9c 06  |.......H(0).....|
00000d70  c9 31 0d 09 a6 06 c9 32  0d 09 b0 17 c9 33 3a f2  |.1.....2.....3:.|
00000d80  41 28 46 61 63 74 5f 57  69 6e 64 6f 77 25 29 0d  |A(Fact_Window%).|
00000d90  09 ba 18 c9 34 3a f2 41  28 50 6f 77 65 72 5f 57  |....4:.A(Power_W|
00000da0  69 6e 64 6f 77 25 29 0d  09 c4 20 c9 35 3a f2 45  |indow%)... .5:.E|
00000db0  28 22 3c 4e 75 6d 62 65  72 73 24 44 69 72 3e 2e  |("<Numbers$Dir>.|
00000dc0  21 48 65 6c 70 22 29 0d  09 ce 2d c9 36 3a ff 22  |!Help")...-.6:."|
00000dd0  46 69 6c 65 72 5f 4f 70  65 6e 44 69 72 20 3c 4e  |Filer_OpenDir <N|
00000de0  75 6d 62 65 72 73 24 44  69 72 3e 2e 4e 75 6d 62  |umbers$Dir>.Numb|
00000df0  65 72 73 22 0d 09 d8 12  c9 37 3a 66 69 6e 69 73  |ers".....7:finis|
00000e00  68 65 64 25 3d b9 0d 09  e2 05 cb 0d 09 ec 05 e1  |hed%=...........|
00000e10  0d 0a 00 14 dd f2 68 28  66 69 6c 65 24 2c 74 79  |......h(file$,ty|
00000e20  70 65 24 29 0d 0a 0a 05  e1 0d 0a 1e 16 dd f2 4e  |pe$)...........N|
00000e30  28 66 69 6c 65 24 2c 77  69 6e 64 6f 77 25 29 0d  |(file$,window%).|
00000e40  0a 28 1a e7 77 69 6e 64  6f 77 25 3d 53 61 76 65  |.(..window%=Save|
00000e50  5f 57 69 6e 64 6f 77 25  8c 0d 0a 32 0b c8 8e 66  |_Window%...2...f|
00000e60  61 63 74 ca 0d 0a 3c 10  c9 31 3a f2 4c 28 66 69  |act...<..1:.L(fi|
00000e70  6c 65 24 29 0d 0a 46 10  c9 30 3a f2 4d 28 66 69  |le$)..F..0:.M(fi|
00000e80  6c 65 24 29 0d 0a 50 05  cb 0d 0a 5a 05 cd 0d 0a  |le$)..P....Z....|
00000e90  64 05 e1 0d 0c b2 18 dd  f2 6a 28 74 69 74 6c 65  |d........j(title|
00000ea0  24 2c 6d 65 73 73 61 67  65 24 29 0d 0c bc 19 f2  |$,message$).....|
00000eb0  4f 28 74 69 74 6c 65 24  2c 6d 65 73 73 61 67 65  |O(title$,message|
00000ec0  24 2c 30 29 0d 0c c6 05  e1 0d 0c da 20 dd f2 4f  |$,0)........ ..O|
00000ed0  28 74 69 74 6c 65 24 2c  6d 65 73 73 61 67 65 24  |(title$,message$|
00000ee0  2c 62 75 74 74 6f 6e 25  29 0d 0c e4 0e ea 72 65  |,button%).....re|
00000ef0  73 70 6f 6e 73 65 25 0d  0c ee 17 24 28 77 69 6d  |sponse%....$(wim|
00000f00  70 25 2b 34 29 3d 6d 65  73 73 61 67 65 24 0d 0c  |p%+4)=message$..|
00000f10  f8 0e c8 8e 62 75 74 74  6f 6e 25 ca 0d 0d 02 12  |....button%.....|
00000f20  c9 32 3a 72 65 73 70 6f  6e 73 65 25 3d 31 0d 0d  |.2:response%=1..|
00000f30  0c 13 c9 31 3a 72 65 73  70 6f 6e 73 65 25 3d 31  |...1:response%=1|
00000f40  35 0d 0d 16 1a c9 33 3a  72 65 73 70 6f 6e 73 65  |5.....3:response|
00000f50  25 3d 28 31 3c 3c 35 29  2b 31 36 0d 0d 20 1a c9  |%=(1<<5)+16.. ..|
00000f60  34 3a 72 65 73 70 6f 6e  73 65 25 3d 28 31 3c 3c  |4:response%=(1<<|
00000f70  36 29 2b 31 36 0d 0d 2a  11 7f 72 65 73 70 6f 6e  |6)+16..*..respon|
00000f80  73 65 25 3d 31 36 0d 0d  34 05 cb 0d 0d 3e 2e c8  |se%=16..4....>..|
00000f90  99 32 36 32 33 36 37 2c  77 69 6d 70 25 2c 72 65  |.262367,wimp%,re|
00000fa0  73 70 6f 6e 73 65 25 2c  74 69 74 6c 65 24 b8 2c  |sponse%,title$.,|
00000fb0  72 65 73 70 6f 6e 73 65  25 0d 0d 48 05 e1 0d 0d  |response%..H....|
00000fc0  5c 18 dd a4 55 28 74 69  74 6c 65 24 2c 6d 65 73  |\...U(title$,mes|
00000fd0  73 61 67 65 24 29 0d 0d  66 17 24 28 77 69 6d 70  |sage$)..f.$(wimp|
00000fe0  25 2b 34 29 3d 6d 65 73  73 61 67 65 24 0d 0d 70  |%+4)=message$..p|
00000ff0  10 72 65 73 70 6f 6e 73  65 25 3d 32 33 0d 0d 7a  |.response%=23..z|
00001000  2e c8 99 32 36 32 33 36  37 2c 77 69 6d 70 25 2c  |...262367,wimp%,|
00001010  72 65 73 70 6f 6e 73 65  25 2c 74 69 74 6c 65 24  |response%,title$|
00001020  b8 2c 72 65 73 70 6f 6e  73 65 25 0d 0d 84 10 3d  |.,response%....=|
00001030  72 65 73 70 6f 6e 73 65  25 2d 32 0d 0d 98 18 dd  |response%-2.....|
00001040  f2 63 28 74 69 74 6c 65  24 2c 6d 65 73 73 61 67  |.c(title$,messag|
00001050  65 24 29 0d 0d a2 19 f2  4f 28 74 69 74 6c 65 24  |e$).....O(title$|
00001060  2c 6d 65 73 73 61 67 65  24 2c 32 29 0d 0d ac 05  |,message$,2)....|
00001070  e1 0d 0d c0 10 dd a4 50  28 77 69 6e 64 6f 77 25  |.......P(window%|
00001080  29 0d 0d ca 13 77 69 6d  70 25 21 30 3d 77 69 6e  |)....wimp%!0=win|
00001090  64 6f 77 25 0d 0d d4 1f  c8 99 22 57 69 6d 70 5f  |dow%......"Wimp_|
000010a0  47 65 74 57 69 6e 64 49  6e 66 6f 22 2c 2c 77 69  |GetWindInfo",,wi|
000010b0  6d 70 25 0d 0d de 32 e7  28 28 77 69 6d 70 25 21  |mp%...2.((wimp%!|
000010c0  36 30 29 80 32 35 36 29  3d 30 85 31 2c 22 54 69  |60).256)=0.1,"Ti|
000010d0  74 6c 65 20 69 73 6e 27  74 20 69 6e 64 69 72 65  |tle isn't indire|
000010e0  63 74 65 64 22 0d 0d e8  10 3d 24 28 77 69 6d 70  |cted"....=$(wimp|
000010f0  25 21 37 36 29 0d 0d fc  10 dd a4 41 28 77 69 6e  |%!76)......A(win|
00001100  64 6f 77 24 29 0d 0e 06  2a 3d a4 49 28 77 69 6e  |dow$)...*=.I(win|
00001110  64 6f 77 24 2c 22 3c 4e  75 6d 62 65 72 73 24 44  |dow$,"<Numbers$D|
00001120  69 72 3e 2e 54 65 6d 70  6c 61 74 65 73 22 29 0d  |ir>.Templates").|
00001130  0e 1a 1a dd a4 49 28 77  69 6e 64 6f 77 24 2c 74  |.....I(window$,t|
00001140  65 6d 70 6c 61 74 65 24  29 0d 0e 24 19 ea 63 25  |emplate$)..$..c%|
00001150  2c 69 25 2c 6e 25 2c 6a  25 2c 73 70 24 2c 73 70  |,i%,n%,j%,sp$,sp|
00001160  32 24 0d 0e 2e 17 c8 99  32 36 32 33 36 31 2c 2c  |2$......262361,,|
00001170  74 65 6d 70 6c 61 74 65  24 0d 0e 38 3d c8 99 32  |template$..8=..2|
00001180  36 32 33 36 33 2c 2c 77  69 6d 70 25 2c 69 63 6f  |62363,,wimp%,ico|
00001190  6e 73 25 2c 69 63 6f 6e  5f 6d 65 6d 6f 72 79 25  |ns%,icon_memory%|
000011a0  2c 2d 31 2c 77 69 6e 64  6f 77 24 2c 30 b8 2c 2c  |,-1,window$,0.,,|
000011b0  69 63 6f 6e 73 25 0d 0e  42 0f c8 8e 73 70 72 69  |icons%..B...spri|
000011c0  74 65 73 25 ca 0d 0e 4c  18 c9 31 3a 77 69 6d 70  |tes%...L..1:wimp|
000011d0  25 21 36 34 3d 73 70 72  69 74 65 73 25 0d 0e 56  |%!64=sprites%..V|
000011e0  19 7f 77 69 6d 70 25 21  36 34 3d a4 4f 28 77 69  |..wimp%!64=.O(wi|
000011f0  6e 64 6f 77 25 29 0d 0e  60 05 cb 0d 0e 6a 16 c8  |ndow%)..`....j..|
00001200  99 32 36 32 33 33 37 2c  2c 77 69 6d 70 25 b8 63  |.262337,,wimp%.c|
00001210  25 0d 0e 74 0c c8 99 32  36 32 33 36 32 0d 0e 7e  |%..t...262362..~|
00001220  2c c8 99 32 36 32 33 35  38 2c 63 25 2c 77 69 6d  |,..262358,c%,wim|
00001230  70 25 2b 34 30 2c 31 2b  32 2b 28 31 3c 3c 38 29  |p%+40,1+2+(1<<8)|
00001240  2c 32 2b 28 31 3c 3c 38  29 0d 0e 88 0f c8 8e 77  |,2+(1<<8)......w|
00001250  69 6d 70 25 21 34 30 ca  0d 0e 92 07 c9 2d 31 0d  |imp%!40......-1.|
00001260  0e 9c 0a 7f 69 25 3d 34  30 0d 0e a6 05 f5 0d 0e  |....i%=40.......|
00001270  b0 1f 77 69 6d 70 25 21  34 3d 77 69 6d 70 25 21  |..wimp%!4=wimp%!|
00001280  69 25 3a 77 69 6d 70 25  21 30 3d 63 25 0d 0e ba  |i%:wimp%!0=c%...|
00001290  13 c8 99 32 36 32 33 35  30 2c 2c 77 69 6d 70 25  |...262350,,wimp%|
000012a0  0d 0e c4 14 73 70 24 3d  a4 42 28 77 69 6d 70 25  |....sp$=.B(wimp%|
000012b0  21 32 38 29 0d 0e ce 13  c8 99 32 36 32 33 34 30  |!28)......262340|
000012c0  2c 2c 77 69 6d 70 25 0d  0e d8 0f c8 8e 73 70 72  |,,wimp%......spr|
000012d0  69 74 65 73 25 ca 0d 0e  e2 11 c9 31 3a 77 69 6d  |ites%......1:wim|
000012e0  70 25 21 33 32 3d 31 0d  0e ec 05 7f 0d 0e f6 1b  |p%!32=1.........|
000012f0  c8 99 34 36 2c 32 36 34  2c 73 70 72 69 74 65 73  |..46,264,sprites|
00001300  25 b8 2c 2c 2c 6e 25 0d  0f 00 08 6a 25 3d 30 0d  |%.,,,n%....j%=0.|
00001310  0f 0a 0b f5 3a 6a 25 2b  3d 31 0d 0f 14 2a c8 99  |....:j%+=1...*..|
00001320  34 36 2c 32 36 39 2c 73  70 72 69 74 65 73 25 2c  |46,269,sprites%,|
00001330  70 6f 69 6e 74 65 72 5f  62 6c 6f 63 6b 25 2c 32  |pointer_block%,2|
00001340  30 2c 6a 25 0d 0f 1e 1b  73 70 32 24 3d a4 42 28  |0,j%....sp2$=.B(|
00001350  70 6f 69 6e 74 65 72 5f  62 6c 6f 63 6b 25 29 0d  |pointer_block%).|
00001360  0f 28 13 fd 6a 25 3d 6e  25 84 73 70 24 3d 73 70  |.(..j%=n%.sp$=sp|
00001370  32 24 0d 0f 32 2a e7 73  70 24 3d 73 70 32 24 8c  |2$..2*.sp$=sp2$.|
00001380  77 69 6d 70 25 21 33 32  3d 73 70 72 69 74 65 73  |wimp%!32=sprites|
00001390  25 8b 77 69 6d 70 25 21  33 32 3d 31 0d 0f 3c 05  |%.wimp%!32=1..<.|
000013a0  cb 0d 0f 46 0e 77 69 6d  70 25 21 34 3d 63 25 0d  |...F.wimp%!4=c%.|
000013b0  0f 50 1d c8 99 32 36 32  33 33 38 2c 2c 77 69 6d  |.P...262338,,wim|
000013c0  70 25 2b 34 b8 68 61 6e  64 6c 65 25 0d 0f 5a 09  |p%+4.handle%..Z.|
000013d0  69 25 2b 3d 34 0d 0f 64  12 fd 28 77 69 6d 70 25  |i%+=4..d..(wimp%|
000013e0  21 69 25 29 3d 2d 31 0d  0f 6e 05 cb 0d 0f 78 07  |!i%)=-1..n....x.|
000013f0  3d 63 25 0d 0f 8c 10 dd  f2 41 28 77 69 6e 64 6f  |=c%......A(windo|
00001400  77 25 29 0d 0f 96 12 21  77 69 6d 70 25 3d 77 69  |w%)....!wimp%=wi|
00001410  6e 64 6f 77 25 0d 0f a0  13 c8 99 32 36 32 33 34  |ndow%......26234|
00001420  37 2c 2c 77 69 6d 70 25  0d 0f aa 0f 77 69 6d 70  |7,,wimp%....wimp|
00001430  25 21 32 38 3d 2d 31 0d  0f b4 13 c8 99 32 36 32  |%!28=-1......262|
00001440  33 34 31 2c 2c 77 69 6d  70 25 0d 0f be 05 e1 0d  |341,,wimp%......|
00001450  0f d2 10 dd f2 44 28 77  69 6e 64 6f 77 25 29 0d  |.....D(window%).|
00001460  0f dc 12 21 77 69 6d 70  25 3d 77 69 6e 64 6f 77  |...!wimp%=window|
00001470  25 0d 0f e6 13 c8 99 32  36 32 33 34 32 2c 2c 77  |%......262342,,w|
00001480  69 6d 70 25 0d 0f f0 05  e1 0d 10 04 11 dd f2 4f  |imp%...........O|
00001490  41 28 77 69 6e 64 6f 77  25 29 0d 10 0e 0e c8 8e  |A(window%)......|
000014a0  77 69 6e 64 6f 77 25 ca  0d 10 18 25 c9 2d 31 3a  |window%....%.-1:|
000014b0  c8 99 32 36 32 33 35 33  2c 2d 31 2c 30 2c 30 2c  |..262353,-1,0,0,|
000014c0  32 2a 31 32 38 30 2c 32  2a 31 30 32 34 0d 10 22  |2*1280,2*1024.."|
000014d0  28 7f c8 99 32 36 32 33  35 33 2c 77 69 6e 64 6f  |(...262353,windo|
000014e0  77 25 2c 30 2c 2d 32 2a  31 30 32 34 2c 32 2a 31  |w%,0,-2*1024,2*1|
000014f0  32 38 30 2c 30 0d 10 2c  05 cb 0d 10 36 05 e1 0d  |280,0..,....6...|
00001500  10 4a 11 dd f2 47 41 28  77 69 6e 64 6f 77 25 29  |.J...GA(window%)|
00001510  0d 10 54 12 21 77 69 6d  70 25 3d 77 69 6e 64 6f  |..T.!wimp%=windo|
00001520  77 25 0d 10 5e 13 c8 99  32 36 32 33 34 37 2c 2c  |w%..^...262347,,|
00001530  77 69 6d 70 25 0d 10 68  13 c8 99 32 36 32 33 34  |wimp%..h...26234|
00001540  31 2c 2c 77 69 6d 70 25  0d 10 72 05 e1 0d 10 86  |1,,wimp%..r.....|
00001550  07 f2 48 41 0d 10 90 13  c8 99 35 33 30 30 34 39  |..HA......530049|
00001560  2c 2c 77 69 6d 70 25 0d  10 9a 05 e1 0d 11 a8 10  |,,wimp%.........|
00001570  dd a4 4a 28 53 70 72 69  74 65 24 29 0d 11 b2 0a  |..J(Sprite$)....|
00001580  ea 69 63 6f 6e 25 0d 11  bc 0e 77 69 6d 70 25 21  |.icon%....wimp%!|
00001590  30 3d 2d 31 0d 11 c6 17  77 69 6d 70 25 21 34 3d  |0=-1....wimp%!4=|
000015a0  30 3a 77 69 6d 70 25 21  38 3d 30 0d 11 d0 1b 77  |0:wimp%!8=0....w|
000015b0  69 6d 70 25 21 31 32 3d  36 38 3a 77 69 6d 70 25  |imp%!12=68:wimp%|
000015c0  21 31 36 3d 36 38 0d 11  da 12 77 69 6d 70 25 21  |!16=68....wimp%!|
000015d0  32 30 3d 31 32 32 39 30  0d 11 e4 17 24 28 77 69  |20=12290....$(wi|
000015e0  6d 70 25 2b 32 34 29 3d  53 70 72 69 74 65 24 0d  |mp%+24)=Sprite$.|
000015f0  11 ee 19 c8 99 32 36 32  33 33 38 2c 2c 77 69 6d  |.....262338,,wim|
00001600  70 25 b8 69 63 6f 6e 25  0d 11 f8 0a 3d 69 63 6f  |p%.icon%....=ico|
00001610  6e 25 0d 12 0c 1d dd f2  65 28 77 69 6e 64 6f 77  |n%......e(window|
00001620  25 2c 69 63 6f 6e 25 2c  63 68 61 72 73 25 29 0d  |%,icon%,chars%).|
00001630  12 16 26 c8 99 32 36 32  33 35 34 2c 77 69 6e 64  |..&..262354,wind|
00001640  6f 77 25 2c 69 63 6f 6e  25 2c 2c 2c 2d 31 2c 63  |ow%,icon%,,,-1,c|
00001650  68 61 72 73 25 0d 12 20  05 e1 0d 12 34 16 dd a4  |hars%.. ....4...|
00001660  43 28 77 69 6e 64 6f 77  25 2c 69 63 6f 6e 25 29  |C(window%,icon%)|
00001670  0d 12 3e 21 77 69 6d 70  25 21 30 3d 77 69 6e 64  |..>!wimp%!0=wind|
00001680  6f 77 25 3a 77 69 6d 70  25 21 34 3d 69 63 6f 6e  |ow%:wimp%!4=icon|
00001690  25 0d 12 48 13 c8 99 32  36 32 33 35 30 2c 2c 77  |%..H...262350,,w|
000016a0  69 6d 70 25 0d 12 52 31  e7 28 28 77 69 6d 70 25  |imp%..R1.((wimp%|
000016b0  21 32 34 29 80 32 35 36  29 3d 30 85 31 2c 22 49  |!24).256)=0.1,"I|
000016c0  63 6f 6e 20 69 73 6e 27  74 20 69 6e 64 69 72 65  |con isn't indire|
000016d0  63 74 65 64 22 0d 12 5c  10 3d 24 28 77 69 6d 70  |cted"..\.=$(wimp|
000016e0  25 21 32 38 29 0d 12 70  16 dd a4 51 28 77 69 6e  |%!28)..p...Q(win|
000016f0  64 6f 77 25 2c 69 63 6f  6e 25 29 0d 12 7a 21 77  |dow%,icon%)..z!w|
00001700  69 6d 70 25 21 30 3d 77  69 6e 64 6f 77 25 3a 77  |imp%!0=window%:w|
00001710  69 6d 70 25 21 34 3d 69  63 6f 6e 25 0d 12 84 13  |imp%!4=icon%....|
00001720  c8 99 32 36 32 33 35 30  2c 2c 77 69 6d 70 25 0d  |..262350,,wimp%.|
00001730  12 8e 31 e7 28 28 77 69  6d 70 25 21 32 34 29 80  |..1.((wimp%!24).|
00001740  32 35 36 29 3d 30 85 31  2c 22 49 63 6f 6e 20 69  |256)=0.1,"Icon i|
00001750  73 6e 27 74 20 69 6e 64  69 72 65 63 74 65 64 22  |sn't indirected"|
00001760  0d 12 98 10 3d 24 28 77  69 6d 70 25 21 33 32 29  |....=$(wimp%!32)|
00001770  0d 12 ac 17 dd f2 49 41  28 77 69 6e 64 6f 77 25  |......IA(window%|
00001780  2c 69 63 6f 6e 25 29 0d  12 b6 21 77 69 6d 70 25  |,icon%)...!wimp%|
00001790  21 30 3d 77 69 6e 64 6f  77 25 3a 77 69 6d 70 25  |!0=window%:wimp%|
000017a0  21 34 3d 69 63 6f 6e 25  0d 12 c0 20 77 69 6d 70  |!4=icon%... wimp|
000017b0  25 21 38 3d 31 3c 3c 32  32 3a 77 69 6d 70 25 21  |%!8=1<<22:wimp%!|
000017c0  31 32 3d 31 3c 3c 32 32  0d 12 ca 13 c8 99 32 36  |12=1<<22......26|
000017d0  32 33 34 39 2c 2c 77 69  6d 70 25 0d 12 d4 05 e1  |2349,,wimp%.....|
000017e0  0d 12 e8 17 dd f2 4b 41  28 77 69 6e 64 6f 77 25  |......KA(window%|
000017f0  2c 69 63 6f 6e 25 29 0d  12 f2 21 77 69 6d 70 25  |,icon%)...!wimp%|
00001800  21 30 3d 77 69 6e 64 6f  77 25 3a 77 69 6d 70 25  |!0=window%:wimp%|
00001810  21 34 3d 69 63 6f 6e 25  0d 12 fc 1c 77 69 6d 70  |!4=icon%....wimp|
00001820  25 21 38 3d 30 3a 77 69  6d 70 25 21 31 32 3d 31  |%!8=0:wimp%!12=1|
00001830  3c 3c 32 32 0d 13 06 13  c8 99 32 36 32 33 34 39  |<<22......262349|
00001840  2c 2c 77 69 6d 70 25 0d  13 10 05 e1 0d 13 24 1e  |,,wimp%.......$.|
00001850  dd a4 52 28 77 69 6e 64  6f 77 25 2c 69 63 6f 6e  |..R(window%,icon|
00001860  25 2c 73 70 72 69 74 65  24 29 0d 13 2e 21 77 69  |%,sprite$)...!wi|
00001870  6d 70 25 21 30 3d 77 69  6e 64 6f 77 25 3a 77 69  |mp%!0=window%:wi|
00001880  6d 70 25 21 34 3d 69 63  6f 6e 25 0d 13 38 13 c8  |mp%!4=icon%..8..|
00001890  99 32 36 32 33 35 30 2c  2c 77 69 6d 70 25 0d 13  |.262350,,wimp%..|
000018a0  42 13 c8 99 32 36 32 33  34 30 2c 2c 77 69 6d 70  |B...262340,,wimp|
000018b0  25 0d 13 4c 36 77 69 6d  70 25 21 34 3d 77 69 6d  |%..L6wimp%!4=wim|
000018c0  70 25 21 38 3a 77 69 6d  70 25 21 38 3d 77 69 6d  |p%!8:wimp%!8=wim|
000018d0  70 25 21 31 32 3a 77 69  6d 70 25 21 31 32 3d 77  |p%!12:wimp%!12=w|
000018e0  69 6d 70 25 21 31 36 0d  13 56 3b 77 69 6d 70 25  |imp%!16..V;wimp%|
000018f0  21 31 36 3d 77 69 6d 70  25 21 32 30 3a 77 69 6d  |!16=wimp%!20:wim|
00001900  70 25 21 32 30 3d 77 69  6d 70 25 21 32 34 3a 24  |p%!20=wimp%!24:$|
00001910  28 77 69 6d 70 25 2b 32  34 29 3d 73 70 72 69 74  |(wimp%+24)=sprit|
00001920  65 24 0d 13 60 19 c8 99  32 36 32 33 33 38 2c 2c  |e$..`...262338,,|
00001930  77 69 6d 70 25 b8 69 63  6f 6e 25 0d 13 6a 0a 3d  |wimp%.icon%..j.=|
00001940  69 63 6f 6e 25 0d 13 7e  1c dd f2 49 28 77 69 6e  |icon%..~...I(win|
00001950  64 6f 77 25 2c 69 63 6f  6e 25 2c 74 65 78 74 24  |dow%,icon%,text$|
00001960  29 0d 13 88 21 77 69 6d  70 25 21 30 3d 77 69 6e  |)...!wimp%!0=win|
00001970  64 6f 77 25 3a 77 69 6d  70 25 21 34 3d 69 63 6f  |dow%:wimp%!4=ico|
00001980  6e 25 0d 13 92 13 c8 99  32 36 32 33 35 30 2c 2c  |n%......262350,,|
00001990  77 69 6d 70 25 0d 13 9c  31 e7 28 28 77 69 6d 70  |wimp%...1.((wimp|
000019a0  25 21 32 34 29 80 32 35  36 29 3d 30 85 31 2c 22  |%!24).256)=0.1,"|
000019b0  49 63 6f 6e 20 69 73 6e  27 74 20 69 6e 64 69 72  |Icon isn't indir|
000019c0  65 63 74 65 64 22 0d 13  a6 15 24 28 77 69 6d 70  |ected"....$(wimp|
000019d0  25 21 32 38 29 3d 74 65  78 74 24 0d 13 b0 21 77  |%!28)=text$...!w|
000019e0  69 6d 70 25 21 30 3d 77  69 6e 64 6f 77 25 3a 77  |imp%!0=window%:w|
000019f0  69 6d 70 25 21 34 3d 69  63 6f 6e 25 0d 13 ba 18  |imp%!4=icon%....|
00001a00  77 69 6d 70 25 21 38 3d  30 3a 77 69 6d 70 25 21  |wimp%!8=0:wimp%!|
00001a10  31 32 3d 30 0d 13 c4 13  c8 99 32 36 32 33 34 39  |12=0......262349|
00001a20  2c 2c 77 69 6d 70 25 0d  13 ce 05 e1 0d 13 e2 08  |,,wimp%.........|
00001a30  dd f2 4c 41 0d 13 ec 13  c8 99 35 33 30 30 34 38  |..LA......530048|
00001a40  2c 2c 77 69 6d 70 25 0d  13 f6 05 e1 0d 14 0a 08  |,,wimp%.........|
00001a50  dd f2 4d 41 0d 14 14 0d  77 69 6d 70 25 21 38 3d  |..MA....wimp%!8=|
00001a60  30 0d 14 1e 13 c8 99 35  33 30 30 34 38 2c 2c 77  |0......530048,,w|
00001a70  69 6d 70 25 0d 14 28 05  e1 0d 15 b8 0f dd f2 4e  |imp%..(........N|
00001a80  41 28 6d 65 6e 75 25 29  0d 15 c2 1c c8 99 32 36  |A(menu%)......26|
00001a90  32 33 35 31 2c 2c 70 6f  69 6e 74 65 72 5f 62 6c  |2351,,pointer_bl|
00001aa0  6f 63 6b 25 0d 15 cc 4f  e7 28 28 70 6f 69 6e 74  |ock%...O.((point|
00001ab0  65 72 5f 62 6c 6f 63 6b  25 21 38 29 80 31 29 3d  |er_block%!8).1)=|
00001ac0  31 8c c8 99 32 36 32 33  35 36 2c 2c 6d 65 6e 75  |1...262356,,menu|
00001ad0  25 2c 70 6f 69 6e 74 65  72 5f 62 6c 6f 63 6b 25  |%,pointer_block%|
00001ae0  21 30 2c 70 6f 69 6e 74  65 72 5f 62 6c 6f 63 6b  |!0,pointer_block|
00001af0  25 21 34 0d 15 d6 05 e1  0d 15 ea 0f dd a4 48 28  |%!4...........H(|
00001b00  6c 65 76 65 6c 25 29 0d  15 f4 19 3d 28 77 69 6d  |level%)....=(wim|
00001b10  70 25 21 28 34 2a 6c 65  76 65 6c 25 29 29 2b 31  |p%!(4*level%))+1|
00001b20  0d 16 08 0e dd a4 45 28  6d 65 6e 75 24 29 0d 16  |......E(menu$)..|
00001b30  12 18 e7 6d 65 6e 75 24  3d 22 43 6f 6c 6f 75 72  |...menu$="Colour|
00001b40  73 22 8c 3d a4 4b 0d 16  1c 26 ea 6d 65 6e 75 25  |s".=.K...&.menu%|
00001b50  2c 69 6e 64 65 78 25 2c  77 69 64 74 68 25 2c 6c  |,index%,width%,l|
00001b60  65 6e 67 74 68 25 2c 6b  25 2c 73 25 0d 16 26 19  |ength%,k%,s%..&.|
00001b70  de 6d 65 6e 75 25 32 38  2b a4 4c 28 6d 65 6e 75  |.menu%28+.L(menu|
00001b80  24 29 2a 32 34 0d 16 30  2f 6d 65 6e 75 25 3f 31  |$)*24..0/menu%?1|
00001b90  32 3d 37 3a 6d 65 6e 75  25 3f 31 33 3d 32 3a 6d  |2=7:menu%?13=2:m|
00001ba0  65 6e 75 25 3f 31 34 3d  37 3a 6d 65 6e 75 25 3f  |enu%?14=7:menu%?|
00001bb0  31 35 3d 30 0d 16 3a 27  6d 65 6e 75 25 21 31 36  |15=0..:'menu%!16|
00001bc0  3d 31 34 30 3a 6d 65 6e  75 25 21 32 30 3d 34 34  |=140:menu%!20=44|
00001bd0  3a 6d 65 6e 75 25 21 32  34 3d 30 0d 16 44 13 69  |:menu%!24=0..D.i|
00001be0  6e 64 65 78 25 3d 6d 65  6e 75 25 2b 32 38 0d 16  |ndex%=menu%+28..|
00001bf0  4e 20 24 6d 65 6e 75 25  3d c0 6d 65 6e 75 24 2c  |N $menu%=.menu$,|
00001c00  a7 6d 65 6e 75 24 2c 22  5c 22 29 2d 31 29 0d 16  |.menu$,"\")-1)..|
00001c10  58 23 77 69 64 74 68 25  3d a9 28 c0 6d 65 6e 75  |X#width%=.(.menu|
00001c20  24 2c a7 6d 65 6e 75 24  2c 22 5c 22 29 2d 31 29  |$,.menu$,"\")-1)|
00001c30  29 0d 16 62 22 6d 65 6e  75 24 2b 3d 22 5c 22 3a  |)..b"menu$+="\":|
00001c40  4d 65 6e 75 5f 4e 6f 4f  66 45 6e 74 72 69 65 73  |Menu_NoOfEntries|
00001c50  25 3d 30 0d 16 6c 0f c8  95 6d 65 6e 75 24 3c 3e  |%=0..l...menu$<>|
00001c60  22 22 0d 16 76 1f 6d 65  6e 75 24 3d c1 6d 65 6e  |""..v.menu$=.men|
00001c70  75 24 2c a7 6d 65 6e 75  24 2c 22 5c 22 29 2b 31  |u$,.menu$,"\")+1|
00001c80  29 0d 16 80 0c c8 8e 6d  65 6e 75 24 ca 0d 16 8a  |)......menu$....|
00001c90  07 c9 22 22 0d 16 94 05  7f 0d 16 9e 2b 21 69 6e  |..""........+!in|
00001ca0  64 65 78 25 3d 30 3a 69  6e 64 65 78 25 21 34 3d  |dex%=0:index%!4=|
00001cb0  2d 31 3a 69 6e 64 65 78  25 21 38 3d 26 37 30 30  |-1:index%!8=&700|
00001cc0  30 30 32 31 0d 16 a8 19  6c 65 6e 67 74 68 25 3d  |0021....length%=|
00001cd0  a7 6d 65 6e 75 24 2c 22  5c 22 29 2d 31 0d 16 b2  |.menu$,"\")-1...|
00001ce0  1c 6b 25 3d a7 c0 6d 65  6e 75 24 2c 6c 65 6e 67  |.k%=..menu$,leng|
00001cf0  74 68 25 29 2c 22 3e 22  29 0d 16 bc 09 c8 8e 6b  |th%),">")......k|
00001d00  25 ca 0d 16 c6 06 c9 30  0d 16 d0 05 7f 0d 16 da  |%......0........|
00001d10  21 73 25 3d a0 28 c1 6d  65 6e 75 24 2c 6b 25 2b  |!s%=.(.menu$,k%+|
00001d20  31 2c 6c 65 6e 67 74 68  25 2d 6b 25 29 29 0d 16  |1,length%-k%))..|
00001d30  e4 0f 69 6e 64 65 78 25  21 34 3d 73 25 0d 16 ee  |..index%!4=s%...|
00001d40  10 6c 65 6e 67 74 68 25  3d 6b 25 2d 31 0d 16 f8  |.length%=k%-1...|
00001d50  05 cb 0d 17 02 20 24 28  69 6e 64 65 78 25 2b 31  |..... $(index%+1|
00001d60  32 29 3d c0 6d 65 6e 75  24 2c 6c 65 6e 67 74 68  |2)=.menu$,length|
00001d70  25 29 0d 17 0c 22 e7 6c  65 6e 67 74 68 25 3e 77  |%)...".length%>w|
00001d80  69 64 74 68 25 8c 77 69  64 74 68 25 3d 6c 65 6e  |idth%.width%=len|
00001d90  67 74 68 25 0d 17 16 0e  69 6e 64 65 78 25 2b 3d  |gth%....index%+=|
00001da0  32 34 0d 17 20 05 cb 0d  17 2a 05 ce 0d 17 34 1a  |24.. ....*....4.|
00001db0  6d 65 6e 75 25 21 31 36  3d 31 36 2a 28 77 69 64  |menu%!16=16*(wid|
00001dc0  74 68 25 2b 31 29 0d 17  3e 24 69 6e 64 65 78 25  |th%+1)..>$index%|
00001dd0  21 2d 32 34 3d 69 6e 64  65 78 25 21 2d 32 34 84  |!-24=index%!-24.|
00001de0  31 32 38 3a 3d 6d 65 6e  75 25 0d 17 52 07 dd a4  |128:=menu%..R...|
00001df0  4b 0d 17 5c 0c 3d a4 4d  28 22 20 22 29 0d 17 70  |K..\.=.M(" ")..p|
00001e00  0f dd a4 4d 28 74 69 74  6c 65 24 29 0d 17 7a 12  |...M(title$)..z.|
00001e10  ea 78 24 2c 6d 65 6e 25  2c 6a 25 2c 69 25 0d 17  |.x$,men%,j%,i%..|
00001e20  84 36 78 24 3d 74 69 74  6c 65 24 2b 22 5c 30 5c  |.6x$=title$+"\0\|
00001e30  31 5c 32 5c 33 5c 34 5c  35 5c 36 5c 37 5c 38 5c  |1\2\3\4\5\6\7\8\|
00001e40  39 5c 31 30 5c 31 31 5c  31 32 5c 31 33 5c 31 34  |9\10\11\12\13\14|
00001e50  5c 31 35 22 0d 17 8e 0f  6d 65 6e 25 3d a4 45 28  |\15"....men%=.E(|
00001e60  78 24 29 0d 17 98 0c e3  69 25 3d 30 b8 31 35 0d  |x$).....i%=0.15.|
00001e70  17 a2 08 c8 8e b9 ca 0d  17 ac 25 c9 69 25 3c 34  |..........%.i%<4|
00001e80  2c 69 25 3d 39 2c 69 25  3d 31 32 2c 69 25 3d 31  |,i%=9,i%=12,i%=1|
00001e90  34 2c 69 25 3d 31 35 3a  6a 25 3d 37 0d 17 b6 09  |4,i%=15:j%=7....|
00001ea0  7f 6a 25 3d 30 0d 17 c0  05 cb 0d 17 ca 1c 6d 65  |.j%=0.........me|
00001eb0  6e 25 3f 28 33 39 2b 69  25 2a 32 34 29 3d 69 25  |n%?(39+i%*24)=i%|
00001ec0  2a 31 36 2b 6a 25 0d 17  d4 11 f2 6c 28 6d 65 6e  |*16+j%.....l(men|
00001ed0  25 2c 69 25 2b 31 29 0d  17 de 05 ed 0d 17 e8 09  |%,i%+1).........|
00001ee0  3d 6d 65 6e 25 0d 17 fc  0e dd a4 4c 28 6d 65 6e  |=men%......L(men|
00001ef0  75 24 29 0d 18 06 14 ea  6e 25 2c 6a 25 3a 6e 25  |u$).....n%,j%:n%|
00001f00  3d 30 3a 6a 25 3d 30 0d  18 10 05 f5 0d 18 1a 17  |=0:j%=0.........|
00001f10  6a 25 3d a7 6d 65 6e 75  24 2c 22 5c 22 2c 6a 25  |j%=.menu$,"\",j%|
00001f20  2b 31 29 0d 18 24 10 e7  6a 25 3c 3e 30 8c 6e 25  |+1)..$..j%<>0.n%|
00001f30  2b 3d 31 0d 18 2e 09 fd  6a 25 3d 30 0d 18 38 07  |+=1.....j%=0..8.|
00001f40  3d 6e 25 0d 18 4c 1d dd  f2 50 41 28 6d 65 6e 75  |=n%..L...PA(menu|
00001f50  25 2c 69 74 65 6d 25 2c  63 6f 6c 6f 75 72 25 29  |%,item%,colour%)|
00001f60  0d 18 56 0d ea 66 6f 72  65 25 2c 69 25 0d 18 60  |..V..fore%,i%..`|
00001f70  26 66 6f 72 65 25 3d 28  6d 65 6e 75 25 3f 28 33  |&fore%=(menu%?(3|
00001f80  39 2b 28 69 74 65 6d 25  2d 31 29 2a 32 34 29 29  |9+(item%-1)*24))|
00001f90  83 31 36 0d 18 6a 28 69  25 3d 28 28 6d 65 6e 75  |.16..j(i%=((menu|
00001fa0  25 3f 28 33 39 2b 28 69  74 65 6d 25 2d 31 29 2a  |%?(39+(item%-1)*|
00001fb0  32 34 29 29 81 31 36 29  83 31 36 0d 18 74 2f 6d  |24)).16).16..t/m|
00001fc0  65 6e 75 25 3f 28 33 39  2b 28 69 74 65 6d 25 2d  |enu%?(39+(item%-|
00001fd0  31 29 2a 32 34 29 3d 66  6f 72 65 25 2b 31 36 2a  |1)*24)=fore%+16*|
00001fe0  63 6f 6c 6f 75 72 25 2b  69 25 0d 18 7e 05 e1 0d  |colour%+i%..~...|
00001ff0  18 92 14 dd f2 6c 28 6d  65 6e 75 25 2c 69 74 65  |.....l(menu%,ite|
00002000  6d 25 29 0d 18 9c 3a 6d  65 6e 75 25 21 28 33 36  |m%)...:menu%!(36|
00002010  2b 28 69 74 65 6d 25 2d  31 29 2a 32 34 29 3d 6d  |+(item%-1)*24)=m|
00002020  65 6e 75 25 21 28 33 36  2b 28 69 74 65 6d 25 2d  |enu%!(36+(item%-|
00002030  31 29 2a 32 34 29 84 28  31 3c 3c 33 29 0d 18 a6  |1)*24).(1<<3)...|
00002040  05 e1 0d 18 ba 08 dd f2  51 41 0d 18 c4 0f c8 99  |........QA......|
00002050  32 36 32 33 35 36 2c 2d  31 0d 18 ce 05 e1 0d 18  |262356,-1.......|
00002060  e2 14 dd f2 42 28 6d 65  6e 75 25 2c 69 74 65 6d  |....B(menu%,item|
00002070  25 29 0d 18 ec 3b 6d 65  6e 75 25 21 28 33 36 2b  |%)...;menu%!(36+|
00002080  28 69 74 65 6d 25 2d 31  29 2a 32 34 29 3d 6d 65  |(item%-1)*24)=me|
00002090  6e 75 25 21 28 33 36 2b  28 69 74 65 6d 25 2d 31  |nu%!(36+(item%-1|
000020a0  29 2a 32 34 29 84 28 31  3c 3c 32 32 29 0d 18 f6  |)*24).(1<<22)...|
000020b0  05 e1 0d 19 0a 15 dd f2  52 41 28 6d 65 6e 75 25  |........RA(menu%|
000020c0  2c 69 74 65 6d 25 29 0d  19 14 37 6d 65 6e 75 25  |,item%)...7menu%|
000020d0  21 28 32 38 2b 28 69 74  65 6d 25 2d 31 29 2a 32  |!(28+(item%-1)*2|
000020e0  34 29 3d 28 6d 65 6e 75  25 21 28 32 38 2b 28 69  |4)=(menu%!(28+(i|
000020f0  74 65 6d 25 2d 31 29 2a  32 34 29 29 84 32 0d 19  |tem%-1)*24)).2..|
00002100  1e 05 e1 0d 19 32 14 dd  f2 43 28 6d 65 6e 75 25  |.....2...C(menu%|
00002110  2c 69 74 65 6d 25 29 0d  19 3c 13 f2 42 28 6d 65  |,item%)..<..B(me|
00002120  6e 75 25 2c 69 74 65 6d  25 29 0d 19 46 3b 6d 65  |nu%,item%)..F;me|
00002130  6e 75 25 21 28 33 36 2b  28 69 74 65 6d 25 2d 31  |nu%!(36+(item%-1|
00002140  29 2a 32 34 29 3d 6d 65  6e 75 25 21 28 33 36 2b  |)*24)=menu%!(36+|
00002150  28 69 74 65 6d 25 2d 31  29 2a 32 34 29 82 28 31  |(item%-1)*24).(1|
00002160  3c 3c 32 32 29 0d 19 50  05 e1 0d 19 64 1d dd f2  |<<22)..P....d...|
00002170  53 41 28 6d 65 6e 75 25  2c 69 74 65 6d 25 2c 63  |SA(menu%,item%,c|
00002180  6f 6c 6f 75 72 25 29 0d  19 6e 45 6d 65 6e 75 25  |olour%)..nEmenu%|
00002190  3f 28 33 39 2b 28 69 74  65 6d 25 2d 31 29 2a 32  |?(39+(item%-1)*2|
000021a0  34 29 3d 63 6f 6c 6f 75  72 25 2b 31 36 2a 28 28  |4)=colour%+16*((|
000021b0  6d 65 6e 75 25 3f 28 33  39 2b 28 69 74 65 6d 25  |menu%?(39+(item%|
000021c0  2d 31 29 2a 32 34 29 29  81 31 36 29 0d 19 78 05  |-1)*24)).16)..x.|
000021d0  e1 0d 19 8c 1d dd f2 54  41 28 6d 65 6e 75 31 25  |.......TA(menu1%|
000021e0  2c 69 74 65 6d 25 2c 6d  65 6e 75 32 25 29 0d 19  |,item%,menu2%)..|
000021f0  96 1e 6d 65 6e 75 31 25  21 28 38 2b 69 74 65 6d  |..menu1%!(8+item|
00002200  25 2a 32 34 29 3d 6d 65  6e 75 32 25 0d 19 a0 05  |%*24)=menu2%....|
00002210  e1 0d 19 b4 1b dd f2 55  41 28 6d 65 6e 75 25 2c  |.......UA(menu%,|
00002220  69 74 65 6d 25 2c 69 74  65 6d 24 29 0d 19 be 2c  |item%,item$)...,|
00002230  24 28 6d 65 6e 75 25 2b  28 34 30 2b 28 69 74 65  |$(menu%+(40+(ite|
00002240  6d 25 2d 31 29 2a 32 34  29 29 3d c0 69 74 65 6d  |m%-1)*24))=.item|
00002250  24 2c 31 32 29 2b bd 30  0d 19 c8 05 e1 0d 19 dc  |$,12)+.0........|
00002260  14 dd f2 5f 28 6d 65 6e  75 25 2c 69 74 65 6d 25  |..._(menu%,item%|
00002270  29 0d 19 e6 3c 6d 65 6e  75 25 21 28 32 38 2b 28  |)...<menu%!(28+(|
00002280  69 74 65 6d 25 2d 31 29  2a 32 34 29 3d 28 6d 65  |item%-1)*24)=(me|
00002290  6e 75 25 21 28 32 38 2b  28 69 74 65 6d 25 2d 31  |nu%!(28+(item%-1|
000022a0  29 2a 32 34 29 29 82 28  31 3c 3c 33 29 0d 19 f0  |)*24)).(1<<3)...|
000022b0  05 e1 0d 1a 04 15 dd f2  41 41 28 4d 65 6e 75 25  |........AA(Menu%|
000022c0  2c 78 25 2c 79 25 29 0d  1a 0e 0f 6d 65 6e 75 25  |,x%,y%)....menu%|
000022d0  3d 4d 65 6e 75 25 0d 1a  18 1f c8 99 32 36 32 33  |=Menu%......2623|
000022e0  35 36 2c 2c 6d 65 6e 75  25 2c 78 25 2d 36 34 2c  |56,,menu%,x%-64,|
000022f0  79 25 2b 32 30 0d 1a 22  05 e1 0d 1a 36 0f dd f2  |y%+20.."....6...|
00002300  42 41 28 78 25 2c 79 25  29 0d 1a 40 0c ea 6e 25  |BA(x%,y%)..@..n%|
00002310  3a 6e 25 3d 30 0d 1a 4a  24 c8 95 28 28 42 61 72  |:n%=0..J$..((Bar|
00002320  5f 4d 65 6e 75 25 21 28  32 38 2b 6e 25 2a 32 34  |_Menu%!(28+n%*24|
00002330  29 29 80 31 32 38 29 3d  30 0d 1a 54 09 6e 25 2b  |)).128)=0..T.n%+|
00002340  3d 31 0d 1a 5e 05 ce 0d  1a 68 27 c8 99 32 36 32  |=1..^....h'..262|
00002350  33 35 36 2c 2c 42 61 72  5f 4d 65 6e 75 25 2c 78  |356,,Bar_Menu%,x|
00002360  25 2d 36 34 2c 31 34 30  2b 6e 25 2a 34 34 0d 1a  |%-64,140+n%*44..|
00002370  72 13 6d 65 6e 75 25 3d  42 61 72 5f 4d 65 6e 75  |r.menu%=Bar_Menu|
00002380  25 0d 1a 7c 05 e1 0d 1a  90 15 dd f2 43 41 28 6d  |%..|........CA(m|
00002390  65 6e 75 25 2c 69 74 65  6d 25 29 0d 1a 9a 37 6d  |enu%,item%)...7m|
000023a0  65 6e 75 25 21 28 32 38  2b 28 69 74 65 6d 25 2d  |enu%!(28+(item%-|
000023b0  31 29 2a 32 34 29 3d 28  6d 65 6e 75 25 21 28 32  |1)*24)=(menu%!(2|
000023c0  38 2b 28 69 74 65 6d 25  2d 31 29 2a 32 34 29 29  |8+(item%-1)*24))|
000023d0  82 31 0d 1a a4 05 e1 0d  1a b8 16 dd f2 44 41 28  |.1...........DA(|
000023e0  6d 65 6e 75 25 2c 74 69  74 6c 65 24 29 0d 1a c2  |menu%,title$)...|
000023f0  19 24 6d 65 6e 75 25 3d  c0 74 69 74 6c 65 24 2c  |.$menu%=.title$,|
00002400  31 32 29 2b bd 30 0d 1a  cc 05 e1 0d 1a e0 30 dd  |12)+.0........0.|
00002410  f2 45 41 28 6d 65 6e 75  25 2c 69 74 65 6d 25 2c  |.EA(menu%,item%,|
00002420  62 75 66 66 65 72 25 2c  76 61 6c 25 2c 42 75 66  |buffer%,val%,Buf|
00002430  66 65 72 4c 65 6e 67 74  68 25 29 0d 1a ea 37 6d  |ferLength%)...7m|
00002440  65 6e 75 25 21 28 32 38  2b 28 69 74 65 6d 25 2d  |enu%!(28+(item%-|
00002450  31 29 2a 32 34 29 3d 28  6d 65 6e 75 25 21 28 32  |1)*24)=(menu%!(2|
00002460  38 2b 28 69 74 65 6d 25  2d 31 29 2a 32 34 29 29  |8+(item%-1)*24))|
00002470  84 34 0d 1a f4 37 6d 65  6e 75 25 21 28 33 36 2b  |.4...7menu%!(36+|
00002480  28 69 74 65 6d 25 2d 31  29 2a 32 34 29 3d 6d 65  |(item%-1)*24)=me|
00002490  6e 75 25 21 28 33 36 2b  28 69 74 65 6d 25 2d 31  |nu%!(36+(item%-1|
000024a0  29 2a 32 34 29 84 32 35  36 0d 1a fe 23 6d 65 6e  |)*24).256...#men|
000024b0  75 25 21 28 34 30 2b 28  69 74 65 6d 25 2d 31 29  |u%!(40+(item%-1)|
000024c0  2a 32 34 29 3d 62 75 66  66 65 72 25 0d 1b 08 20  |*24)=buffer%... |
000024d0  6d 65 6e 75 25 21 28 34  34 2b 28 69 74 65 6d 25  |menu%!(44+(item%|
000024e0  2d 31 29 2a 32 34 29 3d  76 61 6c 25 0d 1b 12 29  |-1)*24)=val%...)|
000024f0  6d 65 6e 75 25 21 28 34  38 2b 28 69 74 65 6d 25  |menu%!(48+(item%|
00002500  2d 31 29 2a 32 34 29 3d  42 75 66 66 65 72 4c 65  |-1)*24)=BufferLe|
00002510  6e 67 74 68 25 0d 1b 1c  05 e1 0d 1c 02 08 dd f2  |ngth%...........|
00002520  46 41 0d 1c 0c 1f f2 6d  28 22 3c 4e 75 6d 62 65  |FA.....m("<Numbe|
00002530  72 73 24 44 69 72 3e 2e  53 70 72 69 74 65 73 22  |rs$Dir>.Sprites"|
00002540  29 0d 1c 16 1c 64 69 72  65 63 74 5f 73 70 72 69  |)....direct_spri|
00002550  74 65 73 25 3d 73 70 72  69 74 65 73 25 0d 1c 20  |tes%=sprites%.. |
00002560  05 e1 0d 1c 34 12 dd f2  6d 28 70 61 74 68 6e 61  |....4...m(pathna|
00002570  6d 65 24 29 0d 1c 3e 0a  ea 53 25 2c 54 25 0d 1c  |me$)..>..S%,T%..|
00002580  48 2f 53 25 3d 8e 22 3c  4e 75 6d 62 65 72 73 24  |H/S%=."<Numbers$|
00002590  44 69 72 3e 2e 53 70 72  69 74 65 73 22 3a 54 25  |Dir>.Sprites":T%|
000025a0  3d a2 23 53 25 2b 31 36  3a d9 23 53 25 0d 1c 52  |=.#S%+16:.#S%..R|
000025b0  19 de 73 70 72 69 74 65  73 25 54 25 2c 73 70 6e  |..sprites%T%,spn|
000025c0  61 6d 65 25 31 32 0d 1c  5c 1d 21 73 70 72 69 74  |ame%12..\.!sprit|
000025d0  65 73 25 3d 54 25 3a 73  70 72 69 74 65 73 25 21  |es%=T%:sprites%!|
000025e0  38 3d 30 0d 1c 66 15 c8  99 34 36 2c 32 36 35 2c  |8=0..f...46,265,|
000025f0  73 70 72 69 74 65 73 25  0d 1c 70 1f c8 99 34 36  |sprites%..p...46|
00002600  2c 32 36 36 2c 73 70 72  69 74 65 73 25 2c 70 61  |,266,sprites%,pa|
00002610  74 68 6e 61 6d 65 24 0d  1c 7a 05 e1 0d 1d 88 0e  |thname$..z......|
00002620  dd a4 47 28 74 79 70 65  25 29 0d 1d 92 0c c8 8e  |..G(type%)......|
00002630  74 79 70 65 25 ca 0d 1d  9c 11 c9 34 30 39 35 3a  |type%......4095:|
00002640  3d 22 54 65 78 74 22 0d  1d a6 11 c9 34 30 39 33  |="Text".....4093|
00002650  3a 3d 22 44 61 74 61 22  0d 1d b0 12 c9 34 30 39  |:="Data".....409|
00002660  31 3a 3d 22 42 61 73 69  63 22 0d 1d ba 13 c9 34  |1:="Basic".....4|
00002670  30 38 39 3a 3d 22 53 70  72 69 74 65 22 0d 1d c4  |089:="Sprite"...|
00002680  14 c9 34 30 37 37 3a 3d  22 50 61 6c 65 74 74 65  |..4077:="Palette|
00002690  22 0d 1d ce 15 c9 34 30  37 36 3a 3d 22 54 65 6d  |".....4076:="Tem|
000026a0  70 6c 61 74 65 22 0d 1d  d8 11 c9 32 38 31 35 3a  |plate".....2815:|
000026b0  3d 22 44 72 61 77 22 0d  1d e2 13 c9 34 30 39 36  |="Draw".....4096|
000026c0  3a 3d 22 46 6f 6c 64 65  72 22 0d 1d ec 18 c9 38  |:="Folder".....8|
000026d0  31 39 32 3a 3d 22 41 70  70 6c 69 63 61 74 69 6f  |192:="Applicatio|
000026e0  6e 22 0d 1d f6 0f 7f 3d  c3 7e 28 74 79 70 65 25  |n".....=.~(type%|
000026f0  29 0d 1e 00 05 cb 0d 1e  14 07 dd a4 53 0d 1e 1e  |)...........S...|
00002700  11 3d a4 42 28 77 69 6d  70 25 2b 34 34 29 0d 1e  |.=.B(wimp%+44)..|
00002710  32 12 dd a4 54 28 70 61  74 68 6e 61 6d 65 24 29  |2...T(pathname$)|
00002720  0d 1e 3c 10 ea 53 25 2c  54 25 2c 66 69 6c 65 25  |..<..S%,T%,file%|
00002730  0d 1e 46 11 53 25 3d 8e  70 61 74 68 6e 61 6d 65  |..F.S%=.pathname|
00002740  24 0d 1e 50 0e 54 25 3d  a2 23 53 25 2b 31 36 0d  |$..P.T%=.#S%+16.|
00002750  1e 5a 08 d9 23 53 25 0d  1e 64 0c de 66 69 6c 65  |.Z..#S%..d..file|
00002760  25 54 25 0d 1e 6e 22 ff  28 22 4c 4f 41 44 22 2b  |%T%..n".("LOAD"+|
00002770  70 61 74 68 6e 61 6d 65  24 2b 22 22 2b c3 7e 66  |pathname$+""+.~f|
00002780  69 6c 65 25 29 0d 1e 78  0a 3d 66 69 6c 65 25 0d  |ile%)..x.=file%.|
00002790  1e 82 05 3b 0d 1e 8c 0f  dd a4 42 28 61 72 72 61  |...;......B(arra|
000027a0  79 25 29 0d 1e 96 0d ea  73 24 3a 73 24 3d 22 22  |y%).....s$:s$=""|
000027b0  0d 1e a0 3b c8 95 28 3f  61 72 72 61 79 25 3c 3e  |...;..(?array%<>|
000027c0  31 33 29 80 28 3f 61 72  72 61 79 25 3c 3e 30 29  |13).(?array%<>0)|
000027d0  3a 73 24 2b 3d bd 28 3f  61 72 72 61 79 25 29 3a  |:s$+=.(?array%):|
000027e0  61 72 72 61 79 25 2b 3d  31 3a ce 0d 1e aa 07 3d  |array%+=1:.....=|
000027f0  73 24 0d 1e be 0b dd a4  44 28 66 24 29 0d 1e c8  |s$......D(f$)...|
00002800  0f c8 8e a7 66 24 2c 22  2e 22 29 ca 0d 1e d2 0a  |....f$,".").....|
00002810  c9 30 3a 3d 66 24 0d 1e  dc 1d 7f 3d a4 44 28 c2  |.0:=f$.....=.D(.|
00002820  66 24 2c a9 28 66 24 29  2d a7 66 24 2c 22 2e 22  |f$,.(f$)-.f$,"."|
00002830  29 29 29 0d 1e e6 05 cb  0d 1e fa 0e dd f2 45 28  |)))...........E(|
00002840  66 69 6c 65 24 29 0d 1f  04 07 ea 6e 25 0d 1f 0e  |file$).....n%...|
00002850  15 77 69 6d 70 25 21 34  3d 26 36 43 43 30 31 43  |.wimp%!4=&6CC01C|
00002860  30 43 0d 1f 18 0e 77 69  6d 70 25 21 31 36 3d 35  |0C....wimp%!16=5|
00002870  0d 1f 22 0e 77 69 6d 70  25 21 33 36 3d 30 0d 1f  |..".wimp%!36=0..|
00002880  2c 11 77 69 6d 70 25 21  34 30 3d 34 30 39 35 0d  |,.wimp%!40=4095.|
00002890  1f 36 18 24 28 77 69 6d  70 25 2b 34 34 29 3d 66  |.6.$(wimp%+44)=f|
000028a0  69 6c 65 24 2b bd 30 0d  1f 40 10 6e 25 3d a9 66  |ile$+.0..@.n%=.f|
000028b0  69 6c 65 24 2b 34 35 0d  1f 4a 27 e7 6e 25 83 34  |ile$+45..J'.n%.4|
000028c0  8c 21 77 69 6d 70 25 3d  34 2b 28 6e 25 3e 3e 32  |.!wimp%=4+(n%>>2|
000028d0  29 3c 3c 32 8b 21 77 69  6d 70 25 3d 6e 25 0d 1f  |)<<2.!wimp%=n%..|
000028e0  54 17 c8 99 32 36 32 33  37 35 2c 31 37 2c 77 69  |T...262375,17,wi|
000028f0  6d 70 25 2c 30 0d 1f 5e  05 e1 0d 20 6c 25 dd f2  |mp%,0..^... l%..|
00002900  57 28 54 61 73 6b 4e 61  6d 65 24 2c 77 69 6d 70  |W(TaskName$,wimp|
00002910  5f 6d 65 6d 6f 72 79 25  2c 69 63 6f 6e 25 29 0d  |_memory%,icon%).|
00002920  20 76 22 de 77 69 6d 70  25 77 69 6d 70 5f 6d 65  | v".wimp%wimp_me|
00002930  6d 6f 72 79 25 2c 69 63  6f 6e 73 25 69 63 6f 6e  |mory%,icons%icon|
00002940  25 0d 20 80 26 e7 77 69  6d 70 5f 6d 65 6d 6f 72  |%. .&.wimp_memor|
00002950  79 25 3c 32 35 36 8c 77  69 6d 70 5f 6d 65 6d 6f  |y%<256.wimp_memo|
00002960  72 79 25 3d 32 35 36 0d  20 8a 1d 69 63 6f 6e 5f  |ry%=256. ..icon_|
00002970  6d 65 6d 6f 72 79 25 3d  69 63 6f 6e 73 25 2b 69  |memory%=icons%+i|
00002980  63 6f 6e 25 0d 20 94 13  74 61 73 6b 24 3d 54 61  |con%. ..task$=Ta|
00002990  73 6b 4e 61 6d 65 24 0d  20 9e 29 69 6e 64 69 72  |skName$. .)indir|
000029a0  65 63 74 5f 73 70 72 69  74 65 73 25 3d 31 3a 64  |ect_sprites%=1:d|
000029b0  69 72 65 63 74 5f 73 70  72 69 74 65 73 25 3d 31  |irect_sprites%=1|
000029c0  0d 20 a8 06 f2 6e 0d 20  b2 0a ee 85 f2 6f 3a e0  |. ...n. .....o:.|
000029d0  0d 20 bc 33 c8 99 32 36  32 33 33 36 2c 32 30 30  |. .3..262336,200|
000029e0  2c 26 34 42 35 33 34 31  35 34 2c 54 61 73 6b 4e  |,&4B534154,TaskN|
000029f0  61 6d 65 24 b8 76 65 72  73 69 6f 6e 25 2c 74 61  |ame$.version%,ta|
00002a00  73 6b 25 0d 20 c6 05 e1  0d 20 da 07 dd a4 56 0d  |sk%. .... ....V.|
00002a10  20 e4 13 ea 63 6f 6d 24  2c 70 61 72 61 6d 24 2c  | ...com$,param$,|
00002a20  49 25 0d 20 ee 0d c8 99  31 36 b8 63 6f 6d 24 0d  |I%. ....16.com$.|
00002a30  20 f8 0e 70 61 72 61 6d  73 24 3d 22 22 0d 21 02  | ..params$="".!.|
00002a40  17 49 25 3d a7 63 6f 6d  24 2c 22 20 2d 71 75 69  |.I%=.com$," -qui|
00002a50  74 20 22 29 0d 21 0c 31  e7 49 25 8c 70 61 72 61  |t ").!.1.I%.para|
00002a60  6d 73 24 3d c1 63 6f 6d  24 2c a7 63 6f 6d 24 2c  |ms$=.com$,.com$,|
00002a70  22 20 22 2c 49 25 2b a9  22 20 2d 71 75 69 74 20  |" ",I%+." -quit |
00002a80  22 29 2b 31 29 0d 21 16  0c 3d 70 61 72 61 6d 73  |")+1).!..=params|
00002a90  24 0d 21 2a 07 dd f2 6e  0d 21 34 15 de 70 6f 69  |$.!*...n.!4..poi|
00002aa0  6e 74 65 72 5f 62 6c 6f  63 6b 25 32 30 0d 21 3e  |nter_block%20.!>|
00002ab0  10 69 6e 74 65 72 66 61  63 65 25 3d a3 0d 21 48  |.interface%=..!H|
00002ac0  29 6e 75 6c 6c 25 3d 31  3a 64 72 61 77 25 3d 32  |)null%=1:draw%=2|
00002ad0  3a 70 6f 69 6e 74 65 72  5f 6c 65 61 76 69 6e 67  |:pointer_leaving|
00002ae0  25 3d 31 3c 3c 34 0d 21  52 31 70 6f 69 6e 74 65  |%=1<<4.!R1pointe|
00002af0  72 5f 65 6e 74 65 72 69  6e 67 25 3d 31 3c 3c 35  |r_entering%=1<<5|
00002b00  3a 6d 6f 75 73 65 25 3d  31 3c 3c 36 3a 64 72 61  |:mouse%=1<<6:dra|
00002b10  67 25 3d 31 3c 3c 37 0d  21 5c 26 6b 65 79 25 3d  |g%=1<<7.!\&key%=|
00002b20  31 3c 3c 38 3a 6d 65 6e  75 25 3d 31 3c 3c 39 3a  |1<<8:menu%=1<<9:|
00002b30  73 63 72 6f 6c 6c 25 3d  31 3c 3c 31 30 0d 21 66  |scroll%=1<<10.!f|
00002b40  40 6c 6f 73 65 5f 63 61  72 65 74 25 3d 31 3c 3c  |@lose_caret%=1<<|
00002b50  31 31 3a 67 61 69 6e 5f  63 61 72 65 74 25 3d 31  |11:gain_caret%=1|
00002b60  3c 3c 31 32 3a 6d 65 73  73 61 67 65 25 3d 28 31  |<<12:message%=(1|
00002b70  3c 3c 31 37 29 2b 28 31  3c 3c 31 38 29 0d 21 70  |<<17)+(1<<18).!p|
00002b80  30 72 65 63 6f 72 64 65  72 25 3d 31 3c 3c 31 38  |0recorder%=1<<18|
00002b90  3a 61 63 6b 6e 6f 77 6c  65 64 67 65 25 3d 31 3c  |:acknowledge%=1<|
00002ba0  3c 31 39 3a 77 69 6e 64  6f 77 25 3d 30 0d 21 7a  |<19:window%=0.!z|
00002bb0  21 73 70 72 69 74 65 73  25 3d 31 3a 76 65 72 73  |!sprites%=1:vers|
00002bc0  69 6f 6e 25 3d 30 3a 74  61 73 6b 25 3d 30 0d 21  |ion%=0:task%=0.!|
00002bd0  84 2a 42 61 72 5f 57 69  6e 64 6f 77 25 3d 2d 32  |.*Bar_Window%=-2|
00002be0  3a 42 61 72 5f 49 63 6f  6e 25 3d 30 3a 42 61 72  |:Bar_Icon%=0:Bar|
00002bf0  5f 4d 65 6e 75 25 3d 30  0d 21 8e 2a 78 5f 6f 72  |_Menu%=0.!.*x_or|
00002c00  69 67 69 6e 25 3d 30 3a  79 5f 6f 72 69 67 69 6e  |igin%=0:y_origin|
00002c10  25 3d 30 3a 53 61 76 65  57 69 6e 64 6f 77 25 3d  |%=0:SaveWindow%=|
00002c20  2d 33 0d 21 98 33 6d 65  73 73 61 67 65 5f 71 75  |-3.!.3message_qu|
00002c30  69 74 25 3d 30 3a 6d 65  73 73 61 67 65 5f 73 61  |it%=0:message_sa|
00002c40  76 65 25 3d 32 3a 6d 65  73 73 61 67 65 5f 6c 6f  |ve%=2:message_lo|
00002c50  61 64 25 3d 33 0d 21 a2  21 6d 6f 75 73 65 5f 62  |ad%=3.!.!mouse_b|
00002c60  75 74 74 6f 6e 25 3d 32  3a 73 61 76 65 5f 65 76  |utton%=2:save_ev|
00002c70  65 6e 74 25 3d 30 0d 21  ac 1e 74 6f 70 5f 6c 69  |ent%=0.!..top_li|
00002c80  6e 65 25 3d 30 3a 62 6f  74 74 6f 6d 5f 6c 69 6e  |ne%=0:bottom_lin|
00002c90  65 25 3d 30 0d 21 b6 05  e1 0d 21 ca 07 dd f2 6f  |e%=0.!....!....o|
00002ca0  0d 21 d4 0a ea 58 24 2c  78 25 0d 21 de 07 ee 85  |.!...X$,x%.!....|
00002cb0  87 0d 21 e8 08 78 25 3d  9e 0d 21 f2 1b 58 24 3d  |..!..x%=..!..X$=|
00002cc0  f6 24 2b 22 61 74 6c 69  6e 65 22 2b c3 28 78 25  |.$+"atline"+.(x%|
00002cd0  81 31 30 29 0d 21 fc 10  de 45 72 72 6f 72 4d 73  |.10).!...ErrorMs|
00002ce0  67 25 33 36 0d 22 06 45  45 72 72 6f 72 4d 73 67  |g%36.".EErrorMsg|
00002cf0  25 21 30 3d 33 36 3a 45  72 72 6f 72 4d 73 67 25  |%!0=36:ErrorMsg%|
00002d00  21 31 32 3d 30 3a 45 72  72 6f 72 4d 73 67 25 21  |!12=0:ErrorMsg%!|
00002d10  31 36 3d 35 32 38 35 31  32 3a 45 72 72 6f 72 4d  |16=528512:ErrorM|
00002d20  73 67 25 21 32 30 3d 78  25 0d 22 10 1f 24 28 45  |sg%!20=x%."..$(E|
00002d30  72 72 6f 72 4d 73 67 25  2b 32 34 29 3d 22 21 52  |rrorMsg%+24)="!R|
00002d40  75 6e 49 6d 61 67 65 22  0d 22 1a 19 c8 99 32 36  |unImage"."....26|
00002d50  32 33 37 35 2c 31 37 2c  45 72 72 6f 72 4d 73 67  |2375,17,ErrorMsg|
00002d60  25 0d 22 24 10 f2 6a 28  74 61 73 6b 24 2c 58 24  |%."$..j(task$,X$|
00002d70  29 0d 22 2e 06 f2 46 0d  22 38 05 e1 0d 22 4c 07  |)."...F."8..."L.|
00002d80  dd f2 46 0d 22 56 19 c8  99 32 36 32 33 36 35 2c  |..F."V...262365,|
00002d90  74 61 73 6b 25 2c 22 54  41 53 4b 22 0d 22 60 05  |task%,"TASK"."`.|
00002da0  e1 0d 22 74 08 dd f2 4a  41 0d 22 7e 0f 66 69 6e  |.."t...JA."~.fin|
00002db0  69 73 68 65 64 25 3d b9  0d 22 88 05 e1 0d 22 9c  |ished%=.."....".|
00002dc0  12 dd a4 57 28 56 61 72  69 61 62 6c 65 24 29 0d  |...W(Variable$).|
00002dd0  22 a6 1b ea 6c 65 6e 25  2c 72 65 73 75 6c 74 25  |"...len%,result%|
00002de0  2c 76 61 72 69 61 62 6c  65 25 0d 22 b0 14 24 77  |,variable%."..$w|
00002df0  69 6d 70 25 3d 56 61 72  69 61 62 6c 65 24 0d 22  |imp%=Variable$."|
00002e00  ba 26 c8 99 33 35 2c 77  69 6d 70 25 2c 77 69 6d  |.&..35,wimp%,wim|
00002e10  70 25 2b 32 35 35 2c 32  35 35 2c 2c 33 b8 2c 2c  |p%+255,255,,3.,,|
00002e20  6c 65 6e 25 0d 22 c4 17  77 69 6d 70 25 3f 28 6c  |len%."..wimp%?(l|
00002e30  65 6e 25 2b 32 35 35 29  3d 31 33 0d 22 ce 11 3d  |en%+255)=13."..=|
00002e40  24 28 77 69 6d 70 25 2b  32 35 35 29 0d 23 50 07  |$(wimp%+255).#P.|
00002e50  dd f2 61 0d 23 5a 11 ea  6d 61 73 6b 25 2c 65 76  |..a.#Z..mask%,ev|
00002e60  65 6e 74 25 0d 23 64 0f  66 69 6e 69 73 68 65 64  |ent%.#d.finished|
00002e70  25 3d a3 0d 23 6e 0e 6d  61 73 6b 25 3d 33 36 30  |%=..#n.mask%=360|
00002e80  39 0d 23 78 05 f5 0d 23  82 1f c8 99 32 36 32 33  |9.#x...#....2623|
00002e90  34 33 2c 6d 61 73 6b 25  2c 77 69 6d 70 25 b8 65  |43,mask%,wimp%.e|
00002ea0  76 65 6e 74 25 0d 23 8c  0d c8 8e 65 76 65 6e 74  |vent%.#....event|
00002eb0  25 ca 0d 23 96 06 c9 30  0d 23 a0 09 c9 31 3a f2  |%..#...0.#...1:.|
00002ec0  70 0d 23 aa 16 c9 32 3a  c8 99 32 36 32 33 34 31  |p.#...2:..262341|
00002ed0  2c 2c 77 69 6d 70 25 0d  23 b4 09 c9 33 3a f2 71  |,,wimp%.#...3:.q|
00002ee0  0d 23 be 06 c9 34 0d 23  c8 06 c9 35 0d 23 d2 09  |.#...4.#...5.#..|
00002ef0  c9 36 3a f2 72 0d 23 dc  09 c9 37 3a f2 73 0d 23  |.6:.r.#...7:.s.#|
00002f00  e6 09 c9 38 3a f2 74 0d  23 f0 10 c9 39 3a f2 66  |...8:.t.#...9:.f|
00002f10  28 6d 65 6e 75 25 29 0d  23 fa 07 c9 31 30 0d 24  |(menu%).#...10.$|
00002f20  04 07 c9 31 31 0d 24 0e  07 c9 31 32 0d 24 18 0d  |...11.$...12.$..|
00002f30  c9 31 37 2c 31 38 3a f2  75 0d 24 22 07 c9 31 39  |.17,18:.u.$"..19|
00002f40  0d 24 2c 05 cb 0d 24 36  0e fd 66 69 6e 69 73 68  |.$,...$6..finish|
00002f50  65 64 25 0d 24 40 05 e1  0d 24 54 07 dd f2 70 0d  |ed%.$@...$T...p.|
00002f60  24 5e 0a ea 6d 6f 72 65  25 0d 24 68 19 c8 99 32  |$^..more%.$h...2|
00002f70  36 32 33 34 34 2c 2c 77  69 6d 70 25 b8 6d 6f 72  |62344,,wimp%.mor|
00002f80  65 25 0d 24 72 13 77 69  6e 64 6f 77 25 3d 77 69  |e%.$r.window%=wi|
00002f90  6d 70 25 21 30 0d 24 7c  41 78 5f 6f 72 69 67 69  |mp%!0.$|Ax_origi|
00002fa0  6e 25 3d 31 36 2b 77 69  6d 70 25 21 34 2d 77 69  |n%=16+wimp%!4-wi|
00002fb0  6d 70 25 21 32 30 3a 79  5f 6f 72 69 67 69 6e 25  |mp%!20:y_origin%|
00002fc0  3d 2d 31 36 2b 77 69 6d  70 25 21 31 36 2d 77 69  |=-16+wimp%!16-wi|
00002fd0  6d 70 25 21 32 34 0d 24  86 0b c8 95 6d 6f 72 65  |mp%!24.$....more|
00002fe0  25 0d 24 90 1f e7 69 6e  74 65 72 66 61 63 65 25  |%.$...interface%|
00002ff0  8c c8 99 35 33 30 30 34  39 2c 2c 77 69 6d 70 25  |...530049,,wimp%|
00003000  0d 24 9a 23 f2 62 28 77  69 6e 64 6f 77 25 2c 78  |.$.#.b(window%,x|
00003010  5f 6f 72 69 67 69 6e 25  2c 79 5f 6f 72 69 67 69  |_origin%,y_origi|
00003020  6e 25 29 0d 24 a4 19 c8  99 32 36 32 33 34 36 2c  |n%).$....262346,|
00003030  2c 77 69 6d 70 25 b8 6d  6f 72 65 25 0d 24 ae 05  |,wimp%.more%.$..|
00003040  ce 0d 24 b8 05 e1 0d 24  cc 07 dd f2 71 0d 24 d6  |..$....$....q.$.|
00003050  13 c8 99 32 36 32 33 35  31 2c 2c 77 69 6d 70 25  |...262351,,wimp%|
00003060  0d 24 e0 25 77 69 6e 64  6f 77 25 3d 77 69 6d 70  |.$.%window%=wimp|
00003070  25 21 31 32 3a 62 75 74  74 6f 6e 73 25 3d 77 69  |%!12:buttons%=wi|
00003080  6d 70 25 21 38 0d 24 ea  18 f2 5a 28 77 69 6e 64  |mp%!8.$...Z(wind|
00003090  6f 77 25 2c 62 75 74 74  6f 6e 73 25 29 0d 24 f4  |ow%,buttons%).$.|
000030a0  22 21 77 69 6d 70 25 3d  77 69 6e 64 6f 77 25 3a  |"!wimp%=window%:|
000030b0  c8 99 32 36 32 33 34 32  2c 2c 77 69 6d 70 25 0d  |..262342,,wimp%.|
000030c0  24 fe 05 e1 0d 25 12 07  dd f2 72 0d 25 1c 49 62  |$....%....r.%.Ib|
000030d0  75 74 74 6f 6e 25 3d 77  69 6d 70 25 21 38 3a 77  |utton%=wimp%!8:w|
000030e0  69 6e 64 6f 77 25 3d 77  69 6d 70 25 21 31 32 3a  |indow%=wimp%!12:|
000030f0  69 63 6f 6e 25 3d 77 69  6d 70 25 21 31 36 3a 78  |icon%=wimp%!16:x|
00003100  25 3d 77 69 6d 70 25 21  30 3a 79 25 3d 77 69 6d  |%=wimp%!0:y%=wim|
00003110  70 25 21 34 0d 25 26 0e  c8 8e 62 75 74 74 6f 6e  |p%!4.%&...button|
00003120  25 ca 0d 25 30 09 c9 32  3a f2 76 0d 25 3a 13 7f  |%..%0..2:.v.%:..|
00003130  c8 8e a4 46 28 77 69 6e  64 6f 77 25 29 ca 0d 25  |...F(window%)..%|
00003140  44 09 c9 b9 3a f2 77 0d  25 4e 09 c9 a3 3a f2 78  |D...:.w.%N...:.x|
00003150  0d 25 58 05 cb 0d 25 62  05 cb 0d 25 6c 05 e1 0d  |.%X...%b...%l...|
00003160  25 80 07 dd f2 76 0d 25  8a 15 6d 65 6e 75 25 3d  |%....v.%..menu%=|
00003170  a4 4e 28 77 69 6e 64 6f  77 25 29 0d 25 94 0c c8  |.N(window%).%...|
00003180  8e 6d 65 6e 75 25 ca 0d  25 9e 06 c9 a3 0d 25 a8  |.menu%..%.....%.|
00003190  05 7f 0d 25 b2 0e c8 8e  77 69 6e 64 6f 77 25 ca  |...%....window%.|
000031a0  0d 25 bc 0c c9 2d 32 3a  6e 25 3d 30 0d 25 c6 24  |.%...-2:n%=0.%.$|
000031b0  c8 95 28 28 42 61 72 5f  4d 65 6e 75 25 21 28 32  |..((Bar_Menu%!(2|
000031c0  38 2b 6e 25 2a 32 34 29  29 80 31 32 38 29 3d 30  |8+n%*24)).128)=0|
000031d0  0d 25 d0 09 6e 25 2b 3d  31 0d 25 da 05 ce 0d 25  |.%..n%+=1.%....%|
000031e0  e4 27 c8 99 32 36 32 33  35 36 2c 2c 42 61 72 5f  |.'..262356,,Bar_|
000031f0  4d 65 6e 75 25 2c 78 25  2d 36 34 2c 31 34 30 2b  |Menu%,x%-64,140+|
00003200  6e 25 2a 34 34 0d 25 ee  20 7f c8 99 32 36 32 33  |n%*44.%. ...2623|
00003210  35 36 2c 2c 6d 65 6e 75  25 2c 78 25 2d 36 34 2c  |56,,menu%,x%-64,|
00003220  79 25 2b 32 30 0d 25 f8  05 cb 0d 26 02 05 cb 0d  |y%+20.%....&....|
00003230  26 0c 05 e1 0d 26 20 07  dd f2 77 0d 26 2a 0c c8  |&....& ...w.&*..|
00003240  8e 69 63 6f 6e 25 ca 0d  26 34 1e c9 30 3a e7 62  |.icon%..&4..0:.b|
00003250  75 74 74 6f 6e 25 80 38  30 8c f2 79 28 77 69 6e  |utton%.80..y(win|
00003260  64 6f 77 25 29 0d 26 3e  1d c9 32 3a e7 62 75 74  |dow%).&>..2:.but|
00003270  74 6f 6e 25 80 35 8c f2  7a 28 77 69 6e 64 6f 77  |ton%.5..z(window|
00003280  25 29 0d 26 48 05 cb 0d  26 52 05 e1 0d 26 66 07  |%).&H...&R...&f.|
00003290  dd f2 78 0d 26 70 1f e7  69 6e 74 65 72 66 61 63  |..x.&p..interfac|
000032a0  65 25 8c c8 99 35 33 30  30 34 38 2c 2c 77 69 6d  |e%...530048,,wim|
000032b0  70 25 0d 26 7a 23 f2 50  28 77 69 6e 64 6f 77 25  |p%.&z#.P(window%|
000032c0  2c 69 63 6f 6e 25 2c 62  75 74 74 6f 6e 25 2c 78  |,icon%,button%,x|
000032d0  25 2c 79 25 29 0d 26 84  11 c8 8e 69 6e 74 65 72  |%,y%).&....inter|
000032e0  66 61 63 65 25 ca 0d 26  8e 06 c9 b9 0d 26 98 23  |face%..&.....&.#|
000032f0  77 69 6d 70 25 21 30 3d  78 25 3a 77 69 6d 70 25  |wimp%!0=x%:wimp%|
00003300  21 34 3d 79 25 3a 77 69  6d 70 25 21 38 3d 30 0d  |!4=y%:wimp%!8=0.|
00003310  26 a2 23 77 69 6d 70 25  21 31 32 3d 77 69 6e 64  |&.#wimp%!12=wind|
00003320  6f 77 25 3a 77 69 6d 70  25 21 31 36 3d 69 63 6f  |ow%:wimp%!16=ico|
00003330  6e 25 0d 26 ac 13 c8 99  35 33 30 30 34 38 2c 2c  |n%.&....530048,,|
00003340  77 69 6d 70 25 0d 26 b6  05 cb 0d 26 c0 05 e1 0d  |wimp%.&....&....|
00003350  26 d4 10 dd f2 7a 28 77  69 6e 64 6f 77 25 29 0d  |&....z(window%).|
00003360  26 de 0a ea 66 69 6c 65  24 0d 26 e8 2d 77 69 6d  |&...file$.&.-wim|
00003370  70 25 21 30 3d 77 69 6e  64 6f 77 25 3a 77 69 6d  |p%!0=window%:wim|
00003380  70 25 21 34 3d 31 3a c8  99 32 36 32 33 35 30 2c  |p%!4=1:..262350,|
00003390  2c 77 69 6d 70 25 0d 26  f2 15 66 69 6c 65 24 3d  |,wimp%.&..file$=|
000033a0  24 28 77 69 6d 70 25 21  32 38 29 0d 26 fc 12 c8  |$(wimp%!28).&...|
000033b0  8e a7 66 69 6c 65 24 2c  22 2e 22 29 ca 0d 27 06  |..file$,".")..'.|
000033c0  06 c9 30 0d 27 10 3d 24  28 77 69 6d 70 25 2b 34  |..0.'.=$(wimp%+4|
000033d0  29 3d 22 54 6f 20 73 61  76 65 2c 20 64 72 61 67  |)="To save, drag|
000033e0  20 74 68 65 20 69 63 6f  6e 20 74 6f 20 61 20 64  | the icon to a d|
000033f0  69 72 65 63 74 6f 72 79  20 77 69 6e 64 6f 77 22  |irectory window"|
00003400  0d 27 1a 1b c8 99 32 36  32 33 36 37 2c 77 69 6d  |.'....262367,wim|
00003410  70 25 2c 31 36 2c 74 61  73 6b 24 0d 27 24 05 7f  |p%,16,task$.'$..|
00003420  0d 27 2e 15 f2 4e 28 66  69 6c 65 24 2c 77 69 6e  |.'...N(file$,win|
00003430  64 6f 77 25 29 0d 27 38  05 cb 0d 27 42 0f c8 99  |dow%).'8...'B...|
00003440  32 36 32 33 35 36 2c 2d  31 0d 27 4c 05 e1 0d 27  |262356,-1.'L...'|
00003450  60 10 dd f2 79 28 77 69  6e 64 6f 77 25 29 0d 27  |`...y(window%).'|
00003460  6a 0a ea 78 25 2c 79 25  0d 27 74 11 73 61 76 65  |j..x%,y%.'t.save|
00003470  25 3d 77 69 6e 64 6f 77  25 0d 27 7e 12 21 77 69  |%=window%.'~.!wi|
00003480  6d 70 25 3d 77 69 6e 64  6f 77 25 0d 27 88 13 c8  |mp%=window%.'...|
00003490  99 32 36 32 33 34 37 2c  2c 77 69 6d 70 25 0d 27  |.262347,,wimp%.'|
000034a0  92 2c 78 25 3d 77 69 6d  70 25 21 34 2d 77 69 6d  |.,x%=wimp%!4-wim|
000034b0  70 25 21 32 30 3a 79 25  3d 77 69 6d 70 25 21 31  |p%!20:y%=wimp%!1|
000034c0  36 2d 77 69 6d 70 25 21  32 34 0d 27 9c 0d 77 69  |6-wimp%!24.'..wi|
000034d0  6d 70 25 21 34 3d 30 0d  27 a6 13 c8 99 32 36 32  |mp%!4=0.'....262|
000034e0  33 35 30 2c 2c 77 69 6d  70 25 0d 27 b0 12 21 77  |350,,wimp%.'..!w|
000034f0  69 6d 70 25 3d 77 69 6e  64 6f 77 25 0d 27 ba 0d  |imp%=window%.'..|
00003500  77 69 6d 70 25 21 34 3d  35 0d 27 c4 2b 77 69 6d  |wimp%!4=5.'.+wim|
00003510  70 25 21 38 3d 78 25 2b  77 69 6d 70 25 21 38 3a  |p%!8=x%+wimp%!8:|
00003520  77 69 6d 70 25 21 31 32  3d 79 25 2b 77 69 6d 70  |wimp%!12=y%+wimp|
00003530  25 21 31 32 0d 27 ce 2d  77 69 6d 70 25 21 31 36  |%!12.'.-wimp%!16|
00003540  3d 78 25 2b 77 69 6d 70  25 21 31 36 3a 77 69 6d  |=x%+wimp%!16:wim|
00003550  70 25 21 32 30 3d 79 25  2b 77 69 6d 70 25 21 32  |p%!20=y%+wimp%!2|
00003560  30 0d 27 d8 19 77 69 6d  70 25 21 32 34 3d 30 3a  |0.'..wimp%!24=0:|
00003570  77 69 6d 70 25 21 32 38  3d 30 0d 27 e2 29 77 69  |wimp%!28=0.'.)wi|
00003580  6d 70 25 21 33 32 3d 26  37 46 46 46 46 46 46 46  |mp%!32=&7FFFFFFF|
00003590  3a 77 69 6d 70 25 21 33  36 3d 26 37 46 46 46 46  |:wimp%!36=&7FFFF|
000035a0  46 46 46 0d 27 ec 13 c8  99 32 36 32 33 35 32 2c  |FFF.'....262352,|
000035b0  2c 77 69 6d 70 25 0d 27  f6 05 e1 0d 28 0a 07 dd  |,wimp%.'....(...|
000035c0  f2 74 0d 28 14 2f 77 69  6e 64 6f 77 25 3d 77 69  |.t.(./window%=wi|
000035d0  6d 70 25 21 30 3a 69 63  6f 6e 25 3d 77 69 6d 70  |mp%!0:icon%=wimp|
000035e0  25 21 34 3a 6b 65 79 25  3d 77 69 6d 70 25 21 32  |%!4:key%=wimp%!2|
000035f0  34 0d 28 1e 12 c8 8e a4  46 28 77 69 6e 64 6f 77  |4.(.....F(window|
00003600  25 29 ca 0d 28 28 13 c9  b9 3a f2 56 41 28 77 69  |%)..((...:.VA(wi|
00003610  6e 64 6f 77 25 29 0d 28  32 1d c9 a3 3a f2 64 28  |ndow%).(2...:.d(|
00003620  77 69 6e 64 6f 77 25 2c  69 63 6f 6e 25 2c 6b 65  |window%,icon%,ke|
00003630  79 25 29 0d 28 3c 05 cb  0d 28 46 05 e1 0d 28 5a  |y%).(<...(F...(Z|
00003640  07 dd f2 73 0d 28 64 1e  ea 66 69 6c 65 24 2c 77  |...s.(d..file$,w|
00003650  69 6e 64 6f 77 25 2c 69  63 6f 6e 25 2c 78 25 2c  |indow%,icon%,x%,|
00003660  79 25 0d 28 6e 13 c8 99  32 36 32 33 35 31 2c 2c  |y%.(n...262351,,|
00003670  77 69 6d 70 25 0d 28 78  39 77 69 6e 64 6f 77 25  |wimp%.(x9window%|
00003680  3d 77 69 6d 70 25 21 31  32 3a 69 63 6f 6e 25 3d  |=wimp%!12:icon%=|
00003690  77 69 6d 70 25 21 31 36  3a 78 25 3d 77 69 6d 70  |wimp%!16:x%=wimp|
000036a0  25 21 30 3a 79 25 3d 77  69 6d 70 25 21 34 0d 28  |%!0:y%=wimp%!4.(|
000036b0  82 2b 77 69 6d 70 25 21  30 3d 73 61 76 65 25 3a  |.+wimp%!0=save%:|
000036c0  77 69 6d 70 25 21 34 3d  31 3a c8 99 32 36 32 33  |wimp%!4=1:..2623|
000036d0  35 30 2c 2c 77 69 6d 70  25 0d 28 8c 15 66 69 6c  |50,,wimp%.(..fil|
000036e0  65 24 3d 24 28 77 69 6d  70 25 21 32 38 29 0d 28  |e$=$(wimp%!28).(|
000036f0  96 13 66 69 6c 65 24 3d  a4 44 28 66 69 6c 65 24  |..file$=.D(file$|
00003700  29 0d 28 a0 14 77 69 6d  70 25 21 32 30 3d 77 69  |).(..wimp%!20=wi|
00003710  6e 64 6f 77 25 0d 28 aa  12 77 69 6d 70 25 21 32  |ndow%.(..wimp%!2|
00003720  34 3d 69 63 6f 6e 25 0d  28 b4 1b 77 69 6d 70 25  |4=icon%.(..wimp%|
00003730  21 32 38 3d 78 25 3a 77  69 6d 70 25 21 33 32 3d  |!28=x%:wimp%!32=|
00003740  79 25 0d 28 be 14 77 69  6d 70 25 21 33 36 3d 6c  |y%.(..wimp%!36=l|
00003750  65 6e 67 74 68 25 0d 28  c8 0e 77 69 6d 70 25 21  |ength%.(..wimp%!|
00003760  30 3d 36 34 0d 28 d2 0e  77 69 6d 70 25 21 31 32  |0=64.(..wimp%!12|
00003770  3d 30 0d 28 dc 0e 77 69  6d 70 25 21 31 36 3d 31  |=0.(..wimp%!16=1|
00003780  0d 28 e6 11 77 69 6d 70  25 21 34 30 3d 34 30 39  |.(..wimp%!40=409|
00003790  35 0d 28 f0 15 24 28 77  69 6d 70 25 2b 34 34 29  |5.(..$(wimp%+44)|
000037a0  3d 66 69 6c 65 24 0d 28  fa 27 c8 99 32 36 32 33  |=file$.(.'..2623|
000037b0  37 35 2c 31 37 2c 77 69  6d 70 25 2c 77 69 6d 70  |75,17,wimp%,wimp|
000037c0  25 21 32 30 2c 77 69 6d  70 25 21 32 34 0d 29 04  |%!20,wimp%!24.).|
000037d0  05 e1 0d 29 18 07 dd f2  75 0d 29 22 0a ea 66 69  |...)....u.)"..fi|
000037e0  6c 65 24 0d 29 2c 16 66  69 6c 65 24 3d a4 42 28  |le$.),.file$=.B(|
000037f0  77 69 6d 70 25 2b 34 34  29 0d 29 36 0f c8 8e 77  |wimp%+44).)6...w|
00003800  69 6d 70 25 21 31 36 ca  0d 29 40 12 c9 30 3a 66  |imp%!16..)@..0:f|
00003810  69 6e 69 73 68 65 64 25  3d b9 0d 29 4a 06 c9 31  |inished%=..)J..1|
00003820  0d 29 54 06 c9 32 0d 29  68 2b 77 69 6d 70 25 21  |.)T..2.)h+wimp%!|
00003830  30 3d 73 61 76 65 25 3a  77 69 6d 70 25 21 34 3d  |0=save%:wimp%!4=|
00003840  31 3a c8 99 32 36 32 33  35 30 2c 2c 77 69 6d 70  |1:..262350,,wimp|
00003850  25 0d 29 72 15 24 28 77  69 6d 70 25 21 32 38 29  |%.)r.$(wimp%!28)|
00003860  3d 66 69 6c 65 24 0d 29  7c 30 77 69 6d 70 25 21  |=file$.)|0wimp%!|
00003870  30 3d 73 61 76 65 25 3a  77 69 6d 70 25 21 34 3d  |0=save%:wimp%!4=|
00003880  31 3a 77 69 6d 70 25 21  38 3d 30 3a 77 69 6d 70  |1:wimp%!8=0:wimp|
00003890  25 21 31 32 3d 30 0d 29  86 13 c8 99 32 36 32 33  |%!12=0.)....2623|
000038a0  34 39 2c 2c 77 69 6d 70  25 0d 29 9a 20 c8 99 32  |49,,wimp%.). ..2|
000038b0  36 32 33 35 34 2c 73 61  76 65 25 2c 31 2c 2c 2c  |62354,save%,1,,,|
000038c0  2d 31 2c a9 66 69 6c 65  24 0d 29 a4 13 f2 4e 28  |-1,.file$.)...N(|
000038d0  66 69 6c 65 24 2c 73 61  76 65 25 29 0d 29 ae 06  |file$,save%).)..|
000038e0  c9 33 0d 29 b8 26 74 79  70 65 24 3d a4 47 28 77  |.3.).&type$=.G(w|
000038f0  69 6d 70 25 21 34 30 29  3a f2 68 28 66 69 6c 65  |imp%!40):.h(file|
00003900  24 2c 74 79 70 65 24 29  0d 29 c2 05 cb 0d 29 cc  |$,type$).)....).|
00003910  05 e1 0d 29 e0 0f dd a4  42 28 61 72 72 61 79 25  |...)....B(array%|
00003920  29 0d 29 ea 0d ea 73 24  3a 73 24 3d 22 22 0d 29  |).)...s$:s$="".)|
00003930  f4 3b c8 95 28 3f 61 72  72 61 79 25 3c 3e 31 33  |.;..(?array%<>13|
00003940  29 80 28 3f 61 72 72 61  79 25 3c 3e 30 29 3a 73  |).(?array%<>0):s|
00003950  24 2b 3d bd 28 3f 61 72  72 61 79 25 29 3a 61 72  |$+=.(?array%):ar|
00003960  72 61 79 25 2b 3d 31 3a  ce 0d 29 fe 07 3d 73 24  |ray%+=1:..)..=s$|
00003970  0d 2a 12 0b dd a4 44 28  66 24 29 0d 2a 1c 0f c8  |.*....D(f$).*...|
00003980  8e a7 66 24 2c 22 2e 22  29 ca 0d 2a 26 0a c9 30  |..f$,".")..*&..0|
00003990  3a 3d 66 24 0d 2a 30 1d  7f 3d a4 44 28 c2 66 24  |:=f$.*0..=.D(.f$|
000039a0  2c a9 28 66 24 29 2d a7  66 24 2c 22 2e 22 29 29  |,.(f$)-.f$,"."))|
000039b0  29 0d 2a 3a 05 cb 0d 2a  4e 0e dd a4 47 28 74 79  |).*:...*N...G(ty|
000039c0  70 65 25 29 0d 2a 58 0c  c8 8e 74 79 70 65 25 ca  |pe%).*X...type%.|
000039d0  0d 2a 62 11 c9 34 30 39  35 3a 3d 22 54 65 78 74  |.*b..4095:="Text|
000039e0  22 0d 2a 6c 11 c9 34 30  39 33 3a 3d 22 44 61 74  |".*l..4093:="Dat|
000039f0  61 22 0d 2a 76 12 c9 34  30 39 31 3a 3d 22 42 61  |a".*v..4091:="Ba|
00003a00  73 69 63 22 0d 2a 80 13  c9 34 30 38 39 3a 3d 22  |sic".*...4089:="|
00003a10  53 70 72 69 74 65 22 0d  2a 8a 14 c9 34 30 37 37  |Sprite".*...4077|
00003a20  3a 3d 22 50 61 6c 65 74  74 65 22 0d 2a 94 15 c9  |:="Palette".*...|
00003a30  34 30 37 36 3a 3d 22 54  65 6d 70 6c 61 74 65 22  |4076:="Template"|
00003a40  0d 2a 9e 11 c9 32 38 31  35 3a 3d 22 44 72 61 77  |.*...2815:="Draw|
00003a50  22 0d 2a a8 13 c9 34 30  39 36 3a 3d 22 46 6f 6c  |".*...4096:="Fol|
00003a60  64 65 72 22 0d 2a b2 18  c9 38 31 39 32 3a 3d 22  |der".*...8192:="|
00003a70  41 70 70 6c 69 63 61 74  69 6f 6e 22 0d 2a bc 0f  |Application".*..|
00003a80  7f 3d c3 7e 28 74 79 70  65 25 29 0d 2a c6 05 cb  |.=.~(type%).*...|
00003a90  0d ff                                             |..|
00003a92