weird intermediate state

This commit is contained in:
~d6 2024-07-16 10:06:58 -04:00
parent 7a77a48667
commit 0a9902d055
3 changed files with 348 additions and 27 deletions

View File

@ -267,6 +267,15 @@
GTH2kr STHr ?&mloop ( [limit* pos+4] ) GTH2kr STHr ?&mloop ( [limit* pos+4] )
POP2r POP2r JMP2r ( ) ) POP2r POP2r JMP2r ( ) )
@set-fg ( -> ) #40 ,set-sprite/layer STR JMP2r
@set-bg ( -> ) #00 ,set-sprite/layer STR JMP2r
@set-sprite ( byte^ -> )
LIT [ &layer 00 ] ORA .Screen/sprite DEO JMP2r
@set-sprite-3x ( byte^ -> )
,set-sprite/layer LDR ORA .Screen/sprite DEOk DEOk DEO JMP2r
@draw-background ( -> ) @draw-background ( -> )
#f2 .Screen/auto DEO #f2 .Screen/auto DEO
;tiles #0200 ADD2 .Screen/addr DEO2 ;tiles #0200 ADD2 .Screen/addr DEO2
@ -288,18 +297,28 @@
.Screen/y DEO2 .Screen/x DEO2 .Screen/y DEO2 .Screen/x DEO2
OVR #80 LTH ?draw-face-up POP2 !draw-face-down ) OVR #80 LTH ?draw-face-up POP2 !draw-face-down )
@draw-spot-down ( -> )
#16 .Screen/auto DEO ( ; draw 2 tiles, increment x and addr )
( ;masks #0080 ADD2 .Screen/addr DEO2 )
( #02 set-sprite-3x )
;masks #0100 ADD2 .Screen/addr DEO2
#81 set-sprite-3x
JMP2r
( assumes x/y already set ) ( assumes x/y already set )
@draw-mask-down ( -> ) @draw-mask-down ( -> )
#16 .Screen/auto DEO ( ; draw 2 tiles, increment x and addr ) #16 .Screen/auto DEO ( ; draw 2 tiles, increment x and addr )
;masks #0080 ADD2 .Screen/addr DEO2 ( ;masks #0080 ADD2 .Screen/addr DEO2 )
#04 .Screen/sprite DEOk DEOk DEO ( #04 set-sprite-3x )
;masks #0100 ADD2 .Screen/addr DEO2
#8d set-sprite-3x ( TODO fixme )
JMP2r JMP2r
( assumes x/y already set ) ( assumes x/y already set )
@draw-face-down ( -> ) @draw-face-down ( -> )
#16 .Screen/auto DEO ( ; draw 2 tiles, increment x and addr ) #16 .Screen/auto DEO ( ; draw 2 tiles, increment x and addr )
;tiles #0100 ADD2 .Screen/addr DEO2 ;tiles #0100 ADD2 .Screen/addr DEO2
#81 .Screen/sprite DEOk DEOk DEO #81 set-sprite-3x
JMP2r JMP2r
( @card-is-black ( idx* -> bool^ ) ( @card-is-black ( idx* -> bool^ )
@ -329,23 +348,31 @@
#00ff AND2 ( idx* ; remove rotation/flip info for now ) #00ff AND2 ( idx* ; remove rotation/flip info for now )
DUP2 ( idx* idx* ) DUP2 ( idx* idx* )
#000d DIV2k STH2k MUL2 SUB2 ( idx* r* [q*] ) #000d DIV2k STH2k MUL2 SUB2 ( idx* r* [q*] )
#0080 MUL2 ;masks #0180 ADD2 ( idx* 128r* card+384* [q*] ) ( #0080 MUL2 ;masks #0180 ADD2 ( idx* 128r* card+384* [q*] ) )
ADD2 STH2r #0010 MUL2 ADD2 ( idx* a=card+384+128r+16q* ) ( ADD2 STH2r #0010 MUL2 ADD2 ( idx* a=card+384+128r+16q* ) )
#0100 MUL2 ;masks #0300 ADD2 ( idx* 128r* card+384* [q*] )
ADD2 STH2r #0020 MUL2 ADD2 ( idx* a=card+384+128r+16q* )
STH2k .Screen/addr DEO2 ( idx* [a*] ) STH2k .Screen/addr DEO2 ( idx* [a*] )
#04 .Screen/sprite DEO ( idx* [a*] ; draw top of card ) ( #04 set-sprite ( idx* [a*] ; draw top of card ) )
#8d set-sprite ( idx* [a*] ; draw top of card )
find-middle-addr ( mid* [a*] ) find-middle-addr ( mid* [a*] )
;tiles SUB2 #01 SFT2 ;masks ADD2 ( ;tiles SUB2 #01 SFT2 ;masks ADD2 )
;tiles SUB2 ;masks ADD2
.Screen/addr DEO2 ( [a*] ) .Screen/addr DEO2 ( [a*] )
#04 .Screen/sprite DEO ( [a*] ; draw middle of card ) ( #04 set-sprite ( [a*] ; draw middle of card ) )
STH2r DUP2 #0008 ADD2 ( a* a+8* ) #8d set-sprite ( [a*] ; draw middle of card )
( STH2r DUP2 #0008 ADD2 ( a* a+8* ) )
STH2r DUP2 #0010 ADD2 ( a* a+8* )
( TODO: does flipping also flip move direction now? ) ( TODO: does flipping also flip move direction now? )
SWP2 #0008 .Screen/x DEI2 ADD2 .Screen/x DEO2 SWP2 #0008 .Screen/x DEI2 ADD2 .Screen/x DEO2
.Screen/addr DEO2 ( ) .Screen/addr DEO2 ( )
#01 .Screen/auto DEO ( ; draw 1 tile, increment x ) #01 .Screen/auto DEO ( ; draw 1 tile, increment x )
#34 .Screen/sprite DEO ( ; draw bottom left of card ) ( #34 set-sprite ( ; draw bottom left of card ) )
#bd set-sprite ( ; draw bottom left of card )
.Screen/addr DEO2 ( ) .Screen/addr DEO2 ( )
#34 .Screen/sprite DEO ( ; draw bottom right of card ) ( #34 set-sprite ( ; draw bottom right of card ) )
#bd set-sprite ( ; draw bottom right of card )
JMP2r JMP2r
( assumes x/y already set ) ( assumes x/y already set )
@ -357,19 +384,19 @@
#0100 MUL2 ;tiles #0300 ADD2 ( idx* 256r* card+768* [q*] ) #0100 MUL2 ;tiles #0300 ADD2 ( idx* 256r* card+768* [q*] )
ADD2 STH2r #0020 MUL2 ADD2 ( idx* a=card+768+256r+32q* ) ADD2 STH2r #0020 MUL2 ADD2 ( idx* a=card+768+256r+32q* )
STH2k .Screen/addr DEO2 ( idx* [a*] ) STH2k .Screen/addr DEO2 ( idx* [a*] )
#81 .Screen/sprite DEO ( idx* [a*] ; draw top of card ) #81 set-sprite ( idx* [a*] ; draw top of card )
find-middle-addr ( mid* [a*] ) find-middle-addr ( mid* [a*] )
.Screen/addr DEO2 ( [a*] ) .Screen/addr DEO2 ( [a*] )
#81 .Screen/sprite DEO ( [a*] ; draw middle of card ) #81 set-sprite ( [a*] ; draw middle of card )
STH2r DUP2 #0010 ADD2 ( a* a+16* ) STH2r DUP2 #0010 ADD2 ( a* a+16* )
( TODO: does flipping also flip move direction now? ) ( TODO: does flipping also flip move direction now? )
SWP2 #0008 .Screen/x DEI2 ADD2 .Screen/x DEO2 SWP2 #0008 .Screen/x DEI2 ADD2 .Screen/x DEO2
.Screen/addr DEO2 ( ) .Screen/addr DEO2 ( )
#01 .Screen/auto DEO ( ; draw 1 tile, increment x ) #01 .Screen/auto DEO ( ; draw 1 tile, increment x )
#b1 .Screen/sprite DEO ( ; draw bottom left of card ) #b1 set-sprite ( ; draw bottom left of card )
.Screen/addr DEO2 ( ) .Screen/addr DEO2 ( )
#b1 .Screen/sprite DEO ( ; draw bottom right of card ) #b1 set-sprite ( ; draw bottom right of card )
JMP2r JMP2r
@init-rng-from-datetime ( -> ) @init-rng-from-datetime ( -> )
@ -416,4 +443,7 @@
@tiles ~card-sprites.tal @tiles ~card-sprites.tal
( each mask tile is 8 bytes: a 1-bit 8x8 image ) ( each mask tile is 8 bytes: a 1-bit 8x8 image )
@masks ~mask-sprites.tal ( @masks ~mask-sprites.tal )
( each mask tile is 16 bytes: a 2-bit 8x8 image )
@masks ~mask2.tal

View File

@ -29,8 +29,7 @@
@waste $18 ( face up pile - 24 bytes ) @waste $18 ( face up pile - 24 bytes )
@foundation $4 ( one per suit - 4 bytes, 4x1 ) @foundation $4 ( one per suit - 4 bytes, 4x1 )
@tableau $85 ( the main board - 133 bytes, 7x19 ) @tableau $85 ( the main board - 133 bytes, 7x19 )
@held [ &first $1 ( stack of up to 13 held cards ) @held $2 ( first and last card in held stack )
&last $1 ] ( stack of up to 13 held cards )
@dragging [ $1 ( are we dragging? ) @dragging [ $1 ( are we dragging? )
&x $2 ( x-coord for start of drag ) &x $2 ( x-coord for start of drag )
&y $2 ] ( y-coord for start of drag ) &y $2 ] ( y-coord for start of drag )
@ -170,7 +169,7 @@
&done POP POP2 JMP2r ( ) &done POP POP2 JMP2r ( )
@maybe-draw-c @maybe-draw-c
DUP ?{ POP !draw-mask-down } !draw-c DUP ?{ POP !draw-spot-down } !draw-c
( assumes x/y already set ) ( assumes x/y already set )
@draw-c ( card^ -> ) @draw-c ( card^ -> )
@ -208,12 +207,47 @@
@draw-mouse ( -> ) @draw-mouse ( -> )
#00 .Screen/auto DEO #00 .Screen/auto DEO
clear-prev-mouse !draw-curr-mouse clear-prev-hold clear-prev-mouse
draw-curr-hold !draw-curr-mouse
@clear-prev-hold ( -> )
.dragging LDZ ?{ JMP2r } ( )
#12 .Screen/auto DEO ( ; draw 2 tiles, increment x )
;blank .Screen/addr DEO2 ( ; erase )
.dragging/x LDZ2 .prev/mouse-x LDZ2 ADD2 STH2 ( [x*] )
.dragging/y LDZ2 .prev/mouse-y LDZ2 ADD2 STH2 ( [x* y*] )
.held LDZ2 #02 ADD SWP ( last+2^ first^ [x* y*] )
&loop LTHk ?&done ( last+2^ pos^ [x* y*] )
STH2kr .Screen/y DEO2 ( last+2^ pos^ [x* y*] ; s/y<-y )
OVR2r STH2r .Screen/x DEO2 ( last+2^ pos^ [x* y*] ; s/x<-x )
#41 .Screen/sprite DEO ( last+2^ pos^ [x* y*] ; erase )
INC LIT2r 0008 ADD2r !&loop ( last+2^ pos+1^ [x* y+8*] )
&done POP2 POP2r POP2r JMP2r ( )
@curr-drag-x ( -> x* )
.Mouse/x DEI2 .dragging/x LDZ2 ADD2 JMP2r
@curr-drag-y ( -> x* )
.Mouse/y DEI2 .dragging/y LDZ2 ADD2 JMP2r
@draw-curr-hold ( -> )
.dragging LDZ ?{ JMP2r }
set-fg
curr-drag-x STH2 ( [x*] )
curr-drag-y STH2 ( [x* y*] )
.held LDZ2 SWP ( last^ first^ [x* y*] )
&loop LTHk ?&done ( last^ pos^ [x* y*] )
STH2kr .Screen/y DEO2 ( last^ pos^ [x* y*] ; s/y<-y )
OVR2r STH2r .Screen/x DEO2 ( last^ pos^ [x* y*] ; s/x<-x )
LDZk draw-c ( last^ pos^ [x* y*] ; draw )
INC LIT2r 0008 ADD2r !&loop ( last^ pos+1^ [x* y+8*] )
&done POP2 POP2r POP2r !set-bg ( )
@clear-prev-mouse ( -> ) @clear-prev-mouse ( -> )
#00 .Screen/auto DEO
;blank .Screen/addr DEO2
.prev/mouse-x LDZ2 .Screen/x DEO2 .prev/mouse-x LDZ2 .Screen/x DEO2
.prev/mouse-y LDZ2 .Screen/y DEO2 .prev/mouse-y LDZ2 .Screen/y DEO2
;blank .Screen/addr DEO2
#41 .Screen/sprite DEO JMP2r #41 .Screen/sprite DEO JMP2r
@draw-curr-mouse ( -> ) @draw-curr-mouse ( -> )
@ -234,6 +268,7 @@
&found JMP2r &found JMP2r
@release ( -> ) @release ( -> )
clear-prev-hold
.held LDZ2 SWP ( last^ first^ ) .held LDZ2 SWP ( last^ first^ )
&loop DUP LDZk #80 EOR SWP STZ ( last^ first ; first<-c^0x80 ) &loop DUP LDZk #80 EOR SWP STZ ( last^ first ; first<-c^0x80 )
INC LTHk #00 EQU ?&loop ( last^ first+1^ ) INC LTHk #00 EQU ?&loop ( last^ first+1^ )
@ -265,13 +300,13 @@
@start-drag ( x* y* first^ last^ -> ) @start-drag ( x* y* first^ last^ -> )
DUP2 .held STZ2 ( x* y* first^ last^ ; held<-first,last ) DUP2 .held STZ2 ( x* y* first^ last^ ; held<-first,last )
SWP ( x* y* last^ first^ [h0^] ) SWP ( x* y* last^ first^ )
&loop LTHk ?&done ( x* y* last^ z^ [h^] ) &loop LTHk ?&done ( x* y* last^ z^ )
DUP LDZk #80 EOR SWP STZ ( x* y* last^ z^ [h^] ; z<-q ) DUP LDZk #80 EOR SWP STZ ( x* y* last^ z^ ; z<-q )
INC !&loop ( x* y* last^ z+1^ [h+1^] ) INC !&loop ( x* y* last^ z+1^ )
&done POP2 ( x* y* ) &done POP2 ( x* y* )
.dragging/y STZ2 ( x* ; d/y<-y ) .Mouse/y DEI2 SUB2 .dragging/y STZ2
.dragging/x STZ2 ( ; d/x<-x ) .Mouse/x DEI2 SUB2 .dragging/x STZ2
#01 .dragging STZ JMP2r ( ) #01 .dragging STZ JMP2r ( )
@maybe-select-waste ( -> bool^ ) @maybe-select-waste ( -> bool^ )

256
mask2.tal Normal file
View File

@ -0,0 +1,256 @@
00 00 00 00 00 00 00 00 ff ff e7 fb e7 fb e7 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
00 00 00 00 00 00 00 00 ff fb f1 e0 e0 e4 ff ff
00 00 00 00 00 00 00 00 ff e7 df e7 df e7 ff ff
00 00 00 00 00 00 00 00 ff ff f3 eb e3 eb eb ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
00 00 00 00 00 00 00 00 ff fb f1 e0 f1 fb ff ff
00 00 00 00 00 00 00 00 ff d7 d7 c7 d7 c7 ff ff
00 00 00 00 00 00 00 00 f8 f8 fb fb fb f9 f8 fc
00 00 00 00 00 00 00 00 0f 0f ff ff 9f 6f ef 0f
00 00 00 00 00 00 00 00 f8 f8 fb fb fb f9 f8 fc
00 00 00 00 00 00 00 00 0f 0f ff ff 9f 6f ef 0f
00 00 00 00 00 00 00 00 00 7f 6f 54 6f 7e 6d 6d
00 00 00 00 00 00 00 00 00 fe f6 2a f6 7e b6 b6
00 00 00 00 00 00 00 00 6e 6f 6e 6d 6d 6e 6f 6e
00 00 00 00 00 00 00 00 76 f6 76 b6 b6 76 f6 76
00 00 00 00 00 00 00 00 6d 6d 7e 6f 54 6f 7f 00
00 00 00 00 00 00 00 00 b6 b6 7e f6 2a f6 fe 00
00 00 00 00 00 00 00 00 ff ff eb eb e7 eb eb ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 f8 f8 fb fb fb f9 f8 fc
00 00 00 00 00 00 00 00 0f 0f ff ff 9f 6f ef 0f
00 00 00 00 00 00 00 00 ff f1 fb e0 f1 fb ff ff
00 00 00 00 00 00 00 00 ff d7 d7 e7 d7 d7 ff ff
00 00 00 00 00 00 00 00 f8 f0 f0 f2 f3 d9 c1 e1
00 00 00 00 00 00 00 00 1f 0f ef ef ef ef ff ff
00 00 00 00 00 00 00 00 f8 f0 f0 f2 f3 d9 c1 e1
00 00 00 00 00 00 00 00 1f 0f ef ef ef ef ff ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff e3 eb eb e7 f3 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 f8 f0 f0 f2 f3 d9 c1 e1
00 00 00 00 00 00 00 00 1f 0f ef ef ef ef ff ff
00 00 00 00 00 00 00 00 ff ec f4 fb e4 e4 ff ff
00 00 00 00 00 00 00 00 ff cf e7 d7 d7 c7 ff ff
00 00 00 00 00 00 00 00 fe fc f8 f8 f9 f8 f9 ff
00 00 00 00 00 00 00 00 3f 1f 1f ff ff ff ff ff
00 00 00 00 00 00 00 00 fe fc f8 f8 f9 f8 f9 ff
00 00 00 00 00 00 00 00 3f 1f 1f ff ff ff ff ff
00 00 00 00 00 00 00 00 ff ff f3 eb e3 eb eb ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff f3 eb e3 eb eb ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff f3 eb e3 eb eb ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff f3 eb e3 eb eb ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 80 c0 e0 f0 f8 e0 10 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff e7 fb f7 ef e3 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff e7 fb f7 ef e3 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e7 fb f7 ef e3 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e7 fb f7 ef e3 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff e7 fb e7 fb e7 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff e7 fb e7 fb e7 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e7 fb e7 fb e7 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e7 fb e7 fb e7 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff eb eb e3 fb fb ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff eb eb e3 fb fb ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff eb eb e3 fb fb ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff eb eb e3 fb fb ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff e3 ef e3 fb e7 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff e3 ef e3 fb e7 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e3 ef e3 fb e7 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e3 ef e3 fb e7 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 f8 f8 fb fb fb f9 f8 fc
00 00 00 00 00 00 00 00 0f 0f ff ff 9f 6f ef 0f
00 00 00 00 00 00 00 00 f8 f8 fb fb fb f9 f8 fc
00 00 00 00 00 00 00 00 0f 0f ff ff 9f 6f ef 0f
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff f3 ef e3 eb e3 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff f3 ef e3 eb e3 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff f3 ef e3 eb e3 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff f3 ef e3 eb e3 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 f8 f0 f0 f2 f3 d9 c1 e1
00 00 00 00 00 00 00 00 1f 0f ef ef ef ef ff ff
00 00 00 00 00 00 00 00 f8 f0 f0 f2 f3 d9 c1 e1
00 00 00 00 00 00 00 00 1f 0f ef ef ef ef ff ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff e3 fb f7 f7 f7 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff e3 fb f7 f7 f7 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e3 fb f7 f7 f7 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e3 fb f7 f7 f7 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 fe fc f8 f8 f9 f8 f9 ff
00 00 00 00 00 00 00 00 3f 1f 1f ff ff ff ff ff
00 00 00 00 00 00 00 00 fe fc f8 f8 f9 f8 f9 ff
00 00 00 00 00 00 00 00 3f 1f 1f ff ff ff ff ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff e3 eb e3 eb e3 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff e3 eb e3 eb e3 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e3 eb e3 eb e3 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e3 eb e3 eb e3 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff e3 eb e3 fb e7 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff e3 eb e3 fb e7 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e3 eb e3 fb e7 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e3 eb e3 fb e7 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff d1 d5 d5 d5 d1 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff d1 d5 d5 d5 d1 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff d1 d5 d5 d5 d1 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff d1 d5 d5 d5 d1 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff f3 fb fb fb e7 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff f3 fb fb fb e7 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff f3 fb fb fb e7 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff f3 fb fb fb e7 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff e3 eb eb e7 f3 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff e3 eb eb e7 f3 ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e3 eb eb e7 f3 ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff e3 eb eb e7 f3 ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 ff ff eb eb e7 eb eb ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 df 8f ff
00 00 00 00 00 00 00 00 ff ff eb eb e7 eb eb ff
00 00 00 00 00 00 00 00 ff ff 27 07 07 8f df ff
00 00 00 00 00 00 00 00 ff ff eb eb e7 eb eb ff
00 00 00 00 00 00 00 00 ff ff df 8f 07 8f df ff
00 00 00 00 00 00 00 00 ff ff eb eb e7 eb eb ff
00 00 00 00 00 00 00 00 ff ff 27 27 df 2f 37 ff
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00