nice puzzle game

Dependencies:   PokittoLib

gfx.h

Committer:
spinal
Date:
2018-11-18
Revision:
3:f6302af708a4
Parent:
0:3c929189abce

File content as of revision 3:f6302af708a4:

const char PROGMEM text[] = "                              Hopefully this game will be released before or around the time of the Pokitto commercial launch, giving people a game to play straight away.";

const uint16_t _pal[] = {
4195,16678,12717,19017,33382,13092,53801,29580,23545,54245,33972,27973,54611,28185,57003,57210,
};

const uint8_t palLookup[]={
0,1,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,0,0,0,0,0,0,0,
};

const uint8_t _miniPal[]={ // this could easily be 2 entries per byte, but I'm lazy.
0,8,0,2, // water
15,14,12,3, // single tile
12, 4, 6,3, // double tile
15,10,2,3, // grey tiles
10,8,2,0 // ball
};

const uint16_t myFont_pal[] = {
63519,0,65535,
};

// lets try 2bpp tiles
const uint16_t gbTiles[] = {
153,153,153,
102,102,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
0,0,1,
38,102,103,
25,153,155,
38,102,103,
25,153,155,
38,102,103,
25,153,155,
38,102,103,
25,153,155,
38,102,103,
25,153,155,
127,255,255,
0,0,1,
38,102,103,
25,153,155,
38,102,103,
25,153,155,
38,102,103,
25,153,155,
38,102,103,
25,153,155,
38,102,103,
25,153,155,
127,255,255,
0,0,1,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
127,255,255,
0,0,0,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
0,0,1,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
127,255,255,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
255,255,255,
0,0,0,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
21,85,85,
127,255,255,
0,0,1,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
85,85,87,
255,255,255,
0,0,0,
21,85,85,
26,170,166,
24,10,42,
24,170,136,
24,37,162,
24,166,136,
24,170,42,
24,10,38,
26,170,166,
21,85,85,
127,255,255,
0,0,1,
85,85,87,
170,170,167,
40,160,39,
168,168,167,
152,152,151,
168,152,151,
40,152,151,
40,152,151,
170,154,151,
85,85,87,
255,255,255,
0,0,1,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
21,85,87,
127,255,255,
0,0,1,
21,85,87,
21,85,87,
21,85,87,
127,255,255,
238,238,238,
187,187,187,
0,0,1,
21,85,87,
21,85,87,
21,85,87,
127,255,255,
0,120,1,
21,236,87,
21,248,87,
21,236,87,
21,248,87,
21,236,87,
21,248,87,
21,236,87,
21,248,87,
21,236,87,
21,248,87,
127,237,255,
0,0,1,
21,85,87,
22,170,87,
22,2,87,
22,138,87,
21,137,87,
21,137,87,
21,137,87,
21,169,87,
21,85,87,
21,85,87,
127,255,255,
255,255,255,
255,255,255,
255,3,255,
252,85,255,
241,86,127,
241,86,111,
241,89,111,
252,165,175,
255,86,191,
255,234,255,
255,255,255,
255,255,255,
153,155,187,
102,110,238,
153,155,187,
102,110,238,
153,155,187,
102,110,238,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
187,187,187,
238,238,238,
187,187,187,
238,238,238,
187,187,187,
238,238,238,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
153,153,153,
102,102,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
153,155,187,
102,110,238,
153,155,187,
102,110,238,
153,155,187,
102,110,238,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,187,187,
238,238,238,
187,187,187,
238,238,238,
187,187,187,
238,238,238,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
187,185,153,
238,230,102,
};

const uint8_t shaddow[] = {0,18,19,20,21,22,23,24};

const uint8_t ball[][10]={
2,3,        3, 3, 3,         0,0,0,0,0,
1,5,     3, 8, 8, 8, 3,           0,0,0,
0,7,  3, 8,15,13,10, 8, 2,         0,
0,8,  3, 8,13,13,10, 8, 2, 0,
0,8,  3, 8,10,10, 8, 8, 2, 0,
1,7,     3, 8, 8, 8, 2, 0, 0,            0,
2,5,        2, 2, 2, 0, 0,          0,0,0,
3,3,           0, 0, 0,         0,0,0,0,0,
};

