Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- REM "HAPPY NEW YEAR"
- REM For 'BBC BASIC for Windows'
- REM Not compatible with BBCSDL
- REM Made in one heck of a rush, and is not intended to be 'instructive'
- *ESC OFF
- ON ERROR OSCLI "REFRESH ON" : CLS : ON : VDU 7 : PRINT REPORT$ + " at line " + STR$ERL; : REPEAT UNTIL INKEY(1)=0
- Wait% = FALSE : REM Set to TRUE to reduce CPU usage (will probably hugely slow it down)
- PROCFixWindowSize
- WinW% = 640
- WinH% = 480
- VDU 23, 22, WinW%; WinH%; 8, 16, 16, 0 : OFF
- DIM gfx{ bmBuffAddr%, bmBuffW%, bmBuffH%, \
- \ flags{paint&, flipY&}}
- PROCasm
- DIM BITMAPINFOHEADER{Size%, Width%, Height%, Planes{l&,h&}, BitCount{l&,h&}, \
- \ Compression%, SizeImage%, XPelsPerMeter%, YPelsPerMeter%, \
- \ ClrUsed%, ClrImportant%}
- DIM bmi{Header{} = BITMAPINFOHEADER{}, Palette%(255)}
- bmi.Header.Size% = DIM(BITMAPINFOHEADER{})
- bmi.Header.Width% = @vdu%!208
- bmi.Header.Height% = @vdu%!212
- bmi.Header.Planes.l& = 1
- bmi.Header.BitCount.l& = 8
- DIM hpndata% 32768
- s% = FNget_data_string
- i% = 0
- FOR I% = 0 TO LEN($s%)-1 STEP 2
- hpndata%?i% = EVAL("&" + CHR$(s%?I%) + CHR$(s%?(I%+1)) )
- i% += 1
- NEXT I%
- npts% = hpndata%!0
- DIM u%(npts%-1), v%(npts%-1)
- FOR I% = 0 TO npts%-1
- u%(I%) = (hpndata%!(4 + 4*I%)) AND &FFFF
- v%(I%) = ((hpndata%!(4 + 4*I%)) AND &FFFF0000) >>> 16
- NEXT
- RESTORE
- FOR I% = 0 TO 255
- READ rgb%
- r& = rgb% >> 16
- g& = rgb% >> 8
- b& = rgb%
- bmi.Palette%(I%) = b& + (g&<<8) + (r&<<16)
- NEXT I%
- SYS "CreateDIBSection", @memhdc%, bmi{}, 0, ^bits%, 0, 0 TO hbitmap%
- IF hbitmap% = 0 ERROR 100, "Couldn't create DIBSection"
- SYS "SelectObject", @memhdc%, hbitmap% TO oldhbm%
- SYS "DeleteObject", oldhbm%
- CLS : OFF
- gfx.bmBuffAddr% = bits%
- gfx.bmBuffW% = @vdu%!208
- gfx.bmBuffH% = @vdu%!212
- gfx.flags.paint& = 1
- gfx.flags.flipY& = 0
- sprSz% = 31
- DIM spr% sprSz%^2
- FOR Y% = 0 TO sprSz%-1
- FOR X% = 0 TO sprSz%-1
- d = SQR( (sprSz%/2 - X%)^2 + (sprSz%/2 - Y%)^2 )
- IF d < sprSz%/2 THEN
- spr%?(sprSz%*Y% + X%) = 255
- ENDIF
- NEXT
- NEXT
- N% = npts%
- DIM x%(N%-1), L%(N%-1), y(N%-1), yv(N%-1), ya(N%-1)
- FOR I% = 0 TO N%-1
- PROCnew
- NEXT
- B% = spr%
- D% = gfx{}
- P% = GFXLIB_PlotShape%
- K% = sprSz%/2
- S% = sprSz%
- *REFRESH OFF
- REPEAT
- CLS
- FOR I% = 0 TO N%-1
- SYS P%, D%, B%, S%, S%, x%(I%)-K%, y(I%)-K%
- IF L%(I%) > 0 THEN
- L%(I%) - =1
- ELSE
- PROCnew
- ENDIF
- y(I%) += yv(I%)
- yv(I%) += ya(I%)
- NEXT
- SYS "InvalidateRect", @hwnd%, 0, 0
- *REFRESH
- IF Wait% THEN WAIT 1
- UNTIL FALSE
- END
- :
- :
- :
- :
- DEF PROCnew
- a = 2*PI*RND(1)
- r = 8*RND(1)
- i% = RND(N%)-1
- REMx%(I%) = WinW%/2 + r*SINa
- REMy(I%) = 32 + r*COSa
- x%(I%) = u%(i%) + r*SINa
- y(I%) = v%(i%) + r*COSa
- L%(I%) = 50 + RND(100)
- ya(I%) = 0.001 + 0.005*RND(1)
- yv(I%) = ya(I%)*RND(100)
- ENDPROC
- :
- :
- :
- :
- DEF PROCasm
- LOCAL I%, P%, code%, varsblk%
- _gBMBUFFADDR = ^gfx.bmBuffAddr% - gfx{}
- _gBMBUFFW = ^gfx.bmBuffW% - gfx{}
- _gBMBUFFH = ^gfx.bmBuffH% - gfx{}
- _gPAINTF = ^gfx.flags.paint& - gfx{}
- _gFLIPYF = ^gfx.flags.flipY& - gfx{}
- DIM GFXLIB_clip{ skip1%, skip2%, skip3%, skip4%, check_y%, set_plotflag%, exit% }
- DIM GFXLIB_Plot{ cont%, xloop%, yloop%, next_pxl%, exit% }
- DIM GFXLIB_PlotShape{ cont%, xloop%, yloop%, next_pxl%, exit% }
- DIM code% 32767, varsblk% 4096
- FOR I% = 0 TO 2 STEP 2
- P% = code%
- [OPT I%
- .GFXLIB_PlotShape%
- ;
- ; SYS GFXLIB_PlotShape%, gfx{}, bmAddr, bmW, bmH, x, y
- ;
- ;----*----*----*----*----*----*----*----|
- pushad
- ;REM. ESP +36 = gfx
- ;REM. ESP +40 = bmAddr
- ;REM. ESP +44 = bmW
- ;REM. ESP +48 = bmH
- ;REM. ESP +52 = x
- ;REM. ESP +56 = y
- ;REM. ------------------------------------------------------
- ;REM. Setup the entry params for the bitmap clipping routine
- ;REM. ------------------------------------------------------
- mov eax, [esp + 36] ; EAX = ptr to gfx{} struct
- test BYTE [eax + _gPAINTF], &FF
- jz near GFXLIB_PlotShape.exit%
- test BYTE [eax + _gFLIPYF], &FF
- jz GFXLIB_PlotShape.cont%
- ;REM. Flip Y-coord
- mov ebx, [eax + 8] ; EBX = gfx.bmBuffH%
- sub ebx, [esp + 56] ; = gfx.bmBuffH% - y
- sub ebx, [esp + 48] ; = gfx.bmBuffH% - y - bmH
- mov [esp + 56], ebx ; store new Y
- .GFXLIB_PlotShape.cont%
- ;REM. copy GFXLIB_PlotShape's entry vars from the stack to varsblk% (this makes life easier)
- mov ebx,[esp+40] : mov [varsblk%+64],ebx ; varsblk%+64 = bmAddr
- mov ebx,[esp+44] : mov [varsblk%+68],ebx ; varsblk%+68 = bmW
- mov ebx,[esp+48] : mov [varsblk%+72],ebx ; varsblk%+72 = bmH
- mov ebx,[esp+52] : mov [varsblk%+76],ebx ; varsblk%+76 = x
- mov ebx,[esp+56] : mov [varsblk%+80],ebx ; varsblk%+80 = y
- ;REM. Call the clipping routine (GFXLIB_clip) after PUSHing the required vars onto the stack
- ;REM. SYS GFXLIB_clip, gfx, bmW, bmH, bmX, bmY, clipValsBlk
- push (varsblk%+128) ; ptr to clipValsBlk
- push dword [varsblk%+80] ; y
- push dword [varsblk%+76] ; x
- push dword [varsblk%+72] ; bmH
- push dword [varsblk%+68] ; bmW
- push eax ; ptr to params blk
- call GFXLIB_clip%
- ;REM.
- ;REM. clipValsBlk
- ;REM.
- ;REM. +128 PlotShapeFlag (TRUE or FALSE) - if FALSE, do not attempt to PlotShape/display bitmap
- ;REM. +132 clipFlag (TRUE or FALSE) - if TRUE then clipping is required
- ;REM. +136 startX
- ;REM. +140 startY
- ;REM. +144 numRows
- ;REM. +148 rowLen
- ;REM. +152 skipRows
- ;REM. +156 skipPxls
- ;REM.
- cmp [varsblk%+128], dword TRUE ; check PlotShapeFlag
- jne GFXLIB_PlotShape.exit% ; exit if PlotShapeFlag=FALSE
- ;----*----*----*----*----*----*----*----|
- ; EAX = ptr to params blk
- mov ebx, [eax + 0] ; load base addr of 'bmp buffer' (bmpBuffAddr)
- mov ecx, [varsblk% + 140] ; startY
- imul ecx, [eax + 4] ; = startY*bmpBuffW
- add ecx, [varsblk% + 136] ; = startY*bmpBuffW + startX
- ;REM shl ecx, 2 ; = 4*(startY*bmpBuffW + startX)
- add ecx, ebx ; = bmpBuffAddr + 4*(startY*bmpBuffW + startX)
- mov edi, [varsblk% + 64] ; bmAddr
- mov ebx, [varsblk% + 152] ; skipRows
- add ebx, [varsblk% + 156] ; skipRows+skipPxls
- ;REM shl ebx, 2 ; 4*(skipRows + skipPxls)
- add edi, ebx ; bmAddr += 4*(skipRows + skipPxls)
- mov ebp, [varsblk% + 68] ; bmW
- ;REM shl ebp, 2 ; = 4*bmW
- mov eax, [eax + 4] ; bmBuffW
- ;REM shl eax, 2 ; = 4*bmBuffW
- mov esi, [varsblk% + 144] ; numRows (Y-loop counter)
- dec esi ; numRows -= 1
- .GFXLIB_PlotShape.yloop%
- push esi ; preserve ESI (Y-loop counter)
- mov esi, [varsblk% + 148] ; rowLen (X-loop counter)
- dec esi ; rowLen -= 1
- .GFXLIB_PlotShape.xloop%
- movzx edx, BYTE [edi + esi] ; load byte from source bitmap
- test dl, &FF ; is it 0 ?
- jz GFXLIB_PlotShape.next_pxl% ; skip (i.e. don't PlotShape) if so
- cmp BYTE [ecx + esi], &FF ; test dest byte
- je GFXLIB_PlotShape.next_pxl% ; skip if = 255
- ; inc BYTE [ecx + esi] ; inc dest byte
- add BYTE [ecx + esi], 2
- .GFXLIB_PlotShape.next_pxl%
- dec esi ; X -= 1
- jge GFXLIB_PlotShape.xloop% ; loop if X >= 0
- add edi, ebp ; bmAddr += 4*bmW
- add ecx, eax ; bmBuffAddr += 4*bmBuffW
- pop esi ; recover numRows (Y-loop)
- dec esi ; Y -= 1
- jge GFXLIB_PlotShape.yloop% ; loop if Y >= 0
- .GFXLIB_PlotShape.exit%
- popad
- ret (6*4)
- .GFXLIB_clip% ; for internal use only
- ; SYS GFXLIB_clip, gfx, bmW, bmH, bmX, bmY, clipValsBlk
- ;
- ; On exit:
- ;
- ; clipValsBlk
- ;
- ; +0 plotFlag (TRUE or FALSE) - if FALSE, do not attempt to plot/display bitmap
- ; +4 clipFlag (TRUE or FALSE) - if TRUE, bitmap needs to be clipped
- ; +8 startX
- ; +12 startY
- ; +16 numRows
- ; +20 rowLen
- ; +24 skipRows
- ; +28 skipPxls
- ;
- pushad
- ; ESP+36 = gfx
- ; ESP+40 = bmW
- ; ESP+44 = bmH
- ; ESP+48 = x
- ; ESP+52 = y
- ; ESP+56 = clipValsBlk
- ;----*----*----*----*----*----*----*----|
- mov ebp, [esp + 56] ; EBP = ptr to clipvarsblk%
- ; init. clipVarlBlk
- mov [ebp + 0], dword FALSE ; plotFlag
- mov [ebp + 4], dword FALSE ; clipFlag
- mov eax,[esp+48] : mov [ebp + 8],eax ; startX = bmX
- mov eax,[esp+52] : mov [ebp +12],eax ; startY = bmY
- mov eax,[esp+44] : mov [ebp +16],eax ; numRows = bmH
- mov eax,[esp+40] : mov [ebp +20],eax ; rowLen = bmW
- mov [ebp +24], dword 0 ; skipRows
- mov [ebp +28], dword 0 ; skipPxls
- cmp [esp+40], dword 0 ; is bmW <= 0 ?
- jle near GFXLIB_clip.exit%
- cmp [esp+44], dword 0 ; is bmH <= 0 ?
- jle near GFXLIB_clip.exit%
- mov esi, [esp + 36] ; load ptr to params blk
- mov eax, [esp + 48] ; load bmX
- mov ebx, [esp + 52] ; load bmY
- cmp eax, [esi + 4] ; is bmX >= bmpBuffW ?
- jge near GFXLIB_clip.exit%
- mov ecx, [esp+40] ; bmW
- neg ecx ; -bmW
- cmp eax, ecx ; is bmX <= -bmW
- jle near GFXLIB_clip.exit%
- cmp ebx, [esi + 8] ; is bmY >= bmpBuffH ?
- jge near GFXLIB_clip.exit%
- mov ecx, [esp+44] ; bmH
- neg ecx ; -bmH
- cmp ebx, ecx ; is bmY <= -bmH
- jle near GFXLIB_clip.exit%
- ;REM IF bmX% < 0 AND (bmX% + bmW%) < bmBuffW% THEN
- ;REM clip% = TRUE
- ;REM rowlen% += bmX%
- ;REM skippxls% = -bmX%
- ;REM x`% = 0
- ;REM ENDIF
- cmp eax, 0 ; bmX < 0 ?
- jge near GFXLIB_clip.skip1%
- mov ecx, [esp+40] ; ecx = bmW
- add ecx, eax ; = bmX + bmW
- cmp ecx, [esi+4] ; (bmX + bmW) < bmpBuffW ?
- jge near GFXLIB_clip.skip1%
- mov [ebp+4], dword TRUE ; clipFlag = TRUE
- add [ebp+20], eax ; rowLen += bmX (note bmX is -ve)
- mov [ebp+28], eax ; skipPxls = -bmX
- neg dword [ebp+28] ;
- mov [ebp+8], dword 0 ; startX = 0
- .GFXLIB_clip.skip1%
- ;REM IF bmX% > bmBuffW%-bmW% THEN
- ;REM clip% = TRUE
- ;REM rowlen% = bmBuffW% - bmX%
- ;REM ENDIF
- mov ecx, [esi+4] ; ecx = bmpBuffW
- mov edx, ecx ; copy ecx
- sub ecx, [esp+40] ; ecx -= bmW
- cmp eax, ecx ; is bmX > bmpBuffW-bmW ?
- jle near GFXLIB_clip.skip2%
- mov [ebp+4], dword TRUE ; clipFlag = TRUE
- sub edx, eax ; bmpBuffW - bmX
- mov [ebp+20], edx ; rowLen = bmpBuffW - bmX
- .GFXLIB_clip.skip2%
- ;REM IF bmX% < 0 AND (bmX% + bmW%) >= bmBuffW% THEN
- ;REM clip% = TRUE
- ;REM rowlen% = bmBuffW%
- ;REM skippxls% = -bmX%
- ;REM x`% = 0
- ;REM ENDIF
- cmp eax, 0
- jge near GFXLIB_clip.check_y%
- mov ecx, [esp+40] ; ecx = bmW
- add ecx, eax ; = bmX + bmW
- cmp ecx, [esi+4] ; is (bmX+bmW) >= bmpBuffW ?
- jl near GFXLIB_clip.check_y%
- mov [ebp+4], dword TRUE ; clipFlag = TRUE
- mov ecx, [esi+4] ; bmpBuffW
- mov [ebp+20], ecx ; rowLen = bmpBuffW
- mov ecx, eax ; ecx = bmX
- neg ecx ; = -bmX
- mov [ebp+28], ecx ; skipPxls = -bmX
- mov [ebp+8], dword 0 ; startX = 0
- .GFXLIB_clip.check_y%
- ;REM IF bmY% < 0 AND (bmY% + bmH%) < bmBuffH% THEN
- ;REM clip% = TRUE
- ;REM numrows% += bmY%+bmH%
- ;REM skiprows% -= bmW%*bmY%
- ;REM y`% = 0
- ;REM ENDIF
- cmp ebx, 0 ; bmY < 0 ?
- jge near GFXLIB_clip.skip3%
- mov ecx, [esp+44] ; ecx = bmH
- mov edx, ecx ; copy ecx (bmH)
- add ecx, ebx ; bmY + bmH
- cmp ecx, [esi+8] ; is (bmY+bmH) < bmpBuffH ?
- jge near GFXLIB_clip.skip3%
- mov [ebp+4], dword TRUE ; clipFlag = TRUE
- mov [ebp+16], ebx ; numRows = bmY
- add [ebp+16], edx ; = bmY+bmH
- mov ecx, ebx ; ecx = bmY
- imul ecx, [esp+40] ; = bmY*bmW
- sub [ebp+24], ecx ; skipRows -= bmY*bmW
- mov [ebp+12], dword 0 ; startY = 0
- .GFXLIB_clip.skip3%
- ;REM IF bmY% > bmBuffH%-bmH% THEN
- ;REM clip% = TRUE
- ;REM numrows% = bmBuffH% - bmY%
- ;REM ENDIF
- mov ecx, [esi+8] ; ecx = bmpBuffH
- sub ecx, [esp+44] ; = bmpBuffH - bmH
- cmp ebx, ecx ; is bmY > (bmpBuffH-bmH) ?
- jle near GFXLIB_clip.skip4%
- mov [ebp+4], dword TRUE ; clipFlag = TRUE
- mov ecx, [esi+8] ; ecx = bmpBuffH
- sub ecx, ebx ; bmpBuffH-bmY
- mov [ebp+16], ecx ; numRows = bmpBuffH-bmY
- .GFXLIB_clip.skip4%
- ;REM IF bmY% < 0 AND (bmY% + bmH%) >= bmBuffH% THEN
- ;REM clip% = TRUE
- ;REM numrows% = bmBuffH%
- ;REM skiprows% -= bmW%*bmY%
- ;REM y`% = 0
- ;REM ENDIF
- cmp ebx, 0 ; is bmY < 0 ?
- jge GFXLIB_clip.set_plotflag%
- mov ecx, [esp+44] ; ecx = bmH
- add ecx, ebx ; ecx = bmY+bmH
- cmp ecx, [esi+8] ; is (bmY+bmH) >= bmpBuffH ?
- jl GFXLIB_clip.set_plotflag%
- mov [ebp+4], dword TRUE ; clipFlag = TRUE
- mov ecx, [esi+8] ; ecx = bmpBuffH
- mov [ebp+16], ecx ; numRows = bmpBuffH
- mov ecx, [esp+40]
- imul ecx, ebx ; bmW*bmY
- sub [ebp+24], ecx ; skipRows -= bmW*bmY
- mov [ebp+12], dword 0 ; startY = 0
- .GFXLIB_clip.set_plotflag%
- mov [ebp+0], dword TRUE ; plot flag = TRUE
- .GFXLIB_clip.exit%
- popad
- ret (6*4)
- ]
- NEXT I%
- ENDPROC
- DEF PROCFixWindowSize
- REM GWL_STYLE = -16
- REM WS_THICKFRAME = &40000
- REM WS_MAXIMIZEBOX = &10000
- REM SYS "GetWindowLong", @hwnd%, GWL_STYLE TO ws%
- REM SYS "SetWindowLong", @hwnd%, GWL_STYLE, ws% AND NOT WS_THICKFRAME \
- REM \ AND NOT WS_MAXIMIZEBOX
- LOCAL W%
- SYS "GetWindowLong", @hwnd%, -16 TO W%
- SYS "SetWindowLong", @hwnd%, -16, W% AND NOT &40000 AND NOT &10000
- ENDPROC
- DEF FNget_data_string
- LOCAL S%
- DIM S% 32768
- $S%="6F0D000078002E003A022E0078002F0046012F00B1012F00D6012F0039022F007800300047013000B0013000D6013000380230007800310047013100B0013100"
- $S%+="D60131003702310078003200D3003200D4003200D5003200D6003200D7003200D8003200D9003200DA003200DB003200DC003200DD003200DE003200DF003200"
- $S%+="E0003200E1003200E2003200E3003200E4003200E5003200E6003200E7003200E8003200E9003200EA003200EB003200EC003200ED003200EE003200EF003200"
- $S%+="F0003200F1003200F2003200F3003200F4003200F5003200F6003200F7003200F8003200F9003200FA003200FB003200FC003200FD003200FE003200FF003200"
- $S%+="000132000101320002013200030132000401320005013200060132000701320008013200090132000A0132000B0132000C0132000D0132000E0132000F013200"
- $S%+="100132001101320012013200130132001401320015013200160132001701320018013200190132001A0132001B0132001C0132001D0132001E0132001F013200"
- $S%+="200132002101320022013200230132002401320025013200260132002701320028013200290132002A0132002B0132002C0132002D0132002E0132002F013200"
- $S%+="48013200AF013200D60132003602320078003300D300330049013300AE013300D60133003502330078003400D300340049013400AE013400D601340034023400"
- $S%+="78003500D30035004A013500AD013500D60135003302350078003600D30036004A013600AC013600D60136003202360078003700D30037004B013700AC013700"
- $S%+="D60137003102370078003800D30038004C013800AB013800D60138003002380078003900D30039004C013900AA013900D60139002F02390078003A00D3003A00"
- $S%+="4D013A00AA013A00D6013A002E023A0078003B00D3003B004E013B00A9013B00D6013B002D023B0078003C00D3003C004E013C00A8013C00D6013C002C023C00"
- $S%+="78003D00D3003D004F013D00A8013D00D6013D002B023D0078003E00D3003E0050013E00A7013E00D6013E002A023E0078003F00D3003F0050013F00A6013F00"
- $S%+="D6013F0029023F0078004000D300400051014000A6014000D60140002802400078004100D300410051014100A5014100D60141002702410078004200D3004200"
- $S%+="52014200A4014200D60142002602420078004300D300430053014300A4014300D60143002502430078004400D300440053014400A3014400D601440024024400"
- $S%+="78004500D300450054014500A2014500D60145002302450078004600D300460055014600A2014600D60146002202460078004700D300470055014700A1014700"
- $S%+="D60147002102470078004800D300480056014800A0014800D60148002002480078004900D300490056014900A0014900D60149001F02490078004A00D3004A00"
- $S%+="57014A009F014A00D6014A001E024A0078004B00D3004B0058014B009E014B00D6014B001C024B001D024B0078004C00D3004C0058014C0059014C005A014C00"
- $S%+="5B014C005C014C005D014C005E014C005F014C0060014C0061014C0062014C0063014C0064014C0065014C0066014C0067014C0068014C0069014C006A014C00"
- $S%+="6B014C006C014C006D014C006E014C006F014C0070014C0071014C0072014C0073014C0074014C0075014C0076014C0077014C0078014C0079014C007A014C00"
- $S%+="7B014C007C014C007D014C007E014C007F014C0080014C0081014C0082014C0083014C0084014C0085014C0086014C0087014C0088014C0089014C008A014C00"
- $S%+="8B014C008C014C008D014C008E014C008F014C0090014C0091014C0092014C0093014C0094014C0095014C0096014C0097014C0098014C0099014C009A014C00"
- $S%+="9B014C009C014C009D014C009E014C00D6014C001B024C0078004D00D3004D0059014D009D014D00D6014D001A024D0078004E00D3004E005A014E009C014E00"
- $S%+="D6014E0018024E0019024E0078004F00D3004F005A014F009C014F00D6014F0017024F0078005000D30050005B0150009B015000D60150001602500078005100"
- $S%+="D30051005C0151009A015100D6015100140251001502510078005200D30052005C0152009A015200D6015200130252007800530079005300D30053005D015300"
- $S%+="99015300D601530012025300770054007A005400D30054005D01540098015400D60154001002540011025400760055007B005500D30055005E01550098015500"
- $S%+="D60155000E0255000F025500750056007C005600D30056005F01560097015600D60156000C0256000D025600740057007D005700D30057005F01570096015700"
- $S%+="D60157000A0257000B025700730058007E005800D30058006001580096015800D601580009025800720059007F005900D30059006101590095015900D6015900"
- $S%+="D7015900D8015900D9015900DA015900DB015900DC015900DD015900DE015900DF015900E0015900E1015900E2015900E3015900E4015900E5015900E6015900"
- $S%+="E7015900E8015900E9015900EA015900EB015900EC015900ED015900EE015900EF015900F0015900F1015900F2015900F3015900F4015900F5015900F6015900"
- $S%+="F7015900F8015900F9015900FA015900FB015900FC015900FD015900FE015900FF01590000025900010259000202590003025900040259000502590006025900"
- $S%+="0702590008025900090259000A02590071005A0080005A00D3005A00D4005A00D5005A00D6005A00D7005A00D8005A00D9005A00DA005A00DB005A00DC005A00"
- $S%+="DD005A00DE005A00DF005A00E0005A00E1005A00E2005A00E3005A00E4005A00E5005A00E6005A00E7005A00E8005A00E9005A00EA005A00EB005A00EC005A00"
- $S%+="ED005A00EE005A00EF005A00F0005A00F1005A00F2005A00F3005A00F4005A00F5005A00F6005A00F7005A00F8005A00F9005A00FA005A00FB005A00FC005A00"
- $S%+="FD005A00FE005A00FF005A0000015A0001015A0002015A0003015A0004015A0005015A0006015A0007015A0008015A0009015A000A015A000B015A000C015A00"
- $S%+="0D015A000E015A000F015A0010015A0011015A0012015A0013015A0014015A0015015A0016015A0017015A0018015A0019015A001A015A001B015A001C015A00"
- $S%+="1D015A001E015A001F015A0020015A0021015A0022015A0023015A0024015A0025015A0026015A0061015A0094015A00D6015A000B025A000C025A000D025A00"
- $S%+="0E025A000F025A0010025A0011025A0012025A0013025A0014025A0015025A0016025A0070005B0081005B00D3005B0062015B0093015B00D6015B0017025B00"
- $S%+="18025B0019025B001A025B001B025B001C025B001D025B006F005C0082005C00D3005C0063015C0093015C00D6015C001E025C001F025C006E005D0083005D00"
- $S%+="D3005D0063015D0092015D00D6015D0020025D0021025D0022025D006D005E0084005E00D3005E0064015E0091015E00D6015E0023025E0024025E006C005F00"
- $S%+="85005F0086005F00D3005F0064015F0091015F00D6015F0025025F0026025F0027025F006B00600087006000D30060006501600090016000D601600028026000"
- $S%+="290260006A00610088006100D3006100660161008F016100D60161002A0261002B0261006900620089006200D3006200660162008F016200D60162002C026200"
- $S%+="680063008A006300D3006300670163008E016300D60163002D026300670064008B006400D3006400680164008D016400D60164002E026400660065008C006500"
- $S%+="D3006500680165008D016500D60165002F026500650066008D006600D3006600690166008C016600D60166002F026600640067008E006700D30067006A016700"
- $S%+="8B016700D601670030026700630068008F006800D30068006A0168008B016800D6016800310268006200690090006900D30069006B0169008A016900D6016900"
- $S%+="3202690061006A0091006A00D3006A006B016A0089016A00D6016A0032026A005F006B0060006B0092006B00D3006B006C016B0089016B00D6016B0032026B00"
- $S%+="5E006C0093006C00D3006C006D016C0088016C00D6016C0031026C005D006D0094006D00D3006D006D016D0087016D00D6016D0031026D005C006E0095006E00"
- $S%+="D3006E006E016E0087016E00D6016E0031026E005B006F0096006F00D3006F006F016F0086016F00D6016F0031026F005A00700097007000D30070006F017000"
- $S%+="85017000D6017000310270005900710098007100D30071007001710085017100D6017100300271005800720099007200D30072007001720084017200D6017200"
- $S%+="30027200570073009A007300D30073007101730083017300D601730030027300560074009B007400D30074007201740083017400D60174002F02740055007500"
- $S%+="9C007500D30075007201750082017500D60175002E027500540076009D007600D30076007301760081017600D60176002D027600530077009E007700D3007700"
- $S%+="7401770081017700D60177002C027700520078009F007800A0007800D30078007401780080017800D60178002B02780051007900A1007900D300790075017900"
- $S%+="7F017900D60179002A02790050007A00A2007A00D3007A0076017A007F017A00D6017A0029027A004F007B00A3007B00D3007B0076017B007E017B00D6017B00"
- $S%+="27027B0028027B004E007C00A4007C00D3007C0077017C007D017C00D6017C0025027C0026027C004D007D00A5007D00D3007D0077017D007D017D00D6017D00"
- $S%+="23027D0024027D004C007E00A6007E00D3007E0078017E007C017E00D6017E0021027E0022027E004B007F00A7007F00D3007F0079017F007B017F00D6017F00"
- $S%+="1B027F001C027F001D027F001E027F001F027F0020027F004A008000A8008000D3008000D4008000D5008000D6008000D7008000D8008000D9008000DA008000"
- $S%+="DB008000DC008000DD008000DE008000DF008000E0008000E1008000E2008000E3008000E4008000E5008000E6008000E7008000E8008000E9008000EA008000"
- $S%+="EB008000EC008000ED008000EE008000EF008000F0008000F1008000F2008000F3008000F4008000F5008000F6008000F7008000F8008000F9008000FA008000"
- $S%+="FB008000FC008000FD008000FE008000FF008000000180000101800002018000030180000401800005018000060180000701800008018000090180000A018000"
- $S%+="0B0180000C0180000D0180000E0180000F018000100180001101800012018000130180001401800015018000160180001701800018018000190180001A018000"
- $S%+="1B0180001C0180001D0180001E0180001F018000200180002101800022018000230180002401800025018000260180002701800028018000290180002A018000"
- $S%+="2B0180002C0180002D018000790180007B018000D6018000D7018000D8018000D9018000DA018000DB018000DC018000DD018000DE018000DF018000E0018000"
- $S%+="E1018000E2018000E3018000E4018000E5018000E6018000E7018000E8018000E9018000EA018000EB018000EC018000ED018000EE018000EF018000F0018000"
- $S%+="F1018000F2018000F3018000F4018000F5018000F6018000F7018000F8018000F9018000FA018000FB018000FC018000FD018000FE018000FF01800000028000"
- $S%+="0102800002028000030280000402800005028000060280000702800008028000090280000A0280000B0280000C0280000D0280000E0280000F02800010028000"
- $S%+="1102800012028000130280001402800015028000160280001702800018028000190280001A02800049008100A90081007A01810048008200AA00820047008300"
- $S%+="AB00830046008400AC0084005200BA00BA00BA005200BB00B900BB00BA00BB005200BC00B700BC00B800BC00BA00BC00F701BC005200BD00B600BD00BA00BD00"
- $S%+="F601BD00F701BD005200BE00B500BE00BA00BE009701BE00F601BE00F801BE005200BF00B400BF00BA00BF009701BF009801BF00F501BF00F801BF005200C000"
- $S%+="B200C000B300C000BA00C000EE00C000EF00C000F000C000F100C000F200C000F300C000F400C000F500C000F600C000F700C000F800C000F900C000FA00C000"
- $S%+="FB00C000FC00C000FD00C000FE00C000FF00C0000001C0000101C0000201C0000301C0000401C0000501C0000601C0000701C0000801C0000901C0000A01C000"
- $S%+="0B01C0000C01C0000D01C0000E01C0000F01C0001001C0001101C0001201C0001301C0001401C0001501C0001601C0001701C0001801C0001901C0001A01C000"
- $S%+="1B01C0001C01C0001D01C0001E01C0001F01C0002001C0002101C0002201C0002301C0002401C0002501C0002601C0002701C0002801C0002901C0002A01C000"
- $S%+="2B01C0002C01C0002D01C0002E01C0002F01C0003001C0003101C0003201C0003301C0003401C0003501C0003601C0003701C0003801C0003901C0003A01C000"
- $S%+="3B01C0003C01C0003D01C0003E01C0003F01C0004001C0004101C0004201C0004301C0004401C0004501C0004601C0004701C0004801C0004901C0004A01C000"
- $S%+="4B01C0004C01C0004D01C0004E01C0004F01C0005001C0005101C0005201C0005301C0005401C0005501C0009601C0009801C000F501C000F901C0005200C100"
- $S%+="B100C100BA00C100EE00C1009601C1009901C100F401C100F901C1005200C200B000C200BA00C200EE00C2009501C2009901C200F401C200FA01C2005200C300"
- $S%+="AF00C300BA00C300EE00C3009501C3009A01C300F301C300FA01C3005200C400AD00C400AE00C400BA00C400EE00C4009401C4009A01C400F301C400FB01C400"
- $S%+="5200C500AC00C500BA00C500EE00C5009401C5009B01C500F201C500FB01C5005200C600AB00C600BA00C600EE00C6009301C6009C01C600F101C600FC01C600"
- $S%+="5200C700AA00C700BA00C700EE00C7009301C7009C01C700F101C700FC01C7005200C800A900C800BA00C800EE00C8009201C8009D01C800F001C800FC01C800"
- $S%+="5200C900A700C900A800C900BA00C900EE00C9009201C9009D01C900F001C900FD01C9005200CA00A600CA00BA00CA00EE00CA009201CA009E01CA00EF01CA00"
- $S%+="FD01CA005200CB00A500CB00BA00CB00EE00CB009101CB009E01CB00EF01CB00FE01CB005200CC00A400CC00BA00CC00EE00CC009101CC009F01CC00EE01CC00"
- $S%+="FE01CC005200CD00A200CD00A300CD00BA00CD00EE00CD009001CD00A001CD00EE01CD00FF01CD005200CE00A100CE00BA00CE00EE00CE009001CE00A001CE00"
- $S%+="ED01CE00FF01CE005200CF00A000CF00BA00CF00EE00CF008F01CF00A101CF00EC01CF000002CF005200D0009F00D000BA00D000EE00D0008F01D000A101D000"
- $S%+="EC01D0000002D0005200D1009D00D1009E00D100B900D100EE00D1008E01D100A201D100EB01D1000102D1005200D2009C00D200B900D200EE00D2008E01D200"
- $S%+="A201D200EB01D2000102D2005200D3009B00D300B900D300EE00D3008D01D300A301D300EA01D3000102D3005200D4009A00D400B900D400EE00D4008D01D400"
- $S%+="A401D400EA01D4000202D4005200D5009800D5009900D500B900D500EE00D5008D01D500A401D500E901D5000202D5005200D6009700D600B900D600EE00D600"
- $S%+="8C01D600A501D600E801D6000302D6005200D7009600D700B900D700EE00D7008C01D700A501D700E801D7000302D7005200D8009500D800B900D800EE00D800"
- $S%+="8B01D800A601D800E701D8000402D8005200D9009300D9009400D900B900D900EE00D9008B01D900A601D900E701D9000402D9005200DA009200DA00B900DA00"
- $S%+="EE00DA008A01DA00A701DA00E601DA000502DA005200DB009100DB00B900DB00EE00DB008A01DB00A801DB00E601DB000502DB005200DC009000DC00B900DC00"
- $S%+="EE00DC008901DC00A801DC00E501DC000602DC005200DD008F00DD00B900DD00EE00DD008901DD00A901DD00E501DD000602DD005200DE008D00DE008E00DE00"
- $S%+="B900DE00EE00DE008801DE00A901DE00E401DE000602DE005200DF008C00DF00B900DF00EE00DF008801DF00AA01DF00E301DF000702DF005200E0008B00E000"
- $S%+="B900E000EE00E0008801E000AA01E000E301E0000702E0005200E1008A00E100B900E100EE00E1008701E100AB01E100E201E1000802E1005200E2008800E200"
- $S%+="8900E200B900E200EE00E2008701E200AC01E200E201E2000802E2005200E3008700E300B900E300EE00E3008601E300AC01E300E101E3000902E3005200E400"
- $S%+="8600E400B900E400EE00E4008601E400AD01E400E101E4000902E4005200E5008500E500B900E500EE00E5008501E500AD01E500E001E5000A02E5005200E600"
- $S%+="8300E6008400E600B900E600EE00E6008501E600AE01E600E001E6000A02E6005200E7008200E700B900E700EE00E7008401E700AE01E700DF01E7000B02E700"
- $S%+="5200E8008100E800B900E800EE00E8008401E800AF01E800DE01E8000B02E8005200E9008000E900B900E900EE00E9008401E900B001E900DE01E9000B02E900"
- $S%+="5200EA007E00EA007F00EA00B900EA00EE00EA00EF00EA00F000EA00F100EA00F200EA00F300EA00F400EA00F500EA00F600EA00F700EA00F800EA00F900EA00"
- $S%+="FA00EA00FB00EA00FC00EA00FD00EA00FE00EA00FF00EA000001EA000101EA000201EA000301EA000401EA000501EA000601EA000701EA000801EA000901EA00"
- $S%+="0A01EA000B01EA000C01EA000D01EA000E01EA000F01EA001001EA001101EA001201EA001301EA001401EA001501EA001601EA001701EA001801EA001901EA00"
- $S%+="1A01EA001B01EA001C01EA001D01EA001E01EA001F01EA002001EA002101EA002201EA002301EA002401EA002501EA002601EA002701EA002801EA002901EA00"
- $S%+="2A01EA002B01EA002C01EA002D01EA002E01EA002F01EA003001EA003101EA003201EA003301EA003401EA003501EA003601EA003701EA003801EA003901EA00"
- $S%+="3A01EA003B01EA003C01EA003D01EA003E01EA003F01EA004001EA004101EA004201EA004301EA004401EA004501EA004601EA004701EA004801EA004901EA00"
- $S%+="4A01EA004B01EA004C01EA008301EA00B001EA00DD01EA000C02EA005200EB007D00EB00B900EB00EE00EB008301EB00B101EB00DD01EB000C02EB005200EC00"
- $S%+="7C00EC00B900EC00EE00EC008201EC00B101EC00DC01EC000D02EC005200ED007B00ED00B900ED00EE00ED008201ED00B201ED00DC01ED000D02ED005200EE00"
- $S%+="7900EE007A00EE00B900EE00EE00EE008101EE00B201EE00DB01EE000E02EE005200EF007800EF00B900EF00EE00EF008101EF00B301EF00DB01EF000E02EF00"
- $S%+="5200F0007700F000B900F000EE00F0008001F000B401F000DA01F0000F02F0005200F1007600F100B900F100EE00F1008001F100B401F100D901F1000F02F100"
- $S%+="5200F2007500F200B900F200EE00F2007F01F200B501F200D901F2001002F2005200F3007300F3007400F300B900F300EE00F3007F01F300B501F300D801F300"
- $S%+="1002F3005200F4007200F400B900F400EE00F4007F01F400B601F400D801F4001002F4005200F5007100F500B900F500EE00F5007E01F500B601F500D701F500"
- $S%+="1102F5005200F6007000F600B900F600EE00F6007E01F600B701F600D701F6001102F6005200F7006E00F7006F00F700B900F700EE00F7007D01F700B801F700"
- $S%+="D601F7001202F7005200F8006D00F800B900F800EE00F8007D01F800B801F800D601F8001202F8005200F9006C00F900B900F900EE00F9007C01F900B901F900"
- $S%+="D501F9001302F9005200FA006B00FA00B900FA00EE00FA007C01FA00B901FA00D401FA001302FA005200FB006900FB006A00FB00B900FB00EE00FB007B01FB00"
- $S%+="BA01FB00D401FB001402FB005200FC006800FC00B900FC00EE00FC007B01FC00BA01FC00D301FC001402FC005200FD006700FD00B800FD00EE00FD007A01FD00"
- $S%+="BB01FD00D301FD001502FD005200FE006600FE00B800FE00EE00FE007A01FE00BC01FE00D201FE001502FE005200FF006400FF006500FF00B800FF00EE00FF00"
- $S%+="7A01FF00BC01FF00D201FF001502FF005200000163000001B8000001EE00000179010001BD010001D1010001160200015200010162000101B8000101EE000101"
- $S%+="79010101BD010101D0010101160201015200020161000201B8000201EE00020178010201BE010201D001020117020201520003015F00030160000301B8000301"
- $S%+="EE00030178010301BE010301CF01030117020301520004015E000401B8000401EE00040177010401BF010401CF01040118020401520005015D000501B8000501"
- $S%+="EE00050177010501C0010501CE01050118020501520006015C000601B8000601EE00060176010601C0010601CE01060119020601520007015B000701B8000701"
- $S%+="EE00070176010701C1010701CD0107011902070152000801590008015A000801B8000801EE00080175010801C1010801CD0108011A0208015200090158000901"
- $S%+="B8000901EE00090175010901C2010901CC0109011A02090152000A0157000A01B8000A01EE000A0175010A01C2010A01CB010A011A020A0152000B0156000B01"
- $S%+="B8000B01EE000B0174010B01C3010B01CB010B011B020B0152000C0154000C0155000C01B8000C01EE000C0174010C01C4010C01CA010C011B020C0152000D01"
- $S%+="53000D01B8000D01EE000D0173010D01C4010D01CA010D011C020D0152000E01B8000E01EE000E0173010E01C5010E01C9010E011C020E01B8000F01EE000F01"
- $S%+="72010F01C5010F01C9010F011D020F01B8001001EE001001EF001001F0001001F1001001F2001001F3001001F4001001F5001001F6001001F7001001F8001001"
- $S%+="F9001001FA001001FB001001FC001001FD001001FE001001FF001001000110010101100102011001030110010401100105011001060110010701100108011001"
- $S%+="090110010A0110010B0110010C0110010D0110010E0110010F011001100110011101100112011001130110011401100115011001160110011701100118011001"
- $S%+="190110011A0110011B0110011C0110011D0110011E0110011F011001200110012101100122011001230110012401100125011001260110012701100128011001"
- $S%+="290110012A0110012B0110012C0110012D0110012E0110012F011001300110013101100132011001330110013401100135011001360110013701100138011001"
- $S%+="390110013A0110013B0110013C0110013D0110013E0110013F011001400110014101100142011001430110014401100145011001460110014701100148011001"
- $S%+="490110014A0110014B0110014C0110014D0110014E0110014F01100172011001C6011001C80110011D021001B800110171011101C6011101C80111011E021101"
- $S%+="B800120171011201C70112011E021201700113011F021301700114011F021401240045017700450198004501FA004501190145018F0145012902450124004601"
- $S%+="7700460198004601FA004601190146018F01460129024601240047017700470199004701F9004701190147018F01470129024701240048017700480199004801"
- $S%+="F9004801190148018F0148012902480124004901770049019A004901F8004901190149018F0149012902490124004A0177004A019A004A01F8004A0119014A01"
- $S%+="8F014A0129024A0124004B0177004B019A004B01F7004B0119014B018F014B0129024B0124004C0177004C019B004C01F7004C0119014C018F014C0129024C01"
- $S%+="24004D0177004D019B004D01F6004D0119014D018F014D0129024D0124004E0177004E019C004E01F6004E0119014E018F014E0129024E0124004F0177004F01"
- $S%+="9C004F01F6004F0119014F018F014F0129024F0124005001770050019C005001F5005001190150018F0150012902500124005101770051019D005101F5005101"
- $S%+="190151018F0151012902510124005201770052019D005201F4005201190152018F0152012902520124005301770053019E005301F4005301190153018F015301"
- $S%+="2902530124005401770054019E005401F3005401190154018F0154012902540124005501770055019F005501F3005501190155018F0155012902550124005601"
- $S%+="770056019F005601F2005601190156018F0156012902560124005701770057019F005701F2005701190157018F015701290257012400580177005801A0005801"
- $S%+="F2005801190158018F015801290258012400590177005901A0005901F1005901190159018F0159012902590124005A0177005A01A1005A01F1005A0119015A01"
- $S%+="8F015A0129025A0124005B0177005B01A1005B01F0005B0119015B018F015B0129025B0124005C0177005C01A1005C01F0005C0119015C018F015C0129025C01"
- $S%+="24005D0177005D01A2005D01EF005D0119015D018F015D0129025D0124005E0177005E01A2005E01EF005E0119015E018F015E0129025E0124005F0177005F01"
- $S%+="A3005F01EE005F0119015F018F015F0129025F012400600177006001A3006001EE006001190160018F016001290260012400610177006101A3006101EE006101"
- $S%+="190161018F016101290261012400620177006201A4006201ED006201190162018F016201290262012400630177006301A4006301ED006301190163018F016301"
- $S%+="290263012400640177006401A5006401EC006401190164018F016401290264012400650177006501A5006501EC006501190165018F0165012902650124006601"
- $S%+="77006601A5006601EB006601190166018F016601290266012400670177006701A6006701EB006701190167018F016701290267012400680177006801A6006801"
- $S%+="EB006801190168018F016801290268012400690177006901A7006901EA006901190169018F0169012902690124006A0177006A01A7006A01EA006A0119016A01"
- $S%+="8F016A0129026A0124006B0177006B01A8006B01E9006B0119016B018F016B0129026B0124006C0177006C01A8006C01E9006C0119016C018F016C0129026C01"
- $S%+="24006D0177006D01A8006D01E8006D0119016D018F016D0129026D0124006E0177006E01A9006E01E8006E0119016E018F016E0129026E0124006F0177006F01"
- $S%+="A9006F01AA006F01AB006F01AC006F01AD006F01AE006F01AF006F01B0006F01B1006F01B2006F01B3006F01B4006F01B5006F01B6006F01B7006F01B8006F01"
- $S%+="B9006F01BA006F01BB006F01BC006F01BD006F01BE006F01BF006F01C0006F01C1006F01C2006F01C3006F01C4006F01C5006F01C6006F01C7006F01C8006F01"
- $S%+="C9006F01CA006F01CB006F01CC006F01CD006F01CE006F01CF006F01D0006F01D1006F01D2006F01D3006F01D4006F01D5006F01D6006F01D7006F01D8006F01"
- $S%+="D9006F01DA006F01DB006F01DC006F01DD006F01DE006F01DF006F01E0006F01E1006F01E2006F01E3006F01E4006F01E5006F01E6006F01E7006F0119016F01"
- $S%+="8F016F0129026F012400700177007001AA007001E7007001190170018F017001290270012400710177007101AA007101E7007101190171018F01710129027101"
- $S%+="2400720177007201AA007201E6007201190172018F017201290272012400730177007301AB007301E6007301190173018F017301290273012400740177007401"
- $S%+="AB007401E5007401190174018F017401290274012400750177007501AC007501E5007501190175018F017501290275012400760177007601AC007601E4007601"
- $S%+="190176018F017601290276012400770177007701AC007701E4007701190177018F017701290277012400780177007801AD007801E3007801190178018F017801"
- $S%+="290278012400790177007901AD007901E3007901190179018F0179012902790124007A0177007A01AE007A01E3007A0119017A018F017A0129027A0124007B01"
- $S%+="77007B01AE007B01E2007B0119017B018F017B0129027B0124007C0177007C01AE007C01E2007C0119017C018F017C0129027C012A027C0124007D0177007D01"
- $S%+="AF007D01E1007D0119017D018F017D0129027D0124007E0177007E01AF007E01E1007E0119017E011A017E011B017E011C017E011D017E011E017E011F017E01"
- $S%+="20017E0121017E0122017E0123017E0124017E0125017E0126017E0127017E0128017E0129017E012A017E012B017E012C017E012D017E012E017E012F017E01"
- $S%+="30017E0131017E0132017E0133017E0134017E0135017E0136017E0137017E0138017E0139017E013A017E013B017E013C017E013D017E013E017E013F017E01"
- $S%+="40017E0141017E0142017E0143017E0144017E0145017E0146017E0147017E0148017E0149017E014A017E014B017E014C017E014D017E014E017E014F017E01"
- $S%+="8F017E0190017E0191017E0192017E0193017E0194017E0195017E0196017E0197017E0198017E0199017E019A017E019B017E019C017E019D017E019E017E01"
- $S%+="9F017E01A0017E01A1017E01A2017E01A3017E01A4017E01A5017E01A6017E01A7017E01A8017E01A9017E01AA017E01AB017E01AC017E01AD017E01AE017E01"
- $S%+="AF017E01B0017E01B1017E01B2017E01B3017E01B4017E01B5017E01B6017E01B7017E01B8017E01B9017E01BA017E01BB017E01BC017E01BD017E01BE017E01"
- $S%+="BF017E01C0017E01C1017E01C2017E01C3017E01C4017E01C5017E0129027E012A027E0124007F0177007F01B0007F01E0007F0119017F0150017F0151017F01"
- $S%+="52017F0153017F0154017F0155017F018F017F01C6017F01C7017F01C8017F01C9017F01CA017F01CB017F0128027F012B027F012400800177008001B0008001"
- $S%+="E0008001190180015601800157018001580180018F018001CC018001CD018001CE018001270280012B0280012400810177008101B1008101DF00810119018101"
- $S%+="590181015A0181018F018101CF018101D0018101260281012C0281012400820177008201B1008201DF008201190182015B0182018F018201D101820126028201"
- $S%+="2D0282012400830177008301B1008301DF008301190183015C0183015D0183018F018301D2018301D3018301250283012E028301240084012500840126008401"
- $S%+="2700840128008401290084012A0084012B0084012C0084012D0084012E0084012F00840130008401310084013200840133008401340084013500840136008401"
- $S%+="3700840138008401390084013A0084013B0084013C0084013D0084013E0084013F00840140008401410084014200840143008401440084014500840146008401"
- $S%+="4700840148008401490084014A0084014B0084014C0084014D0084014E0084014F00840150008401510084015200840153008401540084015500840156008401"
- $S%+="5700840158008401590084015A0084015B0084015C0084015D0084015E0084015F00840160008401610084016200840163008401640084016500840166008401"
- $S%+="6700840168008401690084016A0084016B0084016C0084016D0084016E0084016F00840170008401710084017200840173008401740084017500840176008401"
- $S%+="77008401B2008401DE008401190184015E0184018F018401D4018401240284012E0284012400850177008501B2008501DE008501190185015F0185018F018501"
- $S%+="D5018501240285012F0285012400860177008601B3008601DD0086011901860160018601610186018F018601D6018601D7018601230286013002860124008701"
- $S%+="77008701B3008701DD00870119018701620187018F018701D801870122028701310287012400880177008801B3008801DC00880119018801630188018F018801"
- $S%+="D901880122028801310288012400890177008901B4008901DC00890119018901630189018F018901D9018901210289013202890124008A0177008A01B4008A01"
- $S%+="DB008A0119018A0164018A018F018A01DA018A0120028A0133028A0124008B0177008B01B5008B01DB008B0119018B0164018B018F018B01DA018B011F028B01"
- $S%+="34028B0124008C0177008C01B5008C01DB008C0119018C0165018C018F018C01DB018C011F028C0134028C0124008D0177008D01B5008D01DA008D0119018D01"
- $S%+="65018D018F018D01DB018D011E028D0135028D0124008E0177008E01B6008E01DA008E0119018E0166018E018F018E01DC018E011D028E0136028E0124008F01"
- $S%+="77008F01B6008F01D9008F0119018F0166018F018F018F01DC018F011D028F0137028F012400900177009001B7009001D900900119019001670190018F019001"
- $S%+="DD0190011C029001370290012400910177009101B7009101D800910119019101670191018F019101DD0191011B029101380291012400920177009201B7009201"
- $S%+="D800920119019201680192018F019201DE0192011B029201390292012400930177009301B8009301D700930119019301680193018F019301DE0193011A029301"
- $S%+="3A0293012400940177009401B8009401D700940119019401690194018F019401DF019401190294013A0294012400950177009501B9009501D700950119019501"
- $S%+="690195018F019501DF019501180295013B0295012400960177009601B9009601D600960119019601690196018F019601DF019601180296013C02960124009701"
- $S%+="77009701BA009701D600970119019701690197018F019701DF019701170297013D0297012400980177009801BA009801D500980119019801690198018F019801"
- $S%+="DF019801160298013D0298012400990177009901BA009901D500990119019901690199018F019901DF019901160299013E02990124009A0177009A01BB009A01"
- $S%+="D4009A0119019A0169019A018F019A01DF019A0115029A013F029A0124009B0177009B01BB009B01D4009B0119019B0169019B018F019B01DF019B0114029B01"
- $S%+="40029B0124009C0177009C01BC009C01D4009C0119019C0169019C018F019C01DF019C0114029C0140029C0124009D0177009D01BC009D01D3009D0119019D01"
- $S%+="69019D018F019D01DF019D0113029D0141029D0124009E0177009E01BC009E01D3009E0119019E0169019E018F019E01DF019E0112029E0142029E0124009F01"
- $S%+="77009F01BD009F01D2009F0119019F0169019F018F019F01DF019F0111029F0143029F012400A0017700A001BD00A001D200A0011901A0016901A0018F01A001"
- $S%+="DF01A0011102A0014302A0012400A1017700A101BE00A101D100A1011901A1016901A1018F01A101DF01A1011002A1014402A1012400A2017700A201BE00A201"
- $S%+="D100A2011901A2016901A2018F01A201DF01A2010F02A2014502A2012400A3017700A301BE00A301D000A3011901A3016901A3018F01A301DF01A3010F02A301"
- $S%+="4602A3012400A4017700A401BF00A401D000A4011901A4016801A4018F01A401DE01A4010E02A4014602A4012400A5017700A501BF00A501D000A5011901A501"
- $S%+="6801A5018F01A501DE01A5010D02A5014702A5012400A6017700A601C000A601CF00A6011901A6016701A6018F01A601DD01A6010C02A6014802A6012400A701"
- $S%+="7700A701C000A701CF00A7011901A7016701A7018F01A701DD01A7010C02A7014902A7012400A8017700A801C000A801CE00A8011901A8016601A8018F01A801"
- $S%+="DC01A8010B02A8014902A8012400A9017700A901C100A901CE00A9011901A9016601A9018F01A901DC01A9010A02A9014A02A9012400AA017700AA01C100AA01"
- $S%+="CD00AA011901AA016501AA018F01AA01DB01AA010A02AA014B02AA012400AB017700AB01C200AB01CD00AB011901AB016501AB018F01AB01DB01AB010902AB01"
- $S%+="4C02AB012400AC017700AC01C200AC01CC00AC011901AC016401AC018F01AC01DA01AC010802AC014C02AC012400AD017700AD01C300AD01CC00AD011901AD01"
- $S%+="6401AD018F01AD01DA01AD010802AD014D02AD012400AE017700AE01C300AE01CC00AE011901AE016301AE018F01AE01D901AE010702AE014E02AE012400AF01"
- $S%+="7700AF01C300AF01CB00AF011901AF016301AF018F01AF01D901AF010602AF014F02AF012400B0017700B001C400B001CB00B0011901B0016101B0016201B001"
- $S%+="8F01B001D701B001D801B0010502B0014F02B0012400B1017700B101C400B101CA00B1011901B1015E01B1015F01B1016001B1018F01B101D401B101D501B101"
- $S%+="D601B1010502B1015002B1012400B2017700B201C500B201CA00B2011901B2015B01B2015C01B2015D01B2018F01B201D101B201D201B201D301B2010402B201"
- $S%+="5102B2012400B3017700B301C500B301C900B3011901B3015701B3015801B3015901B3015A01B3018F01B301CD01B301CE01B301CF01B301D001B3010302B301"
- $S%+="5202B3012400B4017700B401C500B401C900B4011901B4015401B4015501B4015601B4018F01B401CA01B401CB01B401CC01B4010302B4015202B4012400B501"
- $S%+="7700B501C600B501C800B5011901B5015101B5015201B5015301B5018F01B501C701B501C801B501C901B5010202B5015302B5012400B6017700B601C600B601"
- $S%+="C800B6011A01B6011B01B6011C01B6011D01B6011E01B6011F01B6012001B6012101B6012201B6012301B6012401B6012501B6012601B6012701B6012801B601"
- $S%+="2901B6012A01B6012B01B6012C01B6012D01B6012E01B6012F01B6013001B6013101B6013201B6013301B6013401B6013501B6013601B6013701B6013801B601"
- $S%+="3901B6013A01B6013B01B6013C01B6013D01B6013E01B6013F01B6014001B6014101B6014201B6014301B6014401B6014501B6014601B6014701B6014801B601"
- $S%+="4901B6014A01B6014B01B6014C01B6014D01B6014E01B6014F01B6015001B6019001B6019101B6019201B6019301B6019401B6019501B6019601B6019701B601"
- $S%+="9801B6019901B6019A01B6019B01B6019C01B6019D01B6019E01B6019F01B601A001B601A101B601A201B601A301B601A401B601A501B601A601B601A701B601"
- $S%+="A801B601A901B601AA01B601AB01B601AC01B601AD01B601AE01B601AF01B601B001B601B101B601B201B601B301B601B401B601B501B601B601B601B701B601"
- $S%+="B801B601B901B601BA01B601BB01B601BC01B601BD01B601BE01B601BF01B601C001B601C101B601C201B601C301B601C401B601C501B601C601B6010102B601"
- $S%+="5402B6012400B7017700B701C700B7010102B7015502B7012400B8017700B801C700B8010002B8015502B8012400B9017700B901FF01B9015602B9012400BA01"
- $S%+="7700BA01FE01BA015702BA012400BB017700BB01FE01BB015802BB012400BC017700BC01FD01BC015802BC012400BD017700BD015902BD012400BE017700BE01"
- $S%+=""
- REM Byte count: 13760
- = S%
- DATA &60000
- DATA &E0000
- DATA &170000
- DATA &210000
- DATA &2C0000
- DATA &380000
- DATA &440000
- DATA &510000
- DATA &5F0000
- DATA &6D0000
- DATA &7B0000
- DATA &880000
- DATA &940000
- DATA &A00000
- DATA &AD0000
- DATA &B80000
- DATA &C40000
- DATA &CF0000
- DATA &D90000
- DATA &E20000
- DATA &EA0000
- DATA &F20000
- DATA &F90000
- DATA &FF0000
- DATA &FF0500
- DATA &FF0A00
- DATA &FF1100
- DATA &FF1800
- DATA &FF1F00
- DATA &FF2800
- DATA &FF3100
- DATA &FF3A00
- DATA &FF4400
- DATA &FF4E00
- DATA &FF5900
- DATA &FF6300
- DATA &FF6E00
- DATA &FF7900
- DATA &FF8200
- DATA &FF8800
- DATA &FF8E00
- DATA &FF9400
- DATA &FF9900
- DATA &FF9F00
- DATA &FFA500
- DATA &FFAA00
- DATA &FFB000
- DATA &FFB600
- DATA &FFBB00
- DATA &FFC000
- DATA &FFC600
- DATA &FFCB00
- DATA &FFD000
- DATA &FFD400
- DATA &FFD900
- DATA &FFDE00
- DATA &FFE200
- DATA &FFE600
- DATA &FFEA00
- DATA &FFEE00
- DATA &FFF200
- DATA &FFF500
- DATA &FFF800
- DATA &FFFB00
- DATA &FFFE00
- DATA &FFFF02
- DATA &FFFF05
- DATA &FFFF0A
- DATA &FFFF0E
- DATA &FFFF13
- DATA &FFFF19
- DATA &FFFF1F
- DATA &FFFF25
- DATA &FFFF2C
- DATA &FFFF33
- DATA &FFFF3A
- DATA &FFFF41
- DATA &FFFF48
- DATA &FFFF50
- DATA &FFFF58
- DATA &FFFF60
- DATA &FFFF69
- DATA &FFFF71
- DATA &FFFF79
- DATA &FFFF82
- DATA &FFFF8C
- DATA &FFFF97
- DATA &FFFFA1
- DATA &FFFFAB
- DATA &FFFFB6
- DATA &FFFFBF
- DATA &FFFFC9
- DATA &FFFFD1
- DATA &FFFFDA
- DATA &FFFFE2
- DATA &FFFFE9
- DATA &FFFFF0
- DATA &FFFFF6
- DATA &FFFFFB
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
- DATA &FFFFFF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement