From 22c3b2e38eef64fb44eb451c16b942b8e08f9f2f Mon Sep 17 00:00:00 2001 From: 4am Date: Sat, 3 Nov 2018 14:03:38 -0400 Subject: [PATCH] add fx/ripple --- Makefile | 1 + res/fx.conf | 2 +- res/fx/_FileInformation.txt | 1 + res/notes/{radialspiral.py => ripple.py} | 12 + src/fx/fx.hgr.ripple.a | 43 + src/fx/fx.hgr.ripple.data.a | 1920 ++++++++++++++++++++++ 6 files changed, 1978 insertions(+), 1 deletion(-) rename res/notes/{radialspiral.py => ripple.py} (51%) create mode 100644 src/fx/fx.hgr.ripple.a create mode 100644 src/fx/fx.hgr.ripple.data.a diff --git a/Makefile b/Makefile index d8ffdda5e..e802b729a 100644 --- a/Makefile +++ b/Makefile @@ -46,6 +46,7 @@ asm: md $(ACME) src/fx/fx.hgr.radial.a $(ACME) src/fx/fx.hgr.split.ud.intro.a $(ACME) src/fx/fx.hgr.iris.a + $(ACME) src/fx/fx.hgr.ripple.a dsk: md asm $(CADIUS) CREATEVOLUME build/"$(DISK)" "${VOLUME}" 32766KB >>build/log diff --git a/res/fx.conf b/res/fx.conf index fec9e95be..f21adc415 100644 --- a/res/fx.conf +++ b/res/fx.conf @@ -1 +1 @@ -# # transition effects for HGR slideshows # IRIS SPLIT.UD.INTRO RADIAL SUNRISE DIAGONAL CHECKERBOARD HALF.FIZZLE CORNER.CIRCLE BAR.DISSOLVE STAGGERWHITE.LR DIAMOND ONESQUARE TWOPASS.LR CRYSTAL HALF.MOSAIC STAGGER.LR FOURSQUARE STAGGER.UD INTERLOCK.LR BLOCK.MOSAIC FIZZLE STAGGERWHITE.UD INTERLOCK.UD BLOCK.FIZZLE SPIRAL [eof] \ No newline at end of file +# # transition effects for HGR slideshows # RIPPLE IRIS SPLIT.UD.INTRO RADIAL SUNRISE DIAGONAL CHECKERBOARD HALF.FIZZLE CORNER.CIRCLE BAR.DISSOLVE STAGGERWHITE.LR DIAMOND ONESQUARE TWOPASS.LR CRYSTAL HALF.MOSAIC STAGGER.LR FOURSQUARE STAGGER.UD INTERLOCK.LR BLOCK.MOSAIC FIZZLE STAGGERWHITE.UD INTERLOCK.UD BLOCK.FIZZLE SPIRAL [eof] \ No newline at end of file diff --git a/res/fx/_FileInformation.txt b/res/fx/_FileInformation.txt index 65d87a5c1..6974fd882 100644 --- a/res/fx/_FileInformation.txt +++ b/res/fx/_FileInformation.txt @@ -23,3 +23,4 @@ SUNRISE=Type(06),AuxType(6000),Access(C3) RADIAL=Type(06),AuxType(6000),Access(C3) SPLIT.UD.INTRO=Type(06),AuxType(6000),Access(C3) IRIS=Type(06),AuxType(6000),Access(C3) +RIPPLE=Type(06),AuxType(6000),Access(C3) diff --git a/res/notes/radialspiral.py b/res/notes/ripple.py similarity index 51% rename from res/notes/radialspiral.py rename to res/notes/ripple.py index 846cc6841..50febeadd 100755 --- a/res/notes/radialspiral.py +++ b/res/notes/ripple.py @@ -19,3 +19,15 @@ for i in range(20000): with open("../../src/fx/fx.hgr.iris.data.a", "w") as f: for x, y in coords: f.write(" !byte %s,%s\n" % (y,x)) + +radialcoords = [] +#for i, j, k in zip(range(640), range(640,1280), range(1280,1920)): +for i, j, k, l in zip(range(480), range(480,960), range(960,1440), range(1440,1920)): + radialcoords.append(coords[i]) + radialcoords.append(coords[j]) + radialcoords.append(coords[k]) + radialcoords.append(coords[l]) + radialcoords.append((255,255)) +with open("../../src/fx/fx.hgr.ripple.data.a", "w") as f: + for x, y in radialcoords: + f.write(" !byte %s,%s\n" % (y,x)) diff --git a/src/fx/fx.hgr.ripple.a b/src/fx/fx.hgr.ripple.a new file mode 100644 index 000000000..22f0c4a0c --- /dev/null +++ b/src/fx/fx.hgr.ripple.a @@ -0,0 +1,43 @@ +!cpu 6502 +!to "build/FX/RIPPLE",plain +*=$6000 + +coord = $FE + + lda #<@coords + sta coord + lda #>@coords + sta coord+1 + ldy #0 +@loop + lda (coord),y + bpl + + lda #$30 + jsr WaitForKeyWithTimeout + bmi @exit + bpl @next ++ tax + iny + lda (coord),y + tay + txa + jsr HGRHalfBlockCopy +@next + inc coord + bne + + inc coord+1 ++ inc coord + bne + + inc coord+1 ++ ldy #$00 + lda ($FE),y + cmp #$80 + bne @loop +@exit rts + +@coords + !source "src/fx/fx.hgr.ripple.data.a" + !byte $80 + + !source "src/wait.a" + !source "src/fx/fx.hgr.common.a" diff --git a/src/fx/fx.hgr.ripple.data.a b/src/fx/fx.hgr.ripple.data.a new file mode 100644 index 000000000..3e108d0bf --- /dev/null +++ b/src/fx/fx.hgr.ripple.data.a @@ -0,0 +1,1920 @@ + !byte 24,20 + !byte 11,14 + !byte 46,20 + !byte 28,3 + !byte 23,20 + !byte 10,15 + !byte 46,19 + !byte 27,3 + !byte 24,21 + !byte 10,16 + !byte 46,18 + !byte 26,3 + !byte 25,21 + !byte 9,17 + !byte 46,17 + !byte 25,3 + !byte 25,20 + !byte 9,18 + !byte 45,16 + !byte 23,3 + !byte 25,19 + !byte 8,19 + !byte 45,15 + !byte 22,3 + !byte 24,19 + !byte 8,20 + !byte 44,14 + !byte 21,3 + !byte 23,19 + !byte 8,21 + !byte 43,13 + !byte 20,3 + !byte 22,20 + !byte 8,22 + !byte 42,12 + !byte 19,3 + !byte 22,21 + !byte 9,23 + !byte 41,11 + !byte 18,3 + !byte 23,21 + !byte 9,24 + !byte 40,10 + !byte 17,3 + !byte 26,21 + !byte 10,25 + !byte 39,10 + !byte 16,3 + !byte 26,20 + !byte 11,26 + !byte 38,9 + !byte 14,4 + !byte 26,19 + !byte 13,27 + !byte 37,9 + !byte 13,4 + !byte 24,18 + !byte 14,28 + !byte 35,8 + !byte 12,4 + !byte 22,19 + !byte 15,28 + !byte 32,7 + !byte 10,5 + !byte 21,20 + !byte 17,29 + !byte 31,7 + !byte 9,5 + !byte 21,21 + !byte 18,29 + !byte 30,7 + !byte 7,6 + !byte 23,22 + !byte 22,30 + !byte 24,6 + !byte 5,7 + !byte 24,22 + !byte 23,30 + !byte 18,7 + !byte 4,7 + !byte 25,22 + !byte 24,30 + !byte 17,7 + !byte 3,8 + !byte 26,22 + !byte 25,30 + !byte 16,7 + !byte 2,9 + !byte 27,21 + !byte 26,30 + !byte 13,8 + !byte 1,9 + !byte 27,20 + !byte 30,29 + !byte 12,8 + !byte 0,10 + !byte 27,19 + !byte 31,29 + !byte 10,9 + !byte 0,30 + !byte 26,18 + !byte 32,29 + !byte 8,10 + !byte 1,31 + !byte 25,18 + !byte 33,28 + !byte 7,11 + !byte 3,32 + !byte 23,18 + !byte 34,28 + !byte 6,11 + !byte 4,33 + !byte 22,18 + !byte 36,27 + !byte 5,12 + !byte 5,33 + !byte 21,19 + !byte 37,26 + !byte 4,13 + !byte 6,34 + !byte 20,19 + !byte 38,25 + !byte 3,14 + !byte 7,34 + !byte 20,20 + !byte 39,24 + !byte 3,15 + !byte 8,35 + !byte 20,21 + !byte 40,23 + !byte 2,16 + !byte 9,35 + !byte 21,22 + !byte 40,22 + !byte 2,17 + !byte 11,36 + !byte 22,22 + !byte 40,21 + !byte 1,18 + !byte 12,36 + !byte 27,22 + !byte 40,20 + !byte 1,19 + !byte 13,36 + !byte 28,21 + !byte 40,19 + !byte 1,20 + !byte 15,37 + !byte 28,20 + !byte 40,18 + !byte 1,21 + !byte 16,37 + !byte 28,19 + !byte 40,17 + !byte 1,22 + !byte 17,37 + !byte 27,18 + !byte 39,16 + !byte 2,23 + !byte 18,37 + !byte 25,17 + !byte 38,15 + !byte 2,24 + !byte 30,37 + !byte 24,17 + !byte 37,14 + !byte 2,25 + !byte 31,37 + !byte 23,17 + !byte 36,13 + !byte 3,25 + !byte 32,37 + !byte 22,17 + !byte 35,12 + !byte 3,26 + !byte 33,37 + !byte 21,18 + !byte 34,12 + !byte 4,27 + !byte 36,36 + !byte 20,18 + !byte 32,11 + !byte 5,28 + !byte 37,36 + !byte 19,19 + !byte 31,11 + !byte 6,29 + !byte 39,35 + !byte 19,20 + !byte 28,10 + !byte 8,30 + !byte 40,35 + !byte 19,21 + !byte 27,10 + !byte 9,31 + !byte 42,34 + !byte 20,22 + !byte 26,10 + !byte 10,31 + !byte 44,33 + !byte 22,23 + !byte 25,10 + !byte 12,32 + !byte 46,32 + !byte 23,23 + !byte 24,10 + !byte 15,33 + !byte 47,31 + !byte 24,23 + !byte 23,10 + !byte 16,33 + !byte 47,9 + !byte 25,23 + !byte 22,10 + !byte 20,34 + !byte 46,8 + !byte 26,23 + !byte 21,10 + !byte 21,34 + !byte 45,7 + !byte 27,23 + !byte 20,10 + !byte 22,34 + !byte 44,7 + !byte 28,22 + !byte 19,10 + !byte 23,34 + !byte 43,6 + !byte 29,21 + !byte 17,11 + !byte 24,34 + !byte 42,6 + !byte 29,20 + !byte 16,11 + !byte 25,34 + !byte 41,5 + !byte 29,19 + !byte 15,11 + !byte 26,34 + !byte 40,5 + !byte 29,18 + !byte 14,12 + !byte 27,34 + !byte 38,4 + !byte 28,18 + !byte 13,12 + !byte 28,34 + !byte 37,4 + !byte 27,17 + !byte 12,13 + !byte 29,34 + !byte 34,3 + !byte 26,17 + !byte 10,14 + !byte 32,33 + !byte 33,3 + !byte 21,17 + !byte 9,15 + !byte 33,33 + !byte 32,3 + !byte 20,17 + !byte 9,16 + !byte 34,33 + !byte 28,2 + !byte 19,18 + !byte 8,16 + !byte 36,32 + !byte 27,2 + !byte 18,19 + !byte 8,17 + !byte 37,32 + !byte 26,2 + !byte 18,20 + !byte 8,18 + !byte 38,31 + !byte 25,2 + !byte 18,21 + !byte 7,18 + !byte 39,31 + !byte 24,2 + !byte 19,22 + !byte 7,19 + !byte 40,30 + !byte 23,2 + !byte 20,23 + !byte 7,20 + !byte 41,30 + !byte 22,2 + !byte 21,23 + !byte 7,21 + !byte 42,29 + !byte 21,2 + !byte 23,24 + !byte 7,22 + !byte 43,28 + !byte 20,2 + !byte 24,24 + !byte 8,23 + !byte 44,27 + !byte 19,2 + !byte 25,24 + !byte 8,24 + !byte 45,26 + !byte 15,3 + !byte 26,24 + !byte 9,25 + !byte 46,25 + !byte 14,3 + !byte 28,23 + !byte 10,26 + !byte 46,24 + !byte 13,3 + !byte 29,22 + !byte 11,27 + !byte 47,23 + !byte 11,4 + !byte 30,22 + !byte 12,27 + !byte 47,22 + !byte 10,4 + !byte 30,21 + !byte 13,28 + !byte 47,21 + !byte 8,5 + !byte 30,20 + !byte 15,29 + !byte 47,20 + !byte 7,5 + !byte 30,19 + !byte 16,29 + !byte 47,19 + !byte 6,6 + !byte 30,18 + !byte 18,30 + !byte 47,18 + !byte 5,6 + !byte 29,17 + !byte 19,30 + !byte 47,17 + !byte 3,7 + !byte 28,17 + !byte 20,30 + !byte 46,16 + !byte 2,8 + !byte 27,16 + !byte 21,30 + !byte 46,15 + !byte 1,8 + !byte 26,16 + !byte 27,30 + !byte 45,14 + !byte 0,9 + !byte 25,16 + !byte 28,30 + !byte 45,13 + !byte 0,31 + !byte 24,16 + !byte 29,30 + !byte 44,13 + !byte 1,32 + !byte 23,16 + !byte 30,30 + !byte 44,12 + !byte 2,32 + !byte 22,16 + !byte 33,29 + !byte 43,12 + !byte 3,33 + !byte 21,16 + !byte 34,29 + !byte 43,11 + !byte 4,34 + !byte 19,17 + !byte 35,28 + !byte 42,11 + !byte 5,34 + !byte 18,18 + !byte 37,27 + !byte 41,10 + !byte 6,35 + !byte 17,19 + !byte 38,26 + !byte 39,9 + !byte 7,35 + !byte 17,20 + !byte 39,25 + !byte 37,8 + !byte 9,36 + !byte 17,21 + !byte 40,24 + !byte 36,8 + !byte 10,36 + !byte 18,22 + !byte 41,23 + !byte 34,7 + !byte 12,37 + !byte 19,23 + !byte 41,22 + !byte 33,7 + !byte 13,37 + !byte 20,24 + !byte 41,21 + !byte 30,6 + !byte 14,37 + !byte 21,24 + !byte 41,20 + !byte 29,6 + !byte 17,38 + !byte 22,24 + !byte 41,19 + !byte 28,6 + !byte 18,38 + !byte 27,24 + !byte 41,18 + !byte 27,6 + !byte 19,38 + !byte 28,24 + !byte 41,17 + !byte 26,6 + !byte 20,38 + !byte 29,23 + !byte 40,16 + !byte 25,6 + !byte 21,38 + !byte 30,23 + !byte 40,15 + !byte 23,6 + !byte 22,38 + !byte 31,22 + !byte 39,15 + !byte 22,6 + !byte 23,38 + !byte 31,21 + !byte 39,14 + !byte 21,6 + !byte 24,38 + !byte 31,20 + !byte 38,14 + !byte 20,6 + !byte 25,38 + !byte 31,19 + !byte 38,13 + !byte 19,6 + !byte 26,38 + !byte 31,18 + !byte 37,13 + !byte 18,6 + !byte 27,38 + !byte 30,17 + !byte 36,12 + !byte 17,6 + !byte 28,38 + !byte 28,16 + !byte 34,11 + !byte 15,7 + !byte 29,38 + !byte 24,15 + !byte 33,11 + !byte 14,7 + !byte 30,38 + !byte 20,16 + !byte 31,10 + !byte 13,7 + !byte 31,38 + !byte 19,16 + !byte 30,10 + !byte 11,8 + !byte 34,37 + !byte 18,17 + !byte 29,10 + !byte 10,8 + !byte 35,37 + !byte 17,18 + !byte 24,9 + !byte 9,9 + !byte 36,37 + !byte 16,19 + !byte 18,10 + !byte 8,9 + !byte 38,36 + !byte 16,20 + !byte 17,10 + !byte 7,10 + !byte 39,36 + !byte 16,21 + !byte 14,11 + !byte 5,11 + !byte 41,35 + !byte 17,22 + !byte 12,12 + !byte 4,12 + !byte 42,35 + !byte 17,23 + !byte 11,13 + !byte 3,13 + !byte 43,34 + !byte 18,23 + !byte 10,13 + !byte 2,14 + !byte 44,34 + !byte 19,24 + !byte 9,14 + !byte 2,15 + !byte 45,33 + !byte 22,25 + !byte 8,15 + !byte 1,16 + !byte 46,33 + !byte 23,25 + !byte 7,16 + !byte 1,17 + !byte 47,32 + !byte 24,25 + !byte 7,17 + !byte 0,18 + !byte 47,8 + !byte 25,25 + !byte 6,18 + !byte 0,19 + !byte 46,7 + !byte 26,25 + !byte 6,19 + !byte 0,20 + !byte 44,6 + !byte 27,25 + !byte 6,20 + !byte 0,21 + !byte 42,5 + !byte 29,24 + !byte 6,21 + !byte 0,22 + !byte 40,4 + !byte 31,23 + !byte 6,22 + !byte 1,23 + !byte 39,4 + !byte 32,22 + !byte 7,23 + !byte 1,24 + !byte 37,3 + !byte 32,21 + !byte 7,24 + !byte 1,25 + !byte 36,3 + !byte 32,20 + !byte 8,25 + !byte 2,26 + !byte 35,3 + !byte 32,19 + !byte 9,26 + !byte 3,27 + !byte 33,2 + !byte 32,18 + !byte 10,27 + !byte 4,28 + !byte 32,2 + !byte 31,17 + !byte 11,28 + !byte 5,29 + !byte 31,2 + !byte 30,16 + !byte 12,28 + !byte 6,30 + !byte 30,2 + !byte 29,16 + !byte 13,29 + !byte 7,30 + !byte 29,2 + !byte 28,15 + !byte 14,29 + !byte 8,31 + !byte 18,2 + !byte 27,15 + !byte 16,30 + !byte 10,32 + !byte 17,2 + !byte 26,15 + !byte 17,30 + !byte 11,32 + !byte 16,2 + !byte 25,15 + !byte 20,31 + !byte 12,33 + !byte 15,2 + !byte 23,15 + !byte 21,31 + !byte 13,33 + !byte 12,3 + !byte 22,15 + !byte 22,31 + !byte 14,33 + !byte 11,3 + !byte 21,15 + !byte 23,31 + !byte 16,34 + !byte 9,4 + !byte 20,15 + !byte 24,31 + !byte 17,34 + !byte 8,4 + !byte 18,16 + !byte 25,31 + !byte 18,34 + !byte 6,5 + !byte 17,17 + !byte 26,31 + !byte 19,34 + !byte 5,5 + !byte 16,18 + !byte 27,31 + !byte 30,34 + !byte 4,6 + !byte 15,19 + !byte 28,31 + !byte 31,34 + !byte 3,6 + !byte 15,20 + !byte 31,30 + !byte 32,34 + !byte 2,7 + !byte 15,21 + !byte 32,30 + !byte 35,33 + !byte 0,8 + !byte 16,22 + !byte 35,29 + !byte 36,33 + !byte 0,32 + !byte 16,23 + !byte 36,28 + !byte 38,32 + !byte 1,33 + !byte 17,24 + !byte 37,28 + !byte 40,31 + !byte 2,33 + !byte 18,24 + !byte 38,27 + !byte 41,31 + !byte 3,34 + !byte 19,25 + !byte 39,26 + !byte 42,30 + !byte 5,35 + !byte 20,25 + !byte 40,26 + !byte 43,29 + !byte 7,36 + !byte 21,25 + !byte 40,25 + !byte 44,28 + !byte 8,36 + !byte 28,25 + !byte 41,24 + !byte 45,28 + !byte 10,37 + !byte 29,25 + !byte 42,23 + !byte 45,27 + !byte 11,37 + !byte 30,24 + !byte 42,22 + !byte 46,26 + !byte 14,38 + !byte 31,24 + !byte 42,21 + !byte 47,25 + !byte 15,38 + !byte 32,23 + !byte 42,20 + !byte 47,24 + !byte 16,38 + !byte 33,22 + !byte 42,19 + !byte 47,16 + !byte 21,39 + !byte 33,21 + !byte 42,18 + !byte 47,15 + !byte 22,39 + !byte 33,20 + !byte 42,17 + !byte 46,14 + !byte 23,39 + !byte 33,19 + !byte 41,16 + !byte 46,13 + !byte 24,39 + !byte 33,18 + !byte 41,15 + !byte 45,12 + !byte 25,39 + !byte 32,17 + !byte 40,14 + !byte 44,11 + !byte 26,39 + !byte 31,16 + !byte 39,13 + !byte 42,10 + !byte 27,39 + !byte 29,15 + !byte 37,12 + !byte 41,9 + !byte 32,38 + !byte 26,14 + !byte 36,11 + !byte 40,9 + !byte 33,38 + !byte 25,14 + !byte 35,11 + !byte 39,8 + !byte 34,38 + !byte 24,14 + !byte 33,10 + !byte 38,8 + !byte 37,37 + !byte 23,14 + !byte 32,10 + !byte 37,7 + !byte 38,37 + !byte 22,14 + !byte 30,9 + !byte 36,7 + !byte 40,36 + !byte 21,14 + !byte 29,9 + !byte 35,7 + !byte 41,36 + !byte 19,15 + !byte 28,9 + !byte 33,6 + !byte 43,35 + !byte 18,15 + !byte 27,9 + !byte 32,6 + !byte 44,35 + !byte 17,16 + !byte 26,9 + !byte 31,6 + !byte 45,34 + !byte 16,16 + !byte 25,9 + !byte 28,5 + !byte 47,33 + !byte 16,17 + !byte 23,9 + !byte 27,5 + !byte 47,7 + !byte 15,17 + !byte 22,9 + !byte 26,5 + !byte 46,6 + !byte 15,18 + !byte 21,9 + !byte 25,5 + !byte 45,6 + !byte 14,19 + !byte 20,9 + !byte 24,5 + !byte 44,5 + !byte 14,20 + !byte 19,9 + !byte 23,5 + !byte 43,5 + !byte 14,21 + !byte 18,9 + !byte 22,5 + !byte 42,4 + !byte 15,22 + !byte 16,10 + !byte 21,5 + !byte 41,4 + !byte 15,23 + !byte 15,10 + !byte 20,5 + !byte 39,3 + !byte 16,24 + !byte 14,10 + !byte 16,6 + !byte 38,3 + !byte 18,25 + !byte 13,11 + !byte 15,6 + !byte 35,2 + !byte 20,26 + !byte 12,11 + !byte 14,6 + !byte 34,2 + !byte 21,26 + !byte 11,12 + !byte 12,7 + !byte 30,1 + !byte 22,26 + !byte 10,12 + !byte 11,7 + !byte 29,1 + !byte 23,26 + !byte 9,13 + !byte 9,8 + !byte 28,1 + !byte 24,26 + !byte 8,14 + !byte 7,9 + !byte 27,1 + !byte 25,26 + !byte 7,15 + !byte 6,10 + !byte 26,1 + !byte 26,26 + !byte 6,16 + !byte 5,10 + !byte 25,1 + !byte 27,26 + !byte 6,17 + !byte 4,11 + !byte 24,1 + !byte 28,26 + !byte 5,18 + !byte 3,12 + !byte 23,1 + !byte 30,25 + !byte 5,19 + !byte 2,13 + !byte 22,1 + !byte 31,25 + !byte 5,20 + !byte 1,14 + !byte 21,1 + !byte 32,24 + !byte 5,21 + !byte 1,15 + !byte 20,1 + !byte 33,23 + !byte 5,22 + !byte 0,15 + !byte 19,1 + !byte 34,22 + !byte 6,23 + !byte 0,16 + !byte 18,1 + !byte 34,21 + !byte 6,24 + !byte 0,17 + !byte 14,2 + !byte 34,20 + !byte 7,25 + !byte 0,23 + !byte 13,2 + !byte 34,19 + !byte 8,26 + !byte 0,24 + !byte 12,2 + !byte 34,18 + !byte 9,27 + !byte 0,25 + !byte 10,3 + !byte 33,17 + !byte 10,28 + !byte 1,26 + !byte 9,3 + !byte 32,16 + !byte 12,29 + !byte 2,27 + !byte 7,4 + !byte 31,15 + !byte 14,30 + !byte 3,28 + !byte 6,4 + !byte 30,15 + !byte 15,30 + !byte 4,29 + !byte 4,5 + !byte 29,14 + !byte 17,31 + !byte 5,30 + !byte 2,6 + !byte 28,14 + !byte 18,31 + !byte 6,31 + !byte 1,7 + !byte 27,14 + !byte 19,31 + !byte 7,31 + !byte 0,7 + !byte 20,14 + !byte 29,31 + !byte 8,32 + !byte 0,33 + !byte 19,14 + !byte 30,31 + !byte 9,32 + !byte 1,34 + !byte 17,15 + !byte 31,31 + !byte 10,33 + !byte 2,34 + !byte 15,16 + !byte 33,30 + !byte 11,33 + !byte 3,35 + !byte 14,17 + !byte 34,30 + !byte 13,34 + !byte 4,35 + !byte 14,18 + !byte 36,29 + !byte 14,34 + !byte 5,36 + !byte 13,19 + !byte 37,29 + !byte 15,34 + !byte 6,36 + !byte 13,20 + !byte 38,28 + !byte 18,35 + !byte 8,37 + !byte 13,21 + !byte 39,27 + !byte 19,35 + !byte 9,37 + !byte 14,22 + !byte 40,27 + !byte 20,35 + !byte 11,38 + !byte 14,23 + !byte 41,26 + !byte 21,35 + !byte 12,38 + !byte 15,24 + !byte 41,25 + !byte 22,35 + !byte 13,38 + !byte 16,25 + !byte 42,25 + !byte 23,35 + !byte 16,39 + !byte 17,25 + !byte 42,24 + !byte 24,35 + !byte 17,39 + !byte 18,26 + !byte 43,23 + !byte 25,35 + !byte 18,39 + !byte 19,26 + !byte 43,22 + !byte 26,35 + !byte 19,39 + !byte 22,27 + !byte 43,21 + !byte 27,35 + !byte 20,39 + !byte 23,27 + !byte 43,20 + !byte 28,35 + !byte 28,39 + !byte 24,27 + !byte 43,19 + !byte 29,35 + !byte 29,39 + !byte 25,27 + !byte 43,18 + !byte 30,35 + !byte 30,39 + !byte 26,27 + !byte 43,17 + !byte 31,35 + !byte 31,39 + !byte 29,26 + !byte 42,16 + !byte 33,34 + !byte 32,39 + !byte 30,26 + !byte 42,15 + !byte 34,34 + !byte 33,39 + !byte 32,25 + !byte 41,14 + !byte 35,34 + !byte 35,38 + !byte 33,24 + !byte 40,13 + !byte 37,33 + !byte 36,38 + !byte 34,24 + !byte 39,12 + !byte 38,33 + !byte 37,38 + !byte 34,23 + !byte 38,12 + !byte 39,32 + !byte 39,37 + !byte 35,22 + !byte 37,11 + !byte 40,32 + !byte 40,37 + !byte 35,21 + !byte 35,10 + !byte 42,31 + !byte 42,36 + !byte 35,20 + !byte 34,10 + !byte 43,30 + !byte 43,36 + !byte 35,19 + !byte 32,9 + !byte 44,29 + !byte 45,35 + !byte 35,18 + !byte 31,9 + !byte 45,29 + !byte 46,34 + !byte 34,17 + !byte 27,8 + !byte 46,28 + !byte 47,34 + !byte 34,16 + !byte 26,8 + !byte 46,27 + !byte 47,6 + !byte 33,16 + !byte 25,8 + !byte 47,27 + !byte 45,5 + !byte 32,15 + !byte 24,8 + !byte 47,26 + !byte 43,4 + !byte 31,14 + !byte 23,8 + !byte 47,14 + !byte 41,3 + !byte 30,14 + !byte 22,8 + !byte 47,13 + !byte 40,3 + !byte 28,13 + !byte 21,8 + !byte 46,12 + !byte 38,2 + !byte 27,13 + !byte 20,8 + !byte 45,11 + !byte 37,2 + !byte 26,13 + !byte 17,9 + !byte 44,10 + !byte 36,2 + !byte 25,13 + !byte 16,9 + !byte 43,10 + !byte 34,1 + !byte 24,13 + !byte 15,9 + !byte 42,9 + !byte 33,1 + !byte 23,13 + !byte 13,10 + !byte 41,8 + !byte 32,1 + !byte 22,13 + !byte 11,11 + !byte 40,8 + !byte 31,1 + !byte 21,13 + !byte 10,11 + !byte 38,7 + !byte 24,0 + !byte 20,13 + !byte 9,12 + !byte 36,6 + !byte 17,1 + !byte 18,14 + !byte 8,13 + !byte 35,6 + !byte 16,1 + !byte 17,14 + !byte 7,14 + !byte 34,6 + !byte 15,1 + !byte 16,15 + !byte 6,15 + !byte 32,5 + !byte 14,1 + !byte 15,15 + !byte 5,16 + !byte 31,5 + !byte 11,2 + !byte 14,16 + !byte 5,17 + !byte 30,5 + !byte 10,2 + !byte 13,17 + !byte 4,18 + !byte 29,5 + !byte 8,3 + !byte 13,18 + !byte 4,19 + !byte 19,5 + !byte 7,3 + !byte 12,19 + !byte 4,20 + !byte 18,5 + !byte 5,4 + !byte 12,20 + !byte 4,21 + !byte 17,5 + !byte 4,4 + !byte 12,21 + !byte 4,22 + !byte 16,5 + !byte 3,5 + !byte 13,22 + !byte 5,23 + !byte 13,6 + !byte 2,5 + !byte 13,23 + !byte 5,24 + !byte 12,6 + !byte 1,6 + !byte 14,24 + !byte 6,25 + !byte 10,7 + !byte 0,6 + !byte 15,25 + !byte 6,26 + !byte 9,7 + !byte 0,34 + !byte 16,26 + !byte 7,26 + !byte 8,8 + !byte 2,35 + !byte 17,26 + !byte 8,27 + !byte 7,8 + !byte 4,36 + !byte 19,27 + !byte 9,28 + !byte 6,9 + !byte 6,37 + !byte 20,27 + !byte 10,29 + !byte 5,9 + !byte 7,37 + !byte 21,27 + !byte 11,29 + !byte 4,10 + !byte 9,38 + !byte 27,27 + !byte 12,30 + !byte 3,11 + !byte 10,38 + !byte 28,27 + !byte 13,30 + !byte 2,12 + !byte 13,39 + !byte 29,27 + !byte 15,31 + !byte 1,13 + !byte 14,39 + !byte 31,26 + !byte 16,31 + !byte 0,14 + !byte 15,39 + !byte 32,26 + !byte 19,32 + !byte 0,26 + !byte 34,39 + !byte 33,25 + !byte 20,32 + !byte 1,27 + !byte 35,39 + !byte 35,24 + !byte 21,32 + !byte 2,28 + !byte 36,39 + !byte 35,23 + !byte 22,32 + !byte 3,29 + !byte 38,38 + !byte 36,22 + !byte 23,32 + !byte 4,30 + !byte 39,38 + !byte 36,21 + !byte 24,32 + !byte 5,31 + !byte 41,37 + !byte 36,20 + !byte 25,32 + !byte 7,32 + !byte 42,37 + !byte 36,19 + !byte 26,32 + !byte 9,33 + !byte 44,36 + !byte 36,18 + !byte 27,32 + !byte 11,34 + !byte 45,36 + !byte 35,17 + !byte 28,32 + !byte 12,34 + !byte 46,35 + !byte 35,16 + !byte 29,32 + !byte 15,35 + !byte 47,35 + !byte 34,15 + !byte 30,32 + !byte 16,35 + !byte 47,5 + !byte 33,15 + !byte 32,31 + !byte 17,35 + !byte 46,5 + !byte 32,14 + !byte 33,31 + !byte 21,36 + !byte 45,4 + !byte 30,13 + !byte 34,31 + !byte 22,36 + !byte 44,4 + !byte 29,13 + !byte 35,30 + !byte 23,36 + !byte 43,3 + !byte 24,12 + !byte 36,30 + !byte 24,36 + !byte 42,3 + !byte 19,13 + !byte 38,29 + !byte 25,36 + !byte 40,2 + !byte 18,13 + !byte 39,28 + !byte 26,36 + !byte 39,2 + !byte 16,14 + !byte 40,28 + !byte 27,36 + !byte 37,1 + !byte 14,15 + !byte 41,27 + !byte 32,35 + !byte 36,1 + !byte 13,16 + !byte 42,26 + !byte 33,35 + !byte 35,1 + !byte 12,17 + !byte 43,25 + !byte 34,35 + !byte 32,0 + !byte 12,18 + !byte 43,24 + !byte 36,34 + !byte 31,0 + !byte 11,19 + !byte 44,23 + !byte 37,34 + !byte 30,0 + !byte 11,20 + !byte 44,22 + !byte 39,33 + !byte 29,0 + !byte 11,21 + !byte 44,21 + !byte 40,33 + !byte 28,0 + !byte 11,22 + !byte 44,20 + !byte 41,32 + !byte 27,0 + !byte 12,22 + !byte 44,19 + !byte 42,32 + !byte 26,0 + !byte 12,23 + !byte 44,18 + !byte 43,31 + !byte 25,0 + !byte 13,24 + !byte 44,17 + !byte 44,30 + !byte 23,0 + !byte 14,25 + !byte 43,16 + !byte 45,30 + !byte 22,0 + !byte 15,26 + !byte 43,15 + !byte 46,29 + !byte 21,0 + !byte 17,27 + !byte 42,14 + !byte 47,28 + !byte 20,0 + !byte 18,27 + !byte 41,13 + !byte 47,12 + !byte 19,0 + !byte 21,28 + !byte 40,12 + !byte 46,11 + !byte 18,0 + !byte 22,28 + !byte 38,11 + !byte 45,10 + !byte 17,0 + !byte 23,28 + !byte 37,10 + !byte 44,9 + !byte 16,0 + !byte 24,28 + !byte 36,10 + !byte 43,9 + !byte 13,1 + !byte 25,28 + !byte 34,9 + !byte 42,8 + !byte 12,1 + !byte 26,28 + !byte 33,9 + !byte 40,7 + !byte 11,1 + !byte 27,28 + !byte 31,8 + !byte 39,7 + !byte 9,2 + !byte 28,28 + !byte 30,8 + !byte 38,6 + !byte 8,2 + !byte 30,27 + !byte 29,8 + !byte 37,6 + !byte 6,3 + !byte 31,27 + !byte 28,8 + !byte 35,5 + !byte 5,3 + !byte 33,26 + !byte 19,8 + !byte 34,5 + !byte 3,4 + !byte 34,25 + !byte 18,8 + !byte 33,5 + !byte 1,5 + !byte 35,25 + !byte 17,8 + !byte 29,4 + !byte 0,35 + !byte 36,24 + !byte 14,9 + !byte 28,4 + !byte 1,35 + !byte 36,23 + !byte 13,9 + !byte 27,4 + !byte 2,36 + !byte 37,23 + !byte 12,10 + !byte 26,4 + !byte 3,36 + !byte 37,22 + !byte 11,10 + !byte 25,4 + !byte 4,37 + !byte 37,21 + !byte 9,11 + !byte 24,4 + !byte 5,37 + !byte 37,20 + !byte 8,12 + !byte 23,4 + !byte 7,38 + !byte 37,19 + !byte 7,13 + !byte 22,4 + !byte 8,38 + !byte 37,18 + !byte 6,13 + !byte 21,4 + !byte 10,39 + !byte 37,17 + !byte 6,14 + !byte 20,4 + !byte 11,39 + !byte 36,17 + !byte 5,15 + !byte 19,4 + !byte 12,39 + !byte 36,16 + !byte 4,16 + !byte 18,4 + !byte 37,39 + !byte 35,15 + !byte 4,17 + !byte 15,5 + !byte 38,39 + !byte 34,14 + !byte 3,18 + !byte 14,5 + !byte 40,38 + !byte 33,14 + !byte 3,19 + !byte 13,5 + !byte 41,38 + !byte 32,13 + !byte 3,20 + !byte 11,6 + !byte 43,37 + !byte 31,13 + !byte 3,21 + !byte 10,6 + !byte 44,37 + !byte 29,12 + !byte 3,22 + !byte 8,7 + !byte 46,36 + !byte 28,12 + !byte 4,23 + !byte 6,8 + !byte 47,4 + !byte 27,12 + !byte 4,24 + !byte 4,9 + !byte 46,4 + !byte 26,12 + !byte 5,25 + !byte 3,10 + !byte 45,3 + !byte 25,12 + !byte 5,26 + !byte 2,11 + !byte 44,3 + !byte 23,12 + !byte 6,27 + !byte 1,11 + !byte 42,2 + !byte 22,12 + !byte 7,27 + !byte 1,12 + !byte 41,2 + !byte 21,12 + !byte 7,28 + !byte 0,12 + !byte 39,1 + !byte 20,12 + !byte 8,28 + !byte 0,13 + !byte 38,1 + !byte 19,12 + !byte 9,29 + !byte 0,27 + !byte 35,0 + !byte 17,13 + !byte 10,30 + !byte 0,28 + !byte 34,0 + !byte 16,13 + !byte 11,30 + !byte 1,28 + !byte 33,0 + !byte 15,14 + !byte 13,31 + !byte 1,29 + !byte 15,0 + !byte 14,14 + !byte 14,31 + !byte 2,29 + !byte 14,0 + !byte 13,15 + !byte 16,32 + !byte 2,30 + !byte 13,0 + !byte 12,16 + !byte 17,32 + !byte 3,30 + !byte 12,0 + !byte 11,17 + !byte 18,32 + !byte 4,31 + !byte 10,1 + !byte 11,18 + !byte 22,33 + !byte 5,32 + !byte 9,1 + !byte 10,19 + !byte 23,33 + !byte 6,32 + !byte 8,1 + !byte 10,20 + !byte 24,33 + !byte 7,33 + !byte 7,2 + !byte 10,21 + !byte 25,33 + !byte 8,33 + !byte 6,2 + !byte 10,22 + !byte 26,33 + !byte 9,34 + !byte 4,3 + !byte 11,23 + !byte 27,33 + !byte 10,34 + !byte 3,3 + !byte 12,24 + !byte 31,32 + !byte 12,35 + !byte 2,4 + !byte 12,25 + !byte 32,32 + !byte 13,35 + !byte 1,4 + !byte 13,25 + !byte 33,32 + !byte 14,35 + !byte 0,5 + !byte 14,26 + !byte 35,31 + !byte 17,36 + !byte 1,36 + !byte 15,27 + !byte 36,31 + !byte 18,36 + !byte 3,37 + !byte 16,27 + !byte 37,30 + !byte 19,36 + !byte 5,38 + !byte 18,28 + !byte 38,30 + !byte 20,36 + !byte 6,38 + !byte 19,28 + !byte 39,29 + !byte 28,36 + !byte 8,39 + !byte 20,28 + !byte 40,29 + !byte 29,36 + !byte 9,39 + !byte 29,28 + !byte 41,28 + !byte 30,36 + !byte 39,39 + !byte 30,28 + !byte 42,27 + !byte 31,36 + !byte 40,39 + !byte 32,27 + !byte 43,26 + !byte 32,36 + !byte 41,39 + !byte 33,27 + !byte 44,25 + !byte 35,35 + !byte 42,38 + !byte 34,26 + !byte 44,24 + !byte 36,35 + !byte 43,38 + !byte 35,26 + !byte 45,23 + !byte 38,34 + !byte 45,37 + !byte 36,25 + !byte 45,22 + !byte 39,34 + !byte 46,37 + !byte 37,24 + !byte 45,21 + !byte 41,33 + !byte 47,36 + !byte 38,23 + !byte 45,20 + !byte 43,32 + !byte 46,3 + !byte 38,22 + !byte 45,19 + !byte 44,31 + !byte 44,2 + !byte 38,21 + !byte 45,18 + !byte 45,31 + !byte 43,2 + !byte 38,20 + !byte 45,17 + !byte 46,30 + !byte 41,1 + !byte 38,19 + !byte 44,16 + !byte 47,29 + !byte 40,1 + !byte 38,18 + !byte 44,15 + !byte 47,11 + !byte 38,0 + !byte 38,17 + !byte 43,14 + !byte 46,10 + !byte 37,0 + !byte 37,16 + !byte 42,13 + !byte 45,9 + !byte 36,0 + !byte 36,15 + !byte 41,12 + !byte 43,8 + !byte 11,0 + !byte 35,14 + !byte 40,11 + !byte 42,7 + !byte 10,0 + !byte 33,13 + !byte 39,11 + !byte 41,7 + !byte 7,1 + !byte 31,12 + !byte 38,10 + !byte 39,6 + !byte 6,1 + !byte 30,12 + !byte 36,9 + !byte 37,5 + !byte 5,2 + !byte 27,11 + !byte 35,9 + !byte 36,5 + !byte 4,2 + !byte 26,11 + !byte 34,8 + !byte 33,4 + !byte 2,3 + !byte 25,11 + !byte 33,8 + !byte 32,4 + !byte 1,3 + !byte 24,11 + !byte 32,8 + !byte 31,4 + !byte 0,4 + !byte 23,11 + !byte 29,7 + !byte 30,4 + !byte 0,36 + !byte 22,11 + !byte 28,7 + !byte 24,3 + !byte 1,37 + !byte 21,11 + !byte 27,7 + !byte 17,4 + !byte 2,37 + !byte 18,12 + !byte 26,7 + !byte 16,4 + !byte 3,38 + !byte 17,12 + !byte 25,7 + !byte 15,4 + !byte 4,38 + !byte 15,13 + !byte 24,7 + !byte 12,5 + !byte 6,39 + !byte 14,13 + !byte 23,7 + !byte 11,5 + !byte 7,39 + !byte 13,14 + !byte 22,7 + !byte 9,6 + !byte 42,39 + !byte 12,15 + !byte 21,7 + !byte 8,6 + !byte 43,39 + !byte 11,15 + !byte 20,7 + !byte 7,7 + !byte 44,38 + !byte 11,16 + !byte 19,7 + !byte 6,7 + !byte 45,38 + !byte 10,17 + !byte 16,8 + !byte 5,8 + !byte 47,37 + !byte 10,18 + !byte 15,8 + !byte 4,8 + !byte 47,3 + !byte 9,19 + !byte 14,8 + !byte 3,9 + !byte 46,2 + !byte 9,20 + !byte 12,9 + !byte 2,10 + !byte 45,2 + !byte 9,21 + !byte 11,9 + !byte 1,10 + !byte 43,1 + !byte 9,22 + !byte 10,10 + !byte 0,11 + !byte 42,1 + !byte 10,23 + !byte 9,10 + !byte 0,29 + !byte 40,0 + !byte 10,24 + !byte 8,11 + !byte 1,30 + !byte 39,0 + !byte 11,24 + !byte 7,12 + !byte 2,31 + !byte 9,0 + !byte 11,25 + !byte 6,12 + !byte 3,31 + !byte 8,0 + !byte 12,26 + !byte 5,13 + !byte 4,32 + !byte 7,0 + !byte 13,26 + !byte 5,14 + !byte 6,33 + !byte 5,1 + !byte 14,27 + !byte 4,14 + !byte 8,34 + !byte 4,1 + !byte 16,28 + !byte 4,15 + !byte 10,35 + !byte 3,2 + !byte 17,28 + !byte 3,16 + !byte 11,35 + !byte 2,2 + !byte 19,29 + !byte 3,17 + !byte 14,36 + !byte 0,3 + !byte 20,29 + !byte 2,18 + !byte 15,36 + !byte 0,37 + !byte 21,29 + !byte 2,19 + !byte 16,36 + !byte 2,38 + !byte 22,29 + !byte 2,20 + !byte 19,37 + !byte 4,39 + !byte 23,29 + !byte 2,21 + !byte 20,37 + !byte 5,39 + !byte 24,29 + !byte 2,22 + !byte 21,37 + !byte 44,39 + !byte 25,29 + !byte 3,23 + !byte 22,37 + !byte 46,38 + !byte 26,29 + !byte 3,24 + !byte 23,37 + !byte 47,38 + !byte 27,29 + !byte 4,25 + !byte 24,37 + !byte 47,2 + !byte 28,29 + !byte 4,26 + !byte 25,37 + !byte 45,1 + !byte 29,29 + !byte 5,27 + !byte 26,37 + !byte 44,1 + !byte 31,28 + !byte 6,28 + !byte 27,37 + !byte 42,0 + !byte 32,28 + !byte 7,29 + !byte 28,37 + !byte 41,0 + !byte 34,27 + !byte 8,29 + !byte 29,37 + !byte 6,0 + !byte 35,27 + !byte 9,30 + !byte 33,36 + !byte 5,0 + !byte 36,26 + !byte 11,31 + !byte 34,36 + !byte 3,1 + !byte 37,25 + !byte 12,31 + !byte 35,36 + !byte 1,2 + !byte 38,24 + !byte 13,32 + !byte 37,35 + !byte 0,2 + !byte 39,23 + !byte 14,32 + !byte 38,35 + !byte 0,38 + !byte 39,22 + !byte 15,32 + !byte 40,34 + !byte 1,38 + !byte 39,21 + !byte 17,33 + !byte 41,34 + !byte 2,39 + !byte 39,20 + !byte 18,33 + !byte 42,33 + !byte 3,39 + !byte 39,19 + !byte 19,33 + !byte 43,33 + !byte 45,39 + !byte 39,18 + !byte 20,33 + !byte 44,32 + !byte 46,39 + !byte 39,17 + !byte 21,33 + !byte 45,32 + !byte 47,1 + !byte 38,16 + !byte 28,33 + !byte 46,31 + !byte 46,1 + !byte 37,15 + !byte 29,33 + !byte 47,30 + !byte 44,0 + !byte 36,14 + !byte 30,33 + !byte 47,10 + !byte 43,0 + !byte 35,13 + !byte 31,33 + !byte 46,9 + !byte 4,0 + !byte 34,13 + !byte 34,32 + !byte 45,8 + !byte 3,0 + !byte 33,12 + !byte 35,32 + !byte 44,8 + !byte 2,1 + !byte 32,12 + !byte 37,31 + !byte 43,7 + !byte 1,1 + !byte 30,11 + !byte 39,30 + !byte 41,6 + !byte 0,39 + !byte 29,11 + !byte 41,29 + !byte 40,6 + !byte 1,39 + !byte 28,11 + !byte 42,28 + !byte 39,5 + !byte 47,39 + !byte 20,11 + !byte 43,27 + !byte 38,5 + !byte 46,0 + !byte 19,11 + !byte 44,26 + !byte 36,4 + !byte 45,0 + !byte 18,11 + !byte 45,25 + !byte 35,4 + !byte 2,0 + !byte 16,12 + !byte 45,24 + !byte 34,4 + !byte 1,0 + !byte 15,12 + !byte 46,23 + !byte 31,3 + !byte 0,1 + !byte 13,13 + !byte 46,22 + !byte 30,3 + !byte 47,0 + !byte 12,14 + !byte 46,21 + !byte 29,3 + !byte 0,0