const uint8_t explode_tiles[]={
8,8,10,168,8,170,
138,160,138,160,170,202,
10,236,169,202,174,202,
128,206,158,238,236,160,
8,174,158,238,234,168,
138,158,238,238,238,160,
206,238,238,238,238,168,
138,206,238,238,238,160,
8,174,238,238,238,168,
128,172,201,156,170,160,
8,8,12,232,8,8,
128,128,138,160,128,128,
8,8,8,8,8,168,
138,170,172,202,170,202,
10,153,158,233,156,168,
135,238,233,158,238,160,
7,238,233,158,238,168,
135,238,233,238,238,192,
172,153,158,233,153,200,
138,153,153,153,156,160,
8,238,233,238,238,168,
128,206,233,238,238,160,
10,167,119,156,168,8,
128,128,138,192,128,128,
8,8,8,8,8,8,
138,160,138,160,128,170,
10,170,174,234,154,170,
138,238,154,169,238,160,
7,238,154,174,238,200,
138,153,124,238,238,192,
170,170,169,236,202,170,
170,167,170,201,144,128,
8,158,154,158,236,168,
128,158,234,158,233,160,
8,172,170,172,200,8,
138,128,138,160,128,128,
8,8,8,8,8,8,
128,160,138,160,128,170,
10,8,10,154,122,168,
138,153,160,135,238,160,
7,238,168,167,238,168,
138,204,170,170,153,160,
10,168,7,234,170,8,
128,138,138,170,160,128,
8,206,168,12,236,168,
128,206,192,169,233,160,
10,172,168,170,168,8,
138,160,128,160,128,128,
8,8,8,8,8,8,
128,128,128,128,128,160,
8,8,10,168,170,8,
128,170,128,138,105,160,
8,150,168,10,102,168,
128,170,128,128,170,128,
8,8,10,120,8,8,
128,128,128,160,128,128,
8,170,8,8,170,8,
128,169,160,138,154,128,
8,10,8,8,168,8,
128,128,128,128,128,128,
8,8,8,8,8,8,
128,128,128,128,128,128,
8,8,10,168,10,8,
128,128,128,128,170,128,
8,106,8,8,172,168,
128,160,128,128,128,128,
8,8,10,168,8,8,
128,128,128,160,128,128,
8,8,8,8,170,8,
128,169,160,138,154,128,
8,10,8,8,8,8,
128,128,128,128,128,128,
8,8,8,8,8,8,
128,128,128,128,128,128,
8,8,8,8,8,8,
128,128,128,128,170,128,
8,200,8,8,170,8,
128,128,128,128,128,128,
8,8,8,168,8,8,
128,128,128,128,128,128,
8,8,8,8,8,8,
128,170,128,128,160,128,
8,10,8,8,8,8,
128,128,128,128,128,128,
8,8,8,8,8,8,
128,128,128,128,128,128,
8,8,8,8,8,8,
128,128,128,128,128,128,
8,8,8,8,8,8,
128,128,128,128,128,128,
8,8,8,8,8,8,
128,128,128,128,128,128,
8,8,8,8,8,8,
128,128,128,128,128,128,
8,8,8,8,8,8,
128,128,128,128,128,128,
};


