diff options
author | uvok | 2025-07-19 13:21:56 +0200 |
---|---|---|
committer | uvok | 2025-07-19 13:21:56 +0200 |
commit | cde2c46b4fcc027e7e64510a3241c196f6fe5ba0 (patch) | |
tree | 1ff1184113fdd63d07a4f2059f32aaf1f0ca5e59 /src | |
parent | 7b0712a41a4e861dda0a00be0179880b25a5437a (diff) |
Add very ugly prev/next navigation
Diffstat (limited to 'src')
-rw-r--r-- | src/chleepy.c | 398 | ||||
-rw-r--r-- | src/display.cpp | 79 | ||||
-rw-r--r-- | src/gpio.cpp | 12 | ||||
-rw-r--r-- | src/hug.c | 324 | ||||
-rw-r--r-- | src/hungry.c (renamed from src/chee.c) | 6 | ||||
-rw-r--r-- | src/main.cpp | 7 |
6 files changed, 817 insertions, 9 deletions
diff --git a/src/chleepy.c b/src/chleepy.c new file mode 100644 index 0000000..21f7b89 --- /dev/null +++ b/src/chleepy.c @@ -0,0 +1,398 @@ +#define chleepy_width 296 +#define chleepy_height 128 +static char chleepy_bits[] = { + 0x4C, 0xDC, 0xCD, 0xCC, 0xCC, 0x5C, 0xCC, 0xCC, 0xDC, 0xDD, 0x4C, 0xDC, + 0xDD, 0xFC, 0xDC, 0xDD, 0xDD, 0xDD, 0xCD, 0xDD, 0xDD, 0xCD, 0xCD, 0xCD, + 0xCC, 0x4F, 0x54, 0xDC, 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, + 0xDD, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xDC, 0xCC, 0xDC, 0xCC, 0xCC, 0xDC, 0xCD, 0xCC, + 0xCC, 0xCC, 0x4C, 0xCC, 0xCC, 0xCC, 0xDC, 0xCC, 0xCC, 0xCC, 0xCC, 0xDD, + 0xDD, 0xDD, 0x77, 0x77, 0x77, 0x13, 0x33, 0x37, 0x33, 0x73, 0x77, 0x77, + 0x33, 0x33, 0x37, 0x73, 0x73, 0x77, 0x77, 0x73, 0x77, 0x77, 0x77, 0x73, + 0x77, 0x37, 0x31, 0x17, 0x73, 0x33, 0x33, 0x37, 0x77, 0x77, 0x77, 0x77, + 0xF3, 0x77, 0x77, 0x33, 0x73, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x73, 0x37, 0x33, 0x77, 0x73, + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, 0x33, + 0x73, 0x77, 0x37, 0x37, 0xCD, 0xDD, 0xCD, 0xCC, 0xDC, 0xDD, 0xCD, 0xDC, + 0xDD, 0xDD, 0xDC, 0xCC, 0xCD, 0xDD, 0xCD, 0xCD, 0xDD, 0xDD, 0xDD, 0xDD, + 0xC5, 0xDD, 0xDD, 0xDC, 0xC5, 0x4C, 0xC4, 0xC4, 0xDC, 0xCD, 0xCC, 0xDD, + 0xDD, 0xDD, 0xFD, 0xDF, 0xDD, 0xCD, 0xCD, 0xCC, 0xCC, 0xDC, 0xDD, 0xDC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCD, 0xCC, 0xCC, 0xDC, 0xCD, + 0xCC, 0xCC, 0xCC, 0xCC, 0xDC, 0xCD, 0xCC, 0xC4, 0xC4, 0xCC, 0xCC, 0xCC, + 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0x77, 0x77, 0x13, 0x77, 0x77, 0x77, + 0x37, 0x73, 0x77, 0x77, 0x73, 0x77, 0x77, 0x37, 0x37, 0x33, 0x77, 0x77, + 0x77, 0x73, 0x17, 0x37, 0x31, 0x17, 0x01, 0x01, 0x70, 0x01, 0x10, 0x33, + 0x73, 0x77, 0x7F, 0x77, 0xF7, 0x77, 0x77, 0x33, 0x33, 0x33, 0x33, 0x33, + 0x77, 0x33, 0x33, 0x33, 0x77, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, + 0x37, 0x33, 0x13, 0x13, 0x33, 0x31, 0x33, 0x11, 0x01, 0x31, 0x01, 0x11, + 0x31, 0x33, 0x77, 0x37, 0x77, 0x77, 0x77, 0x77, 0xDD, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xCD, 0xCD, 0xDD, 0xCD, 0xCC, 0xCC, + 0xCC, 0xDD, 0xC0, 0x05, 0x44, 0x40, 0x40, 0x04, 0x04, 0x00, 0x00, 0x00, + 0x04, 0x00, 0xDC, 0xDC, 0xCD, 0xFF, 0xDF, 0xDF, 0xDD, 0xCC, 0xDD, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xDC, 0xCD, 0xCD, 0xCC, 0xCC, 0xDC, 0xCC, 0xCC, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCD, 0xDC, 0x44, 0xC4, 0x44, 0x04, 0x00, 0x00, + 0x40, 0x4C, 0x40, 0xCC, 0xDC, 0xCD, 0xDD, 0xDD, 0xDD, 0xCC, 0x37, 0x37, + 0x31, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x73, 0x37, 0x71, 0x17, 0x3F, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x11, 0x00, 0x10, 0x71, 0x37, 0xFF, 0x77, 0x77, 0x77, 0x33, + 0x37, 0x33, 0x37, 0x77, 0x33, 0x33, 0x33, 0x33, 0x73, 0x77, 0x33, 0x33, + 0x33, 0x33, 0x33, 0x33, 0x71, 0x37, 0x33, 0x11, 0x11, 0x11, 0x11, 0x11, + 0x00, 0x00, 0x00, 0x13, 0x11, 0x31, 0x31, 0x77, 0x73, 0x73, 0x77, 0x37, + 0xDD, 0x4D, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, + 0xCD, 0xCD, 0xDD, 0x5C, 0x04, 0xC4, 0x5D, 0xFC, 0x40, 0x00, 0x04, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x44, 0x04, 0xC0, 0x00, 0xDC, 0xDF, 0xDD, 0xFD, + 0xDD, 0xCD, 0xCC, 0xCC, 0xDC, 0xCC, 0xCC, 0xCC, 0xDC, 0xCD, 0xDC, 0xCC, + 0xCD, 0xCC, 0xCD, 0x4C, 0x4C, 0x44, 0xC4, 0x4C, 0x44, 0x44, 0x00, 0x44, + 0x4C, 0x00, 0x00, 0x00, 0x40, 0xC4, 0x44, 0x44, 0x44, 0xDC, 0xDD, 0xDD, + 0xDC, 0xDD, 0x77, 0x13, 0x77, 0x37, 0x77, 0x73, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x11, 0x41, 0x11, 0x01, 0x13, 0x10, 0x00, 0x00, + 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x70, 0x11, 0x00, 0x00, 0x77, 0x77, + 0x77, 0x7F, 0x77, 0x77, 0x13, 0x33, 0x33, 0x37, 0x33, 0x37, 0x77, 0x77, + 0x37, 0x77, 0x37, 0x73, 0x37, 0x33, 0x31, 0x31, 0x11, 0x33, 0x31, 0x11, + 0x00, 0x10, 0x13, 0x01, 0x10, 0x00, 0x00, 0x31, 0x13, 0x11, 0x01, 0x77, + 0x77, 0xF7, 0x77, 0x77, 0x4C, 0x44, 0xC4, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xCD, 0xDD, 0x7D, 0x00, 0x5C, 0x00, 0x40, 0x40, + 0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x4C, 0x04, 0x44, 0x00, + 0xCE, 0xFF, 0xC7, 0xDF, 0xDD, 0xCC, 0xC4, 0xCC, 0xCC, 0xDC, 0xCC, 0xCD, + 0xCD, 0xDD, 0xDC, 0xCD, 0xDD, 0xDC, 0xCC, 0x5C, 0x44, 0xDC, 0x00, 0x40, + 0x44, 0x04, 0x04, 0xC4, 0x44, 0x04, 0x00, 0x00, 0x00, 0x44, 0xC4, 0xDC, + 0x44, 0xDC, 0xDD, 0xDC, 0xDD, 0xDD, 0x33, 0x11, 0x73, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, 0x03, 0x10, 0x30, 0x79, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0xF3, 0x71, 0x31, 0x77, 0xFF, 0x7F, 0x77, 0x33, 0x33, 0x33, 0x73, 0x77, + 0x37, 0x77, 0x77, 0x73, 0x37, 0x33, 0x73, 0x33, 0x11, 0x11, 0x31, 0x71, + 0x31, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, + 0x11, 0x33, 0x33, 0x31, 0x33, 0x77, 0x37, 0x73, 0xC4, 0xDC, 0xDC, 0xDD, + 0xDD, 0xDD, 0xCD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC, 0x5D, 0x44, 0x04, 0x40, + 0x44, 0xE0, 0xC1, 0x58, 0x04, 0x40, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x44, 0x04, 0x5C, 0xCC, 0xDF, 0xFF, 0xDD, 0xCC, 0xCC, 0xCC, + 0xCC, 0xDD, 0xCD, 0xCD, 0xCC, 0xDD, 0xDD, 0xDD, 0xCC, 0xCC, 0x44, 0x44, + 0x5C, 0x44, 0xC4, 0xC5, 0x44, 0x44, 0x40, 0x4C, 0x44, 0x04, 0x04, 0x00, + 0x00, 0x00, 0x40, 0x44, 0x44, 0xFC, 0xCC, 0xDC, 0xDD, 0xDD, 0x77, 0x73, + 0x73, 0x77, 0x77, 0x77, 0x77, 0xF7, 0x77, 0x77, 0x77, 0x37, 0x17, 0x01, + 0x00, 0x18, 0x11, 0x31, 0x71, 0x01, 0x03, 0x00, 0x01, 0x13, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xF0, 0x31, 0x77, 0x77, 0xF7, 0x37, + 0x73, 0x33, 0x77, 0x77, 0x77, 0x77, 0x77, 0x73, 0x77, 0x37, 0x37, 0x13, + 0x13, 0x11, 0x39, 0x33, 0x31, 0x71, 0x11, 0x13, 0x11, 0x10, 0x13, 0x11, + 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x11, 0x11, 0x33, 0x77, 0x37, 0x77, + 0xDC, 0xCC, 0xDC, 0xDD, 0xDF, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x5D, + 0xC4, 0x05, 0x44, 0x5C, 0x7C, 0x5C, 0xF4, 0x00, 0x45, 0x04, 0x00, 0x44, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xC4, 0xDC, 0xDD, + 0xDF, 0xCC, 0xCC, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xCC, 0xCC, + 0xCC, 0xC4, 0xC4, 0x4C, 0xCC, 0xFE, 0x4C, 0xC4, 0x45, 0x44, 0x44, 0x40, + 0x4C, 0x44, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x4C, 0x44, 0xC4, 0xDC, + 0xCD, 0xDD, 0x33, 0x77, 0x77, 0x7F, 0x7F, 0x77, 0x77, 0x7F, 0x77, 0x77, + 0x77, 0x13, 0x01, 0x01, 0x13, 0x35, 0x7F, 0x11, 0xD7, 0x13, 0x11, 0x01, + 0x00, 0x13, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, + 0x31, 0x77, 0x77, 0x33, 0x33, 0x77, 0x77, 0x77, 0x77, 0x37, 0x77, 0x77, + 0x33, 0x33, 0x13, 0x11, 0x11, 0x13, 0x33, 0x7F, 0x11, 0xBF, 0x13, 0x11, + 0x11, 0x10, 0x11, 0x11, 0x10, 0x00, 0x00, 0x01, 0x01, 0x00, 0x10, 0x11, + 0x11, 0x13, 0x77, 0x77, 0xDD, 0xDD, 0xFD, 0xFF, 0xFF, 0xDD, 0xFD, 0xDD, + 0xDD, 0xDD, 0xDD, 0x45, 0xC5, 0x40, 0x44, 0x5C, 0x5C, 0xC4, 0xDF, 0x45, + 0x4C, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x44, 0xFD, 0xDD, 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, + 0xCC, 0xDC, 0xCC, 0xDC, 0xC5, 0xC5, 0x44, 0x44, 0xCC, 0x4C, 0xC4, 0x4F, + 0x4C, 0x4C, 0x44, 0x00, 0x4C, 0x44, 0x44, 0x40, 0x44, 0x44, 0x04, 0x00, + 0x04, 0xC4, 0x44, 0xC4, 0xDC, 0xCD, 0x77, 0x77, 0x77, 0x7F, 0xFF, 0xFF, + 0x7F, 0x77, 0x77, 0x77, 0x77, 0x13, 0x33, 0x00, 0x00, 0x71, 0x13, 0x11, + 0x17, 0x3D, 0x11, 0x01, 0x00, 0x11, 0x10, 0x00, 0x00, 0x00, 0x10, 0x01, + 0x00, 0x00, 0x10, 0x01, 0x00, 0x71, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x73, 0x13, 0x33, 0x11, 0x11, 0x31, 0x33, + 0xF1, 0x13, 0x7F, 0x11, 0x11, 0x01, 0x11, 0x11, 0x11, 0x01, 0x11, 0x13, + 0x13, 0x01, 0x10, 0x30, 0x01, 0x11, 0x73, 0x77, 0xDD, 0xDD, 0xDF, 0xFD, + 0xDD, 0xFF, 0xDD, 0xFD, 0xDD, 0xDD, 0xDD, 0x4C, 0x44, 0x00, 0x40, 0xC4, + 0x5F, 0xFC, 0x45, 0x7C, 0x44, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, + 0x0C, 0x44, 0x00, 0x00, 0x40, 0x00, 0x00, 0xC4, 0xDD, 0xDD, 0xDC, 0xDD, + 0xDD, 0xCD, 0xCD, 0xDD, 0xCC, 0xDD, 0xCD, 0xDC, 0x4C, 0x44, 0x44, 0x44, + 0xC4, 0x5F, 0xFC, 0x44, 0xDC, 0x44, 0x44, 0x00, 0x44, 0x44, 0x44, 0x04, + 0x40, 0x4C, 0x4C, 0x04, 0x40, 0x40, 0x04, 0x04, 0xC4, 0xDC, 0x73, 0x77, + 0x7F, 0x77, 0xF7, 0x73, 0x37, 0x11, 0x73, 0x73, 0x3F, 0x1D, 0x01, 0x00, + 0x00, 0x11, 0x3F, 0x71, 0x51, 0x11, 0x71, 0x11, 0x00, 0x10, 0x00, 0x00, + 0x01, 0x00, 0x1F, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x31, + 0x77, 0x77, 0x77, 0x77, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, 0x13, 0x11, + 0x11, 0x11, 0x31, 0x33, 0x31, 0xF1, 0x13, 0x33, 0x11, 0x01, 0x11, 0x11, + 0x11, 0x13, 0x00, 0x37, 0x37, 0x11, 0x00, 0x11, 0x01, 0x10, 0x10, 0x73, + 0xC4, 0xFD, 0xFF, 0xFD, 0xFD, 0xDD, 0x44, 0x44, 0x44, 0xC4, 0xDC, 0x4D, + 0x44, 0x40, 0x00, 0xC4, 0x44, 0xC4, 0xC5, 0xC5, 0x44, 0x44, 0x00, 0x00, + 0x00, 0x40, 0x04, 0x00, 0x5C, 0x4C, 0x04, 0x00, 0x00, 0x00, 0x40, 0xC4, + 0xFD, 0xCD, 0xDC, 0xDD, 0xDD, 0xDD, 0xCD, 0xC4, 0x4C, 0x4C, 0x44, 0xCC, + 0x4C, 0xC4, 0x44, 0x44, 0xC4, 0xCC, 0xCC, 0xC4, 0xC5, 0xC4, 0x44, 0x44, + 0x44, 0x44, 0xC4, 0x44, 0x40, 0x5C, 0xCC, 0x04, 0x04, 0x00, 0x00, 0xC0, + 0xCC, 0xCD, 0x77, 0x7F, 0xFF, 0x7F, 0x7F, 0x71, 0x31, 0x01, 0x31, 0x11, + 0x31, 0x11, 0x11, 0x11, 0x00, 0x11, 0x73, 0x77, 0x11, 0xD3, 0x11, 0x01, + 0x11, 0x01, 0x01, 0x10, 0x13, 0x00, 0x3F, 0x17, 0x11, 0x00, 0x00, 0x00, + 0x60, 0xF7, 0x17, 0x77, 0x77, 0x77, 0x77, 0x3F, 0x31, 0x11, 0x11, 0x31, + 0x13, 0x31, 0x13, 0x73, 0x31, 0x11, 0x11, 0x33, 0x37, 0x31, 0x13, 0x11, + 0x01, 0x11, 0x11, 0x11, 0x71, 0x13, 0x11, 0x3F, 0x37, 0x13, 0x01, 0x00, + 0x00, 0x70, 0xF7, 0x37, 0xDD, 0xFC, 0xFD, 0xFF, 0x5F, 0xD8, 0x04, 0x00, + 0x40, 0x0D, 0x74, 0xC5, 0xC4, 0x44, 0x40, 0x40, 0xCC, 0x5D, 0xC4, 0xC5, + 0x44, 0x00, 0x44, 0x04, 0x00, 0xC4, 0x05, 0x00, 0x5C, 0x4C, 0x44, 0x00, + 0x00, 0x00, 0xE0, 0xFF, 0xDF, 0xDD, 0xDC, 0xDD, 0xDD, 0x4D, 0xDC, 0x44, + 0x04, 0x40, 0x44, 0xCC, 0xCC, 0xCC, 0x45, 0x44, 0x44, 0xCC, 0xCC, 0xCC, + 0xCD, 0x44, 0x44, 0xC4, 0x44, 0x44, 0xC4, 0x4D, 0x44, 0x4C, 0x4C, 0x44, + 0x04, 0x00, 0x00, 0xC0, 0xFF, 0xDF, 0xFF, 0x7D, 0xFF, 0xF7, 0x13, 0x38, + 0x01, 0x01, 0x11, 0x00, 0x31, 0x31, 0x15, 0x33, 0x00, 0x00, 0x11, 0x73, + 0x73, 0x37, 0x13, 0x11, 0x11, 0x17, 0x00, 0xF1, 0x17, 0x00, 0x17, 0x11, + 0x11, 0x01, 0x00, 0x00, 0xF0, 0xFF, 0x3F, 0xF7, 0x73, 0x77, 0x77, 0x33, + 0x31, 0x11, 0x11, 0x11, 0x11, 0x31, 0x33, 0x33, 0x33, 0x11, 0x11, 0x31, + 0x33, 0x77, 0x33, 0x33, 0x31, 0x31, 0x13, 0x11, 0x71, 0x17, 0x11, 0x13, + 0x11, 0x11, 0x11, 0x00, 0x00, 0xF0, 0x77, 0x33, 0xDF, 0xFD, 0xDD, 0xFF, + 0x5D, 0x4C, 0x44, 0x04, 0x00, 0x40, 0xC4, 0xC4, 0x45, 0x45, 0x00, 0x00, + 0x44, 0xC4, 0xFF, 0x4D, 0x44, 0x44, 0xC4, 0x4F, 0x00, 0xC4, 0x0F, 0x44, + 0x04, 0x44, 0xC4, 0x04, 0x00, 0x00, 0xC0, 0xFF, 0xFC, 0xDD, 0xDD, 0xDD, + 0xDD, 0x4C, 0xCC, 0xCC, 0x44, 0x00, 0x44, 0xC4, 0xCC, 0xCC, 0x4C, 0x44, + 0x44, 0x44, 0xCC, 0xDC, 0x4C, 0x44, 0x44, 0xCC, 0x4D, 0x44, 0xC4, 0x4D, + 0x4C, 0x44, 0x44, 0xC4, 0x44, 0x00, 0x40, 0xC4, 0xDD, 0xDC, 0x7F, 0x77, + 0xF7, 0x7F, 0x13, 0x07, 0x31, 0x11, 0x00, 0x00, 0x10, 0x13, 0x11, 0x11, + 0x00, 0x00, 0x11, 0x11, 0x33, 0x11, 0x11, 0x11, 0xD1, 0x37, 0x01, 0x71, + 0x17, 0x13, 0x01, 0x00, 0x11, 0x13, 0x00, 0x00, 0x40, 0x33, 0xF5, 0x3F, + 0x77, 0x77, 0x77, 0x33, 0x17, 0x33, 0x31, 0x01, 0x10, 0x31, 0x33, 0x13, + 0x13, 0x11, 0x11, 0x11, 0x33, 0x33, 0x11, 0x11, 0x11, 0x71, 0x3F, 0x11, + 0x31, 0x33, 0x17, 0x11, 0x11, 0x31, 0x13, 0x00, 0x00, 0x11, 0x33, 0x37, + 0xDF, 0xDD, 0xFD, 0xCF, 0x44, 0xCE, 0x45, 0xD4, 0x00, 0x00, 0xC0, 0x4C, + 0x44, 0x04, 0x00, 0x40, 0x44, 0x44, 0x44, 0x44, 0x40, 0x44, 0xC4, 0x5F, + 0x44, 0xC4, 0xC5, 0x0F, 0x00, 0x00, 0xC4, 0x05, 0x00, 0x00, 0xC0, 0xCD, + 0xDC, 0xDF, 0xCD, 0xDD, 0xCD, 0xCC, 0xDC, 0x44, 0xC4, 0x00, 0x40, 0xC4, + 0xDC, 0x44, 0x44, 0x44, 0x44, 0x44, 0x4C, 0xC4, 0x44, 0x44, 0x4C, 0xC4, + 0xDF, 0xC4, 0xCC, 0xCC, 0x4D, 0x44, 0x44, 0xC4, 0x4C, 0x00, 0x00, 0xC4, + 0xCC, 0xDC, 0x7F, 0x77, 0xFF, 0x37, 0x11, 0x31, 0x01, 0x11, 0x01, 0x00, + 0x10, 0x31, 0x13, 0x11, 0x00, 0x11, 0x11, 0x11, 0x70, 0x11, 0x10, 0x31, + 0x11, 0x7F, 0x11, 0x17, 0xF3, 0x17, 0x00, 0x00, 0x11, 0x13, 0x00, 0x00, + 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, 0x33, 0x33, 0x11, 0x13, 0x01, + 0x10, 0x11, 0x33, 0x13, 0x11, 0x11, 0x11, 0x11, 0x33, 0x31, 0x13, 0x11, + 0x73, 0x33, 0x7F, 0x33, 0x33, 0xF3, 0x13, 0x11, 0x11, 0x13, 0x13, 0x00, + 0x00, 0x11, 0x73, 0x33, 0xFD, 0xDD, 0xFF, 0xDF, 0x44, 0xCC, 0x05, 0x04, + 0x00, 0x00, 0xC0, 0xCC, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x04, + 0x44, 0xFC, 0xC5, 0xFC, 0xC4, 0x4F, 0xC4, 0x45, 0x00, 0x04, 0xCC, 0x04, + 0x00, 0x00, 0x00, 0xDC, 0xC5, 0xDD, 0xDD, 0xDD, 0xCC, 0xCC, 0xCC, 0x0F, + 0x04, 0x04, 0x40, 0xC4, 0xCC, 0xC4, 0x4C, 0x44, 0x4C, 0x4C, 0x44, 0x44, + 0xC4, 0x44, 0xFC, 0xCD, 0xDC, 0xC4, 0xCD, 0xCC, 0x45, 0x44, 0x44, 0xCC, + 0x44, 0x00, 0x00, 0x00, 0xCC, 0xCD, 0x77, 0x77, 0x77, 0x77, 0x33, 0xF7, + 0x1F, 0x01, 0x00, 0x00, 0x10, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11, 0x70, + 0x01, 0x41, 0x01, 0xC0, 0x17, 0x71, 0x11, 0x13, 0x71, 0x11, 0x01, 0x13, + 0x17, 0x13, 0x00, 0x00, 0x00, 0x77, 0xF7, 0x77, 0x77, 0x77, 0x37, 0x33, + 0xF7, 0x3F, 0x11, 0x01, 0x00, 0x11, 0x33, 0x33, 0x33, 0x11, 0x33, 0x31, + 0x11, 0x31, 0x31, 0x11, 0x01, 0x37, 0x33, 0x31, 0x33, 0x33, 0x31, 0x13, + 0x13, 0x17, 0x13, 0x11, 0x00, 0x00, 0x73, 0x77, 0xDF, 0xCD, 0xFD, 0xDF, + 0xDD, 0xFD, 0x5F, 0x44, 0x00, 0x00, 0x40, 0xC4, 0x4C, 0x44, 0x44, 0x44, + 0x5C, 0x04, 0x7C, 0x40, 0x00, 0x00, 0x4C, 0x44, 0xC4, 0x45, 0x44, 0xC4, + 0xC5, 0x4D, 0x46, 0x04, 0x00, 0x00, 0x00, 0xCC, 0xDF, 0xDD, 0xCD, 0xDD, + 0xDD, 0xDC, 0xFD, 0x5D, 0x44, 0x00, 0x00, 0x44, 0xCC, 0xCC, 0x44, 0xC4, + 0x4C, 0x44, 0x4C, 0x5C, 0x44, 0x44, 0xC4, 0xCC, 0xC4, 0xC4, 0xCC, 0x4C, + 0xC4, 0xC5, 0xCF, 0x44, 0x44, 0x44, 0x00, 0x00, 0xCC, 0xDD, 0x77, 0xF7, + 0xFF, 0x77, 0x77, 0x7F, 0x3F, 0x13, 0x00, 0x00, 0x10, 0x11, 0x11, 0x11, + 0x11, 0x13, 0x01, 0x3F, 0x71, 0x11, 0x11, 0x11, 0x10, 0x11, 0x11, 0x11, + 0x11, 0xF1, 0xD3, 0x17, 0x11, 0x11, 0x00, 0x00, 0x00, 0x70, 0x37, 0x77, + 0x73, 0x77, 0x33, 0x73, 0x7F, 0x3F, 0x33, 0x01, 0x00, 0x11, 0x33, 0x13, + 0x11, 0x31, 0x33, 0x11, 0x3F, 0xF1, 0x13, 0x11, 0x11, 0x30, 0x33, 0x33, + 0x33, 0x31, 0xF1, 0x73, 0x17, 0x13, 0x11, 0x11, 0x01, 0x00, 0x70, 0x37, + 0xFD, 0xFD, 0xDD, 0xCD, 0xDC, 0xFF, 0xFF, 0x47, 0x00, 0x00, 0x40, 0x44, + 0x44, 0x44, 0xD4, 0x5D, 0x44, 0x5F, 0xFC, 0xC5, 0x44, 0x00, 0x40, 0xC4, + 0x45, 0xCC, 0x44, 0xF4, 0xC5, 0x4F, 0x44, 0x44, 0x00, 0x00, 0x00, 0xD8, + 0xDC, 0xDD, 0xDD, 0xDD, 0xCC, 0xCC, 0xFD, 0xDF, 0x4C, 0x00, 0x00, 0x44, + 0xCC, 0x4C, 0xC4, 0xFC, 0xCF, 0xC4, 0x4C, 0xC4, 0xC4, 0x44, 0x44, 0xC0, + 0xCC, 0xCD, 0xCC, 0x44, 0xCC, 0xCD, 0x4F, 0x44, 0x4C, 0x44, 0x04, 0x00, + 0xC0, 0xCC, 0x77, 0xF7, 0x7F, 0x33, 0x71, 0xFF, 0x1F, 0x13, 0x00, 0x00, + 0x10, 0x13, 0x31, 0x31, 0xF1, 0x77, 0xF1, 0x13, 0x71, 0x11, 0x13, 0x10, + 0x00, 0xF1, 0x13, 0xF1, 0x11, 0xF1, 0xF3, 0x17, 0x11, 0x11, 0x11, 0x00, + 0x00, 0x70, 0x37, 0x37, 0x77, 0x77, 0x33, 0x73, 0xFF, 0x17, 0x13, 0x00, + 0x00, 0x10, 0x33, 0x31, 0x71, 0x71, 0xF3, 0xF3, 0x13, 0x71, 0x31, 0x13, + 0x11, 0x01, 0x73, 0x33, 0x73, 0x33, 0x73, 0x73, 0x13, 0x31, 0x11, 0x11, + 0x11, 0x00, 0x70, 0x37, 0xDD, 0xFF, 0xFF, 0xCC, 0xDC, 0xFD, 0x47, 0x04, + 0x00, 0x00, 0x40, 0xC4, 0x44, 0x7C, 0xC4, 0xFC, 0xF5, 0x47, 0xFC, 0xC0, + 0x44, 0x04, 0x00, 0xC4, 0xCC, 0xFC, 0xDC, 0x44, 0xC4, 0x45, 0x54, 0x44, + 0x04, 0x00, 0x00, 0xC0, 0xDD, 0xDD, 0xCD, 0xDD, 0xCC, 0xCC, 0xFD, 0x45, + 0x4C, 0x00, 0x00, 0xCC, 0xCC, 0xC4, 0xFC, 0xCC, 0xFC, 0xC4, 0x45, 0xFC, + 0xC4, 0xC4, 0x44, 0x40, 0xCC, 0xCC, 0xCC, 0xDC, 0x4D, 0xC4, 0xC4, 0xDC, + 0x4C, 0x44, 0x44, 0x40, 0xC0, 0xCC, 0x77, 0x77, 0x3F, 0x33, 0x73, 0x77, + 0x01, 0x10, 0x00, 0x00, 0x10, 0x17, 0x53, 0x71, 0x11, 0xF3, 0x11, 0x31, + 0x31, 0x11, 0x11, 0x01, 0x01, 0x31, 0xF3, 0x73, 0xF1, 0x13, 0x11, 0x71, + 0x71, 0x11, 0x11, 0x00, 0x00, 0x00, 0x37, 0x77, 0x73, 0x37, 0x33, 0x33, + 0x37, 0x11, 0x11, 0x00, 0x00, 0x11, 0x33, 0x33, 0x31, 0x31, 0x73, 0x13, + 0x71, 0x11, 0x11, 0x11, 0x11, 0x01, 0x33, 0x73, 0x33, 0x73, 0x33, 0x31, + 0x31, 0x73, 0x33, 0x11, 0x11, 0x01, 0x11, 0x33, 0xFD, 0xFD, 0xDF, 0xCF, + 0xDC, 0x4D, 0x40, 0x40, 0x00, 0x00, 0xC4, 0x46, 0xC5, 0x4C, 0xC4, 0xDD, + 0x4C, 0xF4, 0x45, 0xC4, 0x4C, 0x00, 0x84, 0xCD, 0xCC, 0xC4, 0xFC, 0x45, + 0x4C, 0xC4, 0xFC, 0x44, 0x44, 0x00, 0x00, 0x00, 0xDD, 0xDD, 0xFD, 0xDD, + 0xDD, 0xDC, 0xCD, 0x44, 0x44, 0x00, 0x00, 0xC4, 0xCC, 0xCD, 0xCC, 0xCC, + 0xCD, 0x5C, 0xE4, 0xC5, 0xC4, 0xC4, 0x44, 0xC4, 0xCD, 0xDC, 0xCC, 0xCC, + 0xCC, 0xDC, 0xC4, 0xDC, 0xCC, 0x44, 0x44, 0x44, 0x00, 0xDD, 0x77, 0x77, + 0xFF, 0x7F, 0xF9, 0x37, 0x11, 0x10, 0x00, 0x00, 0x50, 0x17, 0x11, 0x11, + 0x11, 0x37, 0x3F, 0xF1, 0x71, 0x17, 0x11, 0x11, 0x50, 0x37, 0x3F, 0x33, + 0x73, 0x11, 0x37, 0x11, 0x75, 0x11, 0x11, 0x00, 0x00, 0x00, 0x7F, 0x77, + 0x77, 0x7F, 0x37, 0x3B, 0x37, 0x31, 0x11, 0x01, 0x00, 0x70, 0x13, 0x31, + 0x13, 0x33, 0x33, 0x3F, 0x31, 0x11, 0x17, 0x11, 0x13, 0x31, 0x37, 0x3F, + 0x33, 0x33, 0x33, 0x33, 0x11, 0x73, 0x33, 0x13, 0x11, 0x11, 0x10, 0x77, + 0xDD, 0xFF, 0xFD, 0x5F, 0x5C, 0x7C, 0x44, 0x44, 0x00, 0x00, 0xC0, 0xC4, + 0x44, 0x45, 0xC4, 0x4F, 0x5E, 0x44, 0x44, 0x44, 0x00, 0x44, 0xD4, 0xDD, + 0xDC, 0xDC, 0xCC, 0x44, 0x5C, 0x44, 0x5C, 0xFC, 0x45, 0x04, 0x00, 0x00, + 0xDC, 0xFD, 0xDD, 0xFC, 0x4D, 0xCC, 0xFC, 0xCC, 0x44, 0x04, 0x00, 0xC4, + 0xCC, 0xCC, 0x45, 0xCC, 0xCF, 0x5C, 0x44, 0x44, 0xCC, 0x44, 0x44, 0xFC, + 0xDD, 0xCC, 0xCC, 0xCC, 0xCC, 0xDC, 0xCC, 0xCC, 0xDC, 0x4D, 0x44, 0x04, + 0x00, 0xDC, 0xF7, 0x7F, 0xFF, 0x13, 0x11, 0xF3, 0x73, 0x13, 0x00, 0x00, + 0xD0, 0x13, 0x11, 0x13, 0xF1, 0x77, 0x11, 0x11, 0x11, 0x11, 0x11, 0x30, + 0xF1, 0x7F, 0x77, 0x77, 0x73, 0x33, 0x31, 0x11, 0x11, 0xF1, 0x13, 0x11, + 0x00, 0x00, 0x70, 0x37, 0x7F, 0x77, 0x33, 0x31, 0xF3, 0xF3, 0x13, 0x01, + 0x00, 0x71, 0x13, 0x31, 0x33, 0xF3, 0x77, 0x13, 0x11, 0x33, 0x33, 0x13, + 0x31, 0x73, 0x37, 0x37, 0x77, 0x33, 0x73, 0x33, 0x33, 0x33, 0xF3, 0x33, + 0x13, 0x11, 0x01, 0x70, 0xDD, 0xFD, 0xDC, 0x4F, 0x4C, 0xCC, 0xFF, 0x05, + 0x00, 0x00, 0xCC, 0x45, 0x44, 0x4F, 0xFC, 0xDF, 0x4F, 0x44, 0x44, 0xC4, + 0x44, 0xDC, 0xFC, 0xDD, 0xDD, 0xDF, 0x5C, 0xFC, 0x44, 0x5C, 0x44, 0xDC, + 0x4D, 0x44, 0x00, 0x00, 0xE0, 0xDD, 0xCD, 0xDC, 0x4F, 0xCC, 0xCC, 0xCC, + 0x45, 0x00, 0x40, 0xCC, 0x44, 0xCC, 0xCC, 0xFC, 0xDF, 0x4F, 0x44, 0xCC, + 0xCC, 0xCC, 0xDC, 0xDC, 0xCC, 0xDC, 0xCC, 0xDC, 0xDC, 0xCC, 0xCD, 0xC4, + 0xCC, 0xCD, 0x4C, 0x44, 0x00, 0xC0, 0x7F, 0xF7, 0xFF, 0x17, 0x37, 0x31, + 0x77, 0x03, 0x00, 0x00, 0x10, 0x11, 0x11, 0x17, 0xF1, 0xFF, 0x3F, 0x11, + 0x11, 0x77, 0x33, 0x7F, 0x77, 0x73, 0x77, 0x77, 0x7F, 0x73, 0x31, 0x3F, + 0x11, 0x73, 0x33, 0x13, 0x01, 0x00, 0x80, 0x77, 0x77, 0xF7, 0x37, 0x37, + 0x31, 0x33, 0x13, 0x01, 0x00, 0x31, 0x13, 0x33, 0x33, 0xF1, 0x77, 0x37, + 0x31, 0x33, 0x37, 0x33, 0x33, 0x33, 0x73, 0x73, 0x77, 0x37, 0x73, 0x33, + 0x37, 0x33, 0x33, 0x33, 0x13, 0x11, 0x11, 0x01, 0xDD, 0xFF, 0xFD, 0x5F, + 0x4F, 0x44, 0xCC, 0x04, 0x00, 0x00, 0xCC, 0x4D, 0xCC, 0x44, 0xC4, 0xDD, + 0xFF, 0x7C, 0x44, 0xCC, 0xCD, 0x45, 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xFC, + 0xCC, 0x5F, 0x5C, 0xC4, 0xDC, 0x45, 0x00, 0x00, 0x00, 0xDD, 0xDD, 0xFD, + 0xDF, 0xCF, 0xC4, 0xCC, 0x44, 0x04, 0x44, 0xCC, 0xCC, 0xCC, 0x4C, 0xCC, + 0xCC, 0xFD, 0xDD, 0x44, 0xCC, 0xCC, 0x4C, 0xCC, 0xCC, 0xCD, 0xDC, 0xCD, + 0xCC, 0xCC, 0xCD, 0xDC, 0xCC, 0xDC, 0x4D, 0x44, 0x44, 0x04, 0xF7, 0xFF, + 0xFF, 0x3F, 0x1F, 0x31, 0x11, 0x01, 0x00, 0x00, 0x31, 0x11, 0x3F, 0x11, + 0x11, 0x31, 0xF7, 0x3F, 0x11, 0x13, 0x17, 0x37, 0x11, 0x77, 0xF7, 0xF7, + 0x37, 0x13, 0x33, 0x17, 0x7F, 0x11, 0xF7, 0x17, 0x01, 0x00, 0x00, 0xF7, + 0x77, 0xF7, 0x37, 0x37, 0x31, 0x31, 0x11, 0x11, 0x11, 0x31, 0x13, 0x37, + 0x13, 0x11, 0x33, 0x77, 0x37, 0x73, 0x33, 0x13, 0x33, 0x33, 0x33, 0xF7, + 0x77, 0x77, 0x33, 0x33, 0x33, 0x7F, 0x73, 0x73, 0x33, 0x11, 0x11, 0x11, + 0xFD, 0xFD, 0xFF, 0xFF, 0x5F, 0xC4, 0x44, 0x00, 0x00, 0x40, 0xCC, 0x4D, + 0x4C, 0x44, 0x44, 0xC4, 0xFC, 0xDF, 0xFD, 0xC5, 0x47, 0x5C, 0x44, 0xC4, + 0xDC, 0xFD, 0xDD, 0xDD, 0xFC, 0xCC, 0xFF, 0xFC, 0xC5, 0x4D, 0x04, 0x44, + 0x00, 0xDD, 0xDD, 0xFD, 0xDF, 0xDC, 0xCC, 0x44, 0x44, 0x44, 0xC4, 0xCC, + 0xCD, 0xCC, 0x4D, 0x44, 0xCC, 0xFC, 0xDF, 0xDF, 0xCD, 0x44, 0x4C, 0x44, + 0xCC, 0xDC, 0xDD, 0xCD, 0xFD, 0xFC, 0xDC, 0xFC, 0xCD, 0xC4, 0x4C, 0x44, + 0x44, 0x44, 0x77, 0xFF, 0xFF, 0xFF, 0x7F, 0x11, 0x01, 0x01, 0x00, 0x00, + 0x37, 0x53, 0x11, 0x17, 0x11, 0x37, 0x71, 0xFF, 0x3F, 0x11, 0x11, 0x11, + 0x01, 0x11, 0x7F, 0x77, 0x7F, 0x77, 0x7F, 0x73, 0x7F, 0x17, 0x11, 0x13, + 0x11, 0x11, 0x01, 0x73, 0x77, 0x7F, 0x77, 0x73, 0x33, 0x11, 0x11, 0x11, + 0x11, 0x37, 0x73, 0x33, 0x37, 0x11, 0x37, 0xF3, 0x77, 0x3F, 0x33, 0x13, + 0x11, 0x11, 0x31, 0x73, 0x77, 0x37, 0x33, 0x73, 0x73, 0xFF, 0x17, 0x11, + 0x33, 0x11, 0x11, 0x11, 0xDD, 0xFD, 0xFF, 0xDD, 0xCD, 0x4F, 0x44, 0x04, + 0x00, 0xC0, 0xCC, 0xC5, 0x4C, 0x4F, 0x5C, 0x5C, 0xFC, 0xDF, 0xDD, 0xFF, + 0x45, 0x44, 0x00, 0x44, 0xDC, 0xFF, 0xFF, 0xDD, 0xDD, 0xFC, 0xDD, 0x47, + 0x44, 0x0C, 0x44, 0x44, 0x04, 0xDD, 0xCD, 0xDD, 0xDC, 0xCD, 0x4C, 0x4C, + 0x4C, 0x44, 0xC4, 0xCC, 0xCD, 0xCC, 0x4C, 0xDC, 0xDC, 0xFC, 0xFF, 0xDC, + 0xFD, 0x45, 0x4C, 0x44, 0x4C, 0xDC, 0xDD, 0xDD, 0xDD, 0xCF, 0xCC, 0xDC, + 0x45, 0xC4, 0xDD, 0x44, 0x44, 0x44, 0x7F, 0xF7, 0x7F, 0xFF, 0x37, 0x73, + 0x31, 0x01, 0x00, 0x10, 0xF7, 0x77, 0x1F, 0x17, 0x79, 0x79, 0xF1, 0x7F, + 0xFF, 0x77, 0x13, 0x37, 0x11, 0x11, 0xF1, 0x77, 0xFF, 0xFF, 0xF7, 0x77, + 0xF7, 0x13, 0x11, 0x7F, 0x01, 0x11, 0x01, 0x77, 0x77, 0x77, 0x77, 0x37, + 0x73, 0x33, 0x11, 0x11, 0x11, 0xF3, 0x37, 0x3F, 0x13, 0x71, 0x31, 0x71, + 0x37, 0xFF, 0x33, 0x13, 0x37, 0x11, 0x13, 0x71, 0x77, 0x77, 0x7F, 0x37, + 0x77, 0xF7, 0x33, 0x13, 0x7F, 0x11, 0x13, 0x11, 0xFD, 0xFF, 0xDF, 0xFC, + 0xDD, 0xC4, 0x55, 0xC4, 0x04, 0xC4, 0xFC, 0xCD, 0x5C, 0x44, 0xDC, 0x44, + 0xC4, 0xDF, 0xFD, 0xDF, 0xC4, 0x4D, 0x44, 0x44, 0xC4, 0xDD, 0xFF, 0xFF, + 0xFD, 0xFD, 0xCD, 0x7C, 0x44, 0x7C, 0xC4, 0x4F, 0x00, 0xDD, 0xDD, 0xDF, + 0xDC, 0xDC, 0xCD, 0xCC, 0xCC, 0x45, 0xCC, 0xCC, 0xCD, 0xCC, 0xCC, 0xCD, + 0x44, 0xC4, 0xCC, 0xFC, 0xCD, 0xCC, 0x4C, 0x44, 0x44, 0xC4, 0xDD, 0xDF, + 0xFD, 0xFD, 0xFC, 0xCD, 0xFC, 0x44, 0xCC, 0xC4, 0x4D, 0x44, 0xFF, 0xFF, + 0x3F, 0xF1, 0x7F, 0x77, 0x93, 0x33, 0x03, 0x70, 0x77, 0x3F, 0x33, 0x13, + 0x17, 0x11, 0x11, 0x71, 0xF7, 0x37, 0x37, 0x11, 0x11, 0x11, 0x13, 0xF7, + 0xFF, 0xFF, 0xFF, 0xFF, 0x37, 0xFF, 0x11, 0x31, 0x11, 0x11, 0x10, 0x77, + 0x7F, 0x37, 0x73, 0x7F, 0x77, 0x33, 0x33, 0x13, 0x73, 0x77, 0x37, 0x33, + 0x37, 0x17, 0x11, 0x33, 0x31, 0x37, 0x33, 0x7F, 0x13, 0x31, 0x11, 0x33, + 0xF3, 0xF7, 0xFF, 0x7F, 0x77, 0x37, 0xFF, 0x13, 0x73, 0x13, 0x11, 0x11, + 0xDF, 0xFF, 0x5F, 0xC4, 0xFF, 0xDD, 0xCD, 0x5C, 0x44, 0xC4, 0xFF, 0xDF, + 0xCF, 0x7F, 0x4C, 0xC4, 0x5F, 0xCC, 0xDD, 0xCD, 0xFC, 0x4F, 0xC4, 0x44, + 0x44, 0xCC, 0xFF, 0xFF, 0xFF, 0xDF, 0xCF, 0xFE, 0x45, 0xFC, 0x45, 0xC4, + 0x45, 0xDD, 0xDD, 0xDD, 0xCC, 0xDD, 0xDC, 0xCC, 0x4C, 0xC4, 0xCC, 0xFF, + 0xDF, 0xCD, 0xDC, 0xCC, 0xC4, 0x5E, 0xDC, 0xCC, 0xDD, 0xDD, 0x4D, 0xDC, + 0xC4, 0xC4, 0xCC, 0xFF, 0xFF, 0xDF, 0xDF, 0xCF, 0xFC, 0x45, 0xFC, 0xCF, + 0xCC, 0xCF, 0x7F, 0xF7, 0x3F, 0x71, 0xF7, 0x33, 0xD1, 0x11, 0x11, 0xF1, + 0xFF, 0x7F, 0x37, 0x37, 0x51, 0x17, 0x3F, 0x71, 0xF3, 0x7F, 0x3F, 0x11, + 0x71, 0x11, 0x31, 0x31, 0xFF, 0xFF, 0x7F, 0xFF, 0xF7, 0xFF, 0x13, 0xFD, + 0x17, 0xF1, 0x17, 0x77, 0x73, 0x37, 0x33, 0x33, 0x33, 0x33, 0x33, 0x11, + 0x73, 0x77, 0x7F, 0x37, 0x33, 0x73, 0x37, 0x33, 0x33, 0x33, 0x7F, 0x33, + 0x13, 0x33, 0x31, 0x31, 0x31, 0xF7, 0xFF, 0x7F, 0xFF, 0xF7, 0xFF, 0x13, + 0xF9, 0x17, 0xF3, 0x37, 0xDD, 0xFD, 0x5F, 0xCC, 0xCD, 0xDD, 0xC4, 0x5C, + 0xCC, 0xCD, 0xFF, 0xFF, 0xDF, 0xDF, 0xC4, 0x5F, 0x44, 0x44, 0xC4, 0xFD, + 0xCC, 0x44, 0x4C, 0x44, 0x44, 0xC4, 0xFD, 0xFF, 0xFF, 0xDF, 0xCF, 0xFD, + 0x45, 0xFC, 0x4F, 0xC4, 0x4F, 0xCD, 0xDD, 0xDD, 0xCC, 0xCC, 0xDD, 0xCC, + 0xCC, 0xCC, 0xDD, 0xDC, 0xFD, 0xFF, 0xCF, 0xCC, 0xCF, 0xCC, 0xDC, 0xCC, + 0xCD, 0xCC, 0xCD, 0x45, 0x5C, 0xCC, 0xCC, 0xDD, 0xFD, 0xFF, 0xDD, 0xCF, + 0xFD, 0xCC, 0xCC, 0x4F, 0xCC, 0xCF, 0x77, 0x7F, 0x7F, 0x11, 0x73, 0xFF, + 0x77, 0x37, 0xF3, 0x77, 0x77, 0xFF, 0xFF, 0xFF, 0x33, 0x17, 0x3D, 0xF1, + 0xF3, 0x73, 0xF3, 0x7F, 0x13, 0x3F, 0x31, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, + 0x37, 0x73, 0x11, 0xF1, 0x17, 0xF1, 0x1F, 0x33, 0x77, 0x77, 0x33, 0xF3, + 0xFF, 0x37, 0x77, 0x77, 0x77, 0x77, 0xF7, 0x7F, 0xF7, 0x37, 0x33, 0x33, + 0x73, 0x33, 0x73, 0xF7, 0x3F, 0x13, 0x3F, 0x33, 0x73, 0x77, 0xF7, 0xFF, + 0xF7, 0x37, 0x33, 0x33, 0xF3, 0x33, 0x33, 0x3F, 0xDD, 0xFD, 0xCD, 0xCD, + 0xDD, 0xFF, 0xFF, 0xFD, 0xDF, 0xFD, 0xDF, 0xDD, 0xFF, 0xDF, 0xCF, 0x5F, + 0xDC, 0xC5, 0xC5, 0xDD, 0xDF, 0x5F, 0x44, 0x4F, 0x44, 0xC4, 0xFF, 0xFF, + 0xFF, 0xFF, 0xCF, 0x5F, 0xC4, 0xFC, 0x4F, 0xCC, 0x5F, 0xDC, 0xCD, 0xEC, + 0xDD, 0xDC, 0xFF, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC, 0xCD, 0xDC, 0xFD, 0xCD, + 0xCF, 0xDC, 0xCF, 0xCC, 0xDC, 0xDF, 0xCD, 0xCC, 0xC4, 0xDC, 0xCC, 0xDD, + 0xDD, 0xFF, 0xFF, 0xCD, 0xDF, 0xCC, 0xEC, 0xCF, 0xCC, 0xDC, 0x33, 0x73, + 0xF3, 0x7F, 0x7F, 0xF7, 0x7F, 0xFF, 0x77, 0x77, 0x77, 0xF7, 0x73, 0xFF, + 0x37, 0x17, 0x71, 0x17, 0x31, 0x73, 0x3F, 0x11, 0x7F, 0x11, 0x77, 0xF1, + 0xF7, 0xFF, 0xFF, 0xFF, 0xF3, 0x7F, 0xF1, 0xF3, 0x1F, 0xF1, 0x33, 0x33, + 0x73, 0x73, 0x77, 0x77, 0xF7, 0x77, 0x77, 0x33, 0x33, 0x73, 0x73, 0x73, + 0xF7, 0x37, 0x73, 0x33, 0x33, 0x73, 0x33, 0x37, 0x13, 0x3F, 0x31, 0x31, + 0x73, 0x77, 0x77, 0xFF, 0x7F, 0xF3, 0x7F, 0xB3, 0xF3, 0x3F, 0xF3, 0x37, + 0xDD, 0xCD, 0xDC, 0xDF, 0xFF, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, + 0xDD, 0xFD, 0xFF, 0xFD, 0xCF, 0xDC, 0xFC, 0xCD, 0xDF, 0x4C, 0x4C, 0xDC, + 0xC4, 0xFD, 0xDF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFD, 0xCD, 0xCF, 0xFF, 0xFC, + 0xDF, 0xCD, 0xCC, 0xDC, 0xDD, 0xDD, 0xDC, 0xDC, 0xDF, 0xDC, 0xDC, 0xCC, + 0xCC, 0xDC, 0xDD, 0xFF, 0xCD, 0xCF, 0xDC, 0xDC, 0xCD, 0xDF, 0xDC, 0xCC, + 0xCC, 0xCD, 0xFC, 0xDD, 0xDD, 0xDD, 0xFF, 0xCF, 0xFD, 0xCD, 0xCC, 0xDF, + 0xEC, 0xDF, 0x73, 0x37, 0x77, 0xF7, 0x77, 0x77, 0xF7, 0x7F, 0x77, 0x73, + 0x77, 0x77, 0xF7, 0x77, 0xFF, 0xF7, 0x13, 0xFF, 0x33, 0xF3, 0x3F, 0x3F, + 0x11, 0x71, 0xFF, 0x7F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x77, 0x33, + 0x37, 0xF3, 0x7F, 0x73, 0x37, 0x77, 0x77, 0x33, 0x37, 0x37, 0x77, 0x33, + 0x33, 0x77, 0x77, 0x77, 0x77, 0x7F, 0x33, 0x33, 0x73, 0x73, 0x73, 0x37, + 0x3F, 0x33, 0x77, 0x77, 0x77, 0x77, 0xF7, 0xFF, 0xFF, 0x3F, 0xF3, 0xF3, + 0x33, 0x73, 0x33, 0x7F, 0xFD, 0xDD, 0xFD, 0xDD, 0xCD, 0xDD, 0xDF, 0xDD, + 0xDD, 0xCD, 0xDD, 0xDD, 0xDD, 0xDD, 0xFF, 0xDF, 0xFF, 0xDC, 0xFC, 0xDC, + 0xFC, 0xCD, 0xDF, 0xFF, 0xFF, 0xDF, 0xDF, 0xFD, 0xFF, 0xFF, 0xDF, 0xCF, + 0xFD, 0xCF, 0xFC, 0xC5, 0xFC, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xCD, + 0xCD, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xDD, 0xDD, 0xFF, 0xDD, 0xDC, 0xCC, + 0xDD, 0xCC, 0xDC, 0xFF, 0xFF, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xFF, 0xDF, + 0xCF, 0xCC, 0xCF, 0xFC, 0xCF, 0xCC, 0x71, 0xF7, 0x77, 0xF7, 0x77, 0xF7, + 0x37, 0x77, 0x77, 0x73, 0x37, 0x73, 0x77, 0x77, 0xFF, 0x7F, 0x77, 0xF7, + 0xF7, 0x7F, 0xF7, 0x7F, 0xFF, 0xFF, 0x7F, 0xF7, 0xF7, 0xF7, 0xFF, 0xFF, + 0x3F, 0x3F, 0xF7, 0x3F, 0xF7, 0x3F, 0x33, 0x73, 0x37, 0x37, 0x77, 0x77, + 0x77, 0x37, 0x33, 0x37, 0x33, 0x33, 0x33, 0x73, 0x77, 0x77, 0xF7, 0x77, + 0x3F, 0x77, 0x77, 0xFF, 0x3F, 0x77, 0x7F, 0x77, 0x77, 0x77, 0x77, 0xF7, + 0xFF, 0x37, 0x3F, 0x7F, 0x3F, 0xF3, 0x7F, 0x33, 0xDD, 0xDD, 0xDD, 0xDD, + 0xDC, 0xDD, 0xDD, 0xDD, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC, 0xDD, 0xFD, + 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xDD, 0xDF, 0xDD, 0xDD, + 0xDF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xDD, 0xFF, 0xCF, 0xDD, 0xDD, 0xDD, + 0xCD, 0xDD, 0xCD, 0xDD, 0xCC, 0xCC, 0xCC, 0xCC, 0xDC, 0xDD, 0xCC, 0xDD, + 0xDD, 0xDF, 0xDD, 0xDF, 0xDF, 0xDF, 0xDF, 0xDD, 0xDF, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDF, 0xFC, 0xFC, 0xFD, 0xDC, 0xFC, 0xCF, 0x77, 0xFF, + 0x77, 0x77, 0xFF, 0x77, 0x77, 0x33, 0x77, 0x37, 0x17, 0x77, 0x77, 0x77, + 0xF7, 0x77, 0x77, 0x77, 0xFF, 0xFF, 0xFF, 0x7F, 0xF7, 0xFF, 0xF7, 0xFF, + 0xF7, 0x77, 0x7F, 0xFF, 0x7F, 0x7F, 0x73, 0x77, 0x77, 0xF7, 0x3F, 0x77, + 0x77, 0x37, 0x73, 0x73, 0x37, 0x37, 0x33, 0x33, 0x33, 0x33, 0x33, 0x37, + 0x77, 0x77, 0x77, 0x37, 0x77, 0x77, 0x77, 0xF7, 0x77, 0x77, 0xF7, 0x77, + 0x77, 0x77, 0x77, 0x77, 0xF7, 0x7F, 0x77, 0x33, 0x33, 0x33, 0xF3, 0x3F, + 0xFD, 0xDD, 0xFD, 0xDD, 0xDD, 0xDF, 0xDD, 0xDD, 0x4C, 0xDC, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDF, 0xDD, 0xDD, 0xFD, 0xFF, 0xFD, 0xDD, 0xDD, 0xDF, + 0xDD, 0xDD, 0xFD, 0xFD, 0xDF, 0xFF, 0xFF, 0xFF, 0xDD, 0xCD, 0xDD, 0xFC, + 0x5F, 0xDD, 0xDD, 0xDC, 0xCD, 0xCD, 0xDD, 0xCC, 0xDD, 0xCD, 0xCC, 0xCC, + 0xCC, 0xDD, 0xDD, 0xDD, 0xCD, 0xDC, 0xDD, 0xCD, 0xDD, 0xDD, 0xDC, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xFF, 0xFF, 0xDF, 0xFD, 0xCD, 0xDC, + 0xCC, 0xDF, 0x77, 0x7F, 0x7F, 0x7F, 0xF3, 0x7F, 0x77, 0x3F, 0x73, 0x73, + 0x77, 0x77, 0x77, 0x77, 0x7F, 0x77, 0xF7, 0xF7, 0x77, 0xF7, 0x7F, 0xF3, + 0xF7, 0xF7, 0x77, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x37, + 0x7F, 0x33, 0x3F, 0x77, 0x37, 0x77, 0x73, 0x73, 0x77, 0x37, 0x37, 0x33, + 0x33, 0x73, 0x73, 0x33, 0x73, 0x77, 0x73, 0x77, 0x73, 0x77, 0x77, 0x3F, + 0x73, 0x77, 0x77, 0x37, 0x77, 0x77, 0x77, 0x77, 0xFF, 0xFF, 0x7F, 0xF7, + 0x3F, 0x7F, 0x33, 0x33, 0xFF, 0xDF, 0xFF, 0xDD, 0xFD, 0xDD, 0xDF, 0xDD, + 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xFD, 0xDD, 0xFD, 0xDD, 0xDF, 0xFD, + 0xDD, 0xFC, 0xDD, 0xFF, 0xDF, 0xFD, 0xDD, 0xFD, 0xDF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xDF, 0xFD, 0xC4, 0xFC, 0xDD, 0xDD, 0xDD, 0xCD, 0xCD, 0xDD, 0xCD, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCD, 0xDD, 0xCC, 0xDC, 0xDD, 0xDD, 0xCD, 0xDD, + 0xDC, 0xDC, 0xDC, 0xDD, 0xDD, 0xCD, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xFF, + 0xFF, 0xDD, 0xDF, 0xFC, 0xCC, 0xFC, 0xFF, 0x7F, 0x7F, 0xF7, 0x77, 0x77, + 0x73, 0x73, 0x17, 0x71, 0x73, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, + 0x7F, 0x77, 0x77, 0x77, 0x77, 0xF7, 0x37, 0x77, 0x7F, 0x77, 0xF7, 0xFF, + 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0x13, 0xFF, 0x77, 0x37, 0x33, 0x77, 0x33, + 0x73, 0x33, 0x33, 0x33, 0x33, 0x33, 0x77, 0x33, 0x37, 0x37, 0x77, 0x73, + 0x73, 0x37, 0x73, 0x73, 0x77, 0x77, 0x77, 0x37, 0x77, 0x77, 0x77, 0x77, + 0x77, 0xFF, 0xFF, 0x3F, 0x3F, 0x73, 0x33, 0xF3, }; diff --git a/src/display.cpp b/src/display.cpp index 54da2db..c69fbb0 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -30,6 +30,12 @@ GxEPD2_BW<GxEPD2_290_T94, GxEPD2_290_T94::HEIGHT> display(GxEPD2_290_T94(45, 46, #error "define display" #endif +static uint8_t displayed = 0; + +#include "hungry.c" +#include "chleepy.c" +#include "hug.c" + void de::uvok::badge::display_init(void) { Serial.println("Init display..."); @@ -47,8 +53,6 @@ void de::uvok::badge::display_init(void) Serial.println("Display done."); } -#include "chee.c" - void de::uvok::badge::display_demo(void) { #define TEXT_BORDER 10 @@ -67,7 +71,7 @@ void de::uvok::badge::display_demo(void) display.firstPage(); do { - display.drawXBitmap(0, 0, chee_bits, chee_width, chee_height, GxEPD_BLACK); + display.drawXBitmap(0, 0, (unsigned char *)chleepy_bits, chleepy_width, chleepy_height, GxEPD_BLACK); display.getTextBounds(s_hungry, x, y, &tbx, &tby, &tbw, &tbh); display.fillRect(tbx - TEXT_BORDER, tby - TEXT_BORDER, tbw + 2 * TEXT_BORDER, tbh + 2 * TEXT_BORDER, GxEPD_WHITE); @@ -79,3 +83,72 @@ void de::uvok::badge::display_demo(void) display.hibernate(); #undef TEXT_BORDER } + +#define IMAGE_DATA_T(name, text) {name##_bits, name##_width, name##_height, text} +#define IMAGE_DATA(name) {name##_bits, name##_width, name##_height, #name} + +const struct +{ + // I always thought making the struct const makes all membery const, yet I still get warnings... + const char *bits; + const int width; + const int height; + const char *text; +} imgs[] = {IMAGE_DATA_T(chleepy, "sleepy"), IMAGE_DATA(hungry), IMAGE_DATA_T(hug, "cuddly")}; + +#define NUM_IMGS (sizeof(imgs) / sizeof(imgs[0])) + +static void displayDo(void) +{ + Serial.printf("Print image %d\n", displayed); + const char *strings[] = {"sleepy", "hungry"}; + + display.setRotation(1); + display.setTextColor(GxEPD_BLACK); + display.setFont(&FreeMonoBold9pt7b); + + const char *display_text = imgs[displayed].text; + int16_t tbx, tby; + uint16_t tbw, tbh; + display.getTextBounds(display_text, 0, 0, &tbx, &tby, &tbw, &tbh); + + constexpr int TEXT_BORDER = 10; + const uint16_t x = display.width() - tbw - TEXT_BORDER - tbx; + const uint16_t y = ((display.height() - tbh) / 2) - tby; + // re-calculate right-centered + display.getTextBounds(display_text, x, y, &tbx, &tby, &tbw, &tbh); + + display.firstPage(); + do + { + display.drawXBitmap(0, 0, (unsigned char *)imgs[displayed].bits, imgs[displayed].width, imgs[displayed].height, + GxEPD_BLACK); + display.fillRect(tbx - TEXT_BORDER, tby - TEXT_BORDER, tbw + 2 * TEXT_BORDER, tbh + 2 * TEXT_BORDER, + GxEPD_WHITE); + display.setCursor(x, y); + display.print(display_text); + } while (display.nextPage()); +} + +void de::uvok::badge::display_prev(void) +{ + displayed--; + if (displayed >= NUM_IMGS) + displayed = NUM_IMGS - 1; + displayDo(); +} + +void de::uvok::badge::display_next(void) +{ + displayed = (displayed + 1) % NUM_IMGS; + displayDo(); +} + +/* +// -> +#include "output_h4x4a.xbm" +#include "output_o8x8.xbm" + + + +*/
\ No newline at end of file diff --git a/src/gpio.cpp b/src/gpio.cpp index 1bf50a0..a419d99 100644 --- a/src/gpio.cpp +++ b/src/gpio.cpp @@ -11,9 +11,7 @@ // Elecrow #define EXIT_KEY 1 #define HOME_KEY 2 -#define NEXT_KEY 4 #define OK_KEY 5 -#define PRV_KEY 6 #endif #define GPIO_STACK 2048 @@ -76,6 +74,8 @@ void de::uvok::badge::gpio_init(void) #endif } +static volatile uint8_t event; + // "Poll task", for button 0. long de::uvok::badge::gpio_poll(void) { @@ -101,6 +101,13 @@ long de::uvok::badge::gpio_poll(void) pressDuration = releasedTime - pressedTime; }; + if (event) + { + uint8_t r = event; + event = 0; + return r; + } + return pressDuration; } @@ -128,6 +135,7 @@ static void gpio_loop(void *ctx) continue; LOG_F(" Handling\n"); + event = pin; } } } diff --git a/src/hug.c b/src/hug.c new file mode 100644 index 0000000..3a94d4a --- /dev/null +++ b/src/hug.c @@ -0,0 +1,324 @@ +#define hug_width 238 +#define hug_height 128 +static char hug_bits[] = { + 0xFD, 0xFD, 0xDD, 0xDD, 0xDD, 0x00, 0xC0, 0xDD, 0xDD, 0xDD, 0xDD, 0xDF, + 0xDD, 0xDC, 0xDD, 0xDD, 0xFF, 0xDD, 0xDD, 0xDD, 0xFD, 0xFF, 0xDF, 0xDD, + 0xFD, 0xDD, 0xFD, 0xFD, 0xFF, 0x3D, 0xDC, 0xDD, 0xDD, 0xDD, 0x4D, 0xC0, + 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x4D, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1C, + 0x77, 0xF7, 0x77, 0x77, 0x17, 0x10, 0x17, 0x77, 0x77, 0x77, 0x7F, 0x77, + 0x17, 0x30, 0x77, 0xF7, 0xFF, 0xFF, 0x77, 0x77, 0xFF, 0xFF, 0x77, 0x77, + 0x77, 0x77, 0x7F, 0xFF, 0x7F, 0x37, 0x73, 0x77, 0x77, 0x77, 0x13, 0x31, + 0x33, 0x77, 0x77, 0x77, 0x77, 0x77, 0x03, 0x11, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x33, + 0xFD, 0xDD, 0xDD, 0xDD, 0x45, 0xCC, 0xDD, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, + 0x40, 0x04, 0xDD, 0xFD, 0xDF, 0xFD, 0xDD, 0xDD, 0xFF, 0xFF, 0xFF, 0xDD, + 0xDD, 0xDF, 0xDD, 0xFF, 0xDF, 0x3D, 0xDC, 0xDC, 0xDD, 0xDD, 0xC5, 0xCC, + 0xCC, 0xDD, 0xCC, 0xCC, 0xC4, 0x4D, 0xC0, 0x04, 0xCC, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1C, + 0x77, 0x77, 0x77, 0x77, 0x33, 0x73, 0x73, 0x73, 0x31, 0x17, 0x10, 0x11, + 0x70, 0x11, 0x76, 0xF7, 0x7F, 0x7F, 0x77, 0x77, 0xFF, 0xFF, 0x77, 0x77, + 0xF7, 0x77, 0xF7, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x33, 0x33, + 0x73, 0x33, 0x33, 0x11, 0x10, 0x11, 0x30, 0x31, 0x76, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDD, 0xDD, 0xC5, 0xDC, 0xDC, 0x0D, 0x00, 0x00, 0x00, 0x00, + 0x44, 0x44, 0xDC, 0xFD, 0xDF, 0xFF, 0xDF, 0xDD, 0xFF, 0xFF, 0xDD, 0xDD, + 0xFD, 0xDD, 0xFD, 0xFF, 0xFF, 0x3F, 0xDC, 0xDD, 0xDD, 0xDD, 0xC5, 0xCC, + 0xDC, 0x0D, 0x00, 0x00, 0x04, 0x00, 0xC4, 0xC4, 0xDC, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0xFF, 0xF7, 0x77, 0x73, 0x33, 0xF7, 0x37, 0x00, 0x00, 0x11, 0x00, + 0x10, 0x11, 0x74, 0xF7, 0x7F, 0x7F, 0x7F, 0x77, 0xFF, 0xFF, 0x77, 0x77, + 0x77, 0x77, 0x7F, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x33, 0x33, + 0x77, 0x37, 0x13, 0x31, 0x33, 0x01, 0x10, 0x33, 0x71, 0x77, 0x77, 0x77, + 0x77, 0x73, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xFD, 0xFD, 0xFD, 0xDD, 0xC5, 0xDD, 0xDD, 0xCD, 0xDC, 0x4D, 0xCC, 0x0C, + 0x40, 0x44, 0xDC, 0xFD, 0xFF, 0xDF, 0xDD, 0xDD, 0xDD, 0xFF, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xFF, 0xFF, 0x3F, 0xDC, 0xDD, 0xDD, 0xDD, 0xC4, 0xDC, + 0xDD, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xC4, 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0xFF, 0x7F, 0x77, 0x33, 0xFF, 0x7F, 0x77, 0x77, 0x71, 0x71, 0x13, + 0x33, 0x11, 0x76, 0xF7, 0xFF, 0x77, 0x7F, 0x77, 0xF7, 0x7F, 0x77, 0x77, + 0x77, 0x77, 0x77, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x33, 0x77, + 0x77, 0x73, 0x37, 0x33, 0x33, 0x33, 0x33, 0x13, 0x76, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x73, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDF, 0xDF, 0xC1, 0xDD, 0xDF, 0xDD, 0x5D, 0x4C, 0xC5, 0xFC, + 0xDC, 0x4D, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xFF, 0xDF, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDF, 0xFF, 0xFF, 0x3F, 0xDD, 0xDD, 0xDD, 0xDD, 0xC5, 0xDC, + 0xDD, 0xDC, 0x4C, 0xCC, 0xC4, 0xCC, 0xCC, 0x4D, 0xDC, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0x7F, 0x7F, 0xF7, 0x33, 0xF7, 0x77, 0x77, 0x17, 0x31, 0x33, 0x13, + 0x71, 0x13, 0x77, 0xF7, 0x77, 0x77, 0x77, 0x77, 0xF7, 0x77, 0x77, 0x77, + 0x77, 0xF7, 0x77, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x33, 0x77, + 0x37, 0x33, 0x13, 0x33, 0x11, 0x33, 0x33, 0x33, 0x77, 0x73, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDF, 0xDF, 0xDF, 0xDD, 0xD1, 0xFD, 0xCD, 0xDD, 0x05, 0x5C, 0xC4, 0x45, + 0xC4, 0x04, 0xDD, 0xFD, 0xDD, 0xDD, 0xDD, 0xDD, 0xFF, 0xDF, 0xDD, 0xDD, + 0xDD, 0xFD, 0xFD, 0xFF, 0xFF, 0x3F, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDC, + 0xCC, 0xCD, 0x44, 0xDC, 0xCC, 0x44, 0xC4, 0x8C, 0xDD, 0xCC, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xCD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0xFF, 0xF7, 0x77, 0x73, 0x77, 0x73, 0x77, 0x11, 0x71, 0x13, 0x33, + 0x17, 0x17, 0x77, 0xF7, 0xF7, 0x77, 0x77, 0x77, 0xF7, 0x77, 0x77, 0x77, + 0x77, 0xFF, 0x77, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x33, 0x77, + 0x73, 0x73, 0x11, 0x31, 0x33, 0x33, 0x17, 0x13, 0x77, 0x73, 0x77, 0x77, + 0x77, 0x77, 0x73, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDF, 0xFF, 0xFD, 0xFF, 0xC5, 0xDD, 0xDC, 0xDD, 0x44, 0xDC, 0xCC, 0xD5, + 0x44, 0xCC, 0xDD, 0xDD, 0xDD, 0xFF, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xFD, + 0xDD, 0xFF, 0xFD, 0xFD, 0xFF, 0x3F, 0xDD, 0xDD, 0xDD, 0xDD, 0xC5, 0xDD, + 0xDC, 0xCC, 0x44, 0xDC, 0xCC, 0xCD, 0x4C, 0xCC, 0xDD, 0xCD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xCD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0xFF, 0xFF, 0xF7, 0xF7, 0x47, 0x3F, 0x77, 0x37, 0x11, 0x71, 0x37, 0x33, + 0x11, 0x70, 0x77, 0x77, 0xF7, 0x77, 0x77, 0x77, 0xF7, 0x77, 0x77, 0xF7, + 0xF7, 0x7F, 0xF7, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x17, 0x37, + 0x37, 0x33, 0x73, 0x73, 0x33, 0x33, 0x13, 0x31, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x77, 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xFF, 0xDD, 0xFF, 0xFF, 0xCD, 0xDF, 0xDD, 0xDD, 0xFD, 0xDF, 0xCD, 0xCD, + 0x44, 0xC4, 0xDD, 0xDD, 0xFD, 0xFD, 0xDD, 0xDD, 0xFD, 0xDD, 0xDD, 0xFD, + 0xDD, 0xDF, 0xFD, 0xFF, 0xFF, 0x3F, 0xDD, 0xDD, 0xDD, 0xDD, 0x0C, 0xDD, + 0xDD, 0xDC, 0xDD, 0xCD, 0xCD, 0xCD, 0x4C, 0xC4, 0xDC, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0xF7, 0x7F, 0xFF, 0x7F, 0x17, 0x77, 0x77, 0x37, 0x77, 0x3F, 0x17, 0x33, + 0x37, 0x10, 0xF7, 0x77, 0xF7, 0x7F, 0x7F, 0x77, 0xF7, 0x77, 0x77, 0x77, + 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x13, 0x33, + 0x33, 0x37, 0x77, 0x37, 0x33, 0x33, 0x77, 0x11, 0x73, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x37, 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xFD, 0xDF, 0xFF, 0xFD, 0x0D, 0xCC, 0xDD, 0x4F, 0xDC, 0xFF, 0xC5, 0xC5, + 0xDF, 0xCD, 0xDD, 0xDF, 0xFD, 0xFF, 0xDF, 0xFD, 0xDD, 0xDD, 0xDD, 0xDD, + 0xFF, 0xDF, 0xDD, 0xDF, 0xFF, 0x1F, 0xDD, 0xDD, 0xDD, 0xDD, 0x0D, 0xC4, + 0xCD, 0xCD, 0xDC, 0xDD, 0xC4, 0xCC, 0xDD, 0xCD, 0xCC, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0xFF, 0x7F, 0x77, 0x7F, 0x17, 0x73, 0x73, 0x37, 0xF1, 0x7F, 0x11, 0x11, + 0xF7, 0x11, 0x73, 0x77, 0xF7, 0xF7, 0x7F, 0x7F, 0xFF, 0x77, 0x77, 0x77, + 0xFF, 0xFF, 0xF7, 0x7F, 0xFF, 0x37, 0x77, 0x77, 0x77, 0x77, 0x17, 0x33, + 0x33, 0x33, 0x73, 0x77, 0x13, 0x13, 0x73, 0x31, 0x73, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x37, 0x73, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xFF, 0xDD, 0xDD, 0xDF, 0x0D, 0xCC, 0xDD, 0x45, 0xCC, 0xFC, 0x44, 0x44, + 0xFF, 0xC4, 0xDC, 0xDD, 0xFF, 0xFF, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, + 0xFF, 0xFD, 0xDD, 0xDF, 0xFD, 0x1D, 0xDD, 0xDD, 0xDD, 0xDD, 0xCD, 0xCC, + 0xCC, 0x4D, 0x4C, 0xC4, 0x4C, 0x44, 0xDC, 0xC4, 0xDC, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0x7F, 0x77, 0xFF, 0x07, 0x37, 0xF3, 0x33, 0x31, 0x71, 0x11, 0x17, + 0x31, 0x31, 0x77, 0xF7, 0xFF, 0x7F, 0x77, 0x7F, 0x77, 0x77, 0x77, 0xF7, + 0xFF, 0xFF, 0x77, 0x7F, 0x7F, 0x37, 0x77, 0x77, 0x77, 0x77, 0x17, 0x33, + 0x73, 0x33, 0x31, 0x71, 0x33, 0x33, 0x11, 0x31, 0x73, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x37, 0x37, 0x77, 0x77, 0x77, 0x73, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDD, 0xFF, 0x0F, 0xDC, 0xFC, 0x54, 0xCC, 0xF4, 0xC4, 0x5D, + 0x40, 0xC0, 0xDD, 0xDD, 0xFF, 0xFF, 0xDF, 0xDD, 0xDF, 0xDD, 0xDD, 0xFD, + 0xFF, 0xFF, 0xFD, 0xDD, 0xDD, 0x3D, 0xDD, 0xDD, 0xDD, 0xDD, 0x0D, 0xCC, + 0xDC, 0xCC, 0xCD, 0xD4, 0xCC, 0x5C, 0xC4, 0xC4, 0xDC, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xCD, 0xDC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1C, + 0x77, 0x77, 0x77, 0xFF, 0x17, 0x37, 0x7B, 0x31, 0x13, 0x73, 0x71, 0x33, + 0x13, 0x11, 0x77, 0x7F, 0xF7, 0xFF, 0x7F, 0xFF, 0x77, 0x77, 0x77, 0xF7, + 0x7F, 0xFF, 0xF7, 0x7F, 0x77, 0x37, 0x77, 0x77, 0x77, 0x77, 0x17, 0x73, + 0x33, 0x31, 0x33, 0x73, 0x33, 0x33, 0x13, 0x11, 0x73, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDD, 0xFD, 0x1D, 0xDC, 0x5D, 0xC4, 0xDC, 0xF4, 0xCC, 0xCC, + 0x44, 0xC4, 0xDC, 0xFD, 0xFD, 0xFD, 0xDF, 0xDF, 0xDF, 0xDD, 0xDD, 0xFD, + 0xFF, 0xFF, 0xFD, 0xDD, 0xDD, 0x3F, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, 0xCC, + 0xCC, 0xCC, 0xCC, 0xDC, 0xCC, 0xCC, 0x4C, 0xCC, 0xDC, 0xDC, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0x77, 0x77, 0x77, 0x3F, 0x76, 0x13, 0x7F, 0x13, 0x71, 0x77, 0x13, + 0x13, 0x31, 0x77, 0x77, 0x7F, 0xFF, 0x7F, 0xFF, 0x7F, 0x77, 0x77, 0xF7, + 0xFF, 0xFF, 0xF7, 0x77, 0xF7, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x37, 0x30, + 0x33, 0x73, 0x33, 0x33, 0x73, 0x33, 0x13, 0x31, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDD, 0xFD, 0x1D, 0xCC, 0x4C, 0xC0, 0xCC, 0x5C, 0xDC, 0x45, + 0x44, 0xC4, 0xDD, 0xDD, 0xFD, 0xFD, 0xFD, 0xFD, 0xDF, 0xDD, 0xDD, 0xFD, + 0xFF, 0xFF, 0xFF, 0xDD, 0xDD, 0x3F, 0xDD, 0xDD, 0xDD, 0xDC, 0x5D, 0xCC, + 0x4C, 0xC4, 0xCC, 0xDC, 0xDC, 0xCC, 0xC4, 0xC4, 0xDC, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xCD, 0xDD, 0x1D, + 0xF7, 0x77, 0x77, 0x77, 0x37, 0x70, 0x17, 0x11, 0x37, 0x1F, 0x71, 0x37, + 0x33, 0x71, 0xF7, 0xF7, 0x77, 0x77, 0x7F, 0xFF, 0x7F, 0x77, 0x77, 0xF7, + 0xFF, 0xFF, 0x7F, 0x77, 0x77, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x37, 0x30, + 0x37, 0x33, 0x33, 0x37, 0x73, 0x77, 0x33, 0x33, 0x77, 0x77, 0x77, 0x77, + 0x77, 0x77, 0x77, 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDF, 0xDD, 0xDD, 0x5F, 0x44, 0xCC, 0x74, 0xC4, 0xDF, 0xFC, 0xFF, + 0xC7, 0xDD, 0xDD, 0xDF, 0xDF, 0xFD, 0xDD, 0xDD, 0xDF, 0xDD, 0xDD, 0xFD, + 0xFF, 0xFF, 0xFF, 0xDD, 0xDD, 0x3F, 0xDD, 0xDD, 0xDD, 0xDD, 0x5D, 0xC4, + 0xCC, 0x44, 0xC4, 0xDD, 0xDC, 0xDD, 0xC5, 0xDC, 0xDC, 0xDD, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xCD, 0xDC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0x77, 0x77, 0x77, 0x37, 0x40, 0x71, 0x11, 0x13, 0x1F, 0xF1, 0xFF, + 0x03, 0x77, 0x77, 0xFF, 0x77, 0x7F, 0x7F, 0xF7, 0x77, 0x77, 0x77, 0xFF, + 0xFF, 0xFF, 0xFF, 0x7F, 0xF7, 0x3F, 0x77, 0x77, 0x77, 0x37, 0x37, 0x70, + 0x31, 0x11, 0x13, 0x37, 0x73, 0x77, 0x13, 0x77, 0x37, 0x73, 0x77, 0x77, + 0x77, 0x77, 0x37, 0x33, 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDF, 0xDD, 0xDD, 0x5D, 0xC0, 0x44, 0x44, 0xC4, 0x4F, 0xC4, 0xFF, + 0x01, 0x4D, 0xC4, 0xDD, 0xDF, 0xDD, 0xDF, 0xDD, 0xDD, 0xDD, 0xDD, 0xFD, + 0xFF, 0xFF, 0xFF, 0xDF, 0xDD, 0x3F, 0xDD, 0xDD, 0xDD, 0xCD, 0x5C, 0xC0, + 0x4C, 0xCC, 0xCC, 0xCD, 0x44, 0xDC, 0x44, 0x4C, 0xC4, 0xC4, 0xDD, 0xDD, + 0xDD, 0xDD, 0xDD, 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0xF7, 0x7F, 0x7F, 0x77, 0x77, 0x10, 0x51, 0x11, 0xF1, 0x17, 0x11, 0x3E, + 0x10, 0x77, 0x00, 0x10, 0x77, 0x77, 0x7F, 0xF7, 0x77, 0x73, 0x77, 0xFF, + 0xFF, 0xFF, 0xFF, 0xF7, 0xF7, 0x3F, 0x77, 0x77, 0x77, 0x33, 0x37, 0x10, + 0x71, 0x11, 0x31, 0x17, 0x31, 0x13, 0x11, 0x37, 0x13, 0x10, 0x73, 0x77, + 0x77, 0x77, 0x77, 0x33, 0x33, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xFF, 0xDF, 0xDD, 0xDD, 0x5D, 0xC0, 0x44, 0x44, 0xC4, 0x4F, 0xC4, 0x4C, + 0x04, 0xDF, 0x4D, 0x40, 0xDC, 0xFD, 0xDF, 0xDD, 0xDD, 0xCD, 0xDD, 0xFF, + 0xFF, 0xFF, 0xFF, 0xDD, 0xDD, 0x3D, 0xDD, 0xDD, 0xDD, 0xCD, 0x5D, 0xC0, + 0x45, 0x44, 0xDC, 0xCD, 0xCC, 0x4C, 0xC4, 0xCD, 0xCC, 0x04, 0xCC, 0xDC, + 0xDD, 0xDD, 0xDD, 0xCC, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0x7F, 0x77, 0x77, 0x77, 0x00, 0x13, 0x11, 0xF0, 0x17, 0x11, 0x11, + 0x00, 0x77, 0x1F, 0x11, 0x11, 0x40, 0x7F, 0x77, 0x77, 0x73, 0x77, 0xFF, + 0xFF, 0xFF, 0xFF, 0x77, 0x77, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x37, 0x10, + 0x33, 0x11, 0x71, 0x33, 0x13, 0x11, 0x51, 0x33, 0x33, 0x13, 0x00, 0x00, + 0x77, 0x77, 0x37, 0x33, 0x33, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xFF, 0xDF, 0xDD, 0xDD, 0x5D, 0x00, 0x5C, 0x04, 0xC4, 0xDD, 0x04, 0x5C, + 0xC0, 0xCD, 0xDD, 0xCC, 0x40, 0x0C, 0xFC, 0xDD, 0xDD, 0xDC, 0xDC, 0xDF, + 0xFF, 0xFF, 0xFF, 0xDF, 0xDF, 0x3F, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x40, + 0x4C, 0x44, 0xC4, 0x4D, 0xC4, 0x4D, 0xC4, 0xCC, 0xDC, 0xC4, 0xC4, 0x4C, + 0xC4, 0xDD, 0xDD, 0xCC, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0xFF, 0x77, 0x77, 0x17, 0x00, 0x17, 0x01, 0x01, 0x37, 0x71, 0x13, + 0x71, 0x77, 0x73, 0x33, 0x73, 0x37, 0x70, 0x77, 0x77, 0x73, 0xF7, 0xF7, + 0xFF, 0xFF, 0xFF, 0xF7, 0x77, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x37, 0x00, + 0x31, 0x11, 0x11, 0x33, 0x33, 0x11, 0x33, 0x33, 0x33, 0x73, 0x37, 0x33, + 0x01, 0x77, 0x37, 0x33, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDF, 0xFD, 0xDD, 0xDD, 0x5D, 0x00, 0x4C, 0x04, 0x40, 0x44, 0x44, 0x04, + 0x5C, 0xDC, 0xDD, 0xFC, 0xDD, 0xDD, 0x04, 0xDD, 0xDD, 0xDC, 0xDD, 0xFD, + 0xFF, 0xFF, 0xFF, 0xDF, 0xDD, 0x3F, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x40, + 0x4C, 0x44, 0x44, 0x44, 0x44, 0x44, 0xCC, 0xDC, 0xDC, 0xCC, 0xDD, 0xCD, + 0x8C, 0xDD, 0xCD, 0xCC, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0x7F, 0x77, 0x77, 0x37, 0x00, 0x11, 0x10, 0x10, 0x11, 0x11, 0x11, + 0x37, 0x73, 0x77, 0xF3, 0x7F, 0x77, 0x17, 0x77, 0x77, 0x73, 0xF7, 0xFF, + 0xF7, 0xFF, 0xFF, 0x7F, 0x77, 0x3F, 0x77, 0x77, 0x77, 0x77, 0x37, 0x00, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x33, 0x33, 0x37, 0x73, 0x77, 0x77, + 0x37, 0x77, 0x37, 0x73, 0x73, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDF, 0xFD, 0xDD, 0xDD, 0x5D, 0x00, 0x40, 0x44, 0x44, 0x44, 0x44, 0xC4, + 0x5D, 0xDC, 0xDD, 0xCD, 0xFF, 0xDD, 0x4D, 0xDC, 0xDD, 0xDC, 0xDD, 0xFF, + 0xDD, 0xFF, 0xFF, 0xDF, 0xDD, 0x3F, 0xDD, 0xDD, 0xDD, 0xDD, 0x5C, 0x40, + 0x44, 0x44, 0x44, 0x44, 0xCC, 0xC4, 0xCC, 0xDC, 0xCC, 0xCC, 0xDD, 0xCC, + 0x4C, 0xDC, 0xCD, 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0x77, 0x7F, 0x77, 0x77, 0x00, 0x11, 0x11, 0x11, 0x11, 0x33, 0x73, + 0xF7, 0x7F, 0x73, 0x37, 0x77, 0x77, 0x17, 0x77, 0x77, 0x77, 0xF7, 0x7F, + 0xF7, 0xFF, 0xFF, 0x7F, 0x77, 0x3F, 0x77, 0x73, 0x77, 0x37, 0x37, 0x00, + 0x11, 0x11, 0x11, 0x31, 0x73, 0x73, 0x77, 0x33, 0x33, 0x37, 0x77, 0x37, + 0x37, 0x77, 0x33, 0x73, 0x73, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDF, 0xFD, 0xFD, 0xDD, 0x5D, 0x40, 0x44, 0x44, 0x44, 0xD4, 0xDD, 0xFD, + 0xDD, 0xFD, 0xDD, 0xDD, 0xFD, 0xDF, 0x4C, 0xDD, 0xDD, 0xDD, 0xFC, 0xDF, + 0xFD, 0xFF, 0xFF, 0xFF, 0xDD, 0x3F, 0xDD, 0xDD, 0xDD, 0xCD, 0xDC, 0xC0, + 0x44, 0x44, 0xC4, 0xDC, 0xDD, 0xFC, 0xCC, 0xDC, 0xCC, 0xDD, 0xDC, 0xDD, + 0xCD, 0xDD, 0xCC, 0xDD, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0x77, 0x77, 0x77, 0x37, 0x00, 0x10, 0x11, 0x11, 0x7F, 0x37, 0x73, + 0x77, 0x77, 0x77, 0x77, 0xF7, 0x77, 0x53, 0x77, 0x73, 0x77, 0xFF, 0x77, + 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x77, 0x37, 0x33, 0x11, + 0x11, 0x11, 0x31, 0x77, 0x33, 0x33, 0x37, 0x73, 0x33, 0x73, 0x73, 0x37, + 0x13, 0x37, 0x33, 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xFF, 0xFD, 0xDD, 0xDD, 0xDD, 0x40, 0x44, 0x44, 0xC4, 0xDD, 0xC5, 0xDC, + 0x5D, 0xC4, 0xDD, 0xFF, 0xFD, 0xDF, 0xCD, 0xDD, 0xDD, 0xDD, 0xFD, 0xDF, + 0xDD, 0xFF, 0xFD, 0xFF, 0xFD, 0x3F, 0xDD, 0xDD, 0xDD, 0xCD, 0xDC, 0x40, + 0x4C, 0x44, 0xCC, 0xDD, 0xCC, 0xDD, 0xCC, 0xCC, 0xCD, 0xCC, 0xDD, 0xDD, + 0xCC, 0xDC, 0xCC, 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0x77, 0xF7, 0x77, 0x77, 0x00, 0x11, 0x11, 0x71, 0x37, 0x11, 0x7F, + 0x13, 0x11, 0x77, 0x71, 0xF7, 0x77, 0x13, 0x77, 0x33, 0x37, 0xFF, 0x77, + 0xF7, 0x7F, 0xF7, 0xFF, 0xF7, 0x37, 0x77, 0x77, 0x77, 0x37, 0x77, 0x00, + 0x13, 0x31, 0x73, 0x33, 0x33, 0x37, 0x33, 0x11, 0x37, 0x73, 0x77, 0x33, + 0x13, 0x73, 0x33, 0x33, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xFF, 0xFD, 0xDD, 0xDD, 0xDD, 0x40, 0x44, 0x44, 0xDC, 0xCC, 0xC4, 0xCF, + 0x44, 0xCC, 0xDC, 0xC5, 0xDD, 0xFF, 0x0C, 0xDC, 0xCD, 0xDC, 0xFF, 0xDD, + 0xDD, 0xFD, 0xFF, 0xFF, 0xFF, 0x1D, 0xDD, 0xDD, 0xDD, 0xCD, 0xDC, 0x40, + 0x4C, 0xC4, 0xDC, 0xCC, 0xCC, 0xCD, 0x44, 0x4C, 0xDC, 0xCC, 0xDD, 0xDD, + 0x0C, 0xCC, 0xCC, 0xCC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0xFF, 0xF7, 0x77, 0x77, 0x00, 0x17, 0x11, 0x17, 0x37, 0x33, 0x37, + 0x13, 0x71, 0x31, 0x73, 0xF7, 0x77, 0x33, 0x00, 0x77, 0x77, 0x7F, 0x77, + 0x77, 0xFF, 0xFF, 0xF7, 0x77, 0x37, 0x77, 0x77, 0x77, 0x33, 0x77, 0x01, + 0x17, 0x31, 0x33, 0x37, 0x33, 0x37, 0x33, 0x73, 0x33, 0x33, 0x73, 0x77, + 0x33, 0x10, 0x33, 0x37, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xFD, 0xDF, 0xDD, 0xCD, 0xDD, 0x40, 0x4F, 0x44, 0xDD, 0xDF, 0x4C, 0xCC, + 0x4C, 0x4C, 0xDD, 0xFD, 0xDD, 0xDF, 0x45, 0x00, 0xC9, 0xDC, 0xFD, 0xDD, + 0xDD, 0xFD, 0xFF, 0xDF, 0xFF, 0x1F, 0xDD, 0xDD, 0xDD, 0xCD, 0xDD, 0xC0, + 0x4C, 0xC4, 0xDC, 0xDD, 0xCD, 0xDC, 0x4C, 0x4C, 0xDC, 0xDC, 0xCD, 0xCD, + 0xCC, 0x40, 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0x7F, 0x77, 0x77, 0x77, 0x00, 0x31, 0x51, 0xF7, 0xFF, 0x31, 0x3F, + 0x11, 0x11, 0x71, 0x77, 0x77, 0x77, 0x33, 0x03, 0x10, 0x7F, 0xFF, 0x77, + 0x77, 0xFF, 0xFF, 0xF7, 0xFF, 0x3F, 0x77, 0x77, 0x77, 0x33, 0x77, 0x10, + 0x31, 0x31, 0x77, 0x77, 0x31, 0x37, 0x33, 0x31, 0x71, 0x37, 0x37, 0x77, + 0x33, 0x13, 0x00, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xFD, 0xDD, 0xDD, 0xCD, 0x5D, 0x40, 0xDC, 0xDC, 0xF5, 0xFF, 0xC4, 0x5F, + 0x44, 0x64, 0xC4, 0xDD, 0xCC, 0xFC, 0x7D, 0x05, 0x00, 0xDC, 0xFD, 0xFF, + 0xDD, 0xFD, 0xFF, 0xFF, 0xFF, 0x3F, 0xDD, 0xDD, 0xCD, 0xCD, 0x4D, 0x44, + 0xCC, 0xCD, 0xC5, 0xDD, 0xCC, 0xDD, 0x4C, 0xC4, 0xC4, 0xCC, 0xCC, 0xDC, + 0xDC, 0x44, 0x00, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0x77, 0x77, 0x77, 0x17, 0x00, 0x10, 0x77, 0xF1, 0x3F, 0x31, 0x7F, + 0x71, 0x01, 0x71, 0x71, 0x33, 0x7F, 0x37, 0x73, 0x00, 0x70, 0xFF, 0x7F, + 0x77, 0xF7, 0xFF, 0xFF, 0xFF, 0x3F, 0x77, 0x37, 0x37, 0x33, 0x17, 0x01, + 0x11, 0x33, 0x71, 0x17, 0x33, 0x37, 0x71, 0x13, 0x77, 0x73, 0x33, 0x33, + 0x33, 0x73, 0x03, 0x30, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xCD, 0xDD, 0xDD, 0x1D, 0x04, 0x44, 0xCC, 0xC1, 0x47, 0xCC, 0x7F, + 0x44, 0x44, 0xDC, 0xDD, 0x5C, 0x5C, 0xCC, 0xC5, 0x0C, 0x90, 0xFD, 0xDF, + 0xDD, 0xFD, 0xFF, 0xDF, 0xFF, 0x3F, 0xDD, 0xCC, 0xCD, 0xCC, 0x1D, 0x44, + 0xC4, 0xCC, 0xC4, 0xCD, 0xCC, 0xCD, 0x44, 0x44, 0xDC, 0xCD, 0xDC, 0xDC, + 0xCC, 0xCD, 0x4C, 0xC0, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0x77, 0x37, 0x77, 0x17, 0x01, 0x10, 0x31, 0x01, 0x31, 0xF1, 0x3F, + 0x11, 0x00, 0x11, 0x33, 0x33, 0x15, 0x73, 0x17, 0x31, 0x11, 0xFF, 0x7F, + 0x77, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x77, 0x73, 0x37, 0x33, 0x17, 0x13, + 0x31, 0x33, 0x11, 0x33, 0x31, 0x37, 0x13, 0x11, 0x11, 0x31, 0x33, 0x33, + 0x73, 0x37, 0x33, 0x33, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDF, 0xDD, 0xCD, 0x05, 0xC4, 0x5C, 0xC0, 0x4C, 0xDC, 0xDD, + 0x44, 0x04, 0x4C, 0x64, 0xDC, 0xC4, 0xFD, 0x7C, 0x5C, 0xC5, 0xFF, 0xDF, + 0xDD, 0xDD, 0xFF, 0xFF, 0xFF, 0x3F, 0xDD, 0xDD, 0xCD, 0xDC, 0x8D, 0x44, + 0xC4, 0xCC, 0xC4, 0x4C, 0xDC, 0xDD, 0x4C, 0x44, 0x44, 0xCC, 0xDC, 0xC4, + 0xDC, 0xDC, 0xDC, 0x4C, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0x77, 0x37, 0x73, 0x17, 0x01, 0x10, 0x71, 0x03, 0x11, 0x71, 0xF7, + 0x17, 0x00, 0x03, 0x73, 0x77, 0x13, 0x31, 0x71, 0x17, 0x11, 0xF7, 0x7F, + 0x77, 0xF7, 0xFF, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x37, 0x33, 0x17, 0x01, + 0x13, 0x33, 0x13, 0x13, 0x73, 0x77, 0x17, 0x11, 0x13, 0x13, 0x31, 0x13, + 0x33, 0x73, 0x37, 0x33, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDF, 0xDD, 0xDD, 0x0D, 0x44, 0x44, 0xCC, 0x44, 0x45, 0xCC, 0xFD, + 0x0F, 0x04, 0xC0, 0x1F, 0x44, 0x4C, 0xC4, 0x5C, 0x4F, 0x4C, 0xFC, 0xDF, + 0xDD, 0xDD, 0xFD, 0xFF, 0xFF, 0x3F, 0xDD, 0xDD, 0xCC, 0xDC, 0x0D, 0x44, + 0xCC, 0xCC, 0x44, 0x4C, 0xCC, 0xDC, 0x4D, 0x44, 0xC4, 0x5C, 0xCC, 0xCC, + 0xCD, 0xCC, 0xCC, 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0x7F, 0x77, 0x77, 0x17, 0x00, 0x37, 0x73, 0x03, 0x31, 0x71, 0xFF, + 0x13, 0x11, 0x00, 0x11, 0x33, 0x11, 0x17, 0x33, 0xF3, 0xDF, 0xFD, 0x7F, + 0x77, 0x77, 0xF7, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x37, 0x73, 0x17, 0x13, + 0x37, 0x33, 0x13, 0x11, 0x73, 0x37, 0x11, 0x11, 0x11, 0x11, 0x37, 0x33, + 0x13, 0x33, 0x73, 0x11, 0x71, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDD, 0xDD, 0x0D, 0x44, 0x4C, 0xC5, 0x04, 0x44, 0xC4, 0x54, + 0x04, 0x44, 0x04, 0x04, 0xC4, 0xC4, 0x44, 0xCC, 0xDD, 0x44, 0xE4, 0xDF, + 0xDD, 0xDD, 0xFD, 0xFF, 0xFF, 0x3F, 0xDD, 0xDD, 0xDD, 0xDC, 0x0D, 0xCC, + 0xCC, 0xCC, 0x4C, 0x44, 0x4C, 0x44, 0x44, 0x44, 0xC4, 0x44, 0xC4, 0xC4, + 0xCC, 0xDC, 0xDD, 0x4C, 0xC4, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0x7F, 0x77, 0x77, 0x07, 0x17, 0x31, 0x71, 0x33, 0x11, 0x11, 0x11, + 0x00, 0x10, 0x11, 0x17, 0x40, 0x11, 0x71, 0x3D, 0x1F, 0x71, 0x97, 0x77, + 0x77, 0x77, 0xFF, 0xFF, 0xFF, 0x3F, 0x77, 0x77, 0x37, 0x33, 0x03, 0x17, + 0x33, 0x73, 0x33, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x17, 0x71, 0x13, + 0x73, 0x33, 0x33, 0x33, 0x33, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDD, 0xDD, 0x05, 0x44, 0xC4, 0xC5, 0x5D, 0x44, 0x04, 0x40, + 0x44, 0x44, 0x44, 0x0C, 0xC0, 0x44, 0xE4, 0xC4, 0xFC, 0xC5, 0x5F, 0xDC, + 0xDD, 0xDD, 0xFD, 0xFF, 0xFF, 0x3F, 0xDD, 0xDD, 0xDC, 0xDC, 0x05, 0x44, + 0xCC, 0xCD, 0xDD, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xC4, 0xC4, + 0xCC, 0xC4, 0xCC, 0xC5, 0xCD, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x77, 0x77, 0x77, 0x73, 0x03, 0x11, 0xF1, 0x33, 0x7F, 0x11, 0x11, 0x11, + 0x11, 0x11, 0x11, 0x01, 0x50, 0x11, 0x11, 0x17, 0xF7, 0x13, 0x13, 0x71, + 0x77, 0x77, 0xFF, 0xFF, 0xFF, 0x3F, 0x77, 0x37, 0x37, 0x73, 0x01, 0x33, + 0x71, 0x73, 0x37, 0x33, 0x13, 0x31, 0x11, 0x11, 0x31, 0x11, 0x11, 0x13, + 0x33, 0x17, 0x37, 0x33, 0x13, 0x73, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDD, 0xDC, 0x01, 0x44, 0xD4, 0xCD, 0xDF, 0xDD, 0x5D, 0x44, + 0x44, 0x44, 0xC4, 0x04, 0x44, 0x44, 0x4C, 0xCF, 0xCC, 0x44, 0x44, 0xC4, + 0xFD, 0xDD, 0xFF, 0xFF, 0xFF, 0x3F, 0xDC, 0xDD, 0xDD, 0xDC, 0x40, 0xCC, + 0xCC, 0xCD, 0xCD, 0xDC, 0xDC, 0x4C, 0x44, 0x4C, 0xC4, 0x44, 0xC4, 0x44, + 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xC4, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0x77, 0x77, 0x77, 0x03, 0x51, 0x11, 0x33, 0x77, 0x77, 0xFF, 0x13, + 0x11, 0x11, 0x11, 0x11, 0x33, 0x11, 0x11, 0x13, 0x33, 0x13, 0x77, 0x11, + 0x77, 0xF7, 0xFF, 0xFF, 0xFF, 0x3F, 0x77, 0x37, 0x37, 0x73, 0x01, 0x73, + 0x33, 0x33, 0x33, 0x77, 0x77, 0x33, 0x11, 0x11, 0x11, 0x11, 0x33, 0x33, + 0x33, 0x13, 0x37, 0x33, 0x77, 0x13, 0x77, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDD, 0xDD, 0x00, 0xC4, 0x5C, 0xCC, 0xFD, 0xFF, 0xDF, 0x4D, + 0x44, 0x44, 0x44, 0x44, 0xD4, 0x5C, 0x44, 0x44, 0xCF, 0xCF, 0xDC, 0x45, + 0xDC, 0xFD, 0xFD, 0xFF, 0xFF, 0x3F, 0xDD, 0xDC, 0xDD, 0xDC, 0x00, 0xCC, + 0xCC, 0xCC, 0xCC, 0xDD, 0xDD, 0xCD, 0x44, 0x44, 0x44, 0x44, 0xDC, 0xDC, + 0x4C, 0x4C, 0xCC, 0xCD, 0xDD, 0xCD, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0x7F, 0x77, 0x77, 0x00, 0xD3, 0x73, 0x31, 0x77, 0x7F, 0xFF, 0x37, + 0x11, 0x11, 0x11, 0x31, 0x71, 0x31, 0x11, 0x17, 0x11, 0xF3, 0xD7, 0xF3, + 0x79, 0x7F, 0xFF, 0xFF, 0xFF, 0x3F, 0x37, 0x77, 0x77, 0x77, 0x00, 0x33, + 0x73, 0x33, 0x73, 0x77, 0x77, 0x37, 0x33, 0x11, 0x11, 0x33, 0x71, 0x33, + 0x33, 0x17, 0x33, 0x73, 0x13, 0x71, 0x73, 0x77, 0x77, 0x77, 0x77, 0x37, + 0xDD, 0xDD, 0xDD, 0x5D, 0x80, 0x41, 0xDC, 0xDC, 0xFC, 0xFD, 0xFD, 0xDD, + 0x44, 0x44, 0x44, 0x7C, 0x54, 0xD4, 0x44, 0x44, 0x5C, 0xF4, 0x45, 0xF4, + 0xD1, 0xDF, 0xFD, 0xFF, 0xFF, 0x3F, 0xDD, 0xDD, 0xDD, 0xDD, 0x40, 0x44, + 0xCC, 0xCC, 0xDC, 0xDD, 0xDC, 0xDD, 0xCC, 0xCC, 0x4C, 0xCC, 0xC4, 0xFC, + 0xCC, 0x44, 0x5C, 0xCC, 0xC5, 0xCC, 0xDC, 0xDD, 0xDD, 0xDD, 0xDD, 0x1D, + 0x7F, 0x77, 0x77, 0x77, 0x10, 0x13, 0x17, 0x31, 0xF1, 0x7F, 0xF3, 0x77, + 0x13, 0x11, 0x11, 0x11, 0x11, 0xF1, 0x13, 0x11, 0x31, 0x71, 0x11, 0x11, + 0x71, 0x77, 0xFF, 0xFF, 0xFF, 0x3F, 0x37, 0x77, 0x77, 0x77, 0x30, 0x31, + 0x17, 0x33, 0x73, 0x37, 0x73, 0x77, 0x33, 0x33, 0x33, 0x13, 0x33, 0x33, + 0x33, 0x33, 0x31, 0x33, 0x13, 0x33, 0x73, 0x77, 0x77, 0x77, 0x77, 0x37, + }; diff --git a/src/chee.c b/src/hungry.c index 7dd8b89..6499c90 100644 --- a/src/chee.c +++ b/src/hungry.c @@ -1,6 +1,6 @@ -#define chee_width 222 -#define chee_height 128 -static unsigned char chee_bits[] = { +#define hungry_width 222 +#define hungry_height 128 +static char hungry_bits[] = { 0xff, 0xff, 0x6f, 0x6b, 0x6b, 0xed, 0x7f, 0xbb, 0xad, 0xaa, 0x5b, 0xd5, 0xff, 0xf7, 0x55, 0xd5, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0x24, 0x55, 0x4a, 0x55, 0x55, 0x55, 0x15, 0xaa, 0xaa, 0xda, 0xba, 0xb5, 0x55, 0xd5, 0xd6, diff --git a/src/main.cpp b/src/main.cpp index a15b93c..d4b9fd9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -56,7 +56,12 @@ void setup() void loop() { uint16_t pressDuration = de::uvok::badge::gpio_poll(); - if (pressDuration > PRESS_TIME_BLE_ADV) + if (pressDuration < 64) + { + if (pressDuration == NEXT_KEY) de::uvok::badge::display_next(); + if (pressDuration == PRV_KEY) de::uvok::badge::display_prev(); + } + else if (pressDuration > PRESS_TIME_BLE_ADV) { if (!pAdvertising->isAdvertising()) { |