// font
const uint8_t myFont[] = {
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
5,84,
6,164,
6,148,
6,144,
6,80,
21,64,
26,64,
21,0,
85,84,
105,165,
26,105,
5,85,
0,0,
0,0,
0,0,
0,0,
4,64,
25,144,
106,164,
25,148,
106,160,
25,148,
5,80,
0,0,
0,80,
5,164,
26,169,
106,84,
22,164,
21,169,
106,165,
85,84,
20,4,
105,25,
21,101,
1,148,
6,80,
25,84,
101,105,
84,21,
5,64,
26,144,
105,144,
26,164,
105,169,
101,149,
26,169,
5,85,
5,80,
6,148,
1,164,
0,84,
0,0,
0,0,
0,0,
0,0,
0,16,
0,100,
1,148,
6,64,
6,64,
6,144,
1,164,
0,84,
5,0,
26,64,
26,144,
6,144,
6,144,
6,80,
25,64,
5,0,
16,16,
100,100,
25,148,
106,164,
25,148,
101,100,
84,84,
16,16,
1,0,
6,64,
22,80,
106,164,
22,84,
6,64,
5,64,
0,0,
0,0,
0,0,
0,0,
0,0,
0,84,
1,164,
6,148,
5,80,
0,0,
0,0,
85,85,
106,165,
26,84,
21,64,
4,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
1,64,
6,144,
1,80,
0,4,
0,25,
0,101,
1,148,
6,80,
25,64,
101,0,
84,0,
1,80,
6,164,
26,105,
105,25,
105,25,
105,101,
26,148,
5,80,
1,64,
6,144,
26,144,
6,144,
6,164,
6,164,
6,84,
5,64,
21,80,
26,164,
21,105,
1,165,
22,148,
106,169,
85,169,
0,85,
85,80,
106,164,
21,105,
6,164,
85,169,
105,169,
26,165,
5,84,
21,64,
26,64,
26,84,
25,100,
105,165,
106,169,
86,149,
5,80,
1,84,
86,164,
106,164,
105,80,
22,164,
101,169,
26,165,
5,84,
1,64,
6,64,
26,144,
106,80,
105,164,
101,105,
26,165,
5,84,
21,0,
26,85,
106,169,
85,105,
1,165,
6,165,
26,164,
21,84,
5,64,
26,144,
105,100,
26,164,
105,169,
101,169,
26,165,
5,84,
5,80,
26,164,
101,169,
25,105,
6,165,
1,164,
6,148,
5,80,
1,0,
6,64,
6,64,
5,64,
6,64,
6,64,
5,64,
0,0,
1,0,
6,64,
6,64,
5,64,
6,64,
6,64,
26,64,
21,64,
1,0,
6,64,
25,64,
101,0,
89,0,
22,64,
5,64,
0,0,
0,0,
21,64,
106,144,
85,80,
21,64,
106,144,
85,80,
0,0,
16,0,
100,0,
25,0,
6,64,
25,64,
101,0,
84,0,
0,0,
21,80,
26,164,
21,105,
1,165,
6,148,
5,80,
6,144,
5,80,
1,80,
6,164,
26,105,
105,89,
105,169,
105,85,
26,164,
5,84,
21,0,
26,64,
25,144,
25,164,
106,169,
105,105,
105,25,
85,5,
85,80,
106,164,
26,105,
26,165,
26,105,
26,89,
106,165,
21,84,
1,80,
6,164,
25,169,
105,101,
105,20,
105,105,
26,165,
5,84,
85,64,
106,144,
106,164,
26,105,
26,89,
90,89,
106,165,
85,84,
85,85,
106,169,
90,84,
26,164,
26,144,
26,84,
106,169,
85,85,
1,84,
86,164,
106,169,
89,85,
26,144,
105,80,
105,64,
85,64,
0,80,
5,164,
26,169,
105,85,
101,100,
105,169,
26,169,
5,85,
21,21,
25,105,
25,105,
26,169,
105,105,
105,25,
89,25,
5,5,
21,84,
26,164,
22,148,
6,144,
6,144,
22,164,
26,165,
21,85,
85,0,
106,85,
85,169,
5,164,
25,164,
106,164,
26,148,
5,80,
5,16,
25,100,
25,169,
26,149,
26,164,
105,169,
105,101,
85,20,
85,64,
106,64,
106,64,
105,64,
105,85,
105,169,
106,149,
85,80,
20,4,
25,25,
26,105,
26,169,
105,153,
105,89,
105,25,
85,21,
80,85,
100,105,
105,105,
106,105,
106,165,
105,164,
89,100,
5,20,
1,80,
6,164,
25,169,
100,105,
100,105,
105,101,
26,148,
5,80,
21,80,
26,164,
106,169,
89,89,
26,165,
105,84,
105,0,
85,0,
5,80,
26,164,
101,105,
100,89,
105,153,
26,165,
5,169,
0,84,
85,64,
106,144,
101,164,
101,100,
106,149,
105,169,
105,105,
85,20,
0,80,
5,164,
26,169,
106,84,
22,164,
21,169,
106,165,
85,84,
0,84,
21,169,
106,169,
86,149,
6,144,
26,144,
26,144,
21,80,
0,5,
80,89,
100,105,
105,105,
105,105,
106,105,
26,165,
5,84,
5,21,
89,105,
105,105,
89,165,
25,164,
6,148,
6,144,
1,80,
84,21,
105,25,
105,105,
105,105,
106,101,
105,164,
101,100,
84,20,
4,4,
25,25,
106,101,
26,164,
6,169,
26,105,
25,21,
4,20,
4,5,
25,25,
106,89,
26,105,
6,165,
1,164,
6,164,
21,84,
21,0,
106,85,
106,169,
85,148,
6,85,
26,169,
106,169,
85,85,
1,84,
1,164,
1,148,
1,144,
1,148,
1,164,
1,164,
1,84,
16,0,
100,0,
89,0,
22,64,
5,144,
1,100,
0,84,
0,0,
21,64,
26,64,
22,64,
6,64,
6,64,
22,64,
26,64,
21,64,
1,0,
6,64,
25,144,
101,100,
84,84,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
21,80,
106,164,
85,84,
5,80,
6,148,
1,164,
0,84,
0,0,
0,0,
0,0,
0,0,
21,0,
26,64,
25,144,
25,164,
106,169,
105,105,
105,25,
85,5,
85,80,
106,164,
26,105,
26,165,
26,105,
26,89,
106,165,
21,84,
1,80,
6,164,
25,169,
105,101,
105,20,
105,105,
26,165,
5,84,
85,64,
106,144,
106,164,
26,105,
26,89,
90,89,
106,165,
85,84,
85,85,
106,169,
90,84,
26,164,
26,144,
26,84,
106,169,
85,85,
1,84,
86,164,
106,169,
89,85,
26,144,
105,80,
105,64,
85,64,
0,80,
5,164,
26,169,
105,85,
101,100,
105,169,
26,169,
5,85,
21,21,
25,105,
25,105,
26,169,
105,105,
105,25,
89,25,
5,5,
21,84,
26,164,
22,148,
6,144,
6,144,
22,164,
26,165,
21,85,
85,0,
106,85,
85,169,
5,164,
25,164,
106,164,
26,148,
5,80,
5,16,
25,100,
25,169,
26,149,
26,164,
105,169,
105,101,
85,20,
85,64,
106,64,
106,64,
105,64,
105,85,
105,169,
106,149,
85,80,
20,4,
25,25,
26,105,
26,169,
105,153,
105,89,
105,25,
85,21,
80,85,
100,105,
105,105,
106,105,
106,165,
105,164,
89,100,
5,20,
1,80,
6,164,
25,169,
100,105,
100,105,
105,101,
26,148,
5,80,
21,80,
26,164,
106,169,
89,89,
26,165,
105,84,
105,0,
85,0,
5,80,
26,164,
101,105,
100,89,
105,153,
26,165,
5,169,
0,84,
85,64,
106,144,
101,164,
101,100,
106,149,
105,169,
105,105,
85,20,
0,80,
5,164,
26,169,
106,84,
22,164,
21,169,
106,165,
85,84,
0,84,
21,169,
106,169,
86,149,
6,144,
26,144,
26,144,
21,80,
0,5,
80,89,
100,105,
105,105,
105,105,
106,105,
26,165,
5,84,
5,21,
89,105,
105,105,
89,165,
25,164,
6,148,
6,144,
1,80,
84,21,
105,25,
105,105,
105,105,
106,101,
105,164,
101,100,
84,20,
4,4,
25,25,
106,101,
26,164,
6,169,
26,105,
25,21,
4,20,
4,5,
25,25,
106,89,
26,105,
6,165,
1,164,
6,164,
21,84,
21,0,
106,85,
106,169,
85,148,
6,85,
26,169,
106,169,
85,85,
1,84,
1,164,
5,148,
6,144,
5,148,
1,164,
1,164,
1,84,
16,0,
100,0,
89,0,
22,64,
5,144,
1,100,
0,84,
0,0,
21,64,
26,64,
22,80,
6,144,
6,80,
22,64,
26,64,
21,64,
85,84,
105,165,
26,153,
5,85,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
0,0,
};


// numbers for scores etc.
const uint16_t numbers_pal[] = {
63519,0,65535,
};

const uint8_t numbers[] = {
1,80,
6,164,
26,105,
105,25,
105,25,
105,101,
26,148,
5,80,
1,64,
6,144,
26,144,
6,144,
6,164,
6,164,
6,84,
5,64,
21,80,
26,164,
21,105,
1,165,
22,148,
106,169,
85,169,
0,85,
85,80,
106,164,
21,105,
6,164,
85,169,
105,169,
26,165,
5,84,
21,64,
26,64,
26,84,
25,100,
105,165,
106,169,
86,149,
5,80,
1,84,
86,164,
106,164,
105,80,
22,164,
101,169,
26,165,
5,84,
1,64,
6,64,
26,144,
106,80,
105,164,
101,105,
26,165,
5,84,
21,0,
26,85,
106,169,
85,105,
1,165,
6,165,
26,164,
21,84,
5,64,
26,144,
105,100,
26,164,
105,169,
101,169,
26,165,
5,84,
5,80,
26,164,
101,169,
25,105,
6,165,
1,164,
6,148,
5,80,
};

const uint8_t title[] = { // 212x23
0,0,175,255,255,255,255,255,255,255,255,255,255,240,0,63,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,127,255,255,255,255,0,28,255,255,255,255,255,255,255,255,255,255,252,207,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,0,0,0,0,0,175,255,255,255,255,240,3,255,255,255,255,255,255,255,255,255,255,255,241,
0,15,252,167,170,170,170,170,170,170,170,170,170,241,10,255,167,170,170,170,170,170,170,170,170,170,175,247,122,170,170,170,175,240,0,0,175,122,170,170,175,3,255,167,122,170,170,170,170,170,170,170,170,207,250,122,170,170,207,247,122,170,170,170,170,170,170,170,170,170,170,175,250,122,170,170,255,119,170,170,170,255,16,0,0,0,3,252,122,170,170,170,241,175,250,122,170,170,170,170,170,170,170,170,170,243,
0,255,163,51,51,51,51,51,51,51,51,51,60,241,127,195,51,51,51,51,51,51,51,51,51,51,127,241,51,51,51,51,58,250,0,0,175,19,51,51,175,63,247,51,51,51,51,51,51,51,51,51,55,255,250,19,51,51,175,247,51,51,51,51,51,51,51,51,51,51,51,127,247,51,51,51,207,161,51,51,51,127,192,0,0,0,15,243,51,51,51,60,250,252,51,51,51,51,51,51,51,51,51,51,55,243,
7,250,19,51,51,51,51,51,51,51,51,51,127,192,255,51,51,51,51,51,51,51,51,51,51,51,127,241,51,51,51,51,55,207,112,0,175,19,51,51,175,255,115,51,51,51,51,51,51,51,51,51,58,247,250,19,51,51,207,252,19,51,51,51,51,51,51,51,51,51,51,127,247,51,51,51,255,243,51,51,51,60,247,0,0,0,127,161,51,51,51,175,207,243,51,51,51,51,51,51,51,51,51,51,55,243,
15,243,51,51,51,51,51,51,51,51,51,55,207,23,247,19,51,51,51,51,51,51,51,51,51,51,127,241,51,51,51,51,51,127,243,0,175,19,51,51,175,252,19,51,51,51,51,51,51,51,51,51,127,240,250,19,51,51,207,175,115,51,51,51,51,51,51,51,51,51,51,127,247,51,51,51,255,252,19,51,51,55,255,0,0,0,255,51,51,51,55,255,175,161,51,51,51,51,51,51,51,51,51,51,55,243,
31,161,51,51,51,51,51,51,51,51,51,58,252,12,241,51,51,51,51,51,51,51,51,51,51,51,127,241,51,51,51,51,51,55,255,48,175,19,51,51,175,247,51,51,51,51,51,51,51,51,51,51,207,112,250,19,51,51,207,15,241,51,51,51,51,51,51,51,51,51,51,127,247,51,51,51,252,175,113,51,51,51,175,160,0,10,250,19,51,51,58,247,207,51,51,51,51,51,51,51,51,51,51,51,55,243,
31,115,51,51,55,119,119,119,119,119,119,127,241,15,193,51,51,51,119,119,119,119,119,119,119,119,127,241,51,51,51,51,51,51,175,240,175,19,51,51,175,243,51,51,51,119,119,119,119,119,119,119,255,0,250,19,51,51,207,10,250,55,119,119,51,51,51,119,119,119,119,127,247,51,51,51,250,15,243,51,51,51,127,243,0,31,241,51,51,51,127,240,204,19,51,51,55,119,119,119,119,119,119,119,119,243,
31,51,51,51,60,255,255,255,255,255,255,255,192,15,193,51,51,55,255,255,255,255,255,255,255,255,255,241,51,51,51,51,51,51,58,255,175,19,51,51,175,241,51,51,55,255,255,255,255,255,255,255,247,0,250,19,51,51,207,0,255,255,255,250,19,51,51,207,255,255,255,255,247,51,51,51,250,7,252,19,51,51,55,255,0,207,115,51,51,55,255,48,204,19,51,51,127,255,255,255,255,255,255,255,255,243,
31,115,51,51,55,170,170,170,170,170,170,207,247,15,193,51,51,55,170,170,170,170,170,175,247,51,58,241,51,51,51,51,51,51,51,207,255,19,51,51,175,243,51,51,51,170,170,170,170,170,170,175,255,16,250,19,51,51,207,0,19,51,55,252,19,51,51,207,51,51,51,55,247,51,51,51,250,0,255,115,51,51,51,207,163,252,19,51,51,58,252,0,204,19,51,51,122,170,170,170,170,170,207,115,51,48,
31,161,51,51,51,51,51,51,51,51,51,55,255,63,193,51,51,51,51,51,51,51,51,127,240,0,7,241,51,51,55,115,51,51,51,127,255,19,51,51,175,247,51,51,51,51,51,51,51,51,51,51,175,241,250,19,51,51,207,0,0,0,0,252,19,51,51,207,0,0,0,0,247,51,51,51,250,0,31,243,51,51,51,127,255,247,51,51,51,127,241,0,204,19,51,51,51,51,51,51,51,55,255,0,0,0,
15,240,0,0,0,1,17,17,17,19,51,51,127,255,193,51,51,51,51,51,51,51,51,207,112,0,7,243,51,51,55,193,51,51,51,55,255,19,51,51,175,252,19,51,51,51,51,51,51,51,51,51,58,252,250,19,51,51,207,0,0,0,0,252,19,51,51,207,0,0,0,0,247,51,51,51,250,0,10,250,19,51,51,58,255,193,51,51,51,207,160,0,204,19,51,51,49,17,17,17,16,10,247,0,0,0,
10,247,0,0,0,0,0,0,0,0,0,0,7,255,160,0,0,0,0,0,0,0,3,255,0,0,7,241,17,17,23,250,19,51,51,51,124,19,51,51,175,255,115,51,51,51,51,51,51,51,51,51,51,255,250,19,51,51,207,0,0,0,0,202,19,51,51,207,0,0,0,0,247,19,51,17,250,0,0,255,17,17,0,0,207,16,0,0,1,255,0,0,202,0,0,0,0,0,0,0,0,15,240,0,0,0,
0,207,48,0,0,0,0,0,0,0,0,0,0,255,160,0,0,0,0,0,0,0,10,243,0,0,3,240,0,0,1,255,48,0,0,0,1,0,0,0,63,63,193,0,0,0,0,0,0,0,0,0,0,63,247,0,0,0,124,0,0,0,0,199,0,0,0,172,0,0,0,0,243,0,0,0,170,0,0,63,160,0,0,0,7,0,0,0,10,243,0,0,202,0,0,0,0,0,0,0,0,127,112,0,0,0,
0,60,199,17,17,17,17,17,17,0,0,0,0,172,112,0,0,0,17,17,17,17,60,160,0,0,3,192,0,0,1,204,193,0,0,0,0,0,0,0,60,3,204,113,17,17,17,17,17,16,0,0,0,12,199,0,0,0,122,0,0,0,0,167,0,0,0,122,0,0,0,0,195,0,0,0,167,0,0,10,195,0,0,0,0,0,0,0,60,160,0,0,170,0,0,0,1,17,17,17,19,202,0,0,0,0,
3,119,122,170,170,170,170,170,170,160,0,0,0,119,112,0,0,1,170,170,170,170,170,119,119,119,119,160,0,0,1,163,122,16,0,0,0,0,0,0,55,0,55,170,170,170,170,170,170,167,0,0,0,10,115,0,0,0,119,0,0,0,0,119,0,0,0,119,0,0,0,0,115,0,0,0,115,0,0,0,122,0,0,0,0,0,0,1,167,0,0,0,55,0,0,0,26,170,170,170,170,167,119,119,119,112,
0,115,51,51,51,51,51,51,51,16,0,0,0,113,48,0,0,1,51,51,51,51,51,51,51,51,115,48,0,0,1,48,1,112,0,0,0,0,0,0,49,0,3,51,51,51,51,51,51,49,0,0,0,19,19,0,0,0,48,0,0,0,0,3,0,0,0,48,0,0,0,0,19,0,0,1,48,0,0,0,1,112,0,0,0,0,0,7,16,0,0,0,3,0,0,0,19,51,51,51,51,51,51,51,55,48,
0,48,17,17,17,17,17,17,17,17,17,17,17,112,48,17,17,17,17,17,17,17,17,17,17,17,49,48,17,17,19,16,0,7,1,17,17,17,17,17,48,0,7,1,17,17,17,17,17,17,17,17,17,49,3,1,17,17,48,0,0,0,0,3,1,17,17,48,0,0,0,0,3,1,17,17,48,0,0,0,0,49,17,17,17,17,17,51,0,0,0,0,3,1,17,17,17,17,17,17,17,17,17,17,17,16,
0,48,17,17,17,17,17,17,17,17,17,17,19,17,19,17,17,17,17,17,17,17,17,17,17,17,49,49,17,17,19,16,0,1,113,17,17,17,17,17,49,0,49,17,17,17,17,17,17,17,17,17,17,113,19,1,17,17,48,0,0,0,0,3,1,17,17,48,0,0,0,0,19,17,17,17,48,0,0,0,0,23,1,17,17,17,17,113,0,0,0,0,1,49,17,17,17,17,17,17,17,17,17,17,19,16,
1,65,68,68,68,68,68,68,68,68,68,68,71,64,23,17,68,68,68,68,68,68,68,68,68,68,68,65,20,68,68,64,0,1,67,20,68,68,68,68,65,4,113,68,68,68,68,68,68,68,68,68,68,65,20,20,68,68,65,0,0,0,0,20,20,68,68,65,0,0,0,0,67,20,68,68,65,0,0,0,0,20,49,68,68,68,68,65,0,0,0,0,1,113,20,68,68,68,68,68,68,68,68,68,68,64,
4,65,68,68,68,68,68,68,68,68,68,68,116,16,20,113,68,68,68,68,68,68,68,68,68,68,68,65,68,68,68,64,0,0,68,49,68,68,68,68,68,68,20,68,68,68,68,68,68,68,68,68,71,65,68,20,68,68,68,0,0,0,0,68,20,68,68,68,0,0,0,0,67,20,68,68,68,0,0,0,0,4,113,68,68,68,71,64,0,0,0,0,1,71,20,68,68,68,68,68,68,68,68,68,68,64,
6,67,68,68,68,68,68,68,68,68,68,71,100,0,4,103,68,68,68,68,68,68,68,68,68,68,118,99,68,68,71,96,0,0,6,99,68,68,68,68,118,103,52,68,68,68,68,68,68,68,68,71,102,64,100,52,68,68,118,0,0,0,0,100,52,68,68,118,0,0,0,0,100,68,68,68,100,0,0,0,0,4,103,52,68,68,118,64,0,0,0,0,0,70,116,68,68,68,68,68,68,68,68,68,71,97,
4,238,238,238,238,238,238,238,238,238,238,238,64,0,0,78,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,224,0,0,1,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,228,0,238,238,238,238,238,0,0,0,0,238,238,238,238,238,0,0,0,0,238,238,238,238,228,0,0,0,0,0,238,238,238,238,238,0,0,0,0,0,0,4,238,238,238,238,238,238,238,238,238,238,238,225,
0,17,17,17,17,17,17,17,17,17,17,16,0,0,0,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,0,0,0,1,17,17,17,17,16,1,17,17,17,17,17,17,17,17,17,17,0,0,1,17,17,17,16,0,0,0,0,1,17,17,17,16,0,0,0,0,1,17,17,17,16,0,0,0,0,0,1,17,17,17,16,0,0,0,0,0,0,0,1,17,17,17,17,17,17,17,17,17,17,16,